Browse Source

电子支付增加查询师傅身份证回填单子上

FengChaoYu 5 months ago
parent
commit
f05b24287e

+ 91 - 83
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/order/PayOrderLogic.java

@@ -134,6 +134,9 @@ public class PayOrderLogic {
     @Autowired
     AdminCompanyWechatPayConfigService adminCompanyWechatPayConfigService;
 
+    @Autowired
+    UserService userService;
+
     public Page<WebsitNormCharge> pageCharge(String name, String categoryId, String orderId,Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
         Page<WebsitNormCharge> list = websitNormChargeService.lambdaQuery()
@@ -457,6 +460,12 @@ public class PayOrderLogic {
             throw new RemoteServiceException("订单已取消支付");
         }
 
+        // 身份证为空检查user表
+        if (StringUtils.isBlank(workerOrder.getIdentity()) && StringUtils.isNotBlank(workerOrder.getUserId())) {
+            final User user = userService.getById(workerOrder.getUserId());
+            workerOrder.setIdentity(user.getIdCard());
+        }
+
         List<WorkerOrderItem> workerOrderItems = workerOrderItemService.lambdaQuery().eq(WorkerOrderItem::getOrderId, orderId).list();
 
 
@@ -468,8 +477,6 @@ public class PayOrderLogic {
         workerOrder.setPayStatus(PayStatusEnum.PAID.getKey());
         workerOrder.updateById();
 
-
-
         //插入手工结算数据
         if (workerOrder.getManualAmount() != null && workerOrder.getManualAmount().doubleValue() > 0) {
             this.addManualSettlementOrder(workerOrder, workerOrderItems);
@@ -486,121 +493,122 @@ public class PayOrderLogic {
          * 改这个辅材必须定时任务也改逻辑   搜  // 定时任务辅材逻辑
         * */
 
-        // 配件扣库存
-        try {
-            if (workerOrder.getGoodsType().equals("P")) {
+        if (StringUtils.isNotBlank(workerOrder.getIdentity())) {
+            // 配件扣库存
+            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.setWorkerId(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.setWorkerId(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.setWorkerId(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.setWorkerId(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) {
+                            oldRefundManageLogic.add(salesCustomerPartsBean);
+                        }
 
-                if (CollectionUtil.isNotEmpty(salesCustomerPartsBeans)) {
-                    // 开始处理库存
-                    for (SalesCustomerPartsBean salesCustomerPartsBean : salesCustomerPartsBeans) {
-                        oldRefundManageLogic.add(salesCustomerPartsBean);
                     }
-
                 }
-            }
 
-        } catch (Exception e) {
-            log.error(workerOrder.getOrderId() + " 师傅配件扣自有库存失败: ", e);
-            throw new RemoteServiceException("师傅辅材扣库存失败,没有库存");
+            } catch (Exception e) {
+                log.error(workerOrder.getOrderId() + " 师傅配件扣自有库存失败: ", e);
+                throw new RemoteServiceException("师傅配件扣库存失败, 原因 " + 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)) {
-                    // 开始处理库存
-                    materialGoodsStockLogic.handleWorkerStock(workerStockDTOS);
+                    if (CollectionUtil.isNotEmpty(workerStockDTOS)) {
+                        // 开始处理库存
+                        materialGoodsStockLogic.handleWorkerStock(workerStockDTOS);
+                    }
                 }
+            } catch (Exception e) {
+                log.error(workerOrder.getOrderId() + " 师傅辅材扣库存失败: ", e);
+                throw new RemoteServiceException("师傅辅材扣库存失败, 原因 " + e.getMessage());
             }
-        } catch (Exception e) {
-            log.error(workerOrder.getOrderId() + " 师傅辅材扣库存失败: ", e);
-            throw new RemoteServiceException("师傅辅材扣库存失败,没有库存");
         }
 
 

+ 91 - 84
mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/SettlementOrderLogic.java

@@ -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("师傅辅材扣库存失败,没有库存");
             }
 
 

+ 2 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java

@@ -1170,7 +1170,8 @@ public class OrderBaseLogic {
                 throw new RemoteServiceException("请选择主要工程师");
             }
 
-            if (adminWebsit.getAttr().equals(WebsitAttrEnum.SELF.getKey())
+            if (Objects.nonNull(adminWebsit)
+                    && adminWebsit.getAttr().equals(WebsitAttrEnum.SELF.getKey())
                     && "安装, 拆移机".contains(orderSmallType.getOrderSmallTypeText())
                     && StringUtils.isBlank(masterWorker.getWorkerNumber())) {
                 throw new RemoteServiceException("工单类型必须是有S编号的主要工程师");