未符合项跟踪-相关项目名称修改

This commit is contained in:
zhn
2022-12-27 14:08:38 +08:00
parent e6af832e7f
commit 3c6b516a5f
3 changed files with 48 additions and 1 deletions
@@ -27,7 +27,7 @@
<select id="getInfoList" resultMap="NcrTrackVOResultMap">
SELECT
pni.project_name,plb.target_market,
pni.project_name,plb.target_market,plb.project_version,pyni.year_name,
pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,
pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id,pti.id,pti.project_laws_inventory_id,
pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id
@@ -37,6 +37,7 @@
left join project_library_base plb on plb.id = pli.project_library_id
left join project_name_info pni on pni.id = plb.project_name_id
left join project_task_inventory_detail ptid on ptid.project_task_inventory_id = pti.project_laws_inventory_id
left join project_year_name_info pyni on pyni.id = plb.year_name_id
where
<if test="ncrTrackVO.projectLibraryId != null and ncrTrackVO.projectLibraryId != ''">
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
import com.jero.modules.project.enums.ReviewResultEnum;
@@ -15,6 +16,8 @@ import com.jero.modules.project.vo.NcrTrackInfoVO;
import com.jero.modules.project.vo.NcrTrackVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
@@ -58,6 +61,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
private ProjectTaskInventoryDetailEOServiceImpl projectTaskInventoryDetailEOService;
@Autowired
private SysDictItemServiceImpl sysDictItemServiceImpl;
@Autowired
private ISysDictService sysDictService;
@Override
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
@@ -120,7 +125,17 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
userQueryWrapper.select("id", "username");
sysUserList = this.sysUserService.list(userQueryWrapper);
}
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
for (NcrTrackVO trackVO : infoList) {
String projectName = trackVO.getProjectName();
String yearName = trackVO.getYearName();
String market = getMarket(targetMarketList, trackVO);
String projectVersion = trackVO.getProjectVersion();
if(StringUtils.isNotBlank(projectVersion)){
trackVO.setProjectName(projectName+"-"+yearName+"-"+market+"-"+projectVersion);
}else{
trackVO.setProjectName(projectName+"-"+yearName+"-"+market);
}
//责任领域中英文切换
if(StringUtils.isNotBlank(trackVO.getDutyTerritory())){
String dutyTerritory = pull(dictItemList, trackVO.getDutyTerritory(), "duty_territory", ncrTrackVO.getCut());
@@ -266,6 +281,31 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
}
}
private String getMarket(List<DictModel> targetMarketList, NcrTrackVO trackVO) {
//目标市场
List<DictModel> dictModelList = new ArrayList<>();
for (String s : trackVO.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(trackVO.getCut())){
sb.append(dictModel.getText()+",");
}else{
sb.append(dictModel.getTextEn()+",");
}
}
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){
targetMarket = sb.substring(0,sb.length()-1);
}
}
return targetMarket;
}
private String pull(List<SysDictItem> sysDictItems, String field, String dictCode,String cut) {
if(StringUtils.isBlank(field)){
return null;
@@ -68,6 +68,12 @@ public class NcrTrackVO implements Serializable {
//目标市场
private String targetMarket;
//年款
private String yearName;
//项目版本
private String projectVersion;
//问题类型
@Excel(name = "问题类型", width = 20)
private String problemType;