ganzi-api/inventory-gov/src/main/java/com/rzyc/controller/TaskController.java
2022-10-27 17:24:20 +08:00

246 lines
8.4 KiB
Java

package com.rzyc.controller;
import com.common.utils.RandomNumber;
import com.common.utils.StringUtils;
import com.common.utils.model.MultiResult;
import com.common.utils.model.SingleResult;
import com.rzyc.bean.task.dto.AddTaskDto;
import com.rzyc.bean.task.dto.IdDto;
import com.rzyc.bean.task.vo.TaskDetailVo;
import com.rzyc.bean.task.vo.TaskNameVo;
import com.rzyc.bean.task.vo.TaskVo;
import com.rzyc.bean.task.vo.ThingVo;
import com.rzyc.model.OADistribution;
import com.rzyc.model.OATask;
import com.rzyc.model.OaTaskType;
import com.rzyc.model.task.dto.TaskAddOrUpdateDto;
import com.rzyc.model.user.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
/**
* @ClassName: TaskController
* @description:
* @author: ZQW
* * @create: 2022-09-20 15:21
**/
@Api(tags = "工作任务")
@CrossOrigin("*")
@RequestMapping("task")
@RestController
@Validated
public class TaskController extends BaseController{
/**
* @Description: 新增任务
* @Author ZQW
* @CreateTime 2022/9/23 14:38
*/
@ApiOperation(value = "新增任务",position = 1)
@PostMapping("addTask")
public SingleResult<String> addTask(@Valid AddTaskDto addTaskDto) throws Exception{
SingleResult<String> result = new SingleResult<>();
OATask oaTask = new OATask();
BeanUtils.copyProperties(oaTask,addTaskDto);
//日期格式转换
ConvertUtils.register(new DateConverter(null), Date.class);
//发布人
SysUser sysUser = sysUserMapper.selectByPrimaryKey(addTaskDto.getSendId());
//接收人
//SysUser receiveUser = sysUserMapper.selectByPrimaryKey(addTaskDto.getUserId());
if(null == sysUser){
result.setCode(0);
result.setMessage("未知错误");
return result;
}
if(StringUtils.isBlank(addTaskDto.getOataskid())){
oaTask.setOataskid(RandomNumber.getUUid());
oaTask.setCreatedby(getUserId());
oaTask.setCreatedon(new Date());
oaTaskMapper.insertTask(oaTask);
System.out.println("用户id======" + oaTask.getUserId());
}else {
oaTask.setModifiedby(getUserId());
oaTask.setModifiedon(new Date());
oaTaskMapper.updateById(oaTask);
}
/* //增加默认任务执行情况
OADistribution oaDistribution = new OADistribution();
oaDistribution.setOadistributionid(RandomNumber.getUUid());
oaDistribution.setSnedId(addTaskDto.getSendId());
oaDistribution.setSyschinaname(receiveUser.getChinaname());
oaDistribution.setCreatedby(getUserId());
oaDistribution.setCreatedon(new Date());*/
return result;
}
/**
* @Description: 待办事项列表
* @Author ZQW
* @CreateTime 2022/9/23 10:20
*/
@ApiOperation(value = "待办事项列表",position = 2)
@GetMapping("thingsList")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id",value = "任务类型id")
})
public MultiResult<ThingVo> thingsList(@Valid IdDto idDto){
MultiResult<ThingVo> result = new MultiResult<>();
List<ThingVo> thingVos = oaTaskMapper.thingsList(idDto);
System.out.println("查询的数据=====" + thingVos);
result.setData(thingVos);
return result;
}
/**
* @return: 查询我发布的任务
* @Author: ZQW
* @Date: 2022/9/20
*/
@ApiOperation(value = "查询我发布的任务",position = 3)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id",value = "发布人id")
})
@GetMapping("deliverTaskList")
public MultiResult<TaskVo> deliverTaskList(@Valid IdDto idDto) throws Exception{
MultiResult<TaskVo> result = new MultiResult<>();
SysUser user = sysUserMapper.selectByPrimaryKey(idDto.getId());
System.out.println("user=========" + user);
List<TaskVo> oaTasks = oaTaskMapper.deliverTaskList("%%",idDto.getId());
if(null == user){
result.setCode(0);
result.setMessage("未知错误");
return result;
}
if(oaTasks != null){
result.setData(oaTasks);
}
return result;
}
/**
* @Description: 查询我收到的任务
* @Author ZQW
* @CreateTime 2022/9/26 9:34
*/
@ApiOperation(value = "查询我收到的任务",position = 4)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id",value = "接收用户id")
})
@GetMapping("getTaskList")
public MultiResult<TaskVo> getTaskList(@Valid IdDto idDto){
MultiResult<TaskVo> result = new MultiResult<>();
SysUser user = sysUserMapper.selectByPrimaryKey(idDto.getId());
List<TaskVo> oaTasks = oaTaskMapper.getTaskList("%%",idDto.getId());
if(null == user){
result.setCode(0);
result.setMessage("未知错误");
return result;
}
if(oaTasks != null){
result.setData(oaTasks);
}
return result;
}
/**
* @Description:查询任务名称
* @Author ZQW
* @CreateTime 2022/9/29 9:44
*/
/*@ApiOperation(value = "查询任务名称",position = 5)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id",value = "任务类型1id")
})
@GetMapping("getTaskName")
public SingleResult<TaskNameVo> getTaskName(@Valid IdDto idDto){
SingleResult<TaskNameVo> result = new SingleResult<>();
TaskNameVo taskNameVo = new TaskNameVo();
OaTaskType oaTaskType = oaTaskTypeMapper.selectById(idDto.getId());
taskNameVo.setName(oaTaskType.getName());
result.setData(taskNameVo);
return result;
}*/
/**
* @return: 新增任务执行情况
* @Author: ZQW
* @Date: 2022/9/20
*/
@ApiOperation(value = "新增或修改任务执行情况",position = 10)
@PostMapping("addExecute")
public SingleResult<String> addExecute(@Valid TaskAddOrUpdateDto addTaskDto) throws Exception{
SingleResult<String> result = new SingleResult<>();
OADistribution oaDistribution = new OADistribution();
BeanUtils.copyProperties(oaDistribution,addTaskDto);
//日期格式转换
ConvertUtils.register(new DateConverter(null), Date.class);
SysUser sysUser = sysUserMapper.selectByPrimaryKey(addTaskDto.getSysuserid());
OATask oaTask = oaTaskMapper.findById(addTaskDto.getOataskid());
System.out.println("任务 ========" + oaTask);
if(null == sysUser){
result.setCode(0);
result.setMessage("用户不存在");
return result;
}
if(null == oaTask){
result.setCode(0);
result.setMessage("未知任务");
return result;
}
if(StringUtils.isBlank(addTaskDto.getOadistributionid())){
oaDistribution.setOadistributionid(RandomNumber.getUUid());
oaDistribution.setSyschinaname(sysUser.getChinaname());
oaDistribution.setSystelephone(sysUser.getMobiletel());
oaDistribution.setCreatedby(getUserId());
oaDistribution.setCreatedon(new Date());
oaDistributionMapper.insert(oaDistribution);
}else {
oaDistribution.setModifiedby(getUserId());
oaDistribution.setModifiedon(new Date());
oaDistributionMapper.updateById(oaDistribution);
}
return result;
}
/**
* @Description: 发布任务详情
* @Author ZQW
* @CreateTime 2022/9/29 13:56
*/
@ApiOperation(value = "发布(收到)任务详情",position = 11)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id",value = "任务1id")
})
@GetMapping("deliverTaskDetail")
public SingleResult<TaskDetailVo> deliverTaskDetail(@Valid IdDto idDto){
SingleResult<TaskDetailVo> result = new SingleResult<>();
TaskDetailVo detailVo = oaTaskMapper.selectDetail(idDto.getId());
result.setData(detailVo);
return result;
}
}