From fafdef8b99daf52ed2d01f3493a6bd08409c2ab9 Mon Sep 17 00:00:00 2001 From: renfan <2206580733@qq.com> Date: Wed, 21 Aug 2024 23:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90admin=E3=80=91=E6=96=B0=E5=A2=9E&?= =?UTF-8?q?=E4=BC=98=E5=8C=96#=201.=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=AF=B9=E5=BA=94=E7=8A=B6=E6=80=81=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E9=87=8F=202=E3=80=81=E4=BC=98=E5=8C=96=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F=E5=85=8D=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=203?= =?UTF-8?q?=E3=80=81=E4=BC=98=E5=8C=96=E5=B7=A1=E6=A3=80=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E7=9A=84=E8=AE=BE=E5=A4=87=E5=AD=97=E6=AE=B5=204=E3=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=B7=A1=E6=A3=80?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E6=9F=A5=E4=B8=89=E7=A7=8D=E7=8A=B6=E6=80=81=E7=9A=84=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E3=80=81=E4=BC=98=E5=8C=96=E5=B7=A5=E5=8D=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81=205=E3=80=81=E4=BC=98=E5=8C=96=E5=B7=A1=E6=A3=80?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hcy/admin/AdminInterceptor.java | 2 +- .../com/hcy/admin/config/AdminConfig.java | 3 + .../LargeDataScreenController.java | 45 +++++++++++ .../ILargeDataScreenService.java | 25 ++++++ .../impl/LargeDataScreenServiceImpl.java | 76 +++++++++++++++++++ .../RoutingInspectionOrderServiceImpl.java | 58 ++++++++++++-- .../sparePart/impl/SparePartServiceImpl.java | 2 +- .../impl/SystemAuthAdminServiceImpl.java | 5 +- .../order/RoutingInspectionOrderParam.java | 2 +- .../admin/vo/client/ClientLargeDataVo.java | 27 +++++++ .../admin/vo/client/EquipmentLargeDataVo.java | 40 ++++++++++ .../order/RoutingInspectionOrderDetailVo.java | 6 +- .../order/RoutingInspectionOrderListVo.java | 6 +- .../hcy/common/dto/ClientLargeDataDto.java | 25 ++++++ .../common/dto/RoutingInspectionOrderDto.java | 6 +- .../entity/order/RoutingInspectionOrder.java | 3 +- .../common/mapper/client/ClientMapper.java | 14 ++++ .../main/resources/mapper/ClientMapper.xml | 25 ++++++ .../mapper/RoutingInspectionOrderMapper.xml | 29 +++---- .../mapper/SystemAuthAdminMapper.xml | 18 +---- .../mapper/RoutingInspectionOrderMapper.xml | 29 +++---- .../classes/mapper/SystemAuthAdminMapper.xml | 18 +---- .../RoutingInspectionOrderServiceImpl.java | 16 ++-- .../order/RoutingInspectionOrderParam.java | 2 +- .../order/RoutingInspectionOrderDetailVo.java | 6 +- .../order/RoutingInspectionOrderListVo.java | 6 +- 26 files changed, 400 insertions(+), 94 deletions(-) create mode 100644 admin/src/main/java/com/hcy/admin/controller/largeDataScreen/LargeDataScreenController.java create mode 100644 admin/src/main/java/com/hcy/admin/service/largeDataScreen/ILargeDataScreenService.java create mode 100644 admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java create mode 100644 admin/src/main/java/com/hcy/admin/vo/client/ClientLargeDataVo.java create mode 100644 admin/src/main/java/com/hcy/admin/vo/client/EquipmentLargeDataVo.java create mode 100644 common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java create mode 100644 common/src/main/resources/mapper/ClientMapper.xml diff --git a/admin/src/main/java/com/hcy/admin/AdminInterceptor.java b/admin/src/main/java/com/hcy/admin/AdminInterceptor.java index f976dd9..cc41da2 100644 --- a/admin/src/main/java/com/hcy/admin/AdminInterceptor.java +++ b/admin/src/main/java/com/hcy/admin/AdminInterceptor.java @@ -55,7 +55,7 @@ public class AdminInterceptor implements HandlerInterceptor { // 免登录接口 List notLoginUri = Arrays.asList(AdminConfig.notLoginUri); - if (notLoginUri.contains(auths)) { + if (notLoginUri.contains(auths) || auths.contains(AdminConfig.notLoginUriApi)) { return HandlerInterceptor.super.preHandle(request, response, handler); } diff --git a/admin/src/main/java/com/hcy/admin/config/AdminConfig.java b/admin/src/main/java/com/hcy/admin/config/AdminConfig.java index 9a422aa..8f23c42 100644 --- a/admin/src/main/java/com/hcy/admin/config/AdminConfig.java +++ b/admin/src/main/java/com/hcy/admin/config/AdminConfig.java @@ -17,6 +17,9 @@ public class AdminConfig { // 令牌的集合 public static final String backstageTokenSet = "backstage:token:set:"; + // 免登录验证的接口 + public static final String notLoginUriApi = "largeDataScreen"; + // 免登录验证 public static String[] notLoginUri = new String[]{ "system:login", // 登录接口 diff --git a/admin/src/main/java/com/hcy/admin/controller/largeDataScreen/LargeDataScreenController.java b/admin/src/main/java/com/hcy/admin/controller/largeDataScreen/LargeDataScreenController.java new file mode 100644 index 0000000..86df6ed --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/controller/largeDataScreen/LargeDataScreenController.java @@ -0,0 +1,45 @@ +package com.hcy.admin.controller.largeDataScreen; + +import com.hcy.admin.service.largeDataScreen.ILargeDataScreenService; +import com.hcy.admin.vo.client.EquipmentLargeDataVo; +import com.hcy.common.core.AjaxResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.List; + +/** + * 数据大屏 + */ +@RestController +@RequestMapping("api/largeDataScreen") +public class LargeDataScreenController { + @Resource + ILargeDataScreenService iLargeDataScreenService; + + /** + * 获取所有设备对应状态的数量 + * + * @author hcy + * @return Object + */ + @GetMapping("/deviceStatusQuantity") + public Object deviceStatusQuantity() { + EquipmentLargeDataVo equipmentLargeDataVo = iLargeDataScreenService.deviceStatusQuantity(); + return AjaxResult.success(equipmentLargeDataVo); + } + + /** + * 获取客户设备最多的5个客户信息 + * + * @author hcy + * @return Object + */ + @GetMapping("/clientEquipment") + public Object clientEquipment() { + List list = iLargeDataScreenService.clientEquipmentList(); + return AjaxResult.success(list); + } +} diff --git a/admin/src/main/java/com/hcy/admin/service/largeDataScreen/ILargeDataScreenService.java b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/ILargeDataScreenService.java new file mode 100644 index 0000000..2ff945c --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/ILargeDataScreenService.java @@ -0,0 +1,25 @@ +package com.hcy.admin.service.largeDataScreen; + +import com.hcy.admin.vo.client.EquipmentLargeDataVo; +import com.hcy.admin.vo.sparePart.SparePartListVo; +import com.hcy.common.core.PageResult; + +import java.util.List; + +/** + * 数据大屏服务接口类 + */ +public interface ILargeDataScreenService { + + /** + * 获取所有设备对应状态的数量 + * @return + */ + EquipmentLargeDataVo deviceStatusQuantity(); + + /** + * 获取客户设备最多的5个客户信息 + * @return + */ + List clientEquipmentList(); +} diff --git a/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java new file mode 100644 index 0000000..33b698c --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/impl/LargeDataScreenServiceImpl.java @@ -0,0 +1,76 @@ +package com.hcy.admin.service.largeDataScreen.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.hcy.admin.service.largeDataScreen.ILargeDataScreenService; +import com.hcy.admin.vo.client.EquipmentLargeDataVo; +import com.hcy.admin.vo.sparePart.SparePartListVo; +import com.hcy.common.core.PageResult; +import com.hcy.common.dto.ClientLargeDataDto; +import com.hcy.common.entity.client.Equipment; +import com.hcy.common.enums.equipment.EquipmentStateEnum; +import com.hcy.common.mapper.client.ClientMapper; +import com.hcy.common.mapper.client.EquipmentMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 数据大屏管理实现类 + */ +@Service +public class LargeDataScreenServiceImpl implements ILargeDataScreenService { + + @Resource + EquipmentMapper equipmentMapper; + + @Resource + ClientMapper clientMapper; + + /** + * 获取所有设备对应状态的数量 + * + * @return + */ + @Override + public EquipmentLargeDataVo deviceStatusQuantity() { + // 设备状态(0=停用,1=正常,2=保修中,3=检修中) + //正常 + Integer normalCount = equipmentMapper.selectCount( + new QueryWrapper() + .eq("device_status", EquipmentStateEnum.NORMAL.getStatus()) + .eq("is_delete", 0) + ); + //检修中 + Integer underOverhaulCount = equipmentMapper.selectCount( + new QueryWrapper() + .eq("device_status", EquipmentStateEnum.UNDEROVERHAUL.getStatus()) + .eq("is_delete", 0) + ); + //报修中 + Integer underWarrantyCount = equipmentMapper.selectCount( + new QueryWrapper() + .eq("device_status", EquipmentStateEnum.UNDERWARRANTY.getStatus()) + .eq("is_delete", 0) + ); + EquipmentLargeDataVo equipmentLargeDataVo = new EquipmentLargeDataVo(); + equipmentLargeDataVo.setNormalCount(normalCount); + equipmentLargeDataVo.setUnderOverhaulCount(underOverhaulCount); + equipmentLargeDataVo.setUnderWarrantyCount(underWarrantyCount); + return equipmentLargeDataVo; + } + + /** + * 获取客户设备最多的5个客户信息 + * + * @return + */ + @Override + public List clientEquipmentList() { + List clientLargeDataDtos = clientMapper.clientEquipmentList(); + for (ClientLargeDataDto clientLargeDataDto : clientLargeDataDtos) { + + } + return null; + } +} diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/RoutingInspectionOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/RoutingInspectionOrderServiceImpl.java index 263b71c..1f55244 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/RoutingInspectionOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/RoutingInspectionOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.hcy.admin.service.order.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hcy.admin.AdminThreadLocal; @@ -8,10 +9,12 @@ import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.RoutingInspectionOrderParam; import com.hcy.admin.vo.order.RoutingInspectionOrderListVo; import com.hcy.admin.vo.order.RoutingInspectionOrderDetailVo; +import com.hcy.common.constant.GlobalConstant; import com.hcy.common.core.PageResult; import com.hcy.common.dto.RoutingInspectionOrderDto; import com.hcy.common.entity.client.Client; import com.hcy.common.entity.client.Equipment; +import com.hcy.common.entity.order.MaintenanceOrder; import com.hcy.common.entity.order.RoutingInspectionOrder; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.enums.order.OrderStateEnum; @@ -19,12 +22,14 @@ import com.hcy.common.mapper.client.ClientMapper; import com.hcy.common.mapper.client.EquipmentMapper; import com.hcy.common.mapper.order.RoutingInspectionOrderMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; +import com.hcy.common.mapper.user.UserMapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -45,6 +50,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde @Resource SystemAuthAdminMapper systemAuthAdminMapper; + @Resource + UserMapper userMapper; + /** * 巡检订单列表 * @@ -61,13 +69,13 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde inspectionOrderDto.setOrderNo(StringUtils.isEmpty(params.get("orderNo")) ? null : params.get("orderNo")); inspectionOrderDto.setClientName(StringUtils.isEmpty(params.get("clientName")) ? null : params.get("clientName")); - inspectionOrderDto.setDeviceName(StringUtils.isEmpty(params.get("deviceName")) ? null : params.get("deviceName")); + inspectionOrderDto.setEquipmentName(StringUtils.isEmpty(params.get("equipmentName")) ? null : params.get("equipmentName")); inspectionOrderDto.setReceiverName(StringUtils.isEmpty(params.get("receiverName")) ? null : params.get("receiverName")); if(StringUtils.isNotEmpty(params.get("orderSource"))){ inspectionOrderDto.setOrderSource(Long.valueOf(params.get("orderSource"))); } - if(StringUtils.isNotEmpty(params.get("inspectionOrderStatus"))){ - inspectionOrderDto.setInspectionOrderStatus(Long.valueOf(params.get("inspectionOrderStatus"))); + if(StringUtils.isNotEmpty(params.get("orderStatus"))){ + inspectionOrderDto.setOrderStatus(Long.valueOf(params.get("orderStatus"))); } Page iPage = routingInspectionOrderMapper.pageList(page, inspectionOrderDto); @@ -116,8 +124,8 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde new QueryWrapper() .eq("id", model.getEquipmentId()) .last("limit 1")); - vo.setDeviceNumber(equipment.getNumber()); - vo.setDeviceName(equipment.getName()); + vo.setEquipmentNo(equipment.getNumber()); + vo.setEquipmentName(equipment.getName()); vo.setDetailedAddress(equipment.getDetailedAddress()); //接单人 SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne( @@ -140,17 +148,18 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde @Override public void add(RoutingInspectionOrderParam routingInspectionOrderParam) { RoutingInspectionOrder model = new RoutingInspectionOrder(); - //model.setOrderNo(routingInspectionOrderParam.getOrderNo()); // 订单编号 + //定时任务创建的巡检单是系统创建,客服的是客服创建 model.setOrderSource(OrderStateEnum.CUSTOMER_SERVICE_CREATION.getStatus()); // 订单来源 1-系统创建;4-客服创建 model.setRepairWorkOrderFlow(routingInspectionOrderParam.getRepairWorkOrderFlow()); // 工单去向(0=工单池,1=检修员) 工单去向是工单池的话,工单状态是待抢单 if(routingInspectionOrderParam.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){ - model.setInspectionOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单; + model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus()); // 订单状态 0-待抢单; }else{ - model.setInspectionOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());// 订单状态 1-待接单; + model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus());// 订单状态 1-待接单; } + model.setOrderNo(getOrderNo()); // 订单编号 model.setClientId(routingInspectionOrderParam.getClientId()); //客户id model.setEquipmentId(routingInspectionOrderParam.getEquipmentId());// 设备id model.setReceiverId(routingInspectionOrderParam.getReceiverId()); // 接单人id @@ -273,4 +282,37 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde routingInspectionOrderMapper.updateById(model); } + /** + * 获取工单编号 + * @return + */ + private String getOrderNo() { + //获取当前日期并将其进行格式化 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); + String formatDate = simpleDateFormat.format(new Date()); + + StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001"); + RoutingInspectionOrder routingInspectionOrder = routingInspectionOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(RoutingInspectionOrder::getIsDelete, GlobalConstant.NOT_DELETE) + .like(RoutingInspectionOrder::getOrderNo, formatDate) + .orderByDesc(RoutingInspectionOrder::getOrderNo) + .last("limit 1")); + //当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据 + if (routingInspectionOrder == null) { + return currentOrderNo.toString(); + } else { + int lastOrderNo = Integer.parseInt(routingInspectionOrder.getOrderNo().substring(8)); + int length = String.valueOf((lastOrderNo + 1)).length(); + StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + ""); + + //如果流水号长度小于6位,则在前面补0 + if (length < 6) { + for (int i = 0; i < 6 - length; i++) { + newOrderNo.insert(0, "0"); + } + } + + return formatDate + newOrderNo; + } + } } diff --git a/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java index 3312e91..4b066be 100644 --- a/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java @@ -294,7 +294,7 @@ public class SparePartServiceImpl implements ISparePartService { for(SparePart item : iPage.getRecords()) { SparePartListVo vo = new SparePartListVo(); BeanUtils.copyProperties(item, vo); - if(purchaseDivisor != null){ + if(purchaseDivisor != null && vo.getUnitPrice() != null){ //采购员采购时的销售价(配件采购里的销售价)=配件价格*配件采购价格因子(当前用户所属客户的配件采购价格因子) vo.setUnitPrice(vo.getUnitPrice().multiply(purchaseDivisor)); // 采购员采购时的销售价 } diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java index e28c23a..24c7917 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java @@ -119,7 +119,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { SystemAuthAdminVo item = new SystemAuthAdminVo(); BeanUtils.copyProperties(dto, item); - //设置角色名称 List systemAuthRoleListByIds = systemAuthRoleMapper.findSystemAuthRoleListByIds(dto.getRole()); StringBuilder roleName = new StringBuilder(); @@ -146,6 +145,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { SystemAuthAdminVo vo = new SystemAuthAdminVo(); BeanUtils.copyProperties(item, vo); + Map regionMap = regionService.getRegionMap(); + vo.setProvince(regionMap.get(vo.getProvinceId())); + vo.setCity(regionMap.get(vo.getCityId())); + vo.setDistrict(regionMap.get(vo.getDistrictId())); //只查询没有被该工厂绑定的用户 if(param.getPlantId() != null){ Plant model = plantMapper.selectOne( diff --git a/admin/src/main/java/com/hcy/admin/validate/order/RoutingInspectionOrderParam.java b/admin/src/main/java/com/hcy/admin/validate/order/RoutingInspectionOrderParam.java index bec9b75..78e1a63 100644 --- a/admin/src/main/java/com/hcy/admin/validate/order/RoutingInspectionOrderParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/order/RoutingInspectionOrderParam.java @@ -31,7 +31,7 @@ public class RoutingInspectionOrderParam implements Serializable { @DecimalMin(value = "0", message = "orderSource参数值不能少于0", groups = {create.class, update.class}) private Integer orderSource; - private Integer inspectionOrderStatus; + private Integer orderStatus; @DecimalMin(value = "0", message = "clientId参数值不能少于0", groups = {create.class, update.class}) private Long clientId; diff --git a/admin/src/main/java/com/hcy/admin/vo/client/ClientLargeDataVo.java b/admin/src/main/java/com/hcy/admin/vo/client/ClientLargeDataVo.java new file mode 100644 index 0000000..1313817 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/client/ClientLargeDataVo.java @@ -0,0 +1,27 @@ +package com.hcy.admin.vo.client; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 数据大屏ClientVo + */ +@Data +public class ClientLargeDataVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // id + private String clientName; // 客户名称 + private Integer number; //序号 + private Integer equipmentCount; // 设备总数 + private Integer normalCount; //正常数量 + private Integer underOverhaulCount; //检修中数量 + private Integer underWarrantyCount; //报修中数量 + + + +} diff --git a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentLargeDataVo.java b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentLargeDataVo.java new file mode 100644 index 0000000..3878aaa --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentLargeDataVo.java @@ -0,0 +1,40 @@ +package com.hcy.admin.vo.client; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 数据大屏EquipmentVo + */ +@Data +public class EquipmentLargeDataVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // 主键id + private Long clientId; // 客户id + private Long moduleId; // 模块id + private String number; // 设备编号 + private String name; // 设备名称 + private String model; // 设备型号 + private String manufacturers; // 设备厂家 + private String specification; // 设备规格 + private Integer deviceStatus; // 设备状态(0=停用,1=正常,2=保修中,3=检修中) + private String longitude; // 经度 + private String latitude; // 纬度 + private Long provinceId; // 省id + private Long districtId; // 区id + private Long cityId; // 市id + private String detailedAddress; // 详细地址 + private Integer inspectionCycle; // 巡检周期方式(0=天数间隔,1=固定日期) + private Integer dailyAudit; // 每隔几天巡检 + private String deviceCode; // 设备码 + private String createTime; // 创建时间 + private String clientName; // 客户名称 + + private Integer normalCount; //正常数量 + private Integer underOverhaulCount; //检修中数量 + private Integer underWarrantyCount; //报修中数量 + +} diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderDetailVo.java index 7f24382..a162cb7 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderDetailVo.java @@ -22,7 +22,7 @@ public class RoutingInspectionOrderDetailVo implements Serializable { private String orderNo; // 订单编号 private Integer orderSource; // 订单来源 1-系统创建;4-客服创建 private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员 - private Integer inspectionOrderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 + private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 private Long clientId; // 客户id private Long equipmentId; // 设备id private Long receiverId; // 接单人id @@ -32,8 +32,8 @@ public class RoutingInspectionOrderDetailVo implements Serializable { private Integer receiverType; // 接单类型 0-区域派单;1-距离派单 private BigDecimal orderDistance; // 订单距离 private String clientName; // 客户名称 - private String deviceNumber; //设备编号 - private String deviceName; //设备名称 + private String equipmentNo; //设备编号 + private String equipmentName; //设备名称 private String detailedAddress; // 设备详细地址 private String receiverName; // 接单人名称 diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderListVo.java index 42d1a54..780f987 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/RoutingInspectionOrderListVo.java @@ -24,15 +24,15 @@ public class RoutingInspectionOrderListVo implements Serializable { private Long clientId; // 客户id private String clientName; // 客户名称 private Long equipmentId; // 设备id - private String deviceNumber; //设备编号 - private String deviceName; //设备名称 + private String equipmentNo; //设备编号 + private String equipmentName; //设备名称 private String detailedAddress; // 设备详细地址 private Long creatorId; // 创建人id private String creatorName; //创建人名称 private String createTime; // 创建时间 private Long faultId; // 故障id private String familiarFaultName; //故障类型 - private Long inspectionOrderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 + private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 private Long receiverId; // 接单人id private String receiverName; // 接单人名称 private Date receiverTime; // 接单时间 diff --git a/common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java b/common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java new file mode 100644 index 0000000..6fdd3c8 --- /dev/null +++ b/common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java @@ -0,0 +1,25 @@ +package com.hcy.common.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 数据大屏ClientVo + */ +@Data +public class ClientLargeDataDto implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // id + private Integer number; //序号 + private String clientName; // 客户名称 + private Integer equipmentCount; // 设备总数 + private Integer normalCount; //正常数量 + private Integer underOverhaulCount; //检修中数量 + private Integer underWarrantyCount; //报修中数量 + + + +} diff --git a/common/src/main/java/com/hcy/common/dto/RoutingInspectionOrderDto.java b/common/src/main/java/com/hcy/common/dto/RoutingInspectionOrderDto.java index d02a641..5b58eab 100644 --- a/common/src/main/java/com/hcy/common/dto/RoutingInspectionOrderDto.java +++ b/common/src/main/java/com/hcy/common/dto/RoutingInspectionOrderDto.java @@ -18,15 +18,15 @@ public class RoutingInspectionOrderDto implements Serializable { private Long clientId; // 客户id private String clientName; // 客户名称 private Long equipmentId; // 设备id - private String deviceNumber; //设备编号 - private String deviceName; //设备名称 + private String equipmentNo; //设备编号 + private String equipmentName; //设备名称 private String detailedAddress; // 设备详细地址 private Long creatorId; // 创建人id private String creatorName; //创建人名称 private String createTime; // 创建时间 private Long faultId; // 故障id private String familiarFaultName; //故障类型 - private Long inspectionOrderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 + private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 private Long receiverId; // 接单人id private String receiverName; // 接单人名称 private Date receiverTime; // 接单时间 diff --git a/common/src/main/java/com/hcy/common/entity/order/RoutingInspectionOrder.java b/common/src/main/java/com/hcy/common/entity/order/RoutingInspectionOrder.java index c21597e..89ee6c2 100644 --- a/common/src/main/java/com/hcy/common/entity/order/RoutingInspectionOrder.java +++ b/common/src/main/java/com/hcy/common/entity/order/RoutingInspectionOrder.java @@ -21,9 +21,10 @@ public class RoutingInspectionOrder implements Serializable { @TableId(value="id", type= IdType.AUTO) private Long id; // 主键id private String orderNo; // 订单编号 + private Long userId; // 用户id private Integer orderSource; // 订单来源 1-系统创建;4-客服创建 private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员 - private Integer inspectionOrderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 + private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 private Long clientId; // 客户id private Long equipmentId; // 设备id private Long faultId; // 故障id diff --git a/common/src/main/java/com/hcy/common/mapper/client/ClientMapper.java b/common/src/main/java/com/hcy/common/mapper/client/ClientMapper.java index fa28f79..45e1def 100644 --- a/common/src/main/java/com/hcy/common/mapper/client/ClientMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/client/ClientMapper.java @@ -1,12 +1,26 @@ package com.hcy.common.mapper.client; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hcy.common.core.basics.IBaseMapper; +import com.hcy.common.dto.ClientLargeDataDto; +import com.hcy.common.dto.RoutingInspectionOrderDto; import com.hcy.common.entity.client.Client; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 客户Mapper */ @Mapper public interface ClientMapper extends IBaseMapper { + + /** + * 获取客户设备最多的5个客户信息,需要显示客户名称、设备总数、 + * 设备状态为正常的总数、设备状态为检修的总数、设备状态为报修的总数 + * @return + */ + List clientEquipmentList(); + } diff --git a/common/src/main/resources/mapper/ClientMapper.xml b/common/src/main/resources/mapper/ClientMapper.xml new file mode 100644 index 0000000..162556b --- /dev/null +++ b/common/src/main/resources/mapper/ClientMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml b/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml index edb9212..7630c75 100644 --- a/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml +++ b/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml @@ -9,17 +9,17 @@ SELECT i.*, c.client_name, - e.number as deviceNumber,e.name as deviceName,e.detailed_address, + e.number as equipmentNo,e.name as equipmentName,e.detailed_address, a.nickname as creatorName, f.`name` as familiarFaultName, - aa.nickname as receiverName + u.nickname as receiverName FROM la_routing_inspection_order AS i LEFT JOIN la_client AS c ON i.client_id = c.id LEFT JOIN la_equipment AS e ON i.equipment_id = e.id LEFT JOIN la_system_auth_admin AS a ON i.creator_id = a.id LEFT JOIN la_fault AS f ON i.fault_id = f.id - LEFT JOIN la_system_auth_admin as aa on i.receiver_id = aa.id + LEFT JOIN la_user as u on i.receiver_id = u.id WHERE i.is_delete = 0 @@ -28,17 +28,17 @@ and c.client_name LIKE concat('%', #{form.clientName}, '%') - - and e.`name` LIKE concat('%', #{form.deviceName}, '%') + + and e.`name` LIKE concat('%', #{form.equipmentName}, '%') - and aa.nickname LIKE concat('%', #{form.receiverName}, '%') + and u.nickname LIKE concat('%', #{form.receiverName}, '%') and i.order_source = #{form.orderSource} - - and i.inspection_order_status = #{form.inspectionOrderStatus} + + and i.order_status = #{form.orderStatus} ORDER BY i.id DESC @@ -47,17 +47,17 @@ SELECT i.*, c.client_name, - e.number as deviceNumber,e.name as deviceName,e.detailed_address, + e.number as equipmentNo,e.name as equipmentName,e.detailed_address, a.nickname as creatorName, f.`name` as familiarFaultName, - aa.nickname as receiverName + u.nickname as receiverName FROM la_routing_inspection_order AS i LEFT JOIN la_client AS c ON i.client_id = c.id LEFT JOIN la_equipment AS e ON i.equipment_id = e.id LEFT JOIN la_system_auth_admin AS a ON i.creator_id = a.id LEFT JOIN la_fault AS f ON i.fault_id = f.id - LEFT JOIN la_system_auth_admin as aa on i.receiver_id = aa.id + LEFT JOIN la_user as u on i.receiver_id = u.id WHERE i.is_delete = 0 @@ -69,8 +69,11 @@ OR e.number LIKE concat('%', #{form.likeWork}, '%') - - and i.inspection_order_status = #{form.inspectionOrderStatus} + + and i.order_status = #{form.orderStatus} + + + and i.order_status in (1,2,5) ORDER BY i.id DESC diff --git a/common/src/main/resources/mapper/SystemAuthAdminMapper.xml b/common/src/main/resources/mapper/SystemAuthAdminMapper.xml index bc36f0e..a115e97 100644 --- a/common/src/main/resources/mapper/SystemAuthAdminMapper.xml +++ b/common/src/main/resources/mapper/SystemAuthAdminMapper.xml @@ -4,21 +4,9 @@ @@ -47,17 +47,17 @@ SELECT i.*, c.client_name, - e.number as deviceNumber,e.name as deviceName,e.detailed_address, + e.number as equipmentNo,e.name as equipmentName,e.detailed_address, a.nickname as creatorName, f.`name` as familiarFaultName, - aa.nickname as receiverName + u.nickname as receiverName FROM la_routing_inspection_order AS i LEFT JOIN la_client AS c ON i.client_id = c.id LEFT JOIN la_equipment AS e ON i.equipment_id = e.id LEFT JOIN la_system_auth_admin AS a ON i.creator_id = a.id LEFT JOIN la_fault AS f ON i.fault_id = f.id - LEFT JOIN la_system_auth_admin as aa on i.receiver_id = aa.id + LEFT JOIN la_user as u on i.receiver_id = u.id WHERE i.is_delete = 0 @@ -69,8 +69,11 @@ OR e.number LIKE concat('%', #{form.likeWork}, '%') - - and i.inspection_order_status = #{form.inspectionOrderStatus} + + and i.order_status = #{form.orderStatus} + + + and i.order_status in (1,2,5) ORDER BY i.id DESC diff --git a/common/target/classes/mapper/SystemAuthAdminMapper.xml b/common/target/classes/mapper/SystemAuthAdminMapper.xml index bc36f0e..a115e97 100644 --- a/common/target/classes/mapper/SystemAuthAdminMapper.xml +++ b/common/target/classes/mapper/SystemAuthAdminMapper.xml @@ -4,21 +4,9 @@