2 文件已重命名
1个文件已删除
1 文件已复制
8个文件已添加
36个文件已修改
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/current-quarter") |
| | | @RequestMapping("/current-quarter-dept") |
| | | @RequiredArgsConstructor |
| | | @Api(tags = "当前季度数据相关接口") |
| | | public class CurrentQuarterController { |
| | |
| | | */ |
| | | @PostMapping("/page-score") |
| | | @ApiOperation("得分计算分页查询") |
| | | public R<PageDTO<ScoreVO>> pageScore(@RequestBody ScoreQuery query) { |
| | | public R<PageDTO<ScoreVO>> pageScore(@Validated @RequestBody ScoreQuery query) { |
| | | try { |
| | | return R.ok(tbBasicDataService.pageScore(query)); |
| | | } catch (Exception e) { |
| | |
| | | import com.ruoyi.common.enums.ReportingStatusEnum; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.system.domain.TbBasicData; |
| | | import com.ruoyi.system.dto.HistoryDataQueryDTO; |
| | | import com.ruoyi.system.query.HistoryDataQuery; |
| | | import com.ruoyi.system.query.HistoryScoreQuery; |
| | | import com.ruoyi.system.service.TbBasicDataService; |
| | | import com.ruoyi.system.service.TbFieldService; |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/history-data") |
| | | @RequestMapping("/history-data-dept") |
| | | @RequiredArgsConstructor |
| | | @Api(tags = "历史数据相关接口") |
| | | public class HistoryDataController { |
| | |
| | | */ |
| | | @PostMapping("/list") |
| | | @ApiOperation("历史数据分页查询") |
| | | public R<PageDTO<BasicDataVO>> list(HistoryDataQueryDTO dto) { |
| | | public R<PageDTO<BasicDataVO>> list(@Validated @RequestBody HistoryDataQuery dto) { |
| | | String areaCode = SecurityUtils.getLoginUser().getUser().getAreaCode(); |
| | | Page<TbBasicData> page = tbBasicDataService.lambdaQuery().eq(TbBasicData::getDeptAreaCode, areaCode) |
| | | .eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED) |
| | |
| | | * @param id 基础数据id |
| | | * @return R<BasicDataFieldVO> |
| | | */ |
| | | @GetMapping("/history-fields") |
| | | @GetMapping("/fields") |
| | | @ApiOperation("字段查看") |
| | | @ApiImplicitParam(name = "id", value = "基础数据id", required = true, dataType = "int", paramType = "query", dataTypeClass = Long.class) |
| | | public R<BasicDataFieldVO> getHistoryFields(@RequestParam("id") Long id) { |
| | |
| | | * @param query 得分计算条件查询对象 |
| | | * @return R<PageDTO < ScoreVO>> |
| | | */ |
| | | @PostMapping("/history-score") |
| | | @PostMapping("/score") |
| | | @ApiOperation("得分计算") |
| | | public R<PageDTO<ScoreVO>> getHistoryScore(@RequestBody HistoryScoreQuery query) { |
| | | return R.ok(tbScoreService.getHistoryScore(query)); |
| | |
| | | |
| | | mybatis-plus: |
| | | # 此处在多数据源中生效 |
| | | config-location: classpath:/mybatis-config.xml |
| | | # config-location: classpath:/mybatis-config.xml |
| | | global-config: |
| | | banner: false |
| | | db-config: |
| | | logic-not-delete-value: 0 |
| | | logic-delete-value: 1 |
| | | configuration: |
| | | map-underscore-to-camel-case: true |
| | | default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler |
| | | log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
| | | cache-enabled: true |
| | | local-cache-scope: statement |
| | | type-aliases-package: com.ruoyi.**.domain,com.ruoyi.**.vo |
| | | # 指定Mapper文件位置 |
| | | mapper-locations: classpath*:mapper/**/*.xml |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
| | |
| | | <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> |
| | | <!--<setting name="localCacheScope" value="STATEMENT"/>--> |
| | | <setting name="localCacheScope" value="STATEMENT"/> |
| | | <setting name="mapUnderscoreToCamelCase" value="true" /> |
| | | <!--开启枚举类自动转换--> |
| | | <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> |
| | | </settings> |
| | | |
| | | </configuration> |
| | |
| | | <setting name="logImpl" value="SLF4J" /> |
| | | <!-- 使用驼峰命名法转换字段 --> |
| | | <!-- <setting name="mapUnderscoreToCamelCase" value="true"/>--> |
| | | <!--开启枚举类自动转换--> |
| | | <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> |
| | | </settings> |
| | | |
| | | </configuration> |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.system.domain.TbQuestion; |
| | | import com.ruoyi.system.dto.CurrentFieldsQueryDTO; |
| | | import com.ruoyi.system.dto.QuestionDTO; |
| | | import com.ruoyi.system.dto.QuestionQueryDTO; |
| | | import com.ruoyi.system.dto.QuestionUpdDto; |
| | | import com.ruoyi.system.query.CurrentFieldsQuery; |
| | | import com.ruoyi.system.query.QuestionQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateDetailQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.service.TbBasicDataService; |
| | | import com.ruoyi.system.service.TbQuestionService; |
| | | import com.ruoyi.system.vo.CurrentFieldsAllVO; |
| | | import com.ruoyi.system.vo.CurrentFieldsDetailVO; |
| | | import com.ruoyi.system.vo.CurrentFieldsVO; |
| | | import com.ruoyi.system.vo.QuestionVO; |
| | | import com.ruoyi.system.service.TbScoreService; |
| | | import com.ruoyi.system.vo.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | |
| | | private final TbBasicDataService tbBasicDataService; |
| | | private final TbQuestionService tbQuestionService; |
| | | private final TbScoreService tbScoreService; |
| | | |
| | | /** |
| | | * 获取基础数据填报相关信息 |
| | | * 字段统计 |
| | | * |
| | | * @return R<BasicDataReportingVO> |
| | | * @return R<PageDTO < CurrentFieldsVO>> |
| | | */ |
| | | @ApiOperation(value = "字段统计", notes = "字段统计") |
| | | @PostMapping("/fields-statics") |
| | | public R<PageDTO<CurrentFieldsVO>> fieldsStatics(@Validated @RequestBody CurrentFieldsQueryDTO dto) { |
| | | public R<PageDTO<CurrentFieldsVO>> fieldsStatics(@Validated @RequestBody CurrentFieldsQuery dto) { |
| | | try { |
| | | dto.setQuarter(DateUtils.getNowQuarter()); |
| | | return tbBasicDataService.fieldsStatics(dto); |
| | | } catch (Exception e) { |
| | | log.error("获取字段统计相关信息异常", e); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 查看详情 |
| | | * 字段统计查看详情 |
| | | * |
| | | * @param id 基础数据id |
| | | * @return R<CurrentFieldsDetailVO> |
| | | */ |
| | | @GetMapping("/fields-details") |
| | | @ApiOperation(value = "查看详情", notes = "字段统计") |
| | | @ApiOperation(value = "字段统计-查看详情", notes = "字段统计") |
| | | @ApiImplicitParam(name = "id", value = "基础数据id", required = true, dataType = "int", paramType = "query", dataTypeClass = Long.class) |
| | | public R<CurrentFieldsDetailVO> fieldsDetails(@RequestParam("id") Long id) { |
| | | try { |
| | |
| | | * @return R<CurrentFieldsAllVO> |
| | | */ |
| | | @GetMapping("/fields-statics-all") |
| | | @ApiOperation(value = "查看全部", notes = "字段统计") |
| | | @ApiOperation(value = "字段统计-查看全部", notes = "字段统计") |
| | | public R<CurrentFieldsAllVO> fieldsStaticsAll() { |
| | | try { |
| | | return R.ok(tbBasicDataService.fieldsStaticsAll()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 得分计算 |
| | | * |
| | | * @param query 当前季度/历史 数据 得分计算条件查询对象 |
| | | * @return R<PageDTO < ScoreCalculateVO>> |
| | | */ |
| | | @PostMapping("/score-calculate") |
| | | @ApiOperation("得分计算") |
| | | public R<PageDTO<ScoreCalculateVO>> scoreCalculate(@Validated @RequestBody ScoreCalculateQuery query) { |
| | | try { |
| | | query.setQuarter(DateUtils.getNowQuarter()); |
| | | return R.ok(tbBasicDataService.scoreCalculatePage(query)); |
| | | } catch (Exception e) { |
| | | log.error("获取得分计算异常", e); |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 得分计算查看详情 |
| | | * |
| | | * @param query 得分计算详情条件查询对象 |
| | | * @return R<ScoreCalculateDetailVO> |
| | | */ |
| | | @PostMapping("/score-calculate-detail") |
| | | @ApiOperation("得分计算-查看详情") |
| | | @ApiImplicitParam(name = "areaName", value = "部门名称", required = false, dataType = "string", paramType = "query", dataTypeClass = String.class) |
| | | public R<ScoreCalculateDetailVO> scoreCalculateDetail(@Validated @RequestBody ScoreCalculateDetailQuery query) { |
| | | return R.ok(tbScoreService.scoreCalculateDetail(query)); |
| | | } |
| | | |
| | | /** |
| | | * 添加问题 |
| | | * |
| | | * @param dto 发现问题数据传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("add-question") |
| | | @ApiOperation(value = "添加问题", notes = "发现问题") |
| | | @ApiOperation(value = "发现问题-添加问题", notes = "发现问题") |
| | | public R<Void> addQuestion(@Validated @RequestBody QuestionDTO dto) { |
| | | try { |
| | | tbQuestionService.addQuestion(dto); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 编辑问题 |
| | | * |
| | | * @param dto 发现问题编辑数据传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("/edit-question") |
| | | @ApiOperation(value = "编辑问题", notes = "发现问题") |
| | | @ApiOperation(value = "发现问题-编辑问题", notes = "发现问题") |
| | | public R<Void> editQuestion(@Validated @RequestBody QuestionUpdDto dto) { |
| | | try { |
| | | tbQuestionService.editQuestion(dto); |
| | |
| | | * @return R<PageDTO < QuestionVO>> |
| | | */ |
| | | @PostMapping("/page-question") |
| | | @ApiOperation(value = "分页查询问题", notes = "发现问题") |
| | | public R<PageDTO<QuestionVO>> pageQuestion(@RequestBody QuestionQueryDTO dto) { |
| | | @ApiOperation(value = "发现问题-分页查询问题", notes = "发现问题") |
| | | public R<PageDTO<QuestionVO>> pageQuestion(@Validated @RequestBody QuestionQuery dto) { |
| | | return R.ok(tbQuestionService.pageQuestion(dto)); |
| | | } |
| | | |
| | |
| | | * @return R<QuestionDTO> |
| | | */ |
| | | @GetMapping("/detail-question") |
| | | @ApiOperation(value = "问题详情", notes = "发现问题") |
| | | @ApiOperation(value = "发现问题-问题详情", notes = "发现问题") |
| | | public R<QuestionDTO> detailQuestion(@RequestParam("id") Long id) { |
| | | TbQuestion question = tbQuestionService.getById(id); |
| | | return R.ok(BeanUtils.copyBean(question, QuestionDTO.class)); |
| | | } |
| | | |
| | | /** |
| | | * 删除问题 |
| | | * |
| | | * @param id 问题id |
| | | * @return R<Void> |
| | | */ |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation(value = "删除问题", notes = "发现问题") |
| | | @ApiOperation(value = "发现问题-删除问题", notes = "发现问题") |
| | | public R<Void> delete(@RequestParam("id") Long id) { |
| | | tbQuestionService.removeById(id); |
| | | return R.ok(); |
New file |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.enums.ReportingStatusEnum; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.validate.HistoryGroup; |
| | | import com.ruoyi.system.domain.TbBasicData; |
| | | import com.ruoyi.system.query.CurrentFieldsQuery; |
| | | import com.ruoyi.system.query.HistoryDataQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateDetailQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.service.TbBasicDataService; |
| | | import com.ruoyi.system.service.TbScoreService; |
| | | import com.ruoyi.system.vo.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Date; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/8 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/history-data") |
| | | @RequiredArgsConstructor |
| | | @Api(tags = "历史数据相关接口") |
| | | public class HistoryDataController { |
| | | private final TbBasicDataService tbBasicDataService; |
| | | private final TbScoreService tbScoreService; |
| | | |
| | | /** |
| | | * 历史数据分页查询 |
| | | * |
| | | * @param dto 历史数据查询传输对象 |
| | | * @return R<PageDTO < BasicDataVO>> |
| | | */ |
| | | @PostMapping("/page-data") |
| | | @ApiOperation("历史数据分页查询") |
| | | public R<PageDTO<BasicDataVO>> pageData(@Validated @RequestBody HistoryDataQuery dto) { |
| | | Date startTime = dto.getStartTime(); |
| | | Date endTime = dto.getEndTime(); |
| | | boolean flag = Objects.nonNull(startTime) && Objects.nonNull(endTime); |
| | | Page<TbBasicData> page = tbBasicDataService.lambdaQuery() |
| | | .eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED) |
| | | .between(flag, TbBasicData::getCreateTime, startTime, endTime) |
| | | .groupBy(TbBasicData::getQuarter) |
| | | .orderByDesc(TbBasicData::getCreateTime) |
| | | .page(new Page<>(dto.getPageNum(), dto.getPageSize())); |
| | | return R.ok(PageDTO.of(page, BasicDataVO.class)); |
| | | } |
| | | |
| | | /** |
| | | * 字段统计 |
| | | * |
| | | * @return R<PageDTO < CurrentFieldsVO>> |
| | | */ |
| | | @ApiOperation(value = "字段统计", notes = "字段统计") |
| | | @PostMapping("/fields-statics") |
| | | public R<PageDTO<CurrentFieldsVO>> historyFieldsStatics(@Validated({HistoryGroup.class}) @RequestBody CurrentFieldsQuery dto) { |
| | | try { |
| | | return tbBasicDataService.historyFieldsStatics(dto); |
| | | } catch (Exception e) { |
| | | log.error("获取字段统计相关信息异常", e); |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查看详情 |
| | | * |
| | | * @param id 基础数据id |
| | | * @return R<CurrentFieldsDetailVO> |
| | | */ |
| | | @GetMapping("/fields-details") |
| | | @ApiOperation(value = "查看详情", notes = "字段统计") |
| | | @ApiImplicitParam(name = "id", value = "基础数据id", required = true, dataType = "int", paramType = "query", dataTypeClass = Long.class) |
| | | public R<CurrentFieldsDetailVO> fieldsDetails(@RequestParam("id") Long id) { |
| | | try { |
| | | return tbBasicDataService.fieldsDetails(id); |
| | | } catch (Exception e) { |
| | | if (e instanceof ServiceException) { |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | log.error("保存当前季度数据异常", e); |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查看全部 |
| | | * |
| | | * @return R<CurrentFieldsAllVO> |
| | | */ |
| | | @GetMapping("/fields-statics-all") |
| | | @ApiOperation(value = "查看全部", notes = "字段统计") |
| | | @ApiImplicitParam(name = "quarter", value = "季度", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) |
| | | public R<CurrentFieldsAllVO> fieldsStaticsAll(@RequestParam("quarter") String quarter) { |
| | | try { |
| | | return R.ok(tbBasicDataService.fieldsStaticsAll(quarter)); |
| | | } catch (Exception e) { |
| | | if (e instanceof ServiceException) { |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | log.error("查看全部异常", e); |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 得分计算 |
| | | * |
| | | * @param query 得分计算条件查询对象 |
| | | * @return R<PageDTO < ScoreVO>> |
| | | */ |
| | | @PostMapping("/score-calculate") |
| | | @ApiOperation("得分计算") |
| | | public R<PageDTO<ScoreCalculateVO>> scoreCalculate(@Validated({HistoryGroup.class}) @RequestBody ScoreCalculateQuery query) { |
| | | return R.ok(tbBasicDataService.scoreCalculatePage(query)); |
| | | } |
| | | |
| | | /** |
| | | * 得分计算查看详情 |
| | | * |
| | | * @param query 得分计算详情条件查询对象 |
| | | * @return R<ScoreCalculateDetailVO> |
| | | */ |
| | | @PostMapping("/score-calculate-detail") |
| | | @ApiOperation("得分计算-查看详情") |
| | | public R<ScoreCalculateDetailVO> scoreCalculateDetail(@Validated @RequestBody ScoreCalculateDetailQuery query) { |
| | | return R.ok(tbScoreService.scoreCalculateDetail(query)); |
| | | } |
| | | } |
| | |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<BasicDataCategoryVO>> page(@RequestBody BasicDataCategoryQuery query) { |
| | | public R<PageDTO<BasicDataCategoryVO>> page(@Validated @RequestBody BasicDataCategoryQuery query) { |
| | | try { |
| | | return R.ok(tbBasicDataCategoryService.queryPage(query)); |
| | | } catch (Exception e) { |
| | |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<BasicDataConfigVO>> page(@RequestBody BasicDataConfigQuery query) { |
| | | public R<PageDTO<BasicDataConfigVO>> page(@Validated @RequestBody BasicDataConfigQuery query) { |
| | | try { |
| | | PageDTO<BasicDataConfigVO> basicDataConfigVOPageDTO = tbBasicDataConfigService.queryPage(query); |
| | | return R.ok(basicDataConfigVOPageDTO); |
| | |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<DeptVO>> page(@RequestBody DeptQuery query) { |
| | | public R<PageDTO<DeptVO>> page(@Validated @RequestBody DeptQuery query) { |
| | | try { |
| | | return R.ok(tbDeptService.queryPage(query)); |
| | | } catch (Exception e) { |
| | |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<FieldCategoryVO>> page(@RequestBody FieldCategoryQuery query) { |
| | | public R<PageDTO<FieldCategoryVO>> page(@Validated @RequestBody FieldCategoryQuery query) { |
| | | try { |
| | | return R.ok(tbFieldCategoryService.queryPage(query)); |
| | | } catch (Exception e) { |
| | |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<FieldVO>> page(@RequestBody FieldQuery query) { |
| | | public R<PageDTO<FieldVO>> page(@Validated @RequestBody FieldQuery query) { |
| | | try { |
| | | return R.ok(tbFieldService.queryPage(query)); |
| | | } catch (Exception e) { |
| | |
| | | |
| | | mybatis-plus: |
| | | # 此处在多数据源中生效 |
| | | config-location: classpath:/mybatis-config.xml |
| | | # config-location: classpath:/mybatis-config.xml |
| | | configuration: |
| | | map-underscore-to-camel-case: true |
| | | default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler |
| | | log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
| | | cache-enabled: true |
| | | local-cache-scope: statement |
| | | global-config: |
| | | banner: false |
| | | db-config: |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
| | |
| | | <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> |
| | | <!--<setting name="localCacheScope" value="STATEMENT"/>--> |
| | | <setting name="localCacheScope" value="STATEMENT"/> |
| | | <!--开启枚举类自动转换--> |
| | | <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> |
| | | </settings> |
| | | |
| | | </configuration> |
| | |
| | | <setting name="logImpl" value="SLF4J" /> |
| | | <!-- 使用驼峰命名法转换字段 --> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/> |
| | | <!--开启枚举类自动转换--> |
| | | <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> |
| | | </settings> |
| | | |
| | | </configuration> |
| | |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | public static double calculate(String expression,Map<String,Object> value) { |
| | | expression = formatExpression(expression); |
| | | // 创建 JEXL 引擎 |
| | |
| | | package com.ruoyi.common.utils; |
| | | |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | |
| | | import java.lang.management.ManagementFactory; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | |
| | | /** |
| | | * 时间工具类 |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public class DateUtils extends org.apache.commons.lang3.time.DateUtils |
| | | { |
| | | public class DateUtils extends org.apache.commons.lang3.time.DateUtils { |
| | | public static String YYYY = "yyyy"; |
| | | |
| | | public static String YYYY_MM = "yyyy-MM"; |
| | |
| | | * |
| | | * @return Date() 当前日期 |
| | | */ |
| | | public static Date getNowDate() |
| | | { |
| | | public static Date getNowDate() { |
| | | return new Date(); |
| | | } |
| | | |
| | |
| | | * |
| | | * @return String |
| | | */ |
| | | public static String getDate() |
| | | { |
| | | public static String getDate() { |
| | | return dateTimeNow(YYYY_MM_DD); |
| | | } |
| | | |
| | | public static final String getTime() |
| | | { |
| | | public static final String getTime() { |
| | | return dateTimeNow(YYYY_MM_DD_HH_MM_SS); |
| | | } |
| | | |
| | | public static final String dateTimeNow() |
| | | { |
| | | public static final String dateTimeNow() { |
| | | return dateTimeNow(YYYYMMDDHHMMSS); |
| | | } |
| | | |
| | | public static final String dateTimeNow(final String format) |
| | | { |
| | | public static final String dateTimeNow(final String format) { |
| | | return parseDateToStr(format, new Date()); |
| | | } |
| | | |
| | | public static final String dateTime(final Date date) |
| | | { |
| | | public static final String dateTime(final Date date) { |
| | | return parseDateToStr(YYYY_MM_DD, date); |
| | | } |
| | | |
| | | public static final String parseDateToStr(final String format, final Date date) |
| | | { |
| | | public static final String parseDateToStr(final String format, final Date date) { |
| | | return new SimpleDateFormat(format).format(date); |
| | | } |
| | | |
| | | public static final Date dateTime(final String format, final String ts) |
| | | { |
| | | try |
| | | { |
| | | public static final Date dateTime(final String format, final String ts) { |
| | | try { |
| | | return new SimpleDateFormat(format).parse(ts); |
| | | } |
| | | catch (ParseException e) |
| | | { |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 日期路径 即年/月/日 如2018/08/08 |
| | | */ |
| | | public static final String datePath() |
| | | { |
| | | public static final String datePath() { |
| | | Date now = new Date(); |
| | | return DateFormatUtils.format(now, "yyyy/MM/dd"); |
| | | } |
| | |
| | | /** |
| | | * 日期路径 即年/月/日 如20180808 |
| | | */ |
| | | public static final String dateTime() |
| | | { |
| | | public static final String dateTime() { |
| | | Date now = new Date(); |
| | | return DateFormatUtils.format(now, "yyyyMMdd"); |
| | | } |
| | |
| | | /** |
| | | * 日期型字符串转化为日期 格式 |
| | | */ |
| | | public static Date parseDate(Object str) |
| | | { |
| | | if (str == null) |
| | | { |
| | | public static Date parseDate(Object str) { |
| | | if (str == null) { |
| | | return null; |
| | | } |
| | | try |
| | | { |
| | | try { |
| | | return parseDate(str.toString(), parsePatterns); |
| | | } |
| | | catch (ParseException e) |
| | | { |
| | | } catch (ParseException e) { |
| | | return null; |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 获取服务器启动时间 |
| | | */ |
| | | public static Date getServerStartDate() |
| | | { |
| | | public static Date getServerStartDate() { |
| | | long time = ManagementFactory.getRuntimeMXBean().getStartTime(); |
| | | return new Date(time); |
| | | } |
| | |
| | | /** |
| | | * 计算相差天数 |
| | | */ |
| | | public static int differentDaysByMillisecond(Date date1, Date date2) |
| | | { |
| | | public static int differentDaysByMillisecond(Date date1, Date date2) { |
| | | return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); |
| | | } |
| | | |
| | |
| | | * @param startTime 开始时间 |
| | | * @return 时间差(天/小时/分钟) |
| | | */ |
| | | public static String timeDistance(Date endDate, Date startTime) |
| | | { |
| | | public static String timeDistance(Date endDate, Date startTime) { |
| | | long nd = 1000 * 24 * 60 * 60; |
| | | long nh = 1000 * 60 * 60; |
| | | long nm = 1000 * 60; |
| | |
| | | /** |
| | | * 增加 LocalDateTime ==> Date |
| | | */ |
| | | public static Date toDate(LocalDateTime temporalAccessor) |
| | | { |
| | | public static Date toDate(LocalDateTime temporalAccessor) { |
| | | ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); |
| | | return Date.from(zdt.toInstant()); |
| | | } |
| | |
| | | /** |
| | | * 增加 LocalDate ==> Date |
| | | */ |
| | | public static Date toDate(LocalDate temporalAccessor) |
| | | { |
| | | public static Date toDate(LocalDate temporalAccessor) { |
| | | LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); |
| | | ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); |
| | | return Date.from(zdt.toInstant()); |
| | |
| | | calendar.setTime(date); |
| | | return calendar.get(Calendar.MONTH) / 3 + 1; |
| | | } |
| | | |
| | | /** |
| | | * 指定日期所在季度的第一天/最后一天时间 |
| | | * |
| | |
| | | return LocalDate.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd")); |
| | | } |
| | | |
| | | /** |
| | | * 获取当前季度字符串 |
| | | * |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static String getNowQuarter() throws Exception { |
| | | //当前所在季度 |
| | | Date date = new Date(); |
| | | int quarterOfYear = getQuarterOfYear(date); |
| | | String quarterOfYearStr = null; |
| | | quarterOfYearStr = NumberDisplaceChineseUtil.numberToChinese(quarterOfYear); |
| | | LocalDate now = LocalDate.now(); |
| | | return String.format("%s年%s季度", now.getYear(), quarterOfYearStr); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.validate; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/8 |
| | | */ |
| | | public interface HistoryGroup { |
| | | } |
| | |
| | | @TableField("content") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "季度") |
| | | @TableField("quarter") |
| | | private String quarter; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableField("del_flag") |
| | | @TableLogic |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.system.domain.TbBasicDataConfig; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.vo.ScoreCalculateVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface TbBasicDataConfigMapper extends BaseMapper<TbBasicDataConfig> { |
| | | |
| | | Page<ScoreCalculateVO> scoreCalculatePage(@Param("query") ScoreCalculateQuery query, @Param("page") Page<ScoreCalculateVO> page); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.system.domain.TbBasicData; |
| | | import com.ruoyi.system.dto.CurrentFieldsQueryDTO; |
| | | import com.ruoyi.system.query.CurrentFieldsQuery; |
| | | import com.ruoyi.system.vo.CurrentFieldsVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | */ |
| | | public interface TbBasicDataMapper extends BaseMapper<TbBasicData> { |
| | | |
| | | Page<CurrentFieldsVO> fieldsStatics(@Param("page") Page<CurrentFieldsVO> page, @Param("dto") CurrentFieldsQueryDTO dto, @Param("nowQuarter") String nowQuarter); |
| | | Page<CurrentFieldsVO> fieldsStatics(@Param("page") Page<CurrentFieldsVO> page, @Param("dto") CurrentFieldsQuery dto); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.system.domain.TbScore; |
| | | import com.ruoyi.system.query.ScoreCalculateDetailQuery; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.vo.ScoreDetailVO; |
| | | import com.ruoyi.system.vo.ScoreVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | public interface TbScoreMapper extends BaseMapper<TbScore> { |
| | | |
| | | Page<ScoreVO> pageScore(@Param("query") ScoreQuery query, @Param("page") Page<ScoreVO> page); |
| | | |
| | | Page<ScoreDetailVO> scoreCalculateDetail(@Param("query") ScoreCalculateDetailQuery query, @Param("page") Page<ScoreDetailVO> page); |
| | | } |
copy from ruoyi-system/src/main/java/com/ruoyi/system/dto/CurrentFieldsQueryDTO.java
copy to ruoyi-system/src/main/java/com/ruoyi/system/query/CurrentFieldsQuery.java
File was copied from ruoyi-system/src/main/java/com/ruoyi/system/dto/CurrentFieldsQueryDTO.java |
| | |
| | | package com.ruoyi.system.dto; |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.enums.ReportingStatusEnum; |
| | | import com.ruoyi.common.validate.HistoryGroup; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | /** |
| | | * @author mitao |
| | |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel(value = "当前季度字段统计查询数据传输对象") |
| | | public class CurrentFieldsQueryDTO extends BasePage { |
| | | @ApiModel(value = "字段统计查询数据传输对象") |
| | | public class CurrentFieldsQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = 3808984599047049282L; |
| | | |
| | | @ApiModelProperty(value = "季度", notes = "当前季度数据不传,历史数据必传") |
| | | @NotBlank(message = "季度不能为空", groups = {HistoryGroup.class}) |
| | | private String quarter; |
| | | |
| | | @ApiModelProperty(value = "填报部门") |
| | | private String areaName; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | | private ReportingStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "负责人姓名") |
| | | private String personInCharge; |
| | | |
| | | @ApiModelProperty(value = "负责人联系电话)") |
| | | private String phoneNumber; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/3 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "历史数据条件查询对象") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class HistoryDataQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = -4384424407387142261L; |
| | | |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | @ApiModelProperty("开始时间") |
| | | private Date startTime; |
| | | |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | @ApiModelProperty("结束时间") |
| | | private Date endTime; |
| | | } |
| | | |
File was renamed from ruoyi-system/src/main/java/com/ruoyi/system/dto/CurrentFieldsQueryDTO.java |
| | |
| | | package com.ruoyi.system.dto; |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.enums.ReportingStatusEnum; |
| | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/7 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel(value = "当前季度字段统计查询数据传输对象") |
| | | public class CurrentFieldsQueryDTO extends BasePage { |
| | | @ApiModel(value = "历史数据字段统计条件查询对象") |
| | | public class HistoryFieldsQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = 3808984599047049282L; |
| | | |
| | | @ApiModelProperty(value = "季度") |
| | | @NotBlank(message = "季度不能为空") |
| | | private String quarter; |
| | | |
| | | @ApiModelProperty(value = "填报部门") |
| | | private String areaName; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | | private ReportingStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "负责人姓名") |
| | | private String personInCharge; |
| | | |
| | | @ApiModelProperty(value = "负责人联系电话)") |
| | | private String phoneNumber; |
| | | } |
File was renamed from ruoyi-system/src/main/java/com/ruoyi/system/dto/QuestionQueryDTO.java |
| | |
| | | package com.ruoyi.system.dto; |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel(value = "发现问题分页数据传输对象") |
| | | public class QuestionQueryDTO extends BasePage { |
| | | @ApiModel(value = "发现问题分页条件查询对象") |
| | | public class QuestionQuery extends BasePage { |
| | | private static final long serialVersionUID = -7645166269898895715L; |
| | | @ApiModelProperty("问题标题") |
| | | private String title; |
New file |
| | |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/8 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel("得分计算详情条件查询对象") |
| | | public class ScoreCalculateDetailQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = -4875926880229775128L; |
| | | |
| | | @ApiModelProperty(value = "计算类型id") |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "部门名称") |
| | | private String areaName; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.enums.FieldTypeEnum; |
| | | import com.ruoyi.common.validate.HistoryGroup; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/27 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel("得分计算条件查询对象") |
| | | public class ScoreCalculateQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = -1055887500656271053L; |
| | | |
| | | @ApiModelProperty(value = "季度", notes = "当前季度数据不传,历史数据必传") |
| | | @NotBlank(message = "季度不能为空", groups = {HistoryGroup.class}) |
| | | private String quarter; |
| | | |
| | | @ApiModelProperty(value = "类型名称") |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "计算方式") |
| | | private FieldTypeEnum type; |
| | | } |
| | |
| | | @ApiModel(value = "账户列表query") |
| | | public class SysUserQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = 3174324251882921880L; |
| | | |
| | | @ApiModelProperty(value = "姓名") |
| | | private String nickName; |
| | | |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.system.domain.TbBasicDataConfig; |
| | |
| | | import com.ruoyi.system.dto.ShowHideDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataConfigUpdateDTO; |
| | | import com.ruoyi.system.query.BasicDataConfigQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.vo.BasicDataConfigDetailVO; |
| | | import com.ruoyi.system.vo.BasicDataConfigVO; |
| | | import com.ruoyi.system.vo.ScoreCalculateVO; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | PageDTO<BasicDataConfigVO> queryPage(BasicDataConfigQuery query); |
| | | |
| | | void showHide(ShowHideDTO dto); |
| | | |
| | | Page<ScoreCalculateVO> scoreCalculatePage(ScoreCalculateQuery query, Page<ScoreCalculateVO> page); |
| | | } |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.system.domain.TbBasicData; |
| | | import com.ruoyi.system.dto.BasicDataDTO; |
| | | import com.ruoyi.system.dto.CurrentFieldsQueryDTO; |
| | | import com.ruoyi.system.query.CurrentFieldsQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.vo.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | |
| | | R<CurrentFieldsDetailVO> fieldsDetails(Long id); |
| | | |
| | | R<PageDTO<CurrentFieldsVO>> fieldsStatics(CurrentFieldsQueryDTO dto); |
| | | R<PageDTO<CurrentFieldsVO>> fieldsStatics(CurrentFieldsQuery dto) throws Exception; |
| | | |
| | | CurrentFieldsAllVO fieldsStaticsAll(); |
| | | CurrentFieldsAllVO fieldsStaticsAll() throws Exception; |
| | | |
| | | R<PageDTO<CurrentFieldsVO>> historyFieldsStatics(CurrentFieldsQuery dto); |
| | | |
| | | PageDTO<ScoreCalculateVO> scoreCalculatePage(ScoreCalculateQuery query); |
| | | |
| | | CurrentFieldsAllVO fieldsStaticsAll(String quarter); |
| | | } |
| | |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.system.domain.TbQuestion; |
| | | import com.ruoyi.system.dto.QuestionDTO; |
| | | import com.ruoyi.system.dto.QuestionQueryDTO; |
| | | import com.ruoyi.system.dto.QuestionUpdDto; |
| | | import com.ruoyi.system.query.QuestionQuery; |
| | | import com.ruoyi.system.vo.QuestionVO; |
| | | |
| | | /** |
| | |
| | | */ |
| | | public interface TbQuestionService extends IService<TbQuestion> { |
| | | |
| | | void addQuestion(QuestionDTO dto); |
| | | void addQuestion(QuestionDTO dto) throws Exception; |
| | | |
| | | void editQuestion(QuestionUpdDto dto); |
| | | |
| | | PageDTO<QuestionVO> pageQuestion(QuestionQueryDTO dto); |
| | | PageDTO<QuestionVO> pageQuestion(QuestionQuery dto); |
| | | } |
| | |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.system.domain.TbScore; |
| | | import com.ruoyi.system.query.HistoryScoreQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateDetailQuery; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.vo.ScoreCalculateDetailVO; |
| | | import com.ruoyi.system.vo.ScoreVO; |
| | | |
| | | /** |
| | |
| | | Page<ScoreVO> pageScore(ScoreQuery query, Page<ScoreVO> page); |
| | | |
| | | PageDTO<ScoreVO> getHistoryScore(HistoryScoreQuery query); |
| | | |
| | | ScoreCalculateDetailVO scoreCalculateDetail(ScoreCalculateDetailQuery query); |
| | | } |
| | |
| | | import com.ruoyi.system.mapper.TbBasicDataConfigMapper; |
| | | import com.ruoyi.system.mapper.TbFieldMapper; |
| | | import com.ruoyi.system.query.BasicDataConfigQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.service.TbBasicDataConfigDetailService; |
| | | import com.ruoyi.system.service.TbBasicDataConfigService; |
| | | import com.ruoyi.system.vo.BasicDataConfigDetailVO; |
| | | import com.ruoyi.system.vo.BasicDataConfigVO; |
| | | import com.ruoyi.system.vo.CalculateVO; |
| | | import com.ruoyi.system.vo.ScoreCalculateVO; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | } |
| | | this.lambdaUpdate().set( TbBasicDataConfig::getStatus, dto.getStatus()).eq(TbBasicDataConfig::getId, dto.getId()).update(); |
| | | } |
| | | |
| | | @Override |
| | | public Page<ScoreCalculateVO> scoreCalculatePage(ScoreCalculateQuery query, Page<ScoreCalculateVO> page) { |
| | | return baseMapper.scoreCalculatePage(query, page); |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.common.utils.*; |
| | | import com.ruoyi.system.domain.*; |
| | | import com.ruoyi.system.dto.BasicDataDTO; |
| | | import com.ruoyi.system.dto.CurrentFieldsQueryDTO; |
| | | import com.ruoyi.system.handler.CustomerHandler; |
| | | import com.ruoyi.system.handler.SelectedSheetWriteHandler; |
| | | import com.ruoyi.system.listener.BasicDataListener; |
| | | import com.ruoyi.system.mapper.TbBasicDataMapper; |
| | | import com.ruoyi.system.mapper.TbDeptMapper; |
| | | import com.ruoyi.system.query.CurrentFieldsQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateQuery; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.utils.FieldBuildUtil; |
| | |
| | | if (Objects.isNull(dept)) { |
| | | throw new ServiceException(String.format("区划代码%s不存在", deptAreaCode)); |
| | | } |
| | | //当前所在季度 |
| | | Date date = new Date(); |
| | | int quarterOfYear = DateUtils.getQuarterOfYear(date); |
| | | String quarterOfYearStr = NumberDisplaceChineseUtil.numberToChinese(quarterOfYear); |
| | | Map<String, Date> quarterDate = DateUtils.getQuarterDate(date); |
| | | //当前季度开始 |
| | | Date quarterStart = quarterDate.get("first"); |
| | |
| | | LocalDate quarterStartLocalDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate fifteenDaysLimit = quarterStartLocalDate.plusDays(15); |
| | | LocalDate now = LocalDate.now(); |
| | | vo.setQuarter(String.format("%s年%s季度",now.getYear(),quarterOfYearStr)); |
| | | vo.setQuarter(DateUtils.getNowQuarter()); |
| | | vo.setStatus(ReportingStatusEnum.UNFILLED); |
| | | //如果当前时间不在规定范围内:季度初1-15号 |
| | | if (now.isBefore(quarterStartLocalDate) || now.isAfter(fifteenDaysLimit)) { |
| | |
| | | vo.setFields(roots); |
| | | } |
| | | if (Objects.isNull(basicData)) { |
| | | vo.setQuarter(String.format("%s年%s季度",now.getYear(),quarterOfYearStr)); |
| | | vo.setQuarter(DateUtils.getNowQuarter()); |
| | | vo.setStatus(ReportingStatusEnum.UNFILLED); |
| | | return R.ok(vo); |
| | | }else { |
| | |
| | | |
| | | /** |
| | | * 根据字段名获取该字段下标 |
| | | * |
| | | * @param list 表头 |
| | | * @param value 字段名 |
| | | * @return 下标 |
| | |
| | | private List<List<Object>> dataList(List<TbField> list) throws Exception { |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | String areaName = loginUser.getUser().getAreaName(); |
| | | |
| | | //当前所在季度 |
| | | int quarterOfYear = DateUtils.getQuarterOfYear(new Date()); |
| | | String quarterOfYearStr = NumberDisplaceChineseUtil.numberToChinese(quarterOfYear); |
| | | List<List<Object>> excellist = new ArrayList<List<Object>>(); |
| | | List<List<String>> head = head(list); |
| | | List<Object> columnNo = Lists.newArrayList("栏号"); |
| | |
| | | columnNo.add(String.valueOf(i)); |
| | | } |
| | | excellist.add(columnNo); |
| | | excellist.add(Lists.newArrayList(areaName, String.format("%s季度",quarterOfYearStr))); |
| | | excellist.add(Lists.newArrayList(areaName, DateUtils.getNowQuarter())); |
| | | return excellist; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R<PageDTO<CurrentFieldsVO>> fieldsStatics(CurrentFieldsQueryDTO dto) { |
| | | public R<PageDTO<CurrentFieldsVO>> fieldsStatics(CurrentFieldsQuery dto) throws Exception { |
| | | Page<CurrentFieldsVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); |
| | | //当前所在季度 |
| | | Date date = new Date(); |
| | | int quarterOfYear = DateUtils.getQuarterOfYear(date); |
| | | String quarterOfYearStr = null; |
| | | try { |
| | | quarterOfYearStr = NumberDisplaceChineseUtil.numberToChinese(quarterOfYear); |
| | | LocalDate now = LocalDate.now(); |
| | | String nowQuarter = String.format("%s年%s季度", now.getYear(), quarterOfYearStr); |
| | | return R.ok(PageDTO.of(baseMapper.fieldsStatics(page, dto, nowQuarter))); |
| | | } catch (Exception e) { |
| | | log.error("查询失败", e); |
| | | return R.fail("查询失败"); |
| | | } |
| | | String nowQuarter = DateUtils.getNowQuarter(); |
| | | return R.ok(PageDTO.of(baseMapper.fieldsStatics(page, dto))); |
| | | } |
| | | |
| | | @Override |
| | | public CurrentFieldsAllVO fieldsStaticsAll() { |
| | | public CurrentFieldsAllVO fieldsStaticsAll() throws Exception { |
| | | CurrentFieldsAllVO vo = new CurrentFieldsAllVO(); |
| | | List<FieldsTreeVO> roots = new ArrayList<>(); |
| | | //获取表头 |
| | |
| | | currentGdp.setName("当期GDP"); |
| | | roots.add(area); |
| | | roots.add(quarter); |
| | | roots.add(transferPaymentScale); |
| | | roots.add(currentGdp); |
| | | //当前所在季度 |
| | | Date date = new Date(); |
| | | int quarterOfYear = DateUtils.getQuarterOfYear(date); |
| | | try { |
| | | //查询当前季度填写字段 |
| | | List<TbField> fieldList = tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list(); |
| | | FieldBuildUtil.buildTreeFromTbFieldList(fieldList, roots); |
| | |
| | | remark.setName("备注"); |
| | | roots.add(remark); |
| | | vo.setFields(roots); |
| | | String quarterOfYearStr = NumberDisplaceChineseUtil.numberToChinese(quarterOfYear); |
| | | String nowQuarter = String.format("%s年%s季度", LocalDate.now().getYear(), quarterOfYearStr); |
| | | String nowQuarter = DateUtils.getNowQuarter(); |
| | | //查询上报的基础数据 |
| | | List<TbBasicData> basicDataList = this.lambdaQuery() |
| | | .eq(TbBasicData::getQuarter, nowQuarter) |
| | |
| | | vo.setValue(result); |
| | | } |
| | | return vo; |
| | | } catch (Exception e) { |
| | | log.error("查询失败", e); |
| | | throw new ServiceException("查询失败"); |
| | | } |
| | | |
| | | @Override |
| | | public R<PageDTO<CurrentFieldsVO>> historyFieldsStatics(CurrentFieldsQuery dto) { |
| | | Page<CurrentFieldsVO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); |
| | | //当前所在季度 |
| | | return R.ok(PageDTO.of(baseMapper.fieldsStatics(page, dto))); |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<ScoreCalculateVO> scoreCalculatePage(ScoreCalculateQuery query) { |
| | | Page<ScoreCalculateVO> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<ScoreCalculateVO> pageVO = tbBasicDataConfigService.scoreCalculatePage(query, page); |
| | | return PageDTO.of(pageVO); |
| | | } |
| | | |
| | | @Override |
| | | public CurrentFieldsAllVO fieldsStaticsAll(String quarterStr) { |
| | | CurrentFieldsAllVO vo = new CurrentFieldsAllVO(); |
| | | List<FieldsTreeVO> roots = new ArrayList<>(); |
| | | //获取表头 |
| | | FieldsTreeVO area = new FieldsTreeVO(); |
| | | area.setCategory(Boolean.FALSE); |
| | | area.setName("地区"); |
| | | FieldsTreeVO quarter = new FieldsTreeVO(); |
| | | quarter.setCategory(Boolean.FALSE); |
| | | quarter.setName("填报季度"); |
| | | FieldsTreeVO transferPaymentScale = new FieldsTreeVO(); |
| | | transferPaymentScale.setName("转移支付规模"); |
| | | FieldsTreeVO currentGdp = new FieldsTreeVO(); |
| | | currentGdp.setCategory(Boolean.FALSE); |
| | | currentGdp.setName("当期GDP"); |
| | | roots.add(area); |
| | | roots.add(quarter); |
| | | roots.add(transferPaymentScale); |
| | | roots.add(currentGdp); |
| | | List<TbBasicData> basicDataList = this.lambdaQuery() |
| | | .eq(TbBasicData::getQuarter, quarterStr) |
| | | .eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED) |
| | | .list(); |
| | | if (CollUtils.isNotEmpty(basicDataList)) { |
| | | throw new ServiceException("非法参数"); |
| | | } |
| | | Long basicDataId = basicDataList.get(0).getId(); |
| | | Set<Long> fieldIds = tbBasicDataFieldService.lambdaQuery() |
| | | .eq(TbBasicDataField::getBasicDataId, basicDataId) |
| | | .ne(TbBasicDataField::getFieldId, -1L) |
| | | .ne(TbBasicDataField::getFieldId, -2L) |
| | | .list().stream().map(TbBasicDataField::getFieldId).collect(Collectors.toSet()); |
| | | List<TbField> fieldList = tbFieldService.lambdaQuery().in(TbField::getId, fieldIds).list(); |
| | | if (CollUtils.isEmpty(fieldList)) { |
| | | FieldsTreeVO remark = new FieldsTreeVO(); |
| | | remark.setCategory(Boolean.FALSE); |
| | | remark.setName("备注"); |
| | | roots.add(remark); |
| | | vo.setFields(roots); |
| | | return vo; |
| | | } |
| | | FieldBuildUtil.buildTreeFromTbFieldList(fieldList, roots); |
| | | FieldsTreeVO remark = new FieldsTreeVO(); |
| | | remark.setCategory(Boolean.FALSE); |
| | | remark.setName("备注"); |
| | | roots.add(remark); |
| | | vo.setFields(roots); |
| | | Set<String> areaCodeList = basicDataList.stream() |
| | | .map(TbBasicData::getDeptAreaCode) |
| | | .collect(Collectors.toSet()); |
| | | Map<String, SysUser> userMap = sysUserService.lambdaQuery() |
| | | .in(SysUser::getAreaCode, areaCodeList) |
| | | .list() |
| | | .stream() |
| | | .collect(Collectors.toMap(SysUser::getAreaCode, e -> e)); |
| | | Set<Long> basicDataIds = basicDataList.stream().map(TbBasicData::getId).collect(Collectors.toSet()); |
| | | Map<Long, TbBasicDataField> basicDataFieldMap = tbBasicDataFieldService.lambdaQuery() |
| | | .in(TbBasicDataField::getBasicDataId, basicDataIds).list().stream() |
| | | .collect(Collectors.toMap(TbBasicDataField::getFieldId, e -> e)); |
| | | //值 |
| | | List<Object> result = new ArrayList<>(); |
| | | for (TbBasicData tbBasicData : basicDataList) { |
| | | SysUser user = userMap.get(tbBasicData.getDeptAreaCode()); |
| | | List<String> item = new ArrayList<>(); |
| | | item.add(Objects.nonNull(user) ? user.getAreaName() : ""); |
| | | item.add(tbBasicData.getQuarter()); |
| | | item.add(tbBasicData.getTransferPaymentScale()); |
| | | item.add(tbBasicData.getCurrentGdp()); |
| | | for (TbField tbField : fieldList) { |
| | | TbBasicDataField tbBasicDataField = basicDataFieldMap.get(tbField.getId()); |
| | | item.add(Objects.nonNull(tbBasicDataField) ? FieldBuildUtil.formatNumberWithCommas(tbBasicDataField.getFieldValue()) : ""); |
| | | } |
| | | item.add(tbBasicData.getRemark()); |
| | | result.add(item); |
| | | } |
| | | vo.setValue(result); |
| | | return vo; |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.domain.TbQuestion; |
| | | import com.ruoyi.system.dto.QuestionDTO; |
| | | import com.ruoyi.system.dto.QuestionQueryDTO; |
| | | import com.ruoyi.system.dto.QuestionUpdDto; |
| | | import com.ruoyi.system.mapper.TbQuestionMapper; |
| | | import com.ruoyi.system.query.QuestionQuery; |
| | | import com.ruoyi.system.service.TbQuestionService; |
| | | import com.ruoyi.system.vo.QuestionVO; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | public class TbQuestionServiceImpl extends ServiceImpl<TbQuestionMapper, TbQuestion> implements TbQuestionService { |
| | | |
| | | @Override |
| | | public void addQuestion(QuestionDTO dto) { |
| | | public void addQuestion(QuestionDTO dto) throws Exception { |
| | | TbQuestion tbQuestion = BeanUtils.copyBean(dto, TbQuestion.class); |
| | | tbQuestion.setQuarter(DateUtils.getNowQuarter()); |
| | | this.save(tbQuestion); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<QuestionVO> pageQuestion(QuestionQueryDTO dto) { |
| | | public PageDTO<QuestionVO> pageQuestion(QuestionQuery dto) { |
| | | Page<TbQuestion> page = this.lambdaQuery() |
| | | .like(StringUtils.isNotBlank(dto.getTitle()), TbQuestion::getTitle, dto.getTitle()) |
| | | .page(new Page<>(dto.getPageNum(), dto.getPageSize())); |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.system.domain.TbBasicDataConfig; |
| | | import com.ruoyi.system.domain.TbScore; |
| | | import com.ruoyi.system.mapper.TbScoreMapper; |
| | | import com.ruoyi.system.query.HistoryScoreQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateDetailQuery; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.service.TbBasicDataConfigService; |
| | | import com.ruoyi.system.service.TbScoreService; |
| | | import com.ruoyi.system.vo.ScoreCalculateDetailVO; |
| | | import com.ruoyi.system.vo.ScoreDetailVO; |
| | | import com.ruoyi.system.vo.ScoreVO; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | public class TbScoreServiceImpl extends ServiceImpl<TbScoreMapper, TbScore> implements TbScoreService { |
| | | private final TbBasicDataConfigService basicDataConfigService; |
| | | |
| | | @Override |
| | | public Page<ScoreVO> pageScore(ScoreQuery query, Page<ScoreVO> page) { |
| | |
| | | Page<ScoreVO> scoreVOPage = baseMapper.pageScore(scoreQuery, new Page<>(query.getPageNum(), query.getPageSize())); |
| | | return PageDTO.of(scoreVOPage); |
| | | } |
| | | |
| | | @Override |
| | | public ScoreCalculateDetailVO scoreCalculateDetail(ScoreCalculateDetailQuery query) { |
| | | //查询计算类型 |
| | | TbBasicDataConfig config = basicDataConfigService.getById(query.getId()); |
| | | if (Objects.isNull(config)) { |
| | | throw new ServiceException("非法参数"); |
| | | } |
| | | ScoreCalculateDetailVO vo = new ScoreCalculateDetailVO(); |
| | | vo.setTypeName(config.getTypeName()); |
| | | vo.setCalculateType(config.getCalculateType()); |
| | | Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | |
| | | Page<ScoreDetailVO> pageVO = baseMapper.scoreCalculateDetail(query, page); |
| | | vo.setVo(PageDTO.of(pageVO)); |
| | | return vo; |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.annotation.JsonInclude; |
| | | import com.ruoyi.common.enums.ReportingStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | |
| | | @ApiModelProperty(value = "填报时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
| | | @JsonInclude(JsonInclude.Include.ALWAYS) |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.annotation.JsonInclude; |
| | | import com.ruoyi.common.enums.ReportingStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | * @date 2024/4/7 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "当前季度数据-字段统计视图对象") |
| | | @ApiModel(value = "当前季度/历史 数据-字段统计视图对象") |
| | | public class CurrentFieldsVO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 8678843789669990102L; |
| | | |
| | | @ApiModelProperty(value = "基础数据id") |
| | | @JsonInclude(JsonInclude.Include.ALWAYS) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "季度") |
| | |
| | | |
| | | @ApiModelProperty(value = "填报时间") |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
| | | @JsonInclude(JsonInclude.Include.ALWAYS) |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | |
| | | * @author mitao |
| | | * @date 2024/4/7 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "问题视图对象") |
| | | public class QuestionVO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -7560198211729183682L; |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/8 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "问题视图对象") |
| | | public class ScoreCalculateDetailVO { |
| | | @ApiModelProperty("得分记录") |
| | | PageDTO<ScoreDetailVO> vo; |
| | | @ApiModelProperty("类型名称") |
| | | private String typeName; |
| | | @ApiModelProperty("计算方式") |
| | | private CalculateTypeEnum calculateType; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/4/8 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "得分计算视图对象") |
| | | public class ScoreCalculateVO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -3494443292552087083L; |
| | | |
| | | @ApiModelProperty(value = "计算类型id") |
| | | private Long id; |
| | | |
| | | @ApiModelProperty("类型名称") |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty("计算方式") |
| | | private CalculateTypeEnum calculateType; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ScoreDetailVO { |
| | | @ApiModelProperty(value = "填报部门") |
| | | private String areaName; |
| | | |
| | | @ApiModelProperty(value = "负责人姓名") |
| | | private String personInCharge; |
| | | |
| | | @ApiModelProperty(value = "负责人联系电话)") |
| | | private String phoneNumber; |
| | | |
| | | @ApiModelProperty("得分") |
| | | private Double score; |
| | | } |
| | |
| | | <sql id="Base_Column_List"> |
| | | id, basic_data_category_id, type_name, field_description, calculate_type, number_calculate_formula, field_id_str, status, del_flag, create_by, create_time, update_by, update_time |
| | | </sql> |
| | | <select id="scoreCalculatePage" resultType="com.ruoyi.system.vo.ScoreCalculateVO"> |
| | | SELECT tdc.id, |
| | | tdc.type_name, |
| | | tdc.calculate_type |
| | | FROM tb_score ts |
| | | LEFT JOIN tb_basic_data tbd ON ts.basic_data_id = tbd.id |
| | | LEFT JOIN tb_basic_data_config tdc ON ts.basic_data_config_id = tdc.id |
| | | <where> |
| | | tbd.`quarter` = #{query.quarter} |
| | | <if test="query.typeName !=null and query.typeName != ''"> |
| | | AND tdc.type_name LIKE CONCAT('%',#{query.typeName},'%') |
| | | </if> |
| | | <if test="query.type !=null"> |
| | | AND tdc.calculate_type LIKE CONCAT('%',#{query.type},'%') |
| | | </if> |
| | | </where> |
| | | GROUP BY tdc.type_name |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | </sql> |
| | | <select id="fieldsStatics" resultType="com.ruoyi.system.vo.CurrentFieldsVO"> |
| | | SELECT |
| | | tbd.id, |
| | | su.area_name, |
| | | IF(tbd.`quarter` IS NULL, CONCAT(YEAR(NOW()), '年', |
| | | CASE |
| | |
| | | tbd.create_time, |
| | | COALESCE(tbd.`status`, 1) AS `status` |
| | | FROM |
| | | (SELECT * FROM sys_user WHERE user_type = 2) su |
| | | (SELECT * FROM sys_user WHERE user_type = 2) AS su |
| | | LEFT JOIN |
| | | (SELECT * FROM tb_basic_data WHERE `quarter` = #{nowQuarter}) tbd ON su.area_code = tbd.dept_area_code |
| | | (SELECT * FROM tb_basic_data WHERE `quarter` = #{dto.quarter}) AS tbd ON su.area_code = tbd.dept_area_code |
| | | <where> |
| | | <if test="nowQuarter != null and nowQuarter !=''"> |
| | | tbd.quarter LIKE CONCAT('%',#{nowQuarter},'%') |
| | | </if> |
| | | tbd.quarter = #{dto.quarter} |
| | | <if test="dto.areaName != null and dto.areaName !=''"> |
| | | su.area_name LIKE CONCAT('%',#{dto.areaName},'%') |
| | | AND su.area_name LIKE CONCAT('%',#{dto.areaName},'%') |
| | | </if> |
| | | <if test="dto.status != null and dto.status !=''"> |
| | | tbd.status = #{dto.status} |
| | | <if test="dto.status != null"> |
| | | AND tbd.status = #{dto.status} |
| | | </if> |
| | | <if test="dto.personInCharge != null and dto.personInCharge !=''"> |
| | | su.person_in_charge LIKE CONCAT('%',#{dto.personInCharge},'%') |
| | | AND su.person_in_charge LIKE CONCAT('%',#{dto.personInCharge},'%') |
| | | </if> |
| | | <if test="dto.phoneNumber != null and dto.phoneNumber != ''"> |
| | | su.phone_number LIKE CONCAT('%',#{dto.phoneNumber},'%') |
| | | AND su.phone_number LIKE CONCAT('%',#{dto.phoneNumber},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | |
| | | <result column="title" property="title" /> |
| | | <result column="content" property="content" /> |
| | | <result column="del_flag" property="delFlag" /> |
| | | <result column="quarter" property="quarter"/> |
| | | <result column="create_by" property="createBy" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="update_by" property="updateBy" /> |
| | |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, title, content, del_flag, create_by, create_time, update_by, update_time |
| | | id, title, content, del_flag,`quarter`, create_by, create_time, update_by, update_time |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | AND tbdc.calculate_type = #{query.type} |
| | | </if> |
| | | |
| | | </select> |
| | | <select id="scoreCalculateDetail" resultType="com.ruoyi.system.vo.ScoreDetailVO"> |
| | | SELECT |
| | | su.area_name, |
| | | ts.score, |
| | | su.person_in_charge, |
| | | su.phone_number |
| | | FROM tb_score ts |
| | | LEFT JOIN tb_basic_data tbd ON ts.basic_data_id = tbd.id |
| | | LEFT JOIN sys_user su ON tbd.dept_area_code = su.area_code |
| | | <where> |
| | | ts.basic_data_config_id = #{query.id} |
| | | <if test="query.areaName != null and query.areaName != ''"> |
| | | AND su.area_name LIKE CONCAT('%',#{query.areaName},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | </mapper> |