fuliqi
2024-03-12 8464a983a5eeb1abe88388c761dbd6e6c89c0d4e
运维点位、合同
10个文件已修改
7个文件已添加
1125 ■■■■■ 已修改文件
document/副本1020自贡市局运维考核平台.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java 522 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/TContractMapper.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/TContractMapper.xml 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
document/¸±±¾1020×Ô¹±ÊоÖÔËά¿¼ºËƽ̨.xlsx
Binary files differ
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java
New file
@@ -0,0 +1,135 @@
package com.ycl.platform.domain.entity;
import annotation.Excel;
import com.ycl.system.entity.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import java.util.Date;
/**
 * ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘å¯¹è±¡ t_contract
 *
 * @author ruoyi
 * @date 2024-03-12
 */
public class TContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”® */
    private Long id;
    /** å…¬å¸id */
    @Excel(name = "公司id")
    private Long companyId;
    /** å…¬å¸å */
    @Excel(name = "公司名")
    private String companyName;
    /** å¯¹æŽ¥å…¬å®‰éƒ¨é—¨id */
    @Excel(name = "对接公安部门id")
    private Long deptId;
    /** éƒ¨é—¨åç§° */
    @Excel(name = "部门名称")
    private String deptName;
    /** åˆåŒæ˜Žç»†json */
    @Excel(name = "合同明细json")
    private String detail;
    /** å¼€å§‹æ—¶é—´ */
    @Excel(name = "开始时间")
    private Date startTime;
    /** æˆªæ­¢æ—¶é—´ */
    @Excel(name = "截止时间")
    private Date endTime;
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }
    public Long getCompanyId()
    {
        return companyId;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }
    public String getCompanyName()
    {
        return companyName;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }
    public Long getDeptId()
    {
        return deptId;
    }
    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }
    public String getDeptName()
    {
        return deptName;
    }
    public void setDetail(String detail)
    {
        this.detail = detail;
    }
    public String getDetail()
    {
        return detail;
    }
    @Override
    public String toString() {
        return "TContract{" +
                "id=" + id +
                ", companyId=" + companyId +
                ", companyName='" + companyName + '\'' +
                ", deptId=" + deptId +
                ", deptName='" + deptName + '\'' +
                ", detail='" + detail + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                '}';
    }
}
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -154,6 +154,16 @@
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recoveryTime;
    private Long deptId;
    public Long getDeptId() {
        return deptId;
    }
    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }
    public Long getDefaultOrder() {
        return defaultOrder;
    }
@@ -506,6 +516,7 @@
                ", defaultOrder=" + defaultOrder +
                ", recovery=" + recovery +
                ", recoveryTime=" + recoveryTime +
                ", deptId=" + deptId +
                '}';
    }
}
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -47,6 +47,10 @@
    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;
    @ApiModelProperty("运维类型")
    @TableField("category")
    private Short category;
    @ApiModelProperty("上报部门")
    @TableField("dept_id")
    private Long deptId;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java
New file
@@ -0,0 +1,522 @@
package com.ycl.platform.domain.vo;
import annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.system.entity.BaseEntity;
import java.util.Date;
/**
 * è®¾å¤‡èµ„产对象 t_monitor
 *
 * @author ruoyi
 * @date 2024-03-04
 */
