|
@@ -3,7 +3,9 @@ package com.huaxu.order.controller;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.huaxu.client.UserCenterClient;
|
|
|
+import com.huaxu.common.ConvertXY;
|
|
|
import com.huaxu.common.FileUploadUtil;
|
|
|
+import com.huaxu.common.MyPoint;
|
|
|
import com.huaxu.entity.Message;
|
|
|
import com.huaxu.model.AjaxMessage;
|
|
|
import com.huaxu.model.LoginUser;
|
|
@@ -207,6 +209,18 @@ public class WorkOrderManageController {
|
|
|
workOrderManage.setEventType(order.getEventType());
|
|
|
workOrderManage.setCompanyOrgId(order.getCompanyOrgId());
|
|
|
workOrderManage.setDepartmentOrgId(order.getDepartmentOrgId());
|
|
|
+ workOrderManage.setTaskDesc(order.getTaskDesc());
|
|
|
+ workOrderManage.setAddress(order.getAddress());
|
|
|
+ workOrderManage.setGeo(order.getGeo());
|
|
|
+ workOrderManage.setContactUser(order.getContactUser());
|
|
|
+ workOrderManage.setContactPhone(order.getContactPhone());
|
|
|
+ workOrderManage.setPictures(order.getPictures());
|
|
|
+ workOrderManage.setVideos(order.getVideos());
|
|
|
+ workOrderManage.setDeviceId(order.getDeviceId());
|
|
|
+ workOrderManage.setDeviceName(order.getDeviceName());
|
|
|
+ workOrderManage.setScenesId(order.getScenesId());
|
|
|
+ workOrderManage.setScenesName(order.getScenesName());
|
|
|
+ workOrderManage.setOrderTime(order.getOrderTime());
|
|
|
workOrderManage.setOrderTypeId(actionId==4?4:2);
|
|
|
workOrderManageService.insertSelective(workOrderManage);
|
|
|
}else if(actionId==6){
|
|
@@ -219,10 +233,9 @@ public class WorkOrderManageController {
|
|
|
return new AjaxMessage<>(ResultStatus.CHILD_ORDER_ING);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
//判断父单完成情况后才可以提交
|
|
|
WorkOrderManage parentOrder=workOrderManageService.selectByPrimaryKey(order.getOrderPid());
|
|
|
- if(order.getOrderTypeId()==2&&parentOrder.getOrderStatus()!=2&&parentOrder.getOrderStatus()!=3) {
|
|
|
+ if(parentOrder!=null&&order.getOrderTypeId()==2&&parentOrder.getOrderStatus()!=2&&parentOrder.getOrderStatus()!=3) {
|
|
|
return new AjaxMessage<>(ResultStatus.PARENT_ORDER_ING);
|
|
|
}
|
|
|
}
|
|
@@ -398,14 +411,15 @@ public class WorkOrderManageController {
|
|
|
@ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
|
|
|
@ApiParam(value = "紧急程度", required = true) @RequestParam(required = true) String urgency,
|
|
|
@ApiParam(value = "时限", required = true) @RequestParam(required = true) String dateLimit,
|
|
|
- @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId){
|
|
|
+ @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId,
|
|
|
+ @ApiParam(value = "父单ID", required = false) @RequestParam(required = false) String orderPid){
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
WorkOrderManage workOrderManage = workOrderManageService.selectByPrimaryKey(id);
|
|
|
if(workOrderManage == null){
|
|
|
- new AjaxMessage(ResultStatus.ERROR,"工单ID错误!");
|
|
|
+ return new AjaxMessage(ResultStatus.ERROR,"工单ID错误!");
|
|
|
}
|
|
|
if(StringUtils.isEmpty(workOrderManage.getCurrentTaskId())){
|
|
|
- new AjaxMessage(ResultStatus.ERROR,"任务ID错误!");
|
|
|
+ return new AjaxMessage(ResultStatus.ERROR,"任务ID错误!");
|
|
|
}
|
|
|
Map<String,Object> args=new HashMap<>();
|
|
|
args.put("assineeFormUserId",orderUserId);
|
|
@@ -420,6 +434,9 @@ public class WorkOrderManageController {
|
|
|
workOrderManage.setUrgency(urgency);//紧急程度
|
|
|
workOrderManage.setOrderUserId(orderUserId);//接单人ID
|
|
|
workOrderManage.setDateLimit(dateLimit);
|
|
|
+ if(workOrderManage.getOrderPid() != null) {
|
|
|
+ workOrderManage.setOrderPid(Integer.parseInt(orderPid));
|
|
|
+ }
|
|
|
if(loginUser.getId() != null) {
|
|
|
workOrderManage.setUpdateBy(String.valueOf(loginUser.getId()));
|
|
|
workOrderManage.setSendBy(String.valueOf(loginUser.getId()));//派单人
|
|
@@ -448,12 +465,13 @@ public class WorkOrderManageController {
|
|
|
@GetMapping("/submit")
|
|
|
@ApiOperation(value = "派单")
|
|
|
public AjaxMessage submitOrder(
|
|
|
- @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
|
|
|
- @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
|
|
|
+ @ApiParam(value = "工单ID", required = true) @RequestParam(required = true) Integer id,
|
|
|
+ @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = true) Integer orderTypeId,
|
|
|
@ApiParam(value = "工单类型名称", required = true) @RequestParam(required = true) String orderType,
|
|
|
@ApiParam(value = "紧急程度", required = true) @RequestParam(required = true) String urgency,
|
|
|
@ApiParam(value = "时限", required = true) @RequestParam(required = true) String dateLimit,
|
|
|
- @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId){
|
|
|
+ @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId,
|
|
|
+ @ApiParam(value = "父单ID", required = false) @RequestParam(required = false) String orderPid){
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
WorkOrderManage workOrderManage = workOrderManageService.selectByPrimaryKey(id);
|
|
|
// ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
|
|
@@ -462,11 +480,11 @@ public class WorkOrderManageController {
|
|
|
// planManage.getTaskType());
|
|
|
//流程查询, 测试参数:(test1 1 1)
|
|
|
ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
|
|
|
- "test1",
|
|
|
- 1,
|
|
|
+ loginUser.getTenantId(),
|
|
|
+ loginUser.getCompanyId(),
|
|
|
1);
|
|
|
if(processDefinition == null){
|
|
|
- new AjaxMessage(ResultStatus.ERROR,"没有创建流程,不能派单!");
|
|
|
+ return new AjaxMessage(ResultStatus.ERROR,"没有创建流程,不能派单!");
|
|
|
}
|
|
|
Map<String,Object> vars = new HashMap<>();
|
|
|
vars.put("assineeFormUserId",orderUserId);
|
|
@@ -489,6 +507,9 @@ public class WorkOrderManageController {
|
|
|
workOrderManage.setUrgency(urgency);//紧急程度
|
|
|
workOrderManage.setOrderUserId(orderUserId);//接单人ID
|
|
|
workOrderManage.setDateLimit(dateLimit);
|
|
|
+ if(workOrderManage.getOrderPid() != null) {
|
|
|
+ workOrderManage.setOrderPid(Integer.parseInt(orderPid));
|
|
|
+ }
|
|
|
if(loginUser.getId() != null) {
|
|
|
workOrderManage.setUpdateBy(String.valueOf(loginUser.getId()));
|
|
|
workOrderManage.setSendBy(String.valueOf(loginUser.getId()));//派单人
|
|
@@ -510,7 +531,9 @@ public class WorkOrderManageController {
|
|
|
@GetMapping("/selectOrderUserByOrgId")
|
|
|
@ApiOperation(value = "查询派单时的用户信息")
|
|
|
public AjaxMessage<Object> selectOrderUserByOrgId(
|
|
|
- @ApiParam(value = "机构ID", required = true) @RequestParam(required = true) String ids){
|
|
|
+ @ApiParam(value = "机构ID", required = true) @RequestParam(required = true) String ids,
|
|
|
+ @ApiParam(value = "wkid", required = false) @RequestParam(required = false) String wkid,
|
|
|
+ @ApiParam(value = "偏移量(x,y)", required = false) @RequestParam(required = false) String moveXY){
|
|
|
List<Map<String,Object>> result = new ArrayList<>();
|
|
|
AjaxMessage<List<UserEntity>> listAjaxMessage = userCenterClient.findUserIdsByOrgId(String.format("[%s]",ids));
|
|
|
for(UserEntity userEntity : listAjaxMessage.getData()){
|
|
@@ -524,10 +547,20 @@ public class WorkOrderManageController {
|
|
|
if (orderStatusMap != null) {
|
|
|
map.put("status", orderStatusMap.get("S").toString());
|
|
|
map.put("address", orderStatusMap.get("X") + "," + orderStatusMap.get("Y"));
|
|
|
+ if(!org.apache.commons.lang3.StringUtils.isEmpty(wkid) && wkid.equals("2360")){
|
|
|
+ MyPoint myPoint= ConvertXY.ConvertXYToXian80(orderStatusMap.get("X").toString(),
|
|
|
+ orderStatusMap.get("Y").toString(),moveXY);
|
|
|
+ map.put("coords",myPoint.getX()+","+myPoint.getY());
|
|
|
+ }else if(!org.apache.commons.lang3.StringUtils.isEmpty(wkid) && wkid.equals("3857")){
|
|
|
+ MyPoint myPoint= ConvertXY.ConvertXYToMercato(orderStatusMap.get("X").toString(),
|
|
|
+ orderStatusMap.get("Y").toString(),moveXY);
|
|
|
+ map.put("coords",myPoint.getX()+","+myPoint.getY());
|
|
|
+ }
|
|
|
}
|
|
|
else {
|
|
|
map.put("status", "");
|
|
|
map.put("address", "");
|
|
|
+ map.put("coords","");
|
|
|
}
|
|
|
map.put("distance", "");
|
|
|
result.add(map);
|