From b852254d90e7d1955db31db154193ec8ee84d8b3 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 10:57:59 +0800
Subject: [PATCH] feat(hrm): 新增员工用工性质、班组归属字段及考勤异常处理优化
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskResultServiceImpl.java | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskResultServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskResultServiceImpl.java
index f7c8664..a7fbc02 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskResultServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskResultServiceImpl.java
@@ -15,6 +15,7 @@
import java.math.BigDecimal;
import java.util.List;
+import java.util.Objects;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_STOCK_TAKING_TASK_LINE_ALREADY_TAKEN;
@@ -132,6 +133,29 @@
return stockTakingTaskResultMapper.selectListByTaskId(taskId);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void upsertResultForImport(MesWmStockTakingTaskLineDO line, BigDecimal takingQuantity) {
+ // 1. 鏌ヨ璇ヤ换鍔′笅鏄惁宸插瓨鍦ㄨ琛岀殑鐩樼偣缁撴灉
+ MesWmStockTakingTaskResultDO existing = stockTakingTaskResultMapper.selectListByTaskId(line.getTaskId()).stream()
+ .filter(result -> Objects.equals(result.getLineId(), line.getId()))
+ .findFirst().orElse(null);
+ if (existing != null) {
+ // 2. 宸插瓨鍦細瑕嗙洊瀹炵洏鏁伴噺锛堥噸澶嶅鍏ヤ互鏈�鍚庝竴娆′负鍑嗭級
+ existing.setTakingQuantity(takingQuantity);
+ stockTakingTaskResultMapper.updateById(existing);
+ return;
+ }
+ // 3. 涓嶅瓨鍦細鎸夌洏鐐硅缁村害鏂板缓锛岃处闈㈡暟閲忓彇琛岃处闈㈡暟閲忥紝淇濊瘉鏍搁攢宸鍙e緞涓�鑷�
+ MesWmStockTakingTaskResultDO result = MesWmStockTakingTaskResultDO.builder()
+ .taskId(line.getTaskId()).lineId(line.getId()).materialStockId(line.getMaterialStockId())
+ .itemId(line.getItemId()).batchId(line.getBatchId()).batchCode(line.getBatchCode())
+ .warehouseId(line.getWarehouseId()).locationId(line.getLocationId()).areaId(line.getAreaId())
+ .quantity(line.getQuantity()).takingQuantity(takingQuantity)
+ .build();
+ stockTakingTaskResultMapper.insert(result);
+ }
+
/**
* 鏍¢獙鐩樼偣缁撴灉鏄惁瀛樺湪
*
--
Gitblit v1.9.3