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

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}")
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
* @return
*/
@AutoLog(value = "项目库-相关人员维护表-添加")
/*@AutoLog(value = "项目库-相关人员维护表-添加")
@ApiOperation(value="项目库-相关人员维护表-添加", notes="项目库-相关人员维护表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ProjectRelatedPersonnel projectRelatedPersonnel) {
projectRelatedPersonnelService.add(projectRelatedPersonnel);
return Result.OK("添加成功!");
}
}*/
/**
* 编辑
@@ -117,16 +117,16 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
}
/**
* 通过projectId查询
* 通过id查询
*
* @param projectId
* @param id
* @return
*/
@AutoLog(value = "项目库-相关人员维护表-通过projectId查询")
@ApiOperation(value="项目库-相关人员维护表-通过projectId查询", notes="项目库-相关人员维护表-通过projectId查询")
@GetMapping(value = "/queryByProjectId")
public Result<?> queryById(@RequestParam(name="projectId",required=true) String projectId) {
List<ProjectRelatedPersonnel> projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectId(projectId);
@AutoLog(value = "项目库-相关人员维护表-通过id查询")
@ApiOperation(value="项目库-相关人员维护表-通过id查询", notes="项目库-相关人员维护表-通过id查询")
@GetMapping(value = "/queryId")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
List<ProjectRelatedPersonnel> projectRelatedPersonnel = projectRelatedPersonnelService.queryById(id);
if(projectRelatedPersonnel==null) {
return Result.error("未找到对应数据");
}
@@ -41,7 +41,7 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String dutyTerritory;
/**法规工程师*/
@Excel(name = "法规工程师", width = 15,orderNum = "2")
@Excel(name = "法规工程师", width = 30,orderNum = "2")
private java.lang.String lawEngineer;
@TableField(exist = false)
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;
@TableField(exist = false)
private java.lang.String engineeringInterfacePersonName;
@@ -58,7 +58,7 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String engineeringInterfacePersonEnName;
/**认证工程师*/
@Excel(name = "认证工程师", width = 15,orderNum = "4")
@Excel(name = "认证工程师", width = 30,orderNum = "4")
private java.lang.String certificationEngineer;
@TableField(exist = false)
private java.lang.String certificationEngineerName;
@@ -66,7 +66,7 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String certificationEngineerEnName;
/**备注*/
@Excel(name = "备注", width = 15,orderNum = "5")
@Excel(name = "备注", width = 50,orderNum = "5")
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);
List<ProjectRelatedPersonnel> queryByProjectId(String projectId);
List<ProjectRelatedPersonnel> queryById(String id);
}
@@ -45,7 +45,7 @@
order by prp.create_time desc
</select>
<select id="queryByProjectId" resultType="com.jero.modules.project.entity.ProjectRelatedPersonnel">
<select id="queryById" resultType="com.jero.modules.project.entity.ProjectRelatedPersonnel">
SELECT
<include refid="select_item"/>
FROM
@@ -53,7 +53,7 @@
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
<where>
prp.project_id=#{projectId}
prp.id=#{id}
</where>
order by prp.create_time desc
</select>
@@ -50,10 +50,10 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
/**
* 通过id查询
*
* @param projectId
* @param id
* @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.jero.common.system.vo.LoginUser;
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.service.IProjectLibraryBaseService;
import com.jero.modules.system.entity.SysUser;
@@ -37,6 +38,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
private ProjectRelatedPersonnelServiceImpl projectRelatedPersonnelService;
/**
* 保存
*
@@ -46,12 +50,23 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Override
public void add(ProjectLibraryBase projectLibraryBase) {
Date now = new Date();
projectLibraryBase.setCreateTime(now);
projectLibraryBase.setUpdateTime(now);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
projectLibraryBase.setCreateUserId(sysUser.getId());
projectLibraryBase.setUpdateUserId(sysUser.getId());
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
*/
@Override
@@ -56,6 +55,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
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
*/
@Override
public void deleteById(String id) {
removeById(id);
}
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
@@ -89,24 +99,24 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过projectId查询
* 通过id查询
*
* @param projectId
* @param id
* @return
*/
@Override
public List<ProjectRelatedPersonnel> queryByProjectId(String projectId) {
List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryByProjectId(projectId);
public List<ProjectRelatedPersonnel> queryById(String id) {
List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryById(id);
disposeData(records);
return records;
}
/**
/**
* 列表查询
*
* @return
@@ -135,91 +145,96 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
//法规工程师
List<SysUser> lawEngineerUsers = new ArrayList<>();
List<String> lawEngineerIdList = Arrays.asList(projectRelatedPersonnel.getLawEngineer().split(","));
if (CollectionUtils.isNotEmpty(lawEngineerIdList)) {
lawEngineerIdList = lawEngineerIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
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(" ");
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineer())){
List<String> lawEngineerIdList = Arrays.asList(projectRelatedPersonnel.getLawEngineer().split(","));
if (CollectionUtils.isNotEmpty(lawEngineerIdList)) {
lawEngineerIdList = lawEngineerIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", lawEngineerIdList);
lawEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
}
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<String> engineeringInterfacePersonIdList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePerson().split(","));
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonIdList)) {
engineeringInterfacePersonIdList = engineeringInterfacePersonIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineeringInterfacePersonIdList);
engineeringInterfacePersonUsers = sysUserMapper.selectList(userqueryWrapper);
}
if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
String engineeringInterfacePersonId = projectRelatedPersonnel.getEngineeringInterfacePerson();
String engineeringInterfacePersonName = null;
String engineeringInterfacePersonEnName = null;
StringBuilder certificationName = new StringBuilder();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())) {
List<String> engineeringInterfacePersonIdList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePerson().split(","));
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonIdList)) {
engineeringInterfacePersonIdList = engineeringInterfacePersonIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineeringInterfacePersonIdList);
engineeringInterfacePersonUsers = sysUserMapper.selectList(userqueryWrapper);
}
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
String engineeringInterfacePersonId = projectRelatedPersonnel.getEngineeringInterfacePerson();
String engineeringInterfacePersonName = null;
String engineeringInterfacePersonEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : engineeringInterfacePersonIdList) {
if (StringUtils.isNotEmpty(engineeringInterfacePersonId)) {
engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
engineeringInterfacePersonEnName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
for (String data : engineeringInterfacePersonIdList) {
if (StringUtils.isNotEmpty(engineeringInterfacePersonId)) {
engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
engineeringInterfacePersonEnName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.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<String> certificationEngineerIdList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineer().split(","));
if (CollectionUtils.isNotEmpty(certificationEngineerIdList)) {
certificationEngineerIdList=certificationEngineerIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
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(" ");
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineer())){
List<String> certificationEngineerIdList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineer().split(","));
if (CollectionUtils.isNotEmpty(certificationEngineerIdList)) {
certificationEngineerIdList=certificationEngineerIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", certificationEngineerIdList);
certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
}
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());
}
}
}