【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.validate.order.RepairOrderParam;
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.RepairOrderDetailVo;
import com.hcy.common.core.AjaxResult;
@ -30,15 +31,16 @@ public class RepairOrderController {
*
* @author hcy
* @param pageParam
* @param params
* @param repairOrderParam
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<RepairOrderListVo> list = iRepairOrderService.list(pageParam, params);
RepairOrderParam repairOrderParam) {
PageResult<RepairOrderListVo> list = iRepairOrderService.list(pageParam, repairOrderParam);
return AjaxResult.success(list);
}
/**
*
*
@ -94,4 +96,46 @@ public class RepairOrderController {
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
* @param pageParam
* @param params
* @param repairOrderParam
* @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);
/**
*
* @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.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
import com.hcy.admin.AdminThreadLocal;
import com.hcy.admin.service.order.IRepairOrderService;
import com.hcy.admin.validate.common.PageParam;
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.RepairOrderDetailVo;
import com.hcy.common.constant.GlobalConstant;
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.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.RepairOrderStatusEnum;
import com.hcy.common.mapper.client.ClientMapper;
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.TimeUtil;
import com.hcy.common.utils.UrlUtil;
@ -37,36 +50,54 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
@Resource
RepairOrderMapper repairOrderMapper;
@Resource
SystemAuthAdminMapper systemAuthAdminMapper;
@Resource
PlantMapper plantMapper;
@Resource
UserMapper userMapper;
@Resource
ClientMapper clientMapper;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @param repairOrderParam
* @return PageResult<RepairOrderListVo>
*/
@Override
public PageResult<RepairOrderListVo> list(PageParam pageParam, Map<String, String> params) {
public PageResult<RepairOrderListVo> list(PageParam pageParam, RepairOrderParam repairOrderParam) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
QueryWrapper<RepairOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("id");
RepairOrderDto repairOrderDto = new RepairOrderDto();
BeanUtils.copyProperties(repairOrderParam,repairOrderDto);
repairOrderMapper.setSearch(queryWrapper, params, new String[]{
"=: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);
IPage<RepairOrderDto> iPage = repairOrderMapper.pageList(new Page<>(page, limit), repairOrderDto);
List<RepairOrderListVo> list = new LinkedList<>();
for(RepairOrder item : iPage.getRecords()) {
for(RepairOrderDto item : iPage.getRecords()) {
RepairOrderListVo vo = new RepairOrderListVo();
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.setUpdateTime(item.getUpdateTime());
list.add(vo);
@ -95,6 +126,35 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
RepairOrderDetailVo vo = new RepairOrderDetailVo();
BeanUtils.copyProperties(model, vo);
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;
}
@ -108,28 +168,32 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
public void add(RepairOrderParam repairOrderParam) {
RepairOrder model = new RepairOrder();
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.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.setEquipmentId(repairOrderParam.getEquipmentId()); // 设备id
model.setClientName(repairOrderParam.getClientName()); // 客户名称
model.setClientContacts(repairOrderParam.getClientContacts()); // 客户联系人
model.setClientPhone(repairOrderParam.getClientPhone()); // 客户联系电话
model.setFaultDescription(repairOrderParam.getFaultDescription()); // 故障描述
model.setEquipmentName(repairOrderParam.getEquipmentName()); // 设备名称
model.setModuleNumber(repairOrderParam.getModuleNumber()); // 模块号
model.setBrand(repairOrderParam.getBrand()); // 品牌
model.setModuleImg(repairOrderParam.getModuleImg()); // 模块图片
model.setRemark(repairOrderParam.getRemark()); // 备注
model.setCreatorId(repairOrderParam.getCreatorId()); // 创建人id
model.setCreateTime(repairOrderParam.getCreateTime()); // 创建时间
model.setMaintenanceOrderId(repairOrderParam.getMaintenanceOrderId()); // 检修单id
model.setPriorityId(repairOrderParam.getPriorityId()); // 优先级 0-普通 1-加急
model.setLogisticsMode(repairOrderParam.getLogisticsMode()); // 物流方式
model.setLogisticsMode(repairOrderParam.getLogisticsMode()); // 物流方式 0-物流快递 1=自领带回
model.setExpressName(repairOrderParam.getExpressName()); // 快递名称
model.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄0=是 1=否)
model.setAddressId(repairOrderParam.getAddressId()); // 回寄地址
model.setSiteImg(repairOrderParam.getSiteImg()); // 现场照片
// 获取当前的用户
String adminId = AdminThreadLocal.get("adminId").toString();
model.setCreatorId(Long.valueOf(adminId)); // 创建人id
model.setCreateTime(new Date()); //创建时间
repairOrderMapper.insert(model);
}
@ -149,15 +213,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
Assert.notNull(model, "数据不存在!");
model.setId(repairOrderParam.getId());
model.setOrderNo(repairOrderParam.getOrderNo());
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.setClientId(repairOrderParam.getClientId()); // 客户id
model.setEquipmentId(repairOrderParam.getEquipmentId()); //设备id
model.setFaultDescription(repairOrderParam.getFaultDescription());
model.setModuleNumber(repairOrderParam.getModuleNumber());
model.setBrand(repairOrderParam.getBrand());
@ -227,4 +284,71 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
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 javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -74,9 +75,6 @@ public class RepairOrderParam implements Serializable {
@DecimalMin(value = "0", message = "priorityId参数值不能少于0", groups = {create.class, update.class})
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})
private String expressName;
@ -90,5 +88,13 @@ public class RepairOrderParam implements Serializable {
private String siteImg;
private String equipmentName; // 设备名称
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 java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -15,8 +16,8 @@ public class RepairOrderDetailVo implements Serializable {
private Long id; // 主键id
private String orderNo; // 订单编号
private Long orderSource; // 订单来源 0-客户上报1-系统创建2-维修员创建3-检修员创建4-客服创建5-维修主管创建
private Long orderStatus; // 订单状态 0-待抢单1-待接单2-接单超时3-检测中4-待客户确认5-维修中6-已完成7-已退单8-已关闭
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; // 客户名称
@ -25,15 +26,25 @@ public class RepairOrderDetailVo implements Serializable {
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 Long priorityId; // 优先级 0-普通 1-加急
private String logisticsMode; // 物流方式
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
private String expressName; // 快递名称
private Integer returnOrNot; // 是否回寄0=是 1=否)
private Long addressId; // 回寄地址
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 String orderNo; // 订单编号
private Long orderSource; // 订单来源 0-客户上报1-系统创建2-维修员创建3-检修员创建4-客服创建5-维修主管创建
private Long orderStatus; // 订单状态 0-待抢单1-待接单2-接单超时3-检测中4-待客户确认5-维修中6-已完成7-已退单8-已关闭
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; // 客户名称
@ -26,17 +26,20 @@ public class RepairOrderListVo implements Serializable {
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 Long priorityId; // 优先级 0-普通 1-加急
private String logisticsMode; // 物流方式
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
private String expressName; // 快递名称
private Integer returnOrNot; // 是否回寄0=是 1=否)
private Long addressId; // 回寄地址
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 Long clientId; // 客户id
private Long equipmentId; // 设备id
private String clientName; // 客户名称
private String clientContacts; // 客户联系人
private String clientPhone; // 客户联系电话
private String faultDescription; // 故障描述
private String equipmentName; // 设备名称
private String moduleNumber; // 模块号
private String brand; // 品牌
private String moduleImg; // 模块图片
@ -59,7 +55,7 @@ public class RepairOrder implements Serializable {
private Long maintenanceOrderId; // 检修单id
private Long userId; // 送修人
private Integer priorityId; // 优先级 0-普通 1-加急
private String logisticsMode; // 物流方式
private Integer logisticsMode; // 物流方式 0-物流快递 1=自领带回
private String expressName; // 快递名称
private String expressNo; // 快递单号
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;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
*/
@Mapper
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>