From 5ddc232b8dffcb3402711874491df35fb1997d1d Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期六, 09 五月 2026 16:08:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 232 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 205 insertions(+), 27 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 abbc525..808e75d 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -27,6 +27,8 @@
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.quality.mapper.*;
import com.ruoyi.quality.pojo.*;
+import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.service.StockInventoryService;
import com.ruoyi.technology.mapper.TechnologyOperationMapper;
import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper;
import com.ruoyi.technology.pojo.TechnologyOperation;
@@ -40,10 +42,14 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.Set;
import java.util.stream.Collectors;
@Service
@@ -72,26 +78,146 @@
private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
private final TechnologyOperationMapper technologyOperationMapper;
private final StockUtils stockUtils;
+ private final StockInventoryService stockInventoryService;
@Override
public IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto) {
- return productionProductMainMapper.listPageProductionProductMainDto(page, productionProductMainDto);
+ // 鍒嗛〉鏌ヨ鐢熶骇鎶ュ伐涓昏〃
+ IPage<ProductionProductMainDto> result = productionProductMainMapper.listPageProductionProductMainDto(page, productionProductMainDto);
+ fillOperationParamList(result.getRecords());
+ return result;
}
@Override
public IPage<ProductionProductMainDto> pageProductionProductMain(Page page, ProductionProductMainDto productionProductMainDto) {
+ // 鍒嗛〉鏌ヨ鐢熶骇鎶ュ伐涓昏〃
return listPageProductionProductMainDto(page, productionProductMainDto);
}
@Override
public ProductionProductMainDto getProductionProductMainInfo(Long id) {
- return productionProductMainMapper.listPageProductionProductMainDto(new Page<>(1, 1), new ProductionProductMainDto() {{
+ // 鑾峰彇鐢熶骇浜у搧涓昏〃璇︽儏
+ return listPageProductionProductMainDto(new Page<>(1, 1), new ProductionProductMainDto() {{
setId(id);
}}).getRecords().stream().findFirst().orElse(null);
}
+ private void fillOperationParamList(List<ProductionProductMainDto> recordList) {
+ // 濉厖宸ュ簭鍙傛暟鍒楄〃
+ if (recordList == null || recordList.isEmpty()) {
+ return;
+ }
+ // 閬嶅巻澶勭悊鏁版嵁骞剁粍瑁呯粨鏋�
+ Set<Long> mainIdSet = recordList.stream()
+ .map(ProductionProductMainDto::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toCollection(LinkedHashSet::new));
+ if (mainIdSet.isEmpty()) {
+ recordList.forEach(item -> item.setProductionOperationParamList(Collections.emptyList()));
+ return;
+ }
+
+ // 鏌ヨ骞跺噯澶囦笟鍔℃暟鎹�
+ List<ProductionOrderRoutingOperationParam> paramList = productionOrderRoutingOperationParamMapper.selectList(
+ Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
+ .in(ProductionOrderRoutingOperationParam::getProductionProductMainId, mainIdSet)
+ .orderByAsc(ProductionOrderRoutingOperationParam::getId));
+ Map<Long, List<ProductionOrderRoutingOperationParam>> paramGroupMap = new HashMap<>();
+ for (ProductionOrderRoutingOperationParam param : paramList) {
+ if (param == null || param.getProductionProductMainId() == null) {
+ continue;
+ }
+ paramGroupMap.computeIfAbsent(param.getProductionProductMainId(), key -> new ArrayList<>()).add(param);
+ }
+
+ Set<Long> missingMainIdSet = new LinkedHashSet<>();
+ for (ProductionProductMainDto item : recordList) {
+ Long mainId = item.getId();
+ if (mainId == null) {
+ item.setProductionOperationParamList(Collections.emptyList());
+ continue;
+ }
+ List<ProductionOrderRoutingOperationParam> params = paramGroupMap.get(mainId);
+ if (params != null && !params.isEmpty()) {
+ item.setProductionOperationParamList(params);
+ continue;
+ }
+ missingMainIdSet.add(mainId);
+ }
+ if (missingMainIdSet.isEmpty()) {
+ return;
+ }
+
+ // 鍏煎鍘嗗彶鏁版嵁锛氭棫鎶ュ伐璁板綍娌℃湁鎸夋姤宸D钀藉弬鏁板揩鐓ф椂锛屽洖閫�灞曠ず宸ュ簭妯℃澘鍙傛暟銆�
+ List<ProductionProductMain> mainList = productionProductMainMapper.selectBatchIds(missingMainIdSet);
+ Map<Long, Long> mainIdToTaskIdMap = mainList.stream()
+ .filter(Objects::nonNull)
+ .filter(item -> item.getId() != null)
+ .collect(Collectors.toMap(ProductionProductMain::getId,
+ ProductionProductMain::getProductionOperationTaskId, (left, right) -> left));
+ Set<Long> taskIdSet = mainIdToTaskIdMap.values().stream()
+ .filter(Objects::nonNull)
+ .collect(Collectors.toCollection(LinkedHashSet::new));
+ if (taskIdSet.isEmpty()) {
+ for (ProductionProductMainDto item : recordList) {
+ if (item.getId() != null && missingMainIdSet.contains(item.getId())) {
+ item.setProductionOperationParamList(Collections.emptyList());
+ }
+ }
+ return;
+ }
+
+ List<ProductionOperationTask> taskList = productionOperationTaskMapper.selectList(
+ Wrappers.<ProductionOperationTask>lambdaQuery()
+ .in(ProductionOperationTask::getId, taskIdSet));
+ Map<Long, Long> taskIdToRoutingOperationIdMap = taskList.stream()
+ .filter(Objects::nonNull)
+ .filter(item -> item.getId() != null)
+ .collect(Collectors.toMap(ProductionOperationTask::getId,
+ ProductionOperationTask::getProductionOrderRoutingOperationId, (left, right) -> left));
+ Set<Long> routingOperationIdSet = taskIdToRoutingOperationIdMap.values().stream()
+ .filter(Objects::nonNull)
+ .collect(Collectors.toCollection(LinkedHashSet::new));
+ if (routingOperationIdSet.isEmpty()) {
+ for (ProductionProductMainDto item : recordList) {
+ if (item.getId() != null && missingMainIdSet.contains(item.getId())) {
+ item.setProductionOperationParamList(Collections.emptyList());
+ }
+ }
+ return;
+ }
+
+ List<ProductionOrderRoutingOperationParam> fallbackParamList = productionOrderRoutingOperationParamMapper.selectList(
+ Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
+ .in(ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId, routingOperationIdSet)
+ .isNull(ProductionOrderRoutingOperationParam::getProductionProductMainId)
+ .orderByAsc(ProductionOrderRoutingOperationParam::getId));
+ Map<Long, List<ProductionOrderRoutingOperationParam>> fallbackGroupMap = new HashMap<>();
+ for (ProductionOrderRoutingOperationParam param : fallbackParamList) {
+ if (param == null || param.getProductionOrderRoutingOperationId() == null) {
+ continue;
+ }
+ fallbackGroupMap.computeIfAbsent(param.getProductionOrderRoutingOperationId(), key -> new ArrayList<>()).add(param);
+ }
+
+ for (ProductionProductMainDto item : recordList) {
+ Long mainId = item.getId();
+ if (mainId == null || !missingMainIdSet.contains(mainId)) {
+ continue;
+ }
+ Long taskId = mainIdToTaskIdMap.get(mainId);
+ Long routingOperationId = taskId == null ? null : taskIdToRoutingOperationIdMap.get(taskId);
+ if (routingOperationId == null) {
+ item.setProductionOperationParamList(Collections.emptyList());
+ continue;
+ }
+ item.setProductionOperationParamList(fallbackGroupMap.getOrDefault(routingOperationId, Collections.emptyList()));
+ }
+ }
+
@Override
public Boolean addProductMain(ProductionProductMainDto dto) {
+ // 鏂板鐢熶骇鎶ュ伐涓昏褰�
Long taskId = resolveTaskId(dto);
if (taskId == null) {
throw new ServiceException("璇蜂紶鍏ョ敓浜у伐鍗旾D");
@@ -101,11 +227,13 @@
@Override
public Boolean saveProductionProductMain(ProductionProductMainDto productionProductMainDto) {
+ // 淇濆瓨鐢熶骇鎶ュ伐涓昏褰�
return addProductMain(productionProductMainDto);
}
@Override
public Boolean removeProductMain(Long id) {
+ // 鍒犻櫎鐢熶骇鎶ュ伐涓昏褰�
ProductionProductMain currentMain = productionProductMainMapper.selectById(id);
if (currentMain == null) {
return true;
@@ -114,10 +242,10 @@
}
private Boolean addProductMainByProductionTask(ProductionProductMainDto dto) {
- // 鎶ュ伐浠ヨ鍗曞伐搴忓揩鐓т负鍑嗭紝閬垮厤宸ヨ壓涓绘暟鎹彉鏇村悗褰卞搷鍘嗗彶宸ュ崟鎵ц銆�
+ // 鎸夌敓浜т换鍔℃柊澧炴姤宸ヤ富璁板綍
Long taskId = resolveTaskId(dto);
if (taskId == null) {
- throw new ServiceException("productionOperationTaskId can not be null");
+ throw new ServiceException("鐢熶骇宸ュ崟ID涓嶈兘涓虹┖");
}
SysUser user = userMapper.selectUserById(dto.getUserId());
ProductionOperationTask productionOperationTask = productionOperationTaskMapper.selectById(taskId);
@@ -132,7 +260,6 @@
if (productionOrder == null) {
throw new ServiceException("鐢熶骇璁㈠崟涓嶅瓨鍦�");
}
- syncOperationParamInputValue(dto, routingOperation.getId());
TechnologyRoutingOperation technologyRoutingOperation = technologyRoutingOperationMapper.selectById(routingOperation.getTechnologyRoutingOperationId());
TechnologyOperation technologyOperation = technologyRoutingOperation == null ? null
: technologyOperationMapper.selectById(technologyRoutingOperation.getTechnologyOperationId());
@@ -148,12 +275,18 @@
productionProductMain.setUserName(user == null ? dto.getUserName() : user.getNickName());
productionProductMain.setProductionOperationTaskId(taskId);
productionProductMain.setStatus(0);
+ productionProductMain.setWorkHour(dto.getWorkHour());
productionProductMainMapper.insert(productionProductMain);
+ syncOperationParamInputValue(dto, routingOperation.getId(), productionProductMain.getId());
List<ProductStructureDto> productStructureDtos = resolveInputStructures(
productionOrder.getId(), routingOperation, productModel.getId());
+ // 濡傛灉娌℃湁bom瀛愯妭鐐逛簡锛岄偅涔堟姇鍏ュ氨鏄粬鏈韩
if (productStructureDtos.isEmpty()) {
- throw new ServiceException("鏈壘鍒板綋鍓嶅伐搴忓搴旂殑BOM鎶曞叆鑺傜偣");
+ ProductStructureDto fallbackInput = new ProductStructureDto();
+ fallbackInput.setProductModelId(productModel.getId());
+ fallbackInput.setUnitQuantity(BigDecimal.ONE);
+ productStructureDtos.add(fallbackInput);
}
for (ProductStructureDto item : productStructureDtos) {
// 褰撳墠瀹炵幇鎸夊伐搴忔垚鍝佺洿鎺ヤ綔涓烘姇鍏ワ紝鍚庣画鑻ユ帴鍏ラ鏂欒褰曞彲鍦ㄨ繖閲屾浛鎹㈡潵婧愩��
@@ -173,7 +306,8 @@
productionProductOutput.setQuantity(defaultDecimal(dto.getQuantity()));
productionProductOutput.setScrapQty(defaultDecimal(dto.getScrapQty()));
productionProductOutputMapper.insert(productionProductOutput);
- BigDecimal productQty = productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty());
+ BigDecimal reportQty = defaultDecimal(productionProductOutput.getQuantity());
+ BigDecimal productQty = reportQty;
List<ProductionOrderRoutingOperation> routingOperationList = productionOrderRoutingOperationMapper.selectList(
Wrappers.<ProductionOrderRoutingOperation>lambdaQuery()
@@ -199,7 +333,7 @@
qualityInspect.setProductModelId(productModel.getId());
qualityInspectMapper.insert(qualityInspect);
List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
- if (qualityTestStandard.size() > 0) {
+ if (!qualityTestStandard.isEmpty()) {
qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
qualityInspectMapper.updateById(qualityInspect);
qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
@@ -213,8 +347,12 @@
});
}
} else {
- stockUtils.addStock(productModel.getId(), productQty,
- StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
+ StockInventoryDto stockInventoryDto = new StockInventoryDto();
+ stockInventoryDto.setRecordId(productionProductMain.getId());
+ stockInventoryDto.setRecordType(String.valueOf(StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode()));
+ stockInventoryDto.setQualitity(productQty);
+ stockInventoryDto.setProductModelId(productModel.getId());
+ stockInventoryService.addStockInRecordOnly(stockInventoryDto);
}
productionOperationTask.setCompleteQuantity(defaultDecimal(productionOperationTask.getCompleteQuantity()).add(productQty));
@@ -263,27 +401,40 @@
productionAccount.setSchedulingDate(LocalDateTime.now());
productionAccountMapper.insert(productionAccount);
}
- if (defaultDecimal(dto.getScrapQty()).compareTo(BigDecimal.ZERO) > 0) {
- stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(),
- StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
- }
+// if (defaultDecimal(dto.getScrapQty()).compareTo(BigDecimal.ZERO) > 0) {
+// stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(),
+// StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+// }
return true;
}
- private void syncOperationParamInputValue(ProductionProductMainDto dto, Long productionOrderRoutingOperationId) {
- if (dto == null || productionOrderRoutingOperationId == null) {
+ private void syncOperationParamInputValue(ProductionProductMainDto dto,
+ Long productionOrderRoutingOperationId,
+ Long productionProductMainId) {
+ if (dto == null || productionOrderRoutingOperationId == null || productionProductMainId == null) {
return;
}
List<ProductionOrderRoutingOperationParam> paramList = dto.getProductionOperationParamList();
if (paramList == null || paramList.isEmpty()) {
return;
}
+ Set<Long> sourceParamIdSet = paramList.stream()
+ .filter(Objects::nonNull)
+ .map(ProductionOrderRoutingOperationParam::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toCollection(LinkedHashSet::new));
+ if (sourceParamIdSet.isEmpty()) {
+ return;
+ }
+
List<ProductionOrderRoutingOperationParam> dbParamList = productionOrderRoutingOperationParamMapper.selectList(
Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
+ .in(ProductionOrderRoutingOperationParam::getId, sourceParamIdSet)
.eq(ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId, productionOrderRoutingOperationId));
if (dbParamList == null || dbParamList.isEmpty()) {
return;
}
+
Map<Long, ProductionOrderRoutingOperationParam> dbParamMap = dbParamList.stream()
.filter(item -> item != null && item.getId() != null)
.collect(Collectors.toMap(ProductionOrderRoutingOperationParam::getId, item -> item, (left, right) -> left));
@@ -295,14 +446,31 @@
if (dbParam == null) {
throw new ServiceException("宸ュ簭鍙傛暟涓嶅瓨鍦ㄦ垨涓嶅睘浜庡綋鍓嶅伐鍗曞伐搴忥紝ID=" + param.getId());
}
- if (Objects.equals(dbParam.getInputValue(), param.getInputValue())) {
- continue;
- }
- ProductionOrderRoutingOperationParam updateParam = new ProductionOrderRoutingOperationParam();
- updateParam.setId(dbParam.getId());
- updateParam.setInputValue(param.getInputValue());
- productionOrderRoutingOperationParamMapper.updateById(updateParam);
+ productionOrderRoutingOperationParamMapper.insert(buildReportParamSnapshot(dbParam, param.getInputValue(), productionProductMainId));
}
+ }
+
+ private ProductionOrderRoutingOperationParam buildReportParamSnapshot(ProductionOrderRoutingOperationParam source,
+ String inputValue,
+ Long productionProductMainId) {
+ ProductionOrderRoutingOperationParam target = new ProductionOrderRoutingOperationParam();
+ target.setProductionOrderId(source.getProductionOrderId());
+ target.setTechnologyRoutingOperationParamId(source.getTechnologyRoutingOperationParamId());
+ target.setParamCode(source.getParamCode());
+ target.setParamName(source.getParamName());
+ target.setParamType(source.getParamType());
+ target.setParamFormat(source.getParamFormat());
+ target.setUnit(source.getUnit());
+ target.setIsRequired(source.getIsRequired());
+ target.setRemark(source.getRemark());
+ target.setParamId(source.getParamId());
+ target.setTechnologyOperationId(source.getTechnologyOperationId());
+ target.setTechnologyOperationParamId(source.getTechnologyOperationParamId());
+ target.setStandardValue(source.getStandardValue());
+ target.setInputValue(inputValue);
+ target.setProductionOrderRoutingOperationId(source.getProductionOrderRoutingOperationId());
+ target.setProductionProductMainId(productionProductMainId);
+ return target;
}
private List<ProductStructureDto> resolveInputStructures(Long productionOrderId,
@@ -364,12 +532,14 @@
}
private Boolean removeProductMainByProductionTask(ProductionProductMain productionProductMain) {
- // 鍒犻櫎鎶ュ伐闇�瑕佸悓姝ュ洖婊氳川妫�銆佸簱瀛樸�佸伐鏃舵牳绠楀拰璁㈠崟/宸ュ崟杩涘害銆�
+ // 鎸夌敓浜т换鍔″洖婊氬苟鍒犻櫎鎶ュ伐涓昏褰�
List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(
Wrappers.<QualityInspect>lambdaQuery().eq(QualityInspect::getProductMainId, productionProductMain.getId()));
+ // 鍙傛暟涓庡墠缃潯浠舵牎楠�
if (qualityInspects.size() > 0) {
List<QualityUnqualified> qualityUnqualifieds = qualityUnqualifiedMapper.selectList(
Wrappers.<QualityUnqualified>lambdaQuery()
+ // 閬嶅巻澶勭悊鏁版嵁骞剁粍瑁呯粨鏋�
.in(QualityUnqualified::getInspectId, qualityInspects.stream().map(QualityInspect::getId).collect(Collectors.toList())));
if (qualityUnqualifieds.size() > 0 && qualityUnqualifieds.get(0).getInspectState() == 1) {
throw new ServiceException("璇ユ潯鎶ュ伐宸茬粡涓嶅悎鏍煎鐞嗕簡锛屼笉鍏佽鍒犻櫎");
@@ -384,8 +554,8 @@
ProductionOperationTask productionOperationTask = productionOperationTaskMapper.selectById(productionProductMain.getProductionOperationTaskId());
if (productionOperationTask != null && productionProductOutput != null) {
- BigDecimal validQuantity = defaultDecimal(productionProductOutput.getQuantity()).subtract(defaultDecimal(productionProductOutput.getScrapQty()));
- productionOperationTask.setCompleteQuantity(defaultDecimal(productionOperationTask.getCompleteQuantity()).subtract(validQuantity));
+ BigDecimal reportQuantity = defaultDecimal(productionProductOutput.getQuantity());
+ productionOperationTask.setCompleteQuantity(defaultDecimal(productionOperationTask.getCompleteQuantity()).subtract(reportQuantity));
productionOperationTask.setActualEndTime(null);
if (defaultDecimal(productionOperationTask.getCompleteQuantity()).compareTo(BigDecimal.ZERO) <= 0) {
productionOperationTask.setCompleteQuantity(BigDecimal.ZERO);
@@ -394,6 +564,7 @@
} else {
productionOperationTask.setStatus(3);
}
+ // 鎸佷箙鍖栨垨杈撳嚭澶勭悊缁撴灉
productionOperationTaskMapper.updateById(productionOperationTask);
ProductionOrder productionOrder = productionOrderMapper.selectById(productionOperationTask.getProductionOrderId());
@@ -406,7 +577,7 @@
.eq(ProductionOrderRoutingOperation::getProductionOrderId, routingOperation.getProductionOrderId()));
boolean isLastOperation = routingOperation.getDragSort() != null && routingOperation.getDragSort().equals(routingOperationList.size());
if (isLastOperation) {
- BigDecimal newCompleteQty = defaultDecimal(productionOrder.getCompleteQuantity()).subtract(validQuantity);
+ BigDecimal newCompleteQty = defaultDecimal(productionOrder.getCompleteQuantity()).subtract(reportQuantity);
productionOrder.setCompleteQuantity(newCompleteQty.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : newCompleteQty);
productionOrder.setEndTime(null);
}
@@ -431,6 +602,9 @@
.eq(ProductionProductOutput::getProductionProductMainId, productionProductMain.getId()));
productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
.eq(ProductionProductInput::getProductionProductMainId, productionProductMain.getId()));
+ productionOrderRoutingOperationParamMapper.delete(
+ Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
+ .eq(ProductionOrderRoutingOperationParam::getProductionProductMainId, productionProductMain.getId()));
stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode());
stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
@@ -439,6 +613,7 @@
}
private 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);
@@ -461,10 +636,12 @@
}
private BigDecimal defaultDecimal(BigDecimal value) {
+ // 灏嗙┖鏁伴噺鍏滃簳涓�0锛岄伩鍏嶇┖鎸囬拡寮傚父
return value == null ? BigDecimal.ZERO : value;
}
private Long resolveTaskId(ProductionProductMainDto dto) {
+ // 浠庡叆鍙備腑瑙f瀽鐢熶骇宸ュ崟ID骞舵牎楠�
if (dto == null) {
return null;
}
@@ -473,6 +650,7 @@
@Override
public ArrayList<Long> listMain(List<Long> idList) {
+ // 鏌ヨ涓昏〃ID闆嗗悎
return productionProductMainMapper.listMain(idList);
}
}
--
Gitblit v1.9.3