HUJIANGUO 3 年 前
コミット
81b5295fe6

+ 23 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -1128,4 +1128,27 @@ public class OmstruckOrderController extends BaseRESTfulController {
 
     }
 
+    @ApiOperation(value = "车牌号下拉")
+    @GetMapping("/getDriverCapacity")
+    public RESTfulResult getDriverCapacity() {
+        List<Map<String, Object>> mapList = omstruckOrderService.getDriverCapacity();
+        return success(mapList);
+    }
+
+    @ApiOperation(value = "派单信息")
+    @PostMapping("/getTruckNoDispatchMap")
+    public RESTfulResult getTruckNoDispatchMap(@RequestParam Integer dispatchId) {
+        Map<String, Object> map = omstruckOrderService.getTruckNoDispatchMap(dispatchId);
+        return success(map);
+    }
+
+    @ApiOperation(value = "承运商分派运输订单给司机")
+    @PostMapping("/addAppTruckOrder")
+    public RESTfulResult addAppTruckOrder(@RequestParam Integer dispatchId,
+                                          @RequestParam Integer orderType,
+                                          @RequestParam Integer driverCapacityId) {
+        int result = omstruckOrderService.addAppTruckOrder(dispatchId, orderType, driverCapacityId);
+        return success(result);
+    }
+
 }

+ 13 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -149,5 +149,18 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //根据发运计划查找信息
     List<Map<String, Object>> selectInfoByDayPlanId(Map<String, Object> map);
 
+    // 车牌号下拉
+    List<Map<String, Object>> getDriverCapacity();
 
+    // 派单信息
+    Map<String, Object> getTruckNoDispatchMap(BigDecimal dispatchId);
+
+    // 物资信息
+    List<Map<String, Object>> getMaterialMessages(BigDecimal dispatchId);
+
+    // 得到销售订单与物资中间表id
+    BigDecimal getSaleMaterialId(BigDecimal dispatchId);
+
+    // 根据司机排班表查询运力id
+    BigDecimal getCapacityId(BigDecimal driverCapacityId);
 }

+ 11 - 0
src/main/java/com/steerinfo/dil/mapper/RmsCapacityMapper.java

@@ -0,0 +1,11 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsCapacity;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface RmsCapacityMapper extends IBaseMapper<RmsCapacity, BigDecimal> {
+}

+ 379 - 0
src/main/java/com/steerinfo/dil/model/RmsCapacity.java

@@ -0,0 +1,379 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="运力信息")
+public class RmsCapacity implements IBasePO<BigDecimal> {
+    /**
+     * 主键id(CAPACITY_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键id",required=true)
+    private BigDecimal capacityId;
+
+    /**
+     * 运力编号(CAPACITY_NUMBER,VARCHAR,32)
+     */
+    @ApiModelProperty(value="运力编号",required=false)
+    private String capacityNumber;
+
+    /**
+     * 运力额定载重(CAPACITY_MAX_LOAD,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运力额定载重",required=false)
+    private BigDecimal capacityMaxLoad;
+
+    /**
+     * 运力类型ID(CAPACITY_TYPE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运力类型ID",required=false)
+    private BigDecimal capacityTypeId;
+
+    /**
+     * 运力状态(0:空闲中、1:运输中:2:待运中:3:维保中)(CAPACITY_STATUS,DECIMAL,20)
+     */
+    @ApiModelProperty(value="运力状态(0:空闲中、1:运输中:2:待运中:3:维保中)",required=false)
+    private BigDecimal capacityStatus;
+
+    /**
+     * 承运单位(CARRIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="承运单位",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 能源名称(CAPACITY_ENERGY_ID,VARCHAR,16)
+     */
+    @ApiModelProperty(value="能源名称",required=false)
+    private String capacityEnergyId;
+
+    /**
+     * 可载长度上限(M)(CAPACITY_LEN_VAL,DECIMAL,0)
+     */
+    @ApiModelProperty(value="可载长度上限(M)",required=false)
+    private BigDecimal capacityLenVal;
+
+    /**
+     * 可载宽度上限(M)(CAPACITY_WID_VAL,DECIMAL,0)
+     */
+    @ApiModelProperty(value="可载宽度上限(M)",required=false)
+    private BigDecimal capacityWidVal;
+
+    /**
+     * 可载高度上限(M)(CAPACITY_HIG_VAL,DECIMAL,0)
+     */
+    @ApiModelProperty(value="可载高度上限(M)",required=false)
+    private BigDecimal capacityHigVal;
+
+    /**
+     * 油品代码(CAPACITY_OIL_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="油品代码",required=false)
+    private BigDecimal capacityOilId;
+
+    /**
+     * 油耗(升/100公里)(CAPACITY_FUEL_CONSUMPTION,VARCHAR,16)
+     */
+    @ApiModelProperty(value="油耗(升/100公里)",required=false)
+    private String capacityFuelConsumption;
+
+    /**
+     * 是否自有车辆(0:是;1:不是)(CAPACITY_OWNERIS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="是否自有车辆(0:是;1:不是)",required=false)
+    private BigDecimal capacityOwneris;
+
+    /**
+     * 运力是否黑名单(0:是;1:不是)(CAPACITY_BLACKLIST,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运力是否黑名单(0:是;1:不是)",required=false)
+    private BigDecimal capacityBlacklist;
+
+    /**
+     * 备注(MEMO,VARCHAR,128)
+     */
+    @ApiModelProperty(value="备注",required=false)
+    private String memo;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 车牌颜色(CAPACITY_CORLOR,VARCHAR,20)
+     */
+    @ApiModelProperty(value="车牌颜色",required=false)
+    private String capacityCorlor;
+
+    /**
+     * 是否VIP(CAPACITY_VIP,VARCHAR,20)
+     */
+    @ApiModelProperty(value="是否VIP",required=false)
+    private String capacityVip;
+
+    /**
+     * 逻辑删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="逻辑删除",required=false)
+    private BigDecimal deleted;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.capacityId;
+    }
+
+    @Override
+    public void setId(BigDecimal capacityId) {
+        this.capacityId = capacityId;
+    }
+
+    public BigDecimal getCapacityId() {
+        return capacityId;
+    }
+
+    public void setCapacityId(BigDecimal capacityId) {
+        this.capacityId = capacityId;
+    }
+
+    public String getCapacityNumber() {
+        return capacityNumber;
+    }
+
+    public void setCapacityNumber(String capacityNumber) {
+        this.capacityNumber = capacityNumber == null ? null : capacityNumber.trim();
+    }
+
+    public BigDecimal getCapacityMaxLoad() {
+        return capacityMaxLoad;
+    }
+
+    public void setCapacityMaxLoad(BigDecimal capacityMaxLoad) {
+        this.capacityMaxLoad = capacityMaxLoad;
+    }
+
+    public BigDecimal getCapacityTypeId() {
+        return capacityTypeId;
+    }
+
+    public void setCapacityTypeId(BigDecimal capacityTypeId) {
+        this.capacityTypeId = capacityTypeId;
+    }
+
+    public BigDecimal getCapacityStatus() {
+        return capacityStatus;
+    }
+
+    public void setCapacityStatus(BigDecimal capacityStatus) {
+        this.capacityStatus = capacityStatus;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public String getCapacityEnergyId() {
+        return capacityEnergyId;
+    }
+
+    public void setCapacityEnergyId(String capacityEnergyId) {
+        this.capacityEnergyId = capacityEnergyId == null ? null : capacityEnergyId.trim();
+    }
+
+    public BigDecimal getCapacityLenVal() {
+        return capacityLenVal;
+    }
+
+    public void setCapacityLenVal(BigDecimal capacityLenVal) {
+        this.capacityLenVal = capacityLenVal;
+    }
+
+    public BigDecimal getCapacityWidVal() {
+        return capacityWidVal;
+    }
+
+    public void setCapacityWidVal(BigDecimal capacityWidVal) {
+        this.capacityWidVal = capacityWidVal;
+    }
+
+    public BigDecimal getCapacityHigVal() {
+        return capacityHigVal;
+    }
+
+    public void setCapacityHigVal(BigDecimal capacityHigVal) {
+        this.capacityHigVal = capacityHigVal;
+    }
+
+    public BigDecimal getCapacityOilId() {
+        return capacityOilId;
+    }
+
+    public void setCapacityOilId(BigDecimal capacityOilId) {
+        this.capacityOilId = capacityOilId;
+    }
+
+    public String getCapacityFuelConsumption() {
+        return capacityFuelConsumption;
+    }
+
+    public void setCapacityFuelConsumption(String capacityFuelConsumption) {
+        this.capacityFuelConsumption = capacityFuelConsumption == null ? null : capacityFuelConsumption.trim();
+    }
+
+    public BigDecimal getCapacityOwneris() {
+        return capacityOwneris;
+    }
+
+    public void setCapacityOwneris(BigDecimal capacityOwneris) {
+        this.capacityOwneris = capacityOwneris;
+    }
+
+    public BigDecimal getCapacityBlacklist() {
+        return capacityBlacklist;
+    }
+
+    public void setCapacityBlacklist(BigDecimal capacityBlacklist) {
+        this.capacityBlacklist = capacityBlacklist;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo == null ? null : memo.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public String getCapacityCorlor() {
+        return capacityCorlor;
+    }
+
+    public void setCapacityCorlor(String capacityCorlor) {
+        this.capacityCorlor = capacityCorlor == null ? null : capacityCorlor.trim();
+    }
+
+    public String getCapacityVip() {
+        return capacityVip;
+    }
+
+    public void setCapacityVip(String capacityVip) {
+        this.capacityVip = capacityVip == null ? null : capacityVip.trim();
+    }
+
+    public BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", capacityId=").append(capacityId);
+        sb.append(", capacityNumber=").append(capacityNumber);
+        sb.append(", capacityMaxLoad=").append(capacityMaxLoad);
+        sb.append(", capacityTypeId=").append(capacityTypeId);
+        sb.append(", capacityStatus=").append(capacityStatus);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", capacityEnergyId=").append(capacityEnergyId);
+        sb.append(", capacityLenVal=").append(capacityLenVal);
+        sb.append(", capacityWidVal=").append(capacityWidVal);
+        sb.append(", capacityHigVal=").append(capacityHigVal);
+        sb.append(", capacityOilId=").append(capacityOilId);
+        sb.append(", capacityFuelConsumption=").append(capacityFuelConsumption);
+        sb.append(", capacityOwneris=").append(capacityOwneris);
+        sb.append(", capacityBlacklist=").append(capacityBlacklist);
+        sb.append(", memo=").append(memo);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", capacityCorlor=").append(capacityCorlor);
+        sb.append(", capacityVip=").append(capacityVip);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 9 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -136,4 +136,13 @@ public interface IOmstruckOrderService {
     //根据发运计划查找物资
     List<Map<String, Object>> selectInfoByDayPlanId(Map<String, Object> map);
 
+    // 车牌号下拉
+    List<Map<String, Object>> getDriverCapacity();
+
+    // 派单信息
+    Map<String, Object> getTruckNoDispatchMap(Integer dispatchId);
+
+    //承运商分派运输订单给司机
+    int addAppTruckOrder(Integer dispatchId, Integer orderType, Integer driverCapacityId);
+
 }

+ 129 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -5,9 +5,11 @@ import com.steerinfo.dil.feign.IMFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
 import com.steerinfo.dil.mapper.OmstruckOrderMapper;
 import com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper;
+import com.steerinfo.dil.mapper.RmsCapacityMapper;
 import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.dil.model.OmstruckOrder;
 import com.steerinfo.dil.model.OmstruckOrderMaterial;
+import com.steerinfo.dil.model.RmsCapacity;
 import com.steerinfo.dil.service.IOmstruckOrderService;
 import com.steerinfo.dil.util.DataChange;
 import javafx.scene.paint.Material;
@@ -51,6 +53,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Autowired
     private IMFeign imFeign;
 
+    @Autowired
+    RmsCapacityMapper rmsCapacityMapper;
+
 
     /**
      * 用于远程调用运输订单新增
@@ -946,4 +951,128 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         return omstruckOrderMapper.selectCapacityId(carrierId, capacityNumber);
     }
 
+    /**
+     * 车牌号下拉
+     *
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getDriverCapacity() {
+        return omstruckOrderMapper.getDriverCapacity();
+    }
+
+    /**
+     * 派单信息
+     *
+     * @param dispatchId
+     * @return
+     */
+    @Override
+    public Map<String, Object> getTruckNoDispatchMap(Integer dispatchId) {
+        Map<String, Object> map = omstruckOrderMapper.getTruckNoDispatchMap(new BigDecimal(dispatchId));
+        List<Map<String, Object>> materialMessages = omstruckOrderMapper.getMaterialMessages(new BigDecimal(dispatchId));
+        String allMaterialName = "";
+        String allMaterialNumber = "";
+        String allMaterialTheoreticalWeight = "";
+        if (materialMessages == null || materialMessages.size() == 0) {
+        } else {
+            for (Map<String, Object> materialMap : materialMessages) {
+                if (materialMap != null) {
+                    String materialName = (String) materialMap.get("materialName");
+                    allMaterialName += materialName + "/";
+                    String materialTheoreticalWeight = materialMap.get("materialTheoreticalWeight").toString();
+                    if (materialTheoreticalWeight != null) {
+                        allMaterialTheoreticalWeight += materialTheoreticalWeight + "/";
+                    }
+                    String saleOrderMaterialNumber = materialMap.get("saleOrderMaterialNumber").toString();
+                    allMaterialNumber += saleOrderMaterialNumber + "/";
+                }
+            }
+            String subMaterialName = null;
+            String subMaterialNumber = null;
+            String subMaterialTheoreticalWeight = null;
+            if (allMaterialName.length() >= 2) {
+                subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
+            }
+            if (allMaterialName.length() < 2) {
+                subMaterialName = allMaterialName;
+            }
+            if (allMaterialNumber.length() >= 2) {
+                subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 2);
+            }
+            if (allMaterialNumber.length() < 2) {
+                subMaterialName = allMaterialNumber;
+            }
+            if (allMaterialTheoreticalWeight.length() >= 2) {
+                subMaterialTheoreticalWeight = allMaterialTheoreticalWeight.substring(0, allMaterialTheoreticalWeight.length() - 2);
+            }
+            if (allMaterialTheoreticalWeight.length() < 2) {
+                subMaterialName = allMaterialTheoreticalWeight;
+            }
+            map.put("allMaterialName", subMaterialName);
+            map.put("allMaterialNumber", subMaterialNumber);
+            map.put("allMaterialTheoreticalWeight", subMaterialTheoreticalWeight);
+        }
+        return map;
+    }
+
+    /**
+     * 承运商分派运输订单给司机
+     *
+     * @param dispatchId
+     * @param orderType
+     * @param driverCapacityId
+     * @return
+     */
+    @Transactional
+    @Override
+    public int addAppTruckOrder(Integer dispatchId, Integer orderType, Integer driverCapacityId) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+        omstruckOrder.setOrderId(orderId);
+        BigDecimal saleOrderMaterialId = omstruckOrderMapper.getSaleMaterialId(new BigDecimal(dispatchId));
+        omstruckOrder.setOrderPlanId(saleOrderMaterialId);
+        String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue());
+        omstruckOrder.setOrderNumber(orderNumber);
+        omstruckOrder.setOrderIssueTime(new Date());
+        omstruckOrder.setOrderStatus(new BigDecimal(4));
+        omstruckOrder.setInsertTime(new Date());
+        omstruckOrder.setUpdateTime(new Date());
+        omstruckOrder.setInsertUsername("admin");
+        omstruckOrder.setUpdateUsername("admin");
+        omstruckOrder.setInsertUpdateRemark("无");
+        omstruckOrder.setDeleted(new BigDecimal(0));
+        omstruckOrder.setOrderType(new BigDecimal(orderType));
+        omstruckOrder.setDriverCapacityId(new BigDecimal(driverCapacityId));
+        List<Map<String, Object>> mapList = omstruckOrderMapper.getMaterialMessages(new BigDecimal(dispatchId));
+        if (mapList != null && mapList.size() != 0) {
+            for (Map<String, Object> map : mapList) {
+                OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+                BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+                omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+                omstruckOrderMaterial.setOrderId(orderId);
+                omstruckOrderMaterial.setInsertTime(new Date());
+                omstruckOrderMaterial.setUpdateTime(new Date());
+                omstruckOrderMaterial.setInsertUsername("admin");
+                omstruckOrderMaterial.setUpdateUsername("admin");
+                omstruckOrderMaterial.setInsertUpdateRemark("无");
+                if (map != null) {
+                    BigDecimal materialTheoreticalWeight = (BigDecimal) map.get("materialTheoreticalWeight");
+                    BigDecimal saleOrderMaterialNumber = (BigDecimal) map.get("saleOrderMaterialNumber");
+                    BigDecimal materialId = (BigDecimal) map.get("materialId");
+                    omstruckOrderMaterial.setOrderMaterialWeight(materialTheoreticalWeight);
+                    omstruckOrderMaterial.setMaterialId(materialId);
+                    omstruckOrderMaterial.setOrderMaterialNumber(saleOrderMaterialNumber);
+                }
+                omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+            }
+        }
+        BigDecimal capacityId = omstruckOrderMapper.getCapacityId(new BigDecimal(driverCapacityId));
+        RmsCapacity rmsCapacity = rmsCapacityMapper.selectByPrimaryKey(capacityId);
+        rmsCapacity.setCapacityStatus(new BigDecimal(2));
+        rmsCapacityMapper.updateByPrimaryKeySelective(rmsCapacity);
+        return omstruckOrderMapper.insertSelective(omstruckOrder);
+    }
+
+
 }

+ 72 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2208,4 +2208,76 @@
 
     <select id="getOrderUnReceive" resultType="java.util.Map"></select>
 
+    <!-- 车牌号下拉 -->
+    <select id="getDriverCapacity" resultType="java.util.Map">
+        SELECT RCA.CAPACITY_NUMBER    AS "label",
+               RDC.DRIVER_CAPACITY_ID AS "value"
+        FROM RMS_DRIVER_CAPACITY RDC
+                 LEFT JOIN RMS_CAPACITY RCA
+                           ON RDC.CAPACITY_ID = RCA.CAPACITY_ID
+        WHERE RCA.CAPACITY_STATUS = 0
+    </select>
+
+    <!-- 派单信息 -->
+    <select id="getTruckNoDispatchMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT ADSO.DISPATCH_ID                  AS "dispatchId",
+               ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
+               ASO.SALE_NUMBER                   AS "saleNumber",
+               ADSO.DISPATCH_DEAL_TIME           AS "dispatchDealTime",
+               RSH.SHIPPER_NAME                  AS "shipperName",
+               RC.CONSIGNEE_COMPANY_NAME         AS "consigneeCompanyName",
+               RRA.ADDRESS_DELIVERY_ADDRESS      AS "addressDeliveryAddress",
+               ASOM.SALE_ORDER_CONSIGNEE         AS "saleOrderConsignee",
+               ASOM.SALE_ORDER_CONSIGNEE_TEL     AS "saleOrderConsigneeTel",
+               RCA.CARRIER_NAME                  AS "carrierName"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN AMS_SALE_ORDER ASO
+                           ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+                 LEFT JOIN RMS_SHIPPER RSH
+                           ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+                 LEFT JOIN RMS_CONSIGNEE RC
+                           ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+                 LEFT JOIN RMS_CARRIER RCA
+                           ON RCA.CARRIER_ID = ADSO.CARRIER_ID
+        WHERE ADSO.DISPATCH_STATUS = 0
+          AND ADSO.DISPATCH_ID = #{dispatchId}
+    </select>
+
+    <select id="getMaterialMessages" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT RM.MATERIAL_NAME                 AS "materialName",
+               ASTM.MATERIAL_THEORETICAL_WEIGHT AS "materialTheoreticalWeight",
+               ASTM.SALE_ORDER_MATERIAL_NUMBER  AS "saleOrderMaterialNumber",
+               ASTM.MATERIAL_ID                 AS "materialId"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                           ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN RMS_MATERIAL RM
+                           ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+        WHERE ADSO.DISPATCH_ID = #{dispatchId}
+    </select>
+
+    <!--得到销售订单与物资中间表id-->
+    <select id="getSaleMaterialId" parameterType="DECIMAL" resultType="DECIMAL">
+        SELECT ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE ADSO.DISPATCH_ID = #{dispatchId}
+    </select>
+
+    <select id="getCapacityId" parameterType="DECIMAL" resultType="DECIMAL">
+        SELECT *
+        FROM (SELECT RDC.CAPACITY_ID AS "capacityId"
+              FROM RMS_DRIVER_CAPACITY RDC
+              WHERE RDC.DRIVER_CAPACITY_ID = #{driverCapacityId}
+              ORDER BY RDC.INSERT_TIME)
+        WHERE ROWNUM = 1
+    </select>
+
 </mapper>