/* * eGov suite of products aim to improve the internal efficiency,transparency, * accountability and the service delivery of the government organizations. * * Copyright (C) <2015> eGovernments Foundation * * The updated version of eGov suite of products as by eGovernments Foundation * is available at http://www.egovernments.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/ or * http://www.gnu.org/licenses/gpl.html . * * In addition to the terms of the GPL license to be adhered to in using this * program, the following additional terms are to be complied with: * * 1) All versions of this program, verbatim or modified must carry this * Legal Notice. * * 2) Any misrepresentation of the origin of the material is prohibited. It * is required that all modified versions of this material be marked in * reasonable ways as different from the original version. * * 3) This license does not grant any rights to any user of the program * with regards to rights under trademark law for use of the trade names * or trademarks of eGovernments Foundation. * * In case of any queries, you can reach eGovernments Foundation at contact@egovernments.org. */ /* * Created on Jan 4, 2007 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.exilant.eGov.src.domain; import com.exilant.eGov.src.common.EGovernCommon; import com.exilant.exility.common.TaskFailedException; import com.exilant.exility.updateservice.PrimaryKeyGenerator; import org.apache.log4j.Logger; import org.egov.infstr.services.PersistenceService; import org.hibernate.Query; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.transaction.annotation.Transactional; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * @author Lakshmi * * TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates */ @Transactional(readOnly = true) public class ScheduleMapping { private static final Logger LOGGER = Logger .getLogger(ScheduleMapping.class); Query pstmt = null; private String id = null; private String reportType = null; private String schedule = "0"; private String scheduleName = null; private String createdBy = null; private String createdDate = ""; private String lastModifiedBy = null; private String lastModifiedDate = ""; private String repSubType = null; private String isRemission = null; private static TaskFailedException taskExc; @Autowired @Qualifier("persistenceService") private PersistenceService persistenceService; @Autowired EGovernCommon eGovernCommon; private final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy", Locale .getDefault()); private final SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault()); public void setId(final String aId) { id = aId; } public int getId() { return Integer.valueOf(id).intValue(); } @Transactional public void insert() throws SQLException, TaskFailedException { setId(String.valueOf(PrimaryKeyGenerator.getNextKey("schedulemapping"))); try { final SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); createdDate = formatter.format(new Date()); setCreatedDate(createdDate); lastModifiedDate = null; setCreatedDate(createdDate); setLastModifiedDate(lastModifiedDate); // scheduleName=common.formatString(scheduleName); final String insertQuery = "INSERT INTO schedulemapping (id, reportType,schedule, scheduleName, createdBy, createdDate, " + "lastModifiedBy,lastModifiedDate,repSubType,isRemission) " + "values(?,?,?,?,?,?,?,?,?,?)"; if (LOGGER.isInfoEnabled()) LOGGER.info(insertQuery); pstmt = persistenceService.getSession().createSQLQuery(insertQuery); pstmt.setString(0, id); pstmt.setString(1, reportType); pstmt.setString(2, schedule); pstmt.setString(3, scheduleName); pstmt.setString(4, createdBy); pstmt.setString(5, createdDate); pstmt.setString(6, lastModifiedBy); pstmt.setString(7, lastModifiedDate); pstmt.setString(8, repSubType); pstmt.setString(9, isRemission); pstmt.executeUpdate(); } catch (final Exception e) { LOGGER.error("ERROR" + e.getMessage(), e); throw taskExc; } } @Transactional public void update() throws SQLException, TaskFailedException { try { newUpdate(); } catch (final Exception e) { LOGGER.error("Error inside update" + e.getMessage(), e); } } public void newUpdate() throws TaskFailedException, SQLException { lastModifiedDate = eGovernCommon.getCurrentDate(); Query pstmt = null; try { lastModifiedDate = formatter.format(sdf.parse(lastModifiedDate)); } catch (final ParseException parseExp) { LOGGER.error("error inside newUpdate" + parseExp.getMessage(), parseExp); } setLastModifiedDate(lastModifiedDate); final StringBuilder query = new StringBuilder(500); query.append("update schedulemapping set "); if (reportType != null) query.append("REPORTTYPE=?,"); if (schedule != null) query.append("SCHEDULE=?,"); if (scheduleName != null) query.append("SCHEDULENAME=?,"); if (createdBy != null) query.append("CREATEDBY=?,"); if (createdDate != null && !createdDate.isEmpty()) query.append("CREATEDDATE=?,"); if (lastModifiedBy != null) query.append("LASTMODIFIEDBY=?,"); if (lastModifiedDate != null) query.append("LASTMODIFIEDDATE=?,"); if (repSubType != null) query.append("REPSUBTYPE=?,"); if (isRemission != null) query.append("ISREMISSION=?,"); final int lastIndexOfComma = query.lastIndexOf(","); query.deleteCharAt(lastIndexOfComma); query.append(" where id=?"); try { int i = 1; pstmt = persistenceService.getSession().createSQLQuery(query.toString()); if (reportType != null) pstmt.setString(i++, reportType); if (schedule != null) pstmt.setString(i++, schedule); if (scheduleName != null) pstmt.setString(i++, scheduleName); if (createdBy != null) pstmt.setString(i++, createdBy); if (createdDate != null && !createdDate.isEmpty()) pstmt.setString(i++, createdDate); if (lastModifiedBy != null) pstmt.setString(i++, lastModifiedBy); if (lastModifiedDate != null) pstmt.setString(i++, lastModifiedDate); if (repSubType != null) pstmt.setString(i++, repSubType); if (isRemission != null) pstmt.setString(i++, isRemission); pstmt.setString(i++, id); pstmt.executeUpdate(); } catch (final Exception e) { LOGGER.error("Exp in update: " + e.getMessage(), e); throw taskExc; } } public String getReportType() { return reportType; } public void setReportType(final String reportType) { this.reportType = reportType; } public String getSchedule() { return schedule; } public void setSchedule(final String schedule) { this.schedule = schedule; } public String getScheduleName() { return scheduleName; } public void setScheduleName(final String scheduleName) { this.scheduleName = scheduleName; } public String getCreatedBy() { return createdBy; } public void setCreatedBy(final String createdBy) { this.createdBy = createdBy; } public String getCreatedDate() { return createdDate; } public void setCreatedDate(final String createdDate) { this.createdDate = createdDate; } public String getLastModifiedBy() { return lastModifiedBy; } public void setLastModifiedBy(final String lastModifiedBy) { this.lastModifiedBy = lastModifiedBy; } public String getLastModifiedDate() { return lastModifiedDate; } public void setLastModifiedDate(final String lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } public String getRepSubType() { return repSubType; } public void setRepSubType(final String repSubType) { this.repSubType = repSubType; } public String getIsRemission() { return isRemission; } public void setIsRemission(final String isRemission) { this.isRemission = isRemission; } }