【admin】新增&优化 # 1、优化维修单新增、编辑、列表、详情 2、新增维修单修改派单方式、修改抢单范围、重新派工
parent
82dcd93395
commit
b107d04592
|
@ -4,6 +4,7 @@ import com.hcy.admin.config.aop.Log;
|
||||||
import com.hcy.admin.service.order.IRepairOrderService;
|
import com.hcy.admin.service.order.IRepairOrderService;
|
||||||
import com.hcy.admin.validate.order.RepairOrderParam;
|
import com.hcy.admin.validate.order.RepairOrderParam;
|
||||||
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.vo.order.RepairOrderListVo;
|
import com.hcy.admin.vo.order.RepairOrderListVo;
|
||||||
import com.hcy.admin.vo.order.RepairOrderDetailVo;
|
import com.hcy.admin.vo.order.RepairOrderDetailVo;
|
||||||
import com.hcy.common.core.AjaxResult;
|
import com.hcy.common.core.AjaxResult;
|
||||||
|
@ -30,15 +31,16 @@ public class RepairOrderController {
|
||||||
*
|
*
|
||||||
* @author hcy
|
* @author hcy
|
||||||
* @param pageParam 分页参数
|
* @param pageParam 分页参数
|
||||||
* @param params 搜索参数
|
* @param repairOrderParam 搜索参数
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public Object list(@Validated PageParam pageParam,
|
public Object list(@Validated PageParam pageParam,
|
||||||
@RequestParam Map<String, String> params) {
|
RepairOrderParam repairOrderParam) {
|
||||||
PageResult<RepairOrderListVo> list = iRepairOrderService.list(pageParam, params);
|
PageResult<RepairOrderListVo> list = iRepairOrderService.list(pageParam, repairOrderParam);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修订单详情
|
* 维修订单详情
|
||||||
*
|
*
|
||||||
|
@ -94,4 +96,46 @@ public class RepairOrderController {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改派单方式
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param repairOrderParam 参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@Log(title = "修改派单方式")
|
||||||
|
@PostMapping("/alterReceiverType")
|
||||||
|
public Object alterReceiverType(@RequestBody RepairOrderParam repairOrderParam) {
|
||||||
|
iRepairOrderService.alterReceiverType(repairOrderParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改抢单范围
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param repairOrderParam 参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@Log(title = "修改抢单范围")
|
||||||
|
@PostMapping("/alterOrderDistance")
|
||||||
|
public Object alterOrderDistance(@RequestBody RepairOrderParam repairOrderParam) {
|
||||||
|
iRepairOrderService.alterOrderDistance(repairOrderParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重新派工
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param repairOrderParam 参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@Log(title = "重新派工")
|
||||||
|
@PostMapping("/reassignment")
|
||||||
|
public Object reassignment(@RequestBody RepairOrderParam repairOrderParam) {
|
||||||
|
iRepairOrderService.reassignment(repairOrderParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,10 +18,10 @@ public interface IRepairOrderService {
|
||||||
*
|
*
|
||||||
* @author hcy
|
* @author hcy
|
||||||
* @param pageParam 分页参数
|
* @param pageParam 分页参数
|
||||||
* @param params 搜索参数
|
* @param repairOrderParam 搜索参数
|
||||||
* @return PageResult<RepairOrderVo>
|
* @return PageResult<RepairOrderVo>
|
||||||
*/
|
*/
|
||||||
PageResult<RepairOrderListVo> list(PageParam pageParam, Map<String, String> params);
|
PageResult<RepairOrderListVo> list(PageParam pageParam, RepairOrderParam repairOrderParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修订单详情
|
* 维修订单详情
|
||||||
|
@ -56,4 +56,21 @@ public interface IRepairOrderService {
|
||||||
*/
|
*/
|
||||||
void del(Integer id);
|
void del(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改派单方式
|
||||||
|
* @param repairOrderParam
|
||||||
|
*/
|
||||||
|
void alterReceiverType(RepairOrderParam repairOrderParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改抢单范围
|
||||||
|
* @param repairOrderParam
|
||||||
|
*/
|
||||||
|
void alterOrderDistance(RepairOrderParam repairOrderParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重新派工
|
||||||
|
* @param repairOrderParam
|
||||||
|
*/
|
||||||
|
void reassignment(RepairOrderParam repairOrderParam);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,17 +5,30 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.yulichang.query.MPJQueryWrapper;
|
import com.github.yulichang.query.MPJQueryWrapper;
|
||||||
|
import com.hcy.admin.AdminThreadLocal;
|
||||||
import com.hcy.admin.service.order.IRepairOrderService;
|
import com.hcy.admin.service.order.IRepairOrderService;
|
||||||
import com.hcy.admin.validate.common.PageParam;
|
import com.hcy.admin.validate.common.PageParam;
|
||||||
import com.hcy.admin.validate.order.RepairOrderParam;
|
import com.hcy.admin.validate.order.RepairOrderParam;
|
||||||
|
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
||||||
import com.hcy.admin.vo.order.RepairOrderListVo;
|
import com.hcy.admin.vo.order.RepairOrderListVo;
|
||||||
import com.hcy.admin.vo.order.RepairOrderDetailVo;
|
import com.hcy.admin.vo.order.RepairOrderDetailVo;
|
||||||
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.dto.order.RepairOrderDto;
|
||||||
|
import com.hcy.common.entity.client.Client;
|
||||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||||
import com.hcy.common.entity.order.RepairOrder;
|
import com.hcy.common.entity.order.RepairOrder;
|
||||||
|
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||||
|
import com.hcy.common.entity.plant.Plant;
|
||||||
|
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.enums.order.RepairOrderStatusEnum;
|
||||||
|
import com.hcy.common.mapper.client.ClientMapper;
|
||||||
import com.hcy.common.mapper.order.RepairOrderMapper;
|
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||||
|
import com.hcy.common.mapper.plant.PlantMapper;
|
||||||
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
import com.hcy.common.utils.ArrayUtil;
|
import com.hcy.common.utils.ArrayUtil;
|
||||||
import com.hcy.common.utils.TimeUtil;
|
import com.hcy.common.utils.TimeUtil;
|
||||||
import com.hcy.common.utils.UrlUtil;
|
import com.hcy.common.utils.UrlUtil;
|
||||||
|
@ -37,36 +50,54 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
@Resource
|
@Resource
|
||||||
RepairOrderMapper repairOrderMapper;
|
RepairOrderMapper repairOrderMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
SystemAuthAdminMapper systemAuthAdminMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
PlantMapper plantMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
UserMapper userMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ClientMapper clientMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修订单列表
|
* 维修订单列表
|
||||||
*
|
*
|
||||||
* @author hcy
|
* @author hcy
|
||||||
* @param pageParam 分页参数
|
* @param pageParam 分页参数
|
||||||
* @param params 搜索参数
|
* @param repairOrderParam 搜索参数
|
||||||
* @return PageResult<RepairOrderListVo>
|
* @return PageResult<RepairOrderListVo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public PageResult<RepairOrderListVo> list(PageParam pageParam, Map<String, String> params) {
|
public PageResult<RepairOrderListVo> list(PageParam pageParam, RepairOrderParam repairOrderParam) {
|
||||||
Integer page = pageParam.getPageNo();
|
Integer page = pageParam.getPageNo();
|
||||||
Integer limit = pageParam.getPageSize();
|
Integer limit = pageParam.getPageSize();
|
||||||
|
|
||||||
QueryWrapper<RepairOrder> queryWrapper = new QueryWrapper<>();
|
RepairOrderDto repairOrderDto = new RepairOrderDto();
|
||||||
queryWrapper.eq("is_delete", 0);
|
BeanUtils.copyProperties(repairOrderParam,repairOrderDto);
|
||||||
queryWrapper.orderByDesc("id");
|
|
||||||
|
|
||||||
repairOrderMapper.setSearch(queryWrapper, params, new String[]{
|
IPage<RepairOrderDto> iPage = repairOrderMapper.pageList(new Page<>(page, limit), repairOrderDto);
|
||||||
"=:orderNo@order_no:str",
|
|
||||||
"=:orderSource@order_source:long",
|
|
||||||
"like:clientName@client_name:str",
|
|
||||||
"=:priorityId@priority_id:long",
|
|
||||||
});
|
|
||||||
|
|
||||||
IPage<RepairOrder> iPage = repairOrderMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
|
||||||
|
|
||||||
List<RepairOrderListVo> list = new LinkedList<>();
|
List<RepairOrderListVo> list = new LinkedList<>();
|
||||||
for(RepairOrder item : iPage.getRecords()) {
|
for(RepairOrderDto item : iPage.getRecords()) {
|
||||||
RepairOrderListVo vo = new RepairOrderListVo();
|
RepairOrderListVo vo = new RepairOrderListVo();
|
||||||
BeanUtils.copyProperties(item, vo);
|
BeanUtils.copyProperties(item, vo);
|
||||||
|
//管辖工厂
|
||||||
|
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||||
|
new QueryWrapper<SystemAuthAdmin>()
|
||||||
|
.eq("user_id", vo.getCreatorId()));
|
||||||
|
if(authAdmin != null){
|
||||||
|
Plant plant = plantMapper.selectOne(
|
||||||
|
new QueryWrapper<Plant>()
|
||||||
|
.eq("id", authAdmin.getPlantId()));
|
||||||
|
if(plant != null){
|
||||||
|
vo.setPlantId(plant.getId());
|
||||||
|
vo.setPlantName(plant.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vo.setCreateTime(item.getCreateTime());
|
vo.setCreateTime(item.getCreateTime());
|
||||||
vo.setUpdateTime(item.getUpdateTime());
|
vo.setUpdateTime(item.getUpdateTime());
|
||||||
list.add(vo);
|
list.add(vo);
|
||||||
|
@ -95,6 +126,35 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
RepairOrderDetailVo vo = new RepairOrderDetailVo();
|
RepairOrderDetailVo vo = new RepairOrderDetailVo();
|
||||||
BeanUtils.copyProperties(model, vo);
|
BeanUtils.copyProperties(model, vo);
|
||||||
vo.setUpdateTime(model.getUpdateTime());
|
vo.setUpdateTime(model.getUpdateTime());
|
||||||
|
//客户名称
|
||||||
|
|
||||||
|
//创建人名称
|
||||||
|
User creatorName = userMapper.selectOne(
|
||||||
|
new QueryWrapper<User>()
|
||||||
|
.eq("id", model.getCreatorId()));
|
||||||
|
if(creatorName != null){
|
||||||
|
vo.setCreatorName(creatorName.getUsername());
|
||||||
|
}
|
||||||
|
//接单人名称
|
||||||
|
User user = userMapper.selectOne(
|
||||||
|
new QueryWrapper<User>()
|
||||||
|
.eq("id", model.getReceiverId()));
|
||||||
|
if(user != null){
|
||||||
|
vo.setReceiverName(user.getUsername());
|
||||||
|
}
|
||||||
|
//管辖工厂
|
||||||
|
SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(
|
||||||
|
new QueryWrapper<SystemAuthAdmin>()
|
||||||
|
.eq("user_id", vo.getCreatorId()));
|
||||||
|
if(authAdmin != null){
|
||||||
|
Plant plant = plantMapper.selectOne(
|
||||||
|
new QueryWrapper<Plant>()
|
||||||
|
.eq("id", authAdmin.getPlantId()));
|
||||||
|
if(plant != null){
|
||||||
|
vo.setPlantId(plant.getId());
|
||||||
|
vo.setPlantName(plant.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,28 +168,32 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
public void add(RepairOrderParam repairOrderParam) {
|
public void add(RepairOrderParam repairOrderParam) {
|
||||||
RepairOrder model = new RepairOrder();
|
RepairOrder model = new RepairOrder();
|
||||||
model.setOrderNo(getOrderNo()); //工单编号
|
model.setOrderNo(getOrderNo()); //工单编号
|
||||||
|
|
||||||
|
model.setOrderStatus(RepairOrderStatusEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
||||||
model.setOrderSource(OrderStateEnum.MAINTENANCE_SUPERVISOR_CREATION.getStatus()); //订单来源 5-维修主管创建
|
model.setOrderSource(OrderStateEnum.MAINTENANCE_SUPERVISOR_CREATION.getStatus()); //订单来源 5-维修主管创建
|
||||||
model.setOrderStatus(repairOrderParam.getOrderStatus()); // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
model.setRepairWorkOrderFlow(OrderStateEnum.WORK_ORDER_TANK.getStatus()); // 工单去向 0=工单池 1=检修员
|
||||||
|
|
||||||
model.setClientId(repairOrderParam.getClientId()); // 客户id
|
model.setClientId(repairOrderParam.getClientId()); // 客户id
|
||||||
model.setEquipmentId(repairOrderParam.getEquipmentId()); // 设备id
|
model.setEquipmentId(repairOrderParam.getEquipmentId()); // 设备id
|
||||||
model.setClientName(repairOrderParam.getClientName()); // 客户名称
|
|
||||||
model.setClientContacts(repairOrderParam.getClientContacts()); // 客户联系人
|
|
||||||
model.setClientPhone(repairOrderParam.getClientPhone()); // 客户联系电话
|
|
||||||
model.setFaultDescription(repairOrderParam.getFaultDescription()); // 故障描述
|
model.setFaultDescription(repairOrderParam.getFaultDescription()); // 故障描述
|
||||||
model.setEquipmentName(repairOrderParam.getEquipmentName()); // 设备名称
|
|
||||||
model.setModuleNumber(repairOrderParam.getModuleNumber()); // 模块号
|
model.setModuleNumber(repairOrderParam.getModuleNumber()); // 模块号
|
||||||
model.setBrand(repairOrderParam.getBrand()); // 品牌
|
model.setBrand(repairOrderParam.getBrand()); // 品牌
|
||||||
model.setModuleImg(repairOrderParam.getModuleImg()); // 模块图片
|
model.setModuleImg(repairOrderParam.getModuleImg()); // 模块图片
|
||||||
model.setRemark(repairOrderParam.getRemark()); // 备注
|
model.setRemark(repairOrderParam.getRemark()); // 备注
|
||||||
model.setCreatorId(repairOrderParam.getCreatorId()); // 创建人id
|
|
||||||
model.setCreateTime(repairOrderParam.getCreateTime()); // 创建时间
|
|
||||||
model.setMaintenanceOrderId(repairOrderParam.getMaintenanceOrderId()); // 检修单id
|
model.setMaintenanceOrderId(repairOrderParam.getMaintenanceOrderId()); // 检修单id
|
||||||
model.setPriorityId(repairOrderParam.getPriorityId()); // 优先级 0-普通 1-加急
|
model.setPriorityId(repairOrderParam.getPriorityId()); // 优先级 0-普通 1-加急
|
||||||
model.setLogisticsMode(repairOrderParam.getLogisticsMode()); // 物流方式
|
model.setLogisticsMode(repairOrderParam.getLogisticsMode()); // 物流方式 0-物流快递 1=自领带回
|
||||||
model.setExpressName(repairOrderParam.getExpressName()); // 快递名称
|
model.setExpressName(repairOrderParam.getExpressName()); // 快递名称
|
||||||
model.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄(0=是 1=否)
|
model.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄(0=是 1=否)
|
||||||
model.setAddressId(repairOrderParam.getAddressId()); // 回寄地址
|
model.setAddressId(repairOrderParam.getAddressId()); // 回寄地址
|
||||||
model.setSiteImg(repairOrderParam.getSiteImg()); // 现场照片
|
model.setSiteImg(repairOrderParam.getSiteImg()); // 现场照片
|
||||||
|
|
||||||
|
// 获取当前的用户
|
||||||
|
String adminId = AdminThreadLocal.get("adminId").toString();
|
||||||
|
model.setCreatorId(Long.valueOf(adminId)); // 创建人id
|
||||||
|
model.setCreateTime(new Date()); //创建时间
|
||||||
|
|
||||||
repairOrderMapper.insert(model);
|
repairOrderMapper.insert(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,15 +213,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
|
|
||||||
Assert.notNull(model, "数据不存在!");
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
|
||||||
model.setId(repairOrderParam.getId());
|
model.setClientId(repairOrderParam.getClientId()); // 客户id
|
||||||
model.setOrderNo(repairOrderParam.getOrderNo());
|
model.setEquipmentId(repairOrderParam.getEquipmentId()); //设备id
|
||||||
model.setOrderSource(repairOrderParam.getOrderSource());
|
|
||||||
model.setOrderStatus(repairOrderParam.getOrderStatus());
|
|
||||||
model.setClientId(repairOrderParam.getClientId());
|
|
||||||
model.setEquipmentId(repairOrderParam.getEquipmentId());
|
|
||||||
model.setClientName(repairOrderParam.getClientName());
|
|
||||||
model.setClientContacts(repairOrderParam.getClientContacts());
|
|
||||||
model.setClientPhone(repairOrderParam.getClientPhone());
|
|
||||||
model.setFaultDescription(repairOrderParam.getFaultDescription());
|
model.setFaultDescription(repairOrderParam.getFaultDescription());
|
||||||
model.setModuleNumber(repairOrderParam.getModuleNumber());
|
model.setModuleNumber(repairOrderParam.getModuleNumber());
|
||||||
model.setBrand(repairOrderParam.getBrand());
|
model.setBrand(repairOrderParam.getBrand());
|
||||||
|
@ -227,4 +284,71 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
return formatDate + newOrderNo;
|
return formatDate + newOrderNo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改派单方式
|
||||||
|
*
|
||||||
|
* @param repairOrderParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void alterReceiverType(RepairOrderParam repairOrderParam) {
|
||||||
|
RepairOrder model = repairOrderMapper.selectOne(
|
||||||
|
new QueryWrapper<RepairOrder>()
|
||||||
|
.eq("id", repairOrderParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
|
||||||
|
model.setReceiverType(repairOrderParam.getReceiverType()); // 派单方式 0-区域派单;1-距离派单
|
||||||
|
model.setOrderDistance(repairOrderParam.getOrderDistance()); //派单距离
|
||||||
|
if(repairOrderParam.getReceiverType() == 0){ //派单方式是区域派单的话派单距离清空
|
||||||
|
model.setOrderDistance(null); //派单距离
|
||||||
|
}
|
||||||
|
repairOrderMapper.updateById(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改抢单范围
|
||||||
|
*
|
||||||
|
* @param repairOrderParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void alterOrderDistance(RepairOrderParam repairOrderParam) {
|
||||||
|
RepairOrder model = repairOrderMapper.selectOne(
|
||||||
|
new QueryWrapper<RepairOrder>()
|
||||||
|
.eq("id", repairOrderParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
|
||||||
|
model.setOrderDistance(repairOrderParam.getOrderDistance()); //派单距离
|
||||||
|
if(model.getReceiverType() == 0){ //派单方式是区域派单的话派单距离清空
|
||||||
|
model.setOrderDistance(null); //派单距离
|
||||||
|
}
|
||||||
|
repairOrderMapper.updateById(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重新派工
|
||||||
|
*
|
||||||
|
* @param repairOrderParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void reassignment(RepairOrderParam repairOrderParam) {
|
||||||
|
RepairOrder model = repairOrderMapper.selectOne(
|
||||||
|
new QueryWrapper<RepairOrder>()
|
||||||
|
.eq("id", repairOrderParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
model.setReceiverId(repairOrderParam.getReceiverId());
|
||||||
|
//如果是退单状态,重新派工后状态改为待接单
|
||||||
|
if(model.getOrderStatus() == OrderStateEnum.RETURNED_ORDER.getStatus()){
|
||||||
|
model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());
|
||||||
|
}
|
||||||
|
repairOrderMapper.updateById(model);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import org.hibernate.validator.constraints.Length;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,9 +75,6 @@ public class RepairOrderParam implements Serializable {
|
||||||
@DecimalMin(value = "0", message = "priorityId参数值不能少于0", groups = {create.class, update.class})
|
@DecimalMin(value = "0", message = "priorityId参数值不能少于0", groups = {create.class, update.class})
|
||||||
private Integer priorityId;
|
private Integer priorityId;
|
||||||
|
|
||||||
@Length(max = 100, message = "logisticsMode参数不能超出100个字符", groups = {create.class, update.class})
|
|
||||||
private String logisticsMode;
|
|
||||||
|
|
||||||
@Length(max = 50, message = "expressName参数不能超出50个字符", groups = {create.class, update.class})
|
@Length(max = 50, message = "expressName参数不能超出50个字符", groups = {create.class, update.class})
|
||||||
private String expressName;
|
private String expressName;
|
||||||
|
|
||||||
|
@ -90,5 +88,13 @@ public class RepairOrderParam implements Serializable {
|
||||||
private String siteImg;
|
private String siteImg;
|
||||||
private String equipmentName; // 设备名称
|
private String equipmentName; // 设备名称
|
||||||
private String moduleImg; // 模块图片
|
private String moduleImg; // 模块图片
|
||||||
|
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||||
|
private String creatorName; // 创建人名称
|
||||||
|
private String receiverName; //接单人名称
|
||||||
|
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||||
|
private BigDecimal orderDistance; // 订单距离
|
||||||
|
private Long receiverId; // 接单人id
|
||||||
|
private Integer repairWorkOrderFlow; // 工单去向 0=工单池 1=检修员
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hcy.admin.vo.order;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,8 +16,8 @@ public class RepairOrderDetailVo implements Serializable {
|
||||||
|
|
||||||
private Long id; // 主键id
|
private Long id; // 主键id
|
||||||
private String orderNo; // 订单编号
|
private String orderNo; // 订单编号
|
||||||
private Long orderSource; // 订单来源 0-客户上报;1-系统创建;2-维修员创建;3-检修员创建;4-客服创建;5-维修主管创建
|
private Integer orderSource; // 订单来源 0-客户上报;1-系统创建;2-维修员创建;3-检修员创建;4-客服创建;5-维修主管创建
|
||||||
private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
||||||
private Long clientId; // 客户id
|
private Long clientId; // 客户id
|
||||||
private Long equipmentId; // 设备id
|
private Long equipmentId; // 设备id
|
||||||
private String clientName; // 客户名称
|
private String clientName; // 客户名称
|
||||||
|
@ -25,15 +26,25 @@ public class RepairOrderDetailVo implements Serializable {
|
||||||
private String faultDescription; // 故障描述
|
private String faultDescription; // 故障描述
|
||||||
private String moduleNumber; // 模块号
|
private String moduleNumber; // 模块号
|
||||||
private String brand; // 品牌
|
private String brand; // 品牌
|
||||||
|
private Long receiverId; // 接单人id
|
||||||
|
private String receiverName; //接单人名称
|
||||||
|
private Date receiverTime; // 接单时间
|
||||||
private String remark; // 备注
|
private String remark; // 备注
|
||||||
private Long creatorId; // 创建人id
|
private Long creatorId; // 创建人id
|
||||||
|
private String creatorName; // 创建人名称
|
||||||
|
private Date createTime; // 创建时间
|
||||||
private Date updateTime; // 更新时间
|
private Date updateTime; // 更新时间
|
||||||
private Long maintenanceOrderId; // 检修单id
|
private Long maintenanceOrderId; // 检修单id
|
||||||
private Long priorityId; // 优先级 0-普通 1-加急
|
private Long priorityId; // 优先级 0-普通 1-加急
|
||||||
private String logisticsMode; // 物流方式
|
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||||
private String expressName; // 快递名称
|
private String expressName; // 快递名称
|
||||||
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||||
private Long addressId; // 回寄地址
|
private Long addressId; // 回寄地址
|
||||||
private String siteImg; // 现场照片
|
private String siteImg; // 现场照片
|
||||||
|
private Long plantId; // 管辖工厂
|
||||||
|
private String plantName; //管辖工厂名
|
||||||
|
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||||
|
private BigDecimal orderDistance; // 订单距离
|
||||||
|
private Integer repairWorkOrderFlow; // 工单去向 0=工单池 1=检修员
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@ public class RepairOrderListVo implements Serializable {
|
||||||
|
|
||||||
private Long id; // 主键id
|
private Long id; // 主键id
|
||||||
private String orderNo; // 订单编号
|
private String orderNo; // 订单编号
|
||||||
private Long orderSource; // 订单来源 0-客户上报;1-系统创建;2-维修员创建;3-检修员创建;4-客服创建;5-维修主管创建
|
private Integer orderSource; // 订单来源 0-客户上报;1-系统创建;2-维修员创建;3-检修员创建;4-客服创建;5-维修主管创建
|
||||||
private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
||||||
private Long clientId; // 客户id
|
private Long clientId; // 客户id
|
||||||
private Long equipmentId; // 设备id
|
private Long equipmentId; // 设备id
|
||||||
private String clientName; // 客户名称
|
private String clientName; // 客户名称
|
||||||
|
@ -26,17 +26,20 @@ public class RepairOrderListVo implements Serializable {
|
||||||
private String moduleNumber; // 模块号
|
private String moduleNumber; // 模块号
|
||||||
private String brand; // 品牌
|
private String brand; // 品牌
|
||||||
private Long receiverId; // 接单人id
|
private Long receiverId; // 接单人id
|
||||||
|
private String receiverName; //接单人名称
|
||||||
private Date receiverTime; // 接单时间
|
private Date receiverTime; // 接单时间
|
||||||
private String remark; // 备注
|
private String remark; // 备注
|
||||||
private Long creatorId; // 创建人id
|
private Long creatorId; // 创建人id
|
||||||
|
private String creatorName; // 创建人名称
|
||||||
private Date createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
private Date updateTime; // 更新时间
|
private Date updateTime; // 更新时间
|
||||||
private Long maintenanceOrderId; // 检修单id
|
private Long maintenanceOrderId; // 检修单id
|
||||||
private Long priorityId; // 优先级 0-普通 1-加急
|
private Long priorityId; // 优先级 0-普通 1-加急
|
||||||
private String logisticsMode; // 物流方式
|
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||||
private String expressName; // 快递名称
|
private String expressName; // 快递名称
|
||||||
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||||
private Long addressId; // 回寄地址
|
private Long addressId; // 回寄地址
|
||||||
private String siteImg; // 现场照片
|
private String siteImg; // 现场照片
|
||||||
|
private Long plantId; // 管辖工厂
|
||||||
|
private String plantName; //管辖工厂名
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.hcy.common.dto.order;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RepairOrderDto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RepairOrderDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private Long id; // 主键id
|
||||||
|
private String orderNo; // 订单编号
|
||||||
|
private Integer orderSource; // 订单来源 0-客户上报;1-系统创建;2-维修员创建;3-检修员创建;4-客服创建;5-维修主管创建
|
||||||
|
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
||||||
|
private Long clientId; // 客户id
|
||||||
|
private Long equipmentId; // 设备id
|
||||||
|
private String clientName; // 客户名称
|
||||||
|
private String faultDescription; // 故障描述
|
||||||
|
private String moduleNumber; // 模块号
|
||||||
|
private String brand; // 品牌
|
||||||
|
private Long receiverId; // 接单人id
|
||||||
|
private String receiverName; //接单人名称
|
||||||
|
private Date receiverTime; // 接单时间
|
||||||
|
private String remark; // 备注
|
||||||
|
private Long creatorId; // 创建人id
|
||||||
|
private String creatorName; // 创建人名称
|
||||||
|
private Date createTime; // 创建时间
|
||||||
|
private Date updateTime; // 更新时间
|
||||||
|
private Long maintenanceOrderId; // 检修单id
|
||||||
|
private Integer priorityId; // 优先级 0-普通 1-加急
|
||||||
|
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||||
|
private String expressName; // 快递名称
|
||||||
|
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||||
|
private Long addressId; // 回寄地址
|
||||||
|
private String siteImg; // 现场照片
|
||||||
|
private Integer repairWorkOrderFlow; // 工单去向 0=工单池 1=检修员
|
||||||
|
private Integer receiverType; // 接单类型 0-区域派单;1-距离派单
|
||||||
|
private BigDecimal orderDistance; // 订单距离
|
||||||
|
}
|
|
@ -23,11 +23,7 @@ public class RepairOrder implements Serializable {
|
||||||
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-检测中;4-待客户确认;5-维修中;6-已完成;7-已退单;8-已关闭
|
||||||
private Long clientId; // 客户id
|
private Long clientId; // 客户id
|
||||||
private Long equipmentId; // 设备id
|
private Long equipmentId; // 设备id
|
||||||
private String clientName; // 客户名称
|
|
||||||
private String clientContacts; // 客户联系人
|
|
||||||
private String clientPhone; // 客户联系电话
|
|
||||||
private String faultDescription; // 故障描述
|
private String faultDescription; // 故障描述
|
||||||
private String equipmentName; // 设备名称
|
|
||||||
private String moduleNumber; // 模块号
|
private String moduleNumber; // 模块号
|
||||||
private String brand; // 品牌
|
private String brand; // 品牌
|
||||||
private String moduleImg; // 模块图片
|
private String moduleImg; // 模块图片
|
||||||
|
@ -59,7 +55,7 @@ public class RepairOrder implements Serializable {
|
||||||
private Long maintenanceOrderId; // 检修单id
|
private Long maintenanceOrderId; // 检修单id
|
||||||
private Long userId; // 送修人
|
private Long userId; // 送修人
|
||||||
private Integer priorityId; // 优先级 0-普通 1-加急
|
private Integer priorityId; // 优先级 0-普通 1-加急
|
||||||
private String logisticsMode; // 物流方式
|
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
|
||||||
private String expressName; // 快递名称
|
private String expressName; // 快递名称
|
||||||
private String expressNo; // 快递单号
|
private String expressNo; // 快递单号
|
||||||
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
private Integer returnOrNot; // 是否回寄(0=是 1=否)
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
package com.hcy.common.enums.order;
|
||||||
|
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检修工单梅举
|
||||||
|
* @author dabin
|
||||||
|
*/
|
||||||
|
public enum RepairOrderStatusEnum {
|
||||||
|
|
||||||
|
//订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检
|
||||||
|
WAITING_LIST(0,"待抢单"),
|
||||||
|
PENDING_ORDER(1,"待接单"),
|
||||||
|
ORDER_TIMEOUT(2,"接单超时"),
|
||||||
|
CHECKING(3,"检测中"),
|
||||||
|
WAIT_CONFIRMATION(4,"待确认"),
|
||||||
|
MAINTENANCE_ING(5,"维修中"),
|
||||||
|
FINISHED(6,"已完成"),
|
||||||
|
CHARGEBACK(7,"已退单"),
|
||||||
|
CLOSED(8,"已关闭"),
|
||||||
|
|
||||||
|
NEAREST_TO_ME(0,"离我最近"),
|
||||||
|
TIME_PRIORITY(1,"时间优先"),
|
||||||
|
|
||||||
|
CLIENT(0,"客户端"),
|
||||||
|
REPAIRER(1,"检修员"),
|
||||||
|
|
||||||
|
MAINTAIN(0,"维修"),
|
||||||
|
NOT_MAINTAIN(1,"不维修"),
|
||||||
|
|
||||||
|
MY_WAREHOUSE(0,"我的仓库"),
|
||||||
|
PUBLIC_WAREHOUSE(1,"全部仓库"),;
|
||||||
|
|
||||||
|
private final int status;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
RepairOrderStatusEnum(int status, String desc) {
|
||||||
|
this.status = status;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取状态码
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
* @author dabin
|
||||||
|
*/
|
||||||
|
public int getStatus() {
|
||||||
|
return this.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取提示
|
||||||
|
*
|
||||||
|
* @return String
|
||||||
|
* @author dabin
|
||||||
|
*/
|
||||||
|
public String getDesc() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<Integer, String> getMap() {
|
||||||
|
Map<Integer, String> map = Maps.newHashMap();
|
||||||
|
for (RepairOrderStatusEnum maintenanceOrderStatusEnum : RepairOrderStatusEnum.values()) {
|
||||||
|
map.put(maintenanceOrderStatusEnum.status, maintenanceOrderStatusEnum.desc);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,13 +1,25 @@
|
||||||
package com.hcy.common.mapper.order;
|
package com.hcy.common.mapper.order;
|
||||||
|
|
||||||
|
|
||||||
|
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.RoutingInspectionOrderDto;
|
||||||
|
import com.hcy.common.dto.order.RepairOrderDto;
|
||||||
import com.hcy.common.entity.order.RepairOrder;
|
import com.hcy.common.entity.order.RepairOrder;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修订单Mapper
|
* 维修订单Mapper
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface RepairOrderMapper extends IBaseMapper<RepairOrder> {
|
public interface RepairOrderMapper extends IBaseMapper<RepairOrder> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修单列表
|
||||||
|
* @param page
|
||||||
|
* @param form
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Page<RepairOrderDto> pageList(@Param("page") Page page, @Param("form") RepairOrderDto form);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.hcy.common.mapper.order.RepairOrderMapper">
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
|
||||||
|
<select id="pageList" resultType="com.hcy.common.dto.order.RepairOrderDto">
|
||||||
|
select ro.*,u1.username as creatorName,u2.username as receiverName,c.client_name as clientName
|
||||||
|
from la_repair_order as ro
|
||||||
|
LEFT JOIN la_client as c on ro.client_id = c.id
|
||||||
|
LEFT JOIN la_user as u1 on ro.creator_id = u1.id
|
||||||
|
LEFT JOIN la_user as u2 on ro.receiver_id = u2.id
|
||||||
|
where
|
||||||
|
ro.is_delete = 0
|
||||||
|
<if test="form.id != null">
|
||||||
|
and ro.id = #{form.id}
|
||||||
|
</if>
|
||||||
|
<if test="form.orderNo != null and form.orderNo != ''">
|
||||||
|
and ro.order_no like concat('%', #{form.orderNo}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="form.orderSource != null">
|
||||||
|
and ro.order_source = #{form.orderSource}
|
||||||
|
</if>
|
||||||
|
<if test="form.clientName != null and form.clientName != ''">
|
||||||
|
and c.client_name LIKE concat('%', #{form.clientName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="form.priorityId != null">
|
||||||
|
and ro.priority_id = #{form.priorityId}
|
||||||
|
</if>
|
||||||
|
<if test="form.creatorName != null and form.creatorName != ''">
|
||||||
|
and u1.username LIKE concat('%', #{form.creatorName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="form.receiverName != null and form.receiverName != ''">
|
||||||
|
and u2.username LIKE concat('%', #{form.receiverName}, '%')
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue