diff --git a/klp-ui/src/api/wms/pendingAction.js b/klp-ui/src/api/wms/pendingAction.js index bd07b494..dd706eca 100644 --- a/klp-ui/src/api/wms/pendingAction.js +++ b/klp-ui/src/api/wms/pendingAction.js @@ -149,6 +149,15 @@ export function exportPendingAction(query) { }) } +// 查询历史钢卷待完成操作列表(dataType=0 & actionStatus != 2) +export function listStalePendingAction(query) { + return request({ + url: '/wms/coilPendingAction/staleList', + method: 'get', + params: query + }) +} + /** * 还原被删除的钢卷 */ diff --git a/klp-ui/src/views/wms/todo/stale.vue b/klp-ui/src/views/wms/todo/stale.vue new file mode 100644 index 00000000..a427b3c9 --- /dev/null +++ b/klp-ui/src/views/wms/todo/stale.vue @@ -0,0 +1,85 @@ + + + diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java index e5c36445..a58e1c2c 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java @@ -177,7 +177,31 @@ public class WmsCoilPendingActionServiceImpl implements IWmsCoilPendingActionSer QueryWrapper lqw = Wrappers.query(); lqw.ne("wcpa.action_status", 2); lqw.eq("wcpa.del_flag", 0); + lqw.orderByDesc("wcpa.create_time"); + lqw.orderByDesc("wcpa.scan_time"); Page result = baseMapper.selectStaleActionVoPagePlus(pageQuery.build(), lqw); + List records = result.getRecords(); + if (records != null && !records.isEmpty()) { + Set userNames = records.stream() + .flatMap(v -> java.util.stream.Stream.of(v.getCreateBy(), v.getOperatorName())) + .filter(StringUtils::isNotBlank) + .collect(Collectors.toSet()); + if (!userNames.isEmpty()) { + Map nickMap = userService.selectNickNameMapByUserNames(records.stream() + .flatMap(v -> java.util.stream.Stream.of(v.getCreateBy(), v.getOperatorName())) + .filter(StringUtils::isNotBlank) + .distinct() + .collect(Collectors.toList())); + records.forEach(item -> { + if (StringUtils.isNotBlank(item.getCreateBy())) { + item.setCreateByName(nickMap.getOrDefault(item.getCreateBy(), item.getCreateBy())); + } + if (StringUtils.isNotBlank(item.getOperatorName())) { + item.setOperatorByName(nickMap.getOrDefault(item.getOperatorName(), item.getOperatorName())); + } + }); + } + } return TableDataInfo.build(result); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index db48d116..2fa05f60 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -1344,17 +1344,25 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { @Override @Transactional(rollbackFor = Exception.class) public String updateByBo(WmsMaterialCoilBo bo, String qrcodeStepType) { + String result; // 判断是否批量更新 if (bo.getNewCoils() != null && !bo.getNewCoils().isEmpty()) { // 批量更新逻辑(分卷/合卷) - return updateByBatch(bo); // 分卷返回逗号分隔的ID,合卷返回单个ID + result = updateByBatch(bo); // 分卷返回逗号分隔的ID,合卷返回单个ID } else { // 单个更新逻辑,需要coilId if (bo.getCoilId() == null) { throw new RuntimeException("钢卷ID不能为空"); } - return updateBySingle(bo, qrcodeStepType); // 返回新钢卷ID字符串 + result = updateBySingle(bo, qrcodeStepType); // 返回新钢卷ID字符串 } + + // 如果有关联的操作记录ID,调用完成接口 + if (bo.getActionId() != null && bo.getActionId() > 0) { + coilPendingActionService.completeAction(bo.getActionId(), result); + } + + return result; } /**