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.*; 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.TaskRecord; 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); for (WorkPriorityVo priorityVo : workList) { String oaDistributionId = priorityVo.getOADistributionId(); int finishNum = taskRecordMapper.countNum(oaDistributionId); 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<>(); TaskRecord taskRecord = new TaskRecord(); //日期格式转换 ConvertUtils.register(new DateConverter(null), Date.class); BeanUtils.copyProperties(taskRecord,perRecordDto); OADistribution oaDistribution = oaDistributionMapper.selectByPrimaryKey(perRecordDto.getOADistributionId()); System.out.println("任务 ========" + oaDistribution); if(null == oaDistribution){ result.setCode(0); result.setMessage("未知任务"); return result; } if(StringUtils.isBlank(perRecordDto.getRecordId())){ taskRecord.setRecordId(RandomNumber.getUUid()); taskRecord.setOADistributionId(taskRecord.getOADistributionId()); taskRecord.setCreateBy(getUserId()); taskRecord.setCreateTime(new Date()); taskRecordMapper.insert(taskRecord); System.err.println("插入的数据===" + taskRecord); }else { taskRecord.setModfiyBy(getUserId()); taskRecord.setModfiyTime(new Date()); taskRecordMapper.updateById(taskRecord); System.err.println("修改的数据===" + taskRecord); } return result; } /** * @Description: 履职记录列表 * @Author ZQW * @CreateTime 2022/10/20 15:35 */ @ApiOperation(value = "履职记录列表",position = 3) @ApiImplicitParams(value = { @ApiImplicitParam(name = "id",value = "任务接收id") }) @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 = taskRecordMapper.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") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id",value = "任务接收id") }) @PreAuthorize("hasAnyAuthority('singleWorkDetail','singleWorkDetail:update')") @MethodAnnotation(authorizations = {"singleWorkDetail","singleWorkDetail:update"},name = "工作要务列表") public SingleResult singleWorkDetail(@Valid IdDto idDto){ SingleResult result = new SingleResult(); OADistribution oaDistribution = oaDistributionMapper.selectByPrimaryKey(idDto.getId()); String sendUser = oaDistribution.getSysuserid(); SysUser user = sysUserMapper.selectUser(sendUser); SingleWorkVo specialWorkVos = oaDistributionMapper.singleWorkDetail(idDto); specialWorkVos.setSendName(user.getSysusername()); result.setData(specialWorkVos); System.err.println("任务详情========" + 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/25 11:00 */ @ApiOperation(value = "参与人员姓名显示",position = 14) @GetMapping("nameList") @PreAuthorize("hasAnyAuthority('nameList','nameList:update')") @MethodAnnotation(authorizations = {"nameList","nameList:update"},name = "参与人员姓名显示") public MultiResult nameList(@Valid NameDto nameDto){ MultiResult result = new MultiResult<>(); List nameVoList = oaDistributionMapper.selectName(nameDto); System.err.println("输出====" + nameVoList); result.setData(nameVoList); return result; } }