|
@@ -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;
|
|
|
}
|
|
|
}
|