diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java index 7d55d9ed..3ee6dc20 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java @@ -100,7 +100,7 @@ public class WorkCenterController { return Result.OK(sentList); } - @ApiOperation(value = "查询全部流程") + @ApiOperation(value = "监控流程") @GetMapping("/getAllList") public Result getAllList(ProcessAll processAll, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml index e9b4390b..fb722407 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml @@ -26,20 +26,19 @@ p.project_id, p.project_name, p.prc_name_en, - group_concat(par.user_id) as handleUserId, - par.node_id + group_concat(par.user_id) as handleUserId from ( select pa.*, max(par.create_time) as receivedTaskTime, - max(par.end_time) as completedTaskTime, - par.node_id + max(par.end_time) as completedTaskTime from process_all pa left join process_approval_record par on pa.process_instance_id = par.process_instance_id ${ew.customSqlSegment} + group by pa.id ) p - left join process_approval_record par on p.process_instance_id = par.process_instance_id - WHERE par.finish_flag = 0 - or par.id is null + LEFT JOIN ( + SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1 + ) par ON p.process_instance_id = par.process_instance_id group by p.process_instance_id @@ -50,9 +49,11 @@ from process_all pa left join process_approval_record par on pa.process_instance_id = par.process_instance_id ${ew.customSqlSegment} + group by pa.id ) p - left join process_approval_record par on p.process_instance_id = par.process_instance_id - WHERE par.finish_flag = 0 or par.id is null + LEFT JOIN ( + SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1 + ) par ON p.process_instance_id = par.process_instance_id group by p.process_instance_id @@ -63,9 +64,11 @@ from process_all pa left join process_approval_record par on pa.process_instance_id = par.process_instance_id ${ew.customSqlSegment} + group by pa.id ) p - left join process_approval_record par on p.process_instance_id = par.process_instance_id - WHERE par.finish_flag = 0 or par.id is null + LEFT JOIN ( + SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1 + ) par ON p.process_instance_id = par.process_instance_id group by p.process_instance_id \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java index fde05bff..756c25bd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java @@ -176,7 +176,7 @@ public class ProcessEsChange implements Serializable { * 引用标准 */ @ApiModelProperty(value = "引用标准") - private String quotedStandard; + private String referenceStandard; /** * 关联文件 @@ -196,6 +196,12 @@ public class ProcessEsChange implements Serializable { @ApiModelProperty(value = "采用国际标准号") private String internationalStandardNum; + /** + * 授权部门 + */ + @ApiModelProperty(value = "授权部门") + private String authDept; + /** * 修改意见内容列表 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java index 83f4ded7..bd9d6102 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java @@ -1,31 +1,24 @@ package com.jero.modules.activiti.process.esChange.listener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange; import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService; -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.ESPChangeType; -import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType; -import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService; -import com.jero.modules.activiti.process.esRecheck.entity.ProcessEsRecheck; -import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; -import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; -import com.jero.modules.laws.enterprise.util.BeanCopyUtils; +import com.jero.modules.laws.common.constant.FieldCommon; +import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import com.jero.modules.tag.enums.TableNameEnum; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.List; - -import static com.jero.modules.activiti.process.esRecheck.entity.ProcessRecheckConstants.*; -import static com.jero.modules.activiti.process.esRecheck.entity.ProcessRecheckConstants.RECHECK_ARCHIVE; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; /** * @author: Mzaxd @@ -46,6 +39,9 @@ public class ProcessESChangeEndListener implements ExecutionListener { @Resource private ProcessEsChangeService esChangeService; + @Resource + private ILawsCommonService commonService; + @Override public void notify(DelegateExecution delegateExecution) { log.info("企标更改流程结束 监听执行器开始执行"); @@ -59,9 +55,51 @@ public class ProcessESChangeEndListener implements ExecutionListener { // 根据标准编号找到标准Id LawsEnterpriseStandard es = esService.getOne(new LambdaQueryWrapper() .eq(LawsEnterpriseStandard::getStandardNumber, standNo)); - LawsEnterpriseStandard newEs = BeanCopyUtils.copyBean(change, LawsEnterpriseStandard.class); - newEs.setId(es.getId()); - esService.updateById(newEs); + change.setId(es.getId()); + // 转换成Map 然后走commonEdit接口 + Map parameterMap = new HashMap<>(); + this.buildMap(parameterMap, change); + commonService.commonEdit(parameterMap); + // TODO 生成修改单 log.info("企标更改流程监听执行器执行结束"); } + + private void buildMap(Map parameterMap, ProcessEsChange change) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + parameterMap.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); + parameterMap.put(FieldCommon.ID, change.getId()); + parameterMap.put(FieldCommon.STANDARD_NUMBER, change.getStandardNumber()); + parameterMap.put(FieldCommon.STANDARD_NAME, change.getStandardName()); + parameterMap.put(FieldCommon.GRADE_CLASSIFICATION, change.getGradeClassification()); + parameterMap.put(FieldCommon.AUTH_DEPT, change.getAuthDept()); + parameterMap.put(FieldCommon.STANDARD_SYSTEM, change.getStandardSystem()); + parameterMap.put(FieldCommon.STANDARD_ENGLISH_NAME, change.getStandardEnglishName()); + parameterMap.put(FieldCommon.IMPLEMENTATION_DATE, formatter.format(change.getImplementationDate())); + parameterMap.put(FieldCommon.PART_NAME, change.getPartName()); + parameterMap.put(FieldCommon.MAIN_DRAFT_USER, change.getMainDraftingUser()); + parameterMap.put(FieldCommon.MAIN_DRAFTING_UNIT, change.getMainDraftingUnit()); + parameterMap.put(FieldCommon.STANDARD_SCOPE, change.getStandardScope()); + parameterMap.put(FieldCommon.REPLACED_STANDARD, change.getSubstituteStandardNumber()); + parameterMap.put(FieldCommon.REFERENCE_STANDARD, change.getReferenceStandard()); + parameterMap.put(FieldCommon.ASSOCIATED_FILE, change.getAssociatedFile()); + parameterMap.put(FieldCommon.ACQUISITION_DEGREE, change.getAcquisitionDegree()); + parameterMap.put(FieldCommon.INTERNATIONAL_STANDARD_NUM, change.getInternationalStandardNum()); + // 是否试行 + Date releaseDate = change.getReleaseDate(); + boolean tryFlag = !change.getTryFlag().equals("0"); + String trialPeriod = change.getTrialPeriod(); + if (tryFlag) { + // 如果是试行 并且当前时间处于发布日期+试行周期期间内,则更改标准状态为试运行 + if (releaseDate != null && trialPeriod != null) { + Date endDate = new Date(releaseDate.getTime() + (long) Integer.parseInt(trialPeriod) * 24 * 60 * 60 * 1000 * 30); + Date now = new Date(); + if (now.before(endDate)) { + parameterMap.put(FieldCommon.STANDARD_STATE, StandardStateEnum.TRIAL_OPERATION.getStateValue()); + } + } + } + parameterMap.put(FieldCommon.RELEASE_DATE, formatter.format(releaseDate)); + parameterMap.put(FieldCommon.TRY_FLAG, change.getTryFlag()); + parameterMap.put(FieldCommon.TRIAL_PERIOD, change.getTrialPeriod()); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index a1828c1d..585aefa1 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -312,7 +312,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { if (StringUtils.isNotBlank(taskId)) { deleteWrapper.eq(ProcessDraft::getTaskId, taskId); } - processDraftService.remove(deleteWrapper); + List processDraftList = processDraftService.list(deleteWrapper); + for (ProcessDraft processDraft : processDraftList) { + processDraftService.removeById(processDraft.getId()); + } } /** diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java index 0c77ede1..324cf755 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java @@ -182,7 +182,23 @@ public class FieldCommon { public static final String TRIAL_PERIOD = "trial_period"; // 关联文件 public static final String ASSOCIATED_FILE = "associated_file"; - + // 标准状态 public static final String STANDARD_STATE = "standard_state"; + // 标准等级分类 + public static final String GRADE_CLASSIFICATION = "grade_classification"; + // 标准英文名称 + public static final String STANDARD_ENGLISH_NAME = "standard_english_name"; + // 零部件名称 + public static final String PART_NAME = "part_name"; + // 主起草部门 + public static final String MAIN_DRAFT_USER = "main_draft_user"; + // 主起草部门 + public static final String MAIN_DRAFTING_UNIT = "main_drafting_unit"; + // 标准适用范围 + public static final String STANDARD_SCOPE = "standard_scope"; + // 采标程度 + public static final String ACQUISITION_DEGREE = "acquisition_degree"; + // 采用国际标准号 + public static final String INTERNATIONAL_STANDARD_NUM = "international_standard_num"; } diff --git a/laws-single-startup/src/main/resources/application-prod.yml b/laws-single-startup/src/main/resources/application-prod.yml index 8950223c..51d5cc0e 100644 --- a/laws-single-startup/src/main/resources/application-prod.yml +++ b/laws-single-startup/src/main/resources/application-prod.yml @@ -361,6 +361,8 @@ iam: # bimRemoteUser: bbcadmin # bimRemotePwd: P@ssw0rd bpmcAppkey: test + # 创建用户默认角色 + defaultRoleIds: 817f7f818bb3506e018bb3506ef70000 # Hiwork集成 hiwork: @@ -400,4 +402,30 @@ oauth: state: zhongQi # 起草部门部门名称 -draftDepartName: 流程与标准化 \ No newline at end of file +draftDepartName: 流程与标准化 + +# 管理员权限roleCode,多填用英文逗号拼接 +adminRoleCode: admin + +# 文件下载加解密 +download: + enable: false + # 文件下载、预览拦截路径,多个以逗号分隔 + download_url: /sys/common/download/ + view_url: /sys/common/view/ + # 管理员角色 + admin_role_code: admin,BZGLY + # 加密参数 + encrypt: + url: http://10.2.159.90/intekey/encrypteFile + app_code: SRMS + secret_key: SRMS1234.. + # 解密参数 + decrypt: + url: http://10.2.159.90/intekey/file + app_code: SRMS + secret_key: SRMS1234.. + # 研发域 + scope_dev: 51 + # 办公域 + scope_work: 52 \ No newline at end of file