From 8655501ffb8dbdaf2508e575933063e6731be714 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 28 八月 2026 17:14:40 +0800
Subject: [PATCH] refactor(mes): 重构MES生产批次和袋码管理功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java
index 64d0121..29ea3a2 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java
@@ -6,6 +6,7 @@
import cn.iocoder.yudao.module.mes.controller.admin.pro.batch.vo.MesProBatchPageReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.batch.MesProBatchDO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
/**
* MES 鐢熶骇鎵规 Mapper
@@ -19,13 +20,29 @@
return selectOne(MesProBatchDO::getCode, code);
}
+ default MesProBatchDO selectByTempCode(String tempCode) {
+ return selectOne(MesProBatchDO::getTempCode, tempCode);
+ }
+
+ /** 鐢熸垚涓存椂鎵规鐮佺敤鐨勫叏灞�搴忓彿锛氳В鏋� temp_code 鐨勬暟瀛楀悗缂�锛屼笉瀛樺湪鍒欒繑鍥� 0 */
+ @Select("SELECT IFNULL(MAX(CAST(SUBSTRING(temp_code, 4) AS UNSIGNED)), 0) FROM mes_pro_batch WHERE deleted = 0")
+ Integer selectMaxTempCodeSeq();
+
default Long selectCountByLineId(Long lineId) {
return selectCount(MesProBatchDO::getLineId, lineId);
}
+ @Select("SELECT * FROM mes_pro_batch WHERE id = #{id} AND deleted = 0 FOR UPDATE")
+ MesProBatchDO selectByIdForUpdate(@org.apache.ibatis.annotations.Param("id") Long id);
+
+ @org.apache.ibatis.annotations.Update("UPDATE mes_pro_batch SET inbound_time = NOW(), inbound_event_id = #{eventId}, inbound_device_code = #{deviceCode}, inbound_line_code = #{lineCode}, inbound_bag_quantity = COALESCE(inbound_bag_quantity, 0) + 1, update_time = NOW() WHERE id = #{id} AND deleted = 0")
+ int markInbound(@org.apache.ibatis.annotations.Param("id") Long id, @org.apache.ibatis.annotations.Param("eventId") Long eventId,
+ @org.apache.ibatis.annotations.Param("deviceCode") String deviceCode, @org.apache.ibatis.annotations.Param("lineCode") String lineCode);
+
default PageResult<MesProBatchDO> selectPage(MesProBatchPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<MesProBatchDO>()
.likeIfPresent(MesProBatchDO::getCode, reqVO.getCode())
+ .likeIfPresent(MesProBatchDO::getTempCode, reqVO.getTempCode())
.eqIfPresent(MesProBatchDO::getItemId, reqVO.getItemId())
.eqIfPresent(MesProBatchDO::getLineId, reqVO.getLineId())
.likeIfPresent(MesProBatchDO::getLineCode, reqVO.getLineCode())
--
Gitblit v1.9.3