From 6f0df10fdd0e55e5ed3e31b1720efd25e2bf02fb Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期三, 16 九月 2026 18:51:12 +0800
Subject: [PATCH] fix: 添加条件过滤以确保查询结果中合格数量大于零
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 213 ++++++++++++++++++++++++++++++-----------------------
1 files changed, 121 insertions(+), 92 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 150fc89..cec4b7e 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -12,21 +12,23 @@
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
-import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.procurementrecord.utils.StockUtils;
-import com.ruoyi.production.bean.dto.ProductStructureDto;
import com.ruoyi.production.bean.dto.ProductionProductMainDto;
import com.ruoyi.production.enums.ProductOrderStatusEnum;
import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.*;
+import com.ruoyi.production.service.ProductionOrderPickService;
import com.ruoyi.production.service.ProductionProductMainService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.quality.mapper.*;
import com.ruoyi.quality.pojo.*;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.pojo.StockInventory;
+import com.ruoyi.stock.service.StockInRecordService;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.service.StockInventoryService;
import com.ruoyi.technology.mapper.TechnologyOperationMapper;
@@ -41,15 +43,7 @@
import java.time.LocalDate;
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.*;
import java.util.stream.Collectors;
@Service
@@ -71,17 +65,19 @@
private final ProductionAccountMapper productionAccountMapper;
private final ProductionOperationTaskMapper productionOperationTaskMapper;
private final ProductionOrderMapper productionOrderMapper;
- private final ProductionOrderBomMapper productionOrderBomMapper;
- private final ProductionBomStructureMapper productionBomStructureMapper;
private final ProductionOrderRoutingOperationMapper productionOrderRoutingOperationMapper;
private final ProductionOrderRoutingOperationParamMapper productionOrderRoutingOperationParamMapper;
+ private final ProductionOrderPickMapper productionOrderPickMapper;
+ private final ProductionOrderPickService productionOrderPickService;
private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
private final TechnologyOperationMapper technologyOperationMapper;
private final StockUtils stockUtils;
+ private final StockInRecordService stockInRecordService;
private final StockInventoryService stockInventoryService;
@Override
public IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto) {
+ // 鍒嗛〉鏌ヨ鐢熶骇鎶ュ伐涓昏〃
IPage<ProductionProductMainDto> result = productionProductMainMapper.listPageProductionProductMainDto(page, productionProductMainDto);
fillOperationParamList(result.getRecords());
return result;
@@ -89,20 +85,24 @@
@Override
public IPage<ProductionProductMainDto> pageProductionProductMain(Page page, ProductionProductMainDto productionProductMainDto) {
+ // 鍒嗛〉鏌ヨ鐢熶骇鎶ュ伐涓昏〃
return listPageProductionProductMainDto(page, productionProductMainDto);
}
@Override
public ProductionProductMainDto getProductionProductMainInfo(Long id) {
+ // 鑾峰彇鐢熶骇浜у搧涓昏〃璇︽儏
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)
@@ -112,6 +112,7 @@
return;
}
+ // 鏌ヨ骞跺噯澶囦笟鍔℃暟鎹�
List<ProductionOrderRoutingOperationParam> paramList = productionOrderRoutingOperationParamMapper.selectList(
Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
.in(ProductionOrderRoutingOperationParam::getProductionProductMainId, mainIdSet)
@@ -211,6 +212,7 @@
@Override
public Boolean addProductMain(ProductionProductMainDto dto) {
+ // 鏂板鐢熶骇鎶ュ伐涓昏褰�
Long taskId = resolveTaskId(dto);
if (taskId == null) {
throw new ServiceException("璇蜂紶鍏ョ敓浜у伐鍗旾D");
@@ -220,11 +222,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;
@@ -233,10 +237,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);
@@ -250,6 +254,11 @@
ProductionOrder productionOrder = productionOrderMapper.selectById(productionOperationTask.getProductionOrderId());
if (productionOrder == null) {
throw new ServiceException("鐢熶骇璁㈠崟涓嶅瓨鍦�");
+ }
+ // 鎶ュ伐鍓嶇疆鏉′欢锛氬綋鍓嶅伐搴忓繀椤诲凡缁忛鏂欙紙浠讳竴鐗╂枡鍑�棰嗘枡鏁伴噺澶т簬0锛夈��
+ // 璇ユ牎楠屽湪浜嬪姟鍐呮墽琛岋紝缁曡繃鍓嶇鐩存帴璋冪敤鎺ュ彛鍚屾牱鍙楅檺銆�
+ if (!productionOrderPickService.hasEffectivePick(taskId)) {
+ throw new ServiceException("褰撳墠宸ュ簭鏈鏂欙紝鏃犳硶鎶ュ伐");
}
TechnologyRoutingOperation technologyRoutingOperation = technologyRoutingOperationMapper.selectById(routingOperation.getTechnologyRoutingOperationId());
TechnologyOperation technologyOperation = technologyRoutingOperation == null ? null
@@ -266,38 +275,24 @@
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()) {
- ProductStructureDto fallbackInput = new ProductStructureDto();
- fallbackInput.setProductModelId(productModel.getId());
- fallbackInput.setUnitQuantity(BigDecimal.ONE);
- productStructureDtos.add(fallbackInput);
- }
- for (ProductStructureDto item : productStructureDtos) {
- // 褰撳墠瀹炵幇鎸夊伐搴忔垚鍝佺洿鎺ヤ綔涓烘姇鍏ワ紝鍚庣画鑻ユ帴鍏ラ鏂欒褰曞彲鍦ㄨ繖閲屾浛鎹㈡潵婧愩��
- ProductionProductInput productionProductInput = new ProductionProductInput();
- productionProductInput.setProductionProductMainId(productionProductMain.getId());
- productionProductInput.setProductMainId(productionProductMain.getId());
- productionProductInput.setProductModelId(item.getProductModelId());
- productionProductInput.setInputQuantity(item.getUnitQuantity().multiply(defaultDecimal(dto.getQuantity())));
- productionProductInput.setQuantity(productionProductInput.getInputQuantity());
- productionProductInputMapper.insert(productionProductInput);
- }
+ // 鎶ュ伐鎶曞叆鏉ユ簮浜庡綋鍓嶅伐搴忕殑瀹為檯棰嗘枡璁板綍锛屼笉鍐嶆寜 BOM 鍗曚綅鐢ㄩ噺 脳 鎶ュ伐鏁伴噺鎺ㄧ畻銆�
+ // 姣忔潯鏈夋晥棰嗘枡鍙細琚娆℃姤宸ュ綊闆嗕竴娆★紝閲嶅鎶ュ伐涓嶄細閲嶅璁″叆鍚屼竴鎵圭墿鏂欍��
+ insertInputsFromTaskPicks(taskId, productionProductMain.getId());
ProductionProductOutput productionProductOutput = new ProductionProductOutput();
productionProductOutput.setProductionProductMainId(productionProductMain.getId());
- productionProductOutput.setProductMainId(productionProductMain.getId());
productionProductOutput.setProductModelId(productModel.getId());
productionProductOutput.setQuantity(defaultDecimal(dto.getQuantity()));
productionProductOutput.setScrapQty(defaultDecimal(dto.getScrapQty()));
productionProductOutputMapper.insert(productionProductOutput);
BigDecimal reportQty = defaultDecimal(productionProductOutput.getQuantity());
+ BigDecimal scrapQty = defaultDecimal(productionProductOutput.getScrapQty());
BigDecimal productQty = reportQty;
+ String qualifiedBatchNo = null;
List<ProductionOrderRoutingOperation> routingOperationList = productionOrderRoutingOperationMapper.selectList(
Wrappers.<ProductionOrderRoutingOperation>lambdaQuery()
@@ -343,6 +338,17 @@
stockInventoryDto.setQualitity(productQty);
stockInventoryDto.setProductModelId(productModel.getId());
stockInventoryService.addStockInRecordOnly(stockInventoryDto);
+ qualifiedBatchNo = resolveLatestStockInBatchNo(
+ productionProductMain.getId(),
+ StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(),
+ productModel.getId(),
+ "0");
+
+ //StockInRecord stockInRecord = stockInRecordService.getOne(Wrappers.<StockInRecord>lambdaQuery()
+ // .eq(StockInRecord::getRecordId, productionProductMain.getId())
+ // .eq(StockInRecord::getRecordType, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode())
+ //);
+ //stockInRecordService.batchApprove(Collections.singletonList(stockInRecord.getId()),1);
}
productionOperationTask.setCompleteQuantity(defaultDecimal(productionOperationTask.getCompleteQuantity()).add(productQty));
@@ -381,21 +387,45 @@
}
ProductionAccount productionAccount = new ProductionAccount();
productionAccount.setProductionProductMainId(productionProductMain.getId());
-// productionAccount.setSalesLedgerId(productionOrder.getSalesLedgerId());
-// productionAccount.setSalesLedgerProductId(productionOrder.getSalesLedgerProductId() == null ? null : productionOrder.getSalesLedgerProductId().longValue());
productionAccount.setSchedulingUserId(user == null ? null : user.getUserId());
productionAccount.setSchedulingUserName(user == null ? dto.getUserName() : user.getNickName());
productionAccount.setFinishedNum(productQty);
- productionAccount.setWorkHours(workHours);
+ productionAccount.setWorkHours(technologyOperation != null ? technologyOperation.getSalaryQuota() : null);
productionAccount.setTechnologyOperationName(technologyOperation == null ? null : technologyOperation.getName());
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 (scrapQty.compareTo(BigDecimal.ZERO) > 0) {
+ stockUtils.addUnStockWithBatchNo(
+ productModel.getId(),
+ scrapQty,
+ StockInQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(),
+ productionProductMain.getId(),
+ qualifiedBatchNo);
+ }
return true;
+ }
+
+ private String resolveLatestStockInBatchNo(Long recordId,
+ String recordType,
+ Long productModelId,
+ String stockType) {
+ if (recordId == null || productModelId == null) {
+ return null;
+ }
+ StockInRecord stockInRecord = stockInRecordService.getOne(
+ Wrappers.<StockInRecord>lambdaQuery()
+ .eq(StockInRecord::getRecordId, recordId)
+ .eq(StockInRecord::getRecordType, recordType)
+ .eq(StockInRecord::getProductModelId, productModelId)
+ .eq(StockInRecord::getType, stockType)
+ .orderByDesc(StockInRecord::getId)
+ .last("limit 1"),
+ false);
+ if (stockInRecord == null) {
+ throw new ServiceException("鏈壘鍒板搴旂殑鍏ュ簱鐢宠璁板綍");
+ }
+ return stockInRecord.getBatchNo();
}
private void syncOperationParamInputValue(ProductionProductMainDto dto,
@@ -463,71 +493,65 @@
return target;
}
- private List<ProductStructureDto> resolveInputStructures(Long productionOrderId,
- ProductionOrderRoutingOperation routingOperation,
- Long outputProductModelId) {
- if (productionOrderId == null || routingOperation == null || routingOperation.getTechnologyOperationId() == null) {
- return new ArrayList<>();
+ /**
+ * 鐢ㄥ綋鍓嶅伐搴忓皻鏈鎶ュ伐褰掗泦鐨勫疄闄呴鏂欑敓鎴愭姤宸ユ姇鍏ャ��
+ * 鎶曞叆鏁伴噺鍙栧噣棰嗘枡鏁伴噺锛堥鏂�+琛ユ枡-閫�鏂欙級锛屽苟璁板綍鏉ユ簮棰嗘枡ID锛�
+ * 淇濊瘉鍚屼竴绗旈鏂欎笉浼氬湪澶氭鎶ュ伐涓閲嶅璁″叆銆�
+ */
+ private void insertInputsFromTaskPicks(Long productionOperationTaskId, Long productionProductMainId) {
+ if (productionOperationTaskId == null || productionProductMainId == null) {
+ return;
}
- ProductionOrderBom orderBom = productionOrderBomMapper.selectOne(
- Wrappers.<ProductionOrderBom>lambdaQuery()
- .eq(ProductionOrderBom::getProductionOrderId, productionOrderId)
- .orderByDesc(ProductionOrderBom::getId)
- .last("limit 1"));
- if (orderBom == null || orderBom.getId() == null) {
- return new ArrayList<>();
+ List<ProductionOrderPick> taskPickList = productionOrderPickMapper.selectList(
+ Wrappers.<ProductionOrderPick>lambdaQuery()
+ .eq(ProductionOrderPick::getProductionOperationTaskId, productionOperationTaskId)
+ .orderByAsc(ProductionOrderPick::getId));
+ if (taskPickList.isEmpty()) {
+ return;
}
+ List<Long> pickIdList = taskPickList.stream()
+ .map(ProductionOrderPick::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList());
+ Set<Long> consumedPickIdSet = pickIdList.isEmpty()
+ ? Collections.emptySet()
+ : productionProductInputMapper.selectList(
+ Wrappers.<ProductionProductInput>lambdaQuery()
+ .in(ProductionProductInput::getProductionOrderPickId, pickIdList))
+ .stream()
+ .map(ProductionProductInput::getProductionOrderPickId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet());
- List<ProductionBomStructure> bomNodeList = productionBomStructureMapper.selectList(
- Wrappers.<ProductionBomStructure>lambdaQuery()
- .eq(ProductionBomStructure::getProductionOrderBomId, orderBom.getId())
- .orderByAsc(ProductionBomStructure::getId));
- if (bomNodeList.isEmpty()) {
- return new ArrayList<>();
- }
-
- Map<Long, ProductionBomStructure> nodeMap = bomNodeList.stream()
- .filter(item -> item != null && item.getId() != null)
- .collect(Collectors.toMap(ProductionBomStructure::getId, item -> item, (left, right) -> left));
- Long currentOutputModelId = routingOperation.getProductModelId() != null
- ? routingOperation.getProductModelId()
- : outputProductModelId;
-
- Map<Long, BigDecimal> unitQtyByProductModel = new LinkedHashMap<>();
- for (ProductionBomStructure node : bomNodeList) {
- if (node == null || node.getParentId() == null || node.getProductModelId() == null) {
+ for (ProductionOrderPick pick : taskPickList) {
+ if (pick == null || pick.getId() == null || consumedPickIdSet.contains(pick.getId())) {
continue;
}
- if (!Objects.equals(node.getTechnologyOperationId(), routingOperation.getTechnologyOperationId())) {
+ BigDecimal effectiveQuantity = defaultDecimal(pick.getQuantity())
+ .add(defaultDecimal(pick.getFeedingQty()))
+ .subtract(defaultDecimal(pick.getReturnQty()));
+ if (effectiveQuantity.compareTo(BigDecimal.ZERO) <= 0) {
continue;
}
- ProductionBomStructure parent = nodeMap.get(node.getParentId());
- if (parent == null || !Objects.equals(parent.getProductModelId(), currentOutputModelId)) {
- continue;
- }
- unitQtyByProductModel.merge(node.getProductModelId(), defaultDecimal(node.getUnitQuantity()), BigDecimal::add);
+ ProductionProductInput productionProductInput = new ProductionProductInput();
+ productionProductInput.setProductionProductMainId(productionProductMainId);
+ productionProductInput.setProductModelId(pick.getProductModelId());
+ productionProductInput.setProductionOrderPickId(pick.getId());
+ productionProductInput.setInputQuantity(effectiveQuantity);
+ productionProductInput.setQuantity(effectiveQuantity);
+ productionProductInputMapper.insert(productionProductInput);
}
-
- List<ProductStructureDto> result = new ArrayList<>();
- for (Map.Entry<Long, BigDecimal> entry : unitQtyByProductModel.entrySet()) {
- if (entry.getValue().compareTo(BigDecimal.ZERO) <= 0) {
- continue;
- }
- ProductStructureDto item = new ProductStructureDto();
- item.setProductModelId(entry.getKey());
- item.setUnitQuantity(entry.getValue());
- result.add(item);
- }
- return result;
}
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("璇ユ潯鎶ュ伐宸茬粡涓嶅悎鏍煎鐞嗕簡锛屼笉鍏佽鍒犻櫎");
@@ -552,6 +576,7 @@
} else {
productionOperationTask.setStatus(3);
}
+ // 鎸佷箙鍖栨垨杈撳嚭澶勭悊缁撴灉
productionOperationTaskMapper.updateById(productionOperationTask);
ProductionOrder productionOrder = productionOrderMapper.selectById(productionOperationTask.getProductionOrderId());
@@ -592,7 +617,7 @@
productionOrderRoutingOperationParamMapper.delete(
Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
.eq(ProductionOrderRoutingOperationParam::getProductionProductMainId, productionProductMain.getId()));
- stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+ stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode());
stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
productionProductMainMapper.deleteById(productionProductMain.getId());
@@ -600,6 +625,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);
@@ -622,10 +648,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;
}
@@ -634,6 +662,7 @@
@Override
public ArrayList<Long> listMain(List<Long> idList) {
+ // 鏌ヨ涓昏〃ID闆嗗悎
return productionProductMainMapper.listMain(idList);
}
}
--
Gitblit v1.9.3