Browse Source

no message

FengChaoYu 8 months ago
parent
commit
90fa706132

+ 81 - 10
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WebsitPartsChangeSalesLogic.java

@@ -8,22 +8,26 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.material.manage.WebsitPartsChangeSalesBean;
 import com.gree.mall.manager.bean.material.manage.WebsitPartsChangeSalesVO;
+import com.gree.mall.manager.bean.material.stock.WorkerStockDTO;
 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.PartsOrderFlagEnum;
-import com.gree.mall.manager.enums.material.PartsPushFlagEnum;
+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.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
+import com.gree.mall.manager.utils.CommonUtils;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import com.gree.mall.manager.zfire.util.FieldUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -39,6 +43,7 @@ public class WebsitPartsChangeSalesLogic {
     private final AdminWebsitService adminWebsitService;
     private final WebsitPartsRefundConfigService websitPartsRefundConfigService;
     private final WebsitPartsSalesService websitPartsSalesService;
+    private final MaterialGoodsStockLogic materialGoodsStockLogic;
 
     public IPage<WebsitPartsChangeSalesVO> pageList(ZfireParamBean zfireParamBean) {
         AdminUserCom adminUser = commonLogic.getAdminUser();
@@ -62,7 +67,7 @@ public class WebsitPartsChangeSalesLogic {
         return partsChangeSalesBean;
     }
 
-    public void examine(String changeSalesNo, String flag, String examineRemark) {
+    public void examine(String changeSalesNo, String flag, String examineRemark) throws Exception {
         AdminUserCom adminUser = commonLogic.getAdminUser();
         WebsitPartsChangeSales partsChangeSales = websitPartsChangeSalesService.getById(changeSalesNo);
         if (!partsChangeSales.getFlag().equals(PartsOrderFlagEnum.SUBMIT.getKey())) {
@@ -87,16 +92,16 @@ public class WebsitPartsChangeSalesLogic {
 
         if (flag.equals(PartsOrderFlagEnum.AGREE.getKey())) {
             // 审核通过 师傅临占库存减 转销售库存加
-//            List<WorkerStockDTO> workerStockDTOList = this.createWorkerStockDTO(partsChangeSales, partsChangeSalesItems, PartsRefTypeEnum.CHANGE_SALES.toString(),
-//                    PartsStockPartsAttrEnum.TEMP_NEW.toString(), PartsStockPartsAttrEnum.CHANGE_NEW.toString());
-//            partsStockLogic.handleWorkerStock(workerStockDTOList);
+            List<WorkerStockDTO> workerStockDTOList = this.createWorkerStockDTO(partsChangeSales, partsChangeSalesItems, PartsRefTypeEnum.CHANGE_SALES.getKey(),
+                    PartsAttrEnum.TEMP_NEW.getKey(), PartsAttrEnum.CHANGE_NEW.getKey());
+            materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
         } else {
             // 审核驳回时处理方法
             this.rejectMethod(partsChangeSales, partsChangeSalesItems, examineRemark);
         }
     }
 
-    private void rejectMethod(WebsitPartsChangeSales partsChangeSales, List<WebsitPartsChangeSalesItem> partsChangeSalesItems, String examineRemark) {
+    private void rejectMethod(WebsitPartsChangeSales partsChangeSales, List<WebsitPartsChangeSalesItem> partsChangeSalesItems, String examineRemark) throws Exception {
         AdminWebsit shop = adminWebsitService.lambdaQuery()
                 .eq(AdminWebsit::getCompanyWechatId, partsChangeSales.getCompanyWechatId())
                 .eq(AdminWebsit::getWebsitId, partsChangeSales.getWebsitId())
@@ -148,8 +153,74 @@ public class WebsitPartsChangeSalesLogic {
                 .insert();
 
         // 审核不通过延期 师傅临占库存减 新件库存加
-//        List<WorkerStockDTO> workerStockDTOList = this.createWorkerStockDTO(partsChangeSales, partsChangeSalesItems, PartsRefTypeEnum.CHANGE_SALES.toString(),
-//                PartsStockPartsAttrEnum.TEMP_NEW.toString(), PartsStockPartsAttrEnum.NEW.toString());
-//        partsStockLogic.handleWorkerStock(workerStockDTOList);
+        List<WorkerStockDTO> workerStockDTOList = this.createWorkerStockDTO(partsChangeSales, partsChangeSalesItems, PartsRefTypeEnum.CHANGE_SALES.toString(),
+                PartsAttrEnum.TEMP_NEW.getKey(), PartsAttrEnum.NEW.getKey());
+        materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
+    }
+
+    private List<WorkerStockDTO> createWorkerStockDTO(WebsitPartsChangeSales partsChangeSales,
+                                                      List<WebsitPartsChangeSalesItem> partsChangeSalesItemList,
+                                                      String refType, String partsAttr1,
+                                                      String partsAttr2) {
+        List<WorkerStockDTO> workerStockDTOList = new ArrayList<>();
+        if (StringUtils.isNotBlank(partsAttr1)) {
+            for (WebsitPartsChangeSalesItem partsChangeSalesItem : partsChangeSalesItemList) {
+                WorkerStockDTO workerStockDTO = new WorkerStockDTO();
+                workerStockDTO.setCompanyWechatId(partsChangeSales.getCompanyWechatId());
+                workerStockDTO.setCompanyWechatName(partsChangeSales.getCompanyWechatName());
+                workerStockDTO.setIdentity(partsChangeSales.getIdentity());
+                workerStockDTO.setWorkerId(partsChangeSales.getWorkerId());
+                workerStockDTO.setWorkerName(partsChangeSales.getWorkerName());
+                workerStockDTO.setWebsitId(partsChangeSales.getWebsitId());
+                workerStockDTO.setWebsitName(partsChangeSales.getWebsitName());
+                workerStockDTO.setPartsWebsitId(partsChangeSales.getPartsWebsitId());
+                workerStockDTO.setSdate(DateUtil.date());
+                workerStockDTO.setGoodsId(partsChangeSalesItem.getPartsNumber());
+                workerStockDTO.setGoodsName(partsChangeSalesItem.getPartsName());
+                workerStockDTO.setMaterialGroupName(partsChangeSalesItem.getMaterialGroupName());
+                workerStockDTO.setGoodsStockUnit(partsChangeSalesItem.getGoodsStockUnit());
+                workerStockDTO.setPrice(partsChangeSalesItem.getSalesPrice());
+                workerStockDTO.setRef(partsChangeSales.getChangeSalesNo());
+                workerStockDTO.setRefType(refType);
+                workerStockDTO.setPartsAttr(partsAttr1);
+                workerStockDTO.setChangeQty(partsChangeSalesItem.getQty());
+                workerStockDTO.setDirectFlag(DirectFlagEnum.SUB.getKey());
+                workerStockDTO.setRemark("");
+                workerStockDTO.setOperateBy(CommonUtils.getNickName());
+                workerStockDTO.setOperateTime(DateUtil.date());
+
+                workerStockDTOList.add(workerStockDTO);
+            }
+        }
+        if (StringUtils.isNotBlank(partsAttr2)) {
+            for (WebsitPartsChangeSalesItem partsChangeSalesItem : partsChangeSalesItemList) {
+                WorkerStockDTO workerStockDTO = new WorkerStockDTO();
+                workerStockDTO.setCompanyWechatId(partsChangeSales.getCompanyWechatId());
+                workerStockDTO.setCompanyWechatName(partsChangeSales.getCompanyWechatName());
+                workerStockDTO.setIdentity(partsChangeSales.getIdentity());
+                workerStockDTO.setWorkerId(partsChangeSales.getWorkerId());
+                workerStockDTO.setWorkerName(partsChangeSales.getWorkerName());
+                workerStockDTO.setWebsitId(partsChangeSales.getWebsitId());
+                workerStockDTO.setWebsitName(partsChangeSales.getWebsitName());
+                workerStockDTO.setPartsWebsitId(partsChangeSales.getPartsWebsitId());
+                workerStockDTO.setSdate(DateUtil.date());
+                workerStockDTO.setGoodsId(partsChangeSalesItem.getPartsNumber());
+                workerStockDTO.setGoodsName(partsChangeSalesItem.getPartsName());
+                workerStockDTO.setMaterialGroupName(partsChangeSalesItem.getMaterialGroupName());
+                workerStockDTO.setGoodsStockUnit(partsChangeSalesItem.getGoodsStockUnit());
+                workerStockDTO.setPrice(partsChangeSalesItem.getSalesPrice());
+                workerStockDTO.setRef(partsChangeSalesItem.getChangeSalesNo());
+                workerStockDTO.setRefType(refType);
+                workerStockDTO.setPartsAttr(partsAttr2);
+                workerStockDTO.setChangeQty(partsChangeSalesItem.getQty());
+                workerStockDTO.setDirectFlag(DirectFlagEnum.ADD.getKey());
+                workerStockDTO.setRemark("");
+                workerStockDTO.setOperateBy(CommonUtils.getNickName());
+                workerStockDTO.setOperateTime(DateUtil.date());
+
+                workerStockDTOList.add(workerStockDTO);
+            }
+        }
+        return workerStockDTOList;
     }
 }