wangbo 4 gadi atpakaļ
vecāks
revīzija
776a1cf06d

+ 15 - 2
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -389,16 +389,29 @@ public class WorkOrderManageController {
         AjaxMessage<List<UserEntity>> listAjaxMessage = userCenterClient.findUserListByType();
         for(UserEntity userEntity : listAjaxMessage.getData()){
             Map<String, Object> orderStatusMap = workOrderManageService.selectOrderUserStatus(userEntity.getId().toString());
+
+            String orderStatus =  "空闲";
             Map<String, Object> map = new HashMap<>();
             map.put("id", userEntity.getId());
             map.put("userName", userEntity.getUsername());
             map.put("phone", userEntity.getPhone());
             map.put("deptName", userEntity.getDeptOrgName());
             if (orderStatusMap != null) {
-                map.put("status", orderStatusMap.get("W").toString());
+                orderStatus = orderStatusMap.get("S").toString();
+                if(orderStatus.equals("空闲")){
+                    Map<String, Object> planStatusMap = workOrderManageService.selectPlanUserStatus(userEntity.getId().toString());
+                    if(planStatusMap != null){
+                        orderStatus =  planStatusMap.get("S").toString();
+                    }
+                }
+                map.put("status", orderStatus);
             }
             else {
-                map.put("status", "空闲");
+                Map<String, Object> planStatusMap = workOrderManageService.selectPlanUserStatus(userEntity.getId().toString());
+                if(planStatusMap != null){
+                    orderStatus =  planStatusMap.get("S").toString();
+                }
+                map.put("status",orderStatus);
             }
             Map<String, Object> onLineStatusMap = workOrderManageService.selectMaintainUserStatus(userEntity.getId().toString());
             if(onLineStatusMap != null) {

+ 6 - 0
operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java

@@ -49,8 +49,14 @@ public interface WorkOrderManageMapper {
 
     Map<String,Object> selectOrderUserStatus(@Param("userId") String userId);
 
+    Map<String,Object> selectPlanUserStatus(@Param("userId") String userId);
+
     Map<String,Object> selectMaintainUserStatus(@Param("userId") String userId);
 
+
+
+
+
     /**
      * 待处理权限
      */

+ 4 - 0
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -77,6 +77,8 @@ public interface WorkOrderManageService {
      */
     Map<String,Object> selectOrderUserStatus(@Param("userId") String userId);
 
+    Map<String,Object> selectPlanUserStatus(@Param("userId") String userId);
+
     Map<String,Object> selectMaintainUserStatus(@Param("userId") String userId);
 
 
@@ -90,5 +92,7 @@ public interface WorkOrderManageService {
     List<WorkOrderManageDto> selectOrderStatus(WorkOrderManageDto workOrderManageDto);
 
 
+
+
     List<WorkOrderManageDto> selectMaintainOrder(WorkOrderManageDto workOrderManageDto);
 }

+ 5 - 0
operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java

@@ -133,6 +133,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
         return workOrderManageMapper.selectOrderUserStatus(userId);
     }
 
+    @Override
+    public Map<String, Object> selectPlanUserStatus(String userId) {
+        return workOrderManageMapper.selectPlanUserStatus(userId);
+    }
+
     @Override
     public Map<String, Object> selectMaintainUserStatus(String userId) {
         return workOrderManageMapper.selectMaintainUserStatus(userId);

+ 29 - 26
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -665,36 +665,39 @@
     where order_pid =  #{orderPid,jdbcType=VARCHAR}
   </select>
 
-  <!--查询派单时的用户状态-->
+  <!--查询工单派单时的用户状态-->
    <select id="selectOrderUserStatus" parameterType="java.lang.String" resultType="map">
-     SELECT X, Y,
-     CASE WHEN S IS NULL THEN '空闲' WHEN S='0' THEN '空闲' ELSE '执行中' END S ,
-     CASE WHEN Z IS NULL THEN '空闲' WHEN Z='0' THEN '空闲' ELSE '执行中' END Z ,
-     CASE WHEN S IS NULL AND Z IS NULL THEN '空闲' WHEN S='0' AND Z='0' THEN '空闲' ELSE '执行中' END W ,
-     CASE WHEN offlinetime IS NULL THEN '离线' WHEN offlinetime>10 THEN '离线' WHEN offlinetime &lt;= 10 THEN '在线' END L
-     FROM
-     (
-     select order_user_id,longtitude X, latitude Y, TIMESTAMPDIFF(second,upload_date, now()) offlinetime from sc_work_order_manage t1 left join sc_gps_data t2
-     on t1.order_user_id = t2.user_id
-     group by order_user_id,longtitude, latitude,upload_date
+      SELECT X, Y,
+       CASE WHEN S IS NULL THEN '空闲' WHEN S='0' THEN '空闲' ELSE '执行中' END S ,
+       CASE WHEN offlinetime IS NULL THEN '离线' WHEN offlinetime>10 THEN '离线' WHEN offlinetime &lt;= 10 THEN '在线' END L
+       FROM
+        (
+       select order_user_id,longtitude X, latitude Y, TIMESTAMPDIFF(second,upload_date, now()) offlinetime from sc_work_order_manage t1 left join sc_gps_data t2
+       on t1.order_user_id = t2.user_id
+       group by order_user_id,longtitude, latitude,upload_date
+       ) a
+      left join
+      (
+       select count(*) S,order_user_id from sc_work_order_manage
+       where order_status = 1
+       group by order_user_id
+       ) b
+       on a.order_user_id=b.order_user_id
+       where a.order_user_id= #{userId,jdbcType=INTEGER}
+  </select>
+  <!--查询任务单派单时的用户状态-->
+  <select id="selectPlanUserStatus" parameterType="java.lang.String" resultType="map">
+     SELECT
+     CASE WHEN S IS NULL THEN '空闲' WHEN S='0' THEN '空闲' ELSE '执行中' END S
+     FROM (
+       select count(*) S,user_id from sc_plan_manage
+       where plan_status = 1
+       group by user_id
      ) a
-     left join
-     (
-     select count(*) S,order_user_id from sc_work_order_manage
-     where order_status = 1
-     group by order_user_id
-     ) b
-     on a.order_user_id=b.order_user_id
-     left join
-     (
-     select count(*) Z,user_id from sc_plan_manage
-     where plan_status = 1
-     group by user_id
-     ) c
-     on c.user_id=a.order_user_id
-     where a.order_user_id= #{userId,jdbcType=INTEGER}
+     where a.user_id= #{userId,jdbcType=INTEGER}
   </select>
 
+
   <!--查询维修列表的用户状态-->
   <select id="selectMaintainUserStatus" parameterType="java.lang.String" resultType="map">
     select X, Y,