维修单分拆

This commit is contained in:
sxu 2024-11-28 17:11:25 +08:00
parent 989a2fa452
commit b462a2bbef
3 changed files with 23 additions and 14 deletions

View File

@ -106,6 +106,8 @@ public interface RepairMapper {
*/
int updateTaskStatus(@Param("taskList") List<RepairTask> taskList, @Param("userId") Long userid, @Param("taskStatus") Integer taskStatus);
int updateSingleTaskStatus(@Param("task") RepairTask task, @Param("userId") Long userid, @Param("taskStatus") Integer taskStatus);
/**
* 新增任务
* @param task 任务信息
@ -132,9 +134,9 @@ public interface RepairMapper {
/**
* 根据任务Id获取维修详细
* @param task 任务信息
* @param taskId 任务信息ID
*/
List<RepairTaskDetails> getDetailsListByTaskId(RepairTask task);
List<RepairTaskDetails> getDetailsListByTaskIdAndStatus(@Param("taskId") Long taskId, @Param("status") String status);
/**
* 新增修饰审核审核数据

View File

@ -842,28 +842,27 @@ public class RepairServiceImpl implements RepairService {
// 1.查询选择任务是否还有未完成维修的数据
for (RepairTask task : taskList) {
if (repairMapper.getUnFinish(task) > 0) {
return AjaxResult.error("选中的数据中包含维修未完成的,请完成维修再进行提交审核");
if (repairMapper.getUnFinish(task) == 0) {
repairMapper.updateSingleTaskStatus(task, loginUser.getUserid(), RepairTaskStatusEnum.TASK_STATUS_COMPLETE.getStatus());
}
}
// 2.更新tm_task任务状态
repairMapper.updateTaskStatus(taskList, loginUser.getUserid(), RepairTaskStatusEnum.TASK_STATUS_COMPLETE.getStatus());
// 3.业务逻辑处理
for (RepairTask task : taskList) {
Long wxTaskId = task.getTaskId();
task.setCreateBy(loginUser.getUserid());
// 查询任务的协议id
Long agreementId = repairMapper.getAgreementId(task);
// 查询维修任务的详情表
List<RepairTaskDetails> detailsList = repairMapper.getDetailsListByTaskId(task);
// 新增tm_task表数据修饰审核任务状态是待审核
task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId());
task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus());
repairMapper.addTask(task);
// 循环插入修饰审核明细表
repairAuditDetailsMapper.deleteRepairAuditDetailsByTaskId(task.getTaskId());
//repairAuditDetailsMapper.deleteRepairAuditDetailsByTaskId(task.getTaskId());
// 查询维修任务的详情表
List<RepairTaskDetails> detailsList = repairMapper.getDetailsListByTaskIdAndStatus(wxTaskId, "1");
for (RepairTaskDetails details : detailsList) {
details.setCreateBy(String.valueOf(loginUser.getUserid()));
details.setTaskId(task.getTaskId());

View File

@ -116,6 +116,14 @@
</foreach>
</update>
<update id="updateSingleTaskStatus">
update tm_task
set task_status = #{taskStatus},
update_by = #{userId},
update_time = now()
where task_id = #{task.taskId}
</update>
<select id="getRepairTaskInfoByTaskId" resultType="com.bonus.material.repair.domain.RepairTask">
SELECT
rd.task_id as taskId,
@ -391,7 +399,7 @@
where task_id = #{taskId} and status = '0'
</select>
<select id="getDetailsListByTaskId" resultType="com.bonus.material.repair.domain.RepairTaskDetails">
<select id="getDetailsListByTaskIdAndStatus" resultType="com.bonus.material.repair.domain.RepairTaskDetails">
select id,
ma_id as maId,
type_id as typeId,
@ -400,7 +408,7 @@
scrap_num as scrapNum,
company_id as companyId
from repair_apply_details
where task_id = #{taskId}
where task_id = #{taskId} and status = #{status}
</select>
<select id="selectPartPrice" resultType="java.math.BigDecimal">