From d0a20f29f07dc24c1fc0b27b8572b24a083d8c0d Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 08 四月 2026 09:40:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印
---
src/main/resources/mapper/production/ProductWorkOrderMapper.xml | 3 ++-
src/main/resources/mapper/basic/ProductModelMapper.xml | 18 ++++++++++++++++++
src/main/java/com/ruoyi/basic/controller/ProductController.java | 7 +++++--
src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java | 11 +++++++++++
src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java | 3 +++
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 3 ++-
src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java | 2 ++
src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | 6 ++++++
src/main/java/com/ruoyi/basic/service/IProductModelService.java | 2 ++
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java | 1 +
10 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index 252ab4d..5a08b10 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -3,6 +3,7 @@
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.google.common.collect.Lists;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductModelDto;
import com.ruoyi.basic.dto.ProductModelExportDto;
@@ -27,6 +28,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.List;
+import java.util.stream.Collectors;
@RestController
@AllArgsConstructor
@@ -81,11 +83,12 @@
if (ids == null || ids.length == 0) {
return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
}
+ List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids));
// 妫�鏌ユ槸鍚︽湁閿�鍞晢鍝佽褰曞叧鑱旇浜у搧
LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(SalesLedgerProduct::getProductId, ids);
+ queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList()));
List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper);
- if (salesLedgerProductList.size() > 0) {
+ if (!salesLedgerProductList.isEmpty()) {
return AjaxResult.error("璇ヤ骇鍝佸瓨鍦ㄩ攢鍞�/閲囪喘璁板綍锛屼笉鑳藉垹闄�");
}
return toAjax(productService.delProductByIds(ids));
diff --git a/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java b/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
index bddcca4..9e34897 100644
--- a/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
+++ b/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
@@ -7,6 +7,7 @@
import com.ruoyi.procurementrecord.dto.ProcurementPageDto;
import org.apache.ibatis.annotations.Param;
+import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;
@@ -26,4 +27,6 @@
ProductModel selectLatestRecord();
List<Map<String, Object>> getProductAndModelList();
+
+ List<ProductModel> selectModelListByProductIds(@NotNull @Param("ids") List<Long> ids);
}
diff --git a/src/main/java/com/ruoyi/basic/service/IProductModelService.java b/src/main/java/com/ruoyi/basic/service/IProductModelService.java
index dd268d6..149c091 100644
--- a/src/main/java/com/ruoyi/basic/service/IProductModelService.java
+++ b/src/main/java/com/ruoyi/basic/service/IProductModelService.java
@@ -26,6 +26,8 @@
List<ProductModel> selectModelList(ProductDto productDto);
+ List<ProductModel> selectModelListByProductIds(List<Long> ids);
+
/**
* 鏍规嵁id鏌ヨ浜у搧瑙勬牸鍒嗛〉鏌ヨ
* @param page
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
index 9382134..75bd333 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -25,6 +25,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import javax.validation.constraints.NotNull;
import java.util.*;
import java.util.stream.Collectors;
@@ -73,6 +74,11 @@
return productModelMapper.selectList(queryWrapper);
}
+ @Override
+ public List<ProductModel> selectModelListByProductIds(@NotNull List<Long> ids) {
+ return productModelMapper.selectModelListByProductIds(ids);
+ }
+
/**
* 鏍规嵁id鏌ヨ浜у搧瑙勬牸鍒嗛〉鏌ヨ
*
diff --git a/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java b/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
index 6e2ca95..d3f3e12 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
@@ -43,4 +43,6 @@
@ApiModelProperty(value = "宸ュ崟绫诲瀷 姝e父 /杩斿伐杩斾慨")
private String workOrderType;
+
+ private String deviceName;
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
index c9cbaa1..608a5f1 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -64,4 +64,5 @@
private Long auditUserId;
private String auditUserName;
+
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
index d3164f1..1ae57eb 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
@@ -81,4 +81,15 @@
@ApiModelProperty(value = "瀹℃牳鎰忚")
@TableField(value = "audit_opinion")
private String auditOpinion;
+
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(value = "start_time")
+ private LocalDateTime startTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(value = "end_time")
+ private LocalDateTime endTime;
}
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 96260b6..e46f2cf 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -823,7 +823,8 @@
LambdaQueryWrapper<SalesLedger> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between(SalesLedger::getEntryDate, begin, end);
long count = salesLedgerMapper.selectCount(queryWrapper);
- return StrUtil.format("{}{:04d}", yyMM, count + 1);
+ Long seq = Optional.of(count).orElse(0L) + 1;
+ return String.format("%s%04d", yyMM, seq);
}
diff --git a/src/main/resources/mapper/basic/ProductModelMapper.xml b/src/main/resources/mapper/basic/ProductModelMapper.xml
index 317f5d9..2f84ce8 100644
--- a/src/main/resources/mapper/basic/ProductModelMapper.xml
+++ b/src/main/resources/mapper/basic/ProductModelMapper.xml
@@ -106,5 +106,23 @@
left join product p on p.id = pm.product_id
order by p.id,pm.id desc
</select>
+ <select id="selectModelListByProductIds" resultType="com.ruoyi.basic.pojo.ProductModel">
+ WITH RECURSIVE tree AS (
+ SELECT id
+ FROM product
+ WHERE id in <foreach item="id" collection="ids" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ UNION ALL
+
+ SELECT p.id
+ FROM product p
+ INNER JOIN tree t ON p.parent_id = t.id
+ )
+ SELECT t1.*
+ FROM product_model t1
+ INNER JOIN product t2 ON t1.product_id = t2.id
+ INNER JOIN tree t ON t2.id = t.id;
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
index 14b883e..f454d24 100644
--- a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -30,7 +30,8 @@
CASE
WHEN pwo.work_order_no LIKE 'FG%' THEN '杩斿伐杩斾慨'
ELSE '姝e父'
- END AS work_order_type
+ END AS work_order_type,
+ pp.device_name
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