You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
6.2 KiB

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. package in.gov.chennaicorporation.gccoffice.school.Service;
  2. import java.util.Collections;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.stream.Collectors;
  7. import javax.sql.DataSource;
  8. import javax.transaction.Transactional;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.beans.factory.annotation.Qualifier;
  11. import org.springframework.dao.DataAccessException;
  12. import org.springframework.jdbc.core.JdbcTemplate;
  13. import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
  14. import org.springframework.stereotype.Service;
  15. @Service
  16. public class DropdownsService {
  17. private JdbcTemplate jdbcTemplate;
  18. // @Autowired
  19. private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
  20. @Autowired
  21. public void setDataSourcemysql(@Qualifier("mysqlSchoolDataSource") DataSource dataSource) {
  22. this.jdbcTemplate = new JdbcTemplate(dataSource);
  23. this.namedParameterJdbcTemplate= new NamedParameterJdbcTemplate(dataSource);
  24. }
  25. @Transactional
  26. public List<Map<String, Object>> getCourtData() {
  27. String sql = "SELECT * FROM courts_master ";
  28. return jdbcTemplate.queryForList(sql);
  29. }
  30. @Transactional
  31. public List<Map<String, Object>> getEquipmentData() {
  32. String sql = "SELECT * FROM equipment_master ";
  33. return jdbcTemplate.queryForList(sql);
  34. }
  35. @Transactional
  36. public List<Map<String, Object>> getBuildingMaterial() {
  37. String sql = "SELECT * FROM building_material_master ORDER BY execution_order";
  38. return jdbcTemplate.queryForList(sql);
  39. }
  40. @Transactional
  41. public List<Map<String, Object>> getRoofMaterial() {
  42. String sql = "SELECT * FROM roof_material_master ORDER BY execution_order";
  43. return jdbcTemplate.queryForList(sql);
  44. }
  45. @Transactional
  46. public List<Map<String, Object>> getWaterSource() {
  47. String sql = "SELECT * FROM source_water ORDER BY execution_order";
  48. return jdbcTemplate.queryForList(sql);
  49. }
  50. @Transactional
  51. public List<Map<String, Object>> getWaterStorage() {
  52. String sql = "SELECT * FROM water_storage_master ORDER BY execution_order";
  53. return jdbcTemplate.queryForList(sql);
  54. }
  55. @Transactional
  56. public List<Map<String, Object>> getRooms() {
  57. String sql = "SELECT * FROM room_master ORDER BY execution_order";
  58. return jdbcTemplate.queryForList(sql);
  59. }
  60. @Transactional
  61. public List<Map<String, Object>> getFloorsByBuilding(int buildingId) {
  62. String sql = "SELECT * FROM floor_list WHERE building_id = ? and is_active = true and is_delete = false";
  63. return jdbcTemplate.queryForList(sql, buildingId);
  64. }
  65. @Transactional
  66. public List<Map<String, Object>> getBuildingsBySchoolId(int schoolId) {
  67. String sql = "SELECT buildng_id, building_name FROM buildings WHERE school_id = ? and is_active = true and is_delete = false";
  68. return jdbcTemplate.queryForList(sql, schoolId);
  69. }
  70. // Reuse this for school_id retrieval
  71. @Transactional
  72. public String getSchoolId(String user_id) {
  73. String sql = "SELECT school_id FROM login_details WHERE user_id = ?";
  74. try {
  75. return jdbcTemplate.queryForObject(sql, String.class, user_id);
  76. } catch (DataAccessException e) {
  77. return "error";
  78. }
  79. }
  80. // New method to fetch UDISE numbers for a given school_id
  81. public List<Map<String, Object>> getUdiseNumbersBySchoolId(String schoolId) {
  82. String sql = "SELECT udise FROM school_list WHERE id IN(" + schoolId + ")";
  83. try {
  84. return jdbcTemplate.queryForList(sql);
  85. } catch (DataAccessException e) {
  86. e.printStackTrace();
  87. return List.of();
  88. }
  89. }
  90. public List<Map<String, Object>> getCategoryBySchoolId(String schoolId) {
  91. String sql = "SELECT category FROM school_list WHERE id IN(" + schoolId + ")";
  92. try {
  93. return jdbcTemplate.queryForList(sql);
  94. } catch (DataAccessException e) {
  95. e.printStackTrace();
  96. return List.of();
  97. }
  98. }
  99. public List<Map<String, Object>> getZoneBySchoolId(String schoolId) {
  100. String sql = "SELECT zone FROM school_list WHERE id IN(" + schoolId + ")";
  101. try {
  102. return jdbcTemplate.queryForList(sql);
  103. } catch (DataAccessException e) {
  104. e.printStackTrace();
  105. return List.of();
  106. }
  107. }
  108. public List<Map<String, Object>> getWardBySchoolId(String schoolId) {
  109. String sql = "SELECT division FROM school_list WHERE id IN(" + schoolId + ")";
  110. try {
  111. return jdbcTemplate.queryForList(sql);
  112. } catch (DataAccessException e) {
  113. e.printStackTrace();
  114. return List.of();
  115. }
  116. }
  117. @Transactional
  118. public List<Map<String, Object>> getAssetType() {
  119. String sql = "SELECT * FROM asset_master ORDER BY execution_order";
  120. return jdbcTemplate.queryForList(sql);
  121. }
  122. @Transactional
  123. public List<Map<String, Object>> getSubAssetType(int assetid) {
  124. String sql = "SELECT * FROM asset_sub_master WHERE asset_master_id = ? ORDER BY execution_order";
  125. return jdbcTemplate.queryForList(sql, assetid);
  126. }
  127. @Transactional
  128. public List<Map<String, Object>> getSplSubAssetType(List<String> assets, int assetid) {
  129. String sql;
  130. Map<String, Object> params = new HashMap<>();
  131. params.put("assetid", assetid);
  132. if (assets == null || assets.isEmpty()) {
  133. sql = "SELECT * FROM asset_sub_master WHERE asset_master_id = :assetid ORDER BY execution_order";
  134. } else {
  135. sql = "SELECT * FROM asset_sub_master WHERE asset_master_id = :assetid AND asset_name NOT IN (:assets) ORDER BY execution_order";
  136. params.put("assets", assets);
  137. }
  138. return namedParameterJdbcTemplate.queryForList(sql, params);
  139. }
  140. @Transactional
  141. public List<String> getAssetList(int school_id, int assetid) {
  142. String sql ="";
  143. if(assetid==2) {
  144. sql = "SELECT asm.asset_name from electrical_master em \r\n"
  145. + "INNER JOIN asset_sub_master asm ON em.sub_asset_id = asm.sub_asset_id\r\n"
  146. + "WHERE em.school_id = ?";
  147. } else if(assetid==3) {
  148. sql = "SELECT asm.asset_name from furniture_master fm \r\n"
  149. + "INNER JOIN asset_sub_master asm ON fm.sub_asset_id = asm.sub_asset_id\r\n"
  150. + "WHERE fm.school_id = ?";
  151. }
  152. return jdbcTemplate.queryForList(sql, String.class, school_id);
  153. }
  154. }