[修改] 并发 流程编号重复问题
This commit is contained in:
+7
-2
@@ -233,6 +233,7 @@ public class ActivitDefineController {
|
|||||||
List<BusProcessName> busProcessNames = new ArrayList<>();
|
List<BusProcessName> busProcessNames = new ArrayList<>();
|
||||||
StringBuilder taskIds = new StringBuilder();
|
StringBuilder taskIds = new StringBuilder();
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
for (StartProcessEO startProcessEO : startProcessEOList) {
|
for (StartProcessEO startProcessEO : startProcessEOList) {
|
||||||
startProcessEO.setLoginUserId(UserUtils.getUserId());
|
startProcessEO.setLoginUserId(UserUtils.getUserId());
|
||||||
if(com.adc.da.util.utils.StringUtils.isNotEmpty(startProcessEO.getId())){
|
if(com.adc.da.util.utils.StringUtils.isNotEmpty(startProcessEO.getId())){
|
||||||
@@ -240,6 +241,10 @@ public class ActivitDefineController {
|
|||||||
}
|
}
|
||||||
String prcType = startProcessEO.getPrcType();
|
String prcType = startProcessEO.getPrcType();
|
||||||
Map<String, Object> prcNameAndPrcNum = createPrcNameAndPrcNum(prcType);
|
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"));
|
startProcessEO.setId((String) prcNameAndPrcNum.get("id"));
|
||||||
|
|
||||||
@@ -276,7 +281,7 @@ public class ActivitDefineController {
|
|||||||
busProcessName.setCreatUser(userId);
|
busProcessName.setCreatUser(userId);
|
||||||
UserEO byId = userEoService.getUserById(userId);
|
UserEO byId = userEoService.getUserById(userId);
|
||||||
busProcessName.setCreatUserName(byId.getUsname());
|
busProcessName.setCreatUserName(byId.getUsname());
|
||||||
busProcessName.setPrcNum((String) prcNameAndPrcNum.get("prcNum"));
|
busProcessName.setPrcNum(prcNum);
|
||||||
busProcessName.setPrcType(prcType);
|
busProcessName.setPrcType(prcType);
|
||||||
// String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect);
|
// String data = JSON.toJSONString(dataMsg, SerializerFeature.DisableCircularReferenceDetect);
|
||||||
// String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId(),reportId);
|
// String dateId = activitDefineService.saveOrUpdateDate(prcType,data,task.getId(),pi.getId(),reportId);
|
||||||
@@ -295,7 +300,7 @@ public class ActivitDefineController {
|
|||||||
|
|
||||||
String newId = UUID.randomUUID().toString().replace("-", "");
|
String newId = UUID.randomUUID().toString().replace("-", "");
|
||||||
one.setId(newId);
|
one.setId(newId);
|
||||||
one.setPrcNum((String) prcNameAndPrcNum.get("prcNum"));
|
one.setPrcNum(prcNum);
|
||||||
// one.setPrcName((String) prcNameAndPrcNum.get("prcName"));
|
// one.setPrcName((String) prcNameAndPrcNum.get("prcName"));
|
||||||
one.setPrcName(startProcessEO.getPrcName());
|
one.setPrcName(startProcessEO.getPrcName());
|
||||||
one.setPrcId(pi.getId());
|
one.setPrcId(pi.getId());
|
||||||
|
|||||||
+2
@@ -376,6 +376,7 @@ public class TodoTaskController {
|
|||||||
wrapper.eq(BusProcessName::getPrcId,task.getProcessInstanceId());
|
wrapper.eq(BusProcessName::getPrcId,task.getProcessInstanceId());
|
||||||
BusProcessName one = iBusProcessNameService.getOne(wrapper);
|
BusProcessName one = iBusProcessNameService.getOne(wrapper);
|
||||||
one.setDataId(reportId);
|
one.setDataId(reportId);
|
||||||
|
one.setPrcName((String) JSONObject.parseObject(dataJson).get("prcName"));
|
||||||
iBusProcessNameService.updateById(one);
|
iBusProcessNameService.updateById(one);
|
||||||
}
|
}
|
||||||
return WrapMapper.ok(task.getProcessInstanceId());
|
return WrapMapper.ok(task.getProcessInstanceId());
|
||||||
@@ -417,6 +418,7 @@ public class TodoTaskController {
|
|||||||
wrapper.eq(BusProcessName::getPrcId,task.getProcessInstanceId());
|
wrapper.eq(BusProcessName::getPrcId,task.getProcessInstanceId());
|
||||||
BusProcessName one = iBusProcessNameService.getOne(wrapper);
|
BusProcessName one = iBusProcessNameService.getOne(wrapper);
|
||||||
one.setDataId(reportId);
|
one.setDataId(reportId);
|
||||||
|
one.setPrcName((String) JSONObject.parseObject(dataJson).get("prcName"));
|
||||||
iBusProcessNameService.updateById(one);
|
iBusProcessNameService.updateById(one);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user