Commit e2ccb136 authored by 王晓倩's avatar 王晓倩

工单详细信息显示设备列表树,工单接收、反馈

parent b85e12cc
...@@ -3,6 +3,7 @@ package com.zehong.web.controller.device; ...@@ -3,6 +3,7 @@ package com.zehong.web.controller.device;
import com.zehong.common.annotation.Log; import com.zehong.common.annotation.Log;
import com.zehong.common.core.controller.BaseController; import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult; import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.core.domain.entity.SysDept;
import com.zehong.common.core.page.TableDataInfo; import com.zehong.common.core.page.TableDataInfo;
import com.zehong.common.enums.BusinessType; import com.zehong.common.enums.BusinessType;
import com.zehong.common.utils.poi.ExcelUtil; import com.zehong.common.utils.poi.ExcelUtil;
...@@ -50,6 +51,15 @@ public class TDeviceInfoController extends BaseController ...@@ -50,6 +51,15 @@ public class TDeviceInfoController extends BaseController
return AjaxResult.success(tDeviceInfoService.selectTDeviceInfoList(tDeviceInfo)); return AjaxResult.success(tDeviceInfoService.selectTDeviceInfoList(tDeviceInfo));
} }
/**
* 获取设备下拉树列表
*/
@PutMapping("/deviceTree")
public AjaxResult deviceTree(@RequestBody List<TDeviceInfo> deviceInfoList)
{
return AjaxResult.success(tDeviceInfoService.buildDeviceTreeSelect(deviceInfoList));
}
/** /**
* 导出设备信息列表 * 导出设备信息列表
*/ */
......
package com.zehong.web.controller.system; package com.zehong.web.controller.system;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -65,6 +67,17 @@ public class SysUserController extends BaseController ...@@ -65,6 +67,17 @@ public class SysUserController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
/**
* 获取巡检员列表
*/
@PreAuthorize("@ss.hasPermi('system:user:inspectorList')")
@GetMapping("/inspectorList")
public AjaxResult inspectorList()
{
List<SysUser> list = userService.selectInspectorList();
return AjaxResult.success(list);
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT) @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')") @PreAuthorize("@ss.hasPermi('system:user:export')")
@GetMapping("/export") @GetMapping("/export")
......
...@@ -2,7 +2,9 @@ package com.zehong.web.controller.workOrder; ...@@ -2,7 +2,9 @@ package com.zehong.web.controller.workOrder;
import java.util.List; import java.util.List;
import com.zehong.common.utils.DateUtils;
import com.zehong.common.utils.StringUtils; import com.zehong.common.utils.StringUtils;
import com.zehong.system.domain.form.TWorkOrderForm;
import com.zehong.system.domain.vo.WorkOrderVo; import com.zehong.system.domain.vo.WorkOrderVo;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -41,12 +43,12 @@ public class TWorkOrderController extends BaseController ...@@ -41,12 +43,12 @@ public class TWorkOrderController extends BaseController
*/ */
@PreAuthorize("@ss.hasPermi('workOrder:basicsInfo:list')") @PreAuthorize("@ss.hasPermi('workOrder:basicsInfo:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(TWorkOrder tWorkOrder) throws Exception public TableDataInfo list(TWorkOrderForm tWorkOrderForm) throws Exception
{ {
startPage(); startPage();
List<WorkOrderVo> list = null; List<WorkOrderVo> list = null;
try { try {
list = tWorkOrderService.selectTWorkOrderList(tWorkOrder); list = tWorkOrderService.selectTWorkOrderList(tWorkOrderForm);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new Exception(StringUtils.format("查询工单基础信息列表失败")); throw new Exception(StringUtils.format("查询工单基础信息列表失败"));
...@@ -60,11 +62,11 @@ public class TWorkOrderController extends BaseController ...@@ -60,11 +62,11 @@ public class TWorkOrderController extends BaseController
@PreAuthorize("@ss.hasPermi('workOrder:basicsInfo:export')") @PreAuthorize("@ss.hasPermi('workOrder:basicsInfo:export')")
@Log(title = "工单基础信息", businessType = BusinessType.EXPORT) @Log(title = "工单基础信息", businessType = BusinessType.EXPORT)
@GetMapping("/export") @GetMapping("/export")
public AjaxResult export(TWorkOrder tWorkOrder) throws Exception public AjaxResult export(TWorkOrderForm tWorkOrderForm) throws Exception
{ {
List<WorkOrderVo> list = null; List<WorkOrderVo> list = null;
try { try {
list = tWorkOrderService.selectTWorkOrderList(tWorkOrder); list = tWorkOrderService.selectTWorkOrderList(tWorkOrderForm);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new Exception(StringUtils.format("导出工单基础信息列表失败")); throw new Exception(StringUtils.format("导出工单基础信息列表失败"));
...@@ -116,8 +118,8 @@ public class TWorkOrderController extends BaseController ...@@ -116,8 +118,8 @@ public class TWorkOrderController extends BaseController
public AjaxResult edit(@RequestBody TWorkOrder tWorkOrder) throws Exception public AjaxResult edit(@RequestBody TWorkOrder tWorkOrder) throws Exception
{ {
String orderStatus = tWorkOrder.getOrderStatus(); String orderStatus = tWorkOrder.getOrderStatus();
// 工单状态只有是0未下发或1已下发,才允许修改 // 工单状态只有是0未接收才允许修改
if(!"0".equals(orderStatus) && !"1".equals(orderStatus)){ if(!"0".equals(orderStatus)){
throw new Exception(StringUtils.format("工单({})当前状态不允许修改", tWorkOrder.getOrderId())); throw new Exception(StringUtils.format("工单({})当前状态不允许修改", tWorkOrder.getOrderId()));
} }
...@@ -139,7 +141,14 @@ public class TWorkOrderController extends BaseController ...@@ -139,7 +141,14 @@ public class TWorkOrderController extends BaseController
public AjaxResult editStatus(@RequestBody TWorkOrder tWorkOrder) throws Exception public AjaxResult editStatus(@RequestBody TWorkOrder tWorkOrder) throws Exception
{ {
String orderStatus = tWorkOrder.getOrderStatus(); String orderStatus = tWorkOrder.getOrderStatus();
if("5".equals(orderStatus)) { if("0".equals(orderStatus)){
tWorkOrder.setOrderStatus("1");
tWorkOrder.setActualTime(DateUtils.getNowDate());
} else if("1".equals(orderStatus)) {
tWorkOrder.setOrderStatus("2");
} else if("2".equals(orderStatus)) {
tWorkOrder.setOrderStatus("3");
} else if("3".equals(orderStatus)) {
throw new Exception(StringUtils.format("工单({})已归档,不允许更改状态", tWorkOrder.getOrderId())); throw new Exception(StringUtils.format("工单({})已归档,不允许更改状态", tWorkOrder.getOrderId()));
} }
......
package com.zehong.system.domain.form;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zehong.common.annotation.Excel;
import com.zehong.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 工单基础信息对象 t_work_order
*
* @author zehong
* @date 2021-07-19
*/
public class TWorkOrderForm extends BaseEntity
{
/** 工单id */
private String orderId;
/** 工单类型(1巡检信息,2隐患信息,3报警信息) */
private String orderType;
/** 工单名称 */
private String orderName;
/** 工单状态(0未接收,1已接收,2进行中,3已反馈,4已归档) */
private String orderStatus;
/** 指定执行人员(巡检员id) */
private Long appointInspector;
/** 开始下发时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startAllotTime;
/** 结束下发时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endAllotTime;
/** 实际接收人员(巡检员id) */
@Excel(name = "实际接收人员", readConverterExp = "巡检员id")
private Long actualInspector;
/** 实际接收时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "实际接收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date actualTime;
/** 用户名 */
private String userName;
public void setOrderId(String orderId)
{
this.orderId = orderId;
}
public String getOrderId()
{
return orderId;
}
public void setOrderType(String orderType)
{
this.orderType = orderType;
}
public String getOrderType()
{
return orderType;
}
public void setOrderName(String orderName)
{
this.orderName = orderName;
}
public String getOrderName()
{
return orderName;
}
public void setOrderStatus(String orderStatus)
{
this.orderStatus = orderStatus;
}
public String getOrderStatus()
{
return orderStatus;
}
public void setAppointInspector(Long appointInspector)
{
this.appointInspector = appointInspector;
}
public Long getAppointInspector()
{
return appointInspector;
}
public Date getStartAllotTime() {
return startAllotTime;
}
public void setStartAllotTime(Date startAllotTime) {
this.startAllotTime = startAllotTime;
}
public Date getEndAllotTime() {
return endAllotTime;
}
public void setEndAllotTime(Date endAllotTime) {
this.endAllotTime = endAllotTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Long getActualInspector() {
return actualInspector;
}
public void setActualInspector(Long actualInspector) {
this.actualInspector = actualInspector;
}
public Date getActualTime() {
return actualTime;
}
public void setActualTime(Date actualTime) {
this.actualTime = actualTime;
}
}
...@@ -36,6 +36,9 @@ public class WorkOrderVo extends BaseEntity ...@@ -36,6 +36,9 @@ public class WorkOrderVo extends BaseEntity
/** 设备编号 */ /** 设备编号 */
private String deviceCodes; private String deviceCodes;
/** 设备名称 */
private String deviceName;
/** 设备列表 */ /** 设备列表 */
private List<TDeviceInfo> deviceInfoList; private List<TDeviceInfo> deviceInfoList;
...@@ -150,6 +153,14 @@ public class WorkOrderVo extends BaseEntity ...@@ -150,6 +153,14 @@ public class WorkOrderVo extends BaseEntity
this.deviceCodes = deviceCodes; this.deviceCodes = deviceCodes;
} }
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public List<TDeviceInfo> getDeviceInfoList() { public List<TDeviceInfo> getDeviceInfoList() {
return deviceInfoList; return deviceInfoList;
} }
......
...@@ -19,6 +19,14 @@ public interface SysUserMapper ...@@ -19,6 +19,14 @@ public interface SysUserMapper
*/ */
public List<SysUser> selectUserList(SysUser sysUser); public List<SysUser> selectUserList(SysUser sysUser);
/**
* 查询巡检员列表
*
* @param
* @return 用户信息集合信息
*/
public List<SysUser> selectInspectorList();
/** /**
* 通过用户名查询用户 * 通过用户名查询用户
* *
......
...@@ -2,6 +2,7 @@ package com.zehong.system.mapper; ...@@ -2,6 +2,7 @@ package com.zehong.system.mapper;
import java.util.List; import java.util.List;
import com.zehong.system.domain.TWorkOrder; import com.zehong.system.domain.TWorkOrder;
import com.zehong.system.domain.form.TWorkOrderForm;
/** /**
* 工单基础信息Mapper接口 * 工单基础信息Mapper接口
...@@ -32,7 +33,7 @@ public interface TWorkOrderMapper ...@@ -32,7 +33,7 @@ public interface TWorkOrderMapper
* @param tWorkOrder 工单基础信息 * @param tWorkOrder 工单基础信息
* @return 工单基础信息集合 * @return 工单基础信息集合
*/ */
public List<TWorkOrder> selectTWorkOrderList(TWorkOrder tWorkOrder); public List<TWorkOrder> selectTWorkOrderList(TWorkOrderForm tWorkOrderForm);
/** /**
* 新增工单基础信息 * 新增工单基础信息
......
...@@ -18,6 +18,14 @@ public interface ISysUserService ...@@ -18,6 +18,14 @@ public interface ISysUserService
*/ */
public List<SysUser> selectUserList(SysUser user); public List<SysUser> selectUserList(SysUser user);
/**
* 查询巡检员列表
*
* @param
* @return 用户信息集合信息
*/
public List<SysUser> selectInspectorList();
/** /**
* 通过用户名查询用户 * 通过用户名查询用户
* *
......
...@@ -3,6 +3,8 @@ package com.zehong.system.service; ...@@ -3,6 +3,8 @@ package com.zehong.system.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.zehong.common.core.domain.TreeSelect;
import com.zehong.common.core.domain.entity.SysDept;
import com.zehong.system.domain.TDeviceInfo; import com.zehong.system.domain.TDeviceInfo;
/** /**
...@@ -29,6 +31,14 @@ public interface ITDeviceInfoService ...@@ -29,6 +31,14 @@ public interface ITDeviceInfoService
*/ */
public List<TDeviceInfo> selectTDeviceInfoList(TDeviceInfo tDeviceInfo); public List<TDeviceInfo> selectTDeviceInfoList(TDeviceInfo tDeviceInfo);
/**
* 构建前端所需要下拉树结构
*
* @param deviceInfoList 设备列表
* @return 下拉树结构列表
*/
public List<Map<Object, Object>> buildDeviceTreeSelect(List<TDeviceInfo> deviceInfoList);
/** /**
* 统计各设备类型的设备总数 * 统计各设备类型的设备总数
* @return * @return
......
...@@ -2,6 +2,7 @@ package com.zehong.system.service; ...@@ -2,6 +2,7 @@ package com.zehong.system.service;
import java.util.List; import java.util.List;
import com.zehong.system.domain.TWorkOrder; import com.zehong.system.domain.TWorkOrder;
import com.zehong.system.domain.form.TWorkOrderForm;
import com.zehong.system.domain.vo.WorkOrderVo; import com.zehong.system.domain.vo.WorkOrderVo;
/** /**
...@@ -24,10 +25,10 @@ public interface ITWorkOrderService ...@@ -24,10 +25,10 @@ public interface ITWorkOrderService
/** /**
* 查询工单基础信息列表 * 查询工单基础信息列表
* *
* @param tWorkOrder 工单基础信息 * @param tWorkOrderForm 工单基础信息表单
* @return 工单基础信息集合 * @return 工单基础信息集合
*/ */
public List<WorkOrderVo> selectTWorkOrderList(TWorkOrder tWorkOrder) throws Exception; public List<WorkOrderVo> selectTWorkOrderList(TWorkOrderForm tWorkOrderForm) throws Exception;
/** /**
* 新增工单基础信息 * 新增工单基础信息
......
...@@ -66,6 +66,18 @@ public class SysUserServiceImpl implements ISysUserService ...@@ -66,6 +66,18 @@ public class SysUserServiceImpl implements ISysUserService
return userMapper.selectUserList(user); return userMapper.selectUserList(user);
} }
/**
* 查询巡检员列表
*
* @param
* @return 用户信息集合信息
*/
@Override
public List<SysUser> selectInspectorList()
{
return userMapper.selectInspectorList();
}
/** /**
* 通过用户名查询用户 * 通过用户名查询用户
* *
......
package com.zehong.system.service.impl; package com.zehong.system.service.impl;
import java.util.List; import java.util.*;
import java.util.Map; import java.util.stream.Collectors;
import com.zehong.common.core.domain.TreeSelect;
import com.zehong.common.core.domain.entity.SysDept;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TDeviceInfoMapper; import com.zehong.system.mapper.TDeviceInfoMapper;
import com.zehong.system.domain.TDeviceInfo; import com.zehong.system.domain.TDeviceInfo;
import com.zehong.system.service.ITDeviceInfoService; import com.zehong.system.service.ITDeviceInfoService;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
* 设备信息Service业务层处理 * 设备信息Service业务层处理
...@@ -45,6 +48,28 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService ...@@ -45,6 +48,28 @@ public class TDeviceInfoServiceImpl implements ITDeviceInfoService
return tDeviceInfoMapper.selectTDeviceInfoList(tDeviceInfo); return tDeviceInfoMapper.selectTDeviceInfoList(tDeviceInfo);
} }
/**
* 构建前端所需要下拉树结构
*
* @param deviceInfoList 部门列表
* @return 下拉树结构列表
*/
@Override
public List<Map<Object, Object>> buildDeviceTreeSelect(List<TDeviceInfo> deviceInfoList)
{
List<Map<Object, Object>> list = new ArrayList<>();
for (TDeviceInfo deviceInfo : deviceInfoList) {
Map<Object, Object> map = new HashMap<>();
map.put("id", deviceInfo.getDeviceId());
map.put("label", deviceInfo.getDeviceName());
list.add(map);
}
return list;
}
/** /**
* 统计各设备类型的设备总数 * 统计各设备类型的设备总数
* @return * @return
......
...@@ -2,6 +2,7 @@ package com.zehong.system.service.impl; ...@@ -2,6 +2,7 @@ package com.zehong.system.service.impl;
import java.util.List; import java.util.List;
import com.zehong.common.utils.DateUtils;
import com.zehong.system.domain.*; import com.zehong.system.domain.*;
import com.zehong.system.mapper.*; import com.zehong.system.mapper.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -78,18 +79,18 @@ public class TOrderFeedbackServiceImpl implements ITOrderFeedbackService ...@@ -78,18 +79,18 @@ public class TOrderFeedbackServiceImpl implements ITOrderFeedbackService
trouble.setDealStatus(dealStatus); trouble.setDealStatus(dealStatus);
tHiddenTroubleMapper.updateTHiddenTrouble(trouble); tHiddenTroubleMapper.updateTHiddenTrouble(trouble);
} else { } else if("3".equals(orderType)) {
TDeviceAlarm alarm = tDeviceAlarmMapper.selectTDeviceAlarmById(order.getResourceId()); TDeviceAlarm alarm = tDeviceAlarmMapper.selectTDeviceAlarmById(order.getResourceId());
alarm.setDealStatus(dealStatus); alarm.setDealStatus(dealStatus);
tDeviceAlarmMapper.updateTDeviceAlarm(alarm); tDeviceAlarmMapper.updateTDeviceAlarm(alarm);
} }
// 如果工单状态是进行中,修改状态为已反馈 // 如果工单状态是已接收,修改状态为已反馈
if("2".equals(order.getOrderStatus())){ if("1".equals(order.getOrderStatus())){
order.setOrderStatus("3"); order.setOrderStatus("2");
tWorkOrderMapper.updateTWorkOrder(order); tWorkOrderMapper.updateTWorkOrder(order);
} }
tOrderFeedback.setFeedbackTime(DateUtils.getNowDate());
return tOrderFeedbackMapper.insertTOrderFeedback(tOrderFeedback); return tOrderFeedbackMapper.insertTOrderFeedback(tOrderFeedback);
} }
......
...@@ -6,6 +6,7 @@ import java.util.List; ...@@ -6,6 +6,7 @@ import java.util.List;
import com.zehong.common.core.domain.entity.SysUser; import com.zehong.common.core.domain.entity.SysUser;
import com.zehong.common.utils.DateUtils; import com.zehong.common.utils.DateUtils;
import com.zehong.system.domain.*; import com.zehong.system.domain.*;
import com.zehong.system.domain.form.TWorkOrderForm;
import com.zehong.system.domain.vo.WorkOrderVo; import com.zehong.system.domain.vo.WorkOrderVo;
import com.zehong.system.mapper.*; import com.zehong.system.mapper.*;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -107,6 +108,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -107,6 +108,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
String deviceCode = trouble.getDeviceCode(); String deviceCode = trouble.getDeviceCode();
TDeviceInfo device = tDeviceInfoMapper.selectTDeviceInfoByCode(deviceCode); TDeviceInfo device = tDeviceInfoMapper.selectTDeviceInfoByCode(deviceCode);
if(device != null){ if(device != null){
workOrderVo.setDeviceName(device.getDeviceName());
deviceInfoList.add(device); deviceInfoList.add(device);
} }
...@@ -128,6 +130,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -128,6 +130,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
workOrderVo.setLongitude(device.getLongitude()); workOrderVo.setLongitude(device.getLongitude());
workOrderVo.setLatitude(device.getLatitude()); workOrderVo.setLatitude(device.getLatitude());
workOrderVo.setDeviceType(device.getDeviceType()); workOrderVo.setDeviceType(device.getDeviceType());
workOrderVo.setDeviceName(device.getDeviceName());
workOrderVo.setAddress(device.getDeviceAddr()); workOrderVo.setAddress(device.getDeviceAddr());
deviceInfoList.add(device); deviceInfoList.add(device);
} }
...@@ -152,14 +155,14 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -152,14 +155,14 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
/** /**
* 查询工单基础信息列表 * 查询工单基础信息列表
* *
* @param tWorkOrder 工单基础信息 * @param tWorkOrderForm 工单基础信息
* @return 工单基础信息 * @return 工单基础信息
*/ */
@Override @Override
public List<WorkOrderVo> selectTWorkOrderList(TWorkOrder tWorkOrder) throws Exception public List<WorkOrderVo> selectTWorkOrderList(TWorkOrderForm tWorkOrderForm) throws Exception
{ {
List<WorkOrderVo> workOrderVoList = new ArrayList<WorkOrderVo>(); List<WorkOrderVo> workOrderVoList = new ArrayList<WorkOrderVo>();
List<TWorkOrder> workOrderList = tWorkOrderMapper.selectTWorkOrderList(tWorkOrder); List<TWorkOrder> workOrderList = tWorkOrderMapper.selectTWorkOrderList(tWorkOrderForm);
if(workOrderList.size() != 0){ if(workOrderList.size() != 0){
...@@ -172,7 +175,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -172,7 +175,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
workOrderVo.setAppointInspectorName(appointInspector.getNickName()); workOrderVo.setAppointInspectorName(appointInspector.getNickName());
if(workOrder.getActualInspector() != workOrder.getAppointInspector() && workOrder.getActualInspector() != null){ if(workOrder.getActualInspector() != workOrder.getAppointInspector() && workOrder.getActualInspector() != null){
SysUser actualInspector = sysUserMapper.selectUserById(tWorkOrder.getActualInspector()); SysUser actualInspector = sysUserMapper.selectUserById(workOrder.getActualInspector());
workOrderVo.setActualInspectorName(actualInspector.getNickName()); workOrderVo.setActualInspectorName(actualInspector.getNickName());
} else { } else {
workOrderVo.setActualInspectorName(appointInspector.getNickName()); workOrderVo.setActualInspectorName(appointInspector.getNickName());
...@@ -237,8 +240,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -237,8 +240,7 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
{ {
if("1".equals(tWorkOrder.getOrderStatus())){ if("1".equals(tWorkOrder.getOrderStatus())){
TWorkOrder order = tWorkOrderMapper.selectTWorkOrderById(tWorkOrder.getOrderId()); int planId = tWorkOrder.getResourceId();
int planId = order.getResourceId();
// 修改巡检计划状态为进行中 // 修改巡检计划状态为进行中
TInspectionPlan plan = new TInspectionPlan(); TInspectionPlan plan = new TInspectionPlan();
plan.setPlanId(planId); plan.setPlanId(planId);
...@@ -246,10 +248,11 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -246,10 +248,11 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
plan.setUpdateTime(DateUtils.getNowDate()); plan.setUpdateTime(DateUtils.getNowDate());
tInspectionPlanMapper.updateTInspectionPlan(plan); tInspectionPlanMapper.updateTInspectionPlan(plan);
} else if ("4".equals(tWorkOrder.getOrderStatus())){ tWorkOrder.setActualTime(DateUtils.getNowDate());
} else if ("3".equals(tWorkOrder.getOrderStatus())){
TWorkOrder order = tWorkOrderMapper.selectTWorkOrderById(tWorkOrder.getOrderId()); int planId = tWorkOrder.getResourceId();
int planId = order.getResourceId();
// 修改巡检计划状态为已完成 // 修改巡检计划状态为已完成
TInspectionPlan plan = new TInspectionPlan(); TInspectionPlan plan = new TInspectionPlan();
plan.setPlanId(planId); plan.setPlanId(planId);
...@@ -257,8 +260,9 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService ...@@ -257,8 +260,9 @@ public class TWorkOrderServiceImpl implements ITWorkOrderService
plan.setUpdateTime(DateUtils.getNowDate()); plan.setUpdateTime(DateUtils.getNowDate());
tInspectionPlanMapper.updateTInspectionPlan(plan); tInspectionPlanMapper.updateTInspectionPlan(plan);
} else if ("0".equals(tWorkOrder.getOrderStatus())){
tWorkOrder.setUpdateTime(DateUtils.getNowDate());
} }
tWorkOrder.setUpdateTime(DateUtils.getNowDate());
return tWorkOrderMapper.updateTWorkOrder(tWorkOrder); return tWorkOrderMapper.updateTWorkOrder(tWorkOrder);
} }
......
...@@ -54,7 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -54,7 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id left join sys_role r on r.role_id = ur.role_id
</sql> </sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
...@@ -90,6 +90,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -90,6 +90,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectUserVo"/> <include refid="selectUserVo"/>
where u.user_id = #{userId} where u.user_id = #{userId}
</select> </select>
<select id="selectInspectorList" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.del_flag = '0' and r.role_id = 102
</select>
<select id="checkUserNameUnique" parameterType="String" resultType="int"> <select id="checkUserNameUnique" parameterType="String" resultType="int">
select count(1) from sys_user where user_name = #{userName} limit 1 select count(1) from sys_user where user_name = #{userName} limit 1
......
...@@ -52,7 +52,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -52,7 +52,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertTOrderFeedback" parameterType="TOrderFeedback"> <insert id="insertTOrderFeedback" parameterType="TOrderFeedback">
insert into t_order_feedback insert into t_order_feedback
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="feedbackId != null">feedback_id,</if>
<if test="orderId != null">order_id,</if> <if test="orderId != null">order_id,</if>
<if test="deviceCode != null">device_code,</if> <if test="deviceCode != null">device_code,</if>
<if test="contents != null">contents,</if> <if test="contents != null">contents,</if>
...@@ -65,7 +64,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -65,7 +64,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remarks != null">remarks,</if> <if test="remarks != null">remarks,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="feedbackId != null">#{feedbackId},</if>
<if test="orderId != null">#{orderId},</if> <if test="orderId != null">#{orderId},</if>
<if test="deviceCode != null">#{deviceCode},</if> <if test="deviceCode != null">#{deviceCode},</if>
<if test="contents != null">#{contents},</if> <if test="contents != null">#{contents},</if>
......
...@@ -23,26 +23,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -23,26 +23,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<sql id="selectTWorkOrderVo"> <sql id="selectTWorkOrderVo">
select order_id, order_type, resource_id, order_name, order_status, update_time, appoint_inspector, allot_time, actual_inspector, actual_time, remarks from t_work_order select t.order_id, t.order_type, t.resource_id, t.order_name, t.order_status, t.update_time, t.appoint_inspector, t.allot_time, t.actual_inspector, t.actual_time, t.remarks
from t_work_order t
left join sys_user s on t.appoint_inspector = s.user_id
</sql> </sql>
<select id="selectTWorkOrderList" parameterType="TWorkOrder" resultMap="TWorkOrderResult"> <select id="selectTWorkOrderList" parameterType="TWorkOrderForm" resultMap="TWorkOrderResult">
<include refid="selectTWorkOrderVo"/> <include refid="selectTWorkOrderVo"/>
<where> <where>
<if test="orderType != null and orderType != ''"> and order_type = #{orderType}</if> <if test="orderId != null and orderId != ''"> and t.order_id like concat('%',#{orderId},'%')</if>
<if test="orderName != null and orderName != ''"> and order_name like concat('%', #{orderName}, '%')</if> <if test="orderType != null and orderType != ''"> and t.order_type = #{orderType}</if>
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if> <if test="orderName != null and orderName != ''"> and t.order_name like concat('%', #{orderName}, '%')</if>
<if test="appointInspector != null "> and appoint_inspector = #{appointInspector}</if> <if test="orderStatus != null and orderStatus != ''"> and t.order_status = #{orderStatus}</if>
<if test="allotTime != null "> and allot_time = #{allotTime}</if> <if test="appointInspector != null "> and t.appoint_inspector = #{appointInspector}</if>
<if test="actualInspector != null "> and actual_inspector = #{actualInspector}</if> <if test="startAllotTime != null "> and t.allot_time &gt;= #{startAllotTime}</if>
<if test="actualTime != null "> and actual_time = #{actualTime}</if> <if test="endAllotTime != null "> and t.allot_time &lt;= #{endAllotTime}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if> <if test="userName != null and userName != ''"> and s.user_name = #{userName}</if>
</where> </where>
</select> </select>
<select id="selectTWorkOrderById" parameterType="String" resultMap="TWorkOrderResult"> <select id="selectTWorkOrderById" parameterType="String" resultMap="TWorkOrderResult">
<include refid="selectTWorkOrderVo"/> <include refid="selectTWorkOrderVo"/>
where order_id = #{orderId} where t.order_id = #{orderId}
</select> </select>
<insert id="insertTWorkOrder" parameterType="TWorkOrder"> <insert id="insertTWorkOrder" parameterType="TWorkOrder">
......
...@@ -62,9 +62,19 @@ export function exportDeviceInfo(query) { ...@@ -62,9 +62,19 @@ export function exportDeviceInfo(query) {
} }
// 统计各设备类型的设备总数 // 统计各设备类型的设备总数
export function countDeviceByType(){ export function countDeviceByType() {
return request({ return request({
url: '/device/deviceInfo/countDeviceByType', url: '/device/deviceInfo/countDeviceByType',
method: 'get' method: 'get'
}) })
} }
// 查询设备下拉树结构
export function deviceTree(data) {
return request({
url: '/device/deviceInfo/deviceTree',
method: 'put',
data: data
})
}
...@@ -10,6 +10,15 @@ export function listUser(query) { ...@@ -10,6 +10,15 @@ export function listUser(query) {
}) })
} }
// 查询巡检员列表
export function inspectorList(query) {
return request({
url: '/system/user/inspectorList',
method: 'get',
params: query
})
}
// 查询用户详细 // 查询用户详细
export function getUser(userId) { export function getUser(userId) {
return request({ return request({
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<el-steps :active="active" finish-status="success" simple prop="orderStatus" style="margin-top: 20px"> <el-steps :active="active" finish-status="success" simple prop="orderStatus" style="margin-top: 20px">
<el-step title="未接收" ></el-step> <el-step title="未接收" ></el-step>
<el-step title="已接收" ></el-step> <el-step title="已接收" ></el-step>
<el-step title="进行中" ></el-step> <!-- <el-step title="进行中" ></el-step>-->
<el-step title="已反馈" ></el-step> <el-step title="已反馈" ></el-step>
<el-step title="已归档" ></el-step> <el-step title="已归档" ></el-step>
</el-steps> </el-steps>
...@@ -33,9 +33,8 @@ ...@@ -33,9 +33,8 @@
<el-form-item label="工单状态:" prop="orderStatus"> <el-form-item label="工单状态:" prop="orderStatus">
<font v-if="form.orderStatus == 0">未接收</font> <font v-if="form.orderStatus == 0">未接收</font>
<font v-if="form.orderStatus == 1">已接收</font> <font v-if="form.orderStatus == 1">已接收</font>
<font v-if="form.orderStatus == 2">进行中</font> <font v-if="form.orderStatus == 2">已反馈</font>
<font v-if="form.orderStatus == 3">已反馈</font> <font v-if="form.orderStatus == 3">已归档</font>
<font v-if="form.orderStatus == 4">已归档</font>
</el-form-item> </el-form-item>
<el-form-item label="指定执行人员:" prop="appointInspectorName"> <el-form-item label="指定执行人员:" prop="appointInspectorName">
<font>{{form.appointInspectorName}}</font> <font>{{form.appointInspectorName}}</font>
...@@ -52,8 +51,16 @@ ...@@ -52,8 +51,16 @@
<font v-if="form.deviceType == 3">流量计</font> <font v-if="form.deviceType == 3">流量计</font>
<font v-if="form.deviceType == 4">压力表</font> <font v-if="form.deviceType == 4">压力表</font>
</el-form-item> </el-form-item>
<el-form-item label="设备编号:" prop="deviceCodes"> <el-form-item label="设备名称:" prop="deviceName">
<font>{{form.deviceCodes}}</font> <font v-if="form.orderType != 1">{{form.deviceName}}</font>
<el-tree
:data="deviceOptions"
:props="defaultProps"
:expand-on-click-node="false"
ref="tree"
@node-click="handleNodeClick"
v-if="form.orderType == 1"
/>
</el-form-item> </el-form-item>
<el-form-item label="设备位置:" v-if="form.orderType != 1"> <el-form-item label="设备位置:" v-if="form.orderType != 1">
<font>{{form.address}}</font> <font>{{form.address}}</font>
...@@ -95,59 +102,25 @@ ...@@ -95,59 +102,25 @@
<ul><li>反馈信息</li></ul> <ul><li>反馈信息</li></ul>
</div> </div>
<div style="width: 95%;float: left;"> <div style="width: 95%;float: left;">
<!-- <el-upload style="float: left;" <div style="float: left;margin-left: 50px;" >
action="#" <el-image :src="form.pictureUrl1" fit="cover" v-if="form.pictureUrl1 != null && form.pictureUrl1 != ''" style="width: 100px;height: 100px;">
list-type="picture-card" </el-image>
:auto-upload="false"> <el-image :src="form.pictureUrl2" fit="cover" v-if="form.pictureUrl2 != null && form.pictureUrl2 != ''" style="width: 100px;height: 100px;">
<i slot="default" class="el-icon-plus"></i> </el-image>
<div slot="file" slot-scope="{file}"> <el-image :src="form.pictureUrl3" fit="cover" v-if="form.pictureUrl3 != null && form.pictureUrl3 != ''" style="width: 100px;height: 100px;">
<img </el-image>
class="el-upload-list__item-thumbnail" </div>
:src="file.url" alt=""
>
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleDownload(file)"
>
<i class="el-icon-download"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</el-upload> -->
<div style="float: left;margin-left: 50px;" >
<el-image :src="form.pictureUrl1" fit="cover" v-if="form.pictureUrl1 != null" style="width: 100px;height: 100px;">
</el-image>
<el-image :src="form.pictureUrl2" fit="cover" v-if="form.pictureUrl2 != null" style="width: 100px;height: 100px;">
</el-image>
<el-image :src="form.pictureUrl3" fit="cover" v-if="form.pictureUrl3 != null" style="width: 100px;height: 100px;">
</el-image>
</div>
<el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="float: left;margin-left: 50px;" > <el-form ref="form" v-model="form" :rules="rules" label-width="100px" style="float: left;margin-left: 50px;" >
<el-form-item label="反馈信息:" prop="contents"> <el-form-item label="反馈信息:" prop="contents">
<font>{{form.contents}}</font> <font>{{form.contents}}</font>
</el-form-item> </el-form-item>
<el-form-item label="反馈时间:" prop="feedbackTime"> <el-form-item label="反馈时间:" prop="feedbackTime">
<font>{{form.feedbackTime}}</font> <font>{{form.feedbackTime}}</font>
</el-form-item> </el-form-item>
<el-form-item label="是否解决:" prop="dealStatus"> <el-form-item label="是否解决:" prop="dealStatus">
<font v-if="form.dealStatus == 3">未解决</font> <font v-if="form.dealStatus == 3">未解决</font>
<font v-if="form.dealStatus != 3 && form.dealStatus != null">已解决</font> <font v-if="form.dealStatus != 3 && form.dealStatus != null">已解决</font>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</div> </div>
...@@ -169,8 +142,10 @@ ...@@ -169,8 +142,10 @@
<script> <script>
import { listBasicsInfo, getBasicsInfo, delBasicsInfo, addBasicsInfo, updateBasicsInfo, exportBasicsInfo } from "@/api/workOrder/basicsInfo"; import { listBasicsInfo, getBasicsInfo, delBasicsInfo, addBasicsInfo, updateBasicsInfo, exportBasicsInfo } from "@/api/workOrder/basicsInfo";
import gaodeMap from "utils/gaodeMap.js" import { deviceTree } from "@/api/device/deviceInfo";
import {map, DEVICE_TYPE} from "utils/gaodeMap.js" import gaodeMap from "utils/gaodeMap.js";
import {map, DEVICE_TYPE} from "utils/gaodeMap.js";
export default { export default {
name: "BasicsInfo", name: "BasicsInfo",
components: { components: {
...@@ -206,6 +181,17 @@ export default { ...@@ -206,6 +181,17 @@ export default {
pickerOptions:[], pickerOptions:[],
// 工单类型字典 // 工单类型字典
ordertypeOptions: [], ordertypeOptions: [],
// 设备树选项
deviceOptions: [
{
label: "设备列表",
childList: []
}
],
defaultProps: {
children: "childList",
label: "label"
},
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
...@@ -232,7 +218,6 @@ export default { ...@@ -232,7 +218,6 @@ export default {
// 如果是跳转来的,则接受初始化参数 // 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数 // this.user_id = this.$route.query.id; //详细信息页接收参数
this.orderId = this.$route.query.orderId; this.orderId = this.$route.query.orderId;
this.getList(); this.getList();
this.getDicts("t_order_status").then(response => { this.getDicts("t_order_status").then(response => {
this.typeOptions = response.data; this.typeOptions = response.data;
...@@ -270,7 +255,6 @@ export default { ...@@ -270,7 +255,6 @@ export default {
getBasicsInfo (){ getBasicsInfo (){
getBasicsInfo(this.orderId).then(response =>{ getBasicsInfo(this.orderId).then(response =>{
this.form = response.data; this.form = response.data;
console.log(response.data,"fdsfdsa======")
this.active = parseInt(response.data.orderStatus) + 1; this.active = parseInt(response.data.orderStatus) + 1;
if(this.form.deviceInfoList.length>0){ if(this.form.deviceInfoList.length>0){
this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude,this.form.deviceInfoList[0].latitude]); this.gaoMap.resetMapCenter([this.form.deviceInfoList[0].longitude,this.form.deviceInfoList[0].latitude]);
...@@ -278,9 +262,25 @@ export default { ...@@ -278,9 +262,25 @@ export default {
for(var i = 0; i < this.form.deviceInfoList.length; i++){ for(var i = 0; i < this.form.deviceInfoList.length; i++){
let obj = this.form.deviceInfoList[i]; let obj = this.form.deviceInfoList[i];
this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj) this.gaoMap.addMarker(DEVICE_TYPE.WORKORDER, obj)
}
if(this.form.orderType == '1') {
// 获取设备列表树
let data = this.form.deviceInfoList;
console.log(data, "====");
deviceTree(data).then(response => {
this.deviceOptions[0].childList = response.data;
});
} }
}); });
},
// 筛选节点
// filterNode(value, data) {
// if (!value) return true;
// return data.label.indexOf(value) !== -1;
// },
// 节点单击事件
handleNodeClick(data) {
}, },
// 取消按钮 // 取消按钮
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment