【admin】新增# 1.新增工单去向 2.新增检修详情

dev
dabin 2024-08-21 20:15:42 +08:00
parent ab69f6bb85
commit f770a71adf
10 changed files with 94 additions and 25 deletions

View File

@ -14,11 +14,21 @@ import com.hcy.admin.vo.order.MaintenanceOrderDetailVo;
import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.core.PageResult;
import com.hcy.common.dto.order.MaintenanceOrderDto;
import com.hcy.common.entity.client.Client;
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.system.SystemAuthAdmin;
import com.hcy.common.entity.user.User;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
import com.hcy.common.enums.order.OrderStateEnum;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.client.ClientMapper;
import com.hcy.common.mapper.client.EquipmentMapper;
import com.hcy.common.mapper.fault.FaultMapper;
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
import com.hcy.common.mapper.user.UserMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
@ -39,6 +49,21 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
@Resource
IDevRegionService regionService;
@Resource
ClientMapper clientMapper;
@Resource
EquipmentMapper equipmentMapper;
@Resource
SystemAuthAdminMapper systemAuthAdminMapper;
@Resource
FaultMapper faultMapper;
@Resource
UserMapper userMapper;
/**
*
*
@ -91,6 +116,29 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
MaintenanceOrderDetailVo vo = new MaintenanceOrderDetailVo();
BeanUtils.copyProperties(model, vo);
//设置客户信息
Client client = clientMapper.selectById(model.getClientId());
vo.setClientName(client.getClientName());
//设置设备信息
Equipment equipment = equipmentMapper.selectById(model.getEquipmentId());
vo.setEquipment(equipment);
//设置接收人姓名
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectById(model.getCreatorId());
vo.setCreatorName(systemAuthAdmin.getNickname());
//设置接单人名称
User user = userMapper.selectById(model.getReceiverId());
if(user != null){
vo.setReceiverName(user.getNickname());
}
//设置故障名称
Fault fault = faultMapper.selectById(model.getFaultId());
vo.setFaultName(fault.getName());
return vo;
}
@ -105,8 +153,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
BeanUtils.copyProperties(maintenanceOrderParam, model);
//订单去向
Integer orderDestination = maintenanceOrderParam.getOrderDestination();
if (orderDestination == OrderStateEnum.WORK_ORDER_TANK.getStatus()) {
Integer repairWorkOrderFlow = maintenanceOrderParam.getRepairWorkOrderFlow();
if (repairWorkOrderFlow == OrderStateEnum.WORK_ORDER_TANK.getStatus()) {
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus());
} else {
model.setOrderStatus(OrderStateEnum.REPAIRER.getStatus());
@ -124,28 +172,27 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
String formatDate = simpleDateFormat.format(new Date());
StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001");
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper<MaintenanceOrder>()
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
.like(MaintenanceOrder::getOrderNo, formatDate));
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
if (maintenanceOrder == null) {
return currentOrderNo.toString();
} else {
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper<MaintenanceOrder>()
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
.like(MaintenanceOrder::getOrderNo, formatDate)
.orderByDesc(MaintenanceOrder::getOrderNo));
.orderByDesc(MaintenanceOrder::getOrderNo)
.last("limit 1"));
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
if (lastmMaintenanceOrder == null) {
return currentOrderNo.toString();
} else {
int lastOrderNo = Integer.parseInt(lastmMaintenanceOrder.getOrderNo().substring(8));
int newOrderNoLength = String.valueOf(lastOrderNo + 1).length();
int length = String.valueOf((lastOrderNo + 1)).length();
StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + "");
//如果流水号长度小于6位则在前面补0
if (newOrderNoLength < 6) {
for (int i = 0; i < 6 - newOrderNoLength; i++) {
currentOrderNo.append("0");
if (length < 6) {
for (int i = 0; i < 6 - length; i++) {
newOrderNo.insert(0, "0");
}
}
return formatDate + currentOrderNo;
return formatDate + newOrderNo;
}
}
@ -166,7 +213,15 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
if(param.getOrderStatus() == MaintenanceOrderStatusEnum.WAITING_LIST.getStatus() ||
param.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
model.setReceiverId(param.getReceiverId());
model.setReceiverType(param.getReceiverType());
model.setOrderDistance(param.getOrderDistance());
model.setProvinceId(param.getProvinceId());
model.setCityId(param.getCityId());
model.setDistrictId(param.getDistrictId());
model.setFaultId(param.getFaultId());
model.setFaultDescription(param.getFaultDescription());
model.setRemark(param.getRemark());
}else{
throw new OperateException("工单已被接单,无法编辑");
}
@ -189,7 +244,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
Assert.notNull(model, "数据不存在!");
model.setIsDelete(1);
if(model.getOrderStatus() == MaintenanceOrderStatusEnum.WAITING_LIST.getStatus() ||
model.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus() ||
model.getOrderStatus() == MaintenanceOrderStatusEnum.CLOSED.getStatus()) {
model.setIsDelete(GlobalConstant.DELETE);
}else{
throw new OperateException("当前工单状态,无法被删除");
}
maintenanceOrderMapper.updateById(model);
}

View File

@ -375,7 +375,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
model.setAge(systemAuthAdminParam.getAge());
model.setEmail(systemAuthAdminParam.getEmail());
model.setTechnicalGrade(systemAuthAdminParam.getTechnicalGrade());
model.setReceiveOrderStatus(systemAuthAdminParam.getReceiveOrderStatus()); // 接单状态
systemAuthAdminMapper.insert(model);
}

View File

@ -92,8 +92,8 @@ public class MaintenanceOrderParam implements Serializable {
/**
* 0- 1-
*/
@NotNull(message = "orderDestination参数缺失", groups = {create.class, update.class})
private Integer orderDestination;
@NotNull(message = "repairWorkOrderFlow参数缺失", groups = {create.class, update.class})
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
private String faultName; //故障名称
private String equipmentNo; //设备编号

