luobang 2 years ago
parent
commit
7c44dee4f4

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

@@ -143,4 +143,10 @@ public interface TmstruckLoadResultMapper extends IBaseMapper<TmstruckLoadResult
     //查询装卸信息
     Map<String, Object> selectLoadingIdRemark(Map<String, Object> map);
 
+    BigDecimal selectInwardOrderPlanId(Map<String, Object> map);
+
+    int updateOOOrderPlanId(Map<String,Object> map);
+
+    int updateOOMaterialId(Map<String, Object> map);
+
 }

+ 29 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -800,10 +800,32 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int updateLoadingIdRemark(Map<String, Object> map) {
+        if(DataChange.dataToBigDecimal(map.get("orderType")).intValue() == 11) {
+            //如果是内转计重订单,则需要先寻找需求/计划进行替换
+            BigDecimal orderPlanId = tmstruckLoadResultMapper.selectInwardOrderPlanId(map);
+            if(orderPlanId == null) {
+                return 11;
+            }
+            map.put("orderPlanId",orderPlanId);
+            tmstruckLoadResultMapper.updateOOOrderPlanId(map);
+            tmstruckLoadResultMapper.updateOOMaterialId(map);
+        }
+        if(DataChange.dataToBigDecimal(map.get("orderType")).intValue() == 21) {
+            //如果是内转计重订单,则需要先寻找需求/计划进行替换
+            BigDecimal orderPlanId = tmstruckLoadResultMapper.selectInwardOrderPlanId(map);
+            if(orderPlanId == null) {
+                return 11;
+            }
+            map.put("orderPlanId",orderPlanId);
+            tmstruckLoadResultMapper.updateOOOrderPlanId(map);
+            tmstruckLoadResultMapper.updateOOMaterialId(map);
+            return 0;
+        }
         //更新装货
         TmstruckLoadResult tmstruckLoadResult=new TmstruckLoadResult();
         tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(map.get("loadResultId")));
         tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("loadingId")));
+        tmstruckLoadResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
         tmstruckLoadResult.setCapacityRemark((String)map.get("capacityRemark"));
         tmstruckLoadResult.setInsertUpdateRemark((String)map.get("insertUpdateRemark"));
         //更新卸货unloadResultId
@@ -811,6 +833,13 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         tmstruckUnloadResult.setResultId(DataChange.dataToBigDecimal(map.get("unloadResultId")));
         tmstruckUnloadResult.setResultUnloadPlaceId(DataChange.dataToBigDecimal(map.get("unloadingId")));
         tmstruckUnloadResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+        //若计量实绩不为空
+        if(map.get("weightTaskId") != null) {
+            TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
+            tmstruckWeightResult.setWeightTaskResultId(DataChange.dataToBigDecimal(map.get("weightTaskId")));
+            tmstruckWeightResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+            tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
+        }
         tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
         tmstruckUnloadResultMapper.updateByPrimaryKeySelective(tmstruckUnloadResult);
         return 0;

+ 26 - 3
src/main/resources/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.xml

@@ -1766,7 +1766,6 @@
             ) - 1
     where OO.ORDER_ID = #{orderId}
   </update>
-
   <select id="checkMaterialIdLoad" resultType="java.lang.Integer">
     select TLR.RESULT_ID
     from TMSTRUCK_LOAD_RESULT TLR
@@ -1813,6 +1812,7 @@
   </select>
   <select id="selectLoadingIdRemark" resultType="java.util.Map">
     SELECT OO.ORDER_ID         "orderId",
+           OO.ORDER_TYPE        "orderType",
            OO.ORDER_NUMBER "orderNumber",
            RC.CAPACITY_NUMBER   "capacityNumber",
            TTR.RESULT_TOTAL_ID "resultTotalId",
@@ -1825,11 +1825,13 @@
            TUR.RESULT_UNLOAD_PLACE_ID "unloadingId",
            RWU.WAREHOUSE_NAME "unloadingName",
            TUR.MATERIAL_ID "materialId",
-           RM.MATERIAL_NAME "materialName"
+           RM.MATERIAL_NAME "materialName",
+           TWR.WEIGHT_TASK_RESULT_ID    "weightTaskId"
     FROM OMSTRUCK_ORDER OO
            LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON OO.ORDER_ID = TTR.ORDER_ID
            LEFT JOIN TMSTRUCK_LOAD_RESULT TLR ON TTR.RESULT_TOTAL_ID = TLR.RESULT_TOTAL_ID
            LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR ON TTR.RESULT_TOTAL_ID = TUR.RESULT_TOTAL_ID
+           LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
            LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID = RC.CAPACITY_ID
            LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = TUR.MATERIAL_ID
            LEFT JOIN RMS_WAREHOUSE RWL ON RWL.WAREHOUSE_ID = TLR.LOADING_ID
@@ -1837,5 +1839,26 @@
     WHERE OO.ORDER_NUMBER = #{orderNumber}
     FETCH NEXT 1 ROWS ONLY
   </select>
-
+  <select id="selectInwardOrderPlanId" resultType="java.math.BigDecimal" parameterType="map">
+    SELECT ARP.PLAN_ID FROM AMSTRUCK_INWARD_REQUIREMENT AIR
+    LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+    ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+    LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+    ON ARP.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+    WHERE ARM.REQUIREMENT_UNLOAD_UNIT_ID = #{unloadingId}
+    AND ARM.REQUIREMENT_PLATFORM_ID = #{loadingId}
+    ORDER BY AIR.INSERT_TIME DESC
+    FETCH NEXT 1 ROWS ONLY
+  </select>
+  <update id="updateOOOrderPlanId" parameterType="map">
+    UPDATE OMSTRUCK_ORDER OO
+    SET OO.ORDER_PLAN_ID = #{orderPlanId}
+    WHERE OO.ORDER_ID = #{orderId}
+    and oo.order_type in (11,21)
+  </update>
+  <update id="updateOOMaterialId" >
+    update OMSTRUCK_ORDER_MATERIAL OOM
+    set oom.MATERIAL_ID = #{materialId}
+    where OOM.order_id = #{orderId}
+  </update>
 </mapper>