From 67de53af3d78d28eda960037f39646b6886a9ee8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 27 三月 2026 15:13:05 +0800
Subject: [PATCH] yys 1.生产修改物料投入逻辑

---
 src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java                    |    7 +
 src/main/java/com/ruoyi/production/service/ProductStructureRecordService.java          |    8 ++
 src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java           |   13 +-
 src/main/resources/mapper/production/ProductionProductInputMapper.xml                  |    9 +-
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java  |   42 +++++-----
 src/main/java/com/ruoyi/production/mapper/ProductStructureRecordMapper.java            |    5 +
 src/main/java/com/ruoyi/production/pojo/ProductStructureRecord.java                    |   11 ++
 src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java                  |    2 
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java          |   13 ++
 src/main/resources/mapper/production/ProductionProductOutputMapper.xml                 |    2 
 src/main/java/com/ruoyi/production/controller/ProductStructureRecordController.java    |   32 ++++++++
 src/main/resources/mapper/production/ProductStructureRecordMapper.xml                  |   13 +++
 src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java |   49 ++++++++++++
 src/main/java/com/ruoyi/common/enums/StockOutQualifiedRecordTypeEnum.java              |    2 
 14 files changed, 169 insertions(+), 39 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/enums/StockOutQualifiedRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockOutQualifiedRecordTypeEnum.java
