Commit b344f0ca authored by chenzhao's avatar chenzhao

bug 2925 故障报修补充功能 我接受收

parent 20555c9b
......@@ -22,124 +22,138 @@ public interface FailureDetailsMapper extends BaseMapper<FailureDetails> {
/**
* 查询全部 分页
*
* @param currentStatus 当前任务状态
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* @param current 当前页
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* @param current 当前页
* @return
*/
List<FailureDetails> selectAllPage(Long current,Long size, Long currentStatus,
String startTime,String endTime, Integer submissionPid);
List<FailureDetails> selectAllPage(Long current, Long size, Long currentStatus,
String startTime, String endTime, Integer submissionPid);
/**
* 查询我发起的 分页
* current 当前页
* size 条数
*
* @param currentStatus 当前任务状态
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* @return
*/
List<FailureDetails> selectISubPage(Long current,Long size, Long currentStatus,
String startTime,String endTime, Integer submissionPid);
List<FailureDetails> selectISubPage(Long current, Long size, Long currentStatus,
String startTime, String endTime, Integer submissionPid);
/**
* 查询待处理 分页
*
* @param currentStatus 当前任务状态
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* @param
* @return
*/
List<FailureDetails> selectInProcessing(Long current,Long size,Long currentStatus,
String startTime,String endTime, Integer submissionPid);
List<FailureDetails> selectInProcessing(Long current, Long size, Long currentStatus,
String startTime, String endTime, Integer submissionPid);
/**
* 查询待处理 应急指挥科人员分页
*
* @param
* @return
*/
List<FailureDetails> selectStatusWaitTj(Long current,Long size,Long currentStatus,
String startTime,String endTime, Integer submissionPid);
List<FailureDetails> selectStatusWaitTj(Long current, Long size, Long currentStatus,
String startTime, String endTime, Integer submissionPid);
/**
* 查询待处理 维修人员分页
*
* @param currentStatus 当前任务状态
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* * @param startTime 起始时间
* * @param endTime 结束时间
* * @param submissionPid 报送人
* @param
* @return
*/
List<FailureDetails> selectStatusWaitWx(Long current,Long size,Long currentStatus,
String startTime,String endTime, Integer submissionPid);
List<FailureDetails> selectStatusWaitWx(Long current, Long size, Long currentStatus,
String startTime, String endTime, Integer submissionPid);
/**
* 统计 全部
*
* @param currentStatus 状态
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
*
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
* @return
*/
List<StatusDto> selectStatusCount(Long currentStatus,String startTime,String endTime, Integer submissionPid);
List<StatusDto> selectStatusCount(Long currentStatus, String startTime, String endTime, Integer submissionPid);
/**
* 统计 维修人员
*
* @param currentStatus 状态
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
*
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
* @return
*/
List<StatusDto> selectStatusWx(Long currentStatus,String startTime,String endTime, Integer submissionPid);
List<StatusDto> selectStatusWx(Long currentStatus, String startTime, String endTime, Integer submissionPid);
/**
* 统计 应急指挥科人员
*
* @param currentStatus 状态
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
*
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
* @return
*/
List<StatusDto> selectStatusFq(Long currentStatus,String startTime,String endTime, Integer submissionPid);
List<StatusDto> selectStatusFq(Long currentStatus, String startTime, String endTime, Integer submissionPid);
/**
* 统计 我发起
*
* @param currentStatus 状态
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
*
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
* @return
*/
List<StatusDto> selectStatusFqp(Long currentStatus,String startTime,String endTime, Integer submissionPid);
List<StatusDto> selectStatusFqp(Long currentStatus, String startTime, String endTime, Integer submissionPid);
/**
* 统计 领导
*
* @param currentStatus 状态
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
*
* @param startTime 起始时间
* @param endTime 结束时间
* @param submissionPid 报送人
* @return
*/
List<StatusDto> selectStatusLeader(Long currentStatus,String startTime,String endTime, Integer submissionPid);
List<StatusDto> selectStatusLeader(Long currentStatus, String startTime, String endTime, Integer submissionPid);
List<StatusDto> selectAudit(Long currentStatus, String startTime, String endTime, Integer submissionPid, String userId);
List<StatusDto> selectMaintain(Long currentStatus, String startTime, String endTime, Integer submissionPid, String userId);
List<StatusDto> selectUserId(Long currentStatus, String startTime, String endTime, String userId);
List<FailureDetails> selectYJ(Long currentStatus, String startTime, String endTime, String userId,Long current, Long size);
List<FailureDetails> selectForAudit(Long currentStatus, String startTime, String endTime,Integer submissionPid, String userId,Long current, Long size);
List<FailureDetails> selectForMaintain(Long currentStatus, String startTime, String endTime, Integer submissionPid, String userId,Long current, Long size);
}
......@@ -257,5 +257,185 @@
GROUP BY cb_failure_details.current_status
</select>
<select id="selectAudit" resultType="com.yeejoin.amos.boot.module.common.api.dto.StatusDto">
SELECT
current_status,
count(current_status)
AS currentStatusCount
FROM
cb_failure_details d
<where>
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_audit
where
rec_user_id = #{userId}
)
<if test="currentStatus!= null ">
and current_status = #{currentStatus}
</if>
<if test="startTime!= null and endTime != null">
and submission_time between #{startTime} and #{endTime}
</if>
<if test="submissionPid!= null ">
and submission_pid = #{submissionPid}
</if>
</where>
GROUP BY current_status;
</select>
<select id="selectMaintain" resultType="com.yeejoin.amos.boot.module.common.api.dto.StatusDto">
SELECT
current_status,
count(current_status)
AS currentStatusCount
FROM
cb_failure_details d
<where>
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_maintain
where
rec_user_id = #{userId}
)
<if test="currentStatus!= null ">
and current_status = #{currentStatus}
</if>
<if test="startTime!= null and endTime != null">
and submission_time between #{startTime} and #{endTime}
</if>
<if test="submissionPid!= null ">
and submission_pid = #{submissionPid}
</if>
</where>
GROUP BY current_status;
</select>
<select id="selectUserId" resultType="com.yeejoin.amos.boot.module.common.api.dto.StatusDto">
SELECT
current_status,
count(current_status)
AS currentStatusCount
FROM
cb_failure_details d
WHERE
<where>
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_audit
where
audit_result = 2
)
<if test="currentStatus!= null ">
and current_status = #{currentStatus}
</if>
<if test="startTime!= null and endTime != null">
and submission_time between #{startTime} and #{endTime}
</if>
<if test="userId != null ">
and submission_pid = #{userId}
</if>
</where>
GROUP BY current_status;
</select>
<select id="selectYJ" resultType="com.yeejoin.amos.boot.module.common.api.entity.FailureDetails">
SELECT
*
FROM
cb_failure_details d
WHERE
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_audit
where
) and
submission_pid = #{userId}
<where>
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_audit
where
audit_result = 2
)
<if test="currentStatus != null ">
and current_status = #{currentStatus}
</if>
<if test="startTime!= null and endTime != null">
and submission_time between #{startTime} and #{endTime}
</if>
<if test="userId != null ">
and submission_pid = #{userId}
</if>
</where>
limit #{current},#{size};
</select>
<select id="selectForAudit" resultType="com.yeejoin.amos.boot.module.common.api.entity.FailureDetails">
SELECT
*
FROM
cb_failure_details d
<where>
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_audit
where
rec_user_id = #{userId}
)
<if test="currentStatus != null ">
and current_status = #{currentStatus}
</if>
<if test="startTime!= null and endTime != null">
and submission_time between #{startTime} and #{endTime}
</if>
<if test="submissionPid!= null ">
and submission_pid = #{submissionPid}
</if>
</where>
limit #{current},#{size};
</select>
<select id="selectForMaintain" resultType="com.yeejoin.amos.boot.module.common.api.entity.FailureDetails">
SELECT
*
FROM
cb_failure_details d
<where>
d.sequence_nbr in
(SELECT
fault_id
FROM
cb_failure_maintain
where
rec_user_id = #{userId}
)
<if test="currentStatus != null ">
and current_status = #{currentStatus}
</if>
<if test="startTime!= null and endTime != null">
and submission_time between #{startTime} and #{endTime}
</if>
<if test="submissionPid!= null ">
and submission_pid = #{submissionPid}
</if>
</where>
limit #{current},#{size};
</select>
</mapper>
......@@ -79,15 +79,16 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
public static Integer SELECY_STATUS = 7;
public static Integer SELECY_ISUBMIT = 8;
public static Integer SELECY_ACCEPT = 9;
public String[] roleName = {"maintenance_department_maintenance_personnel", "emergency_command_staff","emergency_command_leader","maintenance_department"};
public String[] roleName = {"maintenance_department_maintenance_personnel", "emergency_command_staff", "emergency_command_leader", "maintenance_department"};
/**
* 分页查询接口
* @param type 查询类型
* @param currentStatus 状态
* @param startTime 起始时间
* @param startTime 结束时间
* @param userId 用户id
*
* @param type 查询类型
* @param currentStatus 状态
* @param startTime 起始时间
* @param startTime 结束时间
* @param userId 用户id
*/
public IPage<FailureDetails> queryForFailureDetailsPage(Page<FailureDetails> page, ReginParams userInfo, Long currentStatus,
String startTime, String endTime, Integer userId, Integer type) {
......@@ -110,50 +111,20 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
if (type.equals(SELECY_ACCEPT)) {
//当角色为维修人员时
if (userInfo.getRole().getRoleName().equals(roleName[0])) {
LambdaQueryWrapper<FailureMaintain> Wrapper = new LambdaQueryWrapper<>();
Wrapper.eq(FailureMaintain::getRecUserId,userInfo.getUserModel().getUserId());
Wrapper.orderByDesc(FailureMaintain::getMaintainTime);
List<FailureMaintain> failureMaintains = failureMaintainService.getBaseMapper().selectList(Wrapper);
List<FailureDetails> failureDetails = new ArrayList<FailureDetails>();
failureMaintains.forEach(e->{
FailureDetails result = getById(e.getFaultId());
failureDetails.add(result);
});
List<FailureDetails> failureDetails = baseMapper.selectForMaintain(currentStatus, startTime, endTime, userId, userInfo.getUserModel().getUserId(), page.getCurrent(), page.getSize());
IPage<FailureDetails> iPage = new Page<>();
iPage.setRecords(failureDetails);
return iPage;
} else if (userInfo.getRole().getRoleName().equals(roleName[2]) && userInfo.getRole().getRoleName().equals(roleName[3])) {
} else if (userInfo.getRole().getRoleName().equals(roleName[2]) || userInfo.getRole().getRoleName().equals(roleName[3])) {
List<FailureDetails> failureDetails = baseMapper.selectForAudit(currentStatus, startTime, endTime, userId, userInfo.getUserModel().getUserId(), page.getCurrent(), page.getSize());
LambdaQueryWrapper<FailureAudit> Wrapper = new LambdaQueryWrapper<>();
Wrapper.eq(FailureAudit::getRecUserId,userInfo.getUserModel().getUserId());
Wrapper.orderByDesc(FailureAudit::getAuditTime);
List<FailureAudit> failureAudit = ifailureAuditService.getBaseMapper().selectList(Wrapper);
List<FailureDetails> failureDetails = new ArrayList<FailureDetails>();
failureAudit.forEach(e->{
FailureDetails result = getById(e.getFaultId());
failureDetails.add(result);
}); IPage<FailureDetails> iPage = new Page<>();
IPage<FailureDetails> iPage = new Page<>();
iPage.setRecords(failureDetails);
return iPage;
}else {
LambdaQueryWrapper<FailureAudit> Wrapper = new LambdaQueryWrapper<>();
Long parentId = Long.valueOf(iOrgUsrService.getParentId(userInfo.getUserModel().getUserId()));
Wrapper.eq(FailureAudit::getAuditDepartmentId,parentId);
Wrapper.eq(FailureAudit::getAuditResult, AuditResultEnum.REFUSE.getCode());
Wrapper.orderByDesc(FailureAudit::getAuditTime);
List<FailureAudit> failureAudit = ifailureAuditService.getBaseMapper().selectList(Wrapper);
List<FailureDetails> failureDetails = new ArrayList<FailureDetails>();
failureAudit.forEach(e->{
FailureDetails result = getById(e.getFaultId());
if (result.getSubmissionPid().equals(userInfo.getUserModel().getUserId())){
failureDetails.add(result);
}
});
} else {
List<FailureDetails> failureDetails = baseMapper.selectYJ(currentStatus, startTime, endTime, userInfo.getUserModel().getUserId(), page.getCurrent(), page.getSize());
IPage<FailureDetails> iPage = new Page<>();
iPage.setRecords(failureDetails);
return iPage;
......@@ -167,10 +138,10 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
* web端列表查询
*/
public IPage<FailureDetailsDto> queryForPageList(Page<FailureDetailsDto> page, ReginParams userInfo, Long currentStatus,
String startTime, String endTime, String submissionName, Long submissionBranchId,
Long sequenceNbr ) {
String startTime, String endTime, String submissionName, Long submissionBranchId,
Long sequenceNbr) {
return queryForPage(page,"",false,currentStatus,startTime, endTime, submissionName,submissionBranchId,sequenceNbr);
return queryForPage(page, "", false, currentStatus, startTime, endTime, submissionName, submissionBranchId, sequenceNbr);
}
......@@ -182,7 +153,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
if (userInfo.getRole().getRoleName().equals(roleName[0])) {
IPage<FailureDetails> wxIpage = new Page<FailureDetails>();
List<FailureDetails> list = baseMapper.selectStatusWaitWx(page.getCurrent(), page.getSize(),currentStatus, startTime, endTime, userId);
List<FailureDetails> list = baseMapper.selectStatusWaitWx(page.getCurrent(), page.getSize(), currentStatus, startTime, endTime, userId);
wxIpage.setRecords(list);
return wxIpage;
} else if (userInfo.getRole().getRoleName().equals(roleName[1])) {
......@@ -247,6 +218,14 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
statusDtos = baseMapper.selectStatusFqp(currentStatus, startTime, endTime, Integer.parseInt(userInfo.getUserModel().getUserId()));
} else if (type.equals(SELECY_ALL)) {
statusDtos = baseMapper.selectStatusCount(currentStatus, startTime, endTime, userId);
} else if (type.equals(SELECY_ACCEPT)) {
if (userInfo.getRole().getRoleName().equals(roleName[2]) || userInfo.getRole().getRoleName().equals(roleName[3])){
statusDtos = baseMapper.selectAudit(currentStatus, startTime, endTime, userId, userInfo.getUserModel().getUserId());
}else if (userInfo.getRole().getRoleName().equals(roleName[0])){
statusDtos = baseMapper.selectMaintain(currentStatus, startTime, endTime, userId, userInfo.getUserModel().getUserId());
}else {
statusDtos = baseMapper.selectUserId(currentStatus, startTime, endTime, userInfo.getUserModel().getUserId());
}
} else {
statusDtos = baseMapper.selectStatusLeader(currentStatus, startTime, endTime, userId);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment