diff --git a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java index f34f08f1..adf21441 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java @@ -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 itemIds = bo.getItemId(); + if (itemIds != null && !itemIds.isEmpty()) { + // 查询检查项的详细信息 + List checkItems = wmsCheckItemMapper.selectBatchIds(itemIds); + + Map 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()); }