/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.task.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.log.annotation.ApiLog; import org.springblade.core.log.logger.BladeLogger; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.jackson.JsonUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.modules.task.dto.TaskPlaceRectificationDTO; import org.springblade.modules.task.excel.PlaceRectificationsExcel; import org.springblade.modules.task.excel.PlaceRectificationsImporter; import org.springblade.modules.task.excel.TaskPlaceRectificationExcel; import org.springblade.modules.task.vo.TaskPlaceRectificationsVO; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.modules.task.entity.TaskPlaceRectificationEntity; import org.springblade.modules.task.vo.TaskPlaceRectificationVO; import org.springblade.modules.task.wrapper.TaskPlaceRectificationWrapper; import org.springblade.modules.task.service.ITaskPlaceRectificationService; import org.springblade.core.boot.ctrl.BladeController; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 场所整改任务表 控制器 * * @author BladeX * @since 2024-01-31 */ @RestController @AllArgsConstructor @RequestMapping("blade-taskPlaceRectification/taskPlaceRectification") @Api(value = "场所整改任务表", tags = "场所整改任务表接口") public class TaskPlaceRectificationController extends BladeController { private final ITaskPlaceRectificationService taskPlaceRectificationService; private final BladeLogger bladeLogger; /** * 场所整改任务表 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiLog("场所整改任务表 详情") @ApiOperation(value = "详情", notes = "传入taskPlaceRectification") public R detail(TaskPlaceRectificationEntity taskPlaceRectification) { bladeLogger.info("场所整改任务表 详情", JsonUtil.toJson(taskPlaceRectification)); TaskPlaceRectificationEntity detail = taskPlaceRectificationService.getOne(Condition.getQueryWrapper(taskPlaceRectification)); return R.data(TaskPlaceRectificationWrapper.build().entityVO(detail)); } /** * 场所整改任务表 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入taskPlaceRectification") public R> list(TaskPlaceRectificationEntity taskPlaceRectification, Query query) { IPage pages = taskPlaceRectificationService.page(Condition.getPage(query), Condition.getQueryWrapper(taskPlaceRectification)); return R.data(TaskPlaceRectificationWrapper.build().pageVO(pages)); } /** * 场所整改任务表 自定义分页 */ @GetMapping("/page") @ApiLog("场所整改任务表 自定义分页") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入taskPlaceRectification") public R> page(TaskPlaceRectificationVO taskPlaceRectification, Query query) { bladeLogger.info("场所整改任务表 自定义分页", JsonUtil.toJson(taskPlaceRectification)); IPage pages = taskPlaceRectificationService.selectTaskPlaceRectificationPage(Condition.getPage(query), taskPlaceRectification); return R.data(pages); } /** * 场所整改任务表 新增 */ @PostMapping("/save") @ApiLog("场所整改任务表 新增") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入taskPlaceRectification") public R save(@Valid @RequestBody TaskPlaceRectificationEntity taskPlaceRectification) { bladeLogger.info("场所整改任务表 新增", JsonUtil.toJson(taskPlaceRectification)); return R.status(taskPlaceRectificationService.save(taskPlaceRectification)); } /** * 场所整改任务表 修改 */ @PostMapping("/update") @ApiLog("场所整改任务表 修改") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入taskPlaceRectification") public R update(@Valid @RequestBody TaskPlaceRectificationEntity taskPlaceRectification) { bladeLogger.info("场所整改任务表 修改", JsonUtil.toJson(taskPlaceRectification)); return R.status(taskPlaceRectificationService.updateById(taskPlaceRectification)); } /** * 场所整改任务表 新增或修改 */ @PostMapping("/submit") @ApiLog("场所整改任务表 新增或修改") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入taskPlaceRectification") public R submit(@Valid @RequestBody TaskPlaceRectificationEntity taskPlaceRectification) { bladeLogger.info("场所整改任务表 新增或修改", JsonUtil.toJson(taskPlaceRectification)); return R.status(taskPlaceRectificationService.saveOrUpdate(taskPlaceRectification)); } /** * 场所整改任务表 删除 */ @PostMapping("/remove") @ApiLog("场所整改任务表 详情") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { bladeLogger.info("场所整改任务表 删除", JsonUtil.toJson(ids)); return R.status(taskPlaceRectificationService.removeBatchByIds(Func.toLongList(ids))); } /** * 场所整改任务表 详情 */ @GetMapping("/detailByTaskId") @ApiLog("场所整改任务表 详情") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入taskPlaceRectification") public R detailById(TaskPlaceRectificationEntity taskPlaceRectification) { bladeLogger.info("场所整改任务表 详情", JsonUtil.toJson(taskPlaceRectification)); TaskPlaceRectificationEntity detail = taskPlaceRectificationService.selectTaskPlaceRectificationById(taskPlaceRectification.getTaskId()); return R.data(TaskPlaceRectificationWrapper.build().entityVO(detail)); } /** * 场所整改任务表 详情 */ @GetMapping("/getTaskPlaceRectificationList") @ApiLog("场所整改任务表 详情") @ApiOperationSupport(order = 1) @ApiOperation(value = "场所整改任务表 详情", notes = "传入taskPlaceRectification") public R> getTaskPlaceRectificationList(TaskPlaceRectificationDTO taskPlaceRectification, Query query) { bladeLogger.info("场所整改任务表 详情", JsonUtil.toJson(taskPlaceRectification)); IPage taskPlaceRectificationDTOS = taskPlaceRectificationService.selectTaskPlaceRectificationList(Condition.getPage(query), taskPlaceRectification); return R.data(taskPlaceRectificationDTOS); } /** * 场所整改任务表 修改 */ @PostMapping("/updateRectification") @ApiLog("场所整改任务表 修改") @ApiOperationSupport(order = 5) @ApiOperation(value = "场所负责人整改", notes = "传入taskPlaceRectification") public R updateRectification(@Valid @RequestBody TaskPlaceRectificationVO taskPlaceRectification) { bladeLogger.info("场所整改任务表 修改", JsonUtil.toJson(taskPlaceRectification)); return R.status(taskPlaceRectificationService.updateRectification(taskPlaceRectification)); } /** * 民警审核 */ @PostMapping("/applyRectification") @ApiLog("民警审核") @ApiOperationSupport(order = 5) @ApiOperation(value = "民警审核", notes = "传入taskPlaceRectification") public R applyRectification(@Valid @RequestBody TaskPlaceRectificationVO taskPlaceRectification) { bladeLogger.info("民警审核", JsonUtil.toJson(taskPlaceRectification)); return R.status(taskPlaceRectificationService.applyRectification(taskPlaceRectification)); } /** * 民警审核 */ @PostMapping("/rectificationStatistics") @ApiLog("民警审核") @ApiOperationSupport(order = 5) @ApiOperation(value = "九小场所类型隐患数量统计", notes = "传入taskPlaceRectification") public R rectificationStatistics(@Valid @RequestBody TaskPlaceRectificationVO taskPlaceRectification) { bladeLogger.info("民警审核", JsonUtil.toJson(taskPlaceRectification)); return R.data(taskPlaceRectificationService.rectificationStatistics(taskPlaceRectification)); } /** * 导出场所整改任务 */ @GetMapping("exportRectificationStatistics") @ApiLog("导出场所整改任务") @ApiOperationSupport(order = 13) @ApiOperation(value = "导出整改统计", notes = "传入user") public void exportHouse(TaskPlaceRectificationsVO taskPlaceRectificationVO, HttpServletResponse response) { bladeLogger.info("导出场所整改任务", JsonUtil.toJson(taskPlaceRectificationVO)); List list = taskPlaceRectificationService.export(taskPlaceRectificationVO); ExcelUtil.export(response, "整改数据" + DateUtil.time(), "场所数据表", list, TaskPlaceRectificationExcel.class); } /** * 导入房屋及住户/租户人员数据 */ @PostMapping("import-placeRectifications") public R importPlaceRectifications(MultipartFile file, Integer isCovered) { PlaceRectificationsImporter placeRectificationsImporter = new PlaceRectificationsImporter(taskPlaceRectificationService, isCovered == 1); ExcelUtil.save(file, placeRectificationsImporter, PlaceRectificationsExcel.class); return R.success("操作成功"); } }