From 4e45da16b0a307dd56a85936c7319e559f27de92 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 13:52:37 +0800
Subject: [PATCH] feat(stock): 实现质检库存管理和报废流程
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 121 +++++------------------------
src/main/java/com/ruoyi/stock/pojo/StockInventory.java | 3
src/main/java/com/ruoyi/stock/pojo/StockInRecord.java | 4
src/main/resources/mapper/stock/StockOutRecordMapper.xml | 3
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 6 +
src/main/resources/mapper/stock/StockInventoryMapper.xml | 6 +
src/main/java/com/ruoyi/common/enums/StockRecordTypeEnum.java | 5 +
src/main/resources/mapper/stock/StockInRecordMapper.xml | 3
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java | 15 +++
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java | 20 +++-
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | 1
src/main/resources/mapper/stock/StockUninventoryMapper.xml | 6 +
src/main/java/com/ruoyi/stock/pojo/StockUninventory.java | 3
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java | 1
14 files changed, 90 insertions(+), 107 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/enums/StockRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockRecordTypeEnum.java
index 6da3e3c..accb43e 100644
--- a/src/main/java/com/ruoyi/common/enums/StockRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockRecordTypeEnum.java
@@ -15,7 +15,10 @@
PURCHASE_STOCK_IN(7, "閲囪喘-鍏ュ簱"),
SALE_STOCK_OUT(8, "閿�鍞�-鍑哄簱"),
CUSTOMIZATION_UNSTOCK_IN(9, "涓嶅悎鏍艰嚜瀹氫箟鍏ュ簱"),
- CUSTOMIZATION_UNSTOCK_OUT(10, "涓嶅悎鏍艰嚜瀹氫箟鍑哄簱");
+ CUSTOMIZATION_UNSTOCK_OUT(10, "涓嶅悎鏍艰嚜瀹氫箟鍑哄簱"),
+ QUALITYINSPECT_STOCK_IN(11, "璐ㄦ-鍚堟牸鍏ュ簱"),
+ QUALITYINSPECT_UNSTOCK_IN(12, "璐ㄦ-涓嶅悎鏍煎叆搴�");
+
private final Integer code;
private final String value;
diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index d315003..f9a21d6 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -1,16 +1,21 @@
package com.ruoyi.procurementrecord.utils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
import com.ruoyi.stock.dto.StockInRecordDto;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.service.StockInRecordService;
import com.ruoyi.stock.service.StockInventoryService;
import com.ruoyi.stock.service.StockUninventoryService;
+import com.ruoyi.stock.service.impl.StockInRecordServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -21,6 +26,7 @@
private final ProcurementRecordMapper procurementRecordMapper;
private final StockUninventoryService stockUninventoryService;
private final StockInventoryService stockInventoryService;
+ private final StockInRecordService stockInRecordService;
// 鑾峰彇鍟嗗搧鍏ュ簱鏁伴噺,鍑哄簱鏁伴噺,鍓╀綑搴撳瓨
public Map<String, BigDecimal> getStockQuantity(Long productModelId) {
@@ -100,4 +106,13 @@
stockInventoryDto.setProductModelId(productModelId);
stockInventoryService.subtractStockInventory(stockInventoryDto);
}
+
+ //涓嶅悎鏍煎簱瀛樺垹闄�
+ public void deleteStockRecord(Long recordId, Integer recordType) {
+ StockInRecord one = stockInRecordService.getOne(new QueryWrapper<StockInRecord>()
+ .lambda().eq(StockInRecord::getRecordId, recordId)
+ .eq(StockInRecord::getRecordType, recordType));
+
+ stockInRecordService.batchDelete(Collections.singletonList(one.getId()));
+ }
}
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 9d466ad..b63409c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
+import com.ruoyi.common.enums.StockRecordTypeEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
@@ -272,6 +273,9 @@
salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting);
}
//濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
+ if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
+ stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+ }
return true;
}
@@ -318,6 +322,8 @@
.eq(ProcurementRecordOut::getSalesLedgerProductId, productionProductMain.getId()));
productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
.eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
+ //鍒犻櫎鎶ュ簾鐨勫叆搴撹褰�
+ stockUtils.deleteStockRecord(productionProductMain.getId(), StockRecordTypeEnum.PRODUCTION_SCRAP.getCode());
// 鍒犻櫎涓昏〃
productionProductMainMapper.deleteById(productionProductMain.getId());
return true;
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index 1ae24e9..fab0ebe 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -8,6 +8,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
+import com.ruoyi.common.enums.StockRecordTypeEnum;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
import com.ruoyi.common.utils.SecurityUtils;
@@ -17,6 +18,7 @@
import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
@@ -47,8 +49,9 @@
@AllArgsConstructor
@Service
@Transactional(rollbackFor = Exception.class)
-public class QualityInspectServiceImpl extends ServiceImpl<QualityInspectMapper, QualityInspect> implements IQualityInspectService {
+public class QualityInspectServiceImpl extends ServiceImpl<QualityInspectMapper, QualityInspect> implements IQualityInspectService {
+ private final StockUtils stockUtils;
private QualityInspectMapper qualityInspectMapper;
private IQualityInspectParamService qualityInspectParamService;
@@ -64,7 +67,7 @@
@Override
public int add(QualityInspectDto qualityInspectDto) {
QualityInspect qualityInspect = new QualityInspect();
- BeanUtils.copyProperties(qualityInspectDto,qualityInspect);
+ BeanUtils.copyProperties(qualityInspectDto, qualityInspect);
qualityInspect.setInspectState(0);//榛樿鏈彁浜�
qualityInspectMapper.insert(qualityInspect);
for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) {
@@ -79,7 +82,7 @@
QualityInspect qualityInspect = qualityInspectMapper.selectById(id);
List<QualityInspectParam> qualityInspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, id));
QualityInspectDto qualityInspectDto = new QualityInspectDto();
- BeanUtils.copyProperties(qualityInspect,qualityInspectDto);
+ BeanUtils.copyProperties(qualityInspect, qualityInspectDto);
qualityInspectDto.setQualityInspectParams(qualityInspectParams);
return qualityInspectDto;
}
@@ -89,96 +92,18 @@
public int submit(QualityInspect inspect) {
QualityInspect qualityInspect = qualityInspectMapper.selectById(inspect.getId());
/*鍒ゆ柇涓嶅悎鏍�*/
- if (ObjectUtils.isNotNull(qualityInspect.getCheckResult()) && qualityInspect.getCheckResult().equals("涓嶅悎鏍�")){
+ if (ObjectUtils.isNotNull(qualityInspect.getCheckResult()) && qualityInspect.getCheckResult().equals("涓嶅悎鏍�")) {
QualityUnqualified qualityUnqualified = new QualityUnqualified();
- BeanUtils.copyProperties(qualityInspect,qualityUnqualified);
+ BeanUtils.copyProperties(qualityInspect, qualityUnqualified);
qualityUnqualified.setInspectState(0);//寰呭鐞�
List<QualityInspectParam> inspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId()));
String text = inspectParams.stream().map(QualityInspectParam::getParameterItem).collect(Collectors.joining(","));
- qualityUnqualified.setDefectivePhenomena(text+"杩欎簺鎸囨爣涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
+ qualityUnqualified.setDefectivePhenomena(text + "杩欎簺鎸囨爣涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
qualityUnqualified.setInspectId(qualityInspect.getId());
qualityUnqualifiedMapper.insert(qualityUnqualified);
- }
-
- LoginUser loginUser = SecurityUtils.getLoginUser();
- if (qualityInspect.getInspectType() == 0) {
- if ("鍚堟牸".equals(qualityInspect.getCheckResult())) {
- ProcurementAddDto procurementRecordOutAdd = new ProcurementAddDto();
- procurementRecordOutAdd.setType(1);
- procurementRecordOutAdd.setTypeName("閲囪喘鍘熸潗鏂欐楠屽悎鏍煎叆搴�");
- procurementRecordOutAdd.setNickName(loginUser.getNickName());
- procurementRecordOutAdd.setPurchaseLedgerId(Math.toIntExact(qualityInspect.getPurchaseLedgerId()));
- if (qualityInspect.getPurchaseLedgerId() == null) {
- throw new BaseException("璇烽�夋嫨閲囪喘鍗�");
- }
- SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(qualityInspect.getProductId());
-
- ArrayList<Details> detailss = new ArrayList<>();
- Details details = new Details();
- details.setId(Math.toIntExact(salesLedgerProduct.getId()));
- details.setInboundQuantity(qualityInspect.getQuantity());
- details.setWarnNum(salesLedgerProduct.getWarnNum());
- details.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice());
- details.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice());
- details.setProductModelId(qualityInspect.getProductModelId());
- detailss.add( details);
- procurementRecordOutAdd.setDetails(detailss);
- procurementRecordOutAdd.setQualityInspectId(qualityInspect.getId());
- procurementRecordService.add(procurementRecordOutAdd);
- }
- }else if (qualityInspect.getInspectType() == 1) {
- //鏌ヨUnitPrice/TotalPrice
- ProcurementAddDto procurementRecordOutAdd = new ProcurementAddDto();
- procurementRecordOutAdd.setType(2);
- procurementRecordOutAdd.setTypeName("鐢熶骇杩囩▼妫�楠屽悎鏍煎叆搴�");
- procurementRecordOutAdd.setNickName(loginUser.getNickName());
- List<Details> details = new ArrayList<>();
- Details details1 = new Details();
- details1.setInboundQuantity(qualityInspect.getQuantity());
- details1.setProductModelId(qualityInspect.getProductModelId());
- procurementRecordOutAdd.setDetails(details);
-
- ProcurementRecordStorage.ProcurementRecordStorageBuilder procurementRecordBuilder = ProcurementRecordStorage.builder()
- .salesLedgerProductId(0)
- .inboundBatches( "鐢熶骇鍗婃垚鍝佸叆搴�")
- .inboundNum(details1.getInboundQuantity())
- .type(2)
- .warnNum(new BigDecimal(0))
- .unitPrice(new BigDecimal(0))
- .totalPrice(new BigDecimal(0))
- .createTime(LocalDateTime.now())
- .createUser(loginUser.getUserId())
- .updateTime(LocalDateTime.now())
- .updateUser(loginUser.getUserId())
- .createBy(procurementRecordOutAdd.getNickName())
- .productModelId(details1.getProductModelId())
- .qualityInspectId(qualityInspect.getId());
- procurementRecordService.save(procurementRecordBuilder.build());
-
-
-
- }else if (qualityInspect.getInspectType() == 2) {
- //鏌ヨUnitPrice/TotalPrice
- if (ObjectUtils.isNull(qualityInspect.getProductMainId())){
- //濡傛灉鏄墜鍔ㄦ柊澧炵殑鍑哄巶妫�
- }else {
- SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectSalesLedgerProductByMainId(qualityInspect.getProductMainId());
- ProcurementAddDto procurementRecordOutAdd = new ProcurementAddDto();
- procurementRecordOutAdd.setType(2);
- procurementRecordOutAdd.setTypeName("鐢熶骇鍑哄巶妫�楠屽悎鏍煎叆搴�");
- procurementRecordOutAdd.setNickName(loginUser.getNickName());
- List<Details> details = new ArrayList<>();
- Details details1 = new Details();
- details1.setInboundQuantity(qualityInspect.getQuantity());
- details1.setId(Math.toIntExact(salesLedgerProduct.getId()));
- details1.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice());
- details1.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice());
- details1.setProductModelId(salesLedgerProduct.getProductModelId());
- details.add(details1);
- procurementRecordOutAdd.setDetails(details);
- procurementRecordOutAdd.setQualityInspectId(qualityInspect.getId());
- procurementRecordService.add(procurementRecordOutAdd);
- }
+ } else {
+ //鍚堟牸鐩存帴鍏ュ簱
+ stockUtils.addStock(inspect.getProductModelId(), inspect.getQuantity(), StockRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), inspect.getId());
}
qualityInspect.setInspectState(1);//宸叉彁浜�
return qualityInspectMapper.updateById(qualityInspect);
@@ -188,16 +113,16 @@
@Override
public void down(HttpServletResponse response, QualityInspect qualityInspect) {
QualityInspect inspect = qualityInspectMapper.selectById(qualityInspect.getId());
- String inspectType="";
- switch (inspect.getInspectType()){
+ String inspectType = "";
+ switch (inspect.getInspectType()) {
case 0:
- inspectType="鍘熸潗鏂欐楠�";
+ inspectType = "鍘熸潗鏂欐楠�";
break;
case 1:
- inspectType="杩囩▼妫�楠�";
+ inspectType = "杩囩▼妫�楠�";
break;
case 2:
- inspectType="鍑哄巶妫�楠�";
+ inspectType = "鍑哄巶妫�楠�";
break;
}
List<QualityInspectParam> paramList = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId()));
@@ -239,31 +164,31 @@
@Override
public int updateQualityInspect(QualityInspectDto qualityInspectDto) {
if (ObjectUtils.isNotNull(qualityInspectDto.getQualityInspectParams())) {
- qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId,qualityInspectDto.getId()));
+ qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, qualityInspectDto.getId()));
for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) {
qualityInspectParam.setInspectId(qualityInspectDto.getId());
}
qualityInspectParamService.saveBatch(qualityInspectDto.getQualityInspectParams());
}
QualityInspect qualityInspect = new QualityInspect();
- BeanUtils.copyProperties(qualityInspectDto,qualityInspect);
+ BeanUtils.copyProperties(qualityInspectDto, qualityInspect);
return qualityInspectMapper.updateById(qualityInspect);
}
@Override
public IPage<QualityInspect> qualityInspectListPage(Page page, QualityInspect qualityInspect) {
- return qualityInspectMapper.qualityInspectListPage(page,qualityInspect);
+ return qualityInspectMapper.qualityInspectListPage(page, qualityInspect);
}
@Override
public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) {
- List<QualityInspect> qualityInspects =qualityInspectMapper.qualityInspectExport(qualityInspect);
+ List<QualityInspect> qualityInspects = qualityInspectMapper.qualityInspectExport(qualityInspect);
ExcelUtil<QualityInspect> util = new ExcelUtil<QualityInspect>(QualityInspect.class);
- switch (qualityInspect.getInspectType()){
+ switch (qualityInspect.getInspectType()) {
case 0:
util.exportExcel(response, qualityInspects, "鍘熸潗鏂欐楠屽鍑�");
break;
- case 1:
+ case 1:
util.exportExcel(response, qualityInspects, "杩囩▼妫�楠屽鍑�");
break;
case 2:
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 796d798..f2e615d 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -7,8 +7,10 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.StockRecordTypeEnum;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.mapper.ProductProcessRouteItemMapper;
import com.ruoyi.production.mapper.ProductProcessRouteMapper;
import com.ruoyi.production.mapper.ProductWorkOrderMapper;
@@ -22,6 +24,8 @@
import com.ruoyi.quality.pojo.QualityUnqualified;
import com.ruoyi.quality.service.IQualityInspectService;
import com.ruoyi.quality.service.IQualityUnqualifiedService;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.service.StockUninventoryService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -33,8 +37,9 @@
@AllArgsConstructor
@Service
-public class QualityUnqualifiedServiceImpl extends ServiceImpl<QualityUnqualifiedMapper, QualityUnqualified> implements IQualityUnqualifiedService {
+public class QualityUnqualifiedServiceImpl extends ServiceImpl<QualityUnqualifiedMapper, QualityUnqualified> implements IQualityUnqualifiedService {
+ private final StockUtils stockUtils;
private QualityUnqualifiedMapper qualityUnqualifiedMapper;
private IQualityInspectService qualityInspectService;
private ProductOrderService productOrderService;
@@ -42,16 +47,16 @@
private ProductProcessRouteMapper productProcessRouteMapper;
private ProductProcessRouteItemMapper productProcessRouteItemMapper;
private ProductWorkOrderMapper productWorkOrderMapper;
-
+ private StockUninventoryService stockUninventoryService;
@Override
public IPage<QualityUnqualified> qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) {
- return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page,qualityUnqualified);
+ return qualityUnqualifiedMapper.qualityUnqualifiedListPage(page, qualityUnqualified);
}
@Override
public void qualityUnqualifiedExport(HttpServletResponse response, QualityUnqualified qualityUnqualified) {
- List<QualityUnqualified> qualityUnqualifieds =qualityUnqualifiedMapper.qualityUnqualifiedExport(qualityUnqualified);
+ List<QualityUnqualified> qualityUnqualifieds = qualityUnqualifiedMapper.qualityUnqualifiedExport(qualityUnqualified);
ExcelUtil<QualityUnqualified> util = new ExcelUtil<QualityUnqualified>(QualityUnqualified.class);
util.exportExcel(response, qualityUnqualifieds, "涓嶅悎鏍肩鐞嗗鍑�");
}
@@ -64,7 +69,7 @@
case "杩斾慨":
case "杩斿伐":
//鍒ゆ柇璐ㄦ琛ㄦ槸鍚︽湁鐩稿叧鐨勬姤宸d,濡傛灉鏈夋姤宸d,閭d箞杩斿伐闇�瑕侀噸鏂板垱寤虹敓浜ц鍗曢噸鏂扮敓浜�
- if (ObjectUtils.isNotNull(qualityInspect.getProductMainId())){
+ if (ObjectUtils.isNotNull(qualityInspect.getProductMainId())) {
//杩斿伐闇�瑕侀噸鏂板垱寤虹敓浜ц鍗曢噸鏂扮敓浜�
ProductOrder productOrder = productionProductMainMapper.getOrderByMainId(qualityInspect.getProductMainId());
ProductOrder order = new ProductOrder();
@@ -76,7 +81,7 @@
order.setEndTime(null);
productOrderService.save(order);
//鏂板鐢熶骇璁㈠崟涓嬬殑宸ヨ壓璺嚎涓昏〃
- ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectList(Wrappers.<ProductProcessRoute>lambdaQuery().eq(ProductProcessRoute::getProductOrderId,productOrder.getId()).orderByDesc(ProductProcessRoute::getId)).get(0);
+ ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectList(Wrappers.<ProductProcessRoute>lambdaQuery().eq(ProductProcessRoute::getProductOrderId, productOrder.getId()).orderByDesc(ProductProcessRoute::getId)).get(0);
ProductProcessRoute newProcessRoute = new ProductProcessRoute();
BeanUtils.copyProperties(productProcessRoute, newProcessRoute);
newProcessRoute.setId(null);
@@ -125,9 +130,12 @@
}
break;
case "鎶ュ簾":
+ //璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�
+ stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockRecordTypeEnum.DEFECTIVE_SCRAP.getCode(),unqualified.getId());
break;
case "璁╂鏀捐":
//璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
+ stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockRecordTypeEnum.DEFECTIVE_PASS.getCode(),unqualified.getId());
qualityInspect.setCheckResult("鍚堟牸");
qualityInspectService.submit(qualityInspect);
break;
diff --git a/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java b/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
index a20724a..395d18f 100644
--- a/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
+++ b/src/main/java/com/ruoyi/stock/pojo/StockInRecord.java
@@ -28,10 +28,10 @@
@ApiModelProperty(value = "鍏ュ簱鏁伴噺")
private BigDecimal stockInNum;
- @ApiModelProperty(value = "璁板綍绫诲瀷 閲囪喘鍏ュ簱/鐢熶骇鍏ュ簱/璐ㄩ噺鍏ュ簱/鑷畾涔夊叆搴�")
+ @ApiModelProperty(value = "璁板綍绫诲瀷 鏋氫妇")
private String recordType;
- @ApiModelProperty(value = "璁板綍ID salesProductId/ProductrMainId/qualityInspectId/0")
+ @ApiModelProperty(value = "璁板綍ID ")
private Long recordId;
@ApiModelProperty(value = "浜у搧瑙勬牸ID")
diff --git a/src/main/java/com/ruoyi/stock/pojo/StockInventory.java b/src/main/java/com/ruoyi/stock/pojo/StockInventory.java
index 99e72a5..4568dcc 100644
--- a/src/main/java/com/ruoyi/stock/pojo/StockInventory.java
+++ b/src/main/java/com/ruoyi/stock/pojo/StockInventory.java
@@ -62,4 +62,7 @@
@ApiModelProperty("棰勮鏁伴噺")
private Integer warnNum;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
}
diff --git a/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java b/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java
index 4496101..6403dba 100644
--- a/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java
+++ b/src/main/java/com/ruoyi/stock/pojo/StockUninventory.java
@@ -46,4 +46,7 @@
@ApiModelProperty("鐗堟湰鍙�")
private Integer version;
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
}
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index 15bc09e..d30e7bc 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -72,6 +72,7 @@
newStockInventory.setProductModelId(stockInventoryDto.getProductModelId());
newStockInventory.setQualitity(stockInventoryDto.getQualitity());
newStockInventory.setVersion(1);
+ newStockInventory.setRemark(stockInventoryDto.getRemark());
stockInventoryMapper.insert(newStockInventory);
}else {
stockInventoryMapper.updateAddStockInventory(stockInventoryDto);
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
index bd51ef2..c896821 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -58,6 +58,7 @@
newStockUnInventory.setProductModelId(stockUninventoryDto.getProductModelId());
newStockUnInventory.setQualitity(stockUninventoryDto.getQualitity());
newStockUnInventory.setVersion(1);
+ newStockUnInventory.setRemark(stockUninventoryDto.getRemark());
stockUninventoryMapper.insert(newStockUnInventory);
}else {
stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
diff --git a/src/main/resources/mapper/stock/StockInRecordMapper.xml b/src/main/resources/mapper/stock/StockInRecordMapper.xml
index 91f08df..0eee4f3 100644
--- a/src/main/resources/mapper/stock/StockInRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -23,6 +23,9 @@
<if test="params.type != null and params.type != ''">
and sir.type = #{params.type}
</if>
+ <if test="params.recordType != null and params.recordType != ''">
+ and sir.record_type = #{params.recordType}
+ </if>
</where>
order by sir.id desc
</select>
diff --git a/src/main/resources/mapper/stock/StockInventoryMapper.xml b/src/main/resources/mapper/stock/StockInventoryMapper.xml
index 705eea3..b39d329 100644
--- a/src/main/resources/mapper/stock/StockInventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -22,6 +22,9 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ <if test="ew.remark != null and ew.remark !=''">
+ remark = #{ew.remark},
+ </if>
update_time = now()
</set>
where product_model_id = #{ew.productModelId}
@@ -35,6 +38,9 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ <if test="ew.remark != null and ew.remark !=''">
+ remark = #{ew.remark},
+ </if>
update_time = now()
</set>
where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
diff --git a/src/main/resources/mapper/stock/StockOutRecordMapper.xml b/src/main/resources/mapper/stock/StockOutRecordMapper.xml
index 28e61e4..b021e71 100644
--- a/src/main/resources/mapper/stock/StockOutRecordMapper.xml
+++ b/src/main/resources/mapper/stock/StockOutRecordMapper.xml
@@ -38,6 +38,9 @@
<if test="params.type != null and params.type != ''">
and sor.type = #{params.type}
</if>
+ <if test="params.recordType != null and params.recordType != ''">
+ and sor.record_type = #{params.recordType}
+ </if>
</where>
order by sor.id desc
</select>
diff --git a/src/main/resources/mapper/stock/StockUninventoryMapper.xml b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
index c76ff2d..70b4471 100644
--- a/src/main/resources/mapper/stock/StockUninventoryMapper.xml
+++ b/src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -20,6 +20,9 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ <if test="ew.remark != null and ew.remark !=''">
+ remark = #{ew.remark},
+ </if>
update_time = now()
</set>
where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
@@ -33,6 +36,9 @@
<if test="ew.version != null">
version = version + 1,
</if>
+ <if test="ew.remark != null and ew.remark !=''">
+ remark = #{ew.remark},
+ </if>
update_time = now()
</set>
where product_model_id = #{ew.productModelId}
--
Gitblit v1.9.3