From 8d37c4444886dcd2afd018362f55d41bf70ab64d Mon Sep 17 00:00:00 2001 From: renfan <2206580733@qq.com> Date: Thu, 22 Aug 2024 22:47:47 +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=E3=80=81=E6=96=B0=E5=A2=9E=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=B7=A1=E6=A3=80=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=202=E3=80=81=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E9=97=AE=E9=A2=98=E7=AE=A1=E7=90=86=203?= =?UTF-8?q?=E3=80=81=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=AF=8F=E4=B8=AA=E7=9C=81=E4=BB=BD=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=9C=80=E5=A4=9A=E7=9A=84=E5=89=8D=E4=BA=94=E5=90=8D?= =?UTF-8?q?=204=E3=80=81=E4=BC=98=E5=8C=96=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=B7=A1=E6=A3=80=E5=8D=95=E5=88=97=E8=A1=A8=205=E3=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=BE=E5=A4=87=E6=96=B0=E5=A2=9E=206?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E5=B7=A1=E6=A3=80=E5=8D=95=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=B1=A0=207=E3=80=81=E6=96=B0=E5=A2=9E=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=A4=A7=E5=B1=8F=E4=BA=BA=E5=91=98=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/EquipmentController.java | 6 +- .../LargeDataScreenController.java | 30 +++- .../client/impl/EquipmentServiceImpl.java | 21 ++- .../ILargeDataScreenService.java | 19 ++- .../impl/LargeDataScreenServiceImpl.java | 52 +++++-- .../admin/vo/client/EquipmentLargeDataVo.java | 2 +- .../hcy/common/dto/ClientLargeDataDto.java | 25 --- .../common/dto/RoutingInspectionOrderDto.java | 7 + .../dto/largeDataDto/AdminLargeDataDto.java | 17 ++ .../dto/largeDataDto/ClientLargeDataDto.java | 26 ++++ .../entity/order/RoutingInspectionOrder.java | 2 + .../common/mapper/client/ClientMapper.java | 5 +- .../common/mapper/client/EquipmentMapper.java | 10 ++ .../order/RoutingInspectionOrderMapper.java | 4 + .../mapper/system/SystemAuthAdminMapper.java | 7 + .../main/resources/mapper/ClientMapper.xml | 8 +- .../main/resources/mapper/EquipmentMapper.xml | 27 ++++ .../mapper/MaintenanceOrderMapper.xml | 2 +- .../mapper/RoutingInspectionOrderMapper.xml | 54 ++++++- .../mapper/SystemAuthAdminMapper.xml | 19 +++ common/target/classes/mapper/ClientMapper.xml | 25 +++ .../target/classes/mapper/EquipmentMapper.xml | 27 ++++ .../classes/mapper/MaintenanceOrderMapper.xml | 2 +- .../mapper/RoutingInspectionOrderMapper.xml | 54 ++++++- .../classes/mapper/SystemAuthAdminMapper.xml | 19 +++ .../controller/fault/FaultController.java | 87 +++++++++++ .../RoutingInspectionOrderController.java | 27 ++++ .../front/service/fault/IFaultService.java | 53 +++++++ .../service/fault/impl/FaultServiceImpl.java | 146 ++++++++++++++++++ .../order/IRoutingInspectionOrderService.java | 15 ++ .../RoutingInspectionOrderServiceImpl.java | 127 +++++++++++++-- .../hcy/front/validate/fault/FaultParam.java | 35 +++++ .../order/RoutingInspectionOrderParam.java | 14 ++ .../com/hcy/front/vo/fault/FaultDetailVo.java | 22 +++ .../com/hcy/front/vo/fault/FaultListVo.java | 25 +++ .../order/RoutingInspectionOrderDetailVo.java | 28 ++-- .../order/RoutingInspectionOrderListVo.java | 5 + 37 files changed, 955 insertions(+), 99 deletions(-) delete mode 100644 common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java create mode 100644 common/src/main/java/com/hcy/common/dto/largeDataDto/AdminLargeDataDto.java create mode 100644 common/src/main/java/com/hcy/common/dto/largeDataDto/ClientLargeDataDto.java create mode 100644 common/src/main/resources/mapper/EquipmentMapper.xml create mode 100644 common/target/classes/mapper/ClientMapper.xml create mode 100644 common/target/classes/mapper/EquipmentMapper.xml create mode 100644 front/src/main/java/com/hcy/front/controller/fault/FaultController.java create mode 100644 front/src/main/java/com/hcy/front/service/fault/IFaultService.java create mode 100644 front/src/main/java/com/hcy/front/service/fault/impl/FaultServiceImpl.java create mode 100644 front/src/main/java/com/hcy/front/validate/fault/FaultParam.java create mode 100644 front/src/main/java/com/hcy/front/vo/fault/FaultDetailVo.java create mode 100644 front/src/main/java/com/hcy/front/vo/fault/FaultListVo.java diff --git a/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java b/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java index e38d200..d507c30 100644 --- a/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java +++ b/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java @@ -64,8 +64,8 @@ public class EquipmentController { @Log(title = "设备管理新增") @PostMapping("/add") public Object add(@Validated(value = EquipmentParam.create.class) @RequestBody EquipmentParam equipmentParam) { - if (!iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) { - return AjaxResult.success("新增设备失败,设备编号已存在"); + if (iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) { + return AjaxResult.success(300,"","新增设备失败,设备编号已存在"); } iEquipmentService.add(equipmentParam); return AjaxResult.success(); @@ -81,7 +81,7 @@ public class EquipmentController { @Log(title = "设备管理编辑") @PostMapping("/edit") public Object edit(@Validated(value = EquipmentParam.update.class) @RequestBody EquipmentParam equipmentParam) { - if (!iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) { + if (iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) { return AjaxResult.success("修改设备失败,设备编号已存在"); } iEquipmentService.edit(equipmentParam); 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 index 86df6ed..685697a 100644 --- a/admin/src/main/java/com/hcy/admin/controller/largeDataScreen/LargeDataScreenController.java +++ b/admin/src/main/java/com/hcy/admin/controller/largeDataScreen/LargeDataScreenController.java @@ -3,6 +3,8 @@ 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 com.hcy.common.dto.largeDataDto.AdminLargeDataDto; +import com.hcy.common.dto.largeDataDto.ClientLargeDataDto; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,7 +41,33 @@ public class LargeDataScreenController { */ @GetMapping("/clientEquipment") public Object clientEquipment() { - List list = iLargeDataScreenService.clientEquipmentList(); + List list = iLargeDataScreenService.clientEquipmentList(); return AjaxResult.success(list); } + + /** + * 获取每个省最多设备的前五 + * + * @author hcy + * @return Object + */ + @GetMapping("/provinceEquipment") + public Object provinceEquipment() { + List list = iLargeDataScreenService.provinceEquipment(); + return AjaxResult.success(list); + } + + /** + * 人员统计 + * 获取所有检修员 + * @author hcy + * @return Object + */ + @GetMapping("/personnelStatistics") + public Object personnelStatistics() { + AdminLargeDataDto adminLargeDataDto = iLargeDataScreenService.personnelStatistics(); + return AjaxResult.success(adminLargeDataDto); + } + + } 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 a3186be..54c8cb1 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 @@ -324,16 +324,15 @@ public class EquipmentServiceImpl implements IEquipmentService { */ @Override public Boolean checkEquipmentNumberUnique(EquipmentParam bo) { - List equipment = equipmentMapper.selectList(new LambdaQueryWrapper() - .eq(Equipment::getNumber, bo.getNumber()) - .ne(ObjectUtil.isNotNull(bo.getId()), Equipment::getId, bo.getId())); - boolean exist = true; - if(equipment != null){ - exist = true; - }else{ - exist = false; - } - return !exist; - } + Equipment model = equipmentMapper.selectOne( + new QueryWrapper() + .eq("number", bo.getNumber()) + .eq("is_delete", 0) + .last("limit 1")); + if (model != null){ + return true; + } + return false; + } } 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 index 2ff945c..cd85589 100644 --- a/admin/src/main/java/com/hcy/admin/service/largeDataScreen/ILargeDataScreenService.java +++ b/admin/src/main/java/com/hcy/admin/service/largeDataScreen/ILargeDataScreenService.java @@ -1,8 +1,8 @@ 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 com.hcy.common.dto.largeDataDto.AdminLargeDataDto; +import com.hcy.common.dto.largeDataDto.ClientLargeDataDto; import java.util.List; @@ -21,5 +21,18 @@ public interface ILargeDataScreenService { * 获取客户设备最多的5个客户信息 * @return */ - List clientEquipmentList(); + List clientEquipmentList(); + + /** + * 获取每个省最多设备的前五 + * @return + */ + List provinceEquipment(); + + /** + * 人员统计 + * 获取所有检修员 + * @return + */ + AdminLargeDataDto personnelStatistics(); } 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 index 33b698c..3ff7f6e 100644 --- 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 @@ -3,16 +3,18 @@ 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.dto.largeDataDto.AdminLargeDataDto; +import com.hcy.common.dto.largeDataDto.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 com.hcy.common.mapper.system.SystemAuthAdminMapper; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -27,6 +29,9 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService { @Resource ClientMapper clientMapper; + @Resource + SystemAuthAdminMapper systemAuthAdminMapper; + /** * 获取所有设备对应状态的数量 * @@ -66,11 +71,40 @@ public class LargeDataScreenServiceImpl implements ILargeDataScreenService { * @return */ @Override - public List clientEquipmentList() { - List clientLargeDataDtos = clientMapper.clientEquipmentList(); - for (ClientLargeDataDto clientLargeDataDto : clientLargeDataDtos) { - - } - return null; + public List clientEquipmentList() { + return clientMapper.clientEquipmentList(); } + + /** + * 获取每个省最多设备的前五 + * + * @return + */ + @Override + public List provinceEquipment() { + List clientLargeDataDtos = equipmentMapper.provinceEquipment(); + int number = 0; + List list = new ArrayList<>(); + for (ClientLargeDataDto clientLargeDataDto : clientLargeDataDtos) { + ClientLargeDataDto vo = new ClientLargeDataDto(); + BeanUtils.copyProperties(clientLargeDataDto, vo); + number = number + 1; + vo.setNumber(number); + list.add(vo); + } + return list; + } + + /** + * 人员统计 + * 获取所有检修员 + * + * @return + */ + @Override + public AdminLargeDataDto personnelStatistics() { + return systemAuthAdminMapper.personnelStatistics(); + } + + } 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 index 3878aaa..0549789 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentLargeDataVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentLargeDataVo.java @@ -32,9 +32,9 @@ public class EquipmentLargeDataVo implements Serializable { private String deviceCode; // 设备码 private String createTime; // 创建时间 private String clientName; // 客户名称 - private Integer normalCount; //正常数量 private Integer underOverhaulCount; //检修中数量 private Integer underWarrantyCount; //报修中数量 + } diff --git a/common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java b/common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java deleted file mode 100644 index 6fdd3c8..0000000 --- a/common/src/main/java/com/hcy/common/dto/ClientLargeDataDto.java +++ /dev/null @@ -1,25 +0,0 @@ -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 5b58eab..dcc75ca 100644 --- a/common/src/main/java/com/hcy/common/dto/RoutingInspectionOrderDto.java +++ b/common/src/main/java/com/hcy/common/dto/RoutingInspectionOrderDto.java @@ -3,6 +3,7 @@ package com.hcy.common.dto; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @Data @@ -26,9 +27,15 @@ public class RoutingInspectionOrderDto implements Serializable { private String createTime; // 创建时间 private Long faultId; // 故障id private String familiarFaultName; //故障类型 + private String faultDescription; // 故障描述 private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 private Long receiverId; // 接单人id private String receiverName; // 接单人名称 private Date receiverTime; // 接单时间 private String likeWork; // 模糊查询(工单编号/客户名称/设备编号) + private String inspectionPhoto; //巡检照片 + private double longitude; //经度 + private double latitude; //纬度 + private BigDecimal orderDistance; // 订单距离 + private Integer queryType; // 查询类型 0-离我最近 1-时间优先 } diff --git a/common/src/main/java/com/hcy/common/dto/largeDataDto/AdminLargeDataDto.java b/common/src/main/java/com/hcy/common/dto/largeDataDto/AdminLargeDataDto.java new file mode 100644 index 0000000..bce0dd0 --- /dev/null +++ b/common/src/main/java/com/hcy/common/dto/largeDataDto/AdminLargeDataDto.java @@ -0,0 +1,17 @@ +package com.hcy.common.dto.largeDataDto; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AdminLargeDataDto implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer maintenanceCount; //检修员总数 + private Integer vacationCount; //休假/停止接单中总数 + private Integer workingCount; //作业中总数 + private Integer availableCount; //可接单总数 + +} \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/dto/largeDataDto/ClientLargeDataDto.java b/common/src/main/java/com/hcy/common/dto/largeDataDto/ClientLargeDataDto.java new file mode 100644 index 0000000..8a042f4 --- /dev/null +++ b/common/src/main/java/com/hcy/common/dto/largeDataDto/ClientLargeDataDto.java @@ -0,0 +1,26 @@ +package com.hcy.common.dto.largeDataDto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 数据大屏ClientVo + */ +@Data +public class ClientLargeDataDto implements Serializable { + + private static final long serialVersionUID = 1L; + + private int number; // 序号 + private String clientNo; // 客户编号 + private String clientName; // 客户名称 + private String province; //省 + private Integer equipmentCount; // 设备总数 + private Integer normalCount; // 正常数量 + private Integer underOverhaulCount; // 检修中数量 + private Integer underWarrantyCount; // 报修中数量 + + + +} 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 89ee6c2..e1ffc33 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 @@ -53,4 +53,6 @@ public class RoutingInspectionOrder implements Serializable { private Long maintenanceId; //检修单id private Integer inspectionResult; //巡检结果(0=正常 1=异常) private String inspectionPhoto; //巡检照片 + private String inspectionResultRemark; //巡检结果备注 + } \ No newline at end of file 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 45e1def..01b094c 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,9 @@ 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.dto.largeDataDto.ClientLargeDataDto; import com.hcy.common.entity.client.Client; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java b/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java index 4f215f7..0e84c11 100644 --- a/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java @@ -1,13 +1,23 @@ package com.hcy.common.mapper.client; import com.hcy.common.core.basics.IBaseMapper; +import com.hcy.common.dto.largeDataDto.ClientLargeDataDto; import com.hcy.common.entity.client.Equipment; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 设备管理Mapper */ @Mapper public interface EquipmentMapper extends IBaseMapper { + + /** + * 获取每个省最多设备的前五 + * @return + */ + List provinceEquipment(); + } diff --git a/common/src/main/java/com/hcy/common/mapper/order/RoutingInspectionOrderMapper.java b/common/src/main/java/com/hcy/common/mapper/order/RoutingInspectionOrderMapper.java index cd5d721..3e792df 100644 --- a/common/src/main/java/com/hcy/common/mapper/order/RoutingInspectionOrderMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/order/RoutingInspectionOrderMapper.java @@ -8,6 +8,8 @@ import com.hcy.common.entity.order.RoutingInspectionOrder; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 巡检订单Mapper */ @@ -29,4 +31,6 @@ public interface RoutingInspectionOrderMapper extends IBaseMapper frontPageList(@Param("page") Page page, @Param("form") RoutingInspectionOrderDto form); + + List list(@Param("form") RoutingInspectionOrderDto form); } diff --git a/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java b/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java index 6893ad9..d278bce 100644 --- a/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java @@ -3,6 +3,7 @@ package com.hcy.common.mapper.system; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hcy.common.core.basics.IBaseMapper; import com.hcy.common.dto.SystemAuthAdminDto; +import com.hcy.common.dto.largeDataDto.AdminLargeDataDto; import com.hcy.common.entity.system.SystemAuthAdmin; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -14,4 +15,10 @@ import org.apache.ibatis.annotations.Param; public interface SystemAuthAdminMapper extends IBaseMapper { Page list(Page page, @Param("param") SystemAuthAdminDto param); + + /** + * 数据大屏获取人员统计 + * @return + */ + AdminLargeDataDto personnelStatistics(); } diff --git a/common/src/main/resources/mapper/ClientMapper.xml b/common/src/main/resources/mapper/ClientMapper.xml index 162556b..65dff4c 100644 --- a/common/src/main/resources/mapper/ClientMapper.xml +++ b/common/src/main/resources/mapper/ClientMapper.xml @@ -1,13 +1,13 @@ - + - SELECT - c.client_name,COUNT(e.client_id) AS equipmentCount, + c.client_no,c.client_name,COUNT(e.client_id) AS equipmentCount, SUM(CASE WHEN e.device_status = 1 THEN 1 ELSE 0 END) AS normalCount, SUM(CASE WHEN e.device_status = 2 THEN 1 ELSE 0 END) AS underOverhaulCount, SUM(CASE WHEN e.device_status = 3 THEN 1 ELSE 0 END) AS underWarrantyCount @@ -19,7 +19,7 @@ GROUP BY c.id ORDER BY - total_devices DESC + equipmentCount DESC LIMIT 5; diff --git a/common/src/main/resources/mapper/EquipmentMapper.xml b/common/src/main/resources/mapper/EquipmentMapper.xml new file mode 100644 index 0000000..3c251ba --- /dev/null +++ b/common/src/main/resources/mapper/EquipmentMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/common/src/main/resources/mapper/MaintenanceOrderMapper.xml b/common/src/main/resources/mapper/MaintenanceOrderMapper.xml index b03409c..ad43fcb 100644 --- a/common/src/main/resources/mapper/MaintenanceOrderMapper.xml +++ b/common/src/main/resources/mapper/MaintenanceOrderMapper.xml @@ -2,7 +2,7 @@ - SELECT lmo.*, lf.`name` as faultName, diff --git a/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml b/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml index 7630c75..a9d7631 100644 --- a/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml +++ b/common/src/main/resources/mapper/RoutingInspectionOrderMapper.xml @@ -2,8 +2,8 @@ - - + + + diff --git a/common/src/main/resources/mapper/SystemAuthAdminMapper.xml b/common/src/main/resources/mapper/SystemAuthAdminMapper.xml index a115e97..778426c 100644 --- a/common/src/main/resources/mapper/SystemAuthAdminMapper.xml +++ b/common/src/main/resources/mapper/SystemAuthAdminMapper.xml @@ -28,4 +28,23 @@ t.id DESC, t.sort DESC + + diff --git a/common/target/classes/mapper/ClientMapper.xml b/common/target/classes/mapper/ClientMapper.xml new file mode 100644 index 0000000..65dff4c --- /dev/null +++ b/common/target/classes/mapper/ClientMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/common/target/classes/mapper/EquipmentMapper.xml b/common/target/classes/mapper/EquipmentMapper.xml new file mode 100644 index 0000000..3c251ba --- /dev/null +++ b/common/target/classes/mapper/EquipmentMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/common/target/classes/mapper/MaintenanceOrderMapper.xml b/common/target/classes/mapper/MaintenanceOrderMapper.xml index b03409c..ad43fcb 100644 --- a/common/target/classes/mapper/MaintenanceOrderMapper.xml +++ b/common/target/classes/mapper/MaintenanceOrderMapper.xml @@ -2,7 +2,7 @@ - SELECT lmo.*, lf.`name` as faultName, diff --git a/common/target/classes/mapper/RoutingInspectionOrderMapper.xml b/common/target/classes/mapper/RoutingInspectionOrderMapper.xml index 7630c75..a9d7631 100644 --- a/common/target/classes/mapper/RoutingInspectionOrderMapper.xml +++ b/common/target/classes/mapper/RoutingInspectionOrderMapper.xml @@ -2,8 +2,8 @@ - - + + + diff --git a/common/target/classes/mapper/SystemAuthAdminMapper.xml b/common/target/classes/mapper/SystemAuthAdminMapper.xml index a115e97..778426c 100644 --- a/common/target/classes/mapper/SystemAuthAdminMapper.xml +++ b/common/target/classes/mapper/SystemAuthAdminMapper.xml @@ -28,4 +28,23 @@ t.id DESC, t.sort DESC + + diff --git a/front/src/main/java/com/hcy/front/controller/fault/FaultController.java b/front/src/main/java/com/hcy/front/controller/fault/FaultController.java new file mode 100644 index 0000000..d838fe4 --- /dev/null +++ b/front/src/main/java/com/hcy/front/controller/fault/FaultController.java @@ -0,0 +1,87 @@ +package com.hcy.front.controller.fault; + +import com.hcy.common.core.AjaxResult; +import com.hcy.common.core.PageResult; +import com.hcy.common.validator.annotation.IDMust; +import com.hcy.front.service.fault.IFaultService; +import com.hcy.front.validate.PageParam; +import com.hcy.front.validate.fault.FaultParam; +import com.hcy.front.vo.fault.FaultDetailVo; +import com.hcy.front.vo.fault.FaultListVo; +import lombok.extern.java.Log; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 常见故障管理 + */ +@RestController +@RequestMapping("api/fault") +public class FaultController { + + @Resource + IFaultService iFaultService; + + /** + * 常见故障列表 + * + * @param pageParam 分页参数 + * @param faultParam 搜索参数 + * @return Object + */ + @GetMapping("/list") + public Object list(@Validated PageParam pageParam, FaultParam faultParam) { + PageResult list = iFaultService.list(pageParam, faultParam); + return AjaxResult.success(list); + } + /** + * 常见故障详情 + * + * @param id 主键ID + * @return Object + */ + @GetMapping("/detail") + public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { + FaultDetailVo detail = iFaultService.detail(id); + return AjaxResult.success(detail); + } + + /** + * 常见故障新增 + * + * @param faultParam 参数 + * @return Object + */ + @PostMapping("/add") + public Object add(@Validated(value = FaultParam.create.class) @RequestBody FaultParam faultParam) { + iFaultService.add(faultParam); + return AjaxResult.success(); + } + + /** + * 常见故障编辑 + * + * @param faultParam 参数 + * @return Object + */ + @PostMapping("/edit") + public Object edit(@Validated(value = FaultParam.update.class) @RequestBody FaultParam faultParam) { + iFaultService.edit(faultParam); + return AjaxResult.success(); + } + + /** + * 常见故障删除 + * + * @param faultParam 参数 + * @return Object + */ + @PostMapping("/del") + public Object del(@Validated(value = FaultParam.delete.class) @RequestBody FaultParam faultParam) { + iFaultService.del(faultParam.getId()); + return AjaxResult.success(); + } + +} diff --git a/front/src/main/java/com/hcy/front/controller/order/RoutingInspectionOrderController.java b/front/src/main/java/com/hcy/front/controller/order/RoutingInspectionOrderController.java index 0bbb0c2..7da6d90 100644 --- a/front/src/main/java/com/hcy/front/controller/order/RoutingInspectionOrderController.java +++ b/front/src/main/java/com/hcy/front/controller/order/RoutingInspectionOrderController.java @@ -6,6 +6,7 @@ import com.hcy.common.core.PageResult; import com.hcy.common.validator.annotation.IDMust; import com.hcy.front.service.order.IRoutingInspectionOrderService; import com.hcy.front.validate.PageParam; +import com.hcy.front.validate.order.MaintenanceOrderParam; import com.hcy.front.validate.order.RoutingInspectionOrderParam; import com.hcy.front.vo.order.RoutingInspectionOrderDetailVo; import com.hcy.front.vo.order.RoutingInspectionOrderListVo; @@ -39,6 +40,18 @@ public class RoutingInspectionOrderController { PageResult list = iRoutingInspectionOrderService.list(pageParam, params); return AjaxResult.success(list); } + + /** + * 巡检单工单池 + * 查询未被接单的订单 + * @param routingInspectionOrderParam 搜索参数 + * @return Object + */ + @GetMapping("/inspectionList") + public Object list(RoutingInspectionOrderParam routingInspectionOrderParam) { + return AjaxResult.success(iRoutingInspectionOrderService.inspectionList(routingInspectionOrderParam)); + } + /** * 巡检订单详情 * @@ -52,6 +65,19 @@ public class RoutingInspectionOrderController { return AjaxResult.success(detail); } + /** + * 抢单 + * + * @author hcy + * @param routingInspectionOrderParam 参数 + * @return Object + */ + @PostMapping("/grabTheOrder") + public Object grabTheOrder(@RequestBody RoutingInspectionOrderParam routingInspectionOrderParam) { + iRoutingInspectionOrderService.grabTheOrder(routingInspectionOrderParam); + return AjaxResult.success(); + } + /** * 接单 * @@ -90,4 +116,5 @@ public class RoutingInspectionOrderController { iRoutingInspectionOrderService.faultDetect(routingInspectionOrderParam); return AjaxResult.success(); } + } diff --git a/front/src/main/java/com/hcy/front/service/fault/IFaultService.java b/front/src/main/java/com/hcy/front/service/fault/IFaultService.java new file mode 100644 index 0000000..68662e6 --- /dev/null +++ b/front/src/main/java/com/hcy/front/service/fault/IFaultService.java @@ -0,0 +1,53 @@ +package com.hcy.front.service.fault; + + +import com.hcy.common.core.PageResult; +import com.hcy.front.validate.PageParam; +import com.hcy.front.validate.fault.FaultParam; +import com.hcy.front.vo.fault.FaultDetailVo; +import com.hcy.front.vo.fault.FaultListVo; + +/** + * 常见故障服务接口类 + */ +public interface IFaultService { + + /** + * 常见故障列表 + * + * @param pageParam 分页参数 + * @param faultParam 搜索参数 + * @return PageResult + */ + PageResult list(PageParam pageParam, FaultParam faultParam); + + /** + * 常见故障详情 + * + * @param id 主键ID + * @return Fault + */ + FaultDetailVo detail(Integer id); + + /** + * 常见故障新增 + * + * @param faultParam 参数 + */ + void add(FaultParam faultParam); + + /** + * 常见故障编辑 + * + * @param faultParam 参数 + */ + void edit(FaultParam faultParam); + + /** + * 常见故障删除 + * + * @param id 主键ID + */ + void del(Long id); + +} diff --git a/front/src/main/java/com/hcy/front/service/fault/impl/FaultServiceImpl.java b/front/src/main/java/com/hcy/front/service/fault/impl/FaultServiceImpl.java new file mode 100644 index 0000000..a3d4917 --- /dev/null +++ b/front/src/main/java/com/hcy/front/service/fault/impl/FaultServiceImpl.java @@ -0,0 +1,146 @@ +package com.hcy.front.service.fault.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import com.hcy.common.constant.GlobalConstant; +import com.hcy.common.core.PageResult; +import com.hcy.common.entity.fault.Fault; +import com.hcy.common.mapper.fault.FaultMapper; +import com.hcy.front.service.fault.IFaultService; +import com.hcy.front.validate.PageParam; +import com.hcy.front.validate.fault.FaultParam; +import com.hcy.front.vo.fault.FaultDetailVo; +import com.hcy.front.vo.fault.FaultListVo; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import javax.annotation.Resource; +import java.util.LinkedList; +import java.util.List; + +/** + * 常见故障实现类 + */ +@Service +public class FaultServiceImpl implements IFaultService { + + @Resource + FaultMapper faultMapper; + + /** + * 常见故障列表 + * + * @param pageParam 分页参数 + * @param faultParam 搜索参数 + * @return PageResult + */ + @Override + public PageResult list(PageParam pageParam, FaultParam faultParam) { + Integer page = pageParam.getPageNo(); + Integer limit = pageParam.getPageSize(); + + Long faultType = faultParam.getFaultType(); + String name = faultParam.getName(); + Integer status = faultParam.getStatus(); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(Fault::getIsDelete, GlobalConstant.NOT_DELETE) + .eq(faultType != null, Fault::getFaultType, faultType) + .like(name != null, Fault::getName, name) + .eq(status != null, Fault::getStatus, status) + .orderByAsc(Fault::getSort) + .orderByDesc(Fault::getCreateTime); + + IPage iPage = faultMapper.selectPage(new Page<>(page, limit), wrapper); + + List list = new LinkedList<>(); + for(Fault item : iPage.getRecords()) { + FaultListVo vo = new FaultListVo(); + BeanUtils.copyProperties(item, vo); + vo.setCreateTime(item.getCreateTime()); + list.add(vo); + } + + return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list); + } + + /** + * 常见故障详情 + * + * @param id 主键参数 + * @return Fault + */ + @Override + public FaultDetailVo detail(Integer id) { + Fault model = faultMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", GlobalConstant.NOT_DELETE) + .last("limit 1")); + + Assert.notNull(model, "数据不存在"); + + FaultDetailVo vo = new FaultDetailVo(); + BeanUtils.copyProperties(model, vo); + return vo; + } + + /** + * 常见故障新增 + * + * @param faultParam 参数 + */ + @Override + public void add(FaultParam faultParam) { + Fault model = new Fault(); + model.setFaultType(faultParam.getFaultType()); + model.setSort(faultParam.getSort()); + model.setName(faultParam.getName()); + model.setStatus(faultParam.getStatus()); + model.setDescription(faultParam.getDescription()); + faultMapper.insert(model); + } + + /** + * 常见故障编辑 + * + * @param faultParam 参数 + */ + @Override + public void edit(FaultParam faultParam) { + Fault model = faultMapper.selectOne( + new QueryWrapper() + .eq("id", faultParam.getId()) + .eq("is_delete", GlobalConstant.NOT_DELETE) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + BeanUtils.copyProperties(faultParam,model); + faultMapper.updateById(model); + } + + /** + * 常见故障删除 + * + * @param id 主键ID + */ + @Override + public void del(Long id) { + Fault model = faultMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", GlobalConstant.NOT_DELETE) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + model.setIsDelete(GlobalConstant.DELETE); + faultMapper.updateById(model); + } + +} diff --git a/front/src/main/java/com/hcy/front/service/order/IRoutingInspectionOrderService.java b/front/src/main/java/com/hcy/front/service/order/IRoutingInspectionOrderService.java index 1efd2b7..dd5a5e2 100644 --- a/front/src/main/java/com/hcy/front/service/order/IRoutingInspectionOrderService.java +++ b/front/src/main/java/com/hcy/front/service/order/IRoutingInspectionOrderService.java @@ -3,9 +3,11 @@ package com.hcy.front.service.order; import com.hcy.common.core.PageResult; import com.hcy.front.validate.PageParam; import com.hcy.front.validate.order.RoutingInspectionOrderParam; +import com.hcy.front.vo.order.MaintenanceOrderListVo; import com.hcy.front.vo.order.RoutingInspectionOrderDetailVo; import com.hcy.front.vo.order.RoutingInspectionOrderListVo; +import java.util.List; import java.util.Map; /** @@ -49,4 +51,17 @@ public interface IRoutingInspectionOrderService { * @param routingInspectionOrderParam */ void faultDetect(RoutingInspectionOrderParam routingInspectionOrderParam); + + /** + * 抢单 + * @param routingInspectionOrderParam + */ + void grabTheOrder(RoutingInspectionOrderParam routingInspectionOrderParam); + + /** + * 查询未被接单的订单 + * @param routingInspectionOrderParam + * @return + */ + List inspectionList(RoutingInspectionOrderParam routingInspectionOrderParam); } diff --git a/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java index 8b1889e..002da46 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/RoutingInspectionOrderServiceImpl.java @@ -4,18 +4,29 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hcy.common.core.PageResult; import com.hcy.common.dto.RoutingInspectionOrderDto; +import com.hcy.common.dto.order.MaintenanceOrderDto; import com.hcy.common.entity.client.Client; import com.hcy.common.entity.client.Equipment; +import com.hcy.common.entity.fault.Fault; +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.entity.user.User; +import com.hcy.common.enums.order.MaintenanceOrderStatusEnum; import com.hcy.common.enums.order.OrderStateEnum; +import com.hcy.common.exception.OperateException; import com.hcy.common.mapper.client.ClientMapper; import com.hcy.common.mapper.client.EquipmentMapper; +import com.hcy.common.mapper.fault.FaultMapper; import com.hcy.common.mapper.order.RoutingInspectionOrderMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; +import com.hcy.common.mapper.user.UserMapper; +import com.hcy.common.utils.ToolsUtil; +import com.hcy.front.FrontThreadLocal; import com.hcy.front.service.order.IRoutingInspectionOrderService; import com.hcy.front.validate.PageParam; import com.hcy.front.validate.order.RoutingInspectionOrderParam; +import com.hcy.front.vo.order.MaintenanceOrderListVo; import com.hcy.front.vo.order.RoutingInspectionOrderDetailVo; import com.hcy.front.vo.order.RoutingInspectionOrderListVo; import org.apache.commons.lang3.StringUtils; @@ -24,10 +35,10 @@ import org.springframework.stereotype.Service; import org.springframework.util.Assert; import javax.annotation.Resource; -import java.util.Date; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.util.*; +import java.util.stream.Collectors; /** * 巡检订单实现类 @@ -45,7 +56,13 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde ClientMapper clientMapper; @Resource - SystemAuthAdminMapper systemAuthAdminMapper; + UserMapper userMapper; + + @Resource + FaultMapper faultMapper; + + private final DecimalFormat df = new DecimalFormat ("#.#"); + /** * 巡检订单列表 @@ -67,10 +84,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde inspectionOrderDto.setOrderStatus(Long.valueOf(params.get("orderStatus"))); } + inspectionOrderDto.setReceiverId(FrontThreadLocal.getUserId().longValue()); //只查询当前用户的巡检单 Page iPage = routingInspectionOrderMapper.frontPageList(page, inspectionOrderDto); - - List list = new LinkedList<>(); for(RoutingInspectionOrderDto item : iPage.getRecords()) { RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo(); @@ -116,15 +132,25 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde vo.setEquipmentNo(equipment.getNumber()); vo.setEquipmentName(equipment.getName()); vo.setDetailedAddress(equipment.getDetailedAddress()); + vo.setModel(equipment.getModel()); + vo.setManufacturers(equipment.getManufacturers()); + vo.setSpecification(equipment.getSpecification()); //接单人 - SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne( - new QueryWrapper() + User username = userMapper.selectOne( + new QueryWrapper() .eq("id", model.getReceiverId()) .last("limit 1")); - if(authAdmin != null){ - vo.setReceiverName(authAdmin.getUsername()); + if(username != null){ + vo.setReceiverName(username.getUsername()); + } + //故障类型 + Fault id1 = faultMapper.selectOne( + new QueryWrapper() + .eq("id", model.getFaultId()) + .last("limit 1")); + if(id1 != null){ + vo.setFamiliarFaultName(id1.getName()); } - return vo; } @@ -186,11 +212,86 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde model.setFaultId(routingInspectionOrderParam.getFaultId()); // 故障id model.setFaultDescription(routingInspectionOrderParam.getFaultDescription()); // 故障描述 model.setInspectionResult(routingInspectionOrderParam.getInspectionResult()); //巡检结果(0=正常 1=异常) - String inspectionResultRemark = routingInspectionOrderParam.getInspectionResultRemark();//巡检结果备注 + model.setInspectionResultRemark(routingInspectionOrderParam.getInspectionResultRemark());//巡检结果备注 model.setInspectionPhoto(routingInspectionOrderParam.getInspectionPhoto()); // 巡检照片 model.setOrderStatus(OrderStateEnum.COMPLETED.getStatus()); //故障检测完工单状态就为已完成 + model.setOrderAccomplishTime(new Date()); //订单完成时间 routingInspectionOrderMapper.updateById(model); } + /** + * 抢单 + * + * @param routingInspectionOrderParam + */ + @Override + public void grabTheOrder(RoutingInspectionOrderParam routingInspectionOrderParam) { + RoutingInspectionOrder model = routingInspectionOrderMapper.selectOne( + new QueryWrapper() + .eq("id", routingInspectionOrderParam.getId()) + .eq("is_delete", 0) + .last("limit 1")); + Assert.notNull(model, "数据不存在"); + + if(model.getOrderStatus() == OrderStateEnum.WAITING_LIST.getStatus()){ + model.setReceiverId(FrontThreadLocal.getUserId().longValue()); + model.setOrderStatus(OrderStateEnum.PENDING_ORDER.getStatus()); + model.setReceiverTime(new Date()); + routingInspectionOrderMapper.updateById(model); + }else{ + throw new OperateException("订单已被其他人抢走"); + } + } + + /** + * 查询未被接单的订单 + * + * @param routingInspectionOrderParam + * @return + */ + @Override + public List inspectionList(RoutingInspectionOrderParam routingInspectionOrderParam) { + RoutingInspectionOrderDto inspectionOrderDto = new RoutingInspectionOrderDto(); + BeanUtils.copyProperties(routingInspectionOrderParam,inspectionOrderDto); + + List routingInspectionOrderDto = routingInspectionOrderMapper.list(inspectionOrderDto); + + List returnData = new LinkedList<>(); + for (RoutingInspectionOrderDto item : routingInspectionOrderDto) { + + //判断抢单距离大于订单距离则返回订单 + double distance = ToolsUtil.getDistance(item.getLongitude(), item.getLatitude() + , routingInspectionOrderParam.getLongitude(), routingInspectionOrderParam.getLatitude()); + if(item.getOrderDistance().compareTo(BigDecimal.valueOf((distance / 1000))) >= 0){ + // 计算距离 + RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo(); + BeanUtils.copyProperties(item, vo); + vo.setDistance(String.valueOf(distance)); + returnData.add(vo); + } + + } + + if(routingInspectionOrderParam.getQueryType() == MaintenanceOrderStatusEnum.NEAREST_TO_ME.getStatus()){ + //按距离排序 + returnData = returnData.stream() + .sorted(Comparator.comparing(RoutingInspectionOrderListVo::getDistance)) + .collect(Collectors.toList()); + + //将米数转换为km + for (RoutingInspectionOrderListVo inspectionOrderListVo : returnData) { + double distance = Double.parseDouble(inspectionOrderListVo.getDistance()); + if(distance < 1000){ + inspectionOrderListVo.setDistance(distance + "米"); + }else{ + double km = distance / 1000; + inspectionOrderListVo.setDistance(df.format(km) + "km"); + } + } + } + + return returnData; + } + } diff --git a/front/src/main/java/com/hcy/front/validate/fault/FaultParam.java b/front/src/main/java/com/hcy/front/validate/fault/FaultParam.java new file mode 100644 index 0000000..ea891fc --- /dev/null +++ b/front/src/main/java/com/hcy/front/validate/fault/FaultParam.java @@ -0,0 +1,35 @@ +package com.hcy.front.validate.fault; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 常见故障参数 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class FaultParam implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface create{} + public interface update{} + public interface delete{} + + private Long id; + + private Long faultType; + + private Long sort; + + private String name; + + private String description; + + private Integer status; + +} diff --git a/front/src/main/java/com/hcy/front/validate/order/RoutingInspectionOrderParam.java b/front/src/main/java/com/hcy/front/validate/order/RoutingInspectionOrderParam.java index fe059c4..3598cb8 100644 --- a/front/src/main/java/com/hcy/front/validate/order/RoutingInspectionOrderParam.java +++ b/front/src/main/java/com/hcy/front/validate/order/RoutingInspectionOrderParam.java @@ -8,6 +8,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.constraints.DecimalMin; import java.io.Serializable; import java.math.BigDecimal; +import java.util.Date; /** * 巡检订单参数 @@ -68,4 +69,17 @@ public class RoutingInspectionOrderParam implements Serializable { private String inspectionResultRemark; //巡检结果备注 private String inspectionPhoto; //巡检照片 + private Date orderAccomplishTime; // 订单完成时间 + private String clientName; // 客户名称 + private String equipmentNo; //设备编号 + private String equipmentName; //设备名称 + private String detailedAddress; // 设备详细地址 + private String creatorName; //创建人名称 + private String createTime; // 创建时间 + private String familiarFaultName; //故障类型 + private String receiverName; // 接单人名称 + private String likeWork; // 模糊查询(工单编号/客户名称/设备编号) + private double longitude; //经度 + private double latitude; //纬度 + private Integer queryType; // 查询类型 0-离我最近 1-时间优先 } diff --git a/front/src/main/java/com/hcy/front/vo/fault/FaultDetailVo.java b/front/src/main/java/com/hcy/front/vo/fault/FaultDetailVo.java new file mode 100644 index 0000000..f85b0c8 --- /dev/null +++ b/front/src/main/java/com/hcy/front/vo/fault/FaultDetailVo.java @@ -0,0 +1,22 @@ +package com.hcy.front.vo.fault; + +import lombok.Data; + +import java.io.Serializable; + +/** + * FaultVo + */ +@Data +public class FaultDetailVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // id + private Long faultType; // 问题类型 1-常见问题 2-常见维修结论描述 + private Long sort; // 序号 + private String name; // 故障名称 + private String description; // 故障描述 + private Integer status; // 状态 0-正常 1-停用 + +} diff --git a/front/src/main/java/com/hcy/front/vo/fault/FaultListVo.java b/front/src/main/java/com/hcy/front/vo/fault/FaultListVo.java new file mode 100644 index 0000000..40f0486 --- /dev/null +++ b/front/src/main/java/com/hcy/front/vo/fault/FaultListVo.java @@ -0,0 +1,25 @@ +package com.hcy.front.vo.fault; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * FaultVo + */ +@Data +public class FaultListVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; // id + private Long faultType; // 问题类型 1-常见问题 2-常见维修结论描述 + private Long sort; // 序号 + private String name; // 故障名称 + private String description; // 故障描述 + private Integer status; // 状态 0-正常 1-停用 + private Date createTime; // 创建时间 + private Date updateTime; // 更新时间 + +} diff --git a/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderDetailVo.java b/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderDetailVo.java index 4fbcfe2..b1a4864 100644 --- a/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderDetailVo.java +++ b/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderDetailVo.java @@ -15,22 +15,28 @@ public class RoutingInspectionOrderDetailVo implements Serializable { private static final long serialVersionUID = 1L; private Long id; // 主键id - private String orderNo; // 订单编号 - private Integer orderSource; // 订单来源 1-系统创建;4-客服创建 - private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员 private Integer orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 + private String orderNo; // 订单编号 private Long clientId; // 客户id - private Long equipmentId; // 设备id - private Long receiverId; // 接单人id - private Date receiverTime; // 接单时间 - private String remark; // 备注 - private Integer creatorId; // 创建人id - private Integer receiverType; // 接单类型 0-区域派单;1-距离派单 - private BigDecimal orderDistance; // 订单距离 private String clientName; // 客户名称 - private String equipmentNo; //设备编号 + private Long equipmentId; // 设备id private String equipmentName; //设备名称 + private String equipmentNo; //设备编号 private String detailedAddress; // 设备详细地址 + private String model; // 设备型号 + private String manufacturers; // 设备厂家 + private String specification; // 设备规格 + private Long receiverId; // 接单人id private String receiverName; // 接单人名称 + private Date receiverTime; // 接单时间 + private Long faultId; // 故障id + private String familiarFaultName; //故障类型 + private String faultDescription; // 故障描述 + private Date createTime; // 创建时间 + private Date orderAccomplishTime; // 订单完成时间 + private String inspectionPhoto; //巡检照片 + private Integer inspectionResult; //巡检结果(0=正常 1=异常) + private String inspectionResultRemark; //巡检结果备注 + private Integer creatorId; // 创建人id } diff --git a/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderListVo.java b/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderListVo.java index 98b413b..2845648 100644 --- a/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderListVo.java +++ b/front/src/main/java/com/hcy/front/vo/order/RoutingInspectionOrderListVo.java @@ -3,6 +3,7 @@ package com.hcy.front.vo.order; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -24,4 +25,8 @@ public class RoutingInspectionOrderListVo implements Serializable { private String detailedAddress; // 设备详细地址 private String createTime; // 创建时间 private Long orderStatus; // 订单状态 0-待抢单;1-待接单;2-接单超时;3-巡检中;4-已完成;5-已退单;6-待巡检 + private String distance; //距离 + private BigDecimal orderDistance; // 订单距离 + + }