diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbEntryChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbEntryChange.java index 0aa340d5..734ca4ee 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbEntryChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbEntryChange.java @@ -73,6 +73,14 @@ public class ProcessFbEntryChange implements Serializable { @Excel(name = "操作类型(1标准法规入库、2标准法规变更)", width = 15) @ApiModelProperty(value = "操作类型(1标准法规入库、2标准法规变更)") private java.lang.String operateType; + /**标准编号*/ + @Excel(name = "标准编号", width = 15) + @ApiModelProperty(value = "标准编号") + private java.lang.String standardNumber; + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private java.lang.String userId; /**JSON字符串*/ @Excel(name = "JSON字符串", width = 15) @ApiModelProperty(value = "JSON字符串") diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java index 405bf4a3..8a6d69e0 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java @@ -1,6 +1,9 @@ package com.jero.modules.activiti.process.fb.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.api.dto.message.SendMessageDTO; +import com.jero.common.api.vo.SendMessageAPI; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.util.UUIDUtils; import com.jero.modules.activiti.enums.ProcessTypeEnum; @@ -11,25 +14,28 @@ import com.jero.modules.activiti.process.fb.mapper.ProcessFbEntryChangeMapper; import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService; import com.jero.modules.activiti.process.fb.service.IProcessHandleService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; +import com.jero.modules.laws.common.constant.DictCommon; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.common.api.vo.ResultCommon; +import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon; import com.jero.modules.laws.common.mapper.LawsCommonMapper; import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.common.util.CurrentUserUtil; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.TableNameEnum; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.jero.common.exception.JeroBootException; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; @@ -50,6 +56,10 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl objectMap) { String module = (String) objectMap.get(FieldCommon.MODULE); String id = (String) objectMap.get("id"); + String standardNumber = (String) objectMap.get(FieldCommon.STANDARD_NUMBER); + String standardName = (String) objectMap.get(FieldCommon.STANDARD_NAME); Map oldMap = lawsCommonService.getByIdAndModule(id, module, "2", null); String replaced = (String) objectMap.get(FieldCommon.REPLACED_STANDARD); // 代替标准 @@ -166,12 +181,44 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl replacedList = Arrays.asList(replaced.split(",")); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ProcessFbEntryChange::getStandardNumber, replacedList); + queryWrapper.eq(ProcessFbEntryChange::getOperateType, "1"); + List fbEntryChangeList = list(queryWrapper); + List userIdList = fbEntryChangeList.stream() + .map(ProcessFbEntryChange::getUserId) + .distinct().collect(Collectors.toList()); + userId = StringUtils.join(userIdList, ","); + templateCode = MessageTemplateCodeCommon.STANDARD_CHANGE_REPLACE; } if (StringUtils.isNotBlank(reference) && !reference.equals(referenceOld)) { // 引用标准 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LawsEnterpriseStandard::getReferenceStandard, standardNumber); + queryWrapper.isNotNull(LawsEnterpriseStandard::getMainDraftingUser); + List enterpriseStandardList = lawsEnterpriseStandardService.list(queryWrapper); + List userIdList = enterpriseStandardList.stream() + .map(LawsEnterpriseStandard::getMainDraftingUser) + .distinct().collect(Collectors.toList()); + userId = StringUtils.join(userIdList, ","); + templateCode = MessageTemplateCodeCommon.STANDARD_CHANGE_REFERENCE; + } + + if (StringUtils.isNotBlank(userId)) { String content = getContent(objectMap, oldMap, module); + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setTemplateCode(templateCode); + sendMessageDTO.setToUserId(userId); + Map map = new HashMap<>(); + map.put("standardNumber", standardNumber); + map.put("standardName", standardName); + map.put("content", content); + sendMessageDTO.setMap(map); + sendMessageAPI.sendMessage(sendMessageDTO); } }