八大员缺员兼职查询接口修改
This commit is contained in:
parent
9f582413c2
commit
aaae74c9b6
|
|
@ -13,52 +13,84 @@ import lombok.Data;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class EightMembersVacancyVo {
|
public class EightMembersVacancyVo {
|
||||||
/**序号*/
|
/**
|
||||||
|
* 序号
|
||||||
|
*/
|
||||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||||
@Excel(name = "序号", width = 20,height = 15,orderNum = "0")
|
@Excel(name = "序号", width = 20, height = 15, orderNum = "0")
|
||||||
private long serialNumber;
|
private long serialNumber;
|
||||||
/**id*/
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
private Long id;
|
private Long id;
|
||||||
/**角色名称*/
|
/**
|
||||||
@Excel(name = "角色名称", width = 30,height = 15,orderNum = "1")
|
* 角色名称
|
||||||
|
*/
|
||||||
|
@Excel(name = "角色名称", width = 30, height = 15, orderNum = "1")
|
||||||
private String roleName;
|
private String roleName;
|
||||||
/**缺员项目部数量*/
|
/**
|
||||||
@Excel(name = "缺员项目部数量", width = 30,height = 15,orderNum = "2")
|
* 缺员项目部数量
|
||||||
|
*/
|
||||||
|
@Excel(name = "缺员项目部数量", width = 30, height = 15, orderNum = "2")
|
||||||
private int vacancyDeptNum;
|
private int vacancyDeptNum;
|
||||||
/**兼职项目部数量*/
|
/**
|
||||||
@Excel(name = "兼职项目部数量", width = 30,height = 15,orderNum = "3")
|
* 兼职项目部数量
|
||||||
|
*/
|
||||||
|
@Excel(name = "兼职项目部数量", width = 30, height = 15, orderNum = "3")
|
||||||
private int partTimeJobNum;
|
private int partTimeJobNum;
|
||||||
/**1.缺员项目部详情 2.兼职项目部详情*/
|
/**
|
||||||
|
* 1.缺员项目部详情 2.兼职项目部详情
|
||||||
|
*/
|
||||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||||
private int type;
|
private int type;
|
||||||
|
/**
|
||||||
|
* 项目部名称
|
||||||
|
*/
|
||||||
|
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class VacancyDetail{
|
public static class VacancyDetail {
|
||||||
/**角色ID*/
|
|
||||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
/**
|
||||||
public String departmentRoleId;
|
* 项目部名称
|
||||||
/**姓名*/
|
*/
|
||||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
|
||||||
public String userName;
|
|
||||||
/**项目部名称*/
|
|
||||||
public String orgName;
|
public String orgName;
|
||||||
/**项目经理*/
|
/**
|
||||||
|
* 项目经理
|
||||||
|
*/
|
||||||
public String projectManager;
|
public String projectManager;
|
||||||
/**安全员*/
|
/**
|
||||||
|
* 安全员
|
||||||
|
*/
|
||||||
public String safetyOfficer;
|
public String safetyOfficer;
|
||||||
/**质检员*/
|
/**
|
||||||
|
* 质检员
|
||||||
|
*/
|
||||||
public String qualityInspector;
|
public String qualityInspector;
|
||||||
/**项目总工*/
|
/**
|
||||||
|
* 项目总工
|
||||||
|
*/
|
||||||
public String projectChiefEngineer;
|
public String projectChiefEngineer;
|
||||||
/**机械员*/
|
/**
|
||||||
|
* 机械员
|
||||||
|
*/
|
||||||
public String machinist;
|
public String machinist;
|
||||||
/**资料员*/
|
/**
|
||||||
|
* 资料员
|
||||||
|
*/
|
||||||
public String document;
|
public String document;
|
||||||
/**施工员*/
|
/**
|
||||||
|
* 施工员
|
||||||
|
*/
|
||||||
public String constructionWorker;
|
public String constructionWorker;
|
||||||
/**材料员*/
|
/**
|
||||||
|
* 材料员
|
||||||
|
*/
|
||||||
public String materialMan;
|
public String materialMan;
|
||||||
/**其他*/
|
/**
|
||||||
|
* 其他
|
||||||
|
*/
|
||||||
public String other;
|
public String other;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,6 @@ public class EightMembersVacancyServiceImpl implements EightMembersVacancyServic
|
||||||
startPage();
|
startPage();
|
||||||
if(CollectionUtils.isNotEmpty(underStaffingIds)){
|
if(CollectionUtils.isNotEmpty(underStaffingIds)){
|
||||||
list = dao.getStaffingList(underStaffingIds,vo);
|
list = dao.getStaffingList(underStaffingIds,vo);
|
||||||
handleData(list);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(),e);
|
||||||
|
|
@ -82,7 +81,6 @@ public class EightMembersVacancyServiceImpl implements EightMembersVacancyServic
|
||||||
startPage();
|
startPage();
|
||||||
if(CollectionUtils.isNotEmpty(partTimeIds)){
|
if(CollectionUtils.isNotEmpty(partTimeIds)){
|
||||||
list = dao.getStaffingList(partTimeIds,vo);
|
list = dao.getStaffingList(partTimeIds,vo);
|
||||||
handleData(list);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.toString(),e);
|
log.error(e.toString(),e);
|
||||||
|
|
@ -100,62 +98,4 @@ public class EightMembersVacancyServiceImpl implements EightMembersVacancyServic
|
||||||
}
|
}
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 处理项目经理、安全员、质检员等数据
|
|
||||||
* @param list
|
|
||||||
* @return void
|
|
||||||
* @author cwchen
|
|
||||||
* @date 2025/2/11 10:18
|
|
||||||
*/
|
|
||||||
public void handleData(List<EightMembersVacancyVo.VacancyDetail> list){
|
|
||||||
if(CollectionUtils.isNotEmpty(list)){
|
|
||||||
for (EightMembersVacancyVo.VacancyDetail vacancyDetail : list) {
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
StringBuilder sb2 = new StringBuilder();
|
|
||||||
StringBuilder sb3 = new StringBuilder();
|
|
||||||
StringBuilder sb4 = new StringBuilder();
|
|
||||||
StringBuilder sb5 = new StringBuilder();
|
|
||||||
StringBuilder sb6 = new StringBuilder();
|
|
||||||
StringBuilder sb7 = new StringBuilder();
|
|
||||||
StringBuilder sb8 = new StringBuilder();
|
|
||||||
StringBuilder sb9 = new StringBuilder();
|
|
||||||
if(StringUtils.isNotBlank(vacancyDetail.getDepartmentRoleId())){
|
|
||||||
String[] departmentRoleIdArr = vacancyDetail.getDepartmentRoleId().split(",");
|
|
||||||
String[] userNameArr = vacancyDetail.getUserName().split(",");
|
|
||||||
for (int i = 0; i < departmentRoleIdArr.length; i++) {
|
|
||||||
String departmentRoleId = departmentRoleIdArr[i];
|
|
||||||
if(Objects.equals(departmentRoleId,"1")){
|
|
||||||
sb.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"2")){
|
|
||||||
sb2.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"3")){
|
|
||||||
sb3.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"4")){
|
|
||||||
sb4.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"5")){
|
|
||||||
sb5.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"6")){
|
|
||||||
sb6.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"7")){
|
|
||||||
sb7.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"8")){
|
|
||||||
sb8.append(userNameArr[i]).append("、");
|
|
||||||
}else if(Objects.equals(departmentRoleId,"9")){
|
|
||||||
sb9.append(userNameArr[i]).append("、");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vacancyDetail.setProjectManager(StringUtils.stripEnd(sb.toString(),"、"));
|
|
||||||
vacancyDetail.setSafetyOfficer(StringUtils.stripEnd(sb2.toString(),"、"));
|
|
||||||
vacancyDetail.setQualityInspector(StringUtils.stripEnd(sb3.toString(),"、"));
|
|
||||||
vacancyDetail.setProjectChiefEngineer(StringUtils.stripEnd(sb4.toString(),"、"));
|
|
||||||
vacancyDetail.setMachinist(StringUtils.stripEnd(sb5.toString(),"、"));
|
|
||||||
vacancyDetail.setDocument(StringUtils.stripEnd(sb6.toString(),"、"));
|
|
||||||
vacancyDetail.setConstructionWorker(StringUtils.stripEnd(sb7.toString(),"、"));
|
|
||||||
vacancyDetail.setMaterialMan(StringUtils.stripEnd(sb8.toString(),"、"));
|
|
||||||
vacancyDetail.setOther(StringUtils.stripEnd(sb9.toString(),"、"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,25 +47,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<!--八大员缺员兼职查询-缺员项目部详情-->
|
<!--八大员缺员兼职查询-缺员项目部详情-->
|
||||||
<select id="getStaffingList"
|
<select id="getStaffingList"
|
||||||
resultType="com.bonus.system.dept.entity.EightMembersVacancyVo$VacancyDetail">
|
resultType="com.bonus.system.dept.entity.EightMembersVacancyVo$VacancyDetail">
|
||||||
SELECT so.id,
|
SELECT a.id,
|
||||||
so.org_name AS orgName,
|
a.orgName,
|
||||||
GROUP_CONCAT(sdr.department_role_id) AS departmentRoleId,
|
MAX(IF( a.VALUE = '项目经理', a.userName, '' )) AS projectManager,
|
||||||
GROUP_CONCAT(su.user_name) AS userName
|
MAX(IF( a.VALUE = '安全员', a.userName, '' )) AS safetyOfficer,
|
||||||
FROM sys_organization so
|
MAX(IF( a.VALUE = '质检员', a.userName, '' )) AS qualityInspector,
|
||||||
LEFT JOIN sys_department_role sdr ON so.id = sdr.org_id AND sdr.reviewer_status = '1'
|
MAX(IF( a.VALUE = '项目总工', a.userName, '' )) AS projectChiefEngineer,
|
||||||
LEFT JOIN sys_dict sd ON sd.id = sdr.department_role_id AND sd.type = 'deptRole' AND sd.is_active = '1'
|
MAX(IF( a.VALUE = '机械员', a.userName, '' )) AS machinist,
|
||||||
LEFT JOIN sys_department_user sdu ON sdr.id = sdu.department_id AND sdu.is_active = '1'
|
MAX(IF( a.VALUE = '资料员', a.userName, '' )) AS document,
|
||||||
LEFT JOIN sys_user su ON su.user_id = sdu.user_id AND su.is_active = '1'
|
MAX(IF( a.VALUE = '施工员', a.userName, '' )) AS constructionWorker,
|
||||||
<where>
|
MAX(IF( a.VALUE = '材料员', a.userName, '' )) AS materialMan,
|
||||||
so.is_department = '1' AND so.reviewer_status = '1' AND so.is_active = '1'
|
MAX(IF( a.VALUE = '其他', a.userName, '' )) AS other
|
||||||
<if test="list!=null">
|
FROM (
|
||||||
AND so.id IN
|
SELECT so.id,
|
||||||
<foreach collection="list" open="(" close=")" separator="," item="item">
|
so.org_name AS orgName,
|
||||||
#{item}
|
GROUP_CONCAT( DISTINCT sd.value ) AS value,
|
||||||
</foreach>
|
GROUP_CONCAT( su.user_name ) AS userName
|
||||||
</if>
|
FROM sys_organization so
|
||||||
</where>
|
LEFT JOIN sys_department_role sdr ON so.id = sdr.org_id AND sdr.reviewer_status = '1'
|
||||||
GROUP BY so.id
|
LEFT JOIN sys_dict sd ON sd.id = sdr.department_role_id AND sd.type = 'deptRole' AND sd.is_active = '1'
|
||||||
|
LEFT JOIN sys_department_user sdu ON sdr.id = sdu.department_id AND sdu.is_active = '1'
|
||||||
|
LEFT JOIN sys_user su ON su.user_id = sdu.user_id AND su.is_active = '1'
|
||||||
|
<where>
|
||||||
|
so.is_department = '1' AND so.reviewer_status = '1' AND so.is_active = '1'
|
||||||
|
<if test="list!=null">
|
||||||
|
AND so.id IN
|
||||||
|
<foreach collection="list" open="(" close=")" separator="," item="item">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="params.orgName!=null and params.orgName!=''">
|
||||||
|
AND INSTR(so.org_name,#{params.orgName}) > 0
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY so.id,sdr.department_role_id
|
||||||
|
) a
|
||||||
|
GROUP BY a.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--角色下拉选-->
|
<!--角色下拉选-->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue