Advertisement
dahomee_69

MaintainTreatmentServicesSessionEJb

Dec 21st, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 258.72 KB | None | 0 0
  1.  
  2.  
  3. package gosi.business.socialinsurance.occupationalhazards.injury.session;
  4.  
  5. import gosi.core.util.ServiceLocator;
  6. import gosi.core.util.GOSIDebug;
  7. import javax.ejb.SessionBean;
  8. import javax.ejb.SessionContext;
  9. import javax.ejb.EJBException;
  10. import java.rmi.RemoteException;
  11. import javax.naming.Context;
  12. import javax.naming.InitialContext;
  13. import javax.naming.NamingException;
  14. import java.sql.Connection;
  15. import java.sql.Date;
  16. import java.sql.PreparedStatement;
  17. import java.sql.ResultSet;
  18. import java.sql.SQLException;
  19. import java.io.Serializable;
  20. import gosi.core.util.GOSIInstrumentationLog;
  21. import gosi.business.socialinsurance.occupationalhazards.injury.beans.SFDABean;
  22. import gosi.business.socialinsurance.occupationalhazards.
  23. injury.beans.TreatmentServiceBean;
  24. import gosi.business.socialinsurance.occupationalhazards.
  25. injury.beans.InjuryPopDetails;
  26. import gosi.business.socialinsurance.occupationalhazards.
  27. injury.beans.TreatmentTypeBean;
  28. import gosi.business.socialinsurance.occupationalhazards.
  29. injury.beans.TreatmentPeriodBean;
  30. import gosi.business.socialinsurance.occupationalhazards.
  31. injury.beans.TreatmentQueryBean;
  32. import gosi.business.socialinsurance.occupationalhazards.
  33. injury.beans.TreatmentHeaderBean;
  34. import gosi.database.socialinsurance.occupationalhazards.
  35. injury.entity.TreatmentServiceDetailEntity;
  36. import gosi.database.socialinsurance.occupationalhazards.
  37. injury.entity.TreatmentServiceDetailEntityHome;
  38. import gosi.database.socialinsurance.occupationalhazards.
  39. injury.entity.TreatmentServiceHeaderEntity;
  40. import gosi.database.socialinsurance.occupationalhazards.
  41. injury.entity.TreatmentServiceHeaderEntityHome;
  42. import gosi.business.socialinsurance.occupationalhazards.injury.
  43. beans.HospitalListBean;
  44. import gosi.business.socialinsurance.occupationalhazards.injury.
  45. beans.OHPopSearchBean;
  46. import gosi.rules.socialinsurance.occupationalhazards.beans.OHRuleBean;
  47. import gosi.core.util.GOSIException;
  48. import gosi.core.util.GOSIUtilities;
  49. import gosi.core.util.GOSIConstants;
  50. import gosi.core.util.GOSIErrorMessages;
  51. import gosi.core.util.GOSIDateUtilities;
  52. import gosi.core.util.GOSILdapService;
  53. import gosi.core.util.GOSIApplicationProperties;
  54. import java.util.ArrayList;
  55. import java.util.Hashtable;
  56. import java.sql.Timestamp;
  57. import gosi.core.util.beans.NavigationBean;
  58. import gosi.business.socialinsurance.occupationalhazards.common.beans.
  59. OHUtilities;
  60. import gosi.business.socialinsurance.occupationalhazards.common.beans.
  61. OHConstants;
  62. import gosi.business.socialinsurance.common.beans.SITables;
  63. import javax.rmi.PortableRemoteObject;
  64. import gosi.core.util.beans.AuditBean;
  65. import java.util.HashMap;
  66. import gosi.core.workflow.beans.WorkflowParamBean;
  67. import gosi.business.socialinsurance.common.beans.PersonBean;
  68. import gosi.business.socialinsurance.common.beans.PersonUtilities;
  69. import gosi.business.socialinsurance.registration.engagement.
  70. beans.ContributorBean;
  71. import gosi.business.socialinsurance.registration.engagement.
  72. beans.ContributorUtilities;
  73. import gosi.business.socialinsurance.registration.
  74. establishment.beans.EstablishmentUtility;
  75. import gosi.business.socialinsurance.registration.
  76. establishment.beans.EstablishmentBean;
  77. import gosi.business.socialinsurance.occupationalhazards.
  78. injury.beans.CompanionBean;
  79. import gosi.core.dms.beans.DMSRequestHeaderBean;
  80. import gosi.core.dms.beans.DMSConstants;
  81. import gosi.core.dms.util.DMSUtilities;
  82. import gosi.business.socialinsurance.occupationalhazards.
  83. injury.beans.TreatmentServiceBean;
  84.  
  85. import gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceHeaderBean;
  86. import gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceDetailBean;
  87. import gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceBean;
  88. import gosi.business.socialinsurance.occupationalhazards.medicalboard.beans.OHDAssessmentHeaderBean;
  89. import gosi.database.socialinsurance.occupationalhazards.injury.
  90. entity.TrtmServiceListEntityHome;
  91. import gosi.database.socialinsurance.occupationalhazards.injury.
  92. entity.TrtmServiceListEntity;
  93. import gosi.database.socialinsurance.occupationalhazards.injury.
  94. entity.TrtmServiceListHistoryEntityHome;
  95. import gosi.database.socialinsurance.occupationalhazards.injury.
  96. entity.TrtmServiceListHistoryEntity;
  97.  
  98. import java.io.File;
  99. import java.io.BufferedInputStream;
  100. import java.io.DataInputStream;
  101. import java.io.FileInputStream;
  102. import java.io.FileNotFoundException;
  103. import java.io.IOException;
  104. import jxl.Cell;
  105. import jxl.CellType;
  106. import jxl.Sheet;
  107. import jxl.Workbook;
  108. import jxl.read.biff.BiffException;
  109.  
  110.  
  111. /**
  112.  *
  113.  * @stereotype SessionBean
  114.  * @homeInterface gosi.business.socialinsurance.occupationalhazards.injury.session.MaintainTreatmentServiceSessionHome
  115.  * @remoteInterface gosi.business.socialinsurance.occupationalhazards.injury.session.MaintainTreatmentServiceSession
  116.  */
  117.  
  118.  
  119. public class MaintainTreatmentServiceSessionEJB implements
  120. SessionBean
  121. {
  122.  
  123.     private Connection con = null;
  124.     private ResultSet  rs = null;
  125.     private PreparedStatement p = null;
  126.     private SessionContext ctx;
  127.  
  128.     /*  This method is used to get the injury details */
  129.     /**
  130.     * @METHOD NAME              :   searchInjuryList
  131.     * @INFORMATION              :   This method is to  search Injury List
  132.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
  133.     * @RETURN                   :   class java.util.ArrayList
  134.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  135.     * @LAST MODIFIED BY         :  
  136.     * @LAST MODIFIED DATE       :  
  137.     **/
  138.     public ArrayList searchInjuryList
  139.     (InjuryPopDetails searchInjuryBean)
  140.     throws GOSIException
  141.     {
  142.         int             injuryListSize = 0;
  143.         long            timeCounter = 0;
  144.         long            establishmentId = 0;
  145.         Timestamp       injuryDate = null;
  146.         StringBuffer    sbQuery = new StringBuffer();
  147.         String          contributorName = "";
  148.         ArrayList       injuryListTemp = new ArrayList();
  149.         ArrayList       injuryList = new ArrayList();
  150.        
  151.         try
  152.         {
  153.             GOSIDebug.debugMessages("inside the Function searchInjury");
  154.             Long socInsNum = searchInjuryBean.getSocialInsuranceNumber();
  155.            
  156.             String entryFormat = searchInjuryBean.getInjuryDateEntFmt();
  157.             Short fieldOffice = searchInjuryBean.getFieldOffice();
  158.             GOSIDebug.debugMessages("fieldOffice in search &&&" +
  159.             fieldOffice);
  160.            
  161.             timeCounter = System.currentTimeMillis();
  162.            
  163.             if(OHConstants.HIJRAH.equals(searchInjuryBean.
  164.             getInjuryDateEntFmt()))
  165.             {
  166.                 injuryDate = GOSIUtilities.getTimestamp
  167.                 (GOSIDateUtilities.convertToGregorian
  168.                 (searchInjuryBean.getInjuryDateStr()));
  169.             }
  170.             else
  171.             {
  172.                 injuryDate = GOSIUtilities.getTimestamp(
  173.                 searchInjuryBean.getInjuryDateStr());
  174.             }
  175.             searchInjuryBean.setInjuryDate(injuryDate);
  176.             GOSIDebug.debugMessages("SIN:"+socInsNum+"\n InjuryDate:"+
  177.             injuryDate);
  178.             /*
  179.              
  180.             sbQuery = sbQuery.delete(0,sbQuery.length());
  181.             sbQuery.append(" SELECT A.INJURYID,A.SOCINSNUMBER, " );
  182.             sbQuery.append(" B.REGISTRATIONNUMBER,A.INJURYDATE, " );
  183.             sbQuery.append(" A.DATECOMPLICATION,A.INJURYNUMBER,A.DESCRIPTION, ");        
  184.             sbQuery.append(" D.FIRSTNAME || ' ' ||   " );
  185.             sbQuery.append(" NVL(D.SECONDNAME,'')|| ' ' ||  ");
  186.             sbQuery.append(" NVL(D.THIRDNAME,'')||' ' || " );
  187.             sbQuery.append(" NVL(D.SURNAME,'') NAME,D.NAMEENGLISH,  " );
  188.             sbQuery.append(" D.NATIONALITYCODE, ");
  189.             sbQuery.append(" A.CONTRIBUTORID, " );
  190.             sbQuery.append(" A.establishmentid FROM ");
  191.             sbQuery.append(  SITables.T_INJURY + " A , " );
  192.             sbQuery.append(  SITables.T_ESTABLISHMENT + " B, ");
  193.             sbQuery.append(  SITables.T_CONTRIBUTOR +  " C, ");
  194.             sbQuery.append(  SITables.T_PERSON + " D WHERE ");
  195.             sbQuery.append(" A.ESTABLISHMENTID = B.ESTABLISHMENTID " );
  196.             sbQuery.append(" AND A.CONTRIBUTORID = C.CONTRIBUTORID ");
  197.             sbQuery.append(" AND C.PERSONID = D.PERSONID  " );
  198.             sbQuery.append(" AND A.INJURYSTATUS NOT IN ( ? , ? ) " );
  199.             sbQuery.append(" AND A.INJURYDATE = ? ");
  200.             sbQuery.append(" AND A.SOCINSNUMBER = ? " );        
  201.             */
  202.            
  203.             sbQuery = sbQuery.delete(0,sbQuery.length());
  204.             sbQuery.append(" SELECT A.INJURYID,A.SOCINSNUMBER, " );
  205.             sbQuery.append(" A.INJURYDATE, " );
  206.             sbQuery.append(" A.DATECOMPLICATION,A.INJURYNUMBER,A.DESCRIPTION, ");        
  207.             sbQuery.append(" A.CONTRIBUTORID, " );
  208.             sbQuery.append(" A.ESTABLISHMENTID FROM ");
  209.             sbQuery.append(  SITables.T_INJURY + " A  " );
  210.             sbQuery.append(" WHERE ");
  211.             sbQuery.append(" A.INJURYSTATUS != ? " );
  212.             sbQuery.append(" AND A.INJURYDATE = ? ");
  213.             sbQuery.append(" AND A.SOCINSNUMBER = ? " );        
  214.            
  215.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  216.            
  217.             con = GOSIUtilities.getConnection(GOSIConstants.
  218.             OCCUPATIONAL_HAZARDS_ID);
  219.  
  220.                        
  221.             p = con.prepareStatement(sbQuery.toString());
  222.             int k =0;
  223.             //p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
  224.             p.setShort(++k,OHConstants.INJ_STS_CANCELLED.shortValue());
  225.             p.setTimestamp(++k,injuryDate);
  226.             p.setLong(++k,socInsNum.longValue());
  227.            
  228.            
  229.             rs = p.executeQuery();
  230.             while(rs.next())
  231.             {  
  232.                 GOSIDebug.debugMessages("SearchInjury Has Records");
  233.                 InjuryPopDetails injuryDetails = new InjuryPopDetails();
  234.                 injuryDetails.setInjuryID(new Long(rs.getLong("INJURYID")));
  235.                 injuryDetails.setSocialInsuranceNumber
  236.                     (new Long(rs.getLong("SOCINSNUMBER")));
  237.                 injuryDetails.setInjuryDate(rs.getTimestamp("INJURYDATE"));
  238.                 injuryDetails.setInjuryDateStr(OHUtilities.getDateStr(
  239.                     injuryDetails.getInjuryDate(),entryFormat));
  240.                 injuryDetails.setInjuryNumber
  241.                     (new Long(rs.getLong("INJURYNUMBER")));
  242.                 if(rs.getObject("DATECOMPLICATION")!=null)
  243.                 {
  244.                     injuryDetails.setComplicationDate
  245.                         (rs.getTimestamp("DATECOMPLICATION"));
  246.                     injuryDetails.setComplicationDateStr(OHUtilities.getDateStr
  247.                         (injuryDetails.getComplicationDate(),entryFormat));
  248.                 }
  249.                 injuryDetails.setDescription(rs.getString("DESCRIPTION"));
  250.                 //injuryDetails.setName(rs.getString("NAME"));
  251.                 //injuryDetails.setNationality(new Short
  252.                 //    (rs.getShort("NATIONALITYCODE")));
  253.                 //injuryDetails.setFieldOffice(new Short
  254.                 //(rs.getShort("FIELDOFFICECODE")));
  255.                 injuryDetails.setFieldOffice
  256.                 (fieldOffice);
  257.                 injuryDetails.setInjuryDateEntFmt(entryFormat);
  258.                 injuryDetails.setContributorId(
  259.                     new Long(rs.getLong("CONTRIBUTORID")));
  260.                 establishmentId = rs.getLong("ESTABLISHMENTID");
  261.                 GOSIDebug.debugMessages("est id *" + establishmentId );
  262.                                
  263.                 ContributorBean oContributorBean =
  264.                     new ContributorBean();
  265.                 oContributorBean = ContributorUtilities.
  266.                 displayContributor(injuryDetails.getContributorId());          
  267.                 GOSIDebug.debugMessages("PersonId::"+oContributorBean.
  268.                 getPersonId());
  269.                 PersonBean oPersonBean = new PersonBean();
  270.                 oPersonBean = PersonUtilities.
  271.                 displayPerson(oContributorBean.getPersonId());
  272.                 GOSIDebug.debugMessages("first name" +
  273.                 oPersonBean.getFirstName());
  274.                 GOSIDebug.debugMessages("first name" +
  275.                 oPersonBean.getFirstName());
  276.                 GOSIDebug.debugMessages("second name" +
  277.                 oPersonBean.getSecondName());
  278.                 GOSIDebug.debugMessages("third name" +
  279.                 oPersonBean.getThirdName());
  280.                 GOSIDebug.debugMessages("surname" +
  281.                 oPersonBean.getSurName());
  282.                 GOSIDebug.debugMessages("name english" +
  283.                 oPersonBean.getNameEnglish());
  284.                 contributorName = oPersonBean.getFirstName();
  285.                 if(oPersonBean.getSecondName() != null)
  286.                 {
  287.                     contributorName += " " + oPersonBean.getSecondName();
  288.                 }
  289.                 if(oPersonBean.getThirdName() != null)
  290.                 {
  291.                     contributorName += " " + oPersonBean.getThirdName();
  292.                 }
  293.                 if(oPersonBean.getSurName() != null)
  294.                 {
  295.                     contributorName += " " + oPersonBean.getSurName();
  296.                 }
  297.                 GOSIDebug.debugMessages("contributor Name ^^^" +
  298.                 contributorName);
  299.                
  300.                 injuryDetails.setName(contributorName);
  301.                 injuryDetails.setContributorNameEnglish(oPersonBean.getNameEnglish());
  302.                
  303.                 if(oPersonBean.getNationalityCode() != null)
  304.                 {
  305.                     injuryDetails.setNationality
  306.                     (oPersonBean.getNationalityCode());
  307.                 }
  308.                 GOSIDebug.debugMessages("nationality code ^^^" +
  309.                 oPersonBean.getNationalityCode());
  310.                
  311.                 EstablishmentBean oEstablishmentBean =
  312.                 new EstablishmentBean();
  313.                
  314.                 EstablishmentUtility oEstablishmentUtility =
  315.                 new EstablishmentUtility();
  316.                
  317.                 oEstablishmentBean = oEstablishmentUtility.
  318.                 getEstablishmentDetails(establishmentId,
  319.                 false,true);
  320.                
  321.                 GOSIDebug.debugMessages("reg no" + oEstablishmentBean.
  322.                 getRegistrationNumber());
  323.                 if(oEstablishmentBean != null)
  324.                 {
  325.                     injuryDetails.setRegistrationNumber
  326.                     (oEstablishmentBean.
  327.                     getRegistrationNumber());
  328.                 }
  329.                 injuryListTemp.add(injuryDetails);
  330.                            
  331.             }
  332.             GOSIUtilities.cleanUp(rs);
  333.            
  334.             GOSIDebug.debugMessages("Records in InjuryList:"+
  335.             injuryListTemp.size());
  336.            
  337.             sbQuery = sbQuery.delete(0,sbQuery.length());
  338.                                    
  339.            
  340.             if(injuryListTemp != null)
  341.             {
  342.                 injuryListSize = injuryListTemp.size();
  343.             }
  344.             if(injuryListSize > 1)
  345.             {
  346.                 for(int j = 0;j < injuryListSize;j++)
  347.                 {
  348.                     InjuryPopDetails injuryDetails = null;
  349.                     injuryDetails = (InjuryPopDetails)
  350.                     injuryListTemp.get(j);
  351.                     injuryList.add(injuryDetails);
  352.                 }
  353.             }
  354.             if(injuryListSize == 1)
  355.             {
  356.                 InjuryPopDetails injuryDetails = null;
  357.                 injuryDetails = (InjuryPopDetails)
  358.                 injuryListTemp.get(0);
  359.                 GOSIDebug.debugMessages("field office in sess" +
  360.                 injuryDetails.getFieldOffice());
  361.                
  362.                 if(isSingleHospitalPresent(
  363.                 con,injuryDetails.getInjuryID(),
  364.                 injuryDetails.getFieldOffice()))
  365.                 {
  366.                    
  367.                     /*
  368.                     sbQuery.append(" SELECT HOSP.HOSPITALCODE, ");
  369.                     sbQuery.append(" HOSP.HOSPITALNAME, ");
  370.                     sbQuery.append(" TRMT.PATIENTNUMBER FROM ");
  371. //                    sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
  372.                     sbQuery.append(  SITables.T_HOSPITALCONTRACT + " HOSP, " );
  373.                     sbQuery.append(  SITables.T_TREATMENT );
  374.                     sbQuery.append(" TRMT WHERE  ");
  375.                     sbQuery.append(" HOSP.HOSPITALCODE = ");
  376.                     sbQuery.append(" TRMT.HOSPITALCODE ");
  377.                     sbQuery.append(" AND HOSP.FIELDOFFICECODE " );
  378.                     */
  379.  
  380.                     sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
  381.                     sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
  382.                     sbQuery.append(" TRMT.PATIENTNUMBER , ");
  383.                     sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
  384.                     sbQuery.append(  SITables.T_HOSPITAL + " HOSP, " );
  385.                     sbQuery.append(  SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
  386.                     sbQuery.append(  SITables.T_TREATMENT );
  387.                     sbQuery.append(" TRMT WHERE  ");
  388.                     sbQuery.append(" HOSP.HOSPITALCODE = ");
  389.                     sbQuery.append(" TRMT.HOSPITALCODE ");
  390.                     sbQuery.append(" AND HOSP.HOSPITALCODE = ");
  391.                     sbQuery.append(" HFO.HOSPITALCODE ");
  392.                     sbQuery.append(" AND HFO.FIELDOFFICECODE " );
  393.                     sbQuery.append(" = ? ");
  394.                     sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
  395.                     sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
  396.                     sbQuery.append(" AND TRMT.INJURYID = ? " );
  397.                    
  398.                     GOSIDebug.debugMessages("Query: \n"+sbQuery.toString());
  399.                     p = con.prepareStatement(sbQuery.toString());
  400.                                      
  401.                     p.setShort
  402.                     (1,injuryDetails.getFieldOffice().shortValue());
  403.                     p.setShort
  404.                     (2,OHConstants.REG_HOSPITAL.shortValue());
  405.                     p.setShort(3,
  406.                     OHConstants.TRMT_STS_ENTERED.shortValue());
  407.                     p.setShort(4,
  408.                     OHConstants.TRMT_STS_APPROVED.shortValue());
  409.                     p.setLong(5,injuryDetails.getInjuryID()
  410.                     .longValue());
  411.                    
  412.                     GOSIDebug.debugMessages("sbQuery" + sbQuery);
  413.                    
  414.                     rs = p.executeQuery();
  415.                    
  416.                     if(rs.next())
  417.                     {
  418.                         injuryDetails.setHospitalCode
  419.                         (new Long(rs.getLong("HOSPITALCODE")));
  420.                         injuryDetails.setPatientNumber
  421.                         (rs.getString("PATIENTNUMBER"));
  422.                        
  423.                         injuryDetails.setHospitalNameEng(rs.getString("HOSPITALNAMEENG"));
  424.                         injuryDetails.setHospitalNameArb(rs.getString("HOSPITALNAMEARB"));  
  425.                         //injuryDetails.setHospitalNameArb(rs.getString("HOSPITALNAME"));  
  426.                        
  427.                     }
  428.                     GOSIUtilities.cleanUp(rs);
  429.                }
  430.                injuryList.add(injuryDetails);
  431.                    
  432.             }
  433.                    
  434.             sbQuery = sbQuery.delete(0,sbQuery.length());
  435.         }
  436.         catch (GOSIException ge)
  437.         {
  438.             throw ge;
  439.         }
  440.         catch(Exception e)
  441.         {
  442.             GOSIDebug.debugMessages("Exception inside PopInjury :"+e);
  443.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  444.             GOSIConstants.SOCIAL_INSURANCE,
  445.             this.getClass().toString(),
  446.             "searchInjuryList()",e,"CMN_ERR_1000");
  447.  
  448.         }
  449.         finally
  450.         {
  451.              GOSIUtilities.cleanUp(con, p, rs);
  452.         }
  453.        
  454.         GOSIInstrumentationLog.writeInstrumentationToLog(
  455.         this.getClass().toString(),
  456.         "searchInjuryList()",
  457.         (System.currentTimeMillis() - timeCounter));
  458.        
  459.         return injuryList ;
  460.     }
  461.  
  462. /* This method is used to save treatment service    */
  463.     /**
  464.     * @METHOD NAME              :   getTrtmServicesListByHospital
  465.     * @INFORMATION              :   This method is to get Treatment Services list
  466.     * @PARAM                    :   class java.util.Long,                              
  467.     * @RETURN                   :   class java.lang.ArrayList
  468.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  469.     * @LAST MODIFIED BY         :  
  470.     * @LAST MODIFIED DATE       :  
  471.     **/
  472.     public HashMap getTrtmServicesListByHospital(Long hospitalCode)
  473.     throws GOSIException
  474.     {
  475.  
  476.         String userName=null;
  477.         Long primarykeyHeader =null;
  478.         HashMap hospitalTreatmentListStock = null;
  479.         TrtmServiceBean objTrtmServiceBean = null;
  480.  
  481.         Exception ex = null;
  482.         con = null;
  483.         PreparedStatement ps = null;
  484.         ResultSet rs = null;
  485.  
  486.         String masterQuery = null;
  487.         String message = "";
  488.  
  489.         masterQuery = new StringBuffer("Select                    ").
  490.             append("TRTMSERVICELISTID,                            ").
  491.             append("HOSPITALCODE,                        ").
  492.             append("TREATMENTCODE,TREATMENTDESCENG,  ").
  493.             append("TREATMENTDESCARB,  MEDCATEGORY,   ").
  494.             append("PRICE,  NEEDSAPPROVAL, ISNONDISCOUNT ,  ").
  495.             append("CREATEDBY,  CREATIONTIMESTAMP,   ").
  496.             append("LASTMODIFIEDBY,  LASTMODIFIEDTIMESTAMP,   ").
  497.             append("STATUS, DOCTORCOMMENTS from  ").
  498.             append(SITables.T_TRTMSERVICELIST).
  499.             append(" where HOSPITALCODE = ?                  ").
  500.                 toString();
  501.  
  502.         try
  503.         {
  504.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  505.  
  506.             // Load from the data base
  507.             ps = con.prepareStatement(masterQuery);
  508.             ps.setLong(1, hospitalCode);
  509.             rs = ps.executeQuery();
  510.             if(rs.next())
  511.                 {
  512.                     hospitalTreatmentListStock = new HashMap();
  513.                    do
  514.                     {
  515.  
  516.                         objTrtmServiceBean = new TrtmServiceBean();
  517.                         objTrtmServiceBean.setTrtmServiceListId(
  518.                             rs.getLong("TRTMSERVICELISTID"));
  519.                         objTrtmServiceBean.setTreatmentCode(
  520.                             rs.getString("TREATMENTCODE"));
  521.                         objTrtmServiceBean.setHospitalCode(
  522.                             rs.getLong("HOSPITALCODE"));
  523.                         objTrtmServiceBean.setTreatmentDescEng(
  524.                             rs.getString("TREATMENTDESCENG"));
  525.                          objTrtmServiceBean.setTreatmentDescArb(
  526.                             rs.getString("TREATMENTDESCARB"));
  527.                         objTrtmServiceBean.setMedCategory(
  528.                             rs.getString("MEDCATEGORY"));
  529.                          objTrtmServiceBean.setPrice(
  530.                             rs.getDouble("PRICE"));
  531.                         objTrtmServiceBean.setNeedsApproval(
  532.                             rs.getShort("NEEDSAPPROVAL"));
  533.                         objTrtmServiceBean.setIsNonDiscount(
  534.                                 rs.getByte("ISNONDISCOUNT"));
  535.                         objTrtmServiceBean.setCreatedBy(
  536.                             rs.getLong("CREATEDBY"));
  537.                         objTrtmServiceBean.setCreationTimestamp(
  538.                             rs.getTimestamp("CREATIONTIMESTAMP"));
  539.                         objTrtmServiceBean.setLastModifiedBy(
  540.                             rs.getLong("LASTMODIFIEDBY"));
  541.                         objTrtmServiceBean.setLastModifiedTimestamp(
  542.                             rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
  543.                         objTrtmServiceBean.setStatus(
  544.                             rs.getShort("STATUS"));
  545.                         objTrtmServiceBean.setDoctorComments(
  546.                             rs.getString("DOCTORCOMMENTS"));
  547.  
  548.                         hospitalTreatmentListStock.put(objTrtmServiceBean.getTreatmentCode().toString(),objTrtmServiceBean);
  549.                     }while(rs.next());
  550.                 }
  551.  
  552.         }
  553.         catch(GOSIException ge)
  554.         {
  555.             GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+ge);
  556.             ctx.setRollbackOnly();
  557.             throw ge;
  558.         }
  559.         catch(Exception se)
  560.         {
  561.             GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+se);
  562.             ctx.setRollbackOnly();
  563.             se.printStackTrace();
  564.            
  565.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  566.             GOSIConstants.SOCIAL_INSURANCE,
  567.             this.getClass().toString(),
  568.             "getTrtmServicesListByHospital()",
  569.             se,"CMN_ERR_1000" );
  570.         }
  571.         return hospitalTreatmentListStock;
  572.            
  573.  
  574.     }
  575. /* This method is used to save treatment service    */
  576.     /**
  577.     * @METHOD NAME              :   getTrtmServicesListByHospital
  578.     * @INFORMATION              :   This method is to get Treatment Services list
  579.     * @PARAM                    :   class java.util.Long,                              
  580.     * @RETURN                   :   class java.lang.ArrayList
  581.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  582.     * @LAST MODIFIED BY         :  
  583.     * @LAST MODIFIED DATE       :  
  584.     **/
  585.     private HashMap getTrtmServicesDescArbAndEngListByHospital(Long hospitalCode)
  586.     throws GOSIException
  587.     {
  588.  
  589.         String userName=null;
  590.         Long primarykeyHeader =null;
  591.         HashMap result = null;
  592.         HashMap hospitalTreatmentDescArb= null;
  593.         HashMap  hospitalTreatmentDescEng= null;
  594.         TrtmServiceBean objTrtmServiceBean = null;
  595.  
  596.         Exception ex = null;
  597.         con = null;
  598.         PreparedStatement ps = null;
  599.         ResultSet rs = null;
  600.  
  601.         String masterQuery = null;
  602.         String message = "";
  603.  
  604.         masterQuery = new StringBuffer("Select                    ").
  605.             append("TRTMSERVICELISTID,                            ").
  606.             append("HOSPITALCODE,                        ").
  607.             append("TREATMENTCODE,TREATMENTDESCENG,  ").
  608.             append("TREATMENTDESCARB,  MEDCATEGORY,   ").
  609.             append("PRICE,  NEEDSAPPROVAL, ISNONDISCOUNT , ").
  610.             append("CREATEDBY,  CREATIONTIMESTAMP,   ").
  611.             append("LASTMODIFIEDBY,  LASTMODIFIEDTIMESTAMP,   ").
  612.             append("STATUS, DOCTORCOMMENTS from  ").
  613.             append(SITables.T_TRTMSERVICELIST).
  614.             append(" where HOSPITALCODE = ?                  ").
  615.                 toString();
  616.  
  617.         try
  618.         {
  619.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  620.  
  621.             // Load from the data base
  622.             ps = con.prepareStatement(masterQuery);
  623.             ps.setLong(1, hospitalCode);
  624.             rs = ps.executeQuery();
  625.             if(rs.next())
  626.                 {
  627.                 result = new HashMap();
  628.                 hospitalTreatmentDescArb = new HashMap();
  629.                 hospitalTreatmentDescEng = new HashMap();
  630.                    do
  631.                     {
  632.  
  633.                         objTrtmServiceBean = new TrtmServiceBean();
  634.                         objTrtmServiceBean.setTrtmServiceListId(
  635.                             rs.getLong("TRTMSERVICELISTID"));
  636.                         objTrtmServiceBean.setTreatmentCode(
  637.                             rs.getString("TREATMENTCODE"));
  638.                         objTrtmServiceBean.setHospitalCode(
  639.                             rs.getLong("HOSPITALCODE"));
  640.                         objTrtmServiceBean.setTreatmentDescEng(
  641.                             rs.getString("TREATMENTDESCENG"));
  642.                          objTrtmServiceBean.setTreatmentDescArb(
  643.                             rs.getString("TREATMENTDESCARB"));
  644.                         objTrtmServiceBean.setMedCategory(
  645.                             rs.getString("MEDCATEGORY"));
  646.                          objTrtmServiceBean.setPrice(
  647.                             rs.getDouble("PRICE"));
  648.                         objTrtmServiceBean.setNeedsApproval(
  649.                             rs.getShort("NEEDSAPPROVAL"));
  650.                         objTrtmServiceBean.setIsNonDiscount(
  651.                             rs.getByte("ISNONDISCOUNT"));
  652.                         objTrtmServiceBean.setCreatedBy(
  653.                             rs.getLong("CREATEDBY"));
  654.                         objTrtmServiceBean.setCreationTimestamp(
  655.                             rs.getTimestamp("CREATIONTIMESTAMP"));
  656.                         objTrtmServiceBean.setLastModifiedBy(
  657.                             rs.getLong("LASTMODIFIEDBY"));
  658.                         objTrtmServiceBean.setLastModifiedTimestamp(
  659.                             rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
  660.                         objTrtmServiceBean.setStatus(
  661.                             rs.getShort("STATUS"));
  662.                         objTrtmServiceBean.setDoctorComments(
  663.                             rs.getString("DOCTORCOMMENTS"));
  664.  
  665.                         hospitalTreatmentDescArb.put(objTrtmServiceBean.getTreatmentDescArb().toString(),objTrtmServiceBean);
  666.                         hospitalTreatmentDescEng.put(objTrtmServiceBean.getTreatmentDescEng().toString(),objTrtmServiceBean);
  667.                     }while(rs.next());
  668.                    result.put("hospitalTreatmentDescArb", hospitalTreatmentDescArb);
  669.                    result.put("hospitalTreatmentDescEng", hospitalTreatmentDescEng);
  670.                 }
  671.  
  672.         }
  673.         catch(GOSIException ge)
  674.         {
  675.             GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+ge);
  676.             ctx.setRollbackOnly();
  677.             throw ge;
  678.         }
  679.         catch(Exception se)
  680.         {
  681.             GOSIDebug.debugMessages("The error in getTrtmServicesListByHospital is:"+se);
  682.             ctx.setRollbackOnly();
  683.             se.printStackTrace();
  684.            
  685.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  686.             GOSIConstants.SOCIAL_INSURANCE,
  687.             this.getClass().toString(),
  688.             "getTrtmServicesListByHospital()",
  689.             se,"CMN_ERR_1000" );
  690.         }
  691.         return result;
  692.            
  693.  
  694.     }
  695.  
  696.     /**
  697.     * @METHOD NAME              :   getTrtmServiceDetail
  698.     * @INFORMATION              :   This method is to get Treatment Service Detail
  699.     * @PARAM                    :   class java.lang.Long,
  700.                                     class java.lang.String
  701.     * @RETURN                   :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceBean
  702.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  703.     * @LAST MODIFIED BY         :
  704.     * @LAST MODIFIED DATE       :
  705.     **/
  706.     public TrtmServiceBean getTrtmServiceDetail(Long hospitalCode, String trtmCode)
  707.     throws GOSIException
  708.     {
  709.  
  710.         String userName=null;
  711.         Long primarykeyHeader =null;
  712.         TrtmServiceBean objTrtmServiceBean = null;
  713.  
  714.         Exception ex = null;
  715.         con = null;
  716.         PreparedStatement ps = null;
  717.         ResultSet rs = null;
  718.  
  719.         String masterQuery = null;
  720.         String message = "";
  721.  
  722.         masterQuery = new StringBuffer("Select                    ").
  723.             append("TRTMSERVICELISTID,                            ").
  724.             append("HOSPITALCODE,                        ").
  725.             append("TREATMENTCODE,TREATMENTDESCENG,  ").
  726.             append("TREATMENTDESCARB,  MEDCATEGORY,   ").
  727.             append("PRICE,  NEEDSAPPROVAL,  ISNONDISCOUNT , ").
  728.             append("CREATEDBY,  CREATIONTIMESTAMP,   ").
  729.             append("LASTMODIFIEDBY,  LASTMODIFIEDTIMESTAMP,   ").
  730.             append("STATUS, DOCTORCOMMENTS from  ").
  731.             append(SITables.T_TRTMSERVICELIST).
  732.             append(" where HOSPITALCODE = ?  AND TREATMENTCODE = ?                ").
  733.                 toString();
  734.  
  735.         try
  736.         {
  737.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  738.  
  739.             // Load from the data base
  740.             ps = con.prepareStatement(masterQuery);
  741.             ps.setLong(1, hospitalCode);
  742.             ps.setString(2, trtmCode);
  743.             rs = ps.executeQuery();
  744.             if(rs.next())
  745.                 {
  746.                         objTrtmServiceBean = new TrtmServiceBean();
  747.                         objTrtmServiceBean.setTrtmServiceListId(
  748.                             rs.getLong("TRTMSERVICELISTID"));
  749.                         objTrtmServiceBean.setTreatmentCode(
  750.                             rs.getString("TREATMENTCODE"));
  751.                         objTrtmServiceBean.setHospitalCode(
  752.                             rs.getLong("HOSPITALCODE"));
  753.                         objTrtmServiceBean.setTreatmentDescEng(
  754.                             rs.getString("TREATMENTDESCENG"));
  755.                          objTrtmServiceBean.setTreatmentDescArb(
  756.                             rs.getString("TREATMENTDESCARB"));
  757.                         objTrtmServiceBean.setMedCategory(
  758.                             rs.getString("MEDCATEGORY"));
  759.                          objTrtmServiceBean.setPrice(
  760.                             rs.getDouble("PRICE"));
  761.                         objTrtmServiceBean.setNeedsApproval(
  762.                             rs.getShort("NEEDSAPPROVAL"));
  763.                         objTrtmServiceBean.setIsNonDiscount(
  764.                             rs.getByte("ISNONDISCOUNT"));
  765.                         objTrtmServiceBean.setCreatedBy(
  766.                             rs.getLong("CREATEDBY"));
  767.                         objTrtmServiceBean.setCreationTimestamp(
  768.                             rs.getTimestamp("CREATIONTIMESTAMP"));
  769.                         objTrtmServiceBean.setLastModifiedBy(
  770.                             rs.getLong("LASTMODIFIEDBY"));
  771.                         objTrtmServiceBean.setLastModifiedTimestamp(
  772.                             rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
  773.                         objTrtmServiceBean.setStatus(
  774.                             rs.getShort("STATUS"));
  775.                         objTrtmServiceBean.setDoctorComments(
  776.                             rs.getString("DOCTORCOMMENTS"));
  777.  
  778.                 }
  779.  
  780.         }
  781.         catch(GOSIException ge)
  782.         {
  783.             GOSIDebug.debugMessages("The error in getTrtmServiceDetail is:"+ge);
  784.             ctx.setRollbackOnly();
  785.             throw ge;
  786.         }
  787.         catch(Exception se)
  788.         {
  789.             GOSIDebug.debugMessages("The error in getTrtmServiceDetail is:"+se);
  790.             ctx.setRollbackOnly();
  791.             se.printStackTrace();
  792.  
  793.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  794.             GOSIConstants.SOCIAL_INSURANCE,
  795.             this.getClass().toString(),
  796.             "getTrtmServiceDetail()",
  797.             se,"CMN_ERR_1000" );
  798.         }
  799.         return objTrtmServiceBean;
  800.  
  801.  
  802.     }
  803.  
  804.     /* This method is used to save treatment service    */
  805.     /**
  806.     * @METHOD NAME              :   getPendingTrtmServicesDetailsByHospital
  807.     * @INFORMATION              :   This method is to get pending Treatment Services details
  808.     * @PARAM                    :   class java.util.Long,                              
  809.                                     class java.util.Long,
  810.     * @RETURN                   :   class java.lang.ArrayList
  811.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  812.     * @LAST MODIFIED BY         :  
  813.     * @LAST MODIFIED DATE       :  
  814.     **/
  815.     public HashMap getPendingTrtmServicesDetailsByHospital(Long hospitalCode,Long workflowId)
  816.     throws GOSIException
  817.     {
  818.  
  819.         String userName=null;
  820.         Long primarykeyHeader =null;
  821.         HashMap hospitalPendingTreatmentDetails = null;
  822.         HashMap hospitalPendingTreatmentDescArb= null;
  823.         HashMap  hospitalPendingTreatmentDescEng= null;
  824.         HashMap  result= null;
  825.         TrtmServiceBean objTrtmServiceBean = null;
  826.  
  827.         Exception ex = null;
  828.         con = null;
  829.         PreparedStatement ps = null;
  830.         ResultSet rs = null;
  831.  
  832.         String masterQuery = null;
  833.         String message = "";
  834.  
  835.  
  836.         masterQuery = new StringBuffer("Select                    ").
  837.             append("D.HOSPITALCODE,                        ").
  838.             append("D.TREATMENTCODE,D.TREATMENTDESCENG,  ").
  839.             append("D.TREATMENTDESCARB,  D.MEDCATEGORY,   ").
  840.             append("D.PRICE,  D.NEEDSAPPROVAL, ISNONDISCOUNT ,  ").
  841.             append("D.STATUS, D.DOCTORCOMMENTS from  ").
  842.             append(SITables.T_TRTMSERVICELISTDETAIL).append(" D, ").
  843.             append(SITables.T_TRTMSERVICELISTHEADER).append(" H ").
  844.             append(" where D.HOSPITALCODE = ?     AND             ").
  845.             append(" D.WORKFLOWID = H.WORKFLOWID    AND         ").
  846.             append(" H.WORKFLOWSTATUS NOT IN(?,?)   AND         ").
  847.             append(" H.WORKFLOWID != ?  AND             ").
  848.             append(" H.TRANSACTIONTYPE in (? , ?)                       ").
  849.                 toString();
  850.  
  851.         try
  852.         {
  853.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  854.  
  855.             // Load from the data base
  856.             ps = con.prepareStatement(masterQuery);
  857.             ps.setLong(1, hospitalCode);
  858.             ps.setShort(2, OHConstants.WFS_TRTM_SRVC_LIST_HDR_APPROVED_FO_DIR);
  859.             ps.setShort(3, OHConstants.WFS_TRTM_SRVC_LIST_HDR_CANCELLED);
  860.             ps.setLong(4, workflowId);
  861.             ps.setShort(5, OHConstants.TRTM_TYPE_NEW);
  862.             ps.setShort(6, OHConstants.TRTM_TYPE_MODIFY);
  863.             rs = ps.executeQuery();
  864.             if(rs.next())
  865.                 {
  866.                     hospitalPendingTreatmentDetails = new HashMap();
  867.                     hospitalPendingTreatmentDescArb= new HashMap();
  868.                     hospitalPendingTreatmentDescEng= new HashMap();
  869.                     result=new HashMap();
  870.                    
  871.                    do
  872.                     {
  873.  
  874.                         objTrtmServiceBean = new TrtmServiceBean();
  875.                         objTrtmServiceBean.setTreatmentCode(
  876.                             rs.getString("TREATMENTCODE"));
  877.                         objTrtmServiceBean.setHospitalCode(
  878.                             rs.getLong("HOSPITALCODE"));
  879.                         objTrtmServiceBean.setTreatmentDescEng(
  880.                             rs.getString("TREATMENTDESCENG"));
  881.                          objTrtmServiceBean.setTreatmentDescArb(
  882.                             rs.getString("TREATMENTDESCARB"));
  883.                         objTrtmServiceBean.setMedCategory(
  884.                             rs.getString("MEDCATEGORY"));
  885.                          objTrtmServiceBean.setPrice(
  886.                             rs.getDouble("PRICE"));
  887.                         objTrtmServiceBean.setNeedsApproval(
  888.                             rs.getShort("NEEDSAPPROVAL"));
  889.                         objTrtmServiceBean.setIsNonDiscount(
  890.                             rs.getByte("ISNONDISCOUNT"));
  891.                         objTrtmServiceBean.setStatus(
  892.                             rs.getShort("STATUS"));
  893.                         objTrtmServiceBean.setDoctorComments(
  894.                             rs.getString("DOCTORCOMMENTS"));
  895.                         hospitalPendingTreatmentDetails.put(objTrtmServiceBean.getTreatmentCode().toString(),objTrtmServiceBean);
  896.                         hospitalPendingTreatmentDescArb.put(objTrtmServiceBean.getTreatmentDescArb().toLowerCase(),objTrtmServiceBean);
  897.                         hospitalPendingTreatmentDescEng.put(objTrtmServiceBean.getTreatmentDescEng().toLowerCase(),objTrtmServiceBean);
  898.                      
  899.                     }while(rs.next());
  900.                    result.put("hospitalPendingTreatmentDetails", hospitalPendingTreatmentDetails);
  901.                    result.put("hospitalPendingTreatmentDescArb", hospitalPendingTreatmentDescArb);
  902.                    result.put("hospitalPendingTreatmentDescEng", hospitalPendingTreatmentDescEng);
  903.                 }
  904.  
  905.         }
  906.         catch(GOSIException ge)
  907.         {
  908.             GOSIDebug.debugMessages("The error in getPendingTrtmServicesDetailsByHospital is:"+ge);
  909.             ctx.setRollbackOnly();
  910.             throw ge;
  911.         }
  912.         catch(Exception se)
  913.         {
  914.             GOSIDebug.debugMessages("The error in getPendingTrtmServicesDetailsByHospital is:"+se);
  915.             ctx.setRollbackOnly();
  916.             se.printStackTrace();
  917.            
  918.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  919.             GOSIConstants.SOCIAL_INSURANCE,
  920.             this.getClass().toString(),
  921.             "getPendingTrtmServicesDetailsByHospital()",
  922.             se,"CMN_ERR_1000" );
  923.         }
  924.         finally
  925.         {
  926.              GOSIUtilities.cleanUp(con, p, rs);
  927.         }
  928.         return result;
  929.            
  930.  
  931.     }
  932.  
  933.  
  934. /* This method is used to save treatment service    */
  935.     /**
  936.     * @METHOD NAME              :   validateTrtmServicesDetails
  937.     * @INFORMATION              :   This method is to validate Treatment Services details
  938.     * @PARAM                    :   class java.util.Long,                              
  939.                                     class java.util.ArrayList,
  940.                                     class java.util.String,
  941.                                     class java.util.Long,
  942.     * @RETURN                   :   class java.lang.ArrayList
  943.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  944.     * @LAST MODIFIED BY         :  
  945.     * @LAST MODIFIED DATE       :  
  946.     **/
  947.     public Hashtable validateTrtmServicesDetails(Long hospitalCode,ArrayList hospitalTreatmentList,
  948.         String mode,Long workflowId)
  949.     throws GOSIException
  950.     {
  951.  
  952.         Hashtable result=new Hashtable();
  953.         ArrayList duplicateRecords = new ArrayList();
  954.         ArrayList duplicateRecordsEnter = new ArrayList();
  955.         ArrayList duplicateRecordsDescArb = new ArrayList();
  956.         ArrayList duplicateRecordsDescEng = new ArrayList();
  957.         ArrayList changedPriceRecords = new ArrayList();
  958.         TrtmServiceBean objTrtmServiceBeanStock=null;
  959.         TrtmServiceBean objTrtmServiceBeanPending=null;
  960.         HashMap hospitalPendingTreatmentDetails = null;
  961.         HashMap hospitalPendingTreatmentDescArb= null;
  962.         HashMap  hospitalPendingTreatmentDescEng= null;
  963.         HashMap hospitalTreatmentDescArb = null;
  964.         HashMap hospitalTreatmentDescEng= null;
  965.         try
  966.         {
  967.             HashMap hospitalTreatmentListStock = getTrtmServicesListByHospital(hospitalCode);
  968.             HashMap trtmServicesDescArbAndEngList = getTrtmServicesDescArbAndEngListByHospital(hospitalCode);
  969.             if(trtmServicesDescArbAndEngList!=null){
  970.                 hospitalTreatmentDescArb  = (HashMap)trtmServicesDescArbAndEngList.get("hospitalTreatmentDescArb");
  971.                 hospitalTreatmentDescEng  = (HashMap) trtmServicesDescArbAndEngList.get("hospitalTreatmentDescEng");
  972.             }
  973.             HashMap pendingResult = getPendingTrtmServicesDetailsByHospital(hospitalCode,workflowId);  
  974.             if( pendingResult!=null && pendingResult.containsKey("hospitalPendingTreatmentDetails")){
  975.             hospitalPendingTreatmentDetails =(HashMap) pendingResult.get("hospitalPendingTreatmentDetails");
  976.             hospitalPendingTreatmentDescArb =(HashMap) pendingResult.get("hospitalPendingTreatmentDescArb");
  977.             hospitalPendingTreatmentDescEng=(HashMap) pendingResult.get("hospitalPendingTreatmentDescEng");
  978.             }
  979.             if(hospitalTreatmentListStock != null)
  980.             {
  981.                
  982.  
  983.                 for(int j=0;j<hospitalTreatmentList.size();j++)
  984.                 {
  985.                    
  986.                     TrtmServiceBean objTrtmServiceBean =
  987.                     (TrtmServiceBean) hospitalTreatmentList.get(j);
  988.  
  989.                     String trtmCodeUpperCase = objTrtmServiceBean.getTreatmentCode().toUpperCase();
  990.                     String trtmCodeLowerCase = objTrtmServiceBean.getTreatmentCode().toLowerCase();
  991.                     if(hospitalTreatmentListStock.containsKey(trtmCodeUpperCase)){
  992.                         objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentListStock.get(trtmCodeUpperCase);
  993.                     }
  994.                     else if(hospitalTreatmentListStock.containsKey(trtmCodeLowerCase)) {
  995.                         objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentListStock.get(trtmCodeLowerCase);
  996.                     }
  997.                     if(objTrtmServiceBeanStock!=null){
  998.                    
  999.                         if((objTrtmServiceBeanStock.getTreatmentCode().equals(
  1000.                                 trtmCodeUpperCase)) ||
  1001.                                 (objTrtmServiceBeanStock.getTreatmentCode().equals(
  1002.                                         trtmCodeLowerCase)))
  1003.                         {
  1004.  
  1005.                             if(!objTrtmServiceBeanStock.getTreatmentDescArb().toLowerCase().equals(
  1006.                                 objTrtmServiceBean.getTreatmentDescArb().toLowerCase()) ||
  1007.                                 !objTrtmServiceBeanStock.getTreatmentDescEng().toLowerCase().equals(
  1008.                                 objTrtmServiceBean.getTreatmentDescEng().toLowerCase()) ||
  1009.                                 objTrtmServiceBeanStock.getPrice().equals(
  1010.                                 objTrtmServiceBean.getPrice()))
  1011.                             {
  1012.                                 boolean addRecord = true;
  1013.                                 for(int k=0;k<duplicateRecords.size();k++)
  1014.                                 {
  1015.                                     TrtmServiceBean objTrtmServiceBeanTemp =
  1016.                                         (TrtmServiceBean) duplicateRecords.get(k);
  1017.  
  1018.                                     if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1019.                                             objTrtmServiceBeanStock.getTreatmentCode()))
  1020.                                     {
  1021.                                             addRecord = false;                                 
  1022.                                     }
  1023.                                 }
  1024.  
  1025.                                 if(addRecord)
  1026.                                 {
  1027.                                     duplicateRecords.add(objTrtmServiceBean);
  1028.                                 }
  1029.                             }
  1030.                         }                      
  1031.                         if((objTrtmServiceBeanStock.getTreatmentCode().equals(
  1032.                                 trtmCodeUpperCase)) ||
  1033.                                 (objTrtmServiceBeanStock.getTreatmentCode().equals(
  1034.                                         trtmCodeLowerCase)))
  1035.                         {
  1036.                             if(!objTrtmServiceBeanStock.getPrice().equals(
  1037.                                     objTrtmServiceBean.getPrice()))
  1038.                             {
  1039.                                 boolean addRecord = true;
  1040.                                 for(int k=0;k<changedPriceRecords.size();k++)
  1041.                                     {
  1042.                                         TrtmServiceBean objTrtmServiceBeanTemp =
  1043.                                             (TrtmServiceBean) changedPriceRecords.get(k);
  1044.  
  1045.                                         if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1046.                                                 objTrtmServiceBeanStock.getTreatmentCode()))
  1047.                                         {
  1048.                                             addRecord = false;                                 
  1049.                                         }
  1050.                                     }
  1051.                                 if(addRecord)
  1052.                                 {
  1053.                                     changedPriceRecords.add(objTrtmServiceBean);
  1054.                                 }
  1055.                             }
  1056.                         }
  1057.                     }
  1058.                 }
  1059.             }
  1060.             if(hospitalTreatmentDescArb != null)
  1061.             {              
  1062.                     for(int j=0;j<hospitalTreatmentList.size();j++)
  1063.                     {          
  1064.                         TrtmServiceBean objTrtmServiceBean =
  1065.                         (TrtmServiceBean) hospitalTreatmentList.get(j);
  1066.                         String trtmDescArbLowerCase = objTrtmServiceBean.getTreatmentDescArb().toLowerCase();
  1067.                         String trtmDescArbUpperCase = objTrtmServiceBean.getTreatmentDescArb().toUpperCase();
  1068.                              if(hospitalTreatmentDescArb.containsKey(trtmDescArbLowerCase)) {
  1069.                                  objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescArb.get(trtmDescArbLowerCase);
  1070.                                  if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
  1071.                                          || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
  1072.  
  1073.                                  boolean addRecord = true;
  1074.                                     for(int k=0;k<duplicateRecordsDescArb.size();k++)
  1075.                                     {
  1076.                                         TrtmServiceBean objTrtmServiceBeanTemp =
  1077.                                             (TrtmServiceBean) duplicateRecordsDescArb.get(k);
  1078.  
  1079.                                         if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1080.                                                 objTrtmServiceBeanStock.getTreatmentCode()))
  1081.                                         {
  1082.                                             addRecord = false;                                 
  1083.                                         }
  1084.                                     }
  1085.  
  1086.                                     if(addRecord)
  1087.                                     {
  1088.                                         duplicateRecordsDescArb.add(objTrtmServiceBean);
  1089.                                     }
  1090.                                  }
  1091.                              }
  1092.                              else if(hospitalTreatmentDescArb.containsKey(trtmDescArbUpperCase)) {
  1093.                                  objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescArb.get(trtmDescArbUpperCase);
  1094.                                  if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
  1095.                                          || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
  1096.                                
  1097.                                  boolean addRecord = true;
  1098.                                     for(int k=0;k<duplicateRecordsDescArb.size();k++)
  1099.                                     {
  1100.                                         TrtmServiceBean objTrtmServiceBeanTemp =
  1101.                                             (TrtmServiceBean) duplicateRecordsDescArb.get(k);
  1102.  
  1103.                                         if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1104.                                                 objTrtmServiceBeanStock.getTreatmentCode()))
  1105.                                         {
  1106.                                             addRecord = false;                                 
  1107.                                         }
  1108.                                     }
  1109.  
  1110.                                     if(addRecord)
  1111.                                     {
  1112.                                         duplicateRecordsDescArb.add(objTrtmServiceBean);
  1113.                                     }
  1114.                                  }
  1115.                              }
  1116.  
  1117.                     }
  1118.  
  1119.                 }
  1120.             if(hospitalTreatmentDescEng != null)
  1121.             {
  1122.                    
  1123.  
  1124.                     for(int j=0;j<hospitalTreatmentList.size();j++)
  1125.                     {
  1126.                    
  1127.                         TrtmServiceBean objTrtmServiceBean =
  1128.                         (TrtmServiceBean) hospitalTreatmentList.get(j);
  1129.  
  1130.                         String trtmDescEngLowerCase = objTrtmServiceBean.getTreatmentDescEng().toLowerCase();
  1131.                         String trtmDescEngUpperCase = objTrtmServiceBean.getTreatmentDescEng().toUpperCase();
  1132.                              if(hospitalTreatmentDescEng.containsKey(trtmDescEngLowerCase)) {
  1133.                                  objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescEng.get(trtmDescEngLowerCase);
  1134.                                  if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
  1135.                                          || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
  1136.                                  boolean addRecord = true;
  1137.                                     for(int k=0;k<duplicateRecordsDescEng.size();k++)
  1138.                                     {
  1139.                                         TrtmServiceBean objTrtmServiceBeanTemp =
  1140.                                             (TrtmServiceBean) duplicateRecordsDescEng.get(k);
  1141.  
  1142.                                         if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1143.                                                 objTrtmServiceBeanStock.getTreatmentCode()))
  1144.                                         {
  1145.                                             addRecord = false;                                 
  1146.                                         }
  1147.                                     }
  1148.  
  1149.                                     if(addRecord)
  1150.                                     {
  1151.                                         duplicateRecordsDescEng.add(objTrtmServiceBean);
  1152.                                     }
  1153.                                  }
  1154.                              }
  1155.                              else if(hospitalTreatmentDescEng.containsKey(trtmDescEngUpperCase)) {
  1156.                                  objTrtmServiceBeanStock=(TrtmServiceBean)hospitalTreatmentDescEng.get(trtmDescEngUpperCase);
  1157.                                  if(!objTrtmServiceBeanStock.getTreatmentCode().equals(objTrtmServiceBean.getTreatmentCode())
  1158.                                          || objTrtmServiceBeanStock.getPrice().equals(objTrtmServiceBean.getPrice())){
  1159.                                
  1160.                                  boolean addRecord = true;
  1161.                                     for(int k=0;k<duplicateRecordsDescEng.size();k++)
  1162.                                     {
  1163.                                         TrtmServiceBean objTrtmServiceBeanTemp =
  1164.                                             (TrtmServiceBean) duplicateRecordsDescEng.get(k);
  1165.  
  1166.                                         if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1167.                                                 objTrtmServiceBeanStock.getTreatmentCode()))
  1168.                                         {
  1169.                                             addRecord = false;                                 
  1170.                                         }
  1171.                                     }
  1172.  
  1173.                                     if(addRecord)
  1174.                                     {
  1175.                                         duplicateRecordsDescEng.add(objTrtmServiceBean);
  1176.                                     }
  1177.                                  }
  1178.                         }
  1179.                                                    
  1180.                     }
  1181.  
  1182.                 }
  1183.            
  1184.  
  1185.             if(hospitalPendingTreatmentDetails != null)
  1186.             {
  1187.                    
  1188.  
  1189.                     for(int j=0;j<hospitalTreatmentList.size();j++)
  1190.                     {
  1191.                    
  1192.                         TrtmServiceBean objTrtmServiceBean =
  1193.                         (TrtmServiceBean) hospitalTreatmentList.get(j);
  1194.  
  1195.                         String trtmCodeUpperCase = objTrtmServiceBean.getTreatmentCode().toUpperCase();
  1196.                         String trtmCodeLowerCase = objTrtmServiceBean.getTreatmentCode().toLowerCase();                    
  1197.                         if(hospitalPendingTreatmentDetails.containsKey(trtmCodeUpperCase)){
  1198.                             objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDetails.get(trtmCodeUpperCase);
  1199.                         }
  1200.                         else if(hospitalPendingTreatmentDetails.containsKey(trtmCodeLowerCase)) {
  1201.                             objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDetails.get(trtmCodeLowerCase);
  1202.                         }
  1203.             if(objTrtmServiceBeanPending!=null){
  1204.                         if((objTrtmServiceBeanPending.getTreatmentCode().equals(
  1205.                             trtmCodeUpperCase)) ||
  1206.                             (objTrtmServiceBeanPending.getTreatmentCode().equals(
  1207.                             trtmCodeLowerCase)))
  1208.                         {
  1209.                        
  1210.                             boolean addRecord = true;
  1211.                             for(int k=0;k<duplicateRecords.size();k++)
  1212.                             {
  1213.                                 TrtmServiceBean objTrtmServiceBeanTemp =
  1214.                                     (TrtmServiceBean) duplicateRecords.get(k);
  1215.  
  1216.                                 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1217.                                     objTrtmServiceBeanPending.getTreatmentCode()))
  1218.                                 {
  1219.                                     addRecord = false;                                 
  1220.                                 }
  1221.                             }
  1222.  
  1223.                             if(addRecord)
  1224.                             {
  1225.                                 duplicateRecords.add(objTrtmServiceBean);
  1226.                             }
  1227.  
  1228.                         }
  1229.                     }
  1230.  
  1231.                 }
  1232.             }
  1233.            
  1234.             if(hospitalPendingTreatmentDescArb != null)
  1235.             {
  1236.                    
  1237.  
  1238.                     for(int j=0;j<hospitalTreatmentList.size();j++)
  1239.                     {
  1240.                    
  1241.                         TrtmServiceBean objTrtmServiceBean =
  1242.                         (TrtmServiceBean) hospitalTreatmentList.get(j);
  1243.  
  1244.                         String trtmDescArbLowerCase = objTrtmServiceBean.getTreatmentDescArb().toLowerCase();
  1245.                         String trtmDescArbUpperCase = objTrtmServiceBean.getTreatmentDescArb().toUpperCase();
  1246.                              if(hospitalPendingTreatmentDescArb.containsKey(trtmDescArbLowerCase)) {
  1247.                             objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescArb.get(trtmDescArbLowerCase);
  1248.                             boolean addRecord = true;
  1249.                             for(int k=0;k<duplicateRecordsDescArb.size();k++)
  1250.                             {
  1251.                                 TrtmServiceBean objTrtmServiceBeanTemp =
  1252.                                     (TrtmServiceBean) duplicateRecordsDescArb.get(k);
  1253.  
  1254.                                 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1255.                                     objTrtmServiceBeanPending.getTreatmentCode()))
  1256.                                 {
  1257.                                     addRecord = false;                                 
  1258.                                 }
  1259.                             }
  1260.  
  1261.                             if(addRecord)
  1262.                             {
  1263.                                 duplicateRecordsDescArb.add(objTrtmServiceBean);
  1264.                             }
  1265.                         }
  1266.                              else if(hospitalPendingTreatmentDescArb.containsKey(trtmDescArbUpperCase)) {
  1267.                             objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescArb.get(trtmDescArbUpperCase);
  1268.                             boolean addRecord = true;
  1269.                             for(int k=0;k<duplicateRecordsDescArb.size();k++)
  1270.                             {
  1271.                                 TrtmServiceBean objTrtmServiceBeanTemp =
  1272.                                     (TrtmServiceBean) duplicateRecordsDescArb.get(k);
  1273.  
  1274.                                 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1275.                                     objTrtmServiceBeanPending.getTreatmentCode()))
  1276.                                 {
  1277.                                     addRecord = false;                                 
  1278.                                 }
  1279.                             }
  1280.  
  1281.                             if(addRecord)
  1282.                             {
  1283.                                 duplicateRecordsDescArb.add(objTrtmServiceBean);
  1284.                             }
  1285.                         }
  1286.                     }
  1287.  
  1288.                 }
  1289.             if(hospitalPendingTreatmentDescEng != null)
  1290.             {
  1291.                    
  1292.  
  1293.                     for(int j=0;j<hospitalTreatmentList.size();j++)
  1294.                     {
  1295.                    
  1296.                         TrtmServiceBean objTrtmServiceBean =
  1297.                         (TrtmServiceBean) hospitalTreatmentList.get(j);
  1298.  
  1299.                         String trtmDescEngLowerCase = objTrtmServiceBean.getTreatmentDescEng().toLowerCase();
  1300.                         String trtmDescEngUpperCase = objTrtmServiceBean.getTreatmentDescEng().toUpperCase();
  1301.                              if(hospitalPendingTreatmentDescEng.containsKey(trtmDescEngLowerCase)) {
  1302.                             objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescEng.get(trtmDescEngLowerCase);
  1303.                                 boolean addRecord = true;
  1304.                                 for(int k=0;k<duplicateRecordsDescEng.size();k++)
  1305.                                 {
  1306.                                     TrtmServiceBean objTrtmServiceBeanTemp =
  1307.                                         (TrtmServiceBean) duplicateRecordsDescEng.get(k);
  1308.  
  1309.                                     if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1310.                                             objTrtmServiceBeanPending.getTreatmentCode()))
  1311.                                     {
  1312.                                         addRecord = false;                                 
  1313.                                     }
  1314.                                 }
  1315.  
  1316.                                 if(addRecord)
  1317.                                 {
  1318.                                 duplicateRecordsDescEng.add(objTrtmServiceBean);
  1319.                                 }
  1320.  
  1321.                         }
  1322.                              else if(hospitalPendingTreatmentDescEng.containsKey(trtmDescEngUpperCase)) {
  1323.                             objTrtmServiceBeanPending=(TrtmServiceBean)hospitalPendingTreatmentDescEng.get(trtmDescEngLowerCase);
  1324.                                 boolean addRecord = true;
  1325.                                 for(int k=0;k<duplicateRecordsDescEng.size();k++)
  1326.                                 {
  1327.                                     TrtmServiceBean objTrtmServiceBeanTemp =
  1328.                                         (TrtmServiceBean) duplicateRecordsDescEng.get(k);
  1329.                                    
  1330.                                     if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1331.                                             objTrtmServiceBeanPending.getTreatmentCode()))
  1332.                                     {
  1333.                                     addRecord = false;                                 
  1334.                                     }
  1335.                                 }
  1336.  
  1337.                                 if(addRecord)
  1338.                                 {
  1339.                                     duplicateRecordsDescEng.add(objTrtmServiceBean);
  1340.                                 }
  1341.                         }
  1342.                     }
  1343.  
  1344.                 }
  1345.            
  1346.  
  1347.             if(hospitalTreatmentList != null)
  1348.             {
  1349.                 for(int i=0;i<hospitalTreatmentList.size();i++)
  1350.                 {
  1351.                     TrtmServiceBean objTrtmServiceBeanDuplicated =
  1352.                         (TrtmServiceBean) hospitalTreatmentList.get(i);    
  1353.  
  1354.                     for(int j=i+1;j<hospitalTreatmentList.size();j++)
  1355.                     {
  1356.                         TrtmServiceBean objTrtmServiceBean =
  1357.                         (TrtmServiceBean) hospitalTreatmentList.get(j);
  1358.  
  1359.                         String trtmCodeUpperCase = objTrtmServiceBean.getTreatmentCode().toUpperCase();
  1360.                         String trtmCodeLowerCase = objTrtmServiceBean.getTreatmentCode().toLowerCase();
  1361.                         String trtmDescArbUpperCase = objTrtmServiceBean.getTreatmentDescArb().toUpperCase();
  1362.                         String trtmDescArbLowerCase = objTrtmServiceBean.getTreatmentDescArb().toLowerCase();
  1363.                         String trtmDescEngUpperCase = objTrtmServiceBean.getTreatmentDescEng().toUpperCase();
  1364.                         String trtmDescEngLowerCase = objTrtmServiceBean.getTreatmentDescEng().toLowerCase();
  1365.                        
  1366.                        
  1367.                         if((objTrtmServiceBeanDuplicated.getTreatmentCode().equals(
  1368.                                 trtmCodeUpperCase)) ||
  1369.                                 (objTrtmServiceBeanDuplicated.getTreatmentCode().equals(
  1370.                                 trtmCodeLowerCase)))
  1371.                             {
  1372.                        
  1373.                             boolean addRecord = true;
  1374.                             for(int k=0;k<duplicateRecordsEnter.size();k++)
  1375.                             {
  1376.                                 TrtmServiceBean objTrtmServiceBeanTemp =
  1377.                                     (TrtmServiceBean) duplicateRecordsEnter.get(k);
  1378.  
  1379.                                 if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1380.                                     objTrtmServiceBeanDuplicated.getTreatmentCode()))
  1381.                                 {
  1382.                                     addRecord = false;                                 
  1383.                                 }
  1384.                             }
  1385.  
  1386.                             if(addRecord)
  1387.                             {
  1388.                                 duplicateRecordsEnter.add(objTrtmServiceBean);
  1389.                             }
  1390.                         }
  1391.                        
  1392.                         else if((objTrtmServiceBeanDuplicated.getTreatmentDescEng().equals(
  1393.                             trtmDescEngUpperCase)) ||
  1394.                             (objTrtmServiceBeanDuplicated.getTreatmentDescEng().equals(
  1395.                             trtmDescEngLowerCase)))
  1396.                         {  
  1397.                                 boolean addRecord = true;
  1398.                                 for(int k=0;k<duplicateRecordsDescEng.size();k++)
  1399.                                 {
  1400.                                     TrtmServiceBean objTrtmServiceBeanTemp =
  1401.                                         (TrtmServiceBean) duplicateRecordsDescEng.get(k);
  1402.  
  1403.                                     if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1404.                                         objTrtmServiceBeanDuplicated.getTreatmentCode()))
  1405.                                     {
  1406.                                         addRecord = false;                                 
  1407.                                     }
  1408.                                 }
  1409.  
  1410.                                 if(addRecord)
  1411.                                 {
  1412.                                     duplicateRecordsDescEng.add(objTrtmServiceBean);
  1413.                                 }
  1414.                             }
  1415.                         else if((objTrtmServiceBeanDuplicated.getTreatmentDescArb().equals(
  1416.                                 trtmDescArbUpperCase)) ||
  1417.                                 (objTrtmServiceBeanDuplicated.getTreatmentDescArb().equals(
  1418.                                 trtmDescArbLowerCase)))
  1419.                             {
  1420.                            
  1421.                                 boolean addRecord = true;
  1422.                                 for(int k=0;k<duplicateRecordsDescArb.size();k++)
  1423.                                 {
  1424.                                     TrtmServiceBean objTrtmServiceBeanTemp =
  1425.                                         (TrtmServiceBean) duplicateRecordsDescArb.get(k);
  1426.  
  1427.                                     if(objTrtmServiceBeanTemp.getTreatmentCode().equals(
  1428.                                         objTrtmServiceBeanDuplicated.getTreatmentCode()))
  1429.                                     {
  1430.                                         addRecord = false;                                 
  1431.                                     }
  1432.                                 }
  1433.  
  1434.                                 if(addRecord)
  1435.                                 {
  1436.                                     duplicateRecordsDescArb.add(objTrtmServiceBean);
  1437.                                 }
  1438.                             }
  1439.                     }
  1440.  
  1441.                 }
  1442.             }
  1443.         }
  1444.         catch(GOSIException ge)
  1445.         {
  1446.             GOSIDebug.debugMessages("The error in validateTrtmServicesDetails is:"+ge);
  1447.             ctx.setRollbackOnly();
  1448.             throw ge;
  1449.         }
  1450.         catch(Exception se)
  1451.         {
  1452.             GOSIDebug.debugMessages("The error in validateTrtmServicesDetails is:"+se);
  1453.             ctx.setRollbackOnly();
  1454.             se.printStackTrace();          
  1455.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1456.             GOSIConstants.SOCIAL_INSURANCE,
  1457.             this.getClass().toString(),
  1458.             "validateTrtmServicesDetails()",
  1459.             se,"CMN_ERR_1000" );
  1460.         }
  1461.         result.put("duplicateRecords", duplicateRecords);
  1462.         result.put("duplicateRecordsEnter", duplicateRecordsEnter);
  1463.         result.put("duplicateRecordsDescArb", duplicateRecordsDescArb);
  1464.         result.put("duplicateRecordsDescEng", duplicateRecordsDescEng);
  1465.         result.put("changedPriceRecords", changedPriceRecords);
  1466.        
  1467.           return result;
  1468.  
  1469.     }
  1470.     /**
  1471.     * @METHOD NAME              :   getTrtmServicesList
  1472.     * @INFORMATION              :   This method is to get Approved Treatment Services
  1473.     *                               List of hospital in Arraylist
  1474.     * @PARAM                    :   Long                               
  1475.                                    
  1476.     * @RETURN                   :   class java.util.ArrayList
  1477.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1478.     * @LAST MODIFIED BY         :  
  1479.     * @LAST MODIFIED DATE       :  
  1480.     **/
  1481.     public ArrayList getTrtmServicesList(Long hospitalCode)
  1482.     throws GOSIException
  1483.     {
  1484.  
  1485.        
  1486.         ArrayList hospitalTreatmentList = null;
  1487.         TrtmServiceBean objTrtmServiceBean = null;
  1488.  
  1489.         con = null;
  1490.         PreparedStatement ps = null;
  1491.         ResultSet rs = null;
  1492.         String masterQuery = null;
  1493.  
  1494.         masterQuery = new StringBuffer("Select                    ").
  1495.             append("TRTMSERVICELISTID,                            ").
  1496.             append("HOSPITALCODE,                        ").
  1497.             append("TREATMENTCODE,TREATMENTDESCENG,  ").
  1498.             append("TREATMENTDESCARB,  MEDCATEGORY,   ").
  1499.             append("PRICE,  NEEDSAPPROVAL, ISNONDISCOUNT ,    ").
  1500.             append("CREATEDBY,  CREATIONTIMESTAMP,   ").
  1501.             append("LASTMODIFIEDBY,  LASTMODIFIEDTIMESTAMP,   ").
  1502.             append("STATUS, DOCTORCOMMENTS from  ").
  1503.             append(SITables.T_TRTMSERVICELIST).
  1504.             append(" where HOSPITALCODE = ? AND STATUS=? ").
  1505.                 toString();
  1506.  
  1507.         try
  1508.         {
  1509.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  1510.  
  1511.             // Load from the data base
  1512.             ps = con.prepareStatement(masterQuery);
  1513.             ps.setLong(1, hospitalCode);
  1514.             ps.setShort(2, OHConstants.TRTM_SRVC_LIST_DET_STATUS_APPROVED);
  1515.             rs = ps.executeQuery();
  1516.          
  1517.                     hospitalTreatmentList = new ArrayList();
  1518.                 while(rs.next()){
  1519.  
  1520.                         objTrtmServiceBean = new TrtmServiceBean();
  1521.                         objTrtmServiceBean.setTrtmServiceListId(
  1522.                             rs.getLong("TRTMSERVICELISTID"));
  1523.                         objTrtmServiceBean.setTreatmentCode(
  1524.                             rs.getString("TREATMENTCODE"));
  1525.                         objTrtmServiceBean.setHospitalCode(
  1526.                             rs.getLong("HOSPITALCODE"));
  1527.                         objTrtmServiceBean.setTreatmentDescEng(
  1528.                             rs.getString("TREATMENTDESCENG"));
  1529.                          objTrtmServiceBean.setTreatmentDescArb(
  1530.                             rs.getString("TREATMENTDESCARB"));
  1531.                         objTrtmServiceBean.setMedCategory(
  1532.                             rs.getString("MEDCATEGORY"));
  1533.                          objTrtmServiceBean.setPrice(
  1534.                             rs.getDouble("PRICE"));
  1535.                         objTrtmServiceBean.setNeedsApproval(
  1536.                             rs.getShort("NEEDSAPPROVAL"));
  1537.                         objTrtmServiceBean.setIsNonDiscount(
  1538.                             rs.getByte("ISNONDISCOUNT"));
  1539.                         objTrtmServiceBean.setCreatedBy(
  1540.                             rs.getLong("CREATEDBY"));
  1541.                         objTrtmServiceBean.setCreationTimestamp(
  1542.                             rs.getTimestamp("CREATIONTIMESTAMP"));
  1543.                         objTrtmServiceBean.setLastModifiedBy(
  1544.                             rs.getLong("LASTMODIFIEDBY"));
  1545.                         objTrtmServiceBean.setLastModifiedTimestamp(
  1546.                             rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
  1547.                         objTrtmServiceBean.setStatus(
  1548.                             rs.getShort("STATUS"));
  1549.                         objTrtmServiceBean.setDoctorComments(
  1550.                             rs.getString("DOCTORCOMMENTS"));
  1551.  
  1552.                         hospitalTreatmentList.add(objTrtmServiceBean);
  1553.                 }
  1554.                 }catch(GOSIException ge)
  1555.                 {
  1556.                     GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+ge);
  1557.                     ctx.setRollbackOnly();
  1558.                     throw ge;
  1559.                 }
  1560.                 catch(Exception se)
  1561.                 {
  1562.                     GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+se);
  1563.                     ctx.setRollbackOnly();
  1564.                     se.printStackTrace();
  1565.                    
  1566.                     throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1567.                     GOSIConstants.SOCIAL_INSURANCE,
  1568.                     this.getClass().toString(),
  1569.                     "getTrtmServicesList()",
  1570.                     se,"CMN_ERR_1000" );
  1571.                 }
  1572.                 finally{
  1573.                      GOSIUtilities.cleanUp(con, p, rs);
  1574.                      return hospitalTreatmentList;
  1575.                    
  1576.                 }
  1577.                
  1578.     }
  1579.    
  1580.     /**
  1581.     * @METHOD NAME              :   getTrtmServicesListVersion
  1582.     * @INFORMATION              :   This method is to get Treatment Services List Version
  1583.     *                              
  1584.     * @PARAM                    :   String                             
  1585.                                    
  1586.     * @RETURN                   :   class java.util.ArrayList
  1587.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1588.     * @LAST MODIFIED BY         :  
  1589.     * @LAST MODIFIED DATE       :  
  1590.     **/
  1591.     public String getTrtmServicesListVersion(Long hospitalCode)
  1592.     throws GOSIException
  1593.     {
  1594.  
  1595.        
  1596.         String hospitalTreatmentListVersion = "";
  1597.         TrtmServiceBean objTrtmServiceBean = null;
  1598.  
  1599.         con = null;
  1600.         PreparedStatement ps = null;
  1601.         ResultSet rs = null;
  1602.  
  1603.         String query = "select  max(CREATIONTIMESTAMP) as maxCreation , max (LASTMODIFIEDTIMESTAMP) as maxLastMod from T_TRTMSERVICELIST";
  1604.  
  1605.         try
  1606.         {
  1607.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  1608.  
  1609.             // Load from the data base
  1610.             ps = con.prepareStatement(query);
  1611.             rs = ps.executeQuery();
  1612.          
  1613.                 if(rs.next()){
  1614.                     Timestamp maxCreat=rs.getTimestamp("MAXCREATION");
  1615.                     Timestamp maxModify=rs.getTimestamp("MAXLASTMOD");
  1616.                     if(maxCreat.after(maxModify)){
  1617.                         hospitalTreatmentListVersion=(maxCreat.getYear()%100)+""+((maxCreat.getMonth()+1)<10?"0"+(maxCreat.getMonth()+1):(maxCreat.getMonth()+1))+
  1618.                         ""+(maxCreat.getDate()<10?"0"+ maxCreat.getDate():maxCreat.getDate())+""+maxCreat.getHours()+""+maxCreat.getMinutes()+"";
  1619.                     }
  1620.                     else {
  1621.                         hospitalTreatmentListVersion=(maxModify.getYear()%100)+""+((maxModify.getMonth()+1)<10?"0"+(maxModify.getMonth()+1):(maxModify.getMonth()+1))+
  1622.                         ""+(maxModify.getDate()<10?"0"+ maxModify.getDate():maxModify.getDate())+""+maxModify.getHours()+""+maxModify.getMinutes()+"";
  1623.                     }
  1624.                 }
  1625.                
  1626.                 }catch(GOSIException ge)
  1627.                 {
  1628.                     GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+ge);
  1629.                     ctx.setRollbackOnly();
  1630.                     throw ge;
  1631.                 }
  1632.                 catch(Exception se)
  1633.                 {
  1634.                     GOSIDebug.debugMessages("The error in getTrtmServicesList is:"+se);
  1635.                     ctx.setRollbackOnly();
  1636.                     se.printStackTrace();
  1637.                    
  1638.                     throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1639.                     GOSIConstants.SOCIAL_INSURANCE,
  1640.                     this.getClass().toString(),
  1641.                     "getTrtmServicesListVersion()",
  1642.                     se,"CMN_ERR_1000" );
  1643.                 }
  1644.                 finally{
  1645.                      GOSIUtilities.cleanUp(con, p, rs);
  1646.                      return hospitalTreatmentListVersion;
  1647.                    
  1648.                 }
  1649.                
  1650.     }
  1651.  
  1652.  
  1653.  
  1654. /* This method is used to save treatment service    */
  1655.     /**
  1656.     * @METHOD NAME              :   getTrtmServicesDetails
  1657.     * @INFORMATION              :   This method is to get Treatment Services details
  1658.     * @PARAM                    :   class java.util.ArrayList,                             
  1659.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  1660.     * @RETURN                   :   class java.lang.String
  1661.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1662.     * @LAST MODIFIED BY         :  
  1663.     * @LAST MODIFIED DATE       :  
  1664.     **/
  1665.     public TrtmServiceHeaderBean getTrtmServicesDetails(long primaryKey)
  1666.     throws GOSIException
  1667.     {
  1668.  
  1669.         String userName=null;
  1670.         Long primarykeyHeader =null;
  1671.         ArrayList hospitalTreatmentList = null;
  1672.         TrtmServiceHeaderBean objTrtmServiceHeaderBean = null;
  1673.         Long workflowID = new Long(primaryKey);
  1674.  
  1675.         try
  1676.         {
  1677.            
  1678.             TrtmServiceListHistoryEntityHome home = (TrtmServiceListHistoryEntityHome)
  1679.                     ServiceLocator.getInstance().getRemoteHome(
  1680.                     OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI,
  1681.                     TrtmServiceListHistoryEntityHome.class);
  1682.  
  1683.                 TrtmServiceListHistoryEntity remote =
  1684.                     (TrtmServiceListHistoryEntity)home.findByPrimaryKey(workflowID);
  1685.  
  1686.                 objTrtmServiceHeaderBean = remote.getTrtmServiceHeaderBean();
  1687.    
  1688.         }
  1689.         catch(GOSIException ge)
  1690.         {
  1691.             GOSIDebug.debugMessages("The error in getTrtmServicesDetails is:"+ge);
  1692.             ctx.setRollbackOnly();
  1693.             throw ge;
  1694.         }
  1695.         catch(Exception se)
  1696.         {
  1697.             GOSIDebug.debugMessages("The error in getTrtmServicesDetails is:"+se);
  1698.             ctx.setRollbackOnly();
  1699.             se.printStackTrace();
  1700.            
  1701.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1702.             GOSIConstants.SOCIAL_INSURANCE,
  1703.             this.getClass().toString(),
  1704.             "getTrtmServicesDetails()",
  1705.             se,"CMN_ERR_1000" );
  1706.         }
  1707.         return objTrtmServiceHeaderBean;
  1708.  
  1709.     }
  1710.  
  1711.  
  1712.  
  1713.     /* This method is used to save treatment service    */
  1714.     /**
  1715.     * @METHOD NAME              :   saveTrtmServicesDetails
  1716.     * @INFORMATION              :   This method is to  save Treatment Services details
  1717.     * @PARAM                    :   class TrtmServiceHeaderBean,                               
  1718.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  1719.     * @RETURN                   :   class java.lang.String
  1720.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1721.     * @LAST MODIFIED BY         :  
  1722.     * @LAST MODIFIED DATE       :  
  1723.     **/
  1724.     public String saveTrtmServicesDetails(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
  1725.         WorkflowParamBean workflowParamBean)
  1726.     throws GOSIException
  1727.     {
  1728.  
  1729.         String userName=null;
  1730.         Long primarykeyHeader =null;
  1731.         ArrayList hospitalTreatmentList = null;
  1732.         ArrayList trtmServiceDetailList = new ArrayList();
  1733.  
  1734.         try
  1735.         {
  1736.            
  1737.             if(objTrtmServiceHeaderBean != null )
  1738.             {
  1739.            
  1740.                 hospitalTreatmentList = objTrtmServiceHeaderBean.getTrtmServiceDetailList();
  1741.                 primarykeyHeader = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTHEADER",
  1742.                         objTrtmServiceHeaderBean.getCreatedBy());
  1743.  
  1744.            
  1745.                 objTrtmServiceHeaderBean.setWorkflowId(primarykeyHeader);
  1746.                 objTrtmServiceHeaderBean.setCreationTimestamp(new Timestamp(
  1747.                     System.currentTimeMillis()));
  1748.  
  1749.  
  1750.                 for(int i = 0;i < hospitalTreatmentList.size();i++)
  1751.                 {
  1752.  
  1753.                     TrtmServiceDetailBean objTrtmServiceDetailBean = new TrtmServiceDetailBean();                  
  1754.                     objTrtmServiceDetailBean = (TrtmServiceDetailBean)hospitalTreatmentList.get(i);
  1755.  
  1756.                     Long primarykeyDetail = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTDETAIL",
  1757.                             objTrtmServiceHeaderBean.getCreatedBy());
  1758.  
  1759.                    
  1760.                     objTrtmServiceDetailBean.setTrtmServiceDetailId(primarykeyDetail);
  1761.                     objTrtmServiceDetailBean.setWorkflowId(objTrtmServiceHeaderBean.getWorkflowId());  
  1762.                    
  1763.                     objTrtmServiceDetailBean.setStatus(OHConstants.TRTM_SRVC_LIST_DET_STATUS_ENTERED);
  1764.                     objTrtmServiceDetailBean.setNeedsApproval(OHConstants.TRTM_NEEDSAPPROVAL_NO_NEED);
  1765.                     objTrtmServiceDetailBean.setIsNonDiscount(OHConstants.TRTM_ISNONDISCOUNT_NO);
  1766.                    
  1767.  
  1768.                     trtmServiceDetailList.add(objTrtmServiceDetailBean);
  1769.  
  1770.  
  1771.                 }
  1772.  
  1773.                 objTrtmServiceHeaderBean.setTrtmServiceDetailList(trtmServiceDetailList);
  1774.  
  1775.                 TrtmServiceListHistoryEntityHome home = (TrtmServiceListHistoryEntityHome)
  1776.                     ServiceLocator.getInstance().getRemoteHome(
  1777.                     OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI,
  1778.                     TrtmServiceListHistoryEntityHome.class);
  1779.  
  1780.                 TrtmServiceListHistoryEntity remote =
  1781.                     (TrtmServiceListHistoryEntity)home.create(objTrtmServiceHeaderBean);
  1782.  
  1783.                 workflowParamBean.setPrimaryKeyOfTherecord(primarykeyHeader.toString());
  1784.                 workflowParamBean.setKeyVal1(primarykeyHeader.toString());
  1785.                 userName = GOSIUtilities.startWorkflow(workflowParamBean);
  1786.                
  1787.                
  1788.             }
  1789.    
  1790.         }
  1791.         catch(GOSIException ge)
  1792.         {
  1793.             GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+ge);
  1794.             ctx.setRollbackOnly();
  1795.             throw ge;
  1796.         }
  1797.         catch(Exception se)
  1798.         {
  1799.             GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+se);
  1800.             ctx.setRollbackOnly();
  1801.             se.printStackTrace();
  1802.            
  1803.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1804.             GOSIConstants.SOCIAL_INSURANCE,
  1805.             this.getClass().toString(),
  1806.             "saveTrtmServicesDetails()",
  1807.             se,"CMN_ERR_1000" );
  1808.         }
  1809.         return userName;
  1810.  
  1811.     }
  1812.  
  1813. /* This method is used to save treatment service    */
  1814.     /**
  1815.     * @METHOD NAME              :   saveMaintainTrtmServicesDetails
  1816.     * @INFORMATION              :   This method is to  save Treatment Services details
  1817.     * @PARAM                    :   class TrtmServiceHeaderBean,                               
  1818.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  1819.     * @RETURN                   :   class java.lang.String
  1820.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1821.     * @LAST MODIFIED BY         :  
  1822.     * @LAST MODIFIED DATE       :  
  1823.     **/
  1824.     public String saveMaintainTrtmServicesDetails(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
  1825.         WorkflowParamBean workflowParamBean)
  1826.     throws GOSIException
  1827.     {
  1828.  
  1829.         String userName=null;
  1830.         Long primarykeyHeader =null;
  1831.         ArrayList hospitalTreatmentList = null;
  1832.         ArrayList trtmServiceDetailList = new ArrayList();
  1833.  
  1834.         try
  1835.         {
  1836.            
  1837.             if(objTrtmServiceHeaderBean != null )
  1838.             {
  1839.            
  1840.                 hospitalTreatmentList = objTrtmServiceHeaderBean.getTrtmServiceDetailList();
  1841.                 primarykeyHeader = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTHEADER",
  1842.                         objTrtmServiceHeaderBean.getCreatedBy());
  1843.                 objTrtmServiceHeaderBean.setWorkflowId(primarykeyHeader);
  1844.                 objTrtmServiceHeaderBean.setCreationTimestamp(new Timestamp(
  1845.                     System.currentTimeMillis()));
  1846.                 for(int i = 0;i < hospitalTreatmentList.size();i++)
  1847.                 {
  1848.                     TrtmServiceDetailBean objTrtmServiceDetailBean = new TrtmServiceDetailBean();                  
  1849.                     objTrtmServiceDetailBean = (TrtmServiceDetailBean)hospitalTreatmentList.get(i);
  1850.                     Long primarykeyDetail = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELISTDETAIL",
  1851.                             objTrtmServiceHeaderBean.getCreatedBy());
  1852.                     objTrtmServiceDetailBean.setTrtmServiceDetailId(primarykeyDetail);
  1853.                     objTrtmServiceDetailBean.setWorkflowId(objTrtmServiceHeaderBean.getWorkflowId());  
  1854.                     objTrtmServiceDetailBean.setStatus(OHConstants.TRTM_SRVC_LIST_DET_STATUS_ENTERED);
  1855.                     objTrtmServiceDetailBean.setMode(AuditBean.NEW_MODE);
  1856.                     trtmServiceDetailList.add(objTrtmServiceDetailBean);
  1857.                 }
  1858.                 objTrtmServiceHeaderBean.setTrtmServiceDetailList(trtmServiceDetailList);
  1859.                 TrtmServiceListHistoryEntityHome home = (TrtmServiceListHistoryEntityHome)
  1860.                     ServiceLocator.getInstance().getRemoteHome(
  1861.                     OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI,
  1862.                     TrtmServiceListHistoryEntityHome.class);
  1863.                 TrtmServiceListHistoryEntity remote =
  1864.                     (TrtmServiceListHistoryEntity)home.create(objTrtmServiceHeaderBean);
  1865.                 workflowParamBean.setPrimaryKeyOfTherecord(primarykeyHeader.toString());
  1866.                 workflowParamBean.setKeyVal1(primarykeyHeader.toString());
  1867.                 userName = GOSIUtilities.startWorkflow(workflowParamBean);
  1868.             }
  1869.         }
  1870.         catch(GOSIException ge)
  1871.         {
  1872.             GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+ge);
  1873.             ctx.setRollbackOnly();
  1874.             throw ge;
  1875.         }
  1876.         catch(Exception se)
  1877.         {
  1878.             GOSIDebug.debugMessages("The error in saveTrtmServicesDetails is:"+se);
  1879.             ctx.setRollbackOnly();
  1880.             se.printStackTrace();
  1881.            
  1882.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1883.             GOSIConstants.SOCIAL_INSURANCE,
  1884.             this.getClass().toString(),
  1885.             "saveTrtmServicesDetails()",
  1886.             se,"CMN_ERR_1000" );
  1887.         }
  1888.         return userName;
  1889.  
  1890.     }
  1891.  
  1892.  
  1893.  
  1894. /* This method is used to save treatment service    */
  1895.     /**
  1896.     * @METHOD NAME              :   saveTrtmServicesDetailsReenter
  1897.     * @INFORMATION              :   This method is to  save Treatment Services details
  1898.     * @PARAM                    :   class TrtmServiceHeaderBean,                               
  1899.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  1900.     * @RETURN                   :   class java.lang.String
  1901.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1902.     * @LAST MODIFIED BY         :  
  1903.     * @LAST MODIFIED DATE       :  
  1904.     **/
  1905.     public String saveTrtmServicesDetailsReenter(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
  1906.         WorkflowParamBean workflowParamBean)
  1907.     throws GOSIException
  1908.     {
  1909.  
  1910.         String userName=null;
  1911.         Long primarykeyHeader =null;
  1912.  
  1913.         try
  1914.         {
  1915.  
  1916.  
  1917.             if(objTrtmServiceHeaderBean != null )
  1918.             {
  1919.            
  1920.                 TrtmServiceListHistoryEntityHome home = getTrtmServiceListHistoryEntityHome();
  1921.  
  1922.                 TrtmServiceListHistoryEntity remote =
  1923.                     home.findByPrimaryKey(
  1924.                     objTrtmServiceHeaderBean.getWorkflowId());
  1925.  
  1926.                 remote.setTrtmServiceHeaderBean(objTrtmServiceHeaderBean);
  1927.                 primarykeyHeader = objTrtmServiceHeaderBean.getWorkflowId();
  1928.  
  1929.                 workflowParamBean.setPrimaryKeyOfTherecord(primarykeyHeader.toString());
  1930.                 workflowParamBean.setKeyVal1(primarykeyHeader.toString());
  1931.                 userName = GOSIUtilities.startWorkflow(workflowParamBean);
  1932.                
  1933.                
  1934.        
  1935.             }
  1936.    
  1937.         }
  1938.         catch(GOSIException ge)
  1939.         {
  1940.             GOSIDebug.debugMessages("The error in saveTrtmServicesDetailsReenter is:"+ge);
  1941.             ctx.setRollbackOnly();
  1942.             throw ge;
  1943.         }
  1944.         catch(Exception se)
  1945.         {
  1946.             GOSIDebug.debugMessages("The error in saveTrtmServicesDetailsReenter is:"+se);
  1947.             ctx.setRollbackOnly();
  1948.             se.printStackTrace();
  1949.            
  1950.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1951.             GOSIConstants.SOCIAL_INSURANCE,
  1952.             this.getClass().toString(),
  1953.             "saveTrtmServicesDetailsReenter()",
  1954.             se,"CMN_ERR_1000" );
  1955.         }
  1956.         return userName;
  1957.  
  1958.     }
  1959.  
  1960.     /* This method is used to persist treatment service details in workflow   */
  1961.     /**
  1962.     * @METHOD NAME              :   persistTrtmServicesDetailsInWorkflow
  1963.     * @INFORMATION              :   This method is to  persist Treatment Services details in workflow
  1964.     * @PARAM                    :   class TrtmServiceHeaderBean                            
  1965.     * @RETURN                   :   void
  1966.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  1967.     * @LAST MODIFIED BY         :  
  1968.     * @LAST MODIFIED DATE       :  
  1969.     **/
  1970.     public void persistTrtmServicesDetailsInWorkflow(TrtmServiceHeaderBean objTrtmServiceHeaderBean) throws GOSIException
  1971.     {
  1972.         try
  1973.         {
  1974.             TrtmServiceListHistoryEntity remote =
  1975.                 getTrtmServiceListHistoryEntityHome().findByPrimaryKey(objTrtmServiceHeaderBean.getWorkflowId());
  1976.  
  1977.             remote.setTrtmServiceHeaderBean(objTrtmServiceHeaderBean);
  1978.         }
  1979.         catch(GOSIException ge)
  1980.         {
  1981.             GOSIDebug.debugMessages("The error in persistTrtmServicesDetailsInWorkflow is:"+ge);
  1982.             ctx.setRollbackOnly();
  1983.             throw ge;
  1984.         }
  1985.         catch(Exception se)
  1986.         {
  1987.             GOSIDebug.debugMessages("The error in persistTrtmServicesDetailsInWorkflow is:"+se);
  1988.             ctx.setRollbackOnly();
  1989.             se.printStackTrace();
  1990.            
  1991.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  1992.             GOSIConstants.SOCIAL_INSURANCE,
  1993.             this.getClass().toString(),
  1994.             "persistTrtmServicesDetailsInWorkflow()",
  1995.             se,"CMN_ERR_1000" );
  1996.         }
  1997.     }
  1998.  
  1999.  
  2000.  
  2001. /* This method is used to save treatment service    */
  2002.     /**
  2003.     * @METHOD NAME              :   approveTrtmServicesDetails
  2004.     * @INFORMATION              :   This method is to  save Treatment Services details
  2005.     * @PARAM                    :   class TrtmServiceHeaderBean,                               
  2006.                                     class java.util.ArrayList, 
  2007.                                     class java.util.ArrayList, 
  2008.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  2009.     * @RETURN                   :   class java.lang.String
  2010.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2011.     * @LAST MODIFIED BY         :  
  2012.     * @LAST MODIFIED DATE       :  
  2013.     **/
  2014.     public String approveTrtmServicesDetails(TrtmServiceHeaderBean objTrtmServiceHeaderBean,
  2015.         ArrayList hospitalTreatmentListSave, ArrayList hospitalTreatmentListReject,
  2016.         WorkflowParamBean workflowParamBean)
  2017.     throws GOSIException
  2018.     {
  2019.  
  2020.         String userName=null;
  2021.         Long primarykeyHeader =null;
  2022.  
  2023.         try
  2024.         {
  2025.            
  2026.             if(objTrtmServiceHeaderBean != null  )
  2027.             {
  2028.                 if(hospitalTreatmentListSave != null  )
  2029.                 {
  2030.                     for(int i = 0;i < hospitalTreatmentListSave.size();i++)
  2031.                     {
  2032.  
  2033.                         TrtmServiceBean objTrtmServiceBean = new TrtmServiceBean();                
  2034.                         objTrtmServiceBean = (TrtmServiceBean)hospitalTreatmentListSave.get(i);
  2035.  
  2036.                         if(objTrtmServiceBean.getMode() == AuditBean.NEW_MODE)
  2037.                         {
  2038.                             Long primarykey = GOSIUtilities.getPrimaryKey("T_TRTMSERVICELIST",
  2039.                             objTrtmServiceHeaderBean.getCreatedBy());
  2040.                             objTrtmServiceBean.setTrtmServiceListId(primarykey);
  2041.                             TrtmServiceListEntityHome home = (TrtmServiceListEntityHome)
  2042.                             ServiceLocator.getInstance().getRemoteHome(
  2043.                                     OHConstants.TRTM_SRVC_LIST_ENTITY_JNDI,
  2044.                                     TrtmServiceListEntityHome.class);
  2045.                             TrtmServiceListEntity remote =
  2046.                                 (TrtmServiceListEntity)home.create(objTrtmServiceBean);
  2047.                         }
  2048.                         if(objTrtmServiceBean.getMode() == AuditBean.MODIFY_MODE)
  2049.                         {
  2050.                             objTrtmServiceBean.setLastModifiedBy( objTrtmServiceBean.getCreatedBy());
  2051.                             objTrtmServiceBean.setLastModifiedTimestamp( objTrtmServiceBean.getCreationTimestamp());
  2052.                             TrtmServiceListEntityHome home = (TrtmServiceListEntityHome)
  2053.                             ServiceLocator.getInstance().getRemoteHome(
  2054.                                     OHConstants.TRTM_SRVC_LIST_ENTITY_JNDI,
  2055.                                     TrtmServiceListEntityHome.class);
  2056.                             Long primarykey = getTrtmServiceListKey(objTrtmServiceBean.getHospitalCode(),
  2057.                                     objTrtmServiceBean.getTreatmentCode());
  2058.                             TrtmServiceListEntity remote =
  2059.                                 (TrtmServiceListEntity)home.findByPrimaryKey(primarykey);                  
  2060.                             remote.modifyTrtmServiceBean(objTrtmServiceBean);
  2061.                         }
  2062.                     }  
  2063.                 }
  2064.                 TrtmServiceListHistoryEntityHome home = getTrtmServiceListHistoryEntityHome();
  2065.  
  2066.                 TrtmServiceListHistoryEntity remote =
  2067.                     home.findByPrimaryKey(
  2068.                     objTrtmServiceHeaderBean.getWorkflowId());
  2069.  
  2070.                 remote.setTrtmServiceHeaderBean(objTrtmServiceHeaderBean);
  2071.                
  2072.                 if(workflowParamBean!=null)
  2073.                     userName = GOSIUtilities.startWorkflow(workflowParamBean);
  2074.  
  2075.             }
  2076.    
  2077.         }
  2078.         catch(GOSIException ge)
  2079.         {
  2080.             GOSIDebug.debugMessages("The error in approveTrtmServicesDetails is:"+ge);
  2081.             ctx.setRollbackOnly();
  2082.             throw ge;
  2083.         }
  2084.         catch(Exception se)
  2085.         {
  2086.             GOSIDebug.debugMessages("The error in approveTrtmServicesDetails is:"+se);
  2087.             ctx.setRollbackOnly();
  2088.             se.printStackTrace();
  2089.            
  2090.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  2091.             GOSIConstants.SOCIAL_INSURANCE,
  2092.             this.getClass().toString(),
  2093.             "approveTrtmServicesDetails()",
  2094.             se,"CMN_ERR_1000" );
  2095.         }
  2096.         return userName;
  2097.  
  2098.     }
  2099.  
  2100.  
  2101. /* This method is used to save treatment service    */
  2102.     /**
  2103.     * @METHOD NAME              :   readTrtmServicesFileXLS
  2104.     * @INFORMATION              :   This method is to read Treatment Services list XLS File
  2105.     * @PARAM                    :   class java.util.String,
  2106.                                 :   class java.util.String
  2107.     * @RETURN                   :   class java.util.ArrayList
  2108.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2109.     * @LAST MODIFIED BY         :  
  2110.     * @LAST MODIFIED DATE       :  
  2111.     **/
  2112.     public HashMap readTrtmServicesFileXLS(HashMap hashMapInterfaceInput)
  2113.     throws GOSIException
  2114.     {
  2115.                
  2116.                 short         moduleId = 0;
  2117.                 String filePath = "";
  2118.                 String fileName = "";
  2119.                 ArrayList     inputList = null;
  2120.                 HashMap       interfaceOutput = new HashMap();
  2121.                 String message="";
  2122.  
  2123.                 if(hashMapInterfaceInput != null)
  2124.                 {
  2125.                     inputList = (ArrayList)hashMapInterfaceInput.
  2126.                     get("interfaceInput");
  2127.                     moduleId = ((Short)inputList.get(0)).shortValue();
  2128.                     filePath = (String)inputList.get(1);
  2129.                     fileName = (String)inputList.get(2);
  2130.                 }
  2131.  
  2132.                 GOSIDebug.debugMessages("file filePath: " + filePath);
  2133.                 GOSIDebug.debugMessages("file fileName: " + fileName);
  2134.                 String file = filePath +'/'+fileName;
  2135.  
  2136.                 GOSIDebug.debugMessages("file link: " + file);
  2137.  
  2138.                 ArrayList hospitalTreatmentList = new ArrayList();
  2139.                 TrtmServiceBean objTrtmServiceBean = null; 
  2140.    
  2141.                 File inputWorkbook = new File(file);
  2142.                 Workbook w;
  2143.  
  2144.         try {
  2145.                         w = Workbook.getWorkbook(inputWorkbook);
  2146.                         // Get the first sheet
  2147.                         Sheet sheet = w.getSheet(0);
  2148.                         // Loop over first 10 column and lines
  2149.  
  2150.                         for (int i = 1; i < sheet.getRows(); i++) {
  2151.  
  2152.                             objTrtmServiceBean = new TrtmServiceBean();
  2153.  
  2154.                             for (int j = 0; j < sheet.getColumns(); j++) {
  2155.                        
  2156.                                 Cell cell = sheet.getCell(j, i);
  2157.                                
  2158.                                 if(j==0)
  2159.                                 {
  2160.                                     objTrtmServiceBean.setTreatmentCode(cell.getContents());
  2161.                                 }
  2162.                                 else if(j==1)
  2163.                                 {
  2164.                                     objTrtmServiceBean.setTreatmentDescArb(cell.getContents());
  2165.                                    
  2166.                                 }
  2167.                                 else if(j==2)
  2168.                                 {
  2169.                                     objTrtmServiceBean.setTreatmentDescEng(cell.getContents());
  2170.                                 }
  2171.                                 else if(j==3)
  2172.                                 {
  2173.                                     objTrtmServiceBean.setMedCategory(cell.getContents());
  2174.                                 }
  2175.                                 else if(j==4)
  2176.                                 {
  2177.                                     try{
  2178.                                     double servicePrice = Double.parseDouble(cell.getContents());
  2179.                                     objTrtmServiceBean.setPrice(servicePrice);
  2180.                                     }
  2181.                                     catch(Exception g){
  2182.                                     //  message=GOSIErrorMessages.getErrorDesc("SOI_ERR_5804")+objTrtmServiceBean.getTreatmentCode();
  2183.                                     //  interfaceOutput.put("message", message);
  2184.                                     }
  2185.                                 }                              
  2186.  
  2187.                             }// end for2
  2188.                             if(!objTrtmServiceBean.getTreatmentCode().equals(""))
  2189.                             hospitalTreatmentList.add(objTrtmServiceBean);
  2190.                             GOSIDebug.debugMessages(i+" TreatmentCode : "+objTrtmServiceBean.getTreatmentCode()
  2191.                                     +" TreatmentDescArb : "+objTrtmServiceBean.getTreatmentDescArb()
  2192.                                     +" TreatmentDescEng: "+objTrtmServiceBean.getTreatmentDescEng()
  2193.                                     +" Price: "+objTrtmServiceBean.getPrice());
  2194.                            
  2195.                         }// end for1
  2196.                          
  2197.                            
  2198.                        
  2199.         }
  2200.         catch (BiffException e) {
  2201.             e.printStackTrace();
  2202.         }
  2203.         catch(Exception se)
  2204.         {
  2205.             GOSIDebug.debugMessages("The error in readTrtmServicesFileXLS is:"+se);
  2206.             ctx.setRollbackOnly();
  2207.             se.printStackTrace();
  2208.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  2209.             GOSIConstants.SOCIAL_INSURANCE,
  2210.             this.getClass().toString(),
  2211.             "readTrtmServicesFileXLS()",
  2212.             se,"SOI_ERR_5804");
  2213.         }
  2214.  
  2215.         interfaceOutput.put("returnValue",hospitalTreatmentList);
  2216.         return interfaceOutput;
  2217.        
  2218.     }
  2219.  
  2220.  
  2221. /* This method is used to save treatment service    */
  2222.     /**
  2223.     * @METHOD NAME              :   readTrtmServicesFileXML
  2224.     * @INFORMATION              :   This method is to read Treatment Services list XML File
  2225.     * @PARAM                    :   class java.util.String,
  2226.                                 :   class java.util.String
  2227.     * @RETURN                   :   class java.util.ArrayList
  2228.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2229.     * @LAST MODIFIED BY         :  
  2230.     * @LAST MODIFIED DATE       :  
  2231.     **/
  2232.     public HashMap readTrtmServicesFileXML(HashMap hashMapInterfaceInput)
  2233.     throws GOSIException
  2234.     {
  2235.                
  2236.                 short         moduleId = 0;
  2237.                 String filePath = "";
  2238.                 String fileName = "";
  2239.                 ArrayList     inputList = null;
  2240.                 HashMap       interfaceOutput = new HashMap();
  2241.  
  2242.                 if(hashMapInterfaceInput != null)
  2243.                 {
  2244.                     inputList = (ArrayList)hashMapInterfaceInput.
  2245.                     get("interfaceInput");
  2246.                     moduleId = ((Short)inputList.get(0)).shortValue();
  2247.                     filePath = (String)inputList.get(1);
  2248.                     fileName = (String)inputList.get(2);
  2249.                 }
  2250.  
  2251.                 GOSIDebug.debugMessages("file filePath: " + filePath);
  2252.                 GOSIDebug.debugMessages("file fileName: " + fileName);
  2253.                 String file = filePath +'/'+fileName;
  2254.  
  2255.                 GOSIDebug.debugMessages("file link: " + file);
  2256.  
  2257.                   FileInputStream fis = null;
  2258.                   BufferedInputStream bis = null;
  2259.                   DataInputStream dis = null;
  2260.                   String dataxml = "";
  2261.  
  2262.                   ArrayList hospitalTreatmentList = new ArrayList();
  2263.  
  2264.                 try {
  2265.                       fis = new FileInputStream(file);
  2266.  
  2267.                       // Here BufferedInputStream is added for fast reading.
  2268.                       bis = new BufferedInputStream(fis);
  2269.                       dis = new DataInputStream(bis);
  2270.  
  2271.                       // dis.available() returns 0 if the file does not have more lines.
  2272.                       while (dis.available() != 0) {
  2273.  
  2274.                         // this statement reads the line from the file and print it to
  2275.                         // the console.
  2276.                         dataxml = dataxml + dis.readLine();
  2277.                       }
  2278.  
  2279.                         int numAttributes = 5;
  2280.                
  2281.                         ArrayList parsedTreatmentServices = GOSIUtilities.xmlParser(dataxml,numAttributes);
  2282.                            
  2283.                         TrtmServiceBean objTrtmServiceBean = null;                 
  2284.                         GOSIDebug.debugMessages("parsedTreatmentServices size : "+
  2285.                             parsedTreatmentServices.size());
  2286.                         for (int k=0;k<(parsedTreatmentServices.size()/numAttributes);k++ )
  2287.                         {
  2288.  
  2289.                             objTrtmServiceBean = new TrtmServiceBean();                                            
  2290.  
  2291.                                 int locator = k * numAttributes;
  2292.                                 objTrtmServiceBean.setTreatmentCode(GOSIUtilities.
  2293.                                 changeCharacterSet(parsedTreatmentServices.get(0+locator).toString()));
  2294.                                 objTrtmServiceBean.setTreatmentDescArb(GOSIUtilities.
  2295.                                 changeCharacterSet(parsedTreatmentServices.get(1+locator).toString()));                    
  2296.                                 objTrtmServiceBean.setTreatmentDescEng(GOSIUtilities.
  2297.                                 changeCharacterSet(parsedTreatmentServices.get(2+locator).toString()));                    
  2298.                                 objTrtmServiceBean.setMedCategory(GOSIUtilities.
  2299.                                 changeCharacterSet(parsedTreatmentServices.get(3+locator).toString()));
  2300.  
  2301.                             double servicePrice = Double.parseDouble(
  2302.                                 parsedTreatmentServices.get(4+locator).toString());
  2303.                             objTrtmServiceBean.setPrice(servicePrice);
  2304.  
  2305.                                 hospitalTreatmentList.add(objTrtmServiceBean);
  2306.                         }
  2307.  
  2308.  
  2309.                       // dispose all the resources after using them.
  2310.                       fis.close();
  2311.                       bis.close();
  2312.                       dis.close();
  2313.  
  2314.             interfaceOutput.put("returnValue",hospitalTreatmentList);
  2315.             return interfaceOutput;
  2316.  
  2317.         }
  2318.         catch(GOSIException ge)
  2319.         {
  2320.             GOSIDebug.debugMessages("The error in readTrtmServicesFileXML is:"+ge);
  2321.             ctx.setRollbackOnly();
  2322.             throw ge;
  2323.         }
  2324.         catch(Exception se)
  2325.         {
  2326.             GOSIDebug.debugMessages("The error in readTrtmServicesFileXML is:"+se);
  2327.             ctx.setRollbackOnly();
  2328.             se.printStackTrace();
  2329.            
  2330.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  2331.             GOSIConstants.SOCIAL_INSURANCE,
  2332.             this.getClass().toString(),
  2333.             "readTrtmServicesFileXML()",
  2334.             se,"CMN_ERR_1000" );
  2335.         }
  2336.        
  2337.     }
  2338.  
  2339. /* This method is used to save treatment service    */
  2340.     /**
  2341.     * @METHOD NAME              :   getTrtmServiceListKey
  2342.     * @INFORMATION              :   This method is to get Treatment Services list primaryKey
  2343.     * @PARAM                    :   class java.util.Long,
  2344.                                 :   class java.util.String
  2345.     * @RETURN                   :   class java.lang.Long
  2346.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2347.     * @LAST MODIFIED BY         :  
  2348.     * @LAST MODIFIED DATE       :  
  2349.     **/
  2350.     public Long getTrtmServiceListKey(Long hospitalCode, String treatmentCode)
  2351.     throws GOSIException
  2352.     {
  2353.  
  2354.         String userName=null;
  2355.         Long primarykey =null;
  2356.  
  2357.         Exception ex = null;
  2358.         con = null;
  2359.         PreparedStatement ps = null;
  2360.         ResultSet rs = null;
  2361.  
  2362.         String masterQuery = null;
  2363.         String message = "";
  2364.  
  2365.         masterQuery = new StringBuffer("Select                    ").
  2366.             append("TRTMSERVICELISTID from  ").
  2367.             append(SITables.T_TRTMSERVICELIST).
  2368.             append(" where HOSPITALCODE = ? AND TREATMENTCODE = ?            ").
  2369.                 toString();
  2370.  
  2371.         try
  2372.         {
  2373.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  2374.  
  2375.             // Load from the data base
  2376.             ps = con.prepareStatement(masterQuery);
  2377.             ps.setLong(1, hospitalCode);
  2378.             ps.setString(2, treatmentCode);
  2379.             rs = ps.executeQuery();
  2380.             if (!rs.next())
  2381.             {
  2382.                 throw new GOSIException(GOSIConstants.SEVERITY_THREE,
  2383.                                         GOSIConstants.SOCIAL_INSURANCE,
  2384.                                         this.getClass().toString(),
  2385.                                         "getTrtmServiceListKey()",
  2386.                                         null,
  2387.                                         "CMN_ERR_1000"
  2388.                                         );
  2389.             }
  2390.  
  2391.             primarykey = rs.getLong("TRTMSERVICELISTID");
  2392.  
  2393.         }
  2394.         catch(GOSIException ge)
  2395.         {
  2396.             GOSIDebug.debugMessages("The error in getTrtmServiceListKey is:"+ge);
  2397.             ctx.setRollbackOnly();
  2398.             throw ge;
  2399.         }
  2400.         catch(Exception se)
  2401.         {
  2402.             GOSIDebug.debugMessages("The error in getTrtmServiceListKey is:"+se);
  2403.             ctx.setRollbackOnly();
  2404.             se.printStackTrace();
  2405.            
  2406.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  2407.             GOSIConstants.SOCIAL_INSURANCE,
  2408.             this.getClass().toString(),
  2409.             "getTrtmServiceListKey()",
  2410.             se,"CMN_ERR_1000" );
  2411.         }
  2412.         return primarykey;
  2413.            
  2414.  
  2415.     }
  2416.  
  2417. /**
  2418.  * @METHOD NAME              : getTrtmServiceListHistoryEntityHome
  2419.  * @INFORMATION              : This method returns the Home reference of
  2420.                                OvertimeRequestEntity
  2421.  * @PARAM                    : Nil
  2422.  * @RETURN                   : interface gosi.database.socialinsurance.
  2423.  occupationalhazards.injury.entity.TrtmServiceListHistoryEntityHome
  2424.  * @EXCEPTION                : class gosi.core.util.GOSIException
  2425.  * @LAST MODIFIED BY         :
  2426.  * @LAST MODIFIED DATE       :
  2427. **/
  2428. private TrtmServiceListHistoryEntityHome getTrtmServiceListHistoryEntityHome()
  2429.         throws GOSIException
  2430.     {
  2431.         TrtmServiceListHistoryEntityHome trtmServiceListHistoryEntityHome =
  2432.         (TrtmServiceListHistoryEntityHome) ServiceLocator.getInstance().getRemoteHome
  2433.             (OHConstants.TRTM_SRVC_LIST_HISTORY_ENTITY_JNDI, TrtmServiceListHistoryEntityHome.class);
  2434.         return trtmServiceListHistoryEntityHome;
  2435.     }
  2436.  
  2437.  
  2438.     /* This method is used to save treatment service    */
  2439.     /**
  2440.     * @METHOD NAME              :   saveTreatmentService
  2441.     * @INFORMATION              :   This method is to  save Treatment Service
  2442.     * @PARAM                    :   class java.util.ArrayList,
  2443.                                     class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails,
  2444.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  2445.                                     class java.util.ArrayList,
  2446.                                     class gosi.core.dms.beans.DMSRequestHeaderBean
  2447.     * @RETURN                   :   class java.lang.String
  2448.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2449.     * @LAST MODIFIED BY         :  
  2450.     * @LAST MODIFIED DATE       :  
  2451.     **/
  2452.     public String saveTreatmentService(ArrayList serviceList,
  2453.     InjuryPopDetails injuryBean,WorkflowParamBean workflowParamBean,
  2454.     ArrayList workflowIds,DMSRequestHeaderBean dmsHeaderBean)
  2455.     throws GOSIException
  2456.     {
  2457.         int     listSize = 0;
  2458.         int     serviceListSize = 0;
  2459.         int     workFlowListSize = 0;
  2460.         long    timeCounter = 0;
  2461.         String userName=null;
  2462.        
  2463.          try
  2464.         {
  2465.        
  2466.             ArrayList headerList = getHeaderList(serviceList,injuryBean);
  2467.             Long injuryId = ((TreatmentHeaderBean)headerList.get(0)).
  2468.             getInjuryId();
  2469.             GOSIDebug.debugMessages("Injury id______________"+injuryId);
  2470.            
  2471.             timeCounter = System.currentTimeMillis();
  2472.  
  2473.             if(headerList != null )
  2474.             {
  2475.                 listSize = headerList.size();  
  2476.             }
  2477.             for(int i = 0;i < listSize;i++)
  2478.             {
  2479.                 TreatmentHeaderBean headerBean = new TreatmentHeaderBean();
  2480.                 headerBean = (TreatmentHeaderBean)headerList.get(i);
  2481.                 Long headerId  =getHeader(headerBean);
  2482.                 if(headerId == null)
  2483.                 {
  2484.                     headerBean.setTrmtServiceHdrId
  2485.                     (GOSIUtilities.getPrimaryKey("T_TRMTSERVICESHDR",
  2486.                     headerBean.getCreatedBy()));
  2487.                     GOSIDebug.debugMessages("_________________::"+
  2488.                     headerBean.getTrmtServiceHdrId());
  2489.                     headerBean.setCreationTimestamp(new Timestamp(
  2490.                     System.currentTimeMillis()));
  2491.                     ((TreatmentHeaderBean)headerList.get(i)).
  2492.                     setTrmtServiceHdrId
  2493.                     (headerBean.getTrmtServiceHdrId());
  2494.  //                     Context cntx = GOSIUtilities.getInitialContext();
  2495.  //                     Object ref = cntx.lookup(OHConstants.
  2496.  //                     TRMT_SRVC_HDR_ENTITY_JNDI);
  2497.  //                     TreatmentServiceHeaderEntityHome home =
  2498.  //                     (TreatmentServiceHeaderEntityHome)PortableRemoteObject.
  2499.  //                     narrow(ref,TreatmentServiceHeaderEntityHome.class);
  2500.                     TreatmentServiceHeaderEntityHome home = (TreatmentServiceHeaderEntityHome)
  2501.                         ServiceLocator.getInstance().getRemoteHome(
  2502.                         OHConstants.TRMT_SRVC_HDR_ENTITY_JNDI,
  2503.                         TreatmentServiceHeaderEntityHome.class);
  2504.                     TreatmentServiceHeaderEntity headerRemote =
  2505.                     (TreatmentServiceHeaderEntity)home.create(headerBean);
  2506.                 }
  2507.                 else
  2508.                 {
  2509.                     GOSIDebug.debugMessages("header already present:"+
  2510.                     headerId);
  2511.                     ((TreatmentHeaderBean)headerList.get(i)).
  2512.                     setTrmtServiceHdrId(headerId);
  2513.                 }
  2514.             }
  2515.  
  2516.             if(serviceList != null)
  2517.             {
  2518.                 serviceListSize = serviceList.size();
  2519.             }
  2520.             for(int i = 0;i < serviceListSize;i++)
  2521.             {
  2522.                 TreatmentServiceBean serviceBean = (TreatmentServiceBean)
  2523.                 serviceList.get(i);
  2524.                
  2525.                 if(injuryBean.getFileNumber()!=null)
  2526.                 {
  2527.                     serviceBean.setFileNumber(injuryBean.getFileNumber());
  2528.                     serviceBean.setPageNumber(injuryBean.getPageNumber());
  2529.                 }
  2530.                 for(int j = 0;j < listSize;j++)
  2531.                 {
  2532.                     TreatmentHeaderBean headerBean = (TreatmentHeaderBean)
  2533.                     headerList.get(j);
  2534.                     if((serviceBean.getHospitalCode().
  2535.                     equals(headerBean.getHospitalCode()))
  2536.                     &&(serviceBean.getPatientNumber().
  2537.                     equals(headerBean.getPatientNumber())))
  2538.                     {
  2539.                         ((TreatmentServiceBean)serviceList.get(i)).
  2540.                         setTrmtServiceHdrId
  2541.                         (headerBean.getTrmtServiceHdrId());
  2542.                             break;
  2543.                     }
  2544.                     GOSIDebug.debugMessages("HeaderId Not Found");
  2545.                 }
  2546.             }
  2547.  
  2548.             GOSIDebug.debugMessages("\nTreatment header created\n");
  2549.             for(int i = 0;i < serviceListSize;i++)
  2550.             {
  2551.                 TreatmentServiceBean trmtServiceBean =
  2552.                 new TreatmentServiceBean();
  2553.                 trmtServiceBean =
  2554.                 (TreatmentServiceBean)serviceList.get(i);
  2555.                
  2556.                 if((trmtServiceBean.getMedicineDescription() != null)
  2557.                 &&(!(("").equals(trmtServiceBean.
  2558.                 getMedicineDescription()))))
  2559.                 {
  2560.                     trmtServiceBean.setTrmtDesc
  2561.                     (trmtServiceBean.getMedicineDescription()
  2562.                     .replace('\'','\"'));
  2563.                     trmtServiceBean.setTrmtAmt(
  2564.                     trmtServiceBean.getMedicineAmount());
  2565.                     trmtServiceBean.setTrmtCode
  2566.                     (OHConstants.ICD_MEDICINE_CODE);
  2567.                            
  2568.                 }
  2569.                        
  2570.                 trmtServiceBean.setTrmtServiceDetId
  2571.                 (GOSIUtilities.getPrimaryKey("T_TRMTSERVICESDET",
  2572.                 trmtServiceBean.getCreatedBy()));
  2573.                 GOSIDebug.debugMessages("DTL ID:"+
  2574.                 trmtServiceBean.getTrmtServiceDetId());
  2575.                 trmtServiceBean.setCreationTimestamp(
  2576.                 new Timestamp(System.currentTimeMillis()));
  2577.                 GOSIDebug.debugMessages("hdr id &&&&&&&" +
  2578.                 trmtServiceBean.getTrmtServiceHdrId());
  2579.  //                 Context cntx=GOSIUtilities.getInitialContext();
  2580.  //                 Object ref=cntx.lookup
  2581.  //                 (OHConstants.TRMT_SRVC_DET_ENTITY_JNDI);
  2582.  //                 TreatmentServiceDetailEntityHome home =
  2583.  //                 (TreatmentServiceDetailEntityHome)PortableRemoteObject.
  2584.  //                 narrow(ref,TreatmentServiceDetailEntityHome.class);
  2585.                 TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
  2586.                     ServiceLocator.getInstance().getRemoteHome(
  2587.                     OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
  2588.                     TreatmentServiceDetailEntityHome.class);
  2589.                 TreatmentServiceDetailEntity detailRemote =
  2590.                 (TreatmentServiceDetailEntity)home.create(trmtServiceBean);
  2591.             }
  2592.             GOSIDebug.debugMessages("Treatment Detail created\n");
  2593.             if(workflowIds.size() > 0)
  2594.             {
  2595.                 workFlowListSize = workflowIds.size();
  2596.                 for(int i = 0;i < workFlowListSize;i++)
  2597.                 {  
  2598.                     String primarykey = ((Long)workflowIds.get(i)).
  2599.                     toString();
  2600.                     workflowParamBean.setPrimaryKeyOfTherecord(primarykey);
  2601.                     userName = GOSIUtilities.startWorkflow
  2602.                     (workflowParamBean);
  2603.                 }
  2604.             }
  2605.             if(dmsHeaderBean != null)
  2606.             {
  2607.                 dmsHeaderBean.setSourceRecordId
  2608.                 ("" + injuryBean.getInjuryID());
  2609.                 dmsHeaderBean.
  2610.                 setSourceTable(SITables.T_INJURY);
  2611.                 dmsHeaderBean.setCreatedBy
  2612.                 (new Long (workflowParamBean.getUserId()));
  2613.                 dmsHeaderBean.setKeyList(DMSConstants.SI_NUMBER,
  2614.                 ""+injuryBean.getSocialInsuranceNumber());
  2615.                 dmsHeaderBean.setKeyList(DMSConstants.INJURY_NUMBER,
  2616.                 ""+injuryBean.getInjuryNumber());
  2617.                 dmsHeaderBean.setKeyList(OHConstants.DMS_SERVICE_TYPE,
  2618.                 ""+OHConstants.SERVICE_TYPE_TRMT);
  2619.                 DMSUtilities.startDMS(dmsHeaderBean);
  2620.             }
  2621.            
  2622.            
  2623.             GOSIInstrumentationLog.writeInstrumentationToLog(
  2624.             this.getClass().toString(),
  2625.             "saveTreatmentService()",
  2626.             (System.currentTimeMillis() - timeCounter));
  2627.         }
  2628.         catch(GOSIException ge)
  2629.         {
  2630.             GOSIDebug.debugMessages("The error in trmt srvc save is:"+ge);
  2631.             ctx.setRollbackOnly();
  2632.             throw ge;
  2633.         }
  2634.         catch(Exception se)
  2635.         {
  2636.             GOSIDebug.debugMessages("The error in trmt srvc save is:"+se);
  2637.             ctx.setRollbackOnly();
  2638.             se.printStackTrace();
  2639.            
  2640.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  2641.             GOSIConstants.SOCIAL_INSURANCE,
  2642.             this.getClass().toString(),
  2643.             "saveTreatmentService()",
  2644.             se,"CMN_ERR_1000" );
  2645.         }
  2646.         return userName;
  2647.     }
  2648.    
  2649.     /*  This method is used to get the header details */
  2650.     /**
  2651.     * @METHOD NAME              :   getHeaderList
  2652.     * @INFORMATION              :   This method is to  get Header List
  2653.     * @PARAM                    :   class java.util.ArrayList,
  2654.                                     class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
  2655.     * @RETURN                   :   class java.util.ArrayList
  2656.     * @EXCEPTION                :  
  2657.     * @LAST MODIFIED BY         :  
  2658.     * @LAST MODIFIED DATE       :  
  2659.     **/
  2660.     private ArrayList getHeaderList(ArrayList serviceList,
  2661.     InjuryPopDetails injuryBean)
  2662.     {
  2663.         ArrayList   headerList = new ArrayList();
  2664.         int         listSize = 0;
  2665.         int         serviceListSize = 0;
  2666.         long        timeCounter = 0;
  2667.        
  2668.         timeCounter = System.currentTimeMillis();
  2669.         Long injuryId = injuryBean.getInjuryID();
  2670.         Long socInsNumber = injuryBean.getSocialInsuranceNumber();
  2671.         if(serviceList != null)
  2672.         {
  2673.             serviceListSize = serviceList.size();
  2674.         }
  2675.         for (int i = 0;i < serviceListSize;i++)
  2676.         {
  2677.             TreatmentServiceBean serviceBean =
  2678.             new TreatmentServiceBean();
  2679.             serviceBean = (TreatmentServiceBean)
  2680.             serviceList.get(i);
  2681.             boolean flag = true;
  2682.             if(headerList.size()!= 0)
  2683.             {
  2684.                 listSize = headerList.size();
  2685.                 for(int j = 0;j < listSize;j++)
  2686.                 {
  2687.                     TreatmentHeaderBean headerBean=new
  2688.                     TreatmentHeaderBean();
  2689.                     headerBean=(TreatmentHeaderBean)
  2690.                     headerList.get(j);
  2691.                     if((serviceBean.getHospitalCode().
  2692.                     equals(headerBean.getHospitalCode()))&&
  2693.                     (serviceBean.getPatientNumber().equals
  2694.                     (headerBean.getPatientNumber())))
  2695.                     {
  2696.                         flag = false;
  2697.                         break;
  2698.                     }
  2699.                 }
  2700.             }
  2701.             if(flag)
  2702.             {
  2703.                 TreatmentHeaderBean trmtHeaderBean = new
  2704.                 TreatmentHeaderBean();
  2705.                 trmtHeaderBean.setInjuryId(injuryId);
  2706.                 trmtHeaderBean.setSocInsNumber(socInsNumber);
  2707.                 trmtHeaderBean.setHospitalCode
  2708.                 (serviceBean.getHospitalCode());
  2709.                 trmtHeaderBean.setPatientNumber
  2710.                 (serviceBean.getPatientNumber());
  2711.                 trmtHeaderBean.setCreatedBy
  2712.                 (serviceBean.getCreatedBy());
  2713.                 GOSIDebug.debugMessages("userId:"+
  2714.                 serviceBean.getCreatedBy());
  2715.                 headerList.add(trmtHeaderBean);
  2716.             }
  2717.         }
  2718.  
  2719.         for (int i = 0;i < headerList.size();i++)
  2720.         {  
  2721.             TreatmentHeaderBean bTreatmentHeader=
  2722.             new TreatmentHeaderBean();
  2723.             bTreatmentHeader = (TreatmentHeaderBean)headerList.get(i);
  2724.             GOSIDebug.debugMessages("Patient numbers in h are-"+
  2725.             bTreatmentHeader.getPatientNumber());
  2726.         }
  2727.        
  2728.         GOSIInstrumentationLog.writeInstrumentationToLog(
  2729.         this.getClass().toString(),
  2730.         "getHeaderList()",
  2731.         (System.currentTimeMillis() - timeCounter));
  2732.        
  2733.         return headerList;
  2734.     }
  2735.  
  2736.     /**
  2737.     * @METHOD NAME              :   MaintainTreatmentServiceSessionEJB
  2738.     * @INFORMATION              :   This method is the constructor$
  2739.     * @PARAM                    :   class java.lang.String
  2740.     * @RETURN                   :   class java.lang.Class
  2741.     * @EXCEPTION                :  
  2742.     * @LAST MODIFIED BY         :  
  2743.     * @LAST MODIFIED DATE       :  
  2744.     **/
  2745.     public MaintainTreatmentServiceSessionEJB    ()
  2746.     {
  2747.  
  2748.     }
  2749.  
  2750.     /**
  2751.     * @METHOD NAME              :   ejbCreate
  2752.     * @INFORMATION              :   This method is to  ejb Create
  2753.     * @PARAM                    :  
  2754.     * @RETURN                   :   void
  2755.     * @EXCEPTION                :  
  2756.     * @LAST MODIFIED BY         :  
  2757.     * @LAST MODIFIED DATE       :  
  2758.     **/
  2759.     public void ejbCreate    ()
  2760.     {
  2761.  
  2762.     }
  2763.  
  2764.     /**
  2765.     * @METHOD NAME              :   ejbRemove
  2766.     * @INFORMATION              :   This method is to  ejb Remove
  2767.     * @PARAM                    :  
  2768.     * @RETURN                   :   void
  2769.     * @EXCEPTION                :  
  2770.     * @LAST MODIFIED BY         :  
  2771.     * @LAST MODIFIED DATE       :  
  2772.     **/
  2773.     public void ejbRemove    ()
  2774.     {
  2775.  
  2776.     }
  2777.  
  2778.     /**
  2779.     * @METHOD NAME              :   ejbActivate
  2780.     * @INFORMATION              :   This method is to  ejb Activate
  2781.     * @PARAM                    :  
  2782.     * @RETURN                   :   void
  2783.     * @EXCEPTION                :  
  2784.     * @LAST MODIFIED BY         :  
  2785.     * @LAST MODIFIED DATE       :  
  2786.     **/
  2787.     public void ejbActivate    ()
  2788.     {
  2789.  
  2790.     }
  2791.  
  2792.     /**
  2793.     * @METHOD NAME              :   ejbPassivate
  2794.     * @INFORMATION              :   This method is to  ejb Passivate
  2795.     * @PARAM                    :  
  2796.     * @RETURN                   :   void
  2797.     * @EXCEPTION                :  
  2798.     * @LAST MODIFIED BY         :  
  2799.     * @LAST MODIFIED DATE       :  
  2800.     **/
  2801.     public void ejbPassivate    ()
  2802.     {
  2803.  
  2804.     }
  2805.  
  2806.  
  2807.     /**
  2808.     * @METHOD NAME              :   setSessionContext
  2809.     * @INFORMATION              :   This method is to  set Session Context
  2810.     * @PARAM                    :   interface javax.ejb.SessionContext
  2811.     * @RETURN                   :   void
  2812.     * @EXCEPTION                :   class javax.ejb.EJBException,
  2813.                                     class java.rmi.RemoteException
  2814.     * @LAST MODIFIED BY         :  
  2815.     * @LAST MODIFIED DATE       :  
  2816.     **/
  2817.     public void setSessionContext    (SessionContext sessioncontext)
  2818.     throws EJBException,RemoteException
  2819.     {
  2820.          this.ctx = sessioncontext;
  2821.     }
  2822.  
  2823.     /*    This method is used to get the hospital code */
  2824.     /**
  2825.     * @METHOD NAME              :   getHospital
  2826.     * @INFORMATION              :   This method is to  get Hospital
  2827.     * @PARAM                    :   long,
  2828.                                     class java.sql.Date
  2829.     * @RETURN                   :   long
  2830.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2831.     * @LAST MODIFIED BY         :  
  2832.     * @LAST MODIFIED DATE       :  
  2833.     **/
  2834.     public long getHospital(long injuryId,java.sql.Date treatmentDate)
  2835.     throws GOSIException
  2836.     {
  2837.         long            timeCounter = 0;
  2838.         long            hospitalCode = 0;
  2839.         StringBuffer    sbQuery = new StringBuffer();
  2840.        
  2841.         try
  2842.         {
  2843.        
  2844.             timeCounter = System.currentTimeMillis();
  2845.            
  2846.             sbQuery = sbQuery.delete(0,sbQuery.length());
  2847.             sbQuery.append(" SELECT HOSPITALCODE FROM ");
  2848.             sbQuery.append(  SITables.T_TREATMENT + " WHERE ");
  2849.             sbQuery.append(" STARTDATE  <= ? ");
  2850.             sbQuery.append(" AND ENDDATE >= ? ");
  2851.             sbQuery.append(" AND INJURYID = ?  ");
  2852.                    
  2853.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  2854.  
  2855.             con = GOSIUtilities.getConnection
  2856.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  2857.             p = con.prepareStatement(sbQuery.toString());
  2858.            
  2859.             p.setDate(1,treatmentDate);
  2860.             p.setDate(2,treatmentDate);
  2861.             p.setLong(3,injuryId);
  2862.            
  2863.             rs = p.executeQuery();
  2864.  
  2865.             while(rs.next())
  2866.             {
  2867.               hospitalCode = rs.getLong(1);
  2868.             }
  2869.             sbQuery = sbQuery.delete(0,sbQuery.length());
  2870.  
  2871.         }
  2872.         catch(Exception se)
  2873.         {
  2874.             se.printStackTrace();
  2875.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  2876.             GOSIConstants.SOCIAL_INSURANCE,
  2877.             this.getClass().toString(),
  2878.             "getHospital()",se,"CMN_ERR_1000" );
  2879.         }
  2880.         finally
  2881.         {
  2882.             try
  2883.             {
  2884.                 GOSIUtilities.cleanUp(con, p, rs);
  2885.             }
  2886.             catch(Exception se)
  2887.             {
  2888.                 se.printStackTrace();
  2889.                 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  2890.                 GOSIConstants.SOCIAL_INSURANCE,
  2891.                 this.getClass().toString(),
  2892.                 "getHospital()",
  2893.                 se,"CMN_ERR_1000" );
  2894.             }
  2895.         }
  2896.         GOSIInstrumentationLog.writeInstrumentationToLog(
  2897.         this.getClass().toString(),
  2898.         "getHospital()",
  2899.         (System.currentTimeMillis() - timeCounter));
  2900.  
  2901.         return hospitalCode ;
  2902.  
  2903.     }
  2904.  
  2905.     /*  This method is used to get the header id */
  2906.     /**
  2907.     * @METHOD NAME              :   getHeader
  2908.     * @INFORMATION              :   This method is to  get Header
  2909.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentHeaderBean
  2910.     * @RETURN                   :   class java.lang.Long
  2911.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2912.     * @LAST MODIFIED BY         :  
  2913.     * @LAST MODIFIED DATE       :  
  2914.     **/
  2915.     private Long getHeader(TreatmentHeaderBean
  2916.     oTreatmentHeader)throws GOSIException
  2917.     {
  2918.         Long            headerId = null;
  2919.         long            timeCounter = 0;
  2920.         StringBuffer    sbQuery = new StringBuffer();
  2921.          
  2922.         try
  2923.         {
  2924.             timeCounter = System.currentTimeMillis();
  2925.             sbQuery = sbQuery.delete(0,sbQuery.length());
  2926.            
  2927.             sbQuery.append(" SELECT trmtservicehdrid FROM ");
  2928.             sbQuery.append(  SITables.T_TRMTSERVICESHDR + " WHERE ");
  2929.             sbQuery.append(" hospitalcode = ? ");
  2930.             sbQuery.append(" AND patientnumber = ? AND injuryid = ? ");
  2931.                    
  2932.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  2933.                    
  2934.        
  2935.             con = GOSIUtilities.getConnection(GOSIConstants.
  2936.             OCCUPATIONAL_HAZARDS_ID);
  2937.             p = con.prepareStatement(sbQuery.toString());
  2938.             p.setLong(1,oTreatmentHeader.getHospitalCode().longValue());
  2939.             p.setString(2,oTreatmentHeader.getPatientNumber());
  2940.             p.setLong(3,oTreatmentHeader.getInjuryId().longValue());
  2941.             GOSIDebug.debugMessages("HospitalCode_"+
  2942.             oTreatmentHeader.getHospitalCode());
  2943.             GOSIDebug.debugMessages("PatientNumber_"+
  2944.             oTreatmentHeader.getPatientNumber());
  2945.             rs = p.executeQuery();
  2946.  
  2947.             while(rs.next())
  2948.             {
  2949.                 if(rs.getLong("trmtServiceHdrId")!=0)
  2950.                 {
  2951.                     headerId= new Long(rs.getLong("trmtServiceHdrId"));
  2952.                 }
  2953.             }
  2954.             sbQuery = sbQuery.delete(0,sbQuery.length());
  2955.         }
  2956.         catch(GOSIException ge)
  2957.         {
  2958.             throw ge;
  2959.         }
  2960.         catch(Exception se)
  2961.         {
  2962.             se.printStackTrace();
  2963.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  2964.             GOSIConstants.SOCIAL_INSURANCE,
  2965.             this.getClass().toString(),
  2966.             "getHeader()",se,"CMN_ERR_1000" );
  2967.         }
  2968.         finally
  2969.         {
  2970.             GOSIUtilities.cleanUp(con, p, rs);
  2971.         }
  2972.        
  2973.         GOSIInstrumentationLog.writeInstrumentationToLog(
  2974.         this.getClass().toString(),
  2975.         "getHeader()",
  2976.         (System.currentTimeMillis() - timeCounter));
  2977.  
  2978.         GOSIDebug.debugMessages("headerId value:"+headerId);
  2979.        
  2980.        
  2981.         return headerId;
  2982.  
  2983.     }
  2984.    
  2985.     /*  This method is used to get the primary key details */
  2986.     /**
  2987.     * @METHOD NAME              :   getPrimaryKeyDetails
  2988.     * @INFORMATION              :   This method is to  get Primary Key Details
  2989.     * @PARAM                    :  
  2990.     * @RETURN                   :   class java.lang.Long
  2991.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  2992.     * @LAST MODIFIED BY         :  
  2993.     * @LAST MODIFIED DATE       :  
  2994.     **/
  2995.     private Long getPrimaryKeyDetails()throws GOSIException
  2996.     {  
  2997.         Long            x = null;
  2998.         long            timeCounter = 0;
  2999.         StringBuffer    sbQuery = new StringBuffer();
  3000.        
  3001.         try
  3002.         {
  3003.             timeCounter = System.currentTimeMillis();  
  3004.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3005.      
  3006.             sbQuery.append(" SELECT MAX(TRMTSERVICEDETID) FROM " );
  3007.             sbQuery.append(  SITables.T_TRMTSERVICESDET);
  3008.                    
  3009.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  3010.            
  3011.             con = GOSIUtilities.getConnection(GOSIConstants.
  3012.             OCCUPATIONAL_HAZARDS_ID);
  3013.             p = con.prepareStatement(sbQuery.toString());
  3014.             rs = p.executeQuery();
  3015.  
  3016.             while(rs.next())
  3017.             {
  3018.                 x = new Long(rs.getLong(1)+1);
  3019.             }
  3020.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3021.  
  3022.         }
  3023.         catch(Exception se)
  3024.         {
  3025.             se.printStackTrace();
  3026.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  3027.             GOSIConstants.SOCIAL_INSURANCE,
  3028.             this.getClass().toString(),
  3029.             "getPrimaryKeyDetails()",
  3030.             se,"CMN_ERR_1000" );
  3031.         }
  3032.         finally
  3033.         {
  3034.             try
  3035.             {
  3036.                 GOSIUtilities.cleanUp(con, p, rs);
  3037.             }
  3038.             catch(Exception se)
  3039.             {
  3040.                 se.printStackTrace();
  3041.                 throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  3042.                 GOSIConstants.SOCIAL_INSURANCE,
  3043.                 this.getClass().toString(),
  3044.                 "getPrimaryKeyDetails()",
  3045.                 se,"CMN_ERR_1000" );
  3046.             }
  3047.         }
  3048.        
  3049.         GOSIInstrumentationLog.writeInstrumentationToLog(
  3050.         this.getClass().toString(),
  3051.         "getPrimaryKeyDetails()",
  3052.         (System.currentTimeMillis() - timeCounter));
  3053.        
  3054.         return x;
  3055.  
  3056.     }
  3057.     /*  This method is used to get the primary key header */
  3058.     /**
  3059.     * @METHOD NAME              :   getPrimaryKeyHeader
  3060.     * @INFORMATION              :   This method is to  get Primary Key Header
  3061.     * @PARAM                    :  
  3062.     * @RETURN                   :   long
  3063.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  3064.     * @LAST MODIFIED BY         :  
  3065.     * @LAST MODIFIED DATE       :  
  3066.     **/
  3067.     private long getPrimaryKeyHeader()throws GOSIException
  3068.     {  
  3069.         long            x = 0;
  3070.         long            timeCounter = 0;
  3071.         StringBuffer    sbQuery = new StringBuffer();
  3072.        
  3073.         try
  3074.         {
  3075.            
  3076.             timeCounter = System.currentTimeMillis();
  3077.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3078.                
  3079.             sbQuery.append(" SELECT MAX(TRMTSERVICEHDRID) FROM ");
  3080.             sbQuery.append(  SITables.T_TRMTSERVICESHDR);
  3081.            
  3082.  
  3083.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  3084.            
  3085.             con  = GOSIUtilities.getConnection
  3086.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  3087.  
  3088.             p = con.prepareStatement(sbQuery.toString());
  3089.             rs = p.executeQuery();
  3090.  
  3091.             while(rs.next())
  3092.             {
  3093.                 x = (rs.getLong(1)+1);
  3094.             }
  3095.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3096.  
  3097.         }
  3098.         catch(Exception se)
  3099.         {
  3100.             se.printStackTrace();
  3101.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  3102.             GOSIConstants.SOCIAL_INSURANCE,
  3103.             this.getClass().toString(),
  3104.             "getPrimaryKeyHeader()",
  3105.             se,"CMN_ERR_1000" );
  3106.         }
  3107.         finally
  3108.         {
  3109.             GOSIUtilities.cleanUp(con, p, rs);
  3110.         }
  3111.        
  3112.         GOSIInstrumentationLog.writeInstrumentationToLog(
  3113.         this.getClass().toString(),
  3114.         "getPrimaryKeyHeader()",
  3115.         (System.currentTimeMillis() - timeCounter));
  3116.  
  3117.         return x;
  3118.  
  3119.     }
  3120.     /*  This method is used to get the header id */
  3121.     /**
  3122.     * @METHOD NAME              :   getHeaderId
  3123.     * @INFORMATION              :   This method is to  get Header Id
  3124.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean,
  3125.                                     class java.lang.Long
  3126.     * @RETURN                   :   class java.lang.Long
  3127.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  3128.     * @LAST MODIFIED BY         :  
  3129.     * @LAST MODIFIED DATE       :  
  3130.     **/
  3131.     private Long getHeaderId(TreatmentServiceBean
  3132.     oTreatmentService,Long injuryId)throws GOSIException
  3133.     {
  3134.         Long            x = null;
  3135.         long            timeCounter = 0;  
  3136.         StringBuffer    sbQuery = new StringBuffer();
  3137.        
  3138.         try
  3139.         {
  3140.             timeCounter = System.currentTimeMillis();
  3141.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3142.            
  3143.             sbQuery.append(" SELECT trmtservicehdrid FROM  ");
  3144.             sbQuery.append(  SITables.T_TRMTSERVICESHDR + " WHERE ");
  3145.             sbQuery.append(" hospitalcode = ? ");
  3146.             sbQuery.append(" AND patientnumber = ? AND injuryid = ? " );
  3147.            
  3148.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  3149.             GOSIDebug.debugMessages
  3150.             ("Injury id____"+injuryId+"___HospitalCode____"+
  3151.             oTreatmentService.getHospitalCode()+
  3152.             "___PatientNumber___"+oTreatmentService.getPatientNumber());
  3153.             con  =GOSIUtilities.getConnection
  3154.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  3155.  
  3156.             p = con.prepareStatement(sbQuery.toString());
  3157.            
  3158.             p.setLong(1,oTreatmentService.getHospitalCode().longValue());
  3159.             p.setString(2,oTreatmentService.getPatientNumber());
  3160.             p.setLong(3,injuryId.longValue());
  3161.             rs = p.executeQuery();
  3162.             GOSIDebug.debugMessages("b4 while in get header");
  3163.             while(rs.next())
  3164.             {
  3165.                 x = new Long(rs.getLong(1));
  3166.                 GOSIDebug.debugMessages("headerId___________________X"+x);
  3167.             }
  3168.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3169.  
  3170.         }
  3171.         catch (GOSIException ge)
  3172.         {  
  3173.             GOSIDebug.debugMessages("error in getheaderId:"+ge);
  3174.             throw ge;
  3175.         }
  3176.         catch(Exception se)
  3177.         {
  3178.             GOSIDebug.debugMessages("error in getheaderId:"+se);
  3179.             se.printStackTrace();
  3180.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  3181.             GOSIConstants.SOCIAL_INSURANCE,
  3182.             this.getClass().toString(),"getHeaderId()",
  3183.             se,"CMN_ERR_1000" );
  3184.         }
  3185.         finally
  3186.         {
  3187.             GOSIUtilities.cleanUp(con, p, rs);
  3188.         }
  3189.        
  3190.         GOSIInstrumentationLog.writeInstrumentationToLog(
  3191.         this.getClass().toString(),
  3192.         "getHeaderId()",
  3193.         (System.currentTimeMillis() - timeCounter));
  3194.        
  3195.         return x;
  3196.     }
  3197.    
  3198.     /*  This method is used to get the treatment periods*/
  3199.     /**
  3200.     * @METHOD NAME              :   getTreatmentPeriod
  3201.     * @INFORMATION              :   This method is to  get Treatment Period
  3202.     * @PARAM                    :   long
  3203.     * @RETURN                   :   class [Ljava.sql.Date;
  3204.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  3205.     * @LAST MODIFIED BY         :  
  3206.     * @LAST MODIFIED DATE       :  
  3207.     **/
  3208.     public java.sql.Date[] getTreatmentPeriod(long injuryId)
  3209.     throws GOSIException
  3210.     {
  3211.         long            timeCounter = 0;
  3212.         java.sql.Date   [] aDate = new java.sql.Date [2];
  3213.         StringBuffer    sbQuery = new StringBuffer();
  3214.        
  3215.         try
  3216.         {
  3217.             timeCounter = System.currentTimeMillis();  
  3218.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3219.                            
  3220.             sbQuery.append(" SELECT TREATMENTSTDATE, ");
  3221.             sbQuery.append(" TREATMENTENDDATE FROM ");
  3222.             sbQuery.append(  SITables.T_INJURY + " WHERE INJURYID = ? ");
  3223.            
  3224.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  3225.            
  3226.             con = GOSIUtilities.getConnection
  3227.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  3228.            
  3229.             p = con.prepareStatement(sbQuery.toString());
  3230.             p.setLong(1,injuryId);
  3231.  
  3232.             rs = p.executeQuery();
  3233.  
  3234.             while(rs.next())
  3235.             {
  3236.                aDate[0] = rs.getDate(1);
  3237.                aDate[1] = rs.getDate(2);
  3238.             }
  3239.             sbQuery = sbQuery.delete(0,sbQuery.length());
  3240.  
  3241.         }
  3242.         catch(Exception e)
  3243.         {
  3244.             GOSIDebug.debugMessages("Excep inside Search Treatment Type:"+e);
  3245.         }
  3246.         finally
  3247.         {
  3248.             try
  3249.             {
  3250.                 GOSIUtilities.cleanUp(con, p, rs);
  3251.             }
  3252.             catch(Exception e)
  3253.             {
  3254.                 GOSIDebug.debugMessages("Exception Inside pop injury   " +e);
  3255.             }
  3256.         }
  3257.        
  3258.         GOSIInstrumentationLog.writeInstrumentationToLog(
  3259.         this.getClass().toString(),
  3260.         "getTreatmentPeriod()",
  3261.         (System.currentTimeMillis() - timeCounter));
  3262.        
  3263.         return aDate;
  3264.  
  3265.     }
  3266.     /*  This method is used to search the treatment details */
  3267.     /**
  3268.     * @METHOD NAME              :   searchTreatmentTypeList
  3269.     * @INFORMATION              :   This method is to  search Treatment Type List
  3270.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentTypeBean
  3271.     * @RETURN                   :   class java.util.ArrayList
  3272.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  3273.     * @LAST MODIFIED BY         :  
  3274.     * @LAST MODIFIED DATE       :  
  3275.     **/
  3276.     public ArrayList searchTreatmentTypeList
  3277.     (TreatmentTypeBean searchBean) throws GOSIException
  3278.     {
  3279.         long                hospitalCode = 0;
  3280.         long                timeCounter = 0;
  3281.         String              trmtCode = "";
  3282.         String              trmtDate = "";
  3283.         ArrayList           treatmentTypeList = new ArrayList();
  3284.         Connection          con = null;
  3285.         PreparedStatement   ps = null;
  3286.         ResultSet           rs = null;
  3287.         StringBuffer        sbQuery = new StringBuffer();
  3288.         Timestamp           trmtDateGreg = null;
  3289.        
  3290.     try
  3291.     {
  3292.         timeCounter = System.currentTimeMillis();
  3293.  
  3294.         String entFmt = OHUtilities.getDateFormat(searchBean.getTrmtDateStr());
  3295.         trmtDateGreg = OHUtilities.getGregDate(searchBean.getTrmtDateStr(),entFmt);
  3296.         searchBean.setTrmtDate(trmtDateGreg);
  3297.        
  3298.         GOSIDebug.debugMessages("trmt date str " +
  3299.         searchBean.getTrmtDateStr() );
  3300.         GOSIDebug.debugMessages("trmt format " +
  3301.         searchBean.getTrmtDateEntFmt());
  3302.        
  3303.         /*
  3304.         if(OHConstants.HIJRAH.equals
  3305.         (searchBean.getTrmtDateEntFmt()))
  3306.         {
  3307.             trmtDate=GOSIDateUtilities.convertToGregorian
  3308.             (searchBean.getTrmtDateStr());
  3309.             searchBean.setTrmtDate
  3310.             (GOSIUtilities.getTimestamp(trmtDate));
  3311.         }
  3312.         else
  3313.         {
  3314.             trmtDate =GOSIUtilities.getDateFullString(
  3315.             GOSIUtilities.getTimestamp(
  3316.             searchBean.getTrmtDateStr()));
  3317.             searchBean.setTrmtDate
  3318.             (GOSIUtilities.getTimestamp(trmtDate));
  3319.         }
  3320.         */
  3321.         String trmtDesc         ="";
  3322.         GOSIDebug.debugMessages("b4 if");
  3323.         if(searchBean.getHospitalCode()!=null)
  3324.         {
  3325.             GOSIDebug.debugMessages("Hospital code:"+
  3326.             searchBean.getHospitalCode());
  3327.             hospitalCode    = ((Long)searchBean.getHospitalCode()).
  3328.             longValue();
  3329.         }
  3330.  
  3331.         if( searchBean.getTrmtCode()!=null)
  3332.         {
  3333.             GOSIDebug.debugMessages("1");
  3334.             trmtCode=searchBean.getTrmtCode();
  3335.             GOSIDebug.debugMessages("2");
  3336.         }
  3337.         if(searchBean.getTrmtDesc()!=null)
  3338.         {
  3339.             GOSIDebug.debugMessages("3");
  3340.             trmtDesc=searchBean.getTrmtDesc();
  3341.             GOSIDebug.debugMessages("4");
  3342.         }
  3343.         GOSIDebug.debugMessages("b4 firstid");
  3344.         long firstID = searchBean.getFirstId();
  3345.         long lastID  = searchBean.getLastId();
  3346.  
  3347.         GOSIDebug.debugMessages("in in SessionBean thes in Modify Mode");
  3348.         if(searchBean.getSearchFlag()== NavigationBean.MODIFY_MODE)
  3349.         {
  3350.             lastID = searchBean.getFirstId();
  3351.             firstID = searchBean.getLastId();
  3352.             GOSIDebug.debugMessages("in Sess the vals in Mod Mode");
  3353.         }
  3354.        
  3355.         String criteria = "";
  3356.         int queryCase = 0;
  3357.         String query = "";
  3358.         byte buttonClicked = searchBean.getButtonClicked();
  3359.         GOSIDebug.debugMessages("5");
  3360.         if (searchBean.getTrmtCode()!=null)
  3361.         {  
  3362.             GOSIDebug.debugMessages("4");
  3363.             criteria = criteria+"1";
  3364.         }
  3365.         else
  3366.         {
  3367.             criteria = criteria+"0";
  3368.         }
  3369.         GOSIDebug.debugMessages("6");
  3370.         if (searchBean.getTrmtDesc()!=null)
  3371.         {  
  3372.             GOSIDebug.debugMessages("6");
  3373.             criteria = criteria+"1";
  3374.         }
  3375.         else
  3376.         {
  3377.             criteria = criteria+"0";
  3378.         }
  3379.  
  3380.         GOSIDebug.debugMessages("the value of criteria is " +criteria);
  3381.         queryCase = Integer.parseInt(criteria);
  3382.         GOSIDebug.debugMessages("in Ses the value of in Mod Mode");
  3383.  
  3384.        
  3385.         con=GOSIUtilities.getConnection
  3386.         (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  3387.        
  3388.         sbQuery = sbQuery.delete(0,sbQuery.length());
  3389.        
  3390.  
  3391.         if (buttonClicked == NavigationBean.BUTTON_SEARCH)
  3392.         {
  3393.             GOSIDebug.debugMessages("the value of criteria is inside if" );
  3394.                                                                                
  3395.             switch (queryCase)
  3396.             {
  3397.                 case 10:
  3398.                    
  3399.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3400.                    
  3401.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3402.                     sbQuery.append(" A.trmtdescarb, " );
  3403.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3404.                     sbQuery.append(" B.hospitaldeptcode, ");
  3405.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3406.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3407.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3408.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3409.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3410.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3411.                     sbQuery.append(  SITables.T_HOSPITALCONTRACT );
  3412.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3413.                     sbQuery.append(" A.effstdate <= ? " );
  3414.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3415.                     sbQuery.append(" ? AND ");
  3416.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3417.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3418.                     sbQuery.append(" ORDER BY ");
  3419.                     sbQuery.append(" A.hospitaldatarecid, ");
  3420.                     sbQuery.append(" B.hospitaldeptcode");
  3421.                            
  3422.                                
  3423.                    
  3424.                     ps = con.prepareStatement(sbQuery.toString(),
  3425.                          ResultSet.TYPE_SCROLL_INSENSITIVE,
  3426.                          ResultSet.CONCUR_READ_ONLY);
  3427.                          
  3428.                        
  3429.                     ps.setLong(1,hospitalCode);
  3430.                     ps.setTimestamp(2,trmtDateGreg);
  3431.                     ps.setTimestamp(3,new Timestamp
  3432.                     (System.currentTimeMillis()));
  3433.                     ps.setTimestamp(4,trmtDateGreg);
  3434.                     ps.setString(5,trmtCode+"%");
  3435.                     ps.setString(6,trmtCode.toUpperCase()+"%");
  3436.                          
  3437.                        
  3438.                    
  3439.                     break;
  3440.                 case 1:
  3441.                    
  3442.                  
  3443.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3444.                    
  3445.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3446.                     sbQuery.append(" A.trmtdescarb, " );
  3447.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3448.                     sbQuery.append(" B.hospitaldeptcode, ");
  3449.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3450.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3451.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3452.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3453.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3454.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3455.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3456.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3457.                     sbQuery.append(" A.effstdate <= ? " );
  3458.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3459.                     sbQuery.append(" ? AND ");
  3460.                     sbQuery.append(" ((A.trmtdescarb LIKE ? ) " );
  3461.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3462.                     sbQuery.append(" ORDER BY ");
  3463.                     sbQuery.append(" A.hospitaldatarecid, ");
  3464.                     sbQuery.append("B.hospitaldeptcode");
  3465.                  
  3466.                    
  3467.                     ps = con.prepareStatement(sbQuery.toString(),
  3468.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3469.                     ResultSet.CONCUR_READ_ONLY);        
  3470.                    
  3471.                                        
  3472.                     ps.setLong(1,hospitalCode);
  3473.                     ps.setString(2,trmtDate);
  3474.                     ps.setTimestamp(3,new Timestamp
  3475.                     (System.currentTimeMillis()));
  3476.                     ps.setString(4,trmtDate);
  3477.                     ps.setString(5,trmtDesc+"%");
  3478.                     ps.setString(6,trmtDesc.toUpperCase()+"%");
  3479.                                                
  3480.                    
  3481.                     break;
  3482.                 case 11:
  3483.                            
  3484.                     sbQuery = sbQuery.delete(0,sbQuery.length());        
  3485.  
  3486.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3487.                     sbQuery.append(" A.trmtdescarb, " );
  3488.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3489.                     sbQuery.append(" B.hospitaldeptcode, ");
  3490.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3491.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3492.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3493.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3494.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3495.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3496.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3497.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3498.                     sbQuery.append(" A.effstdate <= ? " );
  3499.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3500.                     sbQuery.append(" ? AND ");
  3501.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3502.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3503.                     sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
  3504.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3505.                     sbQuery.append(" ORDER BY " );
  3506.                     sbQuery.append(" A.hospitaldatarecid, ");
  3507.                     sbQuery.append(" B.hospitaldeptcode ");
  3508.                    
  3509.                    
  3510.                     ps = con.prepareStatement(sbQuery.toString(),
  3511.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3512.                     ResultSet.CONCUR_READ_ONLY);      
  3513.  
  3514.                                            
  3515.                     ps.setLong(1,hospitalCode);
  3516.                     ps.setTimestamp(2,trmtDateGreg);
  3517.                     ps.setTimestamp(3,new Timestamp
  3518.                     (System.currentTimeMillis()));
  3519.                     ps.setTimestamp(4,trmtDateGreg);
  3520.                     ps.setString(5,trmtCode+"%");
  3521.                     ps.setString(6,trmtCode.toUpperCase()+"%");
  3522.                     ps.setString(7,trmtDesc+"%");
  3523.                     ps.setString(8,trmtDesc.toUpperCase()+"%");
  3524.                    
  3525.                     break;
  3526.                 case 00:
  3527.                    
  3528.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3529.                    
  3530.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3531.                     sbQuery.append(" A.trmtdescarb, " );
  3532.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3533.                     sbQuery.append(" B.hospitaldeptcode, ");
  3534.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3535.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3536.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3537.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3538.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3539.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3540.                     sbQuery.append(  SITables.T_HOSPITALCONTRACT );
  3541.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3542.                     sbQuery.append(" A.effstdate <= ? " );
  3543.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3544.                     sbQuery.append(" ? AND ");
  3545.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3546.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3547.                     sbQuery.append(" ORDER BY ");
  3548.                     sbQuery.append(" A.hospitaldatarecid, ");
  3549.                     sbQuery.append(" B.hospitaldeptcode");
  3550.                            
  3551.                                
  3552.                    
  3553.                     ps = con.prepareStatement(sbQuery.toString(),
  3554.                          ResultSet.TYPE_SCROLL_INSENSITIVE,
  3555.                          ResultSet.CONCUR_READ_ONLY);
  3556.                          
  3557.                        
  3558.                     ps.setLong(1,hospitalCode);
  3559.                     ps.setTimestamp(2,trmtDateGreg);
  3560.                     ps.setTimestamp(3,new Timestamp
  3561.                     (System.currentTimeMillis()));
  3562.                     ps.setTimestamp(4,trmtDateGreg);
  3563.                     ps.setString(5,"%");
  3564.                     ps.setString(6,"%");
  3565.                          
  3566.                        
  3567.                    
  3568.                     break;
  3569.  
  3570.                
  3571.                 default :
  3572.                     break;
  3573.  
  3574.             }
  3575.         }
  3576.         else if (buttonClicked == NavigationBean.BUTTON_NEXT)
  3577.         {
  3578.             GOSIDebug.debugMessages("the value of criteria is inside Forward" );
  3579.             switch (queryCase)
  3580.             {
  3581.                 case 10:
  3582.                        
  3583.                    
  3584.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3585.                    
  3586.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3587.                     sbQuery.append(" A.trmtdescarb, " );
  3588.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3589.                     sbQuery.append(" B.hospitaldeptcode, ");
  3590.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3591.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3592.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3593.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3594.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3595.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3596.                     sbQuery.append(  SITables.T_HOSPITALCONTRACT );
  3597.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3598.                     sbQuery.append(" A.effstdate <= ? " );
  3599.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3600.                     sbQuery.append(" ? AND ");
  3601.                     sbQuery.append(" A.hospitaldatarecid > ? AND ");
  3602.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3603.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3604.                     sbQuery.append(" ORDER BY ");
  3605.                     sbQuery.append(" A.hospitaldatarecid, ");
  3606.                     sbQuery.append(" B.hospitaldeptcode");
  3607.                                                
  3608.                    
  3609.                     ps = con.prepareStatement(sbQuery.toString(),
  3610.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3611.                     ResultSet.CONCUR_READ_ONLY);        
  3612.  
  3613.                                        
  3614.                     ps.setLong(1,hospitalCode);
  3615.                     ps.setTimestamp(2,trmtDateGreg);
  3616.                     ps.setTimestamp(3,new Timestamp
  3617.                     (System.currentTimeMillis()));
  3618.                     ps.setTimestamp(4,trmtDateGreg);
  3619.                     ps.setLong(5,lastID);
  3620.                     ps.setString(6,trmtCode+"%");
  3621.                     ps.setString(7,trmtCode.toUpperCase()+"%");
  3622.                            
  3623.                     break;  
  3624.                
  3625.                 case 1:
  3626.                    
  3627.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3628.  
  3629.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3630.                     sbQuery.append(" A.trmtdescarb, " );
  3631.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3632.                     sbQuery.append(" B.hospitaldeptcode, ");
  3633.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3634.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3635.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3636.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3637.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3638.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3639.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3640.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3641.                     sbQuery.append(" A.effstdate <= ? " );
  3642.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3643.                     sbQuery.append(" ? AND ");
  3644.                     sbQuery.append(" A.hospitaldatarecid > ? AND " );
  3645.                     sbQuery.append(" ((A.trmtdescarb LIKE ? ) " );
  3646.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3647.                     sbQuery.append(" ORDER BY ");
  3648.                     sbQuery.append(" A.hospitaldatarecid, ");
  3649.                     sbQuery.append("B.hospitaldeptcode");
  3650.                  
  3651.                            
  3652.                    
  3653.                     ps = con.prepareStatement(sbQuery.toString(),
  3654.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3655.                     ResultSet.CONCUR_READ_ONLY);        
  3656.                                        
  3657.                     ps.setLong(1,hospitalCode);
  3658.                     ps.setTimestamp(2,trmtDateGreg);
  3659.                     ps.setTimestamp(3,new Timestamp
  3660.                     (System.currentTimeMillis()));
  3661.                     ps.setTimestamp(4,trmtDateGreg);
  3662.                     ps.setLong(5,lastID);
  3663.                     ps.setString(6,trmtDesc+"%");
  3664.                     ps.setString(7,trmtDesc.toUpperCase()+"%");
  3665.                    
  3666.                    
  3667.                     break;
  3668.                        
  3669.                 case 11:
  3670.                    
  3671.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3672.                    
  3673.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3674.                     sbQuery.append(" A.trmtdescarb, " );
  3675.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3676.                     sbQuery.append(" B.hospitaldeptcode, ");
  3677.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3678.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3679.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3680.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3681.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3682.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3683.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3684.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3685.                     sbQuery.append(" A.effstdate <= ? " );
  3686.                     sbQuery.append(" AND NVL(A.effenddate,?) >=  " );
  3687.                     sbQuery.append(" ? AND ");
  3688.                     sbQuery.append(" A.hospitaldatarecid > ? AND ");
  3689.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3690.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3691.                     sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
  3692.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3693.                     sbQuery.append(" ORDER BY " );
  3694.                     sbQuery.append(" A.hospitaldatarecid, ");
  3695.                     sbQuery.append(" B.hospitaldeptcode ");
  3696.                    
  3697.                     ps = con.prepareStatement(sbQuery.toString(),
  3698.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3699.                     ResultSet.CONCUR_READ_ONLY);        
  3700.                    
  3701.                     ps.setLong(1,hospitalCode);
  3702.                     ps.setTimestamp(2,trmtDateGreg);
  3703.                     ps.setTimestamp(3,new Timestamp
  3704.                     (System.currentTimeMillis()));
  3705.                     ps.setTimestamp(4,trmtDateGreg);
  3706.                     ps.setLong(5,lastID);
  3707.                     if(trmtCode!=null||!"".equals(trmtCode))
  3708.                     {
  3709.                         ps.setString(6,trmtCode+"%");
  3710.                         ps.setString(7,trmtCode.toUpperCase()+"%");
  3711.                     }
  3712.                     else
  3713.                     {
  3714.                         ps.setString(6,"%");
  3715.                         ps.setString(7,"%");
  3716.                     }
  3717.                     if(trmtDesc!=null||!"".equals(trmtDesc))
  3718.                     {
  3719.                         ps.setString(8,trmtDesc+"%");
  3720.                         ps.setString(9,trmtDesc.toUpperCase()+"%");
  3721.                     }
  3722.                     else
  3723.                     {
  3724.                         ps.setString(8,"%");
  3725.                         ps.setString(9,"%");
  3726.  
  3727.                     }
  3728.                                
  3729.                     break;
  3730.  
  3731.                 case 00:
  3732.                    
  3733.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3734.                    
  3735.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3736.                     sbQuery.append(" A.trmtdescarb, " );
  3737.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3738.                     sbQuery.append(" B.hospitaldeptcode, ");
  3739.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3740.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3741.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3742.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3743.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3744.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3745.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3746.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3747.                     sbQuery.append(" A.effstdate <= ? " );
  3748.                     sbQuery.append(" AND NVL(A.effenddate,?) >=  " );
  3749.                     sbQuery.append(" ? AND ");
  3750.                     sbQuery.append(" A.hospitaldatarecid > ? AND ");
  3751.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3752.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3753.                     sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
  3754.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3755.                     sbQuery.append(" ORDER BY " );
  3756.                     sbQuery.append(" A.hospitaldatarecid, ");
  3757.                     sbQuery.append(" B.hospitaldeptcode ");
  3758.                    
  3759.                     ps = con.prepareStatement(sbQuery.toString(),
  3760.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3761.                     ResultSet.CONCUR_READ_ONLY);        
  3762.                    
  3763.                     ps.setLong(1,hospitalCode);
  3764.                     ps.setTimestamp(2,trmtDateGreg);
  3765.                     ps.setTimestamp(3,new Timestamp
  3766.                     (System.currentTimeMillis()));
  3767.                     ps.setTimestamp(4,trmtDateGreg);
  3768.                     ps.setLong(5,lastID);
  3769.                     ps.setString(6,"%");
  3770.                     ps.setString(7,"%");
  3771.                     ps.setString(8,"%");
  3772.                     ps.setString(9,"%");
  3773.  
  3774.                                
  3775.                     break;
  3776.                        
  3777.                 default :
  3778.                     break;
  3779.  
  3780.             }
  3781.         }
  3782.  
  3783.         else if (buttonClicked == NavigationBean.BUTTON_PREVIOUS)
  3784.         {
  3785.             switch (queryCase)
  3786.             {                              
  3787.                 case 10:
  3788.                    
  3789.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3790.                    
  3791.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3792.                     sbQuery.append(" A.trmtdescarb, " );
  3793.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3794.                     sbQuery.append(" B.hospitaldeptcode, ");
  3795.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3796.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3797.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3798.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3799.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3800.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3801.                     sbQuery.append(  SITables.T_HOSPITALCONTRACT );
  3802.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3803.                     sbQuery.append(" A.effstdate <= ? " );
  3804.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3805.                     sbQuery.append(" ? AND ");
  3806.                     sbQuery.append(" A.hospitaldatarecid < ? AND ");
  3807.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3808.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3809.                     sbQuery.append(" ORDER BY ");
  3810.                     sbQuery.append(" A.hospitaldatarecid DESC , ");
  3811.                     sbQuery.append(" B.hospitaldeptcode ASC ");
  3812.                    
  3813.                    
  3814.                    
  3815.                     ps = con.prepareStatement(sbQuery.toString(),
  3816.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3817.                     ResultSet.CONCUR_READ_ONLY);        
  3818.                                        
  3819.                     ps.setLong(1,hospitalCode);
  3820.                     ps.setTimestamp(2,trmtDateGreg);
  3821.                     ps.setTimestamp(3,new Timestamp
  3822.                     (System.currentTimeMillis()));
  3823.                     ps.setTimestamp(4,trmtDateGreg);
  3824.                     ps.setLong(5,firstID);
  3825.                     ps.setString(6,trmtCode+"%");
  3826.                     ps.setString(7,trmtCode.toUpperCase()+"%");
  3827.                    
  3828.                                
  3829.                     break;
  3830.                                    
  3831.                 case 1:
  3832.                    
  3833.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3834.                    
  3835.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3836.                     sbQuery.append(" A.trmtdescarb, " );
  3837.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3838.                     sbQuery.append(" B.hospitaldeptcode, ");
  3839.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3840.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3841.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3842.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3843.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3844.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3845.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3846.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3847.                     sbQuery.append(" A.effstdate <= ? " );
  3848.                     sbQuery.append(" AND NVL(A.effenddate,?) >=  " );
  3849.                     sbQuery.append(" ? AND ");
  3850.                     sbQuery.append(" A.hospitaldatarecid < ? AND " );
  3851.                     sbQuery.append(" ((A.trmtdescarb LIKE ? ) " );
  3852.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3853.                     sbQuery.append(" ORDER BY ");
  3854.                     sbQuery.append(" A.hospitaldatarecid DESC , ");
  3855.                     sbQuery.append("B.hospitaldeptcode ASC ");
  3856.                  
  3857.                    
  3858.                     ps = con.prepareStatement(sbQuery.toString(),
  3859.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3860.                     ResultSet.CONCUR_READ_ONLY);        
  3861.                                        
  3862.                     ps.setLong(1,hospitalCode);
  3863.                     ps.setTimestamp(2,trmtDateGreg);
  3864.                     ps.setTimestamp(3,new Timestamp
  3865.                     (System.currentTimeMillis()));
  3866.                     ps.setTimestamp(4,trmtDateGreg);
  3867.                     ps.setLong(5,firstID);
  3868.                     ps.setString(6,trmtDesc+"%");
  3869.                     ps.setString(7,trmtDesc.toUpperCase()+"%");
  3870.                              
  3871.                     break;
  3872.                
  3873.                 case 11:
  3874.                    
  3875.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3876.                                        
  3877.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3878.                     sbQuery.append(" A.trmtdescarb, " );
  3879.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3880.                     sbQuery.append(" B.hospitaldeptcode, ");
  3881.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3882.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3883.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3884.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3885.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3886.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3887.                     sbQuery.append(   SITables.T_HOSPITALCONTRACT );
  3888.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3889.                     sbQuery.append(" A.effstdate <= ? " );
  3890.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3891.                     sbQuery.append(" ? AND ");
  3892.                     sbQuery.append(" A.hospitaldatarecid < ? AND ");
  3893.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3894.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3895.                     sbQuery.append(" AND ((A.trmtdescarb LIKE ? ) ");
  3896.                     sbQuery.append(" OR (A.trmtdescarb LIKE ? )) ");
  3897.                     sbQuery.append(" ORDER BY " );
  3898.                     sbQuery.append(" A.hospitaldatarecid DESC , ");
  3899.                     sbQuery.append(" B.hospitaldeptcode ASC ");
  3900.        
  3901.                     ps = con.prepareStatement(sbQuery.toString(),
  3902.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3903.                     ResultSet.CONCUR_READ_ONLY);        
  3904.                                        
  3905.                     ps.setLong(1,hospitalCode);
  3906.                     ps.setTimestamp(2,trmtDateGreg);
  3907.                     ps.setTimestamp(3,new Timestamp
  3908.                     (System.currentTimeMillis()));
  3909.                     ps.setTimestamp(4,trmtDateGreg);
  3910.                     ps.setLong(5,firstID);
  3911.                     ps.setString(6,trmtCode+"%");
  3912.                     ps.setString(7,trmtCode.toUpperCase()+"%");
  3913.                     ps.setString(8,trmtDesc+"%");
  3914.                     ps.setString(9,trmtDesc.toUpperCase()+"%");
  3915.                    
  3916.                     break;
  3917.  
  3918.                 case 00:
  3919.                    
  3920.                     sbQuery = sbQuery.delete(0,sbQuery.length());
  3921.                    
  3922.                     sbQuery.append(" SELECT A.icd10trmtcode, ");
  3923.                     sbQuery.append(" A.trmtdescarb, " );
  3924.                     sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  3925.                     sbQuery.append(" B.hospitaldeptcode, ");
  3926.                     sbQuery.append(" B.hospitaldeptdescarb FROM ");
  3927.                     sbQuery.append(  SITables.T_HOSPITALDEPTDATA + " A , ");
  3928.                     sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE ");
  3929.                     sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid ");
  3930.                     sbQuery.append(" AND B.hospitalcontractid IN ");
  3931.                     sbQuery.append(" (SELECT hospcontrid FROM ");
  3932.                     sbQuery.append(  SITables.T_HOSPITALCONTRACT );
  3933.                     sbQuery.append(" WHERE hospitalcode = ? ) AND " );
  3934.                     sbQuery.append(" A.effstdate <= ? " );
  3935.                     sbQuery.append(" AND NVL(A.effenddate,? ) >=  " );
  3936.                     sbQuery.append(" ? AND ");
  3937.                     sbQuery.append(" A.hospitaldatarecid < ? AND ");
  3938.                     sbQuery.append(" ((A.icd10trmtcode LIKE ? ) " );
  3939.                     sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  3940.                     sbQuery.append(" ORDER BY ");
  3941.                     sbQuery.append(" A.hospitaldatarecid DESC , ");
  3942.                     sbQuery.append(" B.hospitaldeptcode ASC ");
  3943.                    
  3944.                    
  3945.                    
  3946.                     ps = con.prepareStatement(sbQuery.toString(),
  3947.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  3948.                     ResultSet.CONCUR_READ_ONLY);        
  3949.                                        
  3950.                     ps.setLong(1,hospitalCode);
  3951.                     ps.setTimestamp(2,trmtDateGreg);
  3952.                     ps.setTimestamp(3,new Timestamp
  3953.                     (System.currentTimeMillis()));
  3954.                     ps.setTimestamp(4,trmtDateGreg);
  3955.                     ps.setLong(5,firstID);
  3956.                     ps.setString(6,"%");
  3957.                     ps.setString(7,"%");
  3958.                    
  3959.                                
  3960.                     break;
  3961.  
  3962.                 default :
  3963.                        
  3964.                     break;
  3965.  
  3966.         }
  3967.     }
  3968.  
  3969.    
  3970.     GOSIDebug.debugMessages("Before prep stmt:\n" +sbQuery );
  3971.    
  3972.     sbQuery = sbQuery.delete(0,sbQuery.length());
  3973.     int count = 1;
  3974.        
  3975.         GOSIDebug.debugMessages("after prep stmt..."+ps);
  3976.         ps.setMaxRows(GOSIApplicationProperties.MAX_PAGE_SIZE+1);
  3977.         rs = ps.executeQuery();
  3978.         GOSIDebug.debugMessages("after prep statement");
  3979.         TreatmentTypeBean treatmentType = null;
  3980.         if(rs.next())
  3981.         {
  3982.             rs.previous();
  3983.             while(rs.next())
  3984.             {
  3985.  
  3986.                 treatmentType = new TreatmentTypeBean();
  3987.                 treatmentType.setTrmtCode(rs.getString("ICD10TRMTCODE"));
  3988.                 treatmentType.setTrmtDescArb(rs.getString("TRMTDESCARB"));
  3989.                 treatmentType.setTreatmentId(new Long
  3990.                 (rs.getString("HOSPITALDATARECID")));
  3991.                 treatmentType.setUnitPrice(new Double
  3992.                 (rs.getString("UNITPRICE")));
  3993.                 treatmentType.setDepartmentCode(new Long
  3994.                 (rs.getString("HOSPITALDEPTCODE")));
  3995.                 treatmentType.setDepartmentDesc(
  3996.                 rs.getString("HOSPITALDEPTDESCARB"));
  3997.                 treatmentTypeList.add(treatmentType);
  3998.                 GOSIDebug.debugMessages("after adding to vector ");
  3999.                 if(buttonClicked == NavigationBean.BUTTON_SEARCH
  4000.                 || buttonClicked == NavigationBean.BUTTON_NEXT)
  4001.                 {
  4002.                     GOSIDebug.debugMessages("inside while in search");
  4003.                     if (count == 1)
  4004.                     {
  4005.                         searchBean.setFirstId(
  4006.                         treatmentType.getTreatmentId().longValue());
  4007.                     }
  4008.                     else if(count < GOSIApplicationProperties.
  4009.                     MAX_PAGE_SIZE+1)
  4010.                     {
  4011.                         searchBean.setLastId(treatmentType.
  4012.                         getTreatmentId().longValue());
  4013.                     }
  4014.                     GOSIDebug.debugMessages("inside while in search after");
  4015.                 }
  4016.  
  4017.                 if(buttonClicked == NavigationBean.BUTTON_PREVIOUS)
  4018.                 {
  4019.                     GOSIDebug.debugMessages("inside while in back");
  4020.                     if (count == 1)
  4021.                     {
  4022.                         searchBean.setLastId(treatmentType.getTreatmentId()
  4023.                         .longValue());
  4024.                     }
  4025.                     else if(count <
  4026.                     GOSIApplicationProperties.MAX_PAGE_SIZE+1)
  4027.                     {
  4028.                         searchBean.setFirstId(treatmentType.
  4029.                         getTreatmentId().longValue());
  4030.                     }
  4031.                     GOSIDebug.debugMessages("inside while in back after");
  4032.                 }
  4033.                     count = count+1;
  4034.             }
  4035.             treatmentTypeList.add(searchBean);
  4036.         }
  4037.         sbQuery = sbQuery.delete(0,sbQuery.length());
  4038.  
  4039.     }
  4040.     catch(GOSIException ge)
  4041.     {
  4042.         throw ge;
  4043.     }
  4044.     catch(Exception se)
  4045.     {
  4046.        
  4047.         throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  4048.         GOSIConstants.SOCIAL_INSURANCE,
  4049.         this.getClass().toString(),
  4050.         "searchTreatmentTypeList()",
  4051.         se,"CMN_ERR_1000");
  4052.     }
  4053.     finally
  4054.     {
  4055.         try
  4056.         {
  4057.             GOSIUtilities.cleanUp(con, ps, rs);
  4058.         }
  4059.         catch (Exception e)
  4060.         {
  4061.             GOSIDebug.debugMessages("exception in close :"+e);
  4062.             e.printStackTrace();
  4063.         }
  4064.  
  4065.     }
  4066.     GOSIInstrumentationLog.writeInstrumentationToLog(
  4067.     this.getClass().toString(),
  4068.     "searchTreatmentTypeList()",
  4069.     (System.currentTimeMillis() - timeCounter));
  4070.  
  4071.     return treatmentTypeList;
  4072.   }
  4073.  
  4074.  
  4075.    /*   This method is used to get the treatment description
  4076.         for the treatment code entered by the user */  
  4077.     /**
  4078.     * @METHOD NAME              :   searchTreatmentDescriptionList
  4079.     * @INFORMATION              :   This method is to  search Treatment Description List
  4080.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentTypeBean
  4081.     * @RETURN                   :   class java.util.ArrayList
  4082.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  4083.     * @LAST MODIFIED BY         :  
  4084.     * @LAST MODIFIED DATE       :  
  4085.     **/
  4086.    public ArrayList searchTreatmentDescriptionList
  4087.    (TreatmentTypeBean searchBean) throws GOSIException
  4088.    {
  4089.        
  4090.         ArrayList           treatmentTypeList = new ArrayList();
  4091.         Connection          con = null;
  4092.         PreparedStatement   ps = null;
  4093.         ResultSet           rs = null;
  4094.         long                hospitalCode = 0;
  4095.         long                timeCounter = 0;
  4096.         String              query = "";
  4097.         String              trmtCode = "";
  4098.         String              trmtDate = "";
  4099.         StringBuffer        sbQuery = new StringBuffer();
  4100.         Timestamp           trmtDateGreg = null;
  4101.        
  4102.         try
  4103.         {
  4104.             timeCounter = System.currentTimeMillis();
  4105.             sbQuery = sbQuery.delete(0,sbQuery.length());
  4106.            
  4107.             String entFmt = OHUtilities.getDateFormat(searchBean.getTrmtDateStr());
  4108.             trmtDateGreg = OHUtilities.getGregDate(searchBean.getTrmtDateStr(),entFmt);
  4109.             searchBean.setTrmtDate(trmtDateGreg);
  4110.  
  4111.             /*
  4112.             if(OHConstants.HIJRAH.equals(searchBean.getTrmtDateEntFmt()))
  4113.             {
  4114.                 trmtDate = GOSIDateUtilities.convertToGregorian
  4115.                 (searchBean.getTrmtDateStr());
  4116.                 searchBean.setTrmtDate
  4117.                 (GOSIUtilities.getTimestamp(trmtDate));
  4118.             }
  4119.             else
  4120.             {
  4121.                 trmtDate = GOSIUtilities.getDateFullString
  4122.                 (GOSIUtilities.getTimestamp(
  4123.                 searchBean.getTrmtDateStr()));
  4124.                 searchBean.setTrmtDate
  4125.                 (GOSIUtilities.getTimestamp(trmtDate));
  4126.             }
  4127.             */
  4128.                    
  4129.            
  4130.             GOSIDebug.debugMessages("b4 if");
  4131.             if(searchBean.getHospitalCode()!= null)
  4132.             {
  4133.                 GOSIDebug.debugMessages("Hospital code:" +
  4134.                 searchBean.getHospitalCode());
  4135.                 hospitalCode = ((Long)searchBean.getHospitalCode()).
  4136.                 longValue();
  4137.             }
  4138.  
  4139.             if( searchBean.getTrmtCode()!= null)    {
  4140.                 GOSIDebug.debugMessages("1");
  4141.                 trmtCode=searchBean.getTrmtCode();
  4142.                 GOSIDebug.debugMessages("2");
  4143.             }
  4144.                    
  4145.            
  4146.             con = GOSIUtilities.getConnection
  4147.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4148.                          
  4149.             sbQuery.append(" SELECT A.icd10trmtcode,A.trmtdescarb, ");
  4150.             sbQuery.append(" A.hospitaldatarecid,A.unitprice, ");
  4151.             sbQuery.append(" B.hospitaldeptcode,B.hospitaldeptdescarb ");
  4152.             sbQuery.append(" FROM " + SITables.T_HOSPITALDEPTDATA + " A , ");
  4153.             sbQuery.append(  SITables.T_HOSPITALDEPT + " B WHERE " );
  4154.             sbQuery.append(" A.hospitaldeptid = B.hospitaldeptid " );
  4155.             sbQuery.append(" AND B.hospitalcontractid IN " );
  4156.             sbQuery.append(" (SELECT hospcontrid FROM ");
  4157.             sbQuery.append(  SITables.T_HOSPITALCONTRACT + " WHERE ");
  4158.             sbQuery.append(" hospitalcode = ? )AND ");
  4159.             sbQuery.append(" A.effstdate <= ? ");
  4160.             sbQuery.append(" AND NVL(A.effenddate,? ) >=  ");
  4161.             sbQuery.append(" ? ");
  4162.             sbQuery.append(" AND ((A.icd10trmtcode LIKE ? ) ");
  4163.             sbQuery.append(" OR (A.icd10trmtcode LIKE ? )) ");
  4164.             sbQuery.append(" ORDER BY ");
  4165.             sbQuery.append(" A.hospitaldatarecid,B.hospitaldeptcode ");
  4166.            
  4167.            
  4168.             GOSIDebug.debugMessages("query" +sbQuery);
  4169.                                    
  4170.  
  4171.            
  4172.             ps = con.prepareStatement(sbQuery.toString());        
  4173.                                    
  4174.             ps.setLong(1,hospitalCode);
  4175.             ps.setTimestamp(2,trmtDateGreg);
  4176.             ps.setTimestamp(3,new Timestamp
  4177.             (System.currentTimeMillis()));
  4178.             ps.setTimestamp(4,trmtDateGreg);
  4179.             ps.setString(5,trmtCode);
  4180.             ps.setString(6,trmtCode.toUpperCase());
  4181.                                              
  4182.                                                
  4183.             rs = ps.executeQuery();
  4184.             GOSIDebug.debugMessages("after prep statement");
  4185.             TreatmentTypeBean treatmentType = null;
  4186.             while(rs.next())
  4187.             {
  4188.                 treatmentType = new TreatmentTypeBean();
  4189.                 treatmentType.setTrmtCode(rs.getString("ICD10TRMTCODE"));
  4190.                 treatmentType.setTrmtDescArb(rs.getString("TRMTDESCARB"));
  4191.                 treatmentType.setTreatmentId(new Long
  4192.                 (rs.getString("HOSPITALDATARECID")));
  4193.                 treatmentType.setUnitPrice(new Double
  4194.                 (rs.getString("UNITPRICE")));
  4195.                 treatmentType.setDepartmentCode(new Long
  4196.                 (rs.getString("HOSPITALDEPTCODE")));
  4197.                 treatmentType.setDepartmentDesc(
  4198.                 rs.getString("HOSPITALDEPTDESCARB"));
  4199.                 treatmentTypeList.add(treatmentType);
  4200.                    
  4201.             }
  4202.             sbQuery = sbQuery.delete(0,sbQuery.length());
  4203.            
  4204.  
  4205.         }
  4206.         catch(GOSIException ge)
  4207.         {
  4208.             throw ge;
  4209.         }
  4210.         catch(Exception se)
  4211.         {
  4212.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  4213.             GOSIConstants.SOCIAL_INSURANCE,
  4214.             this.getClass().toString(),
  4215.             "searchTreatmentDescriptionList()",
  4216.             se,"CMN_ERR_1000");
  4217.         }
  4218.                
  4219.         finally
  4220.         {
  4221.             try
  4222.             {
  4223.                 GOSIUtilities.cleanUp(con, ps, rs);
  4224.             }
  4225.             catch (Exception e)
  4226.             {
  4227.                 GOSIDebug.debugMessages("exception in close :"+e);
  4228.                 e.printStackTrace();
  4229.             }
  4230.  
  4231.         }
  4232.         GOSIInstrumentationLog.writeInstrumentationToLog(
  4233.         this.getClass().toString(),
  4234.         "searchTreatmentDescriptionList()",
  4235.         (System.currentTimeMillis() - timeCounter));
  4236.  
  4237.         return treatmentTypeList;
  4238.    }
  4239.  
  4240.     /*  This method is used to validate the treatment service */
  4241.  
  4242.     /*
  4243.     public TreatmentServiceBean isValidTrmtService
  4244.     (TreatmentServiceBean trmtSrvcBean,
  4245.     Long injuryId,String mode)throws GOSIException
  4246.     {
  4247.        
  4248.         StringBuffer    sbQuery = new StringBuffer();
  4249.         String          errorCode = "";
  4250.         String          patientNumber = "";
  4251.         Timestamp       trmtStartDate = null;
  4252.         Timestamp       trmtEndDate = null;
  4253.         Long            treatmentId = null;
  4254.         Long            hospitalCode = null;
  4255.         Short           trmtStatus = null;
  4256.         Short           workflowStatus = null;
  4257.         long            timeCounter = 0;
  4258.                        
  4259.         try
  4260.         {
  4261.            
  4262.             timeCounter = System.currentTimeMillis();
  4263.            
  4264.             sbQuery = sbQuery.delete(0,sbQuery.length());
  4265.             sbQuery.append(" SELECT TREATMENTID,STARTDATE, ");
  4266.             sbQuery.append(" ENDDATE,PATIENTNUMBER,HOSPITALCODE, ");
  4267.             sbQuery.append(" TREATMENTSTATUS,WORKFLOWSTATUS FROM " );
  4268.             sbQuery.append(  SITables.T_TREATMENT + " WHERE  ");
  4269.             sbQuery.append(" TREATMENTSTATUS IN ( ?,? ) AND ");
  4270.             sbQuery.append(" STARTDATE <= ? " );
  4271.             sbQuery.append(" AND ENDDATE >= ? " );
  4272.             sbQuery.append(" AND INJURYID = ? ");
  4273.                        
  4274.            
  4275.             con = GOSIUtilities.getConnection
  4276.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4277.            
  4278.             GOSIDebug.debugMessages("query" + sbQuery);
  4279.            
  4280.             p = con.prepareStatement(sbQuery.toString());
  4281.            
  4282.             p.setShort(1,
  4283.             OHConstants.TRMT_STS_ENTERED.shortValue());
  4284.             p.setShort(2,
  4285.             OHConstants.TRMT_STS_APPROVED.shortValue());
  4286.             p.setTimestamp(3,trmtSrvcBean.getTrmtDateGreg());
  4287.             p.setTimestamp(4,trmtSrvcBean.getTrmtDateGreg());
  4288.             p.setLong(5,injuryId.longValue());
  4289.             rs = p.executeQuery();
  4290.             while(rs.next())
  4291.             {
  4292.                 treatmentId=new Long(rs.getLong("TREATMENTID"));
  4293.                 trmtStartDate=rs.getTimestamp("STARTDATE");
  4294.                 trmtEndDate  =rs.getTimestamp("ENDDATE");
  4295.                 patientNumber=rs.getString("PATIENTNUMBER");
  4296.                 hospitalCode =new Long(rs.getLong("HOSPITALCODE"));
  4297.                 trmtStatus   =new Short(rs.getShort("TREATMENTSTATUS"));
  4298.                 workflowStatus=new Short(rs.getShort("WORKFLOWSTATUS"));
  4299.                 trmtSrvcBean.setTreatmentId(treatmentId);
  4300.                 trmtSrvcBean.setTrmtStatus(trmtStatus);
  4301.  
  4302.             }
  4303.             if(trmtStartDate == null)
  4304.             {
  4305.                 errorCode = "SOI_ERR_4012";
  4306.             }
  4307.             else if(!(hospitalCode.equals(trmtSrvcBean.
  4308.             getHospitalCode())))
  4309.             {
  4310.                 errorCode="SOI_ERR_4018";
  4311.             }
  4312.             else if(!(patientNumber.equals(trmtSrvcBean.
  4313.             getPatientNumber())))
  4314.             {
  4315.                 errorCode = "SOI_ERR_4138";
  4316.             }
  4317.             else if(workflowStatus.equals
  4318.             (OHConstants.WFS_TRMT_PENDING_DATA_ENTRY))
  4319.             {
  4320.                 errorCode = "SOI_ERR_4139";
  4321.             }
  4322.             else if(!OHConstants.TRMT_STS_APPROVED.equals(trmtStatus))
  4323.             {
  4324.                 errorCode = "SOI_ERR_4622";
  4325.             }
  4326.             else
  4327.             {
  4328.                 errorCode = "";
  4329.             }
  4330.             Long newDataStartValue = new Long ("1000000000");
  4331.             if("SOI_ERR_4012".equals(errorCode)&&
  4332.                 (injuryId.longValue()< newDataStartValue.longValue()))
  4333.             {
  4334.                 GOSIUtilities.cleanUp(p,rs);
  4335.                 String sqlQuery = " select INJURYID from "+
  4336.                     SITables.T_INJURY +" where "+
  4337.                     " INJURYID = ? and TREATMENTSTDATE <= ? "+
  4338.                     " and TREATMENTENDDATE >= ? ";
  4339.  
  4340.                 p = con.prepareStatement(sqlQuery);
  4341.                 p.setLong(1,injuryId.longValue());
  4342.                 p.setTimestamp(2,trmtSrvcBean.getTrmtDateGreg());
  4343.                 p.setTimestamp(3,trmtSrvcBean.getTrmtDateGreg());
  4344.                 rs = p.executeQuery();
  4345.                 if(rs.next())
  4346.                 {
  4347.                     errorCode = "";
  4348.                     trmtSrvcBean.setTrmtStatus(OHConstants.TRMT_STS_APPROVED);
  4349.  
  4350.                 }else
  4351.                 {
  4352.                     errorCode = "SOI_ERR_4012";
  4353.                 }
  4354.             }
  4355.  
  4356.  
  4357.             sbQuery = sbQuery.delete(0,sbQuery.length());
  4358.             trmtSrvcBean.setErrorCode(errorCode);
  4359.            
  4360.             GOSIInstrumentationLog.writeInstrumentationToLog(
  4361.             this.getClass().toString(),
  4362.             "isValidTrmtService()",
  4363.             (System.currentTimeMillis() - timeCounter));
  4364.            
  4365.             return trmtSrvcBean;
  4366.         }
  4367.         catch(GOSIException ge)
  4368.         {
  4369.             throw ge;
  4370.         }
  4371.         catch(Exception se)
  4372.         {
  4373.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  4374.             GOSIConstants.SOCIAL_INSURANCE,
  4375.             this.getClass().toString(),
  4376.             "isValidTrmtService()",
  4377.             se,"CMN_ERR_1000");
  4378.         }
  4379.         finally
  4380.         {
  4381.              GOSIUtilities.cleanUp(con,p, rs);
  4382.         }
  4383.     }
  4384.     */
  4385.  
  4386.     /**
  4387.     * @METHOD NAME              :   isValidTrmtService
  4388.     * @INFORMATION              :   This method is to  is Valid Trmt Service
  4389.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean,
  4390.                                     class java.lang.Long,
  4391.                                     class java.lang.String
  4392.     * @RETURN                   :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean
  4393.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  4394.     * @LAST MODIFIED BY         :  
  4395.     * @LAST MODIFIED DATE       :  
  4396.     **/
  4397.     public TreatmentServiceBean isValidTrmtService
  4398.     (TreatmentServiceBean trmtSrvcBean,
  4399.     Long Id,String mode)throws GOSIException
  4400.     {
  4401.        
  4402.         StringBuffer    sbQuery = new StringBuffer();
  4403.         String          patientNumber = "";
  4404.         Long            treatmentId = null;
  4405.         Long            hospitalCode = null;
  4406.         Short           trmtStatus = null;
  4407.         Short           workflowStatus = null;
  4408.         long            timeCounter = 0;
  4409.         Timestamp trmtStartDate = null;
  4410.         Timestamp trmtEndDate = null;
  4411.         Timestamp injuryDate = null;
  4412.         Timestamp assessmentDate = null;
  4413.         String sqlQuery = "";          
  4414.         String errorCode = "";
  4415.         try
  4416.         {
  4417.           timeCounter = System.currentTimeMillis();
  4418.           Timestamp currentDate = new Timestamp(System.currentTimeMillis());
  4419.           if(mode.equalsIgnoreCase("injuryId"))
  4420.           {
  4421.             sqlQuery = "select NVL(DATECOMPLICATION,INJURYDATE) INJURYDATE,"
  4422.             +" TREATMENTSTDATE , TREATMENTENDDATE ,INJURYSTATUS "
  4423.             +" from "+SITables.T_INJURY +" where INJURYID = ? ";
  4424.  
  4425.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4426.            
  4427.             Short injuryStatus = null;
  4428.  
  4429.             p = con.prepareStatement(sqlQuery);
  4430.             p.setLong(1,Id.longValue());
  4431.  
  4432.             rs = p.executeQuery();
  4433.             if(rs.next())
  4434.             {
  4435.                 trmtStartDate = rs.getTimestamp("TREATMENTSTDATE");
  4436.                 trmtEndDate = rs.getTimestamp("TREATMENTENDDATE");
  4437.                 injuryStatus = new Short(rs.getShort("INJURYSTATUS"));
  4438.                 injuryDate = rs.getTimestamp("INJURYDATE");
  4439.             }
  4440.             if(trmtSrvcBean.getTrmtDateGreg().after(currentDate))
  4441.             {
  4442.                 errorCode = "SOI_ERR_5198";
  4443.             }else
  4444.             if (OHConstants.INJ_STS_CURED_WITHOUT_DISABILITY.equals(injuryStatus)||
  4445.                 OHConstants.INJ_STS_CURED_WITH_DISABILITY.equals(injuryStatus)||
  4446.                 OHConstants.INJ_STS_RESULTED_IN_DEATH.equals(injuryStatus))
  4447.             {
  4448.                 if(trmtSrvcBean.getTrmtDateGreg().before(trmtStartDate)||
  4449.                     trmtSrvcBean.getTrmtDateGreg().after(trmtEndDate))
  4450.                 {
  4451.                     errorCode = "SOI_ERR_4012";
  4452.                 }
  4453.             }
  4454.             else if(OHConstants.INJ_STS_APPROVED.equals(injuryStatus)||
  4455.                     OHConstants.INJ_STS_REJECTED.equals(injuryStatus)||
  4456.                     OHConstants.INJ_STS_TRANSFERED_DISEASE.equals(injuryStatus))
  4457.             {
  4458.                 if(trmtSrvcBean.getTrmtDateGreg().before(injuryDate))
  4459.                 {
  4460.                     errorCode = "SOI_ERR_4632";
  4461.                 }
  4462.             }
  4463.             else
  4464.             {
  4465.                 errorCode = "SOI_ERR_4012";
  4466.             }
  4467.            
  4468.           }
  4469.           else if (mode.equalsIgnoreCase("disabilityAssessmentID"))
  4470.           {
  4471.                              
  4472.               sqlQuery = "SELECT disabilityassessmentid, socialinsurancenumber, assessmentdate FROM "+
  4473.                     SITables.T_DISBASSMT +" WHERE SCHEDULEID = ? AND assessmentstatus <> ?  ";
  4474.  
  4475.                     con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4476.                     p = con.prepareStatement(sqlQuery);
  4477.                     p.setLong      (1, Id.longValue());
  4478.                     p.setShort     (2, OHConstants.ASSMT_CANCELLED);
  4479.                     rs = p.executeQuery();
  4480.                     if(rs.next())
  4481.                     {
  4482.                         assessmentDate = rs.getTimestamp("ASSESSMENTDATE");
  4483.                     }
  4484.                     if(trmtSrvcBean.getTrmtDateGreg().after(currentDate))
  4485.                     {
  4486.                         errorCode = "SOI_ERR_5198";
  4487.                     }
  4488.                     else if(trmtSrvcBean.getTrmtDateGreg().before(assessmentDate))
  4489.                     {
  4490.                             errorCode = "SOI_ERR_4386";
  4491.                     }
  4492.           }
  4493.             trmtSrvcBean.setTrmtStatus(OHConstants.TRMT_STS_APPROVED);
  4494.             trmtSrvcBean.setErrorCode(errorCode);
  4495.             return trmtSrvcBean;
  4496.         }
  4497.         catch(GOSIException ge)
  4498.         {
  4499.             throw ge;
  4500.         }
  4501.         catch(Exception se)
  4502.         {
  4503.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  4504.             GOSIConstants.SOCIAL_INSURANCE,
  4505.             this.getClass().toString(),
  4506.             "isValidTrmtService()",
  4507.             se,"CMN_ERR_1000");
  4508.         }
  4509.         finally
  4510.         {
  4511.              GOSIUtilities.cleanUp(con,p, rs);
  4512.         }
  4513.     }
  4514.    
  4515.     /**
  4516.     * @METHOD NAME              :   isAlreadyEnteredService
  4517.     * @INFORMATION              :   This method is to  is Already Entered Service
  4518.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean,
  4519.                                     class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
  4520.     * @RETURN                   :   boolean
  4521.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  4522.     * @LAST MODIFIED BY         :  
  4523.     * @LAST MODIFIED DATE       :  
  4524.     **/
  4525.     public boolean isAlreadyEnteredService(TreatmentServiceBean trmtSrvcBean,
  4526.         InjuryPopDetails injuryDetails)  throws GOSIException
  4527.     {
  4528.         GOSIDebug.debugMessages("--------isAlreadyEnteredService---------");
  4529.         PreparedStatement ps = null;
  4530.         ResultSet rs = null;
  4531.         boolean isAlreadyEntered = false;
  4532.         try
  4533.         {
  4534.             String sqlQuery = " select "+
  4535.                 " b.TRMTSERVICEDETID, b.TRMTSERVICEHDRID from "+
  4536.                 SITables.T_TRMTSERVICESHDR +" a , "+
  4537.                 SITables.T_TRMTSERVICESDET +" b "+
  4538.                 " where a.INJURYID = ? and a.HOSPITALCODE = ? and "+
  4539.                 " a.TRMTSERVICEHDRID = b.TRMTSERVICEHDRID and b.TRMTAMT = ? "+
  4540.                 " and b.TRMTDATE = ? and b.ICD10TRMTDIAGNOSISCODE =? "+
  4541.                 " and b.TRMTSRVCSTATUS in (?,?)";
  4542.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4543.             ps = con.prepareStatement(sqlQuery);
  4544.             ps.setLong(1,injuryDetails.getInjuryID().longValue());
  4545.             ps.setLong(2,trmtSrvcBean.getHospitalCode().longValue());
  4546.             ps.setDouble(3,trmtSrvcBean.getTrmtAmt().doubleValue());
  4547.             ps.setTimestamp(4,trmtSrvcBean.getTrmtDateGreg());
  4548.             ps.setString(5,trmtSrvcBean.getTrmtCode());
  4549.             ps.setShort(6,OHConstants.TRMT_SRVC_STS_APPROVED.shortValue());
  4550.             ps.setShort(7,OHConstants.TRMT_SRVC_STS_ENTERED.shortValue());
  4551.             rs = ps.executeQuery();
  4552.             while(rs.next())
  4553.             {
  4554.                 isAlreadyEntered = true;
  4555.             }
  4556.            
  4557.             /*
  4558.             if(!isAlreadyEntered)
  4559.             {
  4560.                 for(int i=0;i<serviceList.size();i++)
  4561.                 {
  4562.                     TreatmentServiceBean serviceBean =
  4563.                         (TreatmentServiceBean)serviceList.get(i);
  4564.                     if(serviceBean.getMode()==serviceBean.DELETE_MODE)
  4565.                     {
  4566.                         continue;
  4567.                     }
  4568.                     if(serviceBean.getTrmtDateGreg().equals(trmtSrvcBean.getTrmtDateGreg())&&
  4569.                         serviceBean.getTrmtCode().equals(trmtSrvcBean.getTrmtCode())&&
  4570.                         serviceBean.getTrmtAmt().equals(trmtSrvcBean.getTrmtAmt()))
  4571.                         {
  4572.                             isAlreadyEntered = true;
  4573.                             break;
  4574.                         }
  4575.                 }
  4576.             }
  4577.             */
  4578.             return isAlreadyEntered;
  4579.         }
  4580.         catch(GOSIException ge)
  4581.         {
  4582.             throw ge;
  4583.         }
  4584.         catch(Exception e)
  4585.         {
  4586.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  4587.             GOSIConstants.SOCIAL_INSURANCE,
  4588.             this.getClass().toString(),
  4589.             "isAlreadyEnteredService()",
  4590.             e,"CMN_ERR_1000");
  4591.         }
  4592.         finally
  4593.         {
  4594.             GOSIUtilities.cleanUp(con,ps,rs);
  4595.         }
  4596.     }
  4597. /**
  4598.     * @METHOD NAME              :   isAlreadyEnteredTreatmentService
  4599.     * @INFORMATION              :   This method is to  is Already Entered Service
  4600.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TrtmServiceDetailBean
  4601.     * @RETURN                   :   boolean
  4602.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  4603.     * @LAST MODIFIED BY         :  
  4604.     * @LAST MODIFIED DATE       :  
  4605.     **/
  4606.     public boolean isAlreadyEnteredTreatmentService(TrtmServiceDetailBean trmtSrvcBean)  throws GOSIException
  4607.     {
  4608.         GOSIDebug.debugMessages("--------isAlreadyEnteredTreatmentService---------");
  4609.         PreparedStatement ps = null;
  4610.         ResultSet rs = null;
  4611.         boolean isAlreadyEntered = false;
  4612.         try
  4613.         {
  4614.             String sqlQuery = " select TRTMSERVICEDETAILID from  "+
  4615.                 SITables.T_TRTMSERVICELISTDETAIL +
  4616.                 " where  HOSPITALCODE = ? and TREATMENTCODE = ? "+
  4617.                 " and STATUS in (?,?,?,?,?)";
  4618.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4619.             ps = con.prepareStatement(sqlQuery);
  4620.             ps.setLong(1,trmtSrvcBean.getHospitalCode().longValue());
  4621.             ps.setString(2,trmtSrvcBean.getTreatmentCode());
  4622.             ps.setShort(3,OHConstants.TRTM_SRVC_LIST_DET_STATUS_APPROVED1.shortValue());
  4623.             ps.setShort(4,OHConstants.TRTM_SRVC_LIST_DET_STATUS_APPROVED2.shortValue());
  4624.             ps.setShort(5,OHConstants.TRTM_SRVC_LIST_DET_STATUS_ENTERED.shortValue());
  4625.             ps.setShort(6,OHConstants.TRTM_SRVC_LIST_DET_STATUS_REJECTED.shortValue());
  4626.             ps.setShort(7,OHConstants.TRTM_SRVC_LIST_DET_STATUS_VERIFIED.shortValue());
  4627.             rs = ps.executeQuery();
  4628.             if(rs.next())
  4629.             {
  4630.                 isAlreadyEntered = true;
  4631.             }
  4632.            
  4633.            
  4634.             return isAlreadyEntered;
  4635.         }
  4636.         catch(GOSIException ge)
  4637.         {
  4638.             throw ge;
  4639.         }
  4640.         catch(Exception e)
  4641.         {
  4642.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  4643.             GOSIConstants.SOCIAL_INSURANCE,
  4644.             this.getClass().toString(),
  4645.             "isAlreadyEnteredTreatmentService()",
  4646.             e,"CMN_ERR_1000");
  4647.         }
  4648.         finally
  4649.         {
  4650.             GOSIUtilities.cleanUp(con,ps,rs);
  4651.         }
  4652.     }
  4653.  
  4654.     /*  This method is used to search and display the
  4655.         treatment details during modification */
  4656.     /**
  4657.     * @METHOD NAME              :   searchTreatmentServiceModify
  4658.     * @INFORMATION              :   This method is to  search Treatment Service Modify
  4659.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentPeriodBean
  4660.     * @RETURN                   :   class java.util.HashMap
  4661.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  4662.     * @LAST MODIFIED BY         :  
  4663.     * @LAST MODIFIED DATE       :  
  4664.     **/
  4665.     public HashMap searchTreatmentServiceModify
  4666.     (TreatmentPeriodBean srchTrmtPrdBean)
  4667.     throws GOSIException
  4668.     {
  4669.        
  4670.         long            timeCounter = 0;
  4671.         long            establishmentId = 0;
  4672.         StringBuffer    sbQuery = new StringBuffer();
  4673.         String          contributorName = "";
  4674.         ResultSet       rsTreatment = null;
  4675.            
  4676.         try
  4677.         {    
  4678.             timeCounter = System.currentTimeMillis();
  4679.  
  4680.             con = GOSIUtilities.getConnection
  4681.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  4682.                
  4683.             sbQuery = sbQuery.delete(0,sbQuery.length());
  4684.            
  4685.             sbQuery.append(" SELECT A.injuryid,A.socinsnumber, ");
  4686.             sbQuery.append(" A.injurydateentfmt,A.injurydate,A.DATECOMPLICATION, ");
  4687.             sbQuery.append(" A.injurynumber,B.registrationnumber, ");
  4688.             sbQuery.append(" D.firstname || ' ' ||   ");
  4689.             sbQuery.append(" NVL(D.secondname,'')|| ' ' ||  " );
  4690.             sbQuery.append(" NVL(D.thirdname,'')||' ' || ");
  4691.             sbQuery.append(" NVL(D.surname,'') NAME,  ");
  4692.             sbQuery.append(" D.nationalitycode, " );
  4693.             sbQuery.append(" B.fieldofficecode, A.contributorid, ");
  4694.             sbQuery.append(" A.establishmentid FROM ");
  4695.             sbQuery.append(  SITables.T_INJURY + " A ,");
  4696.             sbQuery.append(  SITables.T_ESTABLISHMENT + " B, ");
  4697.             sbQuery.append(  SITables.T_CONTRIBUTOR +  " C, ");
  4698.             sbQuery.append(  SITables.T_PERSON + " D where ");
  4699.             sbQuery.append(" A.establishmentid = B.establishmentid ");
  4700.             sbQuery.append(" AND A.contributorid = C.contributorid " );
  4701.             sbQuery.append(" AND C.personid = D.personid AND " );
  4702.             sbQuery.append(" A.injurystatus NOT IN ( ? , ? ) " );
  4703.             sbQuery.append(" AND A.injuryid = ? " );
  4704.            
  4705.                
  4706.             GOSIDebug.debugMessages("sqlQuery" + sbQuery);  
  4707.             p = con.prepareStatement(sbQuery.toString());
  4708.            
  4709.             p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
  4710.             p.setShort(2,OHConstants.INJ_STS_CANCELLED.shortValue());
  4711.             p.setLong(3,srchTrmtPrdBean.getInjuryId().longValue());
  4712.            
  4713.            
  4714.             rs = p.executeQuery();
  4715.             InjuryPopDetails injuryDetails = null;
  4716.             while(rs.next())
  4717.             {
  4718.                 injuryDetails=new InjuryPopDetails();
  4719.                 injuryDetails.setInjuryID( new Long
  4720.                 (rs.getLong("INJURYID")));
  4721.                 injuryDetails.setSocialInsuranceNumber
  4722.                 ( new Long(rs.getLong("SOCINSNUMBER")));
  4723.                
  4724.                 injuryDetails.setInjuryDate(rs.getTimestamp
  4725.                 ("INJURYDATE"));
  4726.                 injuryDetails.setInjuryDateEntFmt
  4727.                 (rs.getString("INJURYDATEENTFMT"));
  4728.                 if (OHConstants.HIJRAH.equals
  4729.                 (injuryDetails.getInjuryDateEntFmt()))
  4730.                 {
  4731.                     injuryDetails.setInjuryDateStr
  4732.                     (GOSIDateUtilities.convertToHijra(
  4733.                     GOSIUtilities.getDateFullString(
  4734.                     injuryDetails.getInjuryDate())));
  4735.                 }
  4736.                 else
  4737.                 {
  4738.                     injuryDetails.setInjuryDateStr
  4739.                     (GOSIUtilities.getDateFullString(
  4740.                     injuryDetails.getInjuryDate()));
  4741.                 }
  4742.                
  4743.                 if(rs.getObject("DATECOMPLICATION")!=null)
  4744.                 {
  4745.                     injuryDetails.setComplicationDate
  4746.                         (rs.getTimestamp("DATECOMPLICATION"));
  4747.                     injuryDetails.setComplicationDateStr(OHUtilities.getDateStr
  4748.                         (injuryDetails.getComplicationDate(),injuryDetails.getInjuryDateEntFmt()));
  4749.                 }
  4750.                
  4751.                 injuryDetails.setInjuryNumber
  4752.                 ( new Long(rs.getLong("INJURYNUMBER")));
  4753.                
  4754.                 injuryDetails.setName(rs.getString("NAME"));
  4755.                 injuryDetails.setNationality
  4756.                 (new Short(rs.getShort("NATIONALITYCODE")));
  4757.                 injuryDetails.setFieldOffice
  4758.                 (new Short(rs.getShort("FIELDOFFICECODE")));
  4759.                
  4760.                 injuryDetails.setContributorId(
  4761.                 new Long(rs.getLong("CONTRIBUTORID")));
  4762.                
  4763.                 establishmentId = rs.getLong
  4764.                 ("ESTABLISHMENTID");
  4765.                 GOSIDebug.debugMessages("est id ***" +
  4766.                 establishmentId );
  4767.                
  4768.                 ContributorBean oContributorBean =
  4769.                 new ContributorBean();
  4770.                 oContributorBean = ContributorUtilities.
  4771.                 displayContributor(injuryDetails.getContributorId());          
  4772.                 GOSIDebug.debugMessages("PersonId::"+oContributorBean.
  4773.                 getPersonId());
  4774.                 PersonBean oPersonBean = new PersonBean();
  4775.                 oPersonBean = PersonUtilities.
  4776.                 displayPerson(oContributorBean.getPersonId());
  4777.                 GOSIDebug.debugMessages("first name" +
  4778.                 oPersonBean.getFirstName());
  4779.                 GOSIDebug.debugMessages("first name" +
  4780.                 oPersonBean.getFirstName());
  4781.                 GOSIDebug.debugMessages("second name" +
  4782.                 oPersonBean.getSecondName());
  4783.                 GOSIDebug.debugMessages("third name" +
  4784.                 oPersonBean.getThirdName());
  4785.                 GOSIDebug.debugMessages("surname" +
  4786.                 oPersonBean.getSurName());
  4787.                 contributorName = oPersonBean.getFirstName();
  4788.                 if(oPersonBean.getSecondName() != null)
  4789.                 {
  4790.                     contributorName += " " + oPersonBean.getSecondName();
  4791.                 }
  4792.                 if(oPersonBean.getThirdName() != null)
  4793.                 {
  4794.                     contributorName += " " + oPersonBean.getThirdName();
  4795.                 }
  4796.                 if(oPersonBean.getSurName() != null)
  4797.                 {
  4798.                     contributorName += " " + oPersonBean.getSurName();
  4799.                 }
  4800.                 GOSIDebug.debugMessages("contributor Name ^^^" +
  4801.                 contributorName);
  4802.                
  4803.                 injuryDetails.setName(contributorName);
  4804.                
  4805.                 if(oPersonBean.getNationalityCode() != null)
  4806.                 {
  4807.                     injuryDetails.setNationality
  4808.                     (oPersonBean.getNationalityCode());
  4809.                 }
  4810.                 GOSIDebug.debugMessages("nationality code ^^^" +
  4811.                 oPersonBean.getNationalityCode());
  4812.                
  4813.                 EstablishmentBean oEstablishmentBean =
  4814.                 new EstablishmentBean();
  4815.                
  4816.                 EstablishmentUtility oEstablishmentUtility =
  4817.                 new EstablishmentUtility();
  4818.                
  4819.                 oEstablishmentBean = oEstablishmentUtility.
  4820.                 getEstablishmentDetails(establishmentId,
  4821.                 false,true);
  4822.                
  4823.                 GOSIDebug.debugMessages("reg no" + oEstablishmentBean.
  4824.                 getRegistrationNumber());
  4825.                 if(oEstablishmentBean != null)
  4826.                 {
  4827.                     injuryDetails.setRegistrationNumber
  4828.                     (oEstablishmentBean.
  4829.                     getRegistrationNumber());
  4830.                 }
  4831.                            
  4832.             }
  4833.            
  4834.             GOSIDebug.debugMessages("injury details fetched:");
  4835.             sbQuery = sbQuery.delete(0,sbQuery.length());
  4836.            
  4837.             String hospitalName = "";
  4838.             sbQuery.append(" SELECT a.TRMTSERVICEDETID, ");
  4839.             sbQuery.append(" a.TRMTSERVICEHDRID, ");
  4840.             sbQuery.append(" a.TRMTDATE, ");
  4841.             sbQuery.append(" a.TRMTDATEENTFMT,");
  4842.             sbQuery.append(" a.TRMTTIMEHR, ");
  4843.             sbQuery.append(" a.TRMTTIMEMIN,");
  4844.             sbQuery.append(" a.TRMTTIMEAMPM, ");
  4845.             sbQuery.append(" a.ICD10TRMTDIAGNOSISCODE, ");
  4846.             sbQuery.append(" a.TRMTDESC, ");
  4847.             sbQuery.append(" a.UNITS, ");
  4848.             sbQuery.append(" a.UNITPRICE, ");
  4849.             sbQuery.append(" a.TRMTAMT, ");
  4850.             sbQuery.append(" a.CREATEDBY, ");
  4851.             sbQuery.append(" a.CREATIONTIMESTAMP, ");
  4852.             sbQuery.append(" a.LASTMODIFIEDBY, ");
  4853.             sbQuery.append(" a.LASTMODIFIEDTIMESTAMP, ");
  4854.             sbQuery.append(" a.FILENUMBER , ");
  4855.             sbQuery.append(" a.PAGENUMBER , ");
  4856.             sbQuery.append(" a.REASONFORDEDUCTION , a.ISNONDISCOUNT");
  4857.             sbQuery.append(" b.HOSPITALNAMEARB FROM " );
  4858.             sbQuery.append(  SITables.T_TRMTSERVICESDET + " a , ");
  4859.             sbQuery.append(  SITables.T_HOSPITAL+ " b " );
  4860.             sbQuery.append(" WHERE a.TRMTSERVICEHDRID = " );
  4861.             sbQuery.append(" (SELECT TRMTSERVICEHDRID FROM ");
  4862.             sbQuery.append(  SITables.T_TRMTSERVICESHDR);
  4863.             sbQuery.append(" WHERE PATIENTNUMBER = ? AND ");
  4864.             sbQuery.append(" HOSPITALCODE = ? AND ");
  4865.             sbQuery.append(" INJURYID = ? )" );
  4866.             sbQuery.append(" AND a.TRMTDATE >= ? ");
  4867.             sbQuery.append(" AND a.TRMTDATE <= ? " );
  4868.             sbQuery.append(" AND b.HOSPITALCODE = ? ");
  4869.             sbQuery.append(" AND a.WORKFLOWSTATUS = ? ");
  4870.                
  4871.            
  4872.  
  4873.             GOSIDebug.debugMessages("sqlQuery" + sbQuery);
  4874.             Long fileNumber = null;
  4875.             Long pageNumber = null;
  4876.            
  4877.             p = con.prepareStatement(sbQuery.toString());
  4878.            
  4879.             p.setString(1,srchTrmtPrdBean.getPatientNumber());
  4880.             p.setLong(2,srchTrmtPrdBean.getHospitalCode().longValue());
  4881.             p.setLong(3,srchTrmtPrdBean.getInjuryId().longValue());
  4882.             p.setTimestamp(4,srchTrmtPrdBean.getStartDateGreg());
  4883.             p.setTimestamp(5,srchTrmtPrdBean.getEndDateGreg());
  4884.             p.setLong(6,srchTrmtPrdBean.getHospitalCode().longValue());
  4885.             p.setShort(7,(OHConstants.WFS_SRVC_PENDING_DATA_ENTRY).
  4886.                                 shortValue());
  4887.             rs = p.executeQuery();
  4888.             ArrayList serviceList = new ArrayList ();
  4889.             while(rs.next())
  4890.             {
  4891.                 TreatmentServiceBean srvcBean= new TreatmentServiceBean();
  4892.                 srvcBean.setTrmtServiceDetId(new Long
  4893.                 (rs.getLong("TRMTSERVICEDETID")));
  4894.                 srvcBean.setTrmtServiceHdrId(new Long
  4895.                 (rs.getLong("TRMTSERVICEHDRID")));
  4896.                 //GOSIDebug.debugMessages("hdr id:");
  4897.                 srvcBean.setTrmtDateGreg(rs.getTimestamp("TRMTDATE"));
  4898.                 //GOSIDebug.debugMessages("trmtdate:");
  4899.                 srvcBean.setTrmtDateEntFmt(rs.getString("TRMTDATEENTFMT"));
  4900.                 if(OHConstants.HIJRAH.equals
  4901.                 (srvcBean.getTrmtDateEntFmt()))
  4902.                 {
  4903.                     srvcBean.setTrmtDateStr
  4904.                     (GOSIDateUtilities.convertToHijra
  4905.                     (GOSIUtilities.getDateFullString
  4906.                      (srvcBean.getTrmtDateGreg())));
  4907.                 }
  4908.                 else
  4909.                 {
  4910.                     srvcBean.setTrmtDateStr
  4911.                     (GOSIUtilities.getDateFullString
  4912.                     (srvcBean.getTrmtDateGreg()));
  4913.                 }
  4914.                 srvcBean.setTrmtTimeHr(rs.getString("TRMTTIMEHR"));
  4915.                 srvcBean.setTrmtTimeMin(rs.getString("TRMTTIMEMIN"));
  4916.                
  4917.                 if(rs.getObject("TRMTTIMEAMPM")!= null)
  4918.                 {
  4919.                     srvcBean.setTrmtTimeAmPm(new Short
  4920.                     (rs.getShort("TRMTTIMEAMPM")));
  4921.                 }      
  4922.                 srvcBean.setTrmtCode(rs.getString
  4923.                 ("ICD10TRMTDIAGNOSISCODE"));
  4924.                 srvcBean.setTrmtDesc(rs.getString("TRMTDESC"));
  4925.                 if(rs.getObject("UNITS")!= null)
  4926.                 {
  4927.                     srvcBean.setUnits(rs.getFloat("UNITS"));
  4928.                 }
  4929.                 if(rs.getObject("UNITPRICE")!= null)
  4930.                 {
  4931.                     srvcBean.setUnitPrice(new Double
  4932.                     (rs.getDouble("UNITPRICE")));
  4933.                 }  
  4934.                 if(rs.getString("REASONFORDEDUCTION")!=null)
  4935.                 {
  4936.                     srvcBean.setReasonForDeduction(rs.getString("REASONFORDEDUCTION"));
  4937.                 }
  4938.                 if(rs.getString("ISNONDISCOUNT")!=null)
  4939.                 {
  4940.                     srvcBean.setIsNonDiscount(rs.getByte("ISNONDISCOUNT"));
  4941.                 }
  4942.                 srvcBean.setTrmtAmt(new Double(rs.getDouble("TRMTAMT")));
  4943.                 srvcBean.setCreatedBy(new Long(rs.getLong("CREATEDBY")));
  4944.                 srvcBean.setCreationTimestamp
  4945.                 (rs.getTimestamp("CREATIONTIMESTAMP"));
  4946.                 if(rs.getObject("LASTMODIFIEDBY")!= null)
  4947.                 {
  4948.                     srvcBean.setLastModifiedBy(new Long
  4949.                     (rs.getLong("LASTMODIFIEDBY")));
  4950.                     srvcBean.setLastModifiedTimestamp(
  4951.                     rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
  4952.                 }
  4953.                 if(rs.getObject("FILENUMBER")!=null)
  4954.                 {
  4955.                     srvcBean.setFileNumber(new Long(rs.getLong("FILENUMBER")));
  4956.                     fileNumber =srvcBean.getFileNumber();      
  4957.                 }
  4958.                 if(rs.getObject("PAGENUMBER")!=null)
  4959.                 {
  4960.                     srvcBean.setPageNumber(new Long(rs.getLong("PAGENUMBER")));
  4961.                     pageNumber =srvcBean.getPageNumber();      
  4962.                 }
  4963.                
  4964.                 sbQuery = sbQuery.delete(0,sbQuery.length());
  4965.                
  4966.                 if(srvcBean.getTrmtCode().equalsIgnoreCase
  4967.                 (OHConstants.ICD_MEDICINE_CODE))
  4968.                 {
  4969.                     srvcBean.setTrmt(srvcBean.getTrmtDesc());  
  4970.                     srvcBean.setMedicineDescription
  4971.                     (srvcBean.getTrmtDesc());
  4972.                     srvcBean.setMedicineAmount(srvcBean.getTrmtAmt());
  4973.                     srvcBean.setTrmtAmt(null);
  4974.                     srvcBean.setTrmtCode("");
  4975.                     srvcBean.setTrmtDesc("");
  4976.                 }else if(srvcBean.getTrmtCode().equalsIgnoreCase
  4977.                 (OHConstants.TRMT_SRVC_BULK_ENTRY))
  4978.                 {
  4979.                      srvcBean.setTrmt
  4980.                         (GOSIErrorMessages.getErrorDesc("SOI_ERR_5309"));
  4981.                 }
  4982.                 else
  4983.                 {
  4984.                     /*  This query is used to get the
  4985.                         treatment description for the
  4986.                         treatment code passed */
  4987.                                
  4988.  
  4989.                    
  4990.                     sbQuery.append(" SELECT icd10treatment FROM ");
  4991.                     sbQuery.append(  SITables.T_ICDTREATMENTDATA);
  4992.                     sbQuery.append(" WHERE icd10treatmentcode LIKE ? " );
  4993.                     sbQuery.append(" OR icd10treatmentcode LIKE ? " );
  4994.                                        
  4995.                     GOSIDebug.debugMessages("sqlQuery" + sbQuery);
  4996.  
  4997.                     p = con.prepareStatement(sbQuery.toString());
  4998.                     p.setString(1,srvcBean.getTrmtCode());
  4999.                     p.setString(2,srvcBean.getTrmtCode().toUpperCase());
  5000.                                
  5001.                     rsTreatment = p.executeQuery();
  5002.                    
  5003.                     if(rsTreatment.next())
  5004.                     {
  5005.                         srvcBean.setTrmt(rsTreatment.
  5006.                         getString(1));
  5007.                     }
  5008.                     GOSIUtilities.cleanUp(rsTreatment);
  5009.                 }
  5010.                
  5011.                
  5012.                 srvcBean.setHospitalDesc
  5013.                 (rs.getString("HOSPITALNAMEARB"));
  5014.                 hospitalName = srvcBean.getHospitalDesc();
  5015.                 srvcBean.setHospitalCode
  5016.                 (srchTrmtPrdBean.getHospitalCode());
  5017.                 srvcBean.setPatientNumber
  5018.                 (srchTrmtPrdBean.getPatientNumber());
  5019.                 srvcBean.setMode(AuditBean.OLD_MODE);
  5020.                 serviceList.add(srvcBean);
  5021.             }
  5022.             injuryDetails.setHospitalNameArb
  5023.             (srchTrmtPrdBean.getHospitalNameArb());
  5024.             injuryDetails.setHospitalCode
  5025.             (srchTrmtPrdBean.getHospitalCode());
  5026.             injuryDetails.setPatientNumber
  5027.             (srchTrmtPrdBean.getPatientNumber());
  5028.             injuryDetails.setFileNumber(fileNumber);
  5029.             injuryDetails.setPageNumber(pageNumber);
  5030.             HashMap details = new HashMap();
  5031.             details.put("injuryDetails",injuryDetails);
  5032.             details.put("serviceList",serviceList);
  5033.             sbQuery = sbQuery.delete(0,sbQuery.length());
  5034.                        
  5035.             GOSIInstrumentationLog.writeInstrumentationToLog(
  5036.             this.getClass().toString(),
  5037.             "searchTreatmentServiceModify()",
  5038.             (System.currentTimeMillis() - timeCounter));
  5039.            
  5040.             return details;
  5041.            
  5042.         }
  5043.         catch(GOSIException ge)
  5044.         {
  5045.             throw ge;
  5046.         }
  5047.         catch(Exception e)
  5048.         {
  5049.             GOSIDebug.debugMessages("servlet :  The exception is " +e);
  5050.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  5051.             GOSIConstants.SOCIAL_INSURANCE,this.getClass().toString(),
  5052.             "searchTreatmentServiceModify()",e,"CMN_ERR_1000" );
  5053.         }
  5054.         finally
  5055.         {
  5056.             GOSIUtilities.cleanUp(con, p, rs);
  5057.         }
  5058.     }
  5059.     /*  This method is used to search and display the
  5060.         treatment details during verification/approval */
  5061.     /**
  5062.     * @METHOD NAME              :   searchTreatmentServiceInbox
  5063.     * @INFORMATION              :   This method is to  search Treatment Service Inbox
  5064.     * @PARAM                    :   class java.lang.Long
  5065.     * @RETURN                   :   class java.util.HashMap
  5066.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  5067.     * @LAST MODIFIED BY         :  
  5068.     * @LAST MODIFIED DATE       :  
  5069.     **/
  5070.     public HashMap searchTreatmentServiceInbox
  5071.     (Long primaryKey)throws GOSIException
  5072.     {
  5073.            
  5074.         long            timeCounter = 0;
  5075.         long            establishmentId = 0;
  5076.         String          hospitalDesc = "";
  5077.         String          patientNumber = "";
  5078.         String          contributorName = "";
  5079.         Long            hospitalCode = null;
  5080.         Long            injuryId = null;
  5081.         Long            disabilityAssessmentId = null;
  5082.         Long            invoiceDetailsId = null;
  5083.         Short           appealStatus=null;
  5084.         ResultSet       rsTreatment = null;
  5085.         StringBuffer    sbQuery = new StringBuffer();
  5086.         Long            fileNumber = null;
  5087.         Long            pageNumber = null;
  5088.         HashMap details = new HashMap();
  5089.         ResultSet rs2 = null;
  5090.                
  5091.         try
  5092.         {    
  5093.             timeCounter = System.currentTimeMillis();
  5094.            
  5095.             con = GOSIUtilities.getConnection
  5096.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  5097.            
  5098.             sbQuery = sbQuery.delete(0,sbQuery.length());
  5099.            
  5100.             sbQuery.append(" SELECT a.TRMTSERVICEDETID, " );
  5101.             sbQuery.append(" a.TRMTSERVICEHDRID,a.TRMTDATE, " );
  5102.             sbQuery.append(" a.TRMTDATEENTFMT,a.TRMTTIMEHR, ");
  5103.             sbQuery.append(" a.TRMTTIMEMIN,a.TRMTTIMEAMPM," );
  5104.             sbQuery.append(" a.ICD10TRMTDIAGNOSISCODE," );
  5105.             sbQuery.append(" a.TRMTDESC,a.UNITS,a.UNITPRICE,");
  5106.             sbQuery.append(" a.TRMTAMT,a.CREATEDBY,");
  5107.             sbQuery.append(" a.CREATIONTIMESTAMP,");
  5108.             sbQuery.append(" a.LASTMODIFIEDBY,");
  5109.             sbQuery.append(" a.LASTMODIFIEDTIMESTAMP,");
  5110.             sbQuery.append(" a.TRMTSRVCSTATUS,");
  5111.             sbQuery.append(" a.WORKFLOWSTATUS," );
  5112.             sbQuery.append(" a.TRMTSRVCWRKFLOID,");
  5113.             sbQuery.append(" a.APPROVEDUNITS,");
  5114.             sbQuery.append(" a.REJECTIONCODE,");
  5115.             sbQuery.append(" a.FILENUMBER,");
  5116.             sbQuery.append(" a.PAGENUMBER,");
  5117.             sbQuery.append(" a.routingflag,");
  5118.             sbQuery.append(" a.REASONFORDEDUCTION,");
  5119.             sbQuery.append(" a.SFDACODE,");
  5120.             sbQuery.append(" a.UOM, a.ISPERIODDEDUCTED , ");
  5121.             sbQuery.append(" a.DISCOUNTPERCENTAGE,");
  5122.             sbQuery.append(" a.APPROVEDDISCPERCENTAGE,");
  5123.             sbQuery.append(" a.IOFLAG,");
  5124.             sbQuery.append(" a.REASONOFAPPEALDEDCUTION, a.APPEALDEDCUTIONSTATUS, a.APPEALDEDCUTIONDATE,a.APPEALDEDCUTIONWFID ,");
  5125.             sbQuery.append(" a.REJECTEDTRMTAMT, a.ISNONDISCOUNT , ");
  5126.             sbQuery.append(" c.invoicedetailsid,c.APPEALSTATUS,");
  5127.             sbQuery.append(" c.HOSPITALCODE ,NVL(c.INJURYID,d.INJURYID) AS INJURYID,");
  5128.             sbQuery.append(" d.SCHEDULEID , c.PATIENTNUMBER,b.HOSPITALNAMEARB FROM ");
  5129.             sbQuery.append(  SITables.T_TRMTSERVICESDET + " a , ");
  5130.             sbQuery.append(  SITables.T_HOSPITAL + " b," );
  5131.             sbQuery.append(  SITables.T_TRMTSERVICESHDR + " c LEFT JOIN " );
  5132.             sbQuery.append(  SITables.T_MBAPPOINTMENT + " d ON c.DISASSMTID = d.SCHEDULEID WHERE " );
  5133.             sbQuery.append(" a.TRMTSERVICEHDRID = c.TRMTSERVICEHDRID  ");
  5134.             sbQuery.append(" and c.HOSPITALCODE = b.HOSPITALCODE ");
  5135.             sbQuery.append(" AND ( a.TRMTSRVCWRKFLOID = ? OR (a.APPEALDEDCUTIONWFID=? and  APPEALDEDCUTIONSTATUS <> ?))  ");
  5136.             sbQuery.append(" ORDER BY  NVL(A.SFDACODE,A.ICD10TRMTDIAGNOSISCODE) , A.TRMTDATE ASC ");
  5137.            
  5138.  
  5139.             GOSIDebug.debugMessages("SqlQuery:\n"+sbQuery);
  5140.            
  5141.  
  5142.             p = con.prepareStatement(sbQuery.toString());
  5143.             p.setLong(1,primaryKey.longValue());
  5144.             p.setLong(2,primaryKey.longValue());
  5145.             p.setShort(3,OHConstants.TRMT_SRVC_APPEAL_STS_CANCELLED);
  5146.             rs = p.executeQuery();
  5147.  
  5148.             ArrayList serviceList = new ArrayList ();
  5149.             while(rs.next())
  5150.             {
  5151.                 TreatmentServiceBean srvcBean = new TreatmentServiceBean();
  5152.                 srvcBean.setTrmtServiceDetId(new Long
  5153.                 (rs.getLong("TRMTSERVICEDETID")));
  5154.                 srvcBean.setTrmtServiceHdrId(new Long
  5155.                 (rs.getLong("TRMTSERVICEHDRID")));
  5156.                 //GOSIDebug.debugMessages("hdr id:");
  5157.                 srvcBean.setTrmtDateGreg(rs.getTimestamp("TRMTDATE"));
  5158.                 //GOSIDebug.debugMessages("trmtdate:");
  5159.                 srvcBean.setTrmtDateEntFmt(rs.getString("TRMTDATEENTFMT"));
  5160.                 if(OHConstants.HIJRAH.equals
  5161.                 (srvcBean.getTrmtDateEntFmt()))
  5162.                 {
  5163.                     srvcBean.setTrmtDateStr
  5164.                     (GOSIDateUtilities.convertToHijra
  5165.                     (GOSIUtilities.getDateFullString
  5166.                     (srvcBean.getTrmtDateGreg())));
  5167.                 }
  5168.                 else
  5169.                 {
  5170.                     srvcBean.setTrmtDateStr
  5171.                     (GOSIUtilities.getDateFullString
  5172.                     (srvcBean.getTrmtDateGreg()));
  5173.                 }
  5174.                 srvcBean.setTrmtTimeHr(rs.getString("TRMTTIMEHR"));
  5175.                 srvcBean.setTrmtTimeMin(rs.getString("TRMTTIMEMIN"));
  5176.                 if(rs.getObject("TRMTTIMEAMPM")!= null)
  5177.                 {
  5178.                     srvcBean.setTrmtTimeAmPm(new Short
  5179.                     (rs.getShort("TRMTTIMEAMPM")));
  5180.                 }  
  5181.                 srvcBean.setTrmtCode(rs.getString
  5182.                 ("ICD10TRMTDIAGNOSISCODE"));
  5183.                 srvcBean.setTrmtDesc(rs.getString("TRMTDESC"));
  5184.                
  5185.                 if(rs.getObject("UNITS")!= null)
  5186.                 {
  5187.                     srvcBean.setUnits(rs.getFloat("UNITS"));
  5188.                 }
  5189.                 if(rs.getObject("UNITPRICE")!= null)
  5190.                 {
  5191.                     srvcBean.setUnitPrice(new Double
  5192.                     (rs.getDouble("UNITPRICE")));
  5193.                 }
  5194.                
  5195.                 if(rs.getObject("SFDACODE")!= null)
  5196.                 {
  5197.                     srvcBean.setSFDACode(rs.getString("SFDACODE"));
  5198.                 }
  5199.                 if(rs.getObject("UOM")!= null)
  5200.                 {
  5201.                     srvcBean.setUOM(rs.getString("UOM"));
  5202.                 }
  5203.                 if(rs.getObject("DISCOUNTPERCENTAGE")!= null)
  5204.                 {
  5205.                     srvcBean.setDiscountPercentage(new Double
  5206.                     (rs.getDouble("DISCOUNTPERCENTAGE")));
  5207.                 }
  5208.                 if(rs.getObject("APPROVEDDISCPERCENTAGE")!= null)
  5209.                 {
  5210.                     srvcBean.setApprovedDiscPercentage(new Double
  5211.                     (rs.getDouble("APPROVEDDISCPERCENTAGE")));
  5212.                 }
  5213.                 if(rs.getObject("IOFLAG")!= null)
  5214.                 {
  5215.                     srvcBean.setIOFlag(rs.getString("IOFLAG").charAt(0));
  5216.                 }
  5217.                 if(rs.getObject("REJECTEDTRMTAMT")!= null)
  5218.                 {
  5219.                     srvcBean.setRejectedTrmtAmt(rs.getDouble("REJECTEDTRMTAMT"));
  5220.                 }
  5221.                 else
  5222.                       srvcBean.setRejectedTrmtAmt(new Double("0"));
  5223.                
  5224.                 if(rs.getObject("ISPERIODDEDUCTED")!= null)
  5225.                 {
  5226.                     srvcBean.setIsPeriodDeducted(rs.getByte("ISPERIODDEDUCTED"));
  5227.                 }
  5228.                
  5229.                 if(rs.getObject("SCHEDULEID")!= null)
  5230.                 {
  5231.                     srvcBean.setDisbAssmtId(rs.getLong("SCHEDULEID"));
  5232.                 }
  5233.                
  5234.                 srvcBean.setTrmtAmt(new Double(rs.getDouble("TRMTAMT")));
  5235.                 srvcBean.setCreatedBy(new Long(rs.getLong("CREATEDBY")));
  5236.                 srvcBean.setCreationTimestamp
  5237.                 (rs.getTimestamp("CREATIONTIMESTAMP"));
  5238.                 if(rs.getObject("LASTMODIFIEDBY")!= null)
  5239.                 {
  5240.                     srvcBean.setLastModifiedBy(new Long
  5241.                     (rs.getLong("LASTMODIFIEDBY")));
  5242.                     srvcBean.setLastModifiedTimestamp(
  5243.                     rs.getTimestamp("LASTMODIFIEDTIMESTAMP"));
  5244.                 }
  5245.                 srvcBean.setTrmtSrvcStatus
  5246.                 (new Short(rs.getShort("TRMTSRVCSTATUS")));
  5247.                 srvcBean.setWorkflowStatus
  5248.                 (new Short(rs.getShort("WORKFLOWSTATUS")));
  5249.                 srvcBean.setTrmtSrvcWrkfloId
  5250.                 (new Long(rs.getLong("TRMTSRVCWRKFLOID")));
  5251.  
  5252.                 if(rs.getString("routingflag")!=null)
  5253.                 {
  5254.                     srvcBean.setRoutingFlag(new Short(
  5255.                         rs.getShort("routingFlag")));
  5256.                 }
  5257.                 if(rs.getString("REASONFORDEDUCTION")!=null)
  5258.                 {
  5259.                     srvcBean.setReasonForDeduction(rs.getString("REASONFORDEDUCTION"));
  5260.                 }
  5261.                 srvcBean.setTrmtSrvcStatus(
  5262.                     new Short(rs.getShort("TRMTSRVCSTATUS")));
  5263.  
  5264.                 if(rs.getObject("INVOICEDETAILSID") != null)
  5265.                 {
  5266.                     invoiceDetailsId = rs.getLong("INVOICEDETAILSID");
  5267.                 }
  5268.                 if(rs.getObject("APPEALSTATUS") != null)
  5269.                 {
  5270.                     appealStatus = rs.getShort("APPEALSTATUS");
  5271.                 }
  5272.                 if(rs.getObject("APPROVEDUNITS")!= null)
  5273.                 {
  5274.                     srvcBean.setApprovedUnits(rs.getFloat("APPROVEDUNITS"));
  5275.                 }
  5276.                 if(rs.getObject("REJECTIONCODE")!= null)
  5277.                 {
  5278.                     srvcBean.setRejectionCode
  5279.                     (new Short(rs.getShort("REJECTIONCODE")));
  5280.                 }
  5281.                 if(rs.getObject("FILENUMBER")!=null)
  5282.                 {
  5283.                     srvcBean.setFileNumber
  5284.                     (new Long(rs.getLong("FILENUMBER")));
  5285.                     fileNumber = srvcBean.getFileNumber();
  5286.                 }
  5287.                 if(rs.getObject("PAGENUMBER")!=null)
  5288.                 {
  5289.                     srvcBean.setPageNumber
  5290.                     (new Long(rs.getLong("PAGENUMBER")));
  5291.                     pageNumber = srvcBean.getPageNumber();
  5292.                 }
  5293.                 if(rs.getObject("REASONOFAPPEALDEDCUTION")!=null)
  5294.                 {
  5295.                     srvcBean.setReasonOfAppealDedcution(rs.getString("REASONOFAPPEALDEDCUTION"));                  
  5296.                 }
  5297.                 if(rs.getObject("ISNONDISCOUNT")!=null)
  5298.                 {
  5299.                     srvcBean.setIsNonDiscount(rs.getByte("ISNONDISCOUNT"));                
  5300.                 }
  5301.                 if(rs.getObject("APPEALDEDCUTIONSTATUS")!=null)
  5302.                 {
  5303.                     srvcBean.setAppealDedcutionStatus(rs.getShort("APPEALDEDCUTIONSTATUS"));
  5304.                 }
  5305.                 if(rs.getObject("APPEALDEDCUTIONDATE")!=null)
  5306.                 {
  5307.                     srvcBean.setAppealDedcutionDate(rs.getTimestamp("APPEALDEDCUTIONDATE"));
  5308.                 }
  5309.                 if(rs.getObject("APPEALDEDCUTIONWFID")!=null)
  5310.                 {
  5311.                     srvcBean.setAppealDedcutionWfId(rs.getLong("APPEALDEDCUTIONWFID"));
  5312.                 }
  5313.                 srvcBean.setHospitalCode
  5314.                 (new Long (rs.getLong("HOSPITALCODE")));
  5315.                
  5316.                 sbQuery = sbQuery.delete(0,sbQuery.length());
  5317.                                
  5318.                 //GOSIDebug.debugMessages("trmt code" + srvcBean.getTrmtCode());
  5319.                 if(srvcBean.getTrmtCode().trim().
  5320.                 equalsIgnoreCase(OHConstants.ICD_MEDICINE_CODE))
  5321.                 {
  5322.                     srvcBean.setMedicineDescription
  5323.                     (srvcBean.getTrmtDesc());
  5324.                     srvcBean.setMedicineAmount(srvcBean.getTrmtAmt());
  5325.  
  5326.                     if (invoiceDetailsId == null)
  5327.                     {
  5328.                         srvcBean.setTrmtAmt(null);
  5329.                         srvcBean.setTrmtCode("");
  5330.                         srvcBean.setTrmtDesc("");
  5331.                     }
  5332.                    
  5333.                     // get SFDA Medicine Details
  5334.                     sbQuery.append("SELECT ID, REGISTRATIONNUM, GENERICNAME , TRADENAME, STRENGTHVALUE, ");
  5335.                     sbQuery.append("UNITOFSTRENGTH, DOSAGEFORM , ROUTEOFADMINISTRATION, ATCCODE1, ATCCODE2, VOLUME, ");
  5336.                     sbQuery.append("UNITOFVOLUME, PACKAGETYPE , PACKAGESIZE , LEGALSTATUS, PRODUCTCONTROL, PUBLICPRICE, ");
  5337.                     sbQuery.append("SHELFLIFE , STORAGECONDITIONS , MANUFACTURERNAME, COUNTRYOFMANUFACTURER, ");
  5338.                     sbQuery.append("MARKETINGCOMPANY, NATIONALITY , AGENTNAME , AUTHORIZATIONSTATUS , MARKETINGSTATUS,DRUGTYPE,  ");
  5339.                     sbQuery.append("REMARKS FROM T_SFDA WHERE REGISTRATIONNUM=? ");
  5340.                
  5341.                    
  5342.                     //GOSIDebug.debugMessages("SqlQuery trmt \n"+sbQuery);
  5343.                     //GOSIDebug.debugMessages("SFDACode trmt \n"+srvcBean.getSFDACode());
  5344.                    
  5345.                     p = con.prepareStatement(sbQuery.toString());
  5346.                     p.setString(1,srvcBean.getSFDACode());
  5347.                                
  5348.                     rsTreatment = p.executeQuery();
  5349.                    
  5350.                     if(rsTreatment.next())
  5351.                     {
  5352.  
  5353.                         SFDABean medicineBean = new SFDABean();
  5354.                           medicineBean.setId(rsTreatment.getLong("ID"));
  5355.                           medicineBean.setRegistrationNumber(rsTreatment.getString("REGISTRATIONNUM"));
  5356.                           medicineBean.setGenericName(rsTreatment.getString("GENERICNAME"));
  5357.                           medicineBean.setTradeName(rsTreatment.getString("TRADENAME"));
  5358.                           medicineBean.setStrengthValue(rsTreatment.getString("STRENGTHVALUE"));
  5359.                           medicineBean.setUnitOfStrength(rsTreatment.getString("UNITOFSTRENGTH"));
  5360.                           medicineBean.setDosageForm(rsTreatment.getString("DOSAGEFORM"));
  5361.                           medicineBean.setRouteOfAdministration(rsTreatment.getString("ROUTEOFADMINISTRATION"));
  5362.                           medicineBean.setAtcCode1(rsTreatment.getString("ATCCODE1"));
  5363.                           medicineBean.setAtcCode2(rsTreatment.getString("ATCCODE2"));
  5364.                           medicineBean.setVolume(rsTreatment.getString("VOLUME"));
  5365.                           medicineBean.setUnitOfVolume(rsTreatment.getString("UNITOFVOLUME"));
  5366.                           medicineBean.setPackageType(rsTreatment.getString("PACKAGETYPE"));
  5367.                           medicineBean.setPackageSize(rsTreatment.getInt("PACKAGESIZE"));
  5368.                           medicineBean.setLegalStatus(rsTreatment.getString("LEGALSTATUS"));
  5369.                           medicineBean.setProductControl(rsTreatment.getString("PRODUCTCONTROL"));
  5370.                           medicineBean.setPublicPrice(rsTreatment.getDouble("PUBLICPRICE"));
  5371.                           medicineBean.setShelfLife(rsTreatment.getInt("SHELFLIFE"));
  5372.                           medicineBean.setStorageConditions(rsTreatment.getString("STORAGECONDITIONS"));
  5373.                           medicineBean.setManufacturername(rsTreatment.getString("MANUFACTURERNAME"));
  5374.                           medicineBean.setCountryOfManufacturer(rsTreatment.getString("COUNTRYOFMANUFACTURER"));
  5375.                           medicineBean.setMarketingCompany(rsTreatment.getString("MARKETINGCOMPANY"));
  5376.                           medicineBean.setNationality(rsTreatment.getString("NATIONALITY"));
  5377.                           medicineBean.setAgentName(rsTreatment.getString("AGENTNAME"));
  5378.                           medicineBean.setAuthorizationStatus(rsTreatment.getString("AUTHORIZATIONSTATUS"));
  5379.                           medicineBean.setMarketingStatus(rsTreatment.getString("MARKETINGSTATUS"));
  5380.                           medicineBean.setDrugType(rsTreatment.getString("DRUGTYPE").charAt(0));
  5381.                           medicineBean.setRemarks(rsTreatment.getString("REMARKS"));
  5382.                           details.put ("SFDABean", medicineBean);
  5383.                           srvcBean.setSFDAMedicinePrice(medicineBean.getPublicPrice());
  5384.                           srvcBean.setDrugType(medicineBean.getDrugType());
  5385.                          
  5386.                          
  5387.                     }
  5388.                     GOSIUtilities.cleanUp(rsTreatment);
  5389.                    
  5390.                 }
  5391.                 else if(srvcBean.getTrmtCode().trim().
  5392.                 equalsIgnoreCase(OHConstants.TRMT_SRVC_BULK_ENTRY))
  5393.                 {
  5394.                     srvcBean.setTrmt
  5395.                         (GOSIErrorMessages.getErrorDesc("SOI_ERR_5309"));
  5396.                 }
  5397.                 else if(invoiceDetailsId != null)
  5398.                 {
  5399.                     /*  This query is used to get the
  5400.                         treatment description for the
  5401.                         treatment code passed */
  5402.  
  5403.                     sbQuery.append(" SELECT NVL (treatmentdescarb, treatmentdesceng) AS TRMT , MEDCATEGORY  FROM ");
  5404.                     sbQuery.append(  SITables.T_TRTMSERVICELIST);
  5405.                     sbQuery.append(" WHERE hospitalcode = ? " );
  5406.                     sbQuery.append(" AND treatmentcode LIKE ? " );
  5407.                     sbQuery.append(" AND status = ? " );
  5408.  
  5409.                    // GOSIDebug.debugMessages("SqlQuery trmt \n"+sbQuery);
  5410.  
  5411.                     p = con.prepareStatement(sbQuery.toString());
  5412.                     p.setLong(1,srvcBean.getHospitalCode());
  5413.                     p.setString(2,srvcBean.getTrmtCode());
  5414.                     p.setShort(3,OHConstants.VS_APPROVED);
  5415.  
  5416.                     rsTreatment = p.executeQuery();
  5417.  
  5418.                     if(rsTreatment.next())
  5419.                     {
  5420.                         srvcBean.setTrmt(rsTreatment.
  5421.                         getString(1));
  5422.                         if(rsTreatment.getObject(2)!=null)
  5423.                             srvcBean.setMedicalCategory(rsTreatment.
  5424.                                     getString(2));
  5425.                         else
  5426.                             srvcBean.setMedicalCategory("None");
  5427.                        
  5428.                     }
  5429.                     GOSIUtilities.cleanUp(rsTreatment);
  5430.                 }
  5431.                 else
  5432.                 {
  5433.                     /*  This query is used to get the
  5434.                         treatment description for the
  5435.                         treatment code passed */
  5436.                            
  5437.                     sbQuery.append(" SELECT icd10treatment FROM ");
  5438.                     sbQuery.append(  SITables.T_ICDTREATMENTDATA);
  5439.                     sbQuery.append(" WHERE icd10treatmentcode LIKE ? " );
  5440.                     sbQuery.append(" OR icd10treatmentcode LIKE ? " );
  5441.                    
  5442.                     GOSIDebug.debugMessages("SqlQuery trmt \n"+sbQuery);
  5443.                    
  5444.                     p = con.prepareStatement(sbQuery.toString());
  5445.                     p.setString(1,srvcBean.getTrmtCode());
  5446.                     p.setString(2,srvcBean.getTrmtCode().toUpperCase());
  5447.                                
  5448.                     rsTreatment = p.executeQuery();
  5449.                    
  5450.                     if(rsTreatment.next())
  5451.                     {
  5452.                         srvcBean.setTrmt(rsTreatment.
  5453.                         getString(1));
  5454.                     }
  5455.                     GOSIUtilities.cleanUp(rsTreatment);
  5456.                 }
  5457.                
  5458.                            
  5459.                 srvcBean.setPatientNumber
  5460.                 (rs.getString("PATIENTNUMBER"));
  5461.                 srvcBean.setMode(AuditBean.OLD_MODE);
  5462.                 injuryId = new Long (rs.getLong("INJURYID"));
  5463.                 disabilityAssessmentId = new Long (rs.getLong("SCHEDULEID"));
  5464.                 srvcBean.setHospitalDesc(rs.getString("HOSPITALNAMEARB"));
  5465.                 hospitalDesc = srvcBean.getHospitalDesc();
  5466.                 hospitalCode = srvcBean.getHospitalCode();
  5467.                 patientNumber = srvcBean.getPatientNumber();
  5468.                 serviceList.add(srvcBean);
  5469.             }
  5470.            
  5471.             sbQuery = sbQuery.delete(0,sbQuery.length());
  5472.           if(injuryId!=null && (disabilityAssessmentId==null || disabilityAssessmentId<=0))      
  5473.           {  
  5474.             GOSIDebug.debugMessages("injuryId "+injuryId);
  5475.             sbQuery.append(" SELECT A.injuryid,A.socinsnumber, ");
  5476.             sbQuery.append(" A.injurydateentfmt,A.injurydate,A.datecomplication, ");
  5477.             sbQuery.append(" A.injurynumber,B.registrationnumber, ");
  5478.             sbQuery.append(" D.firstname || ' ' ||   ");
  5479.             sbQuery.append(" NVL(D.secondname,'')|| ' ' ||  " );
  5480.             sbQuery.append(" NVL(D.thirdname,'')||' ' || ");
  5481.             sbQuery.append(" NVL(D.surname,'') NAME,  ");
  5482.             sbQuery.append(" D.nationalitycode, " );
  5483.             sbQuery.append(" B.fieldofficecode, A.contributorid, ");
  5484.             sbQuery.append(" A.establishmentid FROM ");
  5485.             sbQuery.append(  SITables.T_INJURY + " A ,");
  5486.             sbQuery.append(  SITables.T_ESTABLISHMENT + " B, ");
  5487.             sbQuery.append(  SITables.T_CONTRIBUTOR +  " C, ");
  5488.             sbQuery.append(  SITables.T_PERSON + " D where ");
  5489.             sbQuery.append(" A.establishmentid = B.establishmentid ");
  5490.             sbQuery.append(" AND A.contributorid = C.contributorid " );
  5491.             sbQuery.append(" AND C.personid = D.personid AND " );
  5492.             sbQuery.append(" A.injurystatus != ?  " );
  5493.             sbQuery.append(" AND A.injuryid = ? " );
  5494.            
  5495.                                    
  5496.             GOSIDebug.debugMessages("SqlQuery \n"+sbQuery);                    
  5497.                            
  5498.             p = con.prepareStatement(sbQuery.toString());
  5499.            
  5500.             //p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
  5501.             p.setShort(1,OHConstants.INJ_STS_CANCELLED.shortValue());
  5502.             p.setLong(2,injuryId.longValue());
  5503.            
  5504.             rs = p.executeQuery();
  5505.             InjuryPopDetails injuryDetails = null;
  5506.             while(rs.next())
  5507.             {
  5508.                 injuryDetails = new InjuryPopDetails();
  5509.                 injuryDetails.setInjuryID( new Long
  5510.                 (rs.getLong("INJURYID")));
  5511.                 injuryDetails.setSocialInsuranceNumber
  5512.                 ( new Long(rs.getLong("SOCINSNUMBER")));
  5513.                
  5514.                 injuryDetails.setInjuryDate(rs.getTimestamp
  5515.                 ("INJURYDATE"));
  5516.                 injuryDetails.setInjuryDateEntFmt
  5517.                 (rs.getString("INJURYDATEENTFMT"));
  5518.                 if(OHConstants.HIJRAH.equals
  5519.                 (injuryDetails.getInjuryDateEntFmt()))
  5520.                 {
  5521.                     injuryDetails.setInjuryDateStr
  5522.                     (GOSIDateUtilities.convertToHijra(
  5523.                     GOSIUtilities.getDateFullString(
  5524.                     injuryDetails.getInjuryDate())));
  5525.                 }
  5526.                 else
  5527.                 {
  5528.                     injuryDetails.setInjuryDateStr
  5529.                     (GOSIUtilities.getDateFullString(
  5530.                     injuryDetails.getInjuryDate()));
  5531.                 }
  5532.                 if(rs.getObject("DATECOMPLICATION")!=null)
  5533.                 {
  5534.                     injuryDetails.setComplicationDate
  5535.                         (rs.getTimestamp("DATECOMPLICATION"));
  5536.                     injuryDetails.setComplicationDateStr(OHUtilities.getDateStr
  5537.                         (injuryDetails.getComplicationDate(),injuryDetails.getInjuryDateEntFmt()));
  5538.                 }
  5539.                
  5540.                 injuryDetails.setInjuryNumber
  5541.                 ( new Long(rs.getLong("INJURYNUMBER")));
  5542.                 injuryDetails.setName(rs.getString("NAME"));
  5543.                 injuryDetails.setNationality
  5544.                 (new Short(rs.getShort("NATIONALITYCODE")));
  5545.                
  5546.                 injuryDetails.setFieldOffice
  5547.                 (new Short(rs.getShort("FIELDOFFICECODE")));
  5548.                
  5549.                 injuryDetails.setContributorId(
  5550.                 new Long(rs.getLong("CONTRIBUTORID")));
  5551.                
  5552.                 establishmentId = rs.getLong
  5553.                 ("ESTABLISHMENTID");
  5554.                 GOSIDebug.debugMessages("est id ***" +
  5555.                 establishmentId );
  5556.                      
  5557.                 injuryDetails.setHospitalCode(hospitalCode);
  5558.                 injuryDetails.setHospitalNameArb(hospitalDesc);
  5559.                 injuryDetails.setPatientNumber(patientNumber);
  5560.                 injuryDetails.setFileNumber(fileNumber);
  5561.                 injuryDetails.setPageNumber(pageNumber);
  5562.                 ContributorBean oContributorBean =
  5563.                 new ContributorBean();
  5564.                 oContributorBean = ContributorUtilities.
  5565.                 displayContributor(injuryDetails.getContributorId());          
  5566.                 GOSIDebug.debugMessages("PersonId::"+oContributorBean.
  5567.                 getPersonId());
  5568.                 PersonBean oPersonBean = new PersonBean();
  5569.                 oPersonBean = PersonUtilities.
  5570.                 displayPerson(oContributorBean.getPersonId());
  5571.                 GOSIDebug.debugMessages("first name" +
  5572.                 oPersonBean.getFirstName());
  5573.                 GOSIDebug.debugMessages("first name" +
  5574.                 oPersonBean.getFirstName());
  5575.                 GOSIDebug.debugMessages("second name" +
  5576.                 oPersonBean.getSecondName());
  5577.                 GOSIDebug.debugMessages("third name" +
  5578.                 oPersonBean.getThirdName());
  5579.                 GOSIDebug.debugMessages("surname" +
  5580.                 oPersonBean.getSurName());
  5581.                 contributorName = oPersonBean.getFirstName();
  5582.                 if(oPersonBean.getSecondName() != null)
  5583.                 {
  5584.                     contributorName += " " + oPersonBean.getSecondName();
  5585.                 }
  5586.                 if(oPersonBean.getThirdName() != null)
  5587.                 {
  5588.                     contributorName += " " + oPersonBean.getThirdName();
  5589.                 }
  5590.                 if(oPersonBean.getSurName() != null)
  5591.                 {
  5592.                     contributorName += " " + oPersonBean.getSurName();
  5593.                 }
  5594.                 GOSIDebug.debugMessages("contributor Name ^^^" +
  5595.                 contributorName);
  5596.                 injuryDetails.setName(contributorName);
  5597.                
  5598.                 if(oPersonBean.getNationalityCode() != null)
  5599.                 {
  5600.                     injuryDetails.setNationality
  5601.                     (oPersonBean.getNationalityCode());
  5602.                 }
  5603.                 GOSIDebug.debugMessages("nationality code ^^^" +
  5604.                 oPersonBean.getNationalityCode());
  5605.                
  5606.                 EstablishmentBean oEstablishmentBean =
  5607.                 new EstablishmentBean();
  5608.                
  5609.                 EstablishmentUtility oEstablishmentUtility =
  5610.                 new EstablishmentUtility();
  5611.                
  5612.                 oEstablishmentBean = oEstablishmentUtility.
  5613.                 getEstablishmentDetails(establishmentId,
  5614.                 false,true);
  5615.                
  5616.                 GOSIDebug.debugMessages("reg no" + oEstablishmentBean.
  5617.                 getRegistrationNumber());
  5618.                 if(oEstablishmentBean != null)
  5619.                 {
  5620.                     injuryDetails.setRegistrationNumber
  5621.                     (oEstablishmentBean.
  5622.                     getRegistrationNumber());
  5623.                 }
  5624.                    
  5625.                     details.put("injuryDetails",injuryDetails);
  5626.             }
  5627.            }
  5628.             else if (disabilityAssessmentId!=null)
  5629.             {
  5630.                 GOSIDebug.debugMessages("disabilityAssessmentId "+disabilityAssessmentId);
  5631.                 GOSIUtilities.cleanUp (p, rs);
  5632.                 sbQuery = sbQuery.delete(0,sbQuery.length());
  5633.                 sbQuery.append("SELECT d.SCHEDULEID,d.SOCINSNUMBER, d.ASSESSMENTTYPE ,d.SESSIONDATE, " );
  5634.                 sbQuery.append("  d.FIELDOFFICECODE, per.firstname, per.secondname, per.thirdname, per.surname ");
  5635.                 sbQuery.append(" FROM " + SITables.T_MBAPPOINTMENT + " d " );
  5636.                 sbQuery.append(" LEFT JOIN " + SITables.T_CONTRIBUTOR + "  con  ON d.SOCINSNUMBER = con.socialinsurancenumber " );
  5637.                 sbQuery.append("       LEFT JOIN " + SITables.T_PERSON + "       per  ON con.personid = per.personid " );
  5638.                 sbQuery.append(" WHERE d.SCHEDULEID = ? ");
  5639.                 sbQuery.append("   AND d.APPOINTMENTSTATUS <> ? ");
  5640.  
  5641.                 p = con.prepareStatement (sbQuery.toString());
  5642.  
  5643.                 p.setLong      (1, disabilityAssessmentId);
  5644.                 p.setShort     (2, OHConstants.ASSMT_CANCELLED);
  5645.  
  5646.                 rs = p.executeQuery ();
  5647.                
  5648.                 if (rs.next())
  5649.                 {
  5650.                     OHDAssessmentHeaderBean disabilityAssessmentBean = new OHDAssessmentHeaderBean ();
  5651.                    
  5652.                     disabilityAssessmentBean.setDisabilityAssessmentID     (new Long(rs.getLong("SCHEDULEID")));
  5653.                     disabilityAssessmentBean.setSocialInsuranceNumber      (new Long(rs.getLong("SOCINSNUMBER")));
  5654.                     disabilityAssessmentBean.setFieldOfficeCode            (rs.getShort("FIELDOFFICECODE"));
  5655.                     disabilityAssessmentBean.setContributorName            (OHUtilities.getFullName(rs.getString("FIRSTNAME"), rs.getString("SECONDNAME"),
  5656.                                                                             rs.getString("THIRDNAME"), rs.getString("SURNAME")));
  5657.                     disabilityAssessmentBean.setScheduleID(new Long(rs.getLong("SCHEDULEID")));
  5658.                     disabilityAssessmentBean.setDisabilityType(new Short (rs.getShort("ASSESSMENTTYPE"))) ;
  5659.                     disabilityAssessmentBean.setAssessmentDateTmsp((rs.getTimestamp("SESSIONDATE")));
  5660.                     if(disabilityAssessmentBean.getDisabilityType().equals(OHConstants.HEIRDISB_ASSMT.shortValue()))
  5661.                     {
  5662.                         sbQuery = sbQuery.delete(0,sbQuery.length());
  5663.                         sbQuery.append( "SELECT  per.firstname, per.secondname, per.thirdname, per.surname ");
  5664.                         sbQuery.append("  FROM " + SITables.T_MBAPPOINTMENT + " mba " );
  5665.                         sbQuery.append("       LEFT JOIN " + SITables.T_PERSON + "       per  ON mba.heirpersonid = per.personid " );
  5666.                         sbQuery.append(" WHERE mba.scheduleid = ? " );
  5667.                         p = con.prepareStatement (sbQuery.toString());
  5668.                         p.setLong      (1, disabilityAssessmentBean.getScheduleID());
  5669.                         rs2 = p.executeQuery ();
  5670.                         if (rs2.next())
  5671.                         {
  5672.                             disabilityAssessmentBean.setHeirName(OHUtilities.getFullName(rs2.getString("FIRSTNAME"), rs2.getString("SECONDNAME"),
  5673.                                     rs2.getString("THIRDNAME"), rs2.getString("SURNAME")));
  5674.  
  5675.                         }
  5676.                     }
  5677.                     details.put ("disabilityAssessmentBean", disabilityAssessmentBean);
  5678.                    
  5679.                 }
  5680.             }
  5681.            
  5682.            
  5683.             sbQuery = sbQuery.delete(0,sbQuery.length());
  5684.            
  5685.             GOSIDebug.debugMessages("injury details fetched:");
  5686.  
  5687.  
  5688.             details.put("serviceList",serviceList);
  5689.  
  5690.             if (invoiceDetailsId != null)
  5691.                 details.put("invoiceDetailsId", invoiceDetailsId);
  5692.            
  5693.             if (appealStatus != null)
  5694.                 details.put("appealStatus", appealStatus);
  5695.  
  5696.             GOSIInstrumentationLog.writeInstrumentationToLog(
  5697.             this.getClass().toString(),
  5698.             "searchTreatmentServiceInbox()",
  5699.             (System.currentTimeMillis() - timeCounter));
  5700.  
  5701.             return details;
  5702.         }
  5703.         catch(GOSIException ge)
  5704.         {
  5705.             throw ge;
  5706.         }
  5707.         catch(Exception e)
  5708.         {
  5709.             GOSIDebug.debugMessages("servlet :  The exception is " +e);
  5710.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  5711.             GOSIConstants.SOCIAL_INSURANCE,this.getClass().toString(),
  5712.             "searchTreatmentServiceInbox()",e,"CMN_ERR_1000" );
  5713.         }
  5714.         finally
  5715.         {
  5716.             GOSIUtilities.cleanUp(con, p, rs);
  5717.         }
  5718.     }
  5719.  
  5720.     /*  This method is used to store the modified treatment
  5721.         details to the database */
  5722.     /**
  5723.     * @METHOD NAME              :   modifyTreatmentService
  5724.     * @INFORMATION              :   This method is to  modify Treatment Service
  5725.     * @PARAM                    :   class java.util.ArrayList,
  5726.                                     class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails,
  5727.                                     class gosi.core.workflow.beans.WorkflowParamBean,
  5728.                                     class gosi.core.dms.beans.DMSRequestHeaderBean
  5729.     * @RETURN                   :   class java.lang.String
  5730.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  5731.     * @LAST MODIFIED BY         :  
  5732.     * @LAST MODIFIED DATE       :  
  5733.     **/
  5734.     public String modifyTreatmentService(ArrayList serviceList,
  5735.     InjuryPopDetails injuryBean,
  5736.     WorkflowParamBean workflowParamBean,DMSRequestHeaderBean dmsHeaderBean)
  5737.     throws GOSIException
  5738.     {
  5739.         GOSIDebug.debugMessages("method modify");
  5740.        
  5741.         String  userName = "";
  5742.         int     listSize = 0;
  5743.         int     serviceListSize = 0;
  5744.         long    timeCounter = 0;
  5745.  
  5746.         try
  5747.         {
  5748.            
  5749.             timeCounter = System.currentTimeMillis();
  5750.             TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
  5751.             ServiceLocator.getInstance().getRemoteHome(
  5752.             OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
  5753.             TreatmentServiceDetailEntityHome.class);
  5754.  
  5755.             if(serviceList != null)
  5756.             {
  5757.                 serviceListSize = serviceList.size();
  5758.             }
  5759.            
  5760.             for(int i = 0;i < serviceListSize;i++)
  5761.             {
  5762.                 TreatmentServiceBean trmtServiceBean = new
  5763.                 TreatmentServiceBean();
  5764.                 trmtServiceBean = (TreatmentServiceBean)serviceList.get(i);
  5765.                
  5766.                
  5767.                 if((trmtServiceBean.getMedicineDescription() != null)
  5768.                 &&(!(("").equals(trmtServiceBean.
  5769.                 getMedicineDescription()))))
  5770.                 {
  5771.                     trmtServiceBean.setTrmtDesc
  5772.                     (trmtServiceBean.getMedicineDescription()
  5773.                     .replace('\'','\"'));
  5774.                     trmtServiceBean.setTrmtCode
  5775.                     (OHConstants.ICD_MEDICINE_CODE);
  5776.                                        
  5777.                 }
  5778.                 GOSIDebug.debugMessages("\n\n mode:"+trmtServiceBean.getMode()+"\n\n");
  5779.                 if(trmtServiceBean.getMode() == AuditBean.MODIFY_MODE)
  5780.                 {
  5781.                     GOSIDebug.debugMessages("record id" +
  5782.                     trmtServiceBean.getTrmtServiceDetId());
  5783.                     TreatmentServiceDetailEntity detailRemote =
  5784.                     (TreatmentServiceDetailEntity)home.findByPrimaryKey
  5785.                     (trmtServiceBean.getTrmtServiceDetId());
  5786.                     if(trmtServiceBean.getAppealDedcutionStatus()!=null &&
  5787.                             trmtServiceBean.getAppealDedcutionStatus().equals(OHConstants.TRMT_SRVC_APPEAL_STS_REJECTED))
  5788.                     {
  5789.                         detailRemote.modifyAppealDedcution(trmtServiceBean);
  5790.                     }
  5791.                     else
  5792.                     {
  5793.                         detailRemote.modifyTreatmentServices(trmtServiceBean);
  5794.                     }
  5795.                    
  5796.                     GOSIDebug.debugMessages("This Record was Modified");
  5797.                 }
  5798.                 else if(trmtServiceBean.getMode() == AuditBean.OLD_MODE)
  5799.                 {
  5800.                     GOSIDebug.debugMessages("This Record need not be Modified");
  5801.                 }
  5802.             }
  5803.             GOSIDebug.debugMessages("Treatment Detail created\n");
  5804.             if(workflowParamBean != null)
  5805.             {
  5806.                 userName = GOSIUtilities.startWorkflow(workflowParamBean);
  5807.             }
  5808.            
  5809.             if(dmsHeaderBean != null)
  5810.             {
  5811.               if(injuryBean!=null){
  5812.                 dmsHeaderBean.setSourceRecordId
  5813.                 ("" + injuryBean.getInjuryID());
  5814.                 dmsHeaderBean.
  5815.                 setSourceTable(SITables.T_INJURY);
  5816.                 dmsHeaderBean.setCreatedBy
  5817.                 (new Long (workflowParamBean.getUserId()));
  5818.                 dmsHeaderBean.setKeyList(DMSConstants.SI_NUMBER,
  5819.                 "" + injuryBean.getSocialInsuranceNumber());
  5820.                 dmsHeaderBean.setKeyList(DMSConstants.INJURY_NUMBER,
  5821.                 "" + injuryBean.getInjuryNumber());
  5822.                 dmsHeaderBean.setKeyList(OHConstants.DMS_SERVICE_TYPE,
  5823.                 "" + OHConstants.SERVICE_TYPE_TRMT);
  5824.               }
  5825.              
  5826.             }
  5827.            
  5828.             GOSIInstrumentationLog.writeInstrumentationToLog(
  5829.             this.getClass().toString(),
  5830.             "modifyTreatmentService()",
  5831.             (System.currentTimeMillis() - timeCounter));
  5832.  
  5833.             return userName;
  5834.         }
  5835.         catch(GOSIException ge)
  5836.         {
  5837.             GOSIDebug.debugMessages("The error in trmt srvc save is:"+ge);
  5838.             ctx.setRollbackOnly();
  5839.             throw ge;
  5840.         }
  5841.         catch(Exception se)
  5842.         {
  5843.             GOSIDebug.debugMessages("The error in trmt srvc save is:"+se);
  5844.             se.printStackTrace();
  5845.             ctx.setRollbackOnly();
  5846.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  5847.             GOSIConstants.SOCIAL_INSURANCE,
  5848.             this.getClass().toString(),
  5849.             "modifyTreatmentService()",
  5850.             se,"CMN_ERR_1000" );
  5851.         }
  5852.     }
  5853.     /*  This method is used to remove the treatment service details*/
  5854.     /**
  5855.     * @METHOD NAME              :   removeServiceDetils
  5856.     * @INFORMATION              :   This method is to  remove Service Detils
  5857.     * @PARAM                    :   class java.util.ArrayList
  5858.     * @RETURN                   :   int
  5859.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  5860.     * @LAST MODIFIED BY         :  
  5861.     * @LAST MODIFIED DATE       :  
  5862.     **/
  5863.     public int removeServiceDetils(ArrayList idList)throws GOSIException
  5864.     {
  5865.         int     deleted = 0;
  5866.         long    timeCounter = 0;
  5867.        
  5868.         try
  5869.         {
  5870.             timeCounter = System.currentTimeMillis();
  5871.  //             Context cntx = GOSIUtilities.getInitialContext();
  5872.  //             Object ref = cntx.lookup
  5873.  //             (OHConstants.TRMT_SRVC_DET_ENTITY_JNDI);
  5874.  //             TreatmentServiceDetailEntityHome home =
  5875.  //             (TreatmentServiceDetailEntityHome)PortableRemoteObject.
  5876.  //             narrow(ref,TreatmentServiceDetailEntityHome.class);
  5877.             TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
  5878.                 ServiceLocator.getInstance().getRemoteHome(
  5879.                 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
  5880.                 TreatmentServiceDetailEntityHome.class);
  5881.             for(int i = 0;i < idList.size();i++)
  5882.             {
  5883.                 Long primarykey = (Long)idList.get(i);
  5884.                 TreatmentServiceDetailEntity detailRemote =
  5885.                 (TreatmentServiceDetailEntity)home.findByPrimaryKey
  5886.                 (primarykey);
  5887.                 detailRemote.remove();
  5888.                 deleted++;
  5889.             }
  5890.             GOSIInstrumentationLog.writeInstrumentationToLog(
  5891.             this.getClass().toString(),
  5892.             "removeServiceDetils()",
  5893.             (System.currentTimeMillis() - timeCounter));
  5894.            
  5895.             return deleted;
  5896.         }
  5897.         catch(GOSIException ge)
  5898.         {
  5899.             ctx.setRollbackOnly();
  5900.             throw ge;
  5901.         }
  5902.         catch(Exception e)
  5903.         {
  5904.             GOSIDebug.debugMessages("servlet :  The exception is " +e);
  5905.             ctx.setRollbackOnly();
  5906.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  5907.             GOSIConstants.SOCIAL_INSURANCE,this.getClass().toString(),
  5908.             "removeServiceDetils()",e,"CMN_ERR_1000" );
  5909.         }
  5910.  
  5911.     }
  5912.     /*  This method is used to get the treatment period details */
  5913.     /**
  5914.     * @METHOD NAME              :   getTreatmentPeriodDetails
  5915.     * @INFORMATION              :   This method is to  get Treatment Period Details
  5916.     * @PARAM                    :   class java.lang.Long
  5917.     * @RETURN                   :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentPeriodBean
  5918.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  5919.     * @LAST MODIFIED BY         :  
  5920.     * @LAST MODIFIED DATE       :  
  5921.     **/
  5922.      public TreatmentPeriodBean getTreatmentPeriodDetails
  5923.      (Long treatmentId) throws  GOSIException
  5924.     {
  5925.        
  5926.         long            timeCounter = 0;
  5927.         StringBuffer    sbQuery = new StringBuffer();
  5928.        
  5929.         try
  5930.         {
  5931.        
  5932.             sbQuery = sbQuery.delete(0,sbQuery.length());
  5933.            
  5934.             timeCounter = System.currentTimeMillis();
  5935.            
  5936.             sbQuery.append(" SELECT a.TREATMENTID, a.PATIENTNUMBER, ");
  5937.             sbQuery.append(" a.STARTDATE,a.ENDDATE," );
  5938.             sbQuery.append(" a.HOSPITALCODE,b.HOSPITALNAMEARB, ");
  5939.             sbQuery.append(" a.TREATMENTSTATUS,a.WORKFLOWSTATUS ");
  5940.             sbQuery.append(" FROM  "+ SITables.T_TREATMENT + "  a , ");
  5941.             sbQuery.append(  SITables.T_HOSPITAL + "  b WHERE ");
  5942.             sbQuery.append(" a.HOSPITALCODE = b.HOSPITALCODE ");
  5943.             sbQuery.append(" AND a.TREATMENTID = ? " );
  5944.            
  5945.                            
  5946.             GOSIDebug.debugMessages("sqlQuery  "  +sbQuery);
  5947.            
  5948.             TreatmentPeriodBean trmtPrdBean = new TreatmentPeriodBean();
  5949.            
  5950.             con = GOSIUtilities.getConnection
  5951.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  5952.             p = con.prepareStatement(sbQuery.toString());
  5953.             p.setLong(1,treatmentId.longValue());
  5954.             rs = p.executeQuery();
  5955.             while(rs.next())
  5956.             {
  5957.                 trmtPrdBean.setTreatmentId
  5958.                 (new Long(rs.getLong("TREATMENTID")));
  5959.                 trmtPrdBean.setPatientNumber(rs.getString
  5960.                 ("PATIENTNUMBER"));
  5961.                 trmtPrdBean.setStartDateGreg(rs.getTimestamp
  5962.                 ("STARTDATE"));
  5963.                 trmtPrdBean.setEndDateGreg(rs.getTimestamp
  5964.                 ("ENDDATE"));
  5965.                 trmtPrdBean.setTreatmentStatus
  5966.                 (new Short(rs.getShort("TREATMENTSTATUS")));
  5967.                 trmtPrdBean.setWorkflowStatus
  5968.                 (new Short(rs.getShort("WORKFLOWSTATUS")));
  5969.                 trmtPrdBean.setHospitalCode(new Long("HOSPITALCODE"));
  5970.                 trmtPrdBean.setHospitalNameArb(rs.getString
  5971.                 ("HOSPITALNAMEARB"));
  5972.             }
  5973.             sbQuery = sbQuery.delete(0,sbQuery.length());
  5974.            
  5975.             GOSIInstrumentationLog.writeInstrumentationToLog(
  5976.             this.getClass().toString(),
  5977.             "getTreatmentPeriodDetails()",
  5978.             (System.currentTimeMillis() - timeCounter));
  5979.  
  5980.             return trmtPrdBean;
  5981.         }
  5982.         catch(GOSIException ge)
  5983.         {
  5984.             throw ge;
  5985.         }
  5986.         catch(Exception se)
  5987.         {
  5988.             se.printStackTrace();
  5989.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  5990.             GOSIConstants.SOCIAL_INSURANCE,
  5991.             this.getClass().toString(),
  5992.             "getTreatmentPeriodDetails()",se,"CMN_ERR_1000" );
  5993.         }
  5994.         finally
  5995.         {
  5996.             GOSIUtilities.cleanUp(con,p,rs);
  5997.         }
  5998.     }
  5999.     /*  This method is used to store  the injury date*/
  6000.     /**
  6001.     * @METHOD NAME              :   storeInjuryDetails
  6002.     * @INFORMATION              :   This method is to  store Injury Details
  6003.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
  6004.     * @RETURN                   :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
  6005.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6006.     * @LAST MODIFIED BY         :  
  6007.     * @LAST MODIFIED DATE       :  
  6008.     **/
  6009.     public InjuryPopDetails storeInjuryDetails
  6010.         (InjuryPopDetails injuryDetails)throws GOSIException
  6011.     {
  6012.         try
  6013.         {
  6014.             Timestamp injuryDate = null;
  6015.             if(injuryDetails.getInjuryDateStr() != null &&
  6016.             !("").equals(injuryDetails.getInjuryDateStr()))
  6017.             {
  6018.                
  6019.                 if(OHConstants.HIJRAH.equals(injuryDetails.
  6020.                 getInjuryDateEntFmt()))
  6021.                 {
  6022.                     injuryDate = GOSIUtilities.getTimestamp
  6023.                     (GOSIDateUtilities.convertToGregorian
  6024.                     (injuryDetails.getInjuryDateStr()));
  6025.                 }
  6026.                 else
  6027.                 {
  6028.                     injuryDate = GOSIUtilities.getTimestamp(
  6029.                     injuryDetails.getInjuryDateStr());
  6030.                 }
  6031.                 injuryDetails.setInjuryDate(injuryDate);
  6032.             }
  6033.             return injuryDetails;
  6034.            
  6035.         }
  6036.         catch(GOSIException ge)
  6037.         {
  6038.             GOSIDebug.debugMessages("session:storeInjuryDetails:ge:"+ge);
  6039.             throw ge;
  6040.         }
  6041.         catch(Exception e)
  6042.         {
  6043.             GOSIDebug.debugMessages("session:storeInjuryDetails:e:"+e);
  6044.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  6045.             GOSIConstants.SOCIAL_INSURANCE,
  6046.             this.getClass().toString(),
  6047.             "storeInjuryDetails()",e,"CMN_ERR_1000" );
  6048.         }
  6049.     }
  6050.     /*  This method is used to store the treatment date */
  6051.     /**
  6052.     * @METHOD NAME              :   storeTreatmentServiceDetails
  6053.     * @INFORMATION              :   This method is to  store Treatment Service Details
  6054.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean
  6055.     * @RETURN                   :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.TreatmentServiceBean
  6056.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6057.     * @LAST MODIFIED BY         :  
  6058.     * @LAST MODIFIED DATE       :  
  6059.     **/
  6060.     public TreatmentServiceBean storeTreatmentServiceDetails
  6061.     (TreatmentServiceBean serviceBean)throws GOSIException
  6062.     {
  6063.         try
  6064.         {
  6065.             Timestamp trmtDate = null;
  6066.             if(serviceBean.getTrmtDateStr() != null &&
  6067.             !("").equals(serviceBean.getTrmtDateStr()))
  6068.             {
  6069.                
  6070.                 if(OHConstants.HIJRAH.equals(serviceBean.
  6071.                 getTrmtDateEntFmt()))
  6072.                 {
  6073.                     trmtDate = GOSIUtilities.getTimestamp
  6074.                     (GOSIDateUtilities.convertToGregorian
  6075.                     (serviceBean.getTrmtDateStr()));
  6076.                 }
  6077.                 else
  6078.                 {
  6079.                     trmtDate = GOSIUtilities.getTimestamp(
  6080.                     serviceBean.getTrmtDateStr());
  6081.                 }
  6082.                 serviceBean.setTrmtDateGreg (trmtDate);
  6083.             }
  6084.             return serviceBean;
  6085.            
  6086.         }catch(GOSIException ge)
  6087.         {
  6088.             GOSIDebug.debugMessages("session:storeInjuryDetails:ge:"+ge);
  6089.             throw ge;
  6090.         }
  6091.         catch(Exception e)
  6092.         {
  6093.             GOSIDebug.debugMessages("session:storeInjuryDetails:e:"+e);
  6094.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6095.             GOSIConstants.SOCIAL_INSURANCE,
  6096.             this.getClass().toString(),
  6097.             "storeTreatmentServiceDetails()",e,"CMN_ERR_1000" );
  6098.         }
  6099.     }
  6100.    
  6101.     /*  This method is used to validate the treatment date
  6102.         by comparing it with injury date */
  6103.     /**
  6104.     * @METHOD NAME              :   isValidTreatmentDate
  6105.     * @INFORMATION              :   This method is to  is Valid Treatment Date
  6106.     * @PARAM                    :   class java.sql.Timestamp,
  6107.                                     class java.sql.Timestamp
  6108.     * @RETURN                   :   boolean
  6109.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6110.     * @LAST MODIFIED BY         :  
  6111.     * @LAST MODIFIED DATE       :  
  6112.     **/
  6113.     public boolean isValidTreatmentDate(Timestamp injuryDate,
  6114.     Timestamp treatmentDate) throws GOSIException
  6115.     {  
  6116.        
  6117.         boolean  isValidTreatmentDateFlag = true;
  6118.         try
  6119.         {
  6120.             if(injuryDate.compareTo(treatmentDate) > 0)
  6121.             {
  6122.                 isValidTreatmentDateFlag = false;
  6123.                
  6124.             }
  6125.             return isValidTreatmentDateFlag;
  6126.         }
  6127.         catch(Exception e)
  6128.         {
  6129.             e.printStackTrace();  
  6130.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  6131.             GOSIConstants.SOCIAL_INSURANCE,
  6132.             this.getClass().toString(),
  6133.             "isValidTreatmentDate()",
  6134.             e,"CMN_ERR_1000" );
  6135.         }
  6136.        
  6137.     }
  6138.    
  6139.     /*  This method is used to validate the
  6140.         social insurance number entered by the user */
  6141.        
  6142.     /**
  6143.     * @METHOD NAME              :   isValidSocInsNumber
  6144.     * @INFORMATION              :   This method is to  is Valid Social Insurance Number
  6145.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.InjuryPopDetails
  6146.     * @RETURN                   :   int
  6147.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6148.     * @LAST MODIFIED BY         :  
  6149.     * @LAST MODIFIED DATE       :  
  6150.     **/
  6151.     public int isValidSocInsNumber
  6152.     (InjuryPopDetails injuryDetails)
  6153.     throws GOSIException
  6154.     {
  6155.         /*  Declaration and initialization of variables */
  6156.         Long            socInsNumber = null;
  6157.         int             checkSocInsNumber = 0;
  6158.         long            timeCounter = 0;
  6159.         StringBuffer    sbQuery = new StringBuffer();
  6160.        
  6161.         /* Declaration of constants */
  6162.         final int INVALID_SOCIAL_INS_NO = 1;
  6163.         final int SOCIAL_INS_NO_NOT_PRESENT_IN_INJURY_TABLE = 2;
  6164.            
  6165.         try
  6166.         {
  6167.             timeCounter = System.currentTimeMillis();
  6168.            
  6169.             /*  Get the social insurance number */
  6170.             socInsNumber = injuryDetails.getSocialInsuranceNumber();
  6171.                    
  6172.             /*  Get the connection object */
  6173.             con = GOSIUtilities.getConnection
  6174.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  6175.            
  6176.             sbQuery = sbQuery.delete(0,sbQuery.length());
  6177.                            
  6178.             /*  This query is used to determine if their
  6179.                 exists a record in contributor table
  6180.                 for the social insurance number entered by the user */
  6181.                
  6182.             sbQuery.append(" SELECT contributorid " );
  6183.             sbQuery.append(" FROM " + SITables.T_CONTRIBUTOR);
  6184.             sbQuery.append(" WHERE socialinsurancenumber = ? ");
  6185.                        
  6186.             GOSIDebug.debugMessages("query" + sbQuery);
  6187.                        
  6188.        
  6189.             p = con.prepareStatement(sbQuery.toString());
  6190.             p.setLong(1,socInsNumber.longValue());
  6191.             rs = p.executeQuery();
  6192.            
  6193.             /*  Error message is displayed if
  6194.                 no record exists in the contributor table
  6195.                 for the  social insurance number entered by user*/
  6196.             if(!(rs.next()))
  6197.             {
  6198.                 checkSocInsNumber = INVALID_SOCIAL_INS_NO;
  6199.                 return checkSocInsNumber;
  6200.            
  6201.             }
  6202.             GOSIUtilities.cleanUp(rs);
  6203.            
  6204.             sbQuery = sbQuery.delete(0,sbQuery.length());
  6205.            
  6206.             /*  This query is used to determine if their
  6207.                 exists a record in injury table
  6208.                 for the social insurance number entered by the user */
  6209.        
  6210.             sbQuery.append(" SELECT socinsnumber ");
  6211.             sbQuery.append(" FROM " + SITables.T_INJURY );
  6212.             sbQuery.append(" WHERE injurystatus != ? ");
  6213.             sbQuery.append(" AND socinsnumber = ? ");
  6214.            
  6215.                
  6216.             GOSIDebug.debugMessages("query" + sbQuery);
  6217.                        
  6218.             p = con.prepareStatement(sbQuery.toString());
  6219.                        
  6220.             //p.setShort(1,OHConstants.INJ_STS_REJECTED.shortValue());
  6221.             p.setShort(1,OHConstants.INJ_STS_CANCELLED.shortValue());
  6222.             p.setLong(2,socInsNumber.longValue());
  6223.            
  6224.             rs = p.executeQuery();
  6225.            
  6226.             /*  Error message is displayed if
  6227.                 no record exists in the injury table
  6228.                 for the  social insurance number entered by user*/
  6229.            
  6230.             if(!(rs.next()))
  6231.             {
  6232.                 checkSocInsNumber =
  6233.                 SOCIAL_INS_NO_NOT_PRESENT_IN_INJURY_TABLE;
  6234.                 return checkSocInsNumber;    
  6235.                
  6236.             }
  6237.             GOSIUtilities.cleanUp(rs);
  6238.                        
  6239.             sbQuery = sbQuery.delete(0,sbQuery.length());
  6240.         }
  6241.         catch (GOSIException ge)
  6242.         {
  6243.             throw ge;    
  6244.         }      
  6245.         catch(Exception e)
  6246.         {
  6247.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6248.             GOSIConstants.SOCIAL_INSURANCE,
  6249.             this.getClass().toString(),
  6250.             "isValidSocInsNumber()",
  6251.             e,"CMN_ERR_1000");
  6252.         }
  6253.         finally
  6254.         {
  6255.             GOSIUtilities.cleanUp(con, p, rs);
  6256.         }
  6257.        
  6258.         GOSIInstrumentationLog.writeInstrumentationToLog(
  6259.         this.getClass().toString(),
  6260.         "isValidSocInsNumber()",
  6261.         (System.currentTimeMillis() - timeCounter));
  6262.  
  6263.         return checkSocInsNumber;
  6264.     }
  6265.    
  6266.     /*  This method is used to get the registered
  6267.         hospitals for the passed injury id and
  6268.         field office code */
  6269.     /**
  6270.     * @METHOD NAME              :   searchRegisteredHospitalList
  6271.     * @INFORMATION              :   This method is to  search Registered Hospital List
  6272.     * @PARAM                    :   class java.lang.Long,
  6273.                                     class gosi.business.socialinsurance.occupationalhazards.injury.beans.OHPopSearchBean
  6274.     * @RETURN                   :   class java.util.ArrayList
  6275.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6276.     * @LAST MODIFIED BY         :  
  6277.     * @LAST MODIFIED DATE       :  
  6278.     **/
  6279.     public ArrayList searchRegisteredHospitalList
  6280.     (Long injuryId,OHPopSearchBean hospitalSearchBean)
  6281.      throws GOSIException
  6282.      {
  6283.         /*  Declaration and initialization of variables*/
  6284.         ArrayList       hospitalArrayList = new ArrayList();
  6285.         StringBuffer    sbQuery = new StringBuffer();
  6286.         long            timeCounter = 0;
  6287.        
  6288.         try
  6289.         {
  6290.             timeCounter = System.currentTimeMillis();
  6291.            
  6292.             /*  Get the connection object */
  6293.             con = GOSIUtilities.getConnection
  6294.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  6295.            
  6296.             sbQuery = sbQuery.delete(0,sbQuery.length());
  6297.            
  6298.             long firstId = hospitalSearchBean.getFirstId();
  6299.             long lastId  = hospitalSearchBean.getLastId();
  6300.            
  6301.             GOSIDebug.debugMessages("firstId"+firstId);
  6302.             GOSIDebug.debugMessages("lastId"+lastId);
  6303.             GOSIDebug.debugMessages("field office" +
  6304.             hospitalSearchBean.getFieldOffice());
  6305.            
  6306.             byte buttonClicked = hospitalSearchBean.
  6307.             getButtonClicked();
  6308.             GOSIDebug.debugMessages("buttonClicked" + buttonClicked);
  6309.            
  6310.            
  6311.             if (buttonClicked == NavigationBean.BUTTON_SEARCH)
  6312.             {
  6313.                 /*
  6314.                 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
  6315.                 sbQuery.append(" HOSP.HOSPITALNAME, ");
  6316.                 sbQuery.append(" TRMT.PATIENTNUMBER FROM ");
  6317.                 //sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
  6318.                 sbQuery.append(  SITables.T_HOSPITALCONTRACT + " HOSP, " );
  6319.                 sbQuery.append(  SITables.T_TREATMENT );
  6320.                 sbQuery.append(" TRMT WHERE  ");
  6321.                 sbQuery.append(" HOSP.HOSPITALCODE = ");
  6322.                 sbQuery.append(" TRMT.HOSPITALCODE ");
  6323.                 sbQuery.append(" AND HOSP.FIELDOFFICECODE " );
  6324.                 */
  6325.                 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
  6326.                 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
  6327.                 sbQuery.append(" TRMT.PATIENTNUMBER , ");
  6328.                 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
  6329.                 sbQuery.append(  SITables.T_HOSPITAL + " HOSP, " );
  6330.                 sbQuery.append(  SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
  6331.                 sbQuery.append(  SITables.T_TREATMENT );
  6332.                 sbQuery.append(" TRMT WHERE  ");
  6333.                 sbQuery.append(" HOSP.HOSPITALCODE = ");
  6334.                 sbQuery.append(" TRMT.HOSPITALCODE ");
  6335.                 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
  6336.                 sbQuery.append(" HFO.HOSPITALCODE ");
  6337.                 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
  6338.                 sbQuery.append(" = ? ");
  6339.                 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
  6340.                 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
  6341.                 sbQuery.append(" AND TRMT.INJURYID = ? " );
  6342.                 sbQuery.append(" ORDER BY HOSP.HOSPITALCODE ");
  6343.                        
  6344.                 p = con.prepareStatement(sbQuery.toString(),
  6345.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  6346.                     ResultSet.CONCUR_READ_ONLY);
  6347.                              
  6348.                 p.setShort
  6349.                 (1,hospitalSearchBean.getFieldOffice()
  6350.                 .shortValue());
  6351.                 p.setShort
  6352.                 (2,OHConstants.REG_HOSPITAL.shortValue());
  6353.                 p.setShort(3,
  6354.                 OHConstants.TRMT_STS_ENTERED.shortValue());
  6355.                 p.setShort(4,
  6356.                 OHConstants.TRMT_STS_APPROVED.shortValue());
  6357.                 p.setLong(5,injuryId.longValue());
  6358.                
  6359.                        
  6360.             }
  6361.             else if (buttonClicked == NavigationBean.BUTTON_NEXT)
  6362.             {              
  6363.                 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
  6364.                 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
  6365.                 sbQuery.append(" TRMT.PATIENTNUMBER , ");
  6366.                 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
  6367.                 sbQuery.append(  SITables.T_HOSPITAL + " HOSP, " );
  6368.                 sbQuery.append(  SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
  6369.                 sbQuery.append(  SITables.T_TREATMENT );
  6370.                 sbQuery.append(" TRMT WHERE  ");
  6371.                 sbQuery.append(" HOSP.HOSPITALCODE = ");
  6372.                 sbQuery.append(" TRMT.HOSPITALCODE ");
  6373.                 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
  6374.                 sbQuery.append(" HFO.HOSPITALCODE ");
  6375.                 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
  6376.                 sbQuery.append(" = ? ");
  6377.                 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
  6378.                 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
  6379.                 sbQuery.append(" AND TRMT.INJURYID = ? " );
  6380.                 sbQuery.append(" AND HOSP.HOSPITALCODE > ? ");
  6381.                 sbQuery.append(" ORDER BY HOSP.HOSPITALCODE ");
  6382.                        
  6383.                 p = con.prepareStatement(sbQuery.toString(),
  6384.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  6385.                     ResultSet.CONCUR_READ_ONLY);
  6386.                              
  6387.                 p.setShort
  6388.                 (1,hospitalSearchBean.getFieldOffice()
  6389.                 .shortValue());
  6390.                 p.setShort
  6391.                 (2,OHConstants.REG_HOSPITAL.shortValue());
  6392.                 p.setShort(3,
  6393.                 OHConstants.TRMT_STS_ENTERED.shortValue());
  6394.                 p.setShort(4,
  6395.                 OHConstants.TRMT_STS_APPROVED.shortValue());
  6396.                 p.setLong(5,injuryId.longValue());
  6397.                 p.setLong(6,lastId);
  6398.                                                          
  6399.             }
  6400.             else if (buttonClicked == NavigationBean.BUTTON_PREVIOUS)
  6401.             {
  6402.                
  6403.                 sbQuery.append(" SELECT DISTINCT HOSP.HOSPITALCODE, ");
  6404.                 sbQuery.append(" HOSP.HOSPITALNAMEARB, ");
  6405.                 sbQuery.append(" TRMT.PATIENTNUMBER,");
  6406.                 sbQuery.append(" HOSP.HOSPITALNAMEENG FROM ");
  6407.                 sbQuery.append(  SITables.T_HOSPITAL + " HOSP, " );
  6408.                 sbQuery.append(  SITables.T_HOSPITALFOASSOCIATION + " HFO, " );
  6409.                 sbQuery.append(  SITables.T_TREATMENT );
  6410.                 sbQuery.append(" TRMT WHERE  ");
  6411.                 sbQuery.append(" HOSP.HOSPITALCODE = ");
  6412.                 sbQuery.append(" TRMT.HOSPITALCODE ");
  6413.                 sbQuery.append(" AND HOSP.HOSPITALCODE = ");
  6414.                 sbQuery.append(" HFO.HOSPITALCODE ");
  6415.                 sbQuery.append(" AND HFO.FIELDOFFICECODE " );
  6416.                 sbQuery.append(" = ? ");
  6417.                 sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
  6418.                 sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
  6419.                 sbQuery.append(" AND TRMT.INJURYID = ? " );
  6420.                 sbQuery.append(" AND HOSP.HOSPITALCODE < ? ");
  6421.                 sbQuery.append(" ORDER BY HOSP.HOSPITALCODE DESC ");
  6422.                
  6423.                        
  6424.                 p = con.prepareStatement(sbQuery.toString(),
  6425.                     ResultSet.TYPE_SCROLL_INSENSITIVE,
  6426.                     ResultSet.CONCUR_READ_ONLY);
  6427.                              
  6428.                 p.setShort
  6429.                 (1,hospitalSearchBean.getFieldOffice()
  6430.                 .shortValue());
  6431.                 p.setShort
  6432.                 (2,OHConstants.REG_HOSPITAL.shortValue());
  6433.                 p.setShort(3,
  6434.                 OHConstants.TRMT_STS_ENTERED.shortValue());
  6435.                 p.setShort(4,
  6436.                 OHConstants.TRMT_STS_APPROVED.shortValue());
  6437.                 p.setLong(5,injuryId.longValue());
  6438.                 p.setLong(6,firstId);
  6439.                                                            
  6440.             }  
  6441.             GOSIDebug.debugMessages("query" + sbQuery);
  6442.            
  6443.             int count = 1;
  6444.             GOSIDebug.debugMessages("after prep stmt");
  6445.             p.setMaxRows(GOSIApplicationProperties.MAX_PAGE_SIZE+1);
  6446.             rs = p.executeQuery();
  6447.            
  6448.             GOSIDebug.debugMessages("after prep statement");
  6449.             if(rs.next())
  6450.             {
  6451.                 rs.previous();
  6452.                 while(rs.next())
  6453.                 {
  6454.                     HospitalListBean hospital = new HospitalListBean();
  6455.                    
  6456.                     hospital.setHospitalCode(new Long(rs.getLong("HOSPITALCODE")));
  6457.                     hospital.setHospitalNameArb(rs.getString("HOSPITALNAMEARB"));
  6458.                     hospital.setPatientNumber(rs.getString("PATIENTNUMBER"));
  6459.                     hospital.setHospitalNameEng(rs.getString("HOSPITALNAMEENG"));
  6460.                    
  6461.                     hospitalArrayList.add(hospital);
  6462.                     if(buttonClicked == NavigationBean.BUTTON_SEARCH ||
  6463.                         buttonClicked == NavigationBean.BUTTON_NEXT)
  6464.                     {
  6465.                         if (count == 1)
  6466.                         {
  6467.                             hospitalSearchBean.
  6468.                             setFirstId(((Long)hospital.
  6469.                             getHospitalCode()).longValue());
  6470.                         }
  6471.                         else if(count < GOSIApplicationProperties.
  6472.                         MAX_PAGE_SIZE + 1)
  6473.                         {
  6474.                             hospitalSearchBean.
  6475.                             setLastId(((Long)hospital.
  6476.                             getHospitalCode()).longValue());
  6477.                         }
  6478.                    
  6479.                     }
  6480.                     if(buttonClicked == NavigationBean.BUTTON_PREVIOUS)
  6481.                     {
  6482.                         if (count ==1)
  6483.                         {
  6484.                             hospitalSearchBean.
  6485.                             setLastId(((Long)hospital.
  6486.                             getHospitalCode()).longValue());
  6487.                         }
  6488.                         else if(count < GOSIApplicationProperties.
  6489.                         MAX_PAGE_SIZE + 1)
  6490.                         {
  6491.                             hospitalSearchBean.
  6492.                             setFirstId(((Long)hospital.
  6493.                             getHospitalCode()).longValue());
  6494.                         }
  6495.                    
  6496.                     }
  6497.                     count = count + 1;
  6498.                 }      
  6499.                 hospitalArrayList.add(hospitalSearchBean);
  6500.             }
  6501.            
  6502.             GOSIDebug.debugMessages("hospital list size" +
  6503.             hospitalArrayList.size());
  6504.            
  6505.             sbQuery = sbQuery.delete(0,sbQuery.length());
  6506.          
  6507.         }
  6508.         catch (GOSIException ge)
  6509.         {
  6510.             throw ge;    
  6511.         }      
  6512.         catch(Exception e)
  6513.         {
  6514.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6515.             GOSIConstants.SOCIAL_INSURANCE,
  6516.             this.getClass().toString(),
  6517.             "searchRegisteredHospitalList()",
  6518.             e,"CMN_ERR_1000");
  6519.         }
  6520.         finally
  6521.         {
  6522.             GOSIUtilities.cleanUp(con, p, rs);
  6523.         }
  6524.        
  6525.         GOSIInstrumentationLog.writeInstrumentationToLog(
  6526.         this.getClass().toString(),
  6527.         "searchRegisteredHospitalList()",
  6528.         (System.currentTimeMillis() - timeCounter));
  6529.        
  6530.        
  6531.         return hospitalArrayList;      
  6532.        
  6533.      }
  6534.      
  6535.      /* This method is used to determine if a single hospital
  6536.         is present for the selected injury id */
  6537.     /**
  6538.     * @METHOD NAME              :   isSingleHospitalPresent
  6539.     * @INFORMATION              :   This method is to  is Single Hospital Present
  6540.     * @PARAM                    :   interface java.sql.Connection,
  6541.                                     class java.lang.Long,
  6542.                                     class java.lang.Short
  6543.     * @RETURN                   :   boolean
  6544.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6545.     * @LAST MODIFIED BY         :  
  6546.     * @LAST MODIFIED DATE       :  
  6547.     **/
  6548.      private boolean isSingleHospitalPresent(
  6549.      Connection con,Long injuryId,Short fieldOffice)
  6550.      throws GOSIException
  6551.      {
  6552.         /*  Declaration and initialization of variables*/
  6553.         StringBuffer    sbQuery = new StringBuffer();
  6554.         long            timeCounter = 0;
  6555.         long            recordCount = 0;
  6556.         boolean         isSingleHospitalValue = false;
  6557.                
  6558.         try
  6559.         {
  6560.             timeCounter = System.currentTimeMillis();
  6561.            
  6562.                        
  6563.             sbQuery = sbQuery.delete(0,sbQuery.length());
  6564.            
  6565.             sbQuery.append(" SELECT " );
  6566.             sbQuery.append(" COUNT(DISTINCT HOSP.HOSPITALCODE) ");
  6567.             sbQuery.append(" FROM ");
  6568.             sbQuery.append(  SITables.T_HOSPITAL + " HOSP, " );
  6569.             sbQuery.append(  SITables.T_HOSPITALFOASSOCIATION + " HOSPFO, " );
  6570.             sbQuery.append(  SITables.T_TREATMENT );
  6571.             sbQuery.append(" TRMT WHERE  ");
  6572.             sbQuery.append(" HOSP.HOSPITALCODE = ");
  6573.             sbQuery.append(" TRMT.HOSPITALCODE ");
  6574.             sbQuery.append(" AND HOSP.HOSPITALCODE = ");
  6575.             sbQuery.append(" HOSPFO.HOSPITALCODE ");
  6576.             sbQuery.append(" AND HOSPFO.FIELDOFFICECODE " );
  6577.             sbQuery.append(" = ? ");
  6578.             sbQuery.append(" AND HOSP.HOSPITALTYPE = ? ");
  6579.             sbQuery.append(" AND TRMT.TREATMENTSTATUS IN ( ?,? ) ");
  6580.             sbQuery.append(" AND TRMT.INJURYID = ? " );
  6581.            
  6582.                        
  6583.             p = con.prepareStatement(sbQuery.toString());
  6584.                                      
  6585.             p.setShort
  6586.             (1,fieldOffice.shortValue());
  6587.             p.setShort
  6588.             (2,OHConstants.REG_HOSPITAL.shortValue());
  6589.             p.setShort(3,
  6590.             OHConstants.TRMT_STS_ENTERED.shortValue());
  6591.             p.setShort(4,
  6592.             OHConstants.TRMT_STS_APPROVED.shortValue());
  6593.             p.setLong(5,injuryId.longValue());
  6594.            
  6595.             GOSIDebug.debugMessages("sbQuery" + sbQuery);
  6596.            
  6597.             rs = p.executeQuery();
  6598.            
  6599.             if(rs.next())
  6600.             {
  6601.                 recordCount = rs.getLong(1);            
  6602.                
  6603.             }
  6604.             GOSIDebug.debugMessages("recordCount" +
  6605.             recordCount);
  6606.             if(recordCount == 1)
  6607.             {
  6608.                 isSingleHospitalValue = true;
  6609.                
  6610.             }
  6611.             GOSIDebug.debugMessages("isSingleHospital" +
  6612.             isSingleHospitalValue);
  6613.                                
  6614.         }
  6615.       /*  catch (GOSIException ge)
  6616.         {
  6617.             throw ge;    
  6618.         }
  6619.     */ 
  6620.        
  6621.         catch(Exception e)
  6622.         {
  6623.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6624.             GOSIConstants.SOCIAL_INSURANCE,
  6625.             this.getClass().toString(),
  6626.             "isSingleHospitalPresent()",
  6627.             e,"CMN_ERR_1000");
  6628.         }
  6629.         finally
  6630.         {
  6631.             GOSIUtilities.cleanUp(rs);
  6632.         }
  6633.        
  6634.         GOSIInstrumentationLog.writeInstrumentationToLog(
  6635.         this.getClass().toString(),
  6636.         "isSingleHospitalPresent()",
  6637.         (System.currentTimeMillis() - timeCounter));
  6638.        
  6639.         return isSingleHospitalValue;
  6640.        
  6641.      }
  6642.  
  6643.     /* This method is added for companion */
  6644.    
  6645.     /**
  6646.     * @METHOD NAME              :   saveCompanionAsTreatmentService
  6647.     * @INFORMATION              :   This method is to  save Companion As Treatment Service
  6648.     * @PARAM                    :   class gosi.business.socialinsurance.occupationalhazards.injury.beans.CompanionBean
  6649.     * @RETURN                   :   void
  6650.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6651.     * @LAST MODIFIED BY         :  
  6652.     * @LAST MODIFIED DATE       :  
  6653.     **/
  6654.     public void saveCompanionAsTreatmentService (CompanionBean companionBean)
  6655.         throws GOSIException
  6656.     {
  6657.         PreparedStatement ps = null;
  6658.         ResultSet rs= null;
  6659.         try
  6660.         {
  6661.             Long hospitalCode = null;
  6662.             String patientNumber = null;
  6663.             Long injuryId = companionBean.getInjuryId();
  6664.             Long userId = companionBean.getLastModifiedBy();
  6665.             con = GOSIUtilities.getConnection(GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  6666.             String sqlQuery = " select HOSPITALCODE,PATIENTNUMBER from "+
  6667.                 SITables.T_TREATMENT +" where INJURYID = ? "+
  6668.                 " and TREATMENTSTATUS = ? ";
  6669.             ps = con.prepareStatement(sqlQuery);
  6670.             ps.setLong(1,injuryId.longValue());
  6671.             ps.setShort(2,OHConstants.TRMT_STS_APPROVED.shortValue());
  6672.             rs = ps.executeQuery();
  6673.             while(rs.next())
  6674.             {
  6675.                 hospitalCode  = new Long(rs.getLong("HOSPITALCODE"));
  6676.                 patientNumber = rs.getString("PATIENTNUMBER");
  6677.             }
  6678.             TreatmentServiceBean serviceBean = new TreatmentServiceBean();
  6679.             serviceBean.setHospitalCode(hospitalCode);
  6680.             serviceBean.setPatientNumber(patientNumber);
  6681.             Long headerId = this.getHeaderId(serviceBean, injuryId);
  6682.            
  6683.             if(headerId == null)
  6684.             {
  6685.                 TreatmentHeaderBean headerBean = new TreatmentHeaderBean();
  6686.                 headerId =GOSIUtilities.getPrimaryKey("T_TRMTSERVICESHDR",userId);
  6687.                
  6688.                 headerBean.setTrmtServiceHdrId(headerId);
  6689.                 GOSIDebug.debugMessages("HeaderId:"+headerBean.getTrmtServiceHdrId());
  6690.                 headerBean.setHospitalCode(hospitalCode);
  6691.                 headerBean.setPatientNumber(patientNumber);
  6692.                 headerBean.setInjuryId(injuryId);
  6693.                 headerBean.setCreatedBy(userId);
  6694.                 headerBean.setCreationTimestamp(new Timestamp(
  6695.                     System.currentTimeMillis()));
  6696.  //                
  6697.  //                 Context cntx = GOSIUtilities.getInitialContext();
  6698.  //                 Object ref = cntx.lookup(OHConstants.TRMT_SRVC_HDR_ENTITY_JNDI);
  6699.  //                 TreatmentServiceHeaderEntityHome home =
  6700.  //                     (TreatmentServiceHeaderEntityHome)PortableRemoteObject.
  6701.  //                         narrow(ref,TreatmentServiceHeaderEntityHome.class);
  6702.                 TreatmentServiceHeaderEntityHome home = (TreatmentServiceHeaderEntityHome)
  6703.                     ServiceLocator.getInstance().getRemoteHome(
  6704.                     OHConstants.TRMT_SRVC_HDR_ENTITY_JNDI,
  6705.                     TreatmentServiceHeaderEntityHome.class);
  6706.                 TreatmentServiceHeaderEntity headerRemote =
  6707.                     (TreatmentServiceHeaderEntity)home.create(headerBean);
  6708.             }
  6709.             else
  6710.             {
  6711.                 GOSIDebug.debugMessages("headerId already exists:"+headerId);
  6712.             }
  6713.            
  6714.             serviceBean.setTrmtServiceDetId(
  6715.                 GOSIUtilities.getPrimaryKey("T_TRMTSERVICESDET",userId));
  6716.             serviceBean.setTrmtServiceHdrId(headerId);
  6717.             serviceBean.setTrmtDateGreg(companionBean.getCompStDateGreg());
  6718.             serviceBean.setTrmtDateEntFmt(companionBean.getCompStDateEntFmt());
  6719.             if(OHConstants.COMPANION_TYPE_DOCTOR.equals
  6720.                 (companionBean.getTypeOfComp()))
  6721.             {
  6722.                 serviceBean.setTrmtCode(OHConstants.ICD_CODE_DOCTOR);
  6723.                 int noDays = companionBean.getNumberDays();
  6724.                 if(noDays > OHRuleBean.getMaxPayableDaysCompanion())
  6725.                 {
  6726.                     noDays=OHRuleBean.getMaxPayableDaysCompanion();
  6727.                 }
  6728.                 serviceBean.setUnits(new Float(noDays));
  6729.                 serviceBean.setTrmtAmt(companionBean.getDailyAllowanceComp());
  6730.                 serviceBean.setUnitPrice(new Double(OHRuleBean.getDailyAllowanceForDoctor()));
  6731.             }else
  6732.             {
  6733.                 serviceBean.setTrmtCode(OHConstants.ICD_CODE_NURSE);
  6734.                 int noDays = companionBean.getNumberDays();
  6735.                 if(noDays > OHRuleBean.getMaxPayableDaysCompanion())
  6736.                 {
  6737.                     noDays=OHRuleBean.getMaxPayableDaysCompanion();
  6738.                 }
  6739.                 serviceBean.setUnits(new Float(noDays));
  6740.                 serviceBean.setTrmtAmt(companionBean.getDailyAllowanceComp());
  6741.                 serviceBean.setUnitPrice(new Double(OHRuleBean.getDailyAllowanceForNurse()));
  6742.             }
  6743.             serviceBean.setTrmtSrvcStatus(OHConstants.TRMT_SRVC_STS_APPROVED);
  6744.             serviceBean.setTrmtSrvcStatus(OHConstants.WFS_SRVC_APPROVED_OH_HEAD);
  6745.             serviceBean.setWorkflowStatus(OHConstants.WFS_SRVC_APPROVED_OH_HEAD);
  6746.             serviceBean.setTrmtSrvcWrkfloId
  6747.                 (GOSIUtilities.getPrimaryKey("TRMTSRVCWRKFLOID",userId));
  6748.             serviceBean.setCreatedBy(userId);
  6749.             serviceBean.setCreationTimestamp
  6750.                 (new Timestamp(System.currentTimeMillis()));
  6751.  //            
  6752.  //             Context ctx=GOSIUtilities.getInitialContext();
  6753.  //             Object ref=ctx.lookup(OHConstants.TRMT_SRVC_DET_ENTITY_JNDI);
  6754.  //             TreatmentServiceDetailEntityHome detailhome=
  6755.  //                 (TreatmentServiceDetailEntityHome)
  6756.  //                     PortableRemoteObject.narrow
  6757.  //                         (ref,TreatmentServiceDetailEntityHome.class);
  6758.             TreatmentServiceDetailEntityHome detailhome= (TreatmentServiceDetailEntityHome)
  6759.                 ServiceLocator.getInstance().getRemoteHome(
  6760.                 OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
  6761.                 TreatmentServiceDetailEntityHome.class);
  6762.             TreatmentServiceDetailEntity remote = detailhome.create(serviceBean);
  6763.             GOSIDebug.debugMessages("---Companion details saved as service----");
  6764.         }
  6765.         catch (GOSIException ge)
  6766.         {
  6767.             GOSIDebug.debugMessages("session:saveCompanionAsTreatmentService:ge:"+ge);
  6768.             throw ge;
  6769.         }
  6770.         catch (Exception e)
  6771.         {
  6772.             GOSIDebug.debugMessages("session:saveCompanionAsTreatmentService:e:"+e);
  6773.             throw new GOSIException( GOSIConstants.SEVERITY_ONE,
  6774.                                             GOSIConstants.SOCIAL_INSURANCE,
  6775.                                             this.getClass().toString(),
  6776.                                             "saveCompanionAsTreatmentService()",
  6777.                                             e,
  6778.                                             "CMN_ERR_1000"
  6779.                                         );
  6780.         }
  6781.         finally
  6782.         {
  6783.             GOSIUtilities.cleanUp(con,ps,rs);
  6784.         }
  6785.     }
  6786.    
  6787.    
  6788.     /* This method is used to get the hospital name in internet
  6789.     scenario*/
  6790.     /**
  6791.     * @METHOD NAME              :   hospitalDetailsList
  6792.     * @INFORMATION              :   This method is to  hospital Details List
  6793.     * @PARAM                    :   class java.lang.Long
  6794.     * @RETURN                   :   class [Ljava.lang.String;
  6795.     * @EXCEPTION                :   class gosi.core.util.GOSIException
  6796.     * @LAST MODIFIED BY         :  
  6797.     * @LAST MODIFIED DATE       :  
  6798.     **/
  6799.     public String[] hospitalDetailsList(Long hospitalCode)
  6800.     throws GOSIException
  6801.     {
  6802.         PreparedStatement ps = null;
  6803.         ResultSet rs= null;    
  6804.        
  6805.         try
  6806.         {
  6807.             GOSIDebug.debugMessages("inside the Function hospitalDetails"+hospitalCode);
  6808.            
  6809.             con = GOSIUtilities.getConnection
  6810.             (GOSIConstants.OCCUPATIONAL_HAZARDS_ID);
  6811.            
  6812.             String sqlQuery = "";
  6813.             sqlQuery = " SELECT  HOSPITALNAMEARB, "
  6814.                         +" HOSPITALNAMEENG FROM "+ SITables.T_HOSPITAL
  6815.                         +" WHERE HOSPITALCODE = ? ";
  6816.             GOSIDebug.debugMessages("sqlQuery  "  +sqlQuery);
  6817.             ps = con.prepareStatement(sqlQuery);
  6818.             ps.setLong(1,hospitalCode.longValue());
  6819.             rs = ps .executeQuery();
  6820.             String hospitalName[] = new String[2];
  6821.             while(rs.next())
  6822.             {
  6823.                 hospitalName[0] = rs.getString("HOSPITALNAMEARB");
  6824.                 hospitalName[1] = rs.getString("HOSPITALNAMEENG");
  6825.             }
  6826.             return hospitalName;
  6827.         }
  6828.         catch(Exception e)
  6829.         {
  6830.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6831.             GOSIConstants.SOCIAL_INSURANCE,
  6832.             this.getClass().toString(),
  6833.             "hospitalDetailsList()",
  6834.             e,"CMN_ERR_1000");
  6835.         }    
  6836.         finally
  6837.         {
  6838.            GOSIUtilities.cleanUp(con,ps,rs);
  6839.         }
  6840.     }
  6841.  
  6842.     /**
  6843.     * @METHOD NAME              :   deleteApprovedTrmtSrvc
  6844.     * @INFORMATION              :   This method is to  delete approved treatment services.
  6845.     * @PARAM                    :   class java.lang.Long
  6846.     * @RETURN                   :   void
  6847.     * @EXCEPTION                :   class gosi.core.util.GOSIException,
  6848.                                     class java.rmi.RemoteException
  6849.     * @LAST MODIFIED BY         :  
  6850.     * @LAST MODIFIED DATE       :  
  6851.     **/
  6852.     public void deleteApprovedTrmtSrvc(Long recordId )  throws GOSIException
  6853.     {
  6854.         try
  6855.         {
  6856.             TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
  6857.             ServiceLocator.getInstance().getRemoteHome(
  6858.             OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
  6859.             TreatmentServiceDetailEntityHome.class);
  6860.  
  6861.             TreatmentServiceDetailEntity detailRemote =
  6862.             (TreatmentServiceDetailEntity)home.findByPrimaryKey
  6863.             (recordId);
  6864.            
  6865.             detailRemote.remove();
  6866.         }
  6867.         catch(Exception e)
  6868.         {
  6869.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6870.             GOSIConstants.SOCIAL_INSURANCE,
  6871.             this.getClass().toString(),"deleteApprovedTrmtSrvc()",e,"CMN_ERR_1000");
  6872.         }    
  6873.     }
  6874.  
  6875.  
  6876.  
  6877.  
  6878.     /**
  6879.     * @METHOD NAME              :   deleteApprovedTrmtSrvc
  6880.     * @INFORMATION              :   This method is to  delete approved treatment services.
  6881.     * @PARAM                    :   class java.lang.Long
  6882.     * @RETURN                   :   void
  6883.     * @EXCEPTION                :   class gosi.core.util.GOSIException,
  6884.                                     class java.rmi.RemoteException
  6885.     * @LAST MODIFIED BY         :  
  6886.     * @LAST MODIFIED DATE       :  
  6887.     **/
  6888.     public void deleteApprovedTrmtSrvc(Long recordId,Long userId )  throws GOSIException
  6889.     {
  6890.         try
  6891.         {
  6892.             TreatmentServiceDetailEntityHome home = (TreatmentServiceDetailEntityHome)
  6893.             ServiceLocator.getInstance().getRemoteHome(
  6894.             OHConstants.TRMT_SRVC_DET_ENTITY_JNDI,
  6895.             TreatmentServiceDetailEntityHome.class);
  6896.  
  6897.             TreatmentServiceDetailEntity detailRemote =
  6898.             (TreatmentServiceDetailEntity)home.findByPrimaryKey
  6899.             (recordId);
  6900.  
  6901.             TreatmentServiceBean treatmentServiceBean = detailRemote.getTreatmentService();
  6902.  
  6903.             treatmentServiceBean.setTrmtSrvcStatus(OHConstants.TRMT_SRVC_STS_CANCELLED);
  6904.             treatmentServiceBean.setPaymentStatus(OHConstants.TRMT_SRVC_PAY_STS_NOT_PAID);
  6905.             treatmentServiceBean.setLastModifiedBy(userId);
  6906.             detailRemote.modifyTreatmentServices(treatmentServiceBean);
  6907.         }
  6908.         catch(Exception e)
  6909.         {
  6910.             throw new GOSIException(GOSIConstants.SEVERITY_ONE,
  6911.             GOSIConstants.SOCIAL_INSURANCE,
  6912.             this.getClass().toString(),"deleteApprovedTrmtSrvc()",e,"CMN_ERR_1000");
  6913.         }    
  6914.     }      
  6915. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement