Your Name 3 years ago
parent
commit
791d6f1118

+ 4 - 0
pom.xml

@@ -109,7 +109,11 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
+<<<<<<< HEAD
                         <param>AMSTRUCK_RAIL_DAYPLAN</param>
+=======
+                    <param>RMS_DRIVER_CAPACITY</param>
+>>>>>>> 03167ad19a5db67b367cf5f2937c5193cf5f9910
                     </tables>
                 </configuration>
                 <executions>

+ 170 - 29
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.controller;
 
 import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.mapper.OmstruckOrderMapper;
 import com.steerinfo.dil.model.OmstruckOrder;
 import com.steerinfo.dil.service.IOmstruckOrderService;
 import com.steerinfo.dil.util.BaseRESTfulController;
@@ -13,6 +14,7 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -45,6 +47,8 @@ OmstruckOrderController extends BaseRESTfulController {
     ColumnDataUtil columnDataUtil;
     @Autowired
     ESFeign esFeign;
+    @Autowired
+    OmstruckOrderMapper omstruckOrderMapper;
 
 
     /**
@@ -312,7 +316,7 @@ OmstruckOrderController extends BaseRESTfulController {
 
     @ApiOperation(value = "司机接收、拒绝接单")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码", required = false, dataType = "Map"),
+            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码/拒绝原因insertUpdateRemark", required = false, dataType = "Map"),
     })
     @PostMapping("/driverReceiveOrRefuse")
     public RESTfulResult driverReceiveOrRefuse(@RequestBody Map<String, Object> map) {
@@ -387,7 +391,7 @@ OmstruckOrderController extends BaseRESTfulController {
             count++;
         }
         if (orderType != null) {
-            mapValue.put("orderType", orderType);
+            mapValue.put("orderTypee", orderType);
             count++;
         }
         if (fuelOrder != null) {
@@ -407,7 +411,6 @@ OmstruckOrderController extends BaseRESTfulController {
         if (mapValue.size() == count) {
             //将查询结果存入索引中
             allTruckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
-            DataChange.changeDateToDayDate(allTruckOrder, "planTruckTime", "planIncomingTime", "orderEntryTime");
             Map<String, Object> map = new HashMap<>();
             //添加索引
             map.put("index", "get_truck_order_list");
@@ -424,7 +427,6 @@ OmstruckOrderController extends BaseRESTfulController {
         PageHelper.startPage(pageNum, pageSize);
         //分页数据
         List<Map<String, Object>> truckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
-        DataChange.changeDateToDayDate(truckOrder, "planTruckTime", "planIncomingTime", "orderEntryTime");
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allTruckOrder, truckOrder);
         return success(pageList);
     }
@@ -697,19 +699,6 @@ OmstruckOrderController extends BaseRESTfulController {
         return success(i);
     }
 
-    @ApiOperation(value = "司机接收、拒绝接单")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
-    })
-    @PostMapping("/driverReceiveOrRefuse/{orderId}")
-    public RESTfulResult driverReceiveOrRefuse(@PathVariable("orderId") Integer orderId, Integer orderReceiveStatus) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("orderId", orderId);
-        map.put("orderReceiveStatus", orderReceiveStatus);
-        int i = omstruckOrderService.driverReceiveOrRefuse(map);
-        return success(i);
-    }
-
     @ApiOperation(value = "司机接单信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
@@ -786,7 +775,6 @@ OmstruckOrderController extends BaseRESTfulController {
                                               Integer apiId,
                                               Integer pageNum,
                                               Integer pageSize,
-
                                               Integer orderType,
                                               Integer orderStatus,
                                               String con,
@@ -894,12 +882,11 @@ OmstruckOrderController extends BaseRESTfulController {
             @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
     })
-    @PostMapping("/getTransportDispatch/{orderReceiveStatus}")
+    @PostMapping("/getTransportDispatch")
     public RESTfulResult getTransportDispatch(@RequestBody(required = false) Map<String, Object> mapValue,
                                               Integer apiId,
                                               Integer pageNum,
                                               Integer pageSize,
-                                              @PathVariable Integer orderReceiveStatus,
                                               Integer orderType,
                                               Integer orderStatus,
                                               Integer fuelOrder,
@@ -910,10 +897,6 @@ OmstruckOrderController extends BaseRESTfulController {
             mapValue.put("orderTypee", orderType);
             count++;
         }
-        if (orderReceiveStatus != null) {
-            mapValue.put("orderReceiveStatus", orderReceiveStatus);
-            count++;
-        }
         if (orderStatus != null) {
             mapValue.put("orderStatus", orderStatus);
             count++;
@@ -949,8 +932,9 @@ OmstruckOrderController extends BaseRESTfulController {
             //删除
             allOrder.remove(allOrder.size() - 1);
         }
-        if (allOrder == null)
+        if (allOrder == null) {
             allOrder = omstruckOrderService.getTransportDispatch(mapValue);
+        }
         PageHelper.startPage(pageNum, pageSize);
         //分页数据
         List<Map<String, Object>> order = omstruckOrderService.getTransportDispatch(mapValue);
@@ -959,6 +943,16 @@ OmstruckOrderController extends BaseRESTfulController {
         return success(pageList);
     }
 
+    @ApiOperation(value = "根据运单id关闭订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderId", value = "运单主键", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/closeOmstruckOrder")
+    public RESTfulResult closeOmstruckOrder(@RequestParam Integer orderId) {
+        int result = omstruckOrderService.closeOmstruckOrder(new BigDecimal(orderId));
+        return success(result);
+    }
+
     @ApiOperation(value = "查询所有空闲的司机排班信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
@@ -989,11 +983,24 @@ OmstruckOrderController extends BaseRESTfulController {
     //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
     @PostMapping("/selectNewOrderId")
     public RESTfulResult selectNewOrderId(@RequestBody(required = false) Map<String, Object> map) {
-        BigDecimal materialId = new BigDecimal(Integer.parseInt(map.get("materialId").toString()));
-        return success(omstruckOrderService.selectNewOrderId(materialId));
+        return success(omstruckOrderService.selectNewOrderId(map));
+    }
+
+    //查询所有的收货单位
+    @GetMapping("/getReceivingUnit")
+    public RESTfulResult getReceivingUnit(){
+        List<Map<String, Object>> receivingUnit = omstruckOrderMapper.getReceivingUnit();
+        return success(receivingUnit);
     }
 
 
+    //查询所有的发货单位
+    @GetMapping("/getSupplier")
+    public RESTfulResult getSupplier(){
+        List<Map<String, Object>> mes = omstruckOrderMapper.getSupplier();
+        return success(mes);
+    }
+
     //展示销售订单信息
     @ApiOperation(value = "展示销售订单信息")
     @ApiImplicitParams({
@@ -1147,9 +1154,143 @@ OmstruckOrderController extends BaseRESTfulController {
     @PostMapping("/addAppTruckOrder")
     public RESTfulResult addAppTruckOrder(@RequestParam Integer dispatchId,
                                           @RequestParam Integer orderType,
-                                          @RequestParam Integer driverCapacityId) {
-        int result = omstruckOrderService.addAppTruckOrder(dispatchId, orderType, driverCapacityId);
+                                          @RequestParam String capacityNumber,
+                                          @RequestParam Integer carrierId) {
+        int result = omstruckOrderService.addAppTruckOrder(dispatchId, orderType, capacityNumber,carrierId);
         return success(result);
     }
+    @ApiOperation(value = "关闭订单")
+    @PostMapping("/CloseOrder")
+    public  RESTfulResult CloseOrder(@RequestBody(required = false)Map<String,Object> map){
+      int result=omstruckOrderService.closeOrder(map);
+      return success(result);
+    }
 
+    @ApiOperation(value = " 查询所有车牌号和司机")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(246)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getCapacityAndDriverList")
+    public RESTfulResult getCapacityAndDriverList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                  Integer apiId,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  String con) {
+        if (con != null) {
+            if(!"undefined".equals(con)){
+                String index="get_capacity_driver";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        List<Map<String, Object>> dispatchSaleOrderList = null;
+        if (mapValue.size() == 0) {
+            //将查询结果存入索引中
+            dispatchSaleOrderList = omstruckOrderService.getCapacityAndDriverList(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_capacity_driver");
+            //添加id
+            map1.put("indexId","driverCapacityId");
+            dispatchSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(dispatchSaleOrderList);
+            //删除
+            dispatchSaleOrderList.remove(dispatchSaleOrderList.size()-1);
+        }
+        if (dispatchSaleOrderList == null) {
+            dispatchSaleOrderList = omstruckOrderService.getCapacityAndDriverList(mapValue);
+        }
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> columnList = omstruckOrderService.getCapacityAndDriverList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, dispatchSaleOrderList,columnList);
+        return success(pageList);
+    }
+
+    //=================================================================================================
+    // 内转运输订单
+    @ApiOperation(value = "分解内转计划(新增运输订单)")
+    @PostMapping("/addInwardOrder")
+    public RESTfulResult addInwardOrder(@RequestBody Map<String,Object> mapValue) {
+        int result = omstruckOrderService.addInwardOrder(mapValue);
+        return success(result);
+    }
+
+    @ApiOperation(value = " 分解/分派计划查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(260)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getInwardOrderList")
+    public RESTfulResult getInwardOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                  Integer apiId,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  Integer orderStatus,
+                                                  Integer carrierId,
+                                                  String con) {
+        if (con != null) {
+            if(!"undefined".equals(con)){
+                String index="get_inward_order_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        int count = 0;
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        if (carrierId != null && !"undefined".equals(carrierId.toString())) {
+            mapValue.put("carrierId",new BigDecimal(carrierId));
+            count++;
+        }
+        mapValue.put("orderStatus",(orderStatus));
+        count++;
+        List<Map<String, Object>> dispatchSaleOrderList = null;
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            dispatchSaleOrderList = omstruckOrderService.getInwardOrderList(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_inward_order_list");
+            //添加id
+            map1.put("indexId","planId");
+            dispatchSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(dispatchSaleOrderList);
+            //删除
+            dispatchSaleOrderList.remove(dispatchSaleOrderList.size()-1);
+        }
+        if (dispatchSaleOrderList == null) {
+            dispatchSaleOrderList = omstruckOrderService.getInwardOrderList(mapValue);
+        }
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> columnList = omstruckOrderService.getInwardOrderList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, dispatchSaleOrderList,columnList);
+        return success(pageList);
+    }
+
+    @ApiOperation(value = "分派计划")
+    @PostMapping("/apportionInwardOrder")
+    public RESTfulResult apportionInwardOrder(@RequestBody List<Map<String,Object>> mapList) {
+        int result = omstruckOrderService.apportionInwardOrder(mapList);
+        return success(result);
+    }
+
+    @ApiOperation(value = "下发计划")
+    @PostMapping("/issuePlanOrder")
+    public RESTfulResult issuePlanOrder(@RequestBody List<Map<String,Object>> mapList) {
+        int result = omstruckOrderService.issuePlanOrder(mapList);
+        return success(result);
+    }
+
+    @ApiOperation(value = "司机APP端查询下发给自己运输订单")
+    @PostMapping("/sendOrderToApp")
+    public List<Map<String,Object>> sendOrderToApp(@RequestParam String capacityNumber) {
+        List<Map<String,Object>> mapList = omstruckOrderService.sendOrderToApp(capacityNumber);
+        return mapList;
+    }
 }

+ 14 - 0
src/main/java/com/steerinfo/dil/mapper/AmstruckInwardPlanMapper.java

@@ -0,0 +1,14 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmstruckInwardPlan;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface AmstruckInwardPlanMapper extends IBaseMapper<AmstruckInwardPlan, BigDecimal> {
+}

+ 34 - 3
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -108,7 +108,13 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     Map<String, Object> pushMesToWebsocket(Map<String, Object> map);
 
     //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
-    String selectNewOrderId(BigDecimal materialId);
+    Map<String, Object> selectNewOrderId(Map<String, Object> map);
+
+    //查询所有的收货单位
+    List<Map<String, Object>> getReceivingUnit();
+
+    //查询所有的发货单位
+    List<Map<String, Object>> getSupplier();
 
     //通过采购订单号查找采购订单ID
     BigDecimal getPurchaseOrderIdByNo(String purchaseOrderNo);
@@ -161,6 +167,31 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     // 得到销售订单与物资中间表id
     BigDecimal getSaleMaterialId(BigDecimal dispatchId);
 
-    // 根据司机排班表查询运力id
-    BigDecimal getCapacityId(BigDecimal driverCapacityId);
+    // 根据车牌号查询运力id
+    BigDecimal getCapacityId(String capacityNumber);
+
+    // 根据运力id查询司机排班id
+    BigDecimal getDriverCapacityId(BigDecimal capacityId);
+
+    List<Map<String,Object>> getCapacityAndDriver(Map<String,Object> mapValue);
+
+    List<BigDecimal> getNullOrNotNull(BigDecimal dispatchId);
+
+    BigDecimal getInwardMaterial(BigDecimal planId);
+
+    List<Map<String, Object>> getInwardOrderList(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> getResultList(BigDecimal driverCapacityId);
+
+    Map<String, Object> sendOrderToApp(Map<String, Object> map);
+
+    Map<String, Object> getSaleOrderMap(BigDecimal orderId);
+
+    Map<String, Object> getSteelInwardOrderMap(BigDecimal orderId);
+
+    Map<String, Object> getPurchaseOrderMap(BigDecimal orderId);
+
+    Map<String, Object> getInwardOrderMap(BigDecimal orderId);
+
+    List<Map<String,Object>> getMaterialMes(BigDecimal orderId);
 }

+ 10 - 0
src/main/java/com/steerinfo/dil/mapper/RmsDriverCapacityMapper.java

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

+ 229 - 0
src/main/java/com/steerinfo/dil/model/AmstruckInwardPlan.java

@@ -0,0 +1,229 @@
+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 AmstruckInwardPlan implements IBasePO<BigDecimal> {
+    /**
+     * 主键id(PLAN_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键id",required=true)
+    private BigDecimal planId;
+
+    /**
+     * 运输计划号(PLAN_NUMBER,VARCHAR,20)
+     */
+    @ApiModelProperty(value="运输计划号",required=false)
+    private String planNumber;
+
+    /**
+     * 承运商ID(CARRIER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="承运商ID",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 车数(PLAN_TRUCK_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="车数",required=false)
+    private BigDecimal planTruckNumber;
+
+    /**
+     * 计划状态(0:未下发;1:已下发;2:已接收)(PLAN_STATUS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="计划状态(0:未下发;1:已下发;2:已接收)",required=false)
+    private BigDecimal planStatus;
+
+    /**
+     * 计划下发时间(PLAN_ISSUE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="计划下发时间",required=false)
+    private Date planIssueTime;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 0:未删除;1:已删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="0:未删除;1:已删除",required=false)
+    private BigDecimal deleted;
+
+    /**
+     * 计划下发人(PLAN_ISSUE_NAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="计划下发人",required=false)
+    private String planIssueName;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.planId;
+    }
+
+    @Override
+    public void setId(BigDecimal planId) {
+        this.planId = planId;
+    }
+
+    public BigDecimal getPlanId() {
+        return planId;
+    }
+
+    public void setPlanId(BigDecimal planId) {
+        this.planId = planId;
+    }
+
+    public String getPlanNumber() {
+        return planNumber;
+    }
+
+    public void setPlanNumber(String planNumber) {
+        this.planNumber = planNumber == null ? null : planNumber.trim();
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public BigDecimal getPlanTruckNumber() {
+        return planTruckNumber;
+    }
+
+    public void setPlanTruckNumber(BigDecimal planTruckNumber) {
+        this.planTruckNumber = planTruckNumber;
+    }
+
+    public BigDecimal getPlanStatus() {
+        return planStatus;
+    }
+
+    public void setPlanStatus(BigDecimal planStatus) {
+        this.planStatus = planStatus;
+    }
+
+    public Date getPlanIssueTime() {
+        return planIssueTime;
+    }
+
+    public void setPlanIssueTime(Date planIssueTime) {
+        this.planIssueTime = planIssueTime;
+    }
+
+    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 BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    public String getPlanIssueName() {
+        return planIssueName;
+    }
+
+    public void setPlanIssueName(String planIssueName) {
+        this.planIssueName = planIssueName == null ? null : planIssueName.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", planId=").append(planId);
+        sb.append(", planNumber=").append(planNumber);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", planTruckNumber=").append(planTruckNumber);
+        sb.append(", planStatus=").append(planStatus);
+        sb.append(", planIssueTime=").append(planIssueTime);
+        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(", deleted=").append(deleted);
+        sb.append(", planIssueName=").append(planIssueName);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 183 - 0
src/main/java/com/steerinfo/dil/model/RmsDriverCapacity.java

@@ -0,0 +1,183 @@
+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 RmsDriverCapacity implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(DRIVER_CAPACITY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal driverCapacityId;
+
+    /**
+     * 司机ID(DRIVER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="司机ID",required=false)
+    private BigDecimal driverId;
+
+    /**
+     * 运力ID(CAPACITY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="运力ID",required=false)
+    private BigDecimal capacityId;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 逻辑删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="逻辑删除",required=false)
+    private BigDecimal deleted;
+
+    /**
+     * 承运商ID(CARRIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="承运商ID",required=false)
+    private BigDecimal carrierId;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.driverCapacityId;
+    }
+
+    @Override
+    public void setId(BigDecimal driverCapacityId) {
+        this.driverCapacityId = driverCapacityId;
+    }
+
+    public BigDecimal getDriverCapacityId() {
+        return driverCapacityId;
+    }
+
+    public void setDriverCapacityId(BigDecimal driverCapacityId) {
+        this.driverCapacityId = driverCapacityId;
+    }
+
+    public BigDecimal getDriverId() {
+        return driverId;
+    }
+
+    public void setDriverId(BigDecimal driverId) {
+        this.driverId = driverId;
+    }
+
+    public BigDecimal getCapacityId() {
+        return capacityId;
+    }
+
+    public void setCapacityId(BigDecimal capacityId) {
+        this.capacityId = capacityId;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.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 BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", driverCapacityId=").append(driverCapacityId);
+        sb.append(", driverId=").append(driverId);
+        sb.append(", capacityId=").append(capacityId);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 21 - 3
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -103,7 +103,7 @@ public interface IOmstruckOrderService {
     int insert(OmstruckOrder omstruckOrder);
 
     //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
-    String selectNewOrderId(BigDecimal materialId);
+    Map<String, Object> selectNewOrderId(Map<String, Object> map);
 
 
     //查询司机接单信息
@@ -143,6 +143,24 @@ public interface IOmstruckOrderService {
     Map<String, Object> getTruckNoDispatchMap(Integer dispatchId);
 
     //承运商分派运输订单给司机
-    int addAppTruckOrder(Integer dispatchId, Integer orderType, Integer driverCapacityId);
-
+    int addAppTruckOrder(Integer dispatchId, Integer orderType, String capacityNumber,Integer carrierId);
+
+    // 根据运单id关闭订单
+    int closeOmstruckOrder(BigDecimal orderId);
+
+    // 查询所有车牌号和司机
+    List<Map<String, Object>> getCapacityAndDriverList(Map<String, Object> mapValue);
+    //关闭运输订单
+    int closeOrder(Map<String,Object> map);
+    // 新增内转运输订单
+    int addInwardOrder(Map<String, Object> mapValue);
+    // 查询分解计划
+    List<Map<String, Object>> getInwardOrderList(Map<String, Object> mapValue);
+    // 下发计划
+    int issuePlanOrder(List<Map<String, Object>> mapList);
+    // 分派计划
+    int apportionInwardOrder(List<Map<String, Object>> mapList);
+
+    // 司机APP端查询下发给自己运输订单
+    List<Map<String, Object>> sendOrderToApp(String capacityNumber);
 }

+ 333 - 41
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -3,19 +3,17 @@ package com.steerinfo.dil.service.impl;
 import com.steerinfo.dil.feign.AmsFeign;
 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.mapper.*;
+import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IOmstruckOrderService;
 import com.steerinfo.dil.util.DataChange;
+import com.sun.javafx.collections.MappingChange;
+import javafx.beans.binding.ObjectBinding;
 import javafx.scene.paint.Material;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import redis.clients.util.Hashing;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -56,6 +54,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Autowired
     RmsCapacityMapper rmsCapacityMapper;
 
+    @Autowired
+    RmsDriverCapacityMapper rmsDriverCapacityMapper;
+
+    @Autowired
+    AmstruckInwardPlanMapper amstruckInwardPlanMapper;
+
 
     /**
      * 用于远程调用运输订单新增
@@ -106,6 +110,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 5:
             case 6:
             case 7:
+                i = addCGPurOrders(map);
+                break;
             case 8:
                 i = addCGPurOrder(map); //新增采购运输订单
                 break;
@@ -119,9 +125,44 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         return i;
     }
 
+    /**
+     * 新增采购其他订单
+     * @return
+     */
+    public int addCGPurOrders(Map<String, Object> map){
+        //从map中获取司机运力列表
+        List<Map<String, Object>> driverCapacityIdList = (List<Map<String, Object>>) map.get("driverCapacityIdList");
+        BigDecimal purchaseOrderId = DataChange.dataToBigDecimal(map.get("purchaseOrderId"));
+        //物资ID
+        Object materialId = map.get("materialId");
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
+        //预计进厂时间
+        Date orderEntryTime = new Date((long) map.get("orderEntryTime"));
+        int count = 0;
+        for (Map<String, Object> capacityMap : driverCapacityIdList) {
+            //添加运输订单
+            OmstruckOrder omstruckOrder = generateOmsTruckOrder(map);
+            omstruckOrder.setOrderPlanId(purchaseOrderId);
+            omstruckOrder.setDriverCapacityId(DataChange.dataToBigDecimal(capacityMap.get("driverCapacityId"))); //添加运力排班ID
+            omstruckOrder.setOrderEntryTime(orderEntryTime);
+            omstruckOrder.setLineId(new BigDecimal(1));  // 设置线路 遗留问题
+            count += omstruckOrderMapper.insertSelective(omstruckOrder);
+            BigDecimal orderId = omstruckOrder.getOrderId();
+            //添加运输订单子表
+            capacityMap.put("materialId", materialId);
+            capacityMap.put("orderType", orderType);
+            addOrderMaterial(capacityMap,orderId);
+            //添加总实绩
+            capacityMap.put("orderId", orderId);
+            tmsTruckFeign.addTotalResult(map);
+            //更改运力状态
+        }
+        return count;
+    }
+
 
     /**
-     * 新增采购运输订单订单
+     * 新增采购进口矿运输订单订单
      *
      * @param map
      * @return
@@ -139,6 +180,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         if (map.get("orderMaterialWeight") != null) {
             amsFeign.updateMaterial(map); //更改运输计划子表 增加已分配重量 减少未分配重量  feign调用ams
         }
+        //添加运力Id
+        BigDecimal driverCapacityId = DataChange.dataToBigDecimal(map.get("driverCapacityId"));
+        omstruckOrder.setDriverCapacityId(driverCapacityId);
         //新增运输订单
         omstruckOrderMapper.insertSelective(omstruckOrder);
         //更新运力状态为待运输:2
@@ -185,11 +229,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 8:
                 if (map.get("purchaseOrderId") != null)
                     omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("purchaseOrderId")));
-                if (map.get("purchaseOrderNo") != null) {
-                    //通过采购订单号查找采购订单ID
-                    BigDecimal purchaseOrderId = omstruckOrderMapper.getPurchaseOrderIdByNo((String) map.get("purchaseOrderNo"));
-                    omstruckOrder.setOrderPlanId(purchaseOrderId);
-                }
                 if (map.get("unloadPointId") != null) // 添加卸货点
                     omstruckOrder.setUnloadPointId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
                 break;
@@ -201,9 +240,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         }
         //添加订单类型
         omstruckOrder.setOrderType(orderType);
-        //添加运力Id
-        BigDecimal driverCapacityId = DataChange.dataToBigDecimal(map.get("driverCapacityId"));
-        omstruckOrder.setDriverCapacityId(driverCapacityId);
         omstruckOrder.setInsertUsername("admin");
         omstruckOrder.setInsertTime(new Date());
         return omstruckOrder;
@@ -285,10 +321,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
                 omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
                 omstruckOrderMaterial.setOrderId(orderId);
-                Object orderMaterialWeight = map.get("orderMaterialWeight"); // 采购辅料没有物资重量
-                if (orderMaterialWeight != null) {
-                    omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(orderMaterialWeight));
-                }
+                if (map.get("orderMaterialWeight") != null) // 采购辅料没有物资重量
+                    omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
+                if(map.get("orderMaterialNumber") != null) // 辅料可能有物资件数
+                    omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map.get("orderMaterialNumber")));
                 omstruckOrderMaterial.setInsertUsername("admin");
                 omstruckOrderMaterial.setInsertTime(new Date());
                 omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
@@ -321,8 +357,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         if (map.get("capacityId") != null) {
             omstruckOrder.setCapacityId(DataChange.dataToBigDecimal(map.get("capacityId")));
         }
-        if (map.get("orderEntryTime") != null) {
+        if(map.get("orderEntryTime") != null){
             omstruckOrder.setOrderEntryTime(new Date((long) map.get("orderEntryTime")));
+        }
+        if(map.get("unloadPointId")!=null || map.get("capacityId") != null || map.get("orderEntryTime") != null){
             omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
         }
         Integer orderType = (Integer) map.get("orderType");
@@ -346,10 +384,13 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
                 if (map.get("orderMaterialWeight") != null) {
                     omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
-                    //修改运输计划子表 已分配未分配重量
-                    amsFeign.updateMaterial(map);
+                    if(orderType == 8)
+                        amsFeign.updateMaterial(map);//修改运输计划子表 已分配未分配重量
+                }
+                if(map.get("orderMaterialNumber") != null) {
+                    omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map.get("orderMaterialNumber")));
                 }
-                if (map.get("materialId") != null) {
+                    if (map.get("materialId") != null) {
                     omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
                 }
                 omstruckOrderMaterialMapper.updateByPrimaryKeySelective(omstruckOrderMaterial);
@@ -417,17 +458,23 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     /**
      * 发送消息到 websocket 推送消息
      * orderId  订单Id  (unloadPointId)卸货点Id
-     *
      * @return
      */
     public void pushMesToWebsocket(Map<String, Object> map) {
         Map<String, Object> mesMap = omstruckOrderMapper.pushMesToWebsocket(map);
-        HashMap<String, Object> sendMap = new HashMap<>();
-        sendMap.put("messageType", 2);
-        sendMap.put("receivePerson", mesMap.get("capacityNumber"));
-        sendMap.put("sendPerson", "system");
-        sendMap.put("messageContent", mesMap);
+        //添加消息实体
+        HashMap<Object, Object> mapp = new HashMap<>();
+        mapp.put("messageType", 2);
+        mapp.put("sendPerson", "system");
+        mapp.put("receivePerson", mesMap.get("capacityNumber"));
+        mapp.put("messageContent", mesMap);
+        mapp.put("createTime", new Date());
+        ArrayList<Object> list = new ArrayList<>();
+        list.add(mapp);
         //调用websocket接口推送
+        HashMap<Object, Object> sendMap = new HashMap<>();
+        //将消息实体放入list中存到map中
+        sendMap.put("messages", list);
         String s = imFeign.sendToUser(sendMap);
         System.out.println(s);
     }
@@ -479,14 +526,16 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Override
     public int driverReceiveOrRefuse(Map<String, Object> map) {
         OmstruckOrder omstruckOrder = new OmstruckOrder();
-        if ((Integer) map.get("orderReceiveStatus") == 1) {
+        if((Integer) map.get("orderReceiveStatus") == 1){
             omstruckOrder.setOrderReceiveStatus(new BigDecimal(1));
             omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
             //添加实绩
             addSomeResult(DataChange.dataToBigDecimal(map.get("orderId")).intValue());
-        } else { //其他状态都视为 拒绝接单
+        }else { //其他状态都视为 拒绝接单
             omstruckOrder.setOrderReceiveStatus(new BigDecimal(0));
             omstruckOrder.setOrderStatus(new BigDecimal(6));
+            //添加拒绝原因
+            omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
 //            //将司机运力置为空闲 通过运输订单Id 查询运力ID
 //            BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByOrderOrNum(map);
 //            map.put("capacityId", capacityId);
@@ -503,7 +552,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         long time = receiveTime.getTime() - issueTime.getTime();
         long min = time / (1000 * 60);
         omstruckOrder.setOrderCommunicationDuration(new BigDecimal(min));
-        return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        return  omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
     }
 
     /**
@@ -603,10 +652,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     public List<Map<String, Object>> sendMesToDriver(Map<String, Object> map) {
         //通过车牌号匹配运力ID
         BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum((String) map.get("capacityNumber"));
-        map.put("capacityId", capacityId);
         if (capacityId == null) {
             return null;
         }
+        map.put("capacityId", capacityId);
         //通过运力Id匹配 已下发的运输订单
         List<Map<String, Object>> truckOrderByCapacityNum;
         if ((Integer) map.get("orderType") == 1 || (Integer) map.get("orderType") == 2) {
@@ -918,8 +967,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
 
     //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
     @Override
-    public String selectNewOrderId(BigDecimal materialId) {
-        return omstruckOrderMapper.selectNewOrderId(materialId);
+    public Map<String, Object> selectNewOrderId(Map<String, Object> map) {
+        return omstruckOrderMapper.selectNewOrderId(map);
     }
 
     //app司机接单查询数据
@@ -970,6 +1019,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Override
     public Map<String, Object> getTruckNoDispatchMap(Integer dispatchId) {
         Map<String, Object> map = omstruckOrderMapper.getTruckNoDispatchMap(new BigDecimal(dispatchId));
+        List<BigDecimal> orderIdList = omstruckOrderMapper.getNullOrNotNull(new BigDecimal(dispatchId));
+        if (orderIdList != null || orderIdList.size() != 0) {
+            return null;
+        }
         List<Map<String, Object>> materialMessages = omstruckOrderMapper.getMaterialMessages(new BigDecimal(dispatchId));
         String allMaterialName = "";
         String allMaterialNumber = "";
@@ -1031,15 +1084,15 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
 
     /**
      * 承运商分派运输订单给司机
-     *
      * @param dispatchId
      * @param orderType
-     * @param driverCapacityId
+     * @param capacityNumber
+     * @param carrierId
      * @return
      */
     @Transactional
     @Override
-    public int addAppTruckOrder(Integer dispatchId, Integer orderType, Integer driverCapacityId) {
+    public int addAppTruckOrder(Integer dispatchId, Integer orderType, String capacityNumber, Integer carrierId) {
         OmstruckOrder omstruckOrder = new OmstruckOrder();
         BigDecimal orderId = omstruckOrderMapper.selectMaxId();
         omstruckOrder.setOrderId(orderId);
@@ -1056,7 +1109,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         omstruckOrder.setInsertUpdateRemark("无");
         omstruckOrder.setDeleted(new BigDecimal(0));
         omstruckOrder.setOrderType(new BigDecimal(orderType));
-        omstruckOrder.setDriverCapacityId(new BigDecimal(driverCapacityId));
+        BigDecimal capacityId = omstruckOrderMapper.getCapacityId(capacityNumber);
+        BigDecimal driverCapacityId = omstruckOrderMapper.getDriverCapacityId(capacityId);
+        omstruckOrder.setDriverCapacityId(driverCapacityId);
+        RmsDriverCapacity rmsDriverCapacity = rmsDriverCapacityMapper.selectByPrimaryKey(driverCapacityId);
+        rmsDriverCapacity.setCarrierId(new BigDecimal(carrierId));
+        rmsDriverCapacityMapper.updateByPrimaryKeySelective(rmsDriverCapacity);
         List<Map<String, Object>> mapList = omstruckOrderMapper.getMaterialMessages(new BigDecimal(dispatchId));
         if (mapList != null && mapList.size() != 0) {
             for (Map<String, Object> map : mapList) {
@@ -1080,12 +1138,246 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 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);
     }
 
+    /**
+     * 根据运单id关闭订单
+     * @param orderId
+     * @return
+     */
+    @Override
+    public int closeOmstruckOrder(BigDecimal orderId) {
+        OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
+        omstruckOrder.setOrderStatus(new BigDecimal(7));
+        int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        return result;
+    }
+
+    /**
+     * 查询所有车牌号和司机
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getCapacityAndDriverList(Map<String, Object> mapValue) {
+        return omstruckOrderMapper.getCapacityAndDriver(mapValue);
+    }
+
+    @Override
+    public int closeOrder(Map<String, Object> map) {
+        Integer orderId =(Integer) map.get("orderId");
+        OmstruckOrder omstruckOrder=new OmstruckOrder();
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(orderId));
+        omstruckOrder.setOrderStatus(new BigDecimal(8));
+        omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        return 1;
+    }
+
+    /**
+     * 新增内转运输订单
+     * @param mapValue
+     * @return
+     */
+    @Transactional
+    @Override
+    public int addInwardOrder(Map<String, Object> mapValue) {
+        int result = 0;
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        String planId = (String) mapValue.get("planId");
+        Integer lineId = (Integer) mapValue.get("lineId");
+        String orderType = (String) mapValue.get("orderType");
+        Integer carrierId = (Integer) mapValue.get("carrierId");
+        AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(new BigDecimal(planId));
+        amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
+        result += amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
+        BigDecimal materialId = omstruckOrderMapper.getInwardMaterial(new BigDecimal(planId));
+        for (Map<String,Object> orderMap : mapList) {
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            String capacityNumber = (String)orderMap.get("capacityNumber");
+            BigDecimal materialNumber = DataChange.dataToBigDecimal(orderMap.get("materialNumber")) ;
+            BigDecimal materialWeight = DataChange.dataToBigDecimal(orderMap.get("materialWeight"));
+            Map<String,Object> capacityMap = new HashMap<>();
+            capacityMap.put("capacityNumber",capacityNumber);
+            List<RmsCapacity> rmsCapacities = rmsCapacityMapper.selectByParameters(capacityMap);
+            RmsCapacity rmsCapacity = rmsCapacities.get(0);
+            rmsCapacity.setCapacityStatus(new BigDecimal(2));
+            result +=rmsCapacityMapper.updateByPrimaryKeySelective(rmsCapacity);
+            BigDecimal capacityId = rmsCapacity.getCapacityId();
+            capacityMap.clear();
+            capacityMap.put("capacityId",capacityId);
+            List<RmsDriverCapacity> rmsDriverCapacities = rmsDriverCapacityMapper.selectByParameters(capacityMap);
+            RmsDriverCapacity rmsDriverCapacity = rmsDriverCapacities.get(0);
+            rmsDriverCapacity.setCarrierId(new BigDecimal(carrierId));
+            result +=rmsDriverCapacityMapper.updateByPrimaryKeySelective(rmsDriverCapacity);
+            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+            omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setOrderPlanId(new BigDecimal(planId));
+            String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue());
+            omstruckOrder.setOrderNumber(orderNumber);
+            omstruckOrder.setOrderIssueTime(new Date());
+            omstruckOrder.setOrderStatus(new BigDecimal(3));
+            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.setLineId(new BigDecimal(lineId));
+            omstruckOrder.setDriverCapacityId(rmsDriverCapacity.getDriverCapacityId());
+            result +=omstruckOrderMapper.insertSelective(omstruckOrder);
+            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+            omstruckOrderMaterial.setOrderId(orderId);
+            omstruckOrderMaterial.setMaterialId(materialId);
+            omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
+            omstruckOrderMaterial.setInsertTime(new Date());
+            omstruckOrderMaterial.setUpdateTime(new Date());
+            omstruckOrderMaterial.setInsertUsername("admin");
+            omstruckOrderMaterial.setUpdateUsername("admin");
+            omstruckOrderMaterial.setInsertUpdateRemark("无");
+            omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
+            result +=omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+        }
+        return result;
+    }
+
+    /**
+     * 查询分解计划
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getInwardOrderList(Map<String, Object> mapValue) {
+        List<Map<String,Object>> mapList = omstruckOrderMapper.getInwardOrderList(mapValue);
+        return mapList;
+    }
+
+    /**
+     * 下发计划
+     * @param mapList
+     * @return
+     */
+    @Override
+    public int issuePlanOrder(List<Map<String, Object>> mapList) {
+        int result = 0;
+        for (Map<String,Object> map : mapList) {
+            Integer orderId = (Integer) map.get("orderId");
+            OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(new BigDecimal(orderId));
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            omstruckOrder.setOrderIssueTime(new Date());
+            result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        }
+        return result;
+    }
+
+    /**
+     * 分派计划
+     * @param mapList
+     * @return
+     */
+    @Override
+    public int apportionInwardOrder(List<Map<String, Object>> mapList) {
+        int result = 0;
+        for (Map<String,Object> map : mapList) {
+            BigDecimal orderId = new BigDecimal((Integer) map.get("orderId"));
+            OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
+            omstruckOrder.setOrderIssueTime(new Date());
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        }
+        return result;
+    }
+
+    /**
+     * 司机APP端查询下发给自己运输订单
+     * @param capacityNumber
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> sendOrderToApp(String capacityNumber) {
+        //通过车牌号匹配运力ID
+        BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum(capacityNumber);
+        BigDecimal driverCapacityId = omstruckOrderMapper.getDriverCapacityId(capacityId);
+        List<Map<String,Object>> resultList = omstruckOrderMapper.getResultList(driverCapacityId);
+        for (Map<String,Object> map : resultList) {
+            BigDecimal orderId = (BigDecimal) map.get("orderId");
+            BigDecimal orderType = (BigDecimal) map.get("orderType");
+            // 查询物资信息
+            List<Map<String,Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId);
+            int intValue = orderType.intValue();
+            String allMaterialName = null;
+            String allMaterialNumber = null;
+            String allMaterialWeight = null;
+            String allMaterialSpecificationModel = null;
+            // 对物资信息进行处理
+            if (materialMapList != null && materialMapList.size() != 0) {
+                for (Map<String,Object> materialMap : materialMapList) {
+                    String materialName = (String) materialMap.get("materialName");
+                    BigDecimal materialNumber = (BigDecimal) materialMap.get("materialNumber");
+                    BigDecimal materialWeight = (BigDecimal) materialMap.get("materialWeight");
+                    String materialModel = (String) materialMap.get("materialModel");
+                    String materialSpecification = (String) materialMap.get("materialSpecification");
+                    allMaterialName += materialName + "/";
+                    allMaterialNumber += materialNumber + "/";
+                    allMaterialWeight += materialWeight + "/";
+                    allMaterialSpecificationModel += materialSpecification + materialModel + "/";
+                }
+                String subMaterialName = null;
+                String subMaterialNumber = null;
+                String subMaterialWeight = null;
+                String subMaterialSpecificationModel = 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) {
+                    subMaterialNumber = allMaterialNumber;
+                }
+                if (allMaterialWeight.length() >= 2) {
+                    subMaterialWeight = allMaterialWeight.substring(0, allMaterialWeight.length() - 2);
+                }
+                if (allMaterialWeight.length() < 2) {
+                    subMaterialWeight = allMaterialWeight;
+                }
+                if (allMaterialSpecificationModel.length() >= 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
+                }
+                if (allMaterialSpecificationModel.length() < 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel;
+                }
+                map.put("allMaterialName", subMaterialName);
+                map.put("allMaterialNumber", subMaterialNumber);
+                map.put("allMaterialWeight", subMaterialWeight);
+                map.put("allMaterialSpecificationModel", subMaterialSpecificationModel);
+            }
+            Map<String,Object> orderMap = null;
+            if (intValue == 1 || intValue == 2 || intValue == 3) {
+                orderMap = omstruckOrderMapper.getSaleOrderMap(orderId);
+            }
+            if (intValue == 4) {
+                orderMap = omstruckOrderMapper.getSteelInwardOrderMap(orderId);
+            }
+            if (intValue == 5 || intValue == 6 || intValue == 7 || intValue == 8) {
+                orderMap = omstruckOrderMapper.getPurchaseOrderMap(orderId);
+            }
+            if (intValue == 9 || intValue == 10 || intValue == 11) {
+                orderMap = omstruckOrderMapper.getInwardOrderMap(orderId);
+            }
+            map.putAll(orderMap);
+        }
+        return resultList;
+    }
+
 
 }

+ 430 - 0
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardPlanMapper.xml

@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmstruckInwardPlanMapper">
+    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmstruckInwardPlan">
+        <id column="PLAN_ID" jdbcType="DECIMAL" property="planId"/>
+        <result column="PLAN_NUMBER" jdbcType="VARCHAR" property="planNumber"/>
+        <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId"/>
+        <result column="PLAN_TRUCK_NUMBER" jdbcType="DECIMAL" property="planTruckNumber"/>
+        <result column="PLAN_STATUS" jdbcType="DECIMAL" property="planStatus"/>
+        <result column="PLAN_ISSUE_TIME" jdbcType="TIMESTAMP" property="planIssueTime"/>
+        <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername"/>
+        <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime"/>
+        <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername"/>
+        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark"/>
+        <result column="DELETED" jdbcType="DECIMAL" property="deleted"/>
+        <result column="PLAN_ISSUE_NAME" jdbcType="VARCHAR" property="planIssueName"/>
+    </resultMap>
+    <sql id="columns">
+        PLAN_ID, PLAN_NUMBER, CARRIER_ID, PLAN_TRUCK_NUMBER, PLAN_STATUS, PLAN_ISSUE_TIME,
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+    DELETED, PLAN_ISSUE_NAME
+    </sql>
+    <sql id="columns_alias">
+        t.PLAN_ID, t.PLAN_NUMBER, t.CARRIER_ID, t.PLAN_TRUCK_NUMBER, t.PLAN_STATUS, t.PLAN_ISSUE_TIME,
+    t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK,
+    t.DELETED, t.PLAN_ISSUE_NAME
+    </sql>
+    <sql id="select">
+        SELECT
+        <include refid="columns"/>
+        FROM AMSTRUCK_INWARD_PLAN
+    </sql>
+    <sql id="select_alias">
+        SELECT
+        <include refid="columns_alias"/>
+        FROM AMSTRUCK_INWARD_PLAN t
+    </sql>
+    <sql id="where">
+        <where>
+            <if test="planId != null">
+                and PLAN_ID = #{planId}
+            </if>
+            <if test="planNumber != null and planNumber != ''">
+                and PLAN_NUMBER = #{planNumber}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+            <if test="planTruckNumber != null">
+                and PLAN_TRUCK_NUMBER = #{planTruckNumber}
+            </if>
+            <if test="planStatus != null">
+                and PLAN_STATUS = #{planStatus}
+            </if>
+            <if test="planIssueTime != null">
+                and TO_CHAR(PLAN_ISSUE_TIME,'yyyy-MM-dd') = #{planIssueTime}
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME = #{insertUsername}
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME = #{updateUsername}
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+            </if>
+            <if test="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="planIssueName != null and planIssueName != ''">
+                and PLAN_ISSUE_NAME = #{planIssueName}
+            </if>
+        </where>
+    </sql>
+    <sql id="whereLike">
+        <where>
+            <if test="planId != null">
+                and PLAN_ID = #{planId}
+            </if>
+            <if test="planNumber != null and planNumber != ''">
+                and PLAN_NUMBER LIKE '%${planNumber}%'
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+            <if test="planTruckNumber != null">
+                and PLAN_TRUCK_NUMBER = #{planTruckNumber}
+            </if>
+            <if test="planStatus != null">
+                and PLAN_STATUS = #{planStatus}
+            </if>
+            <if test="planIssueTime != null">
+                and TO_CHAR(PLAN_ISSUE_TIME,'yyyy-MM-dd') = #{planIssueTime}
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME LIKE '%${insertUsername}%'
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME LIKE '%${updateUsername}%'
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+            </if>
+            <if test="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="planIssueName != null and planIssueName != ''">
+                and PLAN_ISSUE_NAME LIKE '%${planIssueName}%'
+            </if>
+        </where>
+    </sql>
+    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+        delete
+        from AMSTRUCK_INWARD_PLAN
+        where PLAN_ID = #{planId,jdbcType=DECIMAL}
+    </delete>
+    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+        delete from AMSTRUCK_INWARD_PLAN
+        where 1!=1
+        <if test="planNumber != null and planNumber != ''">
+            or PLAN_NUMBER = #{planNumber}
+        </if>
+        <if test="carrierId != null">
+            or CARRIER_ID = #{carrierId}
+        </if>
+        <if test="planTruckNumber != null">
+            or PLAN_TRUCK_NUMBER = #{planTruckNumber}
+        </if>
+        <if test="planStatus != null">
+            or PLAN_STATUS = #{planStatus}
+        </if>
+        <if test="planIssueTime != null">
+            or TO_CHAR(PLAN_ISSUE_TIME,'yyyy-MM-dd') = '#{planIssueTime}'
+        </if>
+        <if test="insertUsername != null and insertUsername != ''">
+            or INSERT_USERNAME = #{insertUsername}
+        </if>
+        <if test="insertTime != null">
+            or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+        </if>
+        <if test="updateUsername != null and updateUsername != ''">
+            or UPDATE_USERNAME = #{updateUsername}
+        </if>
+        <if test="updateTime != null">
+            or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+        </if>
+        <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+            or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+        </if>
+        <if test="deleted != null">
+            or DELETED = #{deleted}
+        </if>
+        <if test="planIssueName != null and planIssueName != ''">
+            or PLAN_ISSUE_NAME = #{planIssueName}
+        </if>
+    </delete>
+    <insert id="insert" parameterType="com.steerinfo.dil.model.AmstruckInwardPlan">
+        insert into AMSTRUCK_INWARD_PLAN (PLAN_ID, PLAN_NUMBER, CARRIER_ID,
+                                          PLAN_TRUCK_NUMBER, PLAN_STATUS, PLAN_ISSUE_TIME,
+                                          INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+                                          UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
+                                          PLAN_ISSUE_NAME)
+        values (#{planId,jdbcType=DECIMAL}, #{planNumber,jdbcType=VARCHAR}, #{carrierId,jdbcType=DECIMAL},
+                #{planTruckNumber,jdbcType=DECIMAL}, #{planStatus,jdbcType=DECIMAL},
+                #{planIssueTime,jdbcType=TIMESTAMP},
+                #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
+                #{updateUsername,jdbcType=VARCHAR},
+                #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
+                #{planIssueName,jdbcType=VARCHAR})
+    </insert>
+    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmstruckInwardPlan">
+        insert into AMSTRUCK_INWARD_PLAN
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="planId != null">
+                PLAN_ID,
+            </if>
+            <if test="planNumber != null">
+                PLAN_NUMBER,
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID,
+            </if>
+            <if test="planTruckNumber != null">
+                PLAN_TRUCK_NUMBER,
+            </if>
+            <if test="planStatus != null">
+                PLAN_STATUS,
+            </if>
+            <if test="planIssueTime != null">
+                PLAN_ISSUE_TIME,
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME,
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME,
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME,
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME,
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK,
+            </if>
+            <if test="deleted != null">
+                DELETED,
+            </if>
+            <if test="planIssueName != null">
+                PLAN_ISSUE_NAME,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="planId != null">
+                #{planId,jdbcType=DECIMAL},
+            </if>
+            <if test="planNumber != null">
+                #{planNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="carrierId != null">
+                #{carrierId,jdbcType=DECIMAL},
+            </if>
+            <if test="planTruckNumber != null">
+                #{planTruckNumber,jdbcType=DECIMAL},
+            </if>
+            <if test="planStatus != null">
+                #{planStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="planIssueTime != null">
+                #{planIssueTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUsername != null">
+                #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="deleted != null">
+                #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="planIssueName != null">
+                #{planIssueName,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmstruckInwardPlan">
+        update AMSTRUCK_INWARD_PLAN
+        set PLAN_NUMBER          = #{planNumber,jdbcType=VARCHAR},
+            CARRIER_ID           = #{carrierId,jdbcType=DECIMAL},
+            PLAN_TRUCK_NUMBER    = #{planTruckNumber,jdbcType=DECIMAL},
+            PLAN_STATUS          = #{planStatus,jdbcType=DECIMAL},
+            PLAN_ISSUE_TIME      = #{planIssueTime,jdbcType=TIMESTAMP},
+            INSERT_USERNAME      = #{insertUsername,jdbcType=VARCHAR},
+            INSERT_TIME          = #{insertTime,jdbcType=TIMESTAMP},
+            UPDATE_USERNAME      = #{updateUsername,jdbcType=VARCHAR},
+            UPDATE_TIME          = #{updateTime,jdbcType=TIMESTAMP},
+            INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            DELETED              = #{deleted,jdbcType=DECIMAL},
+            PLAN_ISSUE_NAME      = #{planIssueName,jdbcType=VARCHAR}
+        where PLAN_ID = #{planId,jdbcType=DECIMAL}
+    </update>
+    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmstruckInwardPlan">
+        update AMSTRUCK_INWARD_PLAN
+        <set>
+            <if test="planNumber != null">
+                PLAN_NUMBER = #{planNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            </if>
+            <if test="planTruckNumber != null">
+                PLAN_TRUCK_NUMBER = #{planTruckNumber,jdbcType=DECIMAL},
+            </if>
+            <if test="planStatus != null">
+                PLAN_STATUS = #{planStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="planIssueTime != null">
+                PLAN_ISSUE_TIME = #{planIssueTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="deleted != null">
+                DELETED = #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="planIssueName != null">
+                PLAN_ISSUE_NAME = #{planIssueName,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where PLAN_ID = #{planId,jdbcType=DECIMAL}
+    </update>
+    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+        <include refid="select"/>
+        where PLAN_ID = #{planId,jdbcType=DECIMAL}
+    </select>
+    <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="where"/>
+    </select>
+    <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="whereLike"/>
+    </select>
+    <insert id="batchInsert" parameterType="java.util.List">
+        insert into AMSTRUCK_INWARD_PLAN
+        (PLAN_ID,
+        PLAN_NUMBER, CARRIER_ID, PLAN_TRUCK_NUMBER,
+        PLAN_STATUS, PLAN_ISSUE_TIME,
+        INSERT_USERNAME, INSERT_TIME,
+        UPDATE_USERNAME, UPDATE_TIME,
+        INSERT_UPDATE_REMARK, DELETED,
+        PLAN_ISSUE_NAME)
+        ( <foreach collection="list" item="item" separator="union all">
+        select
+        #{item.planId,jdbcType=DECIMAL},
+        #{item.planNumber,jdbcType=VARCHAR}, #{item.carrierId,jdbcType=DECIMAL},
+        #{item.planTruckNumber,jdbcType=DECIMAL},
+        #{item.planStatus,jdbcType=DECIMAL}, #{item.planIssueTime,jdbcType=TIMESTAMP},
+        #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
+        #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
+        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
+        #{item.planIssueName,jdbcType=VARCHAR} from dual
+    </foreach> )
+    </insert>
+    <update id="batchUpdate" parameterType="java.util.List">
+        update AMSTRUCK_INWARD_PLAN
+        set
+        PLAN_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.planId,jdbcType=DECIMAL}
+        </foreach>
+        ,PLAN_NUMBER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.planNumber,jdbcType=VARCHAR}
+        </foreach>
+        ,CARRIER_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+        </foreach>
+        ,PLAN_TRUCK_NUMBER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.planTruckNumber,jdbcType=DECIMAL}
+        </foreach>
+        ,PLAN_STATUS=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.planStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,PLAN_ISSUE_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.planIssueTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,INSERT_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,INSERT_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,UPDATE_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,UPDATE_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,INSERT_UPDATE_REMARK=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+        </foreach>
+        ,DELETED=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+        </foreach>
+        ,PLAN_ISSUE_NAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
+            when #{item.planId,jdbcType=DECIMAL} then #{item.planIssueName,jdbcType=VARCHAR}
+        </foreach>
+        where PLAN_ID in
+        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+            #{item.planId,jdbcType=DECIMAL}
+        </foreach>
+    </update>
+    <delete id="batchDelete" parameterType="java.util.List">
+        delete from AMSTRUCK_INWARD_PLAN
+        where PLAN_ID in
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+</mapper>

+ 415 - 33
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -661,15 +661,16 @@
         RC.CAPACITY_ID "capacityId",
         RCD.DRIVER_NAME "driverName",
         OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
-        AP.PLAN_TRUCK_TIME "planTruckTime",
-        AP.PLAN_INCOMING_TIME "planIncomingTime",
+        to_char(AP.PLAN_TRUCK_TIME, 'yyyy-mm-dd')"planTruckTime",
+        to_char(AP.PLAN_INCOMING_TIME, 'yyyy-mm-dd') "planIncomingTime",
         OO.INSERT_USERNAME "insertUsername",
         OO.INSERT_TIME "insertTime",
         OO.ORDER_NUMBER "orderNumber",
         RW.WAREHOUSE_NAME "warehouseName", --卸货点
-        OO.ORDER_ENTRY_TIME "orderEntryTime", --进厂时间
+        to_char(OO.ORDER_ENTRY_TIME, 'yyyy-mm-dd') "orderEntryTime", --进厂时间
         RS.SUPPLIER_NAME "supplierName", --发货单位
-        RCSE.CONSIGNEE_COMPANY_NAME "consigneeCompanyName" --收货单位
+        RCSE.CONSIGNEE_COMPANY_NAME "consigneeCompanyName", --收货单位,
+        OO.ORDER_ISSUE_TIME "orderIssueTime"
 
         from OMSTRUCK_ORDER OO
         left join AMS_PURCHASE_ORDER APO
@@ -704,8 +705,8 @@
             <if test="planId != null ">
                 and AP.PLAN_ID = #{planId}
             </if>
-            <if test="orderType != null">
-                and OO.ORDER_TYPE = #{orderType}
+            <if test="orderTypee != null">
+                and OO.ORDER_TYPE = #{orderTypee}
             </if>
             <if test="fuelOrder != null">
                 and OO.ORDER_TYPE in (6, 7)
@@ -959,7 +960,8 @@
         RW.WAREHOUSE_NAME "warehouseName",
         RM.MATERIAL_NAME "materialName",
         RC.CAPACITY_NUMBER "capacityNumber",
-        RW2.WAREHOUSE_NAME "warehouseName2"
+        RW2.WAREHOUSE_NAME "warehouseName2",
+        OO.INSERT_UPDATE_REMARK "insertUpdateRemark"
         from OMSTRUCK_ORDER OO
         left join RMS_DRIVER_CAPACITY RDC on OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
         left join RMS_CAPACITY RC on RC.CAPACITY_ID = RDC.CAPACITY_ID
@@ -1219,9 +1221,12 @@
         SELECT APO.PURCHASE_ORDER_NO "purchaseOrderNo",
                RC.CAPACITY_NUMBER    "capacityNumber",
                RM.MATERIAL_ID        "materialId",
+               RM.MATERIAL_NAME      "materialName",
                OO.ORDER_ENTRY_TIME   "orderEntryTime",
                OO.ORDER_TYPE         "orderType",
-               OO.UNLOAD_POINT_ID    "unloadPointId"
+               OO.UNLOAD_POINT_ID    "unloadPointId",
+               OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
+               OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight"
         FROM OMSTRUCK_ORDER OO
                  left join RMS_DRIVER_CAPACITY RDC
                            on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
@@ -1276,7 +1281,9 @@
         *
         from(
         select
+        OO.ORDER_ID "orderId",
         APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+        OO.ORDER_NUMBER "orderNumber",
         RS.SUPPLIER_NAME "supplierName",
         RCON.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
         RW.WAREHOUSE_NAME "warehouseName",
@@ -1316,9 +1323,6 @@
             <if test="orderTypee != null">
                 and OO.ORDER_TYPE = #{orderTypee}
             </if>
-            <if test="orderReceiveStatus != null">
-                and OO.ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
-            </if>
             <if test="fuelOrder != null">
                 and OO.ORDER_TYPE in (6, 7)
             </if>
@@ -1330,6 +1334,11 @@
                     "purchaseOrderNo" like '%${item}%'
                 </foreach>
             </if>
+            <if test="orderNumber != null">
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
             <if test="supplierName != null">
                 and
                 <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
@@ -1412,20 +1421,42 @@
 
     <!-- 查询已下发已接受的销售订单信息 -->
     <select id="getOrderReceived" parameterType="DECIMAL" resultType="java.util.Map">
-        SELECT aso.SALE_NUMBER    as "saleNumber",
-               oo.ORDER_NUMBER    as "orderNumber",
-               oo.INSERT_USERNAME as "insertUsername",
-               rc.CAPACITY_NUMBER as "capacityNumber"
+        SELECT aso.SALE_NUMBER as "saleNumber",
+        oo.ORDER_NUMBER as "orderNumber",
+        oo.INSERT_USERNAME as "insertUsername",
+        rc.CAPACITY_NUMBER as "capacityNumber"
         FROM OMSTRUCK_ORDER oo
-                 LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
-                           ON asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
-                 LEFT JOIN AMS_SALE_ORDER aso
-                           ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
-                 LEFT JOIN RMS_CAPACITY rc
-                           ON rc.CAPACITY_ID = oo.CAPACITY_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
+        ON asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_ORDER aso
+        ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
+        LEFT JOIN RMS_CAPACITY rc
+        ON rc.CAPACITY_ID = oo.CAPACITY_ID
         WHERE oo.ORDER_ISSUE_TIME IS NOT NULL
-          AND oo.ORDER_RECEIVE_STATUS = 1
-          AND oo.ORDER_TYPE = #{orderType}
+        AND oo.ORDER_RECEIVE_STATUS = 1
+        AND oo.ORDER_TYPE = #{orderType}
+        <where>
+            <if test="saleNumber != null">
+                <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+                    "saleNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderNumber != null">
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="insertUsername != null">
+                <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
+                    "insertUsername" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
     </select>
 
     <!--查询司机排班信息-->
@@ -1522,16 +1553,46 @@
 
 
     <!--  //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号 -->
-    <select id="selectNewOrderId" parameterType="java.math.BigDecimal" resultType="string">
+    <select id="selectNewOrderId" parameterType="java.util.Map" resultType="java.util.Map">
         select *
-        from (select apo.PURCHASE_ORDER_NO
-              from DIL_BATCH db
-                       join AMS_PURCHASE_ORDER apo on apo.BATCH_ID = db.BATCH_ID
-              where db.MATERIAL_ID = #{materialId}
+        from (select apo.PURCHASE_ORDER_NO "purchaseOrderNo",
+                     apo.PURCHASE_ORDER_ID "purchaseOrderId"
+
+              from AMS_PURCHASE_ORDER APO
+                       join DIL_BATCH DB on apo.BATCH_ID = db.BATCH_ID
+              where db.MATERIAL_ID = #{materialId} and apo.SUPPLIER_UNIT_ID = #{supplierId}
               order by db.INSERT_TIME desc)
         where rownum = 1
     </select>
 
+    <!--  查询所有的发货单位  -->
+    <select id="getReceivingUnit" resultType="java.util.Map">
+        SELECT
+            *
+        from (
+                 select  RC.CONSIGNEE_ID "id",
+                         RC.CONSIGNEE_ID "value",
+                         RC.CONSIGNEE_COMPANY_NAME "label"
+                 from RMS_CONSIGNEE RC
+                 order by RC.CONSIGNEE_ID
+             )
+        where rownum &lt; 20
+    </select>
+
+    <!--  查询所有的发货单位  -->
+    <select id="getSupplier" resultType="java.util.Map">
+        SELECT
+            *
+        from (
+                 select  RS.SUPPLIER_ID "id",
+                         RS.SUPPLIER_ID "value",
+                         RS.SUPPLIER_NAME "label"
+                 from RMS_SUPPLIER RS
+                 order by RS.SUPPLIER_ID
+             )
+        where rownum &lt; 20
+    </select>
+
     <!--通过运输订单Id查询运输订单子表有几种物资 :物资ID-->
     <select id="getMaterialIdListByOrderId" parameterType="int" resultType="java.lang.Integer">
         select OOM.MATERIAL_ID
@@ -2247,6 +2308,16 @@
           AND ADSO.DISPATCH_ID = #{dispatchId}
     </select>
 
+    <select id="getNullOrNotNull" parameterType="DECIMAL" resultType="java.util.List">
+        SELECT OO.ORDER_ID AS "orderId"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ASOM.SALE_ORDER_MATERIAL_ID = ADSO.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN OMSTRUCK_ORDER OO
+                           ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE ADSO.DISPATCH_ID = #{dispatchId}
+    </select>
+
     <select id="getMaterialMessages" parameterType="DECIMAL" resultType="java.util.Map">
         SELECT RM.MATERIAL_NAME                               AS "materialName",
                RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "specificationModel",
@@ -2263,6 +2334,7 @@
         WHERE ADSO.DISPATCH_ID = #{dispatchId}
     </select>
 
+
     <!--得到销售订单与物资中间表id-->
     <select id="getSaleMaterialId" parameterType="DECIMAL" resultType="DECIMAL">
         SELECT ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId"
@@ -2272,13 +2344,323 @@
         WHERE ADSO.DISPATCH_ID = #{dispatchId}
     </select>
 
-    <select id="getCapacityId" parameterType="DECIMAL" resultType="DECIMAL">
+    <select id="getCapacityId" parameterType="java.lang.String" resultType="DECIMAL">
+        SELECT RC.CAPACITY_ID AS "capacityId"
+        FROM RMS_CAPACITY RC
+        WHERE RC.CAPACITY_NUMBER = #{capacityNumber}
+    </select>
+
+    <select id="getDriverCapacityId" 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)
+        FROM (SELECT RC.DRIVER_CAPACITY_ID AS "driverCapacityId"
+              FROM RMS_DRIVER_CAPACITY RC
+              WHERE RC.CAPACITY_ID = #{capacityId}
+                AND DELETED = 0
+              ORDER BY RC.INSERT_TIME)
         WHERE ROWNUM = 1
     </select>
 
+    <select id="getCapacityAndDriver" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT *
+        FROM (SELECT RC.CAPACITY_NUMBER AS "capacityNumber",
+        RCD.DRIVER_NAME AS "driverName"
+        FROM RMS_DRIVER_CAPACITY RDC
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID = RDC.CAPACITY_ID
+        LEFT JOIN RMS_CAR_DRIVER RCD
+        ON RDC.DRIVER_ID = RCD.DRIVER_ID
+        WHERE RC.CAPACITY_STATUS = 0
+        )
+        <where>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="driverName != null">
+                and
+                <foreach collection="driverName" item="item" open="(" separator="or" close=")">
+                    "driverName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+    </select>
+
+    <select id="getInwardMaterial" parameterType="DECIMAL" resultType="DECIMAL">
+        SELECT ARM.MATERIAL_ID AS "materialId"
+        FROM AMSTRUCK_REQUIREMENT_PLAN ARP
+                 LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+                           ON ARP.REQUIREMENT_ID = ARM.REQUIREMENT_ID
+        WHERE ARP.PLAN_ID = #{planId}
+    </select>
+
+    <!-- 查询分解运输计划 -->
+    <select id="getInwardOrderList" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT *
+        FROM (SELECT APO.PURCHASE_ORDER_NO AS "purchaseOrderNo",
+        RM.MATERIAL_NAME AS "materialName",
+        DB.RESULT_FOREIGN_SHIP_NAME AS "resultForeignShipName",
+        AIP.PLAN_NUMBER AS "planNumber",
+        RCA.CARRIER_NAME AS "carrierName",
+        RC.CAPACITY_NUMBER AS "capacityNumber",
+        OOM.ORDER_MATERIAL_NUMBER AS "orderMaterialNumber",
+        AIR.REQUIREMENT_NUMBER AS "requirementNumber",
+        AIP.PLAN_ISSUE_TIME AS "planIssueTime",
+        AIP.PLAN_ISSUE_NAME AS "planIssueName",
+        AIR.REQUIREMENT_TYPE AS "requirementType",
+        RCT.CAPACITY_TYPE_NAME AS "capacityTypeName",
+        ARM.MATERIAL_COUNT AS "materialNumber",
+        AIR.REQUIREMENT_TRUCK_TIME AS "requirementTruckTime",
+        RW.WAREHOUSE_NAME AS "wareHouseName",
+        AIR.REQUIREMENT_WORK_TYPE AS "requirementWorkType",
+        AIR.REQUIREMENT_WORK_CONTENT AS "requirementWorkContent",
+        AIR.REQUIREMENT_WORK_ENVIRONMENT AS "requirementWorkEnvironment",
+        AIR.REQUIREMENT_ESTIMATED_DURATION AS "requirementEstimatedDuration",
+        OO.ORDER_ID AS "orderId",
+        AIP.INSERT_TIME AS "insertTime"
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN RMS_DRIVER_CAPACITY RDC
+        ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+        LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
+        ON OOM.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID = RDC.CAPACITY_ID
+        LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+        ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+        ON ARP.PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+        ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+        ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+        LEFT JOIN AMS_PURCHASE_ORDER APO
+        ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
+        LEFT JOIN DIL_BATCH DB
+        ON APO.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = DB.MATERIAL_ID
+        LEFT JOIN RMS_WAREHOUSE RW
+        ON RW.WAREHOUSE_ID = AIR.REQUIREMNT_UNIT_ID
+        LEFT JOIN RMS_CARRIER RCA
+        ON RCA.CARRIER_ID = AIP.CARRIER_ID
+        LEFT JOIN RMS_CAPACITY_TYPE RCT
+        ON RCT.CAPACITY_TYPE_ID = AIR.CAPACITY_TYPE_ID
+        WHERE AIP.DELETED = 0
+        AND OO.ORDER_TYPE IN (4,9,10,11)
+        <if test="carrierId != null">
+            AND AIP.CARRIER_ID = #{carrierId}
+        </if>
+        <if test="orderStatus != null">
+            AND OO.ORDER_STATUS = #{orderStatus}
+        </if>
+        )
+        <where>
+            <if test="purchaseOrderNo != null">
+                and
+                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+                    "purchaseOrderNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialNumber != null">
+                and
+                <foreach collection="materialNumber" item="item" open="(" separator="or" close=")">
+                    "materialNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="resultForeignShipName != null">
+                and
+                <foreach collection="resultForeignShipName" item="item" open="(" separator="or" close=")">
+                    "resultForeignShipName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementNumber != null">
+                and
+                <foreach collection="requirementNumber" item="item" open="(" separator="or" close=")">
+                    "requirementNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementType != null">
+                and
+                <foreach collection="requirementType" item="item" open="(" separator="or" close=")">
+                    "requirementType" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planIssueTime != null">
+                and
+                <foreach collection="planIssueTime" item="item" open="(" separator="or" close=")">
+                    "planIssueTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planIssueName != null">
+                and
+                <foreach collection="planIssueName" item="item" open="(" separator="or" close=")">
+                    "planIssueName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityTypeName != null">
+                and
+                <foreach collection="capacityTypeName" item="item" open="(" separator="or" close=")">
+                    "capacityTypeName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementTruckTime != null">
+                and
+                <foreach collection="requirementTruckTime" item="item" open="(" separator="or" close=")">
+                    "requirementTruckTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementWorkType != null">
+                and
+                <foreach collection="requirementWorkType" item="item" open="(" separator="or" close=")">
+                    "requirementWorkType" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementWorkContent != null">
+                and
+                <foreach collection="requirementWorkContent" item="item" open="(" separator="or" close=")">
+                    "requirementWorkContent" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementWorkEnvironment != null">
+                and
+                <foreach collection="requirementWorkEnvironment" item="item" open="(" separator="or" close=")">
+                    "requirementWorkEnvironment" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementEstimatedDuration != null">
+                and
+                <foreach collection="requirementEstimatedDuration" item="item" open="(" separator="or" close=")">
+                    "requirementEstimatedDuration" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planNumber != null">
+                and
+                <foreach collection="planNumber" item="item" open="(" separator="or" close=")">
+                    "planNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="carrierName != null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+                    "carrierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialNumber != null">
+                and
+                <foreach collection="orderMaterialNumber" item="item" open="(" separator="or" close=")">
+                    "orderMaterialNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="wareHouseName != null">
+                and
+                <foreach collection="wareHouseName" item="item" open="(" separator="or" close=")">
+                    "wareHouseName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+
+    <select id="getResultList" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT OO.ORDER_ID   AS "orderId",
+               OO.ORDER_TYPE AS "orderType"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
+        WHERE OO.ORDER_STATUS = 4
+          AND OO.ORDER_TYPE IN (4, 9, 10, 11)
+          AND OO.DRIVER_CAPACITY_ID = #{driverCapacityId}
+    </select>
+    <!-- 销售订单 -->
+    <select id="getSaleOrderMap" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT ASO.SALE_NUMBER              AS "saleNumber",
+               RSH.SHIPPER_NAME             AS "shipperName",
+               RC.CONSIGNEE_COMPANY_NAME    AS "consigneeCompanyName",
+               OO.ORDER_NUMBER              AS "orderNumber",
+               RCA.CAPACITY_NUMBER          AS "capacityNumber",
+               RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
+               ASOM.SALE_DATE_OF_RECEIPT    AS "saleDateOfReceipt",
+               OO.ORDER_RECEIVE_REFUSE_TIME AS "orderReceiveRefuseTime"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_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_DRIVER_CAPACITY RDC
+                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RCA
+                           ON RDC.CAPACITY_ID = RCA.CAPACITY_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+    </select>
+
+    <!-- 物资信息 -->
+    <select id="getMaterialMes" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT RM.MATERIAL_NAME          AS "materialName",
+               RM.MATERIAL_MODEL         AS "materialMode",
+               RM.MATERIAL_SPECIFICATION AS "materialSpecification",
+               OOM.ORDER_MATERIAL_WEIGHT AS "materialWeight",
+               OOM.ORDER_MATERIAL_NUMBER AS "materialNumber"
+        FROM OMSTRUCK_ORDER_MATERIAL OOM
+                 LEFT JOIN RMS_MATERIAL RM
+                           ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+        WHERE ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 内转原料司机接单 -->
+    <select id="getInwardOrderMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT AIR.REQUIREMENT_NUMBER AS "upNumber",
+               OO.ORDER_NUMBER        AS "orderNumber",
+               RC.CAPACITY_NUMBER     AS "capacityNumber",
+               RCA.CARRIER_NAME       AS "carrierName"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RC.CAPACITY_ID = RDC.CAPACITY_ID
+                 LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+                           ON AIP.PLAN_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+                           ON ARP.PLAN_ID = AIP.PLAN_ID
+                 LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+                           ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                 LEFT JOIN RMS_CARRIER RCA
+                           ON RCA.CARRIER_ID = AIP.CARRIER_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 内转钢材到异地库 -->
+    <select id="getSteelInwardOrderMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT AROD.DAYPLAN_NO    AS "upNumber",
+               OO.ORDER_NUMBER    AS "orderNumber",
+               RC.CAPACITY_NUMBER AS "capacityNumber",
+               RCA.CARRIER_NAME   AS "carrierName"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RC.CAPACITY_ID = RDC.CAPACITY_ID
+                 LEFT JOIN AMS_RAIL_OFFSET_DAYPLAN AROD
+                           ON AROD.DAYPLAN_ID = OO.ORDER_PLAN_ID
+                 LEFT JOIN RMS_CARRIER RCA
+                           ON RCA.CARRIER_ID = AROD.CARRIER_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
 </mapper>

+ 2 - 2
src/main/resources/com/steerinfo/dil/mapper/RmsCapacityMapper.xml

@@ -192,7 +192,7 @@
       </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
     delete from RMS_CAPACITY
     where CAPACITY_ID = #{capacityId,jdbcType=DECIMAL}
   </delete>
@@ -527,7 +527,7 @@
     </set>
     where CAPACITY_ID = #{capacityId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
     <include refid="select" />
     where CAPACITY_ID = #{capacityId,jdbcType=DECIMAL}
   </select>

+ 343 - 0
src/main/resources/com/steerinfo/dil/mapper/RmsDriverCapacityMapper.xml

@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.RmsDriverCapacityMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.RmsDriverCapacity">
+    <id column="DRIVER_CAPACITY_ID" jdbcType="DECIMAL" property="driverCapacityId" />
+    <result column="DRIVER_ID" jdbcType="DECIMAL" property="driverId" />
+    <result column="CAPACITY_ID" jdbcType="DECIMAL" property="capacityId" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
+    <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+  </resultMap>
+  <sql id="columns">
+    DRIVER_CAPACITY_ID, DRIVER_ID, CAPACITY_ID, INSERT_UPDATE_REMARK, INSERT_USERNAME, 
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, DELETED, CARRIER_ID
+  </sql>
+  <sql id="columns_alias">
+    t.DRIVER_CAPACITY_ID, t.DRIVER_ID, t.CAPACITY_ID, t.INSERT_UPDATE_REMARK, t.INSERT_USERNAME, 
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.DELETED, t.CARRIER_ID
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM RMS_DRIVER_CAPACITY
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM RMS_DRIVER_CAPACITY t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="driverCapacityId != null">
+        and DRIVER_CAPACITY_ID = #{driverCapacityId}
+      </if>
+      <if test="driverId != null">
+        and DRIVER_ID = #{driverId}
+      </if>
+      <if test="capacityId != null">
+        and CAPACITY_ID = #{capacityId}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="driverCapacityId != null">
+        and DRIVER_CAPACITY_ID = #{driverCapacityId}
+      </if>
+      <if test="driverId != null">
+        and DRIVER_ID = #{driverId}
+      </if>
+      <if test="capacityId != null">
+        and CAPACITY_ID = #{capacityId}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from RMS_DRIVER_CAPACITY
+    where DRIVER_CAPACITY_ID = #{driverCapacityId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from RMS_DRIVER_CAPACITY
+    where 1!=1 
+      <if test="driverId != null">
+        or DRIVER_ID = #{driverId}
+      </if>
+      <if test="capacityId != null">
+        or CAPACITY_ID = #{capacityId}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="deleted != null">
+        or DELETED = #{deleted}
+      </if>
+      <if test="carrierId != null">
+        or CARRIER_ID = #{carrierId}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.RmsDriverCapacity">
+    insert into RMS_DRIVER_CAPACITY (DRIVER_CAPACITY_ID, DRIVER_ID, CAPACITY_ID, 
+      INSERT_UPDATE_REMARK, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, DELETED, 
+      CARRIER_ID)
+    values (#{driverCapacityId,jdbcType=DECIMAL}, #{driverId,jdbcType=DECIMAL}, #{capacityId,jdbcType=DECIMAL}, 
+      #{insertUpdateRemark,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=DECIMAL}, 
+      #{carrierId,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.RmsDriverCapacity">
+    insert into RMS_DRIVER_CAPACITY
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="driverCapacityId != null">
+        DRIVER_CAPACITY_ID,
+      </if>
+      <if test="driverId != null">
+        DRIVER_ID,
+      </if>
+      <if test="capacityId != null">
+        CAPACITY_ID,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="deleted != null">
+        DELETED,
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="driverCapacityId != null">
+        #{driverCapacityId,jdbcType=DECIMAL},
+      </if>
+      <if test="driverId != null">
+        #{driverId,jdbcType=DECIMAL},
+      </if>
+      <if test="capacityId != null">
+        #{capacityId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deleted != null">
+        #{deleted,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        #{carrierId,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.RmsDriverCapacity">
+    update RMS_DRIVER_CAPACITY
+    set DRIVER_ID = #{driverId,jdbcType=DECIMAL},
+      CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      DELETED = #{deleted,jdbcType=DECIMAL},
+      CARRIER_ID = #{carrierId,jdbcType=DECIMAL}
+    where DRIVER_CAPACITY_ID = #{driverCapacityId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.RmsDriverCapacity">
+    update RMS_DRIVER_CAPACITY
+    <set>
+      <if test="driverId != null">
+        DRIVER_ID = #{driverId,jdbcType=DECIMAL},
+      </if>
+      <if test="capacityId != null">
+        CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deleted != null">
+        DELETED = #{deleted,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where DRIVER_CAPACITY_ID = #{driverCapacityId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where DRIVER_CAPACITY_ID = #{driverCapacityId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLike" />
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into RMS_DRIVER_CAPACITY 
+      (DRIVER_CAPACITY_ID, 
+      DRIVER_ID, CAPACITY_ID, INSERT_UPDATE_REMARK, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      DELETED, CARRIER_ID)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.driverCapacityId,jdbcType=DECIMAL}, 
+      #{item.driverId,jdbcType=DECIMAL}, #{item.capacityId,jdbcType=DECIMAL}, #{item.insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP}, 
+      #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.deleted,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update RMS_DRIVER_CAPACITY
+     set
+       DRIVER_CAPACITY_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.driverCapacityId,jdbcType=DECIMAL}
+       </foreach>
+       ,DRIVER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.driverId,jdbcType=DECIMAL}
+       </foreach>
+       ,CAPACITY_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.capacityId,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,DELETED=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+       </foreach>
+       ,CARRIER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case DRIVER_CAPACITY_ID" separator=" ">
+          when #{item.driverCapacityId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+       </foreach>
+     where DRIVER_CAPACITY_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.driverCapacityId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from RMS_DRIVER_CAPACITY
+    where DRIVER_CAPACITY_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+  
+</mapper>