lfx 8 mesi fa
parent
commit
48c42322dc

+ 14 - 0
mjava-kuaikeli/src/main/java/com/malk/kuaikeli/controller/KKLController.java

@@ -197,4 +197,18 @@ public class KKLController {
         return McR.success();
     }
 
+    /***
+     * 采购确认提交后数据处理
+     * @return
+     */
+    @PostMapping("purchase")
+    McR purchaseConfirmation(@RequestBody Map map){
+        String formInstId = String.valueOf(map.get("formInstId"));
+        if (Strings.isNullOrEmpty(formInstId)){
+            return McR.errorParam("参数缺失");
+        }
+        kklService.purchaseConfirmation(formInstId);
+        return McR.success();
+    }
+
 }

+ 2 - 0
mjava-kuaikeli/src/main/java/com/malk/kuaikeli/service/KKLService.java

@@ -33,4 +33,6 @@ public interface KKLService {
 
     List<Map<String, String>> getDiffMatchingSuppliers2(String projectCode,String oldSupplierCode, String newSupplierCode);
 
+    void purchaseConfirmation(String formInstId);
+
 }

+ 26 - 0
mjava-kuaikeli/src/main/java/com/malk/kuaikeli/service/impl/KKLImplService.java

@@ -686,6 +686,32 @@ public class KKLImplService implements KKLService {
         return diffList;
     }
 
+    @Override
+    public void purchaseConfirmation(String formInstId) {
+        Map data=ydClient.queryData(YDParam.builder().formInstId(formInstId).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        log.info("data:{}",JSONObject.toJSONString(data));
+        List<Map> list=UtilMap.getList(data,"tableField_llq9pqlu");
+        String totalAmt="0";
+        Map<String,Map> typeAmt=new HashMap<>();
+        for (Map map:list){
+            String amt=UtilMap.getString(map,"numberField_m2448gru_value");
+            totalAmt=NumberUtil.add(amt,totalAmt).toString();
+            String type=UtilMap.getString(map,"selectField_llkb7kd5");
+            Map typeAmtMap=typeAmt.containsKey(type)?typeAmt.get(type):new HashMap();
+            typeAmtMap.put("textField_lrhhan54",type); // 第一分类
+            typeAmtMap.put("numberField_lrhhan58",UtilMap.getString(map,"numberField_lmjzdeh2_value")); // 预算
+            typeAmtMap.put("numberField_lrhhan59",NumberUtil.add(amt,UtilMap.getString(typeAmtMap,"numberField_lrhhan59")).toString());// 采购
+            typeAmt.put(type,typeAmtMap);
+        }
+        List typeTable=new ArrayList();
+        for (String str:typeAmt.keySet()){
+            typeTable.add(typeAmt.get(str));
+        }
+        Map upmap=UtilMap.map("numberField_m2448grv, tableField_lrhhan53",totalAmt,typeTable);
+        log.info("upmap:{}",JSONObject.toJSONString(upmap));
+        ydClient.operateData(YDParam.builder().formInstanceId(formInstId).updateFormDataJson(JSONObject.toJSONString(upmap)).build(), YDConf.FORM_OPERATION.update);
+    }
+
     private List<Map> getYdFormDataList(String formUuid, String searchCondition, YDConf.FORM_QUERY formQuery) {
         List<Map> list = new ArrayList<>();
         DDR_New ddrNew;