From fd0df4fe69e71331d537f1738f394dd8fbf5a562 Mon Sep 17 00:00:00 2001 From: renfan <2206580733@qq.com> Date: Thu, 5 Sep 2024 21:24:13 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90admin=E3=80=91=E6=96=B0=E5=A2=9E#=201?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E5=AE=A2=E6=88=B7=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E6=96=B0=E5=A2=9E=E3=80=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E3=80=81=E7=BC=96=E8=BE=91=E3=80=81=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/ClientSiteController.java | 99 ++++++++ .../service/client/IClientSiteService.java | 59 +++++ .../client/impl/ClientSiteServiceImpl.java | 218 ++++++++++++++++++ .../client/impl/EquipmentServiceImpl.java | 5 +- .../validate/client/ClientSiteParam.java | 67 ++++++ .../admin/validate/client/EquipmentParam.java | 3 + .../admin/vo/client/ClientSiteDetailVo.java | 26 +++ .../hcy/admin/vo/client/ClientSiteListVo.java | 33 +++ .../admin/vo/client/EquipmentDetailVo.java | 3 + .../hcy/admin/vo/client/EquipmentListVo.java | 2 + .../com/hcy/common/dto/ClientSiteDto.java | 37 +++ .../java/com/hcy/common/dto/EquipmentDto.java | 3 + .../hcy/common/entity/client/ClientSite.java | 33 +++ .../hcy/common/entity/client/Equipment.java | 3 + .../mapper/client/ClientSiteMapper.java | 24 ++ .../resources/mapper/ClientSiteMapper.xml | 32 +++ .../main/resources/mapper/EquipmentMapper.xml | 6 +- 17 files changed, 649 insertions(+), 4 deletions(-) create mode 100644 admin/src/main/java/com/hcy/admin/controller/client/ClientSiteController.java create mode 100644 admin/src/main/java/com/hcy/admin/service/client/IClientSiteService.java create mode 100644 admin/src/main/java/com/hcy/admin/service/client/impl/ClientSiteServiceImpl.java create mode 100644 admin/src/main/java/com/hcy/admin/validate/client/ClientSiteParam.java create mode 100644 admin/src/main/java/com/hcy/admin/vo/client/ClientSiteDetailVo.java create mode 100644 admin/src/main/java/com/hcy/admin/vo/client/ClientSiteListVo.java create mode 100644 common/src/main/java/com/hcy/common/dto/ClientSiteDto.java create mode 100644 common/src/main/java/com/hcy/common/entity/client/ClientSite.java create mode 100644 common/src/main/java/com/hcy/common/mapper/client/ClientSiteMapper.java create mode 100644 common/src/main/resources/mapper/ClientSiteMapper.xml diff --git a/admin/src/main/java/com/hcy/admin/controller/client/ClientSiteController.java b/admin/src/main/java/com/hcy/admin/controller/client/ClientSiteController.java new file mode 100644 index 0000000..952a467 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/controller/client/ClientSiteController.java @@ -0,0 +1,99 @@ +package com.hcy.admin.controller.client; + +import com.hcy.admin.config.aop.Log; + +import com.hcy.admin.service.client.IClientSiteService; +import com.hcy.admin.validate.client.ClientSiteParam; +import com.hcy.admin.validate.common.PageParam; + +import com.hcy.admin.vo.client.ClientSiteDetailVo; +import com.hcy.admin.vo.client.ClientSiteListVo; +import com.hcy.common.core.AjaxResult; + +import com.hcy.common.validator.annotation.IDMust; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 站点管理 + */ +@RestController +@RequestMapping("api/clientSite") +public class ClientSiteController { + + @Resource + IClientSiteService iClientSiteService; + + /** + * 站点列表 + * + * @author hcy + * @param pageParam 分页参数 + * @param clientSiteParam 搜索参数 + * @return Object + */ + @GetMapping("/list") + public Object list(@Validated PageParam pageParam, + ClientSiteParam clientSiteParam) { + List list = iClientSiteService.list(pageParam, clientSiteParam); + return AjaxResult.success(list); + } + /** + * 站点详情 + * + * @author hcy + * @param id 主键ID + * @return Object + */ + @GetMapping("/detail") + public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { + ClientSiteDetailVo detail = iClientSiteService.detail(id); + return AjaxResult.success(detail); + } + + /** + * 站点新增 + * + * @author hcy + * @param clientSiteParam 参数 + * @return Object + */ + @Log(title = "站点新增") + @PostMapping("/add") + public Object add(@Validated(value = ClientSiteParam.create.class) @RequestBody ClientSiteParam clientSiteParam) { + iClientSiteService.add(clientSiteParam); + return AjaxResult.success(); + } + + /** + * 站点编辑 + * + * @author hcy + * @param clientSiteParam 参数 + * @return Object + */ + @Log(title = "站点编辑") + @PostMapping("/edit") + public Object edit(@Validated(value = ClientSiteParam.update.class) @RequestBody ClientSiteParam clientSiteParam) { + iClientSiteService.edit(clientSiteParam); + return AjaxResult.success(); + } + + /** + * 站点删除 + * + * @author hcy + * @param clientSiteParam 参数 + * @return Object + */ + @Log(title = "站点删除") + @PostMapping("/del") + public Object del(@RequestBody ClientSiteParam clientSiteParam) { + iClientSiteService.del(clientSiteParam.getIds()); + return AjaxResult.success(); + } + +} diff --git a/admin/src/main/java/com/hcy/admin/service/client/IClientSiteService.java b/admin/src/main/java/com/hcy/admin/service/client/IClientSiteService.java new file mode 100644 index 0000000..0c0465b --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/service/client/IClientSiteService.java @@ -0,0 +1,59 @@ +package com.hcy.admin.service.client; + +import com.hcy.admin.validate.client.ClientSiteParam; +import com.hcy.admin.validate.common.PageParam; +import com.hcy.admin.vo.client.ClientSiteDetailVo; +import com.hcy.admin.vo.client.ClientSiteListVo; + + +import java.util.List; + +/** + * 站点服务接口类 + */ +public interface IClientSiteService { + + /** + * 站点列表 + * + * @author hcy + * @param pageParam 分页参数 + * @param clientSiteParam 搜索参数 + * @return PageResult + */ + List list(PageParam pageParam, ClientSiteParam clientSiteParam); + + /** + * 站点详情 + * + * @author hcy + * @param id 主键ID + * @return Site + */ + ClientSiteDetailVo detail(Integer id); + + /** + * 站点新增 + * + * @author hcy + * @param clientSiteParam 参数 + */ + void add(ClientSiteParam clientSiteParam); + + /** + * 站点编辑 + * + * @author hcy + * @param clientSiteParam 参数 + */ + void edit(ClientSiteParam clientSiteParam); + + /** + * 站点删除 + * + * @author hcy + * @param ids 主键ID + */ + void del(List ids); + +} diff --git a/admin/src/main/java/com/hcy/admin/service/client/impl/ClientSiteServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/client/impl/ClientSiteServiceImpl.java new file mode 100644 index 0000000..04d5f94 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/service/client/impl/ClientSiteServiceImpl.java @@ -0,0 +1,218 @@ +package com.hcy.admin.service.client.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.hcy.admin.AdminThreadLocal; +import com.hcy.admin.service.client.IClientSiteService; +import com.hcy.admin.service.region.IDevRegionService; +import com.hcy.admin.validate.client.ClientSiteParam; +import com.hcy.admin.validate.common.PageParam; +import com.hcy.admin.vo.client.EquipmentListVo; +import com.hcy.admin.vo.client.EquipmentModelDetailVo; +import com.hcy.admin.vo.client.ClientSiteDetailVo; +import com.hcy.admin.vo.client.ClientSiteListVo; +import com.hcy.common.constant.GlobalConstant; +import com.hcy.common.dto.ClientSiteDto; +import com.hcy.common.entity.client.Client; +import com.hcy.common.entity.client.Equipment; +import com.hcy.common.entity.client.EquipmentModel; +import com.hcy.common.entity.client.ClientSite; +import com.hcy.common.entity.user.User; +import com.hcy.common.mapper.client.ClientMapper; +import com.hcy.common.mapper.client.EquipmentMapper; +import com.hcy.common.mapper.client.EquipmentModelMapper; +import com.hcy.common.mapper.client.ClientSiteMapper; +import com.hcy.common.mapper.user.UserMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import javax.annotation.Resource; +import java.util.*; + +/** + * 站点实现类 + */ +@Service +public class ClientSiteServiceImpl implements IClientSiteService { + + @Resource + ClientSiteMapper clientSiteMapper; + + @Resource + IDevRegionService regionService; + + @Resource + EquipmentMapper equipmentMapper; + + @Resource + ClientMapper clientMapper; + + @Resource + EquipmentModelMapper equipmentModelMapper; + + @Resource + UserMapper userMapper; + + /** + * 站点列表 + * + * @author hcy + * @param pageParam 分页参数 + * @param clientSiteParam 搜索参数 + * @return PageResult + */ + @Override + public List list(PageParam pageParam, ClientSiteParam clientSiteParam) { + Integer page = pageParam.getPageNo(); + Integer limit = pageParam.getPageSize(); + + ClientSiteDto clientSiteDto = new ClientSiteDto(); + BeanUtils.copyProperties(clientSiteParam, clientSiteDto); + + List clientSiteDtos = clientSiteMapper.siteEquipmentList(clientSiteDto); + + List list = new LinkedList<>(); + for(ClientSiteDto item : clientSiteDtos) { + ClientSiteListVo vo = new ClientSiteListVo(); + BeanUtils.copyProperties(item, vo); + + // 获取设备列表 + List equipment = equipmentMapper.selectList(new LambdaQueryWrapper() + .eq(Equipment::getIsDelete, GlobalConstant.NOT_DELETE) + .eq(Equipment::getClientSiteId, item.getId())); + + Map regionMap = regionService.getRegionMap();//获取省市区 + List equipmentList = new LinkedList<>(); + if(equipment != null){ + for (Equipment equipmentItem : equipment) { + EquipmentListVo equipmentListVo = new EquipmentListVo(); + BeanUtils.copyProperties(equipmentItem, equipmentListVo); + + equipmentListVo.setProvince(regionMap.get(equipmentListVo.getProvinceId())); + equipmentListVo.setCity(regionMap.get(equipmentListVo.getCityId())); + equipmentListVo.setDistrict(regionMap.get(equipmentListVo.getDistrictId())); + //获取客户名称 + Client client = clientMapper.selectOne( + new QueryWrapper() + .eq("id", equipmentItem.getClientId()) + .last("limit 1")); + if (client != null){ + equipmentListVo.setClientName(client.getClientName()); + } + + //设置设备模块信息 + EquipmentModel equipmentModel = equipmentModelMapper.findEquipmentModelByEquipmentId(vo.getId()); + EquipmentModelDetailVo equipmentModelDetailVo = new EquipmentModelDetailVo(); + if(equipmentModel != null){ + BeanUtils.copyProperties(equipmentModel, equipmentModelDetailVo); + + User insetallUser = userMapper.selectById(equipmentModel.getUserId()); + if(insetallUser != null){ + equipmentModelDetailVo.setInstallationName(insetallUser.getUsername()); + } + } + //设置设备模块信息 + equipmentListVo.setEquipmentModel(equipmentModelDetailVo); + equipmentList.add(equipmentListVo); + } + } + + vo.setEquipmentList(equipmentList); + list.add(vo); + } + + return list; + } + + /** + * 站点详情 + * + * @param id 主键参数 + * @return Site + * @author hcy + */ + @Override + public ClientSiteDetailVo detail(Integer id) { + ClientSite model = clientSiteMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在"); + + ClientSiteDetailVo vo = new ClientSiteDetailVo(); + BeanUtils.copyProperties(model, vo); + return vo; + } + + /** + * 站点新增 + * + * @author hcy + * @param clientSiteParam 参数 + */ + @Override + public void add(ClientSiteParam clientSiteParam) { + ClientSite model = new ClientSite(); + model.setClientId(clientSiteParam.getClientId()); // 客户id + model.setSiteName(clientSiteParam.getSiteName()); // 站点名称 + model.setLongitude(clientSiteParam.getLongitude()); // 经度 + model.setLatitude(clientSiteParam.getLatitude()); // 纬度 + model.setProvinceId(clientSiteParam.getProvinceId()); // 省id + model.setDistrictId(clientSiteParam.getDistrictId()); // 区id + model.setCityId(clientSiteParam.getCityId()); // 市id + model.setDetailedAddress(clientSiteParam.getDetailedAddress()); // 详细地址 + model.setCreatorId(AdminThreadLocal.getAdminId().longValue()); // 创建人id + clientSiteMapper.insert(model); + } + + /** + * 站点编辑 + * + * @author hcy + * @param clientSiteParam 参数 + */ + @Override + public void edit(ClientSiteParam clientSiteParam) { + ClientSite model = clientSiteMapper.selectOne( + new QueryWrapper() + .eq("id", clientSiteParam.getId()) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + model.setClientId(clientSiteParam.getClientId()); // 客户id + model.setSiteName(clientSiteParam.getSiteName()); // 站点名称 + model.setLongitude(clientSiteParam.getLongitude()); // 经度 + model.setLatitude(clientSiteParam.getLatitude()); // 纬度 + model.setProvinceId(clientSiteParam.getProvinceId()); // 省id + model.setDistrictId(clientSiteParam.getDistrictId()); // 区id + model.setCityId(clientSiteParam.getCityId()); // 市id + model.setDetailedAddress(clientSiteParam.getDetailedAddress()); // 详细地址 + + clientSiteMapper.updateById(model); + } + + /** + * 站点删除 + * + * @author hcy + * @param ids 主键ID + */ + @Override + public void del(List ids) { + List model = clientSiteMapper.selectList( + new LambdaQueryWrapper() + .in(ClientSite::getId, ids)); + Assert.notNull(model, "数据不存在!"); + + for (ClientSite clientSite : model) { + clientSite.setIsDelete(GlobalConstant.DELETE); + clientSiteMapper.updateById(clientSite);// 进行伪删除 根据id把is_delete修改成1 + } + } + +} diff --git a/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java index 5608611..ab0a423 100644 --- a/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java @@ -78,8 +78,6 @@ public class EquipmentServiceImpl implements IEquipmentService { equipmentDto.setCreateTimeStartLong(TimeUtil.dateToTimestamp(equipmentParam.getCreateTimeStart())); equipmentDto.setCreateTimeEndLong(TimeUtil.dateToTimestamp(equipmentParam.getCreateTimeEnd())); - - Page iPage = equipmentMapper.pageList(new Page<>(page, limit), equipmentDto); Map regionMap = regionService.getRegionMap();//获取省市区 @@ -164,7 +162,7 @@ public class EquipmentServiceImpl implements IEquipmentService { if(count > 0){ throw new OperateException("设备编号不可重复!"); } - + model.setClientSiteId(equipmentParam.getClientSiteId()); // 站点id model.setClientId(equipmentParam.getClientId());//客户id model.setName(equipmentParam.getName()); model.setModel(equipmentParam.getModel()); // 设备型号 @@ -211,6 +209,7 @@ public class EquipmentServiceImpl implements IEquipmentService { if(count > 0){ throw new OperateException("设备编号不可重复!"); } + model.setClientSiteId(equipmentParam.getClientSiteId()); model.setName(equipmentParam.getName()); model.setModel(equipmentParam.getModel()); model.setManufacturers(equipmentParam.getManufacturers()); diff --git a/admin/src/main/java/com/hcy/admin/validate/client/ClientSiteParam.java b/admin/src/main/java/com/hcy/admin/validate/client/ClientSiteParam.java new file mode 100644 index 0000000..0454b53 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/validate/client/ClientSiteParam.java @@ -0,0 +1,67 @@ +package com.hcy.admin.validate.client; + + +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import lombok.Data; +import javax.validation.constraints.*; +import java.io.Serializable; +import java.util.List; + +/** + * 站点参数 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class ClientSiteParam implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface create{} + public interface update{} + public interface delete{} + + + private Long id; + + @NotNull(message = "clientId参数缺失", groups = {create.class, update.class}) + @DecimalMin(value = "0", message = "clientId参数值不能少于0", groups = {create.class, update.class}) + private Long clientId; + + @NotNull(message = "siteName参数缺失", groups = {create.class, update.class}) + @Length(max = 50, message = "siteName参数不能超出50个字符", groups = {create.class, update.class}) + private String siteName; + + @NotNull(message = "longitude参数缺失", groups = {create.class, update.class}) + @Length(max = 24, message = "longitude参数不能超出24个字符", groups = {create.class, update.class}) + private String longitude; + + @NotNull(message = "latitude参数缺失", groups = {create.class, update.class}) + @Length(max = 24, message = "latitude参数不能超出24个字符", groups = {create.class, update.class}) + private String latitude; + + @NotNull(message = "provinceId参数缺失", groups = {create.class, update.class}) + @DecimalMin(value = "0", message = "provinceId参数值不能少于0", groups = {create.class, update.class}) + private Long provinceId; + + @NotNull(message = "districtId参数缺失", groups = {create.class, update.class}) + @DecimalMin(value = "0", message = "districtId参数值不能少于0", groups = {create.class, update.class}) + private Long districtId; + + @NotNull(message = "cityId参数缺失", groups = {create.class, update.class}) + @DecimalMin(value = "0", message = "cityId参数值不能少于0", groups = {create.class, update.class}) + private Long cityId; + + @NotNull(message = "detailedAddress参数缺失", groups = {create.class, update.class}) + @Length(max = 255, message = "detailedAddress参数不能超出255个字符", groups = {create.class, update.class}) + private String detailedAddress; + + @DecimalMin(value = "0", message = "creatorId参数值不能少于0", groups = {create.class, update.class}) + private Long creatorId; + + private List ids; //批量删除 + +} diff --git a/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java b/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java index 51645f5..d1024b8 100644 --- a/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java @@ -84,4 +84,7 @@ public class EquipmentParam implements Serializable { private String createTimeStart; // 开始时间 private String createTimeEnd; // 结束时间 + + private Long clientSiteId; // 站点id + private String siteName; // 站点名称 } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/ClientSiteDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/client/ClientSiteDetailVo.java new file mode 100644 index 0000000..12a6060 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/client/ClientSiteDetailVo.java @@ -0,0 +1,26 @@ +package com.hcy.admin.vo.client; + +import lombok.Data; + +import java.io.Serializable; + +/** + * SiteVo + */ +@Data +public class ClientSiteDetailVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // 主键id + private Long clientId; // 客户id + private String siteName; // 站点名称 + private String longitude; // 经度 + private String latitude; // 纬度 + private Long provinceId; // 省id + private Long districtId; // 区id + private Long cityId; // 市id + private String detailedAddress; // 详细地址 + private Long creatorId; // 创建人id + +} diff --git a/admin/src/main/java/com/hcy/admin/vo/client/ClientSiteListVo.java b/admin/src/main/java/com/hcy/admin/vo/client/ClientSiteListVo.java new file mode 100644 index 0000000..fc7131d --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/client/ClientSiteListVo.java @@ -0,0 +1,33 @@ +package com.hcy.admin.vo.client; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * SiteVo + */ +@Data +public class ClientSiteListVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // 主键id + private Long clientId; // 客户id + private String siteName; // 站点名称 + private String longitude; // 经度 + private String latitude; // 纬度 + private Long provinceId; // 省id + private Long districtId; // 区id + private Long cityId; // 市id + private String detailedAddress; // 详细地址 + private Long creatorId; // 创建人id + private String createTime; // 创建时间 + + private Integer equipmentCount; // 设备总数 + private Integer normalCount; // 设备正常数量 + private Integer underOverhaulCount; // 设备检修中数量 + private Integer underWarrantyCount; // 设备报修中数量 + private List equipmentList; // 设备列表 +} diff --git a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java index 2a763b6..0b7fcf8 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java @@ -34,4 +34,7 @@ public class EquipmentDetailVo implements Serializable { private Integer dailyAudit; // 每隔几天巡检 private String deviceCode; // 设备码 private String clientName; // 客户名称 + private Long clientSiteId; // 站点id + private String siteName; // 站点名称 + } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java index 77e2981..eb5de97 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java @@ -38,4 +38,6 @@ public class EquipmentListVo implements Serializable { private String clientName; // 客户名称 private String shortName; // 客户简称 private EquipmentModelDetailVo equipmentModel; //设备模块信息 + private Long clientSiteId; // 站点id + private String siteName; // 站点名称 } diff --git a/common/src/main/java/com/hcy/common/dto/ClientSiteDto.java b/common/src/main/java/com/hcy/common/dto/ClientSiteDto.java new file mode 100644 index 0000000..871a5af --- /dev/null +++ b/common/src/main/java/com/hcy/common/dto/ClientSiteDto.java @@ -0,0 +1,37 @@ +package com.hcy.common.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 站点实体 + */ +@Data +public class ClientSiteDto implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Long id; // 主键id + private Long clientId; // 客户id + private String siteName; // 站点名称 + private String longitude; // 经度 + private String latitude; // 纬度 + private Long provinceId; // 省id + private Long districtId; // 区id + private Long cityId; // 市id + private String detailedAddress; // 详细地址 + private Long creatorId; // 创建人id + private Date createTime; // 创建时间 + private Date updateTime; // 更新时间 + private Integer isDelete; // 是否删除 0-未删除 1-删除 + + private Integer equipmentCount; // 设备总数 + private Integer normalCount; // 设备正常数量 + private Integer underOverhaulCount; // 设备检修中数量 + private Integer underWarrantyCount; // 设备报修中数量 +} \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/dto/EquipmentDto.java b/common/src/main/java/com/hcy/common/dto/EquipmentDto.java index 07bec3f..7776449 100644 --- a/common/src/main/java/com/hcy/common/dto/EquipmentDto.java +++ b/common/src/main/java/com/hcy/common/dto/EquipmentDto.java @@ -43,4 +43,7 @@ public class EquipmentDto implements Serializable { private Long createTimeStartLong; // 开始时间 private Long createTimeEndLong; // 结束时间 + + private Long clientSiteId; // 站点id + private String siteName; // 站点名称 } \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/client/ClientSite.java b/common/src/main/java/com/hcy/common/entity/client/ClientSite.java new file mode 100644 index 0000000..3196f73 --- /dev/null +++ b/common/src/main/java/com/hcy/common/entity/client/ClientSite.java @@ -0,0 +1,33 @@ +package com.hcy.common.entity.client; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 站点实体 + */ +@Data +public class ClientSite implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Long id; // 主键id + private Long clientId; // 客户id + private String siteName; // 站点名称 + private String longitude; // 经度 + private String latitude; // 纬度 + private Long provinceId; // 省id + private Long districtId; // 区id + private Long cityId; // 市id + private String detailedAddress; // 详细地址 + private Long creatorId; // 创建人id + private Date createTime; // 创建时间 + private Date updateTime; // 更新时间 + private Integer isDelete; // 是否删除 0-未删除 1-删除 + +} \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/client/Equipment.java b/common/src/main/java/com/hcy/common/entity/client/Equipment.java index b4d145c..eda5bad 100644 --- a/common/src/main/java/com/hcy/common/entity/client/Equipment.java +++ b/common/src/main/java/com/hcy/common/entity/client/Equipment.java @@ -39,4 +39,7 @@ public class Equipment implements Serializable { private Long createTime; // 创建时间 private Long updateTime; // 更新时间 private Long deleteTime; // 删除时间 + + private Long clientSiteId; // 站点id + } \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/mapper/client/ClientSiteMapper.java b/common/src/main/java/com/hcy/common/mapper/client/ClientSiteMapper.java new file mode 100644 index 0000000..bc58c48 --- /dev/null +++ b/common/src/main/java/com/hcy/common/mapper/client/ClientSiteMapper.java @@ -0,0 +1,24 @@ +package com.hcy.common.mapper.client; + + +import com.hcy.common.core.basics.IBaseMapper; +import com.hcy.common.dto.ClientSiteDto; +import com.hcy.common.entity.client.ClientSite; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 站点Mapper + */ +@Mapper +public interface ClientSiteMapper extends IBaseMapper { + + /** + * 查询站点名称、设备总数、设备状态正常总数,报修中总数,检修中总数 + * @return + */ + List siteEquipmentList(@Param("form") ClientSiteDto form); + +} diff --git a/common/src/main/resources/mapper/ClientSiteMapper.xml b/common/src/main/resources/mapper/ClientSiteMapper.xml new file mode 100644 index 0000000..61ea541 --- /dev/null +++ b/common/src/main/resources/mapper/ClientSiteMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + diff --git a/common/src/main/resources/mapper/EquipmentMapper.xml b/common/src/main/resources/mapper/EquipmentMapper.xml index f9a30e4..6726ad8 100644 --- a/common/src/main/resources/mapper/EquipmentMapper.xml +++ b/common/src/main/resources/mapper/EquipmentMapper.xml @@ -44,14 +44,18 @@