package com.goafanti.order.controller; import java.io.IOException; import java.io.OutputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.goafanti.common.bo.Result; import com.goafanti.common.constant.ErrorConstants; import com.goafanti.common.controller.CertifyApiController; import com.goafanti.common.model.TTaskHours; import com.goafanti.common.utils.StringUtils; import com.goafanti.order.bo.TOrderTaskDetailBo; import com.goafanti.order.service.OrderProjectService; @RestController @RequestMapping(value = "/api/admin/orderProject") public class OrderProjectApiController extends CertifyApiController { @Autowired private OrderProjectService orderProjectService; /** * 项目分配 */ @RequestMapping(value = "/projectDistribution", method = RequestMethod.POST) public Result projectDistribution(Integer taskId,String taskReceiverId,Integer specially ){ Result res = new Result(); if(null==taskId || StringUtils.isBlank(taskReceiverId)){ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "任务编号和受理人")); return res; } res.setData(orderProjectService.updateProjectDistribution( taskId, taskReceiverId,specially)); return res; } /** * 任务派单列表 */ @RequestMapping(value="/orderTaskList" ,method = RequestMethod.GET) public Result orderTaskList(String name,String orderNo,String taskId,Integer taskStatus,String adminName,Integer specially,String depId ,Integer pageNo,Integer pageSize){ Result res=new Result(); res.setData(orderProjectService.orderTaskList( name, orderNo, taskId, taskStatus, adminName,specially , depId,pageNo, pageSize)); return res; } /** * 任务派单查询 */ @RequestMapping(value="/selectTaskList" ,method = RequestMethod.GET) public Result selectTaskList(String name,String orderNo,String taskId,Integer taskStatus,String adminName,Integer specially ,String depId ,Integer pageNo,Integer pageSize){ Result res=new Result(); res.setData(orderProjectService.selectTaskList( name, orderNo, taskId, taskStatus, adminName,specially , depId ,pageNo, pageSize)); return res; } /** * 任务详情 */ @RequestMapping(value="/orderTaskDetail" ,method = RequestMethod.GET) public Result orderTaskDetail(String id){ Result res=new Result(); res.setData(orderProjectService.orderTaskDetail(id)); return res; } /** * 任务修改 */ @RequestMapping(value="/updateOrderTask" ,method = RequestMethod.POST) public Result updateOrderTask(TOrderTaskDetailBo t){ Result res=new Result(); res.setData(orderProjectService.updateOrderTask(t)); return res; } /** * 添加工时 */ @RequestMapping(value="/addTaskHours" ,method = RequestMethod.POST) public Result addTaskHours(TTaskHours t,String taskDate){ Result res=new Result(); if (t.getHours()==null) { res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "任务时间")); return res; } if (StringUtils.isBlank(taskDate)) { res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "工作日期")); return res; } if (StringUtils.isBlank(t.getRemarks())) { res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "工作内容")); return res; } if (StringUtils.isNotBlank(taskDate)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); try { t.setTaskDay(sdf.parse(taskDate)); } catch (ParseException e) { e.printStackTrace(); } } res.setData(orderProjectService.addTaskHours(t)); return res; } /** * 任务工时列表 */ @RequestMapping(value="/taskHoursList" ,method = RequestMethod.GET) public Result taskHoursList(String name, String taskId ,String starTime,String endTime , Integer pageNo, Integer pageSize){ Result res=new Result(); res.setData(orderProjectService.taskHoursList(name,taskId, starTime, endTime ,pageNo, pageSize)); return res; } /** * 任务操作日志 */ @RequestMapping(value="/TaskLogList" ,method = RequestMethod.GET) public Result TaskLogList(Integer id){ Result res=new Result(); res.setData(orderProjectService.TaskLogList(id)); return res; } /** 任务文件上传 **/ @RequestMapping(value = "/uploadOrderTaskFile", method = RequestMethod.POST) public Result uploadOrderTaskFile(HttpServletRequest req,String sign){ Result res = new Result(); res.setData(handleFile(res, "/order_task_file/", false, req, sign)); return res; } /** * 任务工时表 * @throws IOException */ @RequestMapping(value = "/exportTaskHoursListData", method = RequestMethod.GET) public Result exportTaskHoursListData(String name, String taskId ,String starTime,String endTime ,HttpServletResponse response) throws IOException{ Result res = new Result(); XSSFWorkbook wb = orderProjectService.exportTaskHoursListData( name, taskId, starTime, endTime); if(null == wb){ res.getError().add(buildError("", "没有找到数据")); return res; } String fileName = "任务工时表 " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls"; OutputStream out = response.getOutputStream(); response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1")); response.setContentType("application/octet-stream;charset=utf-8"); try { // 返回数据流 wb.write(out); out.flush(); out.close(); } finally { out.flush(); out.close(); } return res; } }