Browse Source

增加了一些功能

main
maotiantian 2 days ago
parent
commit
106cced10b
  1. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/system/AssetLifecycleManagementController.java
  2. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/system/DeviceRealtimeMonitoringController.java
  3. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/system/MapFeaturesController.java
  4. 104
      chenhai-admin/src/main/java/com/chenhai/web/controller/system/SpaceResourceManagementController.java
  5. 379
      chenhai-system/src/main/java/com/chenhai/system/domain/AssetLifecycleManagement.java
  6. 391
      chenhai-system/src/main/java/com/chenhai/system/domain/DeviceRealtimeMonitoring.java
  7. 116
      chenhai-system/src/main/java/com/chenhai/system/domain/MapFeatures.java
  8. 422
      chenhai-system/src/main/java/com/chenhai/system/domain/SpaceResourceManagement.java
  9. 61
      chenhai-system/src/main/java/com/chenhai/system/mapper/AssetLifecycleManagementMapper.java
  10. 61
      chenhai-system/src/main/java/com/chenhai/system/mapper/DeviceRealtimeMonitoringMapper.java
  11. 61
      chenhai-system/src/main/java/com/chenhai/system/mapper/MapFeaturesMapper.java
  12. 61
      chenhai-system/src/main/java/com/chenhai/system/mapper/SpaceResourceManagementMapper.java
  13. 61
      chenhai-system/src/main/java/com/chenhai/system/service/IAssetLifecycleManagementService.java
  14. 61
      chenhai-system/src/main/java/com/chenhai/system/service/IDeviceRealtimeMonitoringService.java
  15. 61
      chenhai-system/src/main/java/com/chenhai/system/service/IMapFeaturesService.java
  16. 61
      chenhai-system/src/main/java/com/chenhai/system/service/ISpaceResourceManagementService.java
  17. 96
      chenhai-system/src/main/java/com/chenhai/system/service/impl/AssetLifecycleManagementServiceImpl.java
  18. 96
      chenhai-system/src/main/java/com/chenhai/system/service/impl/DeviceRealtimeMonitoringServiceImpl.java
  19. 93
      chenhai-system/src/main/java/com/chenhai/system/service/impl/MapFeaturesServiceImpl.java
  20. 96
      chenhai-system/src/main/java/com/chenhai/system/service/impl/SpaceResourceManagementServiceImpl.java
  21. 180
      chenhai-system/src/main/resources/mapper/system/AssetLifecycleManagementMapper.xml
  22. 178
      chenhai-system/src/main/resources/mapper/system/DeviceRealtimeMonitoringMapper.xml
  23. 76
      chenhai-system/src/main/resources/mapper/system/MapFeaturesMapper.xml
  24. 195
      chenhai-system/src/main/resources/mapper/system/SpaceResourceManagementMapper.xml
  25. 44
      chenhai-ui/src/api/system/features.js
  26. 44
      chenhai-ui/src/api/system/management.js
  27. 44
      chenhai-ui/src/api/system/monitoring.js
  28. 44
      chenhai-ui/src/api/system/resource.js
  29. 314
      chenhai-ui/src/views/system/features/index.vue
  30. 483
      chenhai-ui/src/views/system/management/index.vue
  31. 465
      chenhai-ui/src/views/system/monitoring/index.vue
  32. 522
      chenhai-ui/src/views/system/resource/index.vue

