法规流程开发。

This commit is contained in:
wangzhijiang
2023-03-20 13:40:42 +08:00
parent 7f242b03cd
commit 0093e118cd
8 changed files with 214 additions and 0 deletions
@@ -495,4 +495,12 @@ public class ProjectLawsInventoryEO implements Serializable {
private String verifyFlowStatus;
@TableField(exist = false)
private String verifyFlowStatusName;
/**验证符合性确认-流程实例id*/
@TableField(exist = false)
private String verifyPId;
/**设计符合性确认-流程实例id*/
@TableField(exist = false)
private String designPId;
}
@@ -12,6 +12,10 @@ public enum ComplianceFlowStatusEnum {
TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"),
RESULTS_TO_BE_SUBMITTED("结果待提交","Results to be submitted","Results to be submitted"),
RESULTS_TO_BE_REVIEWED("结果待审查","Results to be reviewed","Results to be reviewed"),
CONFORMITY("符合","Compliance","Compliance"),
INCONFORMITY("不符合","Non-Compliance","Non-Compliance"),
TO_TRACK("待追踪","To be tracked","To be tracked"),
UNINVOLVED("不涉及","NA","NA")
;
@@ -9,6 +9,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.vo.ProjectTaskUrgVo;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
@@ -182,4 +183,13 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
* @return
*/
Result<?> regulationOwnerReturned(JSONObject json);
/**
* 根据id获取交付物类型展示名称
* @param projectLawsInventoryId
* @param cut
* @param flowType
* @return
*/
String getDeliverableTypeNameById(String projectLawsInventoryId, String cut, String flowType,List<ProjectLawsInventoryEO> projectLawsInventoryEOList,List<SysCategory> categoryList);
}
@@ -5727,6 +5727,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//updateWrapper.set(ProjectLawsInventoryEO::getVerifyDueDate,null);
updateWrapper.set(ProjectLawsInventoryEO::getInventoryAffirmDueDate,null);
updateWrapper.set(ProjectLawsInventoryEO::getTaskAffirmDueDate,null);
updateWrapper.set(ProjectLawsInventoryEO::getDesignFlowStatus,ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
updateWrapper.set(ProjectLawsInventoryEO::getVerifyFlowStatus,ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
super.update(projectLawsInventoryEO, updateWrapper);
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
@@ -10059,5 +10061,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
return Result.OK("退回成功!");
}
@Override
public String getDeliverableTypeNameById(String projectLawsInventoryId, String cut, String flowType,List<ProjectLawsInventoryEO> projectLawsInventoryEOList,List<SysCategory> categoryList) {
String result = "";
for (ProjectLawsInventoryEO lawsInventory : projectLawsInventoryEOList) {
if(StringUtils.equals(projectLawsInventoryId,lawsInventory.getId())){
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
List<String> designDeliverableTypeList = Arrays.asList(lawsInventory.getDesignDeliverableType().split(","));
result = this.getTreeName(cut, categoryList, designDeliverableTypeList);
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
lawsInventory.getVerifyDeliverableType();
List<String> verifyDeliverableTypeList = Arrays.asList(lawsInventory.getVerifyDeliverableType().split(","));
result = this.getTreeName(cut, categoryList, verifyDeliverableTypeList);
}
}
}
return result;
}
}
@@ -0,0 +1,65 @@
package com.jero.modules.todoCenter.enums;
import com.jero.common.constant.enums.CutEnum;
import org.apache.commons.lang3.StringUtils;
/**
* 待办中心-设计符合性流程节点key枚举类
*/
public enum DesignComplianceFlowNodeKeyEnum {
fqlc("发起流程","Initiate the process","fqlc"),
zrrqr("任务责任确认","Confirmation of mission responsibility","zrrqr"), // 责任人确认
dezrrqr("任务责任确认","Confirmation of mission responsibility","dezrrqr"),// 第二责任人确认
zrrtjjfw("设计符合性确认","Design compliance confirmation","zrrtjjfw"),// "责任人提交交付物"
dezrrtjjfw("设计符合性确认","Design compliance confirmation","dezrrtjjfw"),// 第二责任人提交交付物
fggcssh("设计符合性审查","Design compliance review","fggcssh"), // 法规工程师审核
;
String cnName;
String enName;
String value;
private DesignComplianceFlowNodeKeyEnum(String cnName, String enName, String value) {
this.cnName = cnName;
this.enName = enName;
this.value = value;
}
public String getCnName() {
return cnName;
}
public void setCnName(String cnName) {
this.cnName = cnName;
}
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static String getTextByValue(String value,String cut) {
DesignComplianceFlowNodeKeyEnum[] values = values();
for (DesignComplianceFlowNodeKeyEnum todoCenterStatusEnum : values) {
if (todoCenterStatusEnum.value.equals(value)) {
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
return todoCenterStatusEnum.cnName;
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
return todoCenterStatusEnum.enName;
}
}
}
return null;
}
}
@@ -0,0 +1,65 @@
package com.jero.modules.todoCenter.enums;
import com.jero.common.constant.enums.CutEnum;
import org.apache.commons.lang3.StringUtils;
/**
* 待办中心-验证符合性流程节点key枚举类
*/
public enum VerifyComplianceFlowNodeKeyEnum {
fqlc("发起流程","Initiate the process","fqlc"),
zrrqr("任务责任确认","Confirmation of mission responsibility","zrrqr"), // 责任人确认
dezrrqr("任务责任确认","Confirmation of mission responsibility","dezrrqr"),// 第二责任人确认
zrrtjjfw("验证符合性确认","Verify compliance confirmation","zrrtjjfw"),// "责任人提交交付物"
dezrrtjjfw("验证符合性确认","Verify compliance confirmation","dezrrtjjfw"),// 第二责任人提交交付物
fggcssh("验证符合性审查","Verify compliance review","fggcssh"), // 法规工程师审核
;
String cnName;
String enName;
String value;
private VerifyComplianceFlowNodeKeyEnum(String cnName, String enName, String value) {
this.cnName = cnName;
this.enName = enName;
this.value = value;
}
public String getCnName() {
return cnName;
}
public void setCnName(String cnName) {
this.cnName = cnName;
}
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static String getTextByValue(String value,String cut) {
VerifyComplianceFlowNodeKeyEnum[] values = values();
for (VerifyComplianceFlowNodeKeyEnum todoCenterStatusEnum : values) {
if (todoCenterStatusEnum.value.equals(value)) {
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
return todoCenterStatusEnum.cnName;
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
return todoCenterStatusEnum.enName;
}
}
}
return null;
}
}
@@ -24,13 +24,17 @@ import com.jero.modules.project.service.IProjectLawsInventoryEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService;
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
import com.jero.modules.todoCenter.enums.DesignComplianceFlowNodeKeyEnum;
import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum;
import com.jero.modules.todoCenter.enums.VerifyComplianceFlowNodeKeyEnum;
import com.jero.modules.todoCenter.mapper.ProcessInfoEOMapper;
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
@@ -86,6 +90,8 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
@Autowired
private ISysDictService sysDictService;
@Autowired
private SysCategoryServiceImpl sysCategoryService;
/**
* 保存
@@ -590,6 +596,29 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
List<SysUser> createByUserList = this.sysUserService.querySysUserListByIdList(createByUserIdList);
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> projectLawsInventoryIdList = datas.stream().filter(data -> {
boolean flag = false;
if (StringUtils.isNotEmpty(data.getProjectLawsInventoryId())) {
flag = true;
}
return flag;
}).map(ProcessInfoVO::getProjectLawsInventoryId).collect(Collectors.toList());
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = new ArrayList<>();
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryEOQueryWrapper = new QueryWrapper<>();
lawsInventoryEOQueryWrapper.lambda().in(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList);
projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryEOQueryWrapper);
}
List<SysCategory> categoryList = sysCategoryService.list();
for (ProcessInfoVO data : datas) {
// 处理展示的交付物类型信息
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){
String projectLawsInventoryId = data.getProjectLawsInventoryId();
String deliverableTypeName = this.projectLawsInventoryEOService.getDeliverableTypeNameById(projectLawsInventoryId,cut,data.getFlowType(),projectLawsInventoryEOList,categoryList);
data.setDeliverableTypeName(deliverableTypeName);
}
}
datas.forEach(data -> {
// 设置发起人的名称
if(CollectionUtils.isNotEmpty(createByUserList) && StringUtils.isNotEmpty(data.getCreateBy())){
@@ -620,6 +649,13 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
data.setTaskId(currentUserProcessInfoDetailInfos.get(0).getTaskId());
// 设置taskDefinitionKey
data.setTaskDefinitionKey(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey());
String taskDefinitionKeyName = "";
if (StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())) {
taskDefinitionKeyName = DesignComplianceFlowNodeKeyEnum.getTextByValue(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey(),cut);
}else if(StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){
taskDefinitionKeyName = VerifyComplianceFlowNodeKeyEnum.getTextByValue(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey(),cut);
}
data.setTaskDefinitionKeyName(taskDefinitionKeyName);
}
}
});
@@ -92,6 +92,8 @@ public class ProcessInfoVO implements Serializable {
private String taskId;
/**任务节点定义key*/
private String taskDefinitionKey;
/**任务节点定义key展示名称*/
private String taskDefinitionKeyName;
/**项目名称id*/
private String projectNameId;
/**目标市场*/
@@ -111,4 +113,7 @@ public class ProcessInfoVO implements Serializable {
private String projectVersion;
/**主项目id parent_id**/
private String parentId;
/**交付物类型展示名称**/
private String deliverableTypeName;
}