add 项目库 评估结果历史

This commit is contained in:
lijiarao
2023-12-22 18:04:24 +08:00
parent 93e1490a88
commit b14428dceb
11 changed files with 227 additions and 38 deletions
@@ -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<ProcessProjectAsses
@Resource
private ILawsAssessResultsService lawsAssessResultsService;
@Resource
private ILawsAssessService lawsAssessService;
HashMap<String, String> tempCache = new HashMap<>();
public ProcessInfoVO<ProcessProjectAssessVO> queryProcessInfoVO(String draftId, String processInstanceId, String taskId) {
@@ -321,11 +329,20 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
this.save(processProjectAssess);
String assessmentId = processProjectAssess.getId();
processInfoVO.setBusinessId(assessmentId);
String projectId = processProjectAssess.getProjectId();
//保存关联标准
List<ProcessProjectAssessLink> processProjectAssessLinkList = businessInfoDTO.getProcessProjectAssessLinkList();
for (ProcessProjectAssessLink processProjectAssessLink : processProjectAssessLinkList) {
processProjectAssessLink.setId(null);
processProjectAssessLink.setAssessmentId(assessmentId);
String standardId = processProjectAssessLink.getStandardId();
//更新项目库法规清单状态
LambdaUpdateWrapper<LawsAssess> 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<ProcessProjectAsses
continue;
}
LawsAssessResults lawsAssessResults = new LawsAssessResults();
lawsAssessResults.setProjectId(businessId);
lawsAssessResults.setProjectId(projectId);
//lawsAssessResults.setProcessStatus();
lawsAssessResults.setAssessorId(assessTerm.getAssessorId());
lawsAssessResults.setAssessorName(assessTerm.getAssessorName());
@@ -571,6 +588,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
lawsAssessResults.setCountermeasures(assessTerm.getCountermeasures());
//不涉及原因,根据是否是设计工程师评估反馈区分
if (StringUtils.isBlank(evaluationFeedback)){
lawsAssessResults.setAssessResults(AssessCommon.NOT_COMPLIANT);
lawsAssessResults.setReason(assessTerm.getNotInvolved());
}else {
lawsAssessResults.setReason(assessTerm.getDescription());
@@ -579,6 +597,34 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
}
lawsAssessResultsService.saveBatch(lawsAssessResultsList);
//更新法规清单的评估结果和流程状态
Map<String, List<LawsAssessResults>> stringListMap = CollStreamUtil.groupByKey(lawsAssessResultsList, LawsAssessResults::getStandardId);
for (Map.Entry<String, List<LawsAssessResults>> next : stringListMap.entrySet()) {
String assessResults = AssessCommon.NOT_INVOLVED;
List<LawsAssessResults> 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<LawsAssess> 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();
@@ -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";
}
@@ -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<LawsAssess, ILawsAssess
LawsDomesticStandard standard = lawsDomesticStandardService.queryById(id);
lawsAssess.setStandardNumber(standard.getStandardNumber());
lawsAssess.setStandardName(standard.getStandardName());
lawsAssess.setProcessStatus("1");
lawsAssess.setProcessStatus(AssessCommon.NOT_EVALUATED);
lawsAssess.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
lawsAssesses.add(lawsAssess);
continue;
@@ -146,7 +147,7 @@ public class LawsAssessController extends JeroController<LawsAssess, ILawsAssess
LawsOverseasStandard standard = lawsOverseasStandardService.queryById(id);
lawsAssess.setStandardNumber(standard.getStandardNumber());
lawsAssess.setStandardName(standard.getStandardName());
lawsAssess.setProcessStatus("1");
lawsAssess.setProcessStatus(AssessCommon.NOT_EVALUATED);
lawsAssess.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
lawsAssesses.add(lawsAssess);
}
@@ -193,7 +194,7 @@ public class LawsAssessController extends JeroController<LawsAssess, ILawsAssess
assess.setStandardId(standardId);
assess.setStandardNumber(lawsAssess.getStandardNumber());
assess.setStandardName(lawsAssess.getStandardName());
assess.setProcessStatus("1");
assess.setProcessStatus(AssessCommon.NOT_EVALUATED);
lawsAssess.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
lawsAssesses.add(assess);
}
@@ -1,13 +1,25 @@
package com.jero.modules.projectLibrary.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import cn.hutool.core.collection.CollStreamUtil;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.api.vo.ResultCommon;
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.service.ILawsAssessResultsService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.projectLibrary.service.ILawsAssessService;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.lang3.StringUtils;
@@ -17,8 +29,11 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
import java.util.List;
import java.util.Map;
/**
/**
* @Description: 标准评估结果
* @Author: jero-boot
* @Date: 2023-09-11
@@ -56,13 +71,11 @@ public class LawsAssessResultsController extends JeroController<LawsAssessResult
*/
@AutoLog(value = "项目库详情页-评估结果历史-通过id查询-符合/不符合项")
@ApiOperation(value="项目库详情页-评估结果历史-通过id查询-符合/不符合项", notes="项目库详情页-评估结果历史-通过id查询-符合/不符合项")
@GetMapping(value = "/queryById")
public Result<LawsAssessResults> 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<List<LawsAssessResults>> queryByAssessId(@RequestParam(name="assessId",required=true) String assessId) {
List<LawsAssessResults> lawsAssessResultsList = lawsAssessResultsService.queryByAssessId(assessId);
return Result.OK(lawsAssessResultsList);
}
}
@@ -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 = "分解单来源列表")
@@ -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;
}
@@ -14,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface LawsAssessResultsMapper extends BaseMapper<LawsAssessResults> {
List<LawsAssessResults> selectListByProjectIdAndStandardId(@Param("projectId") String projectId, @Param("standardId") String standardId);
}
@@ -1,25 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.projectLibrary.mapper.LawsAssessResultsMapper">
<resultMap id="LawsAssessResultsResultMap" type="com.jero.modules.projectLibrary.entity.LawsAssessResults">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="org_code" property="orgCode" />
<result column="standard_id" property="standardId" />
<result column="standard_num" property="standardNum" />
<result column="project_id" property="projectId" />
<result column="project_name" property="projectName" />
<result column="term_id" property="termId" />
<result column="term_num" property="termNum" />
<result column="term_name" property="termName" />
<result column="department_id" property="departmentId" />
<result column="engineer_id" property="engineerId" />
<result column="engineer_name" property="engineerName" />
<result column="expected_time" property="expectedTime" />
<result column="reality_time" property="realityTime" />
<result column="state" property="state" />
</resultMap>
<select id="selectListByProjectIdAndStandardId"
resultType="com.jero.modules.projectLibrary.entity.LawsAssessResults">
select * from laws_assess_results
<where>
project_id = #{projectId}
and standard_id = #{standardId}
</where>
group by term_number,assessor_id
</select>
</mapper>
@@ -73,4 +73,6 @@ public interface ILawsAssessResultsService extends IService<LawsAssessResults> {
* @return
*/
LawsAssessResults queryById(String id);
List<LawsAssessResults> queryByAssessId(String assessId);
}
@@ -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<LawsAssessResultsMapper, LawsAssessResults> 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<LawsAssessResultsM
public LawsAssessResults queryById(String id) {
return getById(id);
}
@Override
public List<LawsAssessResults> 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<DictModel> dictModels = sysBaseAPI.queryDictItemsByCode("standard_state");
Map<String, String> 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<LawsAssessResults> 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;
}
}
@@ -168,7 +168,7 @@ public class LawsAssessServiceImpl extends ServiceImpl<LawsAssessMapper, LawsAss
assess.setNewModelImplementationDate(standard.getNewModelImplementationDate());
assess.setReleaseDate(standard.getReleaseDate());
//TODO "这里要用额外方法查询"
assess.setEvaluationResults("-");
//assess.setAssessResults("-");
assess.setResponsibleDepartment(standard.getResponsibleDepartment());
}
@@ -182,7 +182,7 @@ public class LawsAssessServiceImpl extends ServiceImpl<LawsAssessMapper, LawsAss
assess.setNewModelImplementationDate(standard.getNewModelImplementationDate());
assess.setReleaseDate(standard.getReleaseDate());
//TODO "这里要用额外方法查询"
assess.setEvaluationResults("-");
//assess.setAssessResults("-");
assess.setResponsibleDepartment(standard.getResponsibleDepartment());
}