package com.dg.core.controller;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dg.core.ResultData;
|
import com.dg.core.annotation.Authorization;
|
import com.dg.core.annotation.CurrentUser;
|
import com.dg.core.db.gen.entity.*;
|
import com.dg.core.service.IGuideEvolveService;
|
import com.dg.core.service.IGuideRepairOrderService;
|
import com.dg.core.util.TableDataInfo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.Assert;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
/**
|
* 工单管理
|
*/
|
@Api(tags = {"工单管理接口"})
|
@RestController
|
@RequestMapping("/guideRepairOrder")
|
public class GuideRepairOrderController extends BaseController {
|
|
@Resource
|
private IGuideRepairOrderService iGuideRepairOrderService;
|
|
@Autowired
|
private IGuideEvolveService iGuideEvolveService;
|
|
/**
|
* 提交导办订单
|
* @return
|
*/
|
@ApiOperation(value = "提交导办订单",response = GuideRepairOrder.class)
|
@PostMapping("/addOrder")
|
@Authorization
|
public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) {
|
guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString());
|
guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
|
return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder));
|
}
|
|
|
/**
|
* 获取详情
|
* @param Id
|
* @param orderNum
|
* @return
|
*/
|
@ApiOperation("获取订单详情")
|
@GetMapping("/orderdata")
|
@Authorization
|
public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id,
|
@RequestParam(value = "orderNum",required = false) String orderNum)
|
{
|
if(StringUtils.isEmpty(Id) && StringUtils.isEmpty(orderNum))
|
{
|
return ResultData.error("id或者订单号不能都为空");
|
}
|
|
GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum);
|
order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id));
|
|
return ResultData.success(order);
|
}
|
|
|
/**
|
* 分配人员
|
* @param order
|
* @return
|
*/
|
@ApiOperation("分配人员")
|
@PostMapping("/allocation")
|
@Authorization
|
public ResultData allocation(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser)
|
{
|
if(order==null)
|
{
|
return ResultData.error("参数不能为空");
|
}
|
|
if(StringUtils.isEmpty(order.getGuideDepartmentId()))
|
{
|
return ResultData.error("导办部门id不能为空");
|
}
|
|
if(StringUtils.isEmpty(order.getGuideUserId()))
|
{
|
return ResultData.error("导办人员id不能为空");
|
}
|
|
if(StringUtils.isEmpty(order.getGuideUserPhone()))
|
{
|
return ResultData.error("导办人员电话不能为空");
|
}
|
|
//已分配
|
order.setState("2");
|
|
//新增分配记录
|
GuideEvolveEntity entity=new GuideEvolveEntity();
|
entity.setCreateTime(LocalDateTime.now());
|
entity.setUpdateTime(LocalDateTime.now());
|
entity.setState("13");
|
entity.setDepartmentalId(sysUser.getDepartmentId());
|
entity.setToUserId(sysUser.getUserId()+"");
|
entity.setFromUserId(order.getGuideUserId());
|
entity.setFromDepartmentalId(order.getGuideDepartmentId());
|
|
iGuideEvolveService.insertConfig(entity);
|
|
return toAjax(iGuideRepairOrderService.updateConfig(order));
|
}
|
|
|
/**
|
* 转派人员
|
* @param order
|
* @return
|
*/
|
@ApiOperation("转派人员")
|
@PostMapping("/redeploy")
|
@Authorization
|
public ResultData redeploy(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser)
|
{
|
if(order==null)
|
{
|
return ResultData.error("参数不能为空");
|
}
|
|
if(StringUtils.isEmpty(order.getGuideDepartmentId()))
|
{
|
return ResultData.error("导办部门id不能为空");
|
}
|
|
if(StringUtils.isEmpty(order.getGuideUserId()))
|
{
|
return ResultData.error("导办人员id不能为空");
|
}
|
|
if(StringUtils.isEmpty(order.getGuideUserPhone()))
|
{
|
return ResultData.error("导办人员电话不能为空");
|
}
|
|
//已分配
|
order.setState("2");
|
|
//新增转派记录
|
GuideEvolveEntity entity=new GuideEvolveEntity();
|
entity.setCreateTime(LocalDateTime.now());
|
entity.setUpdateTime(LocalDateTime.now());
|
entity.setState("12");
|
entity.setDepartmentalId(sysUser.getDepartmentId());
|
entity.setToUserId(sysUser.getUserId()+"");
|
entity.setFromUserId(order.getGuideUserId());
|
entity.setFromDepartmentalId(order.getGuideDepartmentId());
|
|
iGuideEvolveService.insertConfig(entity);
|
|
return toAjax(iGuideRepairOrderService.updateConfig(order));
|
}
|
|
|
|
/**
|
* 去处理
|
* @param entity
|
* @return
|
*/
|
@ApiOperation("去处理")
|
@PostMapping("/dispose")
|
@Authorization
|
public ResultData dispose(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser)
|
{
|
if(entity==null)
|
{
|
return ResultData.error("参数不能为空");
|
}
|
|
if(StringUtils.isEmpty(entity.getGuideId()))
|
{
|
return ResultData.error("工单id不能为空");
|
}
|
|
GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(entity.getGuideId(),"");
|
if(order==null)
|
{
|
return ResultData.error("该工单不存在!");
|
}
|
|
if(StringUtils.equals(order.getState(),"3"))
|
{
|
return ResultData.error("该工单已办结!");
|
}
|
|
if(!StringUtils.equals(order.getState(),"2"))
|
{
|
return ResultData.error("该工单非是待办状态!");
|
}
|
//待评价
|
order.setState("4");
|
//新增已办结记录
|
entity.setCreateTime(LocalDateTime.now());
|
entity.setUpdateTime(LocalDateTime.now());
|
entity.setState("4");
|
entity.setFromDepartmentalId(sysUser.getDepartmentId());
|
entity.setFromUserId(sysUser.getUserId()+"");
|
iGuideEvolveService.insertConfig(entity);
|
return toAjax(iGuideRepairOrderService.updateConfig(order));
|
}
|
|
|
/**
|
* 取消导办工单
|
* @param entity
|
* @return
|
*/
|
@ApiOperation("取消导办工单")
|
@PostMapping("/cancel")
|
@Authorization
|
public ResultData cancel(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser)
|
{
|
if(entity==null)
|
{
|
return ResultData.error("参数不能为空");
|
}
|
|
if(StringUtils.isEmpty(entity.getGuideId()))
|
{
|
return ResultData.error("工单id不能为空");
|
}
|
|
GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(entity.getGuideId(),"");
|
if(order==null)
|
{
|
return ResultData.error("该工单不存在!");
|
}
|
|
if(!StringUtils.equals(order.getState(),"1"))
|
{
|
return ResultData.error("该工单不能取消!");
|
}
|
//取消状态
|
order.setState("5");
|
|
//新增已取消记录
|
entity.setCreateTime(LocalDateTime.now());
|
entity.setUpdateTime(LocalDateTime.now());
|
entity.setState("5");
|
entity.setFromDepartmentalId(sysUser.getDepartmentId());
|
entity.setFromUserId(sysUser.getUserId()+"");
|
iGuideEvolveService.insertConfig(entity);
|
return toAjax(iGuideRepairOrderService.updateConfig(order));
|
}
|
|
|
|
/**
|
* 工单评价
|
* @param entity
|
* @return
|
*/
|
@ApiOperation("工单评价")
|
@PostMapping("/evaluate")
|
@Authorization
|
public ResultData evaluate(@RequestBody GuideRepairOrder entity, @CurrentUser SysUser sysUser)
|
{
|
if(entity==null)
|
{
|
return ResultData.error("参数不能为空");
|
}
|
|
if(entity.getId()<=0)
|
{
|
return ResultData.error("工单id不能为空");
|
}
|
|
if(!StringUtils.equals(entity.getState(),"4"))
|
{
|
return ResultData.error("该工单不能评价!");
|
}
|
|
if(StringUtils.isEmpty(entity.getEvaluateState()))
|
{
|
return ResultData.error("满意程度不能为空!");
|
}
|
//已办结
|
entity.setState("3");
|
//新增已办结记录
|
GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity();
|
guideEvolveEntity.setCreateTime(LocalDateTime.now());
|
guideEvolveEntity.setUpdateTime(LocalDateTime.now());
|
guideEvolveEntity.setState("3");
|
guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId());
|
guideEvolveEntity.setFromUserId(sysUser.getUserId()+"");
|
iGuideEvolveService.insertConfig(guideEvolveEntity);
|
|
return toAjax(iGuideRepairOrderService.updateConfig(entity));
|
}
|
|
/**
|
* 获取个人中心工单数据
|
* @param sysUser 当前登录人员信息
|
* @return
|
*/
|
@ApiOperation("获取个人中心工单数据")
|
@GetMapping("/personalCenter")
|
@Authorization
|
public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){
|
return ResultData.success(iGuideRepairOrderService.selectBySubmitId(sysUser.getUserId().toString()));
|
}
|
|
|
/**
|
* 获取工单列表(分页)
|
* @param matterName
|
* @return
|
*/
|
@ApiOperation(value = "获取工单列表(分页)",response = GuideRepairOrder.class)
|
@GetMapping("/getList")
|
@Authorization
|
public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum,
|
@RequestParam(value = "pageSize",required = false) Integer pageSize,
|
@RequestParam(value = "matterName",required = false) String matterName)
|
{
|
Assert.notNull(pageNum, "pageNum 不能为空");
|
Assert.notNull(pageSize, "pageSize 不能为空");
|
Page<GuideRepairOrder> pageParam = new Page<>(pageNum,pageSize);
|
List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,matterName);
|
int num=iGuideRepairOrderService.countConfigList(matterName);
|
return getDataTable(list,num);
|
|
}
|
|
|
|
}
|