wzy 2 settimane fa
parent
commit
1c325cc2de

+ 7 - 3
mjava-jinlun/src/main/java/com/malk/jinlun/entity/SaleOrderEntry.java

@@ -45,9 +45,13 @@ public class SaleOrderEntry {
     private String F_NLD_Hk;//方形度Hk/Hcj
     private String F_VMKV_GXYQ;//公差要求
 
-    boolean FDeliveryControl;//控制发货数量
-    Double FDeliveryMaxQty;//发货上限
-    Double FDeliveryMinQty;//发货下限
+    private boolean FDeliveryControl;//控制发货数量
+    private double FDeliveryMaxQty;//发货上限
+    private double FDeliveryMinQty;//发货下限
+
+    private String F_WGR_Combo_qtr;//产品质量等级
+    private String F_NLD_khwl;//客户物料编码
+    private FNumber F_Sl_salexingnengid;//客户性能
 
     String F_Sl_Attachment;//订单图纸附件
 }

+ 6 - 0
mjava-jinlun/src/main/java/com/malk/jinlun/schedule/JinlunTask.java

@@ -50,4 +50,10 @@ public class JinlunTask {
         jinlunTaskService.syncSaleReturn();
     }
 
+    //定时同步性能
+    @Scheduled(cron = "0 5 0 * * ?")
+    public void syncXingneng(){
+        jinlunTaskService.syncXingneng();
+    }
+
 }

+ 1 - 0
mjava-jinlun/src/main/java/com/malk/jinlun/service/JinlunTaskService.java

@@ -11,4 +11,5 @@ public interface JinlunTaskService {
 
     void syncSaleReturn();
 
+    void syncXingneng();
 }

+ 6 - 2
mjava-jinlun/src/main/java/com/malk/jinlun/service/impl/JinlunServiceImpl.java

