|
@@ -38,6 +38,7 @@ import com.gree.mall.manager.utils.StringUtil;
|
|
|
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
|
|
|
import com.gree.mall.manager.zfire.util.FieldUtils;
|
|
|
import lombok.extern.log4j.Log4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.integration.redis.util.RedisLockRegistry;
|
|
@@ -127,6 +128,9 @@ public class SettlementOrderLogic {
|
|
|
@Autowired
|
|
|
WorkerStockLogic workerStockLogic;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ UserService userService;
|
|
|
+
|
|
|
|
|
|
public IPage<SettlementOrderLogicVO> pageV2(ZfireParamBean zfireParamBean) {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
@@ -396,6 +400,11 @@ public class SettlementOrderLogic {
|
|
|
|
|
|
List<WorkerOrderItem> workerOrderItems = workerOrderItemService.lambdaQuery().eq(WorkerOrderItem::getOrderId, workerOrder.getOrderId()).list();
|
|
|
|
|
|
+ // 身份证为空检查user表
|
|
|
+ if (StringUtils.isBlank(workerOrder.getIdentity()) && StringUtils.isNotBlank(workerOrder.getUserId())) {
|
|
|
+ final User user = userService.getById(workerOrder.getUserId());
|
|
|
+ workerOrder.setIdentity(user.getIdCard());
|
|
|
+ }
|
|
|
|
|
|
workerOrder.setTranscationId(wxPayOrderQueryResult.getTransactionId());
|
|
|
workerOrder.setPayState(IsYesNoEnum.YES.getKey());
|
|
@@ -422,9 +431,6 @@ public class SettlementOrderLogic {
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//插入使用记录
|
|
|
this.addNormRecord(workerOrder, workerOrderItems);
|
|
|
|
|
@@ -432,121 +438,122 @@ public class SettlementOrderLogic {
|
|
|
|
|
|
|
|
|
// 定时任务辅材逻辑
|
|
|
+ if (StringUtils.isNotBlank(workerOrder.getIdentity())) {
|
|
|
+ // 配件扣库存
|
|
|
+ try {
|
|
|
+ if (workerOrder.getGoodsType().equals("P")) {
|
|
|
|
|
|
- // 配件扣库存
|
|
|
- try {
|
|
|
- if (workerOrder.getGoodsType().equals("P")) {
|
|
|
+ List<WorkerOrderItem> inner = workerOrderItems.stream().filter(item -> item.getRepairFlag().equals("INNER")).collect(Collectors.toList());
|
|
|
+ List<WorkerOrderItem> OUTSIDE = workerOrderItems.stream().filter(item -> item.getRepairFlag().equals("OUTSIDE")).collect(Collectors.toList());
|
|
|
|
|
|
- List<WorkerOrderItem> inner = workerOrderItems.stream().filter(item -> item.getRepairFlag().equals("INNER")).collect(Collectors.toList());
|
|
|
- List<WorkerOrderItem> OUTSIDE = workerOrderItems.stream().filter(item -> item.getRepairFlag().equals("OUTSIDE")).collect(Collectors.toList());
|
|
|
+ List<SalesCustomerPartsBean> salesCustomerPartsBeans = new ArrayList<>();
|
|
|
|
|
|
- List<SalesCustomerPartsBean> salesCustomerPartsBeans = new ArrayList<>();
|
|
|
+ if (!CollectionUtils.isEmpty(inner)) {
|
|
|
+ SalesCustomerPartsBean salesCustomerPartsBean = new SalesCustomerPartsBean();
|
|
|
+ salesCustomerPartsBean.setCompanyWechatId(workerOrder.getCompanyWechatId());
|
|
|
+ salesCustomerPartsBean.setCompanyWechatName(workerOrder.getCompanyWechatName());
|
|
|
+ salesCustomerPartsBean.setRepairFlag("INNER");
|
|
|
+ salesCustomerPartsBean.setIdentity(workerOrder.getIdentity());
|
|
|
+ salesCustomerPartsBean.setWorkerNumber(workerOrder.getWorkerNumber());
|
|
|
+ salesCustomerPartsBean.setWorkerName(workerOrder.getWorkerName());
|
|
|
+ salesCustomerPartsBean.setWorkOrderNo(workerOrder.getWorkerOrderId());
|
|
|
+ salesCustomerPartsBean.setCustomerName(workerOrder.getUserName());
|
|
|
+ salesCustomerPartsBean.setCustomerTel(workerOrder.getUserMobile());
|
|
|
+ salesCustomerPartsBean.setReceiveWebsitId(adminWebsit.getWebsitId());
|
|
|
+ salesCustomerPartsBean.setReceivePartsWebsitId(adminWebsit.getPartsWebsitId());
|
|
|
+ salesCustomerPartsBean.setRemark(workerOrder.getRemark());
|
|
|
|
|
|
- if (!CollectionUtils.isEmpty(inner)) {
|
|
|
- SalesCustomerPartsBean salesCustomerPartsBean = new SalesCustomerPartsBean();
|
|
|
- salesCustomerPartsBean.setCompanyWechatId(workerOrder.getCompanyWechatId());
|
|
|
- salesCustomerPartsBean.setCompanyWechatName(workerOrder.getCompanyWechatName());
|
|
|
- salesCustomerPartsBean.setRepairFlag("INNER");
|
|
|
- salesCustomerPartsBean.setIdentity(workerOrder.getIdentity());
|
|
|
- salesCustomerPartsBean.setWorkerNumber(workerOrder.getWorkerNumber());
|
|
|
- salesCustomerPartsBean.setWorkerName(workerOrder.getWorkerName());
|
|
|
- salesCustomerPartsBean.setWorkOrderNo(workerOrder.getWorkerOrderId());
|
|
|
- salesCustomerPartsBean.setCustomerName(workerOrder.getUserName());
|
|
|
- salesCustomerPartsBean.setCustomerTel(workerOrder.getUserMobile());
|
|
|
- salesCustomerPartsBean.setReceiveWebsitId(adminWebsit.getWebsitId());
|
|
|
- salesCustomerPartsBean.setReceivePartsWebsitId(adminWebsit.getPartsWebsitId());
|
|
|
- salesCustomerPartsBean.setRemark(workerOrder.getRemark());
|
|
|
|
|
|
+ List<SalesCustomerPartsItemBean> salesCustomerPartsItemBeans = new ArrayList<>();
|
|
|
|
|
|
- List<SalesCustomerPartsItemBean> salesCustomerPartsItemBeans = new ArrayList<>();
|
|
|
+ for (WorkerOrderItem workerOrderItem : inner) {
|
|
|
+ SalesCustomerPartsItemBean salesCustomerPartsItemBean = new SalesCustomerPartsItemBean();
|
|
|
|
|
|
- for (WorkerOrderItem workerOrderItem : inner) {
|
|
|
- SalesCustomerPartsItemBean salesCustomerPartsItemBean = new SalesCustomerPartsItemBean();
|
|
|
+ salesCustomerPartsItemBean.setOldPartsName(workerOrderItem.getOldPartsName());
|
|
|
+ salesCustomerPartsItemBean.setOldPartsNumber(workerOrderItem.getOldPartsNumber());
|
|
|
+ salesCustomerPartsItemBean.setPartsNumber(workerOrderItem.getGoodsCode());
|
|
|
+ salesCustomerPartsItemBean.setQty(workerOrderItem.getNum());
|
|
|
+ salesCustomerPartsItemBean.setWorkerOrderItemId(workerOrderItem.getId());
|
|
|
|
|
|
- salesCustomerPartsItemBean.setOldPartsName(workerOrderItem.getOldPartsName());
|
|
|
- salesCustomerPartsItemBean.setOldPartsNumber(workerOrderItem.getOldPartsNumber());
|
|
|
- salesCustomerPartsItemBean.setPartsNumber(workerOrderItem.getGoodsCode());
|
|
|
- salesCustomerPartsItemBean.setQty(workerOrderItem.getNum());
|
|
|
- salesCustomerPartsItemBean.setWorkerOrderItemId(workerOrderItem.getId());
|
|
|
+ salesCustomerPartsItemBeans.add(salesCustomerPartsItemBean);
|
|
|
|
|
|
- salesCustomerPartsItemBeans.add(salesCustomerPartsItemBean);
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ salesCustomerPartsBean.setItems(salesCustomerPartsItemBeans);
|
|
|
|
|
|
- salesCustomerPartsBean.setItems(salesCustomerPartsItemBeans);
|
|
|
+ salesCustomerPartsBeans.add(salesCustomerPartsBean);
|
|
|
|
|
|
- salesCustomerPartsBeans.add(salesCustomerPartsBean);
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(OUTSIDE)) {
|
|
|
+ SalesCustomerPartsBean salesCustomerPartsBean = new SalesCustomerPartsBean();
|
|
|
+ salesCustomerPartsBean.setCompanyWechatId(workerOrder.getCompanyWechatId());
|
|
|
+ salesCustomerPartsBean.setCompanyWechatName(workerOrder.getCompanyWechatName());
|
|
|
+ salesCustomerPartsBean.setRepairFlag("OUTSIDE");
|
|
|
+ salesCustomerPartsBean.setIdentity(workerOrder.getIdentity());
|
|
|
+ salesCustomerPartsBean.setWorkerNumber(workerOrder.getWorkerNumber());
|
|
|
+ salesCustomerPartsBean.setWorkerName(workerOrder.getWorkerName());
|
|
|
+ salesCustomerPartsBean.setWorkOrderNo(workerOrder.getWorkerOrderId());
|
|
|
+ salesCustomerPartsBean.setCustomerName(workerOrder.getUserName());
|
|
|
+ salesCustomerPartsBean.setCustomerTel(workerOrder.getUserMobile());
|
|
|
+ salesCustomerPartsBean.setReceiveWebsitId(adminWebsit.getWebsitId());
|
|
|
+ salesCustomerPartsBean.setReceivePartsWebsitId(adminWebsit.getPartsWebsitId());
|
|
|
+ salesCustomerPartsBean.setRemark(workerOrder.getRemark());
|
|
|
|
|
|
- if (!CollectionUtils.isEmpty(OUTSIDE)) {
|
|
|
- SalesCustomerPartsBean salesCustomerPartsBean = new SalesCustomerPartsBean();
|
|
|
- salesCustomerPartsBean.setCompanyWechatId(workerOrder.getCompanyWechatId());
|
|
|
- salesCustomerPartsBean.setCompanyWechatName(workerOrder.getCompanyWechatName());
|
|
|
- salesCustomerPartsBean.setRepairFlag("OUTSIDE");
|
|
|
- salesCustomerPartsBean.setIdentity(workerOrder.getIdentity());
|
|
|
- salesCustomerPartsBean.setWorkerNumber(workerOrder.getWorkerNumber());
|
|
|
- salesCustomerPartsBean.setWorkerName(workerOrder.getWorkerName());
|
|
|
- salesCustomerPartsBean.setWorkOrderNo(workerOrder.getWorkerOrderId());
|
|
|
- salesCustomerPartsBean.setCustomerName(workerOrder.getUserName());
|
|
|
- salesCustomerPartsBean.setCustomerTel(workerOrder.getUserMobile());
|
|
|
- salesCustomerPartsBean.setReceiveWebsitId(adminWebsit.getWebsitId());
|
|
|
- salesCustomerPartsBean.setReceivePartsWebsitId(adminWebsit.getPartsWebsitId());
|
|
|
- salesCustomerPartsBean.setRemark(workerOrder.getRemark());
|
|
|
|
|
|
+ List<SalesCustomerPartsItemBean> salesCustomerPartsItemBeans = new ArrayList<>();
|
|
|
|
|
|
- List<SalesCustomerPartsItemBean> salesCustomerPartsItemBeans = new ArrayList<>();
|
|
|
+ for (WorkerOrderItem workerOrderItem : OUTSIDE) {
|
|
|
+ SalesCustomerPartsItemBean salesCustomerPartsItemBean = new SalesCustomerPartsItemBean();
|
|
|
|
|
|
- for (WorkerOrderItem workerOrderItem : OUTSIDE) {
|
|
|
- SalesCustomerPartsItemBean salesCustomerPartsItemBean = new SalesCustomerPartsItemBean();
|
|
|
+ salesCustomerPartsItemBean.setOldPartsName(workerOrderItem.getOldPartsName());
|
|
|
+ salesCustomerPartsItemBean.setOldPartsNumber(workerOrderItem.getOldPartsNumber());
|
|
|
+ salesCustomerPartsItemBean.setPartsNumber(workerOrderItem.getGoodsCode());
|
|
|
+ salesCustomerPartsItemBean.setQty(workerOrderItem.getNum());
|
|
|
+ salesCustomerPartsItemBean.setWorkerOrderItemId(workerOrderItem.getId());
|
|
|
|
|
|
- salesCustomerPartsItemBean.setOldPartsName(workerOrderItem.getOldPartsName());
|
|
|
- salesCustomerPartsItemBean.setOldPartsNumber(workerOrderItem.getOldPartsNumber());
|
|
|
- salesCustomerPartsItemBean.setPartsNumber(workerOrderItem.getGoodsCode());
|
|
|
- salesCustomerPartsItemBean.setQty(workerOrderItem.getNum());
|
|
|
- salesCustomerPartsItemBean.setWorkerOrderItemId(workerOrderItem.getId());
|
|
|
+ salesCustomerPartsItemBeans.add(salesCustomerPartsItemBean);
|
|
|
|
|
|
- salesCustomerPartsItemBeans.add(salesCustomerPartsItemBean);
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ salesCustomerPartsBean.setItems(salesCustomerPartsItemBeans);
|
|
|
|
|
|
- salesCustomerPartsBean.setItems(salesCustomerPartsItemBeans);
|
|
|
+ salesCustomerPartsBeans.add(salesCustomerPartsBean);
|
|
|
|
|
|
- salesCustomerPartsBeans.add(salesCustomerPartsBean);
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
|
|
|
+ if (CollectionUtil.isNotEmpty(salesCustomerPartsBeans)) {
|
|
|
+ // 开始处理库存
|
|
|
+ for (SalesCustomerPartsBean salesCustomerPartsBean : salesCustomerPartsBeans) {
|
|
|
+ workerStockLogic.oldRefundManageSyncAdd(salesCustomerPartsBean);
|
|
|
+ }
|
|
|
|
|
|
- if (CollectionUtil.isNotEmpty(salesCustomerPartsBeans)) {
|
|
|
- // 开始处理库存
|
|
|
- for (SalesCustomerPartsBean salesCustomerPartsBean : salesCustomerPartsBeans) {
|
|
|
- workerStockLogic.oldRefundManageSyncAdd(salesCustomerPartsBean);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(workerOrder.getOrderId() + " 师傅配件扣自有库存失败: ", e);
|
|
|
- workerOrder.setExRemark(workerOrder.getOrderId() + " 师傅配件扣自有库存失败: " + e.getMessage());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(workerOrder.getOrderId() + " 师傅配件扣自有库存失败: ", e);
|
|
|
+ workerOrder.setExRemark(workerOrder.getOrderId() + " 师傅配件扣自有库存失败: " + e.getMessage());
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- // 辅材扣库存
|
|
|
- try {
|
|
|
- if (workerOrder.getGoodsType().equals(WebsitGoodsTypeEnum.M.toString())) {
|
|
|
- List<WorkerStockDTO> workerStockDTOS = new ArrayList<>();
|
|
|
- this.makeSubStockData(workerOrder, workerOrderItems, workerStockDTOS);
|
|
|
+ // 辅材扣库存
|
|
|
+ try {
|
|
|
+ if (workerOrder.getGoodsType().equals(WebsitGoodsTypeEnum.M.toString())) {
|
|
|
+ List<WorkerStockDTO> workerStockDTOS = new ArrayList<>();
|
|
|
+ this.makeSubStockData(workerOrder, workerOrderItems, workerStockDTOS);
|
|
|
|
|
|
- if (CollectionUtil.isNotEmpty(workerStockDTOS)) {
|
|
|
- // 开始处理库存
|
|
|
- workerStockLogic.fucaiHandleWorkerStock(workerStockDTOS);
|
|
|
+ if (CollectionUtil.isNotEmpty(workerStockDTOS)) {
|
|
|
+ // 开始处理库存
|
|
|
+ workerStockLogic.fucaiHandleWorkerStock(workerStockDTOS);
|
|
|
+ }
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(workerOrder.getOrderId() + " 师傅辅材扣库存失败: ", e);
|
|
|
+ throw new RemoteServiceException("师傅辅材扣库存失败,没有库存");
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(workerOrder.getOrderId() + " 师傅辅材扣库存失败: ", e);
|
|
|
- throw new RemoteServiceException("师傅辅材扣库存失败,没有库存");
|
|
|
}
|
|
|
|
|
|
|