FengChaoYu il y a 5 mois
Parent
commit
931dbbf984

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderBaseLogic.java

@@ -735,7 +735,7 @@ public class OrderBaseLogic {
         final AdminWebsit adminWebsit = adminWebsitService.getById(pgOrderBase.getWebsitId());
 
         if (adminWebsit.getAttr().equals(WebsitAttrEnum.SELF.getKey())
-                && "安装, 拆移".contains(pgOrderBase.getOrderSmallTypeText())
+                && "安装, 拆移".contains(pgOrderBase.getOrderSmallTypeText())
                 && CollectionUtil.isEmpty(workerList)) {
             throw new RemoteServiceException("工单的类型必须至少选一个小工");
         }

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

@@ -2,7 +2,6 @@ package com.gree.mall.manager.logic.workorder;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -1139,7 +1138,17 @@ public class OrderBaseLogic {
             List<String> workerIds = orderAddBeanDTO.getOrderWorkers().stream().map(PgOrderWorker::getWorkerId).collect(Collectors.toList());
             workerIdsStr = StringUtils.join(workerIds, ",");
 
-            PgOrderWorker masterWorker = orderAddBeanDTO.getOrderWorkers().get(0);
+            PgOrderWorker masterWorker = orderAddBeanDTO.getOrderWorkers().stream()
+                    .filter(PgOrderWorker::getIsMaster).findFirst().orElse(null);
+
+            if (Objects.isNull(masterWorker)) {
+                throw new RemoteServiceException("请选择主要工程师");
+            }
+
+            if ("安装, 拆移机".contains(pgOrderBase.getOrderSmallTypeText())
+                    && StringUtils.isBlank(masterWorker.getWorkerNumber())) {
+                throw new RemoteServiceException("工单类型必须是有S编号的主要工程师");
+            }
             pgOrderBase.setWorkerId(masterWorker.getWorkerId());
             pgOrderBase.setWorkerNumber(masterWorker.getWorkerNumber());
             pgOrderBase.setWorkerName(masterWorker.getWorkerName());