wangbo 4 vuotta sitten
vanhempi
commit
8a00dd9eab

+ 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);

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

@@ -13,7 +13,6 @@ import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.entity.WorkFlowDetail;
 import com.huaxu.order.entity.WorkFlowLog;
-import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.service.WorkFlowDetailService;
 import com.huaxu.order.service.WorkFlowLogService;
@@ -28,7 +27,6 @@ import com.huaxu.task.service.PlanManageService;
 import com.huaxu.util.DatesUtil;
 import com.huaxu.util.MessageSendUtil;
 import com.huaxu.util.UserUtil;
-import com.sun.corba.se.spi.orbutil.threadpool.Work;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -431,6 +429,28 @@ public class WorkOrderManageController {
         return new AjaxMessage<>(ResultStatus.ERROR);
     }
 
+    @GetMapping("/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()){
+            Map<String,Object> orderStatusMap = workOrderManageService.selectOrderUserStatus(userEntity.getId().toString());
+            Map<String,Object> map = new HashMap<>();
+            map.put("ID",userEntity.getId());
+            map.put("人员",userEntity.getUsername());
+            map.put("联系电话",userEntity.getPhone());
+            if(orderStatusMap != null) {
+                map.put("任务状态", orderStatusMap.get("status").toString());
+                map.put("地址", orderStatusMap.get("X") + "," + orderStatusMap.get("Y"));
+            }
+            map.put("距离","");
+            result.add(map);
+        }
+        return new AjaxMessage<>(ResultStatus.OK,result);
+    }
+
     @GetMapping("/delProcInst")
     @ApiOperation(value = "终止流程")
     public AjaxMessage deleteProcessInstance(

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

@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
-import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
-import com.huaxu.task.dto.PlanManageDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -40,4 +38,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);
 }

+ 19 - 0
operation_manager/src/main/java/com/huaxu/order/entity/WorkOrderInfo.java

@@ -0,0 +1,19 @@
+package com.huaxu.order.entity;
+
+import com.huaxu.order.dto.WorkOrderManageDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+@ApiModel(value = "工单详情信息")
+@Data
+public class WorkOrderInfo extends WorkOrderManageDto implements Serializable {
+
+//    @ApiModelProperty(value = "工作流详情")
+//    WorkFlowDetail workFlowDetail;
+//
+//    @ApiModelProperty(value = "工作流日志集合")
+//    List<WorkFlowLog> workFlowLogList;
+}

+ 3 - 2
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -5,9 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
-import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
-import com.huaxu.task.entity.PlanManage;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -67,4 +65,7 @@ public interface WorkOrderManageService {
      * 根据orderPid查询
      */
     List<WorkOrderManage> selectByPId(Map<String,Object> map);
+
+
+    Map<String,Object> selectOrderUserStatus(@Param("userId") String userId);
 }

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

@@ -6,7 +6,6 @@ import com.huaxu.model.LoginUser;
 import com.huaxu.order.dao.WorkOrderManageMapper;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
-import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.service.WorkOrderManageService;
 import com.huaxu.util.UserUtil;
@@ -99,6 +98,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
         return workOrderManageMapper.selectByPId(map);
     }
 
+    @Override
+    public Map<String, Object> selectOrderUserStatus(String userId) {
+        return workOrderManageMapper.selectOrderUserStatus(userId);
+    }
+
     @Override
     public int updateByPrimaryKeySelective(WorkOrderManage record) {
         return workOrderManageMapper.updateByPrimaryKeySelective(record);

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

@@ -597,4 +597,21 @@
     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>