Browse Source

Changes in roadwar register and update form

main
Hariprasath S 4 months ago
parent
commit
8789a02b64
  1. 15
      gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/DataSourceConfig.java
  2. 15
      gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/controller/Maincontroller.java
  3. 53
      gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/controller/RegisterApiController.java
  4. 51
      gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/service/LoginMappingService.java
  5. 436
      gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/service/RegisterService.java
  6. 4
      gcc_officer_portal/src/main/resources/application.properties
  7. 833
      gcc_officer_portal/src/main/resources/templates/modules/roadwar/regform.html
  8. 2532
      gcc_officer_portal/src/main/resources/templates/modules/roadwar/updateform.html

15
gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/DataSourceConfig.java

@ -24,8 +24,8 @@ import java.util.Properties;
@EnableTransactionManagement @EnableTransactionManagement
public class DataSourceConfig { public class DataSourceConfig {
// private static String host = "localhost:3306";
// private static String dbpassword = "root";
// private static String host = "localhost:3306";
// private static String dbpassword = "root";
// private static String dbpassword = "gccroot"; // private static String dbpassword = "gccroot";
@ -431,6 +431,17 @@ public class DataSourceConfig {
return dataSource; return dataSource;
} }
//////////////////////////////(For GCC USER) ////////////////////////
@Bean(name = "mysqlGCCUserDataSource")
public DataSource mysqlGCCUserDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://" + host + "/gcc_users");
dataSource.setUsername("root");
dataSource.setPassword(dbpassword);
return dataSource;
}
////////////////////////////// ORACLE //////////////////////// ////////////////////////////// ORACLE ////////////////////////
@Bean(name = "oracleDataSource") @Bean(name = "oracleDataSource")
public DataSource oracleDataSource() { public DataSource oracleDataSource() {

15
gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/controller/Maincontroller.java

@ -6,6 +6,7 @@ import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import in.gov.chennaicorporation.gccoffice.roadwar.service.LoginMappingService;
import in.gov.chennaicorporation.gccoffice.service.LoginUserInfo; import in.gov.chennaicorporation.gccoffice.service.LoginUserInfo;
@RequestMapping("/gcc/roadwarweb") @RequestMapping("/gcc/roadwarweb")
@ -15,12 +16,20 @@ public class Maincontroller {
@Autowired @Autowired
private LoginUserInfo loginUserInfo; private LoginUserInfo loginUserInfo;
@Autowired
private LoginMappingService loginMappingService;
@GetMapping("/regform") @GetMapping("/regform")
public String viewdashboard(Model model) { public String viewdashboard(Model model) {
String LoginUserId = LoginUserInfo.getLoginUserId(); String LoginUserId = LoginUserInfo.getLoginUserId();
model.addAttribute("LoginUserId", LoginUserId); model.addAttribute("LoginUserId", LoginUserId);
String zone=loginMappingService.getZoneByUserId(LoginUserId);
String ward=loginMappingService.getWardByUserId(LoginUserId);
model.addAttribute("Loginzone", zone);
model.addAttribute("Loginward", ward);
String UserRole = LoginUserInfo.getUserRole(); String UserRole = LoginUserInfo.getUserRole();
model.addAttribute("UserRole", UserRole); model.addAttribute("UserRole", UserRole);
@ -33,6 +42,12 @@ public class Maincontroller {
String LoginUserId = LoginUserInfo.getLoginUserId(); String LoginUserId = LoginUserInfo.getLoginUserId();
model.addAttribute("LoginUserId", LoginUserId); model.addAttribute("LoginUserId", LoginUserId);
String zone=loginMappingService.getZoneByUserId(LoginUserId);
String ward=loginMappingService.getWardByUserId(LoginUserId);
model.addAttribute("Loginzone", zone);
model.addAttribute("Loginward", ward);
String UserRole = LoginUserInfo.getUserRole(); String UserRole = LoginUserInfo.getUserRole();
model.addAttribute("UserRole", UserRole); model.addAttribute("UserRole", UserRole);

53
gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/controller/RegisterApiController.java

@ -102,6 +102,37 @@ public class RegisterApiController {
} }
@GetMapping("/getRoadTypeMaterial")
public Map<String, Object> getRoadTypeMaterial() {
Map<String, Object> response = new HashMap<>();
List<Map<String, Object>> roadTypes = registerService.getRoadTypeMaterial();
if (!roadTypes.isEmpty()) {
response.put("status", true);
response.put("message", "Roadtype Material fetched successfully");
response.put("data", roadTypes);
} else {
response.put("status", false);
response.put("message", "No roadtype material found");
response.put("data", Collections.emptyList());
}
return response;
}
@GetMapping("/getFootpathType")
public Map<String, Object> getFootpathType() {
Map<String, Object> response = new HashMap<>();
List<Map<String, Object>> roadTypes = registerService.getFootpathType();
if (!roadTypes.isEmpty()) {
response.put("status", true);
response.put("message", "Footpath Types fetched successfully");
response.put("data", roadTypes);
} else {
response.put("status", false);
response.put("message", "No Footpath Types found");
response.put("data", Collections.emptyList());
}
return response;
}
@GetMapping("/getMonthList") @GetMapping("/getMonthList")
public Map<String, Object> getMonthList() { public Map<String, Object> getMonthList() {
@ -146,14 +177,15 @@ public class RegisterApiController {
@GetMapping("/getAllRoadWarDetails") @GetMapping("/getAllRoadWarDetails")
public ResponseEntity<?> getAllRoadWarDetails( public ResponseEntity<?> getAllRoadWarDetails(
@RequestParam(required = false) String userid,
@RequestParam(required = false) String zone, @RequestParam(required = false) String zone,
@RequestParam(required = false) String ward, @RequestParam(required = false) String ward,
@RequestParam(required = false) String roadName) {
@RequestParam(required = false) String roadId) {
try { try {
List<Map<String, Object>> response = List<Map<String, Object>> response =
registerService.getAllRoadWarDetails(zone, ward, roadName);
registerService.getAllRoadWarDetails(userid,zone, ward, roadId);
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
@ -190,4 +222,21 @@ public class RegisterApiController {
} }
} }
@GetMapping("/checkRoadExists")
public Map<String, Object> checkRoadExists(@RequestParam("roadId") Integer roadId) {
return registerService.checkRoadExists(roadId);
}
@PostMapping("/updateRoadWarDetails")
public Map<String, Object> updateRoadWarDetails(@RequestBody Map<String, Object> payload) {
return registerService.updateRoadWarDetails(payload);
}
@PostMapping("/deleteRoadWarDetails")
public Map<String, Object> deleteRoadWarDetails(
@RequestParam String refId,@RequestParam String updatedby) {
return registerService.deleteRoadWarDetails(refId,updatedby);
}
} }

51
gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/service/LoginMappingService.java

@ -0,0 +1,51 @@
package in.gov.chennaicorporation.gccoffice.roadwar.service;
import java.util.Collections;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@Service
public class LoginMappingService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
public void setDataSource(@Qualifier("mysqlGCCUserDataSource") DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public String getZoneByUserId(String userid) {
String sql = "SELECT zone FROM user_mapping_details WHERE userid=?";
try {
return jdbcTemplate.queryForObject(sql, String.class, userid);
}catch (EmptyResultDataAccessException e) {
return "";
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public String getWardByUserId(String userid) {
String sql = "SELECT ward FROM user_mapping_details WHERE userid=?";
try {
return jdbcTemplate.queryForObject(sql, String.class, userid);
} catch (EmptyResultDataAccessException e) {
return "";
}catch (Exception e) {
e.printStackTrace();
return "";
}
}
}

436
gcc_officer_portal/src/main/java/in/gov/chennaicorporation/gccoffice/roadwar/service/RegisterService.java

@ -22,6 +22,7 @@ import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder; import org.springframework.jdbc.support.KeyHolder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.springframework.transaction.annotation.Transactional;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@ -35,8 +36,6 @@ public class RegisterService {
@Autowired @Autowired
private Environment environment; private Environment environment;
@Autowired @Autowired
public void setDataSource(@Qualifier("mysqlRoadWarDataSource") DataSource dataSource) { public void setDataSource(@Qualifier("mysqlRoadWarDataSource") DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource); this.jdbcTemplate = new JdbcTemplate(dataSource);
@ -117,6 +116,27 @@ public class RegisterService {
} }
public List<Map<String, Object>> getRoadTypeMaterial() {
String sql = "Select id,roadtype_material from roadtype_material_master where is_active = 1 and is_delete = 0";
try {
return jdbcTemplate.queryForList(sql);
} catch (Exception e) {
e.printStackTrace();
return Collections.emptyList();
}
}
public List<Map<String, Object>> getFootpathType() {
String sql = "Select id,footpath_type_name from footpath_type_master where is_active = 1 and is_delete = 0";
try {
return jdbcTemplate.queryForList(sql);
} catch (Exception e) {
e.printStackTrace();
return Collections.emptyList();
}
}
public List<Map<String, Object>> getMonthList() { public List<Map<String, Object>> getMonthList() {
String sql = "SELECT id, month_name FROM month_master WHERE is_active = 1 AND is_delete = 0 ORDER BY id"; String sql = "SELECT id, month_name FROM month_master WHERE is_active = 1 AND is_delete = 0 ORDER BY id";
try { try {
@ -151,8 +171,9 @@ public class RegisterService {
+ " is_cpipe, cpipe_count, is_rwh, rwh_count, " + " is_cpipe, cpipe_count, is_rwh, rwh_count, "
+ " sewer_length, sewer_size, " + " sewer_length, sewer_size, "
+ " is_electric_poles, ep_count, is_hml, culvert_bridge_count, details, " + " is_electric_poles, ep_count, is_hml, culvert_bridge_count, details, "
+ " is_busshelter, busshelter_count, is_centermedian, erp_asset_code, cby,road_id) "
+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+ " is_busshelter, busshelter_count, is_centermedian, erp_asset_code, cby,road_id,road_type_material,road_min_width,road_max_width, "
+ " hml_count,is_streetlight_poles,streetlight_poles_count,is_mml,mml_count,road_from,road_to,is_footpath,footpath_at) "
+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
KeyHolder keyHolder = new GeneratedKeyHolder(); KeyHolder keyHolder = new GeneratedKeyHolder();
@ -198,6 +219,18 @@ public class RegisterService {
ps.setObject(37, payload.get("erp_asset_code")); ps.setObject(37, payload.get("erp_asset_code"));
ps.setObject(38, payload.get("cby")); ps.setObject(38, payload.get("cby"));
ps.setObject(39, payload.get("road_id")); ps.setObject(39, payload.get("road_id"));
ps.setObject(40, payload.get("road_type_material"));
ps.setObject(41, payload.get("road_min_width"));
ps.setObject(42, payload.get("road_max_width"));
ps.setObject(43, payload.get("hml_count"));
ps.setObject(44, payload.get("is_streetlight_poles"));
ps.setObject(45, payload.get("streetlight_poles_count"));
ps.setObject(46, payload.get("is_mml"));
ps.setObject(47, payload.get("mml_count"));
ps.setObject(48, payload.get("roadfrom"));
ps.setObject(49, payload.get("roadto"));
ps.setObject(50, payload.get("is_footpath"));
ps.setObject(51, payload.get("footpathat"));
return ps; return ps;
}, keyHolder); }, keyHolder);
@ -213,14 +246,15 @@ public class RegisterService {
if (relayingList != null && !relayingList.isEmpty()) { if (relayingList != null && !relayingList.isEmpty()) {
String insertRelay = "INSERT INTO relaying_details " String insertRelay = "INSERT INTO relaying_details "
+ "(road_ref_id, relay_month, relay_year, cr_value, road_type, remarks, cby) "
+ "VALUES (?,?,?,?,?,?,?)";
+ "(road_ref_id, relay_month, relay_year,road_type_material ,cr_value, road_type, remarks, cby) "
+ "VALUES (?,?,?,?,?,?,?,?)";
for (Map<String, Object> relay : relayingList) { for (Map<String, Object> relay : relayingList) {
jdbcTemplate.update(insertRelay, jdbcTemplate.update(insertRelay,
refId, refId,
relay.get("relay_month"), relay.get("relay_month"),
relay.get("relay_year"), relay.get("relay_year"),
relay.get("road_type_material"),
relay.get("cr_value"), relay.get("cr_value"),
relay.get("road_type"), relay.get("road_type"),
relay.get("remarks"), relay.get("remarks"),
@ -243,16 +277,25 @@ public class RegisterService {
public List<Map<String, Object>> getAllRoadWarDetails( public List<Map<String, Object>> getAllRoadWarDetails(
String userid,
String zone, String zone,
String ward, String ward,
String roadName) {
String roadId) {
StringBuilder sql = new StringBuilder(" SELECT rdm.*,rtm.road_type as road_type_name FROM road_details_master rdm " +
StringBuilder sql = new StringBuilder(" SELECT rdm.*,rtm.road_type as road_type_name,rtmm.roadtype_material as roadtype_material_name,ftm.footpath_type_name as footpath_material_name FROM road_details_master rdm " +
" LEFT JOIN road_type_master rtm ON rtm.id= rdm.road_type " + " LEFT JOIN road_type_master rtm ON rtm.id= rdm.road_type " +
" LEFT JOIN roadtype_material_master rtmm ON rtmm.id= rdm.road_type_material " +
" LEFT JOIN footpath_type_master ftm ON ftm.id= rdm.footpath_material " +
" WHERE 1=1 "); " WHERE 1=1 ");
List<Object> params = new ArrayList<>(); List<Object> params = new ArrayList<>();
if (userid != null && !userid.isEmpty()) {
sql.append(" AND rdm.cby = ?");
params.add(userid);
}
if (zone != null && !zone.isEmpty()) { if (zone != null && !zone.isEmpty()) {
sql.append(" AND rdm.zone = ?"); sql.append(" AND rdm.zone = ?");
params.add(zone); params.add(zone);
@ -263,9 +306,9 @@ public class RegisterService {
params.add(ward); params.add(ward);
} }
if (roadName != null && !roadName.isEmpty()) {
sql.append(" AND rdm.road_name = ?");
params.add(roadName);
if (roadId != null && !roadId.isEmpty()) {
sql.append(" AND rdm.road_id = ?");
params.add(roadId);
} }
sql.append(" AND rdm.is_active=1 AND rdm.is_delete=0 "); sql.append(" AND rdm.is_active=1 AND rdm.is_delete=0 ");
@ -283,9 +326,11 @@ public class RegisterService {
try { try {
String sql = String sql =
"SELECT rdm.*, rtm.road_type As road_type_name " +
"SELECT rdm.*, rtm.road_type As road_type_name,rtmm.roadtype_material as roadtype_material,ftm.footpath_type_name as footpath_material_name " +
"FROM road_details_master rdm " + "FROM road_details_master rdm " +
"LEFT JOIN road_type_master rtm ON rtm.id = rdm.road_type " + "LEFT JOIN road_type_master rtm ON rtm.id = rdm.road_type " +
"LEFT JOIN roadtype_material_master rtmm ON rtmm.id = rdm.road_type_material " +
"LEFT JOIN footpath_type_master ftm ON ftm.id= rdm.footpath_material " +
"WHERE rdm.ref_id = ? AND rdm.is_active=1 AND rdm.is_delete=0 "; "WHERE rdm.ref_id = ? AND rdm.is_active=1 AND rdm.is_delete=0 ";
Map<String, Object> road = Map<String, Object> road =
@ -295,10 +340,11 @@ public class RegisterService {
List<Map<String, Object>> relayingDetails = List<Map<String, Object>> relayingDetails =
jdbcTemplate.queryForList( jdbcTemplate.queryForList(
" SELECT rd.*,mm.month_name,ym.year_name "
" SELECT rd.*,mm.month_name,ym.year_name,rtmm.roadtype_material "
+ " FROM relaying_details rd " + " FROM relaying_details rd "
+ " LEFT JOIN month_master mm on mm.id = rd.relay_month " + " LEFT JOIN month_master mm on mm.id = rd.relay_month "
+ " LEFT JOIN year_master ym on ym.id = rd.relay_year " + " LEFT JOIN year_master ym on ym.id = rd.relay_year "
+ " LEFT JOIN roadtype_material_master rtmm on rtmm.id = rd.road_type_material "
+ " WHERE rd.road_ref_id = ? AND rd.is_active=1 AND rd.is_delete=0 ", + " WHERE rd.road_ref_id = ? AND rd.is_active=1 AND rd.is_delete=0 ",
refid); refid);
@ -315,4 +361,368 @@ public class RegisterService {
return result; return result;
} }
public Map<String, Object> checkRoadExists(Integer roadId) {
Map<String, Object> response = new HashMap<>();
try {
String sql = " SELECT COUNT(*) FROM road_details_master "
+ " WHERE road_id = ? AND is_active=1 AND is_delete = 0 ";
Integer count = jdbcTemplate.queryForObject(
sql,
Integer.class,
roadId
);
response.put("status", true);
response.put("exists", count != null && count > 0);
} catch (Exception e) {
e.printStackTrace();
response.put("status", false);
response.put("message", "Error while checking road");
}
return response;
}
@Transactional
public Map<String, Object> updateRoadWarDetails(Map<String, Object> payload) {
Map<String, Object> result = new HashMap<>();
try {
String refId = String.valueOf(payload.get("ref_id"));
String updatedBy = String.valueOf(payload.get("updated_by"));
String roadId = String.valueOf(payload.get("road_id"));
Integer count = jdbcTemplate.queryForObject(
"SELECT COUNT(*) " +
"FROM road_details_master " +
"WHERE road_id = ? " +
"AND ref_id <> ? " +
"AND is_active = 1 " +
"AND is_delete = 0",
Integer.class,
roadId,
refId
);
if (count != null && count > 0) {
result.put("status", false);
result.put("message",
"Selected road is already mapped to another Road War record");
return result;
}
//COPY CURRENT RECORD TO LOG TABLE
String logSql =
"INSERT INTO road_details_master_log (" +
"id, zone, ward, road_id, road_name, road_type,road_type_material, highway_ans, " +
"road_length, road_avg_width,road_min_width,road_max_width, road_area, " +
"road_from,road_to,is_footpath,footpath_at, "+
"footpath_material, footpath_length, footpath_width, " +
"footpath_from_location, footpath_to_location, " +
"is_swd, swd_from, swd_to, swd_length, swd_size, " +
"is_scp, scp_count, is_manhole, manhole_count, manhole_location, " +
"is_cpipe, cpipe_count, is_rwh, rwh_count, " +
"sewer_length, sewer_size, is_electric_poles, ep_count, is_hml,hml_count, " +
"is_streetlight_poles,streetlight_poles_count,is_mml,mml_count, "+
"culvert_bridge_count, details, is_busshelter, busshelter_count, " +
"is_centermedian, erp_asset_code, ref_id, cdate, cby, " +
"updated_date, updated_by, is_active, is_delete) " +
"SELECT " +
"id, zone, ward, road_id, road_name, road_type,road_type_material, highway_ans, " +
"road_length, road_avg_width,road_min_width,road_max_width, road_area, " +
"road_from,road_to,is_footpath,footpath_at, "+
"footpath_material, footpath_length, footpath_width, " +
"footpath_from_location, footpath_to_location, " +
"is_swd, swd_from, swd_to, swd_length, swd_size, " +
"is_scp, scp_count, is_manhole, manhole_count, manhole_location, " +
"is_cpipe, cpipe_count, is_rwh, rwh_count, " +
"sewer_length, sewer_size, is_electric_poles, ep_count, is_hml,hml_count, " +
"is_streetlight_poles,streetlight_poles_count,is_mml,mml_count, "+
"culvert_bridge_count, details, is_busshelter, busshelter_count, " +
"is_centermedian, erp_asset_code, ref_id, cdate, cby, " +
"updated_date, updated_by, is_active, is_delete " +
"FROM road_details_master " +
"WHERE ref_id=?";
jdbcTemplate.update(logSql, refId);
// 2. IF SWD = NO CLEAR DEPENDENT VALUES
String isSwd = (String) payload.get("is_swd");
if ("no".equalsIgnoreCase(isSwd)) {
payload.put("swd_from", null);
payload.put("swd_to", null);
payload.put("swd_length", null);
payload.put("swd_size", null);
payload.put("is_scp", null);
payload.put("scp_count", null);
payload.put("is_manhole", null);
payload.put("manhole_count", null);
payload.put("manhole_location", null);
payload.put("is_cpipe", null);
payload.put("cpipe_count", null);
payload.put("is_rwh", null);
payload.put("rwh_count", null);
}
// 3. UPDATE ROAD MASTER
String updateSql =
"UPDATE road_details_master SET " +
"zone=?, " +
"ward=?, " +
"road_id=?, " +
"road_name=?, " +
"road_type=?, " +
"road_type_material=?, " +
"road_length=?, " +
"road_avg_width=?, " +
"road_min_width=?, " +
"road_max_width=?, " +
"road_area=?, " +
"road_from=?, "+
"road_to=?, "+
"is_footpath=?, "+
"footpath_at=?, "+
"footpath_material=?, " +
"footpath_length=?, " +
"footpath_width=?, " +
"footpath_from_location=?, " +
"footpath_to_location=?, " +
"is_swd=?, " +
"swd_from=?, " +
"swd_to=?, " +
"swd_length=?, " +
"swd_size=?, " +
"is_scp=?, " +
"scp_count=?, " +
"is_manhole=?, " +
"manhole_count=?, " +
"manhole_location=?, " +
"is_cpipe=?, " +
"cpipe_count=?, " +
"is_rwh=?, " +
"rwh_count=?, " +
"sewer_length=?, " +
"sewer_size=?, " +
"is_electric_poles=?, " +
"ep_count=?, " +
"is_hml=?, " +
"hml_count=?, " +
"is_streetlight_poles=?, " +
"streetlight_poles_count=?, " +
"is_mml=?, " +
"mml_count=?, " +
"culvert_bridge_count=?, " +
"details=?, " +
"is_busshelter=?, " +
"busshelter_count=?, " +
"is_centermedian=?, " +
"updated_date=NOW(), " +
"updated_by=? " +
"WHERE ref_id=?";
jdbcTemplate.update(updateSql,
payload.get("zone"),
payload.get("ward"),
payload.get("road_id"),
payload.get("road_name"),
payload.get("road_type"),
payload.get("road_type_material"),
payload.get("road_length"),
payload.get("road_avg_width"),
payload.get("road_min_width"),
payload.get("road_max_width"),
payload.get("road_area"),
payload.get("road_from"),
payload.get("road_to"),
payload.get("is_footpath"),
payload.get("footpath_at"),
payload.get("footpath_material"),
payload.get("footpath_length"),
payload.get("footpath_width"),
payload.get("footpath_from_location"),
payload.get("footpath_to_location"),
payload.get("is_swd"),
payload.get("swd_from"),
payload.get("swd_to"),
payload.get("swd_length"),
payload.get("swd_size"),
payload.get("is_scp"),
payload.get("scp_count"),
payload.get("is_manhole"),
payload.get("manhole_count"),
payload.get("manhole_location"),
payload.get("is_cpipe"),
payload.get("cpipe_count"),
payload.get("is_rwh"),
payload.get("rwh_count"),
payload.get("sewer_length"),
payload.get("sewer_size"),
payload.get("is_electric_poles"),
payload.get("ep_count"),
payload.get("is_hml"),
payload.get("hml_count"),
payload.get("is_streetlight_poles"),
payload.get("streetlight_poles_count"),
payload.get("is_mml"),
payload.get("mml_count"),
payload.get("culvert_bridge_count"),
payload.get("details"),
payload.get("is_busshelter"),
payload.get("busshelter_count"),
payload.get("is_centermedian"),
updatedBy,
refId
);
// 4. SOFT DELETE OLD RELAYING RECORDS
jdbcTemplate.update(
"UPDATE relaying_details " +
"SET is_active=0, " +
"is_delete=1, " +
"updated_date=NOW(), " +
"updated_by=? " +
"WHERE road_ref_id=? " +
"AND is_active=1",
updatedBy,
refId
);
// 5. INSERT NEW RELAYING RECORDS
@SuppressWarnings("unchecked")
List<Map<String, Object>> relays =
(List<Map<String, Object>>) payload.get("relaying_details");
String insertRelay =
"INSERT INTO relaying_details " +
"(road_ref_id, relay_month, relay_year,road_type_material, cr_value, road_type, remarks, cby) " +
"VALUES (?,?,?,?,?,?,?,?)";
if (relays != null) {
for (Map<String, Object> relay : relays) {
jdbcTemplate.update(
insertRelay,
refId,
relay.get("relay_month"),
relay.get("relay_year"),
relay.get("road_type_material"),
relay.get("cr_value"),
relay.get("road_type"),
relay.get("remarks"),
updatedBy
);
}
}
result.put("status", true);
result.put("message", "Road details updated successfully");
} catch (Exception e) {
e.printStackTrace();
result.put("status", false);
result.put("message", e.getMessage());
}
return result;
}
public Map<String, Object> deleteRoadWarDetails(String refId, String updatedby) {
Map<String, Object> result = new HashMap<>();
try {
int roadUpdated = jdbcTemplate.update(
"UPDATE road_details_master " +
"SET is_active=0, " +
"is_delete=1, " +
"updated_by=?, "+
"updated_date=NOW() " +
"WHERE ref_id=? " +
"AND is_active=1",
updatedby,refId
);
jdbcTemplate.update(
"UPDATE relaying_details " +
"SET is_active=0, " +
"is_delete=1, " +
"updated_by=?, "+
"updated_date=NOW() " +
"WHERE road_ref_id=? " +
"AND is_active=1",
updatedby,refId
);
if (roadUpdated > 0) {
result.put("status", true);
result.put("message",
"Road War details deleted successfully");
} else {
result.put("status", false);
result.put("message","Record not found");
}
} catch (Exception e) {
e.printStackTrace();
result.put("status", false);
result.put("message",
"Failed to delete Road War details");
}
return result;
}
} }

4
gcc_officer_portal/src/main/resources/application.properties

@ -1,5 +1,5 @@
spring.profiles.active=local
#spring.profiles.active=production
#spring.profiles.active=local
spring.profiles.active=production
#For Server production #For Server production
#assets.base-url=/gcc/assets/ #assets.base-url=/gcc/assets/
#For local test #For local test

833
gcc_officer_portal/src/main/resources/templates/modules/roadwar/regform.html
File diff suppressed because it is too large
View File

2532
gcc_officer_portal/src/main/resources/templates/modules/roadwar/updateform.html
File diff suppressed because it is too large
View File

Loading…
Cancel
Save