维修、维修审核、报废修改

This commit is contained in:
syruan 2024-12-26 17:10:21 +08:00
parent f9cce25f3e
commit 660c43592b
7 changed files with 39 additions and 25 deletions

View File

@ -20,6 +20,9 @@ public class RepairTask {
@ApiModelProperty(value = "任务id")
private Long taskId;
@ApiModelProperty(value = "前置任务id")
private Long preTaskId;
@ApiModelProperty(value = "任务状态")
private Integer taskStatus;

View File

@ -24,6 +24,9 @@ public class ScrapApplyDetailsVO {
@Excel(name = "报废审核单号",sort = 1)
private String scrapNum;
@ApiModelProperty(value = "维修任务单号")
private String repairTaskCode;
/**
* 单位名称
*/

View File

@ -485,18 +485,21 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
String status = repairAuditDetails.get(0).getStatus(); // 1通过 2驳回
if ("1".equals(status)) {
for (RepairAuditDetails repairAuditDetail : repairAuditDetails) {
// 删除repair_input_details 维修入库明细
repairInputDetailsMapper.deleteRepairInputDetailsByTaskId(repairAuditDetail.getTaskId());
// 查询协议ID
Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetail.getTaskId());
List<Long> taskIdList = new ArrayList<>();
taskIdList.add(repairAuditDetail.getTaskId());
List<RepairAuditDetails> repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIdList);
// 查询维修审核明细
List<RepairAuditDetails> repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId()));
batchInsertRepairInputDetails(repairAuditDetailList, agreementId);
taskMapper.updateTaskStatus(String.valueOf(repairAuditDetail.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_REVIEW.getStatus());
}
} else if ("2".equals(status)) {
for (RepairAuditDetails auditDetails : repairAuditDetails) {
repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject(
ObjectUtils.defaultIfNull(auditDetails.getRepairedNum(),0).longValue(),
ObjectUtils.defaultIfNull(auditDetails.getScrapNum(),0).longValue(), auditDetails.getRepairId());
taskMapper.updateTaskStatus(String.valueOf(auditDetails.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus());
}
}
@ -574,6 +577,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
inputVo.setCreateBy(SecurityUtils.getUserId().toString());
inputList.add(inputVo);
}
// 插入维修入库明细
repairInputDetailsMapper.batchInsertRepairInputDetails(inputList);
}

View File

@ -817,9 +817,9 @@ public class RepairServiceImpl implements RepairService {
// 查询维修任务的详情表
Long oldWxTaskId = task.getTaskId();
List<RepairTaskDetails> detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(oldWxTaskId);
BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getThisRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getThisScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add);
if (!CollectionUtils.isEmpty(detailsList) && (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.valueOf(0)) > 0) {
BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add);
if (!CollectionUtils.isEmpty(detailsList) && (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.ZERO) > 0) {
task.setCreateBy(loginUser.getUserid());
Long agreementId = repairMapper.getAgreementId(task);
// 新增tm_task表数据修饰审核任务状态是待审核
@ -829,6 +829,8 @@ public class RepairServiceImpl implements RepairService {
// 生成维修单号
String code = genderWxTaskCode(thisMonthMaxOrder);
task.setRepairCode(code);
// 插入之前的维修任务id标记前置任务
task.setPreTaskId(task.getTaskId());
// 注意此处将会生成新的 taskId 审核入库用的
repairMapper.addTask(task);
// 新增协议任务表tm_task_agreement--关联修饰任务与协议
@ -837,23 +839,28 @@ public class RepairServiceImpl implements RepairService {
// 新增审计记录
for (RepairTaskDetails details : detailsList) {
RepairApplyDetails repairApplyDetails = createRepairDetailsCope(details);
repairApplyDetailsMapper.updateRepairApplyDetails(repairApplyDetails);
details.setCreateBy(String.valueOf(loginUser.getUserid()));
details.setTaskId(task.getTaskId());
details.setRepairNum(details.getRepairNum());
details.setRepairedNum(details.getRepairedNum());
details.setScrapNum(details.getScrapNum());
repairMapper.addAuditDetails(details);
}
}
}
return AjaxResult.success("执行完毕");
}
private static RepairApplyDetails createRepairDetailsCope(RepairTaskDetails details) {
RepairApplyDetails repairApplyDetails = new RepairApplyDetails();
repairApplyDetails.setId(details.getId());
repairApplyDetails.setRepairedNum( (details.getRepairedNum().add(details.getThisRepairedNum()) ));
repairApplyDetails.setThisRepairedNum(BigDecimal.valueOf(0));
repairApplyDetails.setScrapNum( (details.getScrapNum().add( details.getThisScrapNum())));
repairApplyDetails.setThisScrapNum(BigDecimal.valueOf(0));
repairApplyDetailsMapper.updateRepairApplyDetails(repairApplyDetails);
details.setCreateBy(String.valueOf(loginUser.getUserid()));
details.setTaskId(task.getTaskId());
details.setRepairNum(details.getThisRepairedNum().add(details.getThisScrapNum()) );
details.setRepairedNum(details.getThisRepairedNum());
details.setScrapNum(details.getThisScrapNum());
repairMapper.addAuditDetails(details);
}
}
}
return AjaxResult.success();
return repairApplyDetails;
}
/**

View File

@ -296,7 +296,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRepairQuestList" resultType="com.bonus.material.repair.domain.vo.ScrapApplyDetailsVO">
SELECT DISTINCT
tk.task_id taskId,
tk.CODE scrapNum,
tk.CODE scrapNum,tt.code as repairTaskCode,
tk.task_status taskStatus,
bui.unit_name unitName,
bpl.pro_name projectName,
@ -304,9 +304,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
tk.create_time createTime,
tk.remark,
tk.CODE repairNum
-- su1.user_name as teamName
FROM
tm_task tk
LEFT JOIN tm_task tt on tk.pre_task_id = tt.task_id
LEFT JOIN tm_task_agreement tta ON tk.task_id = tta.task_id
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
LEFT JOIN bm_project bpl ON bai.project_id = bpl.pro_id
@ -316,7 +316,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
LEFT JOIN sys_user su ON su.user_id = tk.create_by
LEFT JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id
-- LEFT JOIN sys_user su1 ON su1.user_id = mtr.user_id
WHERE
tk.task_type = #{taskType}
<if test="keyword != null and keyword != ''">
@ -510,7 +509,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<update id="updateMachine">
UPDATE ma_machine SET ma_status = '5' WHERE ma_id = #{maId}
UPDATE ma_machine SET ma_status = 5 WHERE ma_id = #{maId}
</update>
<select id="getPartDetailsByTaskId" resultType="com.bonus.material.repair.domain.RepairPart">

View File

@ -12,8 +12,8 @@
</insert>
<insert id="addTask" useGeneratedKeys="true" keyProperty="taskId">
insert into tm_task (task_status,task_type,code,create_by,create_time,company_id)
values (#{taskStatus},#{taskType},#{repairCode},#{createBy},now(),#{companyId});
insert into tm_task (pre_task_id,task_status,task_type,code,create_by,create_time,company_id)
values (#{preTaskId},#{taskStatus},#{taskType},#{repairCode},#{createBy},now(),#{companyId});
</insert>
<insert id="createAgreementTask">

View File

@ -102,8 +102,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectAgreementIdByTaskId" resultType="java.lang.Long">
select agreement_id
from tm_task_agreement
where task_id = #{taskId}
select agreement_id from tm_task_agreement where task_id = #{taskId}
</select>
</mapper>