[修改] 并发 流程编号重复问题
This commit is contained in:
+7
-2
@@ -233,6 +233,7 @@ public class ActivitDefineController {
|
||||
List<BusProcessName> 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<String, Object> 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());
|
||||
|
||||
+2
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user