luobang 1 rok temu
rodzic
commit
17859341e3

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

@@ -6,6 +6,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.math.BigDecimal;
 import java.util.Map;
 
 /**
@@ -18,4 +19,7 @@ public interface BmsTruckFeign {
 
     @PostMapping("api/v1/bmstruck/bmstruckdetailsorder/addInwardDetailsOrder")
     RESTfulResult addDetailsOrder(@RequestBody(required = false) Map<String,Object> map);
+
+    @PostMapping("api/v1/bmstruck/bmstruckdetailsorder/addDetailsOrder/{orderId}")
+    public RESTfulResult addDetailsOrder(@PathVariable("orderId") BigDecimal orderId);
 }

+ 8 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -413,4 +413,12 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int updateResultTotalId(Integer resultTotalId);
 
+    int selectNetWeightByOrderId(Integer orderContinueId);
+
+    int selectSaleMaterialNum(BigDecimal orderId);
+
+    int selectOutFactory(BigDecimal orderId);
+
+    int updateOrderStatus(@Param("orderContinueId") Integer orderContinueId, @Param("orderStatus") int orderStatus);
+
 }

+ 31 - 5
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -3,10 +3,7 @@ package com.steerinfo.dil.service.impl;
 import com.alibaba.druid.support.json.JSONUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.api.R;
-import com.steerinfo.dil.feign.AmsFeign;
-import com.steerinfo.dil.feign.IMFeign;
-import com.steerinfo.dil.feign.JoinFeign;
-import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.feign.*;
 import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IOmstruckOrderService;
@@ -61,6 +58,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Autowired
     private IMFeign imFeign;
 
+    @Autowired
+    BmsTruckFeign bmsTruckFeign;
+
     @Autowired
     RmsCapacityMapper rmsCapacityMapper;
 
@@ -924,7 +924,33 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         if((Integer) map.get("orderReceiveStatus") == 1) {
             List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
             if (orderIdList.size() > 0) {
-                throw  new RuntimeException("已有接收的订单!");
+                if(DataChange.dataToBigDecimal(map.get("isContinueSteelOrder")).compareTo(new BigDecimal(1)) == 0 ) {
+                    //如果是继续装的订单类型,首先
+                    try {
+                        for(Integer orderContinueId : orderIdList) {
+                            //查询该运单下有没有净重,
+                            int netWeight = omstruckOrderMapper.selectNetWeightByOrderId(orderContinueId);
+                            //查询该运单下计量实绩有没有物资分录id
+                            int saleMaterialNum = omstruckOrderMapper.selectSaleMaterialNum(orderId);
+                            //查询该运单有没有出厂,没有出厂才变2
+                            int outFactory = omstruckOrderMapper.selectOutFactory(orderId);
+                            int orderStatus = 7;
+                            if((netWeight > 0 || saleMaterialNum > 0) && outFactory == 0) {
+                                orderStatus = 2;
+                            }
+                            if(netWeight > 0 && outFactory > 0) {
+                                orderStatus = 5;
+                            }
+                            omstruckOrderMapper.updateOrderStatus(orderContinueId,orderStatus);
+                            bmsTruckFeign.addDetailsOrder(orderId);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        throw  new RuntimeException((String) map.get("capacityNumber") + "已有接收的订单!");
+                    }
+                }else{
+                    throw  new RuntimeException((String) map.get("capacityNumber") + "已有接收的订单!");
+                }
             }
             omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
             int orderStatus = DataChange.dataToBigDecimal(orderMessage.get("orderStatus")).intValue();

+ 33 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -3401,7 +3401,8 @@
         CONCAT( CONCAT( CONCAT( RDA.ADDRESS_PROVINCE, RDA.ADDRESS_DISTRICT ), RDA.ADDRESS_TOWN ),
         RDA.ADDRESS_DELIVERY_ADDRESS ) "receiveAddressName",
         ASM.SALE_WAREHOUSE "remark",
-        ASO.SALE_REMARK     "shipName"
+        ASO.SALE_REMARK     "shipName",
+        ASOM.TRUCK_REMARK "truckRemark"
         FROM
         OMSTRUCK_ORDER OO
         LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
@@ -4576,9 +4577,40 @@
         SELECT RL.LINE_NAME FROM RMS_LINE RL
         WHERE RL.LINE_ID = #{lineId}
     </select>
+
     <update id="updateResultTotalId">
         UPDATE TMSTRUCK_TOTAL_RESULT TTR
         SET TTR.ORDER_STATUS = '已接单'
         where TTR.RESULT_TOTAL_ID = #{resultTotalId}
     </update>
+
+    <select id="selectNetWeightByOrderId" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+        SELECT COUNT(TWR.WEIGHT_TASK_RESULT_ID) FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE
+            TWR.RESULT_NET_WEIGHT IS NOT NULL
+          AND TTR.ORDER_ID = #{orderId}
+    </select>
+    <select id="selectSaleMaterialNum" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+        SELECT COUNT(TWR.WEIGHT_TASK_RESULT_ID) FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE
+            TWR.SALE_MATERIAL_ID is not null
+          AND TTR.ORDER_ID = #{orderId}
+    </select>
+    <select id="selectOutFactory" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+        SELECT COUNT(TLFR.RESULT_ID) FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+        ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE TTR.ORDER_ID = #{orderId}
+          AND TLFR.RESULT_OUT_GATE_TIME IS NOT NULL
+    </select>
+    <update id="updateOrderStatus">
+        UPDATE OMSTRUCK_ORDER OO
+        SET OO.ORDER_STATUS = #{orderStatus},
+            OO.INSERT_UPDATE_REMARK = '继续装运单,改变运单状态'
+        where OO.ORDER_ID = #{orderId}
+    </update>
 </mapper>