| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439 |
- package com.malk.kuaikeli.service.impl;
- import cn.hutool.core.util.NumberUtil;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.malk.kuaikeli.service.KKLService;
- import com.malk.server.aliwork.YDConf;
- import com.malk.server.aliwork.YDParam;
- import com.malk.service.aliwork.YDClient;
- import com.malk.service.aliwork.YDService;
- import com.malk.utils.UtilMap;
- import com.malk.utils.UtilMc;
- import com.malk.utils.UtilNumber;
- import lombok.SneakyThrows;
- import lombok.Synchronized;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.*;
- import java.util.stream.Collectors;
- @Service
- @Slf4j
- public class KKLImplService implements KKLService {
- @Autowired
- private YDService ydService;
- /**
- * [动态] 发起单据, 分供应商进行流程推送
- */
- @Override
- public void matchSupplier(Map data) {
- // ppExt: 供应商区分发起: 当前表:供应供子表组件ID,子表内供应商编号,名称,负责人
- String[] compIds_supplier = String.valueOf(data.get("compId_supplier")).split(", ");
- String compId_supplier = compIds_supplier[1];
- Map formData = (Map) JSON.parse(String.valueOf(data.get("formData")));
- List<Map> details = (List<Map>) formData.get(compIds_supplier[0]);
- // 供应商编号, 数据去重: 提取数据区分供应商发起
- List<Map> suppliers = UtilMc.distinctByKey(details, compId_supplier);
- for (Map supplier : suppliers) {
- List<Map> dataList = details.stream().filter(item -> supplier.get(compId_supplier).equals(item.get(compId_supplier))).collect(Collectors.toList());
- formData.put(compIds_supplier[0], dataList);
- // ppExt: 参数传递, 目标表组件ID, 对照当前表子表内的子表内供应商编号,名称,负责人已放置主表字段, 此处公共内容提前首条数据进行赋值
- for (int i = 1; i < compIds_supplier.length; i++) {
- formData.put(compIds_supplier[i], YDConf.getDataByCompId(dataList.get(0), compIds_supplier[i]));
- }
- data.put("formData", JSON.toJSONString(formData));
- ydService.copyFormData(data); // 发起流程
- }
- }
- @Autowired
- private YDClient ydClient;
- /**
- * 菜单计划, 编辑校验
- * -
- * 前端提交动作: 校验是否审批通过, 是否当日之前计划, 是否当日且在16点及以后时间, 均不允许提交
- * 后端校验返回、加任何产品都要走审批,减少20%以内直接过,每一个原材料
- */
- @Override
- public boolean validateApprove(Map data) {
- boolean approve = false;
- List<Map> dataList = UtilMap.getList(data, "list");
- for (Map row : dataList) {
- // 匹配切配工作单, 采购
- List<Map> formList = (List<Map>) ydClient.queryData(YDParam.builder()
- .formUuid("FORM-RK966E71T0LDSTW39WFHE9OQ5GU23FKRRDNLL2")
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lmsuq8am, textField_lm8zta2z, textField_ln1ez5li", data.get("name"), data.get("area"), row.get("textField_ln1ez5li"))))
- .build(),
- YDConf.FORM_QUERY.retrieve_search_form).getData();
- if (formList.size() == 0) {
- approve = true;
- break;
- }
- Map formData = (Map) formList.get(0).get("formData");
- float cur = UtilMap.getFloat(row, "numberField_lmym5628");
- float src = UtilMap.getFloat(formData, "numberField_lnrkgimz");
- if (cur > src || (src - cur) / src > 0.2f) {
- approve = true;
- break;
- }
- }
- if (approve) {
- // 发起菜单审批
- log.info("发起菜单审批");
- ydClient.operateData(YDParam.builder()
- .formUuid("FORM-UP96637100HD036TA1M05B74GHLV3DRS54NLLC")
- .processCode("TPROC--UP96637100HD036TA1M05B74GHLV3ERS54NLLD")
- .formDataJson(JSON.toJSONString(data.get("form"))) // 前端数据组装
- .userId(data.get("user").toString())
- .build(), YDConf.FORM_OPERATION.start);
- }
- // 执行业务逻辑-编辑前后更新计划采购单
- log.info("执行业务逻辑-编辑前后更新计划采购单");
- planUpdate(UtilMap.getString(data,"poid"),dataList,data.get("user").toString());
- return approve;
- }
- @Override
- public void updateState(String id) {
- try {
- log.info("异步修改状态,休眠3s");
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- // 更新计划状态
- ydService.operateData(YDParam.builder()
- .formInstanceId(id)
- .updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_lm8znr9n", "执行中")))
- .build(), YDConf.FORM_OPERATION.update);
- }
- private void planUpdate(String poid,List<Map> dataList,String userId){
- String formUuid="FORM-XHA66881J8KDA6V3FM6LZBUP9PDE37VESDNLL6";
- Map formData=(Map) ydClient.queryData(YDParam.builder().formInstId(poid).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
- List<Map> list=UtilMap.getList(formData,"tableField_lln477nw");
- saveData(list,formData,formUuid,false,userId);// -
- saveData(dataList,formData,formUuid,true,userId);// +
- }
- private void saveData(List<Map> list,Map formData,String formUuid,boolean isAdd,String userId){
- for(Map map:list){
- Map queryMap=new HashMap();
- queryMap.put("dateField_llndtdwl", Arrays.asList(map.get("dateField_ln1ez5lg"),map.get("dateField_ln1ez5lg")));// 日期
- queryMap.put("textField_llq9x6ov",formData.get("textField_lln477nh"));// 项目编号
- queryMap.put("textField_lmk97m1v",map.get("textField_lmk97m1v"));// 原材料编号
- Map upMap=new HashMap();
- upMap.put("numberField_llojyfy3",map.get("numberField_lmsvfftq"));// 成本单价
- upMap.put("numberField_llojyfy4",map.get("numberField_lmsvfftr"));// 服务费率
- upMap.put("dateField_llndtdwl",map.get("dateField_ln1ez5lg"));// 计划日期
- upMap.put("textField_llndm599",map.get("textField_llndm599"));// 原材料名称
- upMap.put("textField_lluj4hu1",map.get("textField_lln3lmn2"));// 单位
- upMap.put("textField_llq9x6ov",formData.get("textField_lln477nh"));// 项目编号
- upMap.put("textField_lm5z7kvo",map.get("textField_ln1ez5li"));// 计划日期(文本)
- upMap.put("textField_lm5z4ioi",formData.get("textField_lmsvfftp"));// 项目名称
- upMap.put("textField_lmk97m1v",map.get("textField_lmk97m1v"));// 原材料编号
- upMap.put("selectField_lmqclyx9",map.get("selectField_lmqclyx9"));// 第一分类
- upMap.put("numberField_lmqclyxa",map.get("numberField_lmqclyxa"));// 供货价
- upMap.put("textField_lnsmha2j",map.get("textField_lnwxz9ji"));// 品牌
- upMap.put("textField_lpjet322",formData.get("textField_lpjet322"));// 档口名称
- upMap.put("textField_lpjet321",formData.get("textField_lpjet321"));// 档口编号
- upMap.put("textField_loe04txb",map.get("textField_lptgvips"));// 采购单位
- List<Map> list2=(List<Map>) ydClient.queryData(YDParam.builder().formUuid(formUuid).searchFieldJson(JSONObject.toJSONString(queryMap)).build(), YDConf.FORM_QUERY.retrieve_list).getData();
- if(list2==null||list2.size()<1){
- if(!isAdd){
- log.info("未找到对应的计划采购单,退出");
- continue;
- }
- upMap.put("numberField_lln477o2", map.get("numberField_lmym5628"));// 初始采购数量(kg)
- upMap.put("numberField_lm9008fq", map.get("numberField_lmym5628"));// 实际采购数量(kg)
- upMap.put("numberField_lns0dkzv", map.get("numberField_lns0dkzv"));// 投料数量(kg)
- upMap.put("numberField_loe04txa", map.get("numberField_lomyf89l"));// 采购量
- ydClient.operateData(YDParam.builder().formUuid(formUuid).formDataJson(JSONObject.toJSONString(upMap)).userId(userId).build(), YDConf.FORM_OPERATION.create);
- }else{
- Map oldMap=UtilMap.getMap(list2.get(0),"formData");
- if(isAdd){
- upMap.put("numberField_lln477o2", NumberUtil.add(UtilMap.getString(oldMap,"numberField_lln477o2"),UtilMap.getString(map,"numberField_lmym5628")));// 初始采购数量(kg)
- upMap.put("numberField_lm9008fq", NumberUtil.add(UtilMap.getString(oldMap,("numberField_lm9008fq")),UtilMap.getString(map,("numberField_lmym5628"))));// 实际采购数量(kg)
- upMap.put("numberField_lns0dkzv", NumberUtil.add(UtilMap.getString(oldMap,("numberField_lns0dkzv")),UtilMap.getString(map,("numberField_lns0dkzv"))));// 投料数量
- upMap.put("numberField_loe04txa",NumberUtil.add(UtilMap.getString(oldMap,"numberField_loe04txa"),UtilMap.getString(map,"numberField_lomyf89l")));// 采购量
- }else {
- upMap.put("numberField_lln477o2", NumberUtil.sub(UtilMap.getString(oldMap, "numberField_lln477o2"), UtilMap.getString(map, "numberField_lmym5628")));// 初始采购数量(kg)
- upMap.put("numberField_lm9008fq", NumberUtil.sub(UtilMap.getString(oldMap, ("numberField_lm9008fq")), UtilMap.getString(map, ("numberField_lmym5628"))));// 实际采购数量(kg)
- upMap.put("numberField_lns0dkzv", NumberUtil.sub(UtilMap.getString(oldMap, ("numberField_lns0dkzv")), UtilMap.getString(map, ("numberField_lns0dkzv"))));// 投料数量
- upMap.put("numberField_loe04txa",NumberUtil.sub(UtilMap.getString(oldMap,"numberField_loe04txa"),UtilMap.getString(map,"numberField_lomyf89l")));// 采购量
- }
- ydClient.operateData(YDParam.builder().formInstanceId(UtilMap.getString(list2.get(0),"formInstanceId")).updateFormDataJson(JSONObject.toJSONString(upMap)).build(), YDConf.FORM_OPERATION.update);
- }
- if(isAdd){
- // 保存切配工作单
- String formUuid2="FORM-RK966E71T0LDSTW39WFHE9OQ5GU23FKRRDNLL2";
- Map qMap=new HashMap();
- qMap.put("textField_lmsuq8am",formData.get("textField_lln477nh"));// 项目编号
- qMap.put("dateField_llndtdwl",Arrays.asList(map.get("dateField_ln1ez5lg"),map.get("dateField_ln1ez5lg")));// 日期
- qMap.put("textField_lm8zta2z",formData.get("selectField_llm1i9yl"));// 餐次
- qMap.put("selectField_lln3lmn5",map.get("textField_lm4m83rv"));// 切配类型
- qMap.put("textField_llndm599",map.get("textField_llndm599"));// 原材料名称
- Map addMap=new HashMap();
- addMap.putAll(qMap);
- String data=String.valueOf(formData.get("associationFormField_lln477nb_id"));
- addMap.put("associationFormField_llndtdwg",JSONObject.parseArray(data.substring(1,data.length()-1).replaceAll("\\\\","")));// 项目点
- addMap.put("numberField_lln477o2",map.get("numberField_lmym5628"));// 数量(kg)
- addMap.put("numberField_lnrkgimz",map.get("numberField_lomyf89l"));// 初始采购数量
- addMap.put("textField_ln1ez5li",map.get("textField_ln1ez5li"));// 计划日期(文本)
- addMap.put("dateField_llndtdwl",map.get("dateField_ln1ez5lg"));// 日期
- List<Map> list3=(List<Map>) ydClient.queryData(YDParam.builder().formUuid(formUuid2).searchFieldJson(JSONObject.toJSONString(qMap)).build(),
- YDConf.FORM_QUERY.retrieve_list).getData();
- if(list3==null||list3.size()<1){
- ydClient.operateData(YDParam.builder().formUuid(formUuid2)
- .formDataJson(JSONObject.toJSONString(addMap))
- .userId(userId)
- .build(), YDConf.FORM_OPERATION.create);
- }else{
- ydClient.operateData(YDParam.builder().formInstanceId(UtilMap.getString(list3.get(0),"formInstanceId"))
- .updateFormDataJson(JSONObject.toJSONString(addMap))
- .build(), YDConf.FORM_OPERATION.update);
- }
- }
- }
- }
- /**
- * 定价单: 项目点 & 供应商大类, 数据匹配
- */
- @Override
- @SneakyThrows
- @Synchronized
- public void serviceRate(Map data) {
- // todo2: 宜搭更新,校验的超时等待在3s, 因此方法修改为异步. 容错定时任务?匹配不一致数据
- String supperCode = String.valueOf(data.get("code"));
- List<String> types = (List<String>) JSON.parse(String.valueOf(data.get("type")));
- List<String> rates = (List<String>) JSON.parse(String.valueOf(data.get("rate")));
- List<String> rates2 = (List<String>) JSON.parse(String.valueOf(data.get("rate2")));
- List<String> status = (List<String>) JSON.parse(String.valueOf(data.get("status")));
- for (int i = 0; i < types.size(); i++) {
- List<Map> materials = supperMaterials(supperCode, types.get(i));
- List<Map> records = projectMaterials(supperCode, types.get(i));
- log.info("定价单同步, {}, {}", materials.size(), records.size());
- for (Map material : materials) {
- // 数据处理: 服务费率与供货价, 项目信息
- double rate = Double.valueOf(rates.get(i));
- double rate2 = Double.valueOf(rates2.get(i));
- material.putAll(UtilMap.map("numberField_llkb7kcy, numberField_lpalgz04, textField_lm4lxur8", rate, rate2, status.get(i)));
- double price1 = UtilNumber.formatPrecisionValue(UtilMap.getDouble(material, "numberField_llkknd6g") * (rate + 100) / 100f);
- double price2 = UtilNumber.formatPrecisionValue(UtilMap.getDouble(material, "numberField_lpalgz05") * (100 + rate2) / 100f);
- material.putAll(UtilMap.map("numberField_llkknd6h, numberField_lpalgz0a", price1, price2));
- material.putAll(UtilMap.map("textField_llm1vtjm, textField_loy1ep8r", data.get("proCode"), data.get("proName")));
- YDParam ydParam = YDParam.builder()
- .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
- .formDataJson(JSON.toJSONString(material))
- .build();
- YDConf.FORM_OPERATION operation = YDConf.FORM_OPERATION.create;
- // ppExt: 提交校验逻辑, 匹配定价单数若存在则匹配服务费率, 不一致执行更新
- if (records.size() > 0) {
- Optional optional = records.stream().filter(item -> item.get("textField_llkb7kd2").equals(material.get("textField_llkb7kd2"))).findAny();
- if (optional.isPresent()) {
- ydParam.setUpdateFormDataJson(JSON.toJSONString(material));
- ydParam.setFormInstanceId(String.valueOf(((Map) optional.get()).get("formInstanceId")));
- operation = YDConf.FORM_OPERATION.update;
- }
- }
- ydClient.operateData(ydParam, operation);
- }
- }
- }
- /// 原材料: 供应商第一分类下物料
- List<Map> supperMaterials(String code, String type) {
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llzzbyj1, selectField_llkk6cms", code, type)))
- .build());
- log.info("supperMaterials, {}", dataList.size());
- return dataList;
- }
- /// 定价单: 供应商第一分类下物料
- List<Map> projectMaterials(String code, String type) {
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llzzbyj1, selectField_llkk6cms", code, type)))
- .build());
- log.info("projectMaterials, {}", dataList.size());
- return dataList;
- }
- /**
- * 物料档案: 价格调整
- */
- @Override
- public void adjustCost(Map data) {
- double cost1 = UtilMap.getDouble(data, "costPrice");
- double cost2 = UtilMap.getDouble(data, "nextCostPrice");
- String cost3 = UtilMap.getString(data,"timeLimit");
- //todo2: 服务执行, 周日凌晨更新价格前, 是否重新匹配数据?
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llkb7kd2", data.get("itemNumber"))))
- .build());
- log.info("adjustCost, {}", dataList.size());
- for (Map record : dataList) {
- // if (cost1 == UtilMap.getDouble(record, "numberField_llkknd6g") && cost2 == UtilMap.getDouble(record, "numberField_lpalgz05")) {
- // continue;
- // }
- double rate = UtilMap.getDouble(record, "numberField_llkb7kcy");
- double rate2 = UtilMap.getDouble(record, "numberField_lpalgz04");
- double price1 = UtilNumber.formatPrecisionValue(cost1 * (rate + 100) / 100f);
- double price2 = UtilNumber.formatPrecisionValue(cost2 * (100 + rate2) / 100f);
- Map update = UtilMap.map("numberField_llkknd6h, numberField_lpalgz0a", price1, price2);
- update.putAll(UtilMap.map("numberField_llkknd6g, numberField_lpalgz05, dateField_lm4lxur7", cost1, cost2, cost3 ));
- ydClient.operateData(YDParam.builder()
- .formInstanceId(String.valueOf(record.get("formInstanceId")))
- .updateFormDataJson(JSON.toJSONString(update))
- .build(), YDConf.FORM_OPERATION.update);
- }
- }
- /**
- * 供应商原材料档案: 新增匹配
- */
- @Override
- public void additionMaterial(Map data) {
- // 通过供应商编号 查询项目
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-W2A66Z91B4KDWDIAA7SI1BRBRTKM3XL87BKLL0")
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llzzbai8", data.get("gysNumber"))))
- .build());
- dataList.forEach(dataItem -> {
- List<Map> mapList = (List<Map>) dataItem.get("tableField_llq74mwk");
- // 这里对比第二分类 selectField_llq74mwl ==> selectField_lv3v3911
- List<Map> maps = mapList.stream().filter(items -> items.get("selectField_lv3v3911").equals(data.get("firstName"))).collect(Collectors.toList());
- if(maps.size()>0){
- List<Map> goodList = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llkb7kd2", data.get("goodNumber"))))
- .build());
- Map goodMap = goodList.get(0);
- Map hashMap = new HashMap();
- hashMap.put("textField_llzzbyj1",data.get("gysNumber")); //供应商编号
- hashMap.put("textField_lmsli3bq",dataItem.get("textField_lmsli3bq")); //供应商名称
- hashMap.put("textField_llm1vtjm",dataItem.get("textField_lllovku7")); //项目编号
- hashMap.put("textField_loy1ep8r",dataItem.get("textField_loy1ep8r"));//项目名称
- hashMap.put("textField_llkb7kd2",data.get("goodNumber")); //物品编号
- hashMap.put("textField_llkb7kd1",goodMap.get("textField_llkb7kd1")); //物品名称
- hashMap.put("textField_llkb7kd3",goodMap.get("textField_llkb7kd3")); //单位
- hashMap.put("textField_llkb7kd4",goodMap.get("textField_llkb7kd4")); //规格
- hashMap.put("selectField_llkb7kd5",data.get("firstName")); //第一分类
- hashMap.put("selectField_llkk6cms",goodMap.get("selectField_llkk6cms")); //第二分类
- double rate = UtilMap.getDouble(maps.get(0), "numberField_llq74mwm"); //本周费率
- double rate2 = UtilMap.getDouble(maps.get(0), "numberField_lpplr3im"); //下周费率
- double pce1 = UtilMap.getDouble(goodMap, "numberField_llkknd6g"); //成本单价
- double pce2 = UtilMap.getDouble(goodMap, "numberField_lpalgz05"); //下周成本单价
- double price1 = UtilNumber.formatPrecisionValue(pce1 * (rate + 100) / 100f); //下周成本价
- double price2 = UtilNumber.formatPrecisionValue(pce2 * (rate2 + 100 ) / 100f); //下周供货价
- hashMap.put("numberField_llkb7kcy",rate); //服务费率
- hashMap.put("numberField_lpalgz04",rate2); //下周服务费率
- hashMap.put("numberField_llkknd6g",pce1); //成本单价
- hashMap.put("numberField_lpalgz05",pce2); //下周成本单价
- hashMap.put("numberField_llkknd6h",price1); //供货价
- hashMap.put("numberField_lpalgz0a",price2); //下周供货价
- hashMap.put("dateField_lm4lxur7",goodMap.get("dateField_lm4lxur7")); //期限
- hashMap.put("textField_lm4lxur8","已启用"); //状态
- hashMap.put("numberField_lnrzzg03",goodMap.get("numberField_lnrzzg03")); //包装数量
- hashMap.put("textField_lnrzzg04",goodMap.get("textField_lnrzzg04")); //包装单位
- log.info("hashMap,{}", JSON.toJSONString(hashMap));
- ydClient.operateData(YDParam.builder()
- .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
- .formDataJson(JSON.toJSONString(hashMap))
- .build(), YDConf.FORM_OPERATION.create);
- }
- });
- }
- /**
- * 周日同步更新价格
- */
- @Override
- @SneakyThrows
- public void syncPrice() {
- // 定价单明细表
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
- .build());
- for (Map record : dataList) {
- double price1 = UtilMap.getDouble(record, "numberField_llkknd6h");
- double price2 = UtilMap.getDouble(record, "numberField_lpalgz0a");
- if (price1 == price2) {
- continue;
- }
- // 本质上是对比供货价差异, 下周全覆盖
- Map update = UtilMap.map("numberField_llkknd6h, numberField_llkb7kcy, numberField_llkknd6g", price2, record.get("numberField_lpalgz04"), record.get("numberField_lpalgz05"));
- ydClient.operateData(YDParam.builder()
- .formInstanceId(String.valueOf(record.get("formInstanceId")))
- .updateFormDataJson(JSON.toJSONString(update))
- .build(), YDConf.FORM_OPERATION.update);
- }
- // 供应商原材料表
- List<Map> dataList2 = ydService.queryFormData_all(YDParam.builder()
- .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
- .build());
- for (Map record : dataList2) {
- double cost1 = UtilMap.getDouble(record, "numberField_llkknd6g");
- double cost2 = UtilMap.getDouble(record, "numberField_lpalgz05");
- if (cost1 == cost2) {
- continue;
- }
- Map update = UtilMap.map("numberField_llkknd6g", cost2);
- ydClient.operateData(YDParam.builder()
- .formInstanceId(String.valueOf(record.get("formInstanceId")))
- .updateFormDataJson(JSON.toJSONString(update))
- .build(), YDConf.FORM_OPERATION.update);
- }
- }
- }
|