From c6a2b472cde9dff4d21b95637ee6d99a412c785c Mon Sep 17 00:00:00 2001
From: 高 <gao@gaodeMacBook-Pro.local>
Date: 星期六, 10 十月 2026 17:21:40 +0800
Subject: [PATCH] feat(mes,crm): 新增质检单批量导入、检测结果台账与开票导入
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java
index 2625818..3218466 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.dal.mysql.qc.oqc;
+import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -7,10 +8,13 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO;
import org.apache.ibatis.annotations.Mapper;
+import java.time.LocalDateTime;
+import java.util.List;
+
/**
* MES 鍑鸿揣妫�楠屽崟锛圤QC锛� Mapper
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
@Mapper
public interface MesQcOqcMapper extends BaseMapperX<MesQcOqcDO> {
@@ -22,11 +26,54 @@
.likeIfPresent(MesQcOqcDO::getBatchCode, reqVO.getBatchCode())
.eqIfPresent(MesQcOqcDO::getItemId, reqVO.getItemId())
.eqIfPresent(MesQcOqcDO::getCheckResult, reqVO.getCheckResult())
+ .betweenIfPresent(MesQcOqcDO::getInspectDate, reqVO.getInspectDate())
.orderByDesc(MesQcOqcDO::getId));
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ锛堝甫瀹㈡埛鏉冮檺杩囨护锛�
+ */
+ default PageResult<MesQcOqcDO> selectPage(MesQcOqcPageReqVO reqVO, List<Long> permittedClientIds) {
+ LambdaQueryWrapperX<MesQcOqcDO> wrapper = new LambdaQueryWrapperX<MesQcOqcDO>()
+ .likeIfPresent(MesQcOqcDO::getCode, reqVO.getCode())
+ .eqIfPresent(MesQcOqcDO::getClientId, reqVO.getClientId())
+ .likeIfPresent(MesQcOqcDO::getBatchCode, reqVO.getBatchCode())
+ .eqIfPresent(MesQcOqcDO::getItemId, reqVO.getItemId())
+ .eqIfPresent(MesQcOqcDO::getCheckResult, reqVO.getCheckResult())
+ .betweenIfPresent(MesQcOqcDO::getInspectDate, reqVO.getInspectDate())
+ .orderByDesc(MesQcOqcDO::getId);
+ if (permittedClientIds != null) {
+ // 鏈~瀹㈡埛鐨勫崟鎹笉灞炰簬浠讳綍瀹㈡埛锛屼笉鍙楀鎴锋潈闄愰伄鎸�
+ if (CollUtil.isEmpty(permittedClientIds)) {
+ wrapper.isNull(MesQcOqcDO::getClientId);
+ } else {
+ wrapper.and(w -> w.isNull(MesQcOqcDO::getClientId)
+ .or().in(MesQcOqcDO::getClientId, permittedClientIds));
+ }
+ }
+ return selectPage(reqVO, wrapper);
}
default MesQcOqcDO selectByCode(String code) {
return selectOne(MesQcOqcDO::getCode, code);
}
+ /**
+ * 鎸夊鍏ュ幓閲嶉敭鏌ヨ锛氬悓涓� 鐗╂枡 + 瀹㈡埛 + 鎵规鍙� + 鍑鸿揣鏃ユ湡 瑙嗕负鍚屼竴鎵瑰嚭璐ф楠屾暟鎹�
+ *
+ * 瀹㈡埛涓庡嚭璐ф棩鏈熷湪鏈垎鏀彲涓虹┖锛屾晠涓変釜鍙┖缁村害鍧囧仛绌哄�煎畨鍏ㄦ瘮杈冿紙null 姣� null锛夈��
+ */
+ default List<MesQcOqcDO> selectListByImportKey(Long itemId, Long clientId, String batchCode,
+ LocalDateTime outDate) {
+ return selectList(new LambdaQueryWrapperX<MesQcOqcDO>()
+ .eq(MesQcOqcDO::getItemId, itemId)
+ .eq(clientId != null, MesQcOqcDO::getClientId, clientId)
+ .isNull(clientId == null, MesQcOqcDO::getClientId)
+ .eq(batchCode != null, MesQcOqcDO::getBatchCode, batchCode)
+ .isNull(batchCode == null, MesQcOqcDO::getBatchCode)
+ .eq(outDate != null, MesQcOqcDO::getOutDate, outDate)
+ .isNull(outDate == null, MesQcOqcDO::getOutDate)
+ .orderByAsc(MesQcOqcDO::getId));
+ }
+
}
--
Gitblit v1.9.3