From 6916862c6dbb26fc850d3c28bec89e7382b77dd2 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 24 三月 2026 13:02:08 +0800
Subject: [PATCH] feat: 报工编号提取公共方法
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 58 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 30 insertions(+), 28 deletions(-)
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 fa34114..e8237a8 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -106,33 +106,7 @@
//鏌ヨ璇ョ敓浜ц鍗曞搴旂殑bom
ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectById(productProcessRouteItem.getProductRouteId());
/*鏂板鎶ュ伐涓昏〃*/
- //鏌ヨ鏈�澶ф姤宸ョ紪鍙�
- String datePrefix = "BG" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd"));
- QueryWrapper<ProductionProductMain> queryWrapper = new QueryWrapper<>();
- queryWrapper.select("MAX(product_no) as maxNo")
- .likeRight("product_no", datePrefix);
- List<Map<String, Object>> resultList = productionProductMainMapper.selectMaps(queryWrapper);
- int sequenceNumber = 1;
- if (resultList != null && !resultList.isEmpty()) {
- Map<String, Object> result = resultList.get(0);
- if (result != null) {
- Object maxNoObj = result.get("maxNo");
- if (maxNoObj != null) {
- String lastNo = maxNoObj.toString();
- System.out.println("lastNo: " + lastNo);
- if (lastNo.startsWith(datePrefix)) {
- try {
- String seqStr = lastNo.substring(datePrefix.length());
- sequenceNumber = Integer.parseInt(seqStr) + 1;
- } catch (NumberFormatException e) {
- sequenceNumber = 1;
- }
- }
- }
- }
- }
- String productNo = String.format("%s%03d", datePrefix, sequenceNumber);
- productionProductMain.setProductNo(productNo);
+ productionProductMain.setProductNo(generateProductNo());
productionProductMain.setUserId(dto.getUserId());
productionProductMain.setUserName(dto.getUserName());
productionProductMain.setProductProcessRouteItemId(dto.getProductProcessRouteItemId());
@@ -140,7 +114,7 @@
productionProductMain.setStatus(0);
productionProductMainMapper.insert(productionProductMain);
/*鏂板鎶ュ伐鎶曞叆琛�*/
- List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
+ List<ProductStructureDto> productStructureDtos = productStructureMapper.listByBomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
if (productStructureDtos.size() == 0) {
//濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
ProductStructureDto productStructureDto = new ProductStructureDto();
@@ -345,4 +319,32 @@
public ArrayList<Long> listMain(List<Long> idList) {
return productionProductMainMapper.listMain(idList);
}
+
+ @Override
+ public String generateProductNo() {
+ String datePrefix = "BG" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd"));
+ QueryWrapper<ProductionProductMain> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("MAX(product_no) as maxNo")
+ .likeRight("product_no", datePrefix);
+ List<Map<String, Object>> resultList = productionProductMainMapper.selectMaps(queryWrapper);
+ int sequenceNumber = 1;
+ if (resultList != null && !resultList.isEmpty()) {
+ Map<String, Object> result = resultList.get(0);
+ if (result != null) {
+ Object maxNoObj = result.get("maxNo");
+ if (maxNoObj != null) {
+ String lastNo = maxNoObj.toString();
+ if (lastNo.startsWith(datePrefix)) {
+ try {
+ String seqStr = lastNo.substring(datePrefix.length());
+ sequenceNumber = Integer.parseInt(seqStr) + 1;
+ } catch (NumberFormatException e) {
+ sequenceNumber = 1;
+ }
+ }
+ }
+ }
+ }
+ return String.format("%s%03d", datePrefix, sequenceNumber);
+ }
}
--
Gitblit v1.9.3