From ffe7921a138331185186fd100846fe50dcaf841c Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 16 七月 2026 10:08:02 +0800
Subject: [PATCH] 1.采购管理-采购申请恢复

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java
index b6715ff..2b7ddd6 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java
@@ -10,6 +10,7 @@
 import cn.iocoder.yudao.module.mes.dal.dataobject.qc.defectrecord.MesQcDefectRecordDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.qc.iqc.MesQcIqcDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeLineDO;
 import cn.iocoder.yudao.module.mes.dal.mysql.qc.iqc.MesQcIqcMapper;
 import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
 import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum;
@@ -308,4 +309,40 @@
         return iqcMapper.selectCountByVendorId(vendorId);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long createIqcFromArrivalNotice(Long noticeId, MesWmArrivalNoticeLineDO line, String noticeCode, Long vendorId) {
+        // 1. 鏍¢獙鐗╂枡鏄惁閰嶇疆浜� IQC 妫�楠屾ā鏉�
+        MesQcTemplateItemDO templateItem = templateItemService.getRequiredTemplateByItemIdAndType(
+                line.getItemId(), MesQcTypeEnum.IQC.getType());
+        Long templateId = templateItem.getTemplateId();
+
+        // 2. 鐢熸垚妫�楠屽崟缂栫爜
+        String code = "IQC" + System.currentTimeMillis();
+
+        // 3. 鍒涘缓 IQC 涓昏〃锛堝緟妫�楠岀姸鎬侊紝鍒濆鍚堟牸鏁伴噺涓� 0锛�
+        MesQcIqcDO iqc = new MesQcIqcDO();
+        iqc.setCode(code);
+        iqc.setName(noticeCode + "-鐗╂枡妫�楠�");
+        iqc.setTemplateId(templateId);
+        iqc.setSourceDocType(MesBizTypeConstants.WM_ARRIVAL_NOTICE);
+        iqc.setSourceDocId(noticeId);
+        iqc.setSourceLineId(line.getId());
+        iqc.setSourceDocCode(noticeCode);
+        iqc.setVendorId(vendorId);
+        iqc.setItemId(line.getItemId());
+        iqc.setReceivedQuantity(line.getArrivalQuantity());
+        iqc.setCheckQuantity(BigDecimal.ZERO); // 寰呭~鍐�
+        iqc.setQualifiedQuantity(BigDecimal.ZERO); // 寰呭~鍐�
+        iqc.setUnqualifiedQuantity(BigDecimal.ZERO); // 寰呭~鍐�
+        iqc.setReceiveDate(java.time.LocalDateTime.now());
+        iqc.setStatus(MesQcStatusEnum.DRAFT.getStatus());
+        iqcMapper.insert(iqc);
+
+        // 4. 浠庢ā鏉挎寚鏍囪嚜鍔ㄧ敓鎴愭楠岃
+        iqcLineService.createLinesFromTemplate(iqc.getId(), templateId);
+
+        return iqc.getId();
+    }
+
 }

--
Gitblit v1.9.3