ganzi-api/inventory-gov/src/main/java/com/rzyc/controller/AppletsTaskController.java

233 lines
9.1 KiB
Java
Raw Normal View History

2022-10-20 17:29:33 +08:00
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;
2022-10-21 16:24:29 +08:00
import com.rzyc.bean.task.dto.*;
2022-10-20 17:29:33 +08:00
import com.rzyc.bean.task.vo.PerformanceVo;
2022-10-21 16:24:29 +08:00
import com.rzyc.bean.task.vo.SingleWorkVo;
import com.rzyc.bean.task.vo.SpecialWorkVo;
2022-10-20 17:29:33 +08:00
import com.rzyc.bean.task.vo.WorkPriorityVo;
2022-10-21 16:24:29 +08:00
import com.rzyc.config.MethodAnnotation;
import com.rzyc.enums.TaskState;
2022-10-20 17:29:33 +08:00
import com.rzyc.mapper.OADistributionMapper;
2022-10-21 16:24:29 +08:00
import com.rzyc.mapper.OATaskMapper;
2022-10-20 17:29:33 +08:00
import com.rzyc.model.OADistribution;
import com.rzyc.model.OATask;
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;
2022-10-21 16:24:29 +08:00
import org.springframework.security.access.prepost.PreAuthorize;
2022-10-20 17:29:33 +08:00
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
2022-10-21 16:24:29 +08:00
import javax.validation.constraints.NotNull;
import java.text.SimpleDateFormat;
import java.util.Calendar;
2022-10-20 17:29:33 +08:00
import java.util.Date;
import java.util.List;
/**
* @Description:
* @Author: ZQW
* @CreateTime: 2022/10/20 9:37
*/
@Api(tags = "小程序待办事项")
@CrossOrigin("*")
@RequestMapping("applets")
@RestController
@Validated
public class AppletsTaskController extends BaseController{
/**
* @Description: 工作要务列表
* @Author ZQW
* @CreateTime 2022/10/20 10:19
*/
@ApiOperation(value = "工作要务列表",position = 1)
@GetMapping("workList")
2022-10-21 16:24:29 +08:00
@PreAuthorize("hasAnyAuthority('workList','workList:update')")
@MethodAnnotation(authorizations = {"workList","workList:update"},name = "工作要务列表")
2022-10-20 17:29:33 +08:00
public MultiResult<WorkPriorityVo> workList(@Valid WorkDto workDto){
MultiResult<WorkPriorityVo> result = new MultiResult<>();
List<WorkPriorityVo> workList = oaTaskMapper.workList(workDto);
System.out.println("查询的数据=====" + workList);
result.setData(workList);
return result;
}
/**
* @return: 新增或修改履职记录
* @Author: ZQW
* @Date: 2022/9/20
*/
@ApiOperation(value = "新增或修改履职记录",position = 2)
@PostMapping("addExecute")
2022-10-21 16:24:29 +08:00
@PreAuthorize("hasAnyAuthority('addExecute','addExecute:update')")
@MethodAnnotation(authorizations = {"addExecute","addExecute:update"},name = "工作要务列表")
2022-10-20 17:29:33 +08:00
public SingleResult<String> addExecute(@Valid PerRecordDto perRecordDto) throws Exception{
SingleResult<String> result = new SingleResult<>();
OADistribution oaDistribution = new OADistribution();
BeanUtils.copyProperties(oaDistribution,perRecordDto);
//日期格式转换
ConvertUtils.register(new DateConverter(null), Date.class);
OATask oaTask = oaTaskMapper.findById(perRecordDto.getOataskid());
System.out.println("任务 ========" + oaTask);
if(null == oaTask){
result.setCode(0);
result.setMessage("未知任务");
return result;
}
if(StringUtils.isBlank(perRecordDto.getOadistributionid())){
oaDistribution.setOadistributionid(RandomNumber.getUUid());
oaDistribution.setCreatedby(getChinaName());
oaDistribution.setCreatedon(new Date());
oaDistributionMapper.insert(oaDistribution);
System.out.println("插入的数据===" + oaDistribution);
}else {
oaDistribution.setModifiedby(getChinaName());
oaDistribution.setModifiedon(new Date());
oaDistributionMapper.updateById(oaDistribution);
System.out.println("修改的数据===" + oaDistribution);
}
2022-10-21 16:24:29 +08:00
oaTask.setAppstatus(TaskState.FINISH.getState());
oaTaskMapper.updateById(oaTask);
2022-10-20 17:29:33 +08:00
return result;
}
/**
* @Description: 履职记录列表
* @Author ZQW
* @CreateTime 2022/10/20 15:35
*/
@ApiOperation(value = "履职记录列表",position = 3)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id",value = "任务1id")
})
@GetMapping("preList")
2022-10-21 16:24:29 +08:00
@PreAuthorize("hasAnyAuthority('preList','preList:update')")
@MethodAnnotation(authorizations = {"preList","preList:update"},name = "工作要务列表")
2022-10-20 17:29:33 +08:00
public MultiResult<PerformanceVo> preList(@Valid IdDto idDto){
MultiResult<PerformanceVo> result = new MultiResult<>();
List<PerformanceVo> preList = oaDistributionMapper.preList(idDto.getId());
result.setData(preList);
return result;
}
2022-10-21 16:24:29 +08:00
/**
* @Description: 专项工作列表
* @Author ZQW
* @CreateTime 2022/10/20 10:19
*/
@ApiOperation(value = "专项工作列表",position = 11)
@GetMapping("speWorkList")
@PreAuthorize("hasAnyAuthority('speWorkList','speWorkList:update')")
@MethodAnnotation(authorizations = {"speWorkList","speWorkList:update"},name = "工作要务列表")
public MultiResult<SpecialWorkVo> speWorkList(@Valid SpeWorkDto SpeWorkDto){
MultiResult<SpecialWorkVo> result = new MultiResult<>();
List<SpecialWorkVo> workList = oaTaskMapper.speWorkList(SpeWorkDto);
result.setData(workList);
return result;
}
/**
* @Description: 专项工作任务详情
* @Author ZQW
* @CreateTime 2022/10/21 10:17
*/
@ApiOperation(value = "专项工作任务详情",position = 12)
@GetMapping("singleWorkDetail")
@PreAuthorize("hasAnyAuthority('singleWorkDetail','singleWorkDetail:update')")
@MethodAnnotation(authorizations = {"singleWorkDetail","singleWorkDetail:update"},name = "工作要务列表")
public SingleResult<SingleWorkVo> singleWorkDetail(@Valid WorkDetailDto workDetailDto){
SingleResult<SingleWorkVo> result = new SingleResult();
SingleWorkVo specialWorkVos = oaTaskMapper.singleWorkDetail(workDetailDto);
result.setData(specialWorkVos);
return result;
}
/**
* @Description: 完成任务
* @Author ZQW
* @CreateTime 2022/10/21 11:20
*/
/* @ApiOperation(value = "新增或修改履职记录",position = 13)
@PostMapping("finishWork")
@PreAuthorize("hasAnyAuthority('finishWork','finishWork:update')")
@MethodAnnotation(authorizations = {"finishWork","finishWork:update"},name = "工作要务列表")
public SingleResult<String> finishWork(@Valid SinWorkDto sinWorkDto) throws Exception{
SingleResult<String> result = new SingleResult<>();
OADistribution oaDistribution = new OADistribution();
BeanUtils.copyProperties(oaDistribution,sinWorkDto);
//日期格式转换
ConvertUtils.register(new DateConverter(null), Date.class);
OATask oaTask = oaTaskMapper.findById(sinWorkDto.getOataskid());
System.out.println("任务 ========" + oaTask);
if(null == oaTask){
result.setCode(0);
result.setMessage("未知任务");
return result;
}
if(StringUtils.isBlank(sinWorkDto.getOadistributionid())){
oaDistribution.setOadistributionid(RandomNumber.getUUid());
oaDistribution.setCreatedby(getChinaName());
oaDistribution.setCreatedon(new Date());
oaDistributionMapper.insert(oaDistribution);
System.out.println("插入的数据===" + oaDistribution);
}else {
oaDistribution.setModifiedby(getChinaName());
oaDistribution.setModifiedon(new Date());
oaDistributionMapper.updateById(oaDistribution);
System.out.println("修改的数据===" + oaDistribution);
}
return result;
}*/
/**
* @Description: 判断当前任务是否过期
* @Author ZQW
* @CreateTime 2022/10/21 14:52
*/
@ApiOperation(value = "判断当前任务是否过期",position = 2)
@PostMapping("judgeTask")
@PreAuthorize("hasAnyAuthority('judgeTask:update')")
@MethodAnnotation(authorizations = {"judgeTask:update"},name = "判断当前任务是否过期")
public SingleResult<String> judgeTask(@Valid IdDto idDto){
SingleResult<String> result = new SingleResult<>();
OATask oaTask = oaTaskMapper.selectOATask(idDto.getId());
System.out.println("任务=====" + oaTask);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date nowDate = new Date();
Date endDate = oaTask.getEnddate();
Calendar nowTime = Calendar.getInstance();
Calendar endTime = Calendar.getInstance();
nowTime.setTime(nowDate);
endTime.setTime(endDate);
//任务状态不是过期的才会执行以下代码且当前时间在结束时间之后
if(oaTask.getAppstatus() != TaskState.OVERTIME.getState() && nowTime.after(endTime)){
oaTask.setAppstatus(TaskState.OVERTIME.getState());
}
oaTaskMapper.updateOATask(oaTask);
return result;
}
2022-10-20 17:29:33 +08:00
}