UniversalServiceImpl.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.steerinfo.dil.service.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.steerinfo.dil.feign.AmsFeign;
  4. import com.steerinfo.dil.mapper.DilRoleOrgcodeTableMapper;
  5. import com.steerinfo.dil.mapper.DilTableColumnRoleMapper;
  6. import com.steerinfo.dil.mapper.UniversalMapper;
  7. import com.steerinfo.dil.model.DilRoleOrgcodeTable;
  8. import com.steerinfo.dil.service.UniversalService;
  9. import com.steerinfo.dil.util.DataChange;
  10. import com.steerinfo.dil.util.HTTPRequestUtils;
  11. import org.apache.commons.codec.digest.DigestUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.scheduling.annotation.EnableAsync;
  14. import org.springframework.scheduling.annotation.EnableScheduling;
  15. import org.springframework.stereotype.Service;
  16. import javax.annotation.Resource;
  17. import java.io.IOException;
  18. import java.math.BigDecimal;
  19. import java.util.*;
  20. /**
  21. * @ author :TXF
  22. * @ time :2021/10/19 18:05
  23. */
  24. @Service
  25. @EnableScheduling
  26. @EnableAsync
  27. public class UniversalServiceImpl implements UniversalService {
  28. @Resource
  29. private UniversalMapper universalMapper;
  30. @Resource
  31. private DilRoleOrgcodeTableMapper dilRoleOrgcodeTableMapper;
  32. @Resource
  33. private DilTableColumnRoleMapper dilTableColumnRoleMapper;
  34. @Autowired
  35. private AmsFeign amsFeign;
  36. @Override
  37. public Map<String, Object> getColumnShowHidden(Map<String, Object> map) {
  38. Map<String, Object> responseMap = new HashMap<>();
  39. List<Map<String, Object>> columnShowData = universalMapper.getColumnShowData(map);
  40. List<Map<String, Object>> columnAllData = universalMapper.getColumnAllData(map);
  41. List<String> columnHiddenData = universalMapper.getColumnHiddenData(map);
  42. responseMap.put("columnShowData", columnShowData);
  43. responseMap.put("columnAllData", columnAllData);
  44. responseMap.put("columnHiddenData", columnHiddenData);
  45. return responseMap;
  46. }
  47. @Override
  48. public synchronized int updateColumnShowHidden(Map<String, Object> map) {
  49. int i = 0;
  50. //首先删除原来的列
  51. if ("默认方案".equals(map.get("schemeName"))) {
  52. dilRoleOrgcodeTableMapper.updateEnableStatus(map);
  53. return 0;
  54. }
  55. i += dilRoleOrgcodeTableMapper.deleteSchmenLColumnData(map);
  56. List<String> columnHiddenData = (List<String>) map.get("columnHiddenData");
  57. List<DilRoleOrgcodeTable> mapList = new ArrayList<>();
  58. for (String s : columnHiddenData) {
  59. DilRoleOrgcodeTable dilRoleOrgcodeTable = new DilRoleOrgcodeTable();
  60. BigDecimal columnId = dilTableColumnRoleMapper.selectColumnId(s, map.get("tableName").toString());
  61. dilRoleOrgcodeTable.setColumnId(columnId);
  62. dilRoleOrgcodeTable.setUserName(map.get("userName").toString());
  63. dilRoleOrgcodeTable.setOrgCode(map.get("orgCode").toString());
  64. dilRoleOrgcodeTable.setEnableStatus(new BigDecimal(1));
  65. dilRoleOrgcodeTable.setPrimaryName(map.get("schemeName").toString());
  66. dilRoleOrgcodeTable.setPrimaryId(dilRoleOrgcodeTableMapper.getPrimaryId());
  67. mapList.add(dilRoleOrgcodeTable);
  68. }
  69. //将该用户的所有方案都变成未启用状
  70. dilRoleOrgcodeTableMapper.updateEnableStatus(map);
  71. if (mapList.size() > 0) {
  72. //然后再批量新增进去
  73. i += dilRoleOrgcodeTableMapper.batchInsert(mapList);
  74. }
  75. return i;
  76. }
  77. @Override
  78. public Map<String, Object> getColumShowHideScheme(Map<String, Object> map) {
  79. Map<String, Object> responseMap = new HashMap<>();
  80. List<Map<String, Object>> schemeList = new ArrayList<>();
  81. //每一个map;
  82. Map<String, Object> schemeMap = new HashMap<>();
  83. //作为传值用的map
  84. Map<String, Object> attrMap = new HashMap<>();
  85. //当前启用状态的值
  86. String activeName = "默认方案";
  87. //以下是方案的标题和名字
  88. schemeMap.put("title", "默认方案");
  89. schemeMap.put("name", "默认方案");
  90. //以下是方案的显示数据和隐藏数据
  91. List<Map<String, Object>> columnAllData = universalMapper.getColumnAllData(map);
  92. schemeMap.put("columnAllData", columnAllData);
  93. responseMap.put("columnAllData", columnAllData);
  94. attrMap.put("tableName", map.get("tableName"));
  95. map.put("schemeName", activeName);
  96. List<String> columnHiddenData = universalMapper.getColumnHiddenData(map);
  97. schemeMap.put("columnHiddenData", columnHiddenData);
  98. schemeList.add(schemeMap);
  99. responseMap.put("activeName", activeName);
  100. responseMap.put("columnHiddenData", columnHiddenData);
  101. //然后根据用户名和报表名称,去查询方案名称和启用状态
  102. List<Map<String, Object>> schemeMapAnotherData = universalMapper.getColumnAllScheme(map);
  103. for (Map<String, Object> schemeMapAnotherDataMap : schemeMapAnotherData) {
  104. Map<String, Object> itemMap = new HashMap<>();
  105. itemMap.put("title", schemeMapAnotherDataMap.get("schemeName"));
  106. itemMap.put("name", schemeMapAnotherDataMap.get("schemeName"));
  107. itemMap.put("columnAllData", columnAllData);
  108. List<String> itemColumnHiddenData = universalMapper.getColumnHiddenData(schemeMapAnotherDataMap);
  109. itemMap.put("columnHiddenData", itemColumnHiddenData);
  110. schemeList.add(itemMap);
  111. if (DataChange.dataToBigDecimal(schemeMapAnotherDataMap.get("enableStatus")).compareTo(new BigDecimal(1)) == 0) {
  112. responseMap.put("activeName", schemeMapAnotherDataMap.get("schemeName"));
  113. responseMap.put("columnHiddenData", itemColumnHiddenData);
  114. }
  115. }
  116. responseMap.put("schemeList", schemeList);
  117. return responseMap;
  118. }
  119. }