public class TMonitorVO extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** $column.columnComment */
    private Long id;
    /** è®¾å¤‡ç¼–码 */
    @Excel(name = "设备编码")
    private String serialNumber;
    /** è®¾å¤‡åç§° */
    @Excel(name = "设备名称")
    private String name;
    /** ç›‘控点位类型 [1.一类视频监控点;2.二类视频监控点;3.三类视频监控点;4.公安内部视频监控点;9.其他点位;] */
    @Excel(name = "监控点位类型 [1.一类视频监控点;2.二类视频监控点;3.三类视频监控点;4.公安内部视频监控点;9.其他点位;]")
    private Long siteType;
    /** æ‘„像机Mac地址 */
    @Excel(name = "摄像机Mac地址")
    private String macAddr;
    /** æ‘„像机IPV4或IPV6地址 */
    @Excel(name = "摄像机IPV4或IPV6地址")
    private String ip;
    /** æ‘„像机功能类型[1.视频监控;2.车辆识别;3.人员识别;] æ•°æ®æ ¼å¼[填入多个值并以/隔开。例如  1/2] */
    @Excel(name = "摄像机功能类型[1.视频监控;2.车辆识别;3.人员识别;] æ•°æ®æ ¼å¼[填入多个值并以/隔开。例如  1/2]")
    private String cameraFunType;
    /** è®¾å¤‡ç»åº¦ï¼Œè‡³å°‘保留六位小数 */
    @Excel(name = "设备经度,至少保留六位小数")
    private String longitude;
    /** è®¾å¤‡ç»´åº¦ï¼Œè‡³å°‘保留六位小数 */
    @Excel(name = "设备维度,至少保留六位小数")
    private String latitude;
    /** æ‘„像机采集区域参考字典表,数据多选以/隔开 */
    @Excel(name = "摄像机采集区域参考字典表,数据多选以/隔开")
    private String cameraCaptureArea;
    /** è®¾å¤‡çŠ¶æ€ 1/2 å¯ç”¨/不可用 */
    @Excel(name = "设备状态 1/2 å¯ç”¨/不可用")
    private Long onState;
    /** è¡Œæ”¿åŒºåŸŸ */
    @Excel(name = "行政区域")
    private String civilCode;
    /** æ˜¯å¦é›†æˆè®¾å¤‡ï¼Œ0/1 ä¸æ˜¯/是 */
    @Excel(name = "是否集成设备,0/1 ä¸æ˜¯/是")
    private Long integratedDevice;
    /** æ‘„像机品牌 [1.海康威视;2.大华;3.天地伟业;4.科达;5.安讯士;6.博世;7.亚安;8.英飞拓;9.宇视;10.æµ·ä¿¡;11.中星电子;12.明景;13.联想;14.中兴;15.索尼;16.三星;99.其它; */
    @Excel(name = "摄像机品牌 [1.海康威视;2.大华;3.天地伟业;4.科达;5.安讯士;6.博世;7.亚安;8.英飞拓;9.宇视;10.æµ·ä¿¡;11.中星电子;12.明景;13.联想;14.中兴;15.索尼;16.三星;99.其它;")
    private Long cameraBrand;
    /** å®‰è£…地址 */
    @Excel(name = "安装地址")
    private String address;
    /** è”网属性 0/1 å·²è”网/未联网 */
    @Excel(name = "联网属性 0/1 å·²è”网/未联网")
    private Long netWorking;
    /** æ‰€å±žè¾–区公安机关 */
    @Excel(name = "所属辖区公安机关")
    private String publicSecurity;
    /** å®‰è£…æ—¶é—´ yyyy-MM-dd HH:mm:ss */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "安装时间 yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date installedTime;
    /** ç®¡ç†å•位 */
    @Excel(name = "管理单位")
    private String managementUnit;
    /** ç®¡ç†å•位联系方式 */
    @Excel(name = "管理单位联系方式")
    private String muContactInfo;
    /** å½•象保存天数 0 - 2147483647 */
    @Excel(name = "录象保存天数 0 - 2147483647")
    private Long storageDays;
    /** ç›‘视方位 [1.东;2.西;3.南;4.北;5.东南;6.东北;7.西南;8.西北;9.全向;] */
    @Excel(name = "监视方位 [1.东;2.西;3.南;4.北;5.东南;6.东北;7.西南;8.西北;9.全向;]")
    private Long monitorAzimuth;
    /** æ‘„像机场景预设照片URL */
    @Excel(name = "摄像机场景预设照片URL")
    private String scenePhotoAddr;
    /** è®¾å¤‡åž‹å· */
    @Excel(name = "设备型号")
    private String model;
    /** ç‚¹ä½ä¿—ç§° */
    @Excel(name = "点位俗称")
    private String siteVulgo;
    /** æ‘„像机类型 [1.球机;2.半球;3.固定枪机;4.遥控枪机;5.卡口枪机;99.未知; */
    @Excel(name = "摄像机类型 [1.球机;2.半球;3.固定枪机;4.遥控枪机;5.卡口枪机;99.未知;")
    private Long cameraType;
    /** è¡¥å…‰å±žæ€§[1.无补光;2.红外补光;3.白光补光;9.其他补光;]  */
    @Excel(name = "补光属性[1.无补光;2.红外补光;3.白光补光;9.其他补光;] ")
    private Long cameraLightType;
    /** æ‘„像机编码格式 [1.MPEG-4;2.H.264;3.SVAC;4.H.265;] */
    @Excel(name = "摄像机编码格式 [1.MPEG-4;2.H.264;3.SVAC;4.H.265;]")
    private Long encodedFormat;
    /** æ‰€å±žéƒ¨é—¨/行业 å–值范围(多选) : [1.公安机关;2.环保部门;3.文博部门;4.医疗部门;5.旅游管理;6.新闻广电;7.食品医药监督管理部门;8.教育管理部门;9.检察院;10.法院;11.金融部门;12.交通部门;13.住房和城乡建设部门;14.水利部门;15.林业部门;16.安全生产监督部门;17.市政市容委;18.国土局;] æ•°æ®æ ¼å¼[填入多个值并以/隔开。例如  1/2] */
    @Excel(name = "所属部门/行业 å–值范围(多选) : [1.公安机关;2.环保部门;3.文博部门;4.医疗部门;5.旅游管理;6.新闻广电;7.食品医药监督管理部门;8.教育管理部门;9.检察院;10.法院;11.金融部门;12.交通部门;13.住房和城乡建设部门;14.水利部门;15.林业部门;16.安全生产监督部门;17.市政市容委;18.国土局;] æ•°æ®æ ¼å¼[填入多个值并以/隔开。例如  1/2]")
    private String cameraDept;
    /** è¡Œä¸šç¼–码 [00.社会治安路面接入;01.社会治安社区接入;02.社会治安内部接入;03.社会治安其他接入;04.交通路面接入;05.交通卡口接入;06.交通内部接入;07.交通其他接入;08.城市管理接入;09.卫生环保接入;10.商检海关接入;11.教育部门接入;] */
    @Excel(name = "行业编码 [00.社会治安路面接入;01.社会治安社区接入;02.社会治安内部接入;03.社会治安其他接入;04.交通路面接入;05.交通卡口接入;06.交通内部接入;07.交通其他接入;08.城市管理接入;09.卫生环保接入;10.商检海关接入;11.教育部门接入;]")
    private String hybm;
    /** ç±»åž‹ç¼–码 : [131.摄像机编码;132.网络摄像机编码;] */
    @Excel(name = "类型编码 : [131.摄像机编码;132.网络摄像机编码;]")
    private Long lxbm;
    @Excel(name = "异常原因")
    private String reason;
    @Excel(name = "是否生成异常工单")
    private Long defaultOrder;
    @Excel(name ="异常恢复标识")
    private Long recovery;
    @Excel(name = "异常恢复时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recoveryTime;
    private String deptName;
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public Long getDefaultOrder() {
        return defaultOrder;
    }
    public void setDefaultOrder(Long defaultOrder) {
        this.defaultOrder = defaultOrder;
    }
    public void setInstalledTime(Date installedTime) {
        this.installedTime = installedTime;
    }
    public Date getInstalledTime() {
        return installedTime;
    }
    public Date getRecoveryTime() {
        return recoveryTime;
    }
    public void setRecoveryTime(Date recoveryTime) {
        this.recoveryTime = recoveryTime;
    }
    public Long getRecovery() {
        return recovery;
    }
    public void setRecovery(Long recovery) {
        this.recovery = recovery;
    }
    public String getReason() {
        return reason;
    }
    public void setReason(String reason) {
        this.reason = reason;
    }
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setSerialNumber(String serialNumber)
    {
        this.serialNumber = serialNumber;
    }
    public String getSerialNumber()
    {
        return serialNumber;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public String getName()
    {
        return name;
    }
    public void setSiteType(Long siteType)
    {
        this.siteType = siteType;
    }
    public Long getSiteType()
    {
        return siteType;
    }
    public void setMacAddr(String macAddr)
    {
        this.macAddr = macAddr;
    }
    public String getMacAddr()
    {
        return macAddr;
    }
    public void setIp(String ip)
    {
        this.ip = ip;
    }
    public String getIp()
    {
        return ip;
    }
    public void setCameraFunType(String cameraFunType)
    {
        this.cameraFunType = cameraFunType;
    }
    public String getCameraFunType()
    {
        return cameraFunType;
    }
    public void setLongitude(String longitude)
    {
        this.longitude = longitude;
    }
    public String getLongitude()
    {
        return longitude;
    }
    public void setLatitude(String latitude)
    {
        this.latitude = latitude;
    }
    public String getLatitude()
    {
        return latitude;
    }
    public void setCameraCaptureArea(String cameraCaptureArea)
    {
        this.cameraCaptureArea = cameraCaptureArea;
    }
    public String getCameraCaptureArea()
    {
        return cameraCaptureArea;
    }
    public void setOnState(Long onState)
    {
        this.onState = onState;
    }
    public Long getOnState()
    {
        return onState;
    }
    public void setCivilCode(String civilCode)
    {
        this.civilCode = civilCode;
    }
    public String getCivilCode()
    {
        return civilCode;
    }
    public void setIntegratedDevice(Long integratedDevice)
    {
        this.integratedDevice = integratedDevice;
    }
    public Long getIntegratedDevice()
    {
        return integratedDevice;
    }
    public void setCameraBrand(Long cameraBrand)
    {
        this.cameraBrand = cameraBrand;
    }
    public Long getCameraBrand()
    {
        return cameraBrand;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }
    public String getAddress()
    {
        return address;
    }
    public void setNetWorking(Long netWorking)
    {
        this.netWorking = netWorking;
    }
    public Long getNetWorking()
    {
        return netWorking;
    }
    public void setPublicSecurity(String publicSecurity)
    {
        this.publicSecurity = publicSecurity;
    }
    public String getPublicSecurity()
    {
        return publicSecurity;
    }
    public void setManagementUnit(String managementUnit)
    {
        this.managementUnit = managementUnit;
    }
    public String getManagementUnit()
    {
        return managementUnit;
    }
    public void setMuContactInfo(String muContactInfo)
    {
        this.muContactInfo = muContactInfo;
    }
    public String getMuContactInfo()
    {
        return muContactInfo;
    }
    public void setStorageDays(Long storageDays)
    {
        this.storageDays = storageDays;
    }
    public Long getStorageDays()
    {
        return storageDays;
    }
    public void setMonitorAzimuth(Long monitorAzimuth)
    {
        this.monitorAzimuth = monitorAzimuth;
    }
    public Long getMonitorAzimuth()
    {
        return monitorAzimuth;
    }
    public void setScenePhotoAddr(String scenePhotoAddr)
    {
        this.scenePhotoAddr = scenePhotoAddr;
    }
    public String getScenePhotoAddr()
    {
        return scenePhotoAddr;
    }
    public void setModel(String model)
    {
        this.model = model;
    }
    public String getModel()
    {
        return model;
    }
    public void setSiteVulgo(String siteVulgo)
    {
        this.siteVulgo = siteVulgo;
    }
    public String getSiteVulgo()
    {
        return siteVulgo;
    }
    public void setCameraType(Long cameraType)
    {
        this.cameraType = cameraType;
    }
    public Long getCameraType()
    {
        return cameraType;
    }
    public void setCameraLightType(Long cameraLightType)
    {
        this.cameraLightType = cameraLightType;
    }
    public Long getCameraLightType()
    {
        return cameraLightType;
    }
    public void setEncodedFormat(Long encodedFormat)
    {
        this.encodedFormat = encodedFormat;
    }
    public Long getEncodedFormat()
    {
        return encodedFormat;
    }
    public void setCameraDept(String cameraDept)
    {
        this.cameraDept = cameraDept;
    }
    public String getCameraDept()
    {
        return cameraDept;
    }
    public void setHybm(String hybm)
    {
        this.hybm = hybm;
    }
    public String getHybm()
    {
        return hybm;
    }
    public void setLxbm(Long lxbm)
    {
        this.lxbm = lxbm;
    }
    public Long getLxbm()
    {
        return lxbm;
    }
    @Override
    public String toString() {
        return "TMonitorVO{" +
                "id=" + id +
                ", serialNumber='" + serialNumber + '\'' +
                ", name='" + name + '\'' +
                ", siteType=" + siteType +
                ", macAddr='" + macAddr + '\'' +
                ", ip='" + ip + '\'' +
                ", cameraFunType='" + cameraFunType + '\'' +
                ", longitude='" + longitude + '\'' +
                ", latitude='" + latitude + '\'' +
                ", cameraCaptureArea='" + cameraCaptureArea + '\'' +
                ", onState=" + onState +
                ", civilCode='" + civilCode + '\'' +
                ", integratedDevice=" + integratedDevice +
                ", cameraBrand=" + cameraBrand +
                ", address='" + address + '\'' +
                ", netWorking=" + netWorking +
                ", publicSecurity='" + publicSecurity + '\'' +
                ", installedTime=" + installedTime +
                ", managementUnit='" + managementUnit + '\'' +
                ", muContactInfo='" + muContactInfo + '\'' +
                ", storageDays=" + storageDays +
                ", monitorAzimuth=" + monitorAzimuth +
                ", scenePhotoAddr='" + scenePhotoAddr + '\'' +
                ", model='" + model + '\'' +
                ", siteVulgo='" + siteVulgo + '\'' +
                ", cameraType=" + cameraType +
                ", cameraLightType=" + cameraLightType +
                ", encodedFormat=" + encodedFormat +
                ", cameraDept='" + cameraDept + '\'' +
                ", hybm='" + hybm + '\'' +
                ", lxbm=" + lxbm +
                ", reason='" + reason + '\'' +
                ", defaultOrder=" + defaultOrder +
                ", recovery=" + recovery +
                ", recoveryTime=" + recoveryTime +
                ", deptName='" + deptName + '\'' +
                '}';
    }
}
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ycl.platform.base.AbsVo;
import com.ycl.platform.domain.entity.YwPoint;
@@ -34,12 +35,16 @@
    /** è¿ç»´å•位 */
    private Integer unitId;
    private String unitName;
    /** è¿ç»´çŠ¶æ€ */
    private String status;
    /** å¤‡æ³¨ */
    private String remark;
    private Short category;
    private String deptName;
    public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) {
        if(vo == null) {
            vo = new YwPointVO();
ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java
New file
@@ -0,0 +1,99 @@
package com.ycl.platform.controller;
import annotation.Log;
import com.ycl.platform.domain.entity.TContract;
import com.ycl.platform.service.ITContractService;
import com.ycl.system.AjaxResult;
import com.ycl.system.controller.BaseController;
import com.ycl.system.page.TableDataInfo;
import com.ycl.utils.poi.ExcelUtil;
import enumeration.BusinessType;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘Controller
 *
 * @author ruoyi
 * @date 2024-03-12
 */
@RestController
@RequestMapping("/system/contract")
public class TContractController extends BaseController
{
    @Autowired
    private ITContractService tContractService;
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:contract:list')")
    @GetMapping("/list")
    public TableDataInfo list(TContract tContract)
    {
        startPage();
        List<TContract> list = tContractService.selectTContractList(tContract);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘åˆ—è¡¨
     */
    @PreAuthorize("@ss.hasPermi('system:contract:export')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, TContract tContract)
    {
        List<TContract> list = tContractService.selectTContractList(tContract);
        ExcelUtil<TContract> util = new ExcelUtil<TContract>(TContract.class);
        util.exportExcel(response, list, "【请填写功能名称】数据");
    }
    /**
     * èŽ·å–ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('system:contract:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(tContractService.selectTContractById(id));
    }
    /**
     * æ–°å¢žã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    @PreAuthorize("@ss.hasPermi('system:contract:add')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody TContract tContract)
    {
        return toAjax(tContractService.insertTContract(tContract));
    }
    /**
     * ä¿®æ”¹ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    @PreAuthorize("@ss.hasPermi('system:contract:edit')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody TContract tContract)
    {
        return toAjax(tContractService.updateTContract(tContract));
    }
    /**
     * åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    @PreAuthorize("@ss.hasPermi('system:contract:remove')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(tContractService.deleteTContractByIds(ids));
    }
}
ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java
@@ -2,6 +2,7 @@
import annotation.Log;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.service.ITMonitorService;
import com.ycl.system.AjaxResult;
import com.ycl.system.controller.BaseController;
@@ -36,7 +37,7 @@
    public TableDataInfo list(TMonitor tMonitor)
    {
        startPage();
        List<TMonitor> list = tMonitorService.selectTMonitorList(tMonitor);
        List<TMonitorVO> list = tMonitorService.selectTMonitorList(tMonitor);
        return getDataTable(list);
    }
@@ -48,8 +49,8 @@
    @PostMapping("/export")
    public void export(HttpServletResponse response, TMonitor tMonitor)
    {
        List<TMonitor> list = tMonitorService.selectTMonitorList(tMonitor);
        ExcelUtil<TMonitor> util = new ExcelUtil<TMonitor>(TMonitor.class);
        List<TMonitorVO> list = tMonitorService.selectTMonitorList(tMonitor);
        ExcelUtil<TMonitorVO> util = new ExcelUtil<TMonitorVO>(TMonitorVO.class);
        util.exportExcel(response, list, "设备资产数据");
    }
ycl-server/src/main/java/com/ycl/platform/mapper/TContractMapper.java
New file
@@ -0,0 +1,62 @@
package com.ycl.platform.mapper;
import com.ycl.platform.domain.entity.TContract;
import java.util.List;
/**
 * ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘Mapper接口
 *
 * @author ruoyi
 * @date 2024-03-12
 */
public interface TContractMapper
{
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param id ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¸»é”®
     * @return ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    public TContract selectTContractById(Long id);
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘åˆ—è¡¨
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘é›†åˆ
     */
    public List<TContract> selectTContractList(TContract tContract);
    /**
     * æ–°å¢žã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ç»“æžœ
     */
    public int insertTContract(TContract tContract);
    /**
     * ä¿®æ”¹ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ç»“æžœ
     */
    public int updateTContract(TContract tContract);
    /**
     * åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param id ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteTContractById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteTContractByIds(Long[] ids);
}
ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
@@ -1,6 +1,7 @@
package com.ycl.platform.mapper;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.vo.TMonitorVO;
import java.util.List;
@@ -26,7 +27,7 @@
     * @param tMonitor è®¾å¤‡èµ„产
     * @return è®¾å¤‡èµ„产集合
     */
    public List<TMonitor> selectTMonitorList(TMonitor tMonitor);
    public List<TMonitorVO> selectTMonitorList(TMonitor tMonitor);
    /**
     * æ–°å¢žè®¾å¤‡èµ„产
ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java
New file
@@ -0,0 +1,62 @@
package com.ycl.platform.service;
import com.ycl.platform.domain.entity.TContract;
import java.util.List;
/**
 * ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘Service接口
 *
 * @author ruoyi
 * @date 2024-03-12
 */
public interface ITContractService
{
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param id ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¸»é”®
     * @return ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    public TContract selectTContractById(Long id);
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘åˆ—è¡¨
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘é›†åˆ
     */
    public List<TContract> selectTContractList(TContract tContract);
    /**
     * æ–°å¢žã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ç»“æžœ
     */
    public int insertTContract(TContract tContract);
    /**
     * ä¿®æ”¹ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ç»“æžœ
     */
    public int updateTContract(TContract tContract);
    /**
     * æ‰¹é‡åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param ids éœ€è¦åˆ é™¤çš„【请填写功能名称】主键集合
     * @return ç»“æžœ
     */
    public int deleteTContractByIds(Long[] ids);
    /**
     * åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¿¡æ¯
     *
     * @param id ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteTContractById(Long id);
}
ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
@@ -1,6 +1,7 @@
package com.ycl.platform.service;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.vo.TMonitorVO;
import java.util.List;
@@ -26,7 +27,7 @@
     * @param tMonitor è®¾å¤‡èµ„产
     * @return è®¾å¤‡èµ„产集合
     */
    public List<TMonitor> selectTMonitorList(TMonitor tMonitor);
    public List<TMonitorVO> selectTMonitorList(TMonitor tMonitor);
    /**
     * æ–°å¢žè®¾å¤‡èµ„产
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java
New file
@@ -0,0 +1,94 @@
package com.ycl.platform.service.impl;
import com.ycl.platform.domain.entity.TContract;
import com.ycl.platform.mapper.TContractMapper;
import com.ycl.platform.service.ITContractService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘Service业务层处理
 *
 * @author ruoyi
 * @date 2024-03-12
 */
@Service
public class TContractServiceImpl implements ITContractService
{
    @Autowired
    private TContractMapper tContractMapper;
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param id ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¸»é”®
     * @return ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    @Override
    public TContract selectTContractById(Long id)
    {
        return tContractMapper.selectTContractById(id);
    }
    /**
     * æŸ¥è¯¢ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘åˆ—è¡¨
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     */
    @Override
    public List<TContract> selectTContractList(TContract tContract)
    {
        return tContractMapper.selectTContractList(tContract);
    }
    /**
     * æ–°å¢žã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ç»“æžœ
     */
    @Override
    public int insertTContract(TContract tContract)
    {
        return tContractMapper.insertTContract(tContract);
    }
    /**
     * ä¿®æ”¹ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param tContract ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     * @return ç»“æžœ
     */
    @Override
    public int updateTContract(TContract tContract)
    {
        return tContractMapper.updateTContract(tContract);
    }
    /**
     * æ‰¹é‡åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘
     *
     * @param ids éœ€è¦åˆ é™¤çš„【请填写功能名称】主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteTContractByIds(Long[] ids)
    {
        return tContractMapper.deleteTContractByIds(ids);
    }
    /**
     * åˆ é™¤ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¿¡æ¯
     *
     * @param id ã€è¯·å¡«å†™åŠŸèƒ½åç§°ã€‘ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteTContractById(Long id)
    {
        return tContractMapper.deleteTContractById(id);
    }
}
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -1,6 +1,7 @@
package com.ycl.platform.service.impl;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.service.ITMonitorService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,7 +40,7 @@
     * @return è®¾å¤‡èµ„产
     */
    @Override
    public List<TMonitor> selectTMonitorList(TMonitor tMonitor)
    public List<TMonitorVO> selectTMonitorList(TMonitor tMonitor)
    {
        return tMonitorMapper.selectTMonitorList(tMonitor);
    }
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -3,15 +3,20 @@
import com.ycl.platform.domain.entity.YwPoint;
import com.ycl.platform.mapper.YwPointMapper;
import com.ycl.platform.service.YwPointService;
import com.ycl.platform.service.YwUnitService;
import com.ycl.system.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.domain.query.YwPointQuery;
import java.util.List;
import com.ycl.system.entity.SysDept;
import com.ycl.system.service.ISysDeptService;
import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.beans.BeanUtils;
@@ -34,6 +39,10 @@
public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService {
    private final YwPointMapper ywPointMapper;
    @Autowired
    private ISysDeptService deptService;
    @Autowired
    private YwUnitService unitService;
    /**
     * æ·»åŠ 
@@ -121,8 +130,11 @@
        List<YwPointVO> vos = page.getRecords().stream()
                .map(
                        entity -> YwPointVO.getVoByEntity(entity, null)
                                .setDeptName(deptService.selectDeptById(entity.getDeptId()).getDeptName())
                                .setUnitName(unitService.getById(entity.getUnitId()).getUnitName())
                )
                .collect(Collectors.toList());
        return Result.ok().data(vos).total(page.getTotal());
    }
ycl-server/src/main/resources/mapper/zgyw/TContractMapper.xml
New file
@@ -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.ycl.platform.mapper.TContractMapper">
    <resultMap type="com.ycl.platform.domain.entity.TContract" id="TContractResult">
        <result property="id"    column="id"    />
        <result property="companyId"    column="company_id"    />
        <result property="companyName"    column="company_name"    />
        <result property="deptId"    column="dept_id"    />
        <result property="deptName"    column="dept_name"    />
        <result property="detail"    column="detail"    />
        <result property="startTime"    column="start_time"    />
        <result property="endTime"    column="end_time"    />
    </resultMap>
    <sql id="selectTContractVo">
        select id, company_id, company_name, dept_id, dept_name, detail ,start_time,end_time from t_contract
    </sql>
    <select id="selectTContractList" parameterType="com.ycl.platform.domain.entity.TContract" resultMap="TContractResult">
        <include refid="selectTContractVo"/>
        <where>
            <if test="companyId != null "> and company_id = #{companyId}</if>
            <if test="companyName != null  and companyName != ''"> and company_name like concat('%', #{companyName}, '%')</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
            <if test="deptName != null  and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
            <if test="detail != null  and detail != ''"> and detail = #{detail}</if>
            <if test="startTime != null"> and start_time = #{startTime}</if>
            <if test="endTime != null"> and end_time = #{endTime}</if>
        </where>
    </select>
    <select id="selectTContractById" parameterType="Long" resultMap="TContractResult">
        <include refid="selectTContractVo"/>
        where id = #{id}
    </select>
    <insert id="insertTContract" parameterType="com.ycl.platform.domain.entity.TContract" useGeneratedKeys="true" keyProperty="id">
        insert into t_contract
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="companyId != null">company_id,</if>
            <if test="companyName != null">company_name,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="deptName != null">dept_name,</if>
            <if test="detail != null">detail,</if>
            <if test="startTime != null">start_time,</if>
            <if test="endTime != null">end_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="companyId != null">#{companyId},</if>
            <if test="companyName != null">#{companyName},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="deptName != null">#{deptName},</if>
            <if test="detail != null">#{detail},</if>
            <if test="startTime != null">#{startTime},</if>
            <if test="endTime != null">#{endTime},</if>
         </trim>
    </insert>
    <update id="updateTContract" parameterType="com.ycl.platform.domain.entity.TContract">
        update t_contract
        <trim prefix="SET" suffixOverrides=",">
            <if test="companyId != null">company_id = #{companyId},</if>
            <if test="companyName != null">company_name = #{companyName},</if>
            <if test="deptId != null">dept_id = #{deptId},</if>
            <if test="deptName != null">dept_name = #{deptName},</if>
            <if test="detail != null">detail = #{detail},</if>
            <if test="startTime != null">start_time = #{startTime},</if>
            <if test="endTime != null">end_time = #{endTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteTContractById" parameterType="Long">
        delete from t_contract where id = #{id}
    </delete>
    <delete id="deleteTContractByIds" parameterType="String">
        delete from t_contract where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -40,14 +40,17 @@
        <result property="defaultOrder"    column="default_order"    />
        <result property="recovery"    column="recovery"    />
        <result property="recoveryTime"    column="recovery_time"    />
        <result property="deptId"    column="dept_id"    />
    </resultMap>
    <sql id="selectTMonitorVo">
        select id, serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, camera_capture_area, on_state, civil_code, integrated_device, camera_brand, address, net_working, public_security, installed_time, management_unit, mu_contact_info, storage_days, monitor_azimuth, scene_photo_addr, model, site_vulgo, camera_type, camera_light_type, encoded_format, camera_dept, hybm, lxbm, reason, default_order,recovery,recovery_time from t_monitor
        select id, serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, camera_capture_area, on_state, civil_code, integrated_device, camera_brand, address, net_working, public_security, installed_time, management_unit, mu_contact_info, storage_days, monitor_azimuth, scene_photo_addr, model, site_vulgo, camera_type, camera_light_type, encoded_format, camera_dept, hybm, lxbm, reason, default_order,recovery,recovery_time,dept_id from t_monitor
    </sql>
    <select id="selectTMonitorList" parameterType="com.ycl.platform.domain.entity.TMonitor" resultMap="TMonitorResult">
        <include refid="selectTMonitorVo"/>
    <select id="selectTMonitorList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
        select id, serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, camera_capture_area, on_state, civil_code, integrated_device, camera_brand, address, net_working, public_security, installed_time, management_unit, mu_contact_info, storage_days
        , monitor_azimuth, scene_photo_addr, model, site_vulgo, camera_type, camera_light_type, encoded_format, camera_dept, hybm, lxbm, reason, default_order,recovery,recovery_time,sd.dept_name from t_monitor m
        left join sys_dept sd on m.dept_id = sd.dept_id
        <where>
            <if test="serialNumber != null  and serialNumber != ''"> and serial_number = #{serialNumber}</if>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
@@ -83,6 +86,7 @@
            <if test="defaultOrder != null "> and default_order = #{defaultOrder}</if>
            <if test="recovery != null "> and recovery = #{recovery}</if>
            <if test="recoveryTime != null "> and recovery_time = #{recoveryTime}</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
        </where>
    </select>
@@ -128,6 +132,7 @@
            <if test="defaultOrder != null">default_order,</if>
            <if test="recovery != null">recovery,</if>
            <if test="recoveryTime != null">recovery_time,</if>
            <if test="deptId != null">dept_id,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
@@ -164,6 +169,7 @@
            <if test="defaultOrder != null">#{defaultOrder},</if>
            <if test="recovery != null">#{recovery},</if>
            <if test="recoveryTime != null">#{recoveryTime},</if>
            <if test="deptId != null">#{deptId},</if>
         </trim>
    </insert>
@@ -204,6 +210,7 @@
            <if test="defaultOrder != null">default_order = #{defaultOrder},</if>
            <if test="recovery != null">recovery = #{defaultOrder},</if>
            <if test="recoveryTime != null">recovery_time = #{recoveryTime},</if>
            <if test="deptId != null">dept_id = #{deptId},</if>
        </trim>
        where id = #{id}
    </update>