package com.goafanti.admin.controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.goafanti.admin.bo.InputPublicDtails; import com.goafanti.admin.bo.InputPublicRelease; import com.goafanti.admin.bo.InputPublicReleaseList; import com.goafanti.admin.bo.InputPublicStatistics; import com.goafanti.admin.service.PublicReleaseService; import com.goafanti.common.bo.Result; import com.goafanti.common.constant.ErrorConstants; import com.goafanti.common.controller.CertifyApiController; import com.goafanti.common.utils.StringUtils; @RestController @RequestMapping(value = "/api/admin/release") public class AdminReleaseApiController extends CertifyApiController{ @Resource private PublicReleaseService publicReleaseService; /** * 发起外出申请 * @return */ @RequestMapping(value = "/addPublicRelease", method = RequestMethod.POST) public Result addPublicRelease(InputPublicRelease in){ Result res = new Result(); if (StringUtils.isBlank(in.getUid())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"用户编号")); return res; } if (StringUtils.isBlank(in.getReleaseStarts())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出时间")); return res; } if (StringUtils.isBlank(in.getUserName())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出地点")); return res; } res.setData(publicReleaseService.addPublicRelease(in)); return res; } /** * 修改外出申请 * @return */ @RequestMapping(value = "/updatePublicRelease", method = RequestMethod.POST) public Result updatePublicRelease(InputPublicRelease in){ Result res = new Result(); if (StringUtils.isBlank(in.getUid())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"用户编号")); return res; } if (StringUtils.isBlank(in.getReleaseStarts())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出时间")); return res; } if (StringUtils.isBlank(in.getUserName())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出地点")); return res; } res.setData(publicReleaseService.updatePublicRelease(in)); return res; } /** * 外出打卡 * @return */ @RequestMapping(value = "/publicReleaseClockIn", method = RequestMethod.POST) public Result publicReleaseClockIn(Integer id){ Result res =new Result(); res.setData(publicReleaseService.pushPublicReleaseClockIn(id)); return res; } /** * 外出申请详情 * @return */ @RequestMapping(value = "/dtails", method = RequestMethod.GET) public Result publicReleaseDtails(String id){ Result res =new Result(); res.setData(publicReleaseService.publicReleaseDtails(id)); return res; } /** * 外出申请列表 * @return */ @RequestMapping(value = "/listPublicRelease", method = RequestMethod.GET) public Result listPublicRelease(InputPublicReleaseList in){ Result res =new Result(); res.setData(publicReleaseService.listPublicRelease(in)); return res; } /** * 外出审核 * @return */ @RequestMapping(value = "/examinePublicRelease", method = RequestMethod.POST) public Result examinePublicRelease(Integer id ,Integer status,String remarks,Double duration){ Result res =new Result(); if (id==null) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出编号")); return res; } if (status!=0&&status!=2) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"审核状态")); return res; } if (remarks.length()>20) { res.getError().add(buildError("备注长度不能超过20个字符。")); return res; } res.setData(publicReleaseService.pushExaminePublicRelease( id , status, remarks,duration)); return res; } /** * 外出审核日志列表 * @return */ @RequestMapping(value = "/listPublicReleaseLog", method = RequestMethod.GET) public Result listPublicReleaseLog(Integer id){ Result res =new Result(); res.data(publicReleaseService.listPublicReleaseLog(id)); return res; } /** * 公出统计 * @return */ @RequestMapping(value = "/publicReleaseStatistics", method = RequestMethod.GET) public Result publicReleaseStatistics(InputPublicStatistics in){ Result res =new Result(); res.data(publicReleaseService.publicReleaseStatistics(in)); return res; } /** * 公出详情列表 * @return */ @RequestMapping(value = "/publicReleaseDtails", method = RequestMethod.GET) public Result publicReleaseListDtails(InputPublicDtails in){ Result res =new Result(); res.data(publicReleaseService.publicReleaseListDtails(in)); return res; } /** 上传图片 **/ @RequestMapping(value = "/upload", method = RequestMethod.POST) public Result uploadOrderInvoiceFile(HttpServletRequest req){ Result res = new Result(); res.setData(handleFile(res, "/publicRelease/", false, req, "publicRelease")); return res; } }