chenhj
9 小时以前 65d30abbee366cc57427ee458cd3aa4b3d33a32d
feat(production): 添加质量检验功能并优化生产产品主数据管理

- 在ProductionProductMainDto中新增inspectedQuantity字段
- 移除未使用的导入包包括ProductProcessRouteItemDto、SalesLedgerProductionAccountingDto等
- 修复addProductMain接口路径映射缺少斜杠的问题
- 在QualityInspect实体中添加批次号、检验数量和制造团队字段
- 实现生产订单存在性验证逻辑
- 集成批次号、检验数量和制造团队信息到质量检验流程
- 优化质量检验数据持久化过程中的关联查询逻辑
已修改4个文件
22 ■■■■ 文件已修改
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -3,18 +3,14 @@
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")
@@ -41,7 +37,7 @@
     * @param productionProductMainDto
     * @return
     */
    @PostMapping("addProductMain")
    @PostMapping("/addProductMain")
    public R addProductMain(@RequestBody ProductionProductMainDto productionProductMainDto) {
        return R.ok(productionProductMainService.addProductMain(productionProductMainDto));
    }
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
@@ -62,4 +61,5 @@
    private BigDecimal wages;
    private BigDecimal inspectedQuantity;
}
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -180,6 +180,13 @@
                    inspectType = 2;
                    process = null;
                }
                ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
                ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
                if (productOrder == null) {
                    throw new RuntimeException("生产订单不存在");
                }
                Product product = productMapper.selectById(productModel.getProductId());
                QualityInspect qualityInspect = new QualityInspect();
                qualityInspect.setProductId(product.getId());
@@ -192,6 +199,9 @@
                qualityInspect.setInspectType(inspectType);
                qualityInspect.setProductMainId(productionProductMain.getId());
                qualityInspect.setProductModelId(productModel.getId());
                qualityInspect.setBatchNo(productOrder.getBatchNo());
                qualityInspect.setInspectedQuantity(dto.getInspectedQuantity());
                qualityInspect.setManufacturingTeam(productOrder.getManufacturingTeam());
                qualityInspectMapper.insert(qualityInspect);
                List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
                if (qualityTestStandard.size() > 0) {
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -157,4 +157,8 @@
    private String workOrderNo;
    @TableField(exist = false)
    private String purchaseContractNo;
    private String BatchNo;
    private BigDecimal inspectedQuantity;
    private String manufacturingTeam;
}