FengChaoYu 9 місяців тому
батько
коміт
d558d87346

+ 39 - 35
mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/WebsitSalesRetLogic.java

@@ -2,6 +2,7 @@ package com.gree.mall.manager.logic.websit;
 
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -284,40 +285,42 @@ public class WebsitSalesRetLogic {
         List<WorkerStockDTO> workerStockDTOS = new ArrayList<>();
         List<WebsitStockDTO> websitStockDTOS = new ArrayList<>();
         for (WebsitSalesRetItem websitSalesRetItem : websitSalesRetItemList) {
-            WorkerStockDTO workerStockDTO = new WorkerStockDTO();
-            workerStockDTO.setCompanyWechatId(websitSalesRet.getCompanyWechatId());
-            workerStockDTO.setCompanyWechatName(websitSalesRet.getCompanyName());
-            workerStockDTO.setIdentity(websitSalesRet.getIdentity());
-            workerStockDTO.setWorkerId(websitSalesRet.getWorkerId());
-            workerStockDTO.setWorkerName(websitSalesRet.getWorkerName());
-            workerStockDTO.setWebsitId(websitSalesRet.getWebsitId());
-            workerStockDTO.setWebsitName(websitSalesRet.getWebsitName());
-            workerStockDTO.setSdate(websitSalesRet.getCreateTime());
-            workerStockDTO.setWorkerWebsitId(websitSalesRet.getWorkerWebsitId());
-            workerStockDTO.setWorkerWebsitName(websitSalesRet.getWorkerWebsitName());
-            workerStockDTO.setWebsitGoodsId(websitSalesRetItem.getGoodsId());
-            workerStockDTO.setWebsitGoodsName(websitSalesRetItem.getGoodsName());
-            workerStockDTO.setWebsitGoodsPrice(websitSalesRetItem.getPrice());
-            workerStockDTO.setWebsitGoodsQty(websitSalesRetItem.getRetQty());
-            workerStockDTO.setGoodsType(websitSalesRetItem.getGoodsType());
-            workerStockDTO.setPrice(websitSalesRetItem.getConvertPrice());
-            workerStockDTO.setGoodsStockUnit(websitSalesRetItem.getGoodsSalesUnit());
-            workerStockDTO.setGoodsSalesConvertQty(websitSalesRetItem.getGoodsSalesConvertQty());
-            workerStockDTO.setGoodsSpecification(websitSalesRetItem.getGoodsSpecification());
-            workerStockDTO.setGoodsId(websitSalesRetItem.getWorkerGoodsId());
-            workerStockDTO.setGoodsName(websitSalesRetItem.getWorkerGoodsName());
-            workerStockDTO.setRef(websitSalesRet.getSalesRetId());
-            workerStockDTO.setRefType("销售退货单");
-            workerStockDTO.setPartsAttr(PartsAttrEnum.NEW.getKey());
-            workerStockDTO.setChangeQty(websitSalesRetItem.getRetConvertQty());
-            workerStockDTO.setDirectFlag(DirectFlagEnum.SUB.getKey());
-            workerStockDTO.setFlag(WorkerStockFlagEnum.REFUND.getKey());
-            workerStockDTO.setObj("师傅");
-            workerStockDTO.setWorkerOrderNo("");
-            workerStockDTO.setRemark(websitSalesRet.getRemark());
-            workerStockDTO.setOperateBy(adminUser.getNickName());
-            workerStockDTO.setOperateTime(DateUtil.date());
-            workerStockDTOS.add(workerStockDTO);
+            if (StringUtils.isNotBlank(websitSalesRetItem.getWorkerGoodsId())) {
+                WorkerStockDTO workerStockDTO = new WorkerStockDTO();
+                workerStockDTO.setCompanyWechatId(websitSalesRet.getCompanyWechatId());
+                workerStockDTO.setCompanyWechatName(websitSalesRet.getCompanyName());
+                workerStockDTO.setIdentity(websitSalesRet.getIdentity());
+                workerStockDTO.setWorkerId(websitSalesRet.getWorkerId());
+                workerStockDTO.setWorkerName(websitSalesRet.getWorkerName());
+                workerStockDTO.setWebsitId(websitSalesRet.getWebsitId());
+                workerStockDTO.setWebsitName(websitSalesRet.getWebsitName());
+                workerStockDTO.setSdate(websitSalesRet.getCreateTime());
+                workerStockDTO.setWorkerWebsitId(websitSalesRet.getWorkerWebsitId());
+                workerStockDTO.setWorkerWebsitName(websitSalesRet.getWorkerWebsitName());
+                workerStockDTO.setWebsitGoodsId(websitSalesRetItem.getGoodsId());
+                workerStockDTO.setWebsitGoodsName(websitSalesRetItem.getGoodsName());
+                workerStockDTO.setWebsitGoodsPrice(websitSalesRetItem.getPrice());
+                workerStockDTO.setWebsitGoodsQty(websitSalesRetItem.getRetQty());
+                workerStockDTO.setGoodsType(websitSalesRetItem.getGoodsType());
+                workerStockDTO.setPrice(websitSalesRetItem.getConvertPrice());
+                workerStockDTO.setGoodsStockUnit(websitSalesRetItem.getGoodsSalesUnit());
+                workerStockDTO.setGoodsSalesConvertQty(websitSalesRetItem.getGoodsSalesConvertQty());
+                workerStockDTO.setGoodsSpecification(websitSalesRetItem.getGoodsSpecification());
+                workerStockDTO.setGoodsId(websitSalesRetItem.getWorkerGoodsId());
+                workerStockDTO.setGoodsName(websitSalesRetItem.getWorkerGoodsName());
+                workerStockDTO.setRef(websitSalesRet.getSalesRetId());
+                workerStockDTO.setRefType("销售退货单");
+                workerStockDTO.setPartsAttr(PartsAttrEnum.NEW.getKey());
+                workerStockDTO.setChangeQty(websitSalesRetItem.getRetConvertQty());
+                workerStockDTO.setDirectFlag(DirectFlagEnum.SUB.getKey());
+                workerStockDTO.setFlag(WorkerStockFlagEnum.REFUND.getKey());
+                workerStockDTO.setObj("师傅");
+                workerStockDTO.setWorkerOrderNo("");
+                workerStockDTO.setRemark(websitSalesRet.getRemark());
+                workerStockDTO.setOperateBy(adminUser.getNickName());
+                workerStockDTO.setOperateTime(DateUtil.date());
+                workerStockDTOS.add(workerStockDTO);
+            }
 
             // 入库注值
             WebsitStockDTO websitStockDTO = new WebsitStockDTO();
@@ -344,7 +347,8 @@ public class WebsitSalesRetLogic {
         }
 
         materialGoodsStockLogic.handleWebsitStock(websitStockDTOS);
-        if (websitSalesRet.getBuyPeople().equals(BuyPeopleEnum.WORKER.getKey())) {
+        if (websitSalesRet.getBuyPeople().equals(BuyPeopleEnum.WORKER.getKey())
+                && CollectionUtil.isNotEmpty(workerStockDTOS)) {
             materialGoodsStockLogic.handleWorkerStock(workerStockDTOS);
         }
     }