Merge remote-tracking branch 'origin/thirdStage' into thirdApiStage
This commit is contained in:
+10
-3
@@ -83,11 +83,11 @@ public class ProcessApprovalRecord {
|
||||
private String mesg;
|
||||
|
||||
/**
|
||||
* 完成注记(0未完成,1完成)
|
||||
* 完成注记(1进行中,2已完成,3未处理,4已撤回)
|
||||
*/
|
||||
@Dict(dicCode = "prc_node_status")
|
||||
@TableField(value = "finish_flag")
|
||||
@ApiModelProperty(value = "完成注记(1进行中,2已完成)")
|
||||
@ApiModelProperty(value = "完成注记(1进行中,2已完成,3未处理,4已撤回)")
|
||||
private Integer finishFlag;
|
||||
|
||||
/**
|
||||
@@ -98,7 +98,7 @@ public class ProcessApprovalRecord {
|
||||
private String projectId;
|
||||
|
||||
/**
|
||||
* 审批意见(0同意,1不同意)
|
||||
* 审批意见(1通过,2驳回,3未处理)
|
||||
*/
|
||||
@Dict(dicCode = "commit_flag")
|
||||
@TableField(value = "commit_flag")
|
||||
@@ -186,4 +186,11 @@ public class ProcessApprovalRecord {
|
||||
*/
|
||||
@ApiModelProperty(value = "节点id")
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 完成注记 搜索用
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "完成注记 搜索用")
|
||||
private String finishFlagSearch;
|
||||
}
|
||||
@@ -16,6 +16,7 @@ public enum FinishFlagEnum {
|
||||
INCOMPLETE("未完成", 1),
|
||||
COMPLETE("完成", 2),
|
||||
SUSPEND("暂停", 3),
|
||||
WITHDRAWN("已撤回", 4)
|
||||
;
|
||||
|
||||
private String name;
|
||||
|
||||
@@ -29,7 +29,7 @@ public enum ProcessTypeEnum {
|
||||
ES_ENABLE("已封存企标启用流程",15, "com.jero.modules.activiti.process.esEnable.service.impl.ProcessEsEnableServiceImpl"),
|
||||
ES_INSPECT_PLAN("企标稽查计划", 16, "com.jero.modules.activiti.process.esinspectplan.service.impl.EsInspectPlanFlow"),
|
||||
ES_INSPECT("企标稽查流程", 17, "com.jero.modules.activiti.process.esinspect.service.impl.EsInspectFlow"),
|
||||
ES_INSPECT_DELAY_APPLY("稽查延期申请流程", 18, "com.jero.modules.activiti.process.esinspectdelayapply.service.impl.EsInspectDelayApplyFlowServiceImpl"),
|
||||
ES_INSPECT_DELAY_APPLY("稽查延期申请流程", 18, "com.jero.modules.activiti.process.esinspectdelayapply.service.impl.EsInspectDelayApplyFlow"),
|
||||
ES_INSPECT_REPORT("企标稽查整改", 19, "com.jero.modules.activiti.process.esinspectrectify.service.impl.EsInspectRectifyFlow"),
|
||||
PERMISSION_APPLY_PROCESS("权限申请流程", 20, "com.jero.modules.activiti.process.espermissionapply.service.impl.EsPermissionApplyFlow"),
|
||||
STANDARD_DECLARE("标准宣贯流程", 21, "com.jero.modules.activiti.process.esdeclare.service.impl.EsDeclareFlow"),
|
||||
|
||||
+1
-4
@@ -138,10 +138,7 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
approvalRecord.setUserId(assignee);
|
||||
approvalRecord.setOriginUserId(assignee);
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.INCOMPLETE.getValue());
|
||||
// 加一秒,解决流程审批信息发起节点和下一节点创建时间一致,排序错乱问题
|
||||
Date date = new Date();
|
||||
date.setTime(createTime.getTime() + 1000);
|
||||
approvalRecord.setCreateTime(date);
|
||||
approvalRecord.setCreateTime(createTime);
|
||||
approvalRecord.setNodeId(taskDefinitionKey);
|
||||
recordService.save(approvalRecord);
|
||||
|
||||
|
||||
+18
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
@@ -15,6 +16,7 @@ import com.jero.modules.activiti.process.common.common.DraftCommon;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.entity.StandTypeVO;
|
||||
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
|
||||
@@ -25,6 +27,8 @@ import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
@@ -76,6 +80,9 @@ public class ActFlowCommonService {
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
/**
|
||||
* 启动流程实例
|
||||
*/
|
||||
@@ -474,4 +481,15 @@ public class ActFlowCommonService {
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
return processInfoVO;
|
||||
}
|
||||
|
||||
public void checkStandardState(String standardId) {
|
||||
LawsEnterpriseStandard es = esService.getById(standardId);
|
||||
if (es != null) {
|
||||
String standardState = es.getStandardState();
|
||||
if (StandardStateEnum.ABOLISH.getStateValue().equals(standardState) ||
|
||||
StandardStateEnum.ARCHIVE.getStateValue().equals(standardState)) {
|
||||
throw new JeroBootException(ResultCommon.CAN_NOT_EDIT_ABOLISH_OR_ARCHIVE_ES);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+31
-23
@@ -15,11 +15,9 @@ import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
|
||||
import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO;
|
||||
import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitFlowUserVO;
|
||||
import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService;
|
||||
import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
@@ -516,33 +514,42 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
}
|
||||
|
||||
private void cleanData(List<ProcessEsAnnualInit> list) {
|
||||
List<String> originStandardNoList = list.stream().map(ProcessEsAnnualInit::getOriginEnStandardNo).collect(Collectors.toList());
|
||||
// List<String> originStandardNoList = list.stream().map(ProcessEsAnnualInit::getOriginEnStandardNo).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
esWrapper.in(LawsEnterpriseStandard::getStandardNumber, originStandardNoList);
|
||||
List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(esWrapper);
|
||||
// 转换成key为企标编号的map
|
||||
Map<String, LawsEnterpriseStandard> esMap = esList.stream().collect(Collectors.toMap(LawsEnterpriseStandard::getStandardNumber, item -> item));
|
||||
// LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
// esWrapper.in(LawsEnterpriseStandard::getStandardNumber, originStandardNoList);
|
||||
// List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(esWrapper);
|
||||
// // 转换成key为企标编号的map
|
||||
// Map<String, LawsEnterpriseStandard> esMap = esList.stream().collect(Collectors.toMap(LawsEnterpriseStandard::getStandardNumber, item -> item));
|
||||
|
||||
list.forEach(item -> {
|
||||
// 如果是制定则去除掉所有的原企标名称 原企标编号
|
||||
if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) {
|
||||
item.setOriginEnStandardName(null);
|
||||
item.setOriginEnStandardNo(null);
|
||||
String decadeCode = item.getDecadeCode();
|
||||
if (StrUtil.isBlank(decadeCode)) {
|
||||
// 获取当前年份
|
||||
Calendar date = Calendar.getInstance();
|
||||
String curYearNumber = String.valueOf(date.get(Calendar.YEAR));
|
||||
item.setDecadeCode(curYearNumber);
|
||||
}
|
||||
// 设置变更状态 制定是新增 修订是变更
|
||||
item.setChangeStatus("1");
|
||||
item.setChangeStatus(ESPChangeType.ADD.getValue());
|
||||
} else {
|
||||
item.setChangeStatus("2");
|
||||
item.setOriginEnStandardNo(esMap.get(item.getOriginEnStandardNo()).getStandardName());
|
||||
item.setEnStandardCode(esMap.get(item.getOriginEnStandardNo()).getStandardCode());
|
||||
item.setEnNameCode(esMap.get(item.getOriginEnStandardNo()).getNameCode());
|
||||
item.setStandardCategoryCode(esMap.get(item.getOriginEnStandardNo()).getCategoryCode());
|
||||
item.setChangeStatus(ESPChangeType.CHANGE.getValue());
|
||||
}
|
||||
// 如果标准等级分类是0级或3级,则需要将授权部门置空
|
||||
if (item.getEnStandardClassification().equals("1") || item.getEnStandardClassification().equals("4")) {
|
||||
item.setAuthDept(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void transToDictValue(List<ProcessEsAnnualInit> list, List<SysDictItemCore> listDict) {
|
||||
list.forEach(item -> {
|
||||
item.setProjectType(excelUtils.translateDictValue("esp_revision_type", item.getProjectType(), listDict));
|
||||
item.setEnStandardCode(excelUtils.translateDictValue("enterprise_standard_code", item.getEnStandardCode(), listDict));
|
||||
item.setAuthDept(excelUtils.translateDictValue("depart_name", "id", "sys_depart", item.getAuthDept(), listDict));
|
||||
item.setCooperationUnit(excelUtils.translateDictValue("depart_name", "id", "sys_depart", item.getCooperationUnit(), listDict));
|
||||
item.setMainDraftingUser(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getMainDraftingUser(), listDict));
|
||||
@@ -552,10 +559,8 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
item.setEnStandardSystem(excelUtils.translateDictValue("node_name", "id", "laws_tree_node", item.getEnStandardSystem(), listDict));
|
||||
item.setContactUser(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getContactUser(), listDict));
|
||||
item.setStandardType(excelUtils.translateDictValue("esp_standard_type", item.getStandardType(), listDict));
|
||||
item.setEnStandardCode(excelUtils.translateDictValue("enterprise_standard_code", item.getEnStandardCode(), listDict));
|
||||
item.setEnStandardClassification(excelUtils.translateDictValue("standard_grade_classify", item.getEnStandardClassification(), listDict));
|
||||
item.setComponentName(excelUtils.translateDictValue("part_name", item.getComponentName(), listDict));
|
||||
item.setProjectType(excelUtils.translateDictValue("esp_revision_type", item.getProjectType(), listDict));
|
||||
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
|
||||
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
||||
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
||||
@@ -563,6 +568,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
}
|
||||
|
||||
private List<String> validationList(List<ProcessEsAnnualInit> list, List<SysDictItemCore> listDict) {
|
||||
// 找到各标准等级的授权部门
|
||||
Map<String, List<String>> authDeptMap = excelUtils.getAllLevelAuthDeptMap();
|
||||
|
||||
List<LawsEnterpriseStandard> esList = enterpriseStandardService.list();
|
||||
List<String> errorMsgs = new ArrayList<>();
|
||||
|
||||
@@ -587,7 +595,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
String contactUser = plan.getContactUser();
|
||||
String standardSystem = plan.getEnStandardSystem();
|
||||
String standardType = plan.getStandardType();
|
||||
String enStandardClassification = plan.getEnStandardClassification();
|
||||
String standardClassification = plan.getEnStandardClassification();
|
||||
String enStandardCode = plan.getEnStandardCode();
|
||||
String partName = plan.getComponentName();
|
||||
String draftPlannedCompleteDateString = plan.getDraftPlannedCompleteDateString();
|
||||
@@ -600,8 +608,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
|
||||
// 检查制修订类型 编号 名称
|
||||
errMsg.append(validProjectType(plan, listDict, esList));
|
||||
// 检查标准等级分类和授权部门
|
||||
errMsg.append(excelUtils.validAuthDept(authDept, listDict, standardClassification, authDeptMap));
|
||||
// 检查所有数据字典校验的字段
|
||||
errMsg.append(excelUtils.validAuthDept(authDept, listDict));
|
||||
errMsg.append(excelUtils.validCooperateUnit(cooperationUnit, listDict));
|
||||
errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict));
|
||||
errMsg.append(excelUtils.validMainDraftingUnit(mainDraftingUnit, listDict));
|
||||
@@ -611,11 +620,10 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
errMsg.append(excelUtils.validContactUser(contactUser, listDict));
|
||||
errMsg.append(excelUtils.validStandardType(standardType, listDict));
|
||||
errMsg.append(excelUtils.validStandardCode(enStandardCode, listDict));
|
||||
errMsg.append(excelUtils.validStandardClassification(enStandardClassification, listDict));
|
||||
errMsg.append(excelUtils.validPartName(partName, listDict));
|
||||
errMsg.append(excelUtils.validSingleDate(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDate(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDate(planApprovalDateString, "计划报批日期"));
|
||||
errMsg.append(excelUtils.validSingleDateNotBeforeToday(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateNotBeforeToday(planApprovalDateString, "计划报批日期"));
|
||||
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
|
||||
if (errMsg.length() > 0) {
|
||||
errorMsgs.add(errMsgHeader.append(errMsg).toString());
|
||||
|
||||
+32
-19
@@ -16,6 +16,7 @@ import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualRe
|
||||
import com.jero.modules.activiti.process.esAnnualReport.entity.vo.AnnualReportDataVO;
|
||||
import com.jero.modules.activiti.process.esAnnualReport.mapper.ProcessEsAnnualReportMapper;
|
||||
import com.jero.modules.activiti.process.esAnnualReport.service.ProcessEsAnnualReportService;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
@@ -393,27 +394,34 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
}
|
||||
|
||||
private void cleanData(List<ProcessEsAnnualReport> list) {
|
||||
List<String> originStandardNoList = list.stream().map(ProcessEsAnnualReport::getOriginEnStandardNo).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
esWrapper.in(LawsEnterpriseStandard::getStandardNumber, originStandardNoList);
|
||||
List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(esWrapper);
|
||||
// 转换成key为企标编号的map
|
||||
Map<String, LawsEnterpriseStandard> esMap = esList.stream().collect(Collectors.toMap(LawsEnterpriseStandard::getStandardNumber, item -> item));
|
||||
// List<String> originStandardNoList = list.stream().map(ProcessEsAnnualReport::getOriginEnStandardNo).collect(Collectors.toList());
|
||||
//
|
||||
// LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
// esWrapper.in(LawsEnterpriseStandard::getStandardNumber, originStandardNoList);
|
||||
// List<LawsEnterpriseStandard> esList = enterpriseStandardService.list(esWrapper);
|
||||
// // 转换成key为企标编号的map
|
||||
// Map<String, LawsEnterpriseStandard> esMap = esList.stream().collect(Collectors.toMap(LawsEnterpriseStandard::getStandardNumber, item -> item));
|
||||
|
||||
list.forEach(item -> {
|
||||
// 如果是制定则去除掉所有的原企标名称 原企标编号
|
||||
if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) {
|
||||
item.setOriginEnStandardName(null);
|
||||
item.setOriginEnStandardNo(null);
|
||||
String decadeCode = item.getDecadeCode();
|
||||
if (StrUtil.isBlank(decadeCode)) {
|
||||
// 获取当前年份
|
||||
Calendar date = Calendar.getInstance();
|
||||
String curYearNumber = String.valueOf(date.get(Calendar.YEAR));
|
||||
item.setDecadeCode(curYearNumber);
|
||||
}
|
||||
// 设置变更状态 制定是新增 修订是变更
|
||||
item.setChangeStatus("1");
|
||||
item.setChangeStatus(ESPChangeType.ADD.getValue());
|
||||
} else {
|
||||
item.setChangeStatus("2");
|
||||
item.setOriginEnStandardName(esMap.get(item.getOriginEnStandardNo()).getStandardName());
|
||||
item.setEnStandardCode(esMap.get(item.getOriginEnStandardNo()).getStandardCode());
|
||||
item.setEnNameCode(esMap.get(item.getOriginEnStandardNo()).getNameCode());
|
||||
item.setStandardCategoryCode(esMap.get(item.getOriginEnStandardNo()).getCategoryCode());
|
||||
item.setChangeStatus(ESPChangeType.CHANGE.getValue());
|
||||
}
|
||||
// 如果标准等级分类是0级或3级,则需要将授权部门置空
|
||||
if (item.getEnStandardClassification().equals("1") || item.getEnStandardClassification().equals("4")) {
|
||||
item.setAuthDept(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -428,8 +436,10 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
item.setMainDraftingUnit(excelUtils.translateDictValue("depart_name", "id", "sys_depart", item.getMainDraftingUnit(), listDict));
|
||||
item.setMainDraftingUnitResponsiblePerson(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getMainDraftingUnitResponsiblePerson(), listDict));
|
||||
item.setStandardPromoter(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getStandardPromoter(), listDict));
|
||||
item.setWorkGroup(excelUtils.translateDictValue("name", "id", "laws_working_group", item.getWorkGroup(), listDict));
|
||||
item.setEnStandardSystem(excelUtils.translateDictValue("node_name", "id", "laws_tree_node", item.getEnStandardSystem(), listDict));
|
||||
item.setWorkGroup(excelUtils.translateDictValue("name", "id", "laws_working_group", item.getWorkGroup(), listDict));
|
||||
item.setStandardType(excelUtils.translateDictValue("esp_standard_type", item.getStandardType(), listDict));
|
||||
item.setEnStandardClassification(excelUtils.translateDictValue("standard_grade_classify", item.getEnStandardClassification(), listDict));
|
||||
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
|
||||
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
||||
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
||||
@@ -437,6 +447,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
}
|
||||
|
||||
private List<String> validationList(List<ProcessEsAnnualReport> list, List<SysDictItemCore> listDict) {
|
||||
// 找到各标准等级的授权部门
|
||||
Map<String, List<String>> authDeptMap = excelUtils.getAllLevelAuthDeptMap();
|
||||
|
||||
List<LawsEnterpriseStandard> esList = enterpriseStandardService.list();
|
||||
List<String> errorMsgs = new ArrayList<>();
|
||||
|
||||
@@ -472,8 +485,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
|
||||
// 检查制修订类型 编号 名称
|
||||
errMsg.append(validProjectType(plan, listDict, esList));
|
||||
// 检查标准等级分类和授权部门
|
||||
errMsg.append(excelUtils.validAuthDept(authDept, listDict, standardClassification, authDeptMap));
|
||||
// 检查所有数据字典校验的字段
|
||||
errMsg.append(excelUtils.validAuthDept(authDept, listDict));
|
||||
errMsg.append(excelUtils.validCooperateUnit(cooperationUnit, listDict));
|
||||
errMsg.append(excelUtils.validMainDraftingUser(mainDraftingUser, listDict));
|
||||
errMsg.append(excelUtils.validMainDraftingUnit(mainDraftingUnit, listDict));
|
||||
@@ -482,10 +496,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
errMsg.append(excelUtils.validWorkGroup(workGroup, listDict));
|
||||
errMsg.append(excelUtils.validStandardSystem(standardSystem, listDict));
|
||||
errMsg.append(excelUtils.validStandardType(standardType, listDict));
|
||||
errMsg.append(excelUtils.validStandardClassification(standardClassification, listDict));
|
||||
errMsg.append(excelUtils.validSingleDateMustInput(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInput(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInput(planApprovalDateString, "计划报批日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(planApprovalDateString, "计划报批日期"));
|
||||
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
|
||||
if (errMsg.length() > 0) {
|
||||
errorMsgs.add(errMsgHeader.append(errMsg).toString());
|
||||
|
||||
+8
-1
@@ -11,6 +11,7 @@ import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
@@ -24,6 +25,8 @@ import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import com.jero.modules.system.service.ISysUserDepartService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -163,7 +166,11 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
}
|
||||
|
||||
public void startRunTask(ESChangeDataVO changeData) {
|
||||
// do nothing now
|
||||
// 如果标准当前状态是废止或封存,不能发起变更流程
|
||||
ProcessEsChange data = changeData.getData();
|
||||
if (data != null) {
|
||||
actFlowCommonService.checkStandardState(data.getStandardId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+8
@@ -502,6 +502,14 @@ public class ProcessEsInitChange implements Serializable {
|
||||
@ApiModelProperty(value = "配合单位")
|
||||
private String cooperationUnit;
|
||||
|
||||
/**
|
||||
* 隶属工作组
|
||||
*/
|
||||
@Dict(dictTable = "laws_working_group", dicCode = "id", dicText = "name")
|
||||
@ApiModelProperty(value = "隶属工作组")
|
||||
private String workGroup;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1781238971297838971L;
|
||||
}
|
||||
+21
-4
@@ -4,7 +4,6 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -13,9 +12,9 @@ import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.EsInitChangeConstant;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPApplicationCategoryEnum;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
@@ -29,7 +28,9 @@ import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
@@ -42,7 +43,6 @@ import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
@@ -90,6 +90,9 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
@Resource
|
||||
private ILawsCommonService commonService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardPlanService espService;
|
||||
|
||||
@Override
|
||||
public void startProcess(InitChangeDataVO initChangeData) {
|
||||
// 发起的时候校验标准编号是是否重复
|
||||
@@ -331,8 +334,22 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
List<ProcessEsInitChange> esInitChangeList = initChangeData.getDataList();
|
||||
// 校验企标编号是否冲突
|
||||
ProcessEsInitChange initChange = esInitChangeList.get(0);
|
||||
// 如果是变更流程,则需要撤回制修订流程
|
||||
if (ESPApplicationCategoryEnum.CHANGE.getValue().equals(initChange.getApplicationCategory())) {
|
||||
// 如果是变更流程,则需要判断计划是否有效
|
||||
Set<String> espIdSet = esInitChangeList.stream().map(ProcessEsInitChange::getEspId).collect(Collectors.toSet());
|
||||
List<EnterpriseStandardPlan> esplist = espService.list(new LambdaQueryWrapper<EnterpriseStandardPlan>().in(EnterpriseStandardPlan::getId, espIdSet));
|
||||
if (esplist == null || esplist.size() != espIdSet.size()) {
|
||||
throw new JeroBootException(ResultCommon.INVALID_ESP);
|
||||
}
|
||||
// 如果是责任部门变更,需要判断计划是否已经逾期
|
||||
if (ESPProjectType.RESPONSIBLE_DEPT_CHANGE.getValue().equals(initChange.getProjectType())) {
|
||||
for (EnterpriseStandardPlan esp : esplist) {
|
||||
if (esp.getProjectStatus().equals(ESPProjectStatus.OVERDUE.getValue())) {
|
||||
throw new JeroBootException(ResultCommon.INVALID_ESP);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 如果是变更流程,则需要撤回制修订流程
|
||||
List<String> espIdList = initChangeData.getDataList().stream().map(ProcessEsInitChange::getEspId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ProcessEsRevision> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(ProcessEsRevision::getEspId, espIdList);
|
||||
|
||||
+11
-6
@@ -10,6 +10,7 @@ import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.jero.modules.activiti.process.esRecheck.entity.ProcessEsRecheck;
|
||||
import com.jero.modules.activiti.process.esRecheck.entity.vo.ESRecheckDataVO;
|
||||
import com.jero.modules.activiti.process.esRecheck.service.ProcessEsRecheckService;
|
||||
@@ -34,15 +35,15 @@ import java.util.*;
|
||||
import static com.jero.modules.activiti.process.esRecheck.entity.RecheckTaskNameConstant.*;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_recheck(企业标准)】的数据库操作Service实现
|
||||
* @createDate 2023-10-29 21:00:54
|
||||
*/
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_es_recheck(企业标准)】的数据库操作Service实现
|
||||
* @createDate 2023-10-29 21:00:54
|
||||
*/
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
@Service
|
||||
public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMapper, ProcessEsRecheck>
|
||||
implements ProcessEsRecheckService{
|
||||
implements ProcessEsRecheckService {
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
@@ -179,7 +180,11 @@ public class ProcessEsRecheckServiceImpl extends ServiceImpl<ProcessEsRecheckMap
|
||||
}
|
||||
|
||||
public void startRunTask(ESRecheckDataVO recheckData) {
|
||||
// do nothing now
|
||||
// 如果标准当前状态是废止或封存,不能发起变更流程
|
||||
ProcessEsRecheck data = recheckData.getData();
|
||||
if (data != null) {
|
||||
actFlowCommonService.checkStandardState(data.getStandardId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+7
-1
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
@@ -159,7 +160,12 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
}
|
||||
|
||||
public void startRunTask(ESRevisionDataVO revisionData) {
|
||||
// do nothing now
|
||||
// 检查企标计划是否已被删除
|
||||
String espId = revisionData.getData().getEspId();
|
||||
EnterpriseStandardPlan esp = espService.getById(espId);
|
||||
if (esp == null) {
|
||||
throw new JeroBootException(ResultCommon.INVALID_ESP);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+9
-1
@@ -1,5 +1,8 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
@@ -11,6 +14,7 @@ import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
@@ -111,6 +115,9 @@ public class EsDeclareFlowServiceImpl implements IEsDeclareFlowService {
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.STANDARD_DECLARE.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -193,7 +200,8 @@ public class EsDeclareFlowServiceImpl implements IEsDeclareFlowService {
|
||||
EsDeclareFlowVO esDeclareFlowVO = new EsDeclareFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+9
-1
@@ -1,5 +1,8 @@
|
||||
package com.jero.modules.activiti.process.esinspect.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
@@ -9,6 +12,7 @@ import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
@@ -124,6 +128,9 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -281,7 +288,8 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
|
||||
EsInspectFlowVO esInspectFlowVO = new EsInspectFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+5
-1
@@ -8,6 +8,7 @@ import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
@@ -105,6 +106,8 @@ public class EsInspectDelayApplyFlowServiceImpl implements IEsInspectDelayApplyF
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_DELAY_APPLY.getValue()));
|
||||
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -193,7 +196,8 @@ public class EsInspectDelayApplyFlowServiceImpl implements IEsInspectDelayApplyF
|
||||
EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO = new EsInspectDelayApplyFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+9
-1
@@ -1,5 +1,8 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
@@ -12,6 +15,7 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
@@ -122,6 +126,9 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue()));
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -237,7 +244,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
EsInspectPlanFlowVO esInspectPlanFlowVO = new EsInspectPlanFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+1
-1
@@ -386,7 +386,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
|
||||
errorList.add("标准化组对接人不能为空!");
|
||||
}
|
||||
// 填充创建人
|
||||
processEsInspectPlan.setCreateBy(loginUser.getId());
|
||||
processEsInspectPlan.setCreateBy(loginUser.getUsername());
|
||||
processEsInspectPlan.setCreateByDictText(loginUser.calcNameWorkNo());
|
||||
return errorList;
|
||||
}
|
||||
|
||||
+9
-1
@@ -1,5 +1,8 @@
|
||||
package com.jero.modules.activiti.process.esinspectrectify.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
@@ -11,6 +14,7 @@ import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
@@ -98,6 +102,9 @@ public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowSer
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_REPORT.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -153,7 +160,8 @@ public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowSer
|
||||
EsInspectRectifyFlowVO esInspectReportFlowVO = new EsInspectRectifyFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+9
-1
@@ -1,5 +1,8 @@
|
||||
package com.jero.modules.activiti.process.espermissionapply.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
@@ -9,6 +12,7 @@ import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
@@ -92,6 +96,9 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.PERMISSION_APPLY_PROCESS.getValue()));
|
||||
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -162,7 +169,8 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
|
||||
EsPermissionApplyFlowVO esPermissionApplyFlowVO = new EsPermissionApplyFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+78
-1
@@ -39,11 +39,14 @@ import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
||||
import com.jero.modules.laws.standardization.entity.LawsStandardization;
|
||||
import com.jero.modules.laws.standardization.service.ILawsStandardizationService;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.tag.entity.LawsTag;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -85,6 +88,9 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Resource
|
||||
private ISysDepartService sysDepartService;
|
||||
|
||||
@Resource
|
||||
private ISysDictService dictService;
|
||||
|
||||
@@ -168,6 +174,11 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_ENTRY_CHANGE.getValue()); // 流程类型
|
||||
// 重复性校验
|
||||
duplicateCheck(processInfoVO.getBusinessId());
|
||||
// 删除自己的草稿
|
||||
String draftId = processInfoVO.getDraftId();
|
||||
if (StringUtils.isNotBlank(draftId)) {
|
||||
processDraftService.removeById(draftId);
|
||||
}
|
||||
processHandleService.startProcess(processInfoVO);
|
||||
|
||||
// 保存草稿用于强制撤销
|
||||
@@ -463,7 +474,18 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
Object read = JSONPath.read(businessJson, "$.dynamic_type");
|
||||
String text = dictService.queryDictText("POWER_TYPE_DOMESTIC", read.toString());
|
||||
jsonObject.put("dynamic_type_dictText", text);
|
||||
|
||||
}
|
||||
// 国内标准类别
|
||||
if (businessJson.contains("standard_class")){
|
||||
Object read = JSONPath.read(businessJson, "$.standard_class");
|
||||
String text = dictService.queryDictText("standard_type", read.toString());
|
||||
jsonObject.put("standard_class_dictText", text);
|
||||
}
|
||||
// 国内适用车型
|
||||
if (businessJson.contains("applicable_vehicle")){
|
||||
Object read = JSONPath.read(businessJson, "$.applicable_vehicle");
|
||||
String text = dictService.queryDictText("APPLICATIONS_DOMESTIC", read.toString());
|
||||
jsonObject.put("applicable_vehicle_dictText", text);
|
||||
}
|
||||
}else {
|
||||
processFbEntryChange.setSource_dictText("海外");
|
||||
@@ -473,6 +495,18 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
String text = dictService.queryDictText("POWER_TYPE_DOMESTIC_OVERSEAS", read.toString());
|
||||
jsonObject.put("dynamic_type_dictText", text);
|
||||
}
|
||||
// 海外标准类别
|
||||
if (businessJson.contains("standard_class")){
|
||||
Object read = JSONPath.read(businessJson, "$.standard_class");
|
||||
String text = dictService.queryDictText("standard_type_overseas", read.toString());
|
||||
jsonObject.put("standard_class_dictText", text);
|
||||
}
|
||||
// 海外适用车型
|
||||
if (businessJson.contains("applicable_vehicle")){
|
||||
Object read = JSONPath.read(businessJson, "$.applicable_vehicle");
|
||||
String text = dictService.queryDictText("APPLICATIONS_OVERSEAS", read.toString());
|
||||
jsonObject.put("applicable_vehicle_dictText", text);
|
||||
}
|
||||
}
|
||||
if ("1".equals(processFbEntryChange.getOperateType())){
|
||||
processFbEntryChange.setOperateType_dictText("标准法规入库");
|
||||
@@ -491,6 +525,43 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
LawsStandardization lawsStandardization = lawsStandardizationService.getById(String.valueOf(read));
|
||||
jsonObject.put("bidding_committee_dictText", !Objects.isNull(lawsStandardization) ? lawsStandardization.getName() : "");
|
||||
}
|
||||
// 标准状态
|
||||
if (businessJson.contains("standard_status")){
|
||||
Object read = JSONPath.read(businessJson, "$.standard_status");
|
||||
String text = dictService.queryDictText("standard_status", read.toString());
|
||||
jsonObject.put("standard_status_dictText", text);
|
||||
}
|
||||
// 标准性质
|
||||
if (businessJson.contains("standard_property")){
|
||||
Object read = JSONPath.read(businessJson, "$.standard_property");
|
||||
String text = dictService.queryDictText("standard_property", read.toString());
|
||||
jsonObject.put("standard_property_dictText", text);
|
||||
}
|
||||
// 标准体系
|
||||
if (businessJson.contains("standard_system")){
|
||||
Object read = JSONPath.read(businessJson, "$.standard_system");
|
||||
String text = dictService.queryDictText("standard_system", read.toString());
|
||||
jsonObject.put("standard_system_dictText", text);
|
||||
}
|
||||
// 责任部门
|
||||
if (businessJson.contains("responsible_department")){
|
||||
Object read = JSONPath.read(businessJson, "$.responsible_department");
|
||||
List<SysDepart> sysDepartList = sysDepartService.listByIds(Arrays.asList(String.valueOf(read.toString()).split(",")));
|
||||
jsonObject.put("responsible_department_dictText", CollectionUtils.isNotEmpty(sysDepartList) ?
|
||||
sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.joining(",")) : "");
|
||||
}
|
||||
// 企业参与情况
|
||||
if (businessJson.contains("enterprise_participation")){
|
||||
Object read = JSONPath.read(businessJson, "$.enterprise_participation");
|
||||
String text = dictService.queryDictText("yn", read.toString());
|
||||
jsonObject.put("enterprise_participation_dictText", text);
|
||||
}
|
||||
// 适用认证
|
||||
if (businessJson.contains("applicable_certification")){
|
||||
Object read = JSONPath.read(businessJson, "$.applicable_certification");
|
||||
String text = dictService.queryDictText("applicable_certification", read.toString());
|
||||
jsonObject.put("applicable_certification_dictText", text);
|
||||
}
|
||||
processFbEntryChange.setBusinessJson(jsonObject.toJSONString());
|
||||
}
|
||||
@Override
|
||||
@@ -501,4 +572,10 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
new LambdaQueryWrapper<ProcessFbEntryChange>()
|
||||
.eq(ProcessFbEntryChange::getId, processAll.getProjectId()));
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
for (int i = 0; i < 103; i++) {
|
||||
System.out.println(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -15,6 +15,7 @@ import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.fb.common.ConsultationNodeSort;
|
||||
import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey;
|
||||
import com.jero.modules.activiti.process.fb.common.FbCommon;
|
||||
@@ -86,6 +87,9 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
@Resource
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
public static final String EXCEPTION = "目前还未开发,请联系管理员";
|
||||
|
||||
@@ -113,6 +117,12 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
||||
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.FB_STANDARD_CONSULTATION)); // 流程定义id
|
||||
// basicProcessInfoDTO.setProcessName(businessInfoDTO.getStandardNumber() + "-" + businessInfoDTO.getStandardName() + "-" + "征求意见"); // 流程名称
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_CONSULTATION.getValue()); // 流程类型
|
||||
|
||||
// 删除自己的草稿
|
||||
String draftId = processInfoVO.getDraftId();
|
||||
if (StringUtils.isNotBlank(draftId)) {
|
||||
processDraftService.removeById(draftId);
|
||||
}
|
||||
processHandleService.startProcess(processInfoVO);
|
||||
|
||||
// 把各部所主管级领导数据存入关联人员表
|
||||
@@ -125,6 +135,11 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
||||
linkList.add(link);
|
||||
});
|
||||
processFbConsultationUserLinkService.saveBatch(linkList, linkList.size());
|
||||
|
||||
// 保存草稿用于强制撤销
|
||||
processInfoVO.setSaveSource("3");
|
||||
processInfoVO.getBasicTaskInfoDTO().setTaskId(null);
|
||||
saveToDraft(processInfoVO);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+14
@@ -8,6 +8,7 @@ import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.UUIDUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardPurchase;
|
||||
@@ -48,6 +49,9 @@ public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl<ProcessFbS
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/11/14 14:08
|
||||
@@ -81,7 +85,17 @@ public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl<ProcessFbS
|
||||
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.FB_STANDARD_PURCHASE)); // 流程定义id
|
||||
basicProcessInfoDTO.setProcessName(processName); // 流程名称
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_PURCHASE.getValue()); // 流程类型
|
||||
// 删除自己的草稿
|
||||
String draftId = processInfoVO.getDraftId();
|
||||
if (StringUtils.isNotBlank(draftId)) {
|
||||
processDraftService.removeById(draftId);
|
||||
}
|
||||
processHandleService.startProcess(processInfoVO);
|
||||
|
||||
// 保存草稿用于强制撤销
|
||||
processInfoVO.setSaveSource("3");
|
||||
processInfoVO.getBasicTaskInfoDTO().setTaskId(null);
|
||||
saveToDraft(processInfoVO);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
-3
@@ -463,7 +463,9 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
if (StringUtils.isNotBlank(taskId)) {
|
||||
deleteWrapper.eq(ProcessDraft::getTaskId, taskId);
|
||||
}
|
||||
deleteWrapper.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE);
|
||||
deleteWrapper.and(qw ->
|
||||
qw.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE)
|
||||
.or().isNull(ProcessDraft::getSaveSource));
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(deleteWrapper);
|
||||
for (ProcessDraft processDraft : processDraftList) {
|
||||
processDraftService.removeById(processDraft.getId());
|
||||
@@ -488,7 +490,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
if (StringUtils.isNotBlank(taskId)) {
|
||||
deleteWrapper.eq(ProcessDraft::getTaskId, taskId);
|
||||
}
|
||||
deleteWrapper.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE);
|
||||
deleteWrapper.and(qw -> qw.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE)
|
||||
.or().isNull(ProcessDraft::getSaveSource));
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(deleteWrapper);
|
||||
for (ProcessDraft processDraft : processDraftList) {
|
||||
processDraftService.removeById(processDraft.getId());
|
||||
@@ -548,7 +551,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
} else {
|
||||
// 流程信息
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId));
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
if (!Objects.isNull(processAll)) {
|
||||
basicProcessInfoDTO.setProcessInstanceId(processAll.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessType(processAll.getPrcType());
|
||||
|
||||
+7
-1
@@ -1,5 +1,8 @@
|
||||
package com.jero.modules.activiti.process.meetingmanage.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
@@ -108,6 +111,8 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.MEETING_MANAGE.getValue()));
|
||||
DateTime date = DateUtil.date();
|
||||
processAll.setPrcNum(DateUtil.format(date, DatePattern.PURE_DATETIME_MS_PATTERN));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
@@ -182,7 +187,8 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
|
||||
MeetingManageFlowVO meetingManageFlowVO = new MeetingManageFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
.eq(ProcessAll::getProjectId, projectId)
|
||||
.orderByDesc(ProcessAll::getCreateTime), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
|
||||
+3
@@ -5,6 +5,7 @@ package com.jero.modules.activiti.process.projectstandard.common;
|
||||
* @date 2024-01-15 17:25
|
||||
*/
|
||||
public class ProcessProjectStandardCommon {
|
||||
public static final String PASS = "pass";
|
||||
|
||||
public static final String STANDARDS_ENGINEER = "standardsEngineer";
|
||||
public static final String MANAGER_LEADER_LIST = "managerLeaderList";
|
||||
@@ -12,6 +13,8 @@ public class ProcessProjectStandardCommon {
|
||||
public static final String MODULE_OWNER_LIST_SIZE = "moduleOwnerListSize";
|
||||
public static final String DESIGN_ENGINEER_LIST = "designEngineerList";
|
||||
public static final String DESIGN_ENGINEER_LIST_SIZE = "designEngineerListSize";
|
||||
public static final String NOT_INVOLVED_MODULE_OWNER_LIST_SIZE = "notInvolvedModuleOwnerListSize";
|
||||
public static final String NOT_INVOLVED_MODULE_OWNER_LIST = "notInvolvedModuleOwnerList";
|
||||
|
||||
|
||||
//法规工程师发起
|
||||
|
||||
+35
-16
@@ -9,10 +9,14 @@ import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTerm;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandard;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTerm;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTermApproval;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTermUser;
|
||||
import com.jero.modules.activiti.process.projectstandard.service.ProcessProjectStandardService;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.jero.modules.activiti.process.projectstandard.service.ProcessProjectStandardTermApprovalService;
|
||||
import com.jero.modules.activiti.process.projectstandard.service.ProcessProjectStandardTermUserService;
|
||||
import com.jero.modules.activiti.process.projectstandard.vo.ProcessProjectStandardVO;
|
||||
import com.jero.modules.activiti.process.projectstandard.vo.StandardSelectionVO;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||
@@ -45,7 +49,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@Api(tags = "法规合规评估流程表")
|
||||
@RestController
|
||||
@RequestMapping("processProjectStandard")
|
||||
@RequestMapping("process/projectStandard")
|
||||
public class ProcessProjectStandardController extends JeroController<ProcessProjectStandard, ProcessProjectStandardService> {
|
||||
/**
|
||||
* 服务对象
|
||||
@@ -54,63 +58,65 @@ public class ProcessProjectStandardController extends JeroController<ProcessProj
|
||||
private ProcessProjectStandardService processProjectStandardService;
|
||||
@Resource
|
||||
private IDocumentSplitService documentSplitService;
|
||||
@Resource
|
||||
private ProcessProjectStandardTermUserService termUserService;
|
||||
|
||||
|
||||
@DictPoint
|
||||
@GetMapping("/queryProcessInfoVO")
|
||||
@AutoLog(value = "未符合项跟踪流程-查询流程信息")
|
||||
@AutoLog(value = "法规合规评估流程-查询流程信息")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "draftId", value = "草稿id"),
|
||||
@ApiImplicitParam(name = "taskId", value = "任务id"),
|
||||
@ApiImplicitParam(name = "processInstanceId", value = "流程实例id")
|
||||
})
|
||||
@ApiOperation("未符合项跟踪流程-查询流程信息")
|
||||
@ApiOperation("法规合规评估流程-查询流程信息")
|
||||
public Result<ProcessInfoVO<ProcessProjectStandardVO>> queryProcessInfoVO(String draftId, String processInstanceId, String taskId) {
|
||||
ProcessInfoVO<ProcessProjectStandardVO> processInfoVO = processProjectStandardService.queryProcessInfoVO(draftId, processInstanceId, taskId);
|
||||
return Result.OK(processInfoVO);
|
||||
}
|
||||
|
||||
@AutoLog(value = "未符合项跟踪流程-发起流程")
|
||||
@ApiOperation(value = "未符合项跟踪流程-发起流程")
|
||||
@AutoLog(value = "法规合规评估流程-发起流程")
|
||||
@ApiOperation(value = "法规合规评估流程-发起流程")
|
||||
@PostMapping(value = "/startProcess")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessProjectStandardVO> processInfoVO) {
|
||||
processProjectStandardService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "未符合项跟踪流程-同意")
|
||||
@ApiOperation(value = "未符合项跟踪流程-同意")
|
||||
@AutoLog(value = "法规合规评估流程-同意")
|
||||
@ApiOperation(value = "法规合规评估流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessProjectStandardVO> processInfoVO) {
|
||||
processProjectStandardService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "未符合项跟踪流程-驳回")
|
||||
@ApiOperation(value = "未符合项跟踪流程-驳回")
|
||||
@AutoLog(value = "法规合规评估流程-驳回")
|
||||
@ApiOperation(value = "法规合规评估流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessProjectStandardVO> processInfoVO) {
|
||||
processProjectStandardService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "未符合项跟踪流程-提交")
|
||||
@ApiOperation(value = "未符合项跟踪流程-提交")
|
||||
@AutoLog(value = "法规合规评估流程-提交")
|
||||
@ApiOperation(value = "法规合规评估流程-提交")
|
||||
@PostMapping("/submit")
|
||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessProjectStandardVO> processInfoVO) {
|
||||
processProjectStandardService.submit(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "未符合项跟踪流程-保存为草稿")
|
||||
@ApiOperation(value = "未符合项跟踪流程-保存为草稿")
|
||||
@AutoLog(value = "法规合规评估流程-保存为草稿")
|
||||
@ApiOperation(value = "法规合规评估流程-保存为草稿")
|
||||
@PostMapping(value = "/saveToDraft")
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO<ProcessProjectStandardVO> processInfoVO) {
|
||||
processProjectStandardService.saveToDraft(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "未符合项跟踪流程-查询标准列表")
|
||||
@AutoLog(value = "法规合规评估流程-查询标准列表")
|
||||
@ApiOperation(value="查询标准列表")
|
||||
@GetMapping(value = "/quaryStandard")
|
||||
public Result<IPage<StandardSelectionVO>> quaryStandard(ManyStandardSelectionBoxVO selectionBoxVO,
|
||||
@@ -120,10 +126,10 @@ public class ProcessProjectStandardController extends JeroController<ProcessProj
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目合规评估流程-查询条款列表
|
||||
* 法规合规评估流程-查询条款列表
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "项目合规评估流程-查询条款列表")
|
||||
@AutoLog(value = "法规合规评估流程-查询条款列表")
|
||||
@ApiOperation(value = "查询条款列表")
|
||||
@PostMapping("/processProjectStandardGetList")
|
||||
public Result<List<ProcessProjectStandardTerm>> processProjectStandardGetList(@RequestBody ProcessProjectStandard processProjectStandard) {
|
||||
@@ -139,5 +145,18 @@ public class ProcessProjectStandardController extends JeroController<ProcessProj
|
||||
return Result.OK(allList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 法规合规评估流程-查询立项结果列表
|
||||
* @return
|
||||
*/
|
||||
@DictPoint
|
||||
@AutoLog(value = "法规合规评估流程-查询立项结果列表")
|
||||
@ApiOperation(value = "查询立项结果列表")
|
||||
@GetMapping("/getTermApprovalList")
|
||||
public Result<List<ProcessProjectStandardTermApproval>> getTermApprovalList(@RequestParam(name="id") String id) {
|
||||
List<ProcessProjectStandardTermApproval> page = processProjectStandardService.getTermApprovalList(id);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+7
@@ -95,6 +95,13 @@ public class ProcessProjectStandard {
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
private String standardNumber;
|
||||
|
||||
/**
|
||||
* 标准名称
|
||||
*/
|
||||
@TableField(value = "standard_name")
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private String standardName;
|
||||
|
||||
/**
|
||||
* 分解单来源
|
||||
*/
|
||||
|
||||
+20
-1
@@ -8,6 +8,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@@ -136,6 +138,12 @@ public class ProcessProjectStandardTerm {
|
||||
@ApiModelProperty(value="设计工程师")
|
||||
private String designEngineer;
|
||||
|
||||
/**
|
||||
* 设计工程师
|
||||
*/
|
||||
@ApiModelProperty(value="设计工程师")
|
||||
private String designEngineer_dictText;
|
||||
|
||||
/**
|
||||
* 抄送人员
|
||||
*/
|
||||
@@ -150,6 +158,13 @@ public class ProcessProjectStandardTerm {
|
||||
@ApiModelProperty(value = "不涉及原因")
|
||||
private String notInvolved;
|
||||
|
||||
/**
|
||||
* 是否与车型强关联
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="是否与车型强关联")
|
||||
private String isRelate;
|
||||
|
||||
/**
|
||||
* 车型系列
|
||||
*/
|
||||
@@ -161,7 +176,7 @@ public class ProcessProjectStandardTerm {
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="车型系列")
|
||||
private String modelSeries_dict;
|
||||
private String modelSeries_dictText;
|
||||
|
||||
/**
|
||||
* 依据描述
|
||||
@@ -194,4 +209,8 @@ public class ProcessProjectStandardTerm {
|
||||
@ApiModelProperty(value="评估结果")
|
||||
private String assessResults;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="评估结果")
|
||||
private String assessResults_dictText;
|
||||
|
||||
}
|
||||
+4
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
@@ -80,6 +81,7 @@ public class ProcessProjectStandardTermApproval {
|
||||
/**
|
||||
* 责任单位负责人id
|
||||
*/
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
|
||||
@TableField(value = "responsible_unit_leader")
|
||||
@ApiModelProperty(value="责任单位负责人id")
|
||||
private String responsibleUnitLeader;
|
||||
@@ -94,6 +96,7 @@ public class ProcessProjectStandardTermApproval {
|
||||
/**
|
||||
* 评估结果(1-符合、2-不符合、3-不涉及)
|
||||
*/
|
||||
@Dict(dicCode = "assess_results")
|
||||
@TableField(value = "assess_results")
|
||||
@ApiModelProperty(value="评估结果(1-符合、2-不符合、3-不涉及)")
|
||||
private String assessResults;
|
||||
@@ -101,6 +104,7 @@ public class ProcessProjectStandardTermApproval {
|
||||
/**
|
||||
* 是否立项
|
||||
*/
|
||||
@Dict(dicCode = "yn")
|
||||
@TableField(value = "project_approval_flag")
|
||||
@ApiModelProperty(value="是否立项")
|
||||
private String projectApprovalFlag;
|
||||
|
||||
+17
-3
@@ -109,8 +109,8 @@ public class ProcessProjectStandardTermUser {
|
||||
|
||||
/**评估结果(1-符合、2-不符合)*/
|
||||
@TableField(value = "assess_results")
|
||||
@Dict(dicCode = "standards_assess_results")
|
||||
@ApiModelProperty(value = "评估结果(1-符合、2-不符合)")
|
||||
@Dict(dicCode = "assess_results")
|
||||
@ApiModelProperty(value = "评估结果(1-符合、2-不符合、3-不涉及)")
|
||||
private String assessResults;
|
||||
|
||||
/**
|
||||
@@ -134,10 +134,17 @@ public class ProcessProjectStandardTermUser {
|
||||
@ApiModelProperty(value="父执行实例流id")
|
||||
private String parentExecutionId;
|
||||
|
||||
/**
|
||||
* 是否与车型强关联
|
||||
*/
|
||||
@TableField(value = "is_relate")
|
||||
@ApiModelProperty(value="是否与车型强关联")
|
||||
private String isRelate;
|
||||
/**
|
||||
* 车型系列
|
||||
*/
|
||||
@TableField(value = "model_series")
|
||||
@Dict(dicCode = "model_series")
|
||||
@ApiModelProperty(value="车型系列")
|
||||
private String modelSeries;
|
||||
/**
|
||||
@@ -145,7 +152,7 @@ public class ProcessProjectStandardTermUser {
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="车型系列")
|
||||
private String modelSeries_dict;
|
||||
private String modelSeries_dictText;
|
||||
|
||||
/**
|
||||
* 依据描述
|
||||
@@ -167,4 +174,11 @@ public class ProcessProjectStandardTermUser {
|
||||
@TableField(value = "project_approval_flag")
|
||||
@ApiModelProperty(value="是否立项")
|
||||
private Integer projectApprovalFlag;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="任务id")
|
||||
private String taskId;
|
||||
}
|
||||
+4
@@ -16,7 +16,11 @@ public interface ProcessProjectStandardTermMapper extends BaseMapper<ProcessProj
|
||||
|
||||
List<ProcessProjectStandardTerm> getByModuleOwner(@Param("processId") String processId, @Param("originUserId") String originUserId, @Param("executionParentId") String executionParentId, @Param("hasDesignEngineer") Boolean hasDesignEngineer);
|
||||
|
||||
List<ProcessProjectStandardTerm> getByModuleOwnerAutoComplete(@Param("processId") String processId, @Param("originUserId") String originUserId, @Param("executionParentId") String executionParentId);
|
||||
|
||||
List<ProcessProjectStandardTerm> getByDesignEngineer(@Param("processId") String processId, @Param("originUserId") String originUserId, @Param("executionParentId") String executionParentId);
|
||||
|
||||
List<ProcessProjectStandardTerm> getByStandardsEngineer(@Param("processId") String processId);
|
||||
|
||||
List<ProcessProjectStandardTerm> getByTermDesignEngineer(@Param("processId") String processId, @Param("originUserId") String originUserId);
|
||||
}
|
||||
+2
-1
@@ -13,11 +13,12 @@
|
||||
<result column="del_flag" jdbcType="INTEGER" property="delFlag" />
|
||||
<result column="source" jdbcType="VARCHAR" property="source" />
|
||||
<result column="standard_number" jdbcType="VARCHAR" property="standardNumber" />
|
||||
<result column="standard_name" jdbcType="VARCHAR" property="standardName" />
|
||||
<result column="decomposition_order_Source" jdbcType="VARCHAR" property="decompositionOrderSource" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, create_by, create_time, update_by, update_time, org_code, del_flag, `source`,
|
||||
standard_number, decomposition_order_Source
|
||||
standard_number, standard_name, decomposition_order_Source
|
||||
</sql>
|
||||
</mapper>
|
||||
+56
-30
@@ -28,6 +28,8 @@
|
||||
<result column="responsible_unit_leader" property="responsibleUnitLeader"/>
|
||||
<result column="term_user_id" property="termUserId"/>
|
||||
<result column="assess_results" property="assessResults"/>
|
||||
<result column="model_series" property="modelSeries"/>
|
||||
<result column="is_relate" property="isRelate"/>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
@@ -38,16 +40,15 @@
|
||||
|
||||
<select id="getByResponsibleUnitLeader" resultMap="BaseResultMap">
|
||||
select
|
||||
ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.assess_results,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer,
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
<property name="alias" value="ppst"/>
|
||||
</include>
|
||||
,
|
||||
ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.assess_results,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer
|
||||
from process_project_standard_term ppst
|
||||
left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id
|
||||
where ppst.process_id = #{processId}
|
||||
@@ -60,16 +61,16 @@
|
||||
|
||||
<select id="getByModuleOwner" resultMap="BaseResultMap">
|
||||
select
|
||||
ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.assess_results,
|
||||
ppstu.model_series,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer,
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
<property name="alias" value="ppst"/>
|
||||
</include>
|
||||
,
|
||||
ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.assess_results,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer
|
||||
from process_project_standard_term ppst
|
||||
left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id
|
||||
where ppst.process_id = #{processId}
|
||||
@@ -81,19 +82,40 @@
|
||||
and ppstu.id is not null
|
||||
</select>
|
||||
|
||||
<select id="getByModuleOwnerAutoComplete" resultMap="BaseResultMap">
|
||||
select ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.assess_results,
|
||||
ppstu.model_series,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer,
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppst"/>
|
||||
</include>
|
||||
from process_project_standard_term ppst
|
||||
left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id
|
||||
where ppst.process_id = #{processId}
|
||||
and ppstu.module_owner = #{originUserId}
|
||||
and ppstu.parent_execution_id = #{executionParentId}
|
||||
and ppstu.design_engineer is not null
|
||||
and ppstu.id is not null
|
||||
</select>
|
||||
|
||||
<select id="getByDesignEngineer" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
</include>
|
||||
,
|
||||
ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.module_owner,
|
||||
ppstu.assess_results,
|
||||
ppstu.model_series,
|
||||
ppstu.is_relate,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer
|
||||
ppstu.design_engineer,
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppst"/>
|
||||
</include>
|
||||
from process_project_standard_term ppst
|
||||
left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id
|
||||
where ppst.process_id = #{processId}
|
||||
@@ -104,19 +126,23 @@
|
||||
|
||||
<select id="getByStandardsEngineer" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppat"/>
|
||||
</include>
|
||||
,
|
||||
ppstu.id term_user_id,
|
||||
ppstu.not_involved,
|
||||
ppstu.assess_results,
|
||||
ppstu.description,
|
||||
ppstu.file_id,
|
||||
ppstu.design_engineer
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppst"/>
|
||||
</include>
|
||||
from process_project_standard_term ppst
|
||||
left join process_project_standard_term_user ppstu on ppst.id = ppstu.term_id
|
||||
where ppst.process_id = #{processId}
|
||||
and ppstu.id is not null
|
||||
</select>
|
||||
|
||||
<select id="getByTermDesignEngineer" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List">
|
||||
<property name="alias" value="ppst"/>
|
||||
</include>
|
||||
from process_project_standard_term ppst
|
||||
where ppst.process_id = #{processId}
|
||||
and ppst.design_engineer = #{originUserId}
|
||||
</select>
|
||||
</mapper>
|
||||
+359
-117
@@ -3,12 +3,15 @@ package com.jero.modules.activiti.process.projectstandard.service;
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
@@ -24,7 +27,6 @@ import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.projectassess.common.ProcessProjectAssessCommon;
|
||||
import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAssessTermUser;
|
||||
import com.jero.modules.activiti.process.projectstandard.common.ProcessProjectStandardCommon;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTerm;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTermApproval;
|
||||
@@ -35,6 +37,7 @@ import com.jero.modules.activiti.process.projectstandard.vo.ProcessProjectStanda
|
||||
import com.jero.modules.activiti.process.projectstandard.vo.StandardSelectionVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.util.ThreadLocalUtil;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import com.jero.modules.laws.common.mapper.LawsCommonMapper;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
|
||||
@@ -43,6 +46,8 @@ import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
|
||||
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
||||
import com.jero.modules.projectLibrary.common.AssessCommon;
|
||||
import com.jero.modules.projectLibrary.entity.LawsSpecialProjectLibrary;
|
||||
import com.jero.modules.projectLibrary.service.ILawsSpecialProjectLibraryService;
|
||||
import com.jero.modules.projectLibrary.vo.DecompositionOrderSourceVO;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
@@ -56,8 +61,10 @@ import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandard;
|
||||
import com.jero.modules.activiti.process.projectstandard.mapper.ProcessProjectStandardMapper;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -67,6 +74,7 @@ import java.util.stream.Collectors;
|
||||
*@date 2024-01-15 16:17
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectStandardMapper, ProcessProjectStandard> {
|
||||
|
||||
@Resource
|
||||
@@ -99,6 +107,8 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
private ProcessProjectStandardTermUserService termUserService;
|
||||
@Resource
|
||||
private ProcessProjectStandardTermApprovalService termApprovalService;
|
||||
@Resource
|
||||
private ILawsSpecialProjectLibraryService lawsSpecialProjectLibraryService;
|
||||
|
||||
|
||||
|
||||
@@ -132,12 +142,10 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
userNameMap.put(loginUser.getId(), loginUser.calcNameWorkNo());
|
||||
}
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
String createUserId = processAll.getCreateUserId();
|
||||
//发起人
|
||||
String createUserName = userNameMap.get(createUserId);
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getProcessId, processId);
|
||||
List<ProcessProjectStandardTermUser> list = new ArrayList<>();
|
||||
List<ProcessProjectStandardTermUser> termUserList = new ArrayList<>();
|
||||
switch (taskDefinitionKey) {
|
||||
//部所主管级领导下发
|
||||
case ProcessProjectStandardCommon.BSZGJLDXF:
|
||||
@@ -150,82 +158,124 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
//驳回后模块责任人分发
|
||||
case ProcessProjectStandardCommon.MKZRRFF_4:
|
||||
case ProcessProjectStandardCommon.MKZRRFF_5:
|
||||
processProjectStandardTermList = termMapper.getByModuleOwner(processId, originUserId, executionParentId, true);
|
||||
processProjectStandardTermList = termMapper.getByModuleOwner(processId, originUserId, executionParentId, false);
|
||||
break;
|
||||
//设计工程师评估
|
||||
case ProcessProjectStandardCommon.SJGCSPG_:
|
||||
processProjectStandardTermList = termMapper.getByDesignEngineer(processId, originUserId, executionParentId);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getDesignEngineer, originUserId);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getParentExecutionId, executionParentId);
|
||||
list = termUserService.list(wrapper);
|
||||
|
||||
break;
|
||||
//模块责任人审批
|
||||
case ProcessProjectStandardCommon.MKZRRFF_:
|
||||
processProjectStandardTermList = termMapper.getByModuleOwner(processId, originUserId, executionParentId, false);
|
||||
case ProcessProjectStandardCommon.MKZRRSP_:
|
||||
processProjectStandardTermList = termMapper.getByModuleOwner(processId, originUserId, executionParentId, true);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getModuleOwner, originUserId);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getParentExecutionId, executionParentId);
|
||||
list = termUserService.list(wrapper);
|
||||
|
||||
termUserList = termUserService.list(wrapper);
|
||||
break;
|
||||
//部所主管级领导审批
|
||||
case ProcessProjectStandardCommon.BSZGJLDSP_:
|
||||
processProjectStandardTermList = termMapper.getByResponsibleUnitLeader(processId, originUserId, true);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader, originUserId);
|
||||
termUserList = termUserService.list(wrapper);
|
||||
break;
|
||||
//法规工程师审批
|
||||
case ProcessProjectStandardCommon.FGGCSSP:
|
||||
processProjectStandardTermList = termMapper.getByStandardsEngineer(processId);
|
||||
|
||||
termUserList = termUserService.list(wrapper);
|
||||
break;
|
||||
//设计工程师补充工作令编号
|
||||
case ProcessProjectStandardCommon.SJGCSBCGZLBH:
|
||||
processProjectStandardTermList = termMapper.getByStandardsEngineer(processId);
|
||||
processProjectStandardTermList = termMapper.getByTermDesignEngineer(processId, originUserId);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
List<DictModel> modelSeriesDict = sysBaseAPI.queryDictItemsByCode("model_series");
|
||||
Map<String, String> modelSeriesDictMap = CollStreamUtil.toMap(modelSeriesDict, DictModel::getValue, DictModel::getText);
|
||||
|
||||
List<DictModel> dictModels = sysBaseAPI.queryDictItemsByCode("assess_results");
|
||||
Map<String, String> dictevaluationFeedbackMap = CollStreamUtil.toMap(dictModels, DictModel::getValue, DictModel::getText);
|
||||
Map<String, String> assessResultsMap = CollStreamUtil.toMap(dictModels, DictModel::getValue, DictModel::getText);
|
||||
//给条款中保存关联的信息
|
||||
Map<String, List<ProcessProjectStandardTermUser>> termIdListMap = CollStreamUtil.groupByKey(list, ProcessProjectStandardTermUser::getTermId);
|
||||
Map<String, List<ProcessProjectStandardTermUser>> termIdListMap = CollStreamUtil.groupByKey(termUserList, ProcessProjectStandardTermUser::getTermId);
|
||||
for (ProcessProjectStandardTerm term : processProjectStandardTermList) {
|
||||
String termId = term.getId();
|
||||
List<ProcessProjectStandardTermUser> termUsers = termIdListMap.get(termId);
|
||||
if (CollectionUtil.isNotEmpty(termUsers)){
|
||||
if (termIdListMap.containsKey(termId)) {
|
||||
List<ProcessProjectStandardTermUser> termUsers = termIdListMap.get(termId);
|
||||
String assessResults = AssessCommon.NOT_INVOLVED;
|
||||
String projectApprovalFlag = YesOrNoEnum.NO.getValue();
|
||||
List<String> moduleOwnerList = new ArrayList<>();
|
||||
List<String> responsibleUnitLeaderList = new ArrayList<>();
|
||||
for (ProcessProjectStandardTermUser termUser : termUsers) {
|
||||
moduleOwnerList.add(termUser.getModuleOwner());
|
||||
responsibleUnitLeaderList.add(termUser.getResponsibleUnitLeader());
|
||||
String assessResults1 = termUser.getAssessResults();
|
||||
if (AssessCommon.NOT_COMPLIANT.equals(assessResults1)) {
|
||||
assessResults = AssessCommon.NOT_COMPLIANT;
|
||||
projectApprovalFlag = YesOrNoEnum.YES.getValue();
|
||||
break;
|
||||
}
|
||||
if (AssessCommon.ACCORD_WITH.equals(assessResults1)) {
|
||||
assessResults = AssessCommon.ACCORD_WITH;
|
||||
projectApprovalFlag = YesOrNoEnum.NO.getValue();
|
||||
}
|
||||
}
|
||||
if (ProcessProjectStandardCommon.BSZGJLDSP_.equals(taskDefinitionKey)){
|
||||
List<String> userNameList = new ArrayList<>();
|
||||
moduleOwnerList.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.distinct().forEach(i ->{
|
||||
userNameList.add(userNameMap.get(i)) ;
|
||||
});
|
||||
term.setModuleOwner(String.join(",", userNameList));
|
||||
}
|
||||
if (ProcessProjectStandardCommon.FGGCSSP.equals(taskDefinitionKey)){
|
||||
List<String> userNameList = new ArrayList<>();
|
||||
responsibleUnitLeaderList.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.distinct().forEach(i ->{
|
||||
userNameList.add(userNameMap.get(i)) ;
|
||||
});
|
||||
term.setResponsibleUnitLeader(String.join(",", userNameList));
|
||||
}
|
||||
|
||||
ProcessProjectStandardTermUser termUser = termUsers.get(0);
|
||||
term.setDescription(termUser.getDescription());
|
||||
term.setFileId(termUser.getFileId());
|
||||
term.setProjectApprovalFlag(projectApprovalFlag);
|
||||
term.setAssessResults(assessResults);
|
||||
term.setAssessResults_dictText(assessResultsMap.get(assessResults));
|
||||
}
|
||||
String modelSeries = term.getModelSeries();
|
||||
term.setModelSeries_dictText(sysBaseAPI.translateByDictMap(modelSeriesDictMap,modelSeries));
|
||||
String designEngineer = term.getDesignEngineer();
|
||||
term.setDesignEngineer_dictText(userNameMap.get(designEngineer));
|
||||
}
|
||||
//拼接分类法规标题
|
||||
List<DictModel> decompositionOrderSourceDictModels = sysBaseAPI.queryDictItemsByCode("decomposition_order_source");
|
||||
Map<String, String> decompositionOrderSourceMap = CollStreamUtil.toMap(decompositionOrderSourceDictModels, DictModel::getValue, DictModel::getText);
|
||||
Map<String, ProcessProjectStandardTerm> splitInfoIdMap = this.getSplitInfoIdMap(processId);
|
||||
List<ProcessProjectStandardTerm> allProjectAssesTermList = new ArrayList<>();
|
||||
List<String> usedSplitInfoId = new ArrayList<>();
|
||||
for (ProcessProjectStandardTerm term : processProjectStandardTermList) {
|
||||
String splitInfoId = term.getSplitInfoId();
|
||||
if (!usedSplitInfoId.contains(splitInfoId) && splitInfoIdMap.containsKey(splitInfoId)) {
|
||||
usedSplitInfoId.add(splitInfoId);
|
||||
ProcessProjectStandardTerm titleTerm = splitInfoIdMap.get(splitInfoId);
|
||||
ProcessProjectStandardTerm term1 = new ProcessProjectStandardTerm();
|
||||
term1.setTermName(titleTerm.getTermName());
|
||||
term1.setTermNumber(titleTerm.getTermNumber());
|
||||
term1.setTermText(decompositionOrderSourceMap.get(titleTerm.getTermText()));
|
||||
allProjectAssesTermList.add(term1);
|
||||
}
|
||||
allProjectAssesTermList.add(term);
|
||||
String moduleOwner1 = null;
|
||||
if (processProjectStandardTermList.size()>0){
|
||||
ProcessProjectStandardTerm term = processProjectStandardTermList.get(0);
|
||||
String moduleOwner = term.getModuleOwner();
|
||||
moduleOwner1 = userNameMap.get(moduleOwner);
|
||||
}
|
||||
ProcessProjectStandard processProjectStandard = this.getById(processId);
|
||||
|
||||
|
||||
ProcessProjectStandardVO processProjectStandardVO = new ProcessProjectStandardVO();
|
||||
processProjectStandardVO.setModuleOwner(moduleOwner1);
|
||||
processProjectStandardVO.setProcessProjectStandard(processProjectStandard);
|
||||
processProjectStandardVO.setProcessProjectStandardTermList(processProjectStandardTermList);
|
||||
//processProjectStandardVO.setProcessProjectStandardTermUserList();
|
||||
if (ProcessProjectStandardCommon.FGGCSSP.equals(taskDefinitionKey)){
|
||||
String termId = processProjectStandardTermList.get(0).getId();
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermApproval> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProcessProjectStandardTermApproval::getTermId,termId);
|
||||
List<ProcessProjectStandardTermApproval> approvalList = termApprovalService.list(wrapper1);
|
||||
for (ProcessProjectStandardTermApproval termApproval : approvalList) {
|
||||
String responsibleUnitLeader = termApproval.getResponsibleUnitLeader();
|
||||
termApproval.setResponsibleUnitLeader(userNameMap.get(responsibleUnitLeader));
|
||||
String assessResults = termApproval.getAssessResults();
|
||||
termApproval.setAssessResults(assessResultsMap.get(assessResults));
|
||||
String projectApprovalFlag = termApproval.getProjectApprovalFlag();
|
||||
termApproval.setProjectApprovalFlag(YesOrNoEnum.YES.getValue().equals(projectApprovalFlag)?YesOrNoEnum.YES.getName():YesOrNoEnum.NO.getName());
|
||||
}
|
||||
processProjectStandardVO.setProcessProjectStandardTermApprovalList(approvalList);
|
||||
|
||||
}
|
||||
processInfoVO.setBusinessInfoDTO(processProjectStandardVO);
|
||||
return processInfoVO;
|
||||
}
|
||||
@@ -253,6 +303,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
|
||||
ProcessProjectStandard processProjectStandard = businessInfoDTO.getProcessProjectStandard();
|
||||
processProjectStandard.setId(null);
|
||||
this.save(processProjectStandard);
|
||||
String processId = processProjectStandard.getId();
|
||||
processInfoVO.setBusinessId(processId);
|
||||
@@ -312,78 +363,6 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
processHandleService.startProcess(processInfoVO);
|
||||
}
|
||||
|
||||
public void approveTask(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, boolean pass) {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = basicTaskInfoDTO.getTaskId();
|
||||
ProcessDTO processDTO = processHandleService.getProcessDTO(taskId);
|
||||
String processInstanceId = processDTO.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
processInfoVO.setBusinessId(processAll.getProjectId());
|
||||
Task task = processDTO.getTask();
|
||||
String taskDefinitionKey = task.getTaskDefinitionKey();
|
||||
if (taskDefinitionKey.contains("_") && !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)){
|
||||
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
|
||||
}
|
||||
processHandleService.updateApprovalRecord(processInfoVO);
|
||||
switch (taskDefinitionKey) {
|
||||
//模块责任人审批
|
||||
case ProcessProjectStandardCommon.MKZRRFF_:
|
||||
mkzrrffApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
//部所主管级领导审批
|
||||
case ProcessProjectStandardCommon.BSZGJLDSP_:
|
||||
bszgjldspApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
//法规工程师审批
|
||||
case ProcessProjectStandardCommon.FGGCSSP:
|
||||
fggcsspApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
//模块责任人审批
|
||||
private void mkzrrffApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessProjectAssessCommon.PASS, pass);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
//部所主管级领导审批
|
||||
private void bszgjldspApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
Task task = processDTO.getTask();
|
||||
String executionId = task.getExecutionId();
|
||||
//查询表单
|
||||
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
List<ProcessProjectStandardTerm> termList = businessInfoDTO.getProcessProjectStandardTermList();
|
||||
List<ProcessProjectStandardTermApproval> termApprovalList = new ArrayList<>();
|
||||
//删除之前的立项结果
|
||||
List<String> termIdList = termList.stream().map(ProcessProjectStandardTerm::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermApproval> deleteWrapper = new LambdaQueryWrapper<>();
|
||||
deleteWrapper.eq(ProcessProjectStandardTermApproval::getProcessId,businessId);
|
||||
deleteWrapper.eq(ProcessProjectStandardTermApproval::getResponsibleUnitLeader,originUserId);
|
||||
deleteWrapper.in(ProcessProjectStandardTermApproval::getTermId,termIdList);
|
||||
termApprovalService.remove(deleteWrapper);
|
||||
//保存立项结果
|
||||
for (ProcessProjectStandardTerm term : termList) {
|
||||
ProcessProjectStandardTermApproval termApproval = new ProcessProjectStandardTermApproval();
|
||||
termApproval.setProcessId(businessId);
|
||||
termApproval.setResponsibleUnitLeader(CurrentUserUtil.getId());
|
||||
termApproval.setTermId(term.getId());
|
||||
termApproval.setAssessResults(term.getAssessResults());
|
||||
termApproval.setProjectApprovalFlag(term.getProjectApprovalFlag());
|
||||
termApprovalList.add(termApproval);
|
||||
}
|
||||
termApprovalService.saveBatch(termApprovalList);
|
||||
}
|
||||
//法规工程师审批
|
||||
private void fggcsspApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
|
||||
}
|
||||
|
||||
public void submit(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO) {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = basicTaskInfoDTO.getTaskId();
|
||||
@@ -422,6 +401,221 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
public void approveTask(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, boolean pass) {
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = basicTaskInfoDTO.getTaskId();
|
||||
ProcessDTO processDTO = processHandleService.getProcessDTO(taskId);
|
||||
String processInstanceId = processDTO.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
processInfoVO.setBusinessId(processAll.getProjectId());
|
||||
Task task = processDTO.getTask();
|
||||
String taskDefinitionKey = task.getTaskDefinitionKey();
|
||||
if (taskDefinitionKey.contains("_") && !taskDefinitionKey.contains(ProcessProjectStandardCommon.MKZRRFF_)){
|
||||
taskDefinitionKey = taskDefinitionKey.substring(0,taskDefinitionKey.length()-1);
|
||||
}
|
||||
processHandleService.updateApprovalRecord(processInfoVO);
|
||||
switch (taskDefinitionKey) {
|
||||
//模块责任人审批
|
||||
case ProcessProjectStandardCommon.MKZRRSP_:
|
||||
mkzrrffApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
//部所主管级领导审批
|
||||
case ProcessProjectStandardCommon.BSZGJLDSP_:
|
||||
bszgjldspApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
//法规工程师审批
|
||||
case ProcessProjectStandardCommon.FGGCSSP:
|
||||
fggcsspApprove(processInfoVO, processDTO, pass);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
//模块责任人审批
|
||||
private void mkzrrffApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
Task task = processDTO.getTask();
|
||||
String parentExecutionId = task.getFormKey();
|
||||
//查询表单
|
||||
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
List<ProcessProjectStandardTerm> termList = businessInfoDTO.getProcessProjectStandardTermList();
|
||||
List<String> designEngineerList = termList.stream().map(ProcessProjectStandardTerm::getDesignEngineer).distinct().collect(Collectors.toList());
|
||||
|
||||
// 完成任务
|
||||
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,parentExecutionId);
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessProjectStandardCommon.PASS, pass);
|
||||
variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerList);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
//部所主管级领导审批
|
||||
private void bszgjldspApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
Task task = processDTO.getTask();
|
||||
String executionId = task.getExecutionId();
|
||||
//查询表单
|
||||
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
List<ProcessProjectStandardTerm> termList = businessInfoDTO.getProcessProjectStandardTermList();
|
||||
List<ProcessProjectStandardTermApproval> termApprovalList = new ArrayList<>();
|
||||
//删除之前的立项结果
|
||||
List<String> termIdList = termList.stream().map(ProcessProjectStandardTerm::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermApproval> deleteWrapper = new LambdaQueryWrapper<>();
|
||||
deleteWrapper.eq(ProcessProjectStandardTermApproval::getProcessId,businessId);
|
||||
deleteWrapper.eq(ProcessProjectStandardTermApproval::getResponsibleUnitLeader,originUserId);
|
||||
deleteWrapper.in(ProcessProjectStandardTermApproval::getTermId,termIdList);
|
||||
termApprovalService.remove(deleteWrapper);
|
||||
//保存立项结果
|
||||
for (ProcessProjectStandardTerm term : termList) {
|
||||
ProcessProjectStandardTermApproval termApproval = new ProcessProjectStandardTermApproval();
|
||||
termApproval.setProcessId(businessId);
|
||||
termApproval.setResponsibleUnitLeader(CurrentUserUtil.getId());
|
||||
termApproval.setTermId(term.getId());
|
||||
termApproval.setAssessResults(term.getAssessResults());
|
||||
termApproval.setProjectApprovalFlag(term.getProjectApprovalFlag());
|
||||
termApprovalList.add(termApproval);
|
||||
}
|
||||
termApprovalService.saveBatch(termApprovalList);
|
||||
|
||||
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
|
||||
// 完成任务
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
//如果驳回查询下一步的模块责任人
|
||||
if (!pass){
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getProcessId,businessId);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader,originUserId);
|
||||
List<ProcessProjectStandardTermUser> termUserList = termUserMapper.selectList(wrapper);
|
||||
for (ProcessProjectStandardTermUser termUser : termUserList) {
|
||||
termUser.setParentExecutionId(executionId);
|
||||
}
|
||||
termUserService.updateBatchById(termUserList);
|
||||
//选择不涉及的模块责任人
|
||||
List<String> notInvolvedModuleOwnerList = termUserList.stream()
|
||||
.filter(i -> StringUtils.isBlank(i.getDesignEngineer()))
|
||||
.map(ProcessProjectStandardTermUser::getModuleOwner)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
//选择设计工程师的模块责任人
|
||||
List<String> moduleOwnerList = termUserList.stream()
|
||||
.filter(i -> StringUtils.isNotBlank(i.getDesignEngineer()))
|
||||
.map(ProcessProjectStandardTermUser::getModuleOwner)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
variables.put(ProcessProjectStandardCommon.NOT_INVOLVED_MODULE_OWNER_LIST, notInvolvedModuleOwnerList);
|
||||
variables.put(ProcessProjectStandardCommon.NOT_INVOLVED_MODULE_OWNER_LIST_SIZE, notInvolvedModuleOwnerList.size());
|
||||
variables.put(ProcessProjectStandardCommon.MODULE_OWNER_LIST, moduleOwnerList);
|
||||
variables.put(ProcessProjectStandardCommon.MODULE_OWNER_LIST_SIZE, moduleOwnerList.size());
|
||||
}
|
||||
String taskId = processDTO.getTaskId();
|
||||
variables.put(ProcessProjectStandardCommon.PASS, pass);
|
||||
taskService.complete(taskId, variables);
|
||||
}
|
||||
//法规工程师审批
|
||||
private void fggcsspApprove(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
Task task = processDTO.getTask();
|
||||
String executionId = task.getExecutionId();
|
||||
//查询流程信息
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processDTO.getProcessInstanceId());
|
||||
ProcessProjectStandard processProjectStandard = this.getById(businessId);
|
||||
|
||||
//查询不符合的评估
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getProcessId, businessId);
|
||||
wrapper.eq(ProcessProjectStandardTermUser::getAssessResults, AssessCommon.NOT_COMPLIANT);
|
||||
List<ProcessProjectStandardTermUser> notCompliantList = termUserService.list(wrapper);
|
||||
Map<String, List<ProcessProjectStandardTermUser>> termIdMap = CollStreamUtil.groupByKey(notCompliantList, ProcessProjectStandardTermUser::getTermId);
|
||||
//查询表单
|
||||
ProcessProjectStandardVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
List<ProcessProjectStandardTerm> termList = businessInfoDTO.getProcessProjectStandardTermList();
|
||||
List<String> carbonCopyPersonnelList = new ArrayList<>();
|
||||
List<ProcessProjectStandardTerm> updateTermList = new ArrayList<>();
|
||||
Date date = new Date();
|
||||
for (ProcessProjectStandardTerm term : termList) {
|
||||
ProcessProjectStandardTerm term1 = new ProcessProjectStandardTerm();
|
||||
String termId = term.getId();
|
||||
String assessResults = term.getAssessResults();
|
||||
String designEngineer = term.getDesignEngineer();
|
||||
term1.setId(termId);
|
||||
term1.setAssessResults(assessResults);
|
||||
term1.setDescription(designEngineer);
|
||||
if (!pass){
|
||||
continue;
|
||||
}
|
||||
updateTermList.add(term1);
|
||||
carbonCopyPersonnelList.addAll(Arrays.asList(term.getCarbonCopyPersonnels().split(",")));
|
||||
|
||||
LawsSpecialProjectLibrary projectLibrary = new LawsSpecialProjectLibrary();
|
||||
projectLibrary.setSource(processProjectStandard.getSource());
|
||||
String standardNumber = processProjectStandard.getStandardNumber();
|
||||
projectLibrary.setStandardNumber(standardNumber);
|
||||
String standardName = processProjectStandard.getStandardName();
|
||||
projectLibrary.setStandardName(standardName);
|
||||
projectLibrary.setStandardId(processProjectStandard.getStandardId());
|
||||
String termName = term.getTermName();
|
||||
String termNumber = term.getTermNumber();
|
||||
if (!Objects.equals(termName,standardName) && !Objects.equals(termNumber,standardNumber)){
|
||||
projectLibrary.setTermNumber(termNumber);
|
||||
projectLibrary.setTermName(termName);
|
||||
}
|
||||
projectLibrary.setStandardState(processProjectStandard.getDecompositionOrderSource());
|
||||
projectLibrary.setModelSeries(term.getModelSeries());
|
||||
projectLibrary.setResult(term.getAssessResults());
|
||||
projectLibrary.setMaterial(term.getFileId());
|
||||
projectLibrary.setValuationTime(date);
|
||||
projectLibrary.setProjectApproval(term.getProjectApprovalFlag());
|
||||
projectLibrary.setProcessNum(process.getPrcNum());
|
||||
//存入不符合描述
|
||||
if (termIdMap.containsKey(termId)) {
|
||||
List<ProcessProjectStandardTermUser> termUserList = termIdMap.get(termId);
|
||||
String description = termUserList.stream().map(ProcessProjectStandardTermUser::getDescription).collect(Collectors.joining(","));
|
||||
projectLibrary.setDescription(description);
|
||||
}
|
||||
//推送数据到法规项目库
|
||||
lawsSpecialProjectLibraryService.save(projectLibrary);
|
||||
}
|
||||
//更新数据
|
||||
if (pass){
|
||||
termService.updateBatchById(updateTermList);
|
||||
}
|
||||
// 完成任务
|
||||
String taskId = processDTO.getTaskId();
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessProjectStandardCommon.PASS, pass);
|
||||
if (!pass){
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermUser> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProcessProjectStandardTermUser::getProcessId, businessId);
|
||||
wrapper1.isNotNull(ProcessProjectStandardTermUser::getResponsibleUnitLeader);
|
||||
List<ProcessProjectStandardTermUser> termUserList = termUserService.list(wrapper1);
|
||||
List<String> designEngineerList = termUserList.stream()
|
||||
.map(ProcessProjectStandardTermUser::getResponsibleUnitLeader)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerList);
|
||||
variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST_SIZE, designEngineerList.size());
|
||||
}
|
||||
|
||||
taskService.complete(taskId, variables);
|
||||
if (pass){
|
||||
//发送消息
|
||||
String carbonCopyPersonnels = carbonCopyPersonnelList.stream().distinct().collect(Collectors.joining(","));
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.PROJECT_STANDARD_COMPLETE);
|
||||
sendMessageDTO.setToUserId(carbonCopyPersonnels);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("prcName", process.getPrcName());
|
||||
sendMap.put("termNumber", process.getPrcName());
|
||||
sendMap.put("termName", process.getPrcName());
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//部所主管级领导下发
|
||||
private void bszgjldxfSubmit(ProcessInfoVO<ProcessProjectStandardVO> processInfoVO, ProcessDTO processDTO) {
|
||||
String businessId = processInfoVO.getBusinessId();
|
||||
@@ -449,11 +643,12 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getNotInvolved,notInvolved);
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getAssessResults, AssessCommon.NOT_INVOLVED);
|
||||
}else {
|
||||
String moduleOwner = termUser.getModuleOwner();
|
||||
String moduleOwner = term.getModuleOwner();
|
||||
if (StringUtils.isBlank(moduleOwner)){
|
||||
throw new JeroBootException(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
||||
}
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getModuleOwner, moduleOwner);
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getParentExecutionId, executionId);
|
||||
moduleOwnerIds.add(moduleOwner);
|
||||
}
|
||||
termUserService.update(updateWrapper);
|
||||
@@ -514,13 +709,14 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
termUserService.update(updateWrapper);
|
||||
}else {
|
||||
//如果设计工程师有一个就更新,有多个就新增剩下的
|
||||
String designEngineers = termUser.getDesignEngineer();
|
||||
String designEngineers = term.getDesignEngineer();
|
||||
if (StringUtils.isBlank(designEngineers)){
|
||||
throw new JeroBootException(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
||||
}
|
||||
List<String> designEngineerList = Arrays.asList(designEngineers.split(","));
|
||||
designEngineerIds.addAll(designEngineerList);
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getModuleOwner, designEngineerList.get(0));
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getDesignEngineer, designEngineerList.get(0));
|
||||
updateWrapper.set(ProcessProjectStandardTermUser::getParentExecutionId, executionId);
|
||||
termUserService.update(updateWrapper);
|
||||
|
||||
if (designEngineerList.size() >= 2){
|
||||
@@ -529,6 +725,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
BeanUtils.copyProperties(termUser,termUser1);
|
||||
termUser1.setId(null);
|
||||
termUser1.setDesignEngineer(designEngineerList.get(i));
|
||||
termUser1.setParentExecutionId(executionId);
|
||||
allInsertTermUserList.add(termUser1);
|
||||
}
|
||||
}
|
||||
@@ -565,6 +762,7 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
ProcessProjectStandardTermUser termUser = new ProcessProjectStandardTermUser();
|
||||
termUser.setId(term.getTermUserId());
|
||||
termUser.setAssessResults(term.getAssessResults());
|
||||
termUser.setIsRelate(term.getIsRelate());
|
||||
termUser.setModelSeries(term.getModelSeries());
|
||||
termUser.setDescription(term.getDescription());
|
||||
termUser.setFileId(term.getFileId());
|
||||
@@ -623,7 +821,20 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
}
|
||||
|
||||
public void autoComplete(DelegateTask delegateTask) {
|
||||
|
||||
String assignee = delegateTask.getAssignee();
|
||||
String executionParentId = delegateTask.getFormKey();
|
||||
String processInstanceId = delegateTask.getProcessInstanceId();
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
String projectId = processAll.getProjectId();
|
||||
List<ProcessProjectStandardTerm> termList = termMapper.getByModuleOwnerAutoComplete(projectId, assignee, executionParentId);
|
||||
List<String> designEngineerIds = termList.stream()
|
||||
.map(ProcessProjectStandardTerm::getDesignEngineer)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
ThreadLocalUtil.put(ProcessProjectAssessCommon.EXECUTION_ID,executionParentId);
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put(ProcessProjectStandardCommon.DESIGN_ENGINEER_LIST, designEngineerIds);
|
||||
taskService.complete(delegateTask.getId(),variables);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -636,4 +847,35 @@ public class ProcessProjectStandardService extends ServiceImpl<ProcessProjectSta
|
||||
Map<String, ProcessProjectStandardTerm> stringProcessProjectStandardTermMap = CollStreamUtil.toIdentityMap(list, ProcessProjectStandardTerm::getSplitInfoId);
|
||||
return stringProcessProjectStandardTermMap;
|
||||
}
|
||||
|
||||
public IPage<ProcessProjectStandardTermUser> getTermUserList(ProcessProjectStandardTermUser processProjectStandardTermUser, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||
ProcessDTO processDTO = processHandleService.getProcessDTO(processProjectStandardTermUser.getTaskId());
|
||||
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
|
||||
String originUserId = processApprovalRecord.getOriginUserId();
|
||||
QueryWrapper<ProcessProjectStandardTermUser> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda()
|
||||
.eq(ProcessProjectStandardTermUser::getTermId,processProjectStandardTermUser.getId())
|
||||
.eq(ProcessProjectStandardTermUser::getResponsibleUnitLeader,originUserId);
|
||||
Page<ProcessProjectStandardTermUser> page = new Page<>(pageNo, pageSize);
|
||||
Page<ProcessProjectStandardTermUser> pageList = termUserService.page(page, queryWrapper);
|
||||
//获取所有用户信息
|
||||
List<LoginUser> userList = sysBaseAPI.getAllUser();
|
||||
Map<String, String> userNameMap = new HashMap<>();
|
||||
for (LoginUser loginUser : userList) {
|
||||
userNameMap.put(loginUser.getId(), loginUser.calcNameWorkNo());
|
||||
}
|
||||
for (ProcessProjectStandardTermUser record : pageList.getRecords()) {
|
||||
String moduleOwner = record.getModuleOwner();
|
||||
record.setModuleOwner(userNameMap.get(moduleOwner));
|
||||
String designEngineer = record.getDesignEngineer();
|
||||
record.setDesignEngineer(userNameMap.get(designEngineer));
|
||||
}
|
||||
return pageList;
|
||||
}
|
||||
|
||||
public List<ProcessProjectStandardTermApproval> getTermApprovalList(String id) {
|
||||
LambdaQueryWrapper<ProcessProjectStandardTermApproval> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProcessProjectStandardTermApproval::getTermId,id);
|
||||
return termApprovalService.list(wrapper1);
|
||||
}
|
||||
}
|
||||
|
||||
+31
@@ -1,8 +1,18 @@
|
||||
package com.jero.modules.activiti.process.projectstandard.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.process.projectstandard.entity.ProcessProjectStandardTermUser;
|
||||
import com.jero.modules.activiti.process.projectstandard.mapper.ProcessProjectStandardTermUserMapper;
|
||||
@@ -13,5 +23,26 @@ import com.jero.modules.activiti.process.projectstandard.mapper.ProcessProjectSt
|
||||
*/
|
||||
@Service
|
||||
public class ProcessProjectStandardTermUserService extends ServiceImpl<ProcessProjectStandardTermUserMapper, ProcessProjectStandardTermUser> {
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
public IPage<ProcessProjectStandardTermUser> queryPage(ProcessProjectStandardTermUser processProjectStandardTermUser, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req){
|
||||
QueryWrapper<ProcessProjectStandardTermUser> queryWrapper = QueryGenerator.initQueryWrapper(processProjectStandardTermUser, req.getParameterMap());
|
||||
Page<ProcessProjectStandardTermUser> page = new Page<>(pageNo, pageSize);
|
||||
Page<ProcessProjectStandardTermUser> pageList = page(page, queryWrapper);
|
||||
//获取所有用户信息
|
||||
List<LoginUser> userList = sysBaseAPI.getAllUser();
|
||||
Map<String, String> userNameMap = new HashMap<>();
|
||||
for (LoginUser loginUser : userList) {
|
||||
userNameMap.put(loginUser.getId(), loginUser.calcNameWorkNo());
|
||||
}
|
||||
for (ProcessProjectStandardTermUser record : pageList.getRecords()) {
|
||||
String moduleOwner = record.getModuleOwner();
|
||||
record.setModuleOwner(userNameMap.get(moduleOwner));
|
||||
String designEngineer = record.getDesignEngineer();
|
||||
record.setDesignEngineer(userNameMap.get(designEngineer));
|
||||
}
|
||||
return pageList;
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -18,6 +18,9 @@ public class ProcessProjectStandardVO {
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private ProcessProjectStandard processProjectStandard;
|
||||
/**上一节点处理人*/
|
||||
@ApiModelProperty(value = "上一节点处理人")
|
||||
private String moduleOwner;
|
||||
/**关联条款列表*/
|
||||
@ApiModelProperty(value = "关联条款列表")
|
||||
private List<ProcessProjectStandardTerm> processProjectStandardTermList;
|
||||
|
||||
+37
-6
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.activiti.service;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -8,19 +9,23 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.api.vo.SendMessageAPI;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.controller.WorkCenterController;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.mapper.ProcessAllMapper;
|
||||
import com.jero.modules.activiti.process.common.common.DraftCommon;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import com.jero.modules.activiti.vo.DelegateTaskParam;
|
||||
import com.jero.modules.activiti.vo.ResolveTaskParam;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
@@ -30,6 +35,7 @@ import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -135,12 +141,37 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
processDraftService.update(processDraftUpdateWrapper);
|
||||
//activiti撤销
|
||||
runtimeService.deleteProcessInstance(processInstanceId,"强制撤回");
|
||||
//删除流程总表
|
||||
this.removeById(processAll.getId());
|
||||
//删除审批表
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
|
||||
approvalRecordService.remove(wrapper1);
|
||||
//更新流程总表状态
|
||||
update(new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getId, processAll.getId())
|
||||
.set(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue()));
|
||||
|
||||
// 更新最后一条待办人员为流程发起人
|
||||
WorkCenterController workCenterController = SpringContextUtil.getBean(WorkCenterController.class);
|
||||
ProcessApprovalRecord processApprovalRecord1 = new ProcessApprovalRecord();
|
||||
processApprovalRecord1.setProcessInstanceId(processInstanceId);
|
||||
Result<?> approvalRecordList = workCenterController.getApprovalRecordList(processApprovalRecord1, null);
|
||||
if (!Objects.isNull(approvalRecordList.getResult())){
|
||||
Page<ProcessApprovalRecord> pageList = (Page<ProcessApprovalRecord>) approvalRecordList.getResult();
|
||||
if (CollectionUtils.isNotEmpty(pageList.getRecords())){
|
||||
List<ProcessApprovalRecord> processApprovalRecords = JSON.parseArray(JSON.toJSONString(pageList.getRecords()), ProcessApprovalRecord.class);
|
||||
if (CollectionUtils.isNotEmpty(processApprovalRecords)){
|
||||
approvalRecordService.update(
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getId, processApprovalRecords.get(0).getId())
|
||||
.set(ProcessApprovalRecord::getUserId, processApprovalRecords.get(processApprovalRecords.size() - 1).getOriginUserId()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//新增撤销审批记录
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProcessInstanceId(processInstanceId);
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.WITHDRAWN.getValue());
|
||||
processApprovalRecord.setCreateTime(null);
|
||||
approvalRecordService.save(processApprovalRecord);
|
||||
//todo 同步删除操作到统一待办
|
||||
}
|
||||
|
||||
|
||||
+11
-5
@@ -3,18 +3,19 @@ package com.jero.modules.activiti.service;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
@@ -32,7 +33,12 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
|
||||
}
|
||||
|
||||
public Page<ProcessApprovalRecord> pageList(Page<ProcessApprovalRecord> page, ProcessApprovalRecord processApprovalRecord, HttpServletRequest req) {
|
||||
QueryWrapper<ProcessApprovalRecord> wrapper = QueryGenerator.initQueryWrapper(processApprovalRecord, req.getParameterMap());
|
||||
QueryWrapper<ProcessApprovalRecord> wrapper = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getFinishFlagSearch())){
|
||||
wrapper.in("finish_flag", Arrays.asList(processApprovalRecord.getFinishFlagSearch().split(",")));
|
||||
}
|
||||
wrapper.eq("process_instance_id", processApprovalRecord.getProcessInstanceId());
|
||||
wrapper.last("ORDER BY IF(ISNULL(create_time), 1, 0) DESC ,create_time DESC, end_time DESC");
|
||||
Page<ProcessApprovalRecord> pageList = this.page(page, wrapper);
|
||||
List<ProcessApprovalRecord> records = pageList.getRecords();
|
||||
for (ProcessApprovalRecord record : records) {
|
||||
|
||||
@@ -150,6 +150,8 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
|
||||
if (CollectionUtils.isNotEmpty(processEsInitChanges)) {
|
||||
ProcessEsInitChange processEsInitChange = processEsInitChanges.get(0);
|
||||
if (Objects.equals(processEsInitChange.getApplicationCategory(), ESPApplicationCategoryEnum.INITIATION.getValue())) {
|
||||
// 删除主起草人抄送节点
|
||||
processNodeList.removeIf(processNode -> Objects.equals(processNode.getNodeName(), EsInitChangeConstant.AUTO_COPY));
|
||||
// 将两个节点改名
|
||||
processNodeList.forEach(processNode -> {
|
||||
if (Objects.equals(processNode.getNodeName(), EsInitChangeConstant.MAIN_DRAFT_USER_LEADER)) {
|
||||
@@ -162,6 +164,7 @@ public class ProcessNodeService extends ServiceImpl<ProcessNodeMapper, ProcessNo
|
||||
}
|
||||
// 将两个节点改名
|
||||
if (Objects.equals(processEsInitChange.getApplicationCategory(), ESPApplicationCategoryEnum.CHANGE.getValue())) {
|
||||
// 删除专家审批节点
|
||||
processNodeList.removeIf(processNode -> Objects.equals(processNode.getNodeName(), EsInitChangeConstant.EXPERT_CHECK));
|
||||
processNodeList.forEach(processNode -> {
|
||||
if (Objects.equals(processNode.getNodeName(), EsInitChangeConstant.MAIN_DRAFT_USER_LEADER)) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.activiti.util;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.CommonAPI;
|
||||
import com.jero.common.system.vo.SysDictItemCore;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
@@ -9,6 +10,10 @@ import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectTyp
|
||||
import com.jero.modules.laws.common.util.ImportUtil;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel;
|
||||
import com.jero.modules.sys.entity.LawsGrade;
|
||||
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
|
||||
import com.jero.modules.sys.service.ILawsGradeService;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
@@ -46,6 +51,12 @@ public class ExcelUtils {
|
||||
@Resource
|
||||
private ImportUtil importUtil;
|
||||
|
||||
@Resource
|
||||
private ILawsGradeService gradeService;
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardLevelService enterpriseStandardLevelService;
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService enterpriseStandardService;
|
||||
|
||||
@@ -234,19 +245,6 @@ public class ExcelUtils {
|
||||
return textValue.toString();
|
||||
}
|
||||
|
||||
|
||||
public String validStandardClassification(String value, List<SysDictItemCore> listDict) {
|
||||
// 非空检查
|
||||
if (StrUtil.isBlank(value)) {
|
||||
return "'标准等级分类'不能为空。";
|
||||
}
|
||||
// 检查授权部门
|
||||
if (!excelUtils.validDict("standard_grade_classify", value, null, null, true, listDict)) {
|
||||
return "'标准等级分类'无效。";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public String validStandardType(String value, List<SysDictItemCore> listDict) {
|
||||
// 非空检查
|
||||
if (StrUtil.isBlank(value)) {
|
||||
@@ -259,18 +257,48 @@ public class ExcelUtils {
|
||||
return "";
|
||||
}
|
||||
|
||||
public String validAuthDept(String value, List<SysDictItemCore> listDict) {
|
||||
// 非空检查
|
||||
if (StrUtil.isBlank(value)) {
|
||||
return "'授权部门'不能为空。";
|
||||
public String validAuthDept(String authDept, List<SysDictItemCore> listDict,
|
||||
String standardClassification, Map<String, List<String>> authDeptMap) {
|
||||
if (StrUtil.isBlank(standardClassification)) {
|
||||
return "'标准等级分类'不能为空。";
|
||||
}
|
||||
|
||||
// 检查授权部门
|
||||
if (!excelUtils.validDict("depart_name", value, "sys_depart", "id", false, listDict)) {
|
||||
return "'授权部门'无效。";
|
||||
if (!excelUtils.validDict("standard_grade_classify", standardClassification, null,
|
||||
null, true, listDict)) {
|
||||
return "'标准等级分类'无效。";
|
||||
}
|
||||
|
||||
String level = translateDictValue("standard_grade_classify", standardClassification, listDict);
|
||||
|
||||
if (level.equals("2") || level.equals("3")) {
|
||||
if (StrUtil.isBlank(authDept)) {
|
||||
return "'授权部门'不能为空。";
|
||||
}
|
||||
|
||||
// 检查授权部门
|
||||
if (!excelUtils.validDict("depart_name", authDept, "sys_depart", "id", false, listDict)) {
|
||||
return "'授权部门'无效。";
|
||||
}
|
||||
|
||||
// 将授权部门转换为idList
|
||||
String deptIds = excelUtils.translateDictValue("depart_name", "id", "sys_depart", authDept, listDict);
|
||||
boolean isMatching = isMatchingAuthDept(
|
||||
Arrays.asList(deptIds.split(",")),
|
||||
level.equals("2") ? authDeptMap.get("1") : authDeptMap.get("2")
|
||||
);
|
||||
if (!isMatching) {
|
||||
return "'授权部门'和'标准等级分类'不匹配。";
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
private boolean isMatchingAuthDept(List<String> authDeptList, List<String> levelDeptList) {
|
||||
return new HashSet<>(levelDeptList).containsAll(authDeptList);
|
||||
}
|
||||
|
||||
public String validCooperateUnit(String value, List<SysDictItemCore> listDict) {
|
||||
// 非空检查
|
||||
if (StrUtil.isBlank(value)) {
|
||||
@@ -368,19 +396,24 @@ public class ExcelUtils {
|
||||
return matcher.find();
|
||||
}
|
||||
|
||||
public String validSingleDateMustInput(String date, String name) {
|
||||
public String validSingleDateMustInputNotBeforeToday(String date, String name) {
|
||||
if (StrUtil.isBlank(date)) {
|
||||
return "'" + name + "'不能为空。";
|
||||
}
|
||||
return this.validSingleDate(date, name);
|
||||
return this.validSingleDateNotBeforeToday(date, name);
|
||||
}
|
||||
|
||||
public String validSingleDate(String date, String name) {
|
||||
if (importUtil.singleDateValid(date)) {
|
||||
public String validSingleDateNotBeforeToday(String date, String name) {
|
||||
if (StrUtil.isBlank(date)) {
|
||||
return "";
|
||||
} else {
|
||||
}
|
||||
if (!importUtil.singleDateValid(date)) {
|
||||
return "'" + name + "'格式错误。";
|
||||
}
|
||||
if (!importUtil.singleDateValidNotBeforeToday(date)) {
|
||||
return "'" + name + "'不能早于今天。";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public String validPartName(String value, List<SysDictItemCore> listDict) {
|
||||
@@ -414,4 +447,23 @@ public class ExcelUtils {
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public Map<String, List<String>> getAllLevelAuthDeptMap() {
|
||||
Map<String, List<String>> authDeptMap = new HashMap<>();
|
||||
LambdaQueryWrapper<LawsGrade> gradeWrapper = new LambdaQueryWrapper<>();
|
||||
gradeWrapper.eq(LawsGrade::getLevel, 1);
|
||||
LawsGrade levelOne = gradeService.getOne(gradeWrapper);
|
||||
gradeWrapper.clear();
|
||||
gradeWrapper.eq(LawsGrade::getLevel, 2);
|
||||
LawsGrade levelTwo = gradeService.getOne(gradeWrapper);
|
||||
LambdaQueryWrapper<LawsEnterpriseStandardLevel> levelWrapper = new LambdaQueryWrapper<>();
|
||||
levelWrapper.eq(LawsEnterpriseStandardLevel::getGradeId, levelOne.getId());
|
||||
List<LawsEnterpriseStandardLevel> levelOneList = enterpriseStandardLevelService.list(levelWrapper);
|
||||
levelWrapper.clear();
|
||||
authDeptMap.put("1", levelOneList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList()));
|
||||
levelWrapper.eq(LawsEnterpriseStandardLevel::getGradeId, levelTwo.getId());
|
||||
List<LawsEnterpriseStandardLevel> levelTwoList = enterpriseStandardLevelService.list(levelWrapper);
|
||||
authDeptMap.put("2", levelTwoList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList()));
|
||||
return authDeptMap;
|
||||
}
|
||||
}
|
||||
|
||||
+5
-4
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.MinioUtil;
|
||||
import com.jero.modules.compare.entity.*;
|
||||
import com.jero.modules.compare.enums.AssessConsistencyEnum;
|
||||
@@ -279,7 +280,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
response.setContentType("application/force-download");
|
||||
//创建工作表对象
|
||||
String sheetName = "对比结果";
|
||||
if (LanguageEnum.CN.getValue().equals(cut)) {
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())) {
|
||||
sheetName = "对比结果";
|
||||
} else {
|
||||
sheetName = "Comparing results";
|
||||
@@ -288,7 +289,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
|
||||
// 创建头部
|
||||
String header = "";
|
||||
if (LanguageEnum.CN.getValue().equals(cut)) {
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())) {
|
||||
header = "所选标准,条款号,条款名称,条款内容,所选标准,条款号,条款名称,条款内容,评论";
|
||||
} else {
|
||||
header = "Selected Standard,Number,Title,Content,Selected Standard,Number,Title,Content,Comment";
|
||||
@@ -418,7 +419,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
}
|
||||
if (includeComments || MyStringUtils.isEmpty(selectIds)) {
|
||||
Row row = sheet.createRow(i);
|
||||
if (LanguageEnum.CN.getValue().equals(cut)) {
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())) {
|
||||
row.createCell(0).setCellValue("全文评论");
|
||||
} else {
|
||||
row.createCell(0).setCellValue("The full text comments");
|
||||
@@ -474,7 +475,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
os.flush();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
if (LanguageEnum.CN.getValue().equals(cut)) {
|
||||
if (LanguageEnum.CN.getValue().equals(MessageUtils.getLanguage().getValue())) {
|
||||
throw new JeroBootException("下载文件失败");
|
||||
} else {
|
||||
throw new JeroBootException("Failed to download file");
|
||||
|
||||
+1
@@ -21,5 +21,6 @@ public class MessageTemplateCodeCommon {
|
||||
public static final String STANDARD_CHANGE_REFERENCE = "standard_change_reference"; // 【法规变更】引用标准变更
|
||||
public static final String STANDARD_CONSULTATION = "standard_consultation"; // 【征求意见结果提醒】
|
||||
public static final String PROJECT_ASSESS_COMPLETE = "project_assess_complete"; // 【项目合规评估完成提醒】
|
||||
public static final String PROJECT_STANDARD_COMPLETE = "project_standard_complete"; // 【法规合规评估完成提醒】
|
||||
public static final String URGING = "urging"; // 催办
|
||||
}
|
||||
|
||||
@@ -552,6 +552,39 @@ public class ImportUtil {
|
||||
return checkList;
|
||||
}
|
||||
|
||||
public boolean singleDateValidNotBeforeToday(String cellValue) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
// 设置lenient为false,使得日期解析更为严格
|
||||
sdf.setLenient(false);
|
||||
try {
|
||||
Date date = sdf.parse(cellValue.trim()); // 解析日期
|
||||
|
||||
Calendar today = Calendar.getInstance();
|
||||
today.set(Calendar.HOUR_OF_DAY, 0);
|
||||
today.set(Calendar.MINUTE, 0);
|
||||
today.set(Calendar.SECOND, 0);
|
||||
today.set(Calendar.MILLISECOND, 0);
|
||||
|
||||
Calendar inputDate = Calendar.getInstance();
|
||||
inputDate.setTime(date);
|
||||
inputDate.set(Calendar.HOUR_OF_DAY, 0);
|
||||
inputDate.set(Calendar.MINUTE, 0);
|
||||
inputDate.set(Calendar.SECOND, 0);
|
||||
inputDate.set(Calendar.MILLISECOND, 0);
|
||||
|
||||
if (inputDate.before(today)) {
|
||||
log.error("日期必须大于等于今天");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
} catch (ParseException e) {
|
||||
// 这里捕获的应该是ParseException
|
||||
log.error("日期转换错误: {}", e.getMessage());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 单选日期校验
|
||||
public boolean singleDateValid(String cellValue) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
+1
@@ -60,6 +60,7 @@ public class ConsultationController {
|
||||
@ApiOperation(value="征求意见-详情", notes="征求意见-详情")
|
||||
@GetMapping(value = "/queryDetailByBusinessId")
|
||||
@Translation
|
||||
@RequiresPermissions("askForAdvice:search")
|
||||
public Result<ProcessFbConsultationListVO> queryDetailByBusinessId(String businessId,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
|
||||
+7
-4
@@ -22,12 +22,11 @@ import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@@ -48,6 +47,8 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
|
||||
private ILawsDataCenterFileService lawsDataCenterFileService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Value("${adminRoleCode}")
|
||||
private String adminRoleCode;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
@@ -64,7 +65,9 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
|
||||
List<LawsDataCenterFolder> allList = BeanCopyUtils.copyBeanList(lawsDataCenterFolderList, LawsDataCenterFolder.class);
|
||||
|
||||
// 非管理员只能看到自己创建的 or 拥有管理权限 or 拥有查看权限的文件夹 or 默认根目录
|
||||
if (!roleIds.contains("admin")){
|
||||
List<String> adminRoleCodeList = Arrays.asList(adminRoleCode.split(","));
|
||||
Collection<String> intersection = CollectionUtils.intersection(Arrays.asList(roleIds.split(",")), adminRoleCodeList);
|
||||
if (!roleIds.contains("admin") && CollectionUtils.isEmpty(intersection)){
|
||||
lawsDataCenterFolderList = lawsDataCenterFolderList.stream()
|
||||
.filter(v -> (StringUtils.isNotBlank(v.getAuthManageIds()) && v.getAuthManageIds().contains(loginUser.getId()))
|
||||
|| (StringUtils.isNotBlank(v.getAuthViewIds()) && v.getAuthViewIds().contains(loginUser.getId()))
|
||||
|
||||
-7
@@ -1033,13 +1033,6 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
public List<ProcessProjectStandardTerm> processProjectStandardGetList(String sarFileSplitInfoId) {
|
||||
List<ProcessProjectStandardTerm> processProjectAssessTermList = new ArrayList<>();
|
||||
ProcessProjectStandardTerm term = new ProcessProjectStandardTerm();
|
||||
// 文档拆分信息
|
||||
DocumentSplitInfo documentSplitInfo1 = documentSplitMapper.queryDocumentSplitInfoById(sarFileSplitInfoId);
|
||||
term.setTermNumber(documentSplitInfo1.getSerialNumber());
|
||||
term.setTermName(documentSplitInfo1.getTitle());
|
||||
term.setSplitInfoId(sarFileSplitInfoId);
|
||||
term.setTermText(documentSplitInfo1.getFileType());
|
||||
processProjectAssessTermList.add(term);
|
||||
// 文档拆分详情
|
||||
Map<String, Object> parameter = new HashMap<>();
|
||||
parameter.put(INFO_ID, sarFileSplitInfoId);
|
||||
|
||||
+3
-3
@@ -29,10 +29,10 @@ public class EnterpriseStandardInspectVo {
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 稽查依据标准号
|
||||
* 稽查依据标准编号
|
||||
*/
|
||||
@Excel(name = "稽查依据标准号", width = 15, needMerge = true)
|
||||
@ApiModelProperty(value = "稽查依据标准号")
|
||||
@Excel(name = "稽查依据标准编号", width = 18, needMerge = true)
|
||||
@ApiModelProperty(value = "稽查依据标准编号")
|
||||
private String inspectNo;
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -27,8 +27,8 @@ public class ExportDataWithDelayVo {
|
||||
/**
|
||||
* 稽查依据标准号
|
||||
*/
|
||||
@Excel(name = "稽查依据标准号", width = 15)
|
||||
@ApiModelProperty(value = "稽查依据标准号")
|
||||
@Excel(name = "稽查依据标准编号", width = 18)
|
||||
@ApiModelProperty(value = "稽查依据标准编号")
|
||||
private String inspectNo;
|
||||
|
||||
/**
|
||||
|
||||
+3
@@ -27,6 +27,7 @@ public class ESPlanProjectStatusJob implements Job {
|
||||
// 每天执行定时任务 判断所有进行中的计划是否逾期 逾期则修改项目状态为逾期
|
||||
LambdaQueryWrapper<EnterpriseStandardPlan> espWrapper = new LambdaQueryWrapper<>();
|
||||
espWrapper.eq(EnterpriseStandardPlan::getProjectStatus, ESPProjectStatus.IN_PROGRESS.getValue());
|
||||
espWrapper.eq(EnterpriseStandardPlan::getProjectStatus, ESPProjectStatus.OVERDUE.getValue());
|
||||
espWrapper.eq(EnterpriseStandardPlan::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
List<EnterpriseStandardPlan> list = espService.list(espWrapper);
|
||||
Date curDate = new Date();
|
||||
@@ -35,6 +36,8 @@ public class ESPlanProjectStatusJob implements Job {
|
||||
curDate.after(p.getSolicitationDraftPlanCompleteDate()) ||
|
||||
curDate.after(p.getPlanApprovalDate())) {
|
||||
p.setProjectStatus(ESPProjectStatus.OVERDUE.getValue());
|
||||
} else {
|
||||
p.setProjectStatus(ESPProjectStatus.IN_PROGRESS.getValue());
|
||||
}
|
||||
});
|
||||
espService.updateBatchById(list);
|
||||
|
||||
+3
-1
@@ -197,11 +197,13 @@
|
||||
actual_inspect_user,
|
||||
inspect_status,
|
||||
group_concat(lesio.plan_inspect_object separator ',') plan_inspect_object,
|
||||
(IF(lesid.id IS NOT NULL, TRUE, FALSE)) delay_flag
|
||||
(IF(lesid.id IS NOT NULL, TRUE, FALSE)) delay_flag,
|
||||
realname
|
||||
from laws_enterprise_standard_inspect lesi
|
||||
left join laws_enterprise_standard les on lesi.inspect_no = les.standard_number and les.del_flag = '0'
|
||||
left join laws_enterprise_standard_inspect_object lesio on lesi.id = lesio.inspect_id
|
||||
left join laws_enterprise_standard_inspect_delay lesid on lesi.id = lesid.inspect_id
|
||||
left join sys_user u on lesi.inspect_user = u.id
|
||||
group by lesi.id) t
|
||||
${ew.customSqlSegment}
|
||||
</sql>
|
||||
|
||||
-28
@@ -12,9 +12,6 @@
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
|
||||
<result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
|
||||
<result property="processName" column="process_name" jdbcType="VARCHAR"/>
|
||||
<result property="deadlineDate" column="deadline_date" jdbcType="TIMESTAMP"/>
|
||||
<result property="processDescription" column="process_description" jdbcType="VARCHAR"/>
|
||||
<result property="applicationCategory" column="application_category" jdbcType="VARCHAR"/>
|
||||
<result property="projectType" column="project_type" jdbcType="VARCHAR"/>
|
||||
<result property="originEnStandardNo" column="origin_en_standard_no" jdbcType="VARCHAR"/>
|
||||
@@ -53,32 +50,11 @@
|
||||
<result property="similarEnStandardsAnalysis" column="similar_en_standards_analysis" jdbcType="VARCHAR"/>
|
||||
<result property="standardLeadingNecessity" column="standard_leading_necessity" jdbcType="VARCHAR"/>
|
||||
<result property="projectExpectedEffects" column="project_expected_effects" jdbcType="VARCHAR"/>
|
||||
<result property="remarks" column="remarks" jdbcType="VARCHAR"/>
|
||||
<result property="uploadAttachment" column="upload_attachment" jdbcType="VARCHAR"/>
|
||||
<result property="qualityFlag" column="quality_flag" jdbcType="VARCHAR"/>
|
||||
<result property="cooperationUnit" column="cooperation_unit" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,create_by,create_time,
|
||||
update_by,update_time,org_code,
|
||||
del_flag,process_name,deadline_date,
|
||||
process_description,application_category,project_type,
|
||||
origin_en_standard_num,new_en_standard_num,origin_en_standard_name,
|
||||
new_en_standard_name,en_standard_english_name,en_standard_system,
|
||||
en_standard_code,en_name_code,standard_category_code,
|
||||
decade_code,en_standard_classification,draft_planned_complete_date,
|
||||
solicitation_draft_plan_complete_date,plan_approval_date,project_status,
|
||||
compilation_description,component_name,auth_dept,
|
||||
cooperating_units,main_drafting_user,main_drafting_unit,
|
||||
main_drafting_unit_responsible_person,standard_promoter,draft_completion_date,
|
||||
draft_submission_date,solicitation_opinion_enabled,solicitation_draft_completion_date,
|
||||
review_date,approval_date,release_date,
|
||||
change_status,project_background,similar_na_standards_analysis,
|
||||
similar_en_standards_analysis,standard_leading_necessity,project_expected_effects,
|
||||
remarks,attachment,qualityFlag,cooperationUnit
|
||||
</sql>
|
||||
|
||||
<select id="page" resultType="com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo">
|
||||
SELECT
|
||||
p.id,
|
||||
@@ -197,9 +173,6 @@
|
||||
<select id="getDetailById" resultType="com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan">
|
||||
SELECT
|
||||
p.id,
|
||||
p.process_name,
|
||||
p.deadline_date,
|
||||
p.process_description,
|
||||
p.application_category,
|
||||
p.project_type,
|
||||
p.origin_en_standard_no,
|
||||
@@ -237,7 +210,6 @@
|
||||
p.similar_en_standards_analysis,
|
||||
p.standard_leading_necessity,
|
||||
p.project_expected_effects,
|
||||
p.remarks,
|
||||
p.upload_attachment,
|
||||
p.quality_flag
|
||||
FROM
|
||||
|
||||
+1
-1
@@ -398,7 +398,7 @@ public class EnterpriseStandardInspectServiceImpl extends ServiceImpl<Enterprise
|
||||
queryWrapper.eq(StringUtils.isNotBlank(enterpriseStandardInspectVo.getBelongDept()), "belong_dept", enterpriseStandardInspectVo.getBelongDept());
|
||||
queryWrapper.like(StringUtils.isNotBlank(enterpriseStandardInspectVo.getInspectNo()), "inspect_no", enterpriseStandardInspectVo.getInspectNo());
|
||||
queryWrapper.like(StringUtils.isNotBlank(enterpriseStandardInspectVo.getInspectName()), "inspect_name", enterpriseStandardInspectVo.getInspectName());
|
||||
queryWrapper.eq(StringUtils.isNotBlank(enterpriseStandardInspectVo.getInspectUser()), "inspect_user", enterpriseStandardInspectVo.getInspectUser());
|
||||
queryWrapper.like(StringUtils.isNotBlank(enterpriseStandardInspectVo.getInspectUser()), "realname", enterpriseStandardInspectVo.getInspectUser());
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
+14
-8
@@ -44,9 +44,6 @@ import java.util.stream.Collectors;
|
||||
public class EnterpriseStandardPlanServiceImpl extends ServiceImpl<EnterpriseStandardPlanMapper, EnterpriseStandardPlan>
|
||||
implements EnterpriseStandardPlanService, ESSequenceNumberProvider {
|
||||
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardPlanMapper esPlanMapper;
|
||||
|
||||
@@ -54,8 +51,12 @@ public class EnterpriseStandardPlanServiceImpl extends ServiceImpl<EnterpriseSta
|
||||
public IPage<EnterpriseStandardPlanVo> queryPageList(ESPlanQueryDTO esPlanQueryDTO, Integer pageNo, Integer pageSize) {
|
||||
IPage<EnterpriseStandardPlanVo> page = new Page<>(pageNo, pageSize);
|
||||
esPlanMapper.page(page, esPlanQueryDTO);
|
||||
// TODO 判断其能否删除 主起草人在待办中未进行操作,该计划允许删除(目前都设为允许删除)
|
||||
page.getRecords().forEach(p -> p.setAllowDel(true));
|
||||
// 未开始的才可以删除,发起流程的时候需要判断计划有没有被删除,如果计划被删除了则需要重新制定计划
|
||||
page.getRecords().forEach(enterpriseStandardPlanVo -> {
|
||||
enterpriseStandardPlanVo.setAllowDel(
|
||||
ESPProjectStatus.NOT_STARTED.getValue()
|
||||
.equals(enterpriseStandardPlanVo.getProjectStatus()));
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
@@ -81,13 +82,18 @@ public class EnterpriseStandardPlanServiceImpl extends ServiceImpl<EnterpriseSta
|
||||
// 合并 未开始 修订+修订 制定+制定
|
||||
projectStatusList.add(ESPProjectStatus.NOT_STARTED.getValue());
|
||||
esPlanQueryDTO.setProjectStatusList(projectStatusList);
|
||||
} else {
|
||||
// 完成时间变更 未开始/进行中
|
||||
// 工作中止 未开始/进行中
|
||||
} else if (ESPProjectType.RESPONSIBLE_DEPT_CHANGE.getValue().equals(projectType)) {
|
||||
// 责任部门变更 未开始/进行中
|
||||
projectStatusList.add(ESPProjectStatus.NOT_STARTED.getValue());
|
||||
projectStatusList.add(ESPProjectStatus.IN_PROGRESS.getValue());
|
||||
esPlanQueryDTO.setProjectStatusList(projectStatusList);
|
||||
} else {
|
||||
// 完成时间变更 未开始/进行中/逾期
|
||||
// 工作中止 未开始/进行中/逾期
|
||||
projectStatusList.add(ESPProjectStatus.NOT_STARTED.getValue());
|
||||
projectStatusList.add(ESPProjectStatus.IN_PROGRESS.getValue());
|
||||
projectStatusList.add(ESPProjectStatus.OVERDUE.getValue());
|
||||
esPlanQueryDTO.setProjectStatusList(projectStatusList);
|
||||
}
|
||||
IPage<EnterpriseStandardPlanVo> page = new Page<>(pageNo, pageSize);
|
||||
esPlanMapper.page(page, esPlanQueryDTO);
|
||||
|
||||
+17
-5
@@ -23,10 +23,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@@ -170,15 +167,30 @@ public class LawsHomeQuickAccessServiceImpl extends ServiceImpl<LawsHomeQuickAcc
|
||||
// 删除旧数据
|
||||
remove(new LambdaQueryWrapper<LawsHomeQuickAccess>()
|
||||
.eq(LawsHomeQuickAccess::getUserId, sysUser.getId()));
|
||||
// 全部菜单
|
||||
List<SysPermission> menuAllList = sysPermissionService.list();
|
||||
// 获取拥有权限的菜单列表
|
||||
List<SysPermission> sysPermissionList = queryPermissionMenuList("");
|
||||
// 保存新数据
|
||||
List<LawsHomeQuickAccess> lawsHomeQuickAccessList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(permissionIdList)){
|
||||
for (String permissionId : permissionIdList.split(",")) {
|
||||
String[] menuId = permissionIdList.split(",");
|
||||
List<String> errorList = new ArrayList<>();
|
||||
for (String permissionId : menuId) {
|
||||
long count = sysPermissionList.stream().filter(v -> v.getId().equals(permissionId)).count();
|
||||
if (count == 0){
|
||||
Optional<SysPermission> optional = menuAllList.stream().filter(v -> v.getId().equals(permissionId)).findFirst();
|
||||
optional.ifPresent(v -> errorList.add(v.getName()));
|
||||
}
|
||||
LawsHomeQuickAccess lawsHomeQuickAccess = new LawsHomeQuickAccess();
|
||||
lawsHomeQuickAccess.setUserId(sysUser.getId());
|
||||
lawsHomeQuickAccess.setPermissionId(permissionId);
|
||||
lawsHomeQuickAccessList.add(lawsHomeQuickAccess);
|
||||
}
|
||||
if (!errorList.isEmpty()){
|
||||
String join = String.join("、", errorList);
|
||||
throw new JeroBootException(join + ",不能保存没有权限的菜单!");
|
||||
}
|
||||
saveBatch(lawsHomeQuickAccessList);
|
||||
}
|
||||
}
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.jero.modules.laws.standard.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel;
|
||||
import com.jero.modules.laws.standard.entity.LawsTreeNode;
|
||||
import com.jero.modules.laws.standard.entity.PartName;
|
||||
import com.jero.modules.laws.standard.entity.TreePage;
|
||||
import com.jero.modules.laws.standard.service.PartNameService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2024/1/19 10:42
|
||||
*/
|
||||
@Api(tags = "零部件")
|
||||
@RestController
|
||||
@RequestMapping("/laws/standard/partName")
|
||||
@Slf4j
|
||||
public class LawsPartNameController {
|
||||
|
||||
@Resource
|
||||
private PartNameService partNameService;
|
||||
|
||||
@AutoLog(value = "企业标准-零部件树")
|
||||
@ApiOperation(value = "企业标准-零部件树", notes = "企业标准-零部件树")
|
||||
@GetMapping("/")
|
||||
public Result<TreePage<PartName>> queryENTreeList(
|
||||
@RequestParam(required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面大小") Integer pageSize) {
|
||||
TreePage<PartName> list = partNameService.queryTreeList(nodeName, pageNo, pageSize);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
package com.jero.modules.laws.standard.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.laws.standard.entity.LawsUpdateRecord;
|
||||
import com.jero.modules.laws.standard.service.ILawsUpdateRecordService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 文档动态
|
||||
* @Author: jero-boot
|
||||
* @Date: 2024-01-19
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags = "文档动态")
|
||||
@RestController
|
||||
@RequestMapping("/laws/standard/updateRecord")
|
||||
@Slf4j
|
||||
public class LawsUpdateRecordController {
|
||||
|
||||
@Resource
|
||||
private ILawsUpdateRecordService lawsUpdateRecordService;
|
||||
|
||||
@AutoLog(value = "文档动态-查询")
|
||||
@ApiOperation(value = "文档动态-查询", notes = "文档动态-查询")
|
||||
@GetMapping(value = "/list")
|
||||
@ApiOperationSupport(order = 1)
|
||||
@RequiresPermissions("standardRegulationLibrary:documentDynamics:search")
|
||||
public Result<IPage<LawsUpdateRecord>> getUpdateRecordList(
|
||||
@RequestParam("content") @ApiParam("消息内容") String content,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面显示数量") Integer pageSize) {
|
||||
IPage<LawsUpdateRecord> pageList = lawsUpdateRecordService.queryPageList(content, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
@AutoLog(value = "文档动态-批量删除")
|
||||
@ApiOperation(value = "文档动态-批量删除", notes = "文档动态-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
@ApiOperationSupport(order = 2)
|
||||
@RequiresPermissions("standardRegulationLibrary:documentDynamics:batchDelete")
|
||||
public Result<?> batchDelete(@RequestBody Map<String, String> map) {
|
||||
lawsUpdateRecordService.removeByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package com.jero.modules.laws.standard.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @TableName laws_part_name
|
||||
*/
|
||||
@Data
|
||||
@TableName(value = "laws_part_name")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "laws_part_name对象", description = "零部件")
|
||||
public class PartName implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 0表示未删除,1表示删除
|
||||
*/
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 零部件码
|
||||
*/
|
||||
@ApiModelProperty(value = "零部件码")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 零部件名称
|
||||
*/
|
||||
@ApiModelProperty(value = "零部件名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 父级零件id
|
||||
*/
|
||||
@ApiModelProperty(value = "父级零件id")
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 一级节点
|
||||
*/
|
||||
@ApiModelProperty(value = "一级节点")
|
||||
private String firstNode;
|
||||
|
||||
/**
|
||||
* 子零部件
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "子零部件")
|
||||
private List<PartName> childPartNameList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.jero.modules.laws.standard.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2024/1/19 15:24
|
||||
*/
|
||||
@Data
|
||||
public class TreePage<T> {
|
||||
|
||||
private List<T> records;
|
||||
private long total;
|
||||
private long size;
|
||||
private long current;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.laws.standard.mapper;
|
||||
|
||||
import com.jero.modules.laws.standard.entity.PartName;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【laws_part_name】的数据库操作Mapper
|
||||
* @createDate 2024-01-19 10:37:39
|
||||
* @Entity com.jero.modules.laws.standard.entity.PartName
|
||||
*/
|
||||
public interface PartNameMapper extends BaseMapper<PartName> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.laws.standard.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.laws.standard.entity.LawsUpdateRecord;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@@ -18,4 +19,12 @@ public interface ILawsUpdateRecordService extends IService<LawsUpdateRecord> {
|
||||
**/
|
||||
void addRecord(String standardNumber, String content);
|
||||
|
||||
/**
|
||||
* 文档动态列表
|
||||
* @param content 消息内容
|
||||
* @param pageNo 页码
|
||||
* @param pageSize 页面显示数量
|
||||
* @return IPage<LawsUpdateRecord>
|
||||
*/
|
||||
IPage<LawsUpdateRecord> queryPageList(String content, Integer pageNo, Integer pageSize);
|
||||
}
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.laws.standard.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel;
|
||||
import com.jero.modules.laws.standard.entity.PartName;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.laws.standard.entity.TreePage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【laws_part_name】的数据库操作Service
|
||||
* @createDate 2024-01-19 10:37:39
|
||||
*/
|
||||
public interface PartNameService extends IService<PartName> {
|
||||
|
||||
/**
|
||||
* 查询零部件树
|
||||
*
|
||||
* @param nodeName
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
TreePage<PartName> queryTreeList(String nodeName, Integer pageNo, Integer pageSize);
|
||||
}
|
||||
+2
-2
@@ -103,7 +103,7 @@ public class LawsTreeNodeServiceImpl extends ServiceImpl<LawsTreeNodeMapper, Law
|
||||
}
|
||||
}
|
||||
|
||||
private Set<LawsTreeNode> findPathToRoot(List<LawsTreeNode> allNodes, LawsTreeNode node) {
|
||||
public static Set<LawsTreeNode> findPathToRoot(List<LawsTreeNode> allNodes, LawsTreeNode node) {
|
||||
Set<LawsTreeNode> pathNodes = new HashSet<>();
|
||||
LawsTreeNode[] currentHolder = new LawsTreeNode[1];
|
||||
currentHolder[0] = node;
|
||||
@@ -116,7 +116,7 @@ public class LawsTreeNodeServiceImpl extends ServiceImpl<LawsTreeNodeMapper, Law
|
||||
return pathNodes;
|
||||
}
|
||||
|
||||
private Set<LawsTreeNode> findAllChildren(List<LawsTreeNode> allNodes, LawsTreeNode node) {
|
||||
public Set<LawsTreeNode> findAllChildren(List<LawsTreeNode> allNodes, LawsTreeNode node) {
|
||||
Set<LawsTreeNode> childrenSet = new HashSet<>();
|
||||
List<LawsTreeNode> directChildren = allNodes.stream()
|
||||
.filter(n -> n.getParentId().equals(node.getId()))
|
||||
|
||||
+18
@@ -1,5 +1,12 @@
|
||||
package com.jero.modules.laws.standard.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo;
|
||||
import com.jero.modules.laws.standard.entity.LawsUpdateRecord;
|
||||
import com.jero.modules.laws.standard.mapper.LawsUpdateRecordMapper;
|
||||
import com.jero.modules.laws.standard.service.ILawsUpdateRecordService;
|
||||
@@ -31,4 +38,15 @@ public class LawsUpdateRecordServiceImpl extends ServiceImpl<LawsUpdateRecordMap
|
||||
lawsUpdateRecord.setContent(content);
|
||||
save(lawsUpdateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<LawsUpdateRecord> queryPageList(String content, Integer pageNo, Integer pageSize) {
|
||||
IPage<LawsUpdateRecord> page = new Page<>(pageNo, pageSize);
|
||||
LambdaQueryWrapper<LawsUpdateRecord> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(StrUtil.isNotBlank(content), LawsUpdateRecord::getContent, content);
|
||||
queryWrapper.eq(LawsUpdateRecord::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
queryWrapper.orderByDesc(LawsUpdateRecord::getCreateTime);
|
||||
page = page(page, queryWrapper);
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
package com.jero.modules.laws.standard.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.laws.standard.entity.PartName;
|
||||
import com.jero.modules.laws.standard.entity.TreePage;
|
||||
import com.jero.modules.laws.standard.service.PartNameService;
|
||||
import com.jero.modules.laws.standard.mapper.PartNameMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【laws_part_name】的数据库操作Service实现
|
||||
* @createDate 2024-01-19 10:37:39
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
|
||||
implements PartNameService {
|
||||
|
||||
@Resource
|
||||
private PartNameMapper partNameMapper;
|
||||
|
||||
@Override
|
||||
public TreePage<PartName> queryTreeList(String nodeName, Integer pageNo, Integer pageSize) {
|
||||
LambdaQueryWrapper<PartName> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PartName::getDelFlag, YesOrNoEnum.NO.getValue())
|
||||
.like(StrUtil.isNotBlank(nodeName), PartName::getName, nodeName);
|
||||
List<PartName> allNodes = partNameMapper.selectList(queryWrapper);
|
||||
|
||||
// 将所有节点转换为映射,以便快速查找
|
||||
Map<String, PartName> nodeMap = allNodes.stream()
|
||||
.collect(Collectors.toMap(PartName::getId, Function.identity()));
|
||||
|
||||
// 构建树形结构
|
||||
List<PartName> topLevelNodes = new ArrayList<>();
|
||||
allNodes.forEach(node -> {
|
||||
if (node.getParentId() == null) {
|
||||
topLevelNodes.add(node);
|
||||
} else {
|
||||
PartName parentNode = nodeMap.get(node.getParentId());
|
||||
if (parentNode != null) {
|
||||
if (parentNode.getChildPartNameList() == null) {
|
||||
parentNode.setChildPartNameList(new ArrayList<>());
|
||||
}
|
||||
parentNode.getChildPartNameList().add(node);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 实现分页逻辑
|
||||
int start = (pageNo - 1) * pageSize;
|
||||
int end = Math.min(start + pageSize, topLevelNodes.size());
|
||||
List<PartName> pageData = topLevelNodes.subList(start, end);
|
||||
|
||||
// 封装分页信息
|
||||
TreePage<PartName> result = new TreePage<>();
|
||||
result.setRecords(pageData);
|
||||
result.setTotal(topLevelNodes.size());
|
||||
result.setSize(pageSize);
|
||||
result.setCurrent(pageNo);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+6
@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -48,6 +49,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
||||
@AutoLog(value = "标准化活动-树结构查询")
|
||||
@ApiOperation(value="标准化活动-树结构查询", notes="标准化活动-树结构查询")
|
||||
@GetMapping(value = "/queryTreeList")
|
||||
@RequiresPermissions("standardActivity:search")
|
||||
public Result<LawsStandardization> queryTreeList() {
|
||||
return Result.OK(lawsStandardizationService.queryTreeList());
|
||||
}
|
||||
@@ -59,6 +61,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
||||
@AutoLog(value = "标准化活动-统计列表")
|
||||
@ApiOperation(value="标准化活动-统计列表", notes="标准化活动-统计列表")
|
||||
@GetMapping(value = "/queryStatistics")
|
||||
@RequiresPermissions("standardActivity:statistical")
|
||||
public Result<List<LawsStandardization>> queryStatistics() {
|
||||
return Result.OK(lawsStandardizationService.queryStatistics());
|
||||
}
|
||||
@@ -72,6 +75,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
||||
@AutoLog(value = "标准化活动-添加")
|
||||
@ApiOperation(value="标准化活动-添加", notes="标准化活动-添加")
|
||||
@PostMapping(value = "/add")
|
||||
@RequiresPermissions("standardActivity:add")
|
||||
public Result<T> add(@Validated @RequestBody StandardizationVO standardizationVO) {
|
||||
lawsStandardizationService.addOrUpdateStandardization(standardizationVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
@@ -86,6 +90,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
||||
@AutoLog(value = "标准化活动-编辑")
|
||||
@ApiOperation(value="标准化活动-编辑", notes="标准化活动-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
@RequiresPermissions("standardActivity:edit")
|
||||
public Result<T> edit(@Validated @RequestBody StandardizationVO standardizationVO) {
|
||||
log.info("");
|
||||
lawsStandardizationService.addOrUpdateStandardization(standardizationVO);
|
||||
@@ -181,6 +186,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
||||
@ApiOperation(value="标准化活动-详情通过id查询", notes="标准化活动-详情通过id查询")
|
||||
@GetMapping(value = "/queryDetailById")
|
||||
@Translation
|
||||
@RequiresPermissions("standardActivity:view")
|
||||
public Result<StandardizationVO> queryDetailById(@ApiParam("id") String id) {
|
||||
return Result.OK(lawsStandardizationService.queryDetailById(id));
|
||||
}
|
||||
|
||||
+7
@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
@@ -43,6 +44,7 @@ public class LawsTaskTransferController {
|
||||
@AutoLog(value = "任务转交-基础库信息分页查询")
|
||||
@ApiOperation(value="任务转交-基础库信息分页查询", notes="任务转交-基础库信息分页查询")
|
||||
@GetMapping(value = "/queryBaseDB")
|
||||
@RequiresPermissions("taskCareOf:basicInfo:search")
|
||||
public Result<IPage<LawsBaseDB>> queryBaseDB(LawsBaseDB lawsBaseDB,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
@@ -56,6 +58,7 @@ public class LawsTaskTransferController {
|
||||
@AutoLog(value = "任务转交-基础库信息转交")
|
||||
@ApiOperation(value="任务转交-基础库信息转交", notes="任务转交-基础库信息转交")
|
||||
@PostMapping(value = "/baseDBTransfer")
|
||||
@RequiresPermissions("taskCareOf:basicInfo:transfer")
|
||||
public Result<T> baseDBTransfer(@RequestBody LawsBaseDB lawsBaseDB) {
|
||||
lawsTaskTransferService.baseDBTransfer(lawsBaseDB);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
@@ -68,6 +71,7 @@ public class LawsTaskTransferController {
|
||||
@AutoLog(value = "任务转交-基础库信息转交(批量)")
|
||||
@ApiOperation(value="任务转交-基础库信息转交(批量)", notes="任务转交-基础库信息转交(批量)")
|
||||
@PostMapping(value = "/baseDBTransferBatch")
|
||||
@RequiresPermissions("taskCareOf:basicInfo:batchTransfer")
|
||||
public Result<T> baseDBTransferBatch(@RequestBody List<LawsBaseDB> lawsBaseDBList) {
|
||||
lawsTaskTransferService.baseDBTransferBatch(lawsBaseDBList);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
@@ -80,6 +84,7 @@ public class LawsTaskTransferController {
|
||||
@AutoLog(value = "任务转交-流程信息分页查询")
|
||||
@ApiOperation(value="任务转交-流程信息分页查询", notes="任务转交-流程信息分页查询")
|
||||
@GetMapping(value = "/queryProcessDB")
|
||||
@RequiresPermissions("taskCareOf:processInfo:search")
|
||||
public Result<IPage<LawsProcessDB>> queryProcessDB(LawsProcessDB lawsProcessDb,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
@@ -93,6 +98,7 @@ public class LawsTaskTransferController {
|
||||
@AutoLog(value = "任务转交-流程信息转交")
|
||||
@ApiOperation(value="任务转交-流程信息转交", notes="任务转交-流程信息转交")
|
||||
@PostMapping(value = "/processDBTransfer")
|
||||
@RequiresPermissions("taskCareOf:processInfo:transfer")
|
||||
public Result<IPage<LawsProcessDB>> processDBTransfer(@RequestBody LawsProcessDB lawsProcessDB) {
|
||||
lawsTaskTransferService.processDBTransfer(lawsProcessDB);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
@@ -105,6 +111,7 @@ public class LawsTaskTransferController {
|
||||
@AutoLog(value = "任务转交-流程信息转交(批量)")
|
||||
@ApiOperation(value="任务转交-流程信息转交(批量)", notes="任务转交-流程信息转交(批量)")
|
||||
@PostMapping(value = "/processDBTransferBatch")
|
||||
@RequiresPermissions("taskCareOf:processInfo:batchTransfer")
|
||||
public Result<IPage<LawsProcessDB>> processDBTransferBatch(@RequestBody List<LawsProcessDB> lawsProcessDBList) {
|
||||
lawsTaskTransferService.processDBTransferBatch(lawsProcessDBList);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.laws.tasktransfer.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -37,4 +38,8 @@ public class LawsBaseDB {
|
||||
/**转交人*/
|
||||
@ApiModelProperty(value = "转交人")
|
||||
private String transferUser;
|
||||
/**ids 查询用*/
|
||||
@ApiModelProperty(value = "ids 查询用")
|
||||
@TableField(exist = false)
|
||||
private String ids;
|
||||
}
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.laws.tasktransfer.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -45,4 +46,8 @@ public class LawsProcessDB {
|
||||
/**状态*/
|
||||
@ApiModelProperty(value="状态: true:可转交,false:不可转交")
|
||||
private boolean state;
|
||||
/**ids 查询用*/
|
||||
@ApiModelProperty(value = "ids 查询用")
|
||||
@TableField(exist = false)
|
||||
private String ids;
|
||||
}
|
||||
|
||||
+21
-4
@@ -7,6 +7,8 @@ import com.jero.modules.laws.tasktransfer.entity.LawsBaseDB;
|
||||
import com.jero.modules.laws.tasktransfer.entity.LawsProcessDB;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName: LawsTaskTransferMapper
|
||||
* @Description:
|
||||
@@ -18,16 +20,31 @@ public interface LawsTaskTransferMapper {
|
||||
/**
|
||||
* 任务转交-基础库信息分页查询
|
||||
* @param queryWrapper
|
||||
* @param objectPage
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
IPage<LawsBaseDB> queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper<LawsBaseDB> queryWrapper, IPage<LawsBaseDB> objectPage);
|
||||
IPage<LawsBaseDB> queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper<LawsBaseDB> queryWrapper, IPage<LawsBaseDB> page);
|
||||
|
||||
/**
|
||||
* 任务转交-基础库信息列表查询
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
List<LawsBaseDB> queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper<LawsBaseDB> queryWrapper);
|
||||
|
||||
|
||||
/**
|
||||
* 任务转交-流程信息分页查询
|
||||
* @param queryWrapper
|
||||
* @param objectPage
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
IPage<LawsProcessDB> queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper<LawsProcessDB> queryWrapper, IPage<LawsProcessDB> objectPage);
|
||||
IPage<LawsProcessDB> queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper<LawsProcessDB> queryWrapper, IPage<LawsProcessDB> page);
|
||||
|
||||
/**
|
||||
* 任务转交-流程信息列表查询
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
List<LawsProcessDB> queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper<LawsProcessDB> queryWrapper);
|
||||
}
|
||||
|
||||
+26
@@ -23,6 +23,13 @@ public interface ILawsTaskTransferService {
|
||||
*/
|
||||
IPage<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 任务转交-基础库信息列表查询
|
||||
* @param lawsBaseDB
|
||||
* @return
|
||||
*/
|
||||
List<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB);
|
||||
|
||||
/**
|
||||
* 任务转交-基础库信息转交
|
||||
* @param lawsBaseDB
|
||||
@@ -44,6 +51,13 @@ public interface ILawsTaskTransferService {
|
||||
*/
|
||||
IPage<LawsProcessDB> queryProcessDB(LawsProcessDB lawsProcessDb, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 任务转交-流程信息列表查询
|
||||
* @param lawsProcessDb
|
||||
* @return
|
||||
*/
|
||||
List<LawsProcessDB> queryProcessDB(LawsProcessDB lawsProcessDb);
|
||||
|
||||
/**
|
||||
* 任务转交-流程信息转交
|
||||
* @param lawsProcessDB
|
||||
@@ -55,4 +69,16 @@ public interface ILawsTaskTransferService {
|
||||
* @param lawsProcessDBList
|
||||
*/
|
||||
void processDBTransferBatch(List<LawsProcessDB> lawsProcessDBList);
|
||||
|
||||
/**
|
||||
* 任务转交-是否水平越权(基础库信息)
|
||||
* @param ids
|
||||
*/
|
||||
void isHorizontalOverstepByBaseDB(String ids);
|
||||
|
||||
/**
|
||||
* 任务转交-是否水平越权(流程信息)
|
||||
* @param ids
|
||||
*/
|
||||
void isHorizontalOverstepByProcessDB(String ids);
|
||||
}
|
||||
|
||||
+74
-4
@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
@@ -28,10 +31,12 @@ import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -76,6 +81,12 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
|
||||
|
||||
@Override
|
||||
public IPage<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<LawsBaseDB> queryWrapper = getLawsBaseDBQueryWrapper(lawsBaseDB);
|
||||
return lawsTaskTransferMapper.queryBaseDB(queryWrapper, new Page<>(pageNo, pageSize));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<LawsBaseDB> getLawsBaseDBQueryWrapper(LawsBaseDB lawsBaseDB) {
|
||||
QueryWrapper<LawsBaseDB> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsBaseDB.getUser()), "u.realname", lawsBaseDB.getUser());
|
||||
queryWrapper.eq(StringUtils.isNotBlank(lawsBaseDB.getType()), "t.type", lawsBaseDB.getType());
|
||||
@@ -83,14 +94,29 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
|
||||
queryWrapper.orderByDesc("t.create_time");
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String roleIds = loginUser.getRoleIds();
|
||||
if (!roleIds.contains("admin")){
|
||||
if (!roleIds.contains("admin") && !roleIds.contains("BZGLY")){
|
||||
queryWrapper.eq("t.user", loginUser.getId());
|
||||
}
|
||||
return lawsTaskTransferMapper.queryBaseDB(queryWrapper, new Page<>(pageNo, pageSize));
|
||||
if (StringUtils.isNotBlank(lawsBaseDB.getIds())){
|
||||
queryWrapper.in("t.id", Arrays.asList(lawsBaseDB.getIds().split(",")));
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB) {
|
||||
QueryWrapper<LawsBaseDB> queryWrapper = getLawsBaseDBQueryWrapper(lawsBaseDB);
|
||||
return lawsTaskTransferMapper.queryBaseDB(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<LawsProcessDB> queryProcessDB(LawsProcessDB lawsProcessDb, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<LawsProcessDB> queryWrapper = getLawsProcessDBQueryWrapper(lawsProcessDb);
|
||||
return lawsTaskTransferMapper.queryProcessDB(queryWrapper, new Page<>(pageNo, pageSize));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<LawsProcessDB> getLawsProcessDBQueryWrapper(LawsProcessDB lawsProcessDb) {
|
||||
QueryWrapper<LawsProcessDB> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsProcessDb.getUser()), "u.realname", lawsProcessDb.getUser());
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsProcessDb.getPrcNum()), "prc_num", lawsProcessDb.getPrcNum());
|
||||
@@ -103,10 +129,19 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
|
||||
queryWrapper.orderByDesc("par.create_time");
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String roleIds = loginUser.getRoleIds();
|
||||
if (!roleIds.contains("admin")){
|
||||
if (!roleIds.contains("admin") && !roleIds.contains("BZGLY")){
|
||||
queryWrapper.eq("par.user_id", loginUser.getId());
|
||||
}
|
||||
return lawsTaskTransferMapper.queryProcessDB(queryWrapper, new Page<>(pageNo, pageSize));
|
||||
if (StringUtils.isNotBlank(lawsProcessDb.getIds())){
|
||||
queryWrapper.in("pa.id", Arrays.asList(lawsProcessDb.getIds().split(",")));
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LawsProcessDB> queryProcessDB(LawsProcessDB lawsProcessDb) {
|
||||
QueryWrapper<LawsProcessDB> queryWrapper = getLawsProcessDBQueryWrapper(lawsProcessDb);
|
||||
return lawsTaskTransferMapper.queryProcessDB(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -118,6 +153,10 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
|
||||
|
||||
@Override
|
||||
public void processDBTransferBatch(List<LawsProcessDB> lawsProcessDBList) {
|
||||
// 水平越权
|
||||
List<String> idlist = lawsProcessDBList.stream().map(LawsProcessDB::getId).collect(Collectors.toList());
|
||||
isHorizontalOverstepByProcessDB(String.join(",", idlist));
|
||||
|
||||
for (LawsProcessDB lawsProcessDb : lawsProcessDBList) {
|
||||
String taskId = lawsProcessDb.getTaskId();
|
||||
String toUserId = lawsProcessDb.getTransferUser();
|
||||
@@ -130,6 +169,34 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isHorizontalOverstepByBaseDB(String ids) {
|
||||
LawsBaseDB lawsBaseDB = new LawsBaseDB();
|
||||
lawsBaseDB.setIds(ids);
|
||||
List<LawsBaseDB> lawsBaseDBList = queryBaseDB(lawsBaseDB);
|
||||
if (Objects.isNull(lawsBaseDBList) || lawsBaseDBList.size() != ids.split(",").length) {
|
||||
if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) {
|
||||
throw new JeroBootException("无权限!");
|
||||
}else{
|
||||
throw new JeroBootException("No access!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isHorizontalOverstepByProcessDB(String ids) {
|
||||
LawsProcessDB lawsProcessDB = new LawsProcessDB();
|
||||
lawsProcessDB.setIds(ids);
|
||||
List<LawsProcessDB> lawsProcessDBList = queryProcessDB(lawsProcessDB);
|
||||
if (Objects.isNull(lawsProcessDBList) || lawsProcessDBList.size() != ids.split(",").length) {
|
||||
if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) {
|
||||
throw new JeroBootException("无权限!");
|
||||
}else{
|
||||
throw new JeroBootException("No access!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void baseDBTransfer(LawsBaseDB lawsBaseDB) {
|
||||
List<LawsBaseDB> lawsBaseDBList = new ArrayList<>();
|
||||
@@ -139,6 +206,9 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
|
||||
|
||||
@Override
|
||||
public void baseDBTransferBatch(List<LawsBaseDB> lawsBaseDBList) {
|
||||
// 水平越权
|
||||
List<String> idlist = lawsBaseDBList.stream().map(LawsBaseDB::getId).collect(Collectors.toList());
|
||||
isHorizontalOverstepByBaseDB(String.join(",", idlist));
|
||||
// 企标计划
|
||||
standardPlan(lawsBaseDBList);
|
||||
// 标准拆分
|
||||
|
||||
@@ -1,32 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0zmm786" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.13.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.19.0">
|
||||
<bpmn:process id="project-not-met" name="项目合规评估流程" isExecutable="true">
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
|
||||
<bpmn:process id="project-not-met" name="未符合项跟踪流程" isExecutable="true">
|
||||
<bpmn:startEvent id="StartEvent_1">
|
||||
<bpmn:outgoing>Flow_12b9yhd</bpmn:outgoing>
|
||||
</bpmn:startEvent>
|
||||
<bpmn:sequenceFlow id="Flow_12b9yhd" sourceRef="StartEvent_1" targetRef="fggcsfqzg" />
|
||||
<bpmn:userTask id="fggcsfqzg" name="法规工程师发起整改" camunda:assignee="${standardsEngineer}">
|
||||
<bpmn:userTask id="fggcsfqzg" name="法规工程师发起整改" activiti:assignee="${standardsEngineer}">
|
||||
<bpmn:incoming>Flow_12b9yhd</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0ndqyc9</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:userTask id="fggcssp" name="法规工程师审批" camunda:assignee="${standardsEngineer}">
|
||||
<bpmn:userTask id="fggcssp" name="法规工程师审批" activiti:assignee="${standardsEngineer}">
|
||||
<bpmn:incoming>Flow_0eu6g3b</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1uaygks</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:endEvent id="Event_0nxyypv">
|
||||
<bpmn:incoming>Flow_0ame206</bpmn:incoming>
|
||||
</bpmn:endEvent>
|
||||
<bpmn:userTask id="sjgcssczgcl" name="设计工程师上传整改材料" camunda:assignee="${designEngineer}">
|
||||
<bpmn:extensionElements>
|
||||
<camunda:taskListener class="com.jero.modules.activiti.process.projectassess.listener.ProcessProjectAssessCreateListener" event="create" />
|
||||
</bpmn:extensionElements>
|
||||
<bpmn:userTask id="sjgcssczgcl" name="设计工程师上传整改材料" activiti:assignee="${designEngineer}">
|
||||
<bpmn:extensionElements />
|
||||
<bpmn:incoming>Flow_0ndqyc9</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_1torqxs</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_1e2ecjo</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1ko64jc</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:sequenceFlow id="Flow_0ndqyc9" sourceRef="fggcsfqzg" targetRef="sjgcssczgcl" />
|
||||
<bpmn:userTask id="zgjldsp" name="主管级领导审批" camunda:assignee="${managerLeader}">
|
||||
<bpmn:userTask id="zgjldsp" name="主管级领导审批" activiti:assignee="${managerLeader}">
|
||||
<bpmn:incoming>Flow_1ko64jc</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0rn2xkx</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
@@ -57,7 +55,7 @@
|
||||
</bpmn:sequenceFlow>
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="project-assessment">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="project-not-met">
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="159" y="172" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
|
||||
+7
-9
@@ -1,32 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
|
||||
<bpmn:process id="project-not-met" name="项目合规评估流程" isExecutable="true">
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0zmm786" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.13.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.19.0">
|
||||
<bpmn:process id="project-not-met" name="未符合项跟踪流程" isExecutable="true">
|
||||
<bpmn:startEvent id="StartEvent_1">
|
||||
<bpmn:outgoing>Flow_12b9yhd</bpmn:outgoing>
|
||||
</bpmn:startEvent>
|
||||
<bpmn:sequenceFlow id="Flow_12b9yhd" sourceRef="StartEvent_1" targetRef="fggcsfqzg" />
|
||||
<bpmn:userTask id="fggcsfqzg" name="法规工程师发起整改" activiti:assignee="${standardsEngineer}">
|
||||
<bpmn:userTask id="fggcsfqzg" name="法规工程师发起整改" camunda:assignee="${standardsEngineer}">
|
||||
<bpmn:incoming>Flow_12b9yhd</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0ndqyc9</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:userTask id="fggcssp" name="法规工程师审批" activiti:assignee="${standardsEngineer}">
|
||||
<bpmn:userTask id="fggcssp" name="法规工程师审批" camunda:assignee="${standardsEngineer}">
|
||||
<bpmn:incoming>Flow_0eu6g3b</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1uaygks</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:endEvent id="Event_0nxyypv">
|
||||
<bpmn:incoming>Flow_0ame206</bpmn:incoming>
|
||||
</bpmn:endEvent>
|
||||
<bpmn:userTask id="sjgcssczgcl" name="设计工程师上传整改材料" activiti:assignee="${designEngineer}">
|
||||
<bpmn:extensionElements>
|
||||
<activiti:taskListener class="com.jero.modules.activiti.process.projectassess.listener.ProcessProjectAssessCreateListener" event="create" />
|
||||
</bpmn:extensionElements>
|
||||
<bpmn:userTask id="sjgcssczgcl" name="设计工程师上传整改材料" camunda:assignee="${designEngineer}">
|
||||
<bpmn:extensionElements />
|
||||
<bpmn:incoming>Flow_0ndqyc9</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_1torqxs</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_1e2ecjo</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1ko64jc</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:sequenceFlow id="Flow_0ndqyc9" sourceRef="fggcsfqzg" targetRef="sjgcssczgcl" />
|
||||
<bpmn:userTask id="zgjldsp" name="主管级领导审批" activiti:assignee="${managerLeader}">
|
||||
<bpmn:userTask id="zgjldsp" name="主管级领导审批" camunda:assignee="${managerLeader}">
|
||||
<bpmn:incoming>Flow_1ko64jc</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0rn2xkx</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
@@ -288,7 +288,7 @@
|
||||
<bpmn:incoming>Flow_03v0fem</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1gw9i5e</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:userTask id="sjgcsbcgzlbh" name="设计工程师补充工作令编号" activiti:assignee="${designEngineer}">
|
||||
<bpmn:userTask id="sjgcsbcgzlbh" name="设计工程师补充立项项目号" activiti:assignee="${designEngineer}">
|
||||
<bpmn:incoming>Flow_0c3ic1y</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_19ehxvl</bpmn:outgoing>
|
||||
<bpmn:multiInstanceLoopCharacteristics activiti:collection="designEngineerList" activiti:elementVariable="designEngineer">
|
||||
@@ -473,18 +473,6 @@
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="standard-assessment">
|
||||
<bpmndi:BPMNShape id="Gateway_0mobyxv_di" bpmnElement="Gateway_0mobyxv" isMarkerVisible="true">
|
||||
<dc:Bounds x="2085" y="195" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_1k7uv2r_di" bpmnElement="Event_1k7uv2r">
|
||||
<dc:Bounds x="2482" y="202" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1fh8fjh_di" bpmnElement="fggcssp">
|
||||
<dc:Bounds x="1870" y="180" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0y90822_di" bpmnElement="sjgcsbcgzlbh">
|
||||
<dc:Bounds x="2280" y="180" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="159" y="392" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
@@ -502,28 +490,6 @@
|
||||
<dc:Bounds x="530" y="140" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0k2p59e" bpmnElement="Gateway_16tlx8e" isMarkerVisible="true">
|
||||
<dc:Bounds x="555" y="245" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1w7o9oy" bpmnElement="Event_1trh68p">
|
||||
<dc:Bounds x="562" y="342" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_155ubeu" bpmnElement="bszgjldsp_1">
|
||||
<dc:Bounds x="660" y="480" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1qktq5f_di" bpmnElement="Gateway_1qktq5f" isMarkerVisible="true">
|
||||
<dc:Bounds x="685" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_17bnh8x_di" bpmnElement="Event_17bnh8x">
|
||||
<dc:Bounds x="692" y="722" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_01qa5y5_di" bpmnElement="Gateway_0vyx6xb">
|
||||
<dc:Bounds x="765" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_0s7cvcd_di" bpmnElement="Gateway_15ql8ot">
|
||||
<dc:Bounds x="1685" y="715" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0njknr1_di" bpmnElement="Activity_08c4m85" isExpanded="true">
|
||||
<dc:Bounds x="670" y="130" width="780" height="280" />
|
||||
<bpmndi:BPMNLabel />
|
||||
@@ -531,12 +497,6 @@
|
||||
<bpmndi:BPMNShape id="Event_1ian0ub_di" bpmnElement="Event_1ian0ub">
|
||||
<dc:Bounds x="700" y="172" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_02udv1z_di" bpmnElement="mkzrrff_1">
|
||||
<dc:Bounds x="790" y="150" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0coxith" bpmnElement="Gateway_0r2qm3p" isMarkerVisible="true">
|
||||
<dc:Bounds x="815" y="248" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1vb9u4y_di" bpmnElement="sjgcspg_1">
|
||||
<dc:Bounds x="940" y="233" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
@@ -550,6 +510,12 @@
|
||||
<bpmndi:BPMNShape id="Event_151o5cu_di" bpmnElement="Event_151o5cu">
|
||||
<dc:Bounds x="1382" y="255" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_02udv1z_di" bpmnElement="mkzrrff_1">
|
||||
<dc:Bounds x="790" y="150" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0coxith" bpmnElement="Gateway_0r2qm3p" isMarkerVisible="true">
|
||||
<dc:Bounds x="815" y="248" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1wnjq5x" bpmnElement="Event_1e8jif7">
|
||||
<dc:Bounds x="822" y="342" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
@@ -557,10 +523,34 @@
|
||||
<di:waypoint x="736" y="190" />
|
||||
<di:waypoint x="790" y="190" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1w5wrt4_di" bpmnElement="Flow_1w5wrt4">
|
||||
<di:waypoint x="1230" y="273" />
|
||||
<di:waypoint x="1265" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m6dxws_di" bpmnElement="Flow_1m6dxws">
|
||||
<di:waypoint x="1315" y="273" />
|
||||
<di:waypoint x="1382" y="273" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1338" y="255" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_07hxwn8_di" bpmnElement="Flow_07hxwn8">
|
||||
<di:waypoint x="1290" y="248" />
|
||||
<di:waypoint x="1290" y="193" />
|
||||
<di:waypoint x="990" y="193" />
|
||||
<di:waypoint x="990" y="233" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1130" y="175" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0a6biwg_di" bpmnElement="Flow_0a6biwg">
|
||||
<di:waypoint x="840" y="230" />
|
||||
<di:waypoint x="840" y="248" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_197effc_di" bpmnElement="Flow_197effc">
|
||||
<di:waypoint x="1040" y="273" />
|
||||
<di:waypoint x="1130" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0td9vsx" bpmnElement="Flow_15xpnyd">
|
||||
<di:waypoint x="840" y="298" />
|
||||
<di:waypoint x="840" y="342" />
|
||||
@@ -575,28 +565,91 @@
|
||||
<dc:Bounds x="881" y="255" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_07hxwn8_di" bpmnElement="Flow_07hxwn8">
|
||||
<di:waypoint x="1290" y="248" />
|
||||
<di:waypoint x="1290" y="193" />
|
||||
<di:waypoint x="990" y="193" />
|
||||
<di:waypoint x="990" y="233" />
|
||||
<bpmndi:BPMNShape id="BPMNShape_0k2p59e" bpmnElement="Gateway_16tlx8e" isMarkerVisible="true">
|
||||
<dc:Bounds x="555" y="245" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1w7o9oy" bpmnElement="Event_1trh68p">
|
||||
<dc:Bounds x="562" y="342" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_0s7cvcd_di" bpmnElement="Gateway_15ql8ot">
|
||||
<dc:Bounds x="1685" y="715" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_01qa5y5_di" bpmnElement="Gateway_0vyx6xb">
|
||||
<dc:Bounds x="765" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0qyu80e" bpmnElement="Activity_0ak2ho3" isExpanded="true">
|
||||
<dc:Bounds x="855" y="773" width="780" height="280" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1rn9z6v" bpmnElement="Event_0haaibd">
|
||||
<dc:Bounds x="885" y="815" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1a8xmid" bpmnElement="mkzrrff_4">
|
||||
<dc:Bounds x="975" y="793" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0kubyme" bpmnElement="Gateway_151dwa8" isMarkerVisible="true">
|
||||
<dc:Bounds x="1000" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0sgsn68" bpmnElement="sjgcspg_4">
|
||||
<dc:Bounds x="1125" y="883" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0u4y8iq" bpmnElement="mkzrrsp_4">
|
||||
<dc:Bounds x="1315" y="883" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1iunr85" bpmnElement="Gateway_1bduqeh" isMarkerVisible="true">
|
||||
<dc:Bounds x="1450" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1un7h24" bpmnElement="Event_1jaa14d">
|
||||
<dc:Bounds x="1567" y="905" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1xjq7zc" bpmnElement="Event_125tmf0">
|
||||
<dc:Bounds x="1007" y="985" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1aai3l6" bpmnElement="Flow_0n3x332">
|
||||
<di:waypoint x="921" y="833" />
|
||||
<di:waypoint x="975" y="833" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0xkmcsn" bpmnElement="Flow_1mwm3jy">
|
||||
<di:waypoint x="1025" y="873" />
|
||||
<di:waypoint x="1025" y="898" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_17gi23v" bpmnElement="Flow_1u1h3jz">
|
||||
<di:waypoint x="1025" y="948" />
|
||||
<di:waypoint x="1025" y="985" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1130" y="175" width="21" height="14" />
|
||||
<dc:Bounds x="1013" y="963" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_197effc_di" bpmnElement="Flow_197effc">
|
||||
<di:waypoint x="1040" y="273" />
|
||||
<di:waypoint x="1130" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1w5wrt4_di" bpmnElement="Flow_1w5wrt4">
|
||||
<di:waypoint x="1230" y="273" />
|
||||
<di:waypoint x="1265" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m6dxws_di" bpmnElement="Flow_1m6dxws">
|
||||
<di:waypoint x="1315" y="273" />
|
||||
<di:waypoint x="1382" y="273" />
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_00fxze9" bpmnElement="Flow_0aon77n">
|
||||
<di:waypoint x="1050" y="923" />
|
||||
<di:waypoint x="1125" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1338" y="255" width="22" height="14" />
|
||||
<dc:Bounds x="1066" y="905" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_006s2xy" bpmnElement="Flow_1bzp3jv">
|
||||
<di:waypoint x="1475" y="898" />
|
||||
<di:waypoint x="1475" y="843" />
|
||||
<di:waypoint x="1175" y="843" />
|
||||
<di:waypoint x="1175" y="883" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1315" y="825" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1d2w3p7" bpmnElement="Flow_0xi7z4i">
|
||||
<di:waypoint x="1225" y="923" />
|
||||
<di:waypoint x="1315" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0zq6rm2" bpmnElement="Flow_044zvbm">
|
||||
<di:waypoint x="1415" y="923" />
|
||||
<di:waypoint x="1450" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0uqbz6j" bpmnElement="Flow_1gymwkm">
|
||||
<di:waypoint x="1500" y="923" />
|
||||
<di:waypoint x="1567" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1523" y="905" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1sv6oe4" bpmnElement="Activity_072gbnv" isExpanded="true">
|
||||
@@ -636,10 +689,6 @@
|
||||
<dc:Bounds x="1305" y="492" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m13a5m_di" bpmnElement="Flow_1m13a5m">
|
||||
<di:waypoint x="1080" y="590" />
|
||||
<di:waypoint x="1130" y="590" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1yxmdgj" bpmnElement="Flow_11c0pso">
|
||||
<di:waypoint x="1230" y="590" />
|
||||
<di:waypoint x="1290" y="590" />
|
||||
@@ -655,81 +704,20 @@
|
||||
<dc:Bounds x="1498" y="572" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0qyu80e" bpmnElement="Activity_0ak2ho3" isExpanded="true">
|
||||
<dc:Bounds x="855" y="773" width="780" height="280" />
|
||||
<bpmndi:BPMNEdge id="Flow_1m13a5m_di" bpmnElement="Flow_1m13a5m">
|
||||
<di:waypoint x="1080" y="590" />
|
||||
<di:waypoint x="1130" y="590" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Event_17bnh8x_di" bpmnElement="Event_17bnh8x">
|
||||
<dc:Bounds x="692" y="722" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1qktq5f_di" bpmnElement="Gateway_1qktq5f" isMarkerVisible="true">
|
||||
<dc:Bounds x="685" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_155ubeu" bpmnElement="bszgjldsp_1">
|
||||
<dc:Bounds x="660" y="480" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1rn9z6v" bpmnElement="Event_0haaibd">
|
||||
<dc:Bounds x="885" y="815" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1a8xmid" bpmnElement="mkzrrff_4">
|
||||
<dc:Bounds x="975" y="793" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1xjq7zc" bpmnElement="Event_125tmf0">
|
||||
<dc:Bounds x="1007" y="985" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0kubyme" bpmnElement="Gateway_151dwa8" isMarkerVisible="true">
|
||||
<dc:Bounds x="1000" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0sgsn68" bpmnElement="sjgcspg_4">
|
||||
<dc:Bounds x="1125" y="883" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0u4y8iq" bpmnElement="mkzrrsp_4">
|
||||
<dc:Bounds x="1315" y="883" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1iunr85" bpmnElement="Gateway_1bduqeh" isMarkerVisible="true">
|
||||
<dc:Bounds x="1450" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1un7h24" bpmnElement="Event_1jaa14d">
|
||||
<dc:Bounds x="1567" y="905" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1aai3l6" bpmnElement="Flow_0n3x332">
|
||||
<di:waypoint x="921" y="833" />
|
||||
<di:waypoint x="975" y="833" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0xkmcsn" bpmnElement="Flow_1mwm3jy">
|
||||
<di:waypoint x="1025" y="873" />
|
||||
<di:waypoint x="1025" y="898" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_00fxze9" bpmnElement="Flow_0aon77n">
|
||||
<di:waypoint x="1050" y="923" />
|
||||
<di:waypoint x="1125" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1066" y="905" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_17gi23v" bpmnElement="Flow_1u1h3jz">
|
||||
<di:waypoint x="1025" y="948" />
|
||||
<di:waypoint x="1025" y="985" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1013" y="963" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_006s2xy" bpmnElement="Flow_1bzp3jv">
|
||||
<di:waypoint x="1475" y="898" />
|
||||
<di:waypoint x="1475" y="843" />
|
||||
<di:waypoint x="1175" y="843" />
|
||||
<di:waypoint x="1175" y="883" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1315" y="825" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1d2w3p7" bpmnElement="Flow_0xi7z4i">
|
||||
<di:waypoint x="1225" y="923" />
|
||||
<di:waypoint x="1315" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0zq6rm2" bpmnElement="Flow_044zvbm">
|
||||
<di:waypoint x="1415" y="923" />
|
||||
<di:waypoint x="1450" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0uqbz6j" bpmnElement="Flow_1gymwkm">
|
||||
<di:waypoint x="1500" y="923" />
|
||||
<di:waypoint x="1567" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1523" y="905" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1g6zc95_di" bpmnElement="Flow_1g6zc95">
|
||||
<di:waypoint x="486" y="180" />
|
||||
<di:waypoint x="530" y="180" />
|
||||
@@ -752,49 +740,6 @@
|
||||
<dc:Bounds x="631" y="254" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0obo4r2_di" bpmnElement="Flow_0obo4r2">
|
||||
<di:waypoint x="710" y="410" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1rrn9dm_di" bpmnElement="Flow_1rrn9dm">
|
||||
<di:waypoint x="1710" y="715" />
|
||||
<di:waypoint x="1710" y="440" />
|
||||
<di:waypoint x="710" y="440" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_10o9sl2_di" bpmnElement="Flow_10o9sl2">
|
||||
<di:waypoint x="710" y="560" />
|
||||
<di:waypoint x="710" y="615" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_11i64js_di" bpmnElement="Flow_11i64js">
|
||||
<di:waypoint x="735" y="640" />
|
||||
<di:waypoint x="765" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="738" y="623" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_132fp4x_di" bpmnElement="Flow_132fp4x">
|
||||
<di:waypoint x="710" y="665" />
|
||||
<di:waypoint x="710" y="722" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="714" y="679" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1jjyqj0_di" bpmnElement="Flow_1jjyqj0">
|
||||
<di:waypoint x="815" y="640" />
|
||||
<di:waypoint x="870" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="816" y="622" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1wdzyax_di" bpmnElement="Flow_1wdzyax">
|
||||
<di:waypoint x="790" y="665" />
|
||||
<di:waypoint x="790" y="913" />
|
||||
<di:waypoint x="855" y="913" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="797" y="753" width="66" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0q2chl1_di" bpmnElement="Flow_0q2chl1">
|
||||
<di:waypoint x="1635" y="913" />
|
||||
<di:waypoint x="1660" y="913" />
|
||||
@@ -807,6 +752,62 @@
|
||||
<di:waypoint x="1653" y="740" />
|
||||
<di:waypoint x="1685" y="740" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1rrn9dm_di" bpmnElement="Flow_1rrn9dm">
|
||||
<di:waypoint x="1710" y="715" />
|
||||
<di:waypoint x="1710" y="440" />
|
||||
<di:waypoint x="710" y="440" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0obo4r2_di" bpmnElement="Flow_0obo4r2">
|
||||
<di:waypoint x="710" y="410" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1wdzyax_di" bpmnElement="Flow_1wdzyax">
|
||||
<di:waypoint x="790" y="665" />
|
||||
<di:waypoint x="790" y="913" />
|
||||
<di:waypoint x="855" y="913" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="797" y="753" width="66" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1jjyqj0_di" bpmnElement="Flow_1jjyqj0">
|
||||
<di:waypoint x="815" y="640" />
|
||||
<di:waypoint x="870" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="816" y="622" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_132fp4x_di" bpmnElement="Flow_132fp4x">
|
||||
<di:waypoint x="710" y="665" />
|
||||
<di:waypoint x="710" y="722" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="714" y="679" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_11i64js_di" bpmnElement="Flow_11i64js">
|
||||
<di:waypoint x="735" y="640" />
|
||||
<di:waypoint x="765" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="738" y="623" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_10o9sl2_di" bpmnElement="Flow_10o9sl2">
|
||||
<di:waypoint x="710" y="560" />
|
||||
<di:waypoint x="710" y="615" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Gateway_0mobyxv_di" bpmnElement="Gateway_0mobyxv" isMarkerVisible="true">
|
||||
<dc:Bounds x="2085" y="195" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_1k7uv2r_di" bpmnElement="Event_1k7uv2r">
|
||||
<dc:Bounds x="2482" y="202" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1fh8fjh_di" bpmnElement="fggcssp">
|
||||
<dc:Bounds x="1870" y="180" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0y90822_di" bpmnElement="sjgcsbcgzlbh">
|
||||
<dc:Bounds x="2280" y="180" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0ehfvul" bpmnElement="Activity_11wslv7" isExpanded="true">
|
||||
<dc:Bounds x="1830" y="360" width="1220" height="710" />
|
||||
<bpmndi:BPMNLabel />
|
||||
@@ -818,18 +819,68 @@
|
||||
<dc:Bounds x="1960" y="450" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1m87r68" bpmnElement="Activity_1xsrtpj" isExpanded="true">
|
||||
<dc:Bounds x="2155" y="440" width="750" height="245" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0c83r33" bpmnElement="mkzrrsp_3">
|
||||
<dc:Bounds x="2575" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0rgqbsq" bpmnElement="Gateway_0fkslca" isMarkerVisible="true">
|
||||
<dc:Bounds x="2710" y="535" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tisvmf" bpmnElement="Event_0uendgp">
|
||||
<dc:Bounds x="2827" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tygdud" bpmnElement="Event_0en8fvn">
|
||||
<dc:Bounds x="2177" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1fv02ul" bpmnElement="sjgcspg_3">
|
||||
<dc:Bounds x="2415" y="520" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0y70zxq" bpmnElement="mkzrrff_3">
|
||||
<dc:Bounds x="2265" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0qxym6m" bpmnElement="Flow_19fpo83">
|
||||
<di:waypoint x="2675" y="560" />
|
||||
<di:waypoint x="2710" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1xga16m" bpmnElement="Flow_0j9t3br">
|
||||
<di:waypoint x="2735" y="535" />
|
||||
<di:waypoint x="2735" y="480" />
|
||||
<di:waypoint x="2465" y="480" />
|
||||
<di:waypoint x="2465" y="520" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2590" y="462" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_04bjto5" bpmnElement="Flow_0920pid">
|
||||
<di:waypoint x="2760" y="560" />
|
||||
<di:waypoint x="2827" y="560" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2783" y="542" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0bnzbta" bpmnElement="Flow_1lw0nd8">
|
||||
<di:waypoint x="2213" y="560" />
|
||||
<di:waypoint x="2265" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1wy27v4" bpmnElement="Flow_1wjzl0u">
|
||||
<di:waypoint x="2515" y="560" />
|
||||
<di:waypoint x="2575" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1y4773i_di" bpmnElement="Flow_1y4773i">
|
||||
<di:waypoint x="2365" y="560" />
|
||||
<di:waypoint x="2415" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1ks3bye" bpmnElement="Gateway_1uodwb8" isMarkerVisible="true">
|
||||
<dc:Bounds x="1985" y="572" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_179nzso" bpmnElement="Event_1kdwhwn">
|
||||
<dc:Bounds x="1992" y="679" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0skeub1" bpmnElement="Gateway_1e8w7bw">
|
||||
<dc:Bounds x="2065" y="572" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0a1pfq1" bpmnElement="Gateway_1succ9k">
|
||||
<dc:Bounds x="2975" y="665" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0f4lvxw" bpmnElement="Activity_1n4w1w7" isExpanded="true">
|
||||
<dc:Bounds x="2155" y="730" width="780" height="280" />
|
||||
<bpmndi:BPMNLabel />
|
||||
@@ -905,77 +956,16 @@
|
||||
<dc:Bounds x="2823" y="862" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1m87r68" bpmnElement="Activity_1xsrtpj" isExpanded="true">
|
||||
<dc:Bounds x="2155" y="440" width="750" height="245" />
|
||||
<bpmndi:BPMNLabel />
|
||||
<bpmndi:BPMNShape id="BPMNShape_0skeub1" bpmnElement="Gateway_1e8w7bw">
|
||||
<dc:Bounds x="2065" y="572" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0c83r33" bpmnElement="mkzrrsp_3">
|
||||
<dc:Bounds x="2575" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
<bpmndi:BPMNShape id="BPMNShape_0a1pfq1" bpmnElement="Gateway_1succ9k">
|
||||
<dc:Bounds x="2975" y="665" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0rgqbsq" bpmnElement="Gateway_0fkslca" isMarkerVisible="true">
|
||||
<dc:Bounds x="2710" y="535" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tisvmf" bpmnElement="Event_0uendgp">
|
||||
<dc:Bounds x="2827" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tygdud" bpmnElement="Event_0en8fvn">
|
||||
<dc:Bounds x="2177" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1fv02ul" bpmnElement="sjgcspg_3">
|
||||
<dc:Bounds x="2415" y="520" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0y70zxq" bpmnElement="mkzrrff_3">
|
||||
<dc:Bounds x="2265" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1wy27v4" bpmnElement="Flow_1wjzl0u">
|
||||
<di:waypoint x="2515" y="560" />
|
||||
<di:waypoint x="2575" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0qxym6m" bpmnElement="Flow_19fpo83">
|
||||
<di:waypoint x="2675" y="560" />
|
||||
<di:waypoint x="2710" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1xga16m" bpmnElement="Flow_0j9t3br">
|
||||
<di:waypoint x="2735" y="535" />
|
||||
<di:waypoint x="2735" y="480" />
|
||||
<di:waypoint x="2465" y="480" />
|
||||
<di:waypoint x="2465" y="520" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2590" y="462" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_04bjto5" bpmnElement="Flow_0920pid">
|
||||
<di:waypoint x="2760" y="560" />
|
||||
<di:waypoint x="2827" y="560" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2783" y="542" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0bnzbta" bpmnElement="Flow_1lw0nd8">
|
||||
<di:waypoint x="2213" y="560" />
|
||||
<di:waypoint x="2265" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1y4773i_di" bpmnElement="Flow_1y4773i">
|
||||
<di:waypoint x="2365" y="560" />
|
||||
<di:waypoint x="2415" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0x6qt62_di" bpmnElement="Flow_0x6qt62">
|
||||
<di:waypoint x="1898" y="490" />
|
||||
<di:waypoint x="1960" y="490" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1fa5lzu" bpmnElement="Flow_0ljfd7s">
|
||||
<di:waypoint x="2115" y="597" />
|
||||
<di:waypoint x="2155" y="597" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2111" y="579" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_117rgu5_di" bpmnElement="Flow_117rgu5">
|
||||
<di:waypoint x="2010" y="530" />
|
||||
<di:waypoint x="2010" y="572" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_169fpoj" bpmnElement="Flow_0rkq2tw">
|
||||
<di:waypoint x="2035" y="597" />
|
||||
<di:waypoint x="2065" y="597" />
|
||||
@@ -990,6 +980,13 @@
|
||||
<dc:Bounds x="2014" y="636" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1fa5lzu" bpmnElement="Flow_0ljfd7s">
|
||||
<di:waypoint x="2115" y="597" />
|
||||
<di:waypoint x="2155" y="597" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2111" y="579" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_188epnk" bpmnElement="Flow_0gac88y">
|
||||
<di:waypoint x="2090" y="622" />
|
||||
<di:waypoint x="2090" y="870" />
|
||||
@@ -998,6 +995,10 @@
|
||||
<dc:Bounds x="2097" y="710" width="66" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_117rgu5_di" bpmnElement="Flow_117rgu5">
|
||||
<di:waypoint x="2010" y="530" />
|
||||
<di:waypoint x="2010" y="572" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0zsh74h_di" bpmnElement="Flow_0zsh74h">
|
||||
<di:waypoint x="2905" y="563" />
|
||||
<di:waypoint x="2940" y="563" />
|
||||
@@ -1016,6 +1017,18 @@
|
||||
<di:waypoint x="2010" y="410" />
|
||||
<di:waypoint x="2010" y="450" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_12b9yhd_di" bpmnElement="Flow_12b9yhd">
|
||||
<di:waypoint x="195" y="410" />
|
||||
<di:waypoint x="250" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0tgn37q_di" bpmnElement="Flow_0tgn37q">
|
||||
<di:waypoint x="350" y="410" />
|
||||
<di:waypoint x="430" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0w3nr57_di" bpmnElement="Flow_0w3nr57">
|
||||
<di:waypoint x="1790" y="220" />
|
||||
<di:waypoint x="1870" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1gw9i5e_di" bpmnElement="Flow_1gw9i5e">
|
||||
<di:waypoint x="1970" y="220" />
|
||||
<di:waypoint x="2085" y="220" />
|
||||
@@ -1027,6 +1040,10 @@
|
||||
<dc:Bounds x="2198" y="202" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_19ehxvl_di" bpmnElement="Flow_19ehxvl">
|
||||
<di:waypoint x="2380" y="220" />
|
||||
<di:waypoint x="2482" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0mngw8y_di" bpmnElement="Flow_0mngw8y">
|
||||
<di:waypoint x="2110" y="245" />
|
||||
<di:waypoint x="2110" y="360" />
|
||||
@@ -1034,26 +1051,10 @@
|
||||
<dc:Bounds x="2115" y="299" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_19ehxvl_di" bpmnElement="Flow_19ehxvl">
|
||||
<di:waypoint x="2380" y="220" />
|
||||
<di:waypoint x="2482" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0w3nr57_di" bpmnElement="Flow_0w3nr57">
|
||||
<di:waypoint x="1790" y="220" />
|
||||
<di:waypoint x="1870" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_03v0fem_di" bpmnElement="Flow_03v0fem">
|
||||
<di:waypoint x="1920" y="360" />
|
||||
<di:waypoint x="1920" y="260" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_12b9yhd_di" bpmnElement="Flow_12b9yhd">
|
||||
<di:waypoint x="195" y="410" />
|
||||
<di:waypoint x="250" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0tgn37q_di" bpmnElement="Flow_0tgn37q">
|
||||
<di:waypoint x="350" y="410" />
|
||||
<di:waypoint x="430" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</bpmn:definitions>
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
<bpmn:incoming>Flow_03v0fem</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1gw9i5e</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:userTask id="sjgcsbcgzlbh" name="设计工程师补充工作令编号" camunda:assignee="${designEngineer}">
|
||||
<bpmn:userTask id="sjgcsbcgzlbh" name="设计工程师补充立项项目号" camunda:assignee="${designEngineer}">
|
||||
<bpmn:incoming>Flow_0c3ic1y</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_19ehxvl</bpmn:outgoing>
|
||||
<bpmn:multiInstanceLoopCharacteristics camunda:collection="designEngineerList" camunda:elementVariable="designEngineer">
|
||||
@@ -473,18 +473,6 @@
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="standard-assessment">
|
||||
<bpmndi:BPMNShape id="Gateway_0mobyxv_di" bpmnElement="Gateway_0mobyxv" isMarkerVisible="true">
|
||||
<dc:Bounds x="2085" y="195" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_1k7uv2r_di" bpmnElement="Event_1k7uv2r">
|
||||
<dc:Bounds x="2482" y="202" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1fh8fjh_di" bpmnElement="fggcssp">
|
||||
<dc:Bounds x="1870" y="180" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0y90822_di" bpmnElement="sjgcsbcgzlbh">
|
||||
<dc:Bounds x="2280" y="180" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="159" y="392" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
@@ -502,28 +490,6 @@
|
||||
<dc:Bounds x="530" y="140" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0k2p59e" bpmnElement="Gateway_16tlx8e" isMarkerVisible="true">
|
||||
<dc:Bounds x="555" y="245" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1w7o9oy" bpmnElement="Event_1trh68p">
|
||||
<dc:Bounds x="562" y="342" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_155ubeu" bpmnElement="bszgjldsp_1">
|
||||
<dc:Bounds x="660" y="480" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1qktq5f_di" bpmnElement="Gateway_1qktq5f" isMarkerVisible="true">
|
||||
<dc:Bounds x="685" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_17bnh8x_di" bpmnElement="Event_17bnh8x">
|
||||
<dc:Bounds x="692" y="722" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_01qa5y5_di" bpmnElement="Gateway_0vyx6xb">
|
||||
<dc:Bounds x="765" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_0s7cvcd_di" bpmnElement="Gateway_15ql8ot">
|
||||
<dc:Bounds x="1685" y="715" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0njknr1_di" bpmnElement="Activity_08c4m85" isExpanded="true">
|
||||
<dc:Bounds x="670" y="130" width="780" height="280" />
|
||||
<bpmndi:BPMNLabel />
|
||||
@@ -531,12 +497,6 @@
|
||||
<bpmndi:BPMNShape id="Event_1ian0ub_di" bpmnElement="Event_1ian0ub">
|
||||
<dc:Bounds x="700" y="172" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_02udv1z_di" bpmnElement="mkzrrff_1">
|
||||
<dc:Bounds x="790" y="150" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0coxith" bpmnElement="Gateway_0r2qm3p" isMarkerVisible="true">
|
||||
<dc:Bounds x="815" y="248" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1vb9u4y_di" bpmnElement="sjgcspg_1">
|
||||
<dc:Bounds x="940" y="233" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
@@ -550,6 +510,12 @@
|
||||
<bpmndi:BPMNShape id="Event_151o5cu_di" bpmnElement="Event_151o5cu">
|
||||
<dc:Bounds x="1382" y="255" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_02udv1z_di" bpmnElement="mkzrrff_1">
|
||||
<dc:Bounds x="790" y="150" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0coxith" bpmnElement="Gateway_0r2qm3p" isMarkerVisible="true">
|
||||
<dc:Bounds x="815" y="248" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1wnjq5x" bpmnElement="Event_1e8jif7">
|
||||
<dc:Bounds x="822" y="342" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
@@ -557,10 +523,34 @@
|
||||
<di:waypoint x="736" y="190" />
|
||||
<di:waypoint x="790" y="190" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1w5wrt4_di" bpmnElement="Flow_1w5wrt4">
|
||||
<di:waypoint x="1230" y="273" />
|
||||
<di:waypoint x="1265" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m6dxws_di" bpmnElement="Flow_1m6dxws">
|
||||
<di:waypoint x="1315" y="273" />
|
||||
<di:waypoint x="1382" y="273" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1338" y="255" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_07hxwn8_di" bpmnElement="Flow_07hxwn8">
|
||||
<di:waypoint x="1290" y="248" />
|
||||
<di:waypoint x="1290" y="193" />
|
||||
<di:waypoint x="990" y="193" />
|
||||
<di:waypoint x="990" y="233" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1130" y="175" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0a6biwg_di" bpmnElement="Flow_0a6biwg">
|
||||
<di:waypoint x="840" y="230" />
|
||||
<di:waypoint x="840" y="248" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_197effc_di" bpmnElement="Flow_197effc">
|
||||
<di:waypoint x="1040" y="273" />
|
||||
<di:waypoint x="1130" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0td9vsx" bpmnElement="Flow_15xpnyd">
|
||||
<di:waypoint x="840" y="298" />
|
||||
<di:waypoint x="840" y="342" />
|
||||
@@ -575,28 +565,91 @@
|
||||
<dc:Bounds x="881" y="255" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_07hxwn8_di" bpmnElement="Flow_07hxwn8">
|
||||
<di:waypoint x="1290" y="248" />
|
||||
<di:waypoint x="1290" y="193" />
|
||||
<di:waypoint x="990" y="193" />
|
||||
<di:waypoint x="990" y="233" />
|
||||
<bpmndi:BPMNShape id="BPMNShape_0k2p59e" bpmnElement="Gateway_16tlx8e" isMarkerVisible="true">
|
||||
<dc:Bounds x="555" y="245" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1w7o9oy" bpmnElement="Event_1trh68p">
|
||||
<dc:Bounds x="562" y="342" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_0s7cvcd_di" bpmnElement="Gateway_15ql8ot">
|
||||
<dc:Bounds x="1685" y="715" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_01qa5y5_di" bpmnElement="Gateway_0vyx6xb">
|
||||
<dc:Bounds x="765" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0qyu80e" bpmnElement="Activity_0ak2ho3" isExpanded="true">
|
||||
<dc:Bounds x="855" y="773" width="780" height="280" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1rn9z6v" bpmnElement="Event_0haaibd">
|
||||
<dc:Bounds x="885" y="815" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1a8xmid" bpmnElement="mkzrrff_4">
|
||||
<dc:Bounds x="975" y="793" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0kubyme" bpmnElement="Gateway_151dwa8" isMarkerVisible="true">
|
||||
<dc:Bounds x="1000" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0sgsn68" bpmnElement="sjgcspg_4">
|
||||
<dc:Bounds x="1125" y="883" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0u4y8iq" bpmnElement="mkzrrsp_4">
|
||||
<dc:Bounds x="1315" y="883" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1iunr85" bpmnElement="Gateway_1bduqeh" isMarkerVisible="true">
|
||||
<dc:Bounds x="1450" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1un7h24" bpmnElement="Event_1jaa14d">
|
||||
<dc:Bounds x="1567" y="905" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1xjq7zc" bpmnElement="Event_125tmf0">
|
||||
<dc:Bounds x="1007" y="985" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1aai3l6" bpmnElement="Flow_0n3x332">
|
||||
<di:waypoint x="921" y="833" />
|
||||
<di:waypoint x="975" y="833" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0xkmcsn" bpmnElement="Flow_1mwm3jy">
|
||||
<di:waypoint x="1025" y="873" />
|
||||
<di:waypoint x="1025" y="898" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_17gi23v" bpmnElement="Flow_1u1h3jz">
|
||||
<di:waypoint x="1025" y="948" />
|
||||
<di:waypoint x="1025" y="985" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1130" y="175" width="21" height="14" />
|
||||
<dc:Bounds x="1013" y="963" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_197effc_di" bpmnElement="Flow_197effc">
|
||||
<di:waypoint x="1040" y="273" />
|
||||
<di:waypoint x="1130" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1w5wrt4_di" bpmnElement="Flow_1w5wrt4">
|
||||
<di:waypoint x="1230" y="273" />
|
||||
<di:waypoint x="1265" y="273" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m6dxws_di" bpmnElement="Flow_1m6dxws">
|
||||
<di:waypoint x="1315" y="273" />
|
||||
<di:waypoint x="1382" y="273" />
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_00fxze9" bpmnElement="Flow_0aon77n">
|
||||
<di:waypoint x="1050" y="923" />
|
||||
<di:waypoint x="1125" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1338" y="255" width="22" height="14" />
|
||||
<dc:Bounds x="1066" y="905" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_006s2xy" bpmnElement="Flow_1bzp3jv">
|
||||
<di:waypoint x="1475" y="898" />
|
||||
<di:waypoint x="1475" y="843" />
|
||||
<di:waypoint x="1175" y="843" />
|
||||
<di:waypoint x="1175" y="883" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1315" y="825" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1d2w3p7" bpmnElement="Flow_0xi7z4i">
|
||||
<di:waypoint x="1225" y="923" />
|
||||
<di:waypoint x="1315" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0zq6rm2" bpmnElement="Flow_044zvbm">
|
||||
<di:waypoint x="1415" y="923" />
|
||||
<di:waypoint x="1450" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0uqbz6j" bpmnElement="Flow_1gymwkm">
|
||||
<di:waypoint x="1500" y="923" />
|
||||
<di:waypoint x="1567" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1523" y="905" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1sv6oe4" bpmnElement="Activity_072gbnv" isExpanded="true">
|
||||
@@ -636,10 +689,6 @@
|
||||
<dc:Bounds x="1305" y="492" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1m13a5m_di" bpmnElement="Flow_1m13a5m">
|
||||
<di:waypoint x="1080" y="590" />
|
||||
<di:waypoint x="1130" y="590" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1yxmdgj" bpmnElement="Flow_11c0pso">
|
||||
<di:waypoint x="1230" y="590" />
|
||||
<di:waypoint x="1290" y="590" />
|
||||
@@ -655,81 +704,20 @@
|
||||
<dc:Bounds x="1498" y="572" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0qyu80e" bpmnElement="Activity_0ak2ho3" isExpanded="true">
|
||||
<dc:Bounds x="855" y="773" width="780" height="280" />
|
||||
<bpmndi:BPMNEdge id="Flow_1m13a5m_di" bpmnElement="Flow_1m13a5m">
|
||||
<di:waypoint x="1080" y="590" />
|
||||
<di:waypoint x="1130" y="590" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Event_17bnh8x_di" bpmnElement="Event_17bnh8x">
|
||||
<dc:Bounds x="692" y="722" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_1qktq5f_di" bpmnElement="Gateway_1qktq5f" isMarkerVisible="true">
|
||||
<dc:Bounds x="685" y="615" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_155ubeu" bpmnElement="bszgjldsp_1">
|
||||
<dc:Bounds x="660" y="480" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1rn9z6v" bpmnElement="Event_0haaibd">
|
||||
<dc:Bounds x="885" y="815" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1a8xmid" bpmnElement="mkzrrff_4">
|
||||
<dc:Bounds x="975" y="793" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1xjq7zc" bpmnElement="Event_125tmf0">
|
||||
<dc:Bounds x="1007" y="985" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0kubyme" bpmnElement="Gateway_151dwa8" isMarkerVisible="true">
|
||||
<dc:Bounds x="1000" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0sgsn68" bpmnElement="sjgcspg_4">
|
||||
<dc:Bounds x="1125" y="883" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0u4y8iq" bpmnElement="mkzrrsp_4">
|
||||
<dc:Bounds x="1315" y="883" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1iunr85" bpmnElement="Gateway_1bduqeh" isMarkerVisible="true">
|
||||
<dc:Bounds x="1450" y="898" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1un7h24" bpmnElement="Event_1jaa14d">
|
||||
<dc:Bounds x="1567" y="905" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1aai3l6" bpmnElement="Flow_0n3x332">
|
||||
<di:waypoint x="921" y="833" />
|
||||
<di:waypoint x="975" y="833" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0xkmcsn" bpmnElement="Flow_1mwm3jy">
|
||||
<di:waypoint x="1025" y="873" />
|
||||
<di:waypoint x="1025" y="898" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_00fxze9" bpmnElement="Flow_0aon77n">
|
||||
<di:waypoint x="1050" y="923" />
|
||||
<di:waypoint x="1125" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1066" y="905" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_17gi23v" bpmnElement="Flow_1u1h3jz">
|
||||
<di:waypoint x="1025" y="948" />
|
||||
<di:waypoint x="1025" y="985" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1013" y="963" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_006s2xy" bpmnElement="Flow_1bzp3jv">
|
||||
<di:waypoint x="1475" y="898" />
|
||||
<di:waypoint x="1475" y="843" />
|
||||
<di:waypoint x="1175" y="843" />
|
||||
<di:waypoint x="1175" y="883" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1315" y="825" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1d2w3p7" bpmnElement="Flow_0xi7z4i">
|
||||
<di:waypoint x="1225" y="923" />
|
||||
<di:waypoint x="1315" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0zq6rm2" bpmnElement="Flow_044zvbm">
|
||||
<di:waypoint x="1415" y="923" />
|
||||
<di:waypoint x="1450" y="923" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0uqbz6j" bpmnElement="Flow_1gymwkm">
|
||||
<di:waypoint x="1500" y="923" />
|
||||
<di:waypoint x="1567" y="923" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="1523" y="905" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1g6zc95_di" bpmnElement="Flow_1g6zc95">
|
||||
<di:waypoint x="486" y="180" />
|
||||
<di:waypoint x="530" y="180" />
|
||||
@@ -752,49 +740,6 @@
|
||||
<dc:Bounds x="631" y="254" width="44" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0obo4r2_di" bpmnElement="Flow_0obo4r2">
|
||||
<di:waypoint x="710" y="410" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1rrn9dm_di" bpmnElement="Flow_1rrn9dm">
|
||||
<di:waypoint x="1710" y="715" />
|
||||
<di:waypoint x="1710" y="440" />
|
||||
<di:waypoint x="710" y="440" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_10o9sl2_di" bpmnElement="Flow_10o9sl2">
|
||||
<di:waypoint x="710" y="560" />
|
||||
<di:waypoint x="710" y="615" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_11i64js_di" bpmnElement="Flow_11i64js">
|
||||
<di:waypoint x="735" y="640" />
|
||||
<di:waypoint x="765" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="738" y="623" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_132fp4x_di" bpmnElement="Flow_132fp4x">
|
||||
<di:waypoint x="710" y="665" />
|
||||
<di:waypoint x="710" y="722" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="714" y="679" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1jjyqj0_di" bpmnElement="Flow_1jjyqj0">
|
||||
<di:waypoint x="815" y="640" />
|
||||
<di:waypoint x="870" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="816" y="622" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1wdzyax_di" bpmnElement="Flow_1wdzyax">
|
||||
<di:waypoint x="790" y="665" />
|
||||
<di:waypoint x="790" y="913" />
|
||||
<di:waypoint x="855" y="913" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="797" y="753" width="66" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0q2chl1_di" bpmnElement="Flow_0q2chl1">
|
||||
<di:waypoint x="1635" y="913" />
|
||||
<di:waypoint x="1660" y="913" />
|
||||
@@ -807,6 +752,62 @@
|
||||
<di:waypoint x="1653" y="740" />
|
||||
<di:waypoint x="1685" y="740" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1rrn9dm_di" bpmnElement="Flow_1rrn9dm">
|
||||
<di:waypoint x="1710" y="715" />
|
||||
<di:waypoint x="1710" y="440" />
|
||||
<di:waypoint x="710" y="440" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0obo4r2_di" bpmnElement="Flow_0obo4r2">
|
||||
<di:waypoint x="710" y="410" />
|
||||
<di:waypoint x="710" y="480" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1wdzyax_di" bpmnElement="Flow_1wdzyax">
|
||||
<di:waypoint x="790" y="665" />
|
||||
<di:waypoint x="790" y="913" />
|
||||
<di:waypoint x="855" y="913" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="797" y="753" width="66" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1jjyqj0_di" bpmnElement="Flow_1jjyqj0">
|
||||
<di:waypoint x="815" y="640" />
|
||||
<di:waypoint x="870" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="816" y="622" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_132fp4x_di" bpmnElement="Flow_132fp4x">
|
||||
<di:waypoint x="710" y="665" />
|
||||
<di:waypoint x="710" y="722" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="714" y="679" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_11i64js_di" bpmnElement="Flow_11i64js">
|
||||
<di:waypoint x="735" y="640" />
|
||||
<di:waypoint x="765" y="640" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="738" y="623" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_10o9sl2_di" bpmnElement="Flow_10o9sl2">
|
||||
<di:waypoint x="710" y="560" />
|
||||
<di:waypoint x="710" y="615" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="Gateway_0mobyxv_di" bpmnElement="Gateway_0mobyxv" isMarkerVisible="true">
|
||||
<dc:Bounds x="2085" y="195" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_1k7uv2r_di" bpmnElement="Event_1k7uv2r">
|
||||
<dc:Bounds x="2482" y="202" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1fh8fjh_di" bpmnElement="fggcssp">
|
||||
<dc:Bounds x="1870" y="180" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0y90822_di" bpmnElement="sjgcsbcgzlbh">
|
||||
<dc:Bounds x="2280" y="180" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0ehfvul" bpmnElement="Activity_11wslv7" isExpanded="true">
|
||||
<dc:Bounds x="1830" y="360" width="1220" height="710" />
|
||||
<bpmndi:BPMNLabel />
|
||||
@@ -818,18 +819,68 @@
|
||||
<dc:Bounds x="1960" y="450" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1m87r68" bpmnElement="Activity_1xsrtpj" isExpanded="true">
|
||||
<dc:Bounds x="2155" y="440" width="750" height="245" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0c83r33" bpmnElement="mkzrrsp_3">
|
||||
<dc:Bounds x="2575" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0rgqbsq" bpmnElement="Gateway_0fkslca" isMarkerVisible="true">
|
||||
<dc:Bounds x="2710" y="535" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tisvmf" bpmnElement="Event_0uendgp">
|
||||
<dc:Bounds x="2827" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tygdud" bpmnElement="Event_0en8fvn">
|
||||
<dc:Bounds x="2177" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1fv02ul" bpmnElement="sjgcspg_3">
|
||||
<dc:Bounds x="2415" y="520" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0y70zxq" bpmnElement="mkzrrff_3">
|
||||
<dc:Bounds x="2265" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0qxym6m" bpmnElement="Flow_19fpo83">
|
||||
<di:waypoint x="2675" y="560" />
|
||||
<di:waypoint x="2710" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1xga16m" bpmnElement="Flow_0j9t3br">
|
||||
<di:waypoint x="2735" y="535" />
|
||||
<di:waypoint x="2735" y="480" />
|
||||
<di:waypoint x="2465" y="480" />
|
||||
<di:waypoint x="2465" y="520" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2590" y="462" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_04bjto5" bpmnElement="Flow_0920pid">
|
||||
<di:waypoint x="2760" y="560" />
|
||||
<di:waypoint x="2827" y="560" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2783" y="542" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0bnzbta" bpmnElement="Flow_1lw0nd8">
|
||||
<di:waypoint x="2213" y="560" />
|
||||
<di:waypoint x="2265" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1wy27v4" bpmnElement="Flow_1wjzl0u">
|
||||
<di:waypoint x="2515" y="560" />
|
||||
<di:waypoint x="2575" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1y4773i_di" bpmnElement="Flow_1y4773i">
|
||||
<di:waypoint x="2365" y="560" />
|
||||
<di:waypoint x="2415" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1ks3bye" bpmnElement="Gateway_1uodwb8" isMarkerVisible="true">
|
||||
<dc:Bounds x="1985" y="572" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_179nzso" bpmnElement="Event_1kdwhwn">
|
||||
<dc:Bounds x="1992" y="679" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0skeub1" bpmnElement="Gateway_1e8w7bw">
|
||||
<dc:Bounds x="2065" y="572" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0a1pfq1" bpmnElement="Gateway_1succ9k">
|
||||
<dc:Bounds x="2975" y="665" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0f4lvxw" bpmnElement="Activity_1n4w1w7" isExpanded="true">
|
||||
<dc:Bounds x="2155" y="730" width="780" height="280" />
|
||||
<bpmndi:BPMNLabel />
|
||||
@@ -905,77 +956,16 @@
|
||||
<dc:Bounds x="2823" y="862" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1m87r68" bpmnElement="Activity_1xsrtpj" isExpanded="true">
|
||||
<dc:Bounds x="2155" y="440" width="750" height="245" />
|
||||
<bpmndi:BPMNLabel />
|
||||
<bpmndi:BPMNShape id="BPMNShape_0skeub1" bpmnElement="Gateway_1e8w7bw">
|
||||
<dc:Bounds x="2065" y="572" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0c83r33" bpmnElement="mkzrrsp_3">
|
||||
<dc:Bounds x="2575" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
<bpmndi:BPMNShape id="BPMNShape_0a1pfq1" bpmnElement="Gateway_1succ9k">
|
||||
<dc:Bounds x="2975" y="665" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0rgqbsq" bpmnElement="Gateway_0fkslca" isMarkerVisible="true">
|
||||
<dc:Bounds x="2710" y="535" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tisvmf" bpmnElement="Event_0uendgp">
|
||||
<dc:Bounds x="2827" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1tygdud" bpmnElement="Event_0en8fvn">
|
||||
<dc:Bounds x="2177" y="542" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1fv02ul" bpmnElement="sjgcspg_3">
|
||||
<dc:Bounds x="2415" y="520" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_0y70zxq" bpmnElement="mkzrrff_3">
|
||||
<dc:Bounds x="2265" y="520" width="100" height="80" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1wy27v4" bpmnElement="Flow_1wjzl0u">
|
||||
<di:waypoint x="2515" y="560" />
|
||||
<di:waypoint x="2575" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0qxym6m" bpmnElement="Flow_19fpo83">
|
||||
<di:waypoint x="2675" y="560" />
|
||||
<di:waypoint x="2710" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1xga16m" bpmnElement="Flow_0j9t3br">
|
||||
<di:waypoint x="2735" y="535" />
|
||||
<di:waypoint x="2735" y="480" />
|
||||
<di:waypoint x="2465" y="480" />
|
||||
<di:waypoint x="2465" y="520" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2590" y="462" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_04bjto5" bpmnElement="Flow_0920pid">
|
||||
<di:waypoint x="2760" y="560" />
|
||||
<di:waypoint x="2827" y="560" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2783" y="542" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_0bnzbta" bpmnElement="Flow_1lw0nd8">
|
||||
<di:waypoint x="2213" y="560" />
|
||||
<di:waypoint x="2265" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1y4773i_di" bpmnElement="Flow_1y4773i">
|
||||
<di:waypoint x="2365" y="560" />
|
||||
<di:waypoint x="2415" y="560" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0x6qt62_di" bpmnElement="Flow_0x6qt62">
|
||||
<di:waypoint x="1898" y="490" />
|
||||
<di:waypoint x="1960" y="490" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1fa5lzu" bpmnElement="Flow_0ljfd7s">
|
||||
<di:waypoint x="2115" y="597" />
|
||||
<di:waypoint x="2155" y="597" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2111" y="579" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_117rgu5_di" bpmnElement="Flow_117rgu5">
|
||||
<di:waypoint x="2010" y="530" />
|
||||
<di:waypoint x="2010" y="572" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_169fpoj" bpmnElement="Flow_0rkq2tw">
|
||||
<di:waypoint x="2035" y="597" />
|
||||
<di:waypoint x="2065" y="597" />
|
||||
@@ -990,6 +980,13 @@
|
||||
<dc:Bounds x="2014" y="636" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_1fa5lzu" bpmnElement="Flow_0ljfd7s">
|
||||
<di:waypoint x="2115" y="597" />
|
||||
<di:waypoint x="2155" y="597" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="2111" y="579" width="55" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_188epnk" bpmnElement="Flow_0gac88y">
|
||||
<di:waypoint x="2090" y="622" />
|
||||
<di:waypoint x="2090" y="870" />
|
||||
@@ -998,6 +995,10 @@
|
||||
<dc:Bounds x="2097" y="710" width="66" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_117rgu5_di" bpmnElement="Flow_117rgu5">
|
||||
<di:waypoint x="2010" y="530" />
|
||||
<di:waypoint x="2010" y="572" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0zsh74h_di" bpmnElement="Flow_0zsh74h">
|
||||
<di:waypoint x="2905" y="563" />
|
||||
<di:waypoint x="2940" y="563" />
|
||||
@@ -1016,6 +1017,18 @@
|
||||
<di:waypoint x="2010" y="410" />
|
||||
<di:waypoint x="2010" y="450" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_12b9yhd_di" bpmnElement="Flow_12b9yhd">
|
||||
<di:waypoint x="195" y="410" />
|
||||
<di:waypoint x="250" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0tgn37q_di" bpmnElement="Flow_0tgn37q">
|
||||
<di:waypoint x="350" y="410" />
|
||||
<di:waypoint x="430" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0w3nr57_di" bpmnElement="Flow_0w3nr57">
|
||||
<di:waypoint x="1790" y="220" />
|
||||
<di:waypoint x="1870" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1gw9i5e_di" bpmnElement="Flow_1gw9i5e">
|
||||
<di:waypoint x="1970" y="220" />
|
||||
<di:waypoint x="2085" y="220" />
|
||||
@@ -1027,6 +1040,10 @@
|
||||
<dc:Bounds x="2198" y="202" width="22" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_19ehxvl_di" bpmnElement="Flow_19ehxvl">
|
||||
<di:waypoint x="2380" y="220" />
|
||||
<di:waypoint x="2482" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0mngw8y_di" bpmnElement="Flow_0mngw8y">
|
||||
<di:waypoint x="2110" y="245" />
|
||||
<di:waypoint x="2110" y="360" />
|
||||
@@ -1034,26 +1051,10 @@
|
||||
<dc:Bounds x="2115" y="299" width="21" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_19ehxvl_di" bpmnElement="Flow_19ehxvl">
|
||||
<di:waypoint x="2380" y="220" />
|
||||
<di:waypoint x="2482" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0w3nr57_di" bpmnElement="Flow_0w3nr57">
|
||||
<di:waypoint x="1790" y="220" />
|
||||
<di:waypoint x="1870" y="220" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_03v0fem_di" bpmnElement="Flow_03v0fem">
|
||||
<di:waypoint x="1920" y="360" />
|
||||
<di:waypoint x="1920" y="260" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_12b9yhd_di" bpmnElement="Flow_12b9yhd">
|
||||
<di:waypoint x="195" y="410" />
|
||||
<di:waypoint x="250" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0tgn37q_di" bpmnElement="Flow_0tgn37q">
|
||||
<di:waypoint x="350" y="410" />
|
||||
<di:waypoint x="430" y="410" />
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</bpmn:definitions>
|
||||
|
||||
Reference in New Issue
Block a user