From c3a981e80973ac52b5988aca62b87409976c6fb1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 18 六月 2026 13:09:28 +0800
Subject: [PATCH] 1.计量器具台账上传附件报错 2.质量拉的数据不对(未明确) 3.计量器具台账逾期的做标红提醒 4.设备保养定时任务和记录要加上具体的保养内容 5.质量要区分质检规则抽检还是全检,抽检的话是抽多少百分比 6.供应商管理东西太少了,没有资质文件啊这些东西(是不是可以参考pro) 7.采购审批把人从李莹莹改成龙红星

---
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index 4e6ff58..dfa4a3a 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -142,11 +142,19 @@
 
     @Override
     public boolean add(ShippingInfoDto req) {
+        // 鏍¢獙outboundBatches鍞竴鎬�
+        if (req.getOutboundBatches() != null && !req.getOutboundBatches().isEmpty()) {
+            long count = this.count(new LambdaQueryWrapper<ShippingInfo>()
+                    .eq(ShippingInfo::getOutboundBatches, req.getOutboundBatches()));
+            if (count > 0) {
+                throw new RuntimeException("鍑哄簱鎵瑰彿宸插瓨鍦紝璇烽噸鏂拌緭鍏�");
+            }
+        }
         this.save(req);
         req.getBatchNoDetailList().forEach(item -> item.setShippingInfoId(req.getId()));
         shippingProductDetailMapper.insert(req.getBatchNoDetailList());
         for (ShippingProductDetail shippingProductDetail : req.getBatchNoDetailList()) {
-            stockUtils.substractStock(shippingProductDetail.getProductModelId(), shippingProductDetail.getQuantity(), StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode(), req.getId(), shippingProductDetail.getBatchNo());
+            stockUtils.substractStock(shippingProductDetail.getProductModelId(), shippingProductDetail.getQuantity(), StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode(), req.getId(), shippingProductDetail.getBatchNo(), req.getOutboundBatches());
         }
         // 淇濆瓨鏂囦欢
         fileUtil.saveStorageAttachment(ApplicationTypeEnum.IMAGE, RecordTypeEnum.SHIPPING_INFO, req.getId(), req.getStorageBlobDTOs());
@@ -172,20 +180,23 @@
     @Override
     public boolean addReq(ShippingInfoDto req) {
 
-                LoginUser loginUser = SecurityUtils.getLoginUser();
-        String sh = OrderUtils.countTodayByCreateTime(shippingInfoMapper, "SH","shipping_no",req.getCreateTime());
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        // 璁剧疆鍒涘缓鏃堕棿涓哄綋鍓嶆椂闂达紝纭繚缂栧彿鏌ヨ姝g‘
+        LocalDateTime now = LocalDateTime.now();
+        req.setCreateTime(now);
+        String sh = OrderUtils.countTodayByCreateTime(shippingInfoMapper, "SH", "shipping_no", now);
         // 鍏堜繚瀛樺彂璐у崟锛屽啀鍙戣捣瀹℃壒锛涙棤瀹℃牳浜鸿嚜鍔ㄩ�氳繃鏃堕渶瑕佹寜鍙戣揣缂栧彿鍥炲啓鍙戣揣鐘舵�併��
         req.setShippingNo(sh);
         req.setStatus("寰呭鏍�");
         boolean save = this.add(req);
         // 鍙戣揣瀹℃壒
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,7L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,7L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType, 7L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
+        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType, 7L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
         approvalInstance.setBusinessId(req.getId());
         approvalInstance.setBusinessType(7L);
         approvalInstance.setCurrentLevel(1);
-        approvalInstance.setTitle(sh+"瀹℃壒");
+        approvalInstance.setTitle(sh + "瀹℃壒");
         approvalInstance.setApplicantId(loginUser.getUserId());
         approvalInstance.setApplicantName(loginUser.getNickName());
         approvalInstance.setApplyTime(LocalDateTime.now());

--
Gitblit v1.9.3