Ver Fonte

代码合并

wangbo há 4 anos atrás
pai
commit
45b08fe90c

+ 3 - 0
operation_manager/src/main/java/com/huaxu/client/UserCenterClient.java

@@ -2,6 +2,7 @@ package com.huaxu.client;
 
 import com.huaxu.config.FeignConfig;
 
+import com.huaxu.model.AjaxMessage;
 import com.huaxu.task.entity.UserEntity;
 import lombok.NoArgsConstructor;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -19,6 +20,8 @@ public interface UserCenterClient {
     @GetMapping("/dict/selectListByPCodes")
     Map<String, String> selectListByPCodes(@RequestParam String parentDictCodes);
 
+    @GetMapping("/user/findUserIdsByOrgId")
+    AjaxMessage<List<UserEntity>> findUserIdsByOrgId(@RequestParam("ids") String ids);
 
     @PostMapping("/user/findUserIdsByUserIds")
     List<UserEntity> findUserIdsByUserIds(@RequestParam("ids") Long[] ids);

+ 27 - 0
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -431,6 +431,33 @@ public class WorkOrderManageController {
         return new AjaxMessage<>(ResultStatus.ERROR);
     }
 
+    @PostMapping("/selectOrderUserByOrgId")
+    @ApiOperation(value = "查询派单时的用户信息")
+    public AjaxMessage<Object> selectOrderUserByOrgId(
+            @ApiParam(value = "机构ID", required = true) @RequestParam(required = true) String ids){
+        List<Map<String,Object>> result = new ArrayList<>();
+        AjaxMessage<List<UserEntity>> listAjaxMessage = userCenterClient.findUserIdsByOrgId(ids);
+        for(UserEntity userEntity : listAjaxMessage.getData()){
+            try {
+                Map<String, Object> orderStatusMap = workOrderManageService.selectOrderUserStatus(userEntity.getId().toString());
+                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("S").toString());
+                    map.put("address", orderStatusMap.get("X") + "," + orderStatusMap.get("Y"));
+                }
+                map.put("distance", "");
+                result.add(map);
+            }catch (Exception e){
+
+            }
+        }
+        return new AjaxMessage<>(ResultStatus.OK,result);
+    }
+
     @GetMapping("/delProcInst")
     @ApiOperation(value = "终止流程")
     public AjaxMessage deleteProcessInstance(

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

@@ -40,4 +40,6 @@ public interface WorkOrderManageMapper {
     Page<WorkOrderManageDto> findPage(IPage<WorkOrderManageDto> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 
     List<WorkOrderManage> selectByPId(Map<String,Object> map);
+
+    Map<String,Object> selectOrderUserStatus(@Param("userId") String userId);
 }

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

@@ -67,4 +67,10 @@ public interface WorkOrderManageService {
      * 根据orderPid查询
      */
     List<WorkOrderManage> selectByPId(Map<String,Object> map);
+
+
+    /**
+     *查询派单时的用户状态
+     */
+    Map<String,Object> selectOrderUserStatus(@Param("userId") String userId);
 }

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

@@ -108,4 +108,10 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
     public Integer batchDelete(List<Integer> ids) {
         return workOrderManageMapper.batchDelete(ids);
     }
+
+    @Override
+    public Map<String, Object> selectOrderUserStatus(String userId) {
+        return workOrderManageMapper.selectOrderUserStatus(userId);
+    }
+
 }

+ 16 - 0
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -597,4 +597,20 @@
     from sc_work_order_manage
     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 FROM
+      (select order_user_id,longtitude X, latitude Y 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) 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>
 </mapper>