工单管理优化

This commit is contained in:
2025-07-10 17:47:19 +08:00
parent 21ce358638
commit d6ec98eab9
13 changed files with 224 additions and 4 deletions

View File

@ -58,6 +58,10 @@ public class EmsAlarmRecords extends BaseEntity
@Excel(name = "设备名称,用于标识设备")
private String deviceName;
/** 工单号规则T+日期+6位随机 */
@Excel(name = "工单号", readConverterExp = "规=则T+日期+6位随机")
private String ticketNo;
public void setId(Long id)
{
this.id = id;
@ -158,6 +162,14 @@ public class EmsAlarmRecords extends BaseEntity
return deviceName;
}
public String getTicketNo() {
return ticketNo;
}
public void setTicketNo(String ticketNo) {
this.ticketNo = ticketNo;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -176,6 +188,7 @@ public class EmsAlarmRecords extends BaseEntity
.append("siteId", getSiteId())
.append("deviceId", getDeviceId())
.append("deviceName", getDeviceName())
.append("ticketNo", getTicketNo())
.toString();
}
}

View File

@ -53,6 +53,10 @@ public class EmsTicket extends BaseEntity
@Excel(name = "处理人ID")
private Long workUserId;
/** 0-已废弃 1-有效 */
@Excel(name = "0-已废弃 1-有效")
private Long isDelete;
public void setId(String id)
{
this.id = id;
@ -143,6 +147,14 @@ public class EmsTicket extends BaseEntity
return workUserId;
}
public Long getIsDelete() {
return isDelete;
}
public void setIsDelete(Long isDelete) {
this.isDelete = isDelete;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -159,6 +171,7 @@ public class EmsTicket extends BaseEntity
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("workUserId", getWorkUserId())
.append("isDelete", getIsDelete())
.toString();
}
}

View File

@ -28,6 +28,12 @@ public class AlarmRecordListResponseVo {
/** 状态 */
private String status;
/** 工单号 */
private String ticketNo;
/** 告警唯一标识 */
private String id;
public String getDeviceName() {
return deviceName;
}
@ -75,4 +81,20 @@ public class AlarmRecordListResponseVo {
public void setStatus(String status) {
this.status = status;
}
public String getTicketNo() {
return ticketNo;
}
public void setTicketNo(String ticketNo) {
this.ticketNo = ticketNo;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}

View File

@ -20,6 +20,14 @@ public class SiteMonitorHomeAlarmVo {
*/
private String alarmContent;
/**
* 工单号
*/
private String ticketNo;
/** 告警唯一标识 */
private String id;
public String getDeviceName() {
return deviceName;
}
@ -43,4 +51,20 @@ public class SiteMonitorHomeAlarmVo {
public void setStatus(int status) {
this.status = status;
}
public String getTicketNo() {
return ticketNo;
}
public void setTicketNo(String ticketNo) {
this.ticketNo = ticketNo;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}

View File

@ -59,4 +59,11 @@ public interface EmsTicketMapper
* @return 结果
*/
public int deleteEmsTicketByIds(String[] ids);
/**
* 废弃工单-isDelete=0
* @param id
* @return
*/
public int dropEmsTicketById(String id);
}

View File

@ -67,4 +67,13 @@ public interface IEmsAlarmRecordsService
* @return
*/
public List<AlarmRecordListResponseVo> getAlarmRecordDetailList(AlarmRecordListRequestVo requestVo);
/**
* 生产工单号
*
* @param id
* @param userId
* @return
*/
public String createTicketNo(Long id, Long userId);
}

View File

@ -59,4 +59,11 @@ public interface IEmsTicketService
* @return 结果
*/
public int deleteEmsTicketById(String id);
/**
* 废弃工单-物理删除
* @param id
* @return
*/
public int dropEmsTicketById(String id);
}

View File

@ -1,9 +1,18 @@
package com.xzzn.ems.service.impl;
import java.util.List;
import java.util.Random;
import com.xzzn.common.core.domain.entity.SysUser;
import com.xzzn.common.core.domain.model.LoginUser;
import com.xzzn.common.utils.DateUtils;
import com.xzzn.common.utils.StringUtils;
import com.xzzn.ems.domain.EmsTicket;
import com.xzzn.ems.domain.vo.AlarmRecordListRequestVo;
import com.xzzn.ems.domain.vo.AlarmRecordListResponseVo;
import com.xzzn.ems.mapper.EmsTicketMapper;
import com.xzzn.ems.service.IEmsTicketService;
import com.xzzn.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xzzn.ems.mapper.EmsAlarmRecordsMapper;
@ -21,6 +30,12 @@ public class EmsAlarmRecordsServiceImpl implements IEmsAlarmRecordsService
{
@Autowired
private EmsAlarmRecordsMapper emsAlarmRecordsMapper;
@Autowired
private IEmsTicketService emsTicketService;
@Autowired
private EmsTicketMapper emsTicketMapper;
@Autowired
private SysUserMapper sysUserMapper;
/**
* 查询告警记录
@ -100,4 +115,50 @@ public class EmsAlarmRecordsServiceImpl implements IEmsAlarmRecordsService
public List<AlarmRecordListResponseVo> getAlarmRecordDetailList(AlarmRecordListRequestVo requestVo) {
return emsAlarmRecordsMapper.getAlarmRecordDetailList(requestVo);
}
@Override
public String createTicketNo(Long id, Long userId) {
String ticketNo = "";
// 校验告警记录是否存在
EmsAlarmRecords emsAlarmRecords = emsAlarmRecordsMapper.selectEmsAlarmRecordsById(id);
if (emsAlarmRecords == null) {
return "告警记录不存在";
}
// 工单号是否存在
if (StringUtils.isNotEmpty(emsAlarmRecords.getTicketNo())) {
return "工单号已存在";
}
// 随机生成工单T+日期+6位随机
ticketNo = createRandomTicketNo();
// 更新告警表
emsAlarmRecords.setTicketNo(ticketNo);
emsAlarmRecordsMapper.updateEmsAlarmRecords(emsAlarmRecords);
// 不存在-默认userId
if (userId == null) {
userId = 1L;
}
SysUser user = sysUserMapper.selectUserById(userId);
// 插入工单表
EmsTicket emsTicket = new EmsTicket();
emsTicket.setTicketNo(ticketNo);
emsTicket.setTitle("工单"+id.toString());
emsTicket.setContent(emsAlarmRecords.getAlarmContent());
emsTicket.setUserId(userId.toString());
emsTicket.setWorkUserId(userId);
emsTicket.setCreateTime(DateUtils.getNowDate());
emsTicket.setCreateBy(user.getUserName());
emsTicket.setUpdateTime(DateUtils.getNowDate());
emsTicket.setUpdateBy(user.getUserName());
emsTicketMapper.insertEmsTicket(emsTicket);
return ticketNo;
}
private String createRandomTicketNo() {
String ticketNo = "";
String nowDate = DateUtils.dateTime();
ticketNo = "T" + nowDate + String.format("%06d", new Random().nextInt(1000000));
return ticketNo;
}
}

View File

@ -94,4 +94,16 @@ public class EmsTicketServiceImpl implements IEmsTicketService
{
return emsTicketMapper.deleteEmsTicketById(id);
}
/**
* 删除工单主信息-物理删除
*
* @param id 工单主主键
* @return 结果
*/
@Override
public int dropEmsTicketById(String id)
{
return emsTicketMapper.dropEmsTicketById(id);
}
}