maven
6 天以前 ea7c1df32b0c8830173ba01a647706a5ded10ce8
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -16,10 +16,13 @@
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.procurementrecord.dto.Details;
import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.controller.ProductWorkOrderController;
import com.ruoyi.production.dto.ProductStructureDto;
@@ -45,6 +48,7 @@
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -71,6 +75,9 @@
    private ProcessRouteItemMapper processRouteItemMapper;
    private SalesLedgerProductMapper salesLedgerProductMapper;
    private ProcurementRecordService procurementRecordService;
    private ProductModelMapper productModelMapper;
@@ -239,36 +246,52 @@
        productionProductOutputMapper.insert(productionProductOutput);
        //对应的过程检或者出厂检
        List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
        if (productProcessRouteItem.getDragSort()==productProcessRouteItems.size()){
            //最后一道工序生成出厂检
            Product product = productMapper.selectById(productModel.getProductId());
            QualityInspect qualityInspect = new QualityInspect();
            qualityInspect.setProductId(product.getId());
            qualityInspect.setProductName(product.getProductName());
            qualityInspect.setModel(productModel.getModel());
            qualityInspect.setUnit(productModel.getUnit());
            qualityInspect.setQuantity(dto.getQuantity());
            qualityInspect.setProcess(productProcess.getName());
            qualityInspect.setInspectState(0);
            qualityInspect.setInspectType(2);  // 去掉自动进入过程检验逻辑
            qualityInspect.setProductMainId(productionProductMain.getId());
            qualityInspect.setProductModelId(productModel.getId());
            qualityInspectMapper.insert(qualityInspect);
            List<QualityTestStandardBinding> qualityTestStandardBindings = qualityTestStandardBindingMapper.selectList(
                    new LambdaQueryWrapper<QualityTestStandardBinding>()
                            .eq(QualityTestStandardBinding::getProductId, product.getId()));
            if (qualityTestStandardBindings.size()>0){
                qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
                                .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandardBindings.get(0).getTestStandardId()))
                        .forEach(qualityTestStandardParam -> {
                            QualityInspectParam param = new QualityInspectParam();
                            BeanUtils.copyProperties(qualityTestStandardParam, param);
                            param.setId(null);
                            param.setInspectId(qualityInspect.getId());
                            qualityInspectParamMapper.insert(param);
                        });
            }
        }
//        if (productProcessRouteItem.getDragSort()==productProcessRouteItems.size()){
//            //最后一道工序生成出厂检
//            Product product = productMapper.selectById(productModel.getProductId());
//            QualityInspect qualityInspect = new QualityInspect();
//            qualityInspect.setProductId(product.getId());
//            qualityInspect.setProductName(product.getProductName());
//            qualityInspect.setModel(productModel.getModel());
//            qualityInspect.setUnit(productModel.getUnit());
//            qualityInspect.setQuantity(dto.getQuantity());
//            qualityInspect.setProcess(productProcess.getName());
//            qualityInspect.setInspectState(0);
//            qualityInspect.setInspectType(2);  // 去掉自动进入过程检验逻辑
//            qualityInspect.setProductMainId(productionProductMain.getId());
//            qualityInspect.setProductModelId(productModel.getId());
//            qualityInspectMapper.insert(qualityInspect);
//            List<QualityTestStandardBinding> qualityTestStandardBindings = qualityTestStandardBindingMapper.selectList(
//                    new LambdaQueryWrapper<QualityTestStandardBinding>()
//                            .eq(QualityTestStandardBinding::getProductId, product.getId()));
//            if (qualityTestStandardBindings.size()>0){
//                qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
//                                .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandardBindings.get(0).getTestStandardId()))
//                        .forEach(qualityTestStandardParam -> {
//                            QualityInspectParam param = new QualityInspectParam();
//                            BeanUtils.copyProperties(qualityTestStandardParam, param);
//                            param.setId(null);
//                            param.setInspectId(qualityInspect.getId());
//                            qualityInspectParamMapper.insert(param);
//                        });
//            }
//        }
        ProcurementAddDto procurementRecordOutAdd = new ProcurementAddDto();
        procurementRecordOutAdd.setType(2);
        procurementRecordOutAdd.setTypeName("生产出厂检验合格入库");
        procurementRecordOutAdd.setNickName(SecurityUtils.getLoginUser().getNickName());
        List<Details> details = new ArrayList<>();
        Details details1 = new Details();
        details1.setInboundQuantity(dto.getQuantity());
//        details1.setId(Math.toIntExact(salesLedgerProduct.getId()));
//        details1.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice());
//        details1.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice());
//        details1.setProductModelId(salesLedgerProduct.getProductModelId());
        details.add(details1);
        procurementRecordOutAdd.setDetails(details);
//        procurementRecordOutAdd.setQualityInspectId(qualityInspect.getId());
        procurementRecordService.add(procurementRecordOutAdd);
        /*更新工单和生产订单*/
        ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());