@@ -456,8 +456,9 @@ public class JinlunServiceImpl implements JinlunService {
             Double FDeliveryMaxQty = UtilMap.getDouble(saleDetail, "Number1763091294543");//发货上限
             Double FDeliveryMinQty = UtilMap.getDouble(saleDetail, "Number1763091312359");//发货下限
 
-
-
+            String cpzldj = UtilMap.getString(saleDetail, "Dropdown1763691625033");//产品质量等级
+            String khwlbm = UtilMap.getString(saleDetail, "ShortText1763691936661");//客户物料编码
+            FNumber khxn = new FNumber(UtilMap.getString(saleDetail, "ShortText1763691937321"));//客户性能
 
             SaleOrderEntry saleOrderEntry = new SaleOrderEntry();
             saleOrderEntry.setFMaterialId(FMaterialId);
@@ -483,6 +484,9 @@ public class JinlunServiceImpl implements JinlunService {
             saleOrderEntry.setFDeliveryControl(FDeliveryControl);
             saleOrderEntry.setFDeliveryMaxQty(FDeliveryMaxQty);
             saleOrderEntry.setFDeliveryMinQty(FDeliveryMinQty);
+            saleOrderEntry.setF_WGR_Combo_qtr(cpzldj);
+            saleOrderEntry.setF_NLD_khwl(khwlbm);
+            saleOrderEntry.setF_Sl_salexingnengid(khxn);
 
             //todo 订单图纸附件上传
             List<Map> attachments = UtilMap.getList(saleDetail, "Attachment1763102109764");

+ 71 - 2
mjava-jinlun/src/main/java/com/malk/jinlun/service/impl/JinlunTaskServiceImpl.java

@@ -122,7 +122,7 @@ public class JinlunTaskServiceImpl implements JinlunTaskService {
             int totalElements = UtilMap.getInt(bizObjectPage, "totalElements");
 
             if (totalElements > 0) {
-                //云枢更新销售出库单
+                //云枢更新物料
                 Map content = ((List<Map>) UtilMap.getList(bizObjectPage, "content")).get(0);
 
                 String bizObjectId = UtilMap.getString(content,"bizObjectId");//主表实例id
@@ -131,7 +131,7 @@ public class JinlunTaskServiceImpl implements JinlunTaskService {
 
                 Map result3 = cpClient.updateCpBo(schemaCode, data,null);
             }else {
-                //云枢新增销售出库单
+                //云枢新增物料
                 Map result3 = cpClient.createCpBo(schemaCode, data,null);
             }
         }
@@ -701,6 +701,75 @@ public class JinlunTaskServiceImpl implements JinlunTaskService {
         }
     }
 
+    @Override
+    public void syncXingneng() {
+        log.info("开始同步性能数据");
+        K3CloudApi client = new K3CloudApi(initIden());
+
+        List<Map> result = new ArrayList<>();
+        List<Map> materialList = new ArrayList<>();
+
+        int startRow = 0;
+        int limit = 2000;
+
+        BillQuery billQuery = new BillQuery();
+        billQuery.setFormId("Sl_xingneng");
+        billQuery.setFieldKeys("FNumber,FName,Fmiduqty");
+        List<Map> filterString = new ArrayList<>();
+
+        //修改日期为昨天至今天 数据状态等于已审核
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FModifyDate","265",1,"","","0"));//修改日期在今天之前N天以后
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FDocumentStatus","105","C","","","0"));//数据状态等于XX
+
+        billQuery.setFilterString(filterString);
+        billQuery.setLimit(limit);
+
+        do {
+            billQuery.setStartRow(startRow);
+            String s = null;
+
+            try {
+                s = client.billQuery(JSONObject.toJSONString(billQuery));
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+            result = (List<Map>)JSONObject.parse(s);
+            materialList.addAll(result);
+
+            startRow += limit;
+        }while (result.size() == limit);
+
+        for (Map map : materialList) {
+            Map data = new HashMap();
+            data.put("ShortText1763692732585",UtilMap.getString(map,"FName"));//名称
+            data.put("ShortText1763692732107",UtilMap.getString(map,"FNumber"));//性能
+            data.put("Number1763692741479",UtilMap.getDouble(map,"Fmiduqty"));//性能
+
+            String schemaCode = "XN";
+
+            //查询是否存在
+            Map result2 = cpClient.getCpBoList(schemaCode, UtilMap.map("queryFilterType, propertyCode, propertyValue", "Eq", "ShortText1763692732107", UtilMap.getString(map,"FNumber")), 0, 1, null);
+
+            Map bizObjectPage = UtilMap.getMap(UtilMap.getMap(result2, "data"),"bizObjectPage");
+
+            int totalElements = UtilMap.getInt(bizObjectPage, "totalElements");
+
+            if (totalElements > 0) {
+                //云枢更新性能
+                Map content = ((List<Map>) UtilMap.getList(bizObjectPage, "content")).get(0);
+
+                String bizObjectId = UtilMap.getString(content,"bizObjectId");//主表实例id
+
+                data.put("id",bizObjectId);
+
+                Map result3 = cpClient.updateCpBo(schemaCode, data,null);
+            }else {
+                //云枢新增性能
+                Map result3 = cpClient.createCpBo(schemaCode, data,null);
+            }
+        }
+    }
+
     private IdentifyInfo initIden(){
         //注意 1:此处不再使用参数形式传入用户名及密码等敏感信息,改为在登录配置文件中设置。
         //注意 2:必须先配置第三方系统登录授权信息后,再进行业务操作,详情参考各语言版本SDK介绍中的登录配置文件说明。

+ 1 - 1
mjava-jinlun/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: prod
   servlet:
     multipart:
       max-file-size: 100MB

+ 5 - 0
mjava-jinlun/src/test/java/com/malk/jinlun/DdTest.java

@@ -325,6 +325,11 @@ public class DdTest {
 
     }
 
+    @Test
+    public void test12() {
+        jinlunTaskService.syncXingneng();
+    }
+
     private IdentifyInfo initIden(){
         //注意 1:此处不再使用参数形式传入用户名及密码等敏感信息,改为在登录配置文件中设置。
         //注意 2:必须先配置第三方系统登录授权信息后,再进行业务操作,详情参考各语言版本SDK介绍中的登录配置文件说明。