| | |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.talentcard.server.business.PageResult; |
| | |
| | | public ApiResponse<PageResult<Map<String, Object>>> page( |
| | | @Parameter(description = "预约类型") @RequestParam(required = false) String applicationType, |
| | | @Parameter(description = "人才/申请人/手机号/卡号/申请编号关键词") @RequestParam(required = false) String keyword, |
| | | @Parameter(description = "预约人姓名") @RequestParam(required = false) String applicantName, |
| | | @Parameter(description = "联系电话") @RequestParam(required = false) String applicantMobile, |
| | | @Parameter(description = "服务机构关键词") @RequestParam(required = false) String serviceKeyword, |
| | | @Parameter(description = "人才卡等级") @RequestParam(required = false) String cardLevel, |
| | | @Parameter(description = "处理状态") @RequestParam(required = false) String status, |
| | |
| | | @Parameter(description = "页码") @RequestParam(defaultValue = "1") int page, |
| | | @Parameter(description = "每页条数") @RequestParam(defaultValue = "10") int size |
| | | ) { |
| | | return ApiResponse.success(service.page(applicationType, keyword, serviceKeyword, cardLevel, status, submittedStart, submittedEnd, page, size)); |
| | | return ApiResponse.success(service.page(applicationType, keyword, applicantName, applicantMobile, serviceKeyword, cardLevel, status, submittedStart, submittedEnd, page, size)); |
| | | } |
| | | |
| | | @Operation(summary = "预约申请详情", description = "查看预约申请完整信息,包含服务快照、申请人、配偶或子女信息") |
| | |
| | | return ApiResponse.success(service.detail(id)); |
| | | } |
| | | |
| | | @Operation(summary = "查询预约申请操作日志", description = "查看提交及后台状态处理记录") |
| | | @GetMapping("/{id}/operation-logs") |
| | | public ApiResponse<List<Map<String, Object>>> operationLogs(@PathVariable Long id) { |
| | | return ApiResponse.success(service.operationLogs(id)); |
| | | } |
| | | @Operation(summary = "处理预约申请", description = "维护处理状态和处理备注;学生托管审核通过/不通过时同步更新子女信息审核状态") |
| | | @PatchMapping("/{id}/status") |
| | | public ApiResponse<Map<String, Object>> updateStatus( |
| | |
| | | public void export( |
| | | @Parameter(description = "预约类型") @RequestParam(required = false) String applicationType, |
| | | @Parameter(description = "人才/申请人/手机号/卡号/申请编号关键词") @RequestParam(required = false) String keyword, |
| | | @Parameter(description = "预约人姓名") @RequestParam(required = false) String applicantName, |
| | | @Parameter(description = "联系电话") @RequestParam(required = false) String applicantMobile, |
| | | @Parameter(description = "服务机构关键词") @RequestParam(required = false) String serviceKeyword, |
| | | @Parameter(description = "人才卡等级") @RequestParam(required = false) String cardLevel, |
| | | @Parameter(description = "处理状态") @RequestParam(required = false) String status, |
| | |
| | | @Parameter(description = "提交结束日期,格式yyyy-MM-dd") @RequestParam(required = false) String submittedEnd, |
| | | HttpServletResponse response |
| | | ) throws IOException { |
| | | byte[] data = service.exportExcel(applicationType, keyword, serviceKeyword, cardLevel, status, submittedStart, submittedEnd); |
| | | byte[] data = service.exportExcel(applicationType, keyword, applicantName, applicantMobile, serviceKeyword, cardLevel, status, submittedStart, submittedEnd); |
| | | String filename = URLEncoder.encode("预约申请列表.xlsx", StandardCharsets.UTF_8).replace("+", "%20"); |
| | | response.setCharacterEncoding(StandardCharsets.UTF_8.name()); |
| | | response.setContentType(MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet").toString()); |