From 741c8eae6f39f7a22ce2d4378430b4ec882fb938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Mon, 3 Nov 2025 21:08:38 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=96=99=E7=94=B3=E8=AF=B7=E5=8D=95?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=B8=8B=E8=BE=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IssureNotifyController.java | 30 ++++++++++ .../notify/mapper/IssureNotifyMapper.java | 17 ++++++ .../notify/service/IssureNotifyService.java | 19 ++++++ .../service/impl/IssureNotifyServiceImpl.java | 58 +++++++++++++++++-- .../mapper/notify/IssureNotifyMapper.xml | 19 ++++++ 5 files changed, 139 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gaotao/modules/notify/controller/IssureNotifyController.java b/src/main/java/com/gaotao/modules/notify/controller/IssureNotifyController.java index 21f6054..fa30b10 100644 --- a/src/main/java/com/gaotao/modules/notify/controller/IssureNotifyController.java +++ b/src/main/java/com/gaotao/modules/notify/controller/IssureNotifyController.java @@ -330,4 +330,34 @@ public class IssureNotifyController { return R.ok().put("errorMsg", msg); } + /** + * @Description 检查用户是否有未下达的shoporder申请单 - rqrq + * @Title checkUserHasUnissueShopOrder + * @param data 查询条件(包含site和username) + * @return R + * @author rqrq + * @date 2025/11/03 + */ + @PostMapping(value="/checkUserHasUnissueShopOrder") + @ResponseBody + public R checkUserHasUnissueShopOrder(@RequestBody SOIssueNotifyHeaderData data) throws Exception { + SOIssueNotifyHeaderData row = issureNotifyService.checkUserHasUnissueShopOrder(data); + return R.ok().put("row", row); + } + + /** + * @Description 取消下达申请单 - rqrq + * @Title cancelIssueNotify + * @param data 申请单数据(包含site和notifyNo) + * @return R + * @author rqrq + * @date 2025/11/03 + */ + @PostMapping(value="/cancelIssueNotify") + @ResponseBody + public R cancelIssueNotify(@RequestBody SOIssueNotifyHeaderData data) throws Exception { + issureNotifyService.cancelIssueNotify(data); + return R.ok(); + } + } diff --git a/src/main/java/com/gaotao/modules/notify/mapper/IssureNotifyMapper.java b/src/main/java/com/gaotao/modules/notify/mapper/IssureNotifyMapper.java index 67a6dda..89ce42e 100644 --- a/src/main/java/com/gaotao/modules/notify/mapper/IssureNotifyMapper.java +++ b/src/main/java/com/gaotao/modules/notify/mapper/IssureNotifyMapper.java @@ -133,4 +133,21 @@ public interface IssureNotifyMapper extends BaseMapper { */ List checkIssueNotifyInventory(@Param("site") String site, @Param("notifyNo") String notifyNo); + /** + * @Description 检查用户是否有未下达的shoporder申请单 - rqrq + * @param data 查询条件(包含site和username) + * @return SOIssueNotifyHeaderData + * @author rqrq + * @date 2025/11/03 + */ + SOIssueNotifyHeaderData checkUserHasUnissueShopOrder(SOIssueNotifyHeaderData data); + + /** + * @Description 取消下达申请单(更新status为UNISSUE) - rqrq + * @param data 申请单数据(包含site和notifyNo) + * @author rqrq + * @date 2025/11/03 + */ + void cancelIssueNotify(SOIssueNotifyHeaderData data); + } diff --git a/src/main/java/com/gaotao/modules/notify/service/IssureNotifyService.java b/src/main/java/com/gaotao/modules/notify/service/IssureNotifyService.java index 4184126..8018856 100644 --- a/src/main/java/com/gaotao/modules/notify/service/IssureNotifyService.java +++ b/src/main/java/com/gaotao/modules/notify/service/IssureNotifyService.java @@ -141,4 +141,23 @@ public interface IssureNotifyService { /*Boolean updateNotifyConfirmStatus(SOIssueNotifyHeaderData data)throws Exception; Boolean updateBatchConfirmStatus(String[] notifyNos);*/ + + /** + * @Description 检查用户是否有未下达的shoporder申请单 - rqrq + * @Title checkUserHasUnissueShopOrder + * @param data 查询条件(包含site和username) + * @return SOIssueNotifyHeaderData 如果有未下达申请单则返回,否则返回null + * @author rqrq + * @date 2025/11/03 + */ + SOIssueNotifyHeaderData checkUserHasUnissueShopOrder(SOIssueNotifyHeaderData data); + + /** + * @Description 取消下达申请单(更新status为UNISSUE) - rqrq + * @Title cancelIssueNotify + * @param data 申请单数据(包含site和notifyNo) + * @author rqrq + * @date 2025/11/03 + */ + void cancelIssueNotify(SOIssueNotifyHeaderData data); } diff --git a/src/main/java/com/gaotao/modules/notify/service/impl/IssureNotifyServiceImpl.java b/src/main/java/com/gaotao/modules/notify/service/impl/IssureNotifyServiceImpl.java index d1c0123..36f94d3 100644 --- a/src/main/java/com/gaotao/modules/notify/service/impl/IssureNotifyServiceImpl.java +++ b/src/main/java/com/gaotao/modules/notify/service/impl/IssureNotifyServiceImpl.java @@ -12,10 +12,7 @@ import com.gaotao.modules.api.entity.IfsInventoryPart; import com.gaotao.modules.api.service.IfsApiService; import com.gaotao.modules.api.service.impl.IfsApiServiceImpl; import com.gaotao.modules.base.entity.SOScheduledRoutingData; -import com.gaotao.modules.notify.entity.SOIssueNotifyHeaderData; -import com.gaotao.modules.notify.entity.SOIssueNotifyOrderList; -import com.gaotao.modules.notify.entity.SOIssueNotifyOrderListData; -import com.gaotao.modules.notify.entity.SOIssueNotifyOrderMaterialListData; +import com.gaotao.modules.notify.entity.*; import com.gaotao.modules.notify.entity.vo.ShopOrderMaterialVo; import com.gaotao.modules.notify.entity.vo.ShopOrderVo; import com.gaotao.modules.notify.mapper.IssureNotifyMapper; @@ -632,4 +629,57 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { } return true; }*/ + + /** + * @Description 检查用户是否有未下达的shoporder申请单 - rqrq + * @param data 查询条件 + * @return SOIssueNotifyHeaderData + * @author rqrq + */ + @Override + public SOIssueNotifyHeaderData checkUserHasUnissueShopOrder(SOIssueNotifyHeaderData data) { + System.out.println("开始检查用户是否有未下达的shoporder申请单 - rqrq,site=" + data.getSite() + ", username=" + data.getUsername()); + + // 调用Mapper查询用户是否有状态为UNISSUE且ordertype=shoporder的数据 - rqrq + SOIssueNotifyHeaderData result = issureNotifyMapper.checkUserHasUnissueShopOrder(data); + + if (result != null) { + System.out.println("用户有未下达的shoporder申请单 - rqrq,notifyNo=" + result.getNotifyNo()); + } else { + System.out.println("用户没有未下达的shoporder申请单 - rqrq"); + } + + return result; + } + + /** + * @Description 取消下达申请单(更新status为UNISSUE) - rqrq + * @param data 申请单数据 + * @author rqrq + */ + @Override + @Transactional + public void cancelIssueNotify(SOIssueNotifyHeaderData data) { + System.out.println("开始取消下达申请单 - rqrq,notifyNo=" + data.getNotifyNo() + ", site=" + data.getSite()); + + // 查询申请单信息,检查是否已推送WCS - rqrq + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("site", data.getSite()); + queryWrapper.eq("notify_no", data.getNotifyNo()); + SOIssueNotifyHeader notifyHeader = issureNotifyMapper.selectOne(queryWrapper); + + if (notifyHeader == null) { + throw new RuntimeException("申请单不存在"); + } + + // 判断是否已推送WCS,如果已推送则不允许取消下达 - rqrq + if (!"未推送".equals(notifyHeader.getPushWcsFlag())) { + throw new RuntimeException("申请单已推送WCS,不允许取消下达"); + } + + // 更新申请单状态为UNISSUE - rqrq + issureNotifyMapper.cancelIssueNotify(data); + + System.out.println("取消下达申请单完成 - rqrq"); + } } diff --git a/src/main/resources/mapper/notify/IssureNotifyMapper.xml b/src/main/resources/mapper/notify/IssureNotifyMapper.xml index 2c5d775..c85cd67 100644 --- a/src/main/resources/mapper/notify/IssureNotifyMapper.xml +++ b/src/main/resources/mapper/notify/IssureNotifyMapper.xml @@ -376,4 +376,23 @@ record_version,out_work_order_flag,project_id,order_type,auth_rule_id,bu) EXEC CheckIssueNotifyInventory #{site}, #{notifyNo} + + + + + + update SOIssueNotifyHeader + set status='UNISSUE' + where site=#{site} and notify_no=#{notifyNo} + + \ No newline at end of file