|
|
@@ -65,46 +65,75 @@ public class KKLImplService implements KKLService {
|
|
|
*/
|
|
|
@Override
|
|
|
public boolean validateApprove(Map data) {
|
|
|
-
|
|
|
- boolean approve = false;
|
|
|
+ boolean approve =UtilMap.getBoolean(data,"approveFlag");
|
|
|
+// 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;
|
|
|
- }
|
|
|
- }
|
|
|
+// 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, textField_llndm599", data.get("name"), data.get("area"), row.get("textField_ln1ez5li"), row.get("textField_llndm599"))))
|
|
|
+// .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_lln477o2");// 切配工作单数量
|
|
|
+// if (cur > src || (src - cur) / src > 0.2f) {
|
|
|
+// approve = true;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+ String poid=UtilMap.getString(data,"poid");
|
|
|
if (approve) {
|
|
|
// 发起菜单审批
|
|
|
log.info("发起菜单审批");
|
|
|
+ // 保存数据到备份表单
|
|
|
+ String id=(String) ydService.mirrorFormData(poid,"FORM-1FD63CF820F3444D994F0486CA95F6E6UZ2E","",new HashMap(),"");
|
|
|
+ Map form=UtilMap.getMap(data,"form");
|
|
|
+ form.put("textField_lx2l5l2s",poid);
|
|
|
+ form.put("textField_lx2l5l2t",id);
|
|
|
+ form.put("textField_lx2omku4",data.get("user").toString());
|
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formUuid("FORM-UP96637100HD036TA1M05B74GHLV3DRS54NLLC")
|
|
|
.processCode("TPROC--UP96637100HD036TA1M05B74GHLV3ERS54NLLD")
|
|
|
- .formDataJson(JSON.toJSONString(data.get("form"))) // 前端数据组装
|
|
|
+ .formDataJson(JSON.toJSONString(form)) // 前端数据组装
|
|
|
.userId(data.get("user").toString())
|
|
|
.build(), YDConf.FORM_OPERATION.start);
|
|
|
+ }else{
|
|
|
+ log.info("未触发审批 执行业务逻辑-编辑前后更新计划采购单");
|
|
|
+ planUpdate(poid,dataList,data.get("user").toString());
|
|
|
}
|
|
|
- // 执行业务逻辑-编辑前后更新计划采购单
|
|
|
- log.info("执行业务逻辑-编辑前后更新计划采购单");
|
|
|
- planUpdate(UtilMap.getString(data,"poid"),dataList,data.get("user").toString());
|
|
|
return approve;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void planApproval(Map data) {
|
|
|
+ String fid=UtilMap.getString(data,"fid");
|
|
|
+ String backFid=UtilMap.getString(data,"backFid");
|
|
|
+ String results=UtilMap.getString(data,"results");
|
|
|
+ String userId=UtilMap.getString(data,"userId");
|
|
|
+ if(results.equals("通过")){
|
|
|
+ log.info("审批通过 保存变更信息");
|
|
|
+ // 新数据
|
|
|
+ Map formData=(Map) ydClient.queryData(YDParam.builder().formInstId(fid).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
+ // 旧数据
|
|
|
+ Map backData=(Map) ydClient.queryData(YDParam.builder().formInstId(backFid).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
+ List<Map> list=UtilMap.getList(backData,"tableField_lln477nw");
|
|
|
+ saveData(list,formData,false,userId);// -
|
|
|
+ list=UtilMap.getList(formData,"tableField_lln477nw");
|
|
|
+ saveData(list,formData,true,userId);// +
|
|
|
+
|
|
|
+ }else{
|
|
|
+ log.info("审批拒绝 还原备份数据");
|
|
|
+ ydService.mirrorFormData(backFid,"FORM-IH966T61XJZDNT4D9N6D189RJ2CK3Q27NZ5ML0","",new HashMap(),fid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void updateState(String id) {
|
|
|
try {
|
|
|
@@ -121,14 +150,21 @@ public class KKLImplService implements KKLService {
|
|
|
}
|
|
|
|
|
|
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);// +
|
|
|
+ saveData(list,formData,false,userId);// -
|
|
|
+ saveData(dataList,formData,true,userId);// +
|
|
|
}
|
|
|
|
|
|
- private void saveData(List<Map> list,Map formData,String formUuid,boolean isAdd,String userId){
|
|
|
+ /***
|
|
|
+ * 保存数据
|
|
|
+ * @param list true:新数据 false:老数据
|
|
|
+ * @param formData 菜单计划数据
|
|
|
+ * @param isAdd true 加数据 false 减数据
|
|
|
+ * @param userId 新增操作的用户编号
|
|
|
+ */
|
|
|
+ private void saveData(List<Map> list,Map formData,boolean isAdd,String userId){
|
|
|
+ String formUuid="FORM-XHA66881J8KDA6V3FM6LZBUP9PDE37VESDNLL6";// 计划采购单
|
|
|
for(Map map:list){
|
|
|
Map queryMap=new HashMap();
|
|
|
queryMap.put("dateField_llndtdwl", Arrays.asList(map.get("dateField_ln1ez5lg"),map.get("dateField_ln1ez5lg")));// 日期
|
|
|
@@ -165,46 +201,55 @@ public class KKLImplService implements KKLService {
|
|
|
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")));// 采购量
|
|
|
+ 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")));// 采购量
|
|
|
+ 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("\\\\","")));// 项目点
|
|
|
+ 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("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){
|
|
|
+ if(!isAdd){
|
|
|
+ log.info("未找到对应的切配工作单,退出");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
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);
|
|
|
+ ydClient.operateData(YDParam.builder().formUuid(formUuid2)
|
|
|
+ .formDataJson(JSONObject.toJSONString(addMap))
|
|
|
+ .userId(userId)
|
|
|
+ .build(), YDConf.FORM_OPERATION.create);
|
|
|
+ }else{
|
|
|
+ Map oldMap=UtilMap.getMap(list3.get(0),"formData");
|
|
|
+ if(isAdd){
|
|
|
+ addMap.put("numberField_lln477o2", NumberUtil.add(UtilMap.getString(oldMap,"numberField_lln477o2"),UtilMap.getString(map,"numberField_lmym5628")));// 数量(kg)
|
|
|
+ addMap.put("numberField_lnrkgimz", NumberUtil.add(UtilMap.getString(oldMap,"numberField_lnrkgimz"),UtilMap.getString(map,"numberField_lomyf89l")));// 初始采购数量
|
|
|
+ }else {
|
|
|
+ addMap.put("numberField_lln477o2", NumberUtil.sub(UtilMap.getString(oldMap,"numberField_lln477o2"), UtilMap.getString(map, "numberField_lmym5628")));// 数量(kg)
|
|
|
+ addMap.put("numberField_lnrkgimz", NumberUtil.sub(UtilMap.getString(oldMap,"numberField_lnrkgimz"), UtilMap.getString(map, "numberField_lomyf89l")));// 初始采购数量
|
|
|
}
|
|
|
+ ydClient.operateData(YDParam.builder().formInstanceId(UtilMap.getString(list3.get(0),"formInstanceId"))
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(addMap))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
|
}
|
|
|
}
|