【admin】新增&优化 # 1、新增数据大屏客户总数、设备总数、工单总数、今日工单总数 2、新增大屏客户列表、设备列表、检修员列表 3、新增修改检修员经纬度接口 4、新增切换接单状态接口 5、新增巡检单退单接口 6、优化后台管理巡检单详情接口 7、小程序新增用户地址管理 8、新增数据大屏检修单列表、巡检单列表
parent
8d37c44448
commit
eacfc63a15
|
@ -1,16 +1,32 @@
|
||||||
package com.hcy.admin.controller.largeDataScreen;
|
package com.hcy.admin.controller.largeDataScreen;
|
||||||
|
|
||||||
|
import com.hcy.admin.service.client.IClientService;
|
||||||
|
import com.hcy.admin.service.client.IEquipmentService;
|
||||||
import com.hcy.admin.service.largeDataScreen.ILargeDataScreenService;
|
import com.hcy.admin.service.largeDataScreen.ILargeDataScreenService;
|
||||||
import com.hcy.admin.vo.client.EquipmentLargeDataVo;
|
import com.hcy.admin.service.order.IMaintenanceOrderService;
|
||||||
|
import com.hcy.admin.service.order.IRoutingInspectionOrderService;
|
||||||
|
import com.hcy.admin.validate.common.PageParam;
|
||||||
|
import com.hcy.admin.validate.order.MaintenanceOrderParam;
|
||||||
|
import com.hcy.admin.vo.client.ClientListVo;
|
||||||
|
import com.hcy.admin.vo.client.EquipmentListVo;
|
||||||
|
import com.hcy.admin.vo.largeData.EquipmentLargeDataVo;
|
||||||
|
import com.hcy.admin.vo.largeData.LargeDataVo;
|
||||||
|
import com.hcy.admin.vo.largeData.UserLargeDataVo;
|
||||||
|
import com.hcy.admin.vo.order.MaintenanceOrderListVo;
|
||||||
|
import com.hcy.admin.vo.order.RoutingInspectionOrderListVo;
|
||||||
import com.hcy.common.core.AjaxResult;
|
import com.hcy.common.core.AjaxResult;
|
||||||
|
import com.hcy.common.core.PageResult;
|
||||||
import com.hcy.common.dto.largeDataDto.AdminLargeDataDto;
|
import com.hcy.common.dto.largeDataDto.AdminLargeDataDto;
|
||||||
import com.hcy.common.dto.largeDataDto.ClientLargeDataDto;
|
import com.hcy.common.dto.largeDataDto.ClientLargeDataDto;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据大屏
|
* 数据大屏
|
||||||
|
@ -21,6 +37,18 @@ public class LargeDataScreenController {
|
||||||
@Resource
|
@Resource
|
||||||
ILargeDataScreenService iLargeDataScreenService;
|
ILargeDataScreenService iLargeDataScreenService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IClientService iClientService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IEquipmentService iEquipmentService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IRoutingInspectionOrderService iRoutingInspectionOrderService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IMaintenanceOrderService iMaintenanceOrderService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有设备对应状态的数量
|
* 获取所有设备对应状态的数量
|
||||||
*
|
*
|
||||||
|
@ -69,5 +97,93 @@ public class LargeDataScreenController {
|
||||||
return AjaxResult.success(adminLargeDataDto);
|
return AjaxResult.success(adminLargeDataDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取客户总数、设备总数、工单总数、今日工单总数
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/allNumber")
|
||||||
|
public Object allNumber() {
|
||||||
|
LargeDataVo largeDataVo = iLargeDataScreenService.allNumber();
|
||||||
|
return AjaxResult.success(largeDataVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户列表
|
||||||
|
*
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param params 搜索参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/clientList")
|
||||||
|
public Object list(@Validated PageParam pageParam,
|
||||||
|
@RequestParam Map<String, String> params) {
|
||||||
|
PageResult<ClientListVo> list = iClientService.list(pageParam, params);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备列表
|
||||||
|
*
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param params 搜索参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/equipmentList")
|
||||||
|
public Object equipmentList(@Validated PageParam pageParam,
|
||||||
|
@RequestParam Map<String, String> params) {
|
||||||
|
PageResult<EquipmentListVo> list = iEquipmentService.list(pageParam, params);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取检修员列表
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/reconditionList")
|
||||||
|
public Object reconditionList() {
|
||||||
|
List<UserLargeDataVo> list = iLargeDataScreenService.reconditionList();
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检订单列表
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param params 搜索参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/routingInspectionOrderList")
|
||||||
|
public Object routingInspectionOrderList(@Validated PageParam pageParam,
|
||||||
|
@RequestParam Map<String, String> params) {
|
||||||
|
PageResult<RoutingInspectionOrderListVo> list = iRoutingInspectionOrderService.list(pageParam, params);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检修订单列表
|
||||||
|
*
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param maintenanceOrderParam 搜索参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/maintenanceOrderList")
|
||||||
|
public Object maintenanceOrderList(@Validated PageParam pageParam, MaintenanceOrderParam maintenanceOrderParam) {
|
||||||
|
PageResult<MaintenanceOrderListVo> list = iMaintenanceOrderService.list(pageParam, maintenanceOrderParam);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检订单统计
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/routingInspectionOrderStats")
|
||||||
|
public Object routingInspectionOrdeStatsr(int orderStastic) {
|
||||||
|
LargeDataVo largeDataVo = iLargeDataScreenService.routingInspectionOrdeStatsr(orderStastic);
|
||||||
|
return AjaxResult.success(largeDataVo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,8 +14,10 @@ import com.hcy.admin.vo.client.ClientDetailVo;
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
import com.hcy.common.core.PageResult;
|
import com.hcy.common.core.PageResult;
|
||||||
import com.hcy.common.entity.client.Client;
|
import com.hcy.common.entity.client.Client;
|
||||||
|
import com.hcy.common.entity.client.Equipment;
|
||||||
import com.hcy.common.exception.OperateException;
|
import com.hcy.common.exception.OperateException;
|
||||||
import com.hcy.common.mapper.client.ClientMapper;
|
import com.hcy.common.mapper.client.ClientMapper;
|
||||||
|
import com.hcy.common.mapper.client.EquipmentMapper;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -36,6 +38,9 @@ public class ClientServiceImpl implements IClientService {
|
||||||
@Resource
|
@Resource
|
||||||
private IDevRegionService regionService;
|
private IDevRegionService regionService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
EquipmentMapper equipmentMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户列表
|
* 客户列表
|
||||||
*
|
*
|
||||||
|
@ -48,10 +53,12 @@ public class ClientServiceImpl implements IClientService {
|
||||||
Integer page = pageParam.getPageNo();
|
Integer page = pageParam.getPageNo();
|
||||||
Integer limit = pageParam.getPageSize();
|
Integer limit = pageParam.getPageSize();
|
||||||
|
|
||||||
|
String clientId = params.get("id");
|
||||||
String clientNo = params.get("clientNo");
|
String clientNo = params.get("clientNo");
|
||||||
String clientName = params.get("clientName");
|
String clientName = params.get("clientName");
|
||||||
|
|
||||||
QueryWrapper<Client> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<Client> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq(StringUtils.isNotEmpty(clientId),"id", clientId);
|
||||||
queryWrapper.eq("is_delete", 0);
|
queryWrapper.eq("is_delete", 0);
|
||||||
queryWrapper.like(StringUtils.isNotEmpty(clientNo),"client_no",clientNo);
|
queryWrapper.like(StringUtils.isNotEmpty(clientNo),"client_no",clientNo);
|
||||||
queryWrapper.like(StringUtils.isNotEmpty(clientName),"client_name",clientName);
|
queryWrapper.like(StringUtils.isNotEmpty(clientName),"client_name",clientName);
|
||||||
|
@ -84,6 +91,12 @@ public class ClientServiceImpl implements IClientService {
|
||||||
vo.setProvince(regionMap.get(vo.getProvinceId()));
|
vo.setProvince(regionMap.get(vo.getProvinceId()));
|
||||||
vo.setCity(regionMap.get(vo.getCityId()));
|
vo.setCity(regionMap.get(vo.getCityId()));
|
||||||
vo.setDistrict(regionMap.get(vo.getDistrictId()));
|
vo.setDistrict(regionMap.get(vo.getDistrictId()));
|
||||||
|
//获取客户所有设备
|
||||||
|
List<Equipment> equipment = equipmentMapper.selectList(
|
||||||
|
new QueryWrapper<Equipment>()
|
||||||
|
.eq("client_id", item.getId())
|
||||||
|
.eq("is_delete", GlobalConstant.NOT_DELETE));
|
||||||
|
vo.setEquipmentList(equipment);
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.hcy.admin.service.largeDataScreen;
|
package com.hcy.admin.service.largeDataScreen;
|
||||||
|
|
||||||
import com.hcy.admin.vo.client.EquipmentLargeDataVo;
|
import com.hcy.admin.vo.largeData.EquipmentLargeDataVo;
|
||||||
|
import com.hcy.admin.vo.largeData.LargeDataVo;
|
||||||
|
import com.hcy.admin.vo.largeData.UserLargeDataVo;
|
||||||
import com.hcy.common.dto.largeDataDto.AdminLargeDataDto;
|
import com.hcy.common.dto.largeDataDto.AdminLargeDataDto;
|
||||||
import com.hcy.common.dto.largeDataDto.ClientLargeDataDto;
|
import com.hcy.common.dto.largeDataDto.ClientLargeDataDto;
|
||||||
|
|
||||||
|
@ -35,4 +37,23 @@ public interface ILargeDataScreenService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AdminLargeDataDto personnelStatistics();
|
AdminLargeDataDto personnelStatistics();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取客户总数、设备总数、工单总数、今日工单总数
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
LargeDataVo allNumber();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取检修员列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<UserLargeDataVo> reconditionList();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检订单统计
|
||||||
|
* @param orderStastic
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
LargeDataVo routingInspectionOrdeStatsr(int orderStastic);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,19 +2,34 @@ package com.hcy.admin.service.largeDataScreen.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.hcy.admin.service.largeDataScreen.ILargeDataScreenService;
|
import com.hcy.admin.service.largeDataScreen.ILargeDataScreenService;
|
||||||
import com.hcy.admin.vo.client.EquipmentLargeDataVo;
|
import com.hcy.admin.vo.client.EquipmentListVo;
|
||||||
|
import com.hcy.admin.vo.largeData.EquipmentLargeDataVo;
|
||||||
|
import com.hcy.admin.vo.largeData.LargeDataVo;
|
||||||
|
import com.hcy.admin.vo.largeData.UserLargeDataVo;
|
||||||
import com.hcy.common.dto.largeDataDto.AdminLargeDataDto;
|
import com.hcy.common.dto.largeDataDto.AdminLargeDataDto;
|
||||||
import com.hcy.common.dto.largeDataDto.ClientLargeDataDto;
|
import com.hcy.common.dto.largeDataDto.ClientLargeDataDto;
|
||||||
|
import com.hcy.common.dto.result.UserLargeDataDto;
|
||||||
|
import com.hcy.common.entity.client.Client;
|
||||||
import com.hcy.common.entity.client.Equipment;
|
import com.hcy.common.entity.client.Equipment;
|
||||||
|
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||||
|
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||||
import com.hcy.common.enums.equipment.EquipmentStateEnum;
|
import com.hcy.common.enums.equipment.EquipmentStateEnum;
|
||||||
import com.hcy.common.mapper.client.ClientMapper;
|
import com.hcy.common.mapper.client.ClientMapper;
|
||||||
import com.hcy.common.mapper.client.EquipmentMapper;
|
import com.hcy.common.mapper.client.EquipmentMapper;
|
||||||
|
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||||
|
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
|
import com.hcy.common.utils.TimeUtil;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -32,6 +47,16 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService {
|
||||||
@Resource
|
@Resource
|
||||||
SystemAuthAdminMapper systemAuthAdminMapper;
|
SystemAuthAdminMapper systemAuthAdminMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RoutingInspectionOrderMapper routingInspectionOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
MaintenanceOrderMapper maintenanceOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
UserMapper userMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有设备对应状态的数量
|
* 获取所有设备对应状态的数量
|
||||||
*
|
*
|
||||||
|
@ -106,5 +131,97 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService {
|
||||||
return systemAuthAdminMapper.personnelStatistics();
|
return systemAuthAdminMapper.personnelStatistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取客户总数、设备总数、工单总数、今日工单总数
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LargeDataVo allNumber() {
|
||||||
|
LargeDataVo vo = new LargeDataVo();
|
||||||
|
//客户总数
|
||||||
|
Integer clientCount = clientMapper.selectCount(
|
||||||
|
new QueryWrapper<Client>()
|
||||||
|
.eq("is_delete", 0));
|
||||||
|
//设备总数
|
||||||
|
Integer equipmentCount = equipmentMapper.selectCount(
|
||||||
|
new QueryWrapper<Equipment>()
|
||||||
|
.eq("is_delete", 0));
|
||||||
|
//工单总数=检修单总数+维修单总数+巡检单总数
|
||||||
|
//巡检单总数
|
||||||
|
Integer routingInspectionOrderCount = routingInspectionOrderMapper.selectCount(
|
||||||
|
new QueryWrapper<RoutingInspectionOrder>()
|
||||||
|
.eq("is_delete", 0));
|
||||||
|
//检修单总数
|
||||||
|
Integer maintenanceOrderCount = maintenanceOrderMapper.selectCount(
|
||||||
|
new QueryWrapper<MaintenanceOrder>()
|
||||||
|
.eq("is_delete", 0));
|
||||||
|
|
||||||
|
//今日工单总数=今日检修单总数+今日维修单总数+今日巡检单总数
|
||||||
|
LocalDateTime startTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN);
|
||||||
|
LocalDateTime endTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MAX);
|
||||||
|
//今日检修单总数
|
||||||
|
Integer todayRoutingInspectionOrderCount = routingInspectionOrderMapper.selectCount(
|
||||||
|
new QueryWrapper<RoutingInspectionOrder>()
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.ge("create_time", Timestamp.valueOf(startTime)) // 开始时间
|
||||||
|
.le("create_time", Timestamp.valueOf(endTime))); // 结束时间
|
||||||
|
//今日检修单总数
|
||||||
|
Integer todayMaintenanceOrderCount = maintenanceOrderMapper.selectCount(
|
||||||
|
new QueryWrapper<MaintenanceOrder>()
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.ge("create_time", Timestamp.valueOf(startTime)) // 开始时间
|
||||||
|
.le("create_time", Timestamp.valueOf(endTime))); // 结束时间
|
||||||
|
vo.setClientSum(clientCount);
|
||||||
|
vo.setEquipmentSum(equipmentCount);
|
||||||
|
vo.setOrderSum(routingInspectionOrderCount + maintenanceOrderCount);
|
||||||
|
vo.setTodayOrderSum(todayRoutingInspectionOrderCount + todayMaintenanceOrderCount);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取检修员列表
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<UserLargeDataVo> reconditionList() {
|
||||||
|
List<UserLargeDataDto> userLargeDataDtos = userMapper.reconditionList();
|
||||||
|
List<UserLargeDataVo> list = new ArrayList<>();
|
||||||
|
for (UserLargeDataDto userLargeDataDto : userLargeDataDtos) {
|
||||||
|
UserLargeDataVo vo = new UserLargeDataVo();
|
||||||
|
BeanUtils.copyProperties(userLargeDataDto, vo);
|
||||||
|
list.add(vo);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检订单统计
|
||||||
|
*
|
||||||
|
* @param orderStastic
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LargeDataVo routingInspectionOrdeStatsr(int orderStastic) {
|
||||||
|
//orderStastic 工单统计 0=日 1=月 2=年
|
||||||
|
//今日
|
||||||
|
LocalDateTime startTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN);
|
||||||
|
LocalDateTime endTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MAX);
|
||||||
|
//当月
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
LocalDateTime monthStartTime = now.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0);
|
||||||
|
LocalDateTime monthEndTime = now.withHour(23).withMinute(59).withSecond(59);
|
||||||
|
|
||||||
|
//获取巡检订单总数
|
||||||
|
Integer routingInspectionOrderCount = routingInspectionOrderMapper.selectCount(
|
||||||
|
new QueryWrapper<RoutingInspectionOrder>()
|
||||||
|
.eq("is_delete", 0));
|
||||||
|
//获取已完成订单总数
|
||||||
|
//获取检修中订单总数
|
||||||
|
//获取保修中订单总数
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.hcy.admin.AdminThreadLocal;
|
import com.hcy.admin.AdminThreadLocal;
|
||||||
import com.hcy.admin.service.order.IRoutingInspectionOrderService;
|
import com.hcy.admin.service.order.IRoutingInspectionOrderService;
|
||||||
|
import com.hcy.admin.service.region.IDevRegionService;
|
||||||
import com.hcy.admin.validate.common.PageParam;
|
import com.hcy.admin.validate.common.PageParam;
|
||||||
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
||||||
|
import com.hcy.admin.vo.client.EquipmentListVo;
|
||||||
import com.hcy.admin.vo.order.RoutingInspectionOrderListVo;
|
import com.hcy.admin.vo.order.RoutingInspectionOrderListVo;
|
||||||
import com.hcy.admin.vo.order.RoutingInspectionOrderDetailVo;
|
import com.hcy.admin.vo.order.RoutingInspectionOrderDetailVo;
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
|
@ -14,12 +16,15 @@ import com.hcy.common.core.PageResult;
|
||||||
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
||||||
import com.hcy.common.entity.client.Client;
|
import com.hcy.common.entity.client.Client;
|
||||||
import com.hcy.common.entity.client.Equipment;
|
import com.hcy.common.entity.client.Equipment;
|
||||||
|
import com.hcy.common.entity.fault.Fault;
|
||||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||||
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||||
|
import com.hcy.common.entity.user.User;
|
||||||
import com.hcy.common.enums.order.OrderStateEnum;
|
import com.hcy.common.enums.order.OrderStateEnum;
|
||||||
import com.hcy.common.mapper.client.ClientMapper;
|
import com.hcy.common.mapper.client.ClientMapper;
|
||||||
import com.hcy.common.mapper.client.EquipmentMapper;
|
import com.hcy.common.mapper.client.EquipmentMapper;
|
||||||
|
import com.hcy.common.mapper.fault.FaultMapper;
|
||||||
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.hcy.common.mapper.user.UserMapper;
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
|
@ -53,6 +58,12 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
@Resource
|
@Resource
|
||||||
UserMapper userMapper;
|
UserMapper userMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
FaultMapper faultMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDevRegionService regionService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 巡检订单列表
|
* 巡检订单列表
|
||||||
*
|
*
|
||||||
|
@ -80,14 +91,10 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
|
|
||||||
Page<RoutingInspectionOrderDto> iPage = routingInspectionOrderMapper.pageList(page, inspectionOrderDto);
|
Page<RoutingInspectionOrderDto> iPage = routingInspectionOrderMapper.pageList(page, inspectionOrderDto);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<RoutingInspectionOrderListVo> list = new LinkedList<>();
|
List<RoutingInspectionOrderListVo> list = new LinkedList<>();
|
||||||
for(RoutingInspectionOrderDto item : iPage.getRecords()) {
|
for(RoutingInspectionOrderDto item : iPage.getRecords()) {
|
||||||
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();
|
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();
|
||||||
BeanUtils.copyProperties(item, vo);
|
BeanUtils.copyProperties(item, vo);
|
||||||
vo.setCreateTime(String.valueOf(item.getCreateTime()));
|
|
||||||
|
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,23 +126,42 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
.eq("id", model.getClientId())
|
.eq("id", model.getClientId())
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
vo.setClientName(client.getClientName());
|
vo.setClientName(client.getClientName());
|
||||||
//设备编号、名称、地址
|
//设备信息
|
||||||
|
Map<Long, String> regionMap = regionService.getRegionMap();
|
||||||
Equipment equipment = equipmentMapper.selectOne(
|
Equipment equipment = equipmentMapper.selectOne(
|
||||||
new QueryWrapper<Equipment>()
|
new QueryWrapper<Equipment>()
|
||||||
.eq("id", model.getEquipmentId())
|
.eq("id", model.getEquipmentId())
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
vo.setEquipmentNo(equipment.getNumber());
|
EquipmentListVo equipmentListVo = new EquipmentListVo();
|
||||||
vo.setEquipmentName(equipment.getName());
|
equipmentListVo.setProvince(regionMap.get(equipment.getProvinceId()));
|
||||||
vo.setDetailedAddress(equipment.getDetailedAddress());
|
equipmentListVo.setCity(regionMap.get(equipment.getCityId()));
|
||||||
|
equipmentListVo.setDistrict(regionMap.get(equipment.getDistrictId()));
|
||||||
|
BeanUtils.copyProperties(equipment, equipmentListVo);
|
||||||
|
vo.setEquipment(equipmentListVo); //设备信息
|
||||||
//接单人
|
//接单人
|
||||||
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
User user = userMapper.selectOne(
|
||||||
new QueryWrapper<SystemAuthAdmin>()
|
new QueryWrapper<User>()
|
||||||
.eq("id", model.getReceiverId())
|
.eq("id", model.getReceiverId())
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
if(authAdmin != null){
|
if(user != null){
|
||||||
vo.setReceiverName(authAdmin.getUsername());
|
vo.setReceiverName(user.getUsername());
|
||||||
|
}
|
||||||
|
//故障类别
|
||||||
|
Fault fault = faultMapper.selectOne(
|
||||||
|
new QueryWrapper<Fault>()
|
||||||
|
.eq("id", model.getFaultId())
|
||||||
|
.last("limit 1"));
|
||||||
|
if(fault != null){
|
||||||
|
vo.setFaultName(fault.getName());
|
||||||
|
}
|
||||||
|
//创建人名称
|
||||||
|
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||||
|
new QueryWrapper<SystemAuthAdmin>()
|
||||||
|
.eq("id", model.getCreatorId())
|
||||||
|
.last("limit 1"));
|
||||||
|
if(authAdmin != null){
|
||||||
|
vo.setCreatorName(authAdmin.getUsername());
|
||||||
}
|
}
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,6 +305,10 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
|
|
||||||
Assert.notNull(model, "数据不存在!");
|
Assert.notNull(model, "数据不存在!");
|
||||||
model.setReceiverId(routingInspectionOrderParam.getReceiverId());
|
model.setReceiverId(routingInspectionOrderParam.getReceiverId());
|
||||||
|
//如果是退单状态,重新派工后状态改为待接单
|
||||||
|
if(model.getOrderStatus() == OrderStateEnum.RETURNED_ORDER.getStatus()){
|
||||||
|
model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());
|
||||||
|
}
|
||||||
routingInspectionOrderMapper.updateById(model);
|
routingInspectionOrderMapper.updateById(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
package com.hcy.admin.vo.client;
|
package com.hcy.admin.vo.client;
|
||||||
|
|
||||||
import com.hcy.admin.validate.client.ClientParam;
|
import com.hcy.admin.validate.client.ClientParam;
|
||||||
|
import com.hcy.common.entity.client.Equipment;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClientVo
|
* ClientVo
|
||||||
|
@ -39,5 +41,5 @@ public class ClientListVo implements Serializable {
|
||||||
private Long creatorId; // 创建人id
|
private Long creatorId; // 创建人id
|
||||||
private Date createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
private Date updateTime; // 更新时间
|
private Date updateTime; // 更新时间
|
||||||
|
private List<Equipment> equipmentList; //设备列表
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,9 @@ public class EquipmentListVo implements Serializable {
|
||||||
private Long provinceId; // 省id
|
private Long provinceId; // 省id
|
||||||
private Long districtId; // 区id
|
private Long districtId; // 区id
|
||||||
private Long cityId; // 市id
|
private Long cityId; // 市id
|
||||||
|
private String province; //省
|
||||||
|
private String city; //市
|
||||||
|
private String district; //区
|
||||||
private String detailedAddress; // 详细地址
|
private String detailedAddress; // 详细地址
|
||||||
private Integer inspectionCycle; // 巡检周期方式(0=天数间隔,1=固定日期)
|
private Integer inspectionCycle; // 巡检周期方式(0=天数间隔,1=固定日期)
|
||||||
private Integer dailyAudit; // 每隔几天巡检
|
private Integer dailyAudit; // 每隔几天巡检
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.hcy.admin.vo.client;
|
package com.hcy.admin.vo.largeData;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.hcy.admin.vo.largeData;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据大屏LargeDataVo
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class LargeDataVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Integer clientSum; //客户总数
|
||||||
|
private Integer equipmentSum; //设备总数
|
||||||
|
private Integer orderSum; //工单总数
|
||||||
|
private Integer todayOrderSum; //今日工单总数
|
||||||
|
|
||||||
|
private Integer doneOrderSum; //已完成订单数
|
||||||
|
private Integer underOverhaulOrderSum; //检修中订单数
|
||||||
|
private Integer underWarrantyOrderSum; //保修中订单数
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.hcy.admin.vo.largeData;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户Vo
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UserLargeDataVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Integer id; // 主键
|
||||||
|
private Integer sn; // 编号
|
||||||
|
private String avatar; // 用户头像
|
||||||
|
private String realName; // 真实姓名
|
||||||
|
private String nickname; // 用户昵称
|
||||||
|
private String username; // 用户账号
|
||||||
|
private String password; // 用户密码
|
||||||
|
private String mobile; // 用户电话
|
||||||
|
private Integer channel; // 注册渠道
|
||||||
|
private Integer type; // 用户类型:[0=用户端,1=师傅端]
|
||||||
|
private String salt; // 加密盐巴
|
||||||
|
private BigDecimal money; // 用户余额
|
||||||
|
private Integer sex; // 用户性别: [1=男, 2=女]
|
||||||
|
private Integer isDisable; // 是否禁用: [0=否, 1=是]
|
||||||
|
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||||
|
private Integer isNew; // 是否新用户: [0=否, 1=是]
|
||||||
|
private String lastLoginIp; // 最后登录IP
|
||||||
|
private Long lastLoginTime; // 最后登录时间
|
||||||
|
private Long createTime; // 创建时间
|
||||||
|
private Long updateTime; // 更新时间
|
||||||
|
private Long deleteTime; // 删除时间
|
||||||
|
private Long distributorId; // 绑定的分销人员Id
|
||||||
|
private Long bindTime; // 绑定的时间
|
||||||
|
private Integer receiveOrderStatus; //接单状态(0=休假/停止接单中 1=作业中 2=可接单)
|
||||||
|
private String longitude; // 经度
|
||||||
|
private String latitude; // 纬度
|
||||||
|
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
package com.hcy.admin.vo.order;
|
package com.hcy.admin.vo.order;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
||||||
|
import com.hcy.admin.vo.client.EquipmentListVo;
|
||||||
|
import com.hcy.common.entity.client.Equipment;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
@ -24,17 +28,29 @@ public class RoutingInspectionOrderDetailVo implements Serializable {
|
||||||
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
||||||
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
||||||
private Long clientId; // 客户id
|
private Long clientId; // 客户id
|
||||||
private Long equipmentId; // 设备id
|
|
||||||
private Long receiverId; // 接单人id
|
private Long receiverId; // 接单人id
|
||||||
private Date receiverTime; // 接单时间
|
private Date receiverTime; // 接单时间
|
||||||
private String remark; // 备注
|
private String remark; // 备注
|
||||||
private Integer creatorId; // 创建人id
|
private Integer creatorId; // 创建人id
|
||||||
|
private String creatorName; // 创建人名称
|
||||||
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||||
private BigDecimal orderDistance; // 订单距离
|
private BigDecimal orderDistance; // 订单距离
|
||||||
private String clientName; // 客户名称
|
private String clientName; // 客户名称
|
||||||
private String equipmentNo; //设备编号
|
private Long equipmentId; // 设备id
|
||||||
private String equipmentName; //设备名称
|
private EquipmentListVo equipment; //设备信息
|
||||||
private String detailedAddress; // 设备详细地址
|
|
||||||
private String receiverName; // 接单人名称
|
private String receiverName; // 接单人名称
|
||||||
|
private Date createTime; // 创建时间
|
||||||
|
private Long userId; // 用户id
|
||||||
|
private Long faultId; // 故障id
|
||||||
|
private String faultName; // 故障名称
|
||||||
|
private String faultDescription; // 故障描述
|
||||||
|
private Long repairId; // 返修id
|
||||||
|
private Date cancelOrderTime; // 取消订单时间
|
||||||
|
private String cancelCause; // 取消原因
|
||||||
|
private Date orderAccomplishTime; // 订单完成时间
|
||||||
|
private Date updateTime; // 更新时间
|
||||||
|
private Long maintenanceId; //检修单id
|
||||||
|
private Integer inspectionResult; //巡检结果(0=正常 1=异常)
|
||||||
|
private String inspectionPhoto; //巡检照片
|
||||||
|
private String inspectionResultRemark; //巡检结果备注
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class RoutingInspectionOrderListVo implements Serializable {
|
||||||
private String detailedAddress; // 设备详细地址
|
private String detailedAddress; // 设备详细地址
|
||||||
private Long creatorId; // 创建人id
|
private Long creatorId; // 创建人id
|
||||||
private String creatorName; //创建人名称
|
private String creatorName; //创建人名称
|
||||||
private String createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
private Long faultId; // 故障id
|
private Long faultId; // 故障id
|
||||||
private String familiarFaultName; //故障类型
|
private String familiarFaultName; //故障类型
|
||||||
private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class RoutingInspectionOrderDto implements Serializable {
|
||||||
private String detailedAddress; // 设备详细地址
|
private String detailedAddress; // 设备详细地址
|
||||||
private Long creatorId; // 创建人id
|
private Long creatorId; // 创建人id
|
||||||
private String creatorName; //创建人名称
|
private String creatorName; //创建人名称
|
||||||
private String createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
private Long faultId; // 故障id
|
private Long faultId; // 故障id
|
||||||
private String familiarFaultName; //故障类型
|
private String familiarFaultName; //故障类型
|
||||||
private String faultDescription; // 故障描述
|
private String faultDescription; // 故障描述
|
||||||
|
@ -38,4 +38,6 @@ public class RoutingInspectionOrderDto implements Serializable {
|
||||||
private double latitude; //纬度
|
private double latitude; //纬度
|
||||||
private BigDecimal orderDistance; // 订单距离
|
private BigDecimal orderDistance; // 订单距离
|
||||||
private Integer queryType; // 查询类型 0-离我最近 1-时间优先
|
private Integer queryType; // 查询类型 0-离我最近 1-时间优先
|
||||||
|
private Date cancelOrderTime; // 取消订单时间
|
||||||
|
private String cancelCause; // 取消原因
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.hcy.common.dto.result;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户Vo
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UserLargeDataDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Integer id; // 主键
|
||||||
|
private Integer sn; // 编号
|
||||||
|
private String avatar; // 用户头像
|
||||||
|
private String realName; // 真实姓名
|
||||||
|
private String nickname; // 用户昵称
|
||||||
|
private String username; // 用户账号
|
||||||
|
private String password; // 用户密码
|
||||||
|
private String mobile; // 用户电话
|
||||||
|
private Integer channel; // 注册渠道
|
||||||
|
private Integer type; // 用户类型:[0=用户端,1=师傅端]
|
||||||
|
private String salt; // 加密盐巴
|
||||||
|
private BigDecimal money; // 用户余额
|
||||||
|
private Integer sex; // 用户性别: [1=男, 2=女]
|
||||||
|
private Integer isDisable; // 是否禁用: [0=否, 1=是]
|
||||||
|
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||||
|
private Integer isNew; // 是否新用户: [0=否, 1=是]
|
||||||
|
private String lastLoginIp; // 最后登录IP
|
||||||
|
private Long lastLoginTime; // 最后登录时间
|
||||||
|
private Long createTime; // 创建时间
|
||||||
|
private Long updateTime; // 更新时间
|
||||||
|
private Long deleteTime; // 删除时间
|
||||||
|
private Long distributorId; // 绑定的分销人员Id
|
||||||
|
private Long bindTime; // 绑定的时间
|
||||||
|
private Integer receiveOrderStatus; //接单状态(0=休假/停止接单中 1=作业中 2=可接单)
|
||||||
|
private String longitude; // 经度
|
||||||
|
private String latitude; // 纬度
|
||||||
|
|
||||||
|
}
|
|
@ -41,5 +41,7 @@ public class User implements Serializable {
|
||||||
private Long distributorId; // 绑定的分销人员Id
|
private Long distributorId; // 绑定的分销人员Id
|
||||||
private Long bindTime; // 绑定的时间
|
private Long bindTime; // 绑定的时间
|
||||||
private Integer integral; // 积分
|
private Integer integral; // 积分
|
||||||
|
private Integer receiveOrderStatus; //接单状态(0=休假/停止接单中 1=作业中 2=可接单)
|
||||||
|
private String longitude; // 经度
|
||||||
|
private String latitude; // 纬度
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ public enum EquipmentStateEnum {
|
||||||
// 设备状态(0=停用,1=正常,2=保修中,3=检修中)
|
// 设备状态(0=停用,1=正常,2=保修中,3=检修中)
|
||||||
STOPWORD(0,"停用"),
|
STOPWORD(0,"停用"),
|
||||||
NORMAL(1, "正常"),
|
NORMAL(1, "正常"),
|
||||||
UNDERWARRANTY(2,"保修中"),
|
UNDERWARRANTY(2,"报修中"),
|
||||||
UNDEROVERHAUL(3, "检修中"),
|
UNDEROVERHAUL(3, "检修中"),
|
||||||
// 巡检周期方式(0=天数间隔,1=固定日期)
|
// 巡检周期方式(0=天数间隔,1=固定日期)
|
||||||
DAYINTERVAL(0,"天数间隔"),
|
DAYINTERVAL(0,"天数间隔"),
|
||||||
|
|
|
@ -10,9 +10,13 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public enum OrderStateEnum {
|
public enum OrderStateEnum {
|
||||||
//订单来源 1-系统创建;4-客服创建
|
// 订单来源 0-客户上报;1-系统创建;2-维修员创建;3-检修员创建;4-客服创建;5-维修主管创建
|
||||||
|
CUSTOMER_REPORT(0,"客户上报"),
|
||||||
SYSTEM_CREATION(1,"系统创建"),
|
SYSTEM_CREATION(1,"系统创建"),
|
||||||
|
MAINTENANCE_MAN(2,"维修员创建"),
|
||||||
|
MAINTENANCE_MAN_CREATION(3,"检修员创建"),
|
||||||
CUSTOMER_SERVICE_CREATION(4,"客服创建"),
|
CUSTOMER_SERVICE_CREATION(4,"客服创建"),
|
||||||
|
MAINTENANCE_SUPERVISOR_CREATION(5,"维修主管创建"),
|
||||||
|
|
||||||
//订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
//订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
||||||
WAITING_LIST(0,"待抢单"),
|
WAITING_LIST(0,"待抢单"),
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hcy.common.mapper.user;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.hcy.common.core.basics.IBaseMapper;
|
import com.hcy.common.core.basics.IBaseMapper;
|
||||||
import com.hcy.common.dto.UserDto;
|
import com.hcy.common.dto.UserDto;
|
||||||
|
import com.hcy.common.dto.result.UserLargeDataDto;
|
||||||
import com.hcy.common.dto.result.UserResultDto;
|
import com.hcy.common.dto.result.UserResultDto;
|
||||||
import com.hcy.common.entity.user.User;
|
import com.hcy.common.entity.user.User;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
@ -36,4 +37,10 @@ public interface UserMapper extends IBaseMapper<User> {
|
||||||
*/
|
*/
|
||||||
@Select("select * from la_user where mobile = #{phone}")
|
@Select("select * from la_user where mobile = #{phone}")
|
||||||
User getUserByPhone(@Param("phone") String phone);
|
User getUserByPhone(@Param("phone") String phone);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取检修员列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<UserLargeDataDto> reconditionList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,15 +64,15 @@
|
||||||
LEFT JOIN la_user as u on i.receiver_id = u.id
|
LEFT JOIN la_user as u on i.receiver_id = u.id
|
||||||
WHERE
|
WHERE
|
||||||
i.is_delete = 0
|
i.is_delete = 0
|
||||||
and i.receiver_id = #{form.receiverId}
|
and i.receiver_id = #{form.receiverId}
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
<if test="form.likeWork != null and form.likeWork != ''">
|
||||||
and i.order_no like concat('%', #{form.likeWork}, '%')
|
and (i.order_no like concat('%', #{form.likeWork}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
<if test="form.likeWork != null and form.likeWork != ''">
|
||||||
OR c.client_name LIKE concat('%', #{form.likeWork}, '%')
|
OR c.client_name LIKE concat('%', #{form.likeWork}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
<if test="form.likeWork != null and form.likeWork != ''">
|
||||||
OR e.number LIKE concat('%', #{form.likeWork}, '%')
|
OR e.number LIKE concat('%', #{form.likeWork}, '%'))
|
||||||
</if>
|
</if>
|
||||||
<if test="form.orderStatus != null">
|
<if test="form.orderStatus != null">
|
||||||
and i.order_status = #{form.orderStatus}
|
and i.order_status = #{form.orderStatus}
|
||||||
|
@ -104,16 +104,6 @@
|
||||||
LEFT JOIN la_user as u on i.receiver_id = u.id
|
LEFT JOIN la_user as u on i.receiver_id = u.id
|
||||||
WHERE
|
WHERE
|
||||||
i.is_delete = 0
|
i.is_delete = 0
|
||||||
and i.receiver_id = #{form.receiverId}
|
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
|
||||||
and i.order_no like concat('%', #{form.likeWork}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
|
||||||
OR c.client_name LIKE concat('%', #{form.likeWork}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
|
||||||
OR e.number LIKE concat('%', #{form.likeWork}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="form.orderStatus != null">
|
<if test="form.orderStatus != null">
|
||||||
and i.order_status = #{form.orderStatus}
|
and i.order_status = #{form.orderStatus}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -91,4 +91,19 @@
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="reconditionList" resultType="com.hcy.common.dto.result.UserLargeDataDto">
|
||||||
|
SELECT
|
||||||
|
u.*
|
||||||
|
FROM
|
||||||
|
la_user AS u
|
||||||
|
JOIN la_system_auth_admin AS aa ON aa.user_id = u.id
|
||||||
|
JOIN la_system_auth_role AS ar ON aa.role = ar.id
|
||||||
|
WHERE
|
||||||
|
aa.is_delete = 0
|
||||||
|
AND u.is_delete = 0
|
||||||
|
AND aa.role = 6
|
||||||
|
and u.longitude is not null
|
||||||
|
and u.latitude is not null
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -64,15 +64,15 @@
|
||||||
LEFT JOIN la_user as u on i.receiver_id = u.id
|
LEFT JOIN la_user as u on i.receiver_id = u.id
|
||||||
WHERE
|
WHERE
|
||||||
i.is_delete = 0
|
i.is_delete = 0
|
||||||
and i.receiver_id = #{form.receiverId}
|
and i.receiver_id = #{form.receiverId}
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
<if test="form.likeWork != null and form.likeWork != ''">
|
||||||
and i.order_no like concat('%', #{form.likeWork}, '%')
|
and (i.order_no like concat('%', #{form.likeWork}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
<if test="form.likeWork != null and form.likeWork != ''">
|
||||||
OR c.client_name LIKE concat('%', #{form.likeWork}, '%')
|
OR c.client_name LIKE concat('%', #{form.likeWork}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
<if test="form.likeWork != null and form.likeWork != ''">
|
||||||
OR e.number LIKE concat('%', #{form.likeWork}, '%')
|
OR e.number LIKE concat('%', #{form.likeWork}, '%'))
|
||||||
</if>
|
</if>
|
||||||
<if test="form.orderStatus != null">
|
<if test="form.orderStatus != null">
|
||||||
and i.order_status = #{form.orderStatus}
|
and i.order_status = #{form.orderStatus}
|
||||||
|
@ -104,16 +104,6 @@
|
||||||
LEFT JOIN la_user as u on i.receiver_id = u.id
|
LEFT JOIN la_user as u on i.receiver_id = u.id
|
||||||
WHERE
|
WHERE
|
||||||
i.is_delete = 0
|
i.is_delete = 0
|
||||||
and i.receiver_id = #{form.receiverId}
|
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
|
||||||
and i.order_no like concat('%', #{form.likeWork}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
|
||||||
OR c.client_name LIKE concat('%', #{form.likeWork}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="form.likeWork != null and form.likeWork != ''">
|
|
||||||
OR e.number LIKE concat('%', #{form.likeWork}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="form.orderStatus != null">
|
<if test="form.orderStatus != null">
|
||||||
and i.order_status = #{form.orderStatus}
|
and i.order_status = #{form.orderStatus}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -91,4 +91,19 @@
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="reconditionList" resultType="com.hcy.common.dto.result.UserLargeDataDto">
|
||||||
|
SELECT
|
||||||
|
u.*
|
||||||
|
FROM
|
||||||
|
la_user AS u
|
||||||
|
JOIN la_system_auth_admin AS aa ON aa.user_id = u.id
|
||||||
|
JOIN la_system_auth_role AS ar ON aa.role = ar.id
|
||||||
|
WHERE
|
||||||
|
aa.is_delete = 0
|
||||||
|
AND u.is_delete = 0
|
||||||
|
AND aa.role = 6
|
||||||
|
and u.longitude is not null
|
||||||
|
and u.latitude is not null
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.hcy.common.exception.OperateException;
|
||||||
import com.hcy.front.FrontThreadLocal;
|
import com.hcy.front.FrontThreadLocal;
|
||||||
import com.hcy.front.service.IUserService;
|
import com.hcy.front.service.IUserService;
|
||||||
import com.hcy.front.validate.user.NewUserUpdateValidate;
|
import com.hcy.front.validate.user.NewUserUpdateValidate;
|
||||||
|
import com.hcy.front.validate.user.UserParam;
|
||||||
import com.hcy.front.vo.staff.StaffDetailVo;
|
import com.hcy.front.vo.staff.StaffDetailVo;
|
||||||
import com.hcy.front.vo.user.UserCenterVo;
|
import com.hcy.front.vo.user.UserCenterVo;
|
||||||
import com.hcy.front.vo.user.UserInfoVo;
|
import com.hcy.front.vo.user.UserInfoVo;
|
||||||
|
@ -143,4 +144,18 @@ public class UserController {
|
||||||
UserInfoVo vo = iUserService.userIntegral(id);
|
UserInfoVo vo = iUserService.userIntegral(id);
|
||||||
return AjaxResult.success(vo);
|
return AjaxResult.success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/switchingState")
|
||||||
|
@ApiOperation(value="切换接单状态")
|
||||||
|
public Object switchingState(@RequestBody UserParam userParam) {
|
||||||
|
iUserService.switchingState(userParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/modificationDegree")
|
||||||
|
@ApiOperation(value="修改检修员经纬度")
|
||||||
|
public Object modificationDegree(@RequestBody UserParam userParam) {
|
||||||
|
iUserService.modificationDegree(userParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,4 +117,14 @@ public class RoutingInspectionOrderController {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退单
|
||||||
|
* @param routingInspectionOrderParam 参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@PostMapping("/checking")
|
||||||
|
public Object checking(@RequestBody RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||||
|
iRoutingInspectionOrderService.checking(routingInspectionOrderParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.hcy.front.service;
|
||||||
|
|
||||||
import com.hcy.common.entity.user.User;
|
import com.hcy.common.entity.user.User;
|
||||||
import com.hcy.front.validate.user.NewUserUpdateValidate;
|
import com.hcy.front.validate.user.NewUserUpdateValidate;
|
||||||
|
import com.hcy.front.validate.user.UserParam;
|
||||||
import com.hcy.front.vo.user.UserCenterVo;
|
import com.hcy.front.vo.user.UserCenterVo;
|
||||||
import com.hcy.front.vo.user.UserInfoVo;
|
import com.hcy.front.vo.user.UserInfoVo;
|
||||||
|
|
||||||
|
@ -91,4 +92,16 @@ public interface IUserService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
UserInfoVo userIntegral(Integer id);
|
UserInfoVo userIntegral(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 切换接单状态
|
||||||
|
* @param userParam
|
||||||
|
*/
|
||||||
|
void switchingState(UserParam userParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改检修员经纬度
|
||||||
|
* @param userParam
|
||||||
|
*/
|
||||||
|
void modificationDegree(UserParam userParam);
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserA
|
||||||
model.setUpdateTime(TimeUtil.timestamp());
|
model.setUpdateTime(TimeUtil.timestamp());
|
||||||
|
|
||||||
// 判定地址经纬度落在哪个服务区域上
|
// 判定地址经纬度落在哪个服务区域上
|
||||||
if (userAddressParam.getDistrictId() > 0) {
|
/*if (userAddressParam.getDistrictId() > 0) {
|
||||||
// 查找是否有服务区域
|
// 查找是否有服务区域
|
||||||
String pointString = "POINT(" + userAddressParam.getLongitude() + " " + userAddressParam.getLatitude() + ")";
|
String pointString = "POINT(" + userAddressParam.getLongitude() + " " + userAddressParam.getLatitude() + ")";
|
||||||
List<ServiceAreaResultDto> serviceAreaResultDto = serviceAreaMapper.selectByPoint(userAddressParam.getDistrictId(),
|
List<ServiceAreaResultDto> serviceAreaResultDto = serviceAreaMapper.selectByPoint(userAddressParam.getDistrictId(),
|
||||||
|
@ -148,7 +148,7 @@ public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserA
|
||||||
log.warn(wstr);
|
log.warn(wstr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
userAddressMapper.insert(model);
|
userAddressMapper.insert(model);
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserA
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重新更新服务区域
|
// 重新更新服务区域
|
||||||
String pointString = "POINT(" + userAddressParam.getLongitude() + " " + userAddressParam.getLatitude() + ")";
|
/*String pointString = "POINT(" + userAddressParam.getLongitude() + " " + userAddressParam.getLatitude() + ")";
|
||||||
List<ServiceAreaResultDto> serviceAreaResultDto = serviceAreaMapper.selectByPoint(userAddressParam.getDistrictId(),
|
List<ServiceAreaResultDto> serviceAreaResultDto = serviceAreaMapper.selectByPoint(userAddressParam.getDistrictId(),
|
||||||
pointString);
|
pointString);
|
||||||
if (serviceAreaResultDto.size() > 0) {
|
if (serviceAreaResultDto.size() > 0) {
|
||||||
|
@ -197,7 +197,7 @@ public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserA
|
||||||
} else {
|
} else {
|
||||||
// 如果没有,则设为默认值0
|
// 如果没有,则设为默认值0
|
||||||
model.setServiceAreaId(0L);
|
model.setServiceAreaId(0L);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
model.setId(userAddressParam.getId());
|
model.setId(userAddressParam.getId());
|
||||||
model.setUserId(userAddressParam.getUserId());
|
model.setUserId(userAddressParam.getUserId());
|
||||||
|
|
|
@ -32,6 +32,7 @@ import com.hcy.front.FrontThreadLocal;
|
||||||
import com.hcy.front.config.FrontConfig;
|
import com.hcy.front.config.FrontConfig;
|
||||||
import com.hcy.front.service.IUserService;
|
import com.hcy.front.service.IUserService;
|
||||||
import com.hcy.front.validate.user.NewUserUpdateValidate;
|
import com.hcy.front.validate.user.NewUserUpdateValidate;
|
||||||
|
import com.hcy.front.validate.user.UserParam;
|
||||||
import com.hcy.front.vo.user.UserCenterVo;
|
import com.hcy.front.vo.user.UserCenterVo;
|
||||||
import com.hcy.front.vo.user.UserInfoVo;
|
import com.hcy.front.vo.user.UserInfoVo;
|
||||||
import me.chanjar.weixin.common.error.WxErrorException;
|
import me.chanjar.weixin.common.error.WxErrorException;
|
||||||
|
@ -80,7 +81,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||||
@Override
|
@Override
|
||||||
public UserCenterVo center(Integer userId) {
|
public UserCenterVo center(Integer userId) {
|
||||||
User user = userMapper.selectOne(new QueryWrapper<User>()
|
User user = userMapper.selectOne(new QueryWrapper<User>()
|
||||||
.select("id,sn,avatar,real_name,nickname,username,mobile")
|
.select("id,sn,avatar,real_name,nickname,username,mobile,receive_order_status")
|
||||||
.eq("id", userId)
|
.eq("id", userId)
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
|
|
||||||
|
@ -517,4 +518,35 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||||
userInfoVo.setIntegral(user.getIntegral());
|
userInfoVo.setIntegral(user.getIntegral());
|
||||||
return userInfoVo;
|
return userInfoVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 切换接单状态
|
||||||
|
*
|
||||||
|
* @param userParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void switchingState(UserParam userParam) {
|
||||||
|
User user = userMapper.selectOne(new QueryWrapper<User>()
|
||||||
|
.eq("id", userParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
user.setReceiveOrderStatus(userParam.getReceiveOrderStatus());
|
||||||
|
userMapper.updateById(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改检修员经纬度
|
||||||
|
*
|
||||||
|
* @param userParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void modificationDegree(UserParam userParam) {
|
||||||
|
User user = userMapper.selectOne(new QueryWrapper<User>()
|
||||||
|
.eq("id", userParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
user.setLongitude(userParam.getLongitude());
|
||||||
|
user.setLatitude(userParam.getLatitude());
|
||||||
|
userMapper.updateById(user);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,4 +64,10 @@ public interface IRoutingInspectionOrderService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<RoutingInspectionOrderListVo> inspectionList(RoutingInspectionOrderParam routingInspectionOrderParam);
|
List<RoutingInspectionOrderListVo> inspectionList(RoutingInspectionOrderParam routingInspectionOrderParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退单
|
||||||
|
* @param routingInspectionOrderParam
|
||||||
|
*/
|
||||||
|
void checking(RoutingInspectionOrderParam routingInspectionOrderParam);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package com.hcy.front.service.order.impl;
|
package com.hcy.front.service.order.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
import com.hcy.common.core.PageResult;
|
import com.hcy.common.core.PageResult;
|
||||||
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
||||||
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
||||||
|
@ -12,12 +14,14 @@ import com.hcy.common.entity.order.MaintenanceOrder;
|
||||||
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||||
import com.hcy.common.entity.user.User;
|
import com.hcy.common.entity.user.User;
|
||||||
|
import com.hcy.common.enums.equipment.EquipmentStateEnum;
|
||||||
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||||
import com.hcy.common.enums.order.OrderStateEnum;
|
import com.hcy.common.enums.order.OrderStateEnum;
|
||||||
import com.hcy.common.exception.OperateException;
|
import com.hcy.common.exception.OperateException;
|
||||||
import com.hcy.common.mapper.client.ClientMapper;
|
import com.hcy.common.mapper.client.ClientMapper;
|
||||||
import com.hcy.common.mapper.client.EquipmentMapper;
|
import com.hcy.common.mapper.client.EquipmentMapper;
|
||||||
import com.hcy.common.mapper.fault.FaultMapper;
|
import com.hcy.common.mapper.fault.FaultMapper;
|
||||||
|
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||||
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.hcy.common.mapper.user.UserMapper;
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
|
@ -37,6 +41,7 @@ import org.springframework.util.Assert;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -49,6 +54,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
@Resource
|
@Resource
|
||||||
RoutingInspectionOrderMapper routingInspectionOrderMapper;
|
RoutingInspectionOrderMapper routingInspectionOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
MaintenanceOrderMapper maintenanceOrderMapper;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
EquipmentMapper equipmentMapper;
|
EquipmentMapper equipmentMapper;
|
||||||
|
|
||||||
|
@ -91,8 +99,6 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
for(RoutingInspectionOrderDto item : iPage.getRecords()) {
|
for(RoutingInspectionOrderDto item : iPage.getRecords()) {
|
||||||
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();
|
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();
|
||||||
BeanUtils.copyProperties(item, vo);
|
BeanUtils.copyProperties(item, vo);
|
||||||
vo.setCreateTime(String.valueOf(item.getCreateTime()));
|
|
||||||
|
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,6 +218,31 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
model.setFaultId(routingInspectionOrderParam.getFaultId()); // 故障id
|
model.setFaultId(routingInspectionOrderParam.getFaultId()); // 故障id
|
||||||
model.setFaultDescription(routingInspectionOrderParam.getFaultDescription()); // 故障描述
|
model.setFaultDescription(routingInspectionOrderParam.getFaultDescription()); // 故障描述
|
||||||
model.setInspectionResult(routingInspectionOrderParam.getInspectionResult()); //巡检结果(0=正常 1=异常)
|
model.setInspectionResult(routingInspectionOrderParam.getInspectionResult()); //巡检结果(0=正常 1=异常)
|
||||||
|
//如果故障检测是选了异常,需要把设备状态改为报修中
|
||||||
|
if(routingInspectionOrderParam.getInspectionResult() == OrderStateEnum.ABNORMAL.getStatus()){
|
||||||
|
Equipment equipment = equipmentMapper.selectOne(
|
||||||
|
new QueryWrapper<Equipment>()
|
||||||
|
.eq("id", model.getEquipmentId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
equipment.setDeviceStatus(EquipmentStateEnum.UNDERWARRANTY.getStatus());
|
||||||
|
equipmentMapper.updateById(equipment);
|
||||||
|
//如果故障检测异常,需要创建检修单
|
||||||
|
MaintenanceOrder maintenanceOrder = new MaintenanceOrder();
|
||||||
|
maintenanceOrder.setOrderNo(getOrderNo());
|
||||||
|
|
||||||
|
maintenanceOrder.setCreatorId(FrontThreadLocal.getUserId().longValue()); //创建人id
|
||||||
|
maintenanceOrder.setCreateTime(new Date()); //创建时间
|
||||||
|
maintenanceOrder.setClientId(model.getClientId()); // 客户id
|
||||||
|
maintenanceOrder.setEquipmentId(model.getEquipmentId()); // 设备id
|
||||||
|
maintenanceOrder.setFaultId(model.getFaultId()); // 故障id
|
||||||
|
maintenanceOrder.setFaultDescription(model.getFaultDescription()); // 故障描述
|
||||||
|
maintenanceOrder.setRepairWorkOrderFlow(OrderStateEnum.WORK_ORDER_TANK.getStatus()); //工单去向 0=工单池 1=检修员
|
||||||
|
maintenanceOrder.setRemark(model.getInspectionResultRemark()); // 备注
|
||||||
|
maintenanceOrder.setOrderSource(OrderStateEnum.MAINTENANCE_MAN_CREATION.getStatus()); //订单来源:3=检修员创建
|
||||||
|
maintenanceOrder.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单
|
||||||
|
maintenanceOrderMapper.insert(maintenanceOrder);
|
||||||
|
}
|
||||||
model.setInspectionResultRemark(routingInspectionOrderParam.getInspectionResultRemark());//巡检结果备注
|
model.setInspectionResultRemark(routingInspectionOrderParam.getInspectionResultRemark());//巡检结果备注
|
||||||
model.setInspectionPhoto(routingInspectionOrderParam.getInspectionPhoto()); // 巡检照片
|
model.setInspectionPhoto(routingInspectionOrderParam.getInspectionPhoto()); // 巡检照片
|
||||||
model.setOrderStatus(OrderStateEnum.COMPLETED.getStatus()); //故障检测完工单状态就为已完成
|
model.setOrderStatus(OrderStateEnum.COMPLETED.getStatus()); //故障检测完工单状态就为已完成
|
||||||
|
@ -293,5 +324,59 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退单
|
||||||
|
*
|
||||||
|
* @param routingInspectionOrderParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void checking(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||||
|
RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne(
|
||||||
|
new QueryWrapper<RoutingInspectionOrder>()
|
||||||
|
.eq("id", routingInspectionOrderParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
model.setCancelOrderTime(new Date()); //退单时间
|
||||||
|
model.setCancelCause(routingInspectionOrderParam.getCancelCause()); //取消原因
|
||||||
|
//如果工单去向是工单池的话,退单后工单状态为待抢单,如果是检修员,工单状态是 5=已退单
|
||||||
|
if(model.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){
|
||||||
|
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); //用户退单后工单状态为待抢单
|
||||||
|
}else{
|
||||||
|
model.setOrderStatus(OrderStateEnum.RETURNED_ORDER.getStatus()); //用户退单后工单状态为已退单
|
||||||
|
}
|
||||||
|
|
||||||
|
routingInspectionOrderMapper.updateById(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getOrderNo() {
|
||||||
|
//获取当前日期并将其进行格式化
|
||||||
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||||
|
String formatDate = simpleDateFormat.format(new Date());
|
||||||
|
|
||||||
|
StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001");
|
||||||
|
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper<MaintenanceOrder>()
|
||||||
|
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
|
.like(MaintenanceOrder::getOrderNo, formatDate)
|
||||||
|
.orderByDesc(MaintenanceOrder::getOrderNo)
|
||||||
|
.last("limit 1"));
|
||||||
|
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
|
||||||
|
if (lastmMaintenanceOrder == null) {
|
||||||
|
return currentOrderNo.toString();
|
||||||
|
} else {
|
||||||
|
int lastOrderNo = Integer.parseInt(lastmMaintenanceOrder.getOrderNo().substring(8));
|
||||||
|
int length = String.valueOf((lastOrderNo + 1)).length();
|
||||||
|
StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + "");
|
||||||
|
|
||||||
|
//如果流水号长度小于6位,则在前面补0
|
||||||
|
if (length < 6) {
|
||||||
|
for (int i = 0; i < 6 - length; i++) {
|
||||||
|
newOrderNo.insert(0, "0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return formatDate + newOrderNo;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,4 +82,5 @@ public class RoutingInspectionOrderParam implements Serializable {
|
||||||
private double longitude; //经度
|
private double longitude; //经度
|
||||||
private double latitude; //纬度
|
private double latitude; //纬度
|
||||||
private Integer queryType; // 查询类型 0-离我最近 1-时间优先
|
private Integer queryType; // 查询类型 0-离我最近 1-时间优先
|
||||||
|
private String cancelCause; // 取消原因
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
package com.hcy.front.validate.user;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
import javax.validation.constraints.DecimalMin;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* user用户参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class UserParam implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public interface create{}
|
||||||
|
public interface update{}
|
||||||
|
public interface delete{}
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private Integer receiveOrderStatus; //接单状态(0=休假/停止接单中 1=作业中 2=可接单)
|
||||||
|
private String longitude; // 经度
|
||||||
|
private String latitude; // 纬度
|
||||||
|
}
|
|
@ -38,5 +38,6 @@ public class RoutingInspectionOrderDetailVo implements Serializable {
|
||||||
private Integer inspectionResult; //巡检结果(0=正常 1=异常)
|
private Integer inspectionResult; //巡检结果(0=正常 1=异常)
|
||||||
private String inspectionResultRemark; //巡检结果备注
|
private String inspectionResultRemark; //巡检结果备注
|
||||||
private Integer creatorId; // 创建人id
|
private Integer creatorId; // 创建人id
|
||||||
|
private Date cancelOrderTime; // 取消订单时间
|
||||||
|
private String cancelCause; // 取消原因
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,10 +23,11 @@ public class RoutingInspectionOrderListVo implements Serializable {
|
||||||
private String equipmentNo; //设备编号
|
private String equipmentNo; //设备编号
|
||||||
private String equipmentName; //设备名称
|
private String equipmentName; //设备名称
|
||||||
private String detailedAddress; // 设备详细地址
|
private String detailedAddress; // 设备详细地址
|
||||||
private String createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
||||||
private String distance; //距离
|
private String distance; //距离
|
||||||
private BigDecimal orderDistance; // 订单距离
|
private BigDecimal orderDistance; // 订单距离
|
||||||
|
private Date cancelOrderTime; // 取消订单时间
|
||||||
|
private String cancelCause; // 取消原因
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,4 +23,6 @@ public class UserCenterVo implements Serializable {
|
||||||
|
|
||||||
private Long clientId; //客户id
|
private Long clientId; //客户id
|
||||||
private Map<Integer,String> roleMap; //角色信息 key:id value:name
|
private Map<Integer,String> roleMap; //角色信息 key:id value:name
|
||||||
|
private Integer receiveOrderStatus; //接单状态(0=休假/停止接单中 1=作业中 2=可接单)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue