| | |
| | | import com.ruoyi.project.system.service.ISysNoticeService; |
| | | import com.ruoyi.purchase.mapper.PurchaseLedgerMapper; |
| | | import com.ruoyi.purchase.pojo.PurchaseLedger; |
| | | import com.ruoyi.production.mapper.ProductionPlanMapper; |
| | | import com.ruoyi.production.pojo.ProductionPlan; |
| | | import com.ruoyi.quality.utils.QualityInspectHelper; |
| | | import com.ruoyi.sales.mapper.SalesLedgerMapper; |
| | | import com.ruoyi.sales.mapper.SalesLedgerProductMapper; |
| | | import com.ruoyi.sales.mapper.SalesQuotationMapper; |
| | | import com.ruoyi.sales.mapper.ShippingInfoMapper; |
| | | import com.ruoyi.sales.pojo.SalesLedger; |
| | | import com.ruoyi.sales.pojo.SalesLedgerProduct; |
| | | import com.ruoyi.sales.pojo.SalesQuotation; |
| | | import com.ruoyi.sales.pojo.ShippingInfo; |
| | | import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl; |
| | | import com.ruoyi.staff.mapper.HolidayApplicationMapper; |
| | | import com.ruoyi.staff.pojo.HolidayApplication; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | private final SalesLedgerProductMapper salesLedgerProductMapper; |
| | | private final StockUtils stockUtils; |
| | | private final SalesQuotationMapper salesQuotationMapper; |
| | | private final SalesLedgerMapper salesLedgerMapper; |
| | | private final SalesLedgerProductServiceImpl salesLedgerProductService; |
| | | private final ProductionPlanMapper productionPlanMapper; |
| | | private final ShippingInfoMapper shippingInfoMapper; |
| | | private final QualityInspectHelper qualityInspectHelper; |
| | | private final EnterpriseNewsScopeUserMapper enterpriseNewsScopeUserMapper; |
| | |
| | | ShippingInfo shippingInfo = shippingInfoMapper.selectById(vo.getBusinessId()); |
| | | if (shippingInfo != null) { |
| | | vo.setShippingNo(shippingInfo.getShippingNo()); |
| | | } |
| | | } else if (TypeEnums.SALES_LEDGER_APPROVAL.getCode().equals(vo.getBusinessType())) { |
| | | // 销售审批 - 查询销售合同号 |
| | | SalesLedger salesLedger = salesLedgerMapper.selectById(vo.getBusinessId()); |
| | | if (salesLedger != null) { |
| | | vo.setQuotationNo(salesLedger.getSalesContractNo()); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | if (TypeEnums.ENTERPRISE_NEWS_APPROVAL.getCode().equals(businessType)) { |
| | | handleNewsApprovalFinished(instance, status); |
| | | return; |
| | | } |
| | | if (TypeEnums.SALES_LEDGER_APPROVAL.getCode().equals(businessType)) { |
| | | handleSalesLedgerApprovalFinished(instance, status); |
| | | } |
| | | } |
| | | |
| | |
| | | salesQuotationMapper.updateById(salesQuote); |
| | | } |
| | | |
| | | private void handleSalesLedgerApprovalFinished(ApprovalInstance instance, String status) { |
| | | SalesLedger salesLedger = salesLedgerMapper.selectById(instance.getBusinessId()); |
| | | if (salesLedger == null) { |
| | | return; |
| | | } |
| | | if ("APPROVED".equals(status)) { |
| | | salesLedger.setApprovalStatus(2); |
| | | salesLedgerMapper.updateById(salesLedger); |
| | | // 审批通过后创建生产主计划 |
| | | createProductionPlansForApproved(salesLedger); |
| | | } else if ("REJECTED".equals(status)) { |
| | | salesLedger.setApprovalStatus(3); |
| | | salesLedgerMapper.updateById(salesLedger); |
| | | } else if ("PENDING".equals(status)) { |
| | | salesLedger.setApprovalStatus(1); |
| | | salesLedgerMapper.updateById(salesLedger); |
| | | } |
| | | } |
| | | |
| | | private void createProductionPlansForApproved(SalesLedger salesLedger) { |
| | | List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList( |
| | | new LambdaQueryWrapper<SalesLedgerProduct>() |
| | | .eq(SalesLedgerProduct::getSalesLedgerId, salesLedger.getId()) |
| | | .eq(SalesLedgerProduct::getIsProduction, true) |
| | | ); |
| | | for (SalesLedgerProduct product : products) { |
| | | salesLedgerProductService.addProductionDataForApproved(product, 2); |
| | | } |
| | | } |
| | | |
| | | private void handleShippingApprovalFinished(ApprovalInstance instance, String status) { |
| | | ShippingInfo shippingInfo = shippingInfoMapper.selectOne( |
| | | new LambdaQueryWrapper<ShippingInfo>() |