src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -38,6 +38,18 @@ @Excel(name = "报废数量") private BigDecimal scrapQty = BigDecimal.ZERO; /** * 补产数量 */ @Excel(name = "补产数量") private BigDecimal replenishQty; /** * 加放数 */ @Excel(name = "加放数") private BigDecimal addQty; //产品名称 @Excel(name = "产品名称") private String productName; @@ -74,10 +86,9 @@ private List<Team> teamList; /** * 补产数量 */ private BigDecimal replenishQty; @Data @AllArgsConstructor src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
@@ -47,4 +47,10 @@ @TableField(value = "replenish_qty") private BigDecimal replenishQty; /** * 加放数 */ @TableField(value = "add_qty") private BigDecimal addQty; } src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -200,6 +200,7 @@ productionProductOutput.setQuantity(dto.getQuantity() != null ? dto.getQuantity() : BigDecimal.ZERO); productionProductOutput.setScrapQty(dto.getScrapQty() != null ? dto.getScrapQty() : BigDecimal.ZERO); productionProductOutput.setReplenishQty(dto.getReplenishQty()); productionProductOutput.setAddQty(dto.getAddQty() != null ? dto.getAddQty() : BigDecimal.ZERO); productionProductOutputMapper.insert(productionProductOutput); //合格数量=报工数量-报废数量 BigDecimal productQty = productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty()); @@ -211,7 +212,7 @@ if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) { productWorkOrder.setActualStartTime(LocalDate.now());//实际开始时间 } if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) == 0) { if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) >= 0) { productWorkOrder.setActualEndTime(LocalDate.now());//实际结束时间 } productWorkOrder.setEndProductTime(now); @@ -224,7 +225,7 @@ if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) { //如果是最后一道工序报工之后生产订单完成数量+ productOrder.setCompleteQuantity(productOrder.getCompleteQuantity().add(productQty)); if (productOrder.getCompleteQuantity().compareTo(productOrder.getQuantity()) == 0) { if (productOrder.getCompleteQuantity().compareTo(productOrder.getQuantity()) >= 0) { productOrder.setEndTime(now);//结束时间 } } src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -22,6 +22,7 @@ pm.model as productModelName, ppo.quantity, ppo.scrap_qty, ppo.add_qty, pm.unit, sl.sales_contract_no salesContractNo from @@ -83,7 +84,10 @@ IFNULL( TIMESTAMPDIFF(MINUTE, ppm.start_time, ppm.end_time), 0 ) AS work_minutes ) AS work_minutes, ppo.add_qty, ppo.scrap_qty, ppo.replenish_qty FROM production_product_main ppm LEFT JOIN sales_ledger_production_accounting slpa ON slpa.product_main_id = ppm.id src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -22,7 +22,7 @@ FROM sales_ledger_production_accounting t4 LEFT JOIN sales_ledger T1 ON T1.id = t4.sales_ledger_id left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id and slp.type = 1 left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id and t3.type = 1 <where> t3.type = 1 <if test="salesLedgerDto.schedulingUserName != null and salesLedgerDto.schedulingUserName != '' ">