index 37ee471..1b3c9d9 100644
--- a/src/main/java/com/ruoyi/common/enums/StockOutQualifiedRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockOutQualifiedRecordTypeEnum.java
@@ -6,7 +6,7 @@
 @Getter
 public enum StockOutQualifiedRecordTypeEnum implements BaseEnum<String> {
     CUSTOMIZATION_STOCK_OUT("1", "鍚堟牸鑷畾涔夊嚭搴�"),
-    PRODUCTION_REPORT_STOCK_OUT("3", "鐢熶骇鎶ュ伐-鍑哄簱"),
+    PRODUCTION_REPORT_STOCK_OUT("3", "鐢熶骇璁㈠崟棰嗘枡-鍑哄簱"),
     SALE_STOCK_OUT("8", "閿�鍞�-鍑哄簱"),
     SALE_SHIP_STOCK_OUT("13", "閿�鍞�-鍙戣揣鍑哄簱");
 
diff --git a/src/main/java/com/ruoyi/production/controller/ProductStructureRecordController.java b/src/main/java/com/ruoyi/production/controller/ProductStructureRecordController.java
index 5aa17e4..0b28a5a 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductStructureRecordController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductStructureRecordController.java
@@ -1,7 +1,21 @@
 package com.ruoyi.production.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.production.pojo.ProductStructureRecord;
+import com.ruoyi.production.pojo.ProductionProductInput;
+import com.ruoyi.production.service.ProductStructureRecordService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,4 +29,22 @@
 @RequestMapping("/productStructureRecord")
 public class ProductStructureRecordController {
 
+
+    @Autowired
+    private ProductStructureRecordService productStructureRecordService;
+
+    @ApiOperation("鍒嗛〉鏌ヨ鐢熶骇璁㈠崟-鐗╂枡娓呭崟琛�")
+    @RequestMapping("/listPage")
+    public AjaxResult listPage(Page page, ProductStructureRecord productStructureRecord) {
+        return AjaxResult.success(productStructureRecordService.listPage(page,productStructureRecord));
+    }
+
+    @ApiOperation("棰嗘枡")
+    @PostMapping("/pick")
+    @Transactional(rollbackFor = Exception.class)
+    @Log(title = "棰嗘枡", businessType = BusinessType.INSERT)
+    public AjaxResult pick(@RequestBody List<ProductionProductInput> productionProductInput) {
+        return AjaxResult.success(productStructureRecordService.pick(productionProductInput));
+    }
+
 }
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
index c93b4b6..b7becfe 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
@@ -21,5 +21,5 @@
      */
     List<ProductStructureDto> listBybomId(@Param("bomId") Integer bomId,@Param("isParent") boolean isParent);
 
-    List<ProductStructureDto> listBybomAndProcess(@Param("bomId") Integer bomId, @Param("processId") Long processId);
+    List<ProductStructureDto> listBybomAndProcess(@Param("processId") Long processId);
 }
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductStructureRecordMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductStructureRecordMapper.java
index 9d9ae23..358ec6e 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductStructureRecordMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductStructureRecordMapper.java
@@ -1,8 +1,12 @@
 package com.ruoyi.production.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.production.pojo.ProductStructureRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -15,4 +19,5 @@
 @Mapper
 public interface ProductStructureRecordMapper extends BaseMapper<ProductStructureRecord> {
 
+    IPage<ProductStructureRecord> listPage(Page page,@Param("req") ProductStructureRecord productStructureRecord);
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductStructureRecord.java b/src/main/java/com/ruoyi/production/pojo/ProductStructureRecord.java
index c585866..63cd718 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductStructureRecord.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductStructureRecord.java
@@ -37,6 +37,14 @@
     @ApiModelProperty("浜у搧id")
     private Long productModelId;
 
+    @ApiModelProperty("浜у搧鍚嶇О")
+    @TableField(exist = false)
+    private String productName;
+
+    @ApiModelProperty("鍥剧焊缂栧彿")
+    @TableField(exist = false)
+    private String model;
+
     @ApiModelProperty("鐢熶骇璁㈠崟id")
     private Long productOrderId;
 
@@ -49,6 +57,9 @@
     @ApiModelProperty("闇�姹傛暟閲�")
     private BigDecimal demandedQuantity;
 
+    @ApiModelProperty("宸查鏂欐暟閲�")
+    private BigDecimal completedQuantity;
+
     @ApiModelProperty("鍗曚綅")
     private String unit;
 
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
index 82bece9..b40f8d6 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
@@ -14,8 +14,11 @@
     @TableId(type = IdType.AUTO)
     private Long id;
 
-    @ApiModelProperty(value = "鎶ュ伐id")
-    private Long productMainId;
+    @ApiModelProperty(value = "璁㈠崟id")
+    private Long productOrderId;
+
+    @ApiModelProperty(value = "鐗╃悊娓呭崟id")
+    private Long productStructureRecordId;
 
     @ApiModelProperty(value = "浜у搧id")
     private Long productModelId;
diff --git a/src/main/java/com/ruoyi/production/service/ProductStructureRecordService.java b/src/main/java/com/ruoyi/production/service/ProductStructureRecordService.java
index a03737e..244e9b2 100644
--- a/src/main/java/com/ruoyi/production/service/ProductStructureRecordService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductStructureRecordService.java
@@ -1,7 +1,12 @@
 package com.ruoyi.production.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.production.pojo.ProductStructureRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.production.pojo.ProductionProductInput;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,7 @@
  */
 public interface ProductStructureRecordService extends IService<ProductStructureRecord> {
 
+    IPage<ProductStructureRecord> listPage(Page page, ProductStructureRecord productStructureRecord);
+
+    String pick(List<ProductionProductInput> productionProductInput);
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index fe78782..83fda81 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -33,6 +33,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -197,14 +198,14 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean delete(Long[] ids) {
+    public Boolean delete(Long[] idList) {
         //鎵归噺鏌ヨproductOrder
         List<ProductOrder> productOrders = productOrderMapper.selectList(
                 new LambdaQueryWrapper<ProductOrder>()
-                        .in(ProductOrder::getId, ids)
+                        .in(ProductOrder::getId, Arrays.asList(idList))
         );
         if (!org.springframework.util.CollectionUtils.isEmpty(productOrders)) {
-
+            List<Long> ids = productOrders.stream().map(ProductOrder::getId).collect(Collectors.toList());
 
             // 鎵归噺鏌ヨprocessRouteItems
             List<ProductProcessRouteItem> allRouteItems = productProcessRouteItemMapper.selectList(
@@ -239,8 +240,8 @@
 
                     // 鍒犻櫎浜у嚭琛ㄣ�佹姇鍏ヨ〃鏁版嵁
                     if (!com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(productMainIds)) {
-                        productionProductOutputMapper.deleteByProductMainIds(productMainIds);
-                        productionProductInputMapper.deleteByProductMainIds(productMainIds);
+                        productionProductOutputMapper.deleteByProductMainIds(ids);
+                        productionProductInputMapper.deleteByProductMainIds(ids);
                         List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(
                                 new LambdaQueryWrapper<QualityInspect>()
                                         .in(QualityInspect::getProductMainId, productMainIds)
@@ -283,7 +284,7 @@
             productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>()
                     .in(ProductOrder::getId, ids));
             // 鍒犻櫎闄勪欢
-            commonFileService.deleteByBusinessIds(Arrays.asList(ids), FileNameType.PRODUCT_ORDER.getValue());
+            commonFileService.deleteByBusinessIds(ids, FileNameType.PRODUCT_ORDER.getValue());
             // 鍒犻櫎鐢熶骇璁㈠崟-鐗╂枡娓呭崟
             productStructureRecordMapper.delete(new LambdaQueryWrapper<ProductStructureRecord>()
                     .in(ProductStructureRecord::getProductOrderId, ids));
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java
index 59f4b6f..1b3ab34 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductStructureRecordServiceImpl.java
@@ -1,10 +1,25 @@
 package com.ruoyi.production.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.procurementrecord.utils.StockUtils;
+import com.ruoyi.production.dto.ProductStructureDto;
+import com.ruoyi.production.mapper.ProductStructureMapper;
+import com.ruoyi.production.mapper.ProductionProductInputMapper;
 import com.ruoyi.production.pojo.ProductStructureRecord;
 import com.ruoyi.production.mapper.ProductStructureRecordMapper;
+import com.ruoyi.production.pojo.ProductionProductInput;
 import com.ruoyi.production.service.ProductStructureRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +32,38 @@
 @Service
 public class ProductStructureRecordServiceImpl extends ServiceImpl<ProductStructureRecordMapper, ProductStructureRecord> implements ProductStructureRecordService {
 
+    @Autowired
+    private ProductStructureRecordMapper productStructureRecordMapper;
+
+    @Autowired
+    private ProductStructureMapper productStructureMapper;
+
+    @Autowired
+    private StockUtils stockUtils;
+
+    @Autowired
+    private ProductionProductInputMapper productionProductInputMapper;
+
+    @Override
+    public IPage<ProductStructureRecord> listPage(Page page, ProductStructureRecord productStructureRecord) {
+        return productStructureRecordMapper.listPage(page,productStructureRecord);
+    }
+
+    @Override
+    public String pick(List<ProductionProductInput> productionProductInputs) {
+        if (CollectionUtils.isEmpty(productionProductInputs)) {
+            return "璇烽�夋嫨瑕侀鐨勬枡";
+        }
+        for (ProductionProductInput productionProductInput : productionProductInputs) {
+            productionProductInputMapper.insert(productionProductInput);
+            stockUtils.substractStock(productionProductInput.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductInput.getProductOrderId());
+            // 鎵i櫎鐗╂枡娓呭崟
+            ProductStructureRecord productStructureRecord = productStructureRecordMapper.selectById(productionProductInput.getProductStructureRecordId());
+            if(productStructureRecord != null){
+                productStructureRecord.setCompletedQuantity(productStructureRecord.getCompletedQuantity().add(productionProductInput.getQuantity()));
+                productStructureRecordMapper.updateById(productStructureRecord);
+            }
+        }
+        return "棰嗘枡鎴愬姛";
+    }
 }
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 301db75..753069c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -145,25 +145,25 @@
         productionProductMain.setWorkOrderId(dto.getWorkOrderId());
         productionProductMain.setStatus(0);
         productionProductMainMapper.insert(productionProductMain);
-        /*鏂板鎶ュ伐鎶曞叆琛�*/
-        List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
-        if (productStructureDtos.size() == 0) {
-            //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
-            ProductStructureDto productStructureDto = new ProductStructureDto();
-            productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
-            productStructureDto.setUnitQuantity(BigDecimal.ONE);
-            productStructureDtos.add(productStructureDto);
-        }
-        for (ProductStructureDto productStructureDto : productStructureDtos) {
-
-            ProductionProductInput productionProductInput = new ProductionProductInput();
-            productionProductInput.setProductModelId(productStructureDto.getProductModelId());
-            productionProductInput.setQuantity(dto.getQuantity());
-            productionProductInput.setProductMainId(productionProductMain.getId());
-            productionProductInputMapper.insert(productionProductInput);
-            stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
-
-        }
+        /*鏂板鎶ュ伐鎶曞叆琛紙閫昏緫鏀逛负鎵嬪姩棰嗘枡锛�*/
+//        List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcess.getId());
+//        if (productStructureDtos.size() == 0) {
+//            //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
+//            ProductStructureDto productStructureDto = new ProductStructureDto();
+//            productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
+//            productStructureDto.setUnitQuantity(BigDecimal.ONE);
+//            productStructureDtos.add(productStructureDto);
+//        }
+//        for (ProductStructureDto productStructureDto : productStructureDtos) {
+//
+//            ProductionProductInput productionProductInput = new ProductionProductInput();
+//            productionProductInput.setProductModelId(productStructureDto.getProductModelId());
+//            productionProductInput.setQuantity(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();
         productionProductOutput.setProductMainId(productionProductMain.getId());
@@ -332,8 +332,8 @@
         productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
                 .eq(ProductionProductOutput::getProductMainId, productionProductMain.getId()));
         //鍒犻櫎鎶曞叆璁板綍
-        productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
-                .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
+//        productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
+//                .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
         //鍒犻櫎鎶ュ簾鐨勫叆搴撹褰�
         stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
         //鍒犻櫎涓嶉渶瑕佽川妫�鐨勫悎鏍煎叆搴�
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index 5f8a9a0..1f376ce 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
 import com.ruoyi.framework.web.domain.R;
@@ -66,8 +67,11 @@
     private SalesLedgerMapper salesLedgerMapper;
 
     private PurchaseLedgerMapper purchaseLedgerMapper;
+    private ProductStructureRecordMapper productStructureRecordMapper;
 
     private ProductOrderMapper productOrderMapper;
+
+    private CommonFileServiceImpl commonFileService;
 
     private ProcessRouteItemMapper processRouteItemMapper;
 
@@ -384,8 +388,8 @@
 
                     // 鍒犻櫎浜у嚭琛ㄣ�佹姇鍏ヨ〃鏁版嵁
                     if (!com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(productMainIds)) {
-                        productionProductOutputMapper.deleteByProductMainIds(productMainIds);
-                        productionProductInputMapper.deleteByProductMainIds(productMainIds);
+                        productionProductOutputMapper.deleteByProductMainIds(orderIds);
+                        productionProductInputMapper.deleteByProductMainIds(orderIds);
                         List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(
                                 new LambdaQueryWrapper<QualityInspect>()
                                         .in(QualityInspect::getProductMainId, productMainIds)
@@ -427,6 +431,11 @@
             // 鎵归噺鍒犻櫎productOrder
             productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>()
                     .in(ProductOrder::getSaleLedgerProductId, productIds));
+            // 鍒犻櫎闄勪欢
+            commonFileService.deleteByBusinessIds(productIds, FileNameType.PRODUCT_ORDER.getValue());
+            // 鍒犻櫎鐢熶骇璁㈠崟-鐗╂枡娓呭崟
+            productStructureRecordMapper.delete(new LambdaQueryWrapper<ProductStructureRecord>()
+                    .in(ProductStructureRecord::getProductOrderId, productIds));
         }
     }
 
diff --git a/src/main/resources/mapper/production/ProductStructureRecordMapper.xml b/src/main/resources/mapper/production/ProductStructureRecordMapper.xml
index 254518a..4957a61 100644
--- a/src/main/resources/mapper/production/ProductStructureRecordMapper.xml
+++ b/src/main/resources/mapper/production/ProductStructureRecordMapper.xml
@@ -15,5 +15,18 @@
         <result column="tenant_id" property="tenantId" />
         <result column="bom_id" property="bomId" />
     </resultMap>
+    <select id="listPage" resultType="com.ruoyi.production.pojo.ProductStructureRecord">
+        select psr.*,
+               pm.model,
+               p.product_name
+            from product_structure_record psr
+        left join product_model pm on pm.id = psr.product_model_id
+        left join product p on p.id = pm.product_id
+        <where>
+            <if test="req.productOrderId != null">
+                and psr.product_order_id = #{req.productOrderId}
+            </if>
+        </where>
+    </select>
 
 </mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductInputMapper.xml b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
index a6998e3..0f0845a 100644
--- a/src/main/resources/mapper/production/ProductionProductInputMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
@@ -13,18 +13,17 @@
     <select id="listPageProductionProductInputDto" resultType="com.ruoyi.production.dto.ProductionProductInputDto">
         select ppi.*,
         pm.model as model,
-        ppm.product_no as productNo,
         p.product_name,
         pm.drawing_number,
         pm.unit
         from
         production_product_input ppi
-        left join production_product_main ppm on ppm.id = ppi.product_main_id
+        left join product_order ppm on ppm.id = ppi.product_order_id
         left join product_model pm on pm.id = ppi.product_model_id
         left join product p on p.id = pm.product_id
         <where>
-            <if test="c.productMainId != null and c.productMainId > 0">
-                and ppm.id = #{c.productMainId}
+            <if test="c.productOrderId != null and c.productOrderId > 0">
+                and ppm.id = #{c.productOrderId}
             </if>
         </where>
         order by ppi.id
@@ -32,7 +31,7 @@
 
     <delete id="deleteByProductMainIds" parameterType="java.util.List">
         DELETE FROM production_product_input
-        WHERE product_main_id IN
+        WHERE product_order_id IN
         <foreach collection="productMainIds" item="id" open="(" separator="," close=")">
             #{id}
         </foreach>
diff --git a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
index 7c85fe3..35e3157 100644
--- a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
@@ -30,7 +30,7 @@
 
     <delete id="deleteByProductMainIds" parameterType="java.util.List">
         DELETE FROM production_product_output
-        WHERE product_main_id IN
+        WHERE product_order_id IN
         <foreach collection="productMainIds" item="id" open="(" separator="," close=")">
             #{id}
         </foreach>

--
Gitblit v1.9.3