diff --git a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java index ff0a8f9..18299ab 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java @@ -1354,6 +1354,17 @@ public class ScheduleController extends AbstractController { .put("page", page); } + /** + * 功能代办中心:审核代办 + */ + @PostMapping(value = "auditTodoMessage") + public R auditTodoMessage(@RequestBody Map inData) { + scheduleService.auditTodoMessage(inData); + return R.ok() + .put("code", 200) + .put("msg", getLanguageMsg(SysMsgConstant.OBJECT_ID_200000)); + } + /** * @Author LR * @Description 执行创建分卷的业务逻辑 diff --git a/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleTodoMessageMapper.java b/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleTodoMessageMapper.java index cafb617..6a3d9a6 100644 --- a/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleTodoMessageMapper.java +++ b/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleTodoMessageMapper.java @@ -24,6 +24,10 @@ public interface ScheduleTodoMessageMapper { @Param("seqNo") String seqNo, @Param("messageSourceLike") String messageSourceLike); + int markTodoAudited(@Param("site") String site, + @Param("buNo") String buNo, + @Param("infoCode") String infoCode); + List> searchTodoCenterList(@Param("query") Map query); Integer countTodoCenterList(@Param("query") Map query); diff --git a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java index 5f6ff56..53e0ad6 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java @@ -795,6 +795,13 @@ public interface ScheduleService { */ PageUtils searchTodoCenterList(Map inData); + /** + * 功能代办中心:审核代办消息 + * + * @param inData 审核参数(site/buNo/infoCode) + */ + void auditTodoMessage(Map inData); + /** * @return void * @Author LR diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java index 17a3abc..7cde50b 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java @@ -3722,6 +3722,7 @@ public class ScheduleServiceImpl implements ScheduleService { result.put("totalCount", toDefaultInt(dbStats == null ? null : dbStats.get("totalCount"), 0)); result.put("pendingAuditCount", toDefaultInt(dbStats == null ? null : dbStats.get("pendingAuditCount"), 0)); result.put("pendingOperateCount", toDefaultInt(dbStats == null ? null : dbStats.get("pendingOperateCount"), 0)); + result.put("unauditedCount", toDefaultInt(dbStats == null ? null : dbStats.get("unauditedCount"), 0)); result.put("lockPendingCount", toDefaultInt(dbStats == null ? null : dbStats.get("lockPendingCount"), 0)); result.put("pendingTotalCount", toDefaultInt(dbStats == null ? null : dbStats.get("pendingTotalCount"), 0)); result.put("completedCount", toDefaultInt(dbStats == null ? null : dbStats.get("completedCount"), 0)); @@ -3742,6 +3743,18 @@ public class ScheduleServiceImpl implements ScheduleService { return new PageUtils(list, totalCount == null ? 0 : totalCount, pageSize, pageNo); } + @Override + @Transactional(rollbackFor = Exception.class) + public void auditTodoMessage(Map inData) { + String site = trimToEmpty(inData == null ? null : inData.get("site")); + String buNo = trimToEmpty(inData == null ? null : inData.get("buNo")); + String infoCode = trimToEmpty(inData == null ? null : inData.get("infoCode")); + if (!StringUtils.hasText(site) || !StringUtils.hasText(buNo) || !StringUtils.hasText(infoCode)) { + throw new XJException("审核参数不完整"); + } + scheduleTodoMessageMapper.markTodoAudited(site, buNo, infoCode); + } + private Map buildTodoCenterQuery(Map inData, boolean includePaging) { Map query = new HashMap<>(); query.put("site", trimToEmpty(inData == null ? null : inData.get("site"))); diff --git a/src/main/resources/mapper/schedule/ScheduleTodoMessageMapper.xml b/src/main/resources/mapper/schedule/ScheduleTodoMessageMapper.xml index dc8efb0..409c787 100644 --- a/src/main/resources/mapper/schedule/ScheduleTodoMessageMapper.xml +++ b/src/main/resources/mapper/schedule/ScheduleTodoMessageMapper.xml @@ -77,6 +77,15 @@ ) + + UPDATE schedule_todo_message + SET audit_flag = 'Y' + WHERE site = #{site} + AND bu_no = #{buNo} + AND info_code = #{infoCode} + AND audit_flag = 'N' + + 1 = 1 @@ -142,6 +151,14 @@ stm.bu_no AS buNo, stm.info_code AS infoCode, stm.seq_no AS seqNo, + ( + SELECT TOP 1 sr2.ItemNo + FROM SOScheduledRouting sr2 + WHERE sr2.Site = stm.site + AND sr2.OrderNo = stm.order_no + AND CAST(sr2.SeqNo AS NVARCHAR(100)) = stm.seq_no + ORDER BY sr2.ItemNo + ) AS itemNo, stm.order_no AS orderNo, stm.created_by AS createdBy, stm.created_time AS createdTime, @@ -172,6 +189,7 @@ COUNT(1) AS totalCount, ISNULL(SUM(CASE WHEN stm.audit_flag = 'N' AND stm.operate_flag = 'N' THEN 1 ELSE 0 END), 0) AS pendingAuditCount, ISNULL(SUM(CASE WHEN stm.audit_flag = 'Y' AND stm.operate_flag = 'N' THEN 1 ELSE 0 END), 0) AS pendingOperateCount, + ISNULL(SUM(CASE WHEN stm.audit_flag = 'N' THEN 1 ELSE 0 END), 0) AS unauditedCount, ISNULL(SUM(CASE WHEN stm.audit_flag = 'N' AND stm.lock_flag = 'Y' THEN 1 ELSE 0 END), 0) AS lockPendingCount, ISNULL(SUM(CASE WHEN stm.operate_flag = 'N' THEN 1 ELSE 0 END), 0) AS pendingTotalCount, ISNULL(SUM(CASE WHEN stm.audit_flag = 'Y' AND stm.operate_flag = 'Y' THEN 1 ELSE 0 END), 0) AS completedCount