104
chenhai-admin/src/main/java/com/chenhai/web/controller/system/AssetLifecycleManagementController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.system;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.system.domain.AssetLifecycleManagement;
import com.chenhai.system.service.IAssetLifecycleManagementService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 资产全生命周期管理Controller
*
* @author ruoyi
* @date 2026-04-16
*/
@RestController
@RequestMapping("/system/management")
public class AssetLifecycleManagementController extends BaseController
{
@Autowired
private IAssetLifecycleManagementService assetLifecycleManagementService;
/**
* 查询资产全生命周期管理列表
*/
@PreAuthorize("@ss.hasPermi('system:management:list')")
@GetMapping("/list")
public TableDataInfo list(AssetLifecycleManagement assetLifecycleManagement)
{
startPage();
List<AssetLifecycleManagement> list = assetLifecycleManagementService.selectAssetLifecycleManagementList(assetLifecycleManagement);
return getDataTable(list);
}
/**
* 导出资产全生命周期管理列表
*/
@PreAuthorize("@ss.hasPermi('system:management:export')")
@Log(title = "资产全生命周期管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, AssetLifecycleManagement assetLifecycleManagement)
{
List<AssetLifecycleManagement> list = assetLifecycleManagementService.selectAssetLifecycleManagementList(assetLifecycleManagement);
ExcelUtil<AssetLifecycleManagement> util = new ExcelUtil<AssetLifecycleManagement>(AssetLifecycleManagement.class);
util.exportExcel(response, list, "资产全生命周期管理数据");
}
/**
* 获取资产全生命周期管理详细信息
*/
@PreAuthorize("@ss.hasPermi('system:management:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(assetLifecycleManagementService.selectAssetLifecycleManagementById(id));
}
/**
* 新增资产全生命周期管理
*/
@PreAuthorize("@ss.hasPermi('system:management:add')")
@Log(title = "资产全生命周期管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody AssetLifecycleManagement assetLifecycleManagement)
{
return toAjax(assetLifecycleManagementService.insertAssetLifecycleManagement(assetLifecycleManagement));
}
/**
* 修改资产全生命周期管理
*/
@PreAuthorize("@ss.hasPermi('system:management:edit')")
@Log(title = "资产全生命周期管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody AssetLifecycleManagement assetLifecycleManagement)
{
return toAjax(assetLifecycleManagementService.updateAssetLifecycleManagement(assetLifecycleManagement));
}
/**
* 删除资产全生命周期管理
*/
@PreAuthorize("@ss.hasPermi('system:management:remove')")
@Log(title = "资产全生命周期管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(assetLifecycleManagementService.deleteAssetLifecycleManagementByIds(ids));
}
}

104
chenhai-admin/src/main/java/com/chenhai/web/controller/system/DeviceRealtimeMonitoringController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.system;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.system.domain.DeviceRealtimeMonitoring;
import com.chenhai.system.service.IDeviceRealtimeMonitoringService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 设备实时状态监控Controller
*
* @author ruoyi
* @date 2026-04-16
*/
@RestController
@RequestMapping("/system/monitoring")
public class DeviceRealtimeMonitoringController extends BaseController
{
@Autowired
private IDeviceRealtimeMonitoringService deviceRealtimeMonitoringService;
/**
* 查询设备实时状态监控列表
*/
@PreAuthorize("@ss.hasPermi('system:monitoring:list')")
@GetMapping("/list")
public TableDataInfo list(DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
startPage();
List<DeviceRealtimeMonitoring> list = deviceRealtimeMonitoringService.selectDeviceRealtimeMonitoringList(deviceRealtimeMonitoring);
return getDataTable(list);
}
/**
* 导出设备实时状态监控列表
*/
@PreAuthorize("@ss.hasPermi('system:monitoring:export')")
@Log(title = "设备实时状态监控", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
List<DeviceRealtimeMonitoring> list = deviceRealtimeMonitoringService.selectDeviceRealtimeMonitoringList(deviceRealtimeMonitoring);
ExcelUtil<DeviceRealtimeMonitoring> util = new ExcelUtil<DeviceRealtimeMonitoring>(DeviceRealtimeMonitoring.class);
util.exportExcel(response, list, "设备实时状态监控数据");
}
/**
* 获取设备实时状态监控详细信息
*/
@PreAuthorize("@ss.hasPermi('system:monitoring:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(deviceRealtimeMonitoringService.selectDeviceRealtimeMonitoringById(id));
}
/**
* 新增设备实时状态监控
*/
@PreAuthorize("@ss.hasPermi('system:monitoring:add')")
@Log(title = "设备实时状态监控", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
return toAjax(deviceRealtimeMonitoringService.insertDeviceRealtimeMonitoring(deviceRealtimeMonitoring));
}
/**
* 修改设备实时状态监控
*/
@PreAuthorize("@ss.hasPermi('system:monitoring:edit')")
@Log(title = "设备实时状态监控", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
return toAjax(deviceRealtimeMonitoringService.updateDeviceRealtimeMonitoring(deviceRealtimeMonitoring));
}
/**
* 删除设备实时状态监控
*/
@PreAuthorize("@ss.hasPermi('system:monitoring:remove')")
@Log(title = "设备实时状态监控", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(deviceRealtimeMonitoringService.deleteDeviceRealtimeMonitoringByIds(ids));
}
}

104
chenhai-admin/src/main/java/com/chenhai/web/controller/system/MapFeaturesController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.system;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.system.domain.MapFeatures;
import com.chenhai.system.service.IMapFeaturesService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 地图配套标注管理Controller
*
* @author ruoyi
* @date 2026-04-17
*/
@RestController
@RequestMapping("/system/features")
public class MapFeaturesController extends BaseController
{
@Autowired
private IMapFeaturesService mapFeaturesService;
/**
* 查询地图配套标注管理列表
*/
@PreAuthorize("@ss.hasPermi('system:features:list')")
@GetMapping("/list")
public TableDataInfo list(MapFeatures mapFeatures)
{
startPage();
List<MapFeatures> list = mapFeaturesService.selectMapFeaturesList(mapFeatures);
return getDataTable(list);
}
/**
* 导出地图配套标注管理列表
*/
@PreAuthorize("@ss.hasPermi('system:features:export')")
@Log(title = "地图配套标注管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MapFeatures mapFeatures)
{
List<MapFeatures> list = mapFeaturesService.selectMapFeaturesList(mapFeatures);
ExcelUtil<MapFeatures> util = new ExcelUtil<MapFeatures>(MapFeatures.class);
util.exportExcel(response, list, "地图配套标注管理数据");
}
/**
* 获取地图配套标注管理详细信息
*/
@PreAuthorize("@ss.hasPermi('system:features:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(mapFeaturesService.selectMapFeaturesById(id));
}
/**
* 新增地图配套标注管理
*/
@PreAuthorize("@ss.hasPermi('system:features:add')")
@Log(title = "地图配套标注管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MapFeatures mapFeatures)
{
return toAjax(mapFeaturesService.insertMapFeatures(mapFeatures));
}
/**
* 修改地图配套标注管理
*/
@PreAuthorize("@ss.hasPermi('system:features:edit')")
@Log(title = "地图配套标注管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MapFeatures mapFeatures)
{
return toAjax(mapFeaturesService.updateMapFeatures(mapFeatures));
}
/**
* 删除地图配套标注管理
*/
@PreAuthorize("@ss.hasPermi('system:features:remove')")
@Log(title = "地图配套标注管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(mapFeaturesService.deleteMapFeaturesByIds(ids));
}
}

104
chenhai-admin/src/main/java/com/chenhai/web/controller/system/SpaceResourceManagementController.java

@ -0,0 +1,104 @@
package com.chenhai.web.controller.system;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
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.chenhai.common.annotation.Log;
import com.chenhai.common.core.controller.BaseController;
import com.chenhai.common.core.domain.AjaxResult;
import com.chenhai.common.enums.BusinessType;
import com.chenhai.system.domain.SpaceResourceManagement;
import com.chenhai.system.service.ISpaceResourceManagementService;
import com.chenhai.common.utils.poi.ExcelUtil;
import com.chenhai.common.core.page.TableDataInfo;
/**
* 空间资源管理Controller
*
* @author ruoyi
* @date 2026-04-16
*/
@RestController
@RequestMapping("/system/resource")
public class SpaceResourceManagementController extends BaseController
{
@Autowired
private ISpaceResourceManagementService spaceResourceManagementService;
/**
* 查询空间资源管理列表
*/
@PreAuthorize("@ss.hasPermi('system:resource:list')")
@GetMapping("/list")
public TableDataInfo list(SpaceResourceManagement spaceResourceManagement)
{
startPage();
List<SpaceResourceManagement> list = spaceResourceManagementService.selectSpaceResourceManagementList(spaceResourceManagement);
return getDataTable(list);
}
/**
* 导出空间资源管理列表
*/
@PreAuthorize("@ss.hasPermi('system:resource:export')")
@Log(title = "空间资源管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SpaceResourceManagement spaceResourceManagement)
{
List<SpaceResourceManagement> list = spaceResourceManagementService.selectSpaceResourceManagementList(spaceResourceManagement);
ExcelUtil<SpaceResourceManagement> util = new ExcelUtil<SpaceResourceManagement>(SpaceResourceManagement.class);
util.exportExcel(response, list, "空间资源管理数据");
}
/**
* 获取空间资源管理详细信息
*/
@PreAuthorize("@ss.hasPermi('system:resource:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(spaceResourceManagementService.selectSpaceResourceManagementById(id));
}
/**
* 新增空间资源管理
*/
@PreAuthorize("@ss.hasPermi('system:resource:add')")
@Log(title = "空间资源管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SpaceResourceManagement spaceResourceManagement)
{
return toAjax(spaceResourceManagementService.insertSpaceResourceManagement(spaceResourceManagement));
}
/**
* 修改空间资源管理
*/
@PreAuthorize("@ss.hasPermi('system:resource:edit')")
@Log(title = "空间资源管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SpaceResourceManagement spaceResourceManagement)
{
return toAjax(spaceResourceManagementService.updateSpaceResourceManagement(spaceResourceManagement));
}
/**
* 删除空间资源管理
*/
@PreAuthorize("@ss.hasPermi('system:resource:remove')")
@Log(title = "空间资源管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(spaceResourceManagementService.deleteSpaceResourceManagementByIds(ids));
}
}

379
chenhai-system/src/main/java/com/chenhai/system/domain/AssetLifecycleManagement.java

@ -0,0 +1,379 @@
package com.chenhai.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 资产全生命周期管理对象 asset_lifecycle_management
*
* @author ruoyi
* @date 2026-04-16
*/
public class AssetLifecycleManagement extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 资产编号(唯一标识) */
@Excel(name = "资产编号", readConverterExp = "唯=一标识")
private String assetCode;
/** 资产名称 */
@Excel(name = "资产名称")
private String assetName;
/** 资产类型(摄像头/灌溉系统/座椅/垃圾桶等) */
@Excel(name = "资产类型", readConverterExp = "摄=像头/灌溉系统/座椅/垃圾桶等")
private String assetType;
/** 资产分类(如:监控设备/基础设施) */
@Excel(name = "资产分类", readConverterExp = "如=:监控设备/基础设施")
private String assetCategory;
/** 品牌型号 */
@Excel(name = "品牌型号")
private String model;
/** 生产厂家 */
@Excel(name = "生产厂家")
private String manufacturer;
/** 供应商 */
@Excel(name = "供应商")
private String supplier;
/** 采购日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date purchaseDate;
/** 采购价格(元) */
@Excel(name = "采购价格", readConverterExp = "元=")
private BigDecimal purchasePrice;
/** 保修开始日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "保修开始日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date warrantyStartDate;
/** 保修结束日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "保修结束日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date warrantyEndDate;
/** 安装位置/存放位置 */
@Excel(name = "安装位置/存放位置")
private String location;
/** 经度(GIS定位) */
@Excel(name = "经度", readConverterExp = "G=IS定位")
private BigDecimal longitude;
/** 纬度(GIS定位) */
@Excel(name = "纬度", readConverterExp = "G=IS定位")
private BigDecimal latitude;
/** 资产状态(1-正常 2-维修中 3-报废 4-闲置) */
@Excel(name = "资产状态", readConverterExp = "1=-正常,2=-维修中,3=-报废,4=-闲置")
private Integer status;
/** 健康状态(1-良好 2-一般 3-待维修 4-严重) */
@Excel(name = "健康状态", readConverterExp = "1=-良好,2=-一般,3=-待维修,4=-严重")
private Integer healthStatus;
/** 责任部门 */
@Excel(name = "责任部门")
private String responsibleDepartment;
/** 责任人 */
@Excel(name = "责任人")
private String responsiblePerson;
/** 联系电话 */
@Excel(name = "联系电话")
private String contactPhone;
/** 最近维护日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最近维护日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastMaintenanceDate;
/** 下次维护日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "下次维护日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date nextMaintenanceDate;
/** 删除标志(0-正常 1-已删除) */
private Integer delFlag;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setAssetCode(String assetCode)
{
this.assetCode = assetCode;
}
public String getAssetCode()
{
return assetCode;
}
public void setAssetName(String assetName)
{
this.assetName = assetName;
}
public String getAssetName()
{
return assetName;
}
public void setAssetType(String assetType)
{
this.assetType = assetType;
}
public String getAssetType()
{
return assetType;
}
public void setAssetCategory(String assetCategory)
{
this.assetCategory = assetCategory;
}
public String getAssetCategory()
{
return assetCategory;
}
public void setModel(String model)
{
this.model = model;
}
public String getModel()
{
return model;
}
public void setManufacturer(String manufacturer)
{
this.manufacturer = manufacturer;
}
public String getManufacturer()
{
return manufacturer;
}
public void setSupplier(String supplier)
{
this.supplier = supplier;
}
public String getSupplier()
{
return supplier;
}
public void setPurchaseDate(Date purchaseDate)
{
this.purchaseDate = purchaseDate;
}
public Date getPurchaseDate()
{
return purchaseDate;
}
public void setPurchasePrice(BigDecimal purchasePrice)
{
this.purchasePrice = purchasePrice;
}
public BigDecimal getPurchasePrice()
{
return purchasePrice;
}
public void setWarrantyStartDate(Date warrantyStartDate)
{
this.warrantyStartDate = warrantyStartDate;
}
public Date getWarrantyStartDate()
{
return warrantyStartDate;
}
public void setWarrantyEndDate(Date warrantyEndDate)
{
this.warrantyEndDate = warrantyEndDate;
}
public Date getWarrantyEndDate()
{
return warrantyEndDate;
}
public void setLocation(String location)
{
this.location = location;
}
public String getLocation()
{
return location;
}
public void setLongitude(BigDecimal longitude)
{
this.longitude = longitude;
}
public BigDecimal getLongitude()
{
return longitude;
}
public void setLatitude(BigDecimal latitude)
{
this.latitude = latitude;
}
public BigDecimal getLatitude()
{
return latitude;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setHealthStatus(Integer healthStatus)
{
this.healthStatus = healthStatus;
}
public Integer getHealthStatus()
{
return healthStatus;
}
public void setResponsibleDepartment(String responsibleDepartment)
{
this.responsibleDepartment = responsibleDepartment;
}
public String getResponsibleDepartment()
{
return responsibleDepartment;
}
public void setResponsiblePerson(String responsiblePerson)
{
this.responsiblePerson = responsiblePerson;
}
public String getResponsiblePerson()
{
return responsiblePerson;
}
public void setContactPhone(String contactPhone)
{
this.contactPhone = contactPhone;
}
public String getContactPhone()
{
return contactPhone;
}
public void setLastMaintenanceDate(Date lastMaintenanceDate)
{
this.lastMaintenanceDate = lastMaintenanceDate;
}
public Date getLastMaintenanceDate()
{
return lastMaintenanceDate;
}
public void setNextMaintenanceDate(Date nextMaintenanceDate)
{
this.nextMaintenanceDate = nextMaintenanceDate;
}
public Date getNextMaintenanceDate()
{
return nextMaintenanceDate;
}
public void setDelFlag(Integer delFlag)
{
this.delFlag = delFlag;
}
public Integer getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("assetCode", getAssetCode())
.append("assetName", getAssetName())
.append("assetType", getAssetType())
.append("assetCategory", getAssetCategory())
.append("model", getModel())
.append("manufacturer", getManufacturer())
.append("supplier", getSupplier())
.append("purchaseDate", getPurchaseDate())
.append("purchasePrice", getPurchasePrice())
.append("warrantyStartDate", getWarrantyStartDate())
.append("warrantyEndDate", getWarrantyEndDate())
.append("location", getLocation())
.append("longitude", getLongitude())
.append("latitude", getLatitude())
.append("status", getStatus())
.append("healthStatus", getHealthStatus())
.append("responsibleDepartment", getResponsibleDepartment())
.append("responsiblePerson", getResponsiblePerson())
.append("contactPhone", getContactPhone())
.append("lastMaintenanceDate", getLastMaintenanceDate())
.append("nextMaintenanceDate", getNextMaintenanceDate())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

391
chenhai-system/src/main/java/com/chenhai/system/domain/DeviceRealtimeMonitoring.java

@ -0,0 +1,391 @@
package com.chenhai.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 设备实时状态监控对象 device_realtime_monitoring
*
* @author ruoyi
* @date 2026-04-16
*/
public class DeviceRealtimeMonitoring extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 设备编号(关联资产表) */
@Excel(name = "设备编号", readConverterExp = "关=联资产表")
private String deviceCode;
/** 设备名称 */
@Excel(name = "设备名称")
private String deviceName;
/** 设备类型(摄像头/传感器/网关等) */
@Excel(name = "设备类型", readConverterExp = "摄=像头/传感器/网关等")
private String deviceType;
/** 在线状态(0-离线 1-在线 2-休眠) */
@Excel(name = "在线状态", readConverterExp = "0=-离线,1=-在线,2=-休眠")
private Integer onlineStatus;
/** 最后在线时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后在线时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastOnlineTime;
/** 离线时长(分钟) */
@Excel(name = "离线时长", readConverterExp = "分=钟")
private Long offlineDuration;
/** 信号强度(0-100,数值越大信号越好) */
@Excel(name = "信号强度", readConverterExp = "0=-100,数值越大信号越好")
private Integer signalStrength;
/** 信号等级(强/中/弱/无) */
@Excel(name = "信号等级", readConverterExp = "强=/中/弱/无")
private String signalLevel;
/** 已用存储空间(字节) */
@Excel(name = "已用存储空间", readConverterExp = "字=节")
private Long storageUsed;
/** 总存储空间(字节) */
@Excel(name = "总存储空间", readConverterExp = "字=节")
private Long storageTotal;
/** 存储使用率(%) */
@Excel(name = "存储使用率", readConverterExp = "%=")
private BigDecimal storageUsageRate;
/** CPU使用率(%) */
@Excel(name = "CPU使用率", readConverterExp = "%=")
private BigDecimal cpuUsage;
/** 内存使用率(%) */
@Excel(name = "内存使用率", readConverterExp = "%=")
private BigDecimal memoryUsage;
/** 磁盘使用率(%) */
@Excel(name = "磁盘使用率", readConverterExp = "%=")
private BigDecimal diskUsage;
/** 设备温度(℃) */
@Excel(name = "设备温度", readConverterExp = "℃=")
private BigDecimal deviceTemperature;
/** 最后心跳时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后心跳时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastHeartbeatTime;
/** 异常状态(多个用逗号分隔) */
@Excel(name = "异常状态", readConverterExp = "多=个用逗号分隔")
private String abnormalStatus;
/** 是否告警(0-否 1-是) */
@Excel(name = "是否告警", readConverterExp = "0=-否,1=-是")
private Integer isAlert;
/** 告警信息 */
@Excel(name = "告警信息")
private String alertMessage;
/** 告警时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date alertTime;
/** 固件版本 */
@Excel(name = "固件版本")
private String firmwareVersion;
/** IP地址 */
@Excel(name = "IP地址")
private String ipAddress;
/** MAC地址 */
@Excel(name = "MAC地址")
private String macAddress;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setDeviceCode(String deviceCode)
{
this.deviceCode = deviceCode;
}
public String getDeviceCode()
{
return deviceCode;
}
public void setDeviceName(String deviceName)
{
this.deviceName = deviceName;
}
public String getDeviceName()
{
return deviceName;
}
public void setDeviceType(String deviceType)
{
this.deviceType = deviceType;
}
public String getDeviceType()
{
return deviceType;
}
public void setOnlineStatus(Integer onlineStatus)
{
this.onlineStatus = onlineStatus;
}
public Integer getOnlineStatus()
{
return onlineStatus;
}
public void setLastOnlineTime(Date lastOnlineTime)
{
this.lastOnlineTime = lastOnlineTime;
}
public Date getLastOnlineTime()
{
return lastOnlineTime;
}
public void setOfflineDuration(Long offlineDuration)
{
this.offlineDuration = offlineDuration;
}
public Long getOfflineDuration()
{
return offlineDuration;
}
public void setSignalStrength(Integer signalStrength)
{
this.signalStrength = signalStrength;
}
public Integer getSignalStrength()
{
return signalStrength;
}
public void setSignalLevel(String signalLevel)
{
this.signalLevel = signalLevel;
}
public String getSignalLevel()
{
return signalLevel;
}
public void setStorageUsed(Long storageUsed)
{
this.storageUsed = storageUsed;
}
public Long getStorageUsed()
{
return storageUsed;
}
public void setStorageTotal(Long storageTotal)
{
this.storageTotal = storageTotal;
}
public Long getStorageTotal()
{
return storageTotal;
}
public void setStorageUsageRate(BigDecimal storageUsageRate)
{
this.storageUsageRate = storageUsageRate;
}
public BigDecimal getStorageUsageRate()
{
return storageUsageRate;
}
public void setCpuUsage(BigDecimal cpuUsage)
{
this.cpuUsage = cpuUsage;
}
public BigDecimal getCpuUsage()
{
return cpuUsage;
}
public void setMemoryUsage(BigDecimal memoryUsage)
{
this.memoryUsage = memoryUsage;
}
public BigDecimal getMemoryUsage()
{
return memoryUsage;
}
public void setDiskUsage(BigDecimal diskUsage)
{
this.diskUsage = diskUsage;
}
public BigDecimal getDiskUsage()
{
return diskUsage;
}
public void setDeviceTemperature(BigDecimal deviceTemperature)
{
this.deviceTemperature = deviceTemperature;
}
public BigDecimal getDeviceTemperature()
{
return deviceTemperature;
}
public void setLastHeartbeatTime(Date lastHeartbeatTime)
{
this.lastHeartbeatTime = lastHeartbeatTime;
}
public Date getLastHeartbeatTime()
{
return lastHeartbeatTime;
}
public void setAbnormalStatus(String abnormalStatus)
{
this.abnormalStatus = abnormalStatus;
}
public String getAbnormalStatus()
{
return abnormalStatus;
}
public void setIsAlert(Integer isAlert)
{
this.isAlert = isAlert;
}
public Integer getIsAlert()
{
return isAlert;
}
public void setAlertMessage(String alertMessage)
{
this.alertMessage = alertMessage;
}
public String getAlertMessage()
{
return alertMessage;
}
public void setAlertTime(Date alertTime)
{
this.alertTime = alertTime;
}
public Date getAlertTime()
{
return alertTime;
}
public void setFirmwareVersion(String firmwareVersion)
{
this.firmwareVersion = firmwareVersion;
}
public String getFirmwareVersion()
{
return firmwareVersion;
}
public void setIpAddress(String ipAddress)
{
this.ipAddress = ipAddress;
}
public String getIpAddress()
{
return ipAddress;
}
public void setMacAddress(String macAddress)
{
this.macAddress = macAddress;
}
public String getMacAddress()
{
return macAddress;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("deviceCode", getDeviceCode())
.append("deviceName", getDeviceName())
.append("deviceType", getDeviceType())
.append("onlineStatus", getOnlineStatus())
.append("lastOnlineTime", getLastOnlineTime())
.append("offlineDuration", getOfflineDuration())
.append("signalStrength", getSignalStrength())
.append("signalLevel", getSignalLevel())
.append("storageUsed", getStorageUsed())
.append("storageTotal", getStorageTotal())
.append("storageUsageRate", getStorageUsageRate())
.append("cpuUsage", getCpuUsage())
.append("memoryUsage", getMemoryUsage())
.append("diskUsage", getDiskUsage())
.append("deviceTemperature", getDeviceTemperature())
.append("lastHeartbeatTime", getLastHeartbeatTime())
.append("abnormalStatus", getAbnormalStatus())
.append("isAlert", getIsAlert())
.append("alertMessage", getAlertMessage())
.append("alertTime", getAlertTime())
.append("firmwareVersion", getFirmwareVersion())
.append("ipAddress", getIpAddress())
.append("macAddress", getMacAddress())
.append("remark", getRemark())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
}

116
chenhai-system/src/main/java/com/chenhai/system/domain/MapFeatures.java

@ -0,0 +1,116 @@
package com.chenhai.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 地图配套标注管理对象 map_features
*
* @author ruoyi
* @date 2026-04-17
*/
public class MapFeatures extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 设施名称 */
@Excel(name = "设施名称")
private String name;
/** 设施类型 */
@Excel(name = "设施类型")
private String type;
/** 经度 */
@Excel(name = "经度")
private BigDecimal longitude;
/** 纬度 */
@Excel(name = "纬度")
private BigDecimal latitude;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdAt;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setLongitude(BigDecimal longitude)
{
this.longitude = longitude;
}
public BigDecimal getLongitude()
{
return longitude;
}
public void setLatitude(BigDecimal latitude)
{
this.latitude = latitude;
}
public BigDecimal getLatitude()
{
return latitude;
}
public void setCreatedAt(Date createdAt)
{
this.createdAt = createdAt;
}
public Date getCreatedAt()
{
return createdAt;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("type", getType())
.append("longitude", getLongitude())
.append("latitude", getLatitude())
.append("createdAt", getCreatedAt())
.toString();
}
}

422
chenhai-system/src/main/java/com/chenhai/system/domain/SpaceResourceManagement.java

@ -0,0 +1,422 @@
package com.chenhai.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenhai.common.annotation.Excel;
import com.chenhai.common.core.domain.BaseEntity;
/**
* 空间资源管理对象 space_resource_management
*
* @author ruoyi
* @date 2026-04-16
*/
public class SpaceResourceManagement extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 资源编号(唯一标识) */
@Excel(name = "资源编号", readConverterExp = "唯=一标识")
private String resourceCode;
/** 资源名称 */
@Excel(name = "资源名称")
private String resourceName;
/** 资源类型(绿地/古树名木/灌溉系统/座椅/垃圾桶等) */
@Excel(name = "资源类型", readConverterExp = "绿=地/古树名木/灌溉系统/座椅/垃圾桶等")
private String resourceType;
/** 资源子类型(如古树名木可细分:一级古树/二级古树/名木) */
@Excel(name = "资源子类型", readConverterExp = "如=古树名木可细分:一级古树/二级古树/名木")
private String resourceSubtype;
/** 植物学名(古树名木专用) */
@Excel(name = "植物学名", readConverterExp = "古=树名木专用")
private String scientificName;
/** 科属(古树名木专用) */
@Excel(name = "科属", readConverterExp = "古=树名木专用")
private String familyGenus;
/** 树龄(年,古树名木专用) */
@Excel(name = "树龄", readConverterExp = "年=,古树名木专用")
private Long age;
/** 保护级别(古树名木专用:国家一级/国家二级/地方级) */
@Excel(name = "保护级别", readConverterExp = "古=树名木专用:国家一级/国家二级/地方级")
private String protectionLevel;
/** 详细位置 */
@Excel(name = "详细位置")
private String locationDetail;
/** 经度(GIS定位) */
@Excel(name = "经度", readConverterExp = "G=IS定位")
private BigDecimal longitude;
/** 纬度(GIS定位) */
@Excel(name = "纬度", readConverterExp = "G=IS定位")
private BigDecimal latitude;
/** 占地面积(平方米,绿地/设施区域专用) */
@Excel(name = "占地面积", readConverterExp = "平=方米,绿地/设施区域专用")
private BigDecimal areaSize;
/** 高度(米,古树/设施专用) */
@Excel(name = "高度", readConverterExp = "米=,古树/设施专用")
private BigDecimal height;
/** 材质(座椅/垃圾桶等设施专用) */
@Excel(name = "材质", readConverterExp = "座=椅/垃圾桶等设施专用")
private String material;
/** 生产厂家 */
@Excel(name = "生产厂家")
private String manufacturer;
/** 安装/种植日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "安装/种植日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date installationDate;
/** 状态(1-正常 2-损坏 3-维护中 4-已移除) */
@Excel(name = "状态", readConverterExp = "1=-正常,2=-损坏,3=-维护中,4=-已移除")
private Integer status;
/** 责任部门 */
@Excel(name = "责任部门")
private String responsibleDepartment;
/** 责任人 */
@Excel(name = "责任人")
private String responsiblePerson;
/** 联系电话 */
@Excel(name = "联系电话")
private String contactPhone;
/** 最近巡检日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最近巡检日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastInspectionDate;
/** 下次巡检日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "下次巡检日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date nextInspectionDate;
/** 巡检周期(天) */
@Excel(name = "巡检周期", readConverterExp = "天=")
private Long inspectionCycle;
/** 图片URL */
@Excel(name = "图片URL")
private String imageUrl;
/** 删除标志(0-正常 1-已删除) */
private Integer delFlag;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setResourceCode(String resourceCode)
{
this.resourceCode = resourceCode;
}
public String getResourceCode()
{
return resourceCode;
}
public void setResourceName(String resourceName)
{
this.resourceName = resourceName;
}
public String getResourceName()
{
return resourceName;
}
public void setResourceType(String resourceType)
{
this.resourceType = resourceType;
}
public String getResourceType()
{
return resourceType;
}
public void setResourceSubtype(String resourceSubtype)
{
this.resourceSubtype = resourceSubtype;
}
public String getResourceSubtype()
{
return resourceSubtype;
}
public void setScientificName(String scientificName)
{
this.scientificName = scientificName;
}
public String getScientificName()
{
return scientificName;
}
public void setFamilyGenus(String familyGenus)
{
this.familyGenus = familyGenus;
}
public String getFamilyGenus()
{
return familyGenus;
}
public void setAge(Long age)
{
this.age = age;
}
public Long getAge()
{
return age;
}
public void setProtectionLevel(String protectionLevel)
{
this.protectionLevel = protectionLevel;
}
public String getProtectionLevel()
{
return protectionLevel;
}
public void setLocationDetail(String locationDetail)
{
this.locationDetail = locationDetail;
}
public String getLocationDetail()
{
return locationDetail;
}
public void setLongitude(BigDecimal longitude)
{
this.longitude = longitude;
}
public BigDecimal getLongitude()
{
return longitude;
}
public void setLatitude(BigDecimal latitude)
{
this.latitude = latitude;
}
public BigDecimal getLatitude()
{
return latitude;
}
public void setAreaSize(BigDecimal areaSize)
{
this.areaSize = areaSize;
}
public BigDecimal getAreaSize()
{
return areaSize;
}
public void setHeight(BigDecimal height)
{
this.height = height;
}
public BigDecimal getHeight()
{
return height;
}
public void setMaterial(String material)
{
this.material = material;
}
public String getMaterial()
{
return material;
}
public void setManufacturer(String manufacturer)
{
this.manufacturer = manufacturer;
}
public String getManufacturer()
{
return manufacturer;
}
public void setInstallationDate(Date installationDate)
{
this.installationDate = installationDate;
}
public Date getInstallationDate()
{
return installationDate;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setResponsibleDepartment(String responsibleDepartment)
{
this.responsibleDepartment = responsibleDepartment;
}
public String getResponsibleDepartment()
{
return responsibleDepartment;
}
public void setResponsiblePerson(String responsiblePerson)
{
this.responsiblePerson = responsiblePerson;
}
public String getResponsiblePerson()
{
return responsiblePerson;
}
public void setContactPhone(String contactPhone)
{
this.contactPhone = contactPhone;
}
public String getContactPhone()
{
return contactPhone;
}
public void setLastInspectionDate(Date lastInspectionDate)
{
this.lastInspectionDate = lastInspectionDate;
}
public Date getLastInspectionDate()
{
return lastInspectionDate;
}
public void setNextInspectionDate(Date nextInspectionDate)
{
this.nextInspectionDate = nextInspectionDate;
}
public Date getNextInspectionDate()
{
return nextInspectionDate;
}
public void setInspectionCycle(Long inspectionCycle)
{
this.inspectionCycle = inspectionCycle;
}
public Long getInspectionCycle()
{
return inspectionCycle;
}
public void setImageUrl(String imageUrl)
{
this.imageUrl = imageUrl;
}
public String getImageUrl()
{
return imageUrl;
}
public void setDelFlag(Integer delFlag)
{
this.delFlag = delFlag;
}
public Integer getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("resourceCode", getResourceCode())
.append("resourceName", getResourceName())
.append("resourceType", getResourceType())
.append("resourceSubtype", getResourceSubtype())
.append("scientificName", getScientificName())
.append("familyGenus", getFamilyGenus())
.append("age", getAge())
.append("protectionLevel", getProtectionLevel())
.append("locationDetail", getLocationDetail())
.append("longitude", getLongitude())
.append("latitude", getLatitude())
.append("areaSize", getAreaSize())
.append("height", getHeight())
.append("material", getMaterial())
.append("manufacturer", getManufacturer())
.append("installationDate", getInstallationDate())
.append("status", getStatus())
.append("responsibleDepartment", getResponsibleDepartment())
.append("responsiblePerson", getResponsiblePerson())
.append("contactPhone", getContactPhone())
.append("lastInspectionDate", getLastInspectionDate())
.append("nextInspectionDate", getNextInspectionDate())
.append("inspectionCycle", getInspectionCycle())
.append("imageUrl", getImageUrl())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

61
chenhai-system/src/main/java/com/chenhai/system/mapper/AssetLifecycleManagementMapper.java

@ -0,0 +1,61 @@
package com.chenhai.system.mapper;
import java.util.List;
import com.chenhai.system.domain.AssetLifecycleManagement;
/**
* 资产全生命周期管理Mapper接口
*
* @author ruoyi
* @date 2026-04-16
*/
public interface AssetLifecycleManagementMapper
{
/**
* 查询资产全生命周期管理
*
* @param id 资产全生命周期管理主键
* @return 资产全生命周期管理
*/
public AssetLifecycleManagement selectAssetLifecycleManagementById(Long id);
/**
* 查询资产全生命周期管理列表
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 资产全生命周期管理集合
*/
public List<AssetLifecycleManagement> selectAssetLifecycleManagementList(AssetLifecycleManagement assetLifecycleManagement);
/**
* 新增资产全生命周期管理
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 结果
*/
public int insertAssetLifecycleManagement(AssetLifecycleManagement assetLifecycleManagement);
/**
* 修改资产全生命周期管理
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 结果
*/
public int updateAssetLifecycleManagement(AssetLifecycleManagement assetLifecycleManagement);
/**
* 删除资产全生命周期管理
*
* @param id 资产全生命周期管理主键
* @return 结果
*/
public int deleteAssetLifecycleManagementById(Long id);
/**
* 批量删除资产全生命周期管理
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteAssetLifecycleManagementByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/system/mapper/DeviceRealtimeMonitoringMapper.java

@ -0,0 +1,61 @@
package com.chenhai.system.mapper;
import java.util.List;
import com.chenhai.system.domain.DeviceRealtimeMonitoring;
/**
* 设备实时状态监控Mapper接口
*
* @author ruoyi
* @date 2026-04-16
*/
public interface DeviceRealtimeMonitoringMapper
{
/**
* 查询设备实时状态监控
*
* @param id 设备实时状态监控主键
* @return 设备实时状态监控
*/
public DeviceRealtimeMonitoring selectDeviceRealtimeMonitoringById(Long id);
/**
* 查询设备实时状态监控列表
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 设备实时状态监控集合
*/
public List<DeviceRealtimeMonitoring> selectDeviceRealtimeMonitoringList(DeviceRealtimeMonitoring deviceRealtimeMonitoring);
/**
* 新增设备实时状态监控
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 结果
*/
public int insertDeviceRealtimeMonitoring(DeviceRealtimeMonitoring deviceRealtimeMonitoring);
/**
* 修改设备实时状态监控
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 结果
*/
public int updateDeviceRealtimeMonitoring(DeviceRealtimeMonitoring deviceRealtimeMonitoring);
/**
* 删除设备实时状态监控
*
* @param id 设备实时状态监控主键
* @return 结果
*/
public int deleteDeviceRealtimeMonitoringById(Long id);
/**
* 批量删除设备实时状态监控
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteDeviceRealtimeMonitoringByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/system/mapper/MapFeaturesMapper.java

@ -0,0 +1,61 @@
package com.chenhai.system.mapper;
import java.util.List;
import com.chenhai.system.domain.MapFeatures;
/**
* 地图配套标注管理Mapper接口
*
* @author ruoyi
* @date 2026-04-17
*/
public interface MapFeaturesMapper
{
/**
* 查询地图配套标注管理
*
* @param id 地图配套标注管理主键
* @return 地图配套标注管理
*/
public MapFeatures selectMapFeaturesById(Long id);
/**
* 查询地图配套标注管理列表
*
* @param mapFeatures 地图配套标注管理
* @return 地图配套标注管理集合
*/
public List<MapFeatures> selectMapFeaturesList(MapFeatures mapFeatures);
/**
* 新增地图配套标注管理
*
* @param mapFeatures 地图配套标注管理
* @return 结果
*/
public int insertMapFeatures(MapFeatures mapFeatures);
/**
* 修改地图配套标注管理
*
* @param mapFeatures 地图配套标注管理
* @return 结果
*/
public int updateMapFeatures(MapFeatures mapFeatures);
/**
* 删除地图配套标注管理
*
* @param id 地图配套标注管理主键
* @return 结果
*/
public int deleteMapFeaturesById(Long id);
/**
* 批量删除地图配套标注管理
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMapFeaturesByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/system/mapper/SpaceResourceManagementMapper.java

@ -0,0 +1,61 @@
package com.chenhai.system.mapper;
import java.util.List;
import com.chenhai.system.domain.SpaceResourceManagement;
/**
* 空间资源管理Mapper接口
*
* @author ruoyi
* @date 2026-04-16
*/
public interface SpaceResourceManagementMapper
{
/**
* 查询空间资源管理
*
* @param id 空间资源管理主键
* @return 空间资源管理
*/
public SpaceResourceManagement selectSpaceResourceManagementById(Long id);
/**
* 查询空间资源管理列表
*
* @param spaceResourceManagement 空间资源管理
* @return 空间资源管理集合
*/
public List<SpaceResourceManagement> selectSpaceResourceManagementList(SpaceResourceManagement spaceResourceManagement);
/**
* 新增空间资源管理
*
* @param spaceResourceManagement 空间资源管理
* @return 结果
*/
public int insertSpaceResourceManagement(SpaceResourceManagement spaceResourceManagement);
/**
* 修改空间资源管理
*
* @param spaceResourceManagement 空间资源管理
* @return 结果
*/
public int updateSpaceResourceManagement(SpaceResourceManagement spaceResourceManagement);
/**
* 删除空间资源管理
*
* @param id 空间资源管理主键
* @return 结果
*/
public int deleteSpaceResourceManagementById(Long id);
/**
* 批量删除空间资源管理
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSpaceResourceManagementByIds(Long[] ids);
}

61
chenhai-system/src/main/java/com/chenhai/system/service/IAssetLifecycleManagementService.java

@ -0,0 +1,61 @@
package com.chenhai.system.service;
import java.util.List;
import com.chenhai.system.domain.AssetLifecycleManagement;
/**
* 资产全生命周期管理Service接口
*
* @author ruoyi
* @date 2026-04-16
*/
public interface IAssetLifecycleManagementService
{
/**
* 查询资产全生命周期管理
*
* @param id 资产全生命周期管理主键
* @return 资产全生命周期管理
*/
public AssetLifecycleManagement selectAssetLifecycleManagementById(Long id);
/**
* 查询资产全生命周期管理列表
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 资产全生命周期管理集合
*/
public List<AssetLifecycleManagement> selectAssetLifecycleManagementList(AssetLifecycleManagement assetLifecycleManagement);
/**
* 新增资产全生命周期管理
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 结果
*/
public int insertAssetLifecycleManagement(AssetLifecycleManagement assetLifecycleManagement);
/**
* 修改资产全生命周期管理
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 结果
*/
public int updateAssetLifecycleManagement(AssetLifecycleManagement assetLifecycleManagement);
/**
* 批量删除资产全生命周期管理
*
* @param ids 需要删除的资产全生命周期管理主键集合
* @return 结果
*/
public int deleteAssetLifecycleManagementByIds(Long[] ids);
/**
* 删除资产全生命周期管理信息
*
* @param id 资产全生命周期管理主键
* @return 结果
*/
public int deleteAssetLifecycleManagementById(Long id);
}

61
chenhai-system/src/main/java/com/chenhai/system/service/IDeviceRealtimeMonitoringService.java

@ -0,0 +1,61 @@
package com.chenhai.system.service;
import java.util.List;
import com.chenhai.system.domain.DeviceRealtimeMonitoring;
/**
* 设备实时状态监控Service接口
*
* @author ruoyi
* @date 2026-04-16
*/
public interface IDeviceRealtimeMonitoringService
{
/**
* 查询设备实时状态监控
*
* @param id 设备实时状态监控主键
* @return 设备实时状态监控
*/
public DeviceRealtimeMonitoring selectDeviceRealtimeMonitoringById(Long id);
/**
* 查询设备实时状态监控列表
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 设备实时状态监控集合
*/
public List<DeviceRealtimeMonitoring> selectDeviceRealtimeMonitoringList(DeviceRealtimeMonitoring deviceRealtimeMonitoring);
/**
* 新增设备实时状态监控
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 结果
*/
public int insertDeviceRealtimeMonitoring(DeviceRealtimeMonitoring deviceRealtimeMonitoring);
/**
* 修改设备实时状态监控
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 结果
*/
public int updateDeviceRealtimeMonitoring(DeviceRealtimeMonitoring deviceRealtimeMonitoring);
/**
* 批量删除设备实时状态监控
*
* @param ids 需要删除的设备实时状态监控主键集合
* @return 结果
*/
public int deleteDeviceRealtimeMonitoringByIds(Long[] ids);
/**
* 删除设备实时状态监控信息
*
* @param id 设备实时状态监控主键
* @return 结果
*/
public int deleteDeviceRealtimeMonitoringById(Long id);
}

61
chenhai-system/src/main/java/com/chenhai/system/service/IMapFeaturesService.java

@ -0,0 +1,61 @@
package com.chenhai.system.service;
import java.util.List;
import com.chenhai.system.domain.MapFeatures;
/**
* 地图配套标注管理Service接口
*
* @author ruoyi
* @date 2026-04-17
*/
public interface IMapFeaturesService
{
/**
* 查询地图配套标注管理
*
* @param id 地图配套标注管理主键
* @return 地图配套标注管理
*/
public MapFeatures selectMapFeaturesById(Long id);
/**
* 查询地图配套标注管理列表
*
* @param mapFeatures 地图配套标注管理
* @return 地图配套标注管理集合
*/
public List<MapFeatures> selectMapFeaturesList(MapFeatures mapFeatures);
/**
* 新增地图配套标注管理
*
* @param mapFeatures 地图配套标注管理
* @return 结果
*/
public int insertMapFeatures(MapFeatures mapFeatures);
/**
* 修改地图配套标注管理
*
* @param mapFeatures 地图配套标注管理
* @return 结果
*/
public int updateMapFeatures(MapFeatures mapFeatures);
/**
* 批量删除地图配套标注管理
*
* @param ids 需要删除的地图配套标注管理主键集合
* @return 结果
*/
public int deleteMapFeaturesByIds(Long[] ids);
/**
* 删除地图配套标注管理信息
*
* @param id 地图配套标注管理主键
* @return 结果
*/
public int deleteMapFeaturesById(Long id);
}

61
chenhai-system/src/main/java/com/chenhai/system/service/ISpaceResourceManagementService.java

@ -0,0 +1,61 @@
package com.chenhai.system.service;
import java.util.List;
import com.chenhai.system.domain.SpaceResourceManagement;
/**
* 空间资源管理Service接口
*
* @author ruoyi
* @date 2026-04-16
*/
public interface ISpaceResourceManagementService
{
/**
* 查询空间资源管理
*
* @param id 空间资源管理主键
* @return 空间资源管理
*/
public SpaceResourceManagement selectSpaceResourceManagementById(Long id);
/**
* 查询空间资源管理列表
*
* @param spaceResourceManagement 空间资源管理
* @return 空间资源管理集合
*/
public List<SpaceResourceManagement> selectSpaceResourceManagementList(SpaceResourceManagement spaceResourceManagement);
/**
* 新增空间资源管理
*
* @param spaceResourceManagement 空间资源管理
* @return 结果
*/
public int insertSpaceResourceManagement(SpaceResourceManagement spaceResourceManagement);
/**
* 修改空间资源管理
*
* @param spaceResourceManagement 空间资源管理
* @return 结果
*/
public int updateSpaceResourceManagement(SpaceResourceManagement spaceResourceManagement);
/**
* 批量删除空间资源管理
*
* @param ids 需要删除的空间资源管理主键集合
* @return 结果
*/
public int deleteSpaceResourceManagementByIds(Long[] ids);
/**
* 删除空间资源管理信息
*
* @param id 空间资源管理主键
* @return 结果
*/
public int deleteSpaceResourceManagementById(Long id);
}

96
chenhai-system/src/main/java/com/chenhai/system/service/impl/AssetLifecycleManagementServiceImpl.java

@ -0,0 +1,96 @@
package com.chenhai.system.service.impl;
import java.util.List;
import com.chenhai.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.system.mapper.AssetLifecycleManagementMapper;
import com.chenhai.system.domain.AssetLifecycleManagement;
import com.chenhai.system.service.IAssetLifecycleManagementService;
/**
* 资产全生命周期管理Service业务层处理
*
* @author ruoyi
* @date 2026-04-16
*/
@Service
public class AssetLifecycleManagementServiceImpl implements IAssetLifecycleManagementService
{
@Autowired
private AssetLifecycleManagementMapper assetLifecycleManagementMapper;
/**
* 查询资产全生命周期管理
*
* @param id 资产全生命周期管理主键
* @return 资产全生命周期管理
*/
@Override
public AssetLifecycleManagement selectAssetLifecycleManagementById(Long id)
{
return assetLifecycleManagementMapper.selectAssetLifecycleManagementById(id);
}
/**
* 查询资产全生命周期管理列表
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 资产全生命周期管理
*/
@Override
public List<AssetLifecycleManagement> selectAssetLifecycleManagementList(AssetLifecycleManagement assetLifecycleManagement)
{
return assetLifecycleManagementMapper.selectAssetLifecycleManagementList(assetLifecycleManagement);
}
/**
* 新增资产全生命周期管理
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 结果
*/
@Override
public int insertAssetLifecycleManagement(AssetLifecycleManagement assetLifecycleManagement)
{
assetLifecycleManagement.setCreateTime(DateUtils.getNowDate());
return assetLifecycleManagementMapper.insertAssetLifecycleManagement(assetLifecycleManagement);
}
/**
* 修改资产全生命周期管理
*
* @param assetLifecycleManagement 资产全生命周期管理
* @return 结果
*/
@Override
public int updateAssetLifecycleManagement(AssetLifecycleManagement assetLifecycleManagement)
{
assetLifecycleManagement.setUpdateTime(DateUtils.getNowDate());
return assetLifecycleManagementMapper.updateAssetLifecycleManagement(assetLifecycleManagement);
}
/**
* 批量删除资产全生命周期管理
*
* @param ids 需要删除的资产全生命周期管理主键
* @return 结果
*/
@Override
public int deleteAssetLifecycleManagementByIds(Long[] ids)
{
return assetLifecycleManagementMapper.deleteAssetLifecycleManagementByIds(ids);
}
/**
* 删除资产全生命周期管理信息
*
* @param id 资产全生命周期管理主键
* @return 结果
*/
@Override
public int deleteAssetLifecycleManagementById(Long id)
{
return assetLifecycleManagementMapper.deleteAssetLifecycleManagementById(id);
}
}

96
chenhai-system/src/main/java/com/chenhai/system/service/impl/DeviceRealtimeMonitoringServiceImpl.java

@ -0,0 +1,96 @@
package com.chenhai.system.service.impl;
import java.util.List;
import com.chenhai.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.system.mapper.DeviceRealtimeMonitoringMapper;
import com.chenhai.system.domain.DeviceRealtimeMonitoring;
import com.chenhai.system.service.IDeviceRealtimeMonitoringService;
/**
* 设备实时状态监控Service业务层处理
*
* @author ruoyi
* @date 2026-04-16
*/
@Service
public class DeviceRealtimeMonitoringServiceImpl implements IDeviceRealtimeMonitoringService
{
@Autowired
private DeviceRealtimeMonitoringMapper deviceRealtimeMonitoringMapper;
/**
* 查询设备实时状态监控
*
* @param id 设备实时状态监控主键
* @return 设备实时状态监控
*/
@Override
public DeviceRealtimeMonitoring selectDeviceRealtimeMonitoringById(Long id)
{
return deviceRealtimeMonitoringMapper.selectDeviceRealtimeMonitoringById(id);
}
/**
* 查询设备实时状态监控列表
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 设备实时状态监控
*/
@Override
public List<DeviceRealtimeMonitoring> selectDeviceRealtimeMonitoringList(DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
return deviceRealtimeMonitoringMapper.selectDeviceRealtimeMonitoringList(deviceRealtimeMonitoring);
}
/**
* 新增设备实时状态监控
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 结果
*/
@Override
public int insertDeviceRealtimeMonitoring(DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
deviceRealtimeMonitoring.setCreateTime(DateUtils.getNowDate());
return deviceRealtimeMonitoringMapper.insertDeviceRealtimeMonitoring(deviceRealtimeMonitoring);
}
/**
* 修改设备实时状态监控
*
* @param deviceRealtimeMonitoring 设备实时状态监控
* @return 结果
*/
@Override
public int updateDeviceRealtimeMonitoring(DeviceRealtimeMonitoring deviceRealtimeMonitoring)
{
deviceRealtimeMonitoring.setUpdateTime(DateUtils.getNowDate());
return deviceRealtimeMonitoringMapper.updateDeviceRealtimeMonitoring(deviceRealtimeMonitoring);
}
/**
* 批量删除设备实时状态监控
*
* @param ids 需要删除的设备实时状态监控主键
* @return 结果
*/
@Override
public int deleteDeviceRealtimeMonitoringByIds(Long[] ids)
{
return deviceRealtimeMonitoringMapper.deleteDeviceRealtimeMonitoringByIds(ids);
}
/**
* 删除设备实时状态监控信息
*
* @param id 设备实时状态监控主键
* @return 结果
*/
@Override
public int deleteDeviceRealtimeMonitoringById(Long id)
{
return deviceRealtimeMonitoringMapper.deleteDeviceRealtimeMonitoringById(id);
}
}

93
chenhai-system/src/main/java/com/chenhai/system/service/impl/MapFeaturesServiceImpl.java

@ -0,0 +1,93 @@
package com.chenhai.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.system.mapper.MapFeaturesMapper;
import com.chenhai.system.domain.MapFeatures;
import com.chenhai.system.service.IMapFeaturesService;
/**
* 地图配套标注管理Service业务层处理
*
* @author ruoyi
* @date 2026-04-17
*/
@Service
public class MapFeaturesServiceImpl implements IMapFeaturesService
{
@Autowired
private MapFeaturesMapper mapFeaturesMapper;
/**
* 查询地图配套标注管理
*
* @param id 地图配套标注管理主键
* @return 地图配套标注管理
*/
@Override
public MapFeatures selectMapFeaturesById(Long id)
{
return mapFeaturesMapper.selectMapFeaturesById(id);
}
/**
* 查询地图配套标注管理列表
*
* @param mapFeatures 地图配套标注管理
* @return 地图配套标注管理
*/
@Override
public List<MapFeatures> selectMapFeaturesList(MapFeatures mapFeatures)
{
return mapFeaturesMapper.selectMapFeaturesList(mapFeatures);
}
/**
* 新增地图配套标注管理
*
* @param mapFeatures 地图配套标注管理
* @return 结果
*/
@Override
public int insertMapFeatures(MapFeatures mapFeatures)
{
return mapFeaturesMapper.insertMapFeatures(mapFeatures);
}
/**
* 修改地图配套标注管理
*
* @param mapFeatures 地图配套标注管理
* @return 结果
*/
@Override
public int updateMapFeatures(MapFeatures mapFeatures)
{
return mapFeaturesMapper.updateMapFeatures(mapFeatures);
}
/**
* 批量删除地图配套标注管理
*
* @param ids 需要删除的地图配套标注管理主键
* @return 结果
*/
@Override
public int deleteMapFeaturesByIds(Long[] ids)
{
return mapFeaturesMapper.deleteMapFeaturesByIds(ids);
}
/**
* 删除地图配套标注管理信息
*
* @param id 地图配套标注管理主键
* @return 结果
*/
@Override
public int deleteMapFeaturesById(Long id)
{
return mapFeaturesMapper.deleteMapFeaturesById(id);
}
}

96
chenhai-system/src/main/java/com/chenhai/system/service/impl/SpaceResourceManagementServiceImpl.java

@ -0,0 +1,96 @@
package com.chenhai.system.service.impl;
import java.util.List;
import com.chenhai.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenhai.system.mapper.SpaceResourceManagementMapper;
import com.chenhai.system.domain.SpaceResourceManagement;
import com.chenhai.system.service.ISpaceResourceManagementService;
/**
* 空间资源管理Service业务层处理
*
* @author ruoyi
* @date 2026-04-16
*/
@Service
public class SpaceResourceManagementServiceImpl implements ISpaceResourceManagementService
{
@Autowired
private SpaceResourceManagementMapper spaceResourceManagementMapper;
/**
* 查询空间资源管理
*
* @param id 空间资源管理主键
* @return 空间资源管理
*/
@Override
public SpaceResourceManagement selectSpaceResourceManagementById(Long id)
{
return spaceResourceManagementMapper.selectSpaceResourceManagementById(id);
}
/**
* 查询空间资源管理列表
*
* @param spaceResourceManagement 空间资源管理
* @return 空间资源管理
*/
@Override
public List<SpaceResourceManagement> selectSpaceResourceManagementList(SpaceResourceManagement spaceResourceManagement)
{
return spaceResourceManagementMapper.selectSpaceResourceManagementList(spaceResourceManagement);
}
/**
* 新增空间资源管理
*
* @param spaceResourceManagement 空间资源管理
* @return 结果
*/
@Override
public int insertSpaceResourceManagement(SpaceResourceManagement spaceResourceManagement)
{
spaceResourceManagement.setCreateTime(DateUtils.getNowDate());
return spaceResourceManagementMapper.insertSpaceResourceManagement(spaceResourceManagement);
}
/**
* 修改空间资源管理
*
* @param spaceResourceManagement 空间资源管理
* @return 结果
*/
@Override
public int updateSpaceResourceManagement(SpaceResourceManagement spaceResourceManagement)
{
spaceResourceManagement.setUpdateTime(DateUtils.getNowDate());
return spaceResourceManagementMapper.updateSpaceResourceManagement(spaceResourceManagement);
}
/**
* 批量删除空间资源管理
*
* @param ids 需要删除的空间资源管理主键
* @return 结果
*/
@Override
public int deleteSpaceResourceManagementByIds(Long[] ids)
{
return spaceResourceManagementMapper.deleteSpaceResourceManagementByIds(ids);
}
/**
* 删除空间资源管理信息
*
* @param id 空间资源管理主键
* @return 结果
*/
@Override
public int deleteSpaceResourceManagementById(Long id)
{
return spaceResourceManagementMapper.deleteSpaceResourceManagementById(id);
}
}

180
chenhai-system/src/main/resources/mapper/system/AssetLifecycleManagementMapper.xml

@ -0,0 +1,180 @@
<?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.chenhai.system.mapper.AssetLifecycleManagementMapper">
<resultMap type="AssetLifecycleManagement" id="AssetLifecycleManagementResult">
<result property="id" column="id" />
<result property="assetCode" column="asset_code" />
<result property="assetName" column="asset_name" />
<result property="assetType" column="asset_type" />
<result property="assetCategory" column="asset_category" />
<result property="model" column="model" />
<result property="manufacturer" column="manufacturer" />
<result property="supplier" column="supplier" />
<result property="purchaseDate" column="purchase_date" />
<result property="purchasePrice" column="purchase_price" />
<result property="warrantyStartDate" column="warranty_start_date" />
<result property="warrantyEndDate" column="warranty_end_date" />
<result property="location" column="location" />
<result property="longitude" column="longitude" />
<result property="latitude" column="latitude" />
<result property="status" column="status" />
<result property="healthStatus" column="health_status" />
<result property="responsibleDepartment" column="responsible_department" />
<result property="responsiblePerson" column="responsible_person" />
<result property="contactPhone" column="contact_phone" />
<result property="lastMaintenanceDate" column="last_maintenance_date" />
<result property="nextMaintenanceDate" column="next_maintenance_date" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectAssetLifecycleManagementVo">
select id, asset_code, asset_name, asset_type, asset_category, model, manufacturer, supplier, purchase_date, purchase_price, warranty_start_date, warranty_end_date, location, longitude, latitude, status, health_status, responsible_department, responsible_person, contact_phone, last_maintenance_date, next_maintenance_date, remark, create_by, create_time, update_by, update_time, del_flag from asset_lifecycle_management
</sql>
<select id="selectAssetLifecycleManagementList" parameterType="AssetLifecycleManagement" resultMap="AssetLifecycleManagementResult">
<include refid="selectAssetLifecycleManagementVo"/>
<where>
<if test="assetCode != null and assetCode != ''"> and asset_code = #{assetCode}</if>
<if test="assetName != null and assetName != ''"> and asset_name like concat('%', #{assetName}, '%')</if>
<if test="assetType != null and assetType != ''"> and asset_type = #{assetType}</if>
<if test="assetCategory != null and assetCategory != ''"> and asset_category = #{assetCategory}</if>
<if test="model != null and model != ''"> and model = #{model}</if>
<if test="manufacturer != null and manufacturer != ''"> and manufacturer = #{manufacturer}</if>
<if test="supplier != null and supplier != ''"> and supplier = #{supplier}</if>
<if test="purchaseDate != null "> and purchase_date = #{purchaseDate}</if>
<if test="purchasePrice != null "> and purchase_price = #{purchasePrice}</if>
<if test="warrantyStartDate != null "> and warranty_start_date = #{warrantyStartDate}</if>
<if test="warrantyEndDate != null "> and warranty_end_date = #{warrantyEndDate}</if>
<if test="location != null and location != ''"> and location = #{location}</if>
<if test="longitude != null "> and longitude = #{longitude}</if>
<if test="latitude != null "> and latitude = #{latitude}</if>
<if test="status != null "> and status = #{status}</if>
<if test="healthStatus != null "> and health_status = #{healthStatus}</if>
<if test="responsibleDepartment != null and responsibleDepartment != ''"> and responsible_department = #{responsibleDepartment}</if>
<if test="responsiblePerson != null and responsiblePerson != ''"> and responsible_person = #{responsiblePerson}</if>
<if test="contactPhone != null and contactPhone != ''"> and contact_phone = #{contactPhone}</if>
<if test="lastMaintenanceDate != null "> and last_maintenance_date = #{lastMaintenanceDate}</if>
<if test="nextMaintenanceDate != null "> and next_maintenance_date = #{nextMaintenanceDate}</if>
</where>
</select>
<select id="selectAssetLifecycleManagementById" parameterType="Long" resultMap="AssetLifecycleManagementResult">
<include refid="selectAssetLifecycleManagementVo"/>
where id = #{id}
</select>
<insert id="insertAssetLifecycleManagement" parameterType="AssetLifecycleManagement" useGeneratedKeys="true" keyProperty="id">
insert into asset_lifecycle_management
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="assetCode != null and assetCode != ''">asset_code,</if>
<if test="assetName != null and assetName != ''">asset_name,</if>
<if test="assetType != null and assetType != ''">asset_type,</if>
<if test="assetCategory != null">asset_category,</if>
<if test="model != null">model,</if>
<if test="manufacturer != null">manufacturer,</if>
<if test="supplier != null">supplier,</if>
<if test="purchaseDate != null">purchase_date,</if>
<if test="purchasePrice != null">purchase_price,</if>
<if test="warrantyStartDate != null">warranty_start_date,</if>
<if test="warrantyEndDate != null">warranty_end_date,</if>
<if test="location != null">location,</if>
<if test="longitude != null">longitude,</if>
<if test="latitude != null">latitude,</if>
<if test="status != null">status,</if>
<if test="healthStatus != null">health_status,</if>
<if test="responsibleDepartment != null">responsible_department,</if>
<if test="responsiblePerson != null">responsible_person,</if>
<if test="contactPhone != null">contact_phone,</if>
<if test="lastMaintenanceDate != null">last_maintenance_date,</if>
<if test="nextMaintenanceDate != null">next_maintenance_date,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="assetCode != null and assetCode != ''">#{assetCode},</if>
<if test="assetName != null and assetName != ''">#{assetName},</if>
<if test="assetType != null and assetType != ''">#{assetType},</if>
<if test="assetCategory != null">#{assetCategory},</if>
<if test="model != null">#{model},</if>
<if test="manufacturer != null">#{manufacturer},</if>
<if test="supplier != null">#{supplier},</if>
<if test="purchaseDate != null">#{purchaseDate},</if>
<if test="purchasePrice != null">#{purchasePrice},</if>
<if test="warrantyStartDate != null">#{warrantyStartDate},</if>
<if test="warrantyEndDate != null">#{warrantyEndDate},</if>
<if test="location != null">#{location},</if>
<if test="longitude != null">#{longitude},</if>
<if test="latitude != null">#{latitude},</if>
<if test="status != null">#{status},</if>
<if test="healthStatus != null">#{healthStatus},</if>
<if test="responsibleDepartment != null">#{responsibleDepartment},</if>
<if test="responsiblePerson != null">#{responsiblePerson},</if>
<if test="contactPhone != null">#{contactPhone},</if>
<if test="lastMaintenanceDate != null">#{lastMaintenanceDate},</if>
<if test="nextMaintenanceDate != null">#{nextMaintenanceDate},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateAssetLifecycleManagement" parameterType="AssetLifecycleManagement">
update asset_lifecycle_management
<trim prefix="SET" suffixOverrides=",">
<if test="assetCode != null and assetCode != ''">asset_code = #{assetCode},</if>
<if test="assetName != null and assetName != ''">asset_name = #{assetName},</if>
<if test="assetType != null and assetType != ''">asset_type = #{assetType},</if>
<if test="assetCategory != null">asset_category = #{assetCategory},</if>
<if test="model != null">model = #{model},</if>
<if test="manufacturer != null">manufacturer = #{manufacturer},</if>
<if test="supplier != null">supplier = #{supplier},</if>
<if test="purchaseDate != null">purchase_date = #{purchaseDate},</if>
<if test="purchasePrice != null">purchase_price = #{purchasePrice},</if>
<if test="warrantyStartDate != null">warranty_start_date = #{warrantyStartDate},</if>
<if test="warrantyEndDate != null">warranty_end_date = #{warrantyEndDate},</if>
<if test="location != null">location = #{location},</if>
<if test="longitude != null">longitude = #{longitude},</if>
<if test="latitude != null">latitude = #{latitude},</if>
<if test="status != null">status = #{status},</if>
<if test="healthStatus != null">health_status = #{healthStatus},</if>
<if test="responsibleDepartment != null">responsible_department = #{responsibleDepartment},</if>
<if test="responsiblePerson != null">responsible_person = #{responsiblePerson},</if>
<if test="contactPhone != null">contact_phone = #{contactPhone},</if>
<if test="lastMaintenanceDate != null">last_maintenance_date = #{lastMaintenanceDate},</if>
<if test="nextMaintenanceDate != null">next_maintenance_date = #{nextMaintenanceDate},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteAssetLifecycleManagementById" parameterType="Long">
delete from asset_lifecycle_management where id = #{id}
</delete>
<delete id="deleteAssetLifecycleManagementByIds" parameterType="String">
delete from asset_lifecycle_management where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

178
chenhai-system/src/main/resources/mapper/system/DeviceRealtimeMonitoringMapper.xml

@ -0,0 +1,178 @@
<?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.chenhai.system.mapper.DeviceRealtimeMonitoringMapper">
<resultMap type="DeviceRealtimeMonitoring" id="DeviceRealtimeMonitoringResult">
<result property="id" column="id" />
<result property="deviceCode" column="device_code" />
<result property="deviceName" column="device_name" />
<result property="deviceType" column="device_type" />
<result property="onlineStatus" column="online_status" />
<result property="lastOnlineTime" column="last_online_time" />
<result property="offlineDuration" column="offline_duration" />
<result property="signalStrength" column="signal_strength" />
<result property="signalLevel" column="signal_level" />
<result property="storageUsed" column="storage_used" />
<result property="storageTotal" column="storage_total" />
<result property="storageUsageRate" column="storage_usage_rate" />
<result property="cpuUsage" column="cpu_usage" />
<result property="memoryUsage" column="memory_usage" />
<result property="diskUsage" column="disk_usage" />
<result property="deviceTemperature" column="device_temperature" />
<result property="lastHeartbeatTime" column="last_heartbeat_time" />
<result property="abnormalStatus" column="abnormal_status" />
<result property="isAlert" column="is_alert" />
<result property="alertMessage" column="alert_message" />
<result property="alertTime" column="alert_time" />
<result property="firmwareVersion" column="firmware_version" />
<result property="ipAddress" column="ip_address" />
<result property="macAddress" column="mac_address" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectDeviceRealtimeMonitoringVo">
select id, device_code, device_name, device_type, online_status, last_online_time, offline_duration, signal_strength, signal_level, storage_used, storage_total, storage_usage_rate, cpu_usage, memory_usage, disk_usage, device_temperature, last_heartbeat_time, abnormal_status, is_alert, alert_message, alert_time, firmware_version, ip_address, mac_address, remark, create_time, update_time from device_realtime_monitoring
</sql>
<select id="selectDeviceRealtimeMonitoringList" parameterType="DeviceRealtimeMonitoring" resultMap="DeviceRealtimeMonitoringResult">
<include refid="selectDeviceRealtimeMonitoringVo"/>
<where>
<if test="deviceCode != null and deviceCode != ''"> and device_code = #{deviceCode}</if>
<if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
<if test="deviceType != null and deviceType != ''"> and device_type = #{deviceType}</if>
<if test="onlineStatus != null "> and online_status = #{onlineStatus}</if>
<if test="lastOnlineTime != null "> and last_online_time = #{lastOnlineTime}</if>
<if test="offlineDuration != null "> and offline_duration = #{offlineDuration}</if>
<if test="signalStrength != null "> and signal_strength = #{signalStrength}</if>
<if test="signalLevel != null and signalLevel != ''"> and signal_level = #{signalLevel}</if>
<if test="storageUsed != null "> and storage_used = #{storageUsed}</if>
<if test="storageTotal != null "> and storage_total = #{storageTotal}</if>
<if test="storageUsageRate != null "> and storage_usage_rate = #{storageUsageRate}</if>
<if test="cpuUsage != null "> and cpu_usage = #{cpuUsage}</if>
<if test="memoryUsage != null "> and memory_usage = #{memoryUsage}</if>
<if test="diskUsage != null "> and disk_usage = #{diskUsage}</if>
<if test="deviceTemperature != null "> and device_temperature = #{deviceTemperature}</if>
<if test="lastHeartbeatTime != null "> and last_heartbeat_time = #{lastHeartbeatTime}</if>
<if test="abnormalStatus != null and abnormalStatus != ''"> and abnormal_status = #{abnormalStatus}</if>
<if test="isAlert != null "> and is_alert = #{isAlert}</if>
<if test="alertMessage != null and alertMessage != ''"> and alert_message = #{alertMessage}</if>
<if test="alertTime != null "> and alert_time = #{alertTime}</if>
<if test="firmwareVersion != null and firmwareVersion != ''"> and firmware_version = #{firmwareVersion}</if>
<if test="ipAddress != null and ipAddress != ''"> and ip_address = #{ipAddress}</if>
<if test="macAddress != null and macAddress != ''"> and mac_address = #{macAddress}</if>
</where>
</select>
<select id="selectDeviceRealtimeMonitoringById" parameterType="Long" resultMap="DeviceRealtimeMonitoringResult">
<include refid="selectDeviceRealtimeMonitoringVo"/>
where id = #{id}
</select>
<insert id="insertDeviceRealtimeMonitoring" parameterType="DeviceRealtimeMonitoring" useGeneratedKeys="true" keyProperty="id">
insert into device_realtime_monitoring
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="deviceCode != null and deviceCode != ''">device_code,</if>
<if test="deviceName != null and deviceName != ''">device_name,</if>
<if test="deviceType != null and deviceType != ''">device_type,</if>
<if test="onlineStatus != null">online_status,</if>
<if test="lastOnlineTime != null">last_online_time,</if>
<if test="offlineDuration != null">offline_duration,</if>
<if test="signalStrength != null">signal_strength,</if>
<if test="signalLevel != null">signal_level,</if>
<if test="storageUsed != null">storage_used,</if>
<if test="storageTotal != null">storage_total,</if>
<if test="storageUsageRate != null">storage_usage_rate,</if>
<if test="cpuUsage != null">cpu_usage,</if>
<if test="memoryUsage != null">memory_usage,</if>
<if test="diskUsage != null">disk_usage,</if>
<if test="deviceTemperature != null">device_temperature,</if>
<if test="lastHeartbeatTime != null">last_heartbeat_time,</if>
<if test="abnormalStatus != null">abnormal_status,</if>
<if test="isAlert != null">is_alert,</if>
<if test="alertMessage != null">alert_message,</if>
<if test="alertTime != null">alert_time,</if>
<if test="firmwareVersion != null">firmware_version,</if>
<if test="ipAddress != null">ip_address,</if>
<if test="macAddress != null">mac_address,</if>
<if test="remark != null">remark,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="deviceCode != null and deviceCode != ''">#{deviceCode},</if>
<if test="deviceName != null and deviceName != ''">#{deviceName},</if>
<if test="deviceType != null and deviceType != ''">#{deviceType},</if>
<if test="onlineStatus != null">#{onlineStatus},</if>
<if test="lastOnlineTime != null">#{lastOnlineTime},</if>
<if test="offlineDuration != null">#{offlineDuration},</if>
<if test="signalStrength != null">#{signalStrength},</if>
<if test="signalLevel != null">#{signalLevel},</if>
<if test="storageUsed != null">#{storageUsed},</if>
<if test="storageTotal != null">#{storageTotal},</if>
<if test="storageUsageRate != null">#{storageUsageRate},</if>
<if test="cpuUsage != null">#{cpuUsage},</if>
<if test="memoryUsage != null">#{memoryUsage},</if>
<if test="diskUsage != null">#{diskUsage},</if>
<if test="deviceTemperature != null">#{deviceTemperature},</if>
<if test="lastHeartbeatTime != null">#{lastHeartbeatTime},</if>
<if test="abnormalStatus != null">#{abnormalStatus},</if>
<if test="isAlert != null">#{isAlert},</if>
<if test="alertMessage != null">#{alertMessage},</if>
<if test="alertTime != null">#{alertTime},</if>
<if test="firmwareVersion != null">#{firmwareVersion},</if>
<if test="ipAddress != null">#{ipAddress},</if>
<if test="macAddress != null">#{macAddress},</if>
<if test="remark != null">#{remark},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateDeviceRealtimeMonitoring" parameterType="DeviceRealtimeMonitoring">
update device_realtime_monitoring
<trim prefix="SET" suffixOverrides=",">
<if test="deviceCode != null and deviceCode != ''">device_code = #{deviceCode},</if>
<if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if>
<if test="deviceType != null and deviceType != ''">device_type = #{deviceType},</if>
<if test="onlineStatus != null">online_status = #{onlineStatus},</if>
<if test="lastOnlineTime != null">last_online_time = #{lastOnlineTime},</if>
<if test="offlineDuration != null">offline_duration = #{offlineDuration},</if>
<if test="signalStrength != null">signal_strength = #{signalStrength},</if>
<if test="signalLevel != null">signal_level = #{signalLevel},</if>
<if test="storageUsed != null">storage_used = #{storageUsed},</if>
<if test="storageTotal != null">storage_total = #{storageTotal},</if>
<if test="storageUsageRate != null">storage_usage_rate = #{storageUsageRate},</if>
<if test="cpuUsage != null">cpu_usage = #{cpuUsage},</if>
<if test="memoryUsage != null">memory_usage = #{memoryUsage},</if>
<if test="diskUsage != null">disk_usage = #{diskUsage},</if>
<if test="deviceTemperature != null">device_temperature = #{deviceTemperature},</if>
<if test="lastHeartbeatTime != null">last_heartbeat_time = #{lastHeartbeatTime},</if>
<if test="abnormalStatus != null">abnormal_status = #{abnormalStatus},</if>
<if test="isAlert != null">is_alert = #{isAlert},</if>
<if test="alertMessage != null">alert_message = #{alertMessage},</if>
<if test="alertTime != null">alert_time = #{alertTime},</if>
<if test="firmwareVersion != null">firmware_version = #{firmwareVersion},</if>
<if test="ipAddress != null">ip_address = #{ipAddress},</if>
<if test="macAddress != null">mac_address = #{macAddress},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteDeviceRealtimeMonitoringById" parameterType="Long">
delete from device_realtime_monitoring where id = #{id}
</delete>
<delete id="deleteDeviceRealtimeMonitoringByIds" parameterType="String">
delete from device_realtime_monitoring where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

76
chenhai-system/src/main/resources/mapper/system/MapFeaturesMapper.xml

@ -0,0 +1,76 @@
<?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.chenhai.system.mapper.MapFeaturesMapper">
<resultMap type="MapFeatures" id="MapFeaturesResult">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="type" column="type" />
<result property="longitude" column="longitude" />
<result property="latitude" column="latitude" />
<result property="createdAt" column="created_at" />
</resultMap>
<sql id="selectMapFeaturesVo">
select id, name, type, longitude, latitude, created_at from map_features
</sql>
<select id="selectMapFeaturesList" parameterType="MapFeatures" resultMap="MapFeaturesResult">
<include refid="selectMapFeaturesVo"/>
<where>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="type != null and type != ''"> and type = #{type}</if>
<if test="longitude != null "> and longitude = #{longitude}</if>
<if test="latitude != null "> and latitude = #{latitude}</if>
<if test="createdAt != null "> and created_at = #{createdAt}</if>
</where>
</select>
<select id="selectMapFeaturesById" parameterType="Long" resultMap="MapFeaturesResult">
<include refid="selectMapFeaturesVo"/>
where id = #{id}
</select>
<insert id="insertMapFeatures" parameterType="MapFeatures" useGeneratedKeys="true" keyProperty="id">
insert into map_features
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">name,</if>
<if test="type != null and type != ''">type,</if>
<if test="longitude != null">longitude,</if>
<if test="latitude != null">latitude,</if>
<if test="createdAt != null">created_at,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">#{name},</if>
<if test="type != null and type != ''">#{type},</if>
<if test="longitude != null">#{longitude},</if>
<if test="latitude != null">#{latitude},</if>
<if test="createdAt != null">#{createdAt},</if>
</trim>
</insert>
<update id="updateMapFeatures" parameterType="MapFeatures">
update map_features
<trim prefix="SET" suffixOverrides=",">
<if test="name != null and name != ''">name = #{name},</if>
<if test="type != null and type != ''">type = #{type},</if>
<if test="longitude != null">longitude = #{longitude},</if>
<if test="latitude != null">latitude = #{latitude},</if>
<if test="createdAt != null">created_at = #{createdAt},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMapFeaturesById" parameterType="Long">
delete from map_features where id = #{id}
</delete>
<delete id="deleteMapFeaturesByIds" parameterType="String">
delete from map_features where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

195
chenhai-system/src/main/resources/mapper/system/SpaceResourceManagementMapper.xml

@ -0,0 +1,195 @@
<?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.chenhai.system.mapper.SpaceResourceManagementMapper">
<resultMap type="SpaceResourceManagement" id="SpaceResourceManagementResult">
<result property="id" column="id" />
<result property="resourceCode" column="resource_code" />
<result property="resourceName" column="resource_name" />
<result property="resourceType" column="resource_type" />
<result property="resourceSubtype" column="resource_subtype" />
<result property="scientificName" column="scientific_name" />
<result property="familyGenus" column="family_genus" />
<result property="age" column="age" />
<result property="protectionLevel" column="protection_level" />
<result property="locationDetail" column="location_detail" />
<result property="longitude" column="longitude" />
<result property="latitude" column="latitude" />
<result property="areaSize" column="area_size" />
<result property="height" column="height" />
<result property="material" column="material" />
<result property="manufacturer" column="manufacturer" />
<result property="installationDate" column="installation_date" />
<result property="status" column="status" />
<result property="responsibleDepartment" column="responsible_department" />
<result property="responsiblePerson" column="responsible_person" />
<result property="contactPhone" column="contact_phone" />
<result property="lastInspectionDate" column="last_inspection_date" />
<result property="nextInspectionDate" column="next_inspection_date" />
<result property="inspectionCycle" column="inspection_cycle" />
<result property="imageUrl" column="image_url" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSpaceResourceManagementVo">
select id, resource_code, resource_name, resource_type, resource_subtype, scientific_name, family_genus, age, protection_level, location_detail, longitude, latitude, area_size, height, material, manufacturer, installation_date, status, responsible_department, responsible_person, contact_phone, last_inspection_date, next_inspection_date, inspection_cycle, image_url, remark, create_by, create_time, update_by, update_time, del_flag from space_resource_management
</sql>
<select id="selectSpaceResourceManagementList" parameterType="SpaceResourceManagement" resultMap="SpaceResourceManagementResult">
<include refid="selectSpaceResourceManagementVo"/>
<where>
<if test="resourceCode != null and resourceCode != ''"> and resource_code = #{resourceCode}</if>
<if test="resourceName != null and resourceName != ''"> and resource_name like concat('%', #{resourceName}, '%')</if>
<if test="resourceType != null and resourceType != ''"> and resource_type = #{resourceType}</if>
<if test="resourceSubtype != null and resourceSubtype != ''"> and resource_subtype = #{resourceSubtype}</if>
<if test="scientificName != null and scientificName != ''"> and scientific_name like concat('%', #{scientificName}, '%')</if>
<if test="familyGenus != null and familyGenus != ''"> and family_genus = #{familyGenus}</if>
<if test="age != null "> and age = #{age}</if>
<if test="protectionLevel != null and protectionLevel != ''"> and protection_level = #{protectionLevel}</if>
<if test="locationDetail != null and locationDetail != ''"> and location_detail = #{locationDetail}</if>
<if test="longitude != null "> and longitude = #{longitude}</if>
<if test="latitude != null "> and latitude = #{latitude}</if>
<if test="areaSize != null "> and area_size = #{areaSize}</if>
<if test="height != null "> and height = #{height}</if>
<if test="material != null and material != ''"> and material = #{material}</if>
<if test="manufacturer != null and manufacturer != ''"> and manufacturer = #{manufacturer}</if>
<if test="installationDate != null "> and installation_date = #{installationDate}</if>
<if test="status != null "> and status = #{status}</if>
<if test="responsibleDepartment != null and responsibleDepartment != ''"> and responsible_department = #{responsibleDepartment}</if>
<if test="responsiblePerson != null and responsiblePerson != ''"> and responsible_person = #{responsiblePerson}</if>
<if test="contactPhone != null and contactPhone != ''"> and contact_phone = #{contactPhone}</if>
<if test="lastInspectionDate != null "> and last_inspection_date = #{lastInspectionDate}</if>
<if test="nextInspectionDate != null "> and next_inspection_date = #{nextInspectionDate}</if>
<if test="inspectionCycle != null "> and inspection_cycle = #{inspectionCycle}</if>
<if test="imageUrl != null and imageUrl != ''"> and image_url = #{imageUrl}</if>
</where>
</select>
<select id="selectSpaceResourceManagementById" parameterType="Long" resultMap="SpaceResourceManagementResult">
<include refid="selectSpaceResourceManagementVo"/>
where id = #{id}
</select>
<insert id="insertSpaceResourceManagement" parameterType="SpaceResourceManagement" useGeneratedKeys="true" keyProperty="id">
insert into space_resource_management
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="resourceCode != null and resourceCode != ''">resource_code,</if>
<if test="resourceName != null and resourceName != ''">resource_name,</if>
<if test="resourceType != null and resourceType != ''">resource_type,</if>
<if test="resourceSubtype != null">resource_subtype,</if>
<if test="scientificName != null">scientific_name,</if>
<if test="familyGenus != null">family_genus,</if>
<if test="age != null">age,</if>
<if test="protectionLevel != null">protection_level,</if>
<if test="locationDetail != null and locationDetail != ''">location_detail,</if>
<if test="longitude != null">longitude,</if>
<if test="latitude != null">latitude,</if>
<if test="areaSize != null">area_size,</if>
<if test="height != null">height,</if>
<if test="material != null">material,</if>
<if test="manufacturer != null">manufacturer,</if>
<if test="installationDate != null">installation_date,</if>
<if test="status != null">status,</if>
<if test="responsibleDepartment != null">responsible_department,</if>
<if test="responsiblePerson != null">responsible_person,</if>
<if test="contactPhone != null">contact_phone,</if>
<if test="lastInspectionDate != null">last_inspection_date,</if>
<if test="nextInspectionDate != null">next_inspection_date,</if>
<if test="inspectionCycle != null">inspection_cycle,</if>
<if test="imageUrl != null">image_url,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="resourceCode != null and resourceCode != ''">#{resourceCode},</if>
<if test="resourceName != null and resourceName != ''">#{resourceName},</if>
<if test="resourceType != null and resourceType != ''">#{resourceType},</if>
<if test="resourceSubtype != null">#{resourceSubtype},</if>
<if test="scientificName != null">#{scientificName},</if>
<if test="familyGenus != null">#{familyGenus},</if>
<if test="age != null">#{age},</if>
<if test="protectionLevel != null">#{protectionLevel},</if>
<if test="locationDetail != null and locationDetail != ''">#{locationDetail},</if>
<if test="longitude != null">#{longitude},</if>
<if test="latitude != null">#{latitude},</if>
<if test="areaSize != null">#{areaSize},</if>
<if test="height != null">#{height},</if>
<if test="material != null">#{material},</if>
<if test="manufacturer != null">#{manufacturer},</if>
<if test="installationDate != null">#{installationDate},</if>
<if test="status != null">#{status},</if>
<if test="responsibleDepartment != null">#{responsibleDepartment},</if>
<if test="responsiblePerson != null">#{responsiblePerson},</if>
<if test="contactPhone != null">#{contactPhone},</if>
<if test="lastInspectionDate != null">#{lastInspectionDate},</if>
<if test="nextInspectionDate != null">#{nextInspectionDate},</if>
<if test="inspectionCycle != null">#{inspectionCycle},</if>
<if test="imageUrl != null">#{imageUrl},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateSpaceResourceManagement" parameterType="SpaceResourceManagement">
update space_resource_management
<trim prefix="SET" suffixOverrides=",">
<if test="resourceCode != null and resourceCode != ''">resource_code = #{resourceCode},</if>
<if test="resourceName != null and resourceName != ''">resource_name = #{resourceName},</if>
<if test="resourceType != null and resourceType != ''">resource_type = #{resourceType},</if>
<if test="resourceSubtype != null">resource_subtype = #{resourceSubtype},</if>
<if test="scientificName != null">scientific_name = #{scientificName},</if>
<if test="familyGenus != null">family_genus = #{familyGenus},</if>
<if test="age != null">age = #{age},</if>
<if test="protectionLevel != null">protection_level = #{protectionLevel},</if>
<if test="locationDetail != null and locationDetail != ''">location_detail = #{locationDetail},</if>
<if test="longitude != null">longitude = #{longitude},</if>
<if test="latitude != null">latitude = #{latitude},</if>
<if test="areaSize != null">area_size = #{areaSize},</if>
<if test="height != null">height = #{height},</if>
<if test="material != null">material = #{material},</if>
<if test="manufacturer != null">manufacturer = #{manufacturer},</if>
<if test="installationDate != null">installation_date = #{installationDate},</if>
<if test="status != null">status = #{status},</if>
<if test="responsibleDepartment != null">responsible_department = #{responsibleDepartment},</if>
<if test="responsiblePerson != null">responsible_person = #{responsiblePerson},</if>
<if test="contactPhone != null">contact_phone = #{contactPhone},</if>
<if test="lastInspectionDate != null">last_inspection_date = #{lastInspectionDate},</if>
<if test="nextInspectionDate != null">next_inspection_date = #{nextInspectionDate},</if>
<if test="inspectionCycle != null">inspection_cycle = #{inspectionCycle},</if>
<if test="imageUrl != null">image_url = #{imageUrl},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSpaceResourceManagementById" parameterType="Long">
delete from space_resource_management where id = #{id}
</delete>
<delete id="deleteSpaceResourceManagementByIds" parameterType="String">
delete from space_resource_management where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

44
chenhai-ui/src/api/system/features.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询地图配套标注管理列表
export function listFeatures(query) {
return request({
url: '/system/features/list',
method: 'get',
params: query
})
}
// 查询地图配套标注管理详细
export function getFeatures(id) {
return request({
url: '/system/features/' + id,
method: 'get'
})
}
// 新增地图配套标注管理
export function addFeatures(data) {
return request({
url: '/system/features',
method: 'post',
data: data
})
}
// 修改地图配套标注管理
export function updateFeatures(data) {
return request({
url: '/system/features',
method: 'put',
data: data
})
}
// 删除地图配套标注管理
export function delFeatures(id) {
return request({
url: '/system/features/' + id,
method: 'delete'
})
}

44
chenhai-ui/src/api/system/management.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询资产全生命周期管理列表
export function listManagement(query) {
return request({
url: '/system/management/list',
method: 'get',
params: query
})
}
// 查询资产全生命周期管理详细
export function getManagement(id) {
return request({
url: '/system/management/' + id,
method: 'get'
})
}
// 新增资产全生命周期管理
export function addManagement(data) {
return request({
url: '/system/management',
method: 'post',
data: data
})
}
// 修改资产全生命周期管理
export function updateManagement(data) {
return request({
url: '/system/management',
method: 'put',
data: data
})
}
// 删除资产全生命周期管理
export function delManagement(id) {
return request({
url: '/system/management/' + id,
method: 'delete'
})
}

44
chenhai-ui/src/api/system/monitoring.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询设备实时状态监控列表
export function listMonitoring(query) {
return request({
url: '/system/monitoring/list',
method: 'get',
params: query
})
}
// 查询设备实时状态监控详细
export function getMonitoring(id) {
return request({
url: '/system/monitoring/' + id,
method: 'get'
})
}
// 新增设备实时状态监控
export function addMonitoring(data) {
return request({
url: '/system/monitoring',
method: 'post',
data: data
})
}
// 修改设备实时状态监控
export function updateMonitoring(data) {
return request({
url: '/system/monitoring',
method: 'put',
data: data
})
}
// 删除设备实时状态监控
export function delMonitoring(id) {
return request({
url: '/system/monitoring/' + id,
method: 'delete'
})
}

44
chenhai-ui/src/api/system/resource.js

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询空间资源管理列表
export function listResource(query) {
return request({
url: '/system/resource/list',
method: 'get',
params: query
})
}
// 查询空间资源管理详细
export function getResource(id) {
return request({
url: '/system/resource/' + id,
method: 'get'
})
}
// 新增空间资源管理
export function addResource(data) {
return request({
url: '/system/resource',
method: 'post',
data: data
})
}
// 修改空间资源管理
export function updateResource(data) {
return request({
url: '/system/resource',
method: 'put',
data: data
})
}
// 删除空间资源管理
export function delResource(id) {
return request({
url: '/system/resource/' + id,
method: 'delete'
})
}

314
chenhai-ui/src/views/system/features/index.vue

@ -0,0 +1,314 @@
<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="longitude">
<el-input
v-model="queryParams.longitude"
placeholder="请输入经度"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="纬度" prop="latitude">
<el-input
v-model="queryParams.latitude"
placeholder="请输入纬度"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createdAt">
<el-date-picker clearable
v-model="queryParams.createdAt"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建时间">
</el-date-picker>
</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:features: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:features: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:features: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:features:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="featuresList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="设施名称" align="center" prop="name" />
<el-table-column label="设施类型" align="center" prop="type" />
<el-table-column label="经度" align="center" prop="longitude" />
<el-table-column label="纬度" align="center" prop="latitude" />
<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:features:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:features: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="100px">
<el-row>
<el-col :span="24">
<el-form-item label="设施名称" prop="name">
<el-input v-model="form.name" placeholder="请输入设施名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="设施类型" prop="type">
<el-select v-model="form.type" placeholder="请选择设施类型" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.name_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="经度" prop="longitude">
<el-input v-model="form.longitude" placeholder="请输入经度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="纬度" prop="latitude">
<el-input v-model="form.latitude" placeholder="请输入纬度" />
</el-form-item>
</el-col>
</el-row>
</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 { listFeatures, getFeatures, delFeatures, addFeatures, updateFeatures } from "@/api/system/features"
export default {
name: "Features",
dicts: ['name_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
featuresList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: null,
type: null,
longitude: null,
latitude: null,
createdAt: null
},
//
form: {},
//
rules: {
name: [
{ required: true, message: "设施名称不能为空", trigger: "blur" }
],
type: [
{ required: true, message: "设施类型不能为空", trigger: "change" }
],
longitude: [
{ required: true, message: "经度不能为空", trigger: "blur" }
],
latitude: [
{ required: true, message: "纬度不能为空", trigger: "blur" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询地图配套标注管理列表 */
getList() {
this.loading = true
listFeatures(this.queryParams).then(response => {
this.featuresList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
id: null,
name: null,
type: null,
longitude: null,
latitude: null,
createdAt: 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
getFeatures(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) {
updateFeatures(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addFeatures(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 delFeatures(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('system/features/export', {
...this.queryParams
}, `features_${new Date().getTime()}.xlsx`)
}
}
}
</script>

483
chenhai-ui/src/views/system/management/index.vue

@ -0,0 +1,483 @@
<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="assetCode">
<el-input
v-model="queryParams.assetCode"
placeholder="请输入资产编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资产名称" prop="assetName">
<el-input
v-model="queryParams.assetName"
placeholder="请输入资产名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="责任人" prop="responsiblePerson">
<el-input
v-model="queryParams.responsiblePerson"
placeholder="请输入责任人"
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:management: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:management: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:management: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:management:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="managementList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="资产编号" align="center" prop="assetCode" />
<el-table-column label="资产名称" align="center" prop="assetName" />
<el-table-column label="资产类型" align="center" prop="assetType" />
<el-table-column label="资产分类" align="center" prop="assetCategory" />
<el-table-column label="品牌型号" align="center" prop="model" />
<el-table-column label="生产厂家" align="center" prop="manufacturer" />
<el-table-column label="供应商" align="center" prop="supplier" />
<el-table-column label="采购日期" align="center" prop="purchaseDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.purchaseDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="采购价格" align="center" prop="purchasePrice" />
<el-table-column label="保修开始日期" align="center" prop="warrantyStartDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.warrantyStartDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="保修结束日期" align="center" prop="warrantyEndDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.warrantyEndDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="安装位置" align="center" prop="location" />
<el-table-column label="经度" align="center" prop="longitude" />
<el-table-column label="纬度" align="center" prop="latitude" />
<el-table-column label="资产状态" align="center" prop="status" />
<el-table-column label="健康状态" align="center" prop="healthStatus" />
<el-table-column label="责任部门" align="center" prop="responsibleDepartment" />
<el-table-column label="责任人" align="center" prop="responsiblePerson" />
<el-table-column label="联系电话" align="center" prop="contactPhone" />
<el-table-column label="最近维护日期" align="center" prop="lastMaintenanceDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastMaintenanceDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="下次维护日期" align="center" prop="nextMaintenanceDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.nextMaintenanceDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<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:management:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:management: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="100px">
<el-row>
<el-col :span="24">
<el-form-item label="资产编号" prop="assetCode">
<el-input v-model="form.assetCode" placeholder="请输入资产编号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="资产名称" prop="assetName">
<el-input v-model="form.assetName" placeholder="请输入资产名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="资产分类" prop="assetCategory">
<el-input v-model="form.assetCategory" placeholder="请输入资产分类" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="品牌型号" prop="model">
<el-input v-model="form.model" placeholder="请输入品牌型号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="生产厂家" prop="manufacturer">
<el-input v-model="form.manufacturer" placeholder="请输入生产厂家" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="供应商" prop="supplier">
<el-input v-model="form.supplier" placeholder="请输入供应商" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="采购日期" prop="purchaseDate">
<el-date-picker clearable
v-model="form.purchaseDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择采购日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="采购价格" prop="purchasePrice">
<el-input v-model="form.purchasePrice" placeholder="请输入采购价格" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="保修开始日期" prop="warrantyStartDate">
<el-date-picker clearable
v-model="form.warrantyStartDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择保修开始日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="保修结束日期" prop="warrantyEndDate">
<el-date-picker clearable
v-model="form.warrantyEndDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择保修结束日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="安装位置/存放位置" prop="location">
<el-input v-model="form.location" placeholder="请输入安装位置/存放位置" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="经度" prop="longitude">
<el-input v-model="form.longitude" placeholder="请输入经度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="纬度" prop="latitude">
<el-input v-model="form.latitude" placeholder="请输入纬度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="责任部门" prop="responsibleDepartment">
<el-input v-model="form.responsibleDepartment" placeholder="请输入责任部门" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="责任人" prop="responsiblePerson">
<el-input v-model="form.responsiblePerson" placeholder="请输入责任人" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="联系电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="最近维护日期" prop="lastMaintenanceDate">
<el-date-picker clearable
v-model="form.lastMaintenanceDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最近维护日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="下次维护日期" prop="nextMaintenanceDate">
<el-date-picker clearable
v-model="form.nextMaintenanceDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择下次维护日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
</el-col>
</el-row>
</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 { listManagement, getManagement, delManagement, addManagement, updateManagement } from "@/api/system/management"
export default {
name: "Management",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
managementList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
assetCode: null,
assetName: null,
assetType: null,
assetCategory: null,
model: null,
manufacturer: null,
supplier: null,
purchaseDate: null,
purchasePrice: null,
warrantyStartDate: null,
warrantyEndDate: null,
location: null,
longitude: null,
latitude: null,
status: null,
healthStatus: null,
responsibleDepartment: null,
responsiblePerson: null,
contactPhone: null,
lastMaintenanceDate: null,
nextMaintenanceDate: null,
},
//
form: {},
//
rules: {
assetCode: [
{ required: true, message: "资产编号不能为空", trigger: "blur" }
],
assetName: [
{ required: true, message: "资产名称不能为空", trigger: "blur" }
],
assetType: [
{ required: true, message: "资产类型不能为空", trigger: "change" }
],
status: [
{ required: true, message: "资产状态不能为空", trigger: "change" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询资产全生命周期管理列表 */
getList() {
this.loading = true
listManagement(this.queryParams).then(response => {
this.managementList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
id: null,
assetCode: null,
assetName: null,
assetType: null,
assetCategory: null,
model: null,
manufacturer: null,
supplier: null,
purchaseDate: null,
purchasePrice: null,
warrantyStartDate: null,
warrantyEndDate: null,
location: null,
longitude: null,
latitude: null,
status: null,
healthStatus: null,
responsibleDepartment: null,
responsiblePerson: null,
contactPhone: null,
lastMaintenanceDate: null,
nextMaintenanceDate: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: 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
getManagement(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) {
updateManagement(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addManagement(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 delManagement(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('system/management/export', {
...this.queryParams
}, `management_${new Date().getTime()}.xlsx`)
}
}
}
</script>

465
chenhai-ui/src/views/system/monitoring/index.vue

@ -0,0 +1,465 @@
<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="deviceCode">
<el-input
v-model="queryParams.deviceCode"
placeholder="请输入设备编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入设备名称"
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:monitoring: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:monitoring: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:monitoring: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:monitoring:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="monitoringList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="设备编号" align="center" prop="deviceCode" />
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="设备类型" align="center" prop="deviceType" />
<el-table-column label="在线状态" align="center" prop="onlineStatus" />
<el-table-column label="最后在线时间" align="center" prop="lastOnlineTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastOnlineTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="离线时长" align="center" prop="offlineDuration" />
<el-table-column label="信号强度" align="center" prop="signalStrength" />
<el-table-column label="信号等级" align="center" prop="signalLevel" />
<el-table-column label="已用存储空间" align="center" prop="storageUsed" />
<el-table-column label="总存储空间" align="center" prop="storageTotal" />
<el-table-column label="存储使用率" align="center" prop="storageUsageRate" />
<el-table-column label="CPU使用率" align="center" prop="cpuUsage" />
<el-table-column label="内存使用率" align="center" prop="memoryUsage" />
<el-table-column label="磁盘使用率" align="center" prop="diskUsage" />
<el-table-column label="设备温度" align="center" prop="deviceTemperature" />
<el-table-column label="最后心跳时间" align="center" prop="lastHeartbeatTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastHeartbeatTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="异常状态" align="center" prop="abnormalStatus" />
<el-table-column label="是否告警" align="center" prop="isAlert" />
<el-table-column label="告警信息" align="center" prop="alertMessage" />
<el-table-column label="告警时间" align="center" prop="alertTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.alertTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="固件版本" align="center" prop="firmwareVersion" />
<el-table-column label="IP地址" align="center" prop="ipAddress" />
<el-table-column label="MAC地址" align="center" prop="macAddress" />
<el-table-column label="备注" align="center" prop="remark" />
<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:monitoring:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:monitoring: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="100px">
<el-row>
<el-col :span="24">
<el-form-item label="设备编号" prop="deviceCode">
<el-input v-model="form.deviceCode" placeholder="请输入设备编号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="form.deviceName" placeholder="请输入设备名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="最后在线时间" prop="lastOnlineTime">
<el-date-picker clearable
v-model="form.lastOnlineTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最后在线时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="离线时长" prop="offlineDuration">
<el-input v-model="form.offlineDuration" placeholder="请输入离线时长" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="信号强度" prop="signalStrength">
<el-input v-model="form.signalStrength" placeholder="请输入信号强度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="信号等级" prop="signalLevel">
<el-input v-model="form.signalLevel" placeholder="请输入信号等级" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="已用存储空间" prop="storageUsed">
<el-input v-model="form.storageUsed" placeholder="请输入已用存储空间" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="总存储空间" prop="storageTotal">
<el-input v-model="form.storageTotal" placeholder="请输入总存储空间" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="存储使用率" prop="storageUsageRate">
<el-input v-model="form.storageUsageRate" placeholder="请输入存储使用率" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="CPU使用率" prop="cpuUsage">
<el-input v-model="form.cpuUsage" placeholder="请输入CPU使用率" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内存使用率" prop="memoryUsage">
<el-input v-model="form.memoryUsage" placeholder="请输入内存使用率" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="磁盘使用率" prop="diskUsage">
<el-input v-model="form.diskUsage" placeholder="请输入磁盘使用率" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="设备温度" prop="deviceTemperature">
<el-input v-model="form.deviceTemperature" placeholder="请输入设备温度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="最后心跳时间" prop="lastHeartbeatTime">
<el-date-picker clearable
v-model="form.lastHeartbeatTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最后心跳时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否告警" prop="isAlert">
<el-input v-model="form.isAlert" placeholder="请输入是否告警" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="告警信息" prop="alertMessage">
<el-input v-model="form.alertMessage" placeholder="请输入告警信息" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="告警时间" prop="alertTime">
<el-date-picker clearable
v-model="form.alertTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择告警时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="固件版本" prop="firmwareVersion">
<el-input v-model="form.firmwareVersion" placeholder="请输入固件版本" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="IP地址" prop="ipAddress">
<el-input v-model="form.ipAddress" placeholder="请输入IP地址" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="MAC地址" prop="macAddress">
<el-input v-model="form.macAddress" placeholder="请输入MAC地址" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</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 { listMonitoring, getMonitoring, delMonitoring, addMonitoring, updateMonitoring } from "@/api/system/monitoring"
export default {
name: "Monitoring",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
monitoringList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
deviceCode: null,
deviceName: null,
deviceType: null,
onlineStatus: null,
lastOnlineTime: null,
offlineDuration: null,
signalStrength: null,
signalLevel: null,
storageUsed: null,
storageTotal: null,
storageUsageRate: null,
cpuUsage: null,
memoryUsage: null,
diskUsage: null,
deviceTemperature: null,
lastHeartbeatTime: null,
abnormalStatus: null,
isAlert: null,
alertMessage: null,
alertTime: null,
firmwareVersion: null,
ipAddress: null,
macAddress: null,
},
//
form: {},
//
rules: {
deviceCode: [
{ required: true, message: "设备编号不能为空", trigger: "blur" }
],
deviceName: [
{ required: true, message: "设备名称不能为空", trigger: "blur" }
],
deviceType: [
{ required: true, message: "设备类型不能为空", trigger: "change" }
],
onlineStatus: [
{ required: true, message: "在线状态不能为空", trigger: "change" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询设备实时状态监控列表 */
getList() {
this.loading = true
listMonitoring(this.queryParams).then(response => {
this.monitoringList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
id: null,
deviceCode: null,
deviceName: null,
deviceType: null,
onlineStatus: null,
lastOnlineTime: null,
offlineDuration: null,
signalStrength: null,
signalLevel: null,
storageUsed: null,
storageTotal: null,
storageUsageRate: null,
cpuUsage: null,
memoryUsage: null,
diskUsage: null,
deviceTemperature: null,
lastHeartbeatTime: null,
abnormalStatus: null,
isAlert: null,
alertMessage: null,
alertTime: null,
firmwareVersion: null,
ipAddress: null,
macAddress: null,
remark: null,
createTime: null,
updateTime: 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
getMonitoring(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) {
updateMonitoring(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addMonitoring(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 delMonitoring(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('system/monitoring/export', {
...this.queryParams
}, `monitoring_${new Date().getTime()}.xlsx`)
}
}
}
</script>

522
chenhai-ui/src/views/system/resource/index.vue

@ -0,0 +1,522 @@
<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="resourceCode">
<el-input
v-model="queryParams.resourceCode"
placeholder="请输入资源编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资源名称" prop="resourceName">
<el-input
v-model="queryParams.resourceName"
placeholder="请输入资源名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="植物学名" prop="scientificName">
<el-input
v-model="queryParams.scientificName"
placeholder="请输入植物学名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="科属" prop="familyGenus">
<el-input
v-model="queryParams.familyGenus"
placeholder="请输入科属"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="树龄" prop="age">
<el-input
v-model="queryParams.age"
placeholder="请输入树龄"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="保护级别" prop="protectionLevel">
<el-input
v-model="queryParams.protectionLevel"
placeholder="请输入保护级别"
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:resource: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:resource: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:resource: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:resource:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="resourceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="资源编号" align="center" prop="resourceCode" />
<el-table-column label="资源名称" align="center" prop="resourceName" />
<el-table-column label="资源类型" align="center" prop="resourceType" />
<el-table-column label="资源子类型" align="center" prop="resourceSubtype" />
<el-table-column label="植物学名" align="center" prop="scientificName" />
<el-table-column label="科属" align="center" prop="familyGenus" />
<el-table-column label="树龄" align="center" prop="age" />
<el-table-column label="保护级别" align="center" prop="protectionLevel" />
<el-table-column label="详细位置" align="center" prop="locationDetail" />
<el-table-column label="经度" align="center" prop="longitude" />
<el-table-column label="纬度" align="center" prop="latitude" />
<el-table-column label="占地面积" align="center" prop="areaSize" />
<el-table-column label="高度" align="center" prop="height" />
<el-table-column label="材质" align="center" prop="material" />
<el-table-column label="生产厂家" align="center" prop="manufacturer" />
<el-table-column label="安装/种植日期" align="center" prop="installationDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.installationDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="责任部门" align="center" prop="responsibleDepartment" />
<el-table-column label="责任人" align="center" prop="responsiblePerson" />
<el-table-column label="联系电话" align="center" prop="contactPhone" />
<el-table-column label="最近巡检日期" align="center" prop="lastInspectionDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastInspectionDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="下次巡检日期" align="center" prop="nextInspectionDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.nextInspectionDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="巡检周期" align="center" prop="inspectionCycle" />
<el-table-column label="图片URL" align="center" prop="imageUrl" />
<el-table-column label="备注" align="center" prop="remark" />
<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:resource:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:resource: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="100px">
<el-row>
<el-col :span="24">
<el-form-item label="资源编号" prop="resourceCode">
<el-input v-model="form.resourceCode" placeholder="请输入资源编号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="资源名称" prop="resourceName">
<el-input v-model="form.resourceName" placeholder="请输入资源名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="植物学名" prop="scientificName">
<el-input v-model="form.scientificName" placeholder="请输入植物学名" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="科属" prop="familyGenus">
<el-input v-model="form.familyGenus" placeholder="请输入科属" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="树龄" prop="age">
<el-input v-model="form.age" placeholder="请输入树龄" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="保护级别" prop="protectionLevel">
<el-input v-model="form.protectionLevel" placeholder="请输入保护级别" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="详细位置" prop="locationDetail">
<el-input v-model="form.locationDetail" placeholder="请输入详细位置" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="经度" prop="longitude">
<el-input v-model="form.longitude" placeholder="请输入经度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="纬度" prop="latitude">
<el-input v-model="form.latitude" placeholder="请输入纬度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="占地面积" prop="areaSize">
<el-input v-model="form.areaSize" placeholder="请输入占地面积" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="高度" prop="height">
<el-input v-model="form.height" placeholder="请输入高度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="材质" prop="material">
<el-input v-model="form.material" placeholder="请输入材质" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="生产厂家" prop="manufacturer">
<el-input v-model="form.manufacturer" placeholder="请输入生产厂家" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="安装/种植日期" prop="installationDate">
<el-date-picker clearable
v-model="form.installationDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择安装/种植日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="责任部门" prop="responsibleDepartment">
<el-input v-model="form.responsibleDepartment" placeholder="请输入责任部门" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="责任人" prop="responsiblePerson">
<el-input v-model="form.responsiblePerson" placeholder="请输入责任人" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="联系电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="最近巡检日期" prop="lastInspectionDate">
<el-date-picker clearable
v-model="form.lastInspectionDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择最近巡检日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="下次巡检日期" prop="nextInspectionDate">
<el-date-picker clearable
v-model="form.nextInspectionDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择下次巡检日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="巡检周期" prop="inspectionCycle">
<el-input v-model="form.inspectionCycle" placeholder="请输入巡检周期" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="图片URL" prop="imageUrl">
<el-input v-model="form.imageUrl" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="删除标志" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志" />
</el-form-item>
</el-col>
</el-row>
</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 { listResource, getResource, delResource, addResource, updateResource } from "@/api/system/resource"
export default {
name: "Resource",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
resourceList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
resourceCode: null,
resourceName: null,
resourceType: null,
resourceSubtype: null,
scientificName: null,
familyGenus: null,
age: null,
protectionLevel: null,
locationDetail: null,
longitude: null,
latitude: null,
areaSize: null,
height: null,
material: null,
manufacturer: null,
installationDate: null,
status: null,
responsibleDepartment: null,
responsiblePerson: null,
contactPhone: null,
lastInspectionDate: null,
nextInspectionDate: null,
inspectionCycle: null,
imageUrl: null,
},
//
form: {},
//
rules: {
resourceCode: [
{ required: true, message: "资源编号不能为空", trigger: "blur" }
],
resourceName: [
{ required: true, message: "资源名称不能为空", trigger: "blur" }
],
resourceType: [
{ required: true, message: "资源类型不能为空", trigger: "change" }
],
locationDetail: [
{ required: true, message: "详细位置不能为空", trigger: "blur" }
],
longitude: [
{ required: true, message: "经度不能为空", trigger: "blur" }
],
latitude: [
{ required: true, message: "纬度不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态不能为空", trigger: "change" }
],
}
}
},
created() {
this.getList()
},
methods: {
/** 查询空间资源管理列表 */
getList() {
this.loading = true
listResource(this.queryParams).then(response => {
this.resourceList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false
this.reset()
},
//
reset() {
this.form = {
id: null,
resourceCode: null,
resourceName: null,
resourceType: null,
resourceSubtype: null,
scientificName: null,
familyGenus: null,
age: null,
protectionLevel: null,
locationDetail: null,
longitude: null,
latitude: null,
areaSize: null,
height: null,
material: null,
manufacturer: null,
installationDate: null,
status: null,
responsibleDepartment: null,
responsiblePerson: null,
contactPhone: null,
lastInspectionDate: null,
nextInspectionDate: null,
inspectionCycle: null,
imageUrl: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: 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
getResource(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) {
updateResource(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addResource(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 delResource(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('system/resource/export', {
...this.queryParams
}, `resource_${new Date().getTime()}.xlsx`)
}
}
}
</script>
Loading…
Cancel
Save