【admin&front】新增# 1.修复若干bug 2.完善大屏通知
parent
d6e9508b3f
commit
75c1388eb9
|
@ -24,6 +24,7 @@ public class AdminConfig {
|
||||||
public static String[] notLoginUri = new String[]{
|
public static String[] notLoginUri = new String[]{
|
||||||
"system:login", // 登录接口
|
"system:login", // 登录接口
|
||||||
"common:index:config", // 配置接口
|
"common:index:config", // 配置接口
|
||||||
|
"system:notification:sendLargeScreen" //通知大屏接口
|
||||||
};
|
};
|
||||||
|
|
||||||
// 免权限验证
|
// 免权限验证
|
||||||
|
|
|
@ -1,26 +1,33 @@
|
||||||
package com.hcy.admin.controller.system;
|
package com.hcy.admin.controller.system;
|
||||||
|
|
||||||
import com.hcy.admin.config.aop.Log;
|
import com.hcy.admin.config.aop.Log;
|
||||||
|
import com.hcy.admin.service.system.SystemNotificationService;
|
||||||
import com.hcy.admin.validate.system.SystemAuthAdminParam;
|
import com.hcy.admin.validate.system.SystemAuthAdminParam;
|
||||||
import com.hcy.common.core.AjaxResult;
|
import com.hcy.common.core.AjaxResult;
|
||||||
|
import com.hcy.common.entity.system.SystemNotification;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("api/system/notification")
|
@RequestMapping("api/system/notification")
|
||||||
public class SystemNotificationController {
|
public class SystemNotificationController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
SystemNotificationService systemNotificationService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统通知
|
* 系统通知
|
||||||
* @author dabin
|
* @author dabin
|
||||||
* @param systemAuthAdminParam 参数
|
* @param systemNotification 参数
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
@Log(title = "系统通知send")
|
@Log(title = "发送通知到大屏幕")
|
||||||
@GetMapping("/send")
|
@PostMapping("/sendLargeScreen")
|
||||||
public Object add(SystemAuthAdminParam systemAuthAdminParam) {
|
public Object add(@RequestBody SystemNotification systemNotification) {
|
||||||
|
systemNotificationService.sendNotificationToLargeScreen(systemNotification);
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -350,7 +350,7 @@ public class EquipmentServiceImpl implements IEquipmentService {
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
|
|
||||||
if (ObjectUtil.isNotNull(model) && model.getId().equals(bo.getId())) {
|
if (ObjectUtil.isNotNull(model) && !model.getId().equals(bo.getId())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -361,6 +361,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//大屏系统通知
|
||||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(AdminThreadLocal.getAdminId());
|
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminById(AdminThreadLocal.getAdminId());
|
||||||
Client client = clientMapper.findClientById(maintenanceOrderParam.getClientId());
|
Client client = clientMapper.findClientById(maintenanceOrderParam.getClientId());
|
||||||
if(client != null && systemAuthAdmin != null){
|
if(client != null && systemAuthAdmin != null){
|
||||||
|
|
|
@ -112,7 +112,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
.le(StringUtils.isNotEmpty(params.getCreateTimeEnd()), SparePartStockAudit::getCreateTime, params.getCreateTimeEnd())
|
.le(StringUtils.isNotEmpty(params.getCreateTimeEnd()), SparePartStockAudit::getCreateTime, params.getCreateTimeEnd())
|
||||||
.orderByDesc(SparePartStockAudit::getCreateTime);
|
.orderByDesc(SparePartStockAudit::getCreateTime);
|
||||||
|
|
||||||
if(params.getOrderType() == null){
|
/*if(params.getOrderType() == null){
|
||||||
//如果当前不是配件采购则将配件采购出入库单排除
|
//如果当前不是配件采购则将配件采购出入库单排除
|
||||||
if (params.getOutInWarehouseType() == null) {
|
if (params.getOutInWarehouseType() == null) {
|
||||||
if (params.getReceiptType() == null) {
|
if (params.getReceiptType() == null) {
|
||||||
|
@ -132,6 +132,25 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
queryWrapper.isNotNull(SparePartStockAudit::getPurchaseStatus);
|
queryWrapper.isNotNull(SparePartStockAudit::getPurchaseStatus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
if(params.getQueryType() == SparePartStockAuditEnum.PURCHASE.getStatus()){
|
||||||
|
queryWrapper.isNotNull(SparePartStockAudit::getPurchaseStatus);
|
||||||
|
}else if(params.getQueryType() == SparePartStockAuditEnum.AUDIT.getStatus()){
|
||||||
|
queryWrapper.and(query -> query.isNull(SparePartStockAudit::getPurchaseStatus)
|
||||||
|
.or(orQuery -> orQuery.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.UNREVIEWED.getStatus())
|
||||||
|
.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.AUDITED.getStatus())
|
||||||
|
.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.CANCELED_AUDIT.getStatus())
|
||||||
|
.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.FILLING_OUT.getStatus())));
|
||||||
|
}else if(params.getQueryType() == SparePartStockAuditEnum.WAREHOUSING.getStatus()
|
||||||
|
|| params.getQueryType() == SparePartStockAuditEnum.GO_OUT_WAREHOUSE.getStatus()
|
||||||
|
|| params.getQueryType() == SparePartStockAuditEnum.ALLOT.getStatus()){
|
||||||
|
queryWrapper.isNull(SparePartStockAudit::getPurchaseStatus);
|
||||||
|
}else if(params.getQueryType() == SparePartStockAuditEnum.PURCHASE_ORDER.getStatus()){
|
||||||
|
queryWrapper.and(query -> query.ne(SparePartStockAudit::getPurchaseStatus, AuditStateEnum.FILLING_OUT.getStatus())
|
||||||
|
.ne(SparePartStockAudit::getPurchaseStatus,AuditStateEnum.CANCELED_AUDIT.getStatus()));
|
||||||
|
}else if(params.getQueryType() == SparePartStockAuditEnum.APPLY_FOR.getStatus()){
|
||||||
|
queryWrapper.isNotNull(SparePartStockAudit::getOrderType);
|
||||||
}
|
}
|
||||||
|
|
||||||
//领用时间范围,配送方式查询
|
//领用时间范围,配送方式查询
|
||||||
|
@ -381,9 +400,15 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
SparePartStockAudit lastSparePartStockAudit = sparePartStockAuditMapper.findLastSparePartStockAuditByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||||
model.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit == null ? "" : lastSparePartStockAudit.getReceiptNumber())); // 单据编号
|
model.setReceiptNumber(OrderUtil.getOrderNo(lastSparePartStockAudit == null ? "" : lastSparePartStockAudit.getReceiptNumber())); // 单据编号
|
||||||
|
|
||||||
|
//判断当前订单类型设置对应出入库仓库id
|
||||||
|
if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.IN_WAREHOUSE.getStatus()){
|
||||||
|
model.setImportWarehouse(sparePartStockAuditParam.getWarehouseId());
|
||||||
|
}else if(sparePartStockAuditParam.getReceiptType() == AuditStateEnum.OUT_WAREHOUSE.getStatus()){
|
||||||
|
model.setExportWarehouse(sparePartStockAuditParam.getWarehouseId());
|
||||||
|
}
|
||||||
|
|
||||||
// 获取当前的用户
|
// 获取当前的用户
|
||||||
model.setCreatorId(AdminThreadLocal.getAdminId());
|
model.setCreatorId(AdminThreadLocal.getAdminId());
|
||||||
|
|
||||||
sparePartStockAuditMapper.insert(model);
|
sparePartStockAuditMapper.insert(model);
|
||||||
|
|
||||||
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.hcy.admin.service.system;
|
||||||
|
|
||||||
|
import com.hcy.admin.config.aop.Log;
|
||||||
|
import com.hcy.common.core.AjaxResult;
|
||||||
|
import com.hcy.common.entity.system.SystemNotification;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
public interface SystemNotificationService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送通知到大屏幕
|
||||||
|
* @param systemNotification 通知内容
|
||||||
|
*/
|
||||||
|
void sendNotificationToLargeScreen(SystemNotification systemNotification);
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.hcy.admin.service.system.impl;
|
||||||
|
|
||||||
|
import com.hcy.admin.netty.WebsocketHandler;
|
||||||
|
import com.hcy.admin.service.system.SystemNotificationService;
|
||||||
|
import com.hcy.common.entity.system.SystemNotification;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统通知实现类
|
||||||
|
* @author dabin
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SystemNotificationServiceImpl implements SystemNotificationService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendNotificationToLargeScreen(SystemNotification systemNotification) {
|
||||||
|
if(StringUtils.isNotEmpty(systemNotification.getContent())){
|
||||||
|
//发送通知到大屏幕
|
||||||
|
WebsocketHandler.sendMessageToClient(systemNotification.getContent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -100,6 +100,8 @@ public class SparePartStockAuditParam implements Serializable {
|
||||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
||||||
private String purchaseIdea; //采购意见
|
private String purchaseIdea; //采购意见
|
||||||
private String orderType; // 0-检修工单 1-维修工单
|
private String orderType; // 0-检修工单 1-维修工单
|
||||||
|
private String workOrderNo; //工单号
|
||||||
|
private Integer queryType; // 0-待审核 1-待发货 2-待收货 3-已完成
|
||||||
|
|
||||||
private String createTimeStart; //创建时间
|
private String createTimeStart; //创建时间
|
||||||
private String createTimeEnd; //创建时间
|
private String createTimeEnd; //创建时间
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
package com.hcy.common.dto;
|
||||||
|
|
||||||
|
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
import javax.validation.constraints.DecimalMin;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件出入库审核参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class SparePartStockAuditDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public interface create{}
|
||||||
|
public interface update{}
|
||||||
|
public interface delete{}
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String receiptNumber;
|
||||||
|
|
||||||
|
private Integer receiptType;
|
||||||
|
|
||||||
|
//@NotNull(message = "warehouseId参数缺失", groups = {create.class, update.class})
|
||||||
|
@DecimalMin(value = "0", message = "warehouseId参数值不能少于0", groups = {create.class, update.class})
|
||||||
|
private Long warehouseId;
|
||||||
|
|
||||||
|
//@NotNull(message = "importWarehouse参数缺失", groups = {create.class, update.class})
|
||||||
|
@DecimalMin(value = "0", message = "importWarehouse参数值不能少于0", groups = {create.class, update.class})
|
||||||
|
private Long importWarehouse;
|
||||||
|
|
||||||
|
//@NotNull(message = "exportWarehouse参数缺失", groups = {create.class, update.class})
|
||||||
|
@DecimalMin(value = "0", message = "exportWarehouse参数值不能少于0", groups = {create.class, update.class})
|
||||||
|
private Long exportWarehouse;
|
||||||
|
|
||||||
|
//@NotNull(message = "supplier参数缺失", groups = {create.class, update.class})
|
||||||
|
@Length(max = 32, message = "supplier参数不能超出32个字符", groups = {create.class, update.class})
|
||||||
|
private String supplier;
|
||||||
|
|
||||||
|
//@NotNull(message = "responsiblePerson参数缺失", groups = {create.class, update.class})
|
||||||
|
@Length(max = 32, message = "responsiblePerson参数不能超出32个字符", groups = {create.class, update.class})
|
||||||
|
private String responsiblePerson;
|
||||||
|
|
||||||
|
// @NotNull(message = "handlingTime参数缺失", groups = {create.class, update.class})
|
||||||
|
private Date handlingTime;
|
||||||
|
|
||||||
|
//@NotNull(message = "consignee参数缺失", groups = {create.class, update.class})
|
||||||
|
@Length(max = 255, message = "consignee参数不能超出255个字符", groups = {create.class, update.class})
|
||||||
|
private String consignee;
|
||||||
|
|
||||||
|
//@NotNull(message = "auditState参数缺失", groups = {create.class, update.class})
|
||||||
|
@DecimalMin(value = "0", message = "auditState参数值不能少于0", groups = {create.class, update.class})
|
||||||
|
private Integer auditState;
|
||||||
|
|
||||||
|
//@NotNull(message = "auditResult参数缺失", groups = {create.class, update.class})
|
||||||
|
@DecimalMin(value = "0", message = "auditResult参数值不能少于0", groups = {create.class, update.class})
|
||||||
|
private Integer auditResult;
|
||||||
|
|
||||||
|
private Date auditTime;
|
||||||
|
|
||||||
|
//@Length(max = 255, message = "auditIdea参数不能超出255个字符", groups = {create.class, update.class})
|
||||||
|
private String auditIdea;
|
||||||
|
|
||||||
|
//@Length(max = 32, message = "phone参数不能超出32个字符", groups = {create.class, update.class})
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
//@Length(max = 255, message = "remark参数不能超出255个字符", groups = {create.class, update.class})
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
private String sparePartAuditId; // 备件审核id
|
||||||
|
|
||||||
|
private List<SparePartAudit> sparePartAuditList; //待入库的备件
|
||||||
|
private Integer outInWarehouseType; //出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||||
|
|
||||||
|
private String workOrderId; //工单号
|
||||||
|
private String orderId; //订单编号
|
||||||
|
private String shippingAddress; //收货地址
|
||||||
|
private String consigner; //发货人
|
||||||
|
private String consignerPhone; //发货人联系电话
|
||||||
|
private String shipAddress; //发货地址
|
||||||
|
private String logisticsCompany; //物流公司
|
||||||
|
private String trackingNumber; //物流编号
|
||||||
|
private Integer deliveryMethod; //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||||
|
private BigDecimal salesPrice; //销售价
|
||||||
|
private String recipient; //领用员工
|
||||||
|
private String recipientPhone; //领用员工联系电话
|
||||||
|
private Integer recipientNumber; //领用数量
|
||||||
|
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
||||||
|
private String purchaseIdea; //采购意见
|
||||||
|
private String orderType; // 0-检修工单 1-维修工单
|
||||||
|
private String workOrderNo; //工单号
|
||||||
|
private Integer queryType; // 0-待审核 1-待发货 2-待收货 3-已完成
|
||||||
|
|
||||||
|
private String createTimeStart; //创建时间
|
||||||
|
private String createTimeEnd; //创建时间
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.hcy.common.entity.system;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SystemNotification implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 内容
|
||||||
|
*/
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单id
|
||||||
|
*/
|
||||||
|
private String orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单类型
|
||||||
|
*/
|
||||||
|
private Integer orderType;
|
||||||
|
}
|
|
@ -12,7 +12,15 @@ public enum SparePartStockAuditEnum {
|
||||||
|
|
||||||
EXPRESSAGE(1,"物流快递"),
|
EXPRESSAGE(1,"物流快递"),
|
||||||
SELF_TAKE(2,"自行取件"),
|
SELF_TAKE(2,"自行取件"),
|
||||||
HOME_DELIVERY(3,"送货上门");
|
HOME_DELIVERY(3,"送货上门"),
|
||||||
|
|
||||||
|
PURCHASE(0,"配件采购"),
|
||||||
|
AUDIT(1,"配件出入库审核"),
|
||||||
|
WAREHOUSING(2,"配件入库"),
|
||||||
|
GO_OUT_WAREHOUSE(3,"配件出库"),
|
||||||
|
ALLOT(4,"配件调拨"),
|
||||||
|
APPLY_FOR(5,"配件领用申请"),
|
||||||
|
PURCHASE_ORDER(6,"配件采购订单");
|
||||||
|
|
||||||
private final int status;
|
private final int status;
|
||||||
private final String desc;
|
private final String desc;
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper">
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -39,12 +39,11 @@ import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.hcy.common.mapper.user.UserMapper;
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
import com.hcy.common.utils.OrderUtil;
|
import com.hcy.common.utils.*;
|
||||||
import com.hcy.common.utils.TimeUtil;
|
|
||||||
import com.hcy.common.utils.ToolsUtil;
|
|
||||||
import com.hcy.front.FrontThreadLocal;
|
import com.hcy.front.FrontThreadLocal;
|
||||||
import com.hcy.front.service.order.IMaintenanceOrderService;
|
import com.hcy.front.service.order.IMaintenanceOrderService;
|
||||||
import com.hcy.front.service.region.IDevRegionService;
|
import com.hcy.front.service.region.IDevRegionService;
|
||||||
|
import com.hcy.front.utils.RestTemplateUtil;
|
||||||
import com.hcy.front.validate.PageParam;
|
import com.hcy.front.validate.PageParam;
|
||||||
import com.hcy.front.validate.order.MaintenanceOrderParam;
|
import com.hcy.front.validate.order.MaintenanceOrderParam;
|
||||||
import com.hcy.front.validate.warehouse.SparePartParam;
|
import com.hcy.front.validate.warehouse.SparePartParam;
|
||||||
|
@ -57,6 +56,7 @@ import com.hcy.front.vo.order.OrderSparePartListVo;
|
||||||
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
@ -118,6 +118,9 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
@Resource
|
@Resource
|
||||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RestTemplateUtil restTemplateUtil;
|
||||||
|
|
||||||
private final DecimalFormat df = new DecimalFormat ("#.#");
|
private final DecimalFormat df = new DecimalFormat ("#.#");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -135,13 +138,20 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.findLastMaintenanceOrderByTime(TimeUtil.getCurrentTimeYYYYMMDD());
|
||||||
model.setOrderNo(OrderUtil.getOrderNo(lastmMaintenanceOrder == null ? "" :lastmMaintenanceOrder.getOrderNo()));
|
model.setOrderNo(OrderUtil.getOrderNo(lastmMaintenanceOrder == null ? "" :lastmMaintenanceOrder.getOrderNo()));
|
||||||
|
|
||||||
|
|
||||||
model.setCreatorId(FrontThreadLocal.getUserId().longValue());
|
model.setCreatorId(FrontThreadLocal.getUserId().longValue());
|
||||||
|
|
||||||
|
Date currentTime = new Date();
|
||||||
|
model.setCreateTime(currentTime);
|
||||||
maintenanceOrderMapper.insert(model);
|
maintenanceOrderMapper.insert(model);
|
||||||
|
|
||||||
|
Client client = clientMapper.findClientById(maintenanceOrderParam.getClientId());
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(maintenanceOrderParam.getEquipmentId());
|
||||||
|
if(client != null && equipment != null){
|
||||||
|
//发送通知到大屏
|
||||||
|
String notificationContent = "客户【"+client.getClientName()+"】于【"+TimeUtil.dateTransitionString(currentTime)+"】上报工单,报修设备【"+equipment.getName()+"】";
|
||||||
|
restTemplateUtil.sendPost(notificationContent);
|
||||||
|
}
|
||||||
|
|
||||||
//新增检修单操作记录
|
//新增检修单操作记录
|
||||||
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
orderOperateRecordService.addMaintenanceOrder(model.getId()
|
||||||
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
, OrderOperateRecordEnum.ORDER_RECEIVING.getDesc()
|
||||||
|
@ -558,6 +568,11 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
||||||
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||||
|
|
||||||
|
//修改订单状态为检修中
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(maintenanceOrder.getEquipmentId());
|
||||||
|
equipment.setDeviceStatus(EquipmentStateEnum.UNDEROVERHAUL.getStatus());
|
||||||
|
equipmentMapper.updateById(equipment);
|
||||||
|
|
||||||
//新增检修单操作记录
|
//新增检修单操作记录
|
||||||
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
,OrderOperateRecordEnum.CUSTOMER_CONFIRM.getDesc()
|
||||||
|
@ -615,6 +630,11 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.MAINTENANCE_ING.getStatus());
|
||||||
|
|
||||||
|
//修改订单状态为检修中
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(maintenanceOrder.getEquipmentId());
|
||||||
|
equipment.setDeviceStatus(EquipmentStateEnum.UNDEROVERHAUL.getStatus());
|
||||||
|
equipmentMapper.updateById(equipment);
|
||||||
|
|
||||||
Client client = clientMapper.findClientById(maintenanceOrder.getClientId());
|
Client client = clientMapper.findClientById(maintenanceOrder.getClientId());
|
||||||
if(client != null){
|
if(client != null){
|
||||||
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
orderOperateRecordService.addMaintenanceOrder(maintenanceOrder.getId()
|
||||||
|
@ -759,7 +779,8 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
maintenanceOrder.setFamiliarFaultId(maintenanceOrderParam.getFamiliarFaultId());
|
maintenanceOrder.setFamiliarFaultId(maintenanceOrderParam.getFamiliarFaultId());
|
||||||
maintenanceOrder.setFamiliarFaultDescription(maintenanceOrderParam.getFamiliarFaultDescription());
|
maintenanceOrder.setFamiliarFaultDescription(maintenanceOrderParam.getFamiliarFaultDescription());
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
||||||
maintenanceOrder.setOrderAccomplishTime(new Date());
|
Date finishTime = new Date();
|
||||||
|
maintenanceOrder.setOrderAccomplishTime(finishTime);
|
||||||
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
maintenanceOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||||
maintenanceOrder.setCompleteImg(maintenanceOrderParam.getCompleteImg()); // 完工照片
|
maintenanceOrder.setCompleteImg(maintenanceOrderParam.getCompleteImg()); // 完工照片
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
@ -769,6 +790,10 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
if(equipment != null){
|
if(equipment != null){
|
||||||
equipment.setDeviceStatus(EquipmentStateEnum.NORMAL.getStatus());
|
equipment.setDeviceStatus(EquipmentStateEnum.NORMAL.getStatus());
|
||||||
equipmentMapper.updateById(equipment);
|
equipmentMapper.updateById(equipment);
|
||||||
|
|
||||||
|
//发送通知到大屏
|
||||||
|
String notificationContent = "检修员【"+FrontThreadLocal.get("username")+"】于【"+TimeUtil.dateTransitionString(finishTime)+"】完成对设备【"+equipment.getName()+"】的检修工作";
|
||||||
|
restTemplateUtil.sendPost(notificationContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
//新增检修单操作记录
|
//新增检修单操作记录
|
||||||
|
|
|
@ -40,12 +40,11 @@ import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.hcy.common.mapper.user.UserMapper;
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
import com.hcy.common.mapper.warehouse.WarehouseMapper;
|
||||||
import com.hcy.common.utils.OrderUtil;
|
import com.hcy.common.utils.*;
|
||||||
import com.hcy.common.utils.TimeUtil;
|
|
||||||
import com.hcy.common.utils.ToolsUtil;
|
|
||||||
import com.hcy.front.FrontThreadLocal;
|
import com.hcy.front.FrontThreadLocal;
|
||||||
import com.hcy.front.service.order.IRepairOrderService;
|
import com.hcy.front.service.order.IRepairOrderService;
|
||||||
import com.hcy.front.service.region.IDevRegionService;
|
import com.hcy.front.service.region.IDevRegionService;
|
||||||
|
import com.hcy.front.utils.RestTemplateUtil;
|
||||||
import com.hcy.front.validate.PageParam;
|
import com.hcy.front.validate.PageParam;
|
||||||
import com.hcy.front.validate.order.RepairOrderParam;
|
import com.hcy.front.validate.order.RepairOrderParam;
|
||||||
import com.hcy.front.validate.warehouse.SparePartParam;
|
import com.hcy.front.validate.warehouse.SparePartParam;
|
||||||
|
@ -55,6 +54,7 @@ import com.hcy.front.vo.order.*;
|
||||||
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
import com.hcy.front.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
@ -114,6 +114,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
@Resource
|
@Resource
|
||||||
OrderOperateRecordServiceImpl orderOperateRecordService;
|
OrderOperateRecordServiceImpl orderOperateRecordService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RestTemplateUtil restTemplateUtil;
|
||||||
|
|
||||||
private final DecimalFormat df = new DecimalFormat ("#.#");
|
private final DecimalFormat df = new DecimalFormat ("#.#");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -128,21 +131,17 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
List<RepairOrderDto> repairOrderDtoList = repairOrderMapper.list(repairOrderDto);
|
List<RepairOrderDto> repairOrderDtoList = repairOrderMapper.list(repairOrderDto);
|
||||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminByUserId(FrontThreadLocal.getUserId());
|
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminByUserId(FrontThreadLocal.getUserId());
|
||||||
|
|
||||||
|
|
||||||
List<RepairOrderListVo> returnData = new LinkedList<>();
|
List<RepairOrderListVo> returnData = new LinkedList<>();
|
||||||
for (RepairOrderDto item : repairOrderDtoList) {
|
for (RepairOrderDto item : repairOrderDtoList) {
|
||||||
|
|
||||||
if(repairOrderParam.getQueryType() == MaintenanceOrderStatusEnum.NEAREST_TO_ME.getStatus()){
|
if(repairOrderParam.getQueryType() == MaintenanceOrderStatusEnum.NEAREST_TO_ME.getStatus()){
|
||||||
//判断抢单距离大于订单距离则返回订单
|
|
||||||
double distance = ToolsUtil.getDistance(item.getLongitude(), item.getLatitude()
|
|
||||||
, repairOrderParam.getLongitude(), repairOrderParam.getLatitude());
|
|
||||||
|
|
||||||
if(item.getReceiverType() == OrderStateEnum.REGIONAL_DISPATCH.getStatus()){
|
|
||||||
|
|
||||||
SystemAuthAdmin systemAuthAdminByUserId = systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(item.getCreatorId()));
|
SystemAuthAdmin systemAuthAdminByUserId = systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(item.getCreatorId()));
|
||||||
//获取工厂
|
//获取工厂
|
||||||
Plant plant = plantMapper.findPlantByAdminId(Long.valueOf(systemAuthAdminByUserId.getPlantId()));
|
Plant plant = plantMapper.findPlantByAdminId(Long.valueOf(systemAuthAdminByUserId.getPlantId()));
|
||||||
|
//判断抢单距离大于订单距离则返回订单
|
||||||
|
double distance = ToolsUtil.getDistance(Double.parseDouble(plant.getLongitude()), Double.parseDouble(plant.getLatitude())
|
||||||
|
, repairOrderParam.getLongitude(), repairOrderParam.getLatitude());
|
||||||
|
|
||||||
|
if(item.getReceiverType() == OrderStateEnum.REGIONAL_DISPATCH.getStatus()){
|
||||||
if(systemAuthAdmin.getProvinceId().equals(plant.getProvinceId()) &&
|
if(systemAuthAdmin.getProvinceId().equals(plant.getProvinceId()) &&
|
||||||
systemAuthAdmin.getCityId().equals(plant.getCityId()) &&
|
systemAuthAdmin.getCityId().equals(plant.getCityId()) &&
|
||||||
systemAuthAdmin.getDistrictId().equals(plant.getDistrictId()) ){
|
systemAuthAdmin.getDistrictId().equals(plant.getDistrictId()) ){
|
||||||
|
@ -394,7 +393,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
repairOrder.setFamiliarFaultId(repairOrderParam.getFamiliarFaultId()); // 常见维修结论id
|
repairOrder.setFamiliarFaultId(repairOrderParam.getFamiliarFaultId()); // 常见维修结论id
|
||||||
repairOrder.setFamiliarFaultDescription(repairOrderParam.getFamiliarFaultDescription()); // 常见维修结论描述
|
repairOrder.setFamiliarFaultDescription(repairOrderParam.getFamiliarFaultDescription()); // 常见维修结论描述
|
||||||
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
repairOrder.setOrderStatus(MaintenanceOrderStatusEnum.FINISHED.getStatus());
|
||||||
repairOrder.setOrderAccomplishTime(new Date()); // 订单完成时间
|
Date finishTime = new Date();
|
||||||
|
repairOrder.setOrderAccomplishTime(finishTime); // 订单完成时间
|
||||||
repairOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
repairOrder.setIsConfirmReceipt(MaintenanceOrderStatusEnum.CONFIRM_RECEIPT.getStatus());
|
||||||
repairOrder.setCompleteImg(repairOrderParam.getCompleteImg()); // 完工照片
|
repairOrder.setCompleteImg(repairOrderParam.getCompleteImg()); // 完工照片
|
||||||
repairOrderMapper.updateById(repairOrder);
|
repairOrderMapper.updateById(repairOrder);
|
||||||
|
@ -403,6 +403,9 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
orderOperateRecordService.addRepairOrder(repairOrder.getId()
|
||||||
,OrderOperateRecordEnum.FILL_IN_RECEIPT.getDesc()
|
,OrderOperateRecordEnum.FILL_IN_RECEIPT.getDesc()
|
||||||
,"【"+FrontThreadLocal.get("username")+"】已经完成任务");
|
,"【"+FrontThreadLocal.get("username")+"】已经完成任务");
|
||||||
|
|
||||||
|
String notificationContent = "维修员【"+FrontThreadLocal.get("username")+"】于【"+TimeUtil.dateTransitionString(finishTime)+"】完成对模块【"+repairOrder.getModuleNumber()+"】的维修工作";
|
||||||
|
restTemplateUtil.sendPost(notificationContent);
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("当前订单状态无法进行填写回单操作");
|
throw new OperateException("当前订单状态无法进行填写回单操作");
|
||||||
}
|
}
|
||||||
|
@ -790,7 +793,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
|
|
||||||
// 获取当前的用户
|
// 获取当前的用户
|
||||||
model.setCreatorId(FrontThreadLocal.getUserId().longValue()); // 创建人id
|
model.setCreatorId(FrontThreadLocal.getUserId().longValue()); // 创建人id
|
||||||
model.setCreateTime(new Date()); //创建时间
|
Date currentTime = new Date();
|
||||||
|
model.setCreateTime(currentTime); //创建时间
|
||||||
|
|
||||||
repairOrderMapper.insert(model);
|
repairOrderMapper.insert(model);
|
||||||
|
|
||||||
|
@ -798,6 +802,14 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
orderOperateRecordService.addRepairOrder(model.getId()
|
orderOperateRecordService.addRepairOrder(model.getId()
|
||||||
, OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
, OrderOperateRecordEnum.NEW_CREATE.getDesc()
|
||||||
,"维修主管【"+FrontThreadLocal.get("username")+"】创建了维修工单。");
|
,"维修主管【"+FrontThreadLocal.get("username")+"】创建了维修工单。");
|
||||||
|
|
||||||
|
Client client = clientMapper.findClientById(repairOrderParam.getClientId());
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(repairOrderParam.getEquipmentId());
|
||||||
|
if(client != null && equipment != null){
|
||||||
|
//发送通知到大屏
|
||||||
|
String notificationContent = "客户【"+client.getClientName()+"】于【"+TimeUtil.dateTransitionString(currentTime)+"】上报工单,维修设备【"+equipment.getName()+"】";
|
||||||
|
restTemplateUtil.sendPost(notificationContent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -936,7 +948,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
|
||||||
BigDecimal actualAmount = new BigDecimal("0");
|
BigDecimal actualAmount = new BigDecimal("0");
|
||||||
|
|
||||||
//判断是否已经服务报价过了
|
//判断是否已经服务报价过了
|
||||||
List<OrderSparePart> orderSpareParts = orderSparePartMapper.findOrderSparePartByMaintenanceOrderId(repairOrder.getId());
|
List<OrderSparePart> orderSpareParts = orderSparePartMapper.findOrderSparePartByRepairOrderId(repairOrder.getId());
|
||||||
for (OrderSparePart orderSparePart : orderSpareParts) {
|
for (OrderSparePart orderSparePart : orderSpareParts) {
|
||||||
//已经报过价就将之前的报价信息删除
|
//已经报过价就将之前的报价信息删除
|
||||||
orderSparePartMapper.deleteById(orderSparePart);
|
orderSparePartMapper.deleteById(orderSparePart);
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
import com.hcy.common.core.PageResult;
|
import com.hcy.common.core.PageResult;
|
||||||
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
import com.hcy.common.dto.RoutingInspectionOrderDto;
|
||||||
import com.hcy.common.dto.order.MaintenanceOrderDto;
|
|
||||||
import com.hcy.common.entity.client.Client;
|
import com.hcy.common.entity.client.Client;
|
||||||
import com.hcy.common.entity.client.Equipment;
|
import com.hcy.common.entity.client.Equipment;
|
||||||
import com.hcy.common.entity.fault.Fault;
|
import com.hcy.common.entity.fault.Fault;
|
||||||
|
@ -26,19 +25,19 @@ import com.hcy.common.mapper.order.MaintenanceOrderMapper;
|
||||||
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
import com.hcy.common.mapper.order.RoutingInspectionOrderMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.hcy.common.mapper.user.UserMapper;
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
|
import com.hcy.common.utils.TimeUtil;
|
||||||
import com.hcy.common.utils.ToolsUtil;
|
import com.hcy.common.utils.ToolsUtil;
|
||||||
import com.hcy.front.FrontThreadLocal;
|
import com.hcy.front.FrontThreadLocal;
|
||||||
import com.hcy.front.service.order.IRoutingInspectionOrderService;
|
import com.hcy.front.service.order.IRoutingInspectionOrderService;
|
||||||
import com.hcy.front.service.region.IDevRegionService;
|
import com.hcy.front.service.region.IDevRegionService;
|
||||||
|
import com.hcy.front.utils.RestTemplateUtil;
|
||||||
import com.hcy.front.validate.PageParam;
|
import com.hcy.front.validate.PageParam;
|
||||||
import com.hcy.front.validate.order.RoutingInspectionOrderParam;
|
import com.hcy.front.validate.order.RoutingInspectionOrderParam;
|
||||||
import com.hcy.front.vo.client.EquipmentListVo;
|
import com.hcy.front.vo.client.EquipmentListVo;
|
||||||
import com.hcy.front.vo.order.MaintenanceOrderListVo;
|
|
||||||
import com.hcy.front.vo.order.OrderStatusCountVo;
|
import com.hcy.front.vo.order.OrderStatusCountVo;
|
||||||
import com.hcy.front.vo.order.RoutingInspectionOrderDetailVo;
|
import com.hcy.front.vo.order.RoutingInspectionOrderDetailVo;
|
||||||
import com.hcy.front.vo.order.RoutingInspectionOrderListVo;
|
import com.hcy.front.vo.order.RoutingInspectionOrderListVo;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.aspectj.weaver.ast.Or;
|
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -84,6 +83,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
@Resource
|
@Resource
|
||||||
IDevRegionService regionService;
|
IDevRegionService regionService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RestTemplateUtil restTemplateUtil;
|
||||||
|
|
||||||
private final DecimalFormat df = new DecimalFormat ("#.#");
|
private final DecimalFormat df = new DecimalFormat ("#.#");
|
||||||
|
|
||||||
|
|
||||||
|
@ -263,13 +265,13 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
model.setFaultId(routingInspectionOrderParam.getFaultId()); // 故障id
|
model.setFaultId(routingInspectionOrderParam.getFaultId()); // 故障id
|
||||||
model.setFaultDescription(routingInspectionOrderParam.getFaultDescription()); // 故障描述
|
model.setFaultDescription(routingInspectionOrderParam.getFaultDescription()); // 故障描述
|
||||||
model.setInspectionResult(routingInspectionOrderParam.getInspectionResult()); //巡检结果(0=正常 1=异常)
|
model.setInspectionResult(routingInspectionOrderParam.getInspectionResult()); //巡检结果(0=正常 1=异常)
|
||||||
|
Date finishTime = new Date();
|
||||||
|
//设备数据
|
||||||
|
Equipment equipment = equipmentMapper.findEquipmentById(model.getEquipmentId());
|
||||||
|
|
||||||
//如果故障检测是选了异常,需要把设备状态改为报修中
|
//如果故障检测是选了异常,需要把设备状态改为报修中
|
||||||
if(routingInspectionOrderParam.getInspectionResult() == OrderStateEnum.ABNORMAL.getStatus()){
|
if(routingInspectionOrderParam.getInspectionResult() == OrderStateEnum.ABNORMAL.getStatus()){
|
||||||
Equipment equipment = equipmentMapper.selectOne(
|
|
||||||
new QueryWrapper<Equipment>()
|
|
||||||
.eq("id", model.getEquipmentId())
|
|
||||||
.eq("is_delete", 0)
|
|
||||||
.last("limit 1"));
|
|
||||||
equipment.setDeviceStatus(EquipmentStateEnum.UNDERWARRANTY.getStatus());
|
equipment.setDeviceStatus(EquipmentStateEnum.UNDERWARRANTY.getStatus());
|
||||||
equipmentMapper.updateById(equipment);
|
equipmentMapper.updateById(equipment);
|
||||||
//如果故障检测异常,需要创建检修单
|
//如果故障检测异常,需要创建检修单
|
||||||
|
@ -277,7 +279,8 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
maintenanceOrder.setOrderNo(getOrderNo());
|
maintenanceOrder.setOrderNo(getOrderNo());
|
||||||
|
|
||||||
maintenanceOrder.setCreatorId(FrontThreadLocal.getUserId().longValue()); //创建人id
|
maintenanceOrder.setCreatorId(FrontThreadLocal.getUserId().longValue()); //创建人id
|
||||||
maintenanceOrder.setCreateTime(new Date()); //创建时间
|
Date currentTime = new Date();
|
||||||
|
maintenanceOrder.setCreateTime(currentTime); //创建时间
|
||||||
maintenanceOrder.setClientId(model.getClientId()); // 客户id
|
maintenanceOrder.setClientId(model.getClientId()); // 客户id
|
||||||
maintenanceOrder.setEquipmentId(model.getEquipmentId()); // 设备id
|
maintenanceOrder.setEquipmentId(model.getEquipmentId()); // 设备id
|
||||||
maintenanceOrder.setFaultId(model.getFaultId()); // 故障id
|
maintenanceOrder.setFaultId(model.getFaultId()); // 故障id
|
||||||
|
@ -287,7 +290,6 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
maintenanceOrder.setRemark(model.getInspectionResultRemark()); // 备注
|
maintenanceOrder.setRemark(model.getInspectionResultRemark()); // 备注
|
||||||
maintenanceOrder.setOrderSource(OrderStateEnum.MAINTENANCE_MAN_CREATION.getStatus()); //订单来源:3=检修员创建
|
maintenanceOrder.setOrderSource(OrderStateEnum.MAINTENANCE_MAN_CREATION.getStatus()); //订单来源:3=检修员创建
|
||||||
maintenanceOrder.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单
|
maintenanceOrder.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单
|
||||||
|
|
||||||
maintenanceOrderMapper.insert(maintenanceOrder);
|
maintenanceOrderMapper.insert(maintenanceOrder);
|
||||||
|
|
||||||
//新增巡检单操作记录
|
//新增巡检单操作记录
|
||||||
|
@ -295,17 +297,25 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
|
||||||
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()
|
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()
|
||||||
,"【"+FrontThreadLocal.get("username")+"】已提交故障检测结果,检测结果: " +
|
,"【"+FrontThreadLocal.get("username")+"】已提交故障检测结果,检测结果: " +
|
||||||
OrderStateEnum.ABNORMAL.getDesc() + ";系统会自动创建检修单且流入到工单池。");
|
OrderStateEnum.ABNORMAL.getDesc() + ";系统会自动创建检修单且流入到工单池。");
|
||||||
|
|
||||||
|
//发送通知到大屏
|
||||||
|
String notificationContent = "检修员【"+FrontThreadLocal.get("username")+"】于【"+ TimeUtil.dateTransitionString(currentTime)+"】上报工单,报修设备【"+equipment.getName()+"】";
|
||||||
|
restTemplateUtil.sendPost(notificationContent);
|
||||||
}else{
|
}else{
|
||||||
//新增巡检单操作记录
|
//新增巡检单操作记录
|
||||||
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
orderOperateRecordService.addRoutingInspectionOrder(model.getId()
|
||||||
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()
|
, OrderOperateRecordEnum.FAULT_DETECT.getDesc()
|
||||||
,"【"+FrontThreadLocal.get("username")+"】已提交故障检测结果,检测结果: " +
|
,"【"+FrontThreadLocal.get("username")+"】已提交故障检测结果,检测结果: " +
|
||||||
OrderStateEnum.NORMAL.getDesc() + ";");
|
OrderStateEnum.NORMAL.getDesc() + ";");
|
||||||
|
|
||||||
|
String notificationContent = "检修员【"+FrontThreadLocal.get("username")+"】于【"+TimeUtil.dateTransitionString(finishTime)+"】完成对设备【"+equipment.getName()+"】的巡检工作";
|
||||||
|
restTemplateUtil.sendPost(notificationContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
model.setInspectionResultRemark(routingInspectionOrderParam.getInspectionResultRemark());//巡检结果备注
|
model.setInspectionResultRemark(routingInspectionOrderParam.getInspectionResultRemark());//巡检结果备注
|
||||||
model.setInspectionPhoto(routingInspectionOrderParam.getInspectionPhoto()); // 巡检照片
|
model.setInspectionPhoto(routingInspectionOrderParam.getInspectionPhoto()); // 巡检照片
|
||||||
model.setOrderStatus(OrderStateEnum.COMPLETED.getStatus()); //故障检测完工单状态就为已完成
|
model.setOrderStatus(OrderStateEnum.COMPLETED.getStatus()); //故障检测完工单状态就为已完成
|
||||||
model.setOrderAccomplishTime(new Date()); //订单完成时间
|
model.setOrderAccomplishTime(finishTime); //订单完成时间
|
||||||
routingInspectionOrderMapper.updateById(model);
|
routingInspectionOrderMapper.updateById(model);
|
||||||
|
|
||||||
//新增巡检单操作记录
|
//新增巡检单操作记录
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.hcy.front.utils;
|
||||||
|
|
||||||
|
import com.hcy.common.entity.system.SystemNotification;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.extern.log4j.Log4j2;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Component
|
||||||
|
@Log4j2
|
||||||
|
public class RestTemplateUtil {
|
||||||
|
|
||||||
|
@Value("${adminService.sendLargeScreenUrl}")
|
||||||
|
public String sendLargeScreenUrl;
|
||||||
|
|
||||||
|
public void sendPost(String content){
|
||||||
|
try{
|
||||||
|
SystemNotification systemNotification = new SystemNotification();
|
||||||
|
systemNotification.setContent(content);
|
||||||
|
|
||||||
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
|
restTemplate.postForObject(sendLargeScreenUrl, systemNotification, String.class);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("上报大屏失败:"+e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -59,6 +59,8 @@ spring:
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath*:/mapper/**Mapper.xml # 映射文件路径
|
mapper-locations: classpath*:/mapper/**Mapper.xml # 映射文件路径
|
||||||
typeAliasesPackage: com.hcy.**.mapper
|
typeAliasesPackage: com.hcy.**.mapper
|
||||||
|
configuration:
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
global-config:
|
global-config:
|
||||||
banner: false
|
banner: false
|
||||||
db-config:
|
db-config:
|
||||||
|
@ -87,5 +89,9 @@ byte:
|
||||||
query-order-url: https://developer.toutiao.com/api/apps/ecpay/v1/query_order
|
query-order-url: https://developer.toutiao.com/api/apps/ecpay/v1/query_order
|
||||||
query-refund-url: https://developer.toutiao.com/api/apps/ecpay/v1/query_refund
|
query-refund-url: https://developer.toutiao.com/api/apps/ecpay/v1/query_refund
|
||||||
netty:
|
netty:
|
||||||
port: 8081
|
port: 8083
|
||||||
path: /staff
|
path: /staff
|
||||||
|
|
||||||
|
#adnin服务地址
|
||||||
|
adminService:
|
||||||
|
sendLargeScreenUrl : http://localhost:8082/api/system/notification/sendLargeScreen
|
Loading…
Reference in New Issue