修饰审核驳回优化

This commit is contained in:
mashuai 2025-06-24 14:11:07 +08:00
parent 57f7bf5d16
commit 03d7f690ba
6 changed files with 77 additions and 10 deletions

View File

@ -229,7 +229,7 @@ public class RepairAuditDetailsController extends BaseController {
*/ */
@ApiOperation(value = "(内层)批量修改修试审核详细") @ApiOperation(value = "(内层)批量修改修试审核详细")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("repair:details:edit") //@RequiresPermissions("repair:details:edit")
@SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细") @SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细")
@PostMapping("/innerAudit") @PostMapping("/innerAudit")
public AjaxResult edit(@RequestBody @NotNull List<RepairAuditDetails> repairAuditDetails) { public AjaxResult edit(@RequestBody @NotNull List<RepairAuditDetails> repairAuditDetails) {

View File

@ -101,4 +101,11 @@ public interface RepairApplyDetailsMapper {
* @return * @return
*/ */
int updateRepairApplyDetailsAfterAudit(RepairAuditDetails dto); int updateRepairApplyDetailsAfterAudit(RepairAuditDetails dto);
/**
* 根据back_id获取最大level
* @param backId
* @return
*/
RepairTaskDetails getMaxLevel(Long backId);
} }

View File

@ -549,7 +549,11 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
String level = null; String level = null;
if (!CollectionUtils.isEmpty(detailsList)) { if (!CollectionUtils.isEmpty(detailsList)) {
backId = detailsList.get(0).getBackId(); backId = detailsList.get(0).getBackId();
level = detailsList.get(0).getLevel(); // 根据backId查询最大级level
RepairTaskDetails details = repairApplyDetailsMapper.getMaxLevel(backId);
if (details != null) {
level = details.getLevel();
}
} }
/*if (Objects.nonNull(preTmTaskInfo) && Objects.nonNull(preTmTaskInfo.getPreTaskId())) { /*if (Objects.nonNull(preTmTaskInfo) && Objects.nonNull(preTmTaskInfo.getPreTaskId())) {
taskMapper.updateTaskStatus(String.valueOf(preTmTaskInfo.getPreTaskId()), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus()); taskMapper.updateTaskStatus(String.valueOf(preTmTaskInfo.getPreTaskId()), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus());
@ -662,13 +666,39 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
final Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(auditDetails1.getTaskId()); final Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(auditDetails1.getTaskId());
batchInsertRepairInputDetails(scrapApplyDetails,repairAuditDetails, agreementId); batchInsertRepairInputDetails(scrapApplyDetails,repairAuditDetails, agreementId);
} else if ("2".equals(status)) { } else if ("2".equals(status)) {
for (final RepairAuditDetails auditDetails : repairAuditDetails) { RepairTask task = new RepairTask();
repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject( task.setTaskId(dto.getTaskId());
ObjectUtils.defaultIfNull(auditDetails.getRepairedNum(),0).longValue(), Long agreementId = repairMapper.getAgreementId(task);
ObjectUtils.defaultIfNull(auditDetails.getScrapNum(),0).longValue(), auditDetails.getRepairId()); // 插入任务表
repairApplyDetailsMapper.updateStatus(auditDetails.getRepairId(), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus()); Long newTaskId = insertWxTt(SecurityUtils.getLoginUser().getSysUser().getNickName());
// 插入协议任务表
insertTta(newTaskId, agreementId);
// 处理 -- 修饰审核任务状态
//taskMapper.updateTaskStatus(String.valueOf(dto.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus());
List<RepairTaskDetails> detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(dto.getTaskId());
Long backId = null;
String level = null;
if (!CollectionUtils.isEmpty(detailsList)) {
backId = detailsList.get(0).getBackId();
// 根据backId查询最大级level
RepairTaskDetails details = repairApplyDetailsMapper.getMaxLevel(backId);
if (details != null) {
level = details.getLevel();
}
}
for (RepairAuditDetails repairAuditDetail : repairAuditDetails) {
RepairTaskDetails repairTaskDetails = new RepairTaskDetails();
repairTaskDetails.setNewTaskId(newTaskId);
repairTaskDetails.setMaId(repairAuditDetail.getMaId() == null ? null : repairAuditDetail.getMaId().toString());
repairTaskDetails.setTypeId(repairAuditDetail.getTypeId().toString());
repairTaskDetails.setRepairNum(repairAuditDetail.getRepairNum());
repairTaskDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
repairTaskDetails.setBackId(backId);
if(StringUtils.isNotBlank( level)) {
repairTaskDetails.setLevel(String.valueOf(Integer.parseInt(level) + 1));
}
repairMapper.insertRepaired(repairTaskDetails);
} }
taskMapper.updateTaskStatus(dto.getTaskId().toString(), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus());
} }
try { try {

View File

@ -214,6 +214,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{repairId} where id = #{repairId}
</select> </select>
<select id="getMaxLevel" resultType="com.bonus.material.repair.domain.RepairTaskDetails">
SELECT
rad.id AS id,
rad.ma_id AS maId,
rad.type_id AS typeId,
rad.repair_num AS repairNum,
rad.this_repaired_num,
rad.this_scrap_num,
rad.repaired_num AS repairedNum,
rad.this_repaired_num AS thisRepairedNum,
rad.scrap_num AS scrapNum,
rad.this_scrap_num AS thisScrapNum,
rad.company_id AS companyId,
tt.task_id AS taskId,
tt.CODE AS taskCode,
rad.back_id AS backId,
rad.STATUS AS STATUS,
rad.LEVEL AS LEVEL,
tt.CODE AS taskCode
FROM
repair_apply_details rad
LEFT JOIN tm_task tt ON rad.task_id = tt.task_id
WHERE
rad.back_id = #{backId}
AND rad.is_ds = 0
ORDER BY
rad.`level` DESC
LIMIT 1
</select>
<delete id="deleteRepairApplyDetailsById" parameterType="Long"> <delete id="deleteRepairApplyDetailsById" parameterType="Long">
delete from repair_apply_details where id = #{id} delete from repair_apply_details where id = #{id}
</delete> </delete>

View File

@ -374,7 +374,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRepairAuditDetailsByTaskId" resultMap="RepairAuditDetailsResult"> <select id="selectRepairAuditDetailsByTaskId" resultMap="RepairAuditDetailsResult">
<include refid="selectRepairAuditDetailsVo"/> <include refid="selectRepairAuditDetailsVo"/>
where task_id = #{taskId} where task_id = #{taskId} and `status` = '0'
</select> </select>
<select id="selectNotAuditByTaskId" resultMap="RepairAuditDetailsResult"> <select id="selectNotAuditByTaskId" resultMap="RepairAuditDetailsResult">

View File

@ -297,7 +297,7 @@
AND tt.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') AND tt.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
</if> </if>
<if test="appTaskStatus != null and appTaskStatus == 0"> <if test="appTaskStatus != null and appTaskStatus == 0">
and tt.task_status = 4 and (tt.task_status = 3 or tt.task_status = 4)
</if> </if>
<if test="appTaskStatus != null and appTaskStatus == 1"> <if test="appTaskStatus != null and appTaskStatus == 1">
and (tt.task_status = 1 or tt.task_status = 2) and (tt.task_status = 1 or tt.task_status = 2)