Quellcode durchsuchen

欧冶库钢材,接单时才同步车号

shxiaoc vor 1 Jahr
Ursprung
Commit
67dde65a48

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

@@ -28,4 +28,6 @@ public interface AmsFeign {
     @PostMapping(value = "/api/v1/ams/amscontracttruckprices/getInwardPriceBy")
     Map<String,Object> getInwardPriceBy(@RequestBody(required = false) Map<String, Object> priceMap);
 
+    @PostMapping(value = "/api/v1/ams/amssaleorders/pushCarNumberToEas")
+    Map<String,Object> pushCarNumberToEas(@RequestBody(required = false) Map<String, Object> priceMap);
 }

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

@@ -159,4 +159,7 @@ public interface OmstruckOrderSeparateMapper {
 
     int IsHaveEnFactoryResult(BigDecimal lineId);
 
+    String getAddressPlace(BigDecimal orderId);
+
+
 }

+ 17 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -1030,6 +1030,23 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                     state+=omstruckOrderSeparateMapper.updateTranTimes(DataChange.dataToBigDecimal(orderMessage.get("orderPlanId").toString()),transTimes.intValue()+1);
                 }
             }
+            //钢材发往欧冶库,接单时才同步金蝶车号
+            if(orderType == 1){
+                //收货地址
+                String addressPlace = omstruckOrderSeparateMapper.getAddressPlace(orderId);
+                if((addressPlace != null && addressPlace.contains("欧冶"))){
+                    //车序号
+                    BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(orderMessage.get("orderPlanId"));
+                    Map<String, Object> toEasMap = new HashMap<>();
+                    toEasMap.put("capacityNo", capacityNumber + "");
+                    toEasMap.put("saleOrderMaterialId", saleOrderMaterialId);
+                    //同步金蝶车号
+                    Map<String, Object> result = amsFeign.pushCarNumberToEas(toEasMap);
+                    if(result == null || !("succeed").equals(result.get("result").toString())){
+                        throw new RuntimeException("同步车号失败");
+                    }
+                }
+            }
         } else { //其他状态都视为 拒绝接单
             if(orderType == 1){
                 throw  new RuntimeException("钢材不允许撤销订单!");

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

@@ -1912,7 +1912,8 @@
         ASM.SALE_WAREHOUSE "saleWarehouse",
         ASM.MATERIAL_NUMBER "materialNumber",
         TTR.ORDER_STATUS    "transOrderStatus",
-        decode(TTR.ORDER_STATUS,'已进厂',100,'已接单',99,'已派单',98,97) "transOrderStatusSqe"
+        decode(TTR.ORDER_STATUS,'已进厂',100,'已接单',99,'已派单',98,97) "transOrderStatusSqe",
+        ADSO.DISPATCH_ID AS "dispatchId"
         FROM OMSTRUCK_ORDER OO
         LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
         ON ASOM.SALE_ORDER_MATERIAL_ID=OO.ORDER_PLAN_ID

+ 10 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -1068,4 +1068,14 @@
         WHERE RLS.SEGMENT_START_NODE_ID = 1
         AND RL.LINE_ID = #{lineId}
     </select>
+
+    <select id="getAddressPlace" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+        SELECT RRP.ADDRESS_DELIVERY_ADDRESS FROM OMSTRUCK_ORDER OO
+                                                     LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                                                               ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                                                     LEFT JOIN RMS_RECEIVE_PLACE RRP
+                                                               ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+        WHERE OO.ORDER_ID = #{orderId}
+          AND OO.ORDER_TYPE = 1
+    </select>
 </mapper>