FengChaoYu hai 9 meses
pai
achega
f7d4f75d0e

+ 45 - 15
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WorkerOldRefundManageLogic.java

@@ -11,18 +11,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
-import com.gree.mall.manager.bean.material.worker.OldRefundManageBean;
-import com.gree.mall.manager.bean.material.worker.OldRefundManageItemBean;
-import com.gree.mall.manager.bean.material.worker.OldRefundManageRecordBean;
-import com.gree.mall.manager.bean.material.worker.OldRefundManageVO;
+import com.gree.mall.manager.bean.material.stock.WebsitStockDTO;
+import com.gree.mall.manager.bean.material.stock.WorkerStockDTO;
+import com.gree.mall.manager.bean.material.worker.*;
 import com.gree.mall.manager.commonmapper.MaterialMapper;
 import com.gree.mall.manager.enums.IsEnum;
 import com.gree.mall.manager.enums.base.BaseEnum;
 import com.gree.mall.manager.enums.material.*;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.logic.material.stock.MaterialGoodsStockLogic;
 import com.gree.mall.manager.logic.material.worker.OldRefundManageInnerLogic;
-import com.gree.mall.manager.bean.material.worker.PartsRefundRecordDTO;
 import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
@@ -56,6 +55,7 @@ public class WorkerOldRefundManageLogic {
     private final WebsitPartsOldRefundManageRecordService websitPartsOldRefundManageRecordService;
     private final WebsitPartsRefundRecordService websitPartsRefundRecordService;
     private final WorkerStockAccService workerStockAccService;
+    private final MaterialGoodsStockLogic materialGoodsStockLogic;
 
     public IPage<OldRefundManageVO> pageList(ZfireParamBean zfireParamBean) {
         AdminUserCom adminUser = commonLogic.getAdminUser();
@@ -92,7 +92,7 @@ public class WorkerOldRefundManageLogic {
         return oldRefundManageBean;
     }
 
-    public void refund(String applyNo, String flag, String examineRemark) {
+    public void refund(String applyNo, String flag, String examineRemark) throws Exception {
         AdminUserCom adminUser = commonLogic.getAdminUser();
         WebsitPartsOldRefundManage partsOldRefundManage = websitPartsOldRefundManageService.getById(applyNo);
         if (Objects.isNull(partsOldRefundManage)) {
@@ -112,7 +112,7 @@ public class WorkerOldRefundManageLogic {
             }
         }
 
-        String refType = PartsRefTypeEnum.OLD_REFUND.toString();
+        String refType = PartsRefTypeEnum.OLD_REFUND.getRemark();
 
         DateTime curDate = DateUtil.date();
         partsOldRefundManage.setExamineRemark(examineRemark)
@@ -132,13 +132,13 @@ public class WorkerOldRefundManageLogic {
         // 已返还的处理
         if (flag.equals(PartsOrderFlagEnum.REFUNDED.getKey())) {
             // 减师傅临占旧件库存
-//            List<WorkerStockDTO> workerStockDTOList = oldRefundManageInnerLogic.createWorkerStockDTO(partsOldRefundManage, partsOldRefundManageItems,
-//                    refType, PartsStockPartsAttrEnum.TEMP_OLD.toString(), null, flag);
-//            partsStockLogic.handleWorkerStock(workerStockDTOList);
+            List<WorkerStockDTO> workerStockDTOList = oldRefundManageInnerLogic.createWorkerStockDTO(partsOldRefundManage, partsOldRefundManageItems,
+                    refType, PartsAttrEnum.TEMP_OLD.getKey(), null, flag);
+            materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
 
             // 网点旧件库存增加
-//            List<ShopStockDTO> shopStockDTOList = this.createShopStockDTO(partsOldRefundManage, partsOldRefundManageItems);
-//            partsStockLogic.handleShopStock(shopStockDTOList);
+            List<WebsitStockDTO> shopStockDTOList = this.createWebsitStockDTO(partsOldRefundManage, partsOldRefundManageItems);
+            materialGoodsStockLogic.handleWebsitStock(shopStockDTOList);
 
             List<WebsitPartsOldRefundManageRecord> partsNewRefundManageRecords = websitPartsOldRefundManageRecordService.lambdaQuery()
                     .eq(WebsitPartsOldRefundManageRecord::getApplyNo, partsOldRefundManage.getApplyNo())
@@ -148,9 +148,9 @@ public class WorkerOldRefundManageLogic {
                 websitPartsRefundRecordService.saveBatch(partsRefundRecordList);
         } else {
             // 加师傅旧件库存
-//            List<WorkerStockDTO> workerStockDTOList = oldRefundManageInnerLogic.createWorkerStockDTO(partsOldRefundManage, partsOldRefundManageItems,
-//                    refType, PartsStockPartsAttrEnum.TEMP_OLD.toString(), PartsStockPartsAttrEnum.OLD.toString(), flag);
-//            partsStockLogic.handleWorkerStock(workerStockDTOList);
+            List<WorkerStockDTO> workerStockDTOList = oldRefundManageInnerLogic.createWorkerStockDTO(partsOldRefundManage, partsOldRefundManageItems,
+                    refType, PartsAttrEnum.TEMP_OLD.getKey(), PartsAttrEnum.OLD.getKey(), flag);
+            materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
         }
     }
 
@@ -526,4 +526,34 @@ public class WorkerOldRefundManageLogic {
                 .eq(WebsitPartsOldRefundManage::getApplyNo, applyNo)
                 .update();
     }
+
+    private List<WebsitStockDTO> createWebsitStockDTO(WebsitPartsOldRefundManage partsOldRefundManage, List<WebsitPartsOldRefundManageItem> partsOldRefundManageItems) {
+        List<WebsitStockDTO> shopStockDTOList = new ArrayList<>();
+        for (WebsitPartsOldRefundManageItem partsOldRefundManageItem : partsOldRefundManageItems) {
+            WebsitStockDTO sendShopStockDTO = new WebsitStockDTO();
+            sendShopStockDTO.setCompanyWechatId(partsOldRefundManage.getCompanyWechatId());
+            sendShopStockDTO.setCompanyWechatName(partsOldRefundManage.getCompanyWechatName());
+            sendShopStockDTO.setWebsitId(partsOldRefundManage.getReceiveWebsitId());
+            sendShopStockDTO.setWebsitName(partsOldRefundManage.getReceiveWebsitName());
+            sendShopStockDTO.setSdate(partsOldRefundManage.getRefundedTime());
+            sendShopStockDTO.setPartsWebsitId(partsOldRefundManage.getReceivePartsWebsitId());
+            sendShopStockDTO.setGoodsId(partsOldRefundManageItem.getNewPartsNumber());
+            sendShopStockDTO.setGoodsName(partsOldRefundManageItem.getNewPartsName());
+            sendShopStockDTO.setPrice(BigDecimal.ZERO);
+            sendShopStockDTO.setMaterialGroupName(partsOldRefundManageItem.getNewMaterialGroupName());
+            sendShopStockDTO.setGoodsStockUnit(partsOldRefundManageItem.getNewUnitName());
+            sendShopStockDTO.setVoucherNo(partsOldRefundManage.getApplyNo());
+            sendShopStockDTO.setApplyNo(partsOldRefundManage.getApplyNo());
+            sendShopStockDTO.setRef(partsOldRefundManage.getApplyNo());
+            sendShopStockDTO.setRefType(PartsRefTypeEnum.OLD_REFUND.getRemark());
+            sendShopStockDTO.setPartsAttr(PartsAttrEnum.OLD.getKey());
+            sendShopStockDTO.setChangeQty(partsOldRefundManageItem.getQty());
+            sendShopStockDTO.setDirectFlag(DirectFlagEnum.ADD.getKey());
+            sendShopStockDTO.setRemark(partsOldRefundManageItem.getRemark());
+            sendShopStockDTO.setOperateBy(partsOldRefundManage.getRefundedBy());
+            sendShopStockDTO.setOperateTime(partsOldRefundManage.getRefundedTime());
+            shopStockDTOList.add(sendShopStockDTO);
+        }
+        return shopStockDTOList;
+    }
 }