liding
12 小时以前 6b7bd186b3216dbc991eba9db751b59dd95492ad
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.production.service.impl;
import cn.hutool.core.util.BooleanUtil;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,8 +9,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductStructureDto;
@@ -16,7 +17,6 @@
import com.ruoyi.production.pojo.*;
import com.ruoyi.production.service.ProductOrderService;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -24,6 +24,7 @@
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@@ -67,7 +68,17 @@
    @Override
    public IPage<ProductOrderDto> pageProductOrder(Page page, ProductOrderDto productOrder) {
        return productOrderMapper.pageProductOrder(page, productOrder);
        IPage<ProductOrderDto> productOrderDtoIPage = productOrderMapper.pageProductOrder(page, productOrder);
        List<ProductOrderDto> productOrderDtos = productOrderDtoIPage.getRecords();
        for (int i = 0; i < productOrderDtos.size(); i++) {
            ProductOrderDto productOrderDto = productOrderDtos.get(i);
            if (BooleanUtil.isTrue(productOrderDto.getIsEnd())) {
                // 如果生产订单被结束,则将完成进度设置为100%
                productOrderDto.setCompletionStatus(BigDecimal.valueOf(100));
            }
        }
        return productOrderDtoIPage;
    }
    @Override
@@ -201,4 +212,21 @@
    }
    @Override
    public int finishOrder(Long orderId) {
        ProductOrder productOrder = new ProductOrder();
        productOrder.setId(orderId);
        productOrder.setIsEnd(true);
        return productOrderMapper.updateById(productOrder);
    }
    @Override
    public int cleanRecord(Long id, Map<String, Object> cleanRecord) {
        ProductOrder productOrder = productOrderMapper.selectById(id);
        if (productOrder == null) {
            throw new BaseException("订单不存在");
        }
        productOrder.setCleanRecord(JSON.toJSONString(cleanRecord));
        return productOrderMapper.updateById(productOrder);
    }
}