Selaa lähdekoodia

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS into dev

HUJIANGUO 3 vuotta sitten
vanhempi
commit
03167ad19a

+ 20 - 19
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;
@@ -45,6 +46,8 @@ public class OmstruckOrderController extends BaseRESTfulController {
     ColumnDataUtil columnDataUtil;
     @Autowired
     ESFeign esFeign;
+    @Autowired
+    OmstruckOrderMapper omstruckOrderMapper;
 
 
     /**
@@ -312,7 +315,7 @@ public class 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 +390,7 @@ public class OmstruckOrderController extends BaseRESTfulController {
             count++;
         }
         if (orderType != null) {
-            mapValue.put("orderType", orderType);
+            mapValue.put("orderTypee", orderType);
             count++;
         }
         if (fuelOrder != null) {
@@ -407,7 +410,6 @@ public class 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 +426,6 @@ public class 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 +698,6 @@ public class 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"),
@@ -994,10 +982,23 @@ public class 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 = "展示销售订单信息")

+ 7 - 1
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);

+ 1 - 1
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);
 
 
     //查询司机接单信息

+ 73 - 28
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -110,6 +110,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 5:
             case 6:
             case 7:
+                i = addCGPurOrders(map);
+                break;
             case 8:
                 i = addCGPurOrder(map); //新增采购运输订单
                 break;
@@ -123,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
@@ -143,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
@@ -189,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;
@@ -205,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;
@@ -289,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);
@@ -325,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");
@@ -350,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);
@@ -421,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);
     }
@@ -483,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);
@@ -507,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);
     }
 
     /**
@@ -922,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司机接单查询数据

+ 50 - 15
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",
-        RS.SUPPLIER_NAME "supplierName",
-        RCSE.CONSIGNEE_COMPANY_NAME "consigneeCompanyName"
+        RW.WAREHOUSE_NAME "warehouseName", --卸货点
+        to_char(OO.ORDER_ENTRY_TIME, 'yyyy-mm-dd') "orderEntryTime", --进厂时间
+        RS.SUPPLIER_NAME "supplierName", --发货单位
+        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
@@ -1548,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