Browse Source

project_leader_id

master
han\hanst 2 weeks ago
parent
commit
0e70136029
  1. 5
      src/main/java/com/xujie/sys/modules/erf/data/ErfExpApplyData.java
  2. 5
      src/main/java/com/xujie/sys/modules/erf/entity/ErfExpApply.java
  3. 34
      src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java
  4. 4
      src/main/resources/mapper/erf/ErfExpApplyMapper.xml

5
src/main/java/com/xujie/sys/modules/erf/data/ErfExpApplyData.java

@ -200,6 +200,11 @@ public class ErfExpApplyData implements Serializable {
*/
private String projectLeader;
/**
* 试验负责人ID
*/
private Long projectLeaderId;
/**
* 试验负责人用户名
*/

5
src/main/java/com/xujie/sys/modules/erf/entity/ErfExpApply.java

@ -85,6 +85,11 @@ public class ErfExpApply implements Serializable {
*/
private String projectLeader;
/**
* 试验负责人ID
*/
private Long projectLeaderId;
/**
* 试验负责人用户名
*/

34
src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java

@ -126,6 +126,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
boolean isNew = (originalApplyNo == null || originalApplyNo.trim().isEmpty());
validatePjmLeader(data);
fillProjectLeaderId(data);
ErfExpApply entity = new ErfExpApply();
BeanUtils.copyProperties(data, entity);
@ -198,6 +199,31 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
return false;
}
/**
* 试验负责人ID兜底填充
* 优先使用前端传入的 projectLeaderId若未传入则按用户名/姓名反查 sys_user.user_id
*/
private void fillProjectLeaderId(ErfExpApplyData data) {
if (data == null || data.getProjectLeaderId() != null) {
return;
}
if (StringUtils.isNotBlank(data.getProjectLeaderName())) {
SysUserEntity userByName = sysUserDao.queryByUserName(data.getProjectLeaderName().trim());
if (userByName != null) {
data.setProjectLeaderId(userByName.getUserId());
return;
}
}
if (StringUtils.isNotBlank(data.getProjectLeader())) {
SysUserEntity userByDisplay = sysUserDao.selectOne(new QueryWrapper<SysUserEntity>()
.eq("user_display", data.getProjectLeader().trim())
.last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
if (userByDisplay != null) {
data.setProjectLeaderId(userByDisplay.getUserId());
}
}
}
@Override
public void submitExpApply(ErfExpApplyData data) {
ErfExpApply entity = this.getById(data.getApplyNo());
@ -2588,12 +2614,18 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
}
/**
* 根据试验单上的试验负责人字段解析系统用户邮箱优先用户名其次用户显示名精确匹配
* 根据试验单上的试验负责人字段解析系统用户邮箱优先负责人ID其次用户名再次姓名精确匹配
*/
private UserEmailInfoDto resolveProjectLeaderEmailInfo(ErfExpApply entity) {
if (entity == null) {
return null;
}
if (entity.getProjectLeaderId() != null) {
UserEmailInfoDto userById = sysUserDao.getUserEmailInfoById(entity.getProjectLeaderId());
if (userById != null) {
return userById;
}
}
if (StringUtils.isNotBlank(entity.getProjectLeaderName())) {
SysUserEntity u = sysUserDao.queryByUserName(entity.getProjectLeaderName());
if (u != null) {

4
src/main/resources/mapper/erf/ErfExpApplyMapper.xml

@ -17,6 +17,7 @@
<result column="quantity_req" property="quantityReq"/>
<result column="expected_finish_date" property="expectedFinishDate"/>
<result column="project_leader" property="projectLeader"/>
<result column="project_leader_id" property="projectLeaderId"/>
<result column="project_leader_name" property="projectLeaderName"/>
<result column="pjm_leader_user_id" property="pjmLeaderUserId"/>
<result column="pjm_leader_name" property="pjmLeaderName"/>
@ -56,6 +57,7 @@
quantity_req,
expected_finish_date,
project_leader,
project_leader_id,
project_leader_name,
pjm_leader_user_id,
pjm_leader_name,
@ -143,6 +145,7 @@
quantity_req,
expected_finish_date,
project_leader,
project_leader_id,
project_leader_name,
pjm_leader_user_id,
pjm_leader_name,
@ -183,6 +186,7 @@
a.quantity_req,
a.expected_finish_date,
a.project_leader,
a.project_leader_id,
a.project_leader_name,
a.pjm_leader_user_id,
a.pjm_leader_name,

Loading…
Cancel
Save