【admin】优化# 1、优化部分bug

renfan 2024-09-07 17:54:35 +08:00
parent fd0df4fe69
commit 904de747ac
22 changed files with 247 additions and 71 deletions

View File

@ -10,6 +10,7 @@ import com.hcy.admin.vo.client.ClientSiteDetailVo;
import com.hcy.admin.vo.client.ClientSiteListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -38,7 +39,7 @@ public class ClientSiteController {
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
ClientSiteParam clientSiteParam) {
List<ClientSiteListVo> list = iClientSiteService.list(pageParam, clientSiteParam);
PageResult<ClientSiteListVo> list = iClientSiteService.list(pageParam, clientSiteParam);
return AjaxResult.success(list);
}
/**
@ -96,4 +97,5 @@ public class ClientSiteController {
return AjaxResult.success();
}
}

View File

@ -64,9 +64,9 @@ public class EquipmentController {
@Log(title = "设备管理新增")
@PostMapping("/add")
public Object add(@Validated(value = EquipmentParam.create.class) @RequestBody EquipmentParam equipmentParam) {
if (iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) {
/*if (iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) {
return AjaxResult.success(300,"","新增设备失败,设备编号已存在");
}
}*/
iEquipmentService.add(equipmentParam);
return AjaxResult.success();
}

View File

@ -4,6 +4,7 @@ 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.PageResult;
import java.util.List;
@ -21,7 +22,7 @@ public interface IClientSiteService {
* @param clientSiteParam
* @return PageResult<SiteVo>
*/
List<ClientSiteListVo> list(PageParam pageParam, ClientSiteParam clientSiteParam);
PageResult<ClientSiteListVo> list(PageParam pageParam, ClientSiteParam clientSiteParam);
/**
*

View File

@ -2,6 +2,7 @@ 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hcy.admin.AdminThreadLocal;
import com.hcy.admin.service.client.IClientSiteService;
import com.hcy.admin.service.region.IDevRegionService;
@ -12,6 +13,7 @@ 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.core.PageResult;
import com.hcy.common.dto.ClientSiteDto;
import com.hcy.common.entity.client.Client;
import com.hcy.common.entity.client.Equipment;
@ -23,6 +25,7 @@ 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 com.hcy.common.utils.TimeUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
@ -63,17 +66,17 @@ public class ClientSiteServiceImpl implements IClientSiteService {
* @return PageResult<SiteListVo>
*/
@Override
public List<ClientSiteListVo> list(PageParam pageParam, ClientSiteParam clientSiteParam) {
public PageResult<ClientSiteListVo> list(PageParam pageParam, ClientSiteParam clientSiteParam) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
ClientSiteDto clientSiteDto = new ClientSiteDto();
BeanUtils.copyProperties(clientSiteParam, clientSiteDto);
List<ClientSiteDto> clientSiteDtos = clientSiteMapper.siteEquipmentList(clientSiteDto);
Page<ClientSiteDto> iPage = clientSiteMapper.siteEquipmentList(new Page<>(page, limit), clientSiteDto);
List<ClientSiteListVo> list = new LinkedList<>();
for(ClientSiteDto item : clientSiteDtos) {
for(ClientSiteDto item : iPage.getRecords()) {
ClientSiteListVo vo = new ClientSiteListVo();
BeanUtils.copyProperties(item, vo);
@ -114,15 +117,23 @@ public class ClientSiteServiceImpl implements IClientSiteService {
}
//设置设备模块信息
equipmentListVo.setEquipmentModel(equipmentModelDetailVo);
//设备创建时间
equipmentListVo.setCreateTime(TimeUtil.timestampToDate(equipmentItem.getCreateTime()));
equipmentList.add(equipmentListVo);
}
}
vo.setEquipmentList(equipmentList);
//省市区名称
vo.setProvince(regionMap.get(vo.getProvinceId()));
vo.setCity(regionMap.get(vo.getCityId()));
vo.setDistrict(regionMap.get(vo.getDistrictId()));
list.add(vo);
}
return list;
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
@ -144,6 +155,50 @@ public class ClientSiteServiceImpl implements IClientSiteService {
ClientSiteDetailVo vo = new ClientSiteDetailVo();
BeanUtils.copyProperties(model, vo);
// 获取设备列表
List<Equipment> equipment = equipmentMapper.selectList(new LambdaQueryWrapper<Equipment>()
.eq(Equipment::getIsDelete, GlobalConstant.NOT_DELETE)
.eq(Equipment::getClientSiteId, model.getId()));
Map<Long, String> regionMap = regionService.getRegionMap();//获取省市区
List<EquipmentListVo> 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<Client>()
.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);
return vo;
}
@ -193,6 +248,9 @@ public class ClientSiteServiceImpl implements IClientSiteService {
model.setCityId(clientSiteParam.getCityId()); // 市id
model.setDetailedAddress(clientSiteParam.getDetailedAddress()); // 详细地址
model.setInspectionCycle(clientSiteParam.getInspectionCycle()); // 巡检周期方式0=天数间隔1=固定日期)
model.setDailyAudit(clientSiteParam.getDailyAudit()); // 每隔几天巡检
clientSiteMapper.updateById(model);
}

