From 583a2ad5a5d34b7b0ce536bd251f29fe436c87f9 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Fri, 5 Jun 2026 16:06:59 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260605-=E6=88=91=E4=B8=BA=E5=9B=9B?= =?UTF-8?q?=E6=89=80=E6=8A=8A=E6=8A=8A=E8=84=89=E4=BB=A3=E7=A0=81=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BgTakepulseController.java | 276 ++++++++++++++++++ .../demo/bqtakepulse/entity/BgTakepulse.java | 181 ++++++++++++ .../entity/BgTakepulseFeedback.java | 103 +++++++ .../mapper/BgTakepulseFeedbackMapper.java | 31 ++ .../bqtakepulse/mapper/BgTakepulseMapper.java | 17 ++ .../mapper/xml/BgTakepulseFeedbackMapper.xml | 16 + .../mapper/xml/BgTakepulseMapper.xml | 5 + .../service/IBgTakepulseFeedbackService.java | 22 ++ .../service/IBgTakepulseService.java | 48 +++ .../impl/BgTakepulseFeedbackServiceImpl.java | 27 ++ .../service/impl/BgTakepulseServiceImpl.java | 77 +++++ .../demo/bqtakepulse/vo/BgTakepulsePage.java | 181 ++++++++++++ 12 files changed, 984 insertions(+) create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/controller/BgTakepulseController.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulse.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulseFeedback.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseFeedbackMapper.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseMapper.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseFeedbackMapper.xml create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseMapper.xml create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseFeedbackService.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseService.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseFeedbackServiceImpl.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseServiceImpl.java create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/vo/BgTakepulsePage.java diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/controller/BgTakepulseController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/controller/BgTakepulseController.java new file mode 100644 index 0000000..8ce84a7 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/controller/BgTakepulseController.java @@ -0,0 +1,276 @@ +package org.jeecg.modules.demo.bqtakepulse.controller; + +import java.io.UnsupportedEncodingException; +import java.io.IOException; +import java.net.URLDecoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.HashMap; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.vo.LoginUser; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulse; +import org.jeecg.modules.demo.bqtakepulse.vo.BgTakepulsePage; +import org.jeecg.modules.demo.bqtakepulse.service.IBgTakepulseService; +import org.jeecg.modules.demo.bqtakepulse.service.IBgTakepulseFeedbackService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.alibaba.fastjson.JSON; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + + /** + * @Description: 我为四所把把脉 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +@Tag(name="我为四所把把脉") +@RestController +@RequestMapping("/bqtakepulse/bgTakepulse") +@Slf4j +public class BgTakepulseController { + @Autowired + private IBgTakepulseService bgTakepulseService; + @Autowired + private IBgTakepulseFeedbackService bgTakepulseFeedbackService; + + /** + * 分页列表查询 + * + * @param bgTakepulse + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "我为四所把把脉-分页列表查询") + @Operation(summary="我为四所把把脉-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(BgTakepulse bgTakepulse, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + // 自定义查询规则 + Map customeRuleMap = new HashMap<>(); + // 自定义多选的查询规则为:LIKE_WITH_OR + customeRuleMap.put("year", QueryRuleEnum.LIKE_WITH_OR); + customeRuleMap.put("taskType", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(bgTakepulse, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = bgTakepulseService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param bgTakepulsePage + * @return + */ + @AutoLog(value = "我为四所把把脉-添加") + @Operation(summary="我为四所把把脉-添加") + @RequiresPermissions("bqtakepulse:bg_takepulse:add") + @PostMapping(value = "/add") + public Result add(@RequestBody BgTakepulsePage bgTakepulsePage) { + BgTakepulse bgTakepulse = new BgTakepulse(); + BeanUtils.copyProperties(bgTakepulsePage, bgTakepulse); + bgTakepulse.setBpmStatus("1"); + bgTakepulseService.saveMain(bgTakepulse, bgTakepulsePage.getBgTakepulseFeedbackList()); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param bgTakepulsePage + * @return + */ + @AutoLog(value = "我为四所把把脉-编辑") + @Operation(summary="我为四所把把脉-编辑") + @RequiresPermissions("bqtakepulse:bg_takepulse:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody BgTakepulsePage bgTakepulsePage) { + BgTakepulse bgTakepulse = new BgTakepulse(); + BeanUtils.copyProperties(bgTakepulsePage, bgTakepulse); + BgTakepulse bgTakepulseEntity = bgTakepulseService.getById(bgTakepulse.getId()); + if(bgTakepulseEntity==null) { + return Result.error("未找到对应数据"); + } + bgTakepulseService.updateMain(bgTakepulse, bgTakepulsePage.getBgTakepulseFeedbackList()); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "我为四所把把脉-通过id删除") + @Operation(summary="我为四所把把脉-通过id删除") + @RequiresPermissions("bqtakepulse:bg_takepulse:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + bgTakepulseService.delMain(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "我为四所把把脉-批量删除") + @Operation(summary="我为四所把把脉-批量删除") + @RequiresPermissions("bqtakepulse:bg_takepulse:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.bgTakepulseService.delBatchMain(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "我为四所把把脉-通过id查询") + @Operation(summary="我为四所把把脉-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + BgTakepulse bgTakepulse = bgTakepulseService.getById(id); + if(bgTakepulse==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(bgTakepulse); + + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "执行情况反馈通过主表ID查询") + @Operation(summary="执行情况反馈主表ID查询") + @GetMapping(value = "/queryBgTakepulseFeedbackByMainId") + public Result> queryBgTakepulseFeedbackListByMainId(@RequestParam(name="id",required=true) String id) { + List bgTakepulseFeedbackList = bgTakepulseFeedbackService.selectByMainId(id); + return Result.OK(bgTakepulseFeedbackList); + } + + /** + * 导出excel + * + * @param request + * @param bgTakepulse + */ + @RequiresPermissions("bqtakepulse:bg_takepulse:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, BgTakepulse bgTakepulse) { + + // Step.1 组装查询条件查询数据 + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(bgTakepulse, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + //配置选中数据查询条件 + String selections = request.getParameter("selections"); + if(oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + queryWrapper.in("id",selectionList); + } + //Step.2 获取导出数据 + List bgTakepulseList = bgTakepulseService.list(queryWrapper); + + // Step.3 组装pageList + List pageList = new ArrayList(); + for (BgTakepulse main : bgTakepulseList) { + BgTakepulsePage vo = new BgTakepulsePage(); + BeanUtils.copyProperties(main, vo); + List bgTakepulseFeedbackList = bgTakepulseFeedbackService.selectByMainId(main.getId()); + vo.setBgTakepulseFeedbackList(bgTakepulseFeedbackList); + pageList.add(vo); + } + + // Step.4 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "我为四所把把脉列表"); + mv.addObject(NormalExcelConstants.CLASS, BgTakepulsePage.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("我为四所把把脉数据", "导出人:"+sysUser.getRealname(), "我为四所把把脉")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("bqtakepulse:bg_takepulse:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + // 获取上传文件对象 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List list = ExcelImportUtil.importExcel(file.getInputStream(), BgTakepulsePage.class, params); + for (BgTakepulsePage page : list) { + BgTakepulse po = new BgTakepulse(); + BeanUtils.copyProperties(page, po); + bgTakepulseService.saveMain(po, page.getBgTakepulseFeedbackList()); + } + return Result.OK("文件导入成功!数据行数:" + list.size()); + } catch (Exception e) { + log.error(e.getMessage(),e); + return Result.error("文件导入失败:"+e.getMessage()); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.OK("文件导入失败!"); + } + +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulse.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulse.java new file mode 100644 index 0000000..c509c54 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulse.java @@ -0,0 +1,181 @@ +package org.jeecg.modules.demo.bqtakepulse.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; + +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * @Description: 我为四所把把脉 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +@Schema(description="我为四所把把脉") +@Data +@TableName("bg_takepulse") +public class BgTakepulse implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "id") + private java.lang.String id; + /**创建人*/ + @Schema(description = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private java.lang.String sysOrgCode; + /**密级*/ + @Excel(name = "密级", width = 15, dicCode = "secret_level") + @Dict(dicCode = "secret_level") + @Schema(description = "密级") + private java.lang.String secretLevel; + /**年份*/ + @Excel(name = "年份", width = 15, dicCode = "super_year") + @Dict(dicCode = "super_year") + @Schema(description = "年份") + private java.lang.String year; + /**序号*/ + @Excel(name = "序号", width = 15) + @Schema(description = "序号") + private java.lang.String number; + /**会议类型:行政线、技术线*/ + @Excel(name = "会议类型:行政线、技术线", width = 15, dicCode = "super_takepulse_type") + @Dict(dicCode = "super_takepulse_type") + @Schema(description = "会议类型:行政线、技术线") + private java.lang.String taskType; + /**类别:党的建设等其他*/ + @Excel(name = "类别:党的建设等其他", width = 15) + @Schema(description = "类别:党的建设等其他") + private java.lang.String type; + /**提出人*/ + @Excel(name = "提出人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Schema(description = "提出人") + private java.lang.String proposer; + /**意见主题*/ + @Excel(name = "意见主题", width = 15) + @Schema(description = "意见主题") + private java.lang.String title; + /**具体意见*/ + @Excel(name = "具体意见", width = 15) + @Schema(description = "具体意见") + private java.lang.String content; + /**责任领导*/ + @Excel(name = "责任领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Schema(description = "责任领导") + private java.lang.String suoleader; + /**牵头部门*/ + @Excel(name = "牵头部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Schema(description = "牵头部门") + private java.lang.String responDeptid; + /**协办部门*/ + @Excel(name = "协办部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Schema(description = "协办部门") + private java.lang.String assistDeptid; + /**落实部门*/ + @Excel(name = "落实部门", width = 15) + @Schema(description = "落实部门") + private java.lang.String implementDeptid; + /**是否采纳*/ + @Excel(name = "是否采纳", width = 15,replace = {"是_Y","否_N"} ) + @Schema(description = "是否采纳") + private java.lang.String isAdopt; + /**落实措施/解释说明*/ + @Excel(name = "落实措施/解释说明", width = 15) + @Schema(description = "落实措施/解释说明") + private java.lang.String measure; + /**措施数量*/ + @Excel(name = "措施数量", width = 15) + @Schema(description = "措施数量") + private java.lang.Integer measureNumber; + /**成果形式*/ + @Excel(name = "成果形式", width = 15) + @Schema(description = "成果形式") + private java.lang.String achievement; + /**要求完成日期*/ + @Excel(name = "要求完成日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @Schema(description = "要求完成日期") + private java.util.Date deadline; + /**备注*/ + @Excel(name = "备注", width = 15) + @Schema(description = "备注") + private java.lang.String remark; + /**执行情况*/ + @Excel(name = "执行情况", width = 15) + @Schema(description = "执行情况") + private java.lang.String actualExect; + /**实际完成时间*/ + @Excel(name = "实际完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "实际完成时间") + private java.util.Date actualTime; + /**提出人确认*/ + @Excel(name = "提出人确认", width = 15) + @Schema(description = "提出人确认") + private java.lang.String proposerConfirm; + /**完成状态*/ + @Excel(name = "完成状态", width = 15, dicCode = "super_status") + @Dict(dicCode = "super_status") + @Schema(description = "完成状态") + private java.lang.String bpmStatus; + /**调整落实措施及执行情况*/ + @Excel(name = "调整落实措施及执行情况", width = 15) + @Schema(description = "调整落实措施及执行情况") + private java.lang.String actSt; + /**督办次数*/ + @Excel(name = "督办次数", width = 15) + @Schema(description = "督办次数") + private java.lang.String superviseCount; + /**紧急程度*/ + @Excel(name = "紧急程度", width = 15) + @Schema(description = "紧急程度") + private java.lang.String urgencyLevel; + /**是否需要所办领导审批*/ + @Excel(name = "是否需要所办领导审批", width = 15,replace = {"是_Y","否_N"} ) + @Schema(description = "是否需要所办领导审批") + private java.lang.String isNeedAppro; + /**所办领导*/ + @Excel(name = "所办领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Schema(description = "所办领导") + private java.lang.String supDeptleaderid; + /**删除标识*/ + @Excel(name = "删除标识", width = 15) + @Schema(description = "删除标识") + @TableLogic + private java.lang.String delFlag; +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulseFeedback.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulseFeedback.java new file mode 100644 index 0000000..5186532 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/entity/BgTakepulseFeedback.java @@ -0,0 +1,103 @@ +package org.jeecg.modules.demo.bqtakepulse.entity; + +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import java.util.Date; +import io.swagger.v3.oas.annotations.media.Schema; +import java.io.UnsupportedEncodingException; + +/** + * @Description: 执行情况反馈 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +@Schema(description="执行情况反馈") +@Data +@TableName("bg_takepulse_feedback") +public class BgTakepulseFeedback implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "id") + private java.lang.String id; + /**创建人*/ + @Schema(description = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private java.lang.String sysOrgCode; + /**责任部门id*/ + @Excel(name = "责任部门id", width = 15) + @Schema(description = "责任部门id") + private java.lang.String responDeptid; + /**责任部门名称*/ + @Excel(name = "责任部门名称", width = 15) + @Schema(description = "责任部门名称") + private java.lang.String responDeptname; + /**反馈人id*/ + @Excel(name = "反馈人id", width = 15) + @Schema(description = "反馈人id") + private java.lang.String responPersonid; + /**反馈人姓名*/ + @Excel(name = "反馈人姓名", width = 15) + @Schema(description = "反馈人姓名") + private java.lang.String responPersonname; + /**实际执行情况*/ + @Excel(name = "实际执行情况", width = 15) + @Schema(description = "实际执行情况") + private java.lang.String actualExect; + /**实际完成时间*/ + @Excel(name = "实际完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "实际完成时间") + private java.util.Date actualTime; + /**调整落实措施及执行情况*/ + @Excel(name = "调整落实措施及执行情况", width = 15) + @Schema(description = "调整落实措施及执行情况") + private java.lang.String actSt; + /**完成状态*/ + @Excel(name = "完成状态", width = 15) + @Schema(description = "完成状态") + private java.lang.String bpmStatus; + /**提出人确认*/ + @Excel(name = "提出人确认", width = 15) + @Schema(description = "提出人确认") + private java.lang.String proposerConfirm; + /**流程实例id*/ + @Excel(name = "流程实例id", width = 15) + @Schema(description = "流程实例id") + private java.lang.String bpmProcessId; + /**删除标识*/ + @Excel(name = "删除标识", width = 15) + @Schema(description = "删除标识") + @TableLogic + private java.lang.String delFlag; + /**外键*/ + @Schema(description = "外键") + private java.lang.String mainId; +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseFeedbackMapper.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseFeedbackMapper.java new file mode 100644 index 0000000..2b5a35e --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseFeedbackMapper.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.demo.bqtakepulse.mapper; + +import java.util.List; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: 执行情况反馈 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +public interface BgTakepulseFeedbackMapper extends BaseMapper { + + /** + * 通过主表id删除子表数据 + * + * @param mainId 主表id + * @return boolean + */ + public boolean deleteByMainId(@Param("mainId") String mainId); + + /** + * 通过主表id查询子表数据 + * + * @param mainId 主表id + * @return List + */ + public List selectByMainId(@Param("mainId") String mainId); +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseMapper.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseMapper.java new file mode 100644 index 0000000..d43cd35 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/BgTakepulseMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.demo.bqtakepulse.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulse; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 我为四所把把脉 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +public interface BgTakepulseMapper extends BaseMapper { + +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseFeedbackMapper.xml b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseFeedbackMapper.xml new file mode 100644 index 0000000..bd9affb --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseFeedbackMapper.xml @@ -0,0 +1,16 @@ + + + + + + DELETE + FROM bg_takepulse_feedback + WHERE + main_id = #{mainId} + + + diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseMapper.xml b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseMapper.xml new file mode 100644 index 0000000..7e7f6a9 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/mapper/xml/BgTakepulseMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseFeedbackService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseFeedbackService.java new file mode 100644 index 0000000..20f0c08 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseFeedbackService.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.demo.bqtakepulse.service; + +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 执行情况反馈 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +public interface IBgTakepulseFeedbackService extends IService { + + /** + * 通过主表id查询子表数据 + * + * @param mainId 主表id + * @return List + */ + public List selectByMainId(String mainId); +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseService.java new file mode 100644 index 0000000..ea72925 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/IBgTakepulseService.java @@ -0,0 +1,48 @@ +package org.jeecg.modules.demo.bqtakepulse.service; + +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulse; +import com.baomidou.mybatisplus.extension.service.IService; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * @Description: 我为四所把把脉 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +public interface IBgTakepulseService extends IService { + + /** + * 添加一对多 + * + * @param bgTakepulse + * @param bgTakepulseFeedbackList + */ + public void saveMain(BgTakepulse bgTakepulse,List bgTakepulseFeedbackList) ; + + /** + * 修改一对多 + * + * @param bgTakepulse + * @param bgTakepulseFeedbackList + */ + public void updateMain(BgTakepulse bgTakepulse,List bgTakepulseFeedbackList); + + /** + * 删除一对多 + * + * @param id + */ + public void delMain (String id); + + /** + * 批量删除一对多 + * + * @param idList + */ + public void delBatchMain (Collection idList); + +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseFeedbackServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseFeedbackServiceImpl.java new file mode 100644 index 0000000..8351666 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseFeedbackServiceImpl.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.demo.bqtakepulse.service.impl; + +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import org.jeecg.modules.demo.bqtakepulse.mapper.BgTakepulseFeedbackMapper; +import org.jeecg.modules.demo.bqtakepulse.service.IBgTakepulseFeedbackService; +import org.springframework.stereotype.Service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description: 执行情况反馈 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +@Service +public class BgTakepulseFeedbackServiceImpl extends ServiceImpl implements IBgTakepulseFeedbackService { + + @Autowired + private BgTakepulseFeedbackMapper bgTakepulseFeedbackMapper; + + @Override + public List selectByMainId(String mainId) { + return bgTakepulseFeedbackMapper.selectByMainId(mainId); + } +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseServiceImpl.java new file mode 100644 index 0000000..756e211 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/service/impl/BgTakepulseServiceImpl.java @@ -0,0 +1,77 @@ +package org.jeecg.modules.demo.bqtakepulse.service.impl; + +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulse; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import org.jeecg.modules.demo.bqtakepulse.mapper.BgTakepulseFeedbackMapper; +import org.jeecg.modules.demo.bqtakepulse.mapper.BgTakepulseMapper; +import org.jeecg.modules.demo.bqtakepulse.service.IBgTakepulseService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import java.io.Serializable; +import java.util.List; +import java.util.Collection; + +/** + * @Description: 我为四所把把脉 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +@Service +public class BgTakepulseServiceImpl extends ServiceImpl implements IBgTakepulseService { + + @Autowired + private BgTakepulseMapper bgTakepulseMapper; + @Autowired + private BgTakepulseFeedbackMapper bgTakepulseFeedbackMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveMain(BgTakepulse bgTakepulse, List bgTakepulseFeedbackList) { + bgTakepulseMapper.insert(bgTakepulse); + if(bgTakepulseFeedbackList!=null && bgTakepulseFeedbackList.size()>0) { + for(BgTakepulseFeedback entity:bgTakepulseFeedbackList) { + //外键设置 + entity.setMainId(bgTakepulse.getId()); + bgTakepulseFeedbackMapper.insert(entity); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateMain(BgTakepulse bgTakepulse,List bgTakepulseFeedbackList) { + bgTakepulseMapper.updateById(bgTakepulse); + + //1.先删除子表数据 + bgTakepulseFeedbackMapper.deleteByMainId(bgTakepulse.getId()); + + //2.子表数据重新插入 + if(bgTakepulseFeedbackList!=null && bgTakepulseFeedbackList.size()>0) { + for(BgTakepulseFeedback entity:bgTakepulseFeedbackList) { + //外键设置 + entity.setMainId(bgTakepulse.getId()); + bgTakepulseFeedbackMapper.insert(entity); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delMain(String id) { + bgTakepulseFeedbackMapper.deleteByMainId(id); + bgTakepulseMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delBatchMain(Collection idList) { + for(Serializable id:idList) { + bgTakepulseFeedbackMapper.deleteByMainId(id.toString()); + bgTakepulseMapper.deleteById(id); + } + } + +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/vo/BgTakepulsePage.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/vo/BgTakepulsePage.java new file mode 100644 index 0000000..325f62b --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bqtakepulse/vo/BgTakepulsePage.java @@ -0,0 +1,181 @@ +package org.jeecg.modules.demo.bqtakepulse.vo; + +import java.util.List; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulse; +import org.jeecg.modules.demo.bqtakepulse.entity.BgTakepulseFeedback; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelEntity; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import java.util.Date; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; + +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * @Description: 我为四所把把脉 + * @Author: jeecg-boot + * @Date: 2026-06-05 + * @Version: V1.0 + */ +@Data +@Schema(description="我为四所把把脉") +public class BgTakepulsePage { + + /**id*/ + @Schema(description = "id") + private java.lang.String id; + /**创建人*/ + @Schema(description = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private java.lang.String sysOrgCode; + /**密级*/ + @Excel(name = "密级", width = 15, dicCode = "secret_level") + @Dict(dicCode = "secret_level") + @Schema(description = "密级") + private java.lang.String secretLevel; + /**年份*/ + @Excel(name = "年份", width = 15, dicCode = "super_year") + @Dict(dicCode = "super_year") + @Schema(description = "年份") + private java.lang.String year; + /**序号*/ + @Excel(name = "序号", width = 15) + @Schema(description = "序号") + private java.lang.String number; + /**会议类型:行政线、技术线*/ + @Excel(name = "会议类型:行政线、技术线", width = 15, dicCode = "super_takepulse_type") + @Dict(dicCode = "super_takepulse_type") + @Schema(description = "会议类型:行政线、技术线") + private java.lang.String taskType; + /**类别:党的建设等其他*/ + @Excel(name = "类别:党的建设等其他", width = 15) + @Schema(description = "类别:党的建设等其他") + private java.lang.String type; + /**提出人*/ + @Excel(name = "提出人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Schema(description = "提出人") + private java.lang.String proposer; + /**意见主题*/ + @Excel(name = "意见主题", width = 15) + @Schema(description = "意见主题") + private java.lang.String title; + /**具体意见*/ + @Excel(name = "具体意见", width = 15) + @Schema(description = "具体意见") + private java.lang.String content; + /**责任领导*/ + @Excel(name = "责任领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Schema(description = "责任领导") + private java.lang.String suoleader; + /**牵头部门*/ + @Excel(name = "牵头部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Schema(description = "牵头部门") + private java.lang.String responDeptid; + /**协办部门*/ + @Excel(name = "协办部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id") + @Schema(description = "协办部门") + private java.lang.String assistDeptid; + /**落实部门*/ + @Excel(name = "落实部门", width = 15) + @Schema(description = "落实部门") + private java.lang.String implementDeptid; + /**是否采纳*/ + @Schema(description = "是否采纳") + @Excel(name = "是否采纳", width = 15,replace = {"是_Y","否_N"} ) + private java.lang.String isAdopt; + /**落实措施/解释说明*/ + @Excel(name = "落实措施/解释说明", width = 15) + @Schema(description = "落实措施/解释说明") + private java.lang.String measure; + /**措施数量*/ + @Excel(name = "措施数量", width = 15) + @Schema(description = "措施数量") + private java.lang.Integer measureNumber; + /**成果形式*/ + @Excel(name = "成果形式", width = 15) + @Schema(description = "成果形式") + private java.lang.String achievement; + /**要求完成日期*/ + @Excel(name = "要求完成日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @Schema(description = "要求完成日期") + private java.util.Date deadline; + /**备注*/ + @Excel(name = "备注", width = 15) + @Schema(description = "备注") + private java.lang.String remark; + /**执行情况*/ + @Excel(name = "执行情况", width = 15) + @Schema(description = "执行情况") + private java.lang.String actualExect; + /**实际完成时间*/ + @Excel(name = "实际完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "实际完成时间") + private java.util.Date actualTime; + /**提出人确认*/ + @Excel(name = "提出人确认", width = 15) + @Schema(description = "提出人确认") + private java.lang.String proposerConfirm; + /**完成状态*/ + @Excel(name = "完成状态", width = 15, dicCode = "super_status") + @Dict(dicCode = "super_status") + @Schema(description = "完成状态") + private java.lang.String bpmStatus; + /**调整落实措施及执行情况*/ + @Excel(name = "调整落实措施及执行情况", width = 15) + @Schema(description = "调整落实措施及执行情况") + private java.lang.String actSt; + /**督办次数*/ + @Excel(name = "督办次数", width = 15) + @Schema(description = "督办次数") + private java.lang.String superviseCount; + /**紧急程度*/ + @Excel(name = "紧急程度", width = 15) + @Schema(description = "紧急程度") + private java.lang.String urgencyLevel; + /**是否需要所办领导审批*/ + @Schema(description = "是否需要所办领导审批") + @Excel(name = "是否需要所办领导审批", width = 15,replace = {"是_Y","否_N"} ) + private java.lang.String isNeedAppro; + /**所办领导*/ + @Excel(name = "所办领导", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @Schema(description = "所办领导") + private java.lang.String supDeptleaderid; + /**删除标识*/ + @Excel(name = "删除标识", width = 15) + @Schema(description = "删除标识") + private java.lang.String delFlag; + + @ExcelCollection(name="执行情况反馈") + @Schema(description = "执行情况反馈") + private List bgTakepulseFeedbackList; + +}