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

This commit is contained in:
zyx.net
2023-09-07 14:29:04 +08:00
9 changed files with 423 additions and 71 deletions
@@ -58,7 +58,7 @@ public class NcrTrackController {
HttpServletRequest req) { HttpServletRequest req) {
List<NcrTrackVO> pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO); List<NcrTrackVO> pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO);
//表头排序 //表头排序
orderHeader(ncrTrackVO, pageInfo); // orderHeader(ncrTrackVO, pageInfo);
Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo); Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo);
return Result.OK(ncrTrackVO.getCut(),pages); return Result.OK(ncrTrackVO.getCut(),pages);
} }
@@ -71,6 +71,8 @@ public class ProblemManagementEO implements Serializable {
@Excel(name = "问题类型", width = 15) @Excel(name = "问题类型", width = 15)
@ApiModelProperty(value = "问题类型") @ApiModelProperty(value = "问题类型")
private java.lang.String problemType; private java.lang.String problemType;
@TableField(exist = false)
private String problemType_dictText;
/**ps_issue*/ /**ps_issue*/
@Excel(name = "ps_issue", width = 15) @Excel(name = "ps_issue", width = 15)
@@ -27,20 +27,6 @@
<select id="getInfoList" resultMap="NcrTrackVOResultMap"> <select id="getInfoList" resultMap="NcrTrackVOResultMap">
<!--
SELECT
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,pli.stand_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
FROM project_task_inventory pti
left join project_laws_inventory pli on pti.project_laws_inventory_id = pli.id
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
-->
SELECT SELECT
pni.project_name, pni.project_name,
plb.target_market, plb.target_market,
@@ -76,14 +62,10 @@
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id
LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id
where where
<if test="ncrTrackVO.projectLibraryId != null and ncrTrackVO.projectLibraryId != ''"> <!--<if test="ncrTrackVO.projectLibraryId != null and ncrTrackVO.projectLibraryId != ''">
plb.id =#{ncrTrackVO.projectLibraryId} plb.id =#{ncrTrackVO.projectLibraryId}
and and
</if> </if>
<!--<if test="ncrTrackVO.userId != null and ncrTrackVO.userId != ''">
ptid.user_id =#{ncrTrackVO.userId}
and
</if>-->
<if test="ncrTrackVO.serialNumber != null and ncrTrackVO.serialNumber != ''"> <if test="ncrTrackVO.serialNumber != null and ncrTrackVO.serialNumber != ''">
pli.serial_number like concat(concat('%',#{ncrTrackVO.serialNumber}),'%') pli.serial_number like concat(concat('%',#{ncrTrackVO.serialNumber}),'%')
and and
@@ -100,10 +82,6 @@
pni.project_name =#{ncrTrackVO.projectName} pni.project_name =#{ncrTrackVO.projectName}
and and
</if> </if>
<!--<if test="ncrTrackVO.problemType != null and ncrTrackVO.problemType != ''">
(pti.design_flow_task_status =#{ncrTrackVO.problemType} or pti.prehomo_flow_task_status =#{ncrTrackVO.problemType} or pti.verify_flow_task_status =#{ncrTrackVO.problemType})
and
</if>-->
<if test="ncrTrackVO.initiator != null and ncrTrackVO.initiator != ''"> <if test="ncrTrackVO.initiator != null and ncrTrackVO.initiator != ''">
(pli.design_initiator_id =#{ncrTrackVO.initiator} or pli.prehomo_initiator_id =#{ncrTrackVO.initiator} or pli.verify_initiator_id =#{ncrTrackVO.initiator}) (pli.design_initiator_id =#{ncrTrackVO.initiator} or pli.prehomo_initiator_id =#{ncrTrackVO.initiator} or pli.verify_initiator_id =#{ncrTrackVO.initiator})
and and
@@ -111,15 +89,15 @@
<if test="ncrTrackVO.duty != null and ncrTrackVO.duty != ''"> <if test="ncrTrackVO.duty != null and ncrTrackVO.duty != ''">
(pli.design_duty_id =#{ncrTrackVO.duty} or pli.prehomo_duty_id =#{ncrTrackVO.duty} or pli.verify_duty_id =#{ncrTrackVO.duty}) (pli.design_duty_id =#{ncrTrackVO.duty} or pli.prehomo_duty_id =#{ncrTrackVO.duty} or pli.verify_duty_id =#{ncrTrackVO.duty})
and and
</if> </if>-->
( <!--(
design_flow_status =#{ncrTrackVO.inconformity} design_flow_status =#{ncrTrackVO.inconformity}
or verify_flow_status =#{ncrTrackVO.inconformity} or verify_flow_status =#{ncrTrackVO.inconformity}
) )-->
<!--( (
design_flow_status =#{ncrTrackVO.inconformity} or design_flow_status =#{ncrTrackVO.track} design_flow_status =#{ncrTrackVO.inconformity} or design_flow_status =#{ncrTrackVO.track}
or verify_flow_status =#{ncrTrackVO.inconformity} or verify_flow_status =#{ncrTrackVO.track} or verify_flow_status =#{ncrTrackVO.inconformity} or verify_flow_status =#{ncrTrackVO.track}
)--> )
<!--如果当前操作人不是系统管理员角色,查询跟自己相关的数据,如果是系统管理员,查询所有的--> <!--如果当前操作人不是系统管理员角色,查询跟自己相关的数据,如果是系统管理员,查询所有的-->
<if test="ncrTrackVO.administrator == 'false'"> <if test="ncrTrackVO.administrator == 'false'">
<if test="ncrTrackVO.userId != null and ncrTrackVO.userId != ''"> <if test="ncrTrackVO.userId != null and ncrTrackVO.userId != ''">
@@ -159,7 +159,7 @@
</foreach> </foreach>
) temp ) temp
<!--<include refid="BaseQuerySql"/>--> <!--<include refid="BaseQuerySql"/>-->
<if test="params.orderByField != null and params.orderByField != ''"> <!--<if test="params.orderByField != null and params.orderByField != ''">
order by temp.${params.orderByField} order by temp.${params.orderByField}
<if test="params.orderBy == 1"> <if test="params.orderBy == 1">
asc asc
@@ -167,7 +167,7 @@
<if test="params.orderBy == 2"> <if test="params.orderBy == 2">
desc desc
</if> </if>
</if> </if>-->
<if test="params.orderByField == null or params.orderByField == ''"> <if test="params.orderByField == null or params.orderByField == ''">
order by temp.serial_number desc order by temp.serial_number desc
</if> </if>
@@ -1,6 +1,5 @@
package com.jero.modules.project.service.impl; package com.jero.modules.project.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +10,7 @@ import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProblemManagementEO; import com.jero.modules.project.entity.ProblemManagementEO;
@@ -23,15 +23,14 @@ import com.jero.modules.project.enums.ReviewResultEnum;
import com.jero.modules.project.mapper.NcrTrackMapper; import com.jero.modules.project.mapper.NcrTrackMapper;
import com.jero.modules.project.mapper.ProblemManagementEOMapper; import com.jero.modules.project.mapper.ProblemManagementEOMapper;
import com.jero.modules.project.service.INcrTrackService; import com.jero.modules.project.service.INcrTrackService;
import com.jero.modules.project.service.IProblemManagementEOService;
import com.jero.modules.project.vo.NcrTrackInfoVO; import com.jero.modules.project.vo.NcrTrackInfoVO;
import com.jero.modules.project.vo.NcrTrackVO; import com.jero.modules.project.vo.NcrTrackVO;
import com.jero.modules.project.vo.ProblemManagementVO; import com.jero.modules.project.vo.ProblemManagementVO;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.IProjectUserDutyTerritoryService; import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.wkflow.enums.FlowTypeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum;
@@ -52,11 +51,15 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.text.Collator;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -94,18 +97,18 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) { public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ncrTrackVO.setUserId(loginUser.getId()); ncrTrackVO.setUserId(loginUser.getId());
if(StringUtils.isNotBlank(ncrTrackVO.getSerialNumber())){ // if(StringUtils.isNotBlank(ncrTrackVO.getSerialNumber())){
if(ncrTrackVO.getSerialNumber().contains("%")){ // if(ncrTrackVO.getSerialNumber().contains("%")){
ncrTrackVO.setSerialNumber(ncrTrackVO.getSerialNumber().replaceAll("%", "/%")); // ncrTrackVO.setSerialNumber(ncrTrackVO.getSerialNumber().replaceAll("%", "/%"));
} // }
ncrTrackVO.setSerialNumber(ncrTrackVO.getSerialNumber().replace("*","")); // ncrTrackVO.setSerialNumber(ncrTrackVO.getSerialNumber().replace("*",""));
} // }
if(StringUtils.isNotBlank(ncrTrackVO.getTitle())){ // if(StringUtils.isNotBlank(ncrTrackVO.getTitle())){
if(ncrTrackVO.getTitle().contains("%")){ // if(ncrTrackVO.getTitle().contains("%")){
ncrTrackVO.setTitle(ncrTrackVO.getTitle().replace("%","/%")); // ncrTrackVO.setTitle(ncrTrackVO.getTitle().replace("%","/%"));
} // }
ncrTrackVO.setTitle(ncrTrackVO.getTitle().replace("*","")); // ncrTrackVO.setTitle(ncrTrackVO.getTitle().replace("*",""));
} // }
// List<SysUser> sysUserList = sysUserService.list(); // List<SysUser> sysUserList = sysUserService.list();
@@ -327,6 +330,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
if(!ncrTrackVOList.isEmpty()){ if(!ncrTrackVOList.isEmpty()){
trackVOListTemp.addAll(ncrTrackVOList); trackVOListTemp.addAll(ncrTrackVOList);
} }
//条件查询
trackVOListTemp = parameterQuery(ncrTrackVO, trackVOListTemp);
return trackVOListTemp; return trackVOListTemp;
}else{ }else{
//旧数据处理 //旧数据处理
@@ -334,35 +339,228 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
if(!ncrTrackVOList.isEmpty()){ if(!ncrTrackVOList.isEmpty()){
trackVOList.addAll(ncrTrackVOList); trackVOList.addAll(ncrTrackVOList);
} }
//条件查询
trackVOList = parameterQuery(ncrTrackVO, trackVOList);
//表头排序
heartSort(ncrTrackVO, trackVOList);
return trackVOList; return trackVOList;
} }
} }
private void heartSort(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
Collator comparator = Collator.getInstance(Locale.CHINESE);
if ("title".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getTitle()) ? e1.getTitle() : "";
String e2Field = StringUtils.isNotBlank(e2.getTitle()) ? e2.getTitle() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getTitle()) ? e1.getTitle() : "";
String e2Field = StringUtils.isNotBlank(e2.getTitle()) ? e2.getTitle() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("lawsName".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getLawsName()) ? e1.getLawsName() : "";
String e2Field = StringUtils.isNotBlank(e2.getLawsName()) ? e2.getLawsName() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getLawsName()) ? e1.getLawsName() : "";
String e2Field = StringUtils.isNotBlank(e2.getLawsName()) ? e2.getLawsName() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("projectName".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProjectName()) ? e1.getProjectName() : "";
String e2Field = StringUtils.isNotBlank(e2.getProjectName()) ? e2.getProjectName() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProjectName()) ? e1.getProjectName() : "";
String e2Field = StringUtils.isNotBlank(e2.getProjectName()) ? e2.getProjectName() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("problemType_dictText".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemType_dictText()) ? e1.getProblemType_dictText() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemType_dictText()) ? e2.getProblemType_dictText() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemType_dictText()) ? e1.getProblemType_dictText() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemType_dictText()) ? e2.getProblemType_dictText() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("dutyTerritory".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getDutyTerritory()) ? e1.getDutyTerritory() : "";
String e2Field = StringUtils.isNotBlank(e2.getDutyTerritory()) ? e2.getDutyTerritory() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getDutyTerritory()) ? e1.getDutyTerritory() : "";
String e2Field = StringUtils.isNotBlank(e2.getDutyTerritory()) ? e2.getDutyTerritory() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("problemState".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemState()) ? e1.getProblemState() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemState()) ? e2.getProblemState() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemState()) ? e1.getProblemState() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemState()) ? e2.getProblemState() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("createBy".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getCreateBy()) ? e1.getCreateBy() : "";
String e2Field = StringUtils.isNotBlank(e2.getCreateBy()) ? e2.getCreateBy() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getCreateBy()) ? e1.getCreateBy() : "";
String e2Field = StringUtils.isNotBlank(e2.getCreateBy()) ? e2.getCreateBy() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("createTime".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getCreateTime() == null || o2.getCreateTime() == null) {
return 0;
}
return o1.getCreateTime().compareTo(o2.getCreateTime());
}
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getCreateTime() == null || o2.getCreateTime() == null) {
return 0;
}
return o2.getCreateTime().compareTo(o1.getCreateTime());
}
});
}
}
if ("updateTime".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getUpdateTime() == null || o2.getUpdateTime() == null) {
return 0;
}
return o1.getUpdateTime().compareTo(o2.getUpdateTime());
}
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getUpdateTime() == null || o2.getUpdateTime() == null) {
return 0;
}
return o2.getUpdateTime().compareTo(o1.getUpdateTime());
}
});
}
}
}
@NotNull
private List<NcrTrackVO> parameterQuery(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
if(!trackVOList.isEmpty()){
if(StringUtils.isNotBlank(ncrTrackVO.getTitle())){
trackVOList = trackVOList.stream().filter(e->StringUtils.isNotBlank(e.getTitle())
&& e.getTitle().contains(ncrTrackVO.getTitle())).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(ncrTrackVO.getLawsName())){
trackVOList = trackVOList.stream().filter(e->StringUtils.isNotBlank(e.getLawsName())
&& e.getLawsName().contains(ncrTrackVO.getLawsName())).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(ncrTrackVO.getProjectId())){
trackVOList = trackVOList.stream().filter(e->StringUtils.isNotBlank(e.getProjectId())
&& e.getProjectId().contains(ncrTrackVO.getProjectId())).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(ncrTrackVO.getProblemType_dictText())){
trackVOList = trackVOList.stream().filter(e->StringUtils.isNotBlank(e.getProblemType_dictText())
&& e.getProblemType_dictText().contains(ncrTrackVO.getProblemType_dictText())).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(ncrTrackVO.getDutyTerritory())){
trackVOList = trackVOList.stream().filter(e->StringUtils.isNotBlank(e.getDutyTerritory())
&& e.getDutyTerritory().contains(ncrTrackVO.getDutyTerritory())).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(ncrTrackVO.getProblemState())){
trackVOList = trackVOList.stream().filter(e->StringUtils.isNotBlank(e.getProblemState())
&& e.getProblemState().contains(ncrTrackVO.getProblemState())).collect(Collectors.toList());
}
}
return trackVOList;
}
private void oldData(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOListTemp) { private void oldData(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOListTemp) {
for (NcrTrackVO trackVO : trackVOListTemp) { for (NcrTrackVO trackVO : trackVOListTemp) {
String problemType = trackVO.getProblemType(); String problemType = trackVO.getProblemType();
trackVO.setTitle(trackVO.getTitle()+problemType);
trackVO.setCreateBy(trackVO.getDuty()); trackVO.setCreateBy(trackVO.getDuty());
trackVO.setLawsName(trackVO.getSerialNumber()); trackVO.setLawsName(trackVO.getSerialNumber());
trackVO.setFlag(DataEnum.OLD.getValue()); trackVO.setFlag(DataEnum.OLD.getValue());
if(ComplianceFlowStatusEnum.INCONFORMITY.getCnName().equals(problemType) if(ComplianceFlowStatusEnum.INCONFORMITY.getCnName().equals(problemType)
|| ComplianceFlowStatusEnum.INCONFORMITY.getEnName().equals(problemType)){ || ComplianceFlowStatusEnum.INCONFORMITY.getEnName().equals(problemType)){
if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){ if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
trackVO.setProblemType(ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getCnName()); trackVO.setProblemType_dictText(ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getCnName());
}else{ }else{
trackVO.setProblemType(ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getEnName()); trackVO.setProblemType_dictText(ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getEnName());
} }
trackVO.setProblemState(ColourEnum.RED.getName()); trackVO.setProblemState(ColourEnum.RED.getName());
} }
if(ComplianceFlowStatusEnum.TO_TRACK.getCnName().equals(problemType) if(ComplianceFlowStatusEnum.TO_TRACK.getCnName().equals(problemType)
||ComplianceFlowStatusEnum.TO_TRACK.getEnName().equals(problemType)){ ||ComplianceFlowStatusEnum.TO_TRACK.getEnName().equals(problemType)){
if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){ if(CutEnum.CN.getValue().equals(ncrTrackVO.getCut())){
trackVO.setProblemType(ComplianceFlowStatusEnum.LAWS_TO_TRACK.getCnName()); trackVO.setProblemType_dictText(ComplianceFlowStatusEnum.LAWS_TO_TRACK.getCnName());
}else{ }else{
trackVO.setProblemType(ComplianceFlowStatusEnum.LAWS_TO_TRACK.getEnName()); trackVO.setProblemType_dictText(ComplianceFlowStatusEnum.LAWS_TO_TRACK.getEnName());
} }
trackVO.setProblemState(ColourEnum.YELLOW.getName()); trackVO.setProblemState(ColourEnum.YELLOW.getName());
} }
trackVO.setTitle(trackVO.getFlowType()+trackVO.getProblemType_dictText());
} }
} }
@@ -428,8 +626,21 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
projectLibraryBaseList = problemManagementEOMapper.queryByIds(StringUtils.join(projectIdSet,",")); projectLibraryBaseList = problemManagementEOMapper.queryByIds(StringUtils.join(projectIdSet,","));
} }
} }
//wen4_ti2_lei4_xing2 问题类型
List<DictModel> problemTypeList = sysDictService.queryDictItemsByCode(DicCodeEnum.PROBLEM_TYPE.getCode());
List<NcrTrackVO> ncrTrackVOList = new ArrayList<>(); List<NcrTrackVO> ncrTrackVOList = new ArrayList<>();
for (ProblemManagementEO problemManagementEO : managementEOList) { for (ProblemManagementEO problemManagementEO : managementEOList) {
//问题类型
List<DictModel> dictModelList = problemTypeList.stream().filter(e -> e.getValue().equals(problemManagementEO.getProblemType())).collect(Collectors.toList());
if(!dictModelList.isEmpty()){
if(CutEnum.CN.getValue().equals(cut)){
problemManagementEO.setProblemType_dictText(dictModelList.get(0).getText());
}else{
problemManagementEO.setProblemType_dictText(dictModelList.get(0).getTextEn());
}
}
//相关法规 //相关法规
if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){ if(StringUtils.isNotBlank(problemManagementEO.getLawsId())){
if(!documentLibraryEOList.isEmpty()){ if(!documentLibraryEOList.isEmpty()){
@@ -10341,18 +10341,18 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
if(StringUtils.isNotEmpty(flowStatus)){ if(StringUtils.isNotEmpty(flowStatus)){
String textByValue = ComplianceFlowStatusEnum.getTextByValue(flowStatus, cut); String textByValue = ComplianceFlowStatusEnum.getTextByValue(flowStatus, cut);
if(ComplianceFlowStatusEnum.INCONFORMITY.getCnName().equals(textByValue) if(ComplianceFlowStatusEnum.INCONFORMITY.getCnName().equals(textByValue)
|| ComplianceFlowStatusEnum.INCONFORMITY.getEnName().equals(flowStatus)){ || ComplianceFlowStatusEnum.INCONFORMITY.getEnName().equals(textByValue)){
//问题类型 //问题类型
if(CutEnum.CN.getValue().equals(cut)){ if(CutEnum.CN.getValue().equals(cut)){
dataMap.put("problemType",ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getCnName()); dataMap.put("problemType_dictText",ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getCnName());
}else{ }else{
dataMap.put("problemType",ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getEnName()); dataMap.put("problemType_dictText",ComplianceFlowStatusEnum.LAWS_INCONFORMITY.getEnName());
} }
//问题状态 //问题状态
dataMap.put("problemState",ColourEnum.RED.getName()); dataMap.put("problemState",ColourEnum.RED.getName());
} }
if(ComplianceFlowStatusEnum.TO_TRACK.getCnName().equals(flowStatus) if(ComplianceFlowStatusEnum.TO_TRACK.getCnName().equals(textByValue)
||ComplianceFlowStatusEnum.TO_TRACK.getEnName().equals(flowStatus)){ ||ComplianceFlowStatusEnum.TO_TRACK.getEnName().equals(textByValue)){
//问题类型 //问题类型
if(CutEnum.CN.getValue().equals(cut)){ if(CutEnum.CN.getValue().equals(cut)){
dataMap.put("problemType",ComplianceFlowStatusEnum.LAWS_TO_TRACK.getCnName()); dataMap.put("problemType",ComplianceFlowStatusEnum.LAWS_TO_TRACK.getCnName());
@@ -10399,16 +10399,163 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
} }
} }
} }
//旧数据查询
result = dataParameter(params, result);
//新数据 //新数据
List<Map<String, Object>> mapList = getNewData(params, cut); List<Map<String, Object>> mapList = getNewData(params, cut);
if(ObjectUtils.isNotEmpty(mapList)){ if(ObjectUtils.isNotEmpty(mapList)){
result.addAll(mapList); result.addAll(mapList);
} }
//条件查询
result = dataParameter(params, result);
//表头排序
heartSort(params, result);
return result; return result;
} }
private void heartSort(Map<String, Object> params, List<Map<String, Object>> result) {
Collator comparator = Collator.getInstance(Locale.CHINESE);
if ("title".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("title")) ? String.valueOf(e1.get("title")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("title")) ? String.valueOf(e2.get("title")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("title")) ? String.valueOf(e1.get("title")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("title")) ? String.valueOf(e2.get("title")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("lawsName".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("lawsName")) ? String.valueOf(e1.get("lawsName")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("lawsName")) ? String.valueOf(e2.get("lawsName")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("lawsName")) ? String.valueOf(e1.get("lawsName")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("lawsName")) ? String.valueOf(e2.get("lawsName")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("projectName".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("projectName")) ? String.valueOf(e1.get("projectName")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("projectName")) ? String.valueOf(e2.get("projectName")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("projectName")) ? String.valueOf(e1.get("projectName")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("projectName")) ? String.valueOf(e2.get("projectName")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("problemType_dictText".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("problemType_dictText")) ? String.valueOf(e1.get("problemType_dictText")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("problemType_dictText")) ? String.valueOf(e2.get("problemType_dictText")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("problemType_dictText")) ? String.valueOf(e1.get("problemType_dictText")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("problemType_dictText")) ? String.valueOf(e2.get("problemType_dictText")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("dutyTerritory".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("dutyTerritory")) ? String.valueOf(e1.get("dutyTerritory")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("dutyTerritory")) ? String.valueOf(e2.get("dutyTerritory")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("dutyTerritory")) ? String.valueOf(e1.get("dutyTerritory")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("dutyTerritory")) ? String.valueOf(e2.get("dutyTerritory")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("createBy".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("createBy")) ? String.valueOf(e1.get("createBy")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("createBy")) ? String.valueOf(e2.get("createBy")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("createBy")) ? String.valueOf(e1.get("createBy")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("createBy")) ? String.valueOf(e2.get("createBy")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("problemState".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("problemState")) ? String.valueOf(e1.get("problemState")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("problemState")) ? String.valueOf(e2.get("problemState")) : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
String e1Field = ObjectUtils.isNotEmpty(e1.get("problemState")) ? String.valueOf(e1.get("problemState")) : "";
String e2Field = ObjectUtils.isNotEmpty(e2.get("problemState")) ? String.valueOf(e2.get("problemState")) : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("createTime".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
if (e1.get("createTime") == null || e2.get("createTime") == null) {
return 0;
}
return comparator.compare(e1.get("createTime"), e2.get("createTime"));
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
if (e1.get("createTime") == null || e2.get("createTime") == null) {
return 0;
}
return comparator.compare(e2.get("createTime"), e1.get("createTime"));
});
}
}
if ("updateTime".equals(params.get("orderByField"))) {
if (OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
if (e1.get("updateTime") == null || e2.get("updateTime") == null) {
return 0;
}
return comparator.compare(e1.get("updateTime"), e2.get("updateTime"));
});
} else if (OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))) {
Collections.sort(result, (e1, e2) -> {
if (e1.get("updateTime") == null || e2.get("updateTime") == null) {
return 0;
}
return comparator.compare(e2.get("updateTime"), e1.get("updateTime"));
});
}
}
}
@NotNull @NotNull
private List<Map<String, Object>> getNewData(Map<String, Object> params, String cut) { private List<Map<String, Object>> getNewData(Map<String, Object> params, String cut) {
//新数据 //新数据
@@ -10592,8 +10739,6 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
ncrTrackVOTemp.setFlag(DataEnum.NEW.getValue()); ncrTrackVOTemp.setFlag(DataEnum.NEW.getValue());
ncrTrackVOList.add(ncrTrackVOTemp); ncrTrackVOList.add(ncrTrackVOTemp);
} }
//查询条件
mapList = dataParameter(params, mapList);
return mapList; return mapList;
} }
@@ -10610,9 +10755,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
mapList = mapList.stream().filter(e->ObjectUtils.isNotEmpty(e.get("projectId")) mapList = mapList.stream().filter(e->ObjectUtils.isNotEmpty(e.get("projectId"))
&& String.valueOf(e.get("projectId")).equals(String.valueOf(params.get("projectId")))).collect(Collectors.toList()); && String.valueOf(e.get("projectId")).equals(String.valueOf(params.get("projectId")))).collect(Collectors.toList());
} }
if(ObjectUtils.isNotEmpty(params.get("problemType"))){//问题类型 if(ObjectUtils.isNotEmpty(params.get("problemType_dictText"))){//问题类型
mapList = mapList.stream().filter(e->ObjectUtils.isNotEmpty(e.get("problemType")) mapList = mapList.stream().filter(e->ObjectUtils.isNotEmpty(e.get("problemType_dictText"))
&& e.get("problemType").toString().equals(params.get("problemType").toString())).collect(Collectors.toList()); && e.get("problemType_dictText").toString().equals(params.get("problemType_dictText").toString())).collect(Collectors.toList());
} }
if(ObjectUtils.isNotEmpty(params.get("dutyTerritory"))){//责任领域 if(ObjectUtils.isNotEmpty(params.get("dutyTerritory"))){//责任领域
mapList = mapList.stream().filter(e->ObjectUtils.isNotEmpty(e.get("dutyTerritory")) mapList = mapList.stream().filter(e->ObjectUtils.isNotEmpty(e.get("dutyTerritory"))
@@ -85,9 +85,10 @@ public class NcrTrackVO implements Serializable {
private String projectVersion; private String projectVersion;
//问题类型 //问题类型
@Dict(dicCode ="wen4_ti2_lei4_xing2") // @Dict(dicCode ="wen4_ti2_lei4_xing2")
@Excel(name = "问题类型", width = 20) @Excel(name = "问题类型", width = 20)
private String problemType; private String problemType;
private String problemType_dictText;
//发起人 //发起人
@Excel(name = "发起人", width = 20) @Excel(name = "发起人", width = 20)
@@ -54,6 +54,7 @@
<j-dict-select-tag class="box-input" v-model="queryParam.problemType" <j-dict-select-tag class="box-input" v-model="queryParam.problemType"
:placeholder="$t('PleaseSelect')+$t('problemType')" :placeholder="$t('PleaseSelect')+$t('problemType')"
:type="'select'" :type="'select'"
@changeQuery="onChange"
:triggerChange="false" :dictCode="'wen4_ti2_lei4_xing2'"/> :triggerChange="false" :dictCode="'wen4_ti2_lei4_xing2'"/>
</div> </div>
</a-col> </a-col>
@@ -164,9 +165,9 @@
{{result.problemState ? result.problemState : ''}} {{result.problemState ? result.problemState : ''}}
</span> </span>
</div> </div>
<span slot="problemType" slot-scope="text,result"> <!-- <span slot="problemType" slot-scope="text,result">-->
<span>{{result.flag== 'NEW'?result.problemType_dictText:result.problemType}}</span> <!-- <span>{{result.flag== 'NEW'?result.problemType_dictText:result.problemType}}</span>-->
</span> <!-- </span>-->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" <a class="text-operation"
@click="detil(record)"> @click="detil(record)">
@@ -420,8 +421,14 @@ export default {
this.orderByField = sorter.columnKey this.orderByField = sorter.columnKey
this.getList() this.getList()
}, },
onChange(value){
console.log(value)
this.queryParam.problemType_dictText = value
},
getList() { getList() {
console.log(this.$route.query) if(this.queryParam.problemType_dictText){
delete this.queryParam.problemType
}
let query = { let query = {
pageNo: this.pageNo, pageNo: this.pageNo,
pageSize: this.pageSize, pageSize: this.pageSize,
@@ -54,6 +54,7 @@
<j-dict-select-tag class="box-input" v-model="queryParam.problemType" <j-dict-select-tag class="box-input" v-model="queryParam.problemType"
:placeholder="$t('PleaseSelect')+$t('problemType')" :placeholder="$t('PleaseSelect')+$t('problemType')"
:type="'select'" :type="'select'"
@changeQuery="onChange"
:triggerChange="false" :dictCode="'wen4_ti2_lei4_xing2'"/> :triggerChange="false" :dictCode="'wen4_ti2_lei4_xing2'"/>
</div> </div>
</a-col> </a-col>
@@ -164,9 +165,9 @@
{{result.problemState ? result.problemState : ''}} {{result.problemState ? result.problemState : ''}}
</span> </span>
</div> </div>
<span slot="problemType" slot-scope="text,result"> <!-- <span slot="problemType" slot-scope="text,result">-->
<span>{{result.flag== 'NEW'?result.problemType_dictText:result.problemType}}</span> <!-- <span>{{result.flag== 'NEW'?result.problemType_dictText:result.problemType}}</span>-->
</span> <!-- </span>-->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" <a class="text-operation"
@click="detil(record)"> @click="detil(record)">
@@ -381,6 +382,10 @@
addModelForm(){ addModelForm(){
this.getList() this.getList()
}, },
onChange(value){
console.log(value)
this.queryParam.problemType_dictText = value
},
onSelectChange(value) { onSelectChange(value) {
this.content = [] this.content = []
this.selectedRowKeys = value this.selectedRowKeys = value
@@ -421,6 +426,9 @@
this.getList() this.getList()
}, },
getList() { getList() {
if(this.queryParam.problemType_dictText){
delete this.queryParam.problemType
}
let query = { let query = {
pageNo: this.pageNo, pageNo: this.pageNo,
pageSize: this.pageSize, pageSize: this.pageSize,