From a2891398ea8c4c066d46cb8f174556ebbd93c7f9 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 27 三月 2026 17:52:01 +0800
Subject: [PATCH] yys 1.完善销售下单,生成生产订单
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 237 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 156 insertions(+), 81 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 b2c914b..6be85eb 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,8 +12,10 @@
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
-import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
-import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.dto.ProductStructureDto;
@@ -24,15 +27,18 @@
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.quality.mapper.*;
import com.ruoyi.quality.pojo.*;
+import com.ruoyi.quality.service.IQualityInspectService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.production.mapper.ProductionProductMainMapper;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -41,6 +47,7 @@
@Transactional(rollbackFor = Exception.class)
public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
+ private IQualityInspectService qualityInspectService;
private ProductionProductMainMapper productionProductMainMapper;
@@ -92,6 +99,30 @@
if (productProcessRouteItem == null) {
throw new RuntimeException("宸ヨ壓璺嚎椤逛笉瀛樺湪");
}
+ // 鑾峰彇璁㈠崟鐨勫伐鍗�
+ List<ProductWorkOrder> productWorkOrderList = productWorkOrderMapper.selectList(Wrappers.<ProductWorkOrder>lambdaQuery()
+ .eq(ProductWorkOrder::getProductOrderId, productProcessRouteItem.getProductOrderId()));
+ // 鑾峰彇瀹屾垚鏁伴噺
+ BigDecimal completeQuantity = productWorkOrderList
+ .stream()
+ .filter(item -> item.getStatus() == 3)
+ .map(ProductWorkOrder::getCompleteQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ // 鑾峰彇鎵�鏈夋暟閲�
+ BigDecimal totalQuantity = productWorkOrderList
+ .stream()
+ .map(ProductWorkOrder::getPlanQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ // 鑾峰彇鏈畬鎴愭暟閲�
+ BigDecimal unCompleteQuantity = totalQuantity.subtract(completeQuantity);
+ if (unCompleteQuantity.compareTo(BigDecimal.ZERO) <= 0) {
+ throw new ServiceException("璇ュ伐鍗曞凡鍏ㄩ儴瀹屾垚");
+ }
+ // 璁$畻姣斾緥
+ BigDecimal ratio = unCompleteQuantity.divide(totalQuantity, 2, RoundingMode.HALF_UP);
+ if(CollectionUtils.isEmpty(productWorkOrderList)){
+ productWorkOrderList = new ArrayList<>();
+ }
//褰撳墠鍏蜂綋宸ュ簭
ProductProcess productProcess = productProcessMapper.selectById(productProcessRouteItem.getProcessId());
//宸ヨ壓璺嚎涓綋鍓嶅伐搴忓搴旂殑浜у嚭瑙勬牸鍨嬪彿
@@ -132,25 +163,25 @@
productionProductMain.setWorkOrderId(dto.getWorkOrderId());
productionProductMain.setStatus(0);
productionProductMainMapper.insert(productionProductMain);
- /*鏂板鎶ュ伐鎶曞叆琛�*/
- List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
- if (productStructureDtos.size() == 0) {
- //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
- ProductStructureDto productStructureDto = new ProductStructureDto();
- productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
- productStructureDto.setUnitQuantity(BigDecimal.ONE);
- productStructureDtos.add(productStructureDto);
- }
- for (ProductStructureDto productStructureDto : productStructureDtos) {
-
- ProductionProductInput productionProductInput = new ProductionProductInput();
- productionProductInput.setProductModelId(productStructureDto.getProductModelId());
- productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
- productionProductInput.setProductMainId(productionProductMain.getId());
- productionProductInputMapper.insert(productionProductInput);
- stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
-
- }
+ /*鏂板鎶ュ伐鎶曞叆琛紙閫昏緫鏀逛负鎵嬪姩棰嗘枡锛�*/
+// List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcess.getId());
+// if (productStructureDtos.size() == 0) {
+// //濡傛灉璇ュ伐搴忔病鏈変骇鍝佺粨鏋勭殑鎶曞叆鍝�,閭h繖涓姇鍏ュ搧鍜屼骇鍑哄搧鏄悓涓�涓�
+// ProductStructureDto productStructureDto = new ProductStructureDto();
+// productStructureDto.setProductModelId(productProcessRouteItem.getProductModelId());
+// productStructureDto.setUnitQuantity(BigDecimal.ONE);
+// productStructureDtos.add(productStructureDto);
+// }
+// for (ProductStructureDto productStructureDto : productStructureDtos) {
+//
+// ProductionProductInput productionProductInput = new ProductionProductInput();
+// productionProductInput.setProductModelId(productStructureDto.getProductModelId());
+// productionProductInput.setQuantity(dto.getQuantity());
+// productionProductInput.setProductMainId(productionProductMain.getId());
+// productionProductInputMapper.insert(productionProductInput);
+// stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
+//
+// }
/*鏂板鎶ュ伐浜у嚭琛�*/
ProductionProductOutput productionProductOutput = new ProductionProductOutput();
productionProductOutput.setProductMainId(productionProductMain.getId());
@@ -163,71 +194,81 @@
//鍙湁鍚堟牸鏁伴噺>0鎵嶈兘澧炲姞鐩稿簲鏁版嵁
if (productQty.compareTo(BigDecimal.ZERO) > 0) {
/*鏂板璐ㄦ*/
- //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
- int inspectType = 1;
- String process = productProcess.getName();//宸ュ簭
- if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
- //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
- inspectType = 2;
- process = null;
- }
- Product product = productMapper.selectById(productModel.getProductId());
- QualityInspect qualityInspect = new QualityInspect();
- qualityInspect.setProductId(product.getId());
- qualityInspect.setProductName(product.getProductName());
- qualityInspect.setModel(productModel.getModel());
- qualityInspect.setUnit(productModel.getUnit());
- qualityInspect.setQuantity(productQty);
- qualityInspect.setProcess(process);
- qualityInspect.setInspectState(0);
- qualityInspect.setInspectType(inspectType);
- qualityInspect.setProductMainId(productionProductMain.getId());
- qualityInspect.setProductModelId(productModel.getId());
- qualityInspectMapper.insert(qualityInspect);
- List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
- if (qualityTestStandard.size() > 0) {
- qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
- qualityInspectMapper.updateById(qualityInspect);
- qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
- .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
- .forEach(qualityTestStandardParam -> {
- QualityInspectParam param = new QualityInspectParam();
- BeanUtils.copyProperties(qualityTestStandardParam, param);
- param.setId(null);
- param.setInspectId(qualityInspect.getId());
- qualityInspectParamMapper.insert(param);
- });
+ if (productProcessRouteItem.getIsQuality()) {
+ //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
+ int inspectType = 1;
+ String process = productProcess.getName();//宸ュ簭
+ if (productWorkOrderList.size() == productProcessRouteItems.size() - 1) {
+ //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
+ inspectType = 2;
+ process = null;
+ }
+ Product product = productMapper.selectById(productModel.getProductId());
+ QualityInspect qualityInspect = new QualityInspect();
+ qualityInspect.setProductId(product.getId());
+ qualityInspect.setProductName(product.getProductName());
+ qualityInspect.setModel(productModel.getModel());
+ qualityInspect.setUnit(productModel.getUnit());
+ qualityInspect.setQuantity(productQty);
+ qualityInspect.setProcess(process);
+ qualityInspect.setInspectState(0);
+ qualityInspect.setInspectType(inspectType);
+ qualityInspect.setProductMainId(productionProductMain.getId());
+ qualityInspect.setProductModelId(productModel.getId());
+ qualityInspectMapper.insert(qualityInspect);
+ List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
+ if (qualityTestStandard.size() > 0) {
+ qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+ qualityInspectMapper.updateById(qualityInspect);
+ qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
+ .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
+ .forEach(qualityTestStandardParam -> {
+ QualityInspectParam param = new QualityInspectParam();
+ BeanUtils.copyProperties(qualityTestStandardParam, param);
+ param.setId(null);
+ param.setInspectId(qualityInspect.getId());
+ qualityInspectParamMapper.insert(param);
+ });
+ }
+ }else {
+ //鐩存帴鍏ュ簱
+// stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
}
/*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());
productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().add(productQty));
if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) {
productWorkOrder.setActualStartTime(LocalDate.now());//瀹為檯寮�濮嬫椂闂�
+ productWorkOrder.setStatus(2);
}
if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) == 0) {
productWorkOrder.setActualEndTime(LocalDate.now());//瀹為檯缁撴潫鏃堕棿
+ productWorkOrder.setStatus(3);
}
productWorkOrderMapper.updateById(productWorkOrder);
//鐢熶骇璁㈠崟
ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
if (ObjectUtils.isNull(productOrder.getStartTime())) {
productOrder.setStartTime(LocalDateTime.now());//寮�濮嬫椂闂�
+ productOrder.setStatus("鐢熶骇涓�");
}
- if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
+ // 閫氳繃姣斾緥璁$畻瀹屾垚鏁伴噺
+ productOrder.setCompleteQuantity(productOrder.getQuantity().multiply(ratio));
+ if (productWorkOrderList.size() == productProcessRouteItems.size() - 1) {
//濡傛灉鏄渶鍚庝竴閬撳伐搴忔姤宸ヤ箣鍚庣敓浜ц鍗曞畬鎴愭暟閲�+
- productOrder.setCompleteQuantity(productOrder.getCompleteQuantity().add(productQty));
+ productOrder.setCompleteQuantity(productOrder.getQuantity());
if (productOrder.getCompleteQuantity().compareTo(productOrder.getQuantity()) == 0) {
productOrder.setEndTime(LocalDateTime.now());//缁撴潫鏃堕棿
+ productOrder.setStatus("宸插畬鎴�");
+ // 鐢熶骇瀹屾垚鍏ュ簱
+ stockUtils.addStock(productProcessRouteItem.getProductModelId(), productOrder.getCompleteQuantity(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
}
}
productOrderMapper.updateById(productOrder);
/*娣诲姞鐢熶骇鏍哥畻*/
SalesLedgerProductionAccounting salesLedgerProductionAccounting = SalesLedgerProductionAccounting.builder()
- .salesLedgerWorkId(productionProductMain.getId())
- .salesLedgerSchedulingId(0L)
- .salesLedgerId(productOrder.getSalesLedgerId())
- .salesLedgerProductId(productOrder.getSaleLedgerProductId())
+ .productMainId(productionProductMain.getId())
.schedulingUserId(user.getUserId())
.schedulingUserName(user.getNickName())
.finishedNum(productQty)
@@ -239,39 +280,64 @@
salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting);
}
//濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
- if (ObjectUtils.isNotEmpty(dto.getScrapQty())) {
- if (BigDecimal.ZERO.compareTo(dto.getScrapQty()) > 0) {
- stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
- }
- }
+// if (ObjectUtils.isNotEmpty(dto.getScrapQty())) {
+// if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
+// stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+// }
+// }
return true;
}
@Override
- public Boolean removeProductMain(ProductionProductMainDto dto) {
- ProductionProductMain productionProductMain = productionProductMainMapper.selectById(dto.getId());
+ @Transactional(rollbackFor = Exception.class)
+ 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);
/*鍒犻櫎鏍哥畻*/
salesLedgerProductionAccountingMapper.delete(
new LambdaQueryWrapper<SalesLedgerProductionAccounting>()
- .eq(SalesLedgerProductionAccounting::getSalesLedgerWorkId, productionProductMain.getId())
+ .eq(SalesLedgerProductionAccounting::getProductMainId, productionProductMain.getId())
);
/*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
- productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().subtract(productionProductOutput.getQuantity()));
- productWorkOrder.setActualEndTime(null);
- productWorkOrderMapper.updateById(productWorkOrder);
+ if (productWorkOrder != null && productionProductOutput != null) {
+ BigDecimal outputQty = productionProductOutput.getQuantity() == null ? BigDecimal.ZERO : productionProductOutput.getQuantity();
+ BigDecimal scrapQty = productionProductOutput.getScrapQty() == null ? BigDecimal.ZERO : productionProductOutput.getScrapQty();
+ BigDecimal completeQty = productWorkOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productWorkOrder.getCompleteQuantity();
+
+ BigDecimal validQuantity = outputQty.subtract(scrapQty);
+
+ productWorkOrder.setCompleteQuantity(completeQty.subtract(validQuantity));
+ productWorkOrder.setActualEndTime(null);
+ productWorkOrderMapper.updateById(productWorkOrder);
+ } else {
+ throw new ServiceException("鎿嶄綔澶辫触锛氬伐鍗曚俊鎭垨浜у嚭璁板綍涓嶅瓨鍦�");
+ }
+
//鍒ゆ柇鏄惁鏄渶鍚庝竴閬撳伐搴�
List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
- if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
+ if (productProcessRouteItem.getDragSort() != null && productProcessRouteItems != null && productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
- productOrder.setCompleteQuantity(productOrder.getCompleteQuantity().subtract(productionProductOutput.getQuantity()));
- productOrder.setEndTime(null);
- productOrderMapper.updateById(productOrder);
+ if (productOrder != null) {
+ BigDecimal orderCompleteQty = productOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productOrder.getCompleteQuantity();
+ BigDecimal totalQty = productionProductOutput.getQuantity() != null ? productionProductOutput.getQuantity() : BigDecimal.ZERO;
+ BigDecimal scrapQty = productionProductOutput.getScrapQty() != null ? productionProductOutput.getScrapQty() : BigDecimal.ZERO;
+
+ BigDecimal actualQualifiedQty = totalQty.subtract(scrapQty);
+
+ BigDecimal newCompleteQty = orderCompleteQty.subtract(actualQualifiedQty);
+
+ productOrder.setCompleteQuantity(newCompleteQty.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : newCompleteQty);
+
+ productOrder.setEndTime(null);
+
+ productOrderMapper.updateById(productOrder);
+ } else {
+ throw new ServiceException("鍏宠仈鐨勭敓浜ц鍗曚笉瀛樺湪");
+ }
}
- /*鍒犻櫎浜у嚭*/
//鍒犻櫎璐ㄦ
qualityInspectMapper.selectList(
new LambdaQueryWrapper<QualityInspect>()
@@ -281,19 +347,28 @@
new LambdaQueryWrapper<QualityInspectParam>()
.eq(QualityInspectParam::getInspectId, q.getId()));
qualityInspectMapper.deleteById(q.getId());
+ stockUtils.deleteStockInRecord(q.getId(), StockInQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode());
});
+
// 鍒犻櫎浜у嚭璁板綍
productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
.eq(ProductionProductOutput::getProductMainId, productionProductMain.getId()));
//鍒犻櫎鎶曞叆璁板綍
- productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
- .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
+// productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
+// .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
//鍒犻櫎鎶ュ簾鐨勫叆搴撹褰�
- stockUtils.deleteStockInRecord(productionProductMain.getId(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+ stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+ //鍒犻櫎涓嶉渶瑕佽川妫�鐨勫悎鏍煎叆搴�
+ stockUtils.deleteStockInRecord(productionProductMain.getId(), StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode());
//鍒犻櫎鎶曞叆瀵瑰簲鐨勫嚭搴撹褰�
- stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
+ stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
// 鍒犻櫎涓昏〃
productionProductMainMapper.deleteById(productionProductMain.getId());
return true;
}
+
+ @Override
+ public ArrayList<Long> listMain(List<Long> idList) {
+ return productionProductMainMapper.listMain(idList);
+ }
}
--
Gitblit v1.9.3