From 8f903210610b4dc084a72d4ca9f3d8086e5972eb Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 24 三月 2026 15:35:54 +0800
Subject: [PATCH] feat:1.生产报工(销售订单不创建生产订单) 2.报工增加投入总量 3.报工不扣投入库存数量

---
 src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java                         |    7 ++++++-
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |    9 ++++-----
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java                |    7 +------
 src/main/resources/mapper/production/ProductionProductMainMapper.xml                  |    1 +
 src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java    |    8 ++------
 src/main/java/com/ruoyi/production/pojo/ProductOrder.java                             |    2 +-
 src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java                  |    3 ++-
 7 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
index e4a0813..e4de27f 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -3,21 +3,17 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductProcessRouteItemDto;
 import com.ruoyi.production.dto.ProductionProductMainDto;
-import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
 import com.ruoyi.production.service.ProductionProductMainService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
 import java.util.List;
 
-@RequestMapping("productionProductMain")
+@RequestMapping("/productionProductMain")
 @RestController
 @Api(value = "鐢熶骇鎶ュ伐")
 public class ProductionProductMainController {
@@ -41,7 +37,7 @@
      * @param productionProductMainDto
      * @return
      */
-    @PostMapping("addProductMain")
+    @PostMapping("/addProductMain")
     public R addProductMain(@RequestBody ProductionProductMainDto productionProductMainDto) {
         return R.ok(productionProductMainService.addProductMain(productionProductMainDto));
     }
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
index 9e5e121..9776213 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -10,7 +10,6 @@
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 
 @Data
 @ExcelIgnoreUnannotated
@@ -61,5 +60,7 @@
     private BigDecimal workHours;
     private BigDecimal wages;
 
+    @ApiModelProperty(value = "鎶曞叆鎬婚噺(kg)")
+    private BigDecimal totalInvestment;
 
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
index f526f27..36a3846 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -109,11 +109,11 @@
      * 鍒堕�犵彮缁�
      */
     private String manufacturingTeam;
+
     /**
      * 鎵瑰彿
      */
     @ApiModelProperty(value = "鎵瑰彿")
-    @Excel(name = "鎵瑰彿")
     private String batchNo;
 
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
index 4efc694..24eca2f 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -121,5 +120,11 @@
     @ApiModelProperty(value = "瀹屾垚鏁伴噺")
     private BigDecimal completeQuantity;
 
+    /**
+     * 鎶曞叆鎬婚噺
+     */
+    @ApiModelProperty(value = "鎶曞叆鎬婚噺(kg)")
+    private BigDecimal totalInvestment;
+
 
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index fa34114..272ea6b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -141,7 +141,7 @@
         productionProductMainMapper.insert(productionProductMain);
         /*鏂板鎶ュ伐鎶曞叆琛�*/
         List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
-        if (productStructureDtos.size() == 0) {
+        if (productStructureDtos.isEmpty()) {
             //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
             ProductStructureDto productStructureDto = new ProductStructureDto();
             productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
@@ -155,8 +155,6 @@
             productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
             productionProductInput.setProductMainId(productionProductMain.getId());
             productionProductInputMapper.insert(productionProductInput);
-            stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
-
         }
         /*鏂板鎶ュ伐浜у嚭琛�*/
         ProductionProductOutput productionProductOutput = new ProductionProductOutput();
@@ -165,8 +163,8 @@
         productionProductOutput.setQuantity(dto.getQuantity() != null ? dto.getQuantity() : BigDecimal.ZERO);
         productionProductOutput.setScrapQty(dto.getScrapQty() != null ? dto.getScrapQty() : BigDecimal.ZERO);
         productionProductOutputMapper.insert(productionProductOutput);
-        //鍚堟牸鏁伴噺=鎶ュ伐鏁伴噺-鎶ュ簾鏁伴噺
-        BigDecimal productQty = productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty());
+        //鍚堟牸鏁伴噺=鎶ュ伐鏁伴噺
+        BigDecimal productQty = productionProductOutput.getQuantity();
         //鍙湁鍚堟牸鏁伴噺>0鎵嶈兘澧炲姞鐩稿簲鏁版嵁
         if (productQty.compareTo(BigDecimal.ZERO) > 0) {
             /*鏂板璐ㄦ*/
@@ -220,6 +218,7 @@
             if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) == 0) {
                 productWorkOrder.setActualEndTime(LocalDate.now());//瀹為檯缁撴潫鏃堕棿
             }
+            productWorkOrder.setTotalInvestment(dto.getTotalInvestment());
             productWorkOrderMapper.updateById(productWorkOrder);
             //鐢熶骇璁㈠崟
             ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 8f13c5e..2f9632b 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -9,7 +9,6 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.service.AccountIncomeService;
-import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
 import com.ruoyi.basic.mapper.CustomerMapper;
 import com.ruoyi.basic.mapper.ProductMapper;
 import com.ruoyi.basic.mapper.ProductModelMapper;
@@ -27,19 +26,15 @@
 import com.ruoyi.other.mapper.TempFileMapper;
 import com.ruoyi.other.pojo.TempFile;
 import com.ruoyi.production.mapper.*;
-import com.ruoyi.production.pojo.*;
 import com.ruoyi.production.service.ProductionProductMainService;
-import com.ruoyi.production.service.impl.ProductionProductMainServiceImpl;
 import com.ruoyi.project.system.domain.SysDept;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysDeptMapper;
 import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.quality.mapper.QualityInspectMapper;
-import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.sales.dto.*;
 import com.ruoyi.sales.mapper.*;
 import com.ruoyi.sales.pojo.*;
-import com.ruoyi.sales.service.ISalesLedgerProductService;
 import com.ruoyi.sales.service.ISalesLedgerService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -770,7 +765,7 @@
                 salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
                 salesLedgerProductMapper.insert(salesLedgerProduct);
                 // 娣诲姞鐢熶骇鏁版嵁
-                salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
+//                salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
             }
         }
     }
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index a122e90..256a984 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -16,6 +16,7 @@
         select ppm.*,
         pwo.work_order_no as workOrderNo,
         pwo.status as workOrderStatus,
+        pwo.total_investment as totalInvestment,
         u.nick_name as nickName,
         p.product_name as productName,
         pp.name as process,

--
Gitblit v1.9.3