소스 검색

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API

luobang 1 년 전
부모
커밋
12869345aa

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

@@ -1177,6 +1177,7 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
                 head.put("reason", reason);
                 Map<String, Object> input = new HashMap<>();
                 input.put("head", head);
+                input.put("cancel",true);
                 Map<String, Object> totalMap = easUtil.getTotalMap();
                 totalMap.put("input", input);
                 String json = JSONUtils.toJSONString(totalMap);
@@ -1194,8 +1195,23 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
                 //Map<String,Object> outMap = (Map<String,Object>) resultMap.get("output");
                 //JSONObject jsonObject = new JSONObject(outMap);
                 //System.out.println(jsonObject);
-
             }
+            //发送给计量
+            Map<String, Object> cancelOrderMap = new HashMap<>();
+            if(mapValue.get("capacityNo")!=null){
+                cancelOrderMap.put("orderID",mapValue.get("capacityNo"));
+            }else{
+                cancelOrderMap.put("orderID","空白");
+            }
+            cancelOrderMap.put("changeStatus",1);
+            cancelOrderMap.put("content","取消");
+            System.out.println("联动计量取消:" + mapValue.get("capacityNo"));
+            String url = "http://172.16.33.122:44325/api/logistics/CancleOrdersBill";
+            JSONObject cancelOrderJson = new JSONObject(cancelOrderMap);
+            System.out.println("联动计量撤销取消报文:" + cancelOrderJson);
+            String sendUrl = url ;
+            String jsonData =  HTTPRequestUtils.send(sendUrl, cancelOrderJson,"utf-8");
+            System.out.println("联动计量撤销取消响应:" + jsonData);
         }
         return success(result);
     }

+ 97 - 28
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -2761,6 +2762,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 // 设置状态:unClose,反关闭;close,关闭
                 head.put("status",status);
                 input.put("head",head);
+                input.put("unCancel",true);
                 Map<String, Object> totalMap = easUtil.getTotalMap();
                 input.put("head",head);
                 totalMap.put("input",input);
@@ -2775,6 +2777,27 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
                 System.out.println(resultMap);
             }
+            try {
+                //发送给计量
+                Map<String, Object> cancelOrderMap = new HashMap<>();
+                if(map.get("capacityNo")!=null){
+                    cancelOrderMap.put("orderID",map.get("capacityNo"));
+                }else{
+                    cancelOrderMap.put("orderID","空白");
+                }
+                cancelOrderMap.put("changeStatus",2);
+                cancelOrderMap.put("content",map.get("capacityNo"));
+                System.out.println("联动计量撤销取消:" + map.get("capacityNo"));
+                String url = "http://172.16.33.122:44325/api/logistics/CancleOrdersBill";
+                JSONObject cancelOrderJson = new JSONObject(cancelOrderMap);
+                System.out.println("联动计量撤销取消报文:" + cancelOrderJson);
+                String sendUrl = url ;
+                String jsonData = null;
+                jsonData = HTTPRequestUtils.send(sendUrl, cancelOrderJson,"utf-8");
+                System.out.println("联动计量撤销取消响应:" + jsonData);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
             return 0;
 
         }
