|
@@ -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")) , "重试次数过多");
|
|
|
}
|
|
|
}
|
|
|
|