Browse Source

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-TMS-TRUCK-API

胡半仙 3 years ago
parent
commit
7c91d976e0

+ 2 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckLoadResultController.java

@@ -147,6 +147,8 @@ public class TmstruckLoadResultController extends BaseRESTfulController {
                 return success("装货成功");
             }else if(i == -2){
                 return failed("已装过此物资");
+            }else if(i == -3){
+                return failed("该订单没有装货作业");
             }else {
                 return failed("装货异常,请联系管理员!");
             }

+ 3 - 1
src/main/java/com/steerinfo/dil/controller/TmstruckUnloadResultController.java

@@ -91,7 +91,9 @@ public class TmstruckUnloadResultController extends BaseRESTfulController {
             return success("卸货成功!");
         }else if(i == -2){
             return failed("已卸过此物资");
-        }else {
+        }else if(i == -3){
+            return failed("该订单没有卸货作业");
+        } else{
             return failed("卸货失败,请联系管理员!");
         }
     }

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.java

@@ -87,7 +87,7 @@ public interface TmstruckLoadResultMapper extends IBaseMapper<TmstruckLoadResult
     TangXiaoFeng
      */
     //通过物资ID和总实绩Id查询唯一的装车实绩Id
-    Map<String, Object> getLoadResultIdByMIdAndTotalId(@Param("resultTotalId") Integer resultTotalId, @Param("materialId") Integer materialId);
+    Map<String, Object> getLoadResultIdByMIdAndTotalId(Map<String, Object> map);
 
     //通过物资ID和订单Id查询唯一的装车实绩Id
     Integer getLoadIdByOrderIdAndMId(Map<String, Object> map);

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckUnloadResultMapper.java

@@ -32,7 +32,7 @@ public interface TmstruckUnloadResultMapper extends IBaseMapper<TmstruckUnloadRe
     BigDecimal getResultIdByTotalId(BigDecimal totalId);
 
     //通过运输订单号查询 实绩Id 和总实绩Id
-    Map<String, Object> selectTotalIdByOrderNo(String orderNumber);
+    Map<String, Object> selectUnloadMesByOrderNo(Map<String, Object> map);
 
     //通过卸货地点查询仓库Id
     BigDecimal getWarehouseIdByWName(String warehouseName);

+ 8 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -159,7 +159,7 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         BigDecimal resultTotalId = (BigDecimal) orderMap.get("resultTotalId");
         map.put("resultTotalId", resultTotalId.intValue());
         //通过总实绩ID与物资ID查找 装车实绩主键ID
-        Map<String, Object> resultIdMap = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), materialId.intValue());
+        Map<String, Object> resultIdMap = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(null);
         TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
         tmstruckLoadResult.setStatus(new BigDecimal(0)); // 添加状态0:正常
         //编辑装车实绩主键ID对应的各个字段
@@ -241,13 +241,18 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         }
         //如果是零星多拼订单 需要查询这个物资是否已经装过了
         if(orderType == 12 || orderType == 13){
+            mesMap.put("updateUnloadResult", 1);
             Integer checkMaterial = tmstruckLoadResultMapper.checkMaterialIdLoad(resultTotalId, DataChange.dataToBigDecimal(map.get("materialId")));
             if(checkMaterial != null){
-                return -2;
+                return -2; //已装过此物资
             }
         }
+        Map<String, Object> dataMap = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(mesMap);
+        if(dataMap == null){
+            return -3; //该订单没有装车作业
+        }
         //查询装车实绩ID
-        map.putAll(tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), null));
+        map.putAll(dataMap);
         TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
         tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
         tmstruckLoadResult.setStatus(new BigDecimal(0));

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

@@ -407,6 +407,12 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 measureCommission = tmstruckMeasureCommissionMapper.sporadicDXMeasure(map);
                 if(measureCommission == null)
                     return 0;
+                if(orderType.intValue() == 14){
+                    Integer weightResultCount14 = tmstruckMeasureCommissionMapper.selectNoNetWeightResult(DataChange.dataToBigDecimal(map.get("resultTotalId")));
+                    if(weightResultCount14 == 1){
+                        measureCommission.put("item", measureCommission.get("item") + ",1");
+                    }
+                }
                 measureCommission.put("regionName", "无法确定汽车衡"); //无法确定汽车衡
                 measureCommission.put("deliveryType", "计重");
                 measureCommission.put("billType", "2");
@@ -531,6 +537,9 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                     }
                 }
                 i+=sendMeasureCommissionByGatepost(map);
+                break;
+            case 14:
+
                 break;
             case 15:
             case 20:

+ 2 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckReceiptResultServiceImpl.java

@@ -70,11 +70,10 @@ public class TmstruckReceiptResultServiceImpl implements ITmstruckReceiptResultS
 
     /**
      * 新增一条虚拟收货实绩
-     * @param map {resultTotalId:总实绩ID}
+     * @param  {resultTotalId:总实绩ID}
      * @return
      */
