zouyu
7 天以前 b333211261231c5dfdcaddaed6c1318834f0a8b8
src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -58,7 +58,7 @@
    @Override
    public IPage<SalesLedgerSchedulingDto> listPage(Page page, SalesLedgerSchedulingDto salesLedgerSchedulingDto) {
        IPage<SalesLedgerSchedulingDto> list = salesLedgerSchedulingMapper.listPage(page, salesLedgerSchedulingDto);
        if(list.getTotal() == 0){
        if(CollectionUtils.isEmpty(list.getRecords())){
            return list;
        }
        Set<Long> collect = list.getRecords().stream().map(SalesLedgerSchedulingDto::getSalesLedgerProductId).collect(Collectors.toSet());
@@ -66,7 +66,6 @@
        salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerProductId, collect)
                .ne(SalesLedgerWork::getStatus, 1);
        List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
        List<SalesLedgerSchedulingDto> list1 = new ArrayList<>();
        list.getRecords().forEach(i -> {
            // 获取完成数量
            i.setSuccessNum(salesLedgerWorks
@@ -86,12 +85,14 @@
            // 状态 = 数量和完工数量比较
            if(i.getSchedulingNum().compareTo(new BigDecimal(0)) == 0){
                i.setStatus("未完成");
                i.setStatus("未开始");
            } else if(i.getQuantity().compareTo(i.getSchedulingNum()) <= 0){
                i.setStatus("已完成");
            }else{
                i.setStatus("生产中");
            }
            // 进度保留两位小数
            i.setProgress(i.getSchedulingNum().divide(i.getQuantity(),4,RoundingMode.CEILING).multiply(new BigDecimal(100)));
        });
        return list;
@@ -301,12 +302,6 @@
    @Override
    public IPage<SalesLedgerSchedulingProcessDto> listPageProcess(Page page, SalesLedgerSchedulingProcessDto salesLedgerSchedulingDto) {
        IPage<SalesLedgerSchedulingProcessDto> list = salesLedgerSchedulingMapper.listPageProcess(page, salesLedgerSchedulingDto);
//        Set<Long> collect = list.getRecords().stream().map(SalesLedgerSchedulingProcessDto::getId).collect(Collectors.toSet());
//        if(CollectionUtils.isEmpty(collect)) return list;
//        LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
//        salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerSchedulingId, collect)
//                .ne(SalesLedgerWork::getStatus, 1);
//        List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
        list.getRecords().forEach(i -> {
            // 计算生产总量 = 规格 * 数量 / 1000
            String[] split = i.getSpecificationModel().split("\\*");
@@ -375,21 +370,21 @@
        return 0;
    }
    @Override
    public void exportOne(HttpServletResponse response) {
        List<SalesLedgerSchedulingDto> list = salesLedgerSchedulingMapper.list();
        if(CollectionUtils.isEmpty(list)){
            throw new RuntimeException("无导出数据");
        }
        List<DaiDto> dais = new ArrayList<>();
        list.forEach(i -> {
            DaiDto daiDto = new DaiDto();
            BeanUtils.copyProperties(i, daiDto);
            // 获取待排产数量
            daiDto.setDaiNum(daiDto.getQuantity().subtract(i.getSchedulingNum()));
            dais.add(daiDto);
        });
        ExcelUtil<DaiDto> util = new ExcelUtil<>(DaiDto.class);
        util.exportExcel(response, dais, "生产派工");
    }
//    @Override
//    public void exportOne(HttpServletResponse response) {
//        List<SalesLedgerSchedulingDto> list = salesLedgerSchedulingMapper.list();
//        if(CollectionUtils.isEmpty(list)){
//            throw new RuntimeException("无导出数据");
//        }
//        List<DaiDto> dais = new ArrayList<>();
//        list.forEach(i -> {
//            DaiDto daiDto = new DaiDto();
//            BeanUtils.copyProperties(i, daiDto);
//            // 获取待排产数量
//            daiDto.setDaiNum(daiDto.getQuantity().subtract(i.getSchedulingNum()));
//            dais.add(daiDto);
//        });
//        ExcelUtil<DaiDto> util = new ExcelUtil<>(DaiDto.class);
//        util.exportExcel(response, dais, "生产派工");
//    }
}