【admin】新增&优化 # 1、优化维修单新增、编辑、列表、详情 2、新增维修单修改派单方式、修改抢单范围、重新派工

dev
renfan 2024-08-26 23:58:16 +08:00
parent 82dcd93395
commit b107d04592
11 changed files with 418 additions and 51 deletions

View File

@ -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();
}
} }

View File

@ -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);
} }

View File

@ -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);
}
} }

View File

@ -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=检修员
} }

View File

@ -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=检修员
} }

View File

@ -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; //管辖工厂名
} }

View File

@ -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; // 订单距离
}

View File

@ -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=否)

View File

@ -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;
}
}

View File

@ -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);
} }

View File

@ -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>