From 28cddfe7a3d39e36af03199f46d9e704476fca33 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 09 五月 2026 15:54:25 +0800
Subject: [PATCH] feat(stock): 完善采购入库和退货出库的库存批次处理
---
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 41 ++++++++++++++---------------------------
1 files changed, 14 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 7cbf63e..2c5fda3 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.approve.mapper.ApproveNodeMapper;
@@ -11,12 +10,13 @@
import com.ruoyi.approve.pojo.ApproveNode;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.IApproveNodeService;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.mapper.DeviceRepairMapper;
-import com.ruoyi.device.pojo.DeviceRepair;
-import com.ruoyi.other.service.impl.TempFileServiceImpl;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
@@ -58,7 +58,6 @@
private final ApproveNodeMapper approveNodeMapper;
private final ApproveProcessMapper approveProcessMapper;
private final SysUserMapper sysUserMapper;
- private final TempFileServiceImpl tempFileService;
private final ISysNoticeService sysNoticeService;
private final CommonFileMapper fileMapper;
private final DeviceRepairMapper deviceRepairMapper;
@@ -72,6 +71,7 @@
private final QualityTestStandardMapper qualityTestStandardMapper;
private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
private final QualityInspectParamMapper qualityInspectParamMapper;
+ private final FileUtil fileUtil;
public ApproveProcess getApproveById(String id) {
@@ -166,18 +166,6 @@
}
approveProcessMapper.updateById(approveProcess);
- DeviceRepair deviceRepair = deviceRepairMapper.selectById(approveProcess.getDeviceRepairId());
- if (ObjectUtils.isNotNull(deviceRepair)) {
- if (approveProcess.getApproveStatus().equals(2)) {
- // 鍚屾剰
- deviceRepair.setStatus(1);
- } else if (approveProcess.getApproveStatus().equals(3)) {
- // 鎷掔粷
- deviceRepair.setStatus(2);
- }
- deviceRepairMapper.updateById(deviceRepair);
- }
-
//閲囪喘瀹℃牳
if (approveProcess.getApproveType().equals(5)) {
PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectOne(new LambdaQueryWrapper<PurchaseLedger>()
@@ -195,7 +183,7 @@
addQualityInspect(purchaseLedger, salesLedgerProduct);
} else {
//鐩存帴鍏ュ簱
- stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId());
+ stockUtils.addStockWithBatchNo(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId(),purchaseLedger.getPurchaseContractNumber()+"-"+salesLedgerProduct.getId());
}
}
} else if (status.equals(3)) {
@@ -223,11 +211,10 @@
}
salesQuotationMapper.updateById(salesQuote);
}
- // 鍑哄簱瀹℃壒淇敼
+ // 鍑哄簱瀹℃壒淇敼=鍙戣揣瀹℃壒
if (approveProcess.getApproveType().equals(7)) {
- String[] split = approveProcess.getApproveReason().split(":");
ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
- .eq(ShippingInfo::getShippingNo, split[1])
+ .eq(ShippingInfo::getShippingNo, approveProcess.getApproveReason())
.orderByDesc(ShippingInfo::getCreateTime)
.last("limit 1"));
if (shippingInfo != null) {
@@ -240,12 +227,10 @@
}
shippingInfoMapper.updateById(shippingInfo);
}
+ //搴撳瓨鎵e噺
}
- // 缁戝畾闄勪欢
- if (!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1) {
- tempFileService.migrateTempFilesToFormal(approveNode.getId(), approveNode.getTempFileIds(), FileNameType.ApproveNode.getValue());
- }
+ fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.APPROVE_NODE, approveNode.getId(), approveNode.getStorageBlobDTOS());
}
@Override
@@ -316,6 +301,8 @@
return "鍙戣揣瀹℃壒";
case 8:
return "鍗遍櫓浣滀笟瀹℃壒";
+ case 9:
+ return "鍔炲叕鐢ㄥ搧瀹℃壒";
}
return null;
}
@@ -332,12 +319,12 @@
qualityInspect.setUnit(saleProduct.getUnit());
qualityInspect.setQuantity(saleProduct.getQuantity());
qualityInspectMapper.insert(qualityInspect);
- List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(saleProduct.getProductId(), 0,null);
- if (qualityTestStandard.size()>0){
+ List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(saleProduct.getProductId(), 0, null);
+ 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()))
+ .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))
.forEach(qualityTestStandardParam -> {
QualityInspectParam param = new QualityInspectParam();
com.ruoyi.common.utils.bean.BeanUtils.copyProperties(qualityTestStandardParam, param);
--
Gitblit v1.9.3