Browse Source

预算导入项目点功能调整

lfx 5 months ago
parent
commit
3cbb29ebf0

BIN
mjava-lanyun/log/2024-08-20/debug-0.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-1.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-10.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-11.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-12.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-2.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-3.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-4.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-5.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-6.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-7.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-8.log.gz


BIN
mjava-lanyun/log/2024-08-20/debug-9.log.gz


BIN
mjava-lanyun/log/2024-08-20/info-0.log.gz


+ 13 - 7
mjava-lanyun/src/main/java/com/malk/lanyun/listener/BudgetListener.java

@@ -9,16 +9,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.malk.lanyun.entity.Budget;
 import com.malk.lanyun.entity.Budget;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.server.aliwork.YDParam;
+import com.malk.server.aliwork.YDSearch;
 import com.malk.service.aliwork.YDClient;
 import com.malk.service.aliwork.YDClient;
 import com.malk.utils.UtilMap;
 import com.malk.utils.UtilMap;
 
 
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.ZoneOffset;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 public class BudgetListener extends AnalysisEventListener<Budget> {
 public class BudgetListener extends AnalysisEventListener<Budget> {
 
 
@@ -147,9 +145,11 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         map.put("textField_lw7s6z0x",yearStr); //年度
         map.put("textField_lw7s6z0x",yearStr); //年度
         map.put("numberField_lrni7snm",totalYs); // 预算总额
         map.put("numberField_lrni7snm",totalYs); // 预算总额
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
+        YDSearch typeSearch=new YDSearch("selectField_lzb398bv",type,"项目/部门", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        YDSearch yearStrSearch=new YDSearch("textField_lw7s6z0x",yearStr,"年份", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
         ydClient.operateData(YDParam.builder().formUuid("FORM-E0894D05F7124ABE9A633A4580EBBEDEJIJL").appType("APP_ERBDTFS82HOVBPL3NFH0")
         ydClient.operateData(YDParam.builder().formUuid("FORM-E0894D05F7124ABE9A633A4580EBBEDEJIJL").appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
-                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_lzb398bv, textField_lw7s6z0x",type,yearStr)))
+                .searchCondition(JSONObject.toJSONString(Arrays.asList(typeSearch,yearStrSearch)))
                 .build(), YDConf.FORM_OPERATION.upsert);
                 .build(), YDConf.FORM_OPERATION.upsert);
     }
     }
 
 
@@ -164,9 +164,12 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         map.put("numberField_lozfr2gg",totalYs); // 预算总额
         map.put("numberField_lozfr2gg",totalYs); // 预算总额
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         map.put("selectField_lw8tykcu","可用"); // 状态
         map.put("selectField_lw8tykcu","可用"); // 状态
+        YDSearch typeSearch=new YDSearch("selectField_ly7257rv",type,"项目/部门", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        YDSearch yearStrSearch=new YDSearch("textField_lw7sg8ho",yearStr,"年份", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        YDSearch kmbmSearch=new YDSearch("textField_lrni7snh",kmbm,"科目编码", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
         ydClient.operateData(YDParam.builder().formUuid("FORM-59B17AE6684D4ADBB550671CA20A3562V5C8").appType("APP_ERBDTFS82HOVBPL3NFH0")
         ydClient.operateData(YDParam.builder().formUuid("FORM-59B17AE6684D4ADBB550671CA20A3562V5C8").appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
-                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_ly7257rv, textField_lw7sg8ho, textField_lrni7snh",type,yearStr,kmbm)))
+                .searchCondition(JSONObject.toJSONString(Arrays.asList(typeSearch,yearStrSearch,kmbmSearch)))
                 .build(), YDConf.FORM_OPERATION.upsert);
                 .build(), YDConf.FORM_OPERATION.upsert);
     }
     }
 
 
@@ -193,9 +196,12 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
     }
     }
 
 
     private void operateData(Map map)throws Exception{
     private void operateData(Map map)throws Exception{
+        YDSearch typeSearch=new YDSearch("selectField_ly7257rv",type,"项目/部门", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        YDSearch yearStrSearch=new YDSearch("textField_lw7sg8hq",map.get("textField_lw7sg8hq"),"年份", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
+        YDSearch kmbmSearch=new YDSearch("textField_lrni7snh",map.get("textField_lrni7snh"),"科目编码", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ);
         ydClient.operateData(YDParam.builder().formUuid("FORM-9009F2638CD44FED8FF3065B44C78433WH6V").appType("APP_ERBDTFS82HOVBPL3NFH0")
         ydClient.operateData(YDParam.builder().formUuid("FORM-9009F2638CD44FED8FF3065B44C78433WH6V").appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
-                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_ly7257rv, textField_lw7sg8hq, textField_lrni7snh",type,map.get("textField_lw7sg8hq"),map.get("textField_lrni7snh"))))
+                .searchCondition(JSONObject.toJSONString(Arrays.asList(typeSearch,yearStrSearch,kmbmSearch)))
                 .build(), YDConf.FORM_OPERATION.upsert);
                 .build(), YDConf.FORM_OPERATION.upsert);
     }
     }
 
 

+ 12 - 8
mjava-lanyun/src/test/java/ysTest.java

@@ -51,13 +51,17 @@ public class ysTest {
 
 
     @Test
     @Test
     public void at(){
     public void at(){
-        List<Map> list=(List<Map>) ydClient.queryData(YDParam.builder().formUuid("FORM-DCBC92CE004244569BC22A759FB7D2853GEA").appType("APP_ERBDTFS82HOVBPL3NFH0")
-                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_m5f4hrlq","待导入")))
-                        .pageSize(1).build(),
-                YDConf.FORM_QUERY.retrieve_list_all).getData();
-        for (Map map:list){
-            System.out.println(map);
-            Map formData=UtilMap.getMap(map,"formData");
+//        List<Map> list=(List<Map>) ydClient.queryData(YDParam.builder().formUuid("FORM-DCBC92CE004244569BC22A759FB7D2853GEA").appType("APP_ERBDTFS82HOVBPL3NFH0")
+//                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_m5f4hrlq","待导入")))
+//                        .pageSize(1).build(),
+//                YDConf.FORM_QUERY.retrieve_list_all).getData();
+//        for (Map map:list){
+//            System.out.println(map);
+//            Map formData=UtilMap.getMap(map,"formData");
+        Map formData=(Map) ydClient.queryData(YDParam.builder().appType("APP_ERBDTFS82HOVBPL3NFH0")
+                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formInstanceId("FINST-3VC66IC1TXQR0L5VEN25ZBV0S3EI2AYD4GK5MN7G").build(),
+                YDConf.FORM_QUERY.retrieve_id).getFormData();
+        Map map=UtilMap.map("formInstanceId","FINST-3VC66IC1TXQR0L5VEN25ZBV0S3EI2AYD4GK5MN7G");
             boolean isUpdateDe=UtilMap.getString(formData,"selectField_m4cbvkth").equals("是");
             boolean isUpdateDe=UtilMap.getString(formData,"selectField_m4cbvkth").equals("是");
             String formInstanceId=UtilMap.getString(map,"formInstanceId");
             String formInstanceId=UtilMap.getString(map,"formInstanceId");
             String id= UUID.randomUUID().toString();
             String id= UUID.randomUUID().toString();
@@ -88,7 +92,7 @@ public class ysTest {
             }
             }
             updateState(formInstanceId,upMap);
             updateState(formInstanceId,upMap);
             FileUtil.del(fileName);
             FileUtil.del(fileName);
-        }
+//        }
     }
     }
 
 
     private void updateState(String formInstanceId,Map upMap){
     private void updateState(String formInstanceId,Map upMap){

+ 88 - 0
mjava/src/main/java/com/malk/server/aliwork/YDSearch.java

@@ -0,0 +1,88 @@
+package com.malk.server.aliwork;
+
+import lombok.Data;
+
+@Data
+public class YDSearch {
+
+    // YidaSearch yidaSearch=new YidaSearch("textField_lk7v5k5f",contract.getContractNo(),"同步合同档案台账", YidaSearch.Type.TEXT_FIELD,YidaSearch.Operator.EQ);
+
+
+    private String key;
+    private Object value;
+    // 组件值类型
+    private String type;
+    // 操作符
+    private String operator;
+    // 组件名称
+    private String componentName;
+    // 查询子表使用
+    private String parentId;
+
+    public YDSearch(String key, Object value, String type, String operator, String componentName){
+        this.key=key;
+        this.value=value;
+        this.type=type;
+        this.operator=operator;
+        this.componentName=componentName;
+    }
+
+    public YDSearch(String key, Object value, Type type, Operator operator, String componentName, String parentId) {
+        this.key = key;
+        this.value = value;
+        this.type = type.type;
+        this.operator = operator.operator;
+        this.componentName = componentName;
+        this.parentId = parentId;
+    }
+
+    public YDSearch(String key, Object value, String componentName, Type type, Operator operator){
+        this.key=key;
+        this.value=value;
+        this.type=type.type;
+        this.operator=operator.operator;
+        this.componentName=componentName;
+    }
+
+    // 缺少来这里找 https://open.dingtalk.com/document/orgapp-server/use-the-filter-conditions-in-the-form-data-management-for
+    public enum Type{
+        TEXT_FIELD("TEXT"),
+        TEXTAREA_FIELD("TEXT"),
+        NUMBER_FIELD("DOUBLE"),
+        RATE_FIELD("DOUBLE"),
+        RADIO_FIELD("ARRAY"),
+        CHECKBOX_FIELD("ARRAY"),
+        MULTISELECT_FIELD("ARRAY"),
+        CASCADESELECT_FIELD("STRING"),
+        DATE_FIELD("DOUBLE"),
+        CASCADEDATE_FIELD("DOUBLE"),
+        IMAGE_FIELD("TEXT"),
+        ATTACHMENT_FIELD("TEXT"),
+        EMPLOYEE_FIELD("STRING"),
+        DEPARTMENTSELECT_FIELD("ARRAY");
+
+        public final String type;
+
+        Type(String type){
+            this.type=type;
+        }
+    }
+
+    public enum Operator{
+        EQ("eq"),
+        LIKE("like"),
+        GT("gt"),
+        GE("ge"),
+        LT("lt"),
+        LE("le"),
+        BETWEEN("between"),
+        CONTAINS("contains");
+
+        public final String operator;
+
+        Operator(String operator){
+            this.operator=operator;
+        }
+    }
+
+}