diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java index dbc9adb..044dcbc 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java @@ -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 lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper() .eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE) - .like(MaintenanceOrder::getOrderNo, formatDate)); + .like(MaintenanceOrder::getOrderNo, formatDate) + .orderByDesc(MaintenanceOrder::getOrderNo) + .last("limit 1")); //当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据 - if (maintenanceOrder == null) { + if (lastmMaintenanceOrder == null) { return currentOrderNo.toString(); } else { - MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper() - .eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE) - .like(MaintenanceOrder::getOrderNo, formatDate) - .orderByDesc(MaintenanceOrder::getOrderNo)); 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); } diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java index 7f62d8b..e28c23a 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java @@ -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); } diff --git a/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java b/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java index 814fc97..8f9406f 100644 --- a/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java @@ -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; //设备编号 diff --git a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java index 24446b2..ef762c3 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java @@ -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; // 接单人姓名 } diff --git a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java index fa342c8..7899242 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java @@ -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; //设备编号 diff --git a/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java b/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java index 167d156..414178e 100644 --- a/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java +++ b/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java @@ -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; //设备编号 diff --git a/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java b/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java index 84b1af7..cf7b990 100644 --- a/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java +++ b/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java @@ -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=可接单) } diff --git a/common/src/main/java/com/hcy/common/enums/order/MaintenanceOrderStatusEnum.java b/common/src/main/java/com/hcy/common/enums/order/MaintenanceOrderStatusEnum.java index 9a4cf55..25b3897 100644 --- a/common/src/main/java/com/hcy/common/enums/order/MaintenanceOrderStatusEnum.java +++ b/common/src/main/java/com/hcy/common/enums/order/MaintenanceOrderStatusEnum.java @@ -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; diff --git a/common/src/main/resources/mapper/MaintenanceOrderMapper.xml b/common/src/main/resources/mapper/MaintenanceOrderMapper.xml index 5666319..eb3e299 100644 --- a/common/src/main/resources/mapper/MaintenanceOrderMapper.xml +++ b/common/src/main/resources/mapper/MaintenanceOrderMapper.xml @@ -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, diff --git a/common/target/classes/mapper/MaintenanceOrderMapper.xml b/common/target/classes/mapper/MaintenanceOrderMapper.xml index 5666319..eb3e299 100644 --- a/common/target/classes/mapper/MaintenanceOrderMapper.xml +++ b/common/target/classes/mapper/MaintenanceOrderMapper.xml @@ -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,