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.model.OADistribution; import com.rzyc.model.OATask; import com.rzyc.model.OaTaskUser; 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 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); int finishNum = oaDistributionMapper.countNum(workDto.getTaskTypeId()); for (WorkPriorityVo priorityVo : workList) { priorityVo.setFinishNum(finishNum); } 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(getUserId()); oaDistribution.setCreatedon(new Date()); oaDistributionMapper.insert(oaDistribution); System.out.println("插入的数据===" + oaDistribution); }else { oaDistribution.setModifiedby(getUserId()); 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 14:52 */ @ApiOperation(value = "判断当前任务是否过期",position = 13) @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; } /** * @Description: 任务流转 * @Author ZQW * @CreateTime 2022/10/24 10:23 */ /* @ApiOperation(value = "任务流转",position = 14) @PostMapping("taskFlow") @PreAuthorize("hasAnyAuthority('taskFlow:update')") @MethodAnnotation(authorizations = {"taskFlow:update"},name = "任务流转") public SingleResult taskFlow(@Valid WorkFlowDto flowDto) throws Exception{ SingleResult result = new SingleResult<>(); OaTaskUser oaTaskUser = new OaTaskUser(); OATask oaTask = oaTaskMapper.selectOATask(flowDto.getOaDistributionId()); SysUser user = sysUserMapper.selectUser(flowDto.getSysUserId()); if(null == oaTask){ result.setCode(0); result.setMessage("未知任务"); return result; } if(null == user){ result.setCode(0); result.setMessage("查无此人"); return result; } oaTask.setOataskid(RandomNumber.getUUid()); oaTask.setSendId(oaTask.getUserId()); oaTask.setUserId(flowDto.getSysUserId()); oaTaskUser.setCreateTime(new Date()); oaTaskUser.setCreateBy(getUserId()); oaTaskMapper.insertTask(oaTask); System.err.println("插入的内容" + oaTask); return result; }*/ /** * @Description: 参与人员姓名显示 * @Author ZQW * @CreateTime 2022/10/25 11:00 */ /* @ApiOperation(value = "参与人员姓名显示",position = 15) @GetMapping("nameList") @PreAuthorize("hasAnyAuthority('nameList','nameList:update')") @MethodAnnotation(authorizations = {"nameList","nameList:update"},name = "参与人员姓名显示") public MultiResult nameList(@Valid IdDto idDto){ MultiResult result = new MultiResult<>(); oaTaskMapper.selectName(workDto); //查询任务 *//*List taskList = (List) oaTaskMapper.selectOATask(workDto.getTaskTypeId()); for (OATask oaTask : taskList) { String sendId = oaTask.getSendId(); List nameVo = oaTaskMapper.selectName(sendId); for (NameVo name : nameVo) { name.setName(); } }*//* return result; }*/ }