Merge remote-tracking branch 'origin/dev_20230831_problem' into dev_20230831_problem

This commit is contained in:
zyx.net
2023-09-05 14:18:35 +08:00
6 changed files with 172 additions and 12 deletions
@@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog;
public class ProblemManagementEOController extends JeroController<ProblemManagementEO, IProblemManagementEOService> {
@Autowired
private IProblemManagementEOService problemManagementEOService;
/**
* 分页列表查询
*
@@ -136,8 +136,9 @@ public class ProblemManagementEOController extends JeroController<ProblemManagem
@AutoLog(value = "问题管理-通过id查询")
@ApiOperation(value="问题管理-通过id查询", notes="问题管理-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
ProblemManagementEO problemManagementEO = problemManagementEOService.queryById(id);
public Result<?> queryById(@RequestParam(name="id",required=true) String id,
@RequestParam(name="cut",required=true) String cut) {
ProblemManagementEO problemManagementEO = problemManagementEOService.queryById(id,cut);
if(problemManagementEO==null) {
return Result.error("未找到对应数据");
}
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.modules.oss.entity.OSSFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -86,12 +87,12 @@ public class ProblemManagementEO implements Serializable {
private java.lang.String projectId;
/**责任部门*/
@Excel(name = "责任部门", width = 15)
@ApiModelProperty(value = "责任部门")
@Excel(name = "*责任领域", width = 15,dicCode ="duty_territory")
private java.lang.String dutyTerritory;
/**问题状态*/
@Excel(name = "问题状态", width = 15)
@Excel(name = "*问题状态", width = 15,dicCode ="wen4_ti2_lei4_xing2")
@ApiModelProperty(value = "问题状态")
private java.lang.String problemState;
@@ -151,4 +152,12 @@ public class ProblemManagementEO implements Serializable {
@ApiModelProperty(value = "相关项目中文名")
private String projectName;
@TableField(exist = false)
@ApiModelProperty(value = "详情文件回显")
private List<OSSFile> fileList;
@TableField(exist = false)
@ApiModelProperty(value = "详情文件回显")
private List<OSSFile> approvalEvidenceFileList;
}
@@ -2,6 +2,7 @@ package com.jero.modules.project.mapper;
import java.util.List;
import com.jero.modules.project.entity.ProjectLibraryBase;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.project.entity.ProblemManagementEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface ProblemManagementEOMapper extends BaseMapper<ProblemManagementEO> {
List<ProjectLibraryBase> queryByIds(@Param("ids") String ids);
}
@@ -23,4 +23,38 @@
<result column="approval_evidence" property="approvalEvidence" />
<result column="approval_evidence_link" property="approvalEvidenceLink" />
</resultMap>
</mapper>
<select id="queryByIds" resultType="com.jero.modules.project.entity.ProjectLibraryBase">
select
plb.id,
plb.project_name_id,
pni.project_name as project_name,
pyni.id as year_name_id,
pyni.year_name,
plb.target_market,
plb.project_status,
plb.studio_engineer,
studiouser.username as studio_engineer_name,
plb.certification_engineer,
plb.vehicle_platform,
plb.digital_platform,
plb.ipd_info,
plb.vehicle_development_plan,
plb.attestation_plan,
plb.create_by,
plb.create_time,
plb.sys_org_code,
plb.update_by,
plb.update_time,
plb.parent_id,
plb.project_version
from project_library_base as plb
left join project_name_info as pni on plb.project_name_id=pni.id
left join sys_user as studiouser on plb.studio_engineer=studiouser.id
left join project_year_name_info as pyni on plb.year_name_id=pyni.id
where id in
<foreach collection="ids.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
@@ -50,7 +50,7 @@ public interface IProblemManagementEOService extends IService<ProblemManagementE
* @param id
* @return
*/
ProblemManagementEO queryById(String id);
ProblemManagementEO queryById(String id,String cut);
/**
* 列表查询
@@ -1,20 +1,30 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProblemManagementEO;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.mapper.ProblemManagementEOMapper;
import com.jero.modules.project.service.IProblemManagementEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.stream.Collectors;
/**
* @Description: 问题管理
@@ -28,6 +38,14 @@ public class ProblemManagementEOServiceImpl extends ServiceImpl<ProblemManagemen
@Autowired
private IOSSFileService iOSSFileService;
@Autowired
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
@Autowired
private IProjectLibraryBaseService projectLibraryBaseService;
@Autowired
private ISysDictService sysDictService;
@Autowired
private ProblemManagementEOMapper problemManagementEOMapper;
/**
* 保存
@@ -138,10 +156,105 @@ public class ProblemManagementEOServiceImpl extends ServiceImpl<ProblemManagemen
* @return
*/
@Override
public ProblemManagementEO queryById(String id) {
return getById(id);
public ProblemManagementEO queryById(String id,String cut) {
ProblemManagementEO problemManagementEO = getById(id);
//相关法规
if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){
LambdaQueryWrapper<BussDocumentLibraryEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(BussDocumentLibraryEO::getId, Arrays.asList(problemManagementEO.getLawsId().split(",")));
List<BussDocumentLibraryEO> documentLibraryEOList = bussDocumentLibraryEOService.list(wrapper);
if(!documentLibraryEOList.isEmpty()){
List<String> serialNumberList = documentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
problemManagementEO.setLawsName(StringUtils.join(serialNumberList,","));
}
}
//相关项目
if(StringUtils.isNotBlank(problemManagementEO.getProjectId())){
List<ProjectLibraryBase> projectLibraryBaseList = problemManagementEOMapper.queryByIds(problemManagementEO.getProjectId());
//目标市场数据字典
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<String> projectNameList = new ArrayList<>();
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) {
//目标市场
String targetMarket = getMarket(cut, targetMarketList, projectLibraryBase);
//主项目的版本号
String projectVersion = "";
if(StringUtils.isBlank(projectLibraryBase.getParentId())){
projectVersion = "00";
}else{
projectVersion = projectLibraryBase.getProjectVersion();
}
if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
+ "-" + projectLibraryBase.getYearName()
+ "-" + targetMarket);
}
projectNameList.add(projectLibraryBase.getProjectName()
+ "-" + projectLibraryBase.getYearName()
+ "-" + targetMarket
+"-"+projectVersion);
}
}
//责任部门
if(StringUtils.isNotBlank(problemManagementEO.getDutyTerritory())){
}
//相关文件
if(StringUtils.isNotBlank(problemManagementEO.getFile())){
List<OSSFile> fileInfos = iOSSFileService.getFileInfosByConnectId(problemManagementEO.getFile());
problemManagementEO.setFileList(fileInfos);
}
//审批证据
if(StringUtils.isNotBlank(problemManagementEO.getApprovalEvidence())){
List<OSSFile> fileInfos = iOSSFileService.getFileInfosByConnectId(problemManagementEO.getApprovalEvidence());
problemManagementEO.setApprovalEvidenceFileList(fileInfos);
}
//相关文件连接
if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){
problemManagementEO.setFileLinkList(Arrays.asList(problemManagementEO.getFileLink().split(",")));
}
//审批证据连接
if(StringUtils.isNotBlank(problemManagementEO.getApprovalEvidenceLink())){
problemManagementEO.setApprovalEvidenceLinkList(Arrays.asList(problemManagementEO.getApprovalEvidenceLink().split(",")));
}
return problemManagementEO;
}
public String getMarket(String cut, List<DictModel> targetMarketList, ProjectLibraryBase projectLibraryBase) {
List<DictModel> dictModelList = new ArrayList<>();
for (String s : projectLibraryBase.getTargetMarket().split(",")) {
List<DictModel> dictModelListTemp = targetMarketList.stream()
.filter(e -> s.equals(e.getValue())).collect(Collectors.toList());
dictModelList.addAll(dictModelListTemp);
}
String targetMarket = "";
if(dictModelList.size() != 0){
StringBuilder sb = new StringBuilder();
for (DictModel dictModel : dictModelList) {
if(CutEnum.CN.getValue().equals(cut)){
sb.append(dictModel.getText()+",");
}else{
sb.append(dictModel.getTextEn()+",");
}
}
if(StringUtils.isNotBlank(sb)){
targetMarket = sb.substring(0,sb.length()-1);
}
}
return targetMarket;
}
/**
* 列表查询
*