parent
852d952d77
commit
46cc70ac25
@ -0,0 +1,110 @@ |
|||||||
|
package com.alops.web.controller.equManagement; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import org.springframework.security.access.prepost.PreAuthorize; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||||
|
import org.springframework.web.bind.annotation.PutMapping; |
||||||
|
import org.springframework.web.bind.annotation.DeleteMapping; |
||||||
|
import org.springframework.web.bind.annotation.PathVariable; |
||||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
import com.alops.common.annotation.Log; |
||||||
|
import com.alops.common.core.controller.BaseController; |
||||||
|
import com.alops.common.core.domain.AjaxResult; |
||||||
|
import com.alops.common.enums.BusinessType; |
||||||
|
import com.alops.system.domain.EquSupplier; |
||||||
|
import com.alops.system.service.IEquSupplierService; |
||||||
|
import com.alops.common.utils.poi.ExcelUtil; |
||||||
|
import com.alops.common.core.page.TableDataInfo; |
||||||
|
|
||||||
|
/** |
||||||
|
* 供应商功能Controller |
||||||
|
* |
||||||
|
* @author ruoyi |
||||||
|
* @date 2025-09-20 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/device/supplier") |
||||||
|
public class EquSupplierController extends BaseController |
||||||
|
{ |
||||||
|
@Autowired |
||||||
|
private IEquSupplierService equSupplierService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询供应商功能信息列表 |
||||||
|
*/ |
||||||
|
@PreAuthorize("@ss.hasPermi('device:supplier:query')") |
||||||
|
@GetMapping("/query") |
||||||
|
@ApiOperation("查询供应商功能信息列表") |
||||||
|
public TableDataInfo list(EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
startPage(); |
||||||
|
List<EquSupplier> list = equSupplierService.selectEquSupplierList(equSupplier); |
||||||
|
return getDataTable(list); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 导出供应商功能信息列表 |
||||||
|
*/ |
||||||
|
@PreAuthorize("@ss.hasPermi('device:supplier:export')") |
||||||
|
@Log(title = "供应商功能信息", businessType = BusinessType.EXPORT) |
||||||
|
@PostMapping("/export") |
||||||
|
public void export(HttpServletResponse response, EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
List<EquSupplier> list = equSupplierService.selectEquSupplierList(equSupplier); |
||||||
|
ExcelUtil<EquSupplier> util = new ExcelUtil<EquSupplier>(EquSupplier.class); |
||||||
|
util.exportExcel(response, list, "【请填写功能名称】数据"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取供应商功能信息详细信息 |
||||||
|
*/ |
||||||
|
@PreAuthorize("@ss.hasPermi('device:supplier:query')") |
||||||
|
@GetMapping(value = "/{id}") |
||||||
|
public AjaxResult getInfo(@PathVariable("id") String id) |
||||||
|
{ |
||||||
|
return success(equSupplierService.selectEquSupplierById(id)); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 新增供应商功能信息 |
||||||
|
*/ |
||||||
|
@PreAuthorize("@ss.hasPermi('device:supplier:add')") |
||||||
|
@Log(title = "供应商功能信息", businessType = BusinessType.INSERT) |
||||||
|
@PostMapping |
||||||
|
@ApiOperation("新增供应商功能信息列表") |
||||||
|
public AjaxResult add(@RequestBody EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
return toAjax(equSupplierService.insertEquSupplier(equSupplier)); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改供应商功能信息 |
||||||
|
*/ |
||||||
|
@PreAuthorize("@ss.hasPermi('device:supplier:edit')") |
||||||
|
@Log(title = "供应商功能信息", businessType = BusinessType.UPDATE) |
||||||
|
@PutMapping |
||||||
|
@ApiOperation("修改供应商功能信息列表") |
||||||
|
public AjaxResult edit(@RequestBody EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
return toAjax(equSupplierService.updateEquSupplier(equSupplier)); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除供应商功能信息 |
||||||
|
*/ |
||||||
|
@PreAuthorize("@ss.hasPermi('device:supplier:delete')") |
||||||
|
@Log(title = "供应商功能信息", businessType = BusinessType.DELETE) |
||||||
|
@DeleteMapping("/{ids}") |
||||||
|
@ApiOperation("删除供应商功能信息列表") |
||||||
|
public AjaxResult remove(@PathVariable String[] ids) |
||||||
|
{ |
||||||
|
return toAjax(equSupplierService.deleteEquSupplierByIds(ids)); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,147 @@ |
|||||||
|
package com.alops.system.domain; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder; |
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle; |
||||||
|
import com.alops.common.annotation.Excel; |
||||||
|
import com.alops.common.core.domain.BaseEntity; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* 供应商功能 对象 equ_supplier |
||||||
|
* |
||||||
|
* @author ruoyi |
||||||
|
* @date 2025-09-20 |
||||||
|
*/ |
||||||
|
public class EquSupplier |
||||||
|
{ |
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
/** 供应商id */ |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** 供应商名称 */ |
||||||
|
@Excel(name = "供应商名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
/** 供应商简介 */ |
||||||
|
@Excel(name = "供应商简介") |
||||||
|
private String description; |
||||||
|
|
||||||
|
/** 联系人姓名 */ |
||||||
|
@Excel(name = "联系人姓名") |
||||||
|
private String contactBy; |
||||||
|
|
||||||
|
/** l联系方式 */ |
||||||
|
@Excel(name = "l联系方式") |
||||||
|
private String contactWay; |
||||||
|
|
||||||
|
/** 状态(0禁1启用) */ |
||||||
|
@Excel(name = "状态", readConverterExp = "0=禁1启用") |
||||||
|
private Long status; |
||||||
|
|
||||||
|
/** 创建者 */ |
||||||
|
private String createBy; |
||||||
|
|
||||||
|
/** 创建时间 */ |
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
|
||||||
|
public void setId(String id) |
||||||
|
{ |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
public String getId() |
||||||
|
{ |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) |
||||||
|
{ |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
public String getName() |
||||||
|
{ |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDescription(String description) |
||||||
|
{ |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getDescription() |
||||||
|
{ |
||||||
|
return description; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContactBy(String contactBy) |
||||||
|
{ |
||||||
|
this.contactBy = contactBy; |
||||||
|
} |
||||||
|
|
||||||
|
public String getContactBy() |
||||||
|
{ |
||||||
|
return contactBy; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContactWay(String contactWay) |
||||||
|
{ |
||||||
|
this.contactWay = contactWay; |
||||||
|
} |
||||||
|
|
||||||
|
public String getContactWay() |
||||||
|
{ |
||||||
|
return contactWay; |
||||||
|
} |
||||||
|
|
||||||
|
public void setStatus(Long status) |
||||||
|
{ |
||||||
|
this.status = status; |
||||||
|
} |
||||||
|
|
||||||
|
public Long getStatus() |
||||||
|
{ |
||||||
|
return status; |
||||||
|
} |
||||||
|
|
||||||
|
public String getCreateBy() |
||||||
|
{ |
||||||
|
return createBy; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateBy(String createBy) |
||||||
|
{ |
||||||
|
this.createBy = createBy; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getCreateTime() |
||||||
|
{ |
||||||
|
return createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) |
||||||
|
{ |
||||||
|
this.createTime = createTime; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) |
||||||
|
.append("id", getId()) |
||||||
|
.append("name", getName()) |
||||||
|
.append("description", getDescription()) |
||||||
|
.append("contactBy", getContactBy()) |
||||||
|
.append("contactWay", getContactWay()) |
||||||
|
.append("createBy", getCreateBy()) |
||||||
|
.append("createTime", getCreateTime()) |
||||||
|
.append("status", getStatus()) |
||||||
|
.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,22 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* 预警统计 DTO |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class AlertStatisticDto { |
||||||
|
// 按设备类型统计
|
||||||
|
private Map<String, Integer> typeCount; |
||||||
|
|
||||||
|
// 按等级统计
|
||||||
|
private Map<Integer, Integer> levelCount; |
||||||
|
|
||||||
|
// 本年度预警次数
|
||||||
|
private Integer yearCount; |
||||||
|
|
||||||
|
// 本月预警次数
|
||||||
|
private Integer monthCount; |
||||||
|
} |
||||||
@ -0,0 +1,66 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
@Data |
||||||
|
@ApiModel("设备厂商新增DTO") |
||||||
|
public class EquManuAddDto { |
||||||
|
|
||||||
|
@ApiModelProperty("厂商名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty("厂商描述") |
||||||
|
private String description; |
||||||
|
|
||||||
|
@ApiModelProperty("联系人名称") |
||||||
|
private String contactBy ; |
||||||
|
|
||||||
|
@ApiModelProperty("联系人方式,") |
||||||
|
private String contactWay ; |
||||||
|
|
||||||
|
@ApiModelProperty("状态") |
||||||
|
private Integer status = 1; |
||||||
|
|
||||||
|
// ===== Getter & Setter =====
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
public String getDescription() { |
||||||
|
return description; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDescription(String description) { |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getContactBy() { |
||||||
|
return contactBy; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContactBy(String contactBy) { |
||||||
|
this.contactBy = contactBy; |
||||||
|
} |
||||||
|
|
||||||
|
public String getContactWay() { |
||||||
|
return contactWay; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContactWay(String contactWay) { |
||||||
|
this.contactWay = contactWay; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getStatus() { |
||||||
|
return status; |
||||||
|
} |
||||||
|
|
||||||
|
public void setStatus(Integer status) { |
||||||
|
this.status = status; |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,72 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
@Data |
||||||
|
@ApiModel("设备厂商修改DTO") |
||||||
|
public class EquManuUpdateDto { |
||||||
|
|
||||||
|
@ApiModelProperty("厂商ID") |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty("厂商名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty("厂商描述") |
||||||
|
private String description; |
||||||
|
|
||||||
|
@ApiModelProperty("联系人名称") |
||||||
|
private String contactBy; |
||||||
|
|
||||||
|
@ApiModelProperty("联系人方式") |
||||||
|
private String contactWay; |
||||||
|
|
||||||
|
@ApiModelProperty("状态") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
|
||||||
|
// ===== Getter & Setter =====
|
||||||
|
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
public String getDescription() { |
||||||
|
return description; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDescription(String description) { |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getContactBy() { |
||||||
|
return contactBy; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContactBy(String contactBy) { |
||||||
|
this.contactBy = contactBy; |
||||||
|
} |
||||||
|
|
||||||
|
public String getContactWay() { |
||||||
|
return contactWay; |
||||||
|
} |
||||||
|
|
||||||
|
public void setContactWay(String contactWay) { |
||||||
|
this.contactWay = contactWay; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getStatus() { |
||||||
|
return status; |
||||||
|
} |
||||||
|
|
||||||
|
public void setStatus(Integer status) { |
||||||
|
this.status = status; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,46 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
@Data |
||||||
|
@ApiModel("新增设备类型参数") |
||||||
|
public class EquTypeAddDto { |
||||||
|
|
||||||
|
@ApiModelProperty("设备类型简介") |
||||||
|
private String description; |
||||||
|
|
||||||
|
@ApiModelProperty("设备图片地址") |
||||||
|
private String image; |
||||||
|
|
||||||
|
@ApiModelProperty("设备类型名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getDescription() { |
||||||
|
return description; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDescription(String description) { |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getImage() { |
||||||
|
return image; |
||||||
|
} |
||||||
|
|
||||||
|
public void setImage(String image) { |
||||||
|
this.image = image; |
||||||
|
} |
||||||
|
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,49 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
@Data |
||||||
|
@ApiModel("设备类型修改DTO") |
||||||
|
public class EquTypeUpdateDto { |
||||||
|
|
||||||
|
@ApiModelProperty("类型ID") |
||||||
|
private String id; |
||||||
|
|
||||||
|
@ApiModelProperty("设备类型名称") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty("设备类型简介") |
||||||
|
private String description; |
||||||
|
|
||||||
|
@ApiModelProperty("设备图片存储地址") |
||||||
|
private String image; |
||||||
|
|
||||||
|
@ApiModelProperty("状态") // 如果EquType有status字段,可以加上
|
||||||
|
private Integer status; |
||||||
|
|
||||||
|
public String getDescription() { |
||||||
|
return description; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDescription(String description) { |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getImage() { |
||||||
|
return image; |
||||||
|
} |
||||||
|
|
||||||
|
public void setImage(String image) { |
||||||
|
this.image = image; |
||||||
|
} |
||||||
|
|
||||||
|
public String getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(String name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,15 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
import lombok.Data; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class MonitorHistoryDto { |
||||||
|
// 返回给前端的字段
|
||||||
|
private List<Float> temperatureList = new ArrayList<>(); |
||||||
|
private List<Float> involtageList = new ArrayList<>(); |
||||||
|
private List<Float> outvoltageList = new ArrayList<>(); |
||||||
|
private List<String> timeList = new ArrayList<>(); |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,37 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class MonitorLastDto { |
||||||
|
// equ_gather 表
|
||||||
|
private Integer contWorkPeriod; |
||||||
|
private Float fanSpeed; |
||||||
|
private Float cpuUtilization; |
||||||
|
private Float memoryUtilization; |
||||||
|
private String health; |
||||||
|
|
||||||
|
// equ_base 表
|
||||||
|
private Long id; |
||||||
|
private String name; |
||||||
|
private String version; |
||||||
|
private String deviceLevel; |
||||||
|
private String ip; |
||||||
|
private String location; |
||||||
|
private Date installDate; |
||||||
|
private String inCharge; |
||||||
|
private Integer failureFrequency; |
||||||
|
private Integer warranty; |
||||||
|
|
||||||
|
// equ_type
|
||||||
|
private String equType; |
||||||
|
|
||||||
|
// equ_manu
|
||||||
|
private String manufacture; |
||||||
|
private String manufactureContactBy; |
||||||
|
private String manufactureContactWay; |
||||||
|
|
||||||
|
// equ_supplier
|
||||||
|
private String supplierId; |
||||||
|
} |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
|
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.sql.Blob; |
||||||
|
|
||||||
|
/** |
||||||
|
* 显示多台设备监测信息(单个的信息) DTO |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class MonitorListDto { |
||||||
|
private String id; |
||||||
|
private String name; |
||||||
|
private String version; |
||||||
|
private String deviceLevel; |
||||||
|
private String location; |
||||||
|
private String status; |
||||||
|
private Integer failureFrequency; |
||||||
|
private Blob equImage; |
||||||
|
|
||||||
|
// 监控指标
|
||||||
|
private Float cpuUtilization; |
||||||
|
private String health; |
||||||
|
private Integer fanSpeed; |
||||||
|
} |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
package com.alops.system.domain.dto; |
||||||
|
import lombok.Data; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 按设备类型统计 DTO |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
public class MonitorStatisticDto { |
||||||
|
private String equTypeId; // 设备类型ID 或 名称
|
||||||
|
private String equTypeName; // 设备类型名称
|
||||||
|
private List<DeviceSimpleInfo> devices; // 属于该类型的设备列表
|
||||||
|
|
||||||
|
@Data |
||||||
|
public static class DeviceSimpleInfo { |
||||||
|
private String id; |
||||||
|
private String name; |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
package com.alops.system.domain.vo; |
||||||
|
|
||||||
|
import com.alops.system.domain.*; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
|
||||||
|
@Data |
||||||
|
public class EquMonitorVO extends EquBase { |
||||||
|
/** 设备类型 */ |
||||||
|
/**风扇转速**/ |
||||||
|
private Float fanSpeed; |
||||||
|
private Float cpuUtilization; |
||||||
|
private String contWorkPeriod; |
||||||
|
/**设备温度**/ |
||||||
|
private ArrayList<Float> temperatureList; |
||||||
|
/**设备输入电压**/ |
||||||
|
private ArrayList<Float> involtageList; |
||||||
|
/**设备输出电压**/ |
||||||
|
private ArrayList<Float> outvoltageList; |
||||||
|
private Float health; |
||||||
|
private Float aging; |
||||||
|
private Float memoryUtilization; |
||||||
|
|
||||||
|
} |
||||||
@ -1,64 +0,0 @@ |
|||||||
package com.alops.system.mapper; |
|
||||||
|
|
||||||
import com.alops.system.domain.AlarmRule; |
|
||||||
import org.apache.ibatis.annotations.Mapper; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* 预警规则Mapper接口 |
|
||||||
* |
|
||||||
* @author ruoyi |
|
||||||
* @date 2025-08-01 |
|
||||||
*/ |
|
||||||
@Mapper |
|
||||||
public interface AlarmRuleMapper |
|
||||||
{ |
|
||||||
/** |
|
||||||
* 查询预警规则 |
|
||||||
* |
|
||||||
* @param id 预警规则主键 |
|
||||||
* @return 预警规则 |
|
||||||
*/ |
|
||||||
public AlarmRule selectAlarmRuleById(Long id); |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询预警规则列表 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 预警规则集合 |
|
||||||
*/ |
|
||||||
public List<AlarmRule> selectAlarmRuleList(AlarmRule alarmRule); |
|
||||||
|
|
||||||
/** |
|
||||||
* 新增预警规则 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int insertAlarmRule(AlarmRule alarmRule); |
|
||||||
|
|
||||||
/** |
|
||||||
* 修改预警规则 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int updateAlarmRule(AlarmRule alarmRule); |
|
||||||
|
|
||||||
/** |
|
||||||
* 删除预警规则 |
|
||||||
* |
|
||||||
* @param id 预警规则主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int deleteAlarmRuleById(Long id); |
|
||||||
|
|
||||||
/** |
|
||||||
* 批量删除预警规则 |
|
||||||
* |
|
||||||
* @param ids 需要删除的数据主键集合 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int deleteAlarmRuleByIds(Long[] ids); |
|
||||||
} |
|
||||||
@ -0,0 +1,63 @@ |
|||||||
|
package com.alops.system.mapper; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import com.alops.system.domain.EquSupplier; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* 【请填写功能名称】Mapper接口 |
||||||
|
* |
||||||
|
* @author ruoyi |
||||||
|
* @date 2025-09-20 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface EquSupplierMapper |
||||||
|
{ |
||||||
|
/** |
||||||
|
* 查询【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param id 【请填写功能名称】主键 |
||||||
|
* @return 【请填写功能名称】 |
||||||
|
*/ |
||||||
|
public EquSupplier selectEquSupplierById(String id); |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询【请填写功能名称】列表 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 【请填写功能名称】集合 |
||||||
|
*/ |
||||||
|
public List<EquSupplier> selectEquSupplierList(EquSupplier equSupplier); |
||||||
|
|
||||||
|
/** |
||||||
|
* 新增【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int insertEquSupplier(EquSupplier equSupplier); |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int updateEquSupplier(EquSupplier equSupplier); |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param id 【请填写功能名称】主键 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int deleteEquSupplierById(String id); |
||||||
|
|
||||||
|
/** |
||||||
|
* 批量删除【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param ids 需要删除的数据主键集合 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int deleteEquSupplierByIds(String[] ids); |
||||||
|
} |
||||||
@ -1,65 +0,0 @@ |
|||||||
package com.alops.system.mapper; |
|
||||||
|
|
||||||
import com.alops.system.domain.FauSta; |
|
||||||
import org.apache.ibatis.annotations.Mapper; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 故障统计Mapper接口 |
|
||||||
* |
|
||||||
* @author ruoyi |
|
||||||
* @date 2025-08-01 |
|
||||||
*/ |
|
||||||
@Mapper |
|
||||||
public interface FauStaMapper |
|
||||||
{ |
|
||||||
/** |
|
||||||
* 查询故障统计 |
|
||||||
* |
|
||||||
* @param id 故障统计主键 |
|
||||||
* @return 故障统计 |
|
||||||
*/ |
|
||||||
public FauSta selectFauStaById(Long id); |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询故障统计列表 |
|
||||||
* |
|
||||||
* @param fauSta 故障统计 |
|
||||||
* @return 故障统计集合 |
|
||||||
*/ |
|
||||||
public List<FauSta> selectFauStaList(FauSta fauSta); |
|
||||||
|
|
||||||
/** |
|
||||||
* 新增故障统计 |
|
||||||
* |
|
||||||
* @param fauSta 故障统计 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int insertFauSta(FauSta fauSta); |
|
||||||
|
|
||||||
/** |
|
||||||
* 修改故障统计 |
|
||||||
* |
|
||||||
* @param fauSta 故障统计 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int updateFauSta(FauSta fauSta); |
|
||||||
|
|
||||||
/** |
|
||||||
* 删除故障统计 |
|
||||||
* |
|
||||||
* @param id 故障统计主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int deleteFauStaById(Long id); |
|
||||||
|
|
||||||
/** |
|
||||||
* 批量删除故障统计 |
|
||||||
* |
|
||||||
* @param ids 需要删除的数据主键集合 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int deleteFauStaByIds(Long[] ids); |
|
||||||
} |
|
||||||
@ -1,62 +0,0 @@ |
|||||||
package com.alops.system.service; |
|
||||||
|
|
||||||
import com.alops.system.domain.AlarmRule; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* 预警规则Service接口 |
|
||||||
* |
|
||||||
* @author ruoyi |
|
||||||
* @date 2025-08-01 |
|
||||||
*/ |
|
||||||
public interface IAlarmRuleService |
|
||||||
{ |
|
||||||
/** |
|
||||||
* 查询预警规则 |
|
||||||
* |
|
||||||
* @param id 预警规则主键 |
|
||||||
* @return 预警规则 |
|
||||||
*/ |
|
||||||
public AlarmRule selectAlarmRuleById(Long id); |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询预警规则列表 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 预警规则集合 |
|
||||||
*/ |
|
||||||
public List<AlarmRule> selectAlarmRuleList(AlarmRule alarmRule); |
|
||||||
|
|
||||||
/** |
|
||||||
* 新增预警规则 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int insertAlarmRule(AlarmRule alarmRule); |
|
||||||
|
|
||||||
/** |
|
||||||
* 修改预警规则 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int updateAlarmRule(AlarmRule alarmRule); |
|
||||||
|
|
||||||
/** |
|
||||||
* 批量删除预警规则 |
|
||||||
* |
|
||||||
* @param ids 需要删除的预警规则主键集合 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int deleteAlarmRuleByIds(Long[] ids); |
|
||||||
|
|
||||||
/** |
|
||||||
* 删除预警规则信息 |
|
||||||
* |
|
||||||
* @param id 预警规则主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
public int deleteAlarmRuleById(Long id); |
|
||||||
} |
|
||||||
@ -0,0 +1,61 @@ |
|||||||
|
package com.alops.system.service; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import com.alops.system.domain.EquSupplier; |
||||||
|
|
||||||
|
/** |
||||||
|
* 【请填写功能名称】Service接口 |
||||||
|
* |
||||||
|
* @author ruoyi |
||||||
|
* @date 2025-09-20 |
||||||
|
*/ |
||||||
|
public interface IEquSupplierService |
||||||
|
{ |
||||||
|
/** |
||||||
|
* 查询【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param id 【请填写功能名称】主键 |
||||||
|
* @return 【请填写功能名称】 |
||||||
|
*/ |
||||||
|
public EquSupplier selectEquSupplierById(String id); |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询【请填写功能名称】列表 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 【请填写功能名称】集合 |
||||||
|
*/ |
||||||
|
public List<EquSupplier> selectEquSupplierList(EquSupplier equSupplier); |
||||||
|
|
||||||
|
/** |
||||||
|
* 新增【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int insertEquSupplier(EquSupplier equSupplier); |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int updateEquSupplier(EquSupplier equSupplier); |
||||||
|
|
||||||
|
/** |
||||||
|
* 批量删除【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param ids 需要删除的【请填写功能名称】主键集合 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int deleteEquSupplierByIds(String[] ids); |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除【请填写功能名称】信息 |
||||||
|
* |
||||||
|
* @param id 【请填写功能名称】主键 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
public int deleteEquSupplierById(String id); |
||||||
|
} |
||||||
@ -1,98 +0,0 @@ |
|||||||
package com.alops.system.service.impl; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import com.alops.common.utils.DateUtils; |
|
||||||
import com.alops.system.domain.AlarmRule; |
|
||||||
import com.alops.system.mapper.AlarmRuleMapper; |
|
||||||
import com.alops.system.service.IAlarmRuleService; |
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 预警规则Service业务层处理 |
|
||||||
* |
|
||||||
* @author ruoyi |
|
||||||
* @date 2025-08-01 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
public class AlarmRuleServiceImpl implements IAlarmRuleService |
|
||||||
{ |
|
||||||
@Autowired |
|
||||||
private AlarmRuleMapper alarmRuleMapper; |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询预警规则 |
|
||||||
* |
|
||||||
* @param id 预警规则主键 |
|
||||||
* @return 预警规则 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public AlarmRule selectAlarmRuleById(Long id) |
|
||||||
{ |
|
||||||
return alarmRuleMapper.selectAlarmRuleById(id); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询预警规则列表 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 预警规则 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public List<AlarmRule> selectAlarmRuleList(AlarmRule alarmRule) |
|
||||||
{ |
|
||||||
return alarmRuleMapper.selectAlarmRuleList(alarmRule); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 新增预警规则 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int insertAlarmRule(AlarmRule alarmRule) |
|
||||||
{ |
|
||||||
alarmRule.setCreateTime(DateUtils.getNowDate()); |
|
||||||
return alarmRuleMapper.insertAlarmRule(alarmRule); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 修改预警规则 |
|
||||||
* |
|
||||||
* @param alarmRule 预警规则 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int updateAlarmRule(AlarmRule alarmRule) |
|
||||||
{ |
|
||||||
return alarmRuleMapper.updateAlarmRule(alarmRule); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 批量删除预警规则 |
|
||||||
* |
|
||||||
* @param ids 需要删除的预警规则主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int deleteAlarmRuleByIds(Long[] ids) |
|
||||||
{ |
|
||||||
return alarmRuleMapper.deleteAlarmRuleByIds(ids); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 删除预警规则信息 |
|
||||||
* |
|
||||||
* @param id 预警规则主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int deleteAlarmRuleById(Long id) |
|
||||||
{ |
|
||||||
return alarmRuleMapper.deleteAlarmRuleById(id); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -0,0 +1,95 @@ |
|||||||
|
package com.alops.system.service.impl; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import com.alops.common.utils.DateUtils; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
import com.alops.system.mapper.EquSupplierMapper; |
||||||
|
import com.alops.system.domain.EquSupplier; |
||||||
|
import com.alops.system.service.IEquSupplierService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 【请填写功能名称】Service业务层处理 |
||||||
|
* |
||||||
|
* @author ruoyi |
||||||
|
* @date 2025-09-20 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class EquSupplierServiceImpl implements IEquSupplierService |
||||||
|
{ |
||||||
|
@Autowired |
||||||
|
private EquSupplierMapper equSupplierMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param id 【请填写功能名称】主键 |
||||||
|
* @return 【请填写功能名称】 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public EquSupplier selectEquSupplierById(String id) |
||||||
|
{ |
||||||
|
return equSupplierMapper.selectEquSupplierById(id); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询【请填写功能名称】列表 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 【请填写功能名称】 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public List<EquSupplier> selectEquSupplierList(EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
return equSupplierMapper.selectEquSupplierList(equSupplier); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 新增【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public int insertEquSupplier(EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
equSupplier.setCreateTime(DateUtils.getNowDate()); |
||||||
|
return equSupplierMapper.insertEquSupplier(equSupplier); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param equSupplier 【请填写功能名称】 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public int updateEquSupplier(EquSupplier equSupplier) |
||||||
|
{ |
||||||
|
return equSupplierMapper.updateEquSupplier(equSupplier); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 批量删除【请填写功能名称】 |
||||||
|
* |
||||||
|
* @param ids 需要删除的【请填写功能名称】主键 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public int deleteEquSupplierByIds(String[] ids) |
||||||
|
{ |
||||||
|
return equSupplierMapper.deleteEquSupplierByIds(ids); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除【请填写功能名称】信息 |
||||||
|
* |
||||||
|
* @param id 【请填写功能名称】主键 |
||||||
|
* @return 结果 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public int deleteEquSupplierById(String id) |
||||||
|
{ |
||||||
|
return equSupplierMapper.deleteEquSupplierById(id); |
||||||
|
} |
||||||
|
} |
||||||
@ -1,94 +0,0 @@ |
|||||||
package com.alops.system.service.impl; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import com.alops.system.domain.FauSta; |
|
||||||
import com.alops.system.mapper.FauStaMapper; |
|
||||||
import com.alops.system.service.IFauStaService; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
/** |
|
||||||
* 故障统计Service业务层处理 |
|
||||||
* |
|
||||||
* @author ruoyi |
|
||||||
* @date 2025-08-01 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
public class FauStaServiceImpl implements IFauStaService |
|
||||||
{ |
|
||||||
@Autowired |
|
||||||
private FauStaMapper fauStaMapper; |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询故障统计 |
|
||||||
* |
|
||||||
* @param id 故障统计主键 |
|
||||||
* @return 故障统计 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public FauSta selectFauStaById(Long id) |
|
||||||
{ |
|
||||||
return fauStaMapper.selectFauStaById(id); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 查询故障统计列表 |
|
||||||
* |
|
||||||
* @param fauSta 故障统计 |
|
||||||
* @return 故障统计 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public List<FauSta> selectFauStaList(FauSta fauSta) |
|
||||||
{ |
|
||||||
return fauStaMapper.selectFauStaList(fauSta); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 新增故障统计 |
|
||||||
* |
|
||||||
* @param fauSta 故障统计 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int insertFauSta(FauSta fauSta) |
|
||||||
{ |
|
||||||
return fauStaMapper.insertFauSta(fauSta); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 修改故障统计 |
|
||||||
* |
|
||||||
* @param fauSta 故障统计 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int updateFauSta(FauSta fauSta) |
|
||||||
{ |
|
||||||
return fauStaMapper.updateFauSta(fauSta); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 批量删除故障统计 |
|
||||||
* |
|
||||||
* @param ids 需要删除的故障统计主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int deleteFauStaByIds(Long[] ids) |
|
||||||
{ |
|
||||||
return fauStaMapper.deleteFauStaByIds(ids); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 删除故障统计信息 |
|
||||||
* |
|
||||||
* @param id 故障统计主键 |
|
||||||
* @return 结果 |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public int deleteFauStaById(Long id) |
|
||||||
{ |
|
||||||
return fauStaMapper.deleteFauStaById(id); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,110 +0,0 @@ |
|||||||
<?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.alops.system.mapper.AlarmRuleMapper"> |
|
||||||
|
|
||||||
<resultMap type="AlarmRule" id="AlarmRuleResult"> |
|
||||||
<result property="id" column="id" /> |
|
||||||
<result property="ruleName" column="rule_name" /> |
|
||||||
<result property="description" column="description" /> |
|
||||||
<result property="paramName" column="param_name" /> |
|
||||||
<result property="equType" column="equ_type" /> |
|
||||||
<result property="compareOperator" column="compare_operator" /> |
|
||||||
<result property="paramValue" column="param_value" /> |
|
||||||
<result property="alertLevel" column="alert_level" /> |
|
||||||
<result property="alertMessage" column="alert_message" /> |
|
||||||
<result property="roleId" column="role_id" /> |
|
||||||
<result property="notifyEmail" column="notify_email" /> |
|
||||||
<result property="ruleStatus" column="rule_status" /> |
|
||||||
<result property="createTime" column="create_time" /> |
|
||||||
</resultMap> |
|
||||||
|
|
||||||
<sql id="selectAlarmRuleVo"> |
|
||||||
select id, rule_name, description, param_name, equ_type, compare_operator, param_value, alert_level, alert_message, role_id, notify_email, rule_status, create_time from alarm_rule |
|
||||||
</sql> |
|
||||||
|
|
||||||
<select id="selectAlarmRuleList" parameterType="AlarmRule" resultMap="AlarmRuleResult"> |
|
||||||
<include refid="selectAlarmRuleVo"/> |
|
||||||
<where> |
|
||||||
<if test="ruleName != null and ruleName != ''"> and rule_name like concat('%', #{ruleName}, '%')</if> |
|
||||||
<if test="description != null and description != ''"> and description = #{description}</if> |
|
||||||
<if test="paramName != null and paramName != ''"> and param_name like concat('%', #{paramName}, '%')</if> |
|
||||||
<if test="equType != null and equType != ''"> and equ_type = #{equType}</if> |
|
||||||
<if test="compareOperator != null and compareOperator != ''"> and compare_operator = #{compareOperator}</if> |
|
||||||
<if test="paramValue != null "> and param_value = #{paramValue}</if> |
|
||||||
<if test="alertLevel != null "> and alert_level = #{alertLevel}</if> |
|
||||||
<if test="alertMessage != null and alertMessage != ''"> and alert_message = #{alertMessage}</if> |
|
||||||
<if test="roleId != null "> and role_id = #{roleId}</if> |
|
||||||
<if test="notifyEmail != null and notifyEmail != ''"> and notify_email = #{notifyEmail}</if> |
|
||||||
<if test="ruleStatus != null "> and rule_status = #{ruleStatus}</if> |
|
||||||
</where> |
|
||||||
</select> |
|
||||||
|
|
||||||
<select id="selectAlarmRuleById" parameterType="Long" resultMap="AlarmRuleResult"> |
|
||||||
<include refid="selectAlarmRuleVo"/> |
|
||||||
where id = #{id} |
|
||||||
</select> |
|
||||||
|
|
||||||
<insert id="insertAlarmRule" parameterType="AlarmRule" useGeneratedKeys="true" keyProperty="id"> |
|
||||||
insert into alarm_rule |
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|
||||||
<if test="ruleName != null and ruleName != ''">rule_name,</if> |
|
||||||
<if test="description != null">description,</if> |
|
||||||
<if test="paramName != null">param_name,</if> |
|
||||||
<if test="equType != null">equ_type,</if> |
|
||||||
<if test="compareOperator != null">compare_operator,</if> |
|
||||||
<if test="paramValue != null">param_value,</if> |
|
||||||
<if test="alertLevel != null">alert_level,</if> |
|
||||||
<if test="alertMessage != null">alert_message,</if> |
|
||||||
<if test="roleId != null">role_id,</if> |
|
||||||
<if test="notifyEmail != null">notify_email,</if> |
|
||||||
<if test="ruleStatus != null">rule_status,</if> |
|
||||||
<if test="createTime != null">create_time,</if> |
|
||||||
</trim> |
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|
||||||
<if test="ruleName != null and ruleName != ''">#{ruleName},</if> |
|
||||||
<if test="description != null">#{description},</if> |
|
||||||
<if test="paramName != null">#{paramName},</if> |
|
||||||
<if test="equType != null">#{equType},</if> |
|
||||||
<if test="compareOperator != null">#{compareOperator},</if> |
|
||||||
<if test="paramValue != null">#{paramValue},</if> |
|
||||||
<if test="alertLevel != null">#{alertLevel},</if> |
|
||||||
<if test="alertMessage != null">#{alertMessage},</if> |
|
||||||
<if test="roleId != null">#{roleId},</if> |
|
||||||
<if test="notifyEmail != null">#{notifyEmail},</if> |
|
||||||
<if test="ruleStatus != null">#{ruleStatus},</if> |
|
||||||
<if test="createTime != null">#{createTime},</if> |
|
||||||
</trim> |
|
||||||
</insert> |
|
||||||
|
|
||||||
<update id="updateAlarmRule" parameterType="AlarmRule"> |
|
||||||
update alarm_rule |
|
||||||
<trim prefix="SET" suffixOverrides=","> |
|
||||||
<if test="ruleName != null and ruleName != ''">rule_name = #{ruleName},</if> |
|
||||||
<if test="description != null">description = #{description},</if> |
|
||||||
<if test="paramName != null">param_name = #{paramName},</if> |
|
||||||
<if test="equType != null">equ_type = #{equType},</if> |
|
||||||
<if test="compareOperator != null">compare_operator = #{compareOperator},</if> |
|
||||||
<if test="paramValue != null">param_value = #{paramValue},</if> |
|
||||||
<if test="alertLevel != null">alert_level = #{alertLevel},</if> |
|
||||||
<if test="alertMessage != null">alert_message = #{alertMessage},</if> |
|
||||||
<if test="roleId != null">role_id = #{roleId},</if> |
|
||||||
<if test="notifyEmail != null">notify_email = #{notifyEmail},</if> |
|
||||||
<if test="ruleStatus != null">rule_status = #{ruleStatus},</if> |
|
||||||
<if test="createTime != null">create_time = #{createTime},</if> |
|
||||||
</trim> |
|
||||||
where id = #{id} |
|
||||||
</update> |
|
||||||
|
|
||||||
<delete id="deleteAlarmRuleById" parameterType="Long"> |
|
||||||
delete from alarm_rule where id = #{id} |
|
||||||
</delete> |
|
||||||
|
|
||||||
<delete id="deleteAlarmRuleByIds" parameterType="String"> |
|
||||||
delete from alarm_rule where id in |
|
||||||
<foreach item="id" collection="array" open="(" separator="," close=")"> |
|
||||||
#{id} |
|
||||||
</foreach> |
|
||||||
</delete> |
|
||||||
</mapper> |
|
||||||
@ -0,0 +1,86 @@ |
|||||||
|
<?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.alops.system.mapper.EquSupplierMapper"> |
||||||
|
|
||||||
|
<resultMap type="EquSupplier" id="EquSupplierResult"> |
||||||
|
<result property="id" column="id" /> |
||||||
|
<result property="name" column="name" /> |
||||||
|
<result property="description" column="description" /> |
||||||
|
<result property="contactBy" column="contact_by" /> |
||||||
|
<result property="contactWay" column="contact_way" /> |
||||||
|
<result property="createBy" column="create_by" /> |
||||||
|
<result property="createTime" column="create_time" /> |
||||||
|
<result property="status" column="status" /> |
||||||
|
</resultMap> |
||||||
|
|
||||||
|
<sql id="selectEquSupplierVo"> |
||||||
|
select id, name, description, contact_by, contact_way, create_by, create_time, status from equ_supplier |
||||||
|
</sql> |
||||||
|
|
||||||
|
<select id="selectEquSupplierList" parameterType="EquSupplier" resultMap="EquSupplierResult"> |
||||||
|
<include refid="selectEquSupplierVo"/> |
||||||
|
<where> |
||||||
|
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> |
||||||
|
<if test="description != null and description != ''"> and description = #{description}</if> |
||||||
|
<if test="contactBy != null and contactBy != ''"> and contact_by = #{contactBy}</if> |
||||||
|
<if test="contactWay != null and contactWay != ''"> and contact_way = #{contactWay}</if> |
||||||
|
<if test="status != null "> and status = #{status}</if> |
||||||
|
</where> |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="selectEquSupplierById" parameterType="String" resultMap="EquSupplierResult"> |
||||||
|
<include refid="selectEquSupplierVo"/> |
||||||
|
where id = #{id} |
||||||
|
</select> |
||||||
|
|
||||||
|
<insert id="insertEquSupplier" parameterType="EquSupplier"> |
||||||
|
insert into equ_supplier |
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=","> |
||||||
|
<if test="id != null">id,</if> |
||||||
|
<if test="name != null">name,</if> |
||||||
|
<if test="description != null">description,</if> |
||||||
|
<if test="contactBy != null">contact_by,</if> |
||||||
|
<if test="contactWay != null">contact_way,</if> |
||||||
|
<if test="createBy != null">create_by,</if> |
||||||
|
<if test="createTime != null">create_time,</if> |
||||||
|
<if test="status != null">status,</if> |
||||||
|
</trim> |
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=","> |
||||||
|
<if test="id != null">#{id},</if> |
||||||
|
<if test="name != null">#{name},</if> |
||||||
|
<if test="description != null">#{description},</if> |
||||||
|
<if test="contactBy != null">#{contactBy},</if> |
||||||
|
<if test="contactWay != null">#{contactWay},</if> |
||||||
|
<if test="createBy != null">#{createBy},</if> |
||||||
|
<if test="createTime != null">#{createTime},</if> |
||||||
|
<if test="status != null">#{status},</if> |
||||||
|
</trim> |
||||||
|
</insert> |
||||||
|
|
||||||
|
<update id="updateEquSupplier" parameterType="EquSupplier"> |
||||||
|
update equ_supplier |
||||||
|
<trim prefix="SET" suffixOverrides=","> |
||||||
|
<if test="name != null">name = #{name},</if> |
||||||
|
<if test="description != null">description = #{description},</if> |
||||||
|
<if test="contactBy != null">contact_by = #{contactBy},</if> |
||||||
|
<if test="contactWay != null">contact_way = #{contactWay},</if> |
||||||
|
<if test="createBy != null">create_by = #{createBy},</if> |
||||||
|
<if test="createTime != null">create_time = #{createTime},</if> |
||||||
|
<if test="status != null">status = #{status},</if> |
||||||
|
</trim> |
||||||
|
where id = #{id} |
||||||
|
</update> |
||||||
|
|
||||||
|
<delete id="deleteEquSupplierById" parameterType="String"> |
||||||
|
delete from equ_supplier where id = #{id} |
||||||
|
</delete> |
||||||
|
|
||||||
|
<delete id="deleteEquSupplierByIds" parameterType="String"> |
||||||
|
delete from equ_supplier where id in |
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")"> |
||||||
|
#{id} |
||||||
|
</foreach> |
||||||
|
</delete> |
||||||
|
</mapper> |
||||||
@ -0,0 +1,44 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询【请填写功能名称】列表
|
||||||
|
export function listSupplier(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/supplier/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询【请填写功能名称】详细
|
||||||
|
export function getSupplier(id) { |
||||||
|
return request({ |
||||||
|
url: '/system/supplier/' + id, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增【请填写功能名称】
|
||||||
|
export function addSupplier(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/supplier', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改【请填写功能名称】
|
||||||
|
export function updateSupplier(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/supplier', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除【请填写功能名称】
|
||||||
|
export function delSupplier(id) { |
||||||
|
return request({ |
||||||
|
url: '/system/supplier/' + id, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
@ -0,0 +1,287 @@ |
|||||||
|
<template> |
||||||
|
<div class="app-container"> |
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
||||||
|
<el-form-item label="供应商名称" prop="name"> |
||||||
|
<el-input |
||||||
|
v-model="queryParams.name" |
||||||
|
placeholder="请输入供应商名称" |
||||||
|
clearable |
||||||
|
@keyup.enter.native="handleQuery" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="联系人姓名" prop="contactBy"> |
||||||
|
<el-input |
||||||
|
v-model="queryParams.contactBy" |
||||||
|
placeholder="请输入联系人姓名" |
||||||
|
clearable |
||||||
|
@keyup.enter.native="handleQuery" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="l联系方式" prop="contactWay"> |
||||||
|
<el-input |
||||||
|
v-model="queryParams.contactWay" |
||||||
|
placeholder="请输入l联系方式" |
||||||
|
clearable |
||||||
|
@keyup.enter.native="handleQuery" |
||||||
|
/> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item> |
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8"> |
||||||
|
<el-col :span="1.5"> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
plain |
||||||
|
icon="el-icon-plus" |
||||||
|
size="mini" |
||||||
|
@click="handleAdd" |
||||||
|
v-hasPermi="['system:supplier:add']" |
||||||
|
>新增</el-button> |
||||||
|
</el-col> |
||||||
|
<el-col :span="1.5"> |
||||||
|
<el-button |
||||||
|
type="success" |
||||||
|
plain |
||||||
|
icon="el-icon-edit" |
||||||
|
size="mini" |
||||||
|
:disabled="single" |
||||||
|
@click="handleUpdate" |
||||||
|
v-hasPermi="['system:supplier:edit']" |
||||||
|
>修改</el-button> |
||||||
|
</el-col> |
||||||
|
<el-col :span="1.5"> |
||||||
|
<el-button |
||||||
|
type="danger" |
||||||
|
plain |
||||||
|
icon="el-icon-delete" |
||||||
|
size="mini" |
||||||
|
:disabled="multiple" |
||||||
|
@click="handleDelete" |
||||||
|
v-hasPermi="['system:supplier:remove']" |
||||||
|
>删除</el-button> |
||||||
|
</el-col> |
||||||
|
<el-col :span="1.5"> |
||||||
|
<el-button |
||||||
|
type="warning" |
||||||
|
plain |
||||||
|
icon="el-icon-download" |
||||||
|
size="mini" |
||||||
|
@click="handleExport" |
||||||
|
v-hasPermi="['system:supplier:export']" |
||||||
|
>导出</el-button> |
||||||
|
</el-col> |
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||||
|
</el-row> |
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="supplierList" @selection-change="handleSelectionChange"> |
||||||
|
<el-table-column type="selection" width="55" align="center" /> |
||||||
|
<el-table-column label="供应商id" align="center" prop="id" /> |
||||||
|
<el-table-column label="供应商名称" align="center" prop="name" /> |
||||||
|
<el-table-column label="供应商简介" align="center" prop="description" /> |
||||||
|
<el-table-column label="联系人姓名" align="center" prop="contactBy" /> |
||||||
|
<el-table-column label="l联系方式" align="center" prop="contactWay" /> |
||||||
|
<el-table-column label="状态" align="center" prop="status" /> |
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<el-button |
||||||
|
size="mini" |
||||||
|
type="text" |
||||||
|
icon="el-icon-edit" |
||||||
|
@click="handleUpdate(scope.row)" |
||||||
|
v-hasPermi="['system:supplier:edit']" |
||||||
|
>修改</el-button> |
||||||
|
<el-button |
||||||
|
size="mini" |
||||||
|
type="text" |
||||||
|
icon="el-icon-delete" |
||||||
|
@click="handleDelete(scope.row)" |
||||||
|
v-hasPermi="['system:supplier:remove']" |
||||||
|
>删除</el-button> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
|
||||||
|
<pagination |
||||||
|
v-show="total>0" |
||||||
|
:total="total" |
||||||
|
:page.sync="queryParams.pageNum" |
||||||
|
:limit.sync="queryParams.pageSize" |
||||||
|
@pagination="getList" |
||||||
|
/> |
||||||
|
|
||||||
|
<!-- 添加或修改【请填写功能名称】对话框 --> |
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
||||||
|
<el-form-item label="供应商名称" prop="name"> |
||||||
|
<el-input v-model="form.name" placeholder="请输入供应商名称" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="供应商简介" prop="description"> |
||||||
|
<el-input v-model="form.description" type="textarea" placeholder="请输入内容" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="联系人姓名" prop="contactBy"> |
||||||
|
<el-input v-model="form.contactBy" placeholder="请输入联系人姓名" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="l联系方式" prop="contactWay"> |
||||||
|
<el-input v-model="form.contactWay" placeholder="请输入l联系方式" /> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<div slot="footer" class="dialog-footer"> |
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button> |
||||||
|
<el-button @click="cancel">取 消</el-button> |
||||||
|
</div> |
||||||
|
</el-dialog> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { listSupplier, getSupplier, delSupplier, addSupplier, updateSupplier } from "@/api/system/supplier" |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "Supplier", |
||||||
|
data() { |
||||||
|
return { |
||||||
|
// 遮罩层 |
||||||
|
loading: true, |
||||||
|
// 选中数组 |
||||||
|
ids: [], |
||||||
|
// 非单个禁用 |
||||||
|
single: true, |
||||||
|
// 非多个禁用 |
||||||
|
multiple: true, |
||||||
|
// 显示搜索条件 |
||||||
|
showSearch: true, |
||||||
|
// 总条数 |
||||||
|
total: 0, |
||||||
|
// 【请填写功能名称】表格数据 |
||||||
|
supplierList: [], |
||||||
|
// 弹出层标题 |
||||||
|
title: "", |
||||||
|
// 是否显示弹出层 |
||||||
|
open: false, |
||||||
|
// 查询参数 |
||||||
|
queryParams: { |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 10, |
||||||
|
name: null, |
||||||
|
description: null, |
||||||
|
contactBy: null, |
||||||
|
contactWay: null, |
||||||
|
status: null |
||||||
|
}, |
||||||
|
// 表单参数 |
||||||
|
form: {}, |
||||||
|
// 表单校验 |
||||||
|
rules: { |
||||||
|
createTime: [ |
||||||
|
{ required: true, message: "添加人日期不能为空", trigger: "blur" } |
||||||
|
], |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
/** 查询【请填写功能名称】列表 */ |
||||||
|
getList() { |
||||||
|
this.loading = true |
||||||
|
listSupplier(this.queryParams).then(response => { |
||||||
|
this.supplierList = response.rows |
||||||
|
this.total = response.total |
||||||
|
this.loading = false |
||||||
|
}) |
||||||
|
}, |
||||||
|
// 取消按钮 |
||||||
|
cancel() { |
||||||
|
this.open = false |
||||||
|
this.reset() |
||||||
|
}, |
||||||
|
// 表单重置 |
||||||
|
reset() { |
||||||
|
this.form = { |
||||||
|
id: null, |
||||||
|
name: null, |
||||||
|
description: null, |
||||||
|
contactBy: null, |
||||||
|
contactWay: null, |
||||||
|
createBy: null, |
||||||
|
createTime: null, |
||||||
|
status: null |
||||||
|
} |
||||||
|
this.resetForm("form") |
||||||
|
}, |
||||||
|
/** 搜索按钮操作 */ |
||||||
|
handleQuery() { |
||||||
|
this.queryParams.pageNum = 1 |
||||||
|
this.getList() |
||||||
|
}, |
||||||
|
/** 重置按钮操作 */ |
||||||
|
resetQuery() { |
||||||
|
this.resetForm("queryForm") |
||||||
|
this.handleQuery() |
||||||
|
}, |
||||||
|
// 多选框选中数据 |
||||||
|
handleSelectionChange(selection) { |
||||||
|
this.ids = selection.map(item => item.id) |
||||||
|
this.single = selection.length!==1 |
||||||
|
this.multiple = !selection.length |
||||||
|
}, |
||||||
|
/** 新增按钮操作 */ |
||||||
|
handleAdd() { |
||||||
|
this.reset() |
||||||
|
this.open = true |
||||||
|
this.title = "添加【请填写功能名称】" |
||||||
|
}, |
||||||
|
/** 修改按钮操作 */ |
||||||
|
handleUpdate(row) { |
||||||
|
this.reset() |
||||||
|
const id = row.id || this.ids |
||||||
|
getSupplier(id).then(response => { |
||||||
|
this.form = response.data |
||||||
|
this.open = true |
||||||
|
this.title = "修改【请填写功能名称】" |
||||||
|
}) |
||||||
|
}, |
||||||
|
/** 提交按钮 */ |
||||||
|
submitForm() { |
||||||
|
this.$refs["form"].validate(valid => { |
||||||
|
if (valid) { |
||||||
|
if (this.form.id != null) { |
||||||
|
updateSupplier(this.form).then(response => { |
||||||
|
this.$modal.msgSuccess("修改成功") |
||||||
|
this.open = false |
||||||
|
this.getList() |
||||||
|
}) |
||||||
|
} else { |
||||||
|
addSupplier(this.form).then(response => { |
||||||
|
this.$modal.msgSuccess("新增成功") |
||||||
|
this.open = false |
||||||
|
this.getList() |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
/** 删除按钮操作 */ |
||||||
|
handleDelete(row) { |
||||||
|
const ids = row.id || this.ids |
||||||
|
this.$modal.confirm('是否确认删除【请填写功能名称】编号为"' + ids + '"的数据项?').then(function() { |
||||||
|
return delSupplier(ids) |
||||||
|
}).then(() => { |
||||||
|
this.getList() |
||||||
|
this.$modal.msgSuccess("删除成功") |
||||||
|
}).catch(() => {}) |
||||||
|
}, |
||||||
|
/** 导出按钮操作 */ |
||||||
|
handleExport() { |
||||||
|
this.download('system/supplier/export', { |
||||||
|
...this.queryParams |
||||||
|
}, `supplier_${new Date().getTime()}.xlsx`) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
Loading…
Reference in new issue