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.*; import com.rzyc.bean.task.vo.PerformanceVo; import com.rzyc.bean.task.vo.SingleWorkVo; import com.rzyc.bean.task.vo.SpecialWorkVo; import com.rzyc.bean.task.vo.WorkPriorityVo; import com.rzyc.config.MethodAnnotation; import com.rzyc.enums.TaskState; import com.rzyc.mapper.OADistributionMapper; import com.rzyc.mapper.OATaskMapper; 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; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.text.SimpleDateFormat; import java.util.Calendar; 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") @PreAuthorize("hasAnyAuthority('workList','workList:update')") @MethodAnnotation(authorizations = {"workList","workList:update"},name = "工作要务列表") public MultiResult workList(@Valid WorkDto workDto){ MultiResult result = new MultiResult<>(); List 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") @PreAuthorize("hasAnyAuthority('addExecute','addExecute:update')") @MethodAnnotation(authorizations = {"addExecute","addExecute:update"},name = "工作要务列表") public SingleResult addExecute(@Valid PerRecordDto perRecordDto) throws Exception{ SingleResult 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); } oaTask.setAppstatus(TaskState.FINISH.getState()); oaTaskMapper.updateById(oaTask); return result; } /** * @Description: 履职记录列表 * @Author ZQW * @CreateTime 2022/10/20 15:35 */ @ApiOperation(value = "履职记录列表",position = 3) @ApiImplicitParams(value = { @ApiImplicitParam(name = "id",value = "任务1id") }) @GetMapping("preList") @PreAuthorize("hasAnyAuthority('preList','preList:update')") @MethodAnnotation(authorizations = {"preList","preList:update"},name = "工作要务列表") public MultiResult preList(@Valid IdDto idDto){ MultiResult result = new MultiResult<>(); List preList = oaDistributionMapper.preList(idDto.getId()); result.setData(preList); return result; } /** * @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 speWorkList(@Valid SpeWorkDto SpeWorkDto){ MultiResult result = new MultiResult<>(); List 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 singleWorkDetail(@Valid WorkDetailDto workDetailDto){ SingleResult 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 finishWork(@Valid SinWorkDto sinWorkDto) throws Exception{ SingleResult 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 judgeTask(@Valid IdDto idDto){ SingleResult 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; } }