From a77decc3df26449414639082293e2ee6722e643c Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 06 五月 2026 15:30:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java | 75 ++++++++++++++++++++++---------------
1 files changed, 45 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index 1cdbebb..20b563a 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -6,25 +6,25 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
+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.StockOutQualifiedRecordTypeEnum;
-import com.ruoyi.other.service.impl.TempFileServiceImpl;
-import com.ruoyi.procurementrecord.dto.ReturnSaleProductDto;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.sales.dto.SalesLedgerProductDto;
import com.ruoyi.sales.dto.ShippingInfoDto;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.mapper.ShippingInfoMapper;
-import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.mapper.ShippingProductDetailMapper;
import com.ruoyi.sales.pojo.ShippingInfo;
+import com.ruoyi.sales.pojo.ShippingProductDetail;
import com.ruoyi.sales.service.ShippingInfoService;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.io.IOException;
-import java.util.Collections;
import java.util.List;
/**
@@ -33,42 +33,48 @@
*/
@Service
@Slf4j
+@RequiredArgsConstructor
public class ShippingInfoServiceImpl extends ServiceImpl<ShippingInfoMapper, ShippingInfo> implements ShippingInfoService {
- @Autowired
- private ShippingInfoMapper shippingInfoMapper;
- @Autowired
- private TempFileServiceImpl tempFileService;
- @Autowired
- private SalesLedgerProductMapper salesLedgerProductMapper;
- @Autowired
- private StockUtils stockUtils;
- @Autowired
- private CommonFileServiceImpl commonFileService;
+ private final ShippingInfoMapper shippingInfoMapper;
- @Autowired
- private ApproveProcessServiceImpl approveProcessService;
+
+ private final SalesLedgerProductMapper salesLedgerProductMapper;
+
+ private final StockUtils stockUtils;
+
+ private final CommonFileServiceImpl commonFileService;
+
+ private final ApproveProcessServiceImpl approveProcessService;
+ private final FileUtil fileUtil;
+ private final ShippingProductDetailMapper shippingProductDetailMapper;
@Override
public IPage<ShippingInfoDto> listPage(Page page, ShippingInfo req) {
IPage<ShippingInfoDto> listPage = shippingInfoMapper.listPage(page, req);
listPage.getRecords().forEach(item ->{
- item.setCommonFileList(commonFileService.getFileListByBusinessId(item.getId(), FileNameType.SHIP.getValue()));
+ item.setStorageBlobVOs(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.IMAGE, RecordTypeEnum.SHIPPING_INFO, item.getId()));
});
return listPage;
}
@Override
- public boolean deductStock(ShippingInfoDto req) throws IOException {
+ public boolean deductStock(ShippingInfoDto req) {
ShippingInfo byId = this.getById(req.getId());
if (byId == null) {
throw new RuntimeException("鍙戣揣淇℃伅涓嶅瓨鍦�");
}
//鎵e噺搴撳瓨
if(!"宸插彂璐�".equals(byId.getStatus())){
- SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(byId.getSalesLedgerProductId());
- stockUtils.substractStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode(), req.getId());
+// SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(byId.getSalesLedgerProductId());
+ List<ShippingProductDetail> shippingProductDetails = shippingProductDetailMapper.selectList(new LambdaQueryWrapper<ShippingProductDetail>().eq(ShippingProductDetail::getShippingInfoId, req.getId()));
+ if (CollectionUtils.isEmpty(shippingProductDetails)) {
+ throw new RuntimeException("鍙戣揣淇℃伅涓嶅瓨鍦�");
+ }
+ for (ShippingProductDetail shippingProductDetail : shippingProductDetails) {
+ stockUtils.substractStock(shippingProductDetail.getProductModelId(), shippingProductDetail.getQuantity(), StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode(), req.getId(), shippingProductDetail.getBatchNo());
+ }
}
byId.setExpressNumber(req.getExpressNumber());
byId.setExpressCompany(req.getExpressCompany());
@@ -76,10 +82,8 @@
byId.setShippingCarNumber(req.getShippingCarNumber());
byId.setShippingDate(req.getShippingDate());
boolean update = this.updateById(byId);
- // 杩佺Щ鏂囦欢
- if(CollectionUtils.isNotEmpty(req.getTempFileIds())){
- tempFileService.migrateTempFilesToFormal(req.getId(), req.getTempFileIds(), FileNameType.SHIP.getValue());
- }
+ // 淇濆瓨鏂囦欢
+ fileUtil.saveStorageAttachment(ApplicationTypeEnum.IMAGE, RecordTypeEnum.SHIPPING_INFO, req.getId(), req.getStorageBlobDTOs());
return update ;
}
@@ -99,20 +103,23 @@
// 鍒犻櫎鍙戣揣瀹℃壒
if(CollectionUtils.isNotEmpty(shippingInfos)){
for (ShippingInfo shippingInfo : shippingInfos){
- ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
+ List<ApproveProcess> one = approveProcessService.list(new LambdaQueryWrapper<ApproveProcess>()
.like(ApproveProcess::getApproveReason, shippingInfo.getShippingNo()));
if(one != null){
- approveProcessService.delByIds(Collections.singletonList(one.getId()));
+ List<Long> list = one.stream().map(ApproveProcess::getId).toList();
+ approveProcessService.delByIds(list);
}
}
}
+ //鍒犻櫎鍙戣揣鏄庣粏
+ shippingProductDetailMapper.delete(new LambdaQueryWrapper<ShippingProductDetail>().in(ShippingProductDetail::getShippingInfoId, ids));
- return this.removeBatchByIds(ids);
+ return this.removeByIds(ids);
}
@Override
public List<SalesLedgerProductDto> getReturnManagementDtoById(Long shippingId) {
- return shippingInfoMapper.getReturnManagementDtoById(shippingId);
+ return shippingInfoMapper.getReturnManagementDtoById(shippingId );
}
@@ -120,4 +127,12 @@
public List<ShippingInfo> getShippingInfoByCustomerName(String customerName) {
return shippingInfoMapper.getShippingInfoByCustomerName(customerName);
}
+
+ @Override
+ public boolean add(ShippingInfoDto req) {
+ this.save( req);
+ req.getBatchNoDetailList().forEach(item -> item.setShippingInfoId(req.getId()));
+ shippingProductDetailMapper.insert(req.getBatchNoDetailList());
+ return true;
+ }
}
--
Gitblit v1.9.3