Quellcode durchsuchen

卡倍亿同步出库单

wzy vor 5 Monaten
Ursprung
Commit
a384a0ba0f

+ 77 - 62
mjava-kabeiyi/src/main/java/com/malk/kabeiyi/service/impl/KabeiyiServiceImpl.java

@@ -603,11 +603,11 @@ public class KabeiyiServiceImpl implements KabeiyiService {
         DateTime beginOfMonth = DateUtil.beginOfMonth(DateUtil.lastMonth());
         String beginOfMonthString = beginOfMonth.toString("yyyy-MM-dd");
 
-/*        String beginOfMonthString = "2024-10-09";
+        /*String beginOfMonthString = "2024-12-22";
 
-        String yesterday = "2024-10-09";*/
+        String yesterday = "2024-12-22";*/
         for (Integer dsSequence : factory.keySet()) {
-            /*if (dsSequence != 5){
+            /*if (dsSequence != 8){
                 continue;
             }*/
             List<String> errorCodes = new ArrayList<>();
@@ -623,23 +623,23 @@ public class KabeiyiServiceImpl implements KabeiyiService {
             param.put("date_begin", beginOfMonthString);
             param.put("date_end", yesterday);
 
-            Map<String, Object> map = get("https://api.yonyouup.com/api/consignmentlist/batch_get", param, null);
+            Map<String, Object> map = get("https://api.yonyouup.com/api/saleoutlist/batch_get", param, null);
             if (!getString(map.get("errcode")).equals("0")){
-                log.error("获取发货单列表失败:{}",map.get("errmsg"));
+                log.error("获取销售出库单列表失败:{}",map.get("errmsg"));
                 continue;
             }
             if (!map.get("page_count").equals("1")){
                 Integer rowCount = Integer.valueOf(map.get("row_count").toString());
                 param.put("rows_per_page",rowCount);
-                map = get("https://api.yonyouup.com/api/consignmentlist/batch_get", param, null);
+                map = get("https://api.yonyouup.com/api/saleoutlist/batch_get", param, null);
             }
-            List<Map> consignmentList = (List<Map>) map.get("consignmentlist");
+            List<Map> saleoutList = (List<Map>) map.get("saleoutlist");
 
-            for (Map consignment : consignmentList) {
-                //查询单个发货单详情
-                String id = getString(consignment.get("code"));
+            for (Map saleout : saleoutList) {
+                //查询单个出库单详情
+                String id = getString(saleout.get("code"));
 
-                /*if (!id.equals("南通9月份")){
+                /*if (!id.equals("0000008087")){
                     continue;
                 }*/
 
@@ -657,10 +657,10 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                 boolean flag1 = false;
                 while (i1<=5 && !flag1) {
                     try {
-                        map2 = get("https://api.yonyouup.com/api/consignment/get", param2, null);
+                        map2 = get("https://api.yonyouup.com/api/saleout/get", param2, null);
                         flag1 = true;
                     } catch (Exception e) {
-                        log.error("获取发货单详情失败:{}, 重试次数:{}",e.getMessage(),i1);
+                        log.error("获取出库单详情失败:{}, 重试次数:{}",e.getMessage(),i1);
                         try {
                             Thread.sleep(3000);
                         } catch (InterruptedException ex) {
@@ -670,36 +670,36 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                     }
                 }
                 if (i1 > 5){
-                    log.error("获取发货单详情失败");
+                    log.error("获取出库单详情失败");
                     errorCodes.add(id);
                     continue;
                 }
 
 
-                Map consignment2 = (Map) map2.get("consignment");
+                Map saleout2 = (Map) map2.get("saleout");
 
                 Map formData = new HashMap();
                 //若为内部交易客户,则不同步
-                String cusCode = getString(consignment2.get("custcode"));
+                String cusCode = getString(saleout2.get("customercode"));
                 if (cusCodes.contains(cusCode)){
                     continue;
                 }
-
-                formData.put("textField_m18nvp7y",getString(consignment2.get("cusname")));//客户名称
-                formData.put("textField_m219zpzf",getString(consignment2.get("cusabbname")));//客户码
-                formData.put("textField_m18qfuiz",getString(consignment2.get("operation_type")));//操作类型
-                formData.put("textField_m18qfuj0",getString(consignment2.get("saletypename")));//销售类型
-                formData.put("textField_m18nvp87",getString(consignment2.get("code")));//发货单code
-                formData.put("dateField_m18nvp7x",DateUtil.parseDate(getString(consignment.get("date"))).getTime());//发货日期
-                formData.put("textField_m18nvp7z",getString(consignment2.get("deptname")));//部门
-                formData.put("textField_m18nvp81",getString(consignment2.get("maker")));//生产员
-                formData.put("textField_m18nvp80",getString(consignment2.get("verifier")));//质检员
-                formData.put("numberField_m18wkih7",dsSequence);//数据源序号
+                formData.put("textField_m18nvp87",getString(saleout2.get("code")));//出库单号
+                formData.put("textField_m18qfuj0",getString(saleout2.get("saletypename")));//销售类型
+                formData.put("textField_m18nvp8c",getString(saleout2.get("businesscode")));//业务单号
+                formData.put("textField_m5nnwiv1", getString(saleout2.get("warehousename")));//仓库名称
+                formData.put("dateField_m18nvp7x",DateUtil.parseDate(getString(saleout2.get("date"))).getTime());//单据日期
+                formData.put("dateField_m5nnwiuw",Objects.nonNull(saleout2.get("auditdate")) ?  DateUtil.parseDate(getString(saleout2.get("auditdate"))).getTime() : null);//审核日期
+                formData.put("textField_m18nvp7y",getString(saleout2.get("customername")));//客户名称
+                formData.put("textField_m18nvp7z",getString(saleout2.get("departmentname")));//部门
                 formData.put("textField_m1er3scl",factory.get(dsSequence));//工厂名称
+                formData.put("textField_m18nvp81",getString(saleout2.get("maker")));//制单人
+                formData.put("textField_m18nvp80",getString(saleout2.get("handler")));//审核人
+                formData.put("textareaField_m5nnwiur",getString(saleout2.get("memory")));//备注
 
-                List<Map> entry = (List<Map>) consignment2.get("entry");
-
+                formData.put("numberField_m18wkih7",dsSequence);//数据源序号
 
+                List<Map> entry = (List<Map>) saleout2.get("entry");
 
                 //collect拆分成五个list  每个list长度为500
                 List<List<Map>> collectList = new ArrayList<>();
@@ -708,27 +708,38 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                 }
 
                 if (collectList.size() > 5){
-                    log.error("发货单:{} 发货明细超过2500个, 请检查",id);
-                    errorCodes.add(id + "发货明细超过2500");
+                    log.error("出库单:{} 出库明细超过2500个, 请检查",id);
+                    errorCodes.add(id + "出库明细超过2500");
                 }
 
-                //发货明细
+                //出库明细
                 List list1 = collectList.get(0).stream().map(item -> {
+                    if (Objects.isNull(formData.get("textField_m219zpzf"))){
+                        formData.put("textField_m219zpzf",getString(item.get("free1")));//客户码  出库主表没有客户码,取明细的客户码
+                    }
+                    if (Objects.isNull(formData.get("textField_m5nnwiv7"))){
+                        formData.put("textField_m5nnwiv7",getString(item.get("ordercode")));//销售订单号
+                    }
+
                     Map detail = new HashMap();
-                    detail.put("textField_m18nvp8c", getString(item.get("socode")));//销售订单号
-                    detail.put("textField_m18nvp8d", getString(item.get("warehouse_name")));//仓库名称
                     detail.put("textField_m22mkwzk", getString(item.get("define29")));//客户存货码
-                    detail.put("textField_m18nvp8e", getString(item.get("inventory_name")));//存货名称
+                    detail.put("textField_m5qdxf7r", getString(item.get("inventorycode")));//存货编码
+//                    detail.put("textField_m18nvp8e", inventory_name);//存货名称
+
                     detail.put("textField_m21b1bhg", getString(item.get("free2")));//产品颜色
-                    detail.put("textField_m18nvp8f", getString(item.get("cinvm_unit")));//单位
+                    detail.put("textField_m18nvp8f", getString(item.get("cmassunitname")));//单位
                     detail.put("numberField_m18nvp8h", getString(item.get("quantity")));//发货数量
-                    detail.put("numberField_m18nvp8j", getString(item.get("price")));//未税单价
+                    detail.put("textField_m5oztcmx", getString(item.get("define25")));//包装方式
+                    detail.put("textField_m5oztcmy", getString(item.get("define30")));//工艺号
+                    detail.put("textareaField_m5oztcmz", getString(item.get("define31")));//备注
+
+
+                    /*detail.put("numberField_m18nvp8j", getString(item.get("price")));//未税单价
                     detail.put("numberField_m18nvp8l", getString(item.get("money")));//未税总价
                     detail.put("numberField_m18nvp8k", getString(item.get("taxprice")));//含税单价
                     detail.put("numberField_m18nvp8m", getString(item.get("sum")));//含税总价
                     detail.put("numberField_m18nvp8n", getString(item.get("taxrate")));//税率
-                    detail.put("numberField_m18nvp8o", getString(item.get("tax")));//总税价
-                    detail.put("textField_m219zpzg", getString(item.get("free1")));//发货客户码
+                    detail.put("numberField_m18nvp8o", getString(item.get("tax")));//总税价*/
 
                     return detail;
                 }).collect(Collectors.toList());
@@ -737,20 +748,21 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                 if (collectList.size() > 1){
                     list2 = collectList.get(1).stream().map(item -> {
                         Map detail = new HashMap();
-                        detail.put("textField_m2j0wj8m", getString(item.get("socode")));//销售订单号
-                        detail.put("textField_m2j0wj8n", getString(item.get("warehouse_name")));//仓库名称
                         detail.put("textField_m2j0wj8o", getString(item.get("define29")));//客户存货码
                         detail.put("textField_m2j0wj8p", getString(item.get("inventory_name")));//存货名称
                         detail.put("textField_m2j0wj8q", getString(item.get("free2")));//产品颜色
                         detail.put("textField_m2j0wj8r", getString(item.get("cinvm_unit")));//单位
                         detail.put("numberField_m2j0wj8s", getString(item.get("quantity")));//发货数量
-                        detail.put("numberField_m2j0wj8t", getString(item.get("price")));//未税单价
+                        detail.put("textField_m5oztcn3", getString(item.get("define25")));//包装方式
+                        detail.put("textField_m5oztcn2", getString(item.get("define30")));//工艺号
+                        detail.put("textareaField_m5oztcng", getString(item.get("define31")));//备注
+
+                        /*detail.put("numberField_m2j0wj8t", getString(item.get("price")));//未税单价
                         detail.put("numberField_m2j0wj8u", getString(item.get("money")));//未税总价
                         detail.put("numberField_m2j0wj8v", getString(item.get("taxprice")));//含税单价
                         detail.put("numberField_m2j0wj8w", getString(item.get("sum")));//含税总价
                         detail.put("numberField_m2j0wj8x", getString(item.get("taxrate")));//税率
-                        detail.put("numberField_m2j0wj8y", getString(item.get("tax")));//总税价
-                        detail.put("textField_m2j0wj8z", getString(item.get("free1")));//发货客户码
+                        detail.put("numberField_m2j0wj8y", getString(item.get("tax")));//总税价*/
 
                         return detail;
                     }).collect(Collectors.toList());
@@ -759,20 +771,21 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                 if (collectList.size() > 2){
                     list3 = collectList.get(2).stream().map(item -> {
                         Map detail = new HashMap();
-                        detail.put("textField_m2j0wj91", getString(item.get("socode")));//销售订单号
-                        detail.put("textField_m2j0wj92", getString(item.get("warehouse_name")));//仓库名称
                         detail.put("textField_m2j0wj93", getString(item.get("define29")));//客户存货码
                         detail.put("textField_m2j0wj94", getString(item.get("inventory_name")));//存货名称
                         detail.put("textField_m2j0wj95", getString(item.get("free2")));//产品颜色
                         detail.put("textField_m2j0wj96", getString(item.get("cinvm_unit")));//单位
                         detail.put("numberField_m2j0wj97", getString(item.get("quantity")));//发货数量
-                        detail.put("numberField_m2j0wj98", getString(item.get("price")));//未税单价
+                        detail.put("textField_m5oztcn7", getString(item.get("define25")));//包装方式
+                        detail.put("textField_m5oztcn6", getString(item.get("define30")));//工艺号
+                        detail.put("textareaField_m5oztcni", getString(item.get("define31")));//备注
+
+                        /*detail.put("numberField_m2j0wj98", getString(item.get("price")));//未税单价
                         detail.put("numberField_m2j0wj99", getString(item.get("money")));//未税总价
                         detail.put("numberField_m2j0wj9a", getString(item.get("taxprice")));//含税单价
                         detail.put("numberField_m2j0wj9b", getString(item.get("sum")));//含税总价
                         detail.put("numberField_m2j0wj9c", getString(item.get("taxrate")));//税率
-                        detail.put("numberField_m2j0wj9d", getString(item.get("tax")));//总税价
-                        detail.put("textField_m2j0wj9e", getString(item.get("free1")));//发货客户码
+                        detail.put("numberField_m2j0wj9d", getString(item.get("tax")));//总税价*/
 
                         return detail;
                     }).collect(Collectors.toList());
@@ -782,20 +795,21 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                 if (collectList.size() > 3){
                     list4 = collectList.get(3).stream().map(item -> {
                         Map detail = new HashMap();
-                        detail.put("textField_m4cfhc6y", getString(item.get("socode")));//销售订单号
-                        detail.put("textField_m4cfhc6z", getString(item.get("warehouse_name")));//仓库名称
                         detail.put("textField_m4cfhc70", getString(item.get("define29")));//客户存货码
                         detail.put("textField_m4cfhc71", getString(item.get("inventory_name")));//存货名称
                         detail.put("textField_m4cfhc72", getString(item.get("free2")));//产品颜色
                         detail.put("textField_m4cfhc73", getString(item.get("cinvm_unit")));//单位
                         detail.put("numberField_m4cfhc74", getString(item.get("quantity")));//发货数量
-                        detail.put("numberField_m4cfhc75", getString(item.get("price")));//未税单价
+                        detail.put("textField_m5oztcnb", getString(item.get("define25")));//包装方式
+                        detail.put("textField_m5oztcna", getString(item.get("define30")));//工艺号
+                        detail.put("textareaField_m5oztcnk", getString(item.get("define31")));//备注
+
+                        /*detail.put("numberField_m4cfhc75", getString(item.get("price")));//未税单价
                         detail.put("numberField_m4cfhc76", getString(item.get("money")));//未税总价
                         detail.put("numberField_m4cfhc77", getString(item.get("taxprice")));//含税单价
                         detail.put("numberField_m4cfhc78", getString(item.get("sum")));//含税总价
                         detail.put("numberField_m4cfhc79", getString(item.get("taxrate")));//税率
-                        detail.put("numberField_m4cfhc7a", getString(item.get("tax")));//总税价
-                        detail.put("textField_m4cfhc7b", getString(item.get("free1")));//发货客户码
+                        detail.put("numberField_m4cfhc7a", getString(item.get("tax")));//总税价*/
 
                         return detail;
                     }).collect(Collectors.toList());
@@ -805,20 +819,21 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                 if (collectList.size() > 4){
                     list5 = collectList.get(4).stream().map(item -> {
                         Map detail = new HashMap();
-                        detail.put("textField_m4cfhc7d", getString(item.get("socode")));//销售订单号
-                        detail.put("textField_m4cfhc7e", getString(item.get("warehouse_name")));//仓库名称
                         detail.put("textField_m4cfhc7f", getString(item.get("define29")));//客户存货码
                         detail.put("textField_m4cfhc7g", getString(item.get("inventory_name")));//存货名称
                         detail.put("textField_m4cfhc7h", getString(item.get("free2")));//产品颜色
                         detail.put("textField_m4cfhc7i", getString(item.get("cinvm_unit")));//单位
                         detail.put("numberField_m4cfhc7j", getString(item.get("quantity")));//发货数量
-                        detail.put("numberField_m4cfhc7k", getString(item.get("price")));//未税单价
+                        detail.put("textField_m5oztcnf", getString(item.get("define25")));//包装方式
+                        detail.put("textField_m5oztcne", getString(item.get("define30")));//工艺号
+                        detail.put("textareaField_m5oztcnm", getString(item.get("define31")));//备注
+
+                        /*detail.put("numberField_m4cfhc7k", getString(item.get("price")));//未税单价
                         detail.put("numberField_m4cfhc7l", getString(item.get("money")));//未税总价
                         detail.put("numberField_m4cfhc7m", getString(item.get("taxprice")));//含税单价
                         detail.put("numberField_m4cfhc7n", getString(item.get("sum")));//含税总价
                         detail.put("numberField_m4cfhc7o", getString(item.get("taxrate")));//税率
-                        detail.put("numberField_m4cfhc7p", getString(item.get("tax")));//总税价
-                        detail.put("textField_m4cfhc7q", getString(item.get("free1")));//发货客户码
+                        detail.put("numberField_m4cfhc7p", getString(item.get("tax")));//总税价*/
 
                         return detail;
                     }).collect(Collectors.toList());
@@ -832,7 +847,7 @@ public class KabeiyiServiceImpl implements KabeiyiService {
 
                 //精准匹配
                 List<Map> jsonString = new ArrayList<>();
-                jsonString.add(UtilMap.map("key, value, type, operator, componentName", "textField_m18nvp87",getString(consignment2.get("code")),"TEXT","eq","TextField"));
+                jsonString.add(UtilMap.map("key, value, type, operator, componentName", "textField_m18nvp87",getString(saleout2.get("code")),"TEXT","eq","TextField"));
                 jsonString.add(UtilMap.map("key, value, type, operator, componentName", "numberField_m18wkih7",new int[]{dsSequence,dsSequence},"DOUBLE","between","NumberField"));
 
                 String searchCondition = JSONObject.toJSONString(jsonString);
@@ -862,14 +877,14 @@ public class KabeiyiServiceImpl implements KabeiyiService {
                             flag = true;
                         }
                     }catch (Exception e){
-                        log.error("发货单:{} 同步失败 失败原因:{}",getString(consignment2.get("code")) , e.getMessage());
+                        log.error("发货单:{} 同步失败 失败原因:{}",getString(saleout2.get("code")) , e.getMessage());
                         errorCodes.add(id);
                         flag = true;
                     }
                 }
                 if (i>5){
                     errorCodes.add(id);
-                    log.error("发货单:{} 同步失败 失败原因:{}",getString(consignment2.get("code")) , "重试次数过多");
+                    log.error("发货单:{} 同步失败 失败原因:{}",getString(saleout2.get("code")) , "重试次数过多");
                 }
             }