diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java index 894d313..e7e670e 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java @@ -233,6 +233,7 @@ public class ActivitDefineController { List busProcessNames = new ArrayList<>(); StringBuilder taskIds = new StringBuilder(); + int i = 0; for (StartProcessEO startProcessEO : startProcessEOList) { startProcessEO.setLoginUserId(UserUtils.getUserId()); if(com.adc.da.util.utils.StringUtils.isNotEmpty(startProcessEO.getId())){ @@ -240,6 +241,10 @@ public class ActivitDefineController { } String prcType = startProcessEO.getPrcType(); Map prcNameAndPrcNum = createPrcNameAndPrcNum(prcType); + //并发 防止prcNum重复 + String prcNumStr = (String) prcNameAndPrcNum.get("prcNum"); + int num = Integer.parseInt(prcNumStr.substring(8)) + i++; + String prcNum = prcNumStr.substring(0, 8) + String.format("%08d", num); startProcessEO.setId((String) prcNameAndPrcNum.get("id")); @@ -276,7 +281,7 @@ public class ActivitDefineController { busProcessName.setCreatUser(userId); UserEO byId = userEoService.getUserById(userId); busProcessName.setCreatUserName(byId.getUsname()); - busProcessName.setPrcNum((String) prcNameAndPrcNum.get("prcNum")); + busProcessName.setPrcNum(prcNum); busProcessName.setPrcType(prcType); // String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect); // String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId(),reportId); @@ -295,7 +300,7 @@ public class ActivitDefineController { String newId = UUID.randomUUID().toString().replace("-", ""); one.setId(newId); - one.setPrcNum((String) prcNameAndPrcNum.get("prcNum")); + one.setPrcNum(prcNum); // one.setPrcName((String) prcNameAndPrcNum.get("prcName")); one.setPrcName(startProcessEO.getPrcName()); one.setPrcId(pi.getId()); diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java index 077c6cc..773e41c 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java @@ -376,6 +376,7 @@ public class TodoTaskController { wrapper.eq(BusProcessName::getPrcId,task.getProcessInstanceId()); BusProcessName one = iBusProcessNameService.getOne(wrapper); one.setDataId(reportId); + one.setPrcName((String) JSONObject.parseObject(dataJson).get("prcName")); iBusProcessNameService.updateById(one); } return WrapMapper.ok(task.getProcessInstanceId()); @@ -417,6 +418,7 @@ public class TodoTaskController { wrapper.eq(BusProcessName::getPrcId,task.getProcessInstanceId()); BusProcessName one = iBusProcessNameService.getOne(wrapper); one.setDataId(reportId); + one.setPrcName((String) JSONObject.parseObject(dataJson).get("prcName")); iBusProcessNameService.updateById(one); } } else {