Selaa lähdekoodia

逸曜更新交付日报最终用户文本

wzy 3 viikkoa sitten
vanhempi
commit
2eba4113e4

+ 2 - 0
mjava-yiyao/src/main/java/com/malk/yiyao/service/YiyaoService.java

@@ -22,5 +22,7 @@ public interface YiyaoService {
 
     McR updateYiyao9();
 
+    McR updateYiyao10();
+
     void getCheckInData(JSONObject eventJson);
 }

+ 116 - 0
mjava-yiyao/src/main/java/com/malk/yiyao/service/impl/YiyaoServiceImpl.java

@@ -1472,6 +1472,122 @@ public class YiyaoServiceImpl implements YiyaoService {
         return McR.success();
     }
 
+    //更新交付项目日报最终用户文本
+    @Override
+    public McR updateYiyao10() {
+        List<Map> a = new ArrayList<>();
+        Map map = new HashMap();
+        map.put("key","createTime");
+        map.put("value","1751299200000");
+        map.put("type","DOUBLE");
+        map.put("operator","gt");
+        map.put("componentName","DateField");
+        a.add(map);
+
+//        long beginTime = System.currentTimeMillis();
+
+        //查询所有日报档案
+//        List<Map> dataList = getYdDataList("FORM-F772E0DBE98340F690C2412B0A168EB4AG9H", JSONObject.toJSONString(a), YDConf.FORM_QUERY.retrieve_list_all);
+//        List<Map> dataList = getYdDataList("FORM-F772E0DBE98340F690C2412B0A168EB4AG9H", "", YDConf.FORM_QUERY.retrieve_list_all);
+
+        DDR_New ddrNew2 = new DDR_New();
+        int pageNumber = 1;
+        int pageSize = 100;
+        do {
+            ddrNew2 = ydClient.queryData(YDParam.builder().formUuid("FORM-F772E0DBE98340F690C2412B0A168EB4AG9H")
+                    .pageNumber(pageNumber)
+                    .pageSize(pageSize)
+                    .searchCondition(JSONObject.toJSONString(a))
+                    .build(), YDConf.FORM_QUERY.retrieve_list_all);
+
+            List<Map> dataList = (List<Map>) ddrNew2.getData();
+
+            int i = (pageNumber - 1) * pageSize + 1;
+
+            for (Map data : dataList) {
+                Map formData = (Map) data.get("formData");
+                String formInstId = data.get("formInstanceId").toString();
+
+                Map updateFormData = new HashMap();
+
+                //质保期、过保期等已交付无维保合同客户
+                List<Map> list2 = UtilMap.getList(formData, "tableField_lz0mdudy");
+                //维保内容
+                List<Map> list3 = UtilMap.getList(formData, "tableField_ltnynz04");
+
+                boolean flag1 = false;
+                boolean flag2 = false;
+
+                for (Map map1 : list2) {
+                    //移除其他键防止数据被重置
+                    map1.keySet().removeIf(key -> !key.equals("associationFormField_lxwns03h_id"));
+
+                    if (Objects.nonNull(map1.get("associationFormField_lxwns03h_id"))){
+                        String jsonString = map1.get("associationFormField_lxwns03h_id").toString();
+                        String jsonString2 = StringEscapeUtils.unescapeJava(jsonString.substring(1, jsonString.length() - 1));
+                        List<Map> customer =(List<Map>) JSONArray.parse(jsonString2);
+
+                        if (!customer.isEmpty()){
+                            map1.put("selectField_lz0mdudz",customer.get(0).get("title").toString());
+                            flag1 = true;
+                        }
+                    }
+                }
+                if (flag1){
+                    updateFormData.put("tableField_lz0mdudy",list2);
+                }
+
+
+                for (Map map1 : list3) {
+                    //移除其他键防止数据被重置
+                    map1.keySet().removeIf(key -> !key.equals("associationFormField_m9v6h9fj_id"));
+
+                    if (Objects.nonNull(map1.get("associationFormField_m9v6h9fj_id"))){
+                        String jsonString = map1.get("associationFormField_m9v6h9fj_id").toString();
+                        String jsonString2 = StringEscapeUtils.unescapeJava(jsonString.substring(1, jsonString.length() - 1));
+                        List<Map> customer =(List<Map>) JSONArray.parse(jsonString2);
+
+                        if (!customer.isEmpty()){
+                            map1.put("selectField_lyz73etd",customer.get(0).get("title").toString());
+                            flag2 = true;
+                        }
+                    }
+
+                }
+                if (flag2){
+                    updateFormData.put("tableField_ltnynz04",list3);
+                }
+
+
+                if (!updateFormData.keySet().isEmpty()){
+                    ydClient.operateData(YDParam.builder()
+                            .formInstId(formInstId)
+                            .updateFormDataJson(JSONObject.toJSONString(updateFormData))
+                            .useLatestVersion(true)
+                            .build(), YDConf.FORM_OPERATION.update);
+
+                    log.info("第{}条更新完成,实例id:{}",i,formInstId);
+                }else {
+                    log.info("第{}条无需更新,实例id:{}",i,formInstId);
+                }
+
+                i++;
+            }
+
+
+
+            pageNumber++;
+        }while (ddrNew2.getTotalCount() > ddrNew2.getPageNumber() * pageSize);
+
+        /*long endTime = System.currentTimeMillis();
+        double time = (endTime - beginTime) / 1000.0;
+
+        log.info("查询所有数据耗时:{}秒", time);*/
+
+
+        return McR.success();
+    }
+
     @Override
     public void getCheckInData(JSONObject eventJson) {
         String timeStamp = eventJson.getString("timeStamp");//签到时间戳

+ 5 - 0
mjava-yiyao/src/test/java/com/malk/yiyao/YiyaoTest.java

@@ -61,4 +61,9 @@ public class YiyaoTest {
         yiyaoService.updateYiyao9();
     }
 
+    @Test
+    public void test10() {
+        yiyaoService.updateYiyao10();
+    }
+
 }