package com.hz.employmentsite.controller.taskAndLog; import com.github.pagehelper.PageInfo; import com.hz.employmentsite.filter.exception.BaseErrorEnum; import com.hz.employmentsite.filter.exception.BaseException; import com.hz.employmentsite.filter.exception.BaseResponse; import com.hz.employmentsite.filter.exception.RespGenerstor; import com.hz.employmentsite.services.service.AccountService; import com.hz.employmentsite.services.service.taskAndLog.DoTaskService; import com.hz.employmentsite.util.DateUtils; import com.hz.employmentsite.util.ExcelHelper; import com.hz.employmentsite.vo.taskAndLog.DoTaskUserVo; import com.hz.employmentsite.vo.taskAndLog.DoTaskVo; import com.hz.employmentsite.vo.baseSettings.SiteUserVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.*; @RestController @RequestMapping(value = "/api/taskAndLog/doTask") public class DoTaskController { @Autowired private DoTaskService doTaskService; @Autowired private AccountService accountService; @Autowired private DateUtils dateUtils; @ResponseBody @GetMapping("/getList") public BaseResponse getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) String doTaskID, @RequestParam(required = false) String name, @RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String finishStartTime, @RequestParam(required = false) String finishEndTime, @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode, @RequestParam(required = false) String workTypeId,@RequestParam(required = false)Integer taskStatus) { PageInfo result = doTaskService.getList(pageIndex, pageSize, doTaskID,name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId,taskStatus); return RespGenerstor.success(result); } @ResponseBody @GetMapping("/getMyWorkTasks") public BaseResponse getMyTasks(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize) { PageInfo result = doTaskService.getMyTasks(pageIndex,pageSize,accountService.getLoginUserID()); return RespGenerstor.success(result); } @ResponseBody @GetMapping("/getDataById") public BaseResponse getDataById(String id) { var result = doTaskService.getDataById(id); if (result == null) { result = new DoTaskVo(); result.setDoTaskID(UUID.randomUUID().toString()); result.doTaskUser = null; } return RespGenerstor.success(result); } @ResponseBody @PostMapping("/taskFinish") public BaseResponse taskFinish(String doTaskID) { var result = doTaskService.taskFinish(doTaskID, accountService.getLoginUserID()); return RespGenerstor.success(result); } @ResponseBody @PostMapping("/save") public BaseResponse save(@RequestBody DoTaskVo data) { var result = doTaskService.save(data, accountService.getLoginUserID()); return RespGenerstor.success(result); } @ResponseBody @GetMapping("/getWorkUserList") public BaseResponse getWorkUserList(@RequestParam(required = false) String id) { if (id == null) return null; List list = doTaskService.getWorkUserList(id); return RespGenerstor.success(list); } @ResponseBody @GetMapping("/getUserList") public BaseResponse getUserList() { List list = doTaskService.getUserList(); return RespGenerstor.success(list); } @ResponseBody @PostMapping("/delete") public BaseResponse delete(@RequestBody List ids) { int result = doTaskService.delete(ids); if (result <= 0) throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR); return RespGenerstor.success(result); } @GetMapping("/export") public BaseResponse export(HttpServletResponse response, @RequestParam(required = false) Boolean isExport, @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam(required = false) String doTaskID, @RequestParam(required = false) String name, @RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String finishStartTime, @RequestParam(required = false) String finishEndTime, @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode, @RequestParam(required = false) String workTypeId, @RequestParam(required = false) Integer taskStatus) throws Exception { PageInfo result = doTaskService.getList(pageIndex, pageSize, doTaskID, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId,taskStatus); if (isExport == null || !isExport) { return RespGenerstor.success(result); } else { ExcelHelper excelHelper = new ExcelHelper(); ExcelHelper.ExcelData data = excelHelper.new ExcelData(); data.setTitles(Arrays.asList(new String[]{"序号", "任务名称", "任务类型", "任务完成时间", "所属县区", "所属街道", "执行用户数", "下达时间", "下达人"})); int i = 0; List> rowDatas = new ArrayList(); for (DoTaskVo item : result.getList()) { List row = new ArrayList(); ++i; row.add(i); row.add(item.doTaskName); row.add(item.workTypeName); row.add(dateUtils.dateToStr(item.finishTime)); row.add(item.regionName); row.add(item.streetName); row.add(item.userCount); row.add(dateUtils.dateToStr(item.createTime)); row.add(item.createName); rowDatas.add(row); } data.setRows(rowDatas); excelHelper.exportExcel(response, data); return null; } } }