feat(dqinspecttask): 巡检任务新增EasyExcel导入导出接口,Controller继承JeecgController

- DqInspectTask 实体添加 @ExcelColumn 注解,与旧 @Excel 共存
- Controller 重构继承 JeecgController,复用 importExcelByEasyExcel 等统一入口
- 新增 /importExcelByEasyExcel /exportXlsByEasyExcel /exportXlsHeaders 三个接口

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wsm
2026-06-24 15:23:01 +08:00
co-authored by Claude Opus 4.7
parent a9a8028b59
commit 6b022cdce8
2 changed files with 65 additions and 20 deletions
@@ -24,6 +24,7 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectProgress; import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectProgress;
import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectTask; import org.jeecg.modules.demo.dqinspecttask.entity.DqInspectTask;
import org.jeecg.modules.demo.dqinspecttask.vo.DqInspectTaskLedgerVo; import org.jeecg.modules.demo.dqinspecttask.vo.DqInspectTaskLedgerVo;
@@ -57,9 +58,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
@RestController @RestController
@RequestMapping("/dqinspecttask/dqInspectTask") @RequestMapping("/dqinspecttask/dqInspectTask")
@Slf4j @Slf4j
public class DqInspectTaskController { public class DqInspectTaskController extends JeecgController<DqInspectTask, IDqInspectTaskService> {
@Autowired
private IDqInspectTaskService dqInspectTaskService;
@Autowired @Autowired
private IDqInspectProgressService dqInspectProgressService; private IDqInspectProgressService dqInspectProgressService;
@@ -81,7 +80,7 @@ public class DqInspectTaskController {
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<DqInspectTask> queryWrapper = QueryGenerator.initQueryWrapper(dqInspectTask, req.getParameterMap()); QueryWrapper<DqInspectTask> queryWrapper = QueryGenerator.initQueryWrapper(dqInspectTask, req.getParameterMap());
Page<DqInspectTask> page = new Page<DqInspectTask>(pageNo, pageSize); Page<DqInspectTask> page = new Page<DqInspectTask>(pageNo, pageSize);
IPage<DqInspectTask> pageList = dqInspectTaskService.page(page, queryWrapper); IPage<DqInspectTask> pageList = service.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -99,7 +98,7 @@ public class DqInspectTaskController {
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
Page<DqInspectTaskLedgerVo> page = new Page<DqInspectTaskLedgerVo>(pageNo, pageSize); Page<DqInspectTaskLedgerVo> page = new Page<DqInspectTaskLedgerVo>(pageNo, pageSize);
IPage<DqInspectTaskLedgerVo> pageList = dqInspectTaskService.queryLedgerPage(page, dqInspectTask); IPage<DqInspectTaskLedgerVo> pageList = service.queryLedgerPage(page, dqInspectTask);
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -120,7 +119,7 @@ public class DqInspectTaskController {
if (oConvertUtils.isEmpty(dqInspectTask.getDelFlag())) { if (oConvertUtils.isEmpty(dqInspectTask.getDelFlag())) {
dqInspectTask.setDelFlag("0"); dqInspectTask.setDelFlag("0");
} }
dqInspectTaskService.saveMain(dqInspectTask, dqInspectTaskPage.getDqInspectProgressList()); service.saveMain(dqInspectTask, dqInspectTaskPage.getDqInspectProgressList());
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }
@@ -137,11 +136,11 @@ public class DqInspectTaskController {
public Result<String> edit(@RequestBody DqInspectTaskPage dqInspectTaskPage) { public Result<String> edit(@RequestBody DqInspectTaskPage dqInspectTaskPage) {
DqInspectTask dqInspectTask = new DqInspectTask(); DqInspectTask dqInspectTask = new DqInspectTask();
BeanUtils.copyProperties(dqInspectTaskPage, dqInspectTask); BeanUtils.copyProperties(dqInspectTaskPage, dqInspectTask);
DqInspectTask dqInspectTaskEntity = dqInspectTaskService.getById(dqInspectTask.getId()); DqInspectTask dqInspectTaskEntity = service.getById(dqInspectTask.getId());
if(dqInspectTaskEntity==null) { if(dqInspectTaskEntity==null) {
return Result.error("未找到对应数据"); return Result.error("未找到对应数据");
} }
dqInspectTaskService.updateMain(dqInspectTask, dqInspectTaskPage.getDqInspectProgressList()); service.updateMain(dqInspectTask, dqInspectTaskPage.getDqInspectProgressList());
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }
@@ -156,7 +155,7 @@ public class DqInspectTaskController {
@RequiresPermissions("dqinspecttask:dq_inspect_task:delete") @RequiresPermissions("dqinspecttask:dq_inspect_task:delete")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) { public Result<String> delete(@RequestParam(name="id",required=true) String id) {
dqInspectTaskService.delMain(id); service.delMain(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -171,7 +170,7 @@ public class DqInspectTaskController {
@RequiresPermissions("dqinspecttask:dq_inspect_task:deleteBatch") @RequiresPermissions("dqinspecttask:dq_inspect_task:deleteBatch")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.dqInspectTaskService.delBatchMain(Arrays.asList(ids.split(","))); this.service.delBatchMain(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@@ -185,7 +184,7 @@ public class DqInspectTaskController {
@Operation(summary="dq_inspect_task-通过id查询") @Operation(summary="dq_inspect_task-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<DqInspectTask> queryById(@RequestParam(name="id",required=true) String id) { public Result<DqInspectTask> queryById(@RequestParam(name="id",required=true) String id) {
DqInspectTask dqInspectTask = dqInspectTaskService.getById(id); DqInspectTask dqInspectTask = service.getById(id);
if(dqInspectTask==null) { if(dqInspectTask==null) {
return Result.error("未找到对应数据"); return Result.error("未找到对应数据");
} }
@@ -228,7 +227,7 @@ public class DqInspectTaskController {
queryWrapper.in("id",selectionList); queryWrapper.in("id",selectionList);
} }
//Step.2 获取导出数据 //Step.2 获取导出数据
List<DqInspectTask> dqInspectTaskList = dqInspectTaskService.list(queryWrapper); List<DqInspectTask> dqInspectTaskList = service.list(queryWrapper);
// Step.3 组装pageList // Step.3 组装pageList
List<DqInspectTaskPage> pageList = new ArrayList<DqInspectTaskPage>(); List<DqInspectTaskPage> pageList = new ArrayList<DqInspectTaskPage>();
@@ -273,7 +272,7 @@ public class DqInspectTaskController {
for (DqInspectTaskPage page : list) { for (DqInspectTaskPage page : list) {
DqInspectTask po = new DqInspectTask(); DqInspectTask po = new DqInspectTask();
BeanUtils.copyProperties(page, po); BeanUtils.copyProperties(page, po);
dqInspectTaskService.saveMain(po, page.getDqInspectProgressList()); service.saveMain(po, page.getDqInspectProgressList());
} }
return Result.OK("文件导入成功!数据行数:" + list.size()); return Result.OK("文件导入成功!数据行数:" + list.size());
} catch (Exception e) { } catch (Exception e) {
@@ -290,4 +289,32 @@ public class DqInspectTaskController {
return Result.OK("文件导入失败!"); return Result.OK("文件导入失败!");
} }
/**
* 通过EasyExcel导入数据,支持字典校验和Hibernate Validator
*/
@RequiresPermissions("dqinspecttask:dq_inspect_task:importExcel")
@PostMapping(value = "/importExcelByEasyExcel")
public Result<?> importExcelByEasyExcel(HttpServletRequest request) {
return super.importExcelByEasyExcel(request, DqInspectTask.class);
}
/**
* 通过EasyExcel导出数据
*/
@RequiresPermissions("dqinspecttask:dq_inspect_task:exportXls")
@GetMapping(value = "/exportXlsByEasyExcel")
public void exportXlsByEasyExcel(HttpServletRequest request, HttpServletResponse response,
DqInspectTask dqInspectTask) throws IOException {
super.exportXlsByEasyExcel(request, response, dqInspectTask, DqInspectTask.class, "dq_inspect_task");
}
/**
* 仅导出Excel表头(EasyExcel
*/
@RequiresPermissions("dqinspecttask:dq_inspect_task:exportXls")
@GetMapping(value = "/exportXlsHeaders")
public void exportXlsHeaders(HttpServletResponse response) throws IOException {
super.exportXlsHeadersByEasyExcel(response, DqInspectTask.class, "dq_inspect_task");
}
} }
@@ -13,6 +13,7 @@ import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.util.excel.annotation.ExcelColumn;
import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -54,71 +55,86 @@ public class DqInspectTask implements Serializable {
private java.lang.String sysOrgCode; private java.lang.String sysOrgCode;
/**具体问题ID*/ /**具体问题ID*/
@Excel(name = "具体问题", width = 15, dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id") @Excel(name = "具体问题", width = 15, dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id")
@ExcelColumn(name = "具体问题", width = 15, dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id")
@Dict(dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id") @Dict(dictTable = "dq_inspect_problem", dicText = "problem_name", dicCode = "id")
@Schema(description = "具体问题ID") @Schema(description = "具体问题ID")
private java.lang.String problemId; private java.lang.String problemId;
/**密级*/ /**密级*/
@Excel(name = "密级", width = 15, dicCode = "secret_level") @Excel(name = "密级", width = 15, dicCode = "secret_level")
@ExcelColumn(name = "密级", width = 15, dicCode = "secret_level")
@Dict(dicCode = "secret_level") @Dict(dicCode = "secret_level")
@Schema(description = "密级") @Schema(description = "密级")
private java.lang.String secretLevel; private java.lang.String secretLevel;
/**整改措施*/ /**整改措施*/
@Excel(name = "整改措施", width = 15) @Excel(name = "整改措施", width = 15)
@ExcelColumn(name = "整改措施", width = 15)
@Schema(description = "整改措施") @Schema(description = "整改措施")
private java.lang.String improveMeasure; private java.lang.String improveMeasure;
/**完成时限*/ /**完成时限*/
@Excel(name = "完成时限", width = 15, format = "yyyy-MM-dd") @Excel(name = "完成时限", width = 15, format = "yyyy-MM-dd")
@ExcelColumn(name = "完成时限", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd")
@Schema(description = "完成时限") @Schema(description = "完成时限")
private java.util.Date deadline; private java.util.Date deadline;
/**目标节点*/ /**目标节点*/
@Excel(name = "目标节点", width = 15) @Excel(name = "目标节点", width = 15)
@ExcelColumn(name = "目标节点", width = 15)
@Schema(description = "目标节点") @Schema(description = "目标节点")
private java.lang.String targetNode; private java.lang.String targetNode;
/**措施责任领导*/ /**措施责任领导*/
@Excel(name = "措施责任领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") @Excel(name = "措施责任领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ExcelColumn(name = "措施责任领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Schema(description = "措施责任领导") @Schema(description = "措施责任领导")
private java.lang.String measureResLeader; private java.lang.String measureResLeader;
/**措施责任部门*/ /**措施责任部门*/
@Excel(name = "措施责任部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") @Excel(name = "措施责任部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@ExcelColumn(name = "措施责任部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Schema(description = "措施责任部门") @Schema(description = "措施责任部门")
private java.lang.String measureResDept; private java.lang.String measureResDept;
/**整改交付成果*/ /**整改交付成果*/
@Excel(name = "整改交付成果", width = 15) @Excel(name = "整改交付成果", width = 15)
@ExcelColumn(name = "整改交付成果", width = 15)
@Schema(description = "整改交付成果") @Schema(description = "整改交付成果")
private java.lang.String rectificationEvidence; private java.lang.String rectificationEvidence;
/**成效评价标准*/ /**成效评价标准*/
@Excel(name = "成效评价标准", width = 15) @Excel(name = "成效评价标准", width = 15)
@ExcelColumn(name = "成效评价标准", width = 15)
@Schema(description = "成效评价标准") @Schema(description = "成效评价标准")
private java.lang.String evaluationCriterion; private java.lang.String evaluationCriterion;
/**是否需要党群领导审批*/ /**是否需要党群领导审批*/
@Excel(name = "是否需要党群领导审批", width = 15, dicCode = "yn") @Excel(name = "是否需要党群领导审批", width = 15, dicCode = "yn")
@ExcelColumn(name = "是否需要党群领导审批", width = 15, dicCode = "yn")
@Dict(dicCode = "yn") @Dict(dicCode = "yn")
@Schema(description = "是否需要党群领导审批") @Schema(description = "是否需要党群领导审批")
private java.lang.String isNeedAppro; private java.lang.String isNeedAppro;
/**党群领导*/ /**党群领导*/
@Excel(name = "党群领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") @Excel(name = "党群领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ExcelColumn(name = "党群领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Schema(description = "党群领导") @Schema(description = "党群领导")
private java.lang.String supDeptleaderid; private java.lang.String supDeptleaderid;
/**分管所领导*/ /**分管所领导*/
@Excel(name = "分管所领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") @Excel(name = "分管所领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@ExcelColumn(name = "分管所领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Schema(description = "分管所领导") @Schema(description = "分管所领导")
private java.lang.String chargeLeaderId; private java.lang.String chargeLeaderId;
/**检查情况*/ /**检查情况*/
@Excel(name = "检查情况", width = 15) @Excel(name = "检查情况", width = 15)
@ExcelColumn(name = "检查情况", width = 15)
@Schema(description = "检查情况") @Schema(description = "检查情况")
private java.lang.String inspectionStatus; private java.lang.String inspectionStatus;
/**监督意见*/ /**监督意见*/
@Excel(name = "监督意见", width = 15) @Excel(name = "监督意见", width = 15)
@ExcelColumn(name = "监督意见", width = 15)
@Schema(description = "监督意见") @Schema(description = "监督意见")
private java.lang.String supervisoryOpinion; private java.lang.String supervisoryOpinion;
/**措施数量*/ /**措施数量*/
@Excel(name = "措施数量", width = 15) @Excel(name = "措施数量", width = 15)
@ExcelColumn(name = "措施数量", width = 15)
@Schema(description = "措施数量") @Schema(description = "措施数量")
private java.lang.Integer measureCount; private java.lang.Integer measureCount;
/**流程实例ID*/ /**流程实例ID*/
@@ -132,10 +148,12 @@ public class DqInspectTask implements Serializable {
private java.lang.String bpmStatus; private java.lang.String bpmStatus;
/**整改状态*/ /**整改状态*/
@Excel(name = "整改状态", width = 15) @Excel(name = "整改状态", width = 15)
@ExcelColumn(name = "整改状态", width = 15)
@Schema(description = "整改状态") @Schema(description = "整改状态")
private java.lang.String taskStatus; private java.lang.String taskStatus;
/**督办次数*/ /**督办次数*/
@Excel(name = "督办次数", width = 15) @Excel(name = "督办次数", width = 15)
@ExcelColumn(name = "督办次数", width = 15)
@Schema(description = "督办次数") @Schema(description = "督办次数")
private java.lang.String superviseCount; private java.lang.String superviseCount;
/**排序*/ /**排序*/