From deff787716b00b4f491de429ba092915d7fa1a9e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 27 三月 2026 13:07:05 +0800
Subject: [PATCH] 过程检数据查询+原有生产订单表增加产品规格id
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 20 +++++
src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml | 49 ++++++++++++
src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java | 1
src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java | 5 +
src/main/java/com/ruoyi/quality/dto/ProcessPageDto.java | 66 ++++++++++++++++
src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java | 6
src/main/java/com/ruoyi/production/dto/ProductOrderDto.java | 4 -
src/main/java/com/ruoyi/quality/service/IQualityInspectService.java | 9 ++
src/main/java/com/ruoyi/production/pojo/ProductOrder.java | 6 +
src/main/java/com/ruoyi/quality/controller/QualityInspectController.java | 29 +++++++
src/main/resources/mapper/production/ProductOrderMapper.xml | 8 -
src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml | 6 +
src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java | 5 +
13 files changed, 200 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java b/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
index 10c476c..df748b7 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
@@ -23,10 +23,6 @@
@Excel(name = "瑙勬牸")
private String model;
- @ApiModelProperty(value = "浜у搧绫诲瀷")
- @Excel(name = "浜у搧绫诲瀷")
- private String strength;
-
@ApiModelProperty(value = "宸ヨ壓璺嚎鎻忚堪")
@Excel(name = "宸ヨ壓璺嚎鎻忚堪")
private String description;
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java
index 389e54a..6659e33 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java
@@ -1,7 +1,11 @@
package com.ruoyi.production.mapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.production.pojo.ProductionProductRouteItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.quality.dto.ProcessPageDto;
+import org.apache.ibatis.annotations.Param;
/**
* <p>
@@ -13,4 +17,5 @@
*/
public interface ProductionProductRouteItemMapper extends BaseMapper<ProductionProductRouteItem> {
+ IPage<ProcessPageDto> processPage(Page page, @Param("c") ProcessPageDto processPageDto);
}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java
index 7fe92f4..0d56b21 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java
@@ -1,7 +1,11 @@
package com.ruoyi.production.mapper;
+import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
import com.ruoyi.production.pojo.ProductionProductRouteItemParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +17,5 @@
*/
public interface ProductionProductRouteItemParamMapper extends BaseMapper<ProductionProductRouteItemParam> {
+ List<ProductionProductRouteItemParam> processDetails(@Param("productionProductRouteItemId") Long productionProductRouteItemId);
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
index a7479fc..5d5c792 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -98,4 +98,10 @@
@ApiModelProperty(value = "鐘舵�侊紙1.寰呭紑濮嬨��2.杩涜涓��3.宸插畬鎴愩��4.宸插彇娑堬級")
private Integer status;
+
+ /**
+ * 鍏宠仈鐗╂枡淇℃伅琛↖D
+ */
+ @ApiModelProperty("鍏宠仈鐗╂枡淇℃伅琛↖D")
+ private Long productMaterialSkuId;
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
index 3dc9f0a..15c3392 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
@@ -229,7 +229,7 @@
throw new ServiceException("鎶ュ伐澶辫触,鐢熶骇璁㈠崟鏇存柊澶辫触");
}
- // 瀹屾垚鎶ュ伐涓昏〃-鎶曞叆琛�-浜у嚭琛ㄦ暟鎹�
+ // 瀹屾垚鎶ュ伐涓昏〃-浜у嚭琛�-浜у嚭鏄庣粏琛ㄦ暟鎹�
ProductionProductMain productionProductMain = new ProductionProductMain();
productionProductMain.setProductNo(productionProductMainService.generateProductNo());
productionProductMain.setProductOrderId(dto.getProductOrderId());
@@ -247,7 +247,7 @@
productionProductInput.setQuantity(dto.getQuantity());
result = productionProductInputService.save(productionProductInput);
if (!result) {
- throw new ServiceException("鎶ュ伐澶辫触,鐢熶骇鎶曞叆瀛樺偍澶辫触");
+ throw new ServiceException("鎶ュ伐澶辫触,鐢熶骇浜у嚭瀛樺偍澶辫触");
}
ProductionProductOutput productionProductOutput = new ProductionProductOutput();
@@ -481,7 +481,7 @@
dto.setMaterialCode(productMaterialSkuDto.getMaterialCode());
dto.setModel(productMaterialSkuDto.getModel());
- // 鏌ヨ鎶曞叆琛紙鑾峰彇浜у搧ID鍜屾姇鍏ユ暟閲忥級
+ // 鏌ヨ鎬荤殑浜у嚭鏁伴噺(杩欓噷鎶婃姇鍏ヨ〃寮勬垚浜嗕骇鍑烘�昏〃)
ProductionProductInput input = productionProductInputService.getOne(
new LambdaQueryWrapper<ProductionProductInput>()
.eq(ProductionProductInput::getProductMainId, productMainId)
diff --git a/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java b/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
index 9fccff8..cd3e463 100644
--- a/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
+++ b/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
@@ -148,6 +148,7 @@
productOrder.setPlanCompleteTime(productionPlanDto.getPlanCompleteTime());
productOrder.setStatus(ProductOrderStatusEnum.WAIT.getCode());
productOrder.setStrength(productionPlanDto.getStrength());
+ productOrder.setProductMaterialSkuId(productionPlanDto.getProductMaterialSkuId());
Long orderId = productOrderService.insertProductOrder(productOrder);
diff --git a/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java b/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
index dec3d1c..48a8d4f 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
@@ -7,6 +7,7 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
+import com.ruoyi.quality.dto.ProcessPageDto;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityInspectFile;
@@ -14,6 +15,8 @@
import com.ruoyi.quality.service.IQualityInspectFileService;
import com.ruoyi.quality.service.IQualityInspectParamService;
import com.ruoyi.quality.service.IQualityInspectService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -26,6 +29,7 @@
* 鍘熸潗鏂欐楠�/杩囩▼妫�楠�/鍑哄巶妫�楠�
*/
@RestController
+@Api(tags = "璐ㄩ噺绠$悊")
@RequestMapping("/quality/qualityInspect")
public class QualityInspectController {
@@ -140,4 +144,29 @@
public void down(HttpServletResponse response,@RequestBody QualityInspect qualityInspect) {
qualityInspectService.down(response, qualityInspect);
}
+
+ /************************************************瀹佸涓洓寤烘潗鐨勮繃绋嬫鍜屾垚鍝佹*********************************************************************************/
+
+ /**
+ * 杩囩▼妫�鍒嗛〉鏌ヨ
+ * @param page
+ * @param processPageDto
+ * @return
+ */
+ @GetMapping("/processPage")
+ @ApiOperation("杩囩▼妫�鍒嗛〉鏌ヨ")
+ public AjaxResult processPage(Page page, ProcessPageDto processPageDto) {
+ return AjaxResult.success(qualityInspectService.processPage(page, processPageDto));
+ }
+
+ /**
+ * 杩囩▼妫�璇︽儏
+ * @param processPageDto
+ * @return
+ */
+ @GetMapping("/processDetails")
+ @ApiOperation("杩囩▼妫�璇︽儏")
+ public AjaxResult processDetails(ProcessPageDto processPageDto) {
+ return AjaxResult.success(qualityInspectService.processDetails(processPageDto));
+ }
}
diff --git a/src/main/java/com/ruoyi/quality/dto/ProcessPageDto.java b/src/main/java/com/ruoyi/quality/dto/ProcessPageDto.java
new file mode 100644
index 0000000..58202be
--- /dev/null
+++ b/src/main/java/com/ruoyi/quality/dto/ProcessPageDto.java
@@ -0,0 +1,66 @@
+package com.ruoyi.quality.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("璐ㄩ噺绠$悊---杩囩▼妫�(鍙拌处)")
+public class ProcessPageDto {
+
+ @ApiModelProperty("鐢熶骇鎶ュ伐璁板綍鐨勫伐搴忚〃id")
+ private Long ProductionProductRouteItemId;
+
+ @ApiModelProperty(value = "鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鎶ュ伐鍗曞彿")
+ private String productNo;
+
+ @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
+ private String npsNo;
+
+ @ApiModelProperty(value = "宸ュ簭鍚嶇О")
+ private String process;
+
+ @ApiModelProperty(value = "宀椾綅浜哄憳")
+ private String postName;
+
+ @ApiModelProperty(value = "鐝")
+ private String schedule;
+
+ @ApiModelProperty(value = "浜у搧缂栫爜")
+ private String materialCode;
+
+ @ApiModelProperty(value = "浜у搧鍚嶇О")
+ private String productName;
+
+ @ApiModelProperty(value = "瑙勬牸")
+ private String model;
+
+ @ApiModelProperty(value = "浜у搧绫诲瀷")
+ private String strength;
+
+ @ApiModelProperty("鍚堟牸鏁伴噺")
+ private BigDecimal qualifiedQuantity;
+
+ @ApiModelProperty("涓嶅悎鏍兼暟閲�")
+ private BigDecimal unqualifiedQuantity;
+
+ @ApiModelProperty("浜у嚭鏁伴噺")
+ private BigDecimal quantity;
+
+
+ private LocalDateTime startTime;
+ private LocalDateTime endTime;
+}
diff --git a/src/main/java/com/ruoyi/quality/service/IQualityInspectService.java b/src/main/java/com/ruoyi/quality/service/IQualityInspectService.java
index 92bc88f..6f5f604 100644
--- a/src/main/java/com/ruoyi/quality/service/IQualityInspectService.java
+++ b/src/main/java/com/ruoyi/quality/service/IQualityInspectService.java
@@ -3,10 +3,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.production.dto.ProcessRouteItemParamDto;
+import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
+import com.ruoyi.production.pojo.ProductionProductRouteItemParam;
+import com.ruoyi.quality.dto.ProcessPageDto;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.pojo.QualityInspect;
import javax.servlet.http.HttpServletResponse;
+import java.util.List;
public interface IQualityInspectService extends IService<QualityInspect> {
@@ -24,4 +29,8 @@
int submit(QualityInspect qualityInspect);
void down(HttpServletResponse response, QualityInspect qualityInspect);
+
+ IPage<ProcessPageDto> processPage(Page page, ProcessPageDto processPageDto);
+
+ List<ProductionProductRouteItemParam> processDetails(ProcessPageDto processPageDto);
}
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index 8a1e066..0d48fc7 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -14,6 +14,12 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
+import com.ruoyi.production.dto.ProcessRouteItemParamDto;
+import com.ruoyi.production.mapper.ProductionProductRouteItemMapper;
+import com.ruoyi.production.mapper.ProductionProductRouteItemParamMapper;
+import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
+import com.ruoyi.production.pojo.ProductionProductRouteItemParam;
+import com.ruoyi.quality.dto.ProcessPageDto;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
@@ -54,6 +60,10 @@
private SalesLedgerProductMapper salesLedgerProductMapper;
private ProcurementRecordService procurementRecordService;
+
+ private ProductionProductRouteItemMapper productionProductRouteItemMapper;
+
+ private ProductionProductRouteItemParamMapper productionProductRouteItemParamMapper;
@Override
public int add(QualityInspectDto qualityInspectDto) {
@@ -157,6 +167,16 @@
}
@Override
+ public IPage<ProcessPageDto> processPage(Page page, ProcessPageDto processPageDto) {
+ return productionProductRouteItemMapper.processPage(page,processPageDto);
+ }
+
+ @Override
+ public List<ProductionProductRouteItemParam> processDetails(ProcessPageDto processPageDto) {
+ return productionProductRouteItemParamMapper.processDetails(processPageDto.getProductionProductRouteItemId());
+ }
+
+ @Override
public int updateQualityInspect(QualityInspectDto qualityInspectDto) {
if (ObjectUtils.isNotNull(qualityInspectDto.getQualityInspectParams())) {
qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, qualityInspectDto.getId()));
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index c758af7..4cd3372 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -54,13 +54,7 @@
FROM product_order po
LEFT JOIN process_route pr ON po.route_id = pr.id
LEFT JOIN product_bom pb ON pr.bom_id = pb.id
- LEFT JOIN (
- SELECT product_order_id, MIN(production_plan_id) AS production_plan_id
- FROM product_order_plan
- GROUP BY product_order_id
- ) pop ON po.id = pop.product_order_id
- LEFT JOIN production_plan pp ON pop.production_plan_id = pp.id
- LEFT JOIN product_material_sku pms ON pms.id = pp.product_material_sku_id
+ LEFT JOIN product_material_sku pms ON pms.id = po.product_material_sku_id
LEFT JOIN product_material pm ON pm.id = pms.product_id
<where>
<if test="c.npsNo != null and c.npsNo != ''">
diff --git a/src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml b/src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml
index bae946b..a56128c 100644
--- a/src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml
@@ -14,5 +14,54 @@
<result column="update_time" property="updateTime"/>
<result column="tenant_id" property="tenantId"/>
</resultMap>
+ <select id="processPage" resultType="com.ruoyi.quality.dto.ProcessPageDto">
+ select ppri.id ProductionProductRouteItemId,
+ ppri.create_time,
+ ppm.product_no,
+ po.nps_no,
+ pp.name process,
+ ppri.post_name,
+ ppm.schedule,
+ pms.material_code,
+ pm.product_name,
+ pms.model,
+ po.strength,
+ ppo.quantity qualifiedQuantity,
+ ppo.scrap_qty unqualifiedQuantity,
+ ppo.quantity + ppo.scrap_qty quantity
+ from production_product_route_item ppri
+ left join production_product_main ppm on ppri.product_main_id = ppm.id
+ left join production_product_output ppo on ppo.product_main_id = ppm.id
+ left join product_order po on ppm.product_order_id = po.id
+ left join product_process pp on ppri.process_id = pp.id
+ left join product_material_sku pms on pms.id = po.product_material_sku_id
+ left join product_material pm on pm.id = pms.product_id
+ where 1=1
+ <if test="c.npsNo != null and c.npsNo != ''">
+ AND po.nps_no LIKE CONCAT('%', #{c.npsNo}, '%')
+ </if>
+ <if test="c.process != null and c.process != ''">
+ AND pp.name LIKE CONCAT('%', #{c.process}, '%')
+ </if>
+ <if test="c.productNo != null and c.productNo != ''">
+ AND ppm.product_no LIKE CONCAT('%', #{c.productNo}, '%')
+ </if>
+ <if test="c.productName != null and c.productName != ''">
+ AND pm.product_name LIKE CONCAT('%', #{c.productName}, '%')
+ </if>
+ <if test="c.materialCode != null and c.materialCode != ''">
+ AND pms.material_code LIKE CONCAT('%', #{c.materialCode}, '%')
+ </if>
+ <if test="c.model != null and c.model != ''">
+ AND pms.model LIKE CONCAT('%', #{c.model}, '%')
+ </if>
+ <if test="c.strength != null and c.strength != ''">
+ AND po.strength = #{c.strength}
+ </if>
+ <if test="c.startTime != null and c.endTime != null">
+ AND po.create_time BETWEEN #{c.startTime} AND #{c.endTime}
+ </if>
+ order by ppri.id desc
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml b/src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml
index 81c99d0..45e1d13 100644
--- a/src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml
@@ -27,5 +27,11 @@
<result column="update_time" property="updateTime"/>
<result column="tenant_id" property="tenantId"/>
</resultMap>
+ <select id="processDetails" resultType="com.ruoyi.production.pojo.ProductionProductRouteItemParam">
+ select pprip.*
+ from production_product_route_item_param pprip
+ where pprip.production_product_route_item_id = #{productionProductRouteItemId}
+ and pprip.order_item_param_id is not null
+ </select>
</mapper>
--
Gitblit v1.9.3