-    public int addReceiptResult(Map<String, Object> map){
-        BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
+    public int addReceiptResult(BigDecimal resultTotalId){
         //根据总实绩ID查询收货实绩查看是否已收货
         Integer receiptResult = tmstruckReceiptResultMapper.getReceiptResult(resultTotalId);
         if(receiptResult != null){

+ 11 - 5
src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java

@@ -167,7 +167,7 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
                 omsFeign.closeInwardOrder(DataChange.dataToBigDecimal(mesMap.get("orderId")).intValue(), sqe);
             }
             //卸货成功后推送消息给websocket
-            utilsService.pushMesToWebsocket((String) map.get("capacityNumber"), "卸货");
+            utilsService.pushMesToWebsocket((String) mesMap.get("capacityNumber"), "卸货");
             //根据运输订单查找需求备注
             BigDecimal orderId = DataChange.dataToBigDecimal(mesMap.get("orderId"));
             Map<String,Object>  remarkMap=tmstruckTimeTaskResultMapper.selectInwardDueTimeByOrderId(orderId);
@@ -180,14 +180,20 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
         }
         //如果是零星多拼订单 需要查询这个物资是否已经卸过了
         if(orderType == 12 || orderType == 13){
+            map.put("updateLoadResult", 1); //需要路段顺序号查询
             Integer checkMaterial = tmstruckUnloadResultMapper.checkMaterialIdUnload(DataChange.dataToBigDecimal(mesMap.get("totalId")), DataChange.dataToBigDecimal(map.get("materialId")));
             if(checkMaterial != null){
-                return -2;
+                return -2;  //已卸过此物资
             }
         }
-        map.putAll(tmstruckUnloadResultMapper.selectTotalIdByOrderNo((String) map.get("orderNumber")));
+        Map<String, Object> dataMap = tmstruckUnloadResultMapper.selectUnloadMesByOrderNo(map);
+        if(dataMap == null){
+            return -3;  //该订单没有卸货作业
+        }
+        map.putAll(dataMap);
         updateUnloadResultBy(map); //更新卸货实绩
         //路段顺序号 + 1
+        map.put("orderId", mesMap.get("orderId"));
         utilsService.updateOrderLineSequence(map);
         switch (orderType){
             case 5:
@@ -200,11 +206,11 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             case 17:
             case 18:
             case 20:
-                tmstruckReceiptResultService.addReceiptResult(map); //新增完卸车实绩后新增一条收货实绩
+                tmstruckReceiptResultService.addReceiptResult(DataChange.dataToBigDecimal(map.get("resultTotalId"))); //新增完卸车实绩后新增一条收货实绩
                 break;
         }
         //卸货成功后推送消息给websocket
-        utilsService.pushMesToWebsocket((String) map.get("capacityNumber"), "卸货");
+        utilsService.pushMesToWebsocket((String) mesMap.get("capacityNumber"), "卸货");
         return 1;
     }
 

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

@@ -1116,14 +1116,17 @@
   </select>
 
   <!--  通过物资ID和总实绩Id查询唯一的装车实绩Id  -->
-  <select id="getLoadResultIdByMIdAndTotalId" parameterType="int" resultType="java.util.Map">
+  <select id="getLoadResultIdByMIdAndTotalId" parameterType="java.util.Map" resultType="java.util.Map">
     select
     *
     from(
     select TLR.RESULT_ID "resultId",
     TLR.SEGMENT_SQE "segmentSqe"
     from TMSTRUCK_LOAD_RESULT TLR
-    where TLR.RESULT_TOTAL_ID = #{resultTotalId} and TLR.RESULT_LOAD_END_TIME is null
+    where TLR.RESULT_TOTAL_ID = #{resultTotalId}
+      <if test="updateUnloadResult != null">
+        and TLR.RESULT_LOAD_END_TIME is null
+      </if>
      order by TLR.SEGMENT_SQE
     )
     where rownum = 1

+ 9 - 16
src/main/resources/com/steerinfo/dil/mapper/TmstruckUnloadResultMapper.xml

@@ -655,25 +655,18 @@
     </select>
 
     <!--  通过运输订单号 查询实绩Id、总实绩ID -->
-    <select id="selectTotalIdByOrderNo" parameterType="java.lang.String" resultType="java.util.Map">
+    <select id="selectUnloadMesByOrderNo" parameterType="java.util.Map" resultType="java.util.Map">
         select *
         from (
-                 select OO.ORDER_ID         "orderId",
-                        OO.ORDER_TYPE       "orderTypee",
+                 select
                         TUR.RESULT_ID       "resultId",
-                        TTR.RESULT_TOTAL_ID "resultTotalId",
-                        RC.CAPACITY_NUMBER  "capacityNumber",
-                        TUR.SEGMENT_SQE     "segmentSqe"
-
-                 from OMSTRUCK_ORDER OO
-                          left join TMSTRUCK_TOTAL_RESULT TTR
-                                    on OO.ORDER_ID = TTR.ORDER_ID
-                          left join TMSTRUCK_UNLOAD_RESULT TUR
-                                    on TTR.RESULT_TOTAL_ID = TUR.RESULT_TOTAL_ID
-                          left join RMS_CAPACITY RC
-                                    on RC.CAPACITY_ID = OO.CAPACITY_ID
-                 where OO.ORDER_NUMBER = #{orderNumber}
-                   and TUR.RESULT_END_TIME is null
+                        TUR.SEGMENT_SQE     "segmentSqe",
+                        TUR.RESULT_TOTAL_ID "resultTotalId"
+                 from TMSTRUCK_UNLOAD_RESULT TUR
+                 where TUR.RESULT_TOTAL_ID = #{resultTotalId}
+                   <if test="updateLoadResult != null">
+                       and TUR.RESULT_END_TIME is null
+                   </if>
                  order by TUR.SEGMENT_SQE
              )
         where rownum = 1