|
@@ -9,7 +9,12 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.gree.mall.manager.bean.PayDetail;
|
|
import com.gree.mall.manager.bean.PayDetail;
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
-import com.gree.mall.manager.bean.material.manage.*;
|
|
|
|
|
|
+import com.gree.mall.manager.bean.material.manage.WebsitPartsSalesBean;
|
|
|
|
+import com.gree.mall.manager.bean.material.manage.WebsitPartsSalesItemBean;
|
|
|
|
+import com.gree.mall.manager.bean.material.manage.WebsitPartsSalesVO;
|
|
|
|
+import com.gree.mall.manager.bean.material.manage.WebsitPartsSalesWVO;
|
|
|
|
+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.OldRefundManageRecordBean;
|
|
import com.gree.mall.manager.bean.material.worker.OldRefundManageRecordBean;
|
|
import com.gree.mall.manager.commonmapper.MaterialMapper;
|
|
import com.gree.mall.manager.commonmapper.MaterialMapper;
|
|
import com.gree.mall.manager.constant.SybConstants;
|
|
import com.gree.mall.manager.constant.SybConstants;
|
|
@@ -19,6 +24,7 @@ import com.gree.mall.manager.enums.material.*;
|
|
import com.gree.mall.manager.exception.RemoteServiceException;
|
|
import com.gree.mall.manager.exception.RemoteServiceException;
|
|
import com.gree.mall.manager.logic.common.AllInPayLogic;
|
|
import com.gree.mall.manager.logic.common.AllInPayLogic;
|
|
import com.gree.mall.manager.logic.common.CommonLogic;
|
|
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.entity.*;
|
|
import com.gree.mall.manager.plus.service.*;
|
|
import com.gree.mall.manager.plus.service.*;
|
|
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
|
|
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
|
|
@@ -54,6 +60,7 @@ public class WebsitPartsSalesOrderLogic {
|
|
private final WebsitSalesPayOrderService websitSalesPayOrderService;
|
|
private final WebsitSalesPayOrderService websitSalesPayOrderService;
|
|
private final AdminWebsitPayConfigService adminWebsitPayConfigService;
|
|
private final AdminWebsitPayConfigService adminWebsitPayConfigService;
|
|
private final AllInPayLogic allInPayLogic;
|
|
private final AllInPayLogic allInPayLogic;
|
|
|
|
+ private final MaterialGoodsStockLogic materialGoodsStockLogic;
|
|
|
|
|
|
public IPage<WebsitPartsSalesVO> list(ZfireParamBean zfireParamBean) {
|
|
public IPage<WebsitPartsSalesVO> list(ZfireParamBean zfireParamBean) {
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
@@ -525,7 +532,7 @@ public class WebsitPartsSalesOrderLogic {
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
- public WebsitPartsSalesBean changeCash(String id) {
|
|
|
|
|
|
+ public WebsitPartsSalesBean changeCash(String id) throws Exception {
|
|
WebsitPartsSalesBean partsSalesOrderBean = this.loadSalesOrderById(id);
|
|
WebsitPartsSalesBean partsSalesOrderBean = this.loadSalesOrderById(id);
|
|
AdminWebsit shop = adminWebsitService.getById(partsSalesOrderBean.getWebsitId());
|
|
AdminWebsit shop = adminWebsitService.getById(partsSalesOrderBean.getWebsitId());
|
|
if (!shop.getPartsIsCash()) {
|
|
if (!shop.getPartsIsCash()) {
|
|
@@ -547,20 +554,36 @@ public class WebsitPartsSalesOrderLogic {
|
|
return partsSalesOrderBean;
|
|
return partsSalesOrderBean;
|
|
}
|
|
}
|
|
|
|
|
|
- private void handleForwardShopAndWorkerStock(WebsitPartsSalesBean partsSalesOrderBean) {
|
|
|
|
|
|
+ private void handleForwardShopAndWorkerStock(WebsitPartsSalesBean partsSalesOrderBean) throws Exception {
|
|
// 扣减网点库存
|
|
// 扣减网点库存
|
|
-// List<ShopStockDTO> shopStockDTOList = this.getShopStock(partsSalesOrderBean, -1);
|
|
|
|
-// partsStockLogic.handleShopStock(shopStockDTOList);
|
|
|
|
-//
|
|
|
|
-// if (PartsDeliveryTypeEnum.EXPRESS.getCode().intValue() == partsSalesOrderBean.getDeliveryType()
|
|
|
|
-// && PartsSalesOrderTypeEnum.WORKER.getCode().intValue() == partsSalesOrderBean.getOrderType()) {
|
|
|
|
-// // 如果是快递并且销售类型为“服务人员”的单,需要增加师傅在途库存
|
|
|
|
-// // 增加师傅在途库存
|
|
|
|
-// List<WorkerStockDTO> workerStockDTOList = this.getWorkerStock(partsSalesOrderBean,
|
|
|
|
-// PartsRefTypeEnum.SALES.toString(), null, PartsStockPartsAttrEnum.WAY.toString());
|
|
|
|
-//
|
|
|
|
-// partsStockLogic.handleWorkerStock(workerStockDTOList);
|
|
|
|
-// }
|
|
|
|
|
|
+ List<WebsitStockDTO> shopStockDTOList = this.getWebsitStock(partsSalesOrderBean, DirectFlagEnum.SUB);
|
|
|
|
+ materialGoodsStockLogic.handleWebsitStock(shopStockDTOList);
|
|
|
|
+
|
|
|
|
+ if (DeliveryTypeEnum.EXPRESS.getValue().equals(partsSalesOrderBean.getDeliveryType())
|
|
|
|
+ && BuyPeopleEnum.WORKER.getKey().equals(partsSalesOrderBean.getBuyPeople())) {
|
|
|
|
+ // 如果是快递并且销售类型为“服务人员”的单,需要增加师傅在途库存
|
|
|
|
+ // 增加师傅在途库存
|
|
|
|
+ List<WorkerStockDTO> workerStockDTOList = this.getWorkerStock(partsSalesOrderBean,
|
|
|
|
+ PartsRefTypeEnum.SALES.getKey(), null, PartsAttrEnum.WAY.getKey());
|
|
|
|
+
|
|
|
|
+ materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void handleReverseShopAndWorkerStock(WebsitPartsSalesBean partsSalesOrderBean) throws Exception {
|
|
|
|
+ //网点库存要加回去
|
|
|
|
+ List<WebsitStockDTO> shopStockDTOList = this.getWebsitStock(partsSalesOrderBean, DirectFlagEnum.ADD);
|
|
|
|
+
|
|
|
|
+ materialGoodsStockLogic.handleWebsitStock(shopStockDTOList);
|
|
|
|
+
|
|
|
|
+ if (DeliveryTypeEnum.EXPRESS.getValue().equals(partsSalesOrderBean.getDeliveryType())
|
|
|
|
+ && BuyPeopleEnum.WORKER.getKey().equals(partsSalesOrderBean.getBuyPeople())) {
|
|
|
|
+ // 如果是快递并且销售类型为“服务人员”的单,需要减师傅在途库存
|
|
|
|
+ // 减师傅在途库存
|
|
|
|
+ List<WorkerStockDTO> workerStockDTOList = this.getWorkerStock(partsSalesOrderBean, PartsRefTypeEnum.SALES.getKey(),
|
|
|
|
+ PartsAttrEnum.WAY.getKey(), null);
|
|
|
|
+ materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
@@ -728,7 +751,7 @@ public class WebsitPartsSalesOrderLogic {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
- public void cancel(String id) {
|
|
|
|
|
|
+ public void cancel(String id) throws Exception {
|
|
WebsitPartsSalesBean partsSalesOrderBean = loadSalesOrderById(id);
|
|
WebsitPartsSalesBean partsSalesOrderBean = loadSalesOrderById(id);
|
|
if(Objects.isNull(partsSalesOrderBean)) {
|
|
if(Objects.isNull(partsSalesOrderBean)) {
|
|
throw new RemoteServiceException("配件单状态取消失败,没有该配件单号: " + id) ;
|
|
throw new RemoteServiceException("配件单状态取消失败,没有该配件单号: " + id) ;
|
|
@@ -763,22 +786,6 @@ public class WebsitPartsSalesOrderLogic {
|
|
websitPartsSalesService.saveOrUpdate(partsSalesOrderBean);
|
|
websitPartsSalesService.saveOrUpdate(partsSalesOrderBean);
|
|
}
|
|
}
|
|
|
|
|
|
- private void handleReverseShopAndWorkerStock(WebsitPartsSalesBean partsSalesOrderBean) {
|
|
|
|
- //网点库存要加回去
|
|
|
|
-// List<ShopStockDTO> shopStockDTOList = this.getShopStock(partsSalesOrderBean, 1);
|
|
|
|
-//
|
|
|
|
-// partsStockLogic.handleShopStock(shopStockDTOList);
|
|
|
|
-//
|
|
|
|
-// if (PartsDeliveryTypeEnum.EXPRESS.getCode().intValue() == partsSalesOrderBean.getDeliveryType()
|
|
|
|
-// && PartsSalesOrderTypeEnum.WORKER.getCode().intValue() == partsSalesOrderBean.getOrderType()) {
|
|
|
|
-// // 如果是快递并且销售类型为“服务人员”的单,需要减师傅在途库存
|
|
|
|
-// // 减师傅在途库存
|
|
|
|
-// List<WorkerStockDTO> workerStockDTOList = this.getWorkerStock(partsSalesOrderBean, PartsRefTypeEnum.SALES.toString(),
|
|
|
|
-// PartsStockPartsAttrEnum.WAY.toString(), null);
|
|
|
|
-// partsStockLogic.handleWorkerStock(workerStockDTOList);
|
|
|
|
-// }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private void commonRefundAmountMethod(WebsitPartsSalesBean partsSalesOrderBean) {
|
|
private void commonRefundAmountMethod(WebsitPartsSalesBean partsSalesOrderBean) {
|
|
//有支付记录,需要增加退款记录
|
|
//有支付记录,需要增加退款记录
|
|
WebsitPartsRefundRecord partsRefundRecord = new WebsitPartsRefundRecord();
|
|
WebsitPartsRefundRecord partsRefundRecord = new WebsitPartsRefundRecord();
|
|
@@ -802,7 +809,7 @@ public class WebsitPartsSalesOrderLogic {
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
- public void transNotApply(String id) {
|
|
|
|
|
|
+ public void transNotApply(String id) throws Exception {
|
|
WebsitPartsSalesBean partsSalesOrderBean = loadSalesOrderById(id);
|
|
WebsitPartsSalesBean partsSalesOrderBean = loadSalesOrderById(id);
|
|
if(Objects.isNull(partsSalesOrderBean)) {
|
|
if(Objects.isNull(partsSalesOrderBean)) {
|
|
throw new RemoteServiceException("销售申请单转销售单失败,没有该单号: " + id) ;
|
|
throw new RemoteServiceException("销售申请单转销售单失败,没有该单号: " + id) ;
|
|
@@ -831,4 +838,99 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
|
|
|
return pay;
|
|
return pay;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private List<WorkerStockDTO> getWorkerStock(WebsitPartsSalesBean partsSalesOrderBean, String refType, String partsAttr1, String partsAttr2) {
|
|
|
|
+ if(Collections.isEmpty(partsSalesOrderBean.getItemList())) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ List<WorkerStockDTO> workerStockDTOList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ for (WebsitPartsSalesItem item : partsSalesOrderBean.getItemList()) {
|
|
|
|
+ if (StringUtils.isNotBlank(partsAttr1)) {
|
|
|
|
+ WorkerStockDTO workerStockDTO = new WorkerStockDTO();
|
|
|
|
+ workerStockDTO.setCompanyWechatId(partsSalesOrderBean.getCompanyWechatId());
|
|
|
|
+ workerStockDTO.setCompanyWechatName(partsSalesOrderBean.getCompanyWechatName());
|
|
|
|
+ workerStockDTO.setIdentity(item.getIdentity());
|
|
|
|
+ workerStockDTO.setWorkerId(partsSalesOrderBean.getWorkerId());
|
|
|
|
+ workerStockDTO.setWorkerName(partsSalesOrderBean.getWorkerName());
|
|
|
|
+ workerStockDTO.setWebsitId(partsSalesOrderBean.getWebsitId());
|
|
|
|
+ workerStockDTO.setWebsitName(partsSalesOrderBean.getWebsitName());
|
|
|
|
+ workerStockDTO.setSdate(DateUtil.date());
|
|
|
|
+ workerStockDTO.setPartsWebsitId(item.getPartsWebsitId());
|
|
|
|
+ workerStockDTO.setGoodsId(item.getPartsNumber());
|
|
|
|
+ workerStockDTO.setGoodsName(item.getPartsName());
|
|
|
|
+ workerStockDTO.setMaterialGroupName(item.getMaterialGroupName());
|
|
|
|
+ workerStockDTO.setPrice(item.getMarketPrice());
|
|
|
|
+ workerStockDTO.setGoodsStockUnit(item.getGoodsStockUnit());
|
|
|
|
+ workerStockDTO.setRef(partsSalesOrderBean.getId());
|
|
|
|
+ workerStockDTO.setRefType(refType);
|
|
|
|
+ workerStockDTO.setPartsAttr(partsAttr1);
|
|
|
|
+ workerStockDTO.setChangeQty(item.getQty());
|
|
|
|
+ workerStockDTO.setDirectFlag(DirectFlagEnum.SUB.getKey());
|
|
|
|
+ workerStockDTO.setRemark(partsSalesOrderBean.getRemark());
|
|
|
|
+ workerStockDTO.setOperateBy(partsSalesOrderBean.getWorkerName());
|
|
|
|
+ workerStockDTO.setOperateTime(DateUtil.date());
|
|
|
|
+ workerStockDTOList.add(workerStockDTO);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(partsAttr2)) {
|
|
|
|
+ WorkerStockDTO workerStockDTO = new WorkerStockDTO();
|
|
|
|
+ workerStockDTO.setIdentity(item.getIdentity());
|
|
|
|
+ workerStockDTO.setWorkerId(partsSalesOrderBean.getWorkerId());
|
|
|
|
+ workerStockDTO.setWorkerName(partsSalesOrderBean.getWorkerName());
|
|
|
|
+ workerStockDTO.setWebsitId(partsSalesOrderBean.getWebsitId());
|
|
|
|
+ workerStockDTO.setWebsitName(partsSalesOrderBean.getWebsitName());
|
|
|
|
+ workerStockDTO.setSdate(DateUtil.date());
|
|
|
|
+ workerStockDTO.setPartsWebsitId(item.getPartsWebsitId());
|
|
|
|
+ workerStockDTO.setGoodsId(item.getPartsNumber());
|
|
|
|
+ workerStockDTO.setGoodsName(item.getPartsName());
|
|
|
|
+ workerStockDTO.setMaterialGroupName(item.getMaterialGroupName());
|
|
|
|
+ workerStockDTO.setPrice(item.getMarketPrice());
|
|
|
|
+ workerStockDTO.setGoodsStockUnit(item.getGoodsStockUnit());
|
|
|
|
+ workerStockDTO.setRef(partsSalesOrderBean.getId());
|
|
|
|
+ workerStockDTO.setRefType(refType);
|
|
|
|
+ workerStockDTO.setPartsAttr(partsAttr2);
|
|
|
|
+ workerStockDTO.setChangeQty(item.getQty());
|
|
|
|
+ workerStockDTO.setDirectFlag(DirectFlagEnum.ADD.getKey());
|
|
|
|
+ workerStockDTO.setRemark(partsSalesOrderBean.getRemark());
|
|
|
|
+ workerStockDTO.setOperateBy(partsSalesOrderBean.getWorkerName());
|
|
|
|
+ workerStockDTO.setOperateTime(DateUtil.date());
|
|
|
|
+ workerStockDTOList.add(workerStockDTO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return workerStockDTOList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private List<WebsitStockDTO> getWebsitStock(WebsitPartsSalesBean partsSalesOrderBean, DirectFlagEnum directFlag) {
|
|
|
|
+ if(Collections.isEmpty(partsSalesOrderBean.getItemList())) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ List<WebsitStockDTO> websitStockDTOList = new ArrayList<>();
|
|
|
|
+ for(WebsitPartsSalesItem item : partsSalesOrderBean.getItemList()) {
|
|
|
|
+ WebsitStockDTO websitStockDTO = new WebsitStockDTO();
|
|
|
|
+ websitStockDTO.setCompanyWechatId(partsSalesOrderBean.getCompanyWechatId());
|
|
|
|
+ websitStockDTO.setCompanyWechatName(partsSalesOrderBean.getCompanyWechatName());
|
|
|
|
+ websitStockDTO.setWebsitId(partsSalesOrderBean.getWebsitId());
|
|
|
|
+ websitStockDTO.setWebsitName(partsSalesOrderBean.getWebsitName());
|
|
|
|
+ websitStockDTO.setSdate(new Date());
|
|
|
|
+ websitStockDTO.setPartsWebsitId(item.getPartsWebsitId());
|
|
|
|
+ websitStockDTO.setGoodsId(item.getPartsNumber());
|
|
|
|
+ websitStockDTO.setGoodsName(item.getPartsName());
|
|
|
|
+ websitStockDTO.setMaterialGroupName(item.getMaterialGroupName());
|
|
|
|
+ websitStockDTO.setPrice(item.getMarketPrice());
|
|
|
|
+ websitStockDTO.setGoodsStockUnit(item.getGoodsStockUnit());
|
|
|
|
+ websitStockDTO.setVoucherNo(partsSalesOrderBean.getId());
|
|
|
|
+ websitStockDTO.setApplyNo(partsSalesOrderBean.getId());
|
|
|
|
+ websitStockDTO.setObj(PartsRefTypeEnum.SALES.getKey());
|
|
|
|
+ websitStockDTO.setPartsAttr(PartsAttrEnum.NEW.getKey());
|
|
|
|
+ websitStockDTO.setChangeQty(item.getQty());
|
|
|
|
+ websitStockDTO.setDirectFlag(directFlag.getKey());
|
|
|
|
+ websitStockDTO.setRemark(partsSalesOrderBean.getRemark());
|
|
|
|
+ websitStockDTO.setOperateBy(partsSalesOrderBean.getSubmitBy());
|
|
|
|
+ websitStockDTO.setOperateTime(new Date());
|
|
|
|
+ websitStockDTO.setStorageId(partsSalesOrderBean.getStorageId());
|
|
|
|
+ websitStockDTOList.add(websitStockDTO);
|
|
|
|
+ }
|
|
|
|
+ return websitStockDTOList;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|