zyf 2 anni fa
parent
commit
a6fda8460e

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

@@ -125,12 +125,13 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         String orderNumber = mapval.get("orderNumber").toString();
         /**根据运输订单号,查询运输订单信息,*/
         Map<String, Object> order = wmspOutboundResultService.getOrder(orderNumber);
+        /*//拿到订单类型
+        BigDecimal s= (BigDecimal)order.get("orderType");*/
         /**拿运输订单信息中的运输订单Id*/
         if(order!=null){
             BigDecimal orderId = (BigDecimal) order.get("orderId");
             //根据该运输订单Id判断当前订单是否已经完成出厂,若完成直接返回null
             if (wmspOutboundResultService.getOutboundStatus(orderId)==0){
-
                 Map<String,Object> map = new HashMap<>();
                 map.put("orderId",orderId);
                 /**根据运输订单ID和物资id查询出库单(没有逻辑删除)
@@ -149,7 +150,6 @@ public class WmspOutboundResultController extends BaseRESTfulController {
                     }
                 }
                 //查询运单相关信息
-
                 return wmspOutboundResultService.getOutBoundDetailedInfo(orderId);
             }
         }

+ 4 - 0
src/main/java/com/steerinfo/dil/feign/TmstruckFeign.java

@@ -23,4 +23,8 @@ public interface TmstruckFeign {
 
     @PostMapping("/api/v1/truckTms/tmstruckunloadresult/updateUnloadResult")
     Map<String,Object> updateUnloadResult(Map<String, Object> map);
+
+    @PostMapping("/api/v1/truckTms/tmstruckloadresults/addLoad")
+    Map<String, Object> addLoad(@RequestBody Map<String, Object> map);
+
 }

+ 15 - 0
src/main/java/com/steerinfo/dil/mapper/WmspOutboundResultMapper.java

@@ -100,4 +100,19 @@ public interface WmspOutboundResultMapper extends IBaseMapper<WmspOutboundResult
 
     BigDecimal getSteelOrderType(BigDecimal orderId);
 
+    /**
+     * @author:zyf
+     * @version:1.0
+     * @Date:
+     * @Description:计算出理重总和
+    */
+    BigDecimal calculateTW(BigDecimal resultMaterialId,BigDecimal materialId);
+
+    /**
+     * @author:zyf
+     * @version:1.0
+     * @Date:
+     * @Description:查出总实绩ID
+    */
+    BigDecimal queryID(BigDecimal orderId);
 }

+ 23 - 5
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java

@@ -283,6 +283,10 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
         if(orderType.intValue() == 4){
             resultOutboundType = "调拨出库";
         }
+        //添加订单类型
+        if(orderType.intValue()==25){
+            resultOutboundType= "倒库";
+        }
         /**把出库单主键id添加到出库单实体中*/
         wmspOutboundResult.setResultId(new BigDecimal(seq_wmspoutboundresult));
         /**把出库单编号添加到出库单实体中*/
@@ -531,12 +535,26 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
         mesMap.put("numberOfFurnaces", sb.toString());
         mesMap.put("materialId", materialId);
         mesMap.put("warehouseId", warehouseId);
-        Map<String, Object> returnMap = tmstruckFeign.addSaleLoadResult(mesMap);
-        String code = (String) returnMap.get("code");
-        if("200".equals(code)){
-            System.out.println("新增装车成功:" + mesMap.get("orderId"));
+        //查询出运输订单类型
+        BigDecimal orderId= (BigDecimal) mesMap.get("orderId");
+        BigDecimal orderType = wmspOutboundResultMapper.getSteelOrderType(orderId);
+        //加一个对运输订单类型的判断如果为25则是倒库的判断
+        if (orderType.compareTo(BigDecimal.valueOf(25))==0){
+            //查出总实绩ID
+            BigDecimal resultid = wmspOutboundResultMapper.queryID(orderId);
+            mesMap.put("resultid",resultid);
+            //计算理重总和
+            BigDecimal calculateTW = wmspOutboundResultMapper.calculateTW(DataChange.dataToBigDecimal(mesMap.get("resultMaterialId")), materialId);
+            mesMap.put("calculateTW",calculateTW.divide(new BigDecimal(1000),3,BigDecimal.ROUND_HALF_UP));
+            tmstruckFeign.addLoad(mesMap);
         }else {
-            throw new Exception("新增装车失败");
+            Map<String, Object> returnMap = tmstruckFeign.addSaleLoadResult(mesMap);
+            String code = (String) returnMap.get("code");
+            if("200".equals(code)){
+                System.out.println("新增装车成功:" + mesMap.get("orderId"));
+            }else {
+                throw new Exception("新增装车失败");
+            }
         }
     }
 

+ 14 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml

@@ -1212,4 +1212,18 @@
       WHERE OO.ORDER_ID = #{orderId}
   </select>
 
+  <select id="calculateTW" resultType="java.math.BigDecimal">
+    SELECT sum(RMS.MATERIAL_THEORETICAL_WEIGHT)
+    FROM WMSP_OUTBOUND_RESULT_MATERIAL WORM
+    LEFT JOIN WMSP_OUTBOUND_SCAN_RESULT WOSR ON WORM.RESULT_MATERIAL_ID = WOSR.RESULT_MATERIAL_ID
+    LEFT JOIN WMSP_INBOUND_RESULT WIR ON WOSR.INBOUND_RESULT_ID = WIR.INBOUND_ID
+    LEFT JOIN RMS_MATERIAL_STEEL RMS ON WIR.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+    WHERE WORM.RESULT_MATERIAL_ID = #{resultMaterialId} AND WORM.MATERIAL_ID = #{materialId}
+  </select>
+
+  <select id="queryID" resultType="java.math.BigDecimal">
+    select t.Result_Total_Id
+    from TMSTRUCK_TOTAL_RESULT t
+    where t.order_id=#{orderId}
+  </select>
 </mapper>