| | |
| | | import com.ruoyi.production.bean.dto.ProductionOperationTaskDto; |
| | | import com.ruoyi.production.bean.vo.ProductionOperationTaskVo; |
| | | import com.ruoyi.production.mapper.ProductionOrderMapper; |
| | | import com.ruoyi.production.mapper.ProductionOrderRoutingOperationMapper; |
| | | import com.ruoyi.production.mapper.ProductionOperationTaskMapper; |
| | | import com.ruoyi.production.pojo.ProductionOrder; |
| | | import com.ruoyi.production.pojo.ProductionOperationTask; |
| | | import com.ruoyi.production.pojo.ProductionOrderRoutingOperation; |
| | | import com.ruoyi.production.service.ProductionOperationTaskService; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.mapper.SysUserMapper; |
| | |
| | | |
| | | private final SysUserMapper sysUserMapper; |
| | | private final ProductionOrderMapper productionOrderMapper; |
| | | private final ProductionOrderRoutingOperationMapper productionOrderRoutingOperationMapper; |
| | | |
| | | private final FileUtil fileUtil; |
| | | |
| | |
| | | // 分页查询生产工序任务 |
| | | Page<ProductionOperationTaskVo> voPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); |
| | | IPage<ProductionOperationTaskVo> result = baseMapper.pageProductionOperationTask(voPage, dto); |
| | | fillOperationTypes(result.getRecords()); |
| | | fillUserNames(result.getRecords()); |
| | | return result; |
| | | } |
| | |
| | | public List<ProductionOperationTaskVo> listProductionOperationTask(ProductionOperationTaskDto dto) { |
| | | // 查询工序任务列表 |
| | | List<ProductionOperationTaskVo> result = BeanUtil.copyToList(this.list(buildQueryWrapper(dto)), ProductionOperationTaskVo.class); |
| | | fillOperationTypes(result); |
| | | fillUserNames(result); |
| | | return result; |
| | | } |
| | |
| | | return null; |
| | | } |
| | | ProductionOperationTaskVo vo = BeanUtil.copyProperties(item, ProductionOperationTaskVo.class); |
| | | fillOperationTypes(Collections.singletonList(vo)); |
| | | if (item.getProductionOrderId() != null) { |
| | | ProductionOrder productionOrder = productionOrderMapper.selectById(item.getProductionOrderId()); |
| | | if (productionOrder != null) { |
| | |
| | | @Override |
| | | public List<ProductionOperationTaskVo> getOperation(ProductionOperationTaskDto dto) { |
| | | // 查询工序任务列表 |
| | | return baseMapper.getOperation(dto); |
| | | List<ProductionOperationTaskVo> result = baseMapper.getOperation(dto); |
| | | fillOperationTypes(result); |
| | | return result; |
| | | } |
| | | |
| | | private void fillOperationTypes(List<ProductionOperationTaskVo> voList) { |
| | | // 回填工序类型(0 计时 / 1 计件) |
| | | if (voList == null || voList.isEmpty()) { |
| | | return; |
| | | } |
| | | Set<Long> operationIds = voList.stream() |
| | | .filter(Objects::nonNull) |
| | | .map(ProductionOperationTaskVo::getProductionOrderRoutingOperationId) |
| | | .filter(Objects::nonNull) |
| | | .collect(Collectors.toCollection(LinkedHashSet::new)); |
| | | if (operationIds.isEmpty()) { |
| | | return; |
| | | } |
| | | Map<Long, Integer> typeByOperationId = productionOrderRoutingOperationMapper |
| | | .selectBatchIds(new ArrayList<>(operationIds)) |
| | | .stream() |
| | | .filter(Objects::nonNull) |
| | | .collect(Collectors.toMap( |
| | | ProductionOrderRoutingOperation::getId, |
| | | ProductionOrderRoutingOperation::getType, |
| | | (left, right) -> left |
| | | )); |
| | | for (ProductionOperationTaskVo vo : voList) { |
| | | if (vo == null || vo.getType() != null || vo.getProductionOrderRoutingOperationId() == null) { |
| | | continue; |
| | | } |
| | | vo.setType(typeByOperationId.get(vo.getProductionOrderRoutingOperationId())); |
| | | } |
| | | } |
| | | } |