diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java index 88ef70f2..1fa85af6 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java @@ -6,6 +6,7 @@ import java.util.List; 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.update.LambdaUpdateWrapper; import com.jero.common.api.dto.message.SendMessageDTO; import com.jero.common.api.vo.ResultCommon; import com.jero.common.api.vo.SendMessageAPI; @@ -38,9 +39,12 @@ import com.jero.modules.laws.standard.entity.LawsDomesticStandard; 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.LawsAssess; import com.jero.modules.projectLibrary.entity.LawsAssessResults; import com.jero.modules.projectLibrary.entity.LawsProjectLibrary; import com.jero.modules.projectLibrary.service.ILawsAssessResultsService; +import com.jero.modules.projectLibrary.service.ILawsAssessService; import com.jero.modules.projectLibrary.service.ILawsProjectLibraryService; import org.activiti.engine.HistoryService; import org.activiti.engine.RuntimeService; @@ -100,6 +104,10 @@ public class ProcessProjectAssessService extends ServiceImpl tempCache = new HashMap<>(); public ProcessInfoVO queryProcessInfoVO(String draftId, String processInstanceId, String taskId) { @@ -321,11 +329,20 @@ public class ProcessProjectAssessService extends ServiceImpl processProjectAssessLinkList = businessInfoDTO.getProcessProjectAssessLinkList(); for (ProcessProjectAssessLink processProjectAssessLink : processProjectAssessLinkList) { processProjectAssessLink.setId(null); processProjectAssessLink.setAssessmentId(assessmentId); + String standardId = processProjectAssessLink.getStandardId(); + //更新项目库法规清单状态 + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(LawsAssess::getProjectId,projectId); + wrapper.eq(LawsAssess::getStandardId,standardId); + wrapper.set(LawsAssess::getProcessStatus,AssessCommon.UNDER_EVALUATION); + lawsAssessService.update(wrapper); } processProjectAssessLinkService.saveBatch(processProjectAssessLinkList); //保存关联的条款、标准 @@ -552,7 +569,7 @@ public class ProcessProjectAssessService extends ServiceImpl> stringListMap = CollStreamUtil.groupByKey(lawsAssessResultsList, LawsAssessResults::getStandardId); + for (Map.Entry> next : stringListMap.entrySet()) { + String assessResults = AssessCommon.NOT_INVOLVED; + List assessResultsList = next.getValue(); + for (LawsAssessResults lawsAssessResults : assessResultsList) { + String assessResults1 = lawsAssessResults.getAssessResults(); + if (AssessCommon.NOT_COMPLIANT.equals(assessResults1)) { + assessResults = AssessCommon.NOT_COMPLIANT; + break; + } + if (AssessCommon.TO_BE_VERIFIED.equals(assessResults) + || AssessCommon.TO_BE_VERIFIED.equals(assessResults1)) { + assessResults = AssessCommon.TO_BE_VERIFIED; + continue; + } + if (AssessCommon.ACCORD_WITH.equals(assessResults1)) { + assessResults = AssessCommon.ACCORD_WITH; + } + } + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(LawsAssess::getProjectId, projectId); + wrapper.eq(LawsAssess::getStandardId, next.getKey()); + wrapper.set(LawsAssess::getAssessResults, assessResults); + wrapper.set(LawsAssess::getProcessStatus, AssessCommon.EVALUATED); + lawsAssessService.update(wrapper); + } + //发送消息 String carbonCopyPersonnels = businessInfoDTO.getCarbonCopyPersonnels(); SendMessageDTO sendMessageDTO = new SendMessageDTO(); diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/common/AssessCommon.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/common/AssessCommon.java new file mode 100644 index 00000000..04aa02c7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/common/AssessCommon.java @@ -0,0 +1,40 @@ +package com.jero.modules.projectLibrary.common; + +/** + * @author liJiaRao + * @date 2023-12-22 14:19 + */ +public class AssessCommon { + /** + * 未评估 + */ + public final static String NOT_EVALUATED = "1"; + /** + * 评估中 + */ + public final static String UNDER_EVALUATION = "2"; + /** + * 已评估 + */ + public final static String EVALUATED = "3"; + + /** + * 符合 + */ + public final static String ACCORD_WITH = "1"; + /** + * 不符合 + */ + public final static String NOT_COMPLIANT = "2"; + /** + * 待验证 + */ + public final static String TO_BE_VERIFIED = "3"; + /** + * 不涉及 + */ + public final static String NOT_INVOLVED = "4"; + + + +} diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java index f43c579c..11b1e6a6 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/controller/LawsAssessController.java @@ -16,6 +16,7 @@ import com.jero.modules.laws.standard.entity.LawsDomesticStandard; 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.LawsAssess; import com.jero.modules.projectLibrary.service.ILawsAssessService; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -120,7 +121,7 @@ public class LawsAssessController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { - LawsAssessResults lawsAssessResults = lawsAssessResultsService.queryById(id); - if(lawsAssessResults==null) { - throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND); - } - return Result.OK(lawsAssessResults); + @GetMapping(value = "/queryByAssessId") + public Result> queryByAssessId(@RequestParam(name="assessId",required=true) String assessId) { + List lawsAssessResultsList = lawsAssessResultsService.queryByAssessId(assessId); + + return Result.OK(lawsAssessResultsList); } } diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java index af1ee313..3e69bff6 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssess.java @@ -107,10 +107,12 @@ public class LawsAssess implements Serializable { @ApiModelProperty(value = "流程状态(1-未评估、2-评估中、3-已评估)") private String processStatus; + /**评估结果(1-符合、2-不符合、3-待验证、4-不涉及)*/ @TableField(exist = false) @Excel(name = "评估结果", width = 15) - @ApiModelProperty(value = "评估结果") - private String evaluationResults; + @Dict(dicCode = "assess_results") + @ApiModelProperty(value = "评估结果(1-符合、2-不符合、3-待验证、4-不涉及)") + private String assessResults; @TableField(exist = false) @ApiModelProperty(value = "分解单来源列表") diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssessResults.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssessResults.java index d2ab3e84..9a6bbc16 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssessResults.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/entity/LawsAssessResults.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.jero.common.aspect.annotation.Dict; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -159,4 +160,28 @@ public class LawsAssessResults implements Serializable { /**所属部门*/ @ApiModelProperty(value = "所属部门") private String orgCode; + + /**标准来源*/ + @TableField(exist = false) + @ApiModelProperty(value = "标准来源(1国内、2海外、3企标)") + private String source; + + @TableField(exist = false) + @Excel(name = "英文名称", width = 15, exportConvert = true) + @ApiModelProperty(value = "英文名称") + private String standardEnglishName; + + /**发布日期*/ + @TableField(exist = false) + @Excel(name = "发布日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布日期") + private java.util.Date releaseDate; + + @TableField(exist = false) + @Excel(name = "标准状态", width = 15, dicCode = "standard_state") + @ApiModelProperty(value = "标准状态") + @Dict(dicCode = "standard_state") + private String standardState; } diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/LawsAssessResultsMapper.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/LawsAssessResultsMapper.java index 205db253..b0390962 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/LawsAssessResultsMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/LawsAssessResultsMapper.java @@ -14,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface LawsAssessResultsMapper extends BaseMapper { + List selectListByProjectIdAndStandardId(@Param("projectId") String projectId, @Param("standardId") String standardId); } diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/xml/LawsAssessResultsMapper.xml b/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/xml/LawsAssessResultsMapper.xml index ad653f23..d70ed71b 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/xml/LawsAssessResultsMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/mapper/xml/LawsAssessResultsMapper.xml @@ -1,25 +1,14 @@ - - - - - - - - - - - - - - - - - - - - - + + diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/ILawsAssessResultsService.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/ILawsAssessResultsService.java index c85eef13..52abd2fa 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/ILawsAssessResultsService.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/ILawsAssessResultsService.java @@ -73,4 +73,6 @@ public interface ILawsAssessResultsService extends IService { * @return */ LawsAssessResults queryById(String id); + + List queryByAssessId(String assessId); } diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessResultsServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessResultsServiceImpl.java index 65a2f7ad..5aabf846 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessResultsServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessResultsServiceImpl.java @@ -1,16 +1,32 @@ package com.jero.modules.projectLibrary.service.impl; +import cn.hutool.core.collection.CollStreamUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.ResultCommon; +import com.jero.common.constant.CommonConstant; +import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.vo.DictModel; +import com.jero.modules.laws.standard.entity.LawsDomesticStandard; +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.entity.LawsAssess; import com.jero.modules.projectLibrary.entity.LawsAssessResults; import com.jero.modules.projectLibrary.mapper.LawsAssessResultsMapper; import com.jero.modules.projectLibrary.service.ILawsAssessResultsService; +import com.jero.modules.projectLibrary.service.ILawsAssessService; +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 java.util.List; import java.util.Date; +import java.util.Map; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.system.query.QueryGenerator; + +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -25,7 +41,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @Service @Transactional(rollbackFor = JeroBootException.class) public class LawsAssessResultsServiceImpl extends ServiceImpl implements ILawsAssessResultsService { - + @Autowired + private ILawsAssessService lawsAssessService; + @Autowired + private ILawsDomesticStandardService lawsDomesticStandardService; //国内标准 + @Autowired + private ILawsOverseasStandardService lawsOverseasStandardService; //海外标准 + @Resource + private ISysBaseAPI sysBaseAPI; /** * 分页查询 @@ -115,4 +138,51 @@ public class LawsAssessResultsServiceImpl extends ServiceImpl queryByAssessId(String assessId) { + LawsAssess lawsAssess = lawsAssessService.queryById(assessId); + if(lawsAssess==null) { + throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND); + } + String projectId = lawsAssess.getProjectId(); + String standardId = lawsAssess.getStandardId(); + String source = lawsAssess.getSource(); + String processStatus = lawsAssess.getProcessStatus(); + String standardNumber = null; + String standardName = null; + String standardEnglishName = null; + String standardState = null; + List dictModels = sysBaseAPI.queryDictItemsByCode("standard_state"); + Map standardStateMap = CollStreamUtil.toMap(dictModels, DictModel::getValue, DictModel::getText); + if (CommonConstant.STANDARD_SOURCE_1.equals(source)){ + //查询国内标准数据,赋值给collection + LawsDomesticStandard standard = lawsDomesticStandardService.queryById(standardId); + if (standard != null){ + standardNumber = standard.getStandardNumber(); + standardName = standard.getStandardName(); + standardEnglishName = standard.getStandardEnglishName(); + standardState = standardStateMap.get(standard.getStandardState()); + } + } + if (CommonConstant.STANDARD_SOURCE_2.equals(source)){ + //查询海外标准数据,赋值给collection + LawsOverseasStandard standard = lawsOverseasStandardService.queryById(standardId); + if (standard != null){ + standardNumber = standard.getStandardNumber(); + standardName = standard.getStandardName(); + standardEnglishName = standard.getStandardEnglishName(); + standardState = standardStateMap.get(standard.getStandardState()); + } + } + List lawsAssessResultsList = baseMapper.selectListByProjectIdAndStandardId(projectId,standardId); + for (LawsAssessResults lawsAssessResults : lawsAssessResultsList) { + lawsAssessResults.setStandardName(standardName); + lawsAssessResults.setStandardNumber(standardNumber); + lawsAssessResults.setStandardEnglishName(standardEnglishName); + lawsAssessResults.setStandardState(standardState); + lawsAssessResults.setSource(source); + } + return lawsAssessResultsList; + } } diff --git a/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessServiceImpl.java index 921c7a28..3b99cd4c 100644 --- a/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/projectLibrary/service/impl/LawsAssessServiceImpl.java @@ -168,7 +168,7 @@ public class LawsAssessServiceImpl extends ServiceImpl