项目库基础表新增时,生成相关人员的责任领域数据

This commit is contained in:
xiejunyu
2022-04-19 16:44:20 +08:00
parent 3df4d4b04b
commit 0cdbe676ed
9 changed files with 166 additions and 100 deletions
@@ -33,4 +33,10 @@ public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
*/ */
@Update("update sys_dict_item set del_flag = #{flag,jdbcType=INTEGER} where id = #{id,jdbcType=VARCHAR}") @Update("update sys_dict_item set del_flag = #{flag,jdbcType=INTEGER} where id = #{id,jdbcType=VARCHAR}")
public void updateDictDelFlag(@Param("flag") int delFlag, @Param("id") String id); public void updateDictDelFlag(@Param("flag") int delFlag, @Param("id") String id);
/**根据code查数据字典具体值*/
@Select("SELECT sdi.item_value FROM sys_dict_item as sdi LEFT JOIN sys_dict as sd ON sdi.dict_id =sd.id " +
"WHERE sd.dict_code =#{dictCode} order by sort_order asc, item_value asc")
public List<String> selectItemValueByDictCode(String dictCode);
} }
@@ -66,13 +66,13 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
* @param projectRelatedPersonnel * @param projectRelatedPersonnel
* @return * @return
*/ */
@AutoLog(value = "项目库-相关人员维护表-添加") /*@AutoLog(value = "项目库-相关人员维护表-添加")
@ApiOperation(value="项目库-相关人员维护表-添加", notes="项目库-相关人员维护表-添加") @ApiOperation(value="项目库-相关人员维护表-添加", notes="项目库-相关人员维护表-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ProjectRelatedPersonnel projectRelatedPersonnel) { public Result<?> add(@Validated @RequestBody ProjectRelatedPersonnel projectRelatedPersonnel) {
projectRelatedPersonnelService.add(projectRelatedPersonnel); projectRelatedPersonnelService.add(projectRelatedPersonnel);
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }*/
/** /**
* 编辑 * 编辑
@@ -117,16 +117,16 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
} }
/** /**
* 通过projectId查询 * 通过id查询
* *
* @param projectId * @param id
* @return * @return
*/ */
@AutoLog(value = "项目库-相关人员维护表-通过projectId查询") @AutoLog(value = "项目库-相关人员维护表-通过id查询")
@ApiOperation(value="项目库-相关人员维护表-通过projectId查询", notes="项目库-相关人员维护表-通过projectId查询") @ApiOperation(value="项目库-相关人员维护表-通过id查询", notes="项目库-相关人员维护表-通过id查询")
@GetMapping(value = "/queryByProjectId") @GetMapping(value = "/queryId")
public Result<?> queryById(@RequestParam(name="projectId",required=true) String projectId) { public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
List<ProjectRelatedPersonnel> projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectId(projectId); List<ProjectRelatedPersonnel> projectRelatedPersonnel = projectRelatedPersonnelService.queryById(id);
if(projectRelatedPersonnel==null) { if(projectRelatedPersonnel==null) {
return Result.error("未找到对应数据"); return Result.error("未找到对应数据");
} }
@@ -41,7 +41,7 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String dutyTerritory; private java.lang.String dutyTerritory;
/**法规工程师*/ /**法规工程师*/
@Excel(name = "法规工程师", width = 15,orderNum = "2") @Excel(name = "法规工程师", width = 30,orderNum = "2")
private java.lang.String lawEngineer; private java.lang.String lawEngineer;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String lawEngineerName; private java.lang.String lawEngineerName;
@@ -50,7 +50,7 @@ public class ProjectRelatedPersonnel implements Serializable {
/**工程接口人*/ /**工程接口人*/
@Excel(name = "工程接口人", width = 15,orderNum = "3") @Excel(name = "工程接口人", width = 30,orderNum = "3")
private java.lang.String engineeringInterfacePerson; private java.lang.String engineeringInterfacePerson;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String engineeringInterfacePersonName; private java.lang.String engineeringInterfacePersonName;
@@ -58,7 +58,7 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String engineeringInterfacePersonEnName; private java.lang.String engineeringInterfacePersonEnName;
/**认证工程师*/ /**认证工程师*/
@Excel(name = "认证工程师", width = 15,orderNum = "4") @Excel(name = "认证工程师", width = 30,orderNum = "4")
private java.lang.String certificationEngineer; private java.lang.String certificationEngineer;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String certificationEngineerName; private java.lang.String certificationEngineerName;
@@ -66,7 +66,7 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String certificationEngineerEnName; private java.lang.String certificationEngineerEnName;
/**备注*/ /**备注*/
@Excel(name = "备注", width = 15,orderNum = "5") @Excel(name = "备注", width = 50,orderNum = "5")
private java.lang.String remark; private java.lang.String remark;
/**创建人*/ /**创建人*/
@@ -0,0 +1,30 @@
package com.jero.modules.project.enums;
public enum DictCodeEnum {
DUTY_TERRITORY("责任领域","duty_territory"),
;
String name;
String value;
DictCodeEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@@ -17,5 +17,5 @@ public interface ProjectRelatedPersonnelMapper extends BaseMapper<ProjectRelated
IPage<ProjectRelatedPersonnel> queryPageList(IPage page, Map<String, Object> params); IPage<ProjectRelatedPersonnel> queryPageList(IPage page, Map<String, Object> params);
List<ProjectRelatedPersonnel> queryByProjectId(String projectId); List<ProjectRelatedPersonnel> queryById(String id);
} }
@@ -45,7 +45,7 @@
order by prp.create_time desc order by prp.create_time desc
</select> </select>
<select id="queryByProjectId" resultType="com.jero.modules.project.entity.ProjectRelatedPersonnel"> <select id="queryById" resultType="com.jero.modules.project.entity.ProjectRelatedPersonnel">
SELECT SELECT
<include refid="select_item"/> <include refid="select_item"/>
FROM FROM
@@ -53,7 +53,7 @@
LEFT JOIN sys_user AS lawuser ON prp.law_engineer = lawuser.id LEFT JOIN sys_user AS lawuser ON prp.law_engineer = lawuser.id
LEFT JOIN sys_user AS enguser ON prp.engineering_interface_person = enguser.id LEFT JOIN sys_user AS enguser ON prp.engineering_interface_person = enguser.id
<where> <where>
prp.project_id=#{projectId} prp.id=#{id}
</where> </where>
order by prp.create_time desc order by prp.create_time desc
</select> </select>
@@ -50,10 +50,10 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
/** /**
* 通过id查询 * 通过id查询
* *
* @param projectId * @param id
* @return * @return
*/ */
List<ProjectRelatedPersonnel> queryByProjectId(String projectId); List<ProjectRelatedPersonnel> queryById(String id);
/** /**
* 列表查询 * 列表查询
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.enums.DictCodeEnum;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
@@ -37,6 +38,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired @Autowired
private SysUserMapper sysUserMapper; private SysUserMapper sysUserMapper;
@Autowired
private ProjectRelatedPersonnelServiceImpl projectRelatedPersonnelService;
/** /**
* 保存 * 保存
* *
@@ -46,12 +50,23 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Override @Override
public void add(ProjectLibraryBase projectLibraryBase) { public void add(ProjectLibraryBase projectLibraryBase) {
Date now = new Date(); Date now = new Date();
projectLibraryBase.setCreateTime(now); projectLibraryBase.setCreateTime(now);
projectLibraryBase.setUpdateTime(now); projectLibraryBase.setUpdateTime(now);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
projectLibraryBase.setCreateUserId(sysUser.getId()); projectLibraryBase.setCreateUserId(sysUser.getId());
projectLibraryBase.setUpdateUserId(sysUser.getId()); projectLibraryBase.setUpdateUserId(sysUser.getId());
save(projectLibraryBase); save(projectLibraryBase);
//查标签内容里的责任领域数据
List<String> sysDictItemValueList = sysDictItemMapper.selectItemValueByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue());
//新建相关人员表里的责任领域数据
if (CollectionUtils.isNotEmpty(sysDictItemValueList)) {
for (String sysDictItemValue : sysDictItemValueList) {
projectRelatedPersonnelService.setDutyTerritoryValue(sysDictItemValue,projectLibraryBase.getId());
}
}
} }
/** /**
@@ -42,7 +42,6 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
/** /**
* 保存 * 保存
* *
* @param projectRelatedPersonnel
* @return * @return
*/ */
@Override @Override
@@ -56,6 +55,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
save(projectRelatedPersonnel); save(projectRelatedPersonnel);
} }
/**
* 保存责任领域
*
* @return
*/
public void setDutyTerritoryValue(String sysDictItemValue,String projectId) {
ProjectRelatedPersonnel projectRelatedPersonnel=new ProjectRelatedPersonnel();
projectRelatedPersonnel.setDutyTerritory(sysDictItemValue);
projectRelatedPersonnel.setProjectId(projectId);
add(projectRelatedPersonnel);
}
/** /**
* 更新 * 更新
* *
@@ -78,9 +88,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
* @return * @return
*/ */
@Override @Override
public void deleteById(String id) { public void deleteById(String id) {
removeById(id); removeById(id);
} }
/** /**
* 批量删除 * 批量删除
@@ -89,24 +99,24 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
* @return * @return
*/ */
@Override @Override
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids) {
removeByIds(ids); removeByIds(ids);
} }
/** /**
* 通过projectId查询 * 通过id查询
* *
* @param projectId * @param id
* @return * @return
*/ */
@Override @Override
public List<ProjectRelatedPersonnel> queryByProjectId(String projectId) { public List<ProjectRelatedPersonnel> queryById(String id) {
List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryByProjectId(projectId); List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryById(id);
disposeData(records); disposeData(records);
return records; return records;
} }
/** /**
* 列表查询 * 列表查询
* *
* @return * @return
@@ -135,91 +145,96 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) { for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
//法规工程师 //法规工程师
List<SysUser> lawEngineerUsers = new ArrayList<>(); List<SysUser> lawEngineerUsers = new ArrayList<>();
List<String> lawEngineerIdList = Arrays.asList(projectRelatedPersonnel.getLawEngineer().split(",")); if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineer())){
if (CollectionUtils.isNotEmpty(lawEngineerIdList)) { List<String> lawEngineerIdList = Arrays.asList(projectRelatedPersonnel.getLawEngineer().split(","));
lawEngineerIdList = lawEngineerIdList.stream().distinct().collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(lawEngineerIdList)) {
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>(); lawEngineerIdList = lawEngineerIdList.stream().distinct().collect(Collectors.toList());
userqueryWrapper.in("id ", lawEngineerIdList); QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
lawEngineerUsers = sysUserMapper.selectList(userqueryWrapper); userqueryWrapper.in("id ", lawEngineerIdList);
} lawEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
if(CollectionUtils.isNotEmpty(lawEngineerUsers)) {
String lawEngineerId = projectRelatedPersonnel.getLawEngineer();
String lawEngineerName = null;
String lawEngineerEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : lawEngineerIdList) {
if (StringUtils.isNotEmpty(lawEngineerId)) {
lawEngineerName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
lawEngineerEnName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(lawEngineerName).append("(").append(lawEngineerEnName).append(")").append(" ");
} }
projectRelatedPersonnel.setLawEngineerName(certificationName.toString());
}
if(CollectionUtils.isNotEmpty(lawEngineerUsers)) {
String lawEngineerId = projectRelatedPersonnel.getLawEngineer();
String lawEngineerName = null;
String lawEngineerEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : lawEngineerIdList) {
if (StringUtils.isNotEmpty(lawEngineerId)) {
lawEngineerName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
lawEngineerEnName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(lawEngineerName).append("(").append(lawEngineerEnName).append(")").append(" ");
}
projectRelatedPersonnel.setLawEngineerName(certificationName.toString());
}
}
//工程接口人 //工程接口人
List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>(); List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>();
List<String> engineeringInterfacePersonIdList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePerson().split(",")); if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())) {
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonIdList)) { List<String> engineeringInterfacePersonIdList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePerson().split(","));
engineeringInterfacePersonIdList = engineeringInterfacePersonIdList.stream().distinct().collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(engineeringInterfacePersonIdList)) {
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>(); engineeringInterfacePersonIdList = engineeringInterfacePersonIdList.stream().distinct().collect(Collectors.toList());
userqueryWrapper.in("id ", engineeringInterfacePersonIdList); QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
engineeringInterfacePersonUsers = sysUserMapper.selectList(userqueryWrapper); userqueryWrapper.in("id ", engineeringInterfacePersonIdList);
} engineeringInterfacePersonUsers = sysUserMapper.selectList(userqueryWrapper);
if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) { }
String engineeringInterfacePersonId = projectRelatedPersonnel.getEngineeringInterfacePerson(); if (CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
String engineeringInterfacePersonName = null; String engineeringInterfacePersonId = projectRelatedPersonnel.getEngineeringInterfacePerson();
String engineeringInterfacePersonEnName = null; String engineeringInterfacePersonName = null;
StringBuilder certificationName = new StringBuilder(); String engineeringInterfacePersonEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : engineeringInterfacePersonIdList) { for (String data : engineeringInterfacePersonIdList) {
if (StringUtils.isNotEmpty(engineeringInterfacePersonId)) { if (StringUtils.isNotEmpty(engineeringInterfacePersonId)) {
engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId())) engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
engineeringInterfacePersonEnName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId())) engineeringInterfacePersonEnName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
certificationName.append(engineeringInterfacePersonName).append("(").append(engineeringInterfacePersonEnName).append(")").append(" "); certificationName.append(engineeringInterfacePersonName).append("(").append(engineeringInterfacePersonEnName).append(")").append(" ");
}
projectRelatedPersonnel.setEngineeringInterfacePersonName(certificationName.toString());
} }
projectRelatedPersonnel.setEngineeringInterfacePersonName(certificationName.toString());
} }
//认证工程师 //认证工程师
List<SysUser> certificationEngineerUsers = new ArrayList<>(); List<SysUser> certificationEngineerUsers = new ArrayList<>();
List<String> certificationEngineerIdList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineer().split(",")); if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineer())){
if (CollectionUtils.isNotEmpty(certificationEngineerIdList)) { List<String> certificationEngineerIdList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineer().split(","));
certificationEngineerIdList=certificationEngineerIdList.stream().distinct().collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(certificationEngineerIdList)) {
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>(); certificationEngineerIdList=certificationEngineerIdList.stream().distinct().collect(Collectors.toList());
userqueryWrapper.in("id ", certificationEngineerIdList); QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper); userqueryWrapper.in("id ", certificationEngineerIdList);
} certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) {
String certificationEngineerId = projectRelatedPersonnel.getCertificationEngineer();
String certificationEngineerName=null;
String certificationEngineerEnName=null;
StringBuilder certificationName=new StringBuilder();
for (String data:certificationEngineerIdList){
if (StringUtils.isNotEmpty(certificationEngineerId)) {
certificationEngineerName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
certificationEngineerEnName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(certificationEngineerName).append("(").append(certificationEngineerEnName).append(")").append(" ");
} }
projectRelatedPersonnel.setCertificationEngineerName(certificationName.toString()); if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) {
String certificationEngineerId = projectRelatedPersonnel.getCertificationEngineer();
String certificationEngineerName = null;
String certificationEngineerEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : certificationEngineerIdList) {
if (StringUtils.isNotEmpty(certificationEngineerId)) {
certificationEngineerName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
certificationEngineerEnName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(certificationEngineerName).append("(").append(certificationEngineerEnName).append(")").append(" ");
}
projectRelatedPersonnel.setCertificationEngineerName(certificationName.toString());
}
} }
} }