| | |
| | | import com.ruoyi.quality.pojo.QualityTestStandard; |
| | | import com.ruoyi.quality.pojo.QualityTestStandardParam; |
| | | import com.ruoyi.sales.pojo.SalesLedgerProduct; |
| | | import com.ruoyi.sales.pojo.ShippingInfo; |
| | | import com.ruoyi.sales.pojo.ShippingProductDetail; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 创建出厂检验单(发货审批通过后自动生成) |
| | | * @param shippingInfo 发货信息 |
| | | * @param detail 发货产品明细 |
| | | * @param customerName 客户名称 |
| | | * @param salesLedgerId 销售台账ID |
| | | */ |
| | | public void addFactoryInspect(ShippingInfo shippingInfo, ShippingProductDetail detail, |
| | | String customerName, Long salesLedgerId) { |
| | | QualityInspect qualityInspect = new QualityInspect(); |
| | | qualityInspect.setInspectType(2); // 出厂检验 |
| | | qualityInspect.setCustomer(customerName); |
| | | qualityInspect.setSalesLedgerId(salesLedgerId); |
| | | qualityInspect.setShippingInfoId(shippingInfo.getId()); // 关联发货信息 |
| | | qualityInspect.setProductModelId(detail.getProductModelId()); |
| | | qualityInspect.setQuantity(detail.getQuantity()); |
| | | qualityInspect.setInspectState(0); // 未提交 |
| | | |
| | | // 通过 productModelId 查询产品信息 |
| | | if (detail.getProductModelId() != null) { |
| | | com.ruoyi.basic.pojo.ProductModel productModel = qualityInspectMapper.selectProductModelById(detail.getProductModelId()); |
| | | if (productModel != null) { |
| | | qualityInspect.setProductId(productModel.getProductId()); |
| | | qualityInspect.setModel(productModel.getModel()); |
| | | qualityInspect.setUnit(productModel.getUnit()); |
| | | // 查询产品名称 |
| | | if (productModel.getProductId() != null) { |
| | | com.ruoyi.basic.pojo.Product product = qualityInspectMapper.selectProductById(productModel.getProductId()); |
| | | if (product != null) { |
| | | qualityInspect.setProductName(product.getProductName()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | qualityInspectMapper.insert(qualityInspect); |
| | | |
| | | // 查询出厂检验标准,初始化检验参数 |
| | | if (qualityInspect.getProductId() != null) { |
| | | List<QualityTestStandard> qualityTestStandardList = qualityTestStandardMapper |
| | | .getQualityTestStandardByProductId(qualityInspect.getProductId(), 2, null); |
| | | |
| | | if (!qualityTestStandardList.isEmpty()) { |
| | | QualityTestStandard firstStandard = qualityTestStandardList.get(0); |
| | | qualityInspect.setTestStandardId(firstStandard.getId()); |
| | | applyInspectRuleDefaults(qualityInspect, firstStandard, detail.getQuantity()); |
| | | qualityInspectMapper.updateById(qualityInspect); |
| | | |
| | | List<QualityTestStandardParam> standardParams = qualityTestStandardParamMapper.selectList( |
| | | Wrappers.<QualityTestStandardParam>lambdaQuery() |
| | | .eq(QualityTestStandardParam::getTestStandardId, firstStandard.getId())); |
| | | |
| | | for (QualityTestStandardParam standardParam : standardParams) { |
| | | QualityInspectParam param = new QualityInspectParam(); |
| | | BeanUtils.copyProperties(standardParam, param); |
| | | param.setId(null); |
| | | param.setInspectId(qualityInspect.getId()); |
| | | qualityInspectParamMapper.insert(param); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |