bug66869和67164修改

This commit is contained in:
cuijiaming
2023-04-01 20:14:16 +08:00
parent 509c6e91d9
commit 2154f13373
9 changed files with 98 additions and 57 deletions
@@ -59,7 +59,9 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
(String) map.get("dutyTerritory"),
(String) map.get("lawEngineer"),
(String) map.get("engineeringInterfacePerson"),
(String) map.get("certificationEngineer"));
(String) map.get("engineerLawSet"),
(String) map.get("engineerAttSet"));
// (String) map.get("certificationEngineer"));
return Result.OK((String)map.get("cut"),pageList);
}
/**
@@ -59,22 +59,24 @@ public class ProjectRelatedPersonnel implements Serializable {
/**工程接口人法规工程师设置*/
private java.lang.String engineerLawSet;
@TableField(exist = false)
@Excel(name = "工程接口人-法规工程师设置,Project Interface Person - Regulation Engineer Setting", width = 30,orderNum = "4")
private java.lang.String engineerLawSetName;
/**工程接口人认证工程师设置*/
private java.lang.String engineerAttSet;
@TableField(exist = false)
@Excel(name = "工程接口人-认证工程师设置,Project Interface Person - Certification Engineer Setting", width = 30,orderNum = "5")
private java.lang.String engineerAttSetName;
/**认证工程师*/
private java.lang.String certificationEngineer;
@TableField(exist = false)
@Excel(name = "认证工程师,Homologation Engineer", width = 15,orderNum = "4")
// @Excel(name = "认证工程师,Homologation Engineer", width = 15,orderNum = "4")
private java.lang.String certificationEngineerName;
@TableField(exist = false)
private List<String> certificationEngineerNameList;
/**备注*/
@Excel(name = "备注,Comments", width = 15,orderNum = "5")
@Excel(name = "备注,Comments", width = 15,orderNum = "6")
private java.lang.String remark;
/**创建人*/
@@ -19,7 +19,9 @@ public interface ProjectRelatedPersonnelMapper extends BaseMapper<ProjectRelated
@Param("dutyTerritory") String dutyTerritory,
@Param("lawEngineer") String lawEngineer,
@Param("engineeringInterfacePerson") String engineeringInterfacePerson,
@Param("certificationEngineer") String certificationEngineer);
// @Param("certificationEngineer") String certificationEngineer
@Param("engineerLawSet") String engineerLawSet,
@Param("engineerAttSet") String engineerAttSet);
List<ProjectRelatedPersonnel> queryById(@Param("id")String id);
}
@@ -22,6 +22,8 @@
prp.law_engineer,
prp.engineering_interface_person,
prp.certification_engineer,
prp.engineer_law_set,
prp.engineer_att_set,
prp.remark,
prp.create_by,
prp.create_time,
@@ -51,8 +53,14 @@
<if test="engineeringInterfacePerson != null and engineeringInterfacePerson != ''">
AND prp.engineering_interface_person like concat(concat('%',#{engineeringInterfacePerson}),'%')
</if>
<if test="certificationEngineer != null and certificationEngineer != ''">
AND prp.certification_engineer like concat(concat('%',#{certificationEngineer}),'%')
<!-- <if test="certificationEngineer != null and certificationEngineer != ''">-->
<!-- AND prp.certification_engineer like concat(concat('%',#{certificationEngineer}),'%')-->
<!-- </if>-->
<if test="engineerLawSet != null and engineerLawSet != ''">
AND prp.engineer_law_set like concat(concat('%',#{engineerLawSet}),'%')
</if>
<if test="engineerAttSet != null and engineerAttSet != ''">
AND prp.engineer_att_set like concat(concat('%',#{engineerAttSet}),'%')
</if>
AND sd.dict_code = #{dictCode}
</where>
@@ -67,7 +67,8 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
*/
List<ProjectRelatedPersonnel> queryList();
List<ProjectRelatedPersonnel> queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String certificationEngineer);
// List<ProjectRelatedPersonnel> queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String certificationEngineer);
List<ProjectRelatedPersonnel> queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String engineerLawSet,String engineerAttSet);
Map<String,Object> queryPersonByProjectId(String projectId, String dutyTerritory);
@@ -1074,7 +1074,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
// 法规
//相关人员名单中取法规工程师
List<ProjectRelatedPersonnel> projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null);
List<ProjectRelatedPersonnel> projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null,null);
List<String> lawEngineerNameList = new ArrayList<>();
if(projectRelatedPersonnels.size() != 0){
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) {
@@ -3705,9 +3705,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.SELECT.getValue())) {
if (StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())) {
fileName = dataList.get(i).getDeliveryResult();
if(fileName=="1"){
if(fileName.equals("1")){
fileName = "";
}else if(fileName == "0"){
}else if(fileName.equals("2")){
fileName = "";
}
dataList.get(i).setDeliveryResult(fileName);
@@ -531,50 +531,46 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
allList = allList.stream().distinct().collect(Collectors.toList());
// List<String> engineeringInterfacePersonList = new ArrayList<>();
// engineeringInterfacePersonList = Arrays.asList(projectLawsInventoryEO.getEngineeringInterfacePerson().split(","));
// engineeringInterfacePersonList = engineeringInterfacePersonList.stream().distinct().collect(Collectors.toList());
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectLibrartId, dutyTerritoryList);
//enginnerList为每一条的工程接口人的集合
List<String> enginnerList = new ArrayList<>();
for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){
enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson());
}
if(projectRelatedPersonnelList.size()>0){
for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){
if(StringUtils.isEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())){
if(enginnerList.size()<0){
//直接将allList存入到
String all = String.join(",",allList);
projectRelatedPersonnel.setEngineerLawSet(all);
// projectRelatedPersonnelService.editById(projectRelatedPersonnel);
}else {
enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson());
enginnerList = enginnerList.stream().distinct().collect(Collectors.toList());
//比较allList中有而enginnerList中没有的工程接口人
boolean flag = false;
List<String> resultList = new ArrayList<>();
if(allList.size()>0){
flag = CollectionUtils.isEqualCollection(allList,enginnerList);
if(!flag){
//进行遍历两个list将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里
for(String all : allList){
boolean flag1 = true;
for(String enginner : enginnerList){
if(all.equals(enginner)){
flag1 = false;
break;
}
}
if(flag1){
resultList.add(all);
}
}
}
}
allList.removeAll(enginnerList);
// if(allList.size()>0){
// flag = CollectionUtils.isEqualCollection(allList,enginnerList);
// if(!flag){
// //进行遍历两个list将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里
//
// for(String all : allList){
// boolean flag1 = true;
// for(String enginner : enginnerList){
// if(all.equals(enginner)){
// flag1 = false;
// break;
// }
// }
// if(flag1){
// resultList.add(all);
// }
// }
// }
// }
//将相关人员名单中没有的resultList添加到相关人员记录表中
String result = String.join(",",resultList);
String result = String.join(",",allList);
projectRelatedPersonnel.setEngineerLawSet(result);
// projectRelatedPersonnelService.editById(projectRelatedPersonnel);
}
@@ -10200,7 +10196,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
}
//相关人员名单中取法规工程师
List<ProjectRelatedPersonnel> projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null);
List<ProjectRelatedPersonnel> projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null,null);
List<String> lawEngineerNameList = new ArrayList<>();
if(projectRelatedPersonnels.size() != 0){
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) {
@@ -252,7 +252,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
null,
null,
null,
null);
null,null);
if(projectRelatedPersonnelList.size() != 0){
List<ProjectUserPermission> relatedPersonnelPermissionList = new ArrayList<>();
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList) {
@@ -518,7 +518,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//编辑时如果认证工程师发生变化,同步修改相关人员名单中的认证工程师
List<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(),
DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null);
DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null,null);
//项目的认证工程师
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
//一个都不选的情况下
@@ -287,14 +287,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
String dutyTerritoryTemp,
String lawEngineer,
String engineeringInterfacePerson,
String certificationEngineer) {
String engineerLawSet,String engineerAttSet){
// String certificationEngineer) {
//查询数据
List<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectId,
DictCodeEnum.DUTY_TERRITORY.getValue(),
dutyTerritoryTemp,
lawEngineer,
engineeringInterfacePerson,
certificationEngineer);
// certificationEngineer
engineerLawSet,
engineerAttSet);
//查询数据里的责任领域
List<String> dutyTerritory = result.stream().map(e -> e.getDutyTerritory()).collect(Collectors.toList());
//查标签内容里的责任领域数据
@@ -303,7 +306,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if(StringUtils.isBlank(dutyTerritoryTemp)
&& StringUtils.isBlank(lawEngineer)
&& StringUtils.isBlank(engineeringInterfacePerson)
&& StringUtils.isBlank(certificationEngineer)){
// && StringUtils.isBlank(certificationEngineer)
&& StringUtils.isBlank(engineerLawSet)
&& StringUtils.isBlank(engineerLawSet)){
if(result.size() != sysDictItemValueList.size()){
//更新相关人员表里的责任领域数据
@@ -320,7 +325,8 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
dutyTerritoryTemp,
lawEngineer,
engineeringInterfacePerson,
certificationEngineer);
engineerLawSet,
engineerAttSet);
}
}
disposeData(result);
@@ -405,6 +411,30 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setCertificationEngineerName(certificationName.substring(0,certificationName.toString().length()-1));
}
}
//法规工程师设置
List<SysUser> engineerLawSetUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerLawSet())){
List<String> engineerLawSetIdList = Arrays.asList(projectRelatedPersonnel.getEngineerLawSet().split(","));
if (CollectionUtils.isNotEmpty(engineerLawSetIdList)) {
engineerLawSetIdList=engineerLawSetIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineerLawSetIdList);
engineerLawSetUsers = sysUserMapper.selectList(userqueryWrapper);
}
if(CollectionUtils.isNotEmpty(engineerLawSetUsers)) {
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
String engineerLawSetName = null;
StringBuilder lawSetName = new StringBuilder();
for (String data : engineerLawSetIdList) {
if (StringUtils.isNotEmpty(engineerAttSetId)) {
engineerLawSetName = engineerLawSetUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
lawSetName.append(engineerLawSetName).append(",");
}
projectRelatedPersonnel.setEngineerLawSetName(lawSetName.substring(0,lawSetName.toString().length()-1));
}
}
//认证工程师设置
List<SysUser> engineerAttSetUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerAttSet())){
@@ -413,20 +443,20 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
engineerAttSetIdList=engineerAttSetIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineerAttSetIdList);
certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
engineerAttSetUsers = sysUserMapper.selectList(userqueryWrapper);
}
if(CollectionUtils.isNotEmpty(engineerAttSetUsers)) {
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
String engineerAttSetName = null;
StringBuilder certificationName = new StringBuilder();
StringBuilder AttSetName = new StringBuilder();
for (String data : engineerAttSetIdList) {
if (StringUtils.isNotEmpty(engineerAttSetId)) {
engineerAttSetName = engineerAttSetUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(engineerAttSetName).append(",");
AttSetName.append(engineerAttSetName).append(",");
}
projectRelatedPersonnel.setEngineerAttSetName(certificationName.substring(0,certificationName.toString().length()-1));
projectRelatedPersonnel.setEngineerAttSetName(AttSetName.substring(0,AttSetName.toString().length()-1));
}
}
}
@@ -611,7 +641,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
records = queryById(id);
}
}else{
records=queryPageList(projectId,null,null,null,null);
records=queryPageList(projectId,null,null,null,null,null);
}
//id无值,传全部
disposeDutyTerritory(records,cut);
@@ -766,10 +796,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
try {
String titleOne = "";
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
titleOne = "责任领域,法规工程师,工程接口人,工程接口人-法规工程师设置,工程接口人-认证工程师设置,备注";
fileOriName = "相关人员导入模板.xls";
} else {
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Project Interface Person - Regulation Engineer Setting,Project Interface Person - Certification Engineer Setting,Comments";
fileOriName = "Import template of related personnel.xls";
}
@@ -786,7 +816,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
sheetName = "Personal List";
}
HSSFSheet sheet = workbook.createSheet(sheetName);
sheet.setDefaultColumnWidth(16);//列宽
sheet.setDefaultColumnWidth(20);//列宽
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setWrapText(true);//自动换行
cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
@@ -796,7 +826,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
cellStyleTemp.setWrapText(true);//自动换行
int startLine = 0;
int endLine = 4;
int endLine = 5;
//合并单元格
CellRangeAddress region1 =
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
@@ -810,14 +840,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
+ "1.导入数据从第三行开始,第一行为表头,第二行为填写说明,第三行是正式数据;\n"
+ "2.填写人员时,必须使用人员账号进行填写;\n"
+ "3.填写的人员账号必须与系统中账号保持一致;\n"
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人、认证工程师个字段信息。";
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人、工程接口人-法规工程师设置、工程接口人-认证工程师设置四个字段信息。";
} else {
explainInfo =
"filling explanation\n"
+ "1. Import data from the third line, the first line is header, the second line is description, and the third line is official data;\n"
+ "2. When filling in personnel, personnel account must be used to fill in;\n"
+ "3. The personnel account number filled in must be consistent with the account number in the system;\n"
+ "4. When filling in the engineers in any responsibility field, you must fill in the information of three fields: legal engineer, engineering interface person and certified engineer.";
+ "4. When filling in the engineers in any responsibility field, you must fill in the information of three fields: legal engineer, engineering interface person ,Project Interface Person - Regulation Engineer Setting and Project Interface Person - Certification Engineer Setting.";
}
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);