【admin】新增# 1.新增巡检单、配件采购收货超时、三种工单接单超时任务
parent
54bf366470
commit
119f12ceda
|
@ -1,8 +1,11 @@
|
||||||
package com.hcy.admin.service.crontab.impl;
|
package com.hcy.admin.service.crontab.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.hcy.admin.AdminThreadLocal;
|
||||||
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
|
import com.hcy.common.entity.client.Client;
|
||||||
|
import com.hcy.common.entity.client.Equipment;
|
||||||
import com.hcy.common.entity.configuration.SystemConfiguration;
|
import com.hcy.common.entity.configuration.SystemConfiguration;
|
||||||
import com.hcy.common.entity.order.MaintenanceOrder;
|
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||||
import com.hcy.common.entity.order.RepairOrder;
|
import com.hcy.common.entity.order.RepairOrder;
|
||||||
|
@ -10,13 +13,18 @@ import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||||
import com.hcy.common.enums.OrderStatusEnum;
|
import com.hcy.common.enums.OrderStatusEnum;
|
||||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
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.MaintenanceOrderStatusEnum;
|
||||||
import com.hcy.common.enums.order.OrderStateEnum;
|
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.configuration.SystemConfigurationMapper;
|
import com.hcy.common.mapper.configuration.SystemConfigurationMapper;
|
||||||
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||||
import com.hcy.common.mapper.order.RepairOrderMapper;
|
import com.hcy.common.mapper.order.RepairOrderMapper;
|
||||||
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||||
|
import com.hcy.common.utils.OrderUtil;
|
||||||
|
import com.hcy.common.utils.TimeUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -49,7 +57,13 @@ public class OrderCrontab {
|
||||||
@Resource
|
@Resource
|
||||||
SparePartStockAuditMapper sparePartStockAuditMapper;
|
SparePartStockAuditMapper sparePartStockAuditMapper;
|
||||||
|
|
||||||
private void orderTimeOut(){
|
@Resource
|
||||||
|
EquipmentMapper equipmentMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ClientMapper clientMapper;
|
||||||
|
|
||||||
|
public void orderTimeOut(){
|
||||||
SystemConfiguration systemConfiguration = systemConfigurationMapper.selectById(1);
|
SystemConfiguration systemConfiguration = systemConfigurationMapper.selectById(1);
|
||||||
//检修单和巡检单超时时间
|
//检修单和巡检单超时时间
|
||||||
Integer repairerAutoOrderTime = systemConfiguration.getRepairerAutoOrderTime();
|
Integer repairerAutoOrderTime = systemConfiguration.getRepairerAutoOrderTime();
|
||||||
|
@ -121,8 +135,56 @@ public class OrderCrontab {
|
||||||
sparePartStockAuditMapper.updateById(item);
|
sparePartStockAuditMapper.updateById(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void equipmentPollingPeriod(){
|
||||||
|
//获取当前时间
|
||||||
|
Calendar currentTime = Calendar.getInstance();
|
||||||
|
|
||||||
//巡检周期
|
//巡检周期
|
||||||
|
LambdaQueryWrapper<Equipment> queryWrapper = new LambdaQueryWrapper<Equipment>()
|
||||||
|
.eq(Equipment::getDeviceStatus, EquipmentStateEnum.NORMAL.getStatus())
|
||||||
|
.eq(Equipment::getIsDelete, GlobalConstant.NOT_DELETE);
|
||||||
|
List<Equipment> equipmentList = equipmentMapper.selectList(queryWrapper);
|
||||||
|
for (Equipment item : equipmentList) {
|
||||||
|
if(item.getInspectionCycle() == EquipmentStateEnum.DAY_INTERVAL.getStatus()){
|
||||||
|
Calendar frontTime = Calendar.getInstance();
|
||||||
|
frontTime.setTime(item.getFrontPollingTime());
|
||||||
|
frontTime.add(Calendar.DAY_OF_YEAR, item.getDailyAudit());
|
||||||
|
|
||||||
|
if(currentTime.compareTo(frontTime) > 0){
|
||||||
|
installRoutingInspectionOrder(item);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
Calendar frontTime = Calendar.getInstance();
|
||||||
|
frontTime.setTime(item.getFrontPollingTime());
|
||||||
|
int day = frontTime.get(Calendar.DAY_OF_MONTH);
|
||||||
|
//同一天
|
||||||
|
if(day == item.getDailyAudit()){
|
||||||
|
installRoutingInspectionOrder(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void installRoutingInspectionOrder(Equipment equipment){
|
||||||
|
RoutingInspectionOrder model = new RoutingInspectionOrder();
|
||||||
|
|
||||||
|
//定时任务创建的巡检单是系统创建,客服的是客服创建
|
||||||
|
model.setRepairWorkOrderFlow(OrderStateEnum.WORK_ORDER_TANK.getStatus());
|
||||||
|
// 工单去向(0=工单池,1=检修员) 工单去向是工单池的话,工单状态是待抢单
|
||||||
|
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单;
|
||||||
|
|
||||||
|
Client client = clientMapper.findClientById(equipment.getClientId());
|
||||||
|
|
||||||
|
RoutingInspectionOrder lastRoutingInspectionOrderByTime = routingInspectionOrderMapper.findLastRoutingInspectionOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||||
|
model.setOrderNo(OrderUtil.getOrderNo(lastRoutingInspectionOrderByTime == null ? "" :lastRoutingInspectionOrderByTime.getOrderNo())); // 订单编号
|
||||||
|
model.setClientId(client.getId()); //客户id
|
||||||
|
model.setEquipmentId(equipment.getId());// 设备id
|
||||||
|
model.setCreateTime(new Date()); //创建时间
|
||||||
|
model.setOrderSource(OrderStateEnum.SYSTEM_CREATION.getStatus());
|
||||||
|
|
||||||
|
// 获取当前的用户
|
||||||
|
routingInspectionOrderMapper.insert(model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -322,7 +322,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
if (repairWorkOrderFlow == OrderStateEnum.WORK_ORDER_TANK.getStatus()) {
|
if (repairWorkOrderFlow == OrderStateEnum.WORK_ORDER_TANK.getStatus()) {
|
||||||
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus());
|
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus());
|
||||||
} else {
|
} else {
|
||||||
model.setOrderStatus(OrderStateEnum.REPAIRER.getStatus());
|
model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||||
|
@ -334,6 +334,17 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
,OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
,OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
||||||
,"【"+AdminThreadLocal.get("username")+"】创建了检修工单。");
|
,"【"+AdminThreadLocal.get("username")+"】创建了检修工单。");
|
||||||
|
|
||||||
|
//当前是指派检修员则新增操作记录
|
||||||
|
if(repairWorkOrderFlow == OrderStateEnum.REPAIRER.getStatus()){
|
||||||
|
User user = userMapper.selectById(maintenanceOrderParam.getReceiverId());
|
||||||
|
if(user != null){
|
||||||
|
//新增订单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
|
,OrderOperateRecordEnum.APPOINT.getDesc()
|
||||||
|
,"【"+AdminThreadLocal.get("username")+"】指派检修单给检修员【"+user.getUsername()+"】");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -365,7 +376,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
//新增订单操作记录
|
//新增订单操作记录
|
||||||
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
,OrderOperateRecordEnum.APPOINT.getDesc()
|
,OrderOperateRecordEnum.APPOINT.getDesc()
|
||||||
,"【"+AdminThreadLocal.get("username")+"】指派检修单给检修员【"+user.getUsername()+"】");
|
,"【"+AdminThreadLocal.get("username")+"】重新分配工单给检修员【"+user.getUsername()+"】");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
model.setReceiverId(param.getReceiverId());
|
model.setReceiverId(param.getReceiverId());
|
||||||
|
|
|
@ -23,6 +23,7 @@ import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||||
import com.hcy.common.entity.system.SystemAuthAdmin;
|
import com.hcy.common.entity.system.SystemAuthAdmin;
|
||||||
import com.hcy.common.entity.user.User;
|
import com.hcy.common.entity.user.User;
|
||||||
import com.hcy.common.entity.warehouse.Warehouse;
|
import com.hcy.common.entity.warehouse.Warehouse;
|
||||||
|
import com.hcy.common.enums.LogisticsModeEnum;
|
||||||
import com.hcy.common.enums.SparePartStockAuditEnum;
|
import com.hcy.common.enums.SparePartStockAuditEnum;
|
||||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
import com.hcy.common.enums.audit.AuditStateEnum;
|
||||||
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
|
||||||
|
@ -665,7 +666,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
, OrderOperateRecordEnum.SPARE_PARTS_AUDIT_ONE.getDesc()
|
||||||
,OrderOperateRecordEnum.AUDIT.getStatus()
|
,OrderOperateRecordEnum.AUDIT.getStatus()
|
||||||
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核");
|
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成审核,审核通过;等待管理员审核。");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -806,7 +807,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
orderOperateRecordService.addMaintenanceOrder(model.getOrderId()
|
||||||
, OrderOperateRecordEnum.DELIVER_GOODS.getDesc()
|
, OrderOperateRecordEnum.DELIVER_GOODS.getDesc()
|
||||||
,OrderOperateRecordEnum.DELIVER_GOODS_TYPE.getStatus()
|
,OrderOperateRecordEnum.DELIVER_GOODS_TYPE.getStatus()
|
||||||
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成发货。配送方式:"+SparePartStockAuditEnum.getMsgByStatus(model.getDeliveryMethod()));
|
,"仓管员【"+AdminThreadLocal.get("username")+"】已经完成发货。配送方式:"+ LogisticsModeEnum.getMsgByStatus(model.getDeliveryMethod())+"。");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备管理实体
|
* 设备管理实体
|
||||||
|
@ -32,6 +33,7 @@ public class Equipment implements Serializable {
|
||||||
private String detailedAddress; // 详细地址
|
private String detailedAddress; // 详细地址
|
||||||
private Integer inspectionCycle; // 巡检周期方式(0=天数间隔,1=固定日期)
|
private Integer inspectionCycle; // 巡检周期方式(0=天数间隔,1=固定日期)
|
||||||
private Integer dailyAudit; // 每隔几天巡检
|
private Integer dailyAudit; // 每隔几天巡检
|
||||||
|
private Date frontPollingTime; //上次巡检时间
|
||||||
private String deviceCode; // 设备码
|
private String deviceCode; // 设备码
|
||||||
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
private Integer isDelete; // 是否删除: [0=否, 1=是]
|
||||||
private Long createTime; // 创建时间
|
private Long createTime; // 创建时间
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package com.hcy.common.enums;
|
||||||
|
|
||||||
|
public enum LogisticsModeEnum {
|
||||||
|
|
||||||
|
EXPRESSAGE(0,"物流快递"),
|
||||||
|
SELF_TAKE(1,"自行取件"),
|
||||||
|
HOME_DELIVERY(2,"送货上门");
|
||||||
|
|
||||||
|
private final int status;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
LogisticsModeEnum(int status, String desc) {
|
||||||
|
this.status = status;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取状态码
|
||||||
|
*
|
||||||
|
* @return Long
|
||||||
|
* @author fzr
|
||||||
|
*/
|
||||||
|
public int getStatus() {
|
||||||
|
return this.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取提示
|
||||||
|
*
|
||||||
|
* @return String
|
||||||
|
* @author fzr
|
||||||
|
*/
|
||||||
|
public String getDesc() {
|
||||||
|
return this.desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String getMsgByStatus(Integer status){
|
||||||
|
for(LogisticsModeEnum typeEnum: LogisticsModeEnum.values()) {
|
||||||
|
if (typeEnum.getStatus() == status) {
|
||||||
|
return typeEnum.getDesc();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -41,13 +41,4 @@ public enum SparePartStockAuditEnum {
|
||||||
return this.desc;
|
return this.desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static String getMsgByStatus(Integer status){
|
|
||||||
for(SparePartStockAuditEnum typeEnum: SparePartStockAuditEnum.values()) {
|
|
||||||
if (typeEnum.getStatus() == status) {
|
|
||||||
return typeEnum.getDesc();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,8 @@ public enum EquipmentStateEnum {
|
||||||
UNDERWARRANTY(2,"报修中"),
|
UNDERWARRANTY(2,"报修中"),
|
||||||
UNDEROVERHAUL(3, "检修中"),
|
UNDEROVERHAUL(3, "检修中"),
|
||||||
// 巡检周期方式(0=天数间隔,1=固定日期)
|
// 巡检周期方式(0=天数间隔,1=固定日期)
|
||||||
DAYINTERVAL(0,"天数间隔"),
|
DAY_INTERVAL(0,"天数间隔"),
|
||||||
FIXEDDATE(1, "固定日期");
|
FIXED_DATE(1, "固定日期");
|
||||||
private final int status;
|
private final int status;
|
||||||
private final String desc;
|
private final String desc;
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ public enum OrderOperateRecordEnum {
|
||||||
DELIVER_GOODS(7,"发货"),
|
DELIVER_GOODS(7,"发货"),
|
||||||
RECEIVE_GOODS(8,"收货"),
|
RECEIVE_GOODS(8,"收货"),
|
||||||
FILL_IN_RECEIPT(10,"填写回单"),
|
FILL_IN_RECEIPT(10,"填写回单"),
|
||||||
|
FINISH(11,"完成"),
|
||||||
|
|
||||||
// 描述类型
|
// 描述类型
|
||||||
QUOTATION(0,"报价"),
|
QUOTATION(0,"报价"),
|
||||||
|
|
|
@ -21,4 +21,13 @@ public interface EquipmentMapper extends IBaseMapper<Equipment> {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ClientLargeDataDto> provinceEquipment();
|
List<ClientLargeDataDto> provinceEquipment();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询待巡检设备
|
||||||
|
* @return List<Equipment>
|
||||||
|
*/
|
||||||
|
List<Equipment> findWaitPollingEquipment();
|
||||||
|
|
||||||
|
@Select("select * from la_equipment where is_delete = 0 and id = #{id}")
|
||||||
|
Equipment findEquipmentById(@Param("id") Long id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,11 @@ package com.hcy.common.mapper.order;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.hcy.common.core.basics.IBaseMapper;
|
import com.hcy.common.core.basics.IBaseMapper;
|
||||||
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
||||||
|
import com.hcy.common.entity.order.MaintenanceOrder;
|
||||||
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
import com.hcy.common.entity.order.RoutingInspectionOrder;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -40,4 +42,7 @@ public interface RoutingInspectionOrderMapper extends IBaseMapper<RoutingInspect
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Integer selectPendingOrderCount(@Param("param") RoutingInspectionOrderDto routingInspectionOrderDto);
|
Integer selectPendingOrderCount(@Param("param") RoutingInspectionOrderDto routingInspectionOrderDto);
|
||||||
|
|
||||||
|
@Select("select * from la_routing_inspection_order where is_delete = 0 and order_no like concat('%',#{time},'%') order by order_no desc limit 1")
|
||||||
|
RoutingInspectionOrder findLastRoutingInspectionOrderByTime(@Param("time") String time);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,24 @@
|
||||||
ORDER BY
|
ORDER BY
|
||||||
equipmentCount DESC
|
equipmentCount DESC
|
||||||
LIMIT 5;
|
LIMIT 5;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="provinceEquipment" resultType="com.hcy.common.dto.largeDataDto.ClientLargeDataDto">
|
||||||
|
SELECT
|
||||||
|
dr.name as province,
|
||||||
|
COUNT( e.province_id ) AS equipmentCount,
|
||||||
|
SUM( CASE WHEN e.device_status = 1 THEN 1 ELSE 0 END ) AS normalCount,
|
||||||
|
SUM( CASE WHEN e.device_status = 2 THEN 1 ELSE 0 END ) AS underOverhaulCount,
|
||||||
|
SUM( CASE WHEN e.device_status = 3 THEN 1 ELSE 0 END ) AS underWarrantyCount
|
||||||
|
FROM
|
||||||
|
la_equipment AS e
|
||||||
|
JOIN la_dev_region as dr on e.province_id = dr.id
|
||||||
|
where
|
||||||
|
e.is_delete = 0
|
||||||
|
GROUP BY
|
||||||
|
e.province_id
|
||||||
|
ORDER BY
|
||||||
|
equipmentCount DESC
|
||||||
|
LIMIT 5;
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
LEFT JOIN la_warehouse AS lw ON lw.id = lsp.warehouse_id
|
LEFT JOIN la_warehouse AS lw ON lw.id = lsp.warehouse_id
|
||||||
<where>
|
<where>
|
||||||
lsp.is_delete = 0
|
lsp.is_delete = 0
|
||||||
|
and lsp.quantity > 0
|
||||||
<if test="param.keywords != null and param.keywords != ''">
|
<if test="param.keywords != null and param.keywords != ''">
|
||||||
and (lsp.spare_parts_code like concat('%',#{param.keywords},'%') or
|
and (lsp.spare_parts_code like concat('%',#{param.keywords},'%') or
|
||||||
lsp.spare_parts_name like concat('%',#{param.keywords},'%') or
|
lsp.spare_parts_name like concat('%',#{param.keywords},'%') or
|
||||||
|
|
|
@ -21,6 +21,7 @@ import com.hcy.common.entity.user.User;
|
||||||
import com.hcy.common.enums.ClientStatusEnum;
|
import com.hcy.common.enums.ClientStatusEnum;
|
||||||
import com.hcy.common.enums.SparePartStockAuditEnum;
|
import com.hcy.common.enums.SparePartStockAuditEnum;
|
||||||
import com.hcy.common.enums.audit.AuditStateEnum;
|
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.MaintenanceOrderStatusEnum;
|
||||||
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
import com.hcy.common.enums.order.OrderOperateRecordEnum;
|
||||||
import com.hcy.common.enums.order.OrderStateEnum;
|
import com.hcy.common.enums.order.OrderStateEnum;
|
||||||
|
@ -316,7 +317,10 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setReceiverTime(new Date());
|
maintenanceOrder.setReceiverTime(new Date());
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||||
|
,"【"+FrontThreadLocal.get("username")+"】已自主接单。联系人电话:"+FrontThreadLocal.get("mobile"));
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("订单状态不正确");
|
throw new OperateException("订单状态不正确");
|
||||||
}
|
}
|
||||||
|
@ -548,6 +552,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void confirmServiceOfferPrice(MaintenanceOrderParam maintenanceOrderParam) {
|
public void confirmServiceOfferPrice(MaintenanceOrderParam maintenanceOrderParam) {
|
||||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
||||||
Assert.notNull(maintenanceOrder, "数据不存在");
|
Assert.notNull(maintenanceOrder, "数据不存在");
|
||||||
|
@ -568,6 +573,29 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setRefuseMaintenanceCause(maintenanceOrderParam.getRefuseMaintenanceCause());
|
maintenanceOrder.setRefuseMaintenanceCause(maintenanceOrderParam.getRefuseMaintenanceCause());
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
||||||
maintenanceOrder.setOrderAccomplishTime(new Date());
|
maintenanceOrder.setOrderAccomplishTime(new Date());
|
||||||
|
|
||||||
|
Client client = clientMapper.findClientById(maintenanceOrder.getClientId());
|
||||||
|
if(client != null){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||||
|
,"客户【"+client.getClientName()+"】确定不维修;结束工单原因:"+maintenanceOrder.getRefuseMaintenanceCause()+"。工单处理结束");
|
||||||
|
}
|
||||||
|
|
||||||
|
User user = userMapper.selectById(maintenanceOrder.getReceiverId());
|
||||||
|
if(user != null){
|
||||||
|
//新增检修单操作记录
|
||||||
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
,OrderOperateRecordEnum.FINISH.getDesc()
|
||||||
|
,"【"+user.getUsername()+"】已经完成任务");
|
||||||
|
}
|
||||||
|
|
||||||
|
//将设备状态修改成正常
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(maintenanceOrder.getEquipmentId());
|
||||||
|
if(equipment != null){
|
||||||
|
equipment.setDeviceStatus(EquipmentStateEnum.NORMAL.getStatus());
|
||||||
|
equipmentMapper.updateById(equipment);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
@ -602,7 +630,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE.getDesc()
|
||||||
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
|
,OrderOperateRecordEnum.SPARE_PARTS_RECEIVE_TYPE.getStatus()
|
||||||
,"【"+FrontThreadLocal.get("username")+"】创建了【配件领用】单。选择仓库:自身仓库");
|
,"【"+FrontThreadLocal.get("username")+"】创建了【配件领用】单。选择仓库:自身仓库。");
|
||||||
//我的仓库也要新增配件领用记录 并且状态是已完成
|
//我的仓库也要新增配件领用记录 并且状态是已完成
|
||||||
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
/*SparePartStockAudit sparePartStockAudit = getSparePartStockAudit(maintenanceOrderParam);
|
||||||
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
sparePartStockAudit.setPurchaseStatus(AuditStateEnum.DONE.getStatus());
|
||||||
|
@ -664,6 +692,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void fillInReceipt(MaintenanceOrderParam maintenanceOrderParam) {
|
public void fillInReceipt(MaintenanceOrderParam maintenanceOrderParam) {
|
||||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
||||||
Assert.notNull(maintenanceOrder, "数据不存在");
|
Assert.notNull(maintenanceOrder, "数据不存在");
|
||||||
|
@ -682,6 +711,13 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setCompleteImg(maintenanceOrderParam.getCompleteImg()); // 完工照片
|
maintenanceOrder.setCompleteImg(maintenanceOrderParam.getCompleteImg()); // 完工照片
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
|
||||||
|
//将设备状态修改成正常
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(maintenanceOrder.getEquipmentId());
|
||||||
|
if(equipment != null){
|
||||||
|
equipment.setDeviceStatus(EquipmentStateEnum.NORMAL.getStatus());
|
||||||
|
equipmentMapper.updateById(equipment);
|
||||||
|
}
|
||||||
|
|
||||||
//新增检修单操作记录
|
//新增检修单操作记录
|
||||||
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
,OrderOperateRecordEnum.FILL_IN_RECEIPT.getDesc()
|
,OrderOperateRecordEnum.FILL_IN_RECEIPT.getDesc()
|
||||||
|
|
Loading…
Reference in New Issue