From 0240f4dceb273622ddf7ab577ab9018295c17233 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 14 八月 2026 14:55:22 +0800
Subject: [PATCH] 修复跟进记录图片上传问题
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 36 insertions(+), 13 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 6c5f535..b64b62f 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
@@ -17,13 +17,15 @@
import cn.iocoder.yudao.module.mes.enums.qc.MesQcStatusEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
-import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService;
import cn.iocoder.yudao.module.mes.service.qc.defectrecord.MesQcDefectRecordService;
import cn.iocoder.yudao.module.mes.service.qc.indicatorresult.MesQcIndicatorResultService;
import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateItemService;
import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService;
import cn.iocoder.yudao.module.mes.service.wm.outsourcereceipt.MesWmOutsourceReceiptService;
-import cn.iocoder.yudao.module.erp.api.purchase.ErpSupplierApi;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.ncr.vo.MesQcNcrSaveReqVO;
+import cn.iocoder.yudao.module.mes.service.qc.ncr.MesQcNcrService;
+import cn.iocoder.yudao.module.mes.enums.qc.MesQcCheckResultEnum;
+import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi;
import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import jakarta.annotation.Resource;
@@ -44,7 +46,7 @@
/**
* MES 鏉ユ枡妫�楠屽崟锛圛QC锛� Service 瀹炵幇绫�
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
@Service
@Validated
@@ -64,7 +66,7 @@
@Resource
private MesWmOutsourceReceiptService outsourceReceiptService;
@Resource
- private MesMdVendorService vendorService;
+ private SrmSupplierApi srmSupplierApi;
@Resource
private MesMdItemService itemService;
@Resource
@@ -79,7 +81,7 @@
@Resource
@Lazy
- private ErpSupplierApi supplierApi;
+ private MesQcNcrService ncrService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -126,14 +128,9 @@
private void validateIqcSaveData(MesQcIqcSaveReqVO reqVO) {
// 鏍¢獙缂栧彿鍞竴
validateIqcCodeUnique(reqVO.getId(), reqVO.getCode());
- // 鏍¢獙渚涘簲鍟嗗瓨鍦紙浼樺厛鏍¢獙 ERP 渚涘簲鍟嗭紝澶辫触鍒欐牎楠� MDM 渚涘簲鍟嗭級
+ // 鏍¢獙渚涘簲鍟嗗瓨鍦�
if (reqVO.getVendorId() != null) {
- try {
- supplierApi.validateSupplier(reqVO.getVendorId());
- } catch (Exception e) {
- // ERP 渚涘簲鍟嗘牎楠屽け璐ワ紝灏濊瘯 MDM 渚涘簲鍟�
- vendorService.validateVendorExists(reqVO.getVendorId());
- }
+ srmSupplierApi.getSupplier(reqVO.getVendorId());
}
// 鏍¢獙鐗╂枡瀛樺湪锛堜娇鐢� MDM 鐗╂枡锛�
if (reqVO.getItemId() != null) {
@@ -159,11 +156,37 @@
.setId(id).setStatus(MesQcStatusEnum.FINISHED.getStatus());
iqcMapper.updateById(updateObj);
- // 3. 鍥炲啓鏉ユ簮鍗曟嵁
+ // 3. 涓嶅悎鏍兼椂鑷姩鍒涘缓 NCR
+ generateNcrIfNeeded(iqc);
+
+ // 4. 鍥炲啓鏉ユ簮鍗曟嵁
writeBackSourceDoc(iqc);
}
/**
+ * 涓嶅悎鏍兼椂鑷姩鍒涘缓 NCR锛堜笉鍚堟牸鍝佸鐞嗗崟锛�
+ *
+ * @param iqc 鏉ユ枡妫�楠屽崟
+ */
+ private void generateNcrIfNeeded(MesQcIqcDO iqc) {
+ BigDecimal unqualifiedQty = iqc.getUnqualifiedQuantity();
+ if (unqualifiedQty == null || unqualifiedQty.compareTo(BigDecimal.ZERO) <= 0) {
+ return;
+ }
+ String ncrCode = "NCR" + java.time.LocalDateTime.now()
+ .format(java.time.format.DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
+ MesQcNcrSaveReqVO saveReqVO = new MesQcNcrSaveReqVO();
+ saveReqVO.setCode(ncrCode);
+ saveReqVO.setName("涓嶅悎鏍煎搧澶勭悊鍗�");
+ saveReqVO.setQcType(MesQcTypeEnum.IQC.getType());
+ saveReqVO.setQcId(iqc.getId());
+ saveReqVO.setItemId(iqc.getItemId());
+ saveReqVO.setUnqualifiedQuantity(unqualifiedQty);
+ saveReqVO.setDefectDescription("鐢辨潵鏂欐楠�(" + iqc.getCode() + ")鑷姩鐢熸垚");
+ ncrService.createNcr(saveReqVO);
+ }
+
+ /**
* 鍥炲啓鏉ユ簮鍗曟嵁锛圛QC 瀹屾垚鍚庯級
*
* @param iqc 鏉ユ枡妫�楠屽崟
--
Gitblit v1.9.3