liyg 1 yıl önce
ebeveyn
işleme
d985defc0b

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

@@ -7,6 +7,7 @@ import com.steerinfo.dil.feign.ColumnDataFeign;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.feign.JoinFeign;
 import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
+import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
 import com.steerinfo.dil.model.AmsDispatchSaleOrder;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
 import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
@@ -79,7 +80,8 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
     BmstruckFeign bmstruckFeign;
     @Autowired
     SaleLogUtil saleLogUtil;
-
+    @Autowired
+    AmsSaleOrderMapper amsSaleOrderMapper;
 
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
@@ -1039,6 +1041,12 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
             mapList.add(mapValue);
             Map<String, Object> input = joinFeign.findCarNumberByOrderList(mapList);
             Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
+            if(mapValue.get("cancel")!=null){
+                input.put("cancel",mapValue.get("cancel"));
+            }
+            if(mapValue.get("unCancel")!=null){
+                input.put("unCancel",mapValue.get("unCancel"));
+            }
             totalMap.put("input", input);
             System.out.println(totalMap);
             String json = JSONUtils.toJSONString(totalMap);
@@ -1836,4 +1844,34 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
         return success(i);
     }
 
+
+    @PostMapping("/test")
+    public RESTfulResult test(@RequestBody(required = false) Map<String,Object> map) {
+        try{
+            //存在capacityId则判断是否取消或撤销取消
+            if(map.get("capacityId")!=null){
+                //新车号、当前车号、旧车号
+                String capacityId ="" + map.get("capacityId");
+                Map<String,Object>  capacityDetails=  amsSaleOrderMapper.getCapacityDetailByAsom(map);
+                if(capacityDetails!=null && capacityDetails.get("nowCapcaityId")!=null){
+                    //存在当前车号,判断是否存在取消或撤销取消
+                    String nowCapcaityId ="" + capacityDetails.get("nowCapcaityId");
+                    if(capacityId.equals("35128") && !capacityId.equals(nowCapcaityId)){
+                        //判断是否正常转取消:新车号为取消且不等于旧车号
+                        System.out.println("cancel");
+                    }else if(capacityDetails.get("oldCapacityIds")!=null){
+                        //存在旧车号,判断是否撤销取消:当前车号为取消,且最近的旧车号等于新车号
+                        String[] oldCapacityIds =("" + capacityDetails.get("oldCapacityIds")).split(",");
+                        String lastOldCapacity = oldCapacityIds[0];
+                        if(nowCapcaityId.equals("35128") && lastOldCapacity.equals(capacityId)){
+                            System.out.println("unCancel");
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return  null;
+    }
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -225,4 +225,6 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     BigDecimal getSaleOrderIdByASOM(BigDecimal saleOrderMaterialId);
 
+    Map<String,Object> getCapacityDetailByAsom( Map<String,Object> map);
+
 }

+ 26 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -947,6 +947,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             String capacityNumber = (String) map.get("capacityNumber");
             // 得到运力id
             BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            map.put("capacityId",capacityId);
             //Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
             //if(details!=null && details.get("orderId")!=null){
             //    if(details.get("isEn")==null){
@@ -3209,10 +3210,33 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     public int pushCarNumberToEas(Map<String, Object> map) throws Exception {
         // 调用EAS接口将车牌号传给金蝶
         List<Map<String,Object>> mapList = new ArrayList<>();
-
         mapList.add(map);
-
         Map<String,Object> input = joinFeign.findCarNumberByOrderList(mapList);
+        try{
+            //存在capacityId则判断是否取消或撤销取消
+            if(map.get("capacityId")!=null){
+                //新车号、当前车号、旧车号
+                String capacityId ="" + map.get("capacityId");
+                Map<String,Object>  capacityDetails=  amsSaleOrderMapper.getCapacityDetailByAsom(map);
+                if(capacityDetails!=null && capacityDetails.get("nowCapcaityId")!=null){
+                    //存在当前车号,判断是否存在取消或撤销取消
+                    String nowCapcaityId ="" + capacityDetails.get("nowCapcaityId");
+                    if(capacityId.equals("35128") && !capacityId.equals(nowCapcaityId)){
+                        //判断是否正常转取消:新车号为取消且不等于旧车号
+                        input.put("cancel",true);
+                    }else if(capacityDetails.get("oldCapacityIds")!=null){
+                        //存在旧车号,判断是否撤销取消:当前车号为取消,且最近的旧车号等于新车号
+                        String[] oldCapacityIds =("" + capacityDetails.get("oldCapacityIds")).split(",");
+                        String lastOldCapacity = oldCapacityIds[0];
+                        if(nowCapcaityId.equals("35128") && lastOldCapacity.equals(capacityId)){
+                            input.put("unCancel",true);
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
         Map<String,Object> totalMap = new HashMap<>();
         //正式
         totalMap.putAll(easCapacityTestUtil.getTotalMap());

+ 17 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -5017,5 +5017,22 @@
     SELECT SALE_ORDER_ID FROM AMS_SALE_ORDER_MATERIAL
     WHERE SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
+    <select id="getCapacityDetailByAsom" resultType="java.util.Map">
+      SELECT
+        OO .CAPACITY_ID "nowCapcaityId",
+        OO .CAPACITYIDS "oldCapacityIds"
+      FROM AMS_SALE_ORDER ASO
+             LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                       ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+             LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                       ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+             LEFT JOIN AMS_SALE_MATERIAL ASM
+                       ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+             LEFT JOIN OMSTRUCK_ORDER OO
+                       ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+      WHERE  aso.SALE_TYPE in (1,4)
+        and ASM.SALE_MATERIAL_ID IS NOT NULL
+        and ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </select>
 
 </mapper>