From 1bc0c6c7842e29711e576e58b0aca00fabd92df0 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 02 二月 2026 09:11:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/production/service/ProductionProductMainService.java | 6 +-----
src/main/resources/mapper/production/ProductWorkOrderMapper.xml | 6 +++++-
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 5 ++---
src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml | 4 +++-
src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java | 3 +++
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java | 3 ++-
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java | 31 ++++++++++++++++++-------------
src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java | 2 ++
8 files changed, 36 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
index b32af78..1dd597b 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -50,7 +50,8 @@
@DeleteMapping("/delete")
@Transactional(rollbackFor = Exception.class)
public R delete(@RequestBody ProductionProductMainDto productionProductMainDto) {
- return R.ok(productionProductMainService.removeProductMain(productionProductMainDto));
+
+ return R.ok(productionProductMainService.removeProductMain(productionProductMainDto.getId()));
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java b/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java
index d235ccb..d6ec3f1 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java
@@ -24,4 +24,6 @@
private String productName;
private String model;
+
+ private Boolean isComplete;
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java b/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
index 50a91f5..6e2ca95 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
@@ -40,4 +40,7 @@
@ApiModelProperty(value = "鎶ュ簾鏁伴噺")
private BigDecimal scrapQty;
+
+ @ApiModelProperty(value = "宸ュ崟绫诲瀷 姝e父 /杩斿伐杩斾慨")
+ private String workOrderType;
}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
index 0980cae..af6e414 100644
--- a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
@@ -3,17 +3,13 @@
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.ProcessRouteItemDto;
-import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.pojo.ProductionProductMain;
-
-import java.util.List;
public interface ProductionProductMainService extends IService<ProductionProductMain> {
IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto);
Boolean addProductMain(ProductionProductMainDto productionProductMainDto);
- Boolean removeProductMain(ProductionProductMainDto productionProductMainDto);
+ Boolean removeProductMain(Long id);
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
index 4db1c0c..7f73d6b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
@@ -6,9 +6,11 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductProcessRouteItemDto;
+import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.*;
import com.ruoyi.production.service.ProductProcessRouteItemService;
+import com.ruoyi.production.service.ProductionProductMainService;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
@@ -20,6 +22,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -34,6 +37,7 @@
public class ProductProcessRouteItemServiceImpl extends ServiceImpl<ProductProcessRouteItemMapper, ProductProcessRouteItem> implements ProductProcessRouteItemService {
+ private ProductionProductMainService productionProductMainService;
private ProductProcessRouteItemMapper productProcessRouteItemMapper;
private ProductionProductMainMapper productionProductMainMapper;
@@ -73,6 +77,9 @@
if (productWorkOrder == null) {
throw new RuntimeException("鍒犻櫎澶辫触锛氭湭鎵惧埌鍏宠仈鐨勭敓浜у伐鍗�");
}
+ if (BigDecimal.ZERO.compareTo(productWorkOrder.getCompleteQuantity()) < 0) {
+ throw new RuntimeException("鍒犻櫎澶辫触锛氳宸ュ崟宸插紑濮嬬敓浜э紝璇峰厛鍒犻櫎鐢熶骇鎶ュ伐");
+ }
Long workOrderId = productWorkOrder.getId();
Long productOrderId = productWorkOrder.getProductOrderId();
// 鏌ヨ鐢熶骇涓昏〃
@@ -83,21 +90,19 @@
if (!productionProductMains.isEmpty()) {
// 鎵归噺鍒犻櫎瀛愯〃
for (ProductionProductMain main : productionProductMains) {
- Long mainId = main.getId();
- // 鍒犻櫎鎶曞叆
- productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
- .eq(ProductionProductInput::getProductMainId, mainId));
- // 鍒犻櫎浜у嚭
- productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
- .eq(ProductionProductOutput::getProductMainId, mainId));
- // 鍒犻櫎璐ㄦ
- qualityInspectMapper.delete(new LambdaQueryWrapper<QualityInspect>()
- .eq(QualityInspect::getProductMainId, mainId));
+ productionProductMainService.removeProductMain(main.getId());
+// Long mainId = main.getId();
+// // 鍒犻櫎鎶曞叆
+// productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
+// .eq(ProductionProductInput::getProductMainId, mainId));
+// // 鍒犻櫎浜у嚭
+// productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
+// .eq(ProductionProductOutput::getProductMainId, mainId));
+// // 鍒犻櫎璐ㄦ
+// qualityInspectMapper.delete(new LambdaQueryWrapper<QualityInspect>()
+// .eq(QualityInspect::getProductMainId, mainId));
}
}
- // 鍒犻櫎鎶ュ伐锛堢敓浜т富琛級
- productionProductMainMapper.delete(new LambdaQueryWrapper<ProductionProductMain>()
- .eq(ProductionProductMain::getWorkOrderId, workOrderId));
// 鏌ヨ璁㈠崟 + 鍒犻櫎鏍哥畻
ProductOrder productOrder = productOrderMapper.selectById(productOrderId);
if (productOrder != null && productOrder.getSalesLedgerId() != null) {
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 b2c914b..76a5757 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -248,8 +248,8 @@
}
@Override
- public Boolean removeProductMain(ProductionProductMainDto dto) {
- ProductionProductMain productionProductMain = productionProductMainMapper.selectById(dto.getId());
+ public Boolean removeProductMain(Long id) {
+ ProductionProductMain productionProductMain = productionProductMainMapper.selectById(id);
//璇ユ姤宸ュ搴旂殑宸ヨ壓璺嚎璇︽儏
ProductProcessRouteItem productProcessRouteItem = productProcessRouteItemMapper.selectById(productionProductMain.getProductProcessRouteItemId());
ProductionProductOutput productionProductOutput = productionProductOutputMapper.selectList(Wrappers.<ProductionProductOutput>lambdaQuery().eq(ProductionProductOutput::getProductMainId, productionProductMain.getId())).get(0);
@@ -271,7 +271,6 @@
productOrder.setEndTime(null);
productOrderMapper.updateById(productOrder);
}
- /*鍒犻櫎浜у嚭*/
//鍒犻櫎璐ㄦ
qualityInspectMapper.selectList(
new LambdaQueryWrapper<QualityInspect>()
diff --git a/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml b/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml
index 13f0ad7..302a0fb 100644
--- a/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml
+++ b/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml
@@ -15,11 +15,13 @@
pp.name as process_name,
pm.model,
pm.unit,
- p.product_name
+ p.product_name,
+ case when pwo.complete_quantity>0 then true else false end as is_complete
from product_process_route_item ppri
left join product_model pm on ppri.product_model_id = pm.id
left join product p on pm.product_id = p.id
left join product_process pp on pp.id = ppri.process_id
+ left join product_work_order pwo on pwo.product_process_route_item_id = ppri.id
where ppri.product_order_id = #{orderId}
order by ppri.drag_sort
</select>
diff --git a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
index 2e9aca1..fef6bef 100644
--- a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -26,7 +26,11 @@
pm.unit,
p.product_name AS productName,
po.nps_no AS productOrderNpsNo,
- ROUND(pwo.complete_quantity / pwo.plan_quantity * 100, 2) AS completionStatus
+ ROUND(pwo.complete_quantity / pwo.plan_quantity * 100, 2) AS completionStatus,
+ CASE
+ WHEN pwo.work_order_no LIKE 'FG%' THEN '杩斿伐杩斾慨'
+ ELSE '姝e父'
+ END AS work_order_type
FROM
product_work_order pwo
LEFT JOIN product_process_route_item ppri ON ppri.id = pwo.product_process_route_item_id
--
Gitblit v1.9.3