View File

@ -1,5 +1,7 @@
package com.hcy.admin.vo.order;
import com.hcy.admin.vo.client.EquipmentDetailVo;
import com.hcy.common.entity.client.Equipment;
import lombok.Data;
import java.io.Serializable;
@ -41,6 +43,11 @@ public class MaintenanceOrderDetailVo implements Serializable {
private Date orderAccomplishTime; // 订单完成时间
private Long familiarFaultId; // 常见维修结论id
private String familiarFaultDescription; // 常见维修结论描述
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
private String clientName; // 客户姓名
private Equipment equipment; //设备信息
private String faultName; //故障名称
private String creatorName; // 创建人姓名
private String receiverName; // 接单人姓名
}

View File

@ -43,6 +43,7 @@ public class MaintenanceOrderListVo implements Serializable {
private String familiarFaultDescription; // 常见维修结论描述
private Date createTime; // 创建时间
private Date updateTime; // 更新时间
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
private String faultName; //故障名称
private String equipmentNo; //设备编号

View File

@ -44,6 +44,7 @@ public class MaintenanceOrderDto implements Serializable {
private Date createTime; // 创建时间
private Date updateTime; // 更新时间
private Integer isDelete; // 是否删除 0-未删除 1-删除
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
private String faultName; //故障名称
private String equipmentNo; //设备编号

View File

@ -46,5 +46,4 @@ public class SystemAuthAdmin implements Serializable {
private String technicalGrade; // 技术等级
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long userId; //用户id
private Integer receiveOrderStatus; //接单状态0=休假/停止接单中 1=作业中 2=可接单)
}

View File

@ -18,8 +18,8 @@ public enum MaintenanceOrderStatusEnum {
WAIT_CONFIRMATION(4,"待确认"),
MAINTENANCE_ING(5,"维修中"),
FINISHED(6,"已完成"),
CHARGEBACK(6,"已退单"),
CLOSED(6,"已关闭");
CHARGEBACK(7,"已退单"),
CLOSED(8,"已关闭");
private final int status;
private final String desc;

View File

@ -10,7 +10,7 @@
le.number as equipmentNo,
le.name as equipmentName,
le.detailed_address as detailedAddress,
lsaa.username as creatorName,
lsaa.nickname as creatorName,
lu.username as receiverName,
le.province_id as equipmentProvinceId,
le.district_id as equipmentDistrictId,

View File

@ -10,7 +10,7 @@
le.number as equipmentNo,
le.name as equipmentName,
le.detailed_address as detailedAddress,
lsaa.username as creatorName,
lsaa.nickname as creatorName,
lu.username as receiverName,
le.province_id as equipmentProvinceId,
le.district_id as equipmentDistrictId,