View File

@ -17,12 +17,15 @@ import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.core.PageResult;
import com.hcy.common.dto.EquipmentDto;
import com.hcy.common.entity.client.Client;
import com.hcy.common.entity.client.ClientSite;
import com.hcy.common.entity.client.Equipment;
import com.hcy.common.entity.client.EquipmentModel;
import com.hcy.common.entity.order.RepairOrder;
import com.hcy.common.entity.user.User;
import com.hcy.common.enums.equipment.EquipmentStateEnum;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.client.ClientMapper;
import com.hcy.common.mapper.client.ClientSiteMapper;
import com.hcy.common.mapper.client.EquipmentMapper;
import com.hcy.common.mapper.client.EquipmentModelMapper;
import com.hcy.common.mapper.user.UserMapper;
@ -58,6 +61,9 @@ public class EquipmentServiceImpl implements IEquipmentService {
@Resource
UserMapper userMapper;
@Resource
ClientSiteMapper clientSiteMapper;
/**
*
*
@ -111,7 +117,7 @@ public class EquipmentServiceImpl implements IEquipmentService {
}
//设置设备模块信息
vo.setEquipmentModel(equipmentModelDetailVo);
//设备创建时间
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
list.add(vo);
}
@ -163,7 +169,11 @@ public class EquipmentServiceImpl implements IEquipmentService {
throw new OperateException("设备编号不可重复!");
}
model.setClientSiteId(equipmentParam.getClientSiteId()); // 站点id
model.setClientId(equipmentParam.getClientId());//客户id
// 获取站点客户id
ClientSite clientSite = clientSiteMapper.selectOne(new LambdaQueryWrapper<ClientSite>()
.eq(ClientSite::getId, equipmentParam.getClientSiteId()));
model.setClientId(clientSite.getClientId());//客户id
model.setNumber(getEquipmentNo(equipmentParam.getClientSiteId())); // 设备编号
model.setName(equipmentParam.getName());
model.setModel(equipmentParam.getModel()); // 设备型号
model.setManufacturers(equipmentParam.getManufacturers()); // 设备厂家
@ -202,13 +212,13 @@ public class EquipmentServiceImpl implements IEquipmentService {
model.setId(equipmentParam.getId());
model.setClientId(equipmentParam.getClientId());
model.setModuleId(equipmentParam.getModuleId());
model.setNumber(equipmentParam.getNumber());
/*model.setNumber(equipmentParam.getNumber());
Integer count = equipmentMapper.selectCount(new LambdaQueryWrapper<Equipment>()
.eq(Equipment::getIsDelete, GlobalConstant.NOT_DELETE)
.eq(Equipment::getNumber, equipmentParam.getNumber()));
if(count > 0){
throw new OperateException("设备编号不可重复!");
}
}*/
model.setClientSiteId(equipmentParam.getClientSiteId());
model.setName(equipmentParam.getName());
model.setModel(equipmentParam.getModel());
@ -417,4 +427,37 @@ public class EquipmentServiceImpl implements IEquipmentService {
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
private String getEquipmentNo(Long clientSiteId) {
//获取站点信息
ClientSite clientSite = clientSiteMapper.selectOne(new LambdaQueryWrapper<ClientSite>()
.eq(ClientSite::getId, clientSiteId));
//获取客户信息
Client client = clientMapper.selectOne(new LambdaQueryWrapper<Client>()
.eq(Client::getId, clientSite.getClientId()));
StringBuilder currentEquipmentNo = new StringBuilder(client.getClientNo() + "-" + "000001");
Equipment equipment = equipmentMapper.selectOne(new LambdaQueryWrapper<Equipment>()
.eq(Equipment::getIsDelete, GlobalConstant.NOT_DELETE)
.like(Equipment::getNumber, client.getClientNo())
.orderByDesc(Equipment::getNumber)
.last("limit 1"));
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
if (equipment == null) {
return currentEquipmentNo.toString();
} else {
int lastEquipmentNo = Integer.parseInt(equipment.getNumber().substring(8));
int length = String.valueOf((lastEquipmentNo + 1)).length();
StringBuilder newEquipmentNo = new StringBuilder(lastEquipmentNo + 1 + "");
//如果流水号长度小于6位则在前面补0
if (length < 6) {
for (int i = 0; i < 6 - length; i++) {
newEquipmentNo.insert(0, "0");
}
}
return client.getClientNo() + "-" + newEquipmentNo;
}
}
}

View File

@ -16,6 +16,7 @@ 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.ClientSite;
import com.hcy.common.entity.client.Equipment;
import com.hcy.common.entity.fault.Fault;
import com.hcy.common.entity.order.MaintenanceOrder;
@ -27,6 +28,7 @@ import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
import com.hcy.common.enums.order.OrderOperateRecordEnum;
import com.hcy.common.enums.order.OrderStateEnum;
import com.hcy.common.mapper.client.ClientMapper;
import com.hcy.common.mapper.client.ClientSiteMapper;
import com.hcy.common.mapper.client.EquipmentMapper;
import com.hcy.common.mapper.fault.FaultMapper;
import com.hcy.common.mapper.order.OrderOperateRecordMapper;
@ -77,6 +79,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
@Resource
OrderOperateRecordMapper orderOperateRecordMapper;
@Resource
ClientSiteMapper clientSiteMapper;
/**
*
*
@ -93,7 +98,9 @@ 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.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")));
@ -104,11 +111,26 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
Page<RoutingInspectionOrderDto> iPage = routingInspectionOrderMapper.pageList(page, inspectionOrderDto);
Map<Long, String> regionMap = regionService.getRegionMap();
List<RoutingInspectionOrderListVo> list = new LinkedList<>();
for(RoutingInspectionOrderDto item : iPage.getRecords()) {
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();
BeanUtils.copyProperties(item, vo);
//站点名称 站点地址
ClientSite clientSite = clientSiteMapper.selectOne(new LambdaQueryWrapper<ClientSite>()
.eq(ClientSite::getId, item.getClientSiteId()));
if(clientSite != null){
//站点名称
vo.setSiteName(clientSite.getSiteName());
//站点地址
String province = regionMap.get(clientSite.getProvinceId());
String city = regionMap.get(clientSite.getCityId());
String district = regionMap.get(clientSite.getDistrictId());
vo.setSiteAddress(province + city + district + clientSite.getDetailedAddress());
}
list.add(vo);
}
@ -142,7 +164,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
vo.setClientName(client.getClientName());
//设备信息
Map<Long, String> regionMap = regionService.getRegionMap();
Equipment equipment = equipmentMapper.selectOne(
/*Equipment equipment = equipmentMapper.selectOne(
new QueryWrapper<Equipment>()
.eq("id", model.getEquipmentId())
.last("limit 1"));
@ -151,7 +173,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
equipmentListVo.setCity(regionMap.get(equipment.getCityId()));
equipmentListVo.setDistrict(regionMap.get(equipment.getDistrictId()));
BeanUtils.copyProperties(equipment, equipmentListVo);
vo.setEquipment(equipmentListVo); //设备信息
vo.setEquipment(equipmentListVo); //设备信息*/
//接单人
User user = userMapper.selectOne(
new QueryWrapper<User>()
@ -182,6 +204,22 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
.eq(OrderOperateRecord::getOrderType, OrderOperateRecordEnum.ROUTING_INSPECTION.getStatus())
.eq(OrderOperateRecord::getOrderId, model.getId());
vo.setOrderOperateRecords(orderOperateRecordMapper.selectList(queryWrapper));;
//站点名称 站点地址
ClientSite clientSite = clientSiteMapper.selectOne(new LambdaQueryWrapper<ClientSite>()
.eq(ClientSite::getId, model.getClientSiteId()));
if(clientSite != null){
//站点名称
vo.setSiteName(clientSite.getSiteName());
//站点地址
String province = regionMap.get(clientSite.getProvinceId());
String city = regionMap.get(clientSite.getCityId());
String district = regionMap.get(clientSite.getDistrictId());
vo.setSiteAddress(province + city + district + clientSite.getDetailedAddress());
}
return vo;
}
@ -208,7 +246,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
model.setOrderNo(getOrderNo()); // 订单编号
model.setClientId(routingInspectionOrderParam.getClientId()); //客户id
model.setEquipmentId(routingInspectionOrderParam.getEquipmentId());// 设备id
model.setClientSiteId(routingInspectionOrderParam.getClientSiteId()); // 客户站点id
model.setReceiverId(routingInspectionOrderParam.getReceiverId()); // 接单人id
model.setRemark(routingInspectionOrderParam.getRemark()); // 备注
model.setReceiverType(routingInspectionOrderParam.getReceiverType()); // 接单类型 0-区域派单1-距离派单

View File

@ -8,6 +8,7 @@ import org.hibernate.validator.constraints.Length;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -27,35 +28,27 @@ public class ClientSiteParam implements Serializable {
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;
@ -63,5 +56,7 @@ public class ClientSiteParam implements Serializable {
private Long creatorId;
private List<Integer> ids; //批量删除
private Integer inspectionCycle; // 巡检周期方式0=天数间隔1=固定日期)
private Integer dailyAudit; // 每隔几天巡检
private Date frontPollingTime; //上次巡检时间
}

View File

@ -62,5 +62,6 @@ public class RoutingInspectionOrderParam implements Serializable {
private Integer receiverType; // 接单类型 0-区域派单1-距离派单
private BigDecimal orderDistance; // 订单距离
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
private Long clientSiteId; // 客户站点id
private String siteName; // 站点名称
}

View File

@ -3,6 +3,8 @@ package com.hcy.admin.vo.client;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* SiteVo
@ -22,5 +24,8 @@ public class ClientSiteDetailVo implements Serializable {
private Long cityId; // 市id
private String detailedAddress; // 详细地址
private Long creatorId; // 创建人id
private List<EquipmentListVo> equipmentList; // 设备列表
private Integer inspectionCycle; // 巡检周期方式0=天数间隔1=固定日期)
private Integer dailyAudit; // 每隔几天巡检
private Date frontPollingTime; //上次巡检时间
}

View File

@ -30,4 +30,11 @@ public class ClientSiteListVo implements Serializable {
private Integer underOverhaulCount; // 设备检修中数量
private Integer underWarrantyCount; // 设备报修中数量
private List<EquipmentListVo> equipmentList; // 设备列表
private Integer inspectionCycle; // 巡检周期方式0=天数间隔1=固定日期)
private Integer dailyAudit; // 每隔几天巡检
private String province; // 省
private String district; // 区
private String city; // 市
}

View File

@ -56,5 +56,7 @@ public class RoutingInspectionOrderDetailVo implements Serializable {
private String inspectionPhoto; //巡检照片
private String inspectionResultRemark; //巡检结果备注
private List<OrderOperateRecord> orderOperateRecords; //订单操作记录
private Long clientSiteId; // 客户站点id
private String siteName; // 站点名称
private String siteAddress; // 站点地址
}

View File

@ -39,4 +39,7 @@ public class RoutingInspectionOrderListVo implements Serializable {
private Date receiverTime; // 接单时间
private String shortName; //客户简称
private Integer inspectionResult; //巡检结果0=正常 1=异常)
private Long clientSiteId; // 客户站点id
private String siteName; // 站点名称
private String siteAddress; // 站点地址
}

View File

@ -22,9 +22,8 @@ public class RoutingInspectionOrderDto implements Serializable {
private Long clientId; // 客户id
private String clientName; // 客户名称
private Long equipmentId; // 设备id
private String equipmentNo; //设备编号
private String equipmentName; //设备名称
private String detailedAddress; // 设备详细地址
/*private String equipmentNo; //设备编号
private String equipmentName; //设备名称*/
private Long creatorId; // 创建人id
private String creatorName; //创建人名称
private Date createTime; // 创建时间
@ -37,17 +36,20 @@ public class RoutingInspectionOrderDto implements Serializable {
private Date receiverTime; // 接单时间
private String likeWork; // 模糊查询(工单编号/客户名称/设备编号)
private String inspectionPhoto; //巡检照片
private double longitude; //经度
private double latitude; //纬度
private Double longitude; //经度
private Double latitude; //纬度
private BigDecimal orderDistance; // 订单距离
private Integer queryType; // 查询类型 0-离我最近 1-时间优先
private Date cancelOrderTime; // 取消订单时间
private String cancelCause; // 取消原因
private Long equipmentProvinceId; //设备省id
private Long equipmentDistrictId; //设备区id
private Long equipmentCityId; //设备市id
private Long siteProvinceId; //站点省id
private Long siteDistrictId; //站点区id
private Long siteCityId; //站点市id
private String shortName; //客户简称
private Integer inspectionResult; //巡检结果0=正常 1=异常)
private String orderStatusIds; //订单状态ids
private Long clientSiteId; // 客户站点id
private String siteName; // 站点名称
private String detailedAddress; // 站点详细地址
private Date inspectionTime; // 巡检时间
}

View File

@ -30,4 +30,8 @@ public class ClientSite implements Serializable {
private Date updateTime; // 更新时间
private Integer isDelete; // 是否删除 0-未删除 1-删除
private Integer inspectionCycle; // 巡检周期方式0=天数间隔1=固定日期)
private Integer dailyAudit; // 每隔几天巡检
private Date frontPollingTime; //上次巡检时间
}

View File

@ -54,5 +54,7 @@ public class RoutingInspectionOrder implements Serializable {
private Integer inspectionResult; //巡检结果0=正常 1=异常)
private String inspectionPhoto; //巡检照片
private String inspectionResultRemark; //巡检结果备注
private Long clientSiteId; // 客户站点id
private Date inspectionTime; // 巡检时间
}

View File

@ -1,6 +1,7 @@
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.ClientSiteDto;
import com.hcy.common.entity.client.ClientSite;
@ -19,6 +20,6 @@ public interface ClientSiteMapper extends IBaseMapper<ClientSite> {
*
* @return
*/
List<ClientSiteDto> siteEquipmentList(@Param("form") ClientSiteDto form);
Page<ClientSiteDto> siteEquipmentList(@Param("page") Page page, @Param("form") ClientSiteDto form);
}

View File

@ -49,19 +49,21 @@
i.*,
c.client_name,
c.short_name,
e.number as equipmentNo,
e.name as equipmentName,
e.detailed_address,
cs.site_name as siteName,
cs.detailed_address,
a.nickname as creatorName,
f.`name` as familiarFaultName,
u.nickname as receiverName,
e.longitude,
e.latitude,
cs.province_id as siteProvinceId,
cs.district_id as siteDistrictId,
cs.city_id as siteCityId,
cs.longitude,
cs.latitude,
i.inspection_result as inspectionResult
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_client_site AS cs ON i.client_site_id = cs.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_user as u on i.receiver_id = u.id
@ -79,9 +81,6 @@
<if test="param.likeWork != null and param.likeWork != ''">
OR c.client_name LIKE concat('%', #{param.likeWork}, '%')
</if>
<if test="param.likeWork != null and param.likeWork != ''">
OR e.number LIKE concat('%', #{param.likeWork}, '%'))
</if>
<if test="param.orderStatus != null">
and i.order_status = #{param.orderStatus}
</if>
@ -95,21 +94,20 @@
SELECT
i.*,
c.client_name,
e.number as equipmentNo,
e.name as equipmentName,
e.detailed_address,
cs.site_name as siteName,
cs.detailed_address,
a.nickname as creatorName,
f.`name` as familiarFaultName,
u.nickname as receiverName,
e.province_id as equipmentProvinceId,
e.district_id as equipmentDistrictId,
e.city_id as equipmentCityId,
e.longitude,
e.latitude
cs.province_id as siteProvinceId,
cs.district_id as siteDistrictId,
cs.city_id as siteCityId,
cs.longitude,
cs.latitude
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_client_site AS cs ON i.client_site_id = cs.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_user as u on i.receiver_id = u.id

View File

@ -134,6 +134,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
List<RepairOrderListVo> returnData = new LinkedList<>();
for (RepairOrderDto item : repairOrderDtoList) {
if(repairOrderParam.getQueryType() == MaintenanceOrderStatusEnum.NEAREST_TO_ME.getStatus()){
//获取管理员id
SystemAuthAdmin systemAuthAdminByUserId = systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(item.getCreatorId()));
//获取工厂
Plant plant = plantMapper.findPlantByAdminId(Long.valueOf(systemAuthAdminByUserId.getPlantId()));

View File

@ -117,7 +117,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
}
Page<RoutingInspectionOrderDto> iPage = routingInspectionOrderMapper.frontPageList(page, inspectionOrderDto);
Map<Long, String> regionMap = regionService.getRegionMap();
List<RoutingInspectionOrderListVo> list = new LinkedList<>();
for(RoutingInspectionOrderDto item : iPage.getRecords()) {
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();
@ -127,6 +127,13 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
if(user != null){
vo.setReceiverName(user.getNickname());
}
//站点地址
String province = regionMap.get(item.getSiteProvinceId());
String city = regionMap.get(item.getSiteCityId());
String district = regionMap.get(item.getSiteDistrictId());
vo.setSiteAddress(province + city + district + item.getDetailedAddress());
list.add(vo);
}
@ -237,7 +244,8 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setOrderStatus(OrderStateEnum.DURING_INSPECTION.getStatus()); //用户开始巡检后工单状态为巡检中
model.setOrderStatus(OrderStateEnum.DURING_INSPECTION.getStatus()); // 用户开始巡检后工单状态为巡检中
model.setInspectionTime(new Date()); // 巡检时间
routingInspectionOrderMapper.updateById(model);
//新增巡检单操作记录
@ -356,6 +364,7 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
}
/**
*
*
*
* @param routingInspectionOrderParam
@ -380,9 +389,9 @@ public class RoutingInspectionOrderServiceImpl implements IRoutingInspectionOrde
, routingInspectionOrderParam.getLongitude(), routingInspectionOrderParam.getLatitude());
if(item.getReceiverType() == OrderStateEnum.REGIONAL_DISPATCH.getStatus()){
if(item.getEquipmentProvinceId().equals(systemAuthAdmin.getProvinceId()) &&
item.getEquipmentCityId().equals(systemAuthAdmin.getCityId()) &&
item.getEquipmentDistrictId().equals(systemAuthAdmin.getDistrictId()) ){
if(item.getSiteProvinceId().equals(systemAuthAdmin.getProvinceId()) &&
item.getSiteCityId().equals(systemAuthAdmin.getCityId()) &&
item.getSiteDistrictId().equals(systemAuthAdmin.getDistrictId()) ){
// 计算距离
RoutingInspectionOrderListVo vo = new RoutingInspectionOrderListVo();

View File

@ -71,16 +71,17 @@ public class RoutingInspectionOrderParam implements Serializable {
private Date orderAccomplishTime; // 订单完成时间
private String clientName; // 客户名称
private String equipmentNo; //设备编号
private String equipmentName; //设备名称
/*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 Double longitude; //经度
private Double latitude; //纬度
private Integer queryType; // 查询类型 0-离我最近 1-时间优先
private String cancelCause; // 取消原因

View File

@ -38,5 +38,6 @@ public class RoutingInspectionOrderDetailVo implements Serializable {
private Date cancelOrderTime; // 取消订单时间
private String cancelCause; // 取消原因
private String remark; // 备注
private Date inspectionTime; // 巡检时间
}

View File

@ -19,10 +19,9 @@ public class RoutingInspectionOrderListVo implements Serializable {
private Date orderAccomplishTime; // 订单完成时间
private Long clientId; // 客户id
private String clientName; // 客户名称
private Long equipmentId; // 设备id
/*private Long equipmentId; // 设备id
private String equipmentNo; //设备编号
private String equipmentName; //设备名称
private String detailedAddress; // 设备详细地址
private String equipmentName; //设备名称*/
private Date createTime; // 创建时间
private Long orderStatus; // 订单状态 0-待抢单1-待接单2-接单超时3-巡检中4-已完成5-已退单6-待巡检
private Double distance; //距离
@ -32,12 +31,15 @@ public class RoutingInspectionOrderListVo implements Serializable {
private Date cancelOrderTime; // 取消订单时间
private String cancelCause; // 取消原因
private Long equipmentProvinceId; //设备省id
private Long equipmentDistrictId; //设备区id
private Long equipmentCityId; //设备市id
private Long siteProvinceId; //设备省id
private Long siteDistrictId; //设备区id
private Long siteCityId; //设备市id
private Integer inspectionResult; //巡检结果0=正常 1=异常)
private Long receiverId; // 接单人id
private String receiverName; // 接单人名称
private String detailedAddress; // 站点详细地址
private Date receiverTime; // 接单时间
private String siteAddress; // 站点地址
private Date inspectionTime; // 巡检时间
}