From f3774256f97528a1e23cea014a9816df263be8fe Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 23 九月 2024 14:41:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   76 +++++++++++++++++++++++++++++++-------
 1 files changed, 62 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 16c7d39..31a84af 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -9,6 +9,7 @@
 import com.core.common.R;
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
+import com.sun.org.apache.xpath.internal.operations.Or;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.InOutCountDto;
@@ -30,9 +31,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by vincent on 2022/4/9
@@ -408,8 +407,18 @@
     @Override
     @Transactional
     public void syncMat(MatSyncParam param) {
+
         if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <= 0) {
             throw new CoolException("鍟嗗搧鏁版嵁涓虹┖");
+        }
+
+        //鍒犻櫎瀛樿揣妗f
+        if(param.deleteFlag == 1){
+            for (MatSyncParam.MatParam matParam : param.getMatDetails()){
+                matService.deleteById(matParam.getMatnr());
+            }
+
+            return;
         }
 
         for (MatSyncParam.MatParam matParam : param.getMatDetails()) {
@@ -563,7 +572,6 @@
 
         List<OpenOrderPakoutParam> list = new ArrayList<>();
 
-
         for (Object o : jsonArray){
             JSONObject jsonObject = (JSONObject)o;
             String brand = jsonObject.get("brand").toString();
@@ -575,8 +583,9 @@
             //褰撶敓浜у崟鍙蜂笉涓�鑷存椂锛岄渶瑕佹柊寤轰竴涓猵aram
             if(list.size() == 0 || checkOrder(list,pla.getProOrderNo()) == null){
                 OpenOrderPakoutParam param = new OpenOrderPakoutParam();
-                String type = Cools.isEmpty(pla.getProOrderNo()) ? "璋冩嫧鍏ュ簱鍗�" : "鐢熶骇鍏ュ簱鍗�";
-                param.setcCode(pla.getProOrderNo());
+                param.setcMaker(json.get("user").toString());
+                String type = Cools.isEmpty(pla.getProOrderNo()) ? "璋冩嫧鍏ュ簱鍗�" : "浜ф垚鍝佸叆搴�";
+                param.setcCode(Cools.isEmpty(pla.getProOrderNo()) ? (new Date().getTime()) + "" : pla.getProOrderNo());
                 param.setcAccount(pla.getWorkshop());
                 param.setdDate(Utils.getDateStr(new Date()));
                 param.setType(type);
@@ -585,6 +594,7 @@
                 OpenOrderPakoutParam.Body body = new OpenOrderPakoutParam.Body();
                 body.setcInvCode(mat.getMatnr());
                 body.setiQuantity(pla.getWeightAnfme());
+                body.setcBatch("");
                 body.setCbMemo(pla.getMemo());
                 bodyList.add(body);
 
@@ -608,13 +618,46 @@
             }
         }
 
-        return doHttpRequest(list, "鍏ュ簱鍗曚笂鎶�", url, orderReportPath, null, "127.0.0.1");
+        for (OpenOrderPakoutParam param : list){
+            doHttpRequest(param, "鍏ュ簱鍗曚笂鎶�", url, orderReportPath, null, "127.0.0.1");
 
+        }
+
+        return 200;
+
+        //return doHttpRequest(list, "鍏ュ簱鍗曚笂鎶�", url, orderReportPath, null, "127.0.0.1");
+
+    }
+
+    @Override
+    public List<String> selectOrderInformation(Map<String, String> param) {
+        ArrayList<String> list = new ArrayList<>();
+        String name = param.get("name");
+        User user = userService.selectOne(new EntityWrapper<User>().eq("username", name));
+        if (Cools.isEmpty(user)){
+            return list;
+        }
+        List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("create_by", user.getId()));
+        if (Cools.isEmpty(orderList)){
+            return list;
+        }
+        for (Order order : orderList){
+            if (order.getSettle() ==1 || order.getSettle() ==2){
+                list.add(order.getOrderNo());
+            }
+        }
+
+        return list;
     }
 
     private OpenOrderPakoutParam checkOrder(List<OpenOrderPakoutParam> list, String orderNo){
 
         for (OpenOrderPakoutParam param : list){
+
+            if(Cools.eq("璋冩嫧鍏ュ簱鍗�",param.getType()) && Cools.isEmpty(orderNo)){
+                return param;
+            }
+
             //鍒ゆ柇鏄惁鍖呭惈閲嶅鐨勮鍗曞彿
             if(Cools.eq(param.getCCode(),orderNo)){
                 return param;
@@ -649,21 +692,26 @@
                     .setJson(JSONObject.toJSONString(requestParam))
                     .build()
                     .doPost();
-            JSONObject jsonObject = JSON.parseObject(response);
 
-            if(Cools.isEmpty(jsonObject.get("errCode"))){
-                throw new CoolException(jsonObject.get("Message").toString());
+            response = response.replace("\\", "");
+            response = response.substring(1,response.length()-1);
+
+            JSONObject jsonObject = JSON.parseObject(response);
+            JSONArray jsonArray = (JSONArray)jsonObject.get("");
+            JSONObject jsonResult = (JSONObject) jsonArray.get(0);
+            if(Cools.isEmpty(jsonResult.get("ErrorCode"))){
+                throw new CoolException(jsonResult.get("errorMsg").toString());
             }
 
-            int code = (int) jsonObject.get("errCode");
-            if(code != 0){
-                throw new CoolException(jsonObject.get("errMsg").toString());
+            int code = Integer.parseInt(jsonResult.get("ErrorCode").toString());
+            if(code != 1){
+                throw new CoolException(jsonResult.get("errorMsg").toString());
             }
             success = true;
             return code;
         }catch (Exception e){
             log.error(e.getMessage());
-            throw new CoolException("璋冪敤鎺ュ彛鍝嶅簲閿欒");
+            throw new CoolException(e.getMessage());
         }finally {
             apiLogService.save(
                     namespace,

--
Gitblit v1.9.1