@@ -3327,41 +3350,87 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      */
     @Override
     public int batchPushCarNumberToEas(List<Map<String, Object>> mapList) throws Exception {
-            Map<String, Object> input = joinFeign.findCarNumberByOrderList(mapList);
-            Map<String, Object> totalMap = new HashMap<>();
-            totalMap.putAll(easCapacityTestUtil.getTotalMap());
-            totalMap.put("input", input);
-            Map<String, Object> s = joinFeign.pushCarNumberToEas(totalMap);
-            System.out.println(totalMap);
-            String json = JSONUtils.toJSONString(totalMap);
-            System.out.println(json);
-            totalMap.put("output", s);
-            System.out.println(totalMap);
+        Map<String, Object> input = joinFeign.findCarNumberByOrderList(mapList);
+        Map<String, Object> totalMap = new HashMap<>();
+        totalMap.putAll(easCapacityTestUtil.getTotalMap());
+        totalMap.put("input", input);
+        Map<String, Object> s = joinFeign.pushCarNumberToEas(totalMap);
+        System.out.println(totalMap);
+        String json = JSONUtils.toJSONString(totalMap);
+        System.out.println(json);
+        totalMap.put("output", s);
+        System.out.println(totalMap);
+        try {
+            newFileTool.newFile("pushCarNumberToEas:" + totalMap, "金蝶通讯报文");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (s == null || s.size() == 0) {
+            throw new Exception("登录金蝶失败!请重试派车!");
+        } else {
             try {
-                newFileTool.newFile("pushCarNumberToEas:" + totalMap, "金蝶通讯报文");
+                JSONObject result = new JSONObject(s);
+                //如果status不为1,抛出异常
+                if (!result.getJSONObject("res").getString("status").equals("1")) {
+                    throw new Exception("上传金蝶失败!请重试派车:" + result.getJSONObject("requestException").getString("message"));
+                }
             } catch (Exception e) {
                 e.printStackTrace();
+                //只抛出自定义异常
+                if (e.getMessage().contains("Exception")) {
+                    throw new Exception("上传金蝶失败!请重试派车!");
+                } else {
+                    throw new Exception(e.getMessage());
+                }
+
             }
-            if (s == null || s.size() == 0) {
-                throw new Exception("登录金蝶失败!请重试派车!");
-            } else {
-                try {
-                    JSONObject result = new JSONObject(s);
-                    //如果status不为1,抛出异常
-                    if (!result.getJSONObject("res").getString("status").equals("1")) {
-                        throw new Exception("上传金蝶失败!请重试派车:" + result.getJSONObject("requestException").getString("message"));
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    //只抛出自定义异常
-                    if (e.getMessage().contains("Exception")) {
-                        throw new Exception("上传金蝶失败!请重试派车!");
-                    } else {
-                        throw new Exception(e.getMessage());
-                    }
 
+        }
+
+        try{
+            //存在capacityId则判断是否取消或撤销取消
+            for(Map<String, Object> map : mapList){
+                if(map.get("capacityId")!=null){
+                    //新车号、当前车号、旧车号
+                    String capacityId ="" + map.get("capacityId");
+                    Map<String,Object>  capacityDetails=  amsSaleOrderMapper.getCapacityDetailByAsom(mapList.get(0));
+                    Map<String, Object> cancelOrderMap = new HashMap<>();
+                    cancelOrderMap.put("orderID",capacityDetails.get("orderNumber"));
+                    if(capacityDetails!=null && capacityDetails.get("nowCapcaityId")!=null){
+                        //存在当前车号,判断是否存在取消或撤销取消
+                        String nowCapcaityId ="" + capacityDetails.get("nowCapcaityId");
+                        if(capacityId.equals("35128") && !capacityId.equals(nowCapcaityId)){
+                            //判断是否正常转取消:新车号为取消且不等于旧车号
+//                            input.put("cancel",true);
+                            cancelOrderMap.put("changeStatus",1);
+                            cancelOrderMap.put("content","取消");
+                            System.out.println("联动计量取消:" + map.get("oldCapacityNumber"));
+                        }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);
+                                cancelOrderMap.put("changeStatus",2);
+                                cancelOrderMap.put("content",map.get("capacityNo"));
+                                System.out.println("联动计量撤销取消:" + map.get("oldCapacityNumber"));
+                            }
+                        }
+                        //发送给计量
+                        if(cancelOrderMap.get("changeStatus")!=null ){
+                            String url = "http://172.16.33.122:44325/api/logistics/CancleOrdersBill";
+                            JSONObject cancelOrderJson = new JSONObject(cancelOrderMap);
+                            System.out.println("联动计量撤销取消报文:" + cancelOrderJson);
+                            String sendUrl = url ;
+                            String jsonData =  HTTPRequestUtils.send(sendUrl, cancelOrderJson,"utf-8");
+                            System.out.println("联动计量撤销取消响应:" + jsonData);
+                        }
+                    }
                 }
 
+            }
+            }catch (Exception e){
+            e.printStackTrace();
         }
         return 1;
     }