buhuazhen
9 天以前 3ef1cf899c2bf558b934fd2c5dfdf0a970df8c43
main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java
@@ -49,6 +49,8 @@
    private final PendingInventoryMapper pendingInventoryMapper;
    private final ProductionSchedulingMapper productionSchedulingMapper;
    @Override
    public IPage<ProductionMasterDto> selectPMList(Page page, ProductionMasterDto productionMasterDto) {
        // 1. 构建主表查询条件
@@ -322,8 +324,30 @@
            pending.setRegistrantId(p.getProducerId());
            pending.setRegistrationDate(LocalDate.now());
            pending.setCode(generateCode(p.getType()));
            pending.setType(p.getType());
            pendingInventoryMapper.insert(pending);
        }
    }
    private String generateCode(Integer type) {
        LocalDate now = LocalDate.now();
        String year = now.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
        String s = "";
        //生成编码
        switch (type){
            case 1:
                s = "CP";
                break;
            case 2:
                s = "YL";
                break;
        }
        // 查询当天待入库新增条数
        Long count = pendingInventoryMapper.selectCount(new LambdaQueryWrapper<PendingInventory>()
                .apply("date_trunc('day', create_time) = date_trunc('day', now())"));
        return s + year + String.format("%03d", count + 1);
    }
    @Override
@@ -366,6 +390,14 @@
                    .collect(Collectors.toList());
            productionInventoryMapper.deleteBatchIds(inventoryIds);
        }
        List<Production> productions = productionMapper.selectList(new LambdaQueryWrapper<Production>()
                .in(Production::getProductionMasterId, idList));
        // 删除生产报工记录
        productionSchedulingMapper.delete(
                new LambdaQueryWrapper<ProductionScheduling>()
                        .in(ProductionScheduling::getProductionId, productions.stream().map(Production::getId).collect(Collectors.toList()))
        );
        // 删除生产明细
        productionMapper.delete(
@@ -373,6 +405,7 @@
                        .in(Production::getProductionMasterId, idList)
        );
        // 5. 删除主记录
        return productionMasterMapper.deleteBatchIds(idList);
    }