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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.klp.common.utils.StringUtils;
|
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.WmsCheckTaskItem;
|
||||||
import com.klp.mes.qc.domain.vo.WmsCheckItemVo;
|
import com.klp.mes.qc.domain.vo.WmsCheckItemVo;
|
||||||
import com.klp.mes.qc.mapper.WmsCheckItemMapper;
|
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 com.klp.mes.qc.service.IWmsCheckTaskService;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查任务Service业务层处理
|
* 检查任务Service业务层处理
|
||||||
@@ -37,6 +35,7 @@ import java.util.Collection;
|
|||||||
public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
|
public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
|
||||||
|
|
||||||
private final WmsCheckTaskMapper baseMapper;
|
private final WmsCheckTaskMapper baseMapper;
|
||||||
|
private final WmsCheckItemMapper wmsCheckItemMapper;
|
||||||
private final WmsCheckTaskItemMapper wmsCheckTaskItemMapper;
|
private final WmsCheckTaskItemMapper wmsCheckTaskItemMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -133,17 +132,43 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
|
|||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
boolean mainFlag = baseMapper.insert(add) > 0;
|
boolean mainFlag = baseMapper.insert(add) > 0;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
for (Long itemId : bo.getItemId()) {
|
|
||||||
WmsCheckTaskItem wmsCheckTaskItem = new WmsCheckTaskItem();
|
// 查询检查项的详细信息
|
||||||
wmsCheckTaskItem.setCheckTaskId(add.getTaskId());
|
List<Long> itemIds = bo.getItemId();
|
||||||
wmsCheckTaskItem.setCheckItemId(itemId);
|
if (itemIds != null && !itemIds.isEmpty()) {
|
||||||
int insertCount = wmsCheckTaskItemMapper.insert(wmsCheckTaskItem);
|
// 查询检查项的详细信息
|
||||||
if (insertCount <= 0) {
|
List<WmsCheckItem> checkItems = wmsCheckItemMapper.selectBatchIds(itemIds);
|
||||||
throw new RuntimeException("新增检查任务失败,检查项ID:" + itemId);
|
|
||||||
} else {
|
Map<Long, WmsCheckItem> itemMap = new HashMap<>();
|
||||||
count++;
|
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) {
|
if (mainFlag) {
|
||||||
bo.setTaskId(add.getTaskId());
|
bo.setTaskId(add.getTaskId());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user