diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java new file mode 100644 index 0000000..66e7ca2 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java @@ -0,0 +1,290 @@ +package org.jeecg.modules.improvementproposal.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.improvementproposal.entity.ImprovementDeptScore; +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +import org.jeecg.modules.improvementproposal.entity.ImprovementProposal; +import org.jeecg.modules.improvementproposal.vo.ImprovementProposalPage; +import org.jeecg.modules.improvementproposal.service.IImprovementProposalService; +import org.jeecg.modules.improvementproposal.service.IImprovementDeptScoreService; +import org.jeecg.modules.improvementproposal.service.IImprovementInstituteVoteService; +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: improvement_proposal + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +@Tag(name="improvement_proposal") +@RestController +@RequestMapping("/improvementproposal/improvementProposal") +@Slf4j +public class ImprovementProposalController { + @Autowired + private IImprovementProposalService improvementProposalService; + @Autowired + private IImprovementDeptScoreService improvementDeptScoreService; + @Autowired + private IImprovementInstituteVoteService improvementInstituteVoteService; + + /** + * 分页列表查询 + * + * @param improvementProposal + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "improvement_proposal-分页列表查询") + @Operation(summary="improvement_proposal-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ImprovementProposal improvementProposal, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(improvementProposal, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = improvementProposalService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param improvementProposalPage + * @return + */ + @AutoLog(value = "improvement_proposal-添加") + @Operation(summary="improvement_proposal-添加") + @RequiresPermissions("improvementproposal:improvement_proposal:add") + @PostMapping(value = "/add") + public Result add(@RequestBody ImprovementProposalPage improvementProposalPage) { + ImprovementProposal improvementProposal = new ImprovementProposal(); + BeanUtils.copyProperties(improvementProposalPage, improvementProposal); + improvementProposal.setBpmStatus("1"); + improvementProposalService.saveMain(improvementProposal, improvementProposalPage.getImprovementDeptScoreList(),improvementProposalPage.getImprovementInstituteVoteList()); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param improvementProposalPage + * @return + */ + @AutoLog(value = "improvement_proposal-编辑") + @Operation(summary="improvement_proposal-编辑") + @RequiresPermissions("improvementproposal:improvement_proposal:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody ImprovementProposalPage improvementProposalPage) { + ImprovementProposal improvementProposal = new ImprovementProposal(); + BeanUtils.copyProperties(improvementProposalPage, improvementProposal); + ImprovementProposal improvementProposalEntity = improvementProposalService.getById(improvementProposal.getId()); + if(improvementProposalEntity==null) { + return Result.error("未找到对应数据"); + } + improvementProposalService.updateMain(improvementProposal, improvementProposalPage.getImprovementDeptScoreList(),improvementProposalPage.getImprovementInstituteVoteList()); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "improvement_proposal-通过id删除") + @Operation(summary="improvement_proposal-通过id删除") + @RequiresPermissions("improvementproposal:improvement_proposal:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + improvementProposalService.delMain(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "improvement_proposal-批量删除") + @Operation(summary="improvement_proposal-批量删除") + @RequiresPermissions("improvementproposal:improvement_proposal:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.improvementProposalService.delBatchMain(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "improvement_proposal-通过id查询") + @Operation(summary="improvement_proposal-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ImprovementProposal improvementProposal = improvementProposalService.getById(id); + if(improvementProposal==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(improvementProposal); + + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "部门评议评分表通过主表ID查询") + @Operation(summary="部门评议评分表主表ID查询") + @GetMapping(value = "/queryImprovementDeptScoreByMainId") + public Result> queryImprovementDeptScoreListByMainId(@RequestParam(name="id",required=true) String id) { + List improvementDeptScoreList = improvementDeptScoreService.selectByMainId(id); + return Result.OK(improvementDeptScoreList); + } + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "所级评议投票表通过主表ID查询") + @Operation(summary="所级评议投票表主表ID查询") + @GetMapping(value = "/queryImprovementInstituteVoteByMainId") + public Result> queryImprovementInstituteVoteListByMainId(@RequestParam(name="id",required=true) String id) { + List improvementInstituteVoteList = improvementInstituteVoteService.selectByMainId(id); + return Result.OK(improvementInstituteVoteList); + } + + /** + * 导出excel + * + * @param request + * @param improvementProposal + */ + @RequiresPermissions("improvementproposal:improvement_proposal:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ImprovementProposal improvementProposal) { + + // Step.1 组装查询条件查询数据 + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(improvementProposal, 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 improvementProposalList = improvementProposalService.list(queryWrapper); + + // Step.3 组装pageList + List pageList = new ArrayList(); + for (ImprovementProposal main : improvementProposalList) { + ImprovementProposalPage vo = new ImprovementProposalPage(); + BeanUtils.copyProperties(main, vo); + List improvementDeptScoreList = improvementDeptScoreService.selectByMainId(main.getId()); + vo.setImprovementDeptScoreList(improvementDeptScoreList); + List improvementInstituteVoteList = improvementInstituteVoteService.selectByMainId(main.getId()); + vo.setImprovementInstituteVoteList(improvementInstituteVoteList); + pageList.add(vo); + } + + // Step.4 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "improvement_proposal列表"); + mv.addObject(NormalExcelConstants.CLASS, ImprovementProposalPage.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("improvement_proposal数据", "导出人:"+sysUser.getRealname(), "improvement_proposal")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("improvementproposal:improvement_proposal: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(), ImprovementProposalPage.class, params); + for (ImprovementProposalPage page : list) { + ImprovementProposal po = new ImprovementProposal(); + BeanUtils.copyProperties(page, po); + improvementProposalService.saveMain(po, page.getImprovementDeptScoreList(),page.getImprovementInstituteVoteList()); + } + 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/improvementproposal/entity/ImprovementDeptScore.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementDeptScore.java new file mode 100644 index 0000000..bc02e0c --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementDeptScore.java @@ -0,0 +1,107 @@ +package org.jeecg.modules.improvementproposal.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-07-21 + * @Version: V1.0 + */ +@Schema(description="部门评议评分表") +@Data +@TableName("improvement_dept_score") +public class ImprovementDeptScore implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") + private String id; + /**改善提案主表ID*/ + @Schema(description = "改善提案主表ID") + private String mainId; + /**流程任务ID*/ + @Excel(name = "流程任务ID", width = 15) + @Schema(description = "流程任务ID") + private String processTaskId; + /**评委ID*/ + @Excel(name = "评委ID", width = 15) + @Schema(description = "评委ID") + private String scorerId; + /**评委姓名*/ + @Excel(name = "评委姓名", width = 15) + @Schema(description = "评委姓名") + private String scorerName; + /**评分状态:pending/completed*/ + @Excel(name = "评分状态:pending/completed", width = 15) + @Schema(description = "评分状态:pending/completed") + private String scoreStatus; + /**改善效果得分*/ + @Excel(name = "改善效果得分", width = 15) + @Schema(description = "改善效果得分") + private java.math.BigDecimal effectScore; + /**可推广度得分*/ + @Excel(name = "可推广度得分", width = 15) + @Schema(description = "可推广度得分") + private java.math.BigDecimal promotionScore; + /**独创性得分*/ + @Excel(name = "独创性得分", width = 15) + @Schema(description = "独创性得分") + private java.math.BigDecimal originalityScore; + /**努力度得分*/ + @Excel(name = "努力度得分", width = 15) + @Schema(description = "努力度得分") + private java.math.BigDecimal effortScore; + /**加权总分*/ + @Excel(name = "加权总分", width = 15) + @Schema(description = "加权总分") + private java.math.BigDecimal totalScore; + /**评分意见*/ + @Excel(name = "评分意见", width = 15) + @Schema(description = "评分意见") + private String scoreOpinion; + /**评分时间*/ + @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 Date scoreTime; + /**创建人*/ + @Schema(description = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private String sysOrgCode; + /**删除状态:0正常,1已删除*/ + @Excel(name = "删除状态:0正常,1已删除", width = 15) + @Schema(description = "删除状态:0正常,1已删除") + @TableLogic + private String delFlag; +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementInstituteVote.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementInstituteVote.java new file mode 100644 index 0000000..b74dae0 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementInstituteVote.java @@ -0,0 +1,91 @@ +package org.jeecg.modules.improvementproposal.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-07-21 + * @Version: V1.0 + */ +@Schema(description="所级评议投票表") +@Data +@TableName("improvement_institute_vote") +public class ImprovementInstituteVote implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") + private String id; + /**改善提案主表ID*/ + @Schema(description = "改善提案主表ID") + private String mainId; + /**流程任务ID*/ + @Excel(name = "流程任务ID", width = 15) + @Schema(description = "流程任务ID") + private String processTaskId; + /**投票人ID*/ + @Excel(name = "投票人ID", width = 15) + @Schema(description = "投票人ID") + private String voterId; + /**投票人姓名*/ + @Excel(name = "投票人姓名", width = 15) + @Schema(description = "投票人姓名") + private String voterName; + /**投票状态:pending/voted*/ + @Excel(name = "投票状态:pending/voted", width = 15) + @Schema(description = "投票状态:pending/voted") + private String voteStatus; + /**投票结果:agree/disagree*/ + @Excel(name = "投票结果:agree/disagree", width = 15) + @Schema(description = "投票结果:agree/disagree") + private String voteResult; + /**投票意见*/ + @Excel(name = "投票意见", width = 15) + @Schema(description = "投票意见") + private String voteOpinion; + /**投票时间*/ + @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 Date voteTime; + /**创建人*/ + @Schema(description = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private String sysOrgCode; + /**删除状态:0正常,1已删除*/ + @Excel(name = "删除状态:0正常,1已删除", width = 15) + @Schema(description = "删除状态:0正常,1已删除") + @TableLogic + private String delFlag; +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementProposal.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementProposal.java new file mode 100644 index 0000000..3a54fa4 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/entity/ImprovementProposal.java @@ -0,0 +1,180 @@ +package org.jeecg.modules.improvementproposal.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: improvement_proposal + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +@Schema(description="improvement_proposal") +@Data +@TableName("improvement_proposal") +public class ImprovementProposal implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") + private String id; + /**流程实例ID*/ + @Excel(name = "流程实例ID", width = 15) + @Schema(description = "流程实例ID") + private String processInstanceId; + /**提案编号*/ + @Excel(name = "提案编号", width = 15) + @Schema(description = "提案编号") + private String proposalNo; + /**提案名称*/ + @Excel(name = "提案名称", width = 15) + @Schema(description = "提案名称") + private String proposalName; + /**提出日期*/ + @Excel(name = "提出日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @Schema(description = "提出日期") + private Date proposalDate; + /**提案部门ID*/ + @Excel(name = "提案部门ID", width = 15) + @Schema(description = "提案部门ID") + private String proposalDeptId; + /**提案部门名称*/ + @Excel(name = "提案部门名称", width = 15) + @Schema(description = "提案部门名称") + private String proposalDeptName; + /**申请人ID*/ + @Excel(name = "申请人ID", width = 15) + @Schema(description = "申请人ID") + private String applicantId; + /**申请人姓名*/ + @Excel(name = "申请人姓名", width = 15) + @Schema(description = "申请人姓名") + private String applicantName; + /**团队名称*/ + @Excel(name = "团队名称", width = 15) + @Schema(description = "团队名称") + private String teamName; + /**提案类别*/ + @Excel(name = "提案类别", width = 15) + @Schema(description = "提案类别") + private String proposalCategory; + /**问题描述*/ + @Excel(name = "问题描述", width = 15) + @Schema(description = "问题描述") + private String problemDesc; + /**改善方法及措施*/ + @Excel(name = "改善方法及措施", width = 15) + @Schema(description = "改善方法及措施") + private String improvementMethod; + /**改善前情况描述*/ + @Excel(name = "改善前情况描述", width = 15) + @Schema(description = "改善前情况描述") + private String beforeDesc; + /**改善后情况描述*/ + @Excel(name = "改善后情况描述", width = 15) + @Schema(description = "改善后情况描述") + private String afterDesc; + /**改善效果*/ + @Excel(name = "改善效果", width = 15) + @Schema(description = "改善效果") + private String improvementEffect; + /**部门精益专员初步评定奖项*/ + @Excel(name = "部门精益专员初步评定奖项", width = 15) + @Schema(description = "部门精益专员初步评定奖项") + private String initialAward; + /**是否需要部门评议打分:Y/N*/ + @Excel(name = "是否需要部门评议打分:Y/N", width = 15) + @Schema(description = "是否需要部门评议打分:Y/N") + private String needDeptScore; + /**部门评议平均分*/ + @Excel(name = "部门评议平均分", width = 15) + @Schema(description = "部门评议平均分") + private java.math.BigDecimal deptAvgScore; + /**系统建议奖项*/ + @Excel(name = "系统建议奖项", width = 15) + @Schema(description = "系统建议奖项") + private String suggestedAward; + /**部门负责人确认奖项*/ + @Excel(name = "部门负责人确认奖项", width = 15) + @Schema(description = "部门负责人确认奖项") + private String leaderFinalAward; + /**最终奖项*/ + @Excel(name = "最终奖项", width = 15) + @Schema(description = "最终奖项") + private String finalAward; + /**所级评议应投票人数*/ + @Excel(name = "所级评议应投票人数", width = 15) + @Schema(description = "所级评议应投票人数") + private Integer instituteTotalVoters; + /**所级评议同意票数*/ + @Excel(name = "所级评议同意票数", width = 15) + @Schema(description = "所级评议同意票数") + private Integer instituteAgreeCount; + /**所级评议不同意票数*/ + @Excel(name = "所级评议不同意票数", width = 15) + @Schema(description = "所级评议不同意票数") + private Integer instituteDisagreeCount; + /**所级评议结果:passed/failed*/ + @Excel(name = "所级评议结果:passed/failed", width = 15) + @Schema(description = "所级评议结果:passed/failed") + private String instituteVoteResult; + /**金奖未通过后的经办人手动确认结果*/ + @Excel(name = "金奖未通过后的经办人手动确认结果", width = 15) + @Schema(description = "金奖未通过后的经办人手动确认结果") + private String manualConfirmResult; + /**业务展示状态*/ + @Excel(name = "业务展示状态", width = 15) + @Schema(description = "业务展示状态") + private String bpmStatus; + /**归档人ID*/ + @Excel(name = "归档人ID", width = 15) + @Schema(description = "归档人ID") + private String archiveBy; + /**归档时间*/ + @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 Date archiveTime; + /**创建人*/ + @Schema(description = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private String sysOrgCode; + /**删除状态:0正常,1已删除*/ + @Excel(name = "删除状态:0正常,1已删除", width = 15) + @Schema(description = "删除状态:0正常,1已删除") + @TableLogic + private String delFlag; +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementDeptScoreMapper.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementDeptScoreMapper.java new file mode 100644 index 0000000..fb36f00 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementDeptScoreMapper.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.improvementproposal.mapper; + +import java.util.List; +import org.jeecg.modules.improvementproposal.entity.ImprovementDeptScore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: 部门评议评分表 + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +public interface ImprovementDeptScoreMapper 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/improvementproposal/mapper/ImprovementInstituteVoteMapper.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementInstituteVoteMapper.java new file mode 100644 index 0000000..fcf2b9c --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementInstituteVoteMapper.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.improvementproposal.mapper; + +import java.util.List; +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: 所级评议投票表 + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +public interface ImprovementInstituteVoteMapper 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/improvementproposal/mapper/ImprovementProposalMapper.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementProposalMapper.java new file mode 100644 index 0000000..167f101 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/ImprovementProposalMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.improvementproposal.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.improvementproposal.entity.ImprovementProposal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: improvement_proposal + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +public interface ImprovementProposalMapper extends BaseMapper { + +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementDeptScoreMapper.xml b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementDeptScoreMapper.xml new file mode 100644 index 0000000..c326705 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementDeptScoreMapper.xml @@ -0,0 +1,16 @@ + + + + + + DELETE + FROM improvement_dept_score + WHERE + main_id = #{mainId} + + + diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementInstituteVoteMapper.xml b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementInstituteVoteMapper.xml new file mode 100644 index 0000000..c70bb9b --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementInstituteVoteMapper.xml @@ -0,0 +1,16 @@ + + + + + + DELETE + FROM improvement_institute_vote + WHERE + main_id = #{mainId} + + + diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementProposalMapper.xml b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementProposalMapper.xml new file mode 100644 index 0000000..a54a5a9 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/mapper/xml/ImprovementProposalMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementDeptScoreService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementDeptScoreService.java new file mode 100644 index 0000000..bfa5a22 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementDeptScoreService.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.improvementproposal.service; + +import org.jeecg.modules.improvementproposal.entity.ImprovementDeptScore; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 部门评议评分表 + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +public interface IImprovementDeptScoreService 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/improvementproposal/service/IImprovementInstituteVoteService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementInstituteVoteService.java new file mode 100644 index 0000000..1555499 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementInstituteVoteService.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.improvementproposal.service; + +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 所级评议投票表 + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +public interface IImprovementInstituteVoteService 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/improvementproposal/service/IImprovementProposalService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementProposalService.java new file mode 100644 index 0000000..6ef7e75 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementProposalService.java @@ -0,0 +1,51 @@ +package org.jeecg.modules.improvementproposal.service; + +import org.jeecg.modules.improvementproposal.entity.ImprovementDeptScore; +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +import org.jeecg.modules.improvementproposal.entity.ImprovementProposal; +import com.baomidou.mybatisplus.extension.service.IService; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * @Description: improvement_proposal + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +public interface IImprovementProposalService extends IService { + + /** + * 添加一对多 + * + * @param improvementProposal + * @param improvementDeptScoreList + * @param improvementInstituteVoteList + */ + public void saveMain(ImprovementProposal improvementProposal,List improvementDeptScoreList,List improvementInstituteVoteList) ; + + /** + * 修改一对多 + * + * @param improvementProposal + * @param improvementDeptScoreList + * @param improvementInstituteVoteList + */ + public void updateMain(ImprovementProposal improvementProposal,List improvementDeptScoreList,List improvementInstituteVoteList); + + /** + * 删除一对多 + * + * @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/improvementproposal/service/impl/ImprovementDeptScoreServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementDeptScoreServiceImpl.java new file mode 100644 index 0000000..dd257ea --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementDeptScoreServiceImpl.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.improvementproposal.service.impl; + +import org.jeecg.modules.improvementproposal.entity.ImprovementDeptScore; +import org.jeecg.modules.improvementproposal.mapper.ImprovementDeptScoreMapper; +import org.jeecg.modules.improvementproposal.service.IImprovementDeptScoreService; +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-07-21 + * @Version: V1.0 + */ +@Service +public class ImprovementDeptScoreServiceImpl extends ServiceImpl implements IImprovementDeptScoreService { + + @Autowired + private ImprovementDeptScoreMapper improvementDeptScoreMapper; + + @Override + public List selectByMainId(String mainId) { + return improvementDeptScoreMapper.selectByMainId(mainId); + } +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementInstituteVoteServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementInstituteVoteServiceImpl.java new file mode 100644 index 0000000..2e81dca --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementInstituteVoteServiceImpl.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.improvementproposal.service.impl; + +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +import org.jeecg.modules.improvementproposal.mapper.ImprovementInstituteVoteMapper; +import org.jeecg.modules.improvementproposal.service.IImprovementInstituteVoteService; +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-07-21 + * @Version: V1.0 + */ +@Service +public class ImprovementInstituteVoteServiceImpl extends ServiceImpl implements IImprovementInstituteVoteService { + + @Autowired + private ImprovementInstituteVoteMapper improvementInstituteVoteMapper; + + @Override + public List selectByMainId(String mainId) { + return improvementInstituteVoteMapper.selectByMainId(mainId); + } +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementProposalServiceImpl.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementProposalServiceImpl.java new file mode 100644 index 0000000..1105988 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/impl/ImprovementProposalServiceImpl.java @@ -0,0 +1,98 @@ +package org.jeecg.modules.improvementproposal.service.impl; + +import org.jeecg.modules.improvementproposal.entity.ImprovementProposal; +import org.jeecg.modules.improvementproposal.entity.ImprovementDeptScore; +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +import org.jeecg.modules.improvementproposal.mapper.ImprovementDeptScoreMapper; +import org.jeecg.modules.improvementproposal.mapper.ImprovementInstituteVoteMapper; +import org.jeecg.modules.improvementproposal.mapper.ImprovementProposalMapper; +import org.jeecg.modules.improvementproposal.service.IImprovementProposalService; +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: improvement_proposal + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +@Service +public class ImprovementProposalServiceImpl extends ServiceImpl implements IImprovementProposalService { + + @Autowired + private ImprovementProposalMapper improvementProposalMapper; + @Autowired + private ImprovementDeptScoreMapper improvementDeptScoreMapper; + @Autowired + private ImprovementInstituteVoteMapper improvementInstituteVoteMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveMain(ImprovementProposal improvementProposal, List improvementDeptScoreList,List improvementInstituteVoteList) { + improvementProposalMapper.insert(improvementProposal); + if(improvementDeptScoreList!=null && improvementDeptScoreList.size()>0) { + for(ImprovementDeptScore entity:improvementDeptScoreList) { + //外键设置 + entity.setMainId(improvementProposal.getId()); + improvementDeptScoreMapper.insert(entity); + } + } + if(improvementInstituteVoteList!=null && improvementInstituteVoteList.size()>0) { + for(ImprovementInstituteVote entity:improvementInstituteVoteList) { + //外键设置 + entity.setMainId(improvementProposal.getId()); + improvementInstituteVoteMapper.insert(entity); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateMain(ImprovementProposal improvementProposal,List improvementDeptScoreList,List improvementInstituteVoteList) { + improvementProposalMapper.updateById(improvementProposal); + + //1.先删除子表数据 + improvementDeptScoreMapper.deleteByMainId(improvementProposal.getId()); + improvementInstituteVoteMapper.deleteByMainId(improvementProposal.getId()); + + //2.子表数据重新插入 + if(improvementDeptScoreList!=null && improvementDeptScoreList.size()>0) { + for(ImprovementDeptScore entity:improvementDeptScoreList) { + //外键设置 + entity.setMainId(improvementProposal.getId()); + improvementDeptScoreMapper.insert(entity); + } + } + if(improvementInstituteVoteList!=null && improvementInstituteVoteList.size()>0) { + for(ImprovementInstituteVote entity:improvementInstituteVoteList) { + //外键设置 + entity.setMainId(improvementProposal.getId()); + improvementInstituteVoteMapper.insert(entity); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delMain(String id) { + improvementDeptScoreMapper.deleteByMainId(id); + improvementInstituteVoteMapper.deleteByMainId(id); + improvementProposalMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delBatchMain(Collection idList) { + for(Serializable id:idList) { + improvementDeptScoreMapper.deleteByMainId(id.toString()); + improvementInstituteVoteMapper.deleteByMainId(id.toString()); + improvementProposalMapper.deleteById(id); + } + } + +} diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/vo/ImprovementProposalPage.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/vo/ImprovementProposalPage.java new file mode 100644 index 0000000..064a54a --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/vo/ImprovementProposalPage.java @@ -0,0 +1,184 @@ +package org.jeecg.modules.improvementproposal.vo; + +import java.util.List; +import org.jeecg.modules.improvementproposal.entity.ImprovementProposal; +import org.jeecg.modules.improvementproposal.entity.ImprovementDeptScore; +import org.jeecg.modules.improvementproposal.entity.ImprovementInstituteVote; +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: improvement_proposal + * @Author: jeecg-boot + * @Date: 2026-07-21 + * @Version: V1.0 + */ +@Data +@Schema(description="improvement_proposal") +public class ImprovementProposalPage { + + /**主键*/ + @Schema(description = "主键") + private String id; + /**流程实例ID*/ + @Excel(name = "流程实例ID", width = 15) + @Schema(description = "流程实例ID") + private String processInstanceId; + /**提案编号*/ + @Excel(name = "提案编号", width = 15) + @Schema(description = "提案编号") + private String proposalNo; + /**提案名称*/ + @Excel(name = "提案名称", width = 15) + @Schema(description = "提案名称") + private String proposalName; + /**提出日期*/ + @Excel(name = "提出日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @Schema(description = "提出日期") + private Date proposalDate; + /**提案部门ID*/ + @Excel(name = "提案部门ID", width = 15) + @Schema(description = "提案部门ID") + private String proposalDeptId; + /**提案部门名称*/ + @Excel(name = "提案部门名称", width = 15) + @Schema(description = "提案部门名称") + private String proposalDeptName; + /**申请人ID*/ + @Excel(name = "申请人ID", width = 15) + @Schema(description = "申请人ID") + private String applicantId; + /**申请人姓名*/ + @Excel(name = "申请人姓名", width = 15) + @Schema(description = "申请人姓名") + private String applicantName; + /**团队名称*/ + @Excel(name = "团队名称", width = 15) + @Schema(description = "团队名称") + private String teamName; + /**提案类别*/ + @Excel(name = "提案类别", width = 15) + @Schema(description = "提案类别") + private String proposalCategory; + /**问题描述*/ + @Excel(name = "问题描述", width = 15) + @Schema(description = "问题描述") + private String problemDesc; + /**改善方法及措施*/ + @Excel(name = "改善方法及措施", width = 15) + @Schema(description = "改善方法及措施") + private String improvementMethod; + /**改善前情况描述*/ + @Excel(name = "改善前情况描述", width = 15) + @Schema(description = "改善前情况描述") + private String beforeDesc; + /**改善后情况描述*/ + @Excel(name = "改善后情况描述", width = 15) + @Schema(description = "改善后情况描述") + private String afterDesc; + /**改善效果*/ + @Excel(name = "改善效果", width = 15) + @Schema(description = "改善效果") + private String improvementEffect; + /**部门精益专员初步评定奖项*/ + @Excel(name = "部门精益专员初步评定奖项", width = 15) + @Schema(description = "部门精益专员初步评定奖项") + private String initialAward; + /**是否需要部门评议打分:Y/N*/ + @Excel(name = "是否需要部门评议打分:Y/N", width = 15) + @Schema(description = "是否需要部门评议打分:Y/N") + private String needDeptScore; + /**部门评议平均分*/ + @Excel(name = "部门评议平均分", width = 15) + @Schema(description = "部门评议平均分") + private java.math.BigDecimal deptAvgScore; + /**系统建议奖项*/ + @Excel(name = "系统建议奖项", width = 15) + @Schema(description = "系统建议奖项") + private String suggestedAward; + /**部门负责人确认奖项*/ + @Excel(name = "部门负责人确认奖项", width = 15) + @Schema(description = "部门负责人确认奖项") + private String leaderFinalAward; + /**最终奖项*/ + @Excel(name = "最终奖项", width = 15) + @Schema(description = "最终奖项") + private String finalAward; + /**所级评议应投票人数*/ + @Excel(name = "所级评议应投票人数", width = 15) + @Schema(description = "所级评议应投票人数") + private Integer instituteTotalVoters; + /**所级评议同意票数*/ + @Excel(name = "所级评议同意票数", width = 15) + @Schema(description = "所级评议同意票数") + private Integer instituteAgreeCount; + /**所级评议不同意票数*/ + @Excel(name = "所级评议不同意票数", width = 15) + @Schema(description = "所级评议不同意票数") + private Integer instituteDisagreeCount; + /**所级评议结果:passed/failed*/ + @Excel(name = "所级评议结果:passed/failed", width = 15) + @Schema(description = "所级评议结果:passed/failed") + private String instituteVoteResult; + /**金奖未通过后的经办人手动确认结果*/ + @Excel(name = "金奖未通过后的经办人手动确认结果", width = 15) + @Schema(description = "金奖未通过后的经办人手动确认结果") + private String manualConfirmResult; + /**业务展示状态*/ + @Excel(name = "业务展示状态", width = 15) + @Schema(description = "业务展示状态") + private String bpmStatus; + /**归档人ID*/ + @Excel(name = "归档人ID", width = 15) + @Schema(description = "归档人ID") + private String archiveBy; + /**归档时间*/ + @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 Date archiveTime; + /**创建人*/ + @Schema(description = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private String sysOrgCode; + /**删除状态:0正常,1已删除*/ + @Excel(name = "删除状态:0正常,1已删除", width = 15) + @Schema(description = "删除状态:0正常,1已删除") + private String delFlag; + + @ExcelCollection(name="部门评议评分表") + @Schema(description = "部门评议评分表") + private List improvementDeptScoreList; + @ExcelCollection(name="所级评议投票表") + @Schema(description = "所级评议投票表") + private List improvementInstituteVoteList; + +}