From e311c563d2581114decf1f3c15885eb379258065 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 10 Jul 2024 14:22:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UAT=20=E4=BC=81=E6=A0=87=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E5=8D=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/prod/2024-3-18-变更.sql | 4 + .../common/service/ActFlowCommonService.java | 76 +------------------ .../esChange/entity/ProcessEsChange.java | 15 +++- .../listener/ProcessESChangeEndListener.java | 21 +---- .../impl/ProcessEsChangeServiceImpl.java | 41 ++-------- .../src/main/resources/application-dev.yml | 24 +++--- 6 files changed, 35 insertions(+), 146 deletions(-) diff --git a/db/prod/2024-3-18-变更.sql b/db/prod/2024-3-18-变更.sql index 79097b0e..1de086e3 100644 --- a/db/prod/2024-3-18-变更.sql +++ b/db/prod/2024-3-18-变更.sql @@ -165,3 +165,7 @@ INSERT INTO `sys_dict_item` (`id`, `dict_id`, `parent_id`, `item_text`, `en_name INSERT INTO `sys_dict_item` (`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`) VALUES ('1807961969523347457', '1807961317556539393', '0', '已更改未拆分', 'modify Unsplit', '3', '', 1, 1, 'admin', '2024-07-02 10:18:18', 'admin', '2024-07-03 11:52:41', 1, 0, NULL, '0', NULL); ALTER TABLE `process_es_change` ADD COLUMN `standard_split_status` varchar(50) NULL COMMENT '标准拆分状态' AFTER `modify_order_num`; + +-- 2024-07-10 增加更改单位代号字段 +ALTER TABLE `process_es_change` + ADD COLUMN `change_dept_code` varchar(50) NULL DEFAULT NULL COMMENT '更改单位代号' AFTER `standard_promoter`; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java index 35af8a92..01f73527 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java @@ -2,15 +2,12 @@ package com.jero.modules.activiti.process.common.service; import cn.hutool.core.collection.CollUtil; 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; import com.jero.modules.activiti.entity.ProcessApprovalRecord; -import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.common.common.DraftCommon; @@ -25,7 +22,6 @@ import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import com.jero.modules.activiti.service.ProcessAllService; 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; @@ -41,7 +37,6 @@ import org.activiti.engine.runtime.Execution; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.activiti.engine.task.TaskQuery; -import org.apache.shiro.SecurityUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -70,9 +65,6 @@ public class ActFlowCommonService { @Resource private ProcessApprovalRecordService processApprovalRecordService; - @Resource - private ProcessApprovalRecordService approvalRecordService; - @Resource private EnterpriseStandardPlanService espService; @@ -264,25 +256,6 @@ public class ActFlowCommonService { return taskService.createTaskQuery().taskId(taskId).singleResult() != null; } - public void autoCompleteFirstTask(String userId, String processInstanceId, String processDefinitionId, CommonVO commonVO) { - // 自动完成第一个任务 - List> taskList = this.myTaskList(userId); - if (!CollectionUtils.isEmpty(taskList)) { - for (Map map : taskList) { - if (map.get("assignee").toString().equals(userId) && - map.get("processDefinitionId").toString().equals(processDefinitionId) && - map.get("processInstanceId").toString().equals(processInstanceId)) { // 添加这一行来进行更精确的匹配 - - log.info("当前用户ID:{},相关联的流程定义ID:{}", userId, map.get("processDefinitionId").toString()); - log.info("匹配到的任务ID:{}", map.get("taskId").toString()); - String taskId = map.get("taskId").toString(); - this.completeTask(taskId, userId); - break; - } - } - } - } - public String getProcessInstanceIdByTaskId(String taskId) { if (StrUtil.isBlank(taskId)) { return null; @@ -430,21 +403,6 @@ public class ActFlowCommonService { } } - /** - * 会签节点驳回后,将其余节点recode设置为 未处理 状态 - * - * @param prcId - * @param nodeName - */ - public void updateOtherCountersignRecodeStatus(String prcId, String nodeName) { -// LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); -// updateWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, prcId); -// updateWrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue()); -// updateWrapper.eq(ProcessApprovalRecord::getTaskName, nodeName); -// updateWrapper.set(ProcessApprovalRecord::getCommitText, CommitFlagEnum.UNDISPOSED.getName()); -// processApprovalRecordService.update(updateWrapper); - } - /** * 根据指定的执行Id递归获取所有子执行Id * @@ -480,18 +438,6 @@ public class ActFlowCommonService { return approvalRecord.getOriginUserId(); } - /** - * 强制撤回流程-保存草稿 - * - * @param common - * @param processTypeEnum - * @param jsonData - */ - public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) { - ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, data); - processHandleService.saveToDraft(processInfoVo); - } - public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData) { ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, jsonData); processHandleService.saveToDraft(processInfoVo); @@ -502,26 +448,6 @@ public class ActFlowCommonService { processHandleService.saveToDraftCustomUserId(processInfoVo, userId); } - private ProcessInfoVO getProcessInfoVo(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) { - // 将archiveData转为Json - String dataJson = JSON.toJSONString(data); - ProcessInfoVO processInfoVO = new ProcessInfoVO<>(); - processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE); - BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO(); - basicTaskInfoDTO.setHandleFile(common.getCommitFile()); - basicTaskInfoDTO.setHandleText(common.getCommitText()); - BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO(); - basicProcessInfoDTO.setProcessName(common.getPrcName()); - basicProcessInfoDTO.setProcessDescription(common.getPrcMes()); - basicProcessInfoDTO.setProcessType(processTypeEnum.getValue()); - basicProcessInfoDTO.setProcessDueDate(common.getDueTime()); - basicProcessInfoDTO.setProcessInstanceId(common.getProcessInstanceId()); - processInfoVO.setInfoJsonStr(dataJson); - processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO); - processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO); - return processInfoVO; - } - private ProcessInfoVO getProcessInfoVo(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData) { ProcessInfoVO processInfoVO = new ProcessInfoVO<>(); processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE); @@ -546,7 +472,7 @@ public class ActFlowCommonService { String standardState = es.getStandardState(); if (StandardStateEnum.ABOLISH.getStateValue().equals(standardState) || StandardStateEnum.ARCHIVE.getStateValue().equals(standardState)) { - log.error("企标编号为{}的企标已经废止或者封存,无法进行复审流程", es.getStandardNumber()); + log.error("企标编号为{}的企标已经废止或者封存,无法进行复审或更改流程", es.getStandardNumber()); throw new JeroBootException(ResultCommon.CAN_NOT_EDIT_ABOLISH_OR_ARCHIVE_ES); } } 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 8ecc0491..43eeb8af 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 @@ -4,16 +4,16 @@ 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 com.fasterxml.jackson.annotation.JsonFormat; import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + /** * 企业标准 * @TableName process_es_change @@ -302,6 +302,13 @@ public class ProcessEsChange implements Serializable { @ApiModelProperty(value = "需要替换的fileId") private String replaceFileId; + /** + * 修改单位代号 + */ + @ApiModelProperty(value = "修改单位代号") + @Dict(dicCode = "es_modify_order_dept_code") + private String changeDeptCode; + /** * 修改意见内容列表 */ 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 2278964d..6a22d0c9 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 @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.CommonAPI; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; -import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.SysDictItemCore; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; @@ -24,8 +23,8 @@ import com.jero.modules.onlyoffice.service.IBusProcessModelHisService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.system.controller.CommonController; -import com.jero.modules.system.entity.SysDepart; -import com.jero.modules.system.service.*; +import com.jero.modules.system.service.ISysDepartService; +import com.jero.modules.system.service.ISysDictService; import com.jero.modules.tag.enums.TableNameEnum; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.delegate.DelegateExecution; @@ -283,22 +282,10 @@ public class ProcessESChangeEndListener implements ExecutionListener { } private void genModificationOrderNumber(ProcessEsChange change) { - String deptCode = ""; + String deptCode = change.getChangeDeptCode(); // 找到单位代号 - String deptId = change.getMainDraftingUnit(); - SysDepart dept = sysDepartService.getById(deptId); - if (dept != null) { - String deptName = dept.getDepartName(); - List dictItems = dictService.queryEnableDictItemsByCode("es_modify_order_dept_code"); - for (DictModel dictItem : dictItems) { - if (dictItem.getText().equals(deptName)) { - deptCode = dictItem.getValue(); - break; - } - } - } if (StrUtil.isBlank(deptCode)) { - throw new JeroBootException("生成修改单失败,找不到主起草单位的单位代号,请前往数据字典中添加后再试"); + throw new JeroBootException("生成修改单失败,找不到更改单位的单位代号,请联系系统管理员添加后再试"); } // 找到年份 Date effectiveDate = new Date(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java index 19330b3b..f80b6a02 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/service/impl/ProcessEsChangeServiceImpl.java @@ -7,36 +7,27 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.TranslationAspect; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; -import com.jero.common.system.vo.DictModel; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessStatusEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; 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; import com.jero.modules.activiti.process.esChange.entity.EsChangeOpinion; import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange; import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO; +import com.jero.modules.activiti.process.esChange.mapper.ProcessEsChangeMapper; import com.jero.modules.activiti.process.esChange.service.EsChangeOpinionService; import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService; -import com.jero.modules.activiti.process.esChange.mapper.ProcessEsChangeMapper; 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.ProcessAllService; 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.onlyoffice.service.IBusProcessModelHisService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.sys.utils.UserUtils; -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.ISysUserDepartService; @@ -214,30 +205,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl dictItems = dictService.queryEnableDictItemsByCode("es_modify_order_dept_code"); - for (DictModel dictItem : dictItems) { - if (dictItem.getText().equals(deptName)) { - deptCode = dictItem.getValue(); - break; - } - } - } - if (StrUtil.isBlank(deptCode)) { - throw new JeroBootException("发起失败,找不到主起草单位对应的单位代号,请前往数据字典中添加后再试"); } } @@ -296,10 +266,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl esChangeOpinionLambdaQueryWrapper = new LambdaQueryWrapper<>(); esChangeOpinionLambdaQueryWrapper.eq(EsChangeOpinion::getBusinessId, data.getId()); diff --git a/laws-single-startup/src/main/resources/application-dev.yml b/laws-single-startup/src/main/resources/application-dev.yml index 89216f16..9fed3092 100644 --- a/laws-single-startup/src/main/resources/application-dev.yml +++ b/laws-single-startup/src/main/resources/application-dev.yml @@ -143,10 +143,6 @@ spring: connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000;druid.stat.logSlowSql\=true datasource: master: - url: jdbc:p6spy:mysql://10.10.10.44:3306/laws_sinotruk_grp?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true - username: root - password: hzwlsoft.com - driver-class-name: com.p6spy.engine.spy.P6SpyDriver # url: jdbc:p6spy:mysql://10.186.16.134:8921/laws_sinotrunk_grp?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&autoReconnect=true # username: law # password: Law!@123445 @@ -155,10 +151,10 @@ spring: # username: root # password: hzwlsoft.com # driver-class-name: com.p6spy.engine.spy.P6SpyDriver -# url: jdbc:p6spy:mysql://lijiarao.cn:3306/laws-sinotruk-demo?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&autoReconnect=true -# username: root -# password: 704670af746903fa -# driver-class-name: com.p6spy.engine.spy.P6SpyDriver + url: jdbc:p6spy:mysql://lijiarao.cn:3306/laws-sinotruk-demo?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&autoReconnect=true + username: root + password: 704670af746903fa + driver-class-name: com.p6spy.engine.spy.P6SpyDriver # url: jdbc:p6spy:mysql://10.10.10.44:3306/laws-sinotruk-test?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true # username: root # password: hzwlsoft.com @@ -196,7 +192,7 @@ spring: shutdown-timeout: 100ms # password: hzwlsoft.com # port: 4780 - port: 6379 + port: 16379 #rabbitmq 配置 rabbitmq: @@ -328,12 +324,12 @@ jero: # 文件限制后缀黑名单 fileSuffixLimits : 0x00,%00,\\00,.jsp,.exe,.php,.asp,.aspx,.jspx,.xml,.html,.js,.sh,.bin,$DATA # 跨站白名单 - whiteUrls: localhost:62345,localhost:8184,localhost:3334,localhost:3435,localhost:3408 + whiteUrls: localhost:62345,localhost:8184,localhost:3334,localhost:3435,localhost:3408,localhost:3335,localhost:3508 xssExcludedPages: /login,/updatePassword # cors白名单 notFilter: # origin地址 - originIp: http://localhost:62345,http://localhost:8184,http://localhost:3334,http://localhost:3435,http://localhost:3408 + originIp: http://localhost:62345,http://localhost:8184,http://localhost:3334,http://localhost:3335,http://localhost:3435,http://localhost:3408,http://localhost:3508 # 加密默认值 password: pbe: @@ -387,7 +383,7 @@ justauth: file: # 在线编辑文件下载映射地址 - downloadUrl: http://localhost:8184/laws-sinotruk/file/ + downloadUrl: http://10.0.1.25:8184/laws-sinotruk/file/ split: path: D://opt//onlyOffice//file//splitImage// # 在线编辑空白docx地址 @@ -476,7 +472,7 @@ download: # 文件下载、预览拦截路径,多个以逗号分隔 download_url: /sys/common/download/ view_url: /sys/common/view/ - white_url: /lawsSpecialProjectLibrary/exportXls,/noEncryptDownload,/overseas/exportData,/overseas/exportDataWithFile,/overseas/templateDownload,/domestic/exportData,/domestic/exportDataWithFile,/domestic/templateDownload,/onlyOffice,/enterprise/templateDownload,/exportDataWithFile,/exportSplitInfoZip,/lawsCustomCompareInfo/exportExcel,/home/search/download,/documentSplit/downloadImportTemplate,/split/file/getImage,/allDocFileTransferPdf,/file/convert + white_url: /lawsSpecialProjectLibrary/exportXls,/noEncryptDownload,/overseas/exportData,/overseas/exportDataWithFile,/overseas/templateDownload,/domestic/exportData,/domestic/exportDataWithFile,/domestic/templateDownload,/onlyOffice,/enterprise/templateDownload,/exportDataWithFile,/exportSplitInfoZip,/lawsCustomCompareInfo/exportExcel,/home/search/download,/documentSplit/downloadImportTemplate,/split/file/getImage,/allDocFileTransferPdf,/file/convert,/downloadWithoutToken dev_encrypt_url: /devEncryptDownload,/enterprise/exportData # 管理员角色 admin_role_code: admin,BZGLY @@ -544,7 +540,7 @@ standardProperty: #onlyoffice保存时回调url替换 onlyoffice: replaceUrl: srms.sinotruk.com,srms-onlyoffice.sinotruk.com - toUrl: http://10.10.10.45:8107 + toUrl: 10.10.10.45:8107 transferPDfUrl: /7.5.1-23/ConvertService.ashx # toUrl: onlyoffice-j3qlv.yf-grp:8080