feat(qc): 新增检查任务时复制检查项详细信息
- 引入WmsCheckItemMapper依赖以查询检查项详情 - 在新增检查任务时,根据检查项ID查询并复制目标值、标准值等字段 -优化检查任务项插入逻辑,确保检查项数据完整性- 使用Map结构提高检查项查找效率 -保持原有异常处理机制,确保数据插入失败时能及时抛出异常
This commit is contained in:
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.mes.qc.domain.WmsCheckItem;
|
||||
import com.klp.mes.qc.domain.WmsCheckTaskItem;
|
||||
import com.klp.mes.qc.domain.vo.WmsCheckItemVo;
|
||||
import com.klp.mes.qc.mapper.WmsCheckItemMapper;
|
||||
@@ -21,10 +22,7 @@ import com.klp.mes.qc.mapper.WmsCheckTaskMapper;
|
||||
import com.klp.mes.qc.service.IWmsCheckTaskService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 检查任务Service业务层处理
|
||||
@@ -37,6 +35,7 @@ import java.util.Collection;
|
||||
public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
|
||||
|
||||
private final WmsCheckTaskMapper baseMapper;
|
||||
private final WmsCheckItemMapper wmsCheckItemMapper;
|
||||
private final WmsCheckTaskItemMapper wmsCheckTaskItemMapper;
|
||||
|
||||
/**
|
||||
@@ -133,17 +132,43 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
|
||||
validEntityBeforeSave(add);
|
||||
boolean mainFlag = baseMapper.insert(add) > 0;
|
||||
int count = 0;
|
||||
for (Long itemId : bo.getItemId()) {
|
||||
WmsCheckTaskItem wmsCheckTaskItem = new WmsCheckTaskItem();
|
||||
wmsCheckTaskItem.setCheckTaskId(add.getTaskId());
|
||||
wmsCheckTaskItem.setCheckItemId(itemId);
|
||||
int insertCount = wmsCheckTaskItemMapper.insert(wmsCheckTaskItem);
|
||||
if (insertCount <= 0) {
|
||||
throw new RuntimeException("新增检查任务失败,检查项ID:" + itemId);
|
||||
} else {
|
||||
count++;
|
||||
|
||||
// 查询检查项的详细信息
|
||||
List<Long> itemIds = bo.getItemId();
|
||||
if (itemIds != null && !itemIds.isEmpty()) {
|
||||
// 查询检查项的详细信息
|
||||
List<WmsCheckItem> checkItems = wmsCheckItemMapper.selectBatchIds(itemIds);
|
||||
|
||||
Map<Long, WmsCheckItem> itemMap = new HashMap<>();
|
||||
for (WmsCheckItem item : checkItems) {
|
||||
itemMap.put(item.getItemId(), item);
|
||||
}
|
||||
|
||||
// 插入检查任务项
|
||||
for (Long itemId : itemIds) {
|
||||
WmsCheckTaskItem wmsCheckTaskItem = new WmsCheckTaskItem();
|
||||
wmsCheckTaskItem.setCheckTaskId(add.getTaskId());
|
||||
wmsCheckTaskItem.setCheckItemId(itemId);
|
||||
|
||||
// 复制检查项的五个字段值
|
||||
WmsCheckItem checkItem = itemMap.get(itemId);
|
||||
if (checkItem != null) {
|
||||
wmsCheckTaskItem.setTargetUpper(checkItem.getTargetUpper());
|
||||
wmsCheckTaskItem.setTargetLower(checkItem.getTargetLower());
|
||||
wmsCheckTaskItem.setStandardTarget(checkItem.getStandardTarget());
|
||||
wmsCheckTaskItem.setUnit(checkItem.getUnit());
|
||||
wmsCheckTaskItem.setQualitativeQuantitative(checkItem.getQualitativeQuantitative());
|
||||
}
|
||||
|
||||
int insertCount = wmsCheckTaskItemMapper.insert(wmsCheckTaskItem);
|
||||
if (insertCount <= 0) {
|
||||
throw new RuntimeException("新增检查任务失败,检查项ID:" + itemId);
|
||||
} else {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mainFlag) {
|
||||
bo.setTaskId(add.getTaskId());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user