From 2ca49c48849c7a8e5353116916cdb0fd145bb165 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Sun, 16 Nov 2025 00:52:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/controller/RepairController.java | 12 +++ .../material/repair/domain/ToBeRepair.java | 5 + .../material/repair/mapper/RepairMapper.java | 14 +++ .../repair/service/RepairService.java | 7 ++ .../service/impl/RepairServiceImpl.java | 63 ++++++++++++- .../mapper/material/repair/RepairMapper.xml | 93 ++++++++++++------- 6 files changed, 160 insertions(+), 34 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/controller/RepairController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/controller/RepairController.java index de515c2..5e2b252 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/controller/RepairController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/controller/RepairController.java @@ -84,4 +84,16 @@ public class RepairController extends BaseController { return AjaxResult.success(list); } + + /** + * 审核 + * @param bean + * @return + */ + @ApiOperation(value = "审核") + @PostMapping("/auditData") + public AjaxResult auditData(@RequestBody ToBeRepair bean) { + return service.auditData(bean); + } + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java index e74c9d4..5b07ec9 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java @@ -128,4 +128,9 @@ public class ToBeRepair { * 结束时间 */ private String endTime; + + /** + * 审核状态 + */ + private String auditStatus; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index 56a859f..56b8ee3 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -65,4 +65,18 @@ public interface RepairMapper { * @return */ List getRepairDetailsList(ToBeRepair bean); + + /** + * 审核数据 + * @param toBeRepair + * @return + */ + int auditData(ToBeRepair toBeRepair); + + /** + * 获取详情列表 + * @param toBeRepair + * @return + */ + List getDetailsList(ToBeRepair toBeRepair); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/RepairService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/RepairService.java index e263663..12ed057 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/RepairService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/RepairService.java @@ -43,4 +43,11 @@ public interface RepairService { * @return */ List getRepairDetailsList(ToBeRepair bean); + + /** + * 审核数据 + * @param bean + * @return + */ + AjaxResult auditData(ToBeRepair bean); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index f0a3e43..030fe5d 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -96,13 +97,49 @@ public class RepairServiceImpl implements RepairService { @Override public List getRepairList(ToBeRepair bean) { try { - return mapper.getRepairList(bean); + List list = mapper.getRepairList(bean); + for (ToBeRepair toBeRepair : list) { + List detailsList = mapper.getDetailsList(toBeRepair); + if (detailsList != null && !detailsList.isEmpty()) { + // 存在审核中 + boolean hasZero = false; + // 是否全部驳回 + boolean allTwo = true; + for (ToBeRepair detail : detailsList) { + String audit = detail.getAuditStatus(); + if ("0".equals(audit)) { + hasZero = true; + } + if (!"2".equals(audit)) { + allTwo = false; + } + } + // 规则判断 + if (hasZero) { + toBeRepair.setStatus("审核中"); + } else if (allTwo) { + toBeRepair.setStatus("已驳回"); + } else { + toBeRepair.setStatus("已审核"); + } + } + } + + String statusFilter = bean.getStatus(); + if (statusFilter != null && !"".equals(statusFilter)) { + list = list.stream() + .filter(item -> statusFilter.equals(item.getStatus())) + .collect(Collectors.toList()); + } + + return list; } catch (Exception e) { e.printStackTrace(); return new ArrayList<>(); } } + @Override @Transactional(rollbackFor = Exception.class) public AjaxResult deleteRepairList(ToBeRepair bean) { @@ -135,6 +172,30 @@ public class RepairServiceImpl implements RepairService { } } + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult auditData(ToBeRepair bean) { + try { + if (bean.getToBeRepairList().size() <= 0) { + return AjaxResult.error("请选择审核数据"); + } + String username = SecurityUtils.getLoginUser().getSysUser().getNickName(); + for (ToBeRepair toBeRepair : bean.getToBeRepairList()) { + toBeRepair.setCreateUser(username); + int res = mapper.auditData(toBeRepair); + if (res <= 0) { + throw new Exception("审核数据失败"); + } + } + return AjaxResult.success("审核成功"); + + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("审核失败"); + } + } + /** * 生成任务编号 * @param thisMonthMaxOrder diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml index 239f1ab..d50c3b7 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml @@ -20,6 +20,7 @@ reason_url, is_scrap, create_user, + review_status, create_time ) values ( @@ -36,6 +37,7 @@ #{scrapUrl}, #{isScrap}, #{createUser}, + '0', NOW() ) @@ -46,6 +48,13 @@ update cs_device_change_details set del_flag = '1' where change_id = #{id} + + update cs_device_change_details + set review_status = #{auditStatus}, + review_by = #{createUser}, + review_time=NOW() + where id = #{id} + + \ No newline at end of file