【admin&front】新增&修复# 1、新增维修单、巡检单工单记录 2、优化数据大屏设备总数、工单总数、今日工单总数根据用户id查询
parent
42b44cdf83
commit
a53b42f186
|
@ -112,8 +112,8 @@ public class LargeDataScreenController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/allNumber")
|
||||
public Object allNumber() {
|
||||
LargeDataVo largeDataVo = iLargeDataScreenService.allNumber();
|
||||
public Object allNumber(Integer clientId) {
|
||||
LargeDataVo largeDataVo = iLargeDataScreenService.allNumber(clientId);
|
||||
return AjaxResult.success(largeDataVo);
|
||||
}
|
||||
|
||||
|
|
|
@ -55,19 +55,6 @@ public class RepairOrderController {
|
|||
return AjaxResult.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 维修订单新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param repairOrderParam 参数
|
||||
* @return Object
|
||||
*/
|
||||
@Log(title = "维修订单新增")
|
||||
@PostMapping("/add")
|
||||
public Object add(@Validated(value = RepairOrderParam.create.class) @RequestBody RepairOrderParam repairOrderParam) {
|
||||
iRepairOrderService.add(repairOrderParam);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 维修订单编辑
|
||||
|
|
|
@ -42,7 +42,7 @@ public interface ILargeDataScreenService {
|
|||
* 获取客户总数、设备总数、工单总数、今日工单总数
|
||||
* @return
|
||||
*/
|
||||
LargeDataVo allNumber();
|
||||
LargeDataVo allNumber(Integer clientId);
|
||||
|
||||
/**
|
||||
* 获取检修员列表
|
||||
|
|
|
@ -152,7 +152,7 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public LargeDataVo allNumber() {
|
||||
public LargeDataVo allNumber(Integer clientId) {
|
||||
LargeDataVo vo = new LargeDataVo();
|
||||
//客户总数
|
||||
Integer clientCount = clientMapper.selectCount(
|
||||
|
@ -160,43 +160,51 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService {
|
|||
.eq("is_delete", GlobalConstant.NOT_DELETE));
|
||||
//设备总数
|
||||
Integer equipmentCount = equipmentMapper.selectCount(
|
||||
new QueryWrapper<Equipment>()
|
||||
.eq("is_delete", GlobalConstant.NOT_DELETE));
|
||||
new LambdaQueryWrapper<Equipment>()
|
||||
.eq(Equipment::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(clientId != null, Equipment::getClientId, clientId));
|
||||
|
||||
//工单总数=检修单总数+维修单总数+巡检单总数
|
||||
//巡检单总数
|
||||
Integer routingInspectionOrderCount = routingInspectionOrderMapper.selectCount(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
.eq("is_delete", GlobalConstant.NOT_DELETE));
|
||||
new LambdaQueryWrapper<RoutingInspectionOrder>()
|
||||
.eq(RoutingInspectionOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(clientId != null, RoutingInspectionOrder::getClientId, clientId));
|
||||
//检修单总数
|
||||
Integer maintenanceOrderCount = maintenanceOrderMapper.selectCount(
|
||||
new QueryWrapper<MaintenanceOrder>()
|
||||
.eq("is_delete", GlobalConstant.NOT_DELETE));
|
||||
new LambdaQueryWrapper<MaintenanceOrder>()
|
||||
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(clientId != null, MaintenanceOrder::getClientId, clientId));
|
||||
//维修单总数
|
||||
Integer repairOrderCount = repairOrderMapper.selectCount(
|
||||
new LambdaQueryWrapper<RepairOrder>()
|
||||
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE));
|
||||
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(clientId != null, RepairOrder::getClientId, clientId));
|
||||
|
||||
//今日工单总数=今日检修单总数+今日维修单总数+今日巡检单总数
|
||||
LocalDateTime startTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN);
|
||||
LocalDateTime endTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MAX);
|
||||
LocalDateTime startTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN);// 开始时间
|
||||
LocalDateTime endTime = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MAX);// 结束时间
|
||||
//今日检修单总数
|
||||
Integer todayRoutingInspectionOrderCount = routingInspectionOrderMapper.selectCount(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
.eq("is_delete", GlobalConstant.NOT_DELETE)
|
||||
.ge("create_time", Timestamp.valueOf(startTime)) // 开始时间
|
||||
.le("create_time", Timestamp.valueOf(endTime))); // 结束时间
|
||||
new LambdaQueryWrapper<RoutingInspectionOrder>()
|
||||
.eq(RoutingInspectionOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.ge(RoutingInspectionOrder::getCreateTime, Timestamp.valueOf(startTime))
|
||||
.le(RoutingInspectionOrder::getCreateTime, Timestamp.valueOf(endTime))
|
||||
.eq(clientId != null, RoutingInspectionOrder::getClientId, clientId));
|
||||
//今日检修单总数
|
||||
Integer todayMaintenanceOrderCount = maintenanceOrderMapper.selectCount(
|
||||
new QueryWrapper<MaintenanceOrder>()
|
||||
.eq("is_delete", GlobalConstant.NOT_DELETE)
|
||||
.ge("create_time", Timestamp.valueOf(startTime)) // 开始时间
|
||||
.le("create_time", Timestamp.valueOf(endTime))); // 结束时间
|
||||
new LambdaQueryWrapper<MaintenanceOrder>()
|
||||
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.ge(MaintenanceOrder::getCreateTime, Timestamp.valueOf(startTime))
|
||||
.le(MaintenanceOrder::getCreateTime, Timestamp.valueOf(endTime))
|
||||
.eq(clientId != null, MaintenanceOrder::getClientId, clientId));
|
||||
//今日维修单总数
|
||||
Integer todayRepairOrderCount = repairOrderMapper.selectCount(
|
||||
new LambdaQueryWrapper<RepairOrder>()
|
||||
.eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.ge(RepairOrder::getCreateTime, Timestamp.valueOf(startTime))
|
||||
.le(RepairOrder::getCreateTime, Timestamp.valueOf(endTime)));
|
||||
.le(RepairOrder::getCreateTime, Timestamp.valueOf(endTime))
|
||||
.eq(clientId != null, RepairOrder::getClientId, clientId));
|
||||
|
||||
vo.setClientSum(clientCount); // 客户总数
|
||||
vo.setEquipmentSum(equipmentCount); // 设备总数
|
||||
|
|
|
@ -40,4 +40,21 @@ public interface IOrderOperateRecordService {
|
|||
* @param description 内容
|
||||
*/
|
||||
void addRepairOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
|
||||
/**
|
||||
* 新增操作巡检单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRoutingInspectionOrder(Long orderId,String titleDsc,String description);
|
||||
|
||||
/**
|
||||
* 新增操作巡检单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param dscType 内容类型
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRoutingInspectionOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
}
|
||||
|
|
|
@ -32,14 +32,6 @@ public interface IRepairOrderService {
|
|||
*/
|
||||
RepairOrderDetailVo detail(Integer id);
|
||||
|
||||
/**
|
||||
* 维修订单新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param repairOrderParam 参数
|
||||
*/
|
||||
void add(RepairOrderParam repairOrderParam);
|
||||
|
||||
/**
|
||||
* 维修订单编辑
|
||||
*
|
||||
|
|
|
@ -60,4 +60,25 @@ public class OrderOperateRecordServiceImpl implements IOrderOperateRecordService
|
|||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRoutingInspectionOrder(Long orderId,String titleDsc,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.ADDROUTING_INSPECTION_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRoutingInspectionOrder(Long orderId,String titleDsc,Integer dscType,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.ADDROUTING_INSPECTION_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDscType(dscType);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ 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.order.OrderOperateRecord;
|
||||
import com.hcy.common.entity.order.RepairOrder;
|
||||
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||
import com.hcy.common.entity.plant.Plant;
|
||||
|
@ -35,6 +36,7 @@ import com.hcy.common.entity.user.User;
|
|||
import com.hcy.common.entity.warehouse.Warehouse;
|
||||
import com.hcy.common.enums.SparePartStockAuditEnum;
|
||||
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
||||
import com.hcy.common.enums.order.OrderStateEnum;
|
||||
import com.hcy.common.enums.order.RepairOrderStatusEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
|
@ -42,6 +44,7 @@ import com.hcy.common.mapper.address.UserAddressMapper;
|
|||
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.OrderOperateRecordMapper;
|
||||
import com.hcy.common.mapper.order.OrderSparePartMapper;
|
||||
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||
import com.hcy.common.mapper.plant.PlantMapper;
|
||||
|
@ -55,6 +58,7 @@ import com.hcy.common.utils.UrlUtil;
|
|||
import com.hcy.common.config.GlobalConfig;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
@ -104,6 +108,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
@Resource
|
||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||
|
||||
@Resource
|
||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||
|
||||
@Resource
|
||||
OrderOperateRecordMapper orderOperateRecordMapper;
|
||||
|
||||
/**
|
||||
* 维修订单列表
|
||||
*
|
||||
|
@ -323,48 +333,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
if(familiarFaultName != null){
|
||||
vo.setFamiliarFaultName(familiarFaultName.getName());
|
||||
}
|
||||
|
||||
//设置订单操作记录
|
||||
LambdaQueryWrapper<OrderOperateRecord> queryWrapper = new LambdaQueryWrapper<OrderOperateRecord>()
|
||||
.eq(OrderOperateRecord::getOrderType, OrderOperateRecordEnum.REPAIR.getStatus())
|
||||
.eq(OrderOperateRecord::getOrderId, model.getId());
|
||||
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 维修订单新增
|
||||
*
|
||||
* @author hcy
|
||||
* @param repairOrderParam 参数
|
||||
*/
|
||||
@Override
|
||||
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.setRepairWorkOrderFlow(OrderStateEnum.WORK_ORDER_TANK.getStatus()); // 工单去向 0=工单池 1=检修员
|
||||
model.setReceiverType(OrderStateEnum.REGIONAL_DISPATCH.getStatus()); // 接单类型 0-区域派单;1-距离派单
|
||||
|
||||
model.setClientId(repairOrderParam.getClientId()); // 客户id
|
||||
model.setEquipmentId(repairOrderParam.getEquipmentId()); // 设备id
|
||||
model.setFaultDescription(repairOrderParam.getFaultDescription()); // 故障描述
|
||||
model.setModuleNumber(repairOrderParam.getModuleNumber()); // 模块号
|
||||
model.setBrand(repairOrderParam.getBrand()); // 品牌
|
||||
model.setRemark(repairOrderParam.getRemark()); // 备注
|
||||
|
||||
model.setMaintenanceOrderId(repairOrderParam.getMaintenanceOrderId()); // 检修单id
|
||||
model.setPriorityId(repairOrderParam.getPriorityId()); // 优先级 0-普通 1-加急
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 维修订单编辑
|
||||
*
|
||||
|
@ -372,6 +349,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
* @param repairOrderParam 参数
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void edit(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder model = repairOrderMapper.selectOne(
|
||||
new QueryWrapper<RepairOrder>()
|
||||
|
@ -383,20 +361,31 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
model.setClientId(repairOrderParam.getClientId()); // 客户id
|
||||
model.setEquipmentId(repairOrderParam.getEquipmentId()); // 设备id
|
||||
|
||||
model.setModuleNumber(repairOrderParam.getModuleNumber()); // 模块号
|
||||
model.setBrand(repairOrderParam.getBrand()); // 品牌
|
||||
|
||||
model.setPriorityId(repairOrderParam.getPriorityId()); // 优先级 0-普通 1-加急
|
||||
model.setLogisticsMode(repairOrderParam.getLogisticsMode()); // 物流方式 0-物流快递 1=自领带回
|
||||
model.setExpressName(repairOrderParam.getExpressName()); // 快递名称
|
||||
model.setReturnOrNot(repairOrderParam.getReturnOrNot()); // 是否回寄(0=是 1=否)
|
||||
model.setRepairWorkOrderFlow(repairOrderParam.getRepairWorkOrderFlow()); // 工单去向 0=工单池 1=检修员
|
||||
model.setReceiverType(repairOrderParam.getReceiverType()); // 接单类型 0-区域派单;1-距离派单
|
||||
model.setReceiverId(repairOrderParam.getReceiverId()); // 接单人id
|
||||
model.setOrderDistance(repairOrderParam.getOrderDistance()); // 自动抢单最大距离
|
||||
model.setFaultDescription(repairOrderParam.getFaultDescription()); // 故障描述
|
||||
model.setRemark(repairOrderParam.getRemark()); // 备注
|
||||
model.setAddressId(repairOrderParam.getAddressId()); // 回寄地址
|
||||
//重新指派员工
|
||||
if(repairOrderParam.getReceiverId() != null && repairOrderParam.getId() != null){
|
||||
model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
|
||||
|
||||
User user = userMapper.selectById(repairOrderParam.getReceiverId());
|
||||
if(user != null){
|
||||
//新增订单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getId()
|
||||
, OrderOperateRecordEnum.APPOINT.getDesc()
|
||||
,"【"+AdminThreadLocal.get("username")+"】重新分配工单给检修员【"+user.getUsername()+"】");
|
||||
}
|
||||
}
|
||||
repairOrderMapper.updateById(model);
|
||||
}
|
||||
|
||||
|
@ -505,6 +494,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void reassignment(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder model = repairOrderMapper.selectOne(
|
||||
new QueryWrapper<RepairOrder>()
|
||||
|
@ -514,11 +504,25 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setReceiverId(repairOrderParam.getReceiverId());
|
||||
|
||||
//如果是退单状态,重新派工后状态改为待接单
|
||||
if(model.getOrderStatus() == OrderStateEnum.RETURNED_ORDER.getStatus()){
|
||||
model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());
|
||||
}
|
||||
repairOrderMapper.updateById(model);
|
||||
|
||||
//重新指派员工
|
||||
if(repairOrderParam.getReceiverId() != null && repairOrderParam.getId() != null){
|
||||
model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
|
||||
|
||||
User user = userMapper.selectById(repairOrderParam.getReceiverId());
|
||||
if(user != null){
|
||||
//新增订单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getId()
|
||||
,OrderOperateRecordEnum.APPOINT.getDesc()
|
||||
,"【"+AdminThreadLocal.get("username")+"】重新分配工单给检修员【"+user.getUsername()+"】");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,13 +19,17 @@ 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.order.OrderOperateRecord;
|
||||
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||
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.OrderOperateRecordEnum;
|
||||
import com.hcy.common.enums.order.OrderStateEnum;
|
||||
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.OrderOperateRecordMapper;
|
||||
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||
import com.hcy.common.mapper.user.UserMapper;
|
||||
|
@ -33,6 +37,7 @@ import com.hcy.common.utils.TimeUtil;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
@ -66,6 +71,12 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
@Resource
|
||||
private IDevRegionService regionService;
|
||||
|
||||
@Resource
|
||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||
|
||||
@Resource
|
||||
OrderOperateRecordMapper orderOperateRecordMapper;
|
||||
|
||||
/**
|
||||
* 巡检订单列表
|
||||
*
|
||||
|
@ -165,6 +176,12 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
if(authAdmin != null){
|
||||
vo.setCreatorName(authAdmin.getUsername());
|
||||
}
|
||||
|
||||
//设置订单操作记录
|
||||
LambdaQueryWrapper<OrderOperateRecord> queryWrapper = new LambdaQueryWrapper<OrderOperateRecord>()
|
||||
.eq(OrderOperateRecord::getOrderType, OrderOperateRecordEnum.ROUTING_INSPECTION.getStatus())
|
||||
.eq(OrderOperateRecord::getOrderId, model.getId());
|
||||
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
@ -175,6 +192,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
* @param routingInspectionOrderParam 参数
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void add(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||
RoutingInspectionOrder model = new RoutingInspectionOrder();
|
||||
|
||||
|
@ -209,6 +227,11 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
if(client != null && systemAuthAdmin != null && equipment != null){
|
||||
WebsocketHandler.sendMessageToClient("【"+systemAuthAdmin.getUsername()+"】于【"+TimeUtil.dateTransitionString(currentTime)+"】为客户【"+client.getClientName()+"】新建巡检工单,报修设备【"+equipment.getName()+"】;");
|
||||
}
|
||||
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||
, OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
||||
,"客户【"+AdminThreadLocal.get("username")+"】创建了巡检工单。");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -316,11 +339,25 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setReceiverId(routingInspectionOrderParam.getReceiverId());
|
||||
|
||||
//如果是退单状态,重新派工后状态改为待接单
|
||||
if(model.getOrderStatus() == OrderStateEnum.RETURNED_ORDER.getStatus()){
|
||||
model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());
|
||||
}
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
|
||||
//重新指派员工
|
||||
if(routingInspectionOrderParam.getReceiverId() != null && routingInspectionOrderParam.getId() != null){
|
||||
model.setOrderStatus(MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus());
|
||||
|
||||
User user = userMapper.selectById(routingInspectionOrderParam.getReceiverId());
|
||||
if(user != null){
|
||||
//新增订单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
,OrderOperateRecordEnum.APPOINT.getDesc()
|
||||
,"【"+AdminThreadLocal.get("username")+"】重新分配工单给检修员【"+user.getUsername()+"】");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -721,8 +721,8 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
|||
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
if(user != null){
|
||||
//新增检修单操作记录
|
||||
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getOrderId()
|
||||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||
,"仓管员【"+AdminThreadLocal.get("username")+"】完成审核,审核结果:不通过,审核意见:"+sparePartStockAuditParam.getPurchaseIdea()+"。系统会自动退回到检修员【"+user.getUsername()+"】重新报价。");
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.hcy.admin.vo.client.EquipmentModelDetailVo;
|
|||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.hcy.common.entity.address.UserAddress;
|
||||
import com.hcy.common.entity.client.Equipment;
|
||||
import com.hcy.common.entity.order.OrderOperateRecord;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -111,6 +112,7 @@ public class RepairOrderDetailVo implements Serializable {
|
|||
private Long userId; // 送修人
|
||||
|
||||
private Integer maintainType; // 客户维修类型 模块维修类型 0-全包 1-半包
|
||||
private List<OrderOperateRecord> orderOperateRecords; //订单操作记录
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
|
||||
import com.hcy.admin.vo.client.EquipmentListVo;
|
||||
import com.hcy.common.entity.client.Equipment;
|
||||
import com.hcy.common.entity.order.OrderOperateRecord;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
|
@ -13,6 +14,7 @@ import javax.validation.constraints.NotNull;
|
|||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* RoutingInspectionOrderVo
|
||||
|
@ -53,5 +55,6 @@ public class RoutingInspectionOrderDetailVo implements Serializable {
|
|||
private Integer inspectionResult; //巡检结果(0=正常 1=异常)
|
||||
private String inspectionPhoto; //巡检照片
|
||||
private String inspectionResultRemark; //巡检结果备注
|
||||
private List<OrderOperateRecord> orderOperateRecords; //订单操作记录
|
||||
|
||||
}
|
||||
|
|
|
@ -42,5 +42,4 @@ public class SystemAuthAdminVo implements Serializable {
|
|||
private String email; // 邮箱
|
||||
private String technicalGrade; // 技术等级
|
||||
private Integer receiveOrderStatus; //接单状态(0=休假/停止接单中 1=作业中 2=可接单)
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ public enum SparePartStockAuditEnum {
|
|||
|
||||
MAINTENANCE_ORDER(0, "检修工单"),
|
||||
REPAIR_ORDER(1, "维修工单"),
|
||||
ADDROUTING_INSPECTION_ORDER(2, "巡检工单"),
|
||||
|
||||
EXPRESSAGE(1,"物流快递"),
|
||||
SELF_TAKE(2,"自行取件"),
|
||||
|
|
|
@ -15,14 +15,20 @@ public enum OrderOperateRecordEnum {
|
|||
APPOINT(1,"分配"),
|
||||
ORDER_RECEIVING(2,"接单"),
|
||||
START_SERVICE(3,"开始服务"),
|
||||
START_ROUTING_INSPECTION(3,"开始巡检"),
|
||||
CUSTOMER_QUOTATION(4,"客户报价"),
|
||||
FAULT_DETECT(4,"故障检测"),
|
||||
CUSTOMER_CONFIRM(5,"客户确认"),
|
||||
INSPECTION_COMPLETED(5,"巡检完成"),
|
||||
SPARE_PARTS_RECEIVE(9,"配件领用"),
|
||||
UPLOADING_IN_MAINTENANCE(6, "上传维修中照片"),
|
||||
UPLOADING_AFTER_REPAIR(7, "上传维修后照片"),
|
||||
SPARE_PARTS_AUDIT_ONE(5,"备件领用一级审核"),
|
||||
SPARE_PARTS_AUDIT_TWO(6,"备件领用二级审核"),
|
||||
DELIVER_GOODS(7,"发货"),
|
||||
RECEIVE_GOODS(8,"收货"),
|
||||
FILL_IN_RECEIPT(10,"填写回单"),
|
||||
FILL_IN_SCRAP_FORM(10, "填写报废单"),
|
||||
FINISH(11,"完成"),
|
||||
REFUND(11,"退单"),
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.hcy.front.service.order;
|
||||
|
||||
import com.hcy.common.entity.order.RepairOrder;
|
||||
|
||||
/**
|
||||
* 订单操作记录服务接口类
|
||||
*/
|
||||
|
@ -21,4 +23,39 @@ public interface IOrderOperateRecordService {
|
|||
* @param description 内容
|
||||
*/
|
||||
void addMaintenanceOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
|
||||
/**
|
||||
* 新增操作维修单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRepairOrder(Long orderId,String titleDsc,String description);
|
||||
|
||||
/**
|
||||
* 新增操作维修单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param dscType 内容类型
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRepairOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
|
||||
/**
|
||||
* 新增操作巡检单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRoutingInspectionOrder(Long orderId,String titleDsc,String description);
|
||||
|
||||
/**
|
||||
* 新增操作巡检单记录
|
||||
* @param orderId 订单id
|
||||
* @param titleDsc 标题内容
|
||||
* @param dscType 内容类型
|
||||
* @param description 内容
|
||||
*/
|
||||
void addRoutingInspectionOrder(Long orderId,String titleDsc,Integer dscType,String description);
|
||||
|
||||
}
|
||||
|
|
|
@ -37,4 +37,46 @@ public class OrderOperateRecordServiceImpl implements IOrderOperateRecordService
|
|||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRepairOrder(Long orderId,String titleDsc,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRepairOrder(Long orderId,String titleDsc,Integer dscType,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.REPAIR_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDscType(dscType);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRoutingInspectionOrder(Long orderId,String titleDsc,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.ADDROUTING_INSPECTION_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRoutingInspectionOrder(Long orderId,String titleDsc,Integer dscType,String description) {
|
||||
OrderOperateRecord orderOperateRecord = new OrderOperateRecord();
|
||||
orderOperateRecord.setOrderId(orderId);
|
||||
orderOperateRecord.setOrderType(SparePartStockAuditEnum.ADDROUTING_INSPECTION_ORDER.getStatus());
|
||||
orderOperateRecord.setTitle(titleDsc);
|
||||
orderOperateRecord.setDscType(dscType);
|
||||
orderOperateRecord.setDescription(description);
|
||||
orderOperateRecordMapper.insert(orderOperateRecord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,14 +6,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hcy.common.constant.GlobalConstant;
|
||||
import com.hcy.common.core.PageResult;
|
||||
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
||||
import com.hcy.common.dto.order.OrderSparePart;
|
||||
import com.hcy.common.dto.order.RepairOrderDto;
|
||||
import com.hcy.common.entity.address.UserAddress;
|
||||
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.order.RepairOrder;
|
||||
import com.hcy.common.entity.plant.Plant;
|
||||
import com.hcy.common.entity.sparePart.SparePart;
|
||||
|
@ -24,6 +22,7 @@ import com.hcy.common.entity.warehouse.Warehouse;
|
|||
import com.hcy.common.enums.ClientStatusEnum;
|
||||
import com.hcy.common.enums.SparePartStockAuditEnum;
|
||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||
import com.hcy.common.enums.equipment.EquipmentStateEnum;
|
||||
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
||||
import com.hcy.common.enums.order.OrderStateEnum;
|
||||
|
@ -48,14 +47,12 @@ import com.hcy.front.FrontThreadLocal;
|
|||
import com.hcy.front.service.order.IRepairOrderService;
|
||||
import com.hcy.front.service.region.IDevRegionService;
|
||||
import com.hcy.front.validate.PageParam;
|
||||
import com.hcy.front.validate.order.MaintenanceOrderParam;
|
||||
import com.hcy.front.validate.order.RepairOrderParam;
|
||||
import com.hcy.front.validate.warehouse.SparePartParam;
|
||||
import com.hcy.front.vo.address.UserAddressListVo;
|
||||
import com.hcy.front.vo.client.EquipmentListVo;
|
||||
import com.hcy.front.vo.order.*;
|
||||
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||
import com.sun.xml.internal.ws.resources.AddressingMessages;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -121,9 +118,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 工单池
|
||||
*
|
||||
* @param repairOrderParam
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<RepairOrderListVo> list(RepairOrderParam repairOrderParam) {
|
||||
|
@ -200,8 +194,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 统计工单状态数量
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public OrderStatusCountVo orderStatusCount(RepairOrderParam repairOrderParam) {
|
||||
|
@ -265,10 +257,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 确认服务报价
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void confirmServiceOfferPrice(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
@ -277,11 +268,42 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
if(repairOrderParam.getIsMaintain() == MaintenanceOrderStatusEnum.MAINTAIN.getStatus()){
|
||||
repairOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
||||
|
||||
Client client = clientMapper.findClientById(repairOrder.getClientId());
|
||||
if(client != null){
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||
,"客户【"+client.getClientName()+"】已确认报价。");
|
||||
}
|
||||
}else{
|
||||
repairOrder.setIsMaintain(MaintenanceOrderStatusEnum.NOT_MAINTAIN.getStatus());
|
||||
repairOrder.setRefuseMaintenanceCause(repairOrderParam.getRefuseMaintenanceCause()); // 拒绝维修原因
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
||||
repairOrder.setOrderAccomplishTime(new Date()); // 订单完成时间
|
||||
|
||||
Client client = clientMapper.findClientById(repairOrder.getClientId());
|
||||
if(client != null){
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||
,"客户【"+client.getClientName()+"】确定不维修;结束工单原因:"+repairOrder.getRefuseMaintenanceCause()+"。工单处理结束");
|
||||
}
|
||||
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
if(user != null){
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.FINISH.getDesc()
|
||||
,"【"+user.getUsername()+"】已经完成任务");
|
||||
}
|
||||
|
||||
//将设备状态修改成正常
|
||||
Equipment equipment = equipmentMapper.findEquipmentById(repairOrder.getEquipmentId());
|
||||
if(equipment != null){
|
||||
equipment.setDeviceStatus(EquipmentStateEnum.NORMAL.getStatus());
|
||||
equipmentMapper.updateById(equipment);
|
||||
}
|
||||
}
|
||||
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
@ -289,10 +311,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 确认报废
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void confirmedScrap(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
@ -306,31 +327,47 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
||||
repairOrder.setOrderAccomplishTime(new Date()); //订单完成时间
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
User user = userMapper.selectById(repairOrder.getReceiverId());
|
||||
if(user != null){
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.FINISH.getDesc()
|
||||
,"【"+user.getUsername()+"】已经完成任务");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传维修中、维修后照片
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void uploadPictures(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
if(repairOrderParam.getInMaintenanceImg() != null){
|
||||
repairOrder.setInMaintenanceImg(repairOrderParam.getInMaintenanceImg()); // 维修中照片
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.UPLOADING_IN_MAINTENANCE.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已上传维修中照片。");
|
||||
}else{
|
||||
repairOrder.setAfterRepairImg(repairOrderParam.getAfterRepairImg()); // 维修后照片
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.UPLOADING_AFTER_REPAIR.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已上传维修后照片。");
|
||||
}
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 填写报废单
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void scrapForm(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
@ -338,12 +375,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setExpressName(repairOrderParam.getExpressName()); // 快递名称
|
||||
repairOrder.setExpressNo(repairOrderParam.getExpressNo()); // 快递单号
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.FILL_IN_SCRAP_FORM.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已填写报废单。");
|
||||
}
|
||||
|
||||
/**
|
||||
* 填写回单
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
public void fillInReceipt(RepairOrderParam repairOrderParam) {
|
||||
|
@ -362,8 +402,19 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setOrderAccomplishTime(new Date()); // 订单完成时间
|
||||
repairOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||
repairOrder.setCompleteImg(repairOrderParam.getCompleteImg()); // 完工照片
|
||||
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//将设备状态修改成正常
|
||||
Equipment equipment = equipmentMapper.findEquipmentById(repairOrder.getEquipmentId());
|
||||
if(equipment != null){
|
||||
equipment.setDeviceStatus(EquipmentStateEnum.NORMAL.getStatus());
|
||||
equipmentMapper.updateById(equipment);
|
||||
}
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.FILL_IN_RECEIPT.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已经完成任务");
|
||||
}else{
|
||||
throw new OperateException("当前订单状态无法进行填写回单操作");
|
||||
}
|
||||
|
@ -371,8 +422,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 备件领用申请
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
|
@ -399,6 +448,11 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
|
||||
,"【"+FrontThreadLocal.get("username")+"】创建了【配件领用】单。选择仓库:自身仓库。");
|
||||
//我的仓库也要新增配件领用记录 并且状态是已完成
|
||||
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||
|
@ -416,14 +470,18 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(repairOrderParam);
|
||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus());
|
||||
sparePartStockAuditMapper.insert(sparePartStockAudit);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
|
||||
,"【"+FrontThreadLocal.get("username")+"】创建了配件领用申请单。");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认收货
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
|
@ -443,11 +501,11 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
resultSps.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||
sparePartStockAuditMapper.updateById(resultSps);
|
||||
|
||||
//新增检修单操作记录
|
||||
orderOperateRecordService.addMaintenanceOrder(repairOrder.getId()
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
, OrderOperateRecordEnum.RECEIVE_GOODS.getDesc()
|
||||
,"检修员【"+FrontThreadLocal.get("username")+"】已确认收货");
|
||||
orderOperateRecordService.addMaintenanceOrder(repairOrder.getId()
|
||||
,"维修员【"+FrontThreadLocal.get("username")+"】已确认收货");
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已完成配件领用");
|
||||
}else{
|
||||
|
@ -717,6 +775,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
* @param repairOrderParam 参数
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void add(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder model = new RepairOrder();
|
||||
model.setOrderNo(getOrderNo()); //工单编号
|
||||
|
@ -746,13 +805,18 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
model.setCreateTime(new Date()); //创建时间
|
||||
|
||||
repairOrderMapper.insert(model);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(model.getId()
|
||||
, OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
||||
,"维修主管【"+FrontThreadLocal.get("username")+"】创建了维修工单。");
|
||||
}
|
||||
|
||||
/**
|
||||
* 抢单
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void grabTheOrder(RepairOrderParam repairOrderParam) {
|
||||
RepairOrder repairOrder = repairOrderMapper.findRepairOrderById(repairOrderParam.getId());
|
||||
Assert.notNull(repairOrder, "数据不存在");
|
||||
|
@ -763,6 +827,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHECKING.getStatus());
|
||||
repairOrder.setReceiverTime(new Date());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||
,"维修人员【"+FrontThreadLocal.get("username")+"】已自主抢单。联系人:"
|
||||
+ FrontThreadLocal.get("username") + ",联系电话:"+FrontThreadLocal.get("mobile"));
|
||||
}else{
|
||||
throw new OperateException("订单已被其他人抢走");
|
||||
}
|
||||
|
@ -770,7 +840,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 接单
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
public void receivingOrder(RepairOrderParam repairOrderParam) {
|
||||
|
@ -781,6 +850,12 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHECKING.getStatus());
|
||||
repairOrder.setReceiverTime(new Date());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已自主接单。联系人:" +
|
||||
FrontThreadLocal.get("username") + ",联系电话:"+FrontThreadLocal.get("mobile"));
|
||||
}else{
|
||||
throw new OperateException("订单状态不正确");
|
||||
}
|
||||
|
@ -788,7 +863,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 退单
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
|
@ -805,6 +879,11 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.CLOSED.getStatus());
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.REFUND.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已退单。退单原因:"+repairOrder.getCancelCause());
|
||||
}else{
|
||||
throw new OperateException("当前订单状态不可退单");
|
||||
}
|
||||
|
@ -821,6 +900,11 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
}
|
||||
|
||||
repairOrderMapper.updateById(repairOrder);
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.REFUND.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已退单。退单原因:"+repairOrder.getCancelCause());
|
||||
}else{
|
||||
throw new OperateException("当前订单状态不可退单");
|
||||
}
|
||||
|
@ -830,7 +914,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
/**
|
||||
* 故障检测
|
||||
*
|
||||
* @param repairOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
|
@ -841,12 +924,23 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
repairOrder.setWarehouseType(repairOrderParam.getWarehouseType()); // 仓库类型 0-我的仓库 1-公共仓库
|
||||
repairOrder.setQuotationTime(new Date()); // 报价时间
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.CUSTOMER_QUOTATION.getDesc()
|
||||
,OrderOperateRecordEnum.QUOTATION.getStatus()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已经为客户发送服务报价。");
|
||||
|
||||
Client client = clientMapper.findClientById(repairOrder.getClientId());
|
||||
//判断当前客户是全包还是半包
|
||||
if(client.getMaintainType() == ClientStatusEnum.MODULE_MAINTENANCE_ALL_WRAPPED.getStatus()){
|
||||
//全包直接变成维修中状态,需要更改是否维修状态为是
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
||||
repairOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||
|
||||
//新增维修单操作记录
|
||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||
,"客户【"+client.getClientName()+"】已确认报价。");
|
||||
}else{
|
||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus());
|
||||
}
|
||||
|
@ -903,7 +997,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
|||
|
||||
/**
|
||||
* 工单编号
|
||||
* @return
|
||||
* @return OrderNo
|
||||
*/
|
||||
private String getOrderNo() {
|
||||
//获取当前日期并将其进行格式化
|
||||
|
|
|
@ -16,6 +16,7 @@ import com.hcy.common.entity.system.SystemAuthAdmin;
|
|||
import com.hcy.common.entity.user.User;
|
||||
import com.hcy.common.enums.equipment.EquipmentStateEnum;
|
||||
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
||||
import com.hcy.common.enums.order.OrderStateEnum;
|
||||
import com.hcy.common.exception.OperateException;
|
||||
import com.hcy.common.mapper.client.ClientMapper;
|
||||
|
@ -37,8 +38,10 @@ import com.hcy.front.vo.order.OrderStatusCountVo;
|
|||
import com.hcy.front.vo.order.RoutingInspectionOrderDetailVo;
|
||||
import com.hcy.front.vo.order.RoutingInspectionOrderListVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.aspectj.weaver.ast.Or;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
@ -75,6 +78,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
@Resource
|
||||
FaultMapper faultMapper;
|
||||
|
||||
@Resource
|
||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||
|
||||
@Resource
|
||||
IDevRegionService regionService;
|
||||
|
||||
|
@ -190,20 +196,28 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
* @param routingInspectionOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void orderReceiving(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||
RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
.eq("id", routingInspectionOrderParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setReceiverId(FrontThreadLocal.getUserId().longValue()); //接单人
|
||||
model.setReceiverTime(new Date()); //接单时间
|
||||
model.setOrderStatus(OrderStateEnum.TO_BE_INSPECTED.getStatus()); //用户接单后工单状态为待巡检
|
||||
if(model.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
|
||||
model.setReceiverId(FrontThreadLocal.getUserId().longValue()); //接单人
|
||||
model.setReceiverTime(new Date()); //接单时间
|
||||
model.setOrderStatus(OrderStateEnum.TO_BE_INSPECTED.getStatus()); //用户接单后工单状态为待巡检
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已自主接单。联系人:" + FrontThreadLocal.get("username") + ",联系电话:"+FrontThreadLocal.get("mobile"));
|
||||
}else{
|
||||
throw new OperateException("订单状态不正确");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -212,17 +226,22 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
* @param routingInspectionOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void startInspection(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||
RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
.eq("id", routingInspectionOrderParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
|
||||
model.setOrderStatus(OrderStateEnum.DURING_INSPECTION.getStatus()); //用户开始巡检后工单状态为巡检中
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
, OrderOperateRecordEnum.START_ROUTING_INSPECTION.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已经开始巡检。");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -231,6 +250,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
* @param routingInspectionOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void faultDetect(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||
RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
|
@ -269,12 +289,29 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
maintenanceOrder.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单
|
||||
|
||||
maintenanceOrderMapper.insert(maintenanceOrder);
|
||||
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已提交故障检测结果,检测结果: " +
|
||||
OrderStateEnum.ABNORMAL.getDesc() + ";系统会自动创建检修单且流入到工单池。");
|
||||
}else{
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已提交故障检测结果,检测结果: " +
|
||||
OrderStateEnum.NORMAL.getDesc() + ";");
|
||||
}
|
||||
model.setInspectionResultRemark(routingInspectionOrderParam.getInspectionResultRemark());//巡检结果备注
|
||||
model.setInspectionPhoto(routingInspectionOrderParam.getInspectionPhoto()); // 巡检照片
|
||||
model.setOrderStatus(OrderStateEnum.COMPLETED.getStatus()); //故障检测完工单状态就为已完成
|
||||
model.setOrderAccomplishTime(new Date()); //订单完成时间
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
, OrderOperateRecordEnum.INSPECTION_COMPLETED.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已完成巡检。");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -283,6 +320,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
* @param routingInspectionOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void grabTheOrder(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||
RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
|
@ -296,9 +334,15 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
model.setOrderStatus(OrderStateEnum.TO_BE_INSPECTED.getStatus());
|
||||
model.setReceiverTime(new Date());
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||
,"检修人员【"+FrontThreadLocal.get("username")+"】已自主抢单。联系人:" + FrontThreadLocal.get("username") + ",联系电话:"+FrontThreadLocal.get("mobile"));
|
||||
}else{
|
||||
throw new OperateException("订单已被其他人抢走");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -384,6 +428,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
* @param routingInspectionOrderParam
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void checking(RoutingInspectionOrderParam routingInspectionOrderParam) {
|
||||
RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne(
|
||||
new QueryWrapper<RoutingInspectionOrder>()
|
||||
|
@ -392,16 +437,31 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
|||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(model, "数据不存在!");
|
||||
model.setCancelOrderTime(new Date()); //退单时间
|
||||
model.setCancelCause(routingInspectionOrderParam.getCancelCause()); //取消原因
|
||||
//如果工单去向是工单池的话,退单后工单状态为待抢单,如果是检修员,工单状态是 5=已退单
|
||||
if(model.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){
|
||||
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); //用户退单后工单状态为待抢单
|
||||
}else{
|
||||
model.setOrderStatus(OrderStateEnum.RETURNED_ORDER.getStatus()); //用户退单后工单状态为已退单
|
||||
}
|
||||
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
if(routingInspectionOrderParam.getIsClient() == MaintenanceOrderStatusEnum.REPAIRER.getStatus()){
|
||||
if(model.getOrderStatus() == OrderStateEnum.PENDING_ORDER.getStatus() ||
|
||||
model.getOrderStatus() == OrderStateEnum.TO_BE_INSPECTED.getStatus()){
|
||||
|
||||
model.setCancelOrderTime(new Date()); //退单时间
|
||||
model.setCancelCause(routingInspectionOrderParam.getCancelCause()); //取消原因
|
||||
//如果工单去向是工单池的话,退单后工单状态为待抢单,如果是检修员,工单状态是 5=已退单
|
||||
if(model.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){
|
||||
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); //用户退单后工单状态为待抢单
|
||||
}else{
|
||||
model.setOrderStatus(OrderStateEnum.RETURNED_ORDER.getStatus()); //用户退单后工单状态为已退单
|
||||
}
|
||||
routingInspectionOrderMapper.updateById(model);
|
||||
|
||||
//新增巡检单操作记录
|
||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||
,OrderOperateRecordEnum.REFUND.getDesc()
|
||||
,"【"+FrontThreadLocal.get("username")+"】已退单。退单原因:"+model.getCancelCause());
|
||||
}else{
|
||||
throw new OperateException("当前订单状态不可退单");
|
||||
}
|
||||
}else{
|
||||
throw new OperateException("当前用户不可退单,只有检修员可以退巡检单");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue