liyg 1 рік тому
батько
коміт
53e1568769

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

@@ -52,7 +52,7 @@ public class AMScontroller {
     @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
     @PostMapping(value = "/purchaseOrderSync")
     @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"采购订单"})
-    public Map<String, Object> purchaseOrderSync(@RequestBody(required = false) Map<String, Object> map) {
+    public RESTfulResult purchaseOrderSync(@RequestBody(required = false) Map<String, Object> map) {
         return amsFeign.purchaseOrderSync(map);
     }
 

+ 20 - 0
src/main/java/com/steerinfo/dil/controller/TMSController.java

@@ -527,6 +527,10 @@ public class TMSController extends BaseRESTfulController {
                     if(!weightTime.equals(item.get("计量日期").toString())){
                         throw new Exception("同一个Excel只允许一批车辆,请检查计量日期!");
                     }
+                    //更新重量
+                    BigDecimal weight = DataChange.dataToBigDecimal(map.get("weight"));
+                    weight = weight.add(DataChange.dataToBigDecimal(item.get("净重")));
+                    map.put("weight", weight);
                 } else {
                     throw new Exception("同一个Excel文件中只允许有一个通知单号!");
                 }
@@ -534,6 +538,7 @@ public class TMSController extends BaseRESTfulController {
                 //不存在,新增
                 map.put("requirementNumber", requirementNumber);
                 map.put("weightTime",item.get("计量日期").toString());
+                map.put("weight",DataChange.dataToBigDecimal(item.get("净重")));
             }
             //车牌号去重
             capacitySet.add(item.get("车号").toString());
@@ -549,8 +554,11 @@ public class TMSController extends BaseRESTfulController {
         List<Map<String,Object>> orderList = universalMapper.findTrainWeight(map);
         if (orderList.size() <= 0) {
             throw new Exception("未查询到装车信息,请先上传装车作业!");
+        } else if(orderList.size() != universalMapper.countTransOrder(orderList.get(0))){
+            throw new Exception("计量信息与装车信息数量不一致,请重新上传!");
         }
         map.put("orderList",orderList);
+        map.put("transPlanId",orderList.get(0).get("transPlanId"));
         //新增TMS
         return tmsFeign.purchaseTrainWeight(map);
     }
@@ -619,8 +627,20 @@ public class TMSController extends BaseRESTfulController {
         List<Map<String,Object>> orderList = universalMapper.findTrainUnload(map);
         if (orderList.size() <= 0) {
             throw new Exception("未查询到装车信息,请先上传装车作业!");
+        } else if(orderList.size() != universalMapper.countTransOrder(orderList.get(0))){
+            throw new Exception("卸货信息与装车信息数量不一致,请重新上传!");
+        }
+        //获取原本重量之和
+        BigDecimal weightOld = BigDecimal.ZERO;
+        for(Map<String,Object> item : orderList){
+            weightOld = weightOld.add(DataChange.dataToBigDecimal(item.get("unloadWeight")));
         }
+        map.put("weightOld",weightOld);
+        map.put("diff",DataChange.dataToBigDecimal(map.get("weight").toString()).subtract(weightOld));
         map.put("orderList",orderList);
+        map.put("transPlanId",orderList.get(0).get("transPlanId"));
+        map.put("materialId",orderList.get(0).get("materialId"));
+        map.put("unloadPointId",orderList.get(0).get("unloadPointId"));
         //新增TMS
         return tmsFeign.purchaseTrainUnload(map);
     }

+ 1 - 1
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -21,7 +21,7 @@ import java.util.Map;
 public interface AmsFeign {
 
     @PostMapping(value = "api/v1/ams/amsorders/purchaseOrderSync")
-    Map<String, Object> purchaseOrderSync(@RequestBody(required = false) Map<String, Object> map);
+    RESTfulResult purchaseOrderSync(@RequestBody(required = false) Map<String, Object> map);
 
     @PostMapping(value = "api/v1/ams/amsorders/purchaseOrderAdd")
     Map<String, Object> purchaseOrderAdd(@RequestBody(required = false) Map<String, Object> map);

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java

@@ -61,6 +61,9 @@ public interface UniversalMapper {
     //查询采购火运对应运单及卸货实绩
     List<Map<String, Object>>  findTrainUnload(Map<String, Object> map);
 
+    //查询火运计划下的运单数量
+    int countTransOrder(Map<String, Object> map);
+
     List<Map<String, Object>> getBusinessTypeLike(Map<String, Object> map);
 
     List<Map<String, Object>> getFuelTypeByLike(Map<String, Object> map);

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

@@ -865,6 +865,7 @@
         <foreach collection="list" item="item"  separator=" UNION " >
             SELECT OTO .TRANS_ORDER_ID "transOrderId",
             OOC .ORDER_CHILD_ID "transOrderChildId",
+            APC .TRANS_PLAN_ID "transPlanId",
             TWR .RESULT_ID "resultId",
             #{item.车号} "capacityId",
             #{item.净重} "netWeight",
@@ -874,7 +875,6 @@
             LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
             LEFT JOIN TMS_WEIGHT_RESULT TWR
                 ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
-            LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
             LEFT JOIN  AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
             LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
             LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
@@ -890,6 +890,8 @@
             SELECT OTO .TRANS_ORDER_ID "transOrderId",
             OOC .ORDER_CHILD_ID "transOrderChildId",
             TUR .RESULT_ID "resultId",
+            TUR .ACTUAL_TONNAGE "unloadWeight",
+            APC .TRANS_PLAN_ID "transPlanId",
             ARC .RECEIVING_POINT_ID "unloadPointId",
             APC .MATERIAL_ID "materialId",
             #{item.车号} "capacityId",
@@ -898,7 +900,6 @@
             LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
             LEFT JOIN TMS_UNLOAD_RESULT TUR
             ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
-            LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
             LEFT JOIN  AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
             LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
             LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
@@ -1059,4 +1060,16 @@
             </if>
         </where>
     </select>
+    <select id="countTransOrder" resultType="java.lang.Integer">
+        SELECT COUNT(OTO .TRANS_ORDER_ID)
+        FROM OMS_TRANS_ORDER OTO
+        LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
+        LEFT JOIN  AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
+        LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
+        LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
+        <where>
+            OTO.DELETED != 1
+            AND APC.TRANS_PLAN_ID =#{transPlanId}
+        </where>
+    </select>
 </mapper>