| | |
| | | import com.ruoyi.system.mapper.TbDeptMapper; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.utils.FieldBuildUtil; |
| | | import com.ruoyi.system.vo.BasicDataReportingVO; |
| | | import com.ruoyi.system.vo.FieldReportingVO; |
| | | import com.ruoyi.system.vo.FieldsTreeVO; |
| | | import com.ruoyi.system.vo.ScoreVO; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | private final TbScoreService tbScoreService; |
| | | |
| | | @Override |
| | | public R<BasicDataReportingVO> getBasicFields(String deptAreaCode) throws Exception { |
| | | public R<BasicDataReportingVO> getBasicFields() throws Exception { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | String deptAreaCode = user.getAreaCode(); |
| | | BasicDataReportingVO vo = new BasicDataReportingVO(); |
| | | //校验区划代码 |
| | | TbDept dept = tbDeptMapper.selectOne(Wrappers.<TbDept>lambdaQuery().eq(TbDept::getAreaCode, deptAreaCode)); |
| | |
| | | .between(TbBasicData::getCreateTime, quarterStart,quarterEnd)); |
| | | //查询需要填写的字段 |
| | | List<TbField> list = tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list(); |
| | | List<FieldsTreeVO> roots = new ArrayList<>(); |
| | | FieldsTreeVO fieldsTreeVO = new FieldsTreeVO(); |
| | | fieldsTreeVO.setId(-1L); |
| | | fieldsTreeVO.setName("转移支付规模"); |
| | | fieldsTreeVO.setCategory(Boolean.FALSE); |
| | | FieldsTreeVO fieldsTreeVO2 = new FieldsTreeVO(); |
| | | fieldsTreeVO2.setId(-2L); |
| | | fieldsTreeVO2.setName("当期GDP"); |
| | | fieldsTreeVO2.setCategory(Boolean.FALSE); |
| | | roots.add(fieldsTreeVO); |
| | | roots.add(fieldsTreeVO2); |
| | | if (CollUtils.isNotEmpty(list)) { |
| | | List<FieldReportingVO> fieldReportingVOS = BeanUtils.copyList(list, FieldReportingVO.class); |
| | | vo.setFields(fieldReportingVOS); |
| | | FieldBuildUtil.buildTreeFromTbFieldList(list,roots); |
| | | vo.setFields(roots); |
| | | } |
| | | if (Objects.isNull(basicData)) { |
| | | vo.setQuarter(String.format("%s年%s季度",now.getYear(),quarterOfYearStr)); |
| | |
| | | //查询已填报数据 包含数据缺失和已填报 |
| | | List<TbBasicDataField> basicDataFields = tbBasicDataFieldService.lambdaQuery() |
| | | .eq(TbBasicDataField::getBasicDataId, basicData.getId()).list(); |
| | | |
| | | if (CollUtils.isNotEmpty(basicDataFields)) { |
| | | Map<Long, TbBasicDataField> fieldMap = basicDataFields.stream() |
| | | .collect(Collectors.toMap(TbBasicDataField::getFieldId, Function.identity())); |
| | | vo.getFields().forEach(item -> { |
| | | TbBasicDataField tbBasicDataField = fieldMap.get(item.getId()); |
| | | if (Objects.nonNull(tbBasicDataField)) { |
| | | item.setValue(tbBasicDataField.getFieldValue()); |
| | | } |
| | | }); |
| | | setFieldValues(vo.getFields(), fieldMap); |
| | | return R.ok(vo); |
| | | } |
| | | } |
| | | return R.ok(vo); |
| | | } |
| | | public static void setFieldValues(List<FieldsTreeVO> fields, Map<Long, TbBasicDataField> fieldMap) { |
| | | for (FieldsTreeVO field : fields) { |
| | | TbBasicDataField tbBasicDataField = fieldMap.get(field.getId()); |
| | | if (tbBasicDataField != null) { |
| | | field.setValue(tbBasicDataField.getFieldValue()); |
| | | } |
| | | if (field.getChildren() != null && !field.getChildren().isEmpty()) { |
| | | setFieldValues(field.getChildren(), fieldMap); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | this.saveOrUpdate(tbBasicData); |
| | | //保存基础数据动态字段数据 |
| | | List<TbBasicDataField> tbBasicDataFields = BeanUtils.copyList(dto.getFields(), TbBasicDataField.class); |
| | | tbBasicDataFields.forEach(item -> item.setBasicDataId(tbBasicData.getId())); |
| | | //查询需要填写的动态字段 |
| | | List<TbField> fieldList = tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list(); |
| | | Map<Long, TbField> fieldMap = fieldList.stream().collect(Collectors.toMap(TbField::getId, e -> e)); |
| | | tbBasicDataFields.forEach(item -> { |
| | | item.setBasicDataId(tbBasicData.getId()); |
| | | TbField tbField = fieldMap.get(item.getFieldId()); |
| | | if (Objects.nonNull(tbField)) { |
| | | item.setFieldName(tbField.getFieldName()); |
| | | } |
| | | }); |
| | | //添加固定字段 转移支付规模、当期GDP |
| | | TbBasicDataField transferPaymentScale = new TbBasicDataField(); |
| | | transferPaymentScale.setBasicDataId(tbBasicData.getId()); |
| | |
| | | } |
| | | return -1; // 返回-1表示未找到 |
| | | } |
| | | |
| | | private List<List<Object>> dataList(List<TbField> list) throws Exception { |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | String areaName = loginUser.getUser().getAreaName(); |
| | |
| | | headTitles.add(Lists.newArrayList("备注")); |
| | | return headTitles; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void importBasicData(MultipartFile file) throws Exception { |
| | |
| | | tbFieldService,areaCode,tbBasicDataFieldService,tbBasicDataConfigService, |
| | | tbBasicDataConfigDetailService,tbScoreService)).sheet().doRead(); |
| | | } |
| | | |
| | | private void calculateScore(TbBasicData tbBasicData) { |
| | | //计算得分 |
| | | List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getStatus, ShowStatusEnum.SHOW).list(); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<ScoreVO> pageScore(ScoreQuery query) { |
| | | Page<ScoreVO> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | |
| | | } |
| | | query.setBasicDataId(basicData.getId()); |
| | | //查询对应的基础数据配置 |
| | | List<ScoreVO> vos = tbScoreService.pageScore(query,page); |
| | | return PageDTO.of(page, vos); |
| | | Page<ScoreVO> pageVO = tbScoreService.pageScore(query,page); |
| | | return PageDTO.of(pageVO); |
| | | } |
| | | } |