ソースを参照

1.mjava中宜搭添加upsert
2.预算导入create修改为upsert

lfx 6 ヶ月 前
コミット
e96f35e039

+ 11 - 3
mjava-lanyun/src/main/java/com/malk/lanyun/listener/BudgetListener.java

@@ -5,11 +5,13 @@ import cn.hutool.core.util.ReflectUtil;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.malk.lanyun.entity.Budget;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.service.aliwork.YDClient;
 import com.malk.utils.UtilDateTime;
+import com.malk.utils.UtilMap;
 
 import java.time.LocalDate;
 import java.time.ZoneOffset;
@@ -123,7 +125,9 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         map.put("numberField_lrni7snm",totalYs); // 预算总额
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         ydClient.operateData(YDParam.builder().formUuid("FORM-E0894D05F7124ABE9A633A4580EBBEDEJIJL").appType("APP_ERBDTFS82HOVBPL3NFH0")
-                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map)).build(), YDConf.FORM_OPERATION.create);
+                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
+                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_lzb398bv, textField_lw7s6z0x",type,yearStr)))
+                .build(), YDConf.FORM_OPERATION.upsert);
     }
 
     private void saveYearAndKmbm(String totalYs,String kmbm,String kmdl,String kmmc){
@@ -138,7 +142,9 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         map.put("selectField_lw8tykcu","可用"); // 状态
         ydClient.operateData(YDParam.builder().formUuid("FORM-59B17AE6684D4ADBB550671CA20A3562V5C8").appType("APP_ERBDTFS82HOVBPL3NFH0")
-                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map)).build(), YDConf.FORM_OPERATION.create);
+                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
+                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_ly7257rv, textField_lw7sg8ho, textField_lrni7snh",type,yearStr,kmbm)))
+                .build(), YDConf.FORM_OPERATION.upsert);
     }
 
     private void saveYearAndKmbmAndMonth(String totalYs,String kmbm,String yearMonth,String yearMonthStr,String kmdl,String kmmc){
@@ -154,7 +160,9 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         map.put("selectField_lw8tykcu","可用"); // 状态
         ydClient.operateData(YDParam.builder().formUuid("FORM-9009F2638CD44FED8FF3065B44C78433WH6V").appType("APP_ERBDTFS82HOVBPL3NFH0")
-                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map)).build(), YDConf.FORM_OPERATION.create);
+                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
+                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_ly7257rv, textField_lw7sg8hq, textField_lrni7snh",type,yearMonthStr,kmbm)))
+                .build(), YDConf.FORM_OPERATION.upsert);
     }
 
 }

+ 1 - 0
mjava/src/main/java/com/malk/server/aliwork/YDConf.java

@@ -73,6 +73,7 @@ public class YDConf {
         create,
         delete,             // 传入为body, 文档为param
         update,
+        upsert,
         multi_create,               // 批量操作
         delete_batch,               // 批量删除
         multi_update,               // 批量更新

+ 3 - 0
mjava/src/main/java/com/malk/service/aliwork/impl/YDClientImpl.java

@@ -62,6 +62,9 @@ public class YDClientImpl implements YDClient {
             case update:
                 ddr_new = (DDR_New) UtilHttp.doPut(getRequestUrl("/forms/instances"), ddClient.initTokenHeader(), bodys, DDR_New.class);
                 break;
+            case upsert:
+                ddr_new = (DDR_New)UtilHttp.doPost(this.getRequestUrl("/forms/instances/insertOrUpdate"), this.ddClient.initTokenHeader(), bodys, DDR_New.class);
+                break;
             case delete:
                 ddr_new = (DDR_New) UtilHttp.doDelete(getRequestUrl("/forms/instances"), ddClient.initTokenHeader(), bodys, DDR_New.class);
                 break;