473,405 Members | 2,282 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

data misplacing within session while i m getting same session id while refreshing

i m getting same session id but data of other sessions on my screen while accessing my page
i have recently change 32 bit 2003 server with 64bit win 2008 R2 serv pack1 & i m getting this problem while other pages works fine only one page giving this problem.
we r using tomcat5.0 and j2sdk for devlopment.

any one please help if u hv any idea regarding this,thanks in advance..
Jan 14 '14 #1
7 1717
chaarmann
785 Expert 512MB
Are you using a proxy server?
then it may happen that user B gets the same page that user A requested before, because it comes from the cache of the proxy server.
Solution: add a counter number argument to every URL to avoid caching.

A less likely problem: two clients have the same IP-address. In that case the web server can't differentiate the clients and uses the same session for them.
Jan 14 '14 #2
@chaarmann
yes we r using proxy server i have try by added sessionid as well as some randomly generated no with each url but still getting same proplem.
Jan 15 '14 #3
chaarmann
785 Expert 512MB
Please make sure that you have added the random no to the requesting page and not to the result page!

Example: Page A has a link to call page B.
User 1 is on page A and clicks the link so that B with his data is created.
Then user 2 calls page A and then two things can happen: if the link has the the same URL, the result page comes from the proxy server (and no request goes to your server) and it returns the results from user 1 ! Now User 2 surfs as user 1; he has captured his session. If it is a different URL, then the request bypasses the proxy server and your server generates a new page which is sent back.

So make sure the link is not something like "http://firstPageAfterLogin.jsp" for both, but "http://firstPageAfterLogin.jsp?requestNumber=1" for user A and "http://firstPageAfterLogin.jsp?requestNumber=2" for user B

Remark:
random no is ok for now, but it may generate two times the same random no. this is more and more likely the more users you have. So use a systemwide unique counter instead.
Jan 15 '14 #4
@chaarmann
still same problem is coming frequency is reduced but if i click on link before loading whole page if i refresh it again then i get two peoples data.
Jan 16 '14 #5
chaarmann
785 Expert 512MB
Then there is no way around anymore: post your code!
(The pages A an B as I wrote in my last e-mail. Server and client code. Leave out all unnecessary stuff that doesn't belong to the problem)
Jan 17 '14 #6
@chaarmann
first file code to call the second file ...

Expand|Select|Wrap|Line Numbers
  1. private void checkfordcr(int elevel,Vector text,Vector links) throws Exception
  2.     {
  3.         String dcrlevel = "DCRLEVEL"+elevel;
  4.  
  5.         //String tm = "?tm=" + String.valueOf(System.currentTimeMillis());
  6.          String ssid = "?session="+sid+"&tm="+ String.valueOf(System.currentTimeMillis()*100000);
  7.  
  8.         try
  9.         {
  10.                 Statement stmt = con.createStatement();
  11.  
  12.                 String sql = "Select SVarName,SVarTxt From Sysprm Where SVarName Like '"+dcrlevel+"%' and SVarTxt <> '' Order by Idsysprm";
  13.  
  14.                 ResultSet rs = stmt.executeQuery(sql);
  15.                 String remstr = "";
  16.                 java.util.StringTokenizer st = null;
  17.  
  18.                 while(rs.next())
  19.                 {
  20.                     st = new java.util.StringTokenizer(rs.getString("SVarTxt"),";");
  21.                     remstr = st.nextToken();
  22.                     links.add("/eis.dataentry." + remstr + ssid);
  23.                     remstr = st.nextToken();
  24.                     text.add(remstr);
  25.                 }
  26.                     rs.close();
  27.                     stmt.close();
  28.         }catch(Exception e)
  29.         {
  30.             System.out.println("Exception " + e);
  31.         }
  32.     }
  33. //second file whole coding
  34.  
  35. package eis.dataentry;
  36.  
  37. import javax.servlet.*;
  38. import javax.servlet.http.*;
  39. import java.io.*;
  40. import java.sql.*;
  41. import eis.util.*;
  42. import java.util.*;
  43. /** Creates the DCR enetry form for both field staff as well as administrator can edit DCR for field force.
  44.     For field staff, the DCR date is automatically generated based on the last confirmed DCR entry.
  45.     For Administrator staff, the DCR date is editable.
  46. **/
  47.  
  48. public class DCREntryScreen extends HttpServlet
  49. {
  50.     static final String pathPrefix = "/"+PropertyHandler.getProperty("ContextName") +"/";
  51.     static final String servPath = pathPrefix + "servlet";
  52.  
  53.     String pname001 ;
  54.     String pname003 ;
  55.     PrintWriter out ;
  56.     Vector ecode=new Vector();
  57.     String mthname="";
  58.     String wmth="", wyr="";
  59.     String wrkdate="";
  60.  
  61.     //static String rem = "N";
  62.     public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
  63.     {
  64.         doGet(req, res);
  65.     }
  66.     public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
  67.     {
  68.         Connection con = null;
  69.         try
  70.         {
  71.             res.setContentType("text/html");
  72.             out = res.getWriter();
  73.             String dbname,empcode = "";
  74.             HttpSession s;
  75.  
  76.             synchronized(this)
  77.              {
  78.                   s = req.getSession(true);
  79.              }
  80.  
  81.             if(s.isNew())
  82.             {
  83.                 out.println("<center><h2>You are not authorised to view this page</h2></center>");
  84.  
  85.             }
  86.             else
  87.             {
  88.                    String wdate = s.getAttribute("WorkingDay").toString()+"/"+s.getAttribute("WorkingMonth").toString()+"/"+s.getAttribute("WorkingYear").toString();
  89.                 wmth=s.getAttribute("WorkingMonth").toString();
  90.                 wyr=s.getAttribute("WorkingYear").toString();
  91.                 wrkdate = ""+s.getAttribute("WorkingYear").toString()+"-"+s.getAttribute("WorkingMonth").toString()+"-"+s.getAttribute("WorkingDay").toString();
  92.                 out.println("<html><head>");
  93.                 out.println("<title> DCR ENTRY SCREEN </title></head>");
  94.                 out.println(Formatter.pageHTMLDesign(pathPrefix));
  95.                 out.println("<link id=\"webfx-tab-style-sheet\" type=\"text/css\" rel=\"stylesheet\" href=\""+pathPrefix+"css/tab.webfx.css\">");
  96.                 out.println("<script type=\"text/javascript\" src=\""+pathPrefix+"js/webfxlayout.local.js\"></script>");
  97.                 out.println("<script type=\"text/javascript\" src=\""+pathPrefix+"js/tabpane.js\"></script>");
  98.                 dbname = s.getAttribute("DB").toString();  // database
  99.                 String financialyr = s.getAttribute("FinancialStartDate").toString().substring(2,4) + s.getAttribute("FinancialEndDate").toString().substring(2,4);
  100.  
  101.                  synchronized(this)
  102.                   {
  103.                       con = ConnectionHandler.getConnection(dbname);
  104.                   }
  105.  
  106.                 String valexists1 = getsysprmcount("confirmdcrproduct",con);
  107.                 String remarks=remarkExists(dbname,valexists1,"confirmdcrproduct","N");
  108.                 if(remarks.equalsIgnoreCase("Y"))
  109.                    out.println("<script type=\"text/javascript\" src=\""+pathPrefix+"js/checkDCREntryNew.js\"></script>");
  110.                 else
  111.                    out.println("<script type=\"text/javascript\" src=\""+pathPrefix+"js/checkDCREntry.js\"></script>");
  112.  
  113.                 pname001 = CommonUtils.getHeaderName("PNAME001",dbname);
  114.                 pname003 = CommonUtils.getHeaderName("PNAME003",dbname);
  115.                 String LogFile = pathPrefix + "debugfile.txt";
  116.                 //String tcpDrchk=req.getParameter("tcpDrchk");
  117.                 //if(tcpDrchk==null)tcpDrchk="N";
  118.                 if(s.getAttribute("FirstTime")==null)
  119.                 {
  120.                     s.setAttribute("FirstTime","true");
  121.                 }
  122.                 else
  123.                 {
  124.                     s.setAttribute("FirstTime","false");
  125.                 }
  126.                 String serial = req.getParameter("serial");
  127.                 if(serial==null)
  128.                     serial = "";
  129.  
  130.                 String prefix = req.getParameter("prefix");
  131.                 String pob=req.getParameter("pob");
  132.                 if(prefix==null)
  133.                     prefix = "";
  134.  
  135.                 String wwith = req.getParameter("wwith");
  136.                 if(wwith==null)
  137.                     wwith = "";
  138.  
  139.                 String flag=req.getParameter("flag");
  140.                 if(flag==null)
  141.                   flag="";
  142.  
  143.                 String wnetid = req.getParameter("wnetid");
  144.                 if(wnetid==null)
  145.                     wnetid = "";
  146.  
  147.                 String temp="";
  148.                // String ename ="";
  149.  
  150.                 String changeupr = req.getParameter("changeupr");
  151.                 if(changeupr==null)
  152.                     changeupr = "";
  153.  
  154.                 boolean officeuser = false;
  155.                 if(((Integer)s.getAttribute("Elevel")).intValue() > 6)
  156.                     officeuser = true;
  157.  
  158.                 String dcrdate = "";
  159.  
  160.                 String holdcrdate ="";
  161.                 String mode = req.getParameter("mode");
  162.  
  163.                 if(mode==null)
  164.                 {
  165.                     mode="";
  166.                 }
  167.                 if(mode.equalsIgnoreCase("holdcr"))
  168.                 {
  169.                     holdcrdate = req.getParameter("selholmst");
  170.                     if(holdcrdate!=null)
  171.                       s.setAttribute("FirstTime","true");
  172.                 }
  173.  
  174.                 ecode=new Vector();
  175.  
  176.                 if(mode.equalsIgnoreCase("joinwrk"))
  177.                 {
  178.                 //ecode=new Vector();
  179.                 Enumeration e =req.getParameterNames();
  180.                    while(e.hasMoreElements())
  181.                    {      // ecode=new Vector();
  182.                        temp =(String)e.nextElement();
  183.                        Vector tempVector=new Vector();
  184.                        if(temp.substring(0,3).equalsIgnoreCase("chk"))
  185.                        {
  186.                         tempVector = new Vector();
  187.                         tempVector.add(temp.substring(3,temp.indexOf("+")));
  188.                         tempVector.add(temp.substring(temp.indexOf("+")+1,temp.length()));
  189.                         ecode.add(tempVector);
  190.                        }
  191.                     } // while closes
  192.                    // to change tcp of selected netid in case of upper level
  193.                 }
  194.                 s.setAttribute("EmpVector",ecode);
  195.  
  196.                 if(mode.equalsIgnoreCase("psr"))
  197.                 {
  198.                       String wwith2,wwith3,wwith4;
  199.                       String jntwrk=req.getParameter("jntwrk");
  200.                       if(jntwrk==null)
  201.                           jntwrk="";
  202.  
  203.                       String jw[]=new String[5];
  204.                       for(int i=0;jntwrk.length()>0;i++)
  205.                          {
  206.                              jw[i]=jntwrk.substring(0,jntwrk.indexOf(","));
  207.                              jntwrk=jntwrk.substring(jntwrk.indexOf(",")+1,jntwrk.length());
  208.                           }
  209.  
  210.                       Vector tmpVector=new Vector();
  211.  
  212.                       for(int i=0;i<5;i++)
  213.                          {
  214.                             try
  215.                               {
  216.                                  Statement st=con.createStatement();
  217.                                  String query=" select ename from empmst where ecode='"+jw[i]+"' ";
  218.                                  ResultSet rs=st.executeQuery(query);
  219.                                  if(rs.next())
  220.                                    {
  221.                                    tmpVector = new Vector();
  222.                                    tmpVector.add(jw[i]);
  223.                                    tmpVector.add(rs.getString(1));
  224.                                    ecode.add(tmpVector);
  225.                                    }
  226.                                }
  227.                                catch(Exception e)
  228.                                {
  229.                                    Log.log("101 :"+e.toString());
  230.                                }
  231.                          }
  232.                      s.removeAttribute("EmpVector");
  233.                      s.setAttribute("EmpVector",ecode);
  234.                    }
  235.  
  236.                 /*
  237.                   If Employee level is of Administrator Level.
  238.                   then the selected empcode,dcrdate has to pick up from main screen, has to get information
  239.                   about that perticular employee.(viz empcode,netid,dcrdate etc.).
  240.                 */
  241.  
  242.                 if(s.getAttribute("FirstTime").toString().equalsIgnoreCase("true"))
  243.                 {
  244.                         if(officeuser)
  245.                         {
  246.                             empcode = req.getParameter("dcrecode");
  247.                             dcrdate = req.getParameter("dcrdate");
  248.                         }
  249.                         else
  250.                         {
  251.                             synchronized(this)
  252.                             {
  253.                             empcode = s.getAttribute("EmpCode").toString();
  254.                             }
  255.                         }
  256.  
  257.                     String[] info = null;
  258.                     InfoHelper ih = null;
  259.  
  260.                    // synchronized(this) // Added by kiran & glenn to make call of these function synchronized.
  261.                    // {
  262.                         ih = new InfoHelper(con,empcode,dbname);
  263.                         info = ih.getInfo(dcrdate,con);     // Added Parameter con By Glenn & kiran
  264.                     //}
  265.  
  266.                     /*
  267.                       CHECKS FOR NETWORK TRANSACTION ENTRIES FOR THE PERTICULATAR NETID
  268.                       IN NETTRANS FILE FOR THIS PERTICULAR MONTH AND YEAR OF THE DCR DATE WHICH IS SELECTED
  269.                       IF RECORD EXIST IN FILE, THE ALLOW TO ENTER DCR ENTRY AND WILL SET THE INFORMATION
  270.                       LIKE info[0] as NETID,info[1] as HQ NAME, info[2] as DCRDATE
  271.                       OTHERWISE WILL NOT ALLOW TO ENTER DCR ENTRY SCREEN
  272.                    */
  273.                     if(info[0].equalsIgnoreCase(""))
  274.                     {
  275.                         out.println("\n<br><0br><center><h2><u>No Network transaction entries found</u></h2>");
  276.                         out.println("\n<br>No Network transaction entries were found for this network.");
  277.                         out.println("\n<br>You may not enter your DCR details till the Network Transaction file is updated.");
  278.                         out.println("\n<br><br> <input type=button value=Close onClick=window.close()>");
  279.                     }
  280.                     // if noNetTransEntries closes
  281.                     else if(!info[0].equalsIgnoreCase(info[3]) && !info[3].equalsIgnoreCase(""))
  282.                     {
  283.                         out.println(conflictNetids(info[0],info[1],info[2],info[3],info[4],empcode));
  284.                     }
  285.                     else if((MtpCheck(dbname,s,empcode,info[0])))    //added by dipen...
  286.                     {
  287.                         out.println("<center><br><br><br><br><br><font size=3 face=arial color=red><b>Please Check and Fill the Previous Month MTP Table Correctly</b>");
  288.                         out.println("<br><br><br><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></center>");
  289.                     }
  290.                      else if(ExpCheck(con))
  291.                     {
  292.                         out.println("<center><br><br><br><br><br><font size=3 face=arial color=blue><b>Expense Processing is going on...<br>Please try after half hour...</font></b>");
  293.                         out.println("<br><br><br><font size=3 face=arial color=red><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></font></center>");
  294.                     }
  295.                     else
  296.                     {
  297.                         PreparedStatement stmt=null;
  298.                         String sql = "SELECT count(*) as SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek' ";
  299.                         stmt = con.prepareStatement(sql);
  300.                         String valueexist="";
  301.                         ResultSet rs = stmt.executeQuery();
  302.                         while(rs.next())
  303.                         {
  304.                           valueexist = rs.getString("SVarTxt");
  305.                         }
  306.                         if(valueexist.equals("0"))
  307.                         {
  308.                              sql="select max(IdSysPrm)+1 as IDSYS from sysprm";
  309.                              stmt = con.prepareStatement(sql);
  310.                              String sysprmid="";
  311.                              rs = stmt.executeQuery();
  312.                              while(rs.next())
  313.                              {
  314.                                 sysprmid = rs.getString("IDSYS");
  315.                              }
  316.  
  317.                              stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt) values(" +sysprmid+ ",'DCRWeek','0,0')");
  318.                              rs.close();
  319.                         }
  320.  
  321.                         // Dcr Date Is Stored In info[2] The Logic For Dcr Validation Will Come Here
  322.                         sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek'";
  323.                         stmt = con.prepareStatement(sql);
  324.                         String weekvalue="";
  325.                         rs = stmt.executeQuery();
  326.                         if(rs.next())
  327.                           weekvalue=rs.getString(1);
  328.  
  329.                         if(!weekvalue.equalsIgnoreCase("0,0"))
  330.                         {
  331.                            if(checkForWeekDcr(con,empcode,info[0]))
  332.                            {
  333.                              info[2] = dcrWeeklyValidationForElder(info[2],empcode,info[0],s.getAttribute("DB").toString());
  334.                            }
  335.                            else if(checkForDaysDcr(con,empcode,info[0],info[2]))
  336.                            {
  337.                              info[2] = dcrDaysValidationForElder(info[2],empcode,info[0],s.getAttribute("DB").toString());
  338.                            }
  339.                         }
  340.                         rs.close();
  341.  
  342.  
  343.                         InfoHelper ih2 = null;
  344.                         String[] infoholdate = null;
  345.                         ih2 = new InfoHelper(con,empcode,dbname);
  346.                         infoholdate = ih2.getInfoholdate(info[2],con);
  347.                         if(!holdcrdate.equalsIgnoreCase(""))
  348.                         {
  349.                         infoholdate[2] = holdcrdate;
  350.                         out.println("<table class=linktable align=center width=100%><tr>" +
  351.                         "<td><b><center><font color=red>NOTE :- To Change The DCR Date Which You Selected Now, Please Login Again.</font></center></b></td></tr></table>");
  352.                         }
  353.                         s.setAttribute("DCRNetID",infoholdate[0]);
  354.                         s.setAttribute("DCRHQName",infoholdate[1]);
  355.  
  356.                         //Log.log("101 : "+infoholdate[2]);
  357.  
  358.                         s.setAttribute("DCRDate",infoholdate[2]);
  359.                         s.setAttribute("DCREmp",empcode);
  360.                       //  s.setAttribute("ecode",ecode);
  361.                         s.setAttribute("DCREmpName",ih2.getEmployeeName());
  362.                         s.setAttribute("DCRNetIDLevel",infoholdate[5]);
  363.                         s.setAttribute("DCRNetIDJoinDate",infoholdate[6]);
  364.  
  365.                     }
  366.                     //getSRFCMTP(dcrdate,s.getAttribute("DCRNetID").toString(),dbname,empcode);
  367.                  }
  368.  
  369.                 //Log.log("786 : "+s.getAttribute("EmpCode").toString());
  370.                 Calendar c = Calendar.getInstance();
  371.                 String currdate = c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
  372.             /*      Enumeration sss=s.getAttributeNames();
  373.  
  374.             while(sss.hasMoreElements()){
  375.                     String n=(String)sss.nextElement();
  376.                     out.println("<b>"+n+"="+s.getAttribute(n)+"<b><br>");
  377.                 }
  378.              */
  379.           //todo sarika
  380.        //************************************************************************************
  381.           Statement stsystp=con.createStatement();
  382.           ResultSet rssystp=stsystp.executeQuery("select svartxt from sysprm where svarname='TPRequire' ");
  383.             //try{
  384.                 String systpvar="";
  385.                 if(rssystp.next())
  386.                 {
  387.                  systpvar=rssystp.getString(1);
  388.                 }
  389.                 else
  390.                 {
  391.                      String sql="select max(IdSysPrm)+1 as IDSYS from sysprm";
  392.                      Statement stmt = con.prepareStatement(sql);
  393.                      String sysprmid="";
  394.                      ResultSet rs = stmt.executeQuery(sql);
  395.                      while(rs.next())
  396.                      {
  397.                           sysprmid = rs.getString("IDSYS");
  398.                      }
  399.                      stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt) values ( " +sysprmid+ ",'TPRequire','N')");
  400.                      rs.close();
  401.  
  402.                      stsystp=con.createStatement();
  403.                      rssystp=stsystp.executeQuery("select svartxt from sysprm where svarname='TPRequire' ");
  404.             //try{
  405.                      systpvar="";
  406.                      if(rssystp.next())
  407.                      {
  408.                        systpvar=rssystp.getString(1);
  409.                      }
  410.                }
  411.  
  412.  
  413.          //if(!systpvar.equalsIgnoreCase("0"))
  414.          //{
  415.             Log.log("systpvar : "+systpvar);
  416.             String mtpmissed=checkMTPFill(dbname,s,s.getAttribute("DCREmp").toString(),s.getAttribute("DCRNetID").toString(),systpvar);
  417.  
  418.           if(!mtpmissed.equalsIgnoreCase(""))
  419.           {
  420.               if(!mtpmissed.equalsIgnoreCase(""))
  421.               {
  422.                   if(systpvar.equalsIgnoreCase("N"))
  423.                      mtpmissed=mtpmissed.substring(0,mtpmissed.length()-1);
  424.                   else if(systpvar.equalsIgnoreCase("Y"))
  425.                      mtpmissed=mtpmissed.substring(0,mtpmissed.length());
  426.               }
  427.  
  428.               if(!mtpmissed.equalsIgnoreCase(""))
  429.               {   //  Log.log(""+145154);
  430.                     String dcrdt = s.getAttribute("DCRDate").toString();
  431.                     String mnth = DateUtils.fillMonthNumber(DateUtils.toDMY(dcrdt).substring((DateUtils.toDMY(dcrdt).indexOf("/"))+1,DateUtils.toDMY(dcrdt).lastIndexOf("/")));
  432.                     if(systpvar.equalsIgnoreCase("N"))
  433.                     {
  434.                         out.println("<center> <br><br><br><br><br><br><br> " +
  435.                         "<font size=3 face=arial color=red>Montly Tour Programme for the dates <font size=5 color=blue><br><u><b>"+mtpmissed+"</U></b> Of The Month: <b><u> "+mnth+"</B></U><br></font> Is Not Entered or Not Approved. </b>");
  436.                         out.println("<br><br><br><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></center>");
  437.                     }
  438.                     else if(systpvar.equalsIgnoreCase("Y"))
  439.                     {
  440.                         out.println("<center> <br><br><br><br><br><br><br> " +
  441.                         "<font size=3 face=arial color=red>Montly Tour Programme Not Filled For Month <font size=5 color=blue><br><u><b>"+mtpmissed+"</U></b><b><u></B></U><br></font> Is Not Entered or Not Approved . </b>");
  442.                         out.println("<br><br><br><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></center>");
  443.                     }
  444.                  }
  445.              }
  446.         // }
  447.          //*********************************************************************************
  448.          else if(!(ShdCheck(s.getAttribute("DCRNetID").toString(),s.getAttribute("DCRDate").toString(),dbname).equalsIgnoreCase("")))   //added by dipen
  449.             {
  450.                String sh=ShdCheck(s.getAttribute("DCRNetID").toString(),s.getAttribute("DCRDate").toString(),dbname);
  451.                out.println("<center><br><br><br><br><br><font size=3 face=arial color=red><b><u>"+sh.substring(sh.lastIndexOf("/")+1,sh.length())+"</u>   for   Date: <u>"+s.getAttribute("DCRDate").toString()+"</u>  not Approved </b>");
  452.                out.println("<br><br><br><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></center>");
  453.               }
  454.          else if(ExpCheck(con))
  455.              {
  456.                 out.println("<center><br><br><br><br><br><font size=3 face=arial color=blue><b>Expense Processing is going on...<br>Please try after half hour...</font></b>");
  457.                 out.println("<br><br><br><font size=3 face=arial color=red><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></font></center>");
  458.              }
  459.          else if(SampleOpeningCheck(con,s.getAttribute("DCRNetID").toString(),financialyr,s.getAttribute("DCRDate").toString()))
  460.              {
  461.                 out.println("<center><br><br><br><br><br><font size=2 face=arial color=blue><b>You can not entered Daily Call Report because You have not entered productwise opening balance... </font></b>");
  462.                 out.println("<center><br><font size=2 face=arial color=blue><b>If you want to entered then </font></b>");
  463.                 out.println("<A HREF=\"" + servPath + "/eis.dataentry.SampleIssue?choice=opbal&netid=" + s.getAttribute("DCRNetID").toString() + "&emp=" + s.getAttribute("DCREmp").toString() + "\" class=\"hypadd\">CLICK HERE</a>");
  464.                 out.println("<br><br><font size=3 face=arial color=red><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></font></center>");
  465.              }
  466.          else if(LeavePendingCheck(con,s.getAttribute("DCRDate").toString(),s.getAttribute("DCREmp").toString()))
  467.          {
  468.              out.println("<table class=linktable align=center width=100%><tr>" +
  469.                          "<td><b><center>DCR ENTRY SCREEN</center></b></td></tr></table>");
  470.              out.println("<center><br><br><br><font size=3 face=arial color=blue><b>You can not entered Daily Call Report because your Leave Approval is pending for this date.....<br>Please contact your Immediate manager...</font></b>");
  471.              out.println("<br><br><br><font size=3 face=arial color=red><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></font></center>");
  472.          }
  473.  
  474.          //******************************************************************************88
  475.           else
  476.           {
  477.                if(Integer.parseInt(s.getAttribute("Elevel").toString())==1)    //DCRNetIDLevel
  478.                {
  479.                  if(!noTCPEntries(s.getAttribute("DCRNetID").toString(),s.getAttribute("DB").toString()))
  480.                  {
  481.                     if(DateUtils.isAfter(s.getAttribute("DCRDate").toString(),currdate))
  482.                     {
  483.                         out.println("<br><br><br><center><font face=arial color=red size=4><b>ALERT!!!</b></font>");
  484.                         out.println("<br>"+s.getAttribute("DCRDate").toString()+"<br>");
  485.                         out.println("<br><br><center><font face=arial color=red size=4><b>SORRY, YOU CAN NOT ENTER DCR GREATER THAN CURRENT DATE</b></font>");
  486.                         out.println("<br><br><br><input type=button class=buttoncolor value=Close onClick=window.close()>");
  487.                     }
  488.                     else
  489.                     {
  490.                         if(checkdcrdate(con,s.getAttribute("DCREmp").toString()))
  491.                         {
  492.                           String gracedays="";
  493.                           String val = "";
  494.                         //********************************************
  495.                           try
  496.                           {
  497.                             Statement stmt = con.createStatement();
  498.  
  499.                             String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek'";
  500.  
  501.                             ResultSet rs = stmt.executeQuery(sql);
  502.                             while(rs.next())
  503.                                  {
  504.                                     val = rs.getString("SVarTxt");
  505.                                  }
  506.                                     con.setAutoCommit(false); //added by sagar
  507.                                     con.commit();//added by sagar
  508.                                     rs.close();
  509.  
  510.                             StringTokenizer st = new StringTokenizer(val,",");
  511.                              while(st.hasMoreTokens())
  512.                              {
  513.                                  st.nextToken();
  514.                                  gracedays=st.nextToken();
  515.                              }
  516.                            }
  517.                           catch(SQLException e)
  518.                            { }
  519.  
  520.                         //********************************************
  521.                            if(!val.equalsIgnoreCase("0,0"))
  522.                            {
  523.                             out.println("<table class=linktable align=center width=100%><tr>" +
  524.                                         "<td><b><center>DCR ENTRY SCREEN</center></b></td></tr></table>");
  525.  
  526.                             out.println("<center> <br><br><br><br><br><br><br> " +
  527.                                         "<font size=3 face=arial color=red> YOUR DCR IS BLOCKED SINCE THE SAME IS NOT FILLED FOR "+gracedays+" OR ");
  528.                             out.println("<br>MORE DAYS PLEASE CONTACT YOUR MANAGER</font> </b>");
  529.                             out.println("<br><br><br><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></center>");
  530.                            }
  531.                            else
  532.                                out.println(showForm(s.getAttribute("DCRDate").toString(),s.getAttribute("DCREmpName").toString(),s.getAttribute("DCRHQName").toString(),s.getAttribute("DCRNetID").toString(),s.getAttribute("DCREmp").toString(),Integer.parseInt(s.getAttribute("DCRNetIDLevel").toString()),serial,prefix,officeuser,s.getAttribute("DCRNetIDJoinDate").toString(),wwith,wnetid,changeupr,dbname,con,(Vector)s.getAttribute("EmpVector"),flag));
  533.                         }
  534.                         else
  535.                                out.println(showForm(s.getAttribute("DCRDate").toString(),s.getAttribute("DCREmpName").toString(),s.getAttribute("DCRHQName").toString(),s.getAttribute("DCRNetID").toString(),s.getAttribute("DCREmp").toString(),Integer.parseInt(s.getAttribute("DCRNetIDLevel").toString()),serial,prefix,officeuser,s.getAttribute("DCRNetIDJoinDate").toString(),wwith,wnetid,changeupr,dbname,con,(Vector)s.getAttribute("EmpVector"),flag));
  536.                     }
  537.                 }
  538.                 else
  539.                 {
  540.                     out.println("\n<br><br><center><h2><u><font color=red>No "+pname003+"entries found</font></u></h2>");
  541.                     out.println("\n<br><font face=arial size=2>No  "+pname003+" entries were found for this network.");
  542.                     out.println("\n<br>You may not enter your DCR details till the "+pname003+" file is updated.</font>");
  543.                     out.println("<br><br><input type=button class=buttoncolor value=Close onClick=window.close()>");
  544.                 } // else for not noTCPEntries closes
  545.             } // if level=1 closes
  546.             else
  547.             {
  548.                 if(DateUtils.isAfter(s.getAttribute("DCRDate").toString(),currdate))
  549.                 {
  550.                     out.println("<br><br><br><center><font face=arial color=red size=4><b>ALERT!!!</b></font>");
  551.                     out.println("<br><br><center><font face=arial color=red size=4><b>SORRY,YOU CAN NOT ENTER DCR GREATER THAN CURRENT DATE</b></font>");
  552.                     out.println("<br><br><br> <input type=button class=buttoncolor value=Close onClick=window.close()>");
  553.                 }
  554.                 else
  555.                 {
  556.                     if(checkdcrdate(con,s.getAttribute("DCREmp").toString()))
  557.                       {
  558.                     String gracedays="";
  559.                     String val = "";
  560.                                            //********************************************
  561.                                            try
  562.                                              {
  563.                                                Statement stmt = con.createStatement();
  564.  
  565.                                                String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek'";
  566.  
  567.                                                ResultSet rs = stmt.executeQuery(sql);
  568.                                                while(rs.next())
  569.                                                     {
  570.                                                        val = rs.getString("SVarTxt");
  571.                                                     }
  572.  
  573.                                                            con.setAutoCommit(false);       //added by sagar
  574.                                                            con.commit();//added by sagar
  575.                                                            rs.close();
  576.                                                StringTokenizer st = new StringTokenizer(val,",");
  577.                                                while(st.hasMoreTokens())
  578.                                                 {
  579.                                                     st.nextToken();
  580.                                                     gracedays=st.nextToken();
  581.                                                 }
  582.                                               }
  583.                                              catch(SQLException e)
  584.                                               { }
  585.  
  586.                                            //********************************************
  587.                                            if(!val.equalsIgnoreCase("0,0"))
  588.                                              {
  589.                                            out.println("<table class=linktable align=center width=100%><tr>" +
  590.                                                        "<td><b><center>DCR ENTRY SCREEN</center></b></td></tr></table>");
  591.  
  592.                                          //  out.println("<center> <br><br><br><br><br><br><br> " +
  593.                                          // "<font size=3 face=arial color=red>Your Can Not Filled DCR Because You Doesn't Filled The DCR From "+gracedays+" Or more Days ");
  594.                                          //  out.println("<br>Please Tell Your Manager To Contact Your Head Office for Unlocking DCR.</font> </b>");
  595.                                           out.println("<center> <br><br><br><br><br><br><br> " +
  596.                                                       "<font size=3 face=arial color=red> YOUR DCR IS BLOCKED SINCE THE SAME IS NOT FILLED FOR "+gracedays+" OR ");
  597.                                           out.println("<br>MORE DAYS PLEASE CONTACT YOUR MANAGER</font> </b>");
  598.  
  599.                                           out.println("<br><br><br><a href=\"#\" class=\"hypclose\" onClick=window.close()>Close this window</a></center>");
  600.                                            }
  601.                                          else
  602.                                             out.println(showForm(s.getAttribute("DCRDate").toString(),s.getAttribute("DCREmpName").toString(),s.getAttribute("DCRHQName").toString(),s.getAttribute("DCRNetID").toString(),s.getAttribute("DCREmp").toString(),Integer.parseInt(s.getAttribute("DCRNetIDLevel").toString()),serial,prefix,officeuser,s.getAttribute("DCRNetIDJoinDate").toString(),wwith,wnetid,changeupr,dbname,con,(Vector)s.getAttribute("EmpVector"),flag));
  603.                             }
  604.                         else
  605.                             out.println(showForm(s.getAttribute("DCRDate").toString(),s.getAttribute("DCREmpName").toString(),s.getAttribute("DCRHQName").toString(),s.getAttribute("DCRNetID").toString(),s.getAttribute("DCREmp").toString(),Integer.parseInt(s.getAttribute("DCRNetIDLevel").toString()),serial,prefix,officeuser,s.getAttribute("DCRNetIDJoinDate").toString(),wwith,wnetid,changeupr,dbname,con,(Vector)s.getAttribute("EmpVector"),flag));
  606.                 }
  607.             }
  608.          } //removed frm here
  609.          //***********************************************************************
  610.                 Log.log(" 788 : "+s.getAttribute("EmpCode").toString());
  611.         }// else closes
  612.         }
  613.         catch(Exception ex)
  614.     {
  615.         Log.log("Exception in doget",ex.toString());
  616.          //Log.printStackTrace(ex);
  617.             //Log.log("1"+ex.printStackTrace(out));
  618.     }
  619.  
  620.     finally
  621.     {
  622.         try
  623.         {
  624.             if(con!=null)
  625.                 con.close();
  626.         }
  627.         catch(Exception e)
  628.         {
  629.             Log.log("Finally Block ",e.toString());
  630.         }
  631.     }
  632.  
  633.  
  634.  
  635.     }// doGet closes
  636.  
  637.     /** Shows the form for field staff, without the option to choose the DCR date.
  638.     @param dcrdate The auto-generated DCR date for this employee, based on his previous entries.
  639.     @param ename The employee's name.
  640.     @param hname The headquarter to which the employee belongs.
  641.     @param netid The netid for perticular employee in netmst.
  642.     @param empcode The employee code for which dcr is being entered.
  643.     @param emplvl The employee level for which dcr is being entered.(ie MR Level or Upper Level)
  644.     @param serial The Serial number for the Doctor/Chemist +serial from dcrd file.
  645.     @param prefix The DR/CH/EX For doctor/chemist/expenses as per the radio button for every record.
  646.     **/
  647.  
  648.     private synchronized String showForm(String dcrdate,String ename,String hname,String netid,String empcode,int emplvl,String serial,String prefix,boolean officeuser,String dcrnetidjoindate,String wwith,String wnetid,String changeupr,String dbname,Connection con,Vector ecode,String flag)
  649.     {
  650.         /*
  651.           Here enter code to get worked with on criteria basis.
  652.           ecodes represent the emp code for all upper levels (as well as lower levels in case of Upper Level DCR Entry),
  653.           enames represent the name of employees which are present in ecodes,
  654.           hq represent hq name for the the netids of perticular rempcodes.
  655.           hidden field dcrdate :- TO STORE DCR DATE FOR THE EMPCODE.
  656.           hidden field lastwwith :- TO STORE VALUES IN SELECT FIELD OF  DIV TAG IN DOCTORS OR CHEMIST OR AREA ONLY WWITH SELECTION FIELD.
  657.           hidden field lastarea :- TO STORE VALUES IN SELECT FIELD OF  DIV TAG IN DOCTORS OR CHEMIST  ONLY  AREA SELECTION FIELD.
  658.           dcrno :- DCRnumber will return the maximum number for the dcr entry from DCRH file for perticular (employee code+dcrdate) criteria.
  659.            boolean flag:- if nettrans.level1,2,3,4,5 =="" then flag will be false.
  660.           boolean drchshow :- drchshow will return true only if drchcallsflg='Y' and allowmultiple area='Y'.
  661.           otherwise it will hide the information to add nonlisted doctors/listed doctors as well as
  662.           it will hide the information to add nonlisted chemist/listed chemist.
  663.           boolean flagdrch :- flagdrch will return true where allowmultiple area 'Y' ie it will show all area in AREA field having allowmultiple area ie DR/CH
  664.         */
  665.         StringBuffer sb = new StringBuffer();
  666.         sb.append("<table class=linktable align=center width=100%><tr>" +
  667.                   "<td><b><center>DCR ENTRY SCREEN</center></b></td></tr></table>");
  668.         sb.append("<table class=linktable width=100%>"+
  669.                 "<tr><td><font color=black size=3><b>DCR DATE: </font><font color=red size=3><b>"+DateUtils.toDMY(dcrdate)+"</b><font color=black size=3 color=red><b>("+DateUtils.getDay(dcrdate)+")</font></font>"+
  670.                 "<td><font color=black><b>NAME: </font>" +
  671.                 "<font color=red><b>"+empcode+"</b></font>"+
  672.                 "<font color=red><b>&nbsp;&nbsp;"+ename.toUpperCase()+"</b></font>"+
  673.                 "<td><font color=black><b>HQ: </font><font color=red><b>"+netid+"</b></font>"+
  674.                 "<font color=red><b>&nbsp;&nbsp;"+hname.toUpperCase()+"</b></font>"+
  675.                 "</tr>");
  676.         sb.append("</table>");
  677.         String dcrhdata[] = getDCRHData(empcode,dcrdate,dbname);
  678.         try
  679.         {
  680.             boolean LeaveFlag=false;
  681.             String LWrkFlg="";
  682.  
  683.             if(LeaveChecking(con))
  684.             {
  685.             String leavetaken ="";
  686.             //Log.log("select * from leaverequest inner join leavemapping on leaverequest.Leaveid=leavemapping.Leaveid where '"+dcrdate+"'>=startdate and '"+dcrdate+"'<=enddate and leaverequest.ecode='"+empcode+"' and status='Approved' ");
  687.             ResultSet rsleavetaken=con.createStatement().executeQuery("select * from leaverequest inner join leavemapping on leaverequest.leaveid=leavemapping.leaveid where '"+dcrdate+"'>=startdate and '"+dcrdate+"'<=enddate and leaverequest.ecode='"+empcode+"' and status='Approved' ");
  688.             if(rsleavetaken.next())
  689.             {
  690.                 LeaveFlag=true;
  691.                 leavetaken=rsleavetaken.getString("LType");
  692.  
  693.                 if(leavetaken.equalsIgnoreCase("PL"))
  694.                    leavetaken="LEAVE PRIVILEG";
  695.                 else if(leavetaken.equalsIgnoreCase("SL"))
  696.                    leavetaken="LEAVE SICK";
  697.                 else if(leavetaken.equalsIgnoreCase("CL"))
  698.                    leavetaken="LEAVE CASUAL";
  699.                 else if(leavetaken.equalsIgnoreCase("LOP"))
  700.                    leavetaken="LEAVE LOP";
  701.             }
  702.  
  703.             //Log.log("785 : LeaveTaken : "+leavetaken);
  704.             if(!leavetaken.equalsIgnoreCase(""))
  705.             {
  706.                rsleavetaken=con.createStatement().executeQuery("select wrkflgcd,wrktype from wrkmst where wrkflgdesc='"+leavetaken+"' ");
  707.                //Log.log("787 : select wrkflgcd,wrktype from wrkmst where wrkflgdesc='"+leavetaken+"'");
  708.                if(rsleavetaken.next())
  709.                   LWrkFlg=rsleavetaken.getString(1);
  710.             }
  711.             }
  712.  
  713.             sb.append("<body onLoad=globaleCriteria('"+prefix+"')>");
  714.             sb.append("<form name=dcrh method=Post>");
  715.             sb.append("<input type=hidden name=flag value=\""+flag+"\">");
  716.             sb.append("<input type=hidden name=lastwwith value=\"\">");
  717.             sb.append("<input type=hidden name=lastarea value=\"\">");
  718.            //sb.append("<input type=hidden name=jntwrk  value=\"\">");
  719.             String holdate  = getHoliDay(dcrdate,empcode,dbname);
  720.             holdate = holdate.substring(1,holdate.length());
  721.             ArrayList al = new ArrayList();
  722.             if(!holdate.equalsIgnoreCase(""))
  723.             {
  724.                 sb.append("<table class=linktable align=center width=100%><tr>" +
  725.                         "<td><b><font color=red>Do You Want To Enter DCR For The Date : </font><select name=selholmst class=listbox></b>");
  726.                 int i = holdate.length()/11;
  727.                 String holdates = "";
  728.                 for(int k=0;k<i;k++)
  729.                 {
  730.                     int j = 11 * (k+1);
  731.                     int p = 11 * k;
  732.                     holdates = holdate.substring(p,j-1);
  733.                     al.add(holdates);
  734.                 }
  735.  
  736.                 ListIterator litr = al.listIterator();
  737.                 while(litr.hasNext())
  738.                 {
  739.                     Object element = litr.next();
  740.                     litr.set(element+"");
  741.                 }
  742.  
  743.                 while(litr.hasPrevious())
  744.                 {
  745.                     Object element = litr.previous();
  746.                     sb.append("<option value="+element+">"+DateUtils.toDMY(String.valueOf(element)));
  747.                 }
  748.  
  749.                 sb.append("</select>");
  750.                 sb.append("<input type=button class=buttoncolor name=entholidaydcr value=Submit onclick=enterHolidayDCR('"+servPath+"',"+empcode+")>");
  751.                 sb.append("</td></tr></table>");
  752.             }
  753.  
  754.             String dcrno = dcrhdata[4];
  755.             String dcrhtcpid = dcrhdata[5];
  756.             String mon = DateUtils.fillMonthNumber(DateUtils.toDMY(dcrdate).substring((DateUtils.toDMY(dcrdate).indexOf("/"))+1,DateUtils.toDMY(dcrdate).lastIndexOf("/")));
  757.             String yr = DateUtils.toDMY(dcrdate).substring(DateUtils.toDMY(dcrdate).lastIndexOf("/")+1,DateUtils.toDMY(dcrdate).length());
  758.  
  759.             Vector wwithdca = getWWithVector(yr,mon,netid,empcode,dcrnetidjoindate,emplvl,dbname);
  760.             Vector wnetiddc = getWNetidVector(yr,mon,empcode,emplvl,dbname);
  761.             Vector doctordetails = new Vector();
  762.             Vector doctordetailsSRFC = new Vector();
  763.             Vector chemistdetails = new Vector();
  764.             Vector expensedetails = new Vector();
  765.  
  766.             Vector wwithn = new Vector();
  767.             //if(dcrno.equalsIgnoreCase(""))
  768.                 //doctordetailsSRFC = getSRFCMTP(dcrdate,netid,dbname);
  769.  
  770.           /*  if(dcrno.equalsIgnoreCase(""))
  771.             {
  772.                 getSRFCMTP(dcrdate,netid,dbname,empcode);
  773.                 String dcrhdata1[] = getDCRHData(empcode,dcrdate,dbname);
  774.                 dcrno=dcrhdata1[4];
  775.                 dcrhtcpid = dcrhdata1[5];
  776.             }
  777.          */
  778.  
  779.             if(!dcrno.equalsIgnoreCase(""))
  780.             {
  781.                 doctordetails = getDoctorDetailsVector(dcrno,dbname,dcrdate);
  782.                 chemistdetails = getChemistDetailsVector(dcrno,dbname);
  783.                 expensedetails = getExpenseDetailsVector(dcrno,emplvl,dbname);
  784.             }
  785.             Vector tempvector ;
  786.             String tcpid = "";
  787.             if(doctordetails.size()>0)
  788.             {
  789.                 tempvector = (Vector)doctordetails.lastElement();
  790.                 if(!changeupr.equalsIgnoreCase("yes"))
  791.                 {
  792.                     wwith = tempvector.elementAt(3).toString();
  793.                     wwithn.add(tempvector.elementAt(3).toString());
  794.                     wwithn.add(tempvector.elementAt(6).toString());
  795.                     wwithn.add(tempvector.elementAt(7).toString());
  796.                     wwithn.add(tempvector.elementAt(8).toString());
  797.                     wnetid = tempvector.elementAt(4).toString();
  798.                 }
  799.                 tcpid = tempvector.elementAt(5).toString();
  800.             }
  801.             else if(chemistdetails.size()>0)
  802.             {
  803.                 tempvector = (Vector)chemistdetails.lastElement();
  804.                 if(!changeupr.equalsIgnoreCase("yes"))
  805.                 {
  806.                     wwith = tempvector.elementAt(3).toString();
  807.                     wwithn.add(tempvector.elementAt(3).toString());
  808.                     wwithn.add(tempvector.elementAt(6).toString());
  809.                     wwithn.add(tempvector.elementAt(7).toString());
  810.                     wwithn.add(tempvector.elementAt(8).toString());
  811.                     wnetid = tempvector.elementAt(4).toString();
  812.                 }
  813.                 tcpid = tempvector.elementAt(5).toString();
  814.             }
  815.  
  816.             if((emplvl > 1) && wnetid.equalsIgnoreCase(""))
  817.             {
  818.                 if(wnetiddc.size()==0)
  819.                 {
  820.                     sb.append("<center><font color=red size=3><b>WARNING : Incomplete Network Lower hierarchy</b></font></center>");
  821.                 }
  822.                 else
  823.                 {
  824.                     tempvector = (Vector)wnetiddc.firstElement();
  825.                     wnetid = tempvector.elementAt(0).toString();
  826.                 }
  827.             }
  828.  
  829.             if(emplvl==1 && wnetid.equalsIgnoreCase(""))
  830.               wnetid = netid;
  831.  
  832.             //area vector
  833.             Vector areadc = getAreaDCVector(wnetid,dbname,dcrdate);
  834.             boolean drchexist = false;
  835.  
  836.             if(doctordetails.size() > 0 || chemistdetails.size() > 0)
  837.                 drchexist = true;
  838.  
  839.             // in this case tcp is taken from netid of mr or netid od upper level (non working area)
  840.             Vector areaa = getAreaAVector(netid,drchexist,dbname);
  841.             if(officeuser)
  842.             {
  843.                 String rcptdate = dcrhdata[0];
  844.                 sb.append("<table width=100% class=linktable align=center><tr><td width=33%><td width=33%><td class=linktabledata>");
  845.                 sb.append("ReceiptDate : <input type=text name=recd size=2 maxlength=2 class=textbox value="+rcptdate.substring(rcptdate.lastIndexOf("-")+1,rcptdate.length())+"> / " +
  846.                     "<input type=text name=recm size=2 maxlength=2 class=textbox  value="+rcptdate.substring(rcptdate.indexOf("-")+1,rcptdate.lastIndexOf("-"))+"> / " +
  847.                     "<input type=text name=recy size=4 maxlength=4 class=textbox value="+rcptdate.substring(0,rcptdate.indexOf("-"))+">");
  848.                 sb.append("</td></tr></table>");
  849.             }
  850.             else
  851.             {
  852.                 sb.append("<input type=hidden name=recd> " +
  853.                           "<input type=hidden name=recm> " +
  854.                           "<input type=hidden name=recy>");
  855.             }
  856.  //doctor data tab  starts here
  857.  
  858.             // DIV TAB WHICH IS ADDED LATER ON STARTS HERE
  859.             sb.append("<div class=\"tab-pane\" id=\"tabPane1\">");
  860.             sb.append("<div class=\"tab-page\" id=\"tabPage1\">");
  861.             sb.append("<h2 class=\"tab\">Doctors Data</h2>");
  862.             sb.append("<table width=97% cellspacing=0><tr>");
  863.             sb.append(getHeading(emplvl,1,dbname));
  864.  
  865.             String flgbtn="";
  866.             if(flag.equalsIgnoreCase("0"))
  867.             {
  868.             flgbtn="false";
  869.             //sb.append("<tr><td><input type=checkbox checked id=wwith name=wwith  size=4  class=checkbox onClick=setjnwrk() >Independent");
  870.             //sb.append("<tr><td><input type=button class=buttoncolor value='JointWorking' onClick=addjointworking('"+servPath+"','"+wwithdca+"','"+dcrno+"')>");
  871.             //sb.append("<tr><td><input name=jnwrk disabled=true type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  872.             }
  873.             else
  874.             {
  875.                 flgbtn="true";
  876.             }
  877.  
  878.             if(ecode.size()==0)
  879.             {
  880.                sb.append("<tr><td><input type=checkbox  name=chkIndep size=4 class=checkbox onClick=javascript:setjnwrk()>Independent");
  881.             }
  882.             if(wwithdca.size()==0)
  883.             {
  884.                sb.append("<tr><td><input type=checkbox  checked name=chkIndep size=4 class=checkbox onClick=javascript:setjnwrk()>Independent");
  885.             }
  886.  
  887.             if(flag.equalsIgnoreCase("0") && ecode.size()==0 && wwithdca.size()==0)
  888.                sb.append("<tr><td><input type=checkbox  name=chkIndep size=4 class=checkbox onClick=javascript:setjnwrk()>Independent");
  889.             else if(!flag.equalsIgnoreCase("0") && ecode.size()!=0 && wwithdca.size()!=0)
  890.                sb.append("<tr><td><input type=checkbox name=chkIndep size=4 class=checkbox onClick=javascript:setjnwrk()>Independent");
  891.  
  892.             if(flag.equalsIgnoreCase("1"))
  893.                sb.append("<tr><td><input name=jnwrk disabled=\""+flgbtn+"\" type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"') >");
  894.             else
  895.                sb.append("<tr><td><input name=jnwrk type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  896.  
  897.             if(!flag.equalsIgnoreCase("1"))
  898.             {
  899.                  if(ecode.size()>0)
  900.                  {
  901.                    sb.append(getWWithListBox(ecode,wwithn,1));
  902.                  }
  903.                  else
  904.                  {
  905.                    sb.append(getWWithListBox(wwithdca,wwithn,1,flag));
  906.                  }
  907.             }
  908.             // sb.append(getWWithList(wwithdca,wwithn,1,dcrno,dcrdate,empcode,dcrnetidjoindate,netid,emplvl,dbname));
  909.             // sb.append(4(wwithdca,wwithn,1));
  910.  
  911.             if(emplvl!=1)
  912.             {
  913.                 sb.append(getWNetidListBox(wnetiddc,wnetid,1));
  914.             }
  915.             // area
  916.             if(tcpid.equalsIgnoreCase(""))
  917.                sb.append(getareaListBox(areadc,getTcpidMTP(dcrdate,netid,dbname,empcode),1,emplvl));
  918.             else
  919.                sb.append(getareaListBox(areadc,tcpid,1,emplvl));
  920.  
  921.             //sb.append(getareaListBox(areadc,getTcpidMTP(dcrdate,netid,dbname),1));
  922.             String drchshow ="Y";
  923.  
  924.             //doctors data start here
  925.             if(areadc.size()==0)
  926.             {
  927.                 sb.append("<td colspan=3><font face=verdana size=2 color=red>You can not add Doctor without towns</font></td></tr>");
  928.             }
  929.             else
  930.             {
  931.                 if(checkForNonMslDoc(con))
  932.                    sb.append("&nbsp;&nbsp;<font face=verdana size=1 color=black>Nos.:<input type=text class=textbox name=noz maxlength=2 value='' size=2 style='background-Color=white' disabled=true>" +
  933.                         "<input type=button name=nd1 class=buttoncolor disabled=true value='Add Non " + pname001 + " Doctors' onClick=addNonEdlD('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"','"+LeaveFlag+"','"+LWrkFlg+"')>" +
  934.                         "<select name=vsttime class=listboxred><option value=\"M\">M</option><option value=\"E\">E</option></select></td></tr>");
  935.                 sb.append("<td colspan=3><font face=verdana size=1 color=black>SEARCH CRITERIA:");
  936.                 sb.append("<input type=radio checked name=searchd value='aw' onClick=\"document.dcrh.filterd.value='';document.dcrh.filterd.readOnly=true;\">" );
  937.                  if(emplvl==1)
  938.                  {
  939.                     sb.append(" SCH Wise<font face=verdana size=1 color=black>" );
  940.                  }
  941.                 else
  942.                  {
  943.                     sb.append(" SCH Wise<font checked face=verdana size=1 color=black>" );
  944.                  }
  945.  
  946.                 sb.append("<input disabled type=radio name=searchd value='wc' onClick=\"document.dcrh.filterd.readOnly=false;document.dcrh.filterd.focus();\">" +
  947.                           "Wildcard Search:<input readOnly=true type=text class=textbox name=filterd size=15 style='background-Color=white'><font face=verdana size=1 color=black>");
  948.                 sb.append("<input disabled type=radio  name=searchd value='al' onClick=\"document.dcrh.filterd.value='';document.dcrh.filterd.readOnly=true;\">ALL");
  949.                 if(emplvl==1)
  950.                 {
  951.                      sb.append("<input type=radio checked name=searchd value='mdr' onClick=\"document.dcrh.filterd.value='';document.dcrh.filterd.readOnly=true;\">" +
  952.                      " Missed Dr<font face=verdana size=1 color=black>");
  953.                 }
  954.  
  955.                 sb.append("<font class=tbltextmfs><input type=button name=docentry class=buttoncolor value='Doctors Entry' onClick=drchkjw(document.forms[0].wwithd.value,document.forms[0].tcpidd.value,'"+LeaveFlag+"','"+LWrkFlg+"')></font>");//confirm(\"Joint_Working_Selected?\");searchdoc('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"')        //drchkjw(document.forms[0].wwithd.value)
  956.  
  957.                 //sb.append(getSCH());
  958.                 sb.append("<script language=javascript type=text/javascript>" +
  959.                         "function getName()"+
  960.                         "{"+
  961.                         "var selObj = document.getElementById('wwith');"+
  962.                         "var i;"+
  963.                         "var count=0;"+
  964.                         "var url='';   "+
  965.                         "for (i=0; i<selObj.options.length; i++) {"+
  966.                     "if (selObj.options[i].selected) {"+
  967.                     "url=url+getAN(\"t\"+selObj.options[i].value)+',';"+
  968.  
  969.                     "}"+
  970.                 "}"+
  971.                 "url='All doctor Selected will be considered as joint work with '+url;"+
  972.                 "var m=confirm(url);" +
  973.                         "if(m==true)" +
  974.                         "   {" +
  975.                         "   searchdoc('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"','"+LeaveFlag+"','"+LWrkFlg+"')" +
  976.                         "   }" +
  977.                     "}" +
  978.                  "</script>");
  979.  
  980.  
  981.                 sb.append("<script language=javascript type=text/javascript>" +
  982.                         "function getAN(code)" +
  983.                         "{" +
  984.                         "var m='';" +
  985.                         "alert(code);" +
  986.                         "m=eval(\"document.forms[0].\"+code+\".value\");" +
  987.                         "alert(m);" +
  988.                         "return m;" +
  989.                         "}" +
  990.                         "</script>");
  991.  
  992.                 sb.append("<script language=javascript type=text/javascript>" +
  993.                         "function drchkjw(name,area,LeaveFlag,LWrkFlg)" +
  994.                         "{" +
  995.                         "if(area=='Select Schedule')"+
  996.                         "{"+
  997.                         "alert('Please select schedule'); return false;"+
  998.                          "} "+
  999.                         "var a='';" +
  1000.                         "if(name =='Independent') " +
  1001.                         "a='All doctor Selected will be considered as Independent';" +
  1002.                         " else if(name!='')  " +
  1003.                         "a='All doctor Selected will be considered as Joint Working';" +
  1004.                         " else " +
  1005.                         "a='No Joint Working Selected'; "+
  1006.                         "var m=confirm(a);" +
  1007.                         "" +
  1008.                         "if(m==true)" +
  1009.                         "   {" +
  1010.                         "   searchdoc('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"','"+LeaveFlag+"','"+LWrkFlg+"')" +
  1011.                         "   }" +
  1012.                         "}" +
  1013.                         "</script>");
  1014.  
  1015.                 sb.append("<script language=javascript type=text/javascript>" +
  1016.                         "function chchkjw(name,area,LeaveFlag,LWrkFlg)" +
  1017.                         "{" +
  1018.                          "if(area=='Select Schedule')"+
  1019.                         " {"+
  1020.                         "alert('Please select schedule'); return false;"+
  1021.                          "} "+
  1022.                         "var a='';" +
  1023.                         "if(name =='Independent') " +
  1024.                         "a='All chemists Selected will be considered as Independent';" +
  1025.                         " else if(name!='')  " +
  1026.                         "a='All chemists Selected will be considered as Joint Working';" +
  1027.                         " else " +
  1028.                         "a='No Joint Working Selected'; " +
  1029.                         "var m=confirm(a);" +
  1030.                         "" +
  1031.                         "if(m==true)" +
  1032.                         "   {" +
  1033.                         "   searchchem('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"','"+LeaveFlag+"','"+LWrkFlg+"')" +
  1034.                         "   }" +
  1035.                         "}" +
  1036.                         "</script>");
  1037.                 sb.append("</td></tr>");
  1038.             }
  1039.             sb.append("</table>");
  1040.             sb.append("<table width=97% class=linktable cellspacing=1>");
  1041.             sb.append(getDoctorDetails(doctordetails,serial,dcrhtcpid,dcrno,dbname,con,empcode,doctordetailsSRFC));
  1042.             sb.append("</table>");
  1043.             sb.append("</div>");
  1044.  
  1045.  // CHEMIST DATA TAB STARTS HERE
  1046.             sb.append("<div class=\"tab-page\" id=\"tabPage2\">");
  1047.             sb.append("<h2 class=\"tab\">Chemists Data</h2>");
  1048.             sb.append("<table width=97% cellspacing=1><tr>");
  1049.  
  1050.             sb.append(getHeading(emplvl,2,dbname));
  1051.  
  1052.             if(flag.equalsIgnoreCase("0"))
  1053.             {
  1054.             flgbtn="false";
  1055.             //sb.append("<tr><td><input type=checkbox checked id=wwith name=wwith  size=4  class=checkbox onClick=setjnwrk() >Independent");
  1056.             //sb.append("<tr><td><input type=button class=buttoncolor value='JointWorking' onClick=addjointworking('"+servPath+"','"+wwithdca+"','"+dcrno+"')>");
  1057.             //sb.append("<tr><td><input name=jnwrk disabled=true type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1058.             }
  1059.             else
  1060.             {
  1061.                 flgbtn="true";
  1062.             }
  1063.             if(ecode.size()==0)
  1064.             {
  1065.                sb.append("<tr><td><input type=checkbox  name=chkIndepc size=4 class=checkbox onClick=javascript:setjnwrkc()>Independent");
  1066.             }
  1067.             if(wwithdca.size()==0)
  1068.             {
  1069.                sb.append("<tr><td><input type=checkbox  name=chkIndepc size=4 class=checkbox onClick=javascript:setjnwrkc()>Independent");
  1070.             }
  1071.  
  1072.             if(flag.equalsIgnoreCase("0")&&ecode.size()==0 &&wwithdca.size()==0)
  1073.                sb.append("<tr><td><input type=checkbox name=chkIndepc size=4 class=checkbox onClick=javascript:setjnwrkc()>Independent");
  1074.             else if(!flag.equalsIgnoreCase("0")&&ecode.size()!=0 &&wwithdca.size()!=0)
  1075.                sb.append("<tr><td><input type=checkbox  name=chkIndepc size=4 class=checkbox onClick=javascript:setjnwrkc()>Independent");
  1076.  
  1077.             if(flag.equalsIgnoreCase("1"))
  1078.                 sb.append("<tr><td><input name=jnwrkc disabled=\""+flgbtn+"\" type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"') >");
  1079.             else
  1080.                 sb.append("<tr><td><input name=jnwrkc type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1081.  
  1082.            // sb.append("<tr><td><input name=jnwrkc type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1083.             if(!flag.equalsIgnoreCase("1"))
  1084.             {
  1085.             if(ecode.size()>0)
  1086.                sb.append(getWWithListBox(ecode,wwithn,2));
  1087.             else
  1088.                sb.append(getWWithListBox(wwithdca,wwithn,2,flag));
  1089.             }
  1090.  
  1091.            /*
  1092.  
  1093.            // sb.append("<tr><td><input type=checkbox checked name=wwithchem size=4  class=checkbox onClick=javascript:setjnwrk() >Independent");
  1094.                                    //sb.append("<tr><td><input type=checkbox checked id=wwith name=wwith  size=4  class=checkbox onClick=setjnwrk() >Independent");
  1095.                                   //sb.append("<tr><td><input type=button class=buttoncolor value='JointWorking' onClick=addjointworking('"+servPath+"','"+wwithdca+"','"+dcrno+"')>");
  1096.  
  1097.             sb.append("<tr><td><input name=jnwrkc  disabled=\""+flgbtn+"\" type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1098.  
  1099.            // sb.append(getWWithListBox(wwithdca,wwithn,2,dcrno,dcrdate,empcode,dcrnetidjoindate,netid,emplvl,dbname));
  1100.           //  sb.append(getWWithListBox(wwithdca,wwithn,2));
  1101.              if(ecode.size()>0)
  1102.                  sb.append(getWWithListBox(ecode,wwithn,2));
  1103.             else
  1104.                  sb.append(getWWithListBox(wwithdca,wwithn,2,flag));
  1105.            */
  1106.  
  1107.             if(emplvl!=1)
  1108.                 sb.append(getWNetidListBox(wnetiddc,wnetid,2));
  1109.  
  1110.             sb.append(getareaListBox(areadc,tcpid,2,emplvl));
  1111.             //sb.append(getareaListBox(areadc,getTcpidMTP(dcrdate,netid,dbname),2));
  1112.             if(areadc.size()==0)
  1113.             {
  1114.                 sb.append("<td colspan=3> <font face=verdana size=2 color=red>You can not add Chemist without towns</font></td></tr>");
  1115.             }
  1116.             else
  1117.             {
  1118.                 if(checkForNonMslDoc(con))
  1119.                 sb.append("&nbsp;&nbsp;<font face=verdana size=1 color=black>Nos.:<input type=text class=textbox name=nos maxlength=2 value='' size=2 style='background-Color=white'>" +
  1120.                         "<input type=button name=nc1 class=buttoncolor value='Add Non  " + pname001 + " Chemist' onclick=addNonEdlC('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"','"+LeaveFlag+"','"+LWrkFlg+"')></td>");
  1121.  
  1122.                 sb.append("<tr><td colspan=3><font face=verdana size=1 color=black>SEARCH CRITERIA:<input type=radio name=search value='aw' onClick=\"document.dcrh.filter.value='';document.dcrh.filter.readOnly=true;\">SCH Wise<font face=verdana size=1 color=black>" +
  1123.                         " <input type=radio disabled name=search value='wc' onClick=\"document.dcrh.filter.readOnly=false;document.dcrh.filter.focus();\">Wildcard Search:<input type=text class=textbox name=filter readOnly=true value='' size=15 style='background-Color=white'>" +
  1124.                         " <font face=verdana size=1 color=black> <input type=radio checked name=search value='al' onClick=\"document.dcrh.filter.value='';document.dcrh.filter.readOnly=true;\">ALL");
  1125.                 sb.append("<font class=tbltextmfs><input type=button name=chementry class=buttoncolor value='Chemists Entry' onClick=chchkjw(document.forms[0].wwithc.value,document.forms[0].tcpidc.value,'"+LeaveFlag+"','"+LWrkFlg+"')></font>&nbsp;&nbsp;</td></tr>");//confirm(\"Joint_Working_Selected?\");searchchem('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"')//chemistchkjw()
  1126.             }
  1127.  
  1128.             sb.append("<script language=javascript type=text/javascript>" +
  1129.                         "function chemistchkjw()" +
  1130.                         "{" +
  1131.                         "var m=confirm('Is Joint Working Selection Done ?');" +
  1132.                         "if(m==true)" +
  1133.                         "   {" +
  1134.                         "   searchchem('"+servPath+"','"+dcrno+"','"+dcrhtcpid+"','"+LeaveFlag+"','"+LWrkFlg+"')" +
  1135.                         "   }" +
  1136.                         "}" +
  1137.                         "</script>");
  1138.  
  1139.             sb.append("</table>");
  1140.             sb.append("<table width=97% class=linktable cellspacing=1>");
  1141.             sb.append(getChemistDetails(chemistdetails,serial,dcrhtcpid,dcrno));
  1142.             sb.append("</table>");
  1143.             sb.append("</div>");
  1144.  
  1145.             // EXPENSES ENTRY STARTS HERE
  1146.  
  1147.             sb.append("<div class=\"tab-page\" id=\"tabPage3\">");
  1148.             sb.append("<h2 class=\"tab\">Expense Data</h2>");
  1149.  
  1150.             int type=emplvl;
  1151.  
  1152.             if(emplvl>1)
  1153.                 type=2;
  1154.  
  1155.             sb.append("<table width=97%>");
  1156.             if(!dcrno.equalsIgnoreCase(""))
  1157.                 sb.append("<tr><td width=100%><font class=tbltextmfs><center><input type=button name=expentry class=buttoncolor value='Expenses Entry' onClick=expenseEntry('"+servPath+"',"+type+",'"+dcrno+"','"+netid+"','"+tcpid+"')></center></font></td></tr>");
  1158.  
  1159.             sb.append("</table>");
  1160.             sb.append("<table width=97% class=linktable>");
  1161.             sb.append(getExpenseDetails(expensedetails,emplvl,dcrhdata[1],dcrhdata[2],dcrhdata[3]));
  1162.             sb.append("</table>");
  1163.  
  1164.             sb.append("<table align=\"center\">");
  1165.             sb.append("<tr><td><font class=\"tbltextmfs\"><center><input type=\"button\" name=\"expsentrye\" class=\"buttoncolor\" value='Delete' onClick=deleteConfirmEX('"+servPath+"')></center></font></td></tr>");
  1166.             sb.append("</table>");
  1167.             sb.append("</div>");
  1168.  
  1169.             //Area which are non working can be added from here
  1170.  
  1171.             sb.append("<div class=\"tab-page\" id=\"tabPage4\">");
  1172.             sb.append("<h2 class=\"tab\">Others</h2>");
  1173.             sb.append("<table width=\"97%\">");
  1174.             sb.append(getHeading(emplvl,3,dbname));
  1175.  
  1176.             if(flag.equalsIgnoreCase("0"))
  1177.             {
  1178.             flgbtn="false";
  1179.             }
  1180.             else
  1181.             {
  1182.                 flgbtn="true";
  1183.             }
  1184.             if(ecode.size()==0)
  1185.             {
  1186.                sb.append("<tr><td><input type=checkbox  name=chkIndepo size=4 class=checkbox onClick=javascript:setjnwrko()>Independent");
  1187.             }
  1188.             if(wwithdca.size()==0)
  1189.             {
  1190.                sb.append("<tr><td><input type=checkbox checked name=chkIndepo size=4 class=checkbox onClick=javascript:setjnwrko()>Independent");
  1191.             }
  1192.  
  1193.             if(flag.equalsIgnoreCase("0")&&ecode.size()==0 &&wwithdca.size()==0)
  1194.                   sb.append("<tr><td><input type=checkbox  name=chkIndepo size=4 class=checkbox onClick=javascript:setjnwrko()>Independent");
  1195.             else if(!flag.equalsIgnoreCase("0")&&ecode.size()!=0 &&wwithdca.size()!=0)
  1196.                        sb.append("<tr><td><input type=checkbox name=chkIndepo size=4 class=checkbox onClick=javascript:setjnwrko()>Independent");
  1197.  
  1198.             if(flag.equalsIgnoreCase("1"))
  1199.                   sb.append("<tr><td><input name=jnwrko disabled=\""+flgbtn+"\" type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"') >");
  1200.             else
  1201.                   sb.append("<tr><td><input name=jnwrko type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1202.  
  1203.  
  1204.  
  1205.            //  sb.append("<tr><td><input name=jnwrko type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1206.             if(!flag.equalsIgnoreCase("1"))
  1207.             {
  1208.             if(ecode.size()>0)
  1209.                sb.append(getWWithListBox(ecode,wwithn,3));
  1210.             else
  1211.                sb.append(getWWithListBox(wwithdca,wwithn,3,flag));
  1212.             }
  1213.  
  1214.             /*sara
  1215.  
  1216.            // sb.append("<tr><td><input type=checkbox checked  name=wwithoth size=4  class=checkbox onClick=javascript:setjnwrk()>Independent");
  1217.                                    //sb.append("<tr><td><input type=checkbox checked id=wwith name=wwith  size=4  class=checkbox onClick=setjnwrk() >Independent");
  1218.                                   //sb.append("<tr><td><input type=button class=buttoncolor value='JointWorking' onClick=addjointworking('"+servPath+"','"+wwithdca+"','"+dcrno+"')>");
  1219.               sb.append("<tr><td><input name=jnwrkoth type=button class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1220.             //sb.append(getWWithListBox(wwithdca,wwithn,3,dcrno,dcrdate,empcode,dcrnetidjoindate,netid,emplvl,dbname));
  1221.             // sb.append(getWWithListBox(wwithdca,wwithn,3));
  1222.  
  1223.             if(ecode.size()>0)
  1224.                  sb.append(getWWithListBox(ecode,wwithn,3));
  1225.             else
  1226.                  sb.append(getWWithListBox(wwithdca,wwithn,3,flag));
  1227.            */
  1228.  
  1229.             sb.append(getnonfieldworkareaListBox(areaa,tcpid));
  1230.  
  1231.             if(areaa.size() > 0)
  1232.                 sb.append("<input type=\"button\" name=\"nonwrkarea\" class=\"buttoncolor\" value='Add Non Field Work Type' onClick=nonWorkingArea('"+servPath+"','"+dcrno+"','"+LeaveFlag+"','"+LWrkFlg+"')></center></font>");
  1233.             else
  1234.                 sb.append("<input type=\"button\" name=\"nonwrkarea\" disabled=\"true\" class=\"buttoncolor\" value='Add Non Field Work Type'></center></font>");
  1235.  
  1236.             sb.append("</table>");
  1237.  
  1238.             if(emplvl==1)
  1239.             {
  1240.                 sb.append(areaDetailsMRLevel(drchshow,dcrno,netid,dbname));
  1241.             }
  1242.             else
  1243.             {
  1244.                 sb.append(areaDetailsUPRLevel(drchshow,dcrno,dbname));
  1245.             }
  1246.  
  1247.             sb.append("</div>");
  1248.  
  1249.             sb.append("</div>");
  1250.  
  1251.             sb.append("</table><table class=linktable border=0 width=100%>");
  1252.  
  1253.             sb.append(getRemark(dcrno,dbname));
  1254.  
  1255.             //if(tcpDrchk.equalsIgnoreCase("Y"))
  1256.                 sb.append(getReason(dcrno,dbname,dcrdate,netid));
  1257.  
  1258.             String valexists="";
  1259.             String valexists1="";
  1260.             String valexists2="";
  1261.             InfoHelper ih = null;
  1262.             ih = new InfoHelper(con,empcode,dbname);
  1263.             String[] drexpalter={};
  1264.             valexists = ih.getsysprmcount("DCRExpense");
  1265.             valexists1 = ih.getsysprmcount("DCRProdChk");
  1266.             valexists2 = ih.getsysprmcount("DCRVisitChk");
  1267.  
  1268.             String DrchExpChk=getcheckDrChExp(dcrno,con);
  1269.             String Expchk=getcheckExp(dcrno,con);
  1270.  
  1271.             String tpid=getcheckTcpid(dcrno,con);
  1272.  
  1273.            String curryr = dcrdate.substring(0,4);
  1274.            String currmth = dcrdate.substring(5,7);
  1275.            if(currmth.substring(1,2).equalsIgnoreCase("-"))
  1276.               currmth="0"+dcrdate.substring(5,6);
  1277.  
  1278.            String dcrdateyrmth = curryr+currmth;
  1279.  
  1280.             String drsample=getdrsamplegiven(dcrno,con,dcrdateyrmth);
  1281.             String drgift =getdrgiftgiven(dcrno,con,dcrdateyrmth);
  1282.             String drwwith=getdrwwith(dcrno,con,dcrdateyrmth);
  1283.            // Log.log(drgift+" : "+drsample+" : "+drwwith);
  1284.  
  1285.             if((!DrchExpChk.equalsIgnoreCase(""))||!(Expchk.equalsIgnoreCase(""))||!(drsample.equalsIgnoreCase(""))||!(drgift.equalsIgnoreCase(""))||!(drwwith.equalsIgnoreCase("")))
  1286.             {
  1287.               if(emplvl==1)
  1288.                  sb.append("<td width=20% valign=top><font class=tbltextmfs><a  href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+drsample+"','"+DrchExpChk+"','"+drgift+"','"+drwwith+"');\" ><font face=verdana size=2 color=red> Confirm DCR Entry </font> </a> </font> </td>");
  1289.               else
  1290.                  sb.append("<td width=20% valign=top><font class=tbltextmfs><a  href=\"javascript:confirmDCR1('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+DrchExpChk+"');\" ><font face=verdana size=2 color=red> Confirm DCR Entry </font> </a> </font> </td>");
  1291.             }
  1292.             else if(ih.remarkExists(dbname,valexists,"DCRExpense",drexpalter,"N").equals("Y"))
  1293.             {
  1294.             int expensecount=0;
  1295.             Statement stmt = con.createStatement();
  1296.             String sql = "select count(*) from dcre where dcrno='"+dcrno+"'";
  1297.             ResultSet rs = stmt.executeQuery(sql);
  1298.             while(rs.next())
  1299.                 {
  1300.                 expensecount=rs.getInt(1);
  1301.                 }
  1302.  
  1303.             if(expensecount==0)
  1304.                 sb.append("<td width=20% valign=top> <font class=tbltextmfs><a href=\"javascript:history.go(0);\") onClick=\"alert('Please fill up expense')\";><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1305.  
  1306.             //else
  1307.               //  sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+")\")><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1308.             }
  1309.             else if(ih.remarkExists(dbname,valexists1,"DCRProdChk",drexpalter,"N").equals("Y"))
  1310.             {
  1311.             int drcount=0;
  1312.             Statement stmt = con.createStatement();
  1313.             String sql = "select serial,cntcd,wnetid from dcrd where dcrno='"+dcrno+"'";
  1314.             ResultSet rs = stmt.executeQuery(sql);
  1315.                 Vector serl=new Vector();
  1316.                 Vector cntcd=new Vector();
  1317.                 Vector hcenetid=new Vector();
  1318.  
  1319.             while(rs.next())
  1320.                 {
  1321.                 //drcount=rs.getInt(1);
  1322.                 serl.addElement(rs.getString(1));
  1323.                 cntcd.addElement(rs.getString(2));
  1324.                 hcenetid.addElement(rs.getString(3));
  1325.                 }
  1326.  
  1327.                 int chk=0;
  1328.                 String name="";
  1329.                 for(int i=0;i<serl.size();i++)
  1330.                 {
  1331.                 String sql123 = "select count(prodid) from dcrp where serial='"+serl.get(i)+"' and dcrno='"+dcrno+"' ";
  1332.                 ResultSet rs123 = stmt.executeQuery(sql123);
  1333.                     if(rs123.next())
  1334.                     {
  1335.                         if(rs123.getInt(1)==0)
  1336.                         {
  1337.                             name +=getDrName(cntcd.get(i).toString(),con,hcenetid.get(i).toString());
  1338.                             if(i<serl.size()-1)
  1339.                                name +=", ";
  1340.                             chk=chk+1;
  1341.                         }
  1342.                     }
  1343.                 }
  1344.                 if(chk!=0)
  1345.                 {   if(emplvl==1)
  1346.                     sb.append("<td width=20% valign=top><font class=tbltextmfs><a onClick=\"return confirm('No Products/Gift Filled for "+name+" ')\"; href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+drsample+"','"+DrchExpChk+"','"+drgift+"','"+drwwith+"');\" ><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1347.                     else
  1348.                      sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR1('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+DrchExpChk+"');\" ><font face=verdana size=2 color=red> Confirm DCR Entry </font> </a> </font> </td>");
  1349.                 }
  1350.                 if(chk==0)
  1351.                 {   if(emplvl==1)
  1352.                      sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+drsample+"','"+DrchExpChk+"','"+drgift+"','"+drwwith+"')\"><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1353.                     else
  1354.                      sb.append("<td width=20% valign=top><font class=tbltextmfs><a  href=\"javascript:confirmDCR1('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+DrchExpChk+"');\" ><font face=verdana size=2 color=red> Confirm DCR Entry </font> </a> </font> </td>");
  1355.                 }
  1356.              }
  1357.             else if(ih.remarkExists(dbname,valexists2,"DCRVisitChk",drexpalter,"N").equals("Y"))
  1358.             {
  1359.             int chk=0;int tmp=0;
  1360.             Statement stmt = con.createStatement();
  1361.             String sql = "select VisitTime from dcrd where dcrno='"+dcrno+"'";
  1362.             ResultSet rs = stmt.executeQuery(sql);
  1363.             while(rs.next())
  1364.                 {
  1365.                   tmp=1;
  1366.                  if(rs.getString(1).equalsIgnoreCase("E"))
  1367.                  {
  1368.                      chk=1;
  1369.                      break;
  1370.                  }
  1371.                 }
  1372.                 if(chk==0 && tmp==1)
  1373.                 {   if(emplvl==1)
  1374.                      sb.append("<td width=20% valign=top><font class=tbltextmfs><a onClick=\"return confirm('All Visit Time Morning Selected.')\"; href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+drsample+"','"+DrchExpChk+"','"+drgift+"','"+drwwith+"');\" ><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1375.                     else
  1376.                      sb.append("<td width=20% valign=top><font class=tbltextmfs><a onClick=\"return confirm('All Visit Time Morning Selected.')\"; href=\"javascript:confirmDCR1('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+DrchExpChk+"');\" ><font face=verdana size=2 color=red> Confirm DCR Entry </font> </a> </font> </td>");
  1377.                 }
  1378.                 if(chk!=0)
  1379.                 {   if(emplvl==1)
  1380.                     sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+drsample+"','"+DrchExpChk+"','"+drgift+"','"+drwwith+"')\"><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1381.                     else
  1382.                     sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR1('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+DrchExpChk+"');\" ><font face=verdana size=2 color=red> Confirm DCR Entry </font> </a> </font> </td>");
  1383.                 }
  1384.              }
  1385.             else
  1386.             {
  1387.                 if(emplvl==1)
  1388.                 sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+drsample+"','"+DrchExpChk+"','"+drgift+"','"+drwwith+"')\"><font face=verdana size=2 color=red>Confirm DCR Entry</font></a></font></td>");
  1389.                 else
  1390.                 sb.append("<td width=20% valign=top><font class=tbltextmfs><a href=\"javascript:confirmDCR1('"+servPath+"','"+dcrno+"',"+type+",'"+Expchk+"','"+tpid+"','"+DrchExpChk+"');\" ><font face=verdana size=2 color=red>Confirm DCR Entry </font> </a> </font> </td>");
  1391.             }
  1392.             sb.append("</tr></table>");
  1393.             sb.append("<center><a href=javascript:window.close() class=\"hypclose\"><font face=verdana size=2 color=red>close this window</font></a></center>");
  1394.  
  1395.         } // try closes
  1396.         catch(Exception e)
  1397.         {
  1398.             //e.printStackTrace(out);
  1399.             Log.printStackTrace(e);
  1400.         } // catch closes
  1401.         return sb.toString();
  1402.  
  1403.     }// showForm closes
  1404.  
  1405.     /** Checks if entries exist in the TCP file for this netid.
  1406.     @param netid The network ID to check for.
  1407.     @return true if no entries exist, false otherwise.
  1408.     **/
  1409.  
  1410.     private boolean noTCPEntries(String netid,String dbname)
  1411.     {
  1412.         boolean retFlag=false;
  1413.  
  1414.         try
  1415.         {   Connection con=null;
  1416.  
  1417.              con= ConnectionHandler.getConnection(dbname);
  1418.  
  1419.             Statement stmt = con.createStatement();
  1420.             String sql="SELECT COUNT(0) FROM TCPHED " +
  1421.                       "WHERE NETID=\""+netid+"\" AND APRVCODE<>'' ";
  1422.  
  1423.             ResultSet rs = stmt.executeQuery(sql);
  1424.             rs.next();
  1425.  
  1426.             if(rs.getInt(1)==0)
  1427.             {retFlag=true; }
  1428.  
  1429.             rs.close();
  1430.             con.close();
  1431.         }
  1432.          catch(SQLException e)
  1433.          {
  1434.             Log.printStackTrace(e);
  1435.          } // catch closes
  1436.  
  1437.             return retFlag;
  1438.     }// noTCPEntries closes
  1439.  
  1440.  
  1441.  
  1442.      /**This function returns the dcr area details for MR Level.
  1443.         it is only for non field work area which has to be shown.
  1444.         @param drchshow The doctor/chemist flag. if "Y"
  1445.                then div tag with all neceessary will be show otherwise hidden.
  1446.         @param dcrno The DCR number for which dcr is to be entered.
  1447.         @param netid The DCR number for which dcr is to be entered, will check for tcpid from tcphed for that netid .
  1448.      **/
  1449.  
  1450.  
  1451.     private String areaDetailsMRLevel(String drchshow,String dcrno,String netid,String dbname)
  1452.     {
  1453.         Connection con = null;
  1454.         Statement stmt = null;
  1455.  
  1456.         StringBuffer sb = new StringBuffer();
  1457.  
  1458.         try
  1459.         {
  1460.  
  1461.             con = ConnectionHandler.getConnection(dbname);
  1462.  
  1463.             stmt = con.createStatement();
  1464.  
  1465.             sb.append("<br><table width=97% class=linktableborder>");
  1466.  
  1467.             int k=0;
  1468.  
  1469.             if(!dcrno.equalsIgnoreCase(""))
  1470.             {
  1471.                 ResultSet rs = null;
  1472.  
  1473.                 sb.append("<tr><td class=linktablehead>Area<td class=linktablehead>Type<td class=linktablehead>Delete<td class=linktablehead>Select Area For Expense Calculation");
  1474.                 boolean chk = false;
  1475.                 String dcrhtcp="";
  1476.                 String dcrhtcprs = "" ;
  1477.  
  1478.                 String nonwrkarea = "SELECT DCRH.TCPID, IF(ISNULL(TCPHED.TOWN),'',TCPHED.TOWN) AS TOWN," +
  1479.                         "IF(ISNULL(WRKMST.DRCHCALLSFLG),'',WRKMST.DRCHCALLSFLG) AS DRCHCALLSFLG," +
  1480.                         "IF(ISNULL(WRKMST.ALLOWMULTIPLEAREA),'',WRKMST.ALLOWMULTIPLEAREA) " +
  1481.                         "FROM DCRH " +
  1482.                         "LEFT JOIN TCPHED ON DCRH.NETID = TCPHED.NETID AND TCPHED.TCPID = DCRH.TCPID " +
  1483.                         "LEFT JOIN WRKMST ON TCPHED.WTYPE = WRKMST.WRKFLGCD WHERE DCRNO = \""+dcrno+"\" ";
  1484.                 rs = stmt.executeQuery(nonwrkarea);
  1485.  
  1486.                 if(rs.next())
  1487.                 {
  1488.                     dcrhtcprs = rs.getString(1);
  1489.  
  1490.                     if(rs.getString(4).equalsIgnoreCase("N"))
  1491.                         drchshow = "N";
  1492.                     chk = true;
  1493.                     if(!rs.getString(1).equalsIgnoreCase("000"))
  1494.                     {
  1495.                         if(rs.getString(3).equalsIgnoreCase("N"))
  1496.                         {
  1497.                             k++;
  1498.                             sb.append("<tr><td class=linktabledata><font face=verdana color=black>"+rs.getString(1).trim()+"</font>\t<font face=verdana color=red>"+rs.getString(2).trim()+"</font>");
  1499.                             sb.append("<td class=linktabledata>Non-Working<td class=linktabledata><input type=button name=nonworkarea class=buttoncolor value='Delete' onClick=deleteConfirmAR('A"+rs.getString(1)+"','"+servPath+"')></center></font><td class=linktabledata><font color=red>Selected</font>");
  1500.                             sb.append("</tr>");
  1501.                         }
  1502.                         else
  1503.                             dcrhtcp = rs.getString(1);
  1504.                     }
  1505.                 }
  1506.                     rs.close();
  1507.  
  1508.                 if(chk==true)
  1509.                 {
  1510.                     if(!dcrhtcprs.equalsIgnoreCase("000"))
  1511.                     {
  1512.                         rs = stmt.executeQuery("SELECT DISTINCT DCRD.TCPID,IF(ISNULL(TCPHED.TOWN),'',TCPHED.TOWN) AS TOWN," +
  1513.                                                "IF(ISNULL(WRKMST.DRCHCALLSFLG),'',WRKMST.DRCHCALLSFLG) AS DRCHCALLSFLG " +
  1514.                                                "FROM DCRD " +
  1515.                                                "LEFT JOIN TCPHED ON TCPHED.NETID=\""+netid+"\" AND TCPHED.TCPID=DCRD.TCPID " +
  1516.                                                "LEFT JOIN WRKMST ON TCPHED.WTYPE = WRKMST.WRKFLGCD " +
  1517.                                                "WHERE DCRD.DCRNO=\""+dcrno+"\" ORDER BY WRKMST.DRCHCALLSFLG ");
  1518.  
  1519.                         while(rs.next())
  1520.                         {
  1521.                             k++;
  1522.                             sb.append("<tr>");
  1523.                             sb.append("<td class=linktabledata><font face=verdana color=black>"+rs.getString(1).trim()+"</font>\t<font face=verdana color=red>"+rs.getString(2).trim()+"</font>");
  1524.                             sb.append("<td class=linktabledata>Working<td class=linktabledata><td class=linktabledata>");
  1525.                             if(!dcrhtcp.equalsIgnoreCase(""))
  1526.                             {
  1527.                                 if(rs.getString(1).equalsIgnoreCase(dcrhtcp))
  1528.                                     sb.append("<font color=red>Selected</font>");
  1529.                                 else
  1530.                                 {
  1531.                                     //sb.append("<input type=hidden name=maintcp"+rs.getString(1)+" value='U"+rs.getString(1)+"'>");
  1532.                                     sb.append("<input type=button class=buttoncolor name=U"+rs.getString(1)+"  Value=Select onClick=changeMainTCP('"+servPath+"','"+rs.getString(1)+"')>");
  1533.                                 }
  1534.                             }
  1535.                             sb.append("</tr>");
  1536.                         }
  1537.                             rs.close();
  1538.                     }
  1539.                 }
  1540.             }
  1541.  
  1542.             if(k==0)
  1543.                 sb.append("<tr><td colspan=4 class=linktabledata><center><font face=verdana size=2 color=red>No Records Exists</font></center></td></tr>");
  1544.  
  1545.             sb.append("<input type=hidden name=drchshow value=\""+drchshow+"\">");
  1546.             sb.append("</table>");
  1547.         }
  1548.         catch(SQLException e)
  1549.         {
  1550.             Log.printStackTrace(e);
  1551.         }
  1552.         finally
  1553.         {
  1554.             try
  1555.             {
  1556.                 if(stmt!=null)
  1557.                     stmt.close();
  1558.                 if(con!=null)
  1559.                     con.close();
  1560.             } catch(Exception e)
  1561.             {
  1562.                 Log.log("Connection Not Closing",e.toString());
  1563.             }
  1564.         }
  1565.         return sb.toString();
  1566.     }//areaDetailsMRLevel
  1567.  
  1568.      /**This function returns the dcr area details for Upper Level.
  1569.         it is only for non field work area which has to be shown.
  1570.         @param drchshow The doctor/chemist flag. if "Y"
  1571.                then div tag with all neceessary will be show otherwise hidden.
  1572.         @param dcrno The DCR number for which dcr is to be entered.
  1573.      **/
  1574.  
  1575.     private String areaDetailsUPRLevel(String drchshow,String dcrno,String dbname)
  1576.     {
  1577.         StringBuffer sb = new StringBuffer();
  1578.         Connection con = null;
  1579.         Statement stmt = null;
  1580.         try
  1581.         {
  1582.  
  1583.             con = ConnectionHandler.getConnection(dbname);
  1584.  
  1585.             stmt = con.createStatement();
  1586.             sb.append("<br><table width=\"97%\" class=\"linktableborder\">");
  1587.             int k = 0;
  1588.             if(!dcrno.equalsIgnoreCase(""))
  1589.             {
  1590.                 ResultSet rs = null;
  1591.                 sb.append("<tr><td valign=top>");
  1592.                 boolean chk = false;
  1593.  
  1594.                 //**********************************************************
  1595.                 String wrkflag="";
  1596.  
  1597.                 ResultSet rsdcrno=con.createStatement().executeQuery("select wrkflg from dcrh where dcrno='"+dcrno+"' ");
  1598.                 if(rsdcrno.next())
  1599.                 {
  1600.                    wrkflag=rsdcrno.getString(1);
  1601.                 }
  1602.                 //**********************************************************
  1603.                 String nonwrkarea="";
  1604.  
  1605.                 if(wrkflag.equalsIgnoreCase("01")||wrkflag.equalsIgnoreCase("1"))
  1606.                 {
  1607.                    nonwrkarea = "SELECT DCRH.TCPID, IF(ISNULL(TCPHED.TOWN),'',TCPHED.TOWN) AS TOWN," +
  1608.                         " IF(ISNULL(WRKMST.ALLOWMULTIPLEAREA),'',WRKMST.ALLOWMULTIPLEAREA) AS ALLOWMULTIPLEAREA " +
  1609.                         " FROM DCRH LEFT JOIN TCPHED ON DCRH.NETID=TCPHED.NETID AND TCPHED.TCPID=DCRH.TCPID" +
  1610.                         " LEFT JOIN WRKMST ON TCPHED.WTYPE = WRKMST.WRKFLGCD  "+
  1611.                         " WHERE DCRNO=\""+dcrno+"\" AND DCRH.WRKFLG<>'01' ";
  1612.                 }
  1613.                 else
  1614.                 {
  1615.                    nonwrkarea = "SELECT DCRH.TCPID, IF(ISNULL(TCPHED.TOWN),'',TCPHED.TOWN) AS TOWN," +
  1616.                         " IF(ISNULL(WRKMST.ALLOWMULTIPLEAREA),'',WRKMST.ALLOWMULTIPLEAREA) AS ALLOWMULTIPLEAREA " +
  1617.                         " FROM DCRH LEFT JOIN TCPHED ON DCRH.NETID=TCPHED.NETID AND TCPHED.TCPID=DCRH.TCPID" +
  1618.                         " LEFT JOIN WRKMST ON TCPHED.WTYPE = WRKMST.WRKFLGCD  "+
  1619.                         " WHERE DCRNO=\""+dcrno+"\" ";
  1620.                 }
  1621.                 //Log.log("501 : "+nonwrkarea);
  1622.                 rs = stmt.executeQuery(nonwrkarea);
  1623.  
  1624.                 if(rs.next())
  1625.                 {
  1626.                     if(rs.getString(3).equalsIgnoreCase("N"))
  1627.                         drchshow = "N";
  1628.  
  1629.                     sb.append("<table class=linktableborder width=100%><tr><td class=linktablehead>Non Field Working<td class=linktablehead>");
  1630.                     chk = true;
  1631.                     if(!rs.getString(1).equalsIgnoreCase("000"))
  1632.                     {
  1633.                         k++;
  1634.                         sb.append("<tr><td class=linktabledata><font face=verdana color=black>"+rs.getString(1).trim()+"</font>\t<font face=verdana color=red>"+rs.getString(2).trim()+"</font>");
  1635.                         sb.append("<td class=linktabledata><input type=button name=nonworkarea class=buttoncolor value='Delete' onClick=deleteConfirmAR('A"+rs.getString(1)+"','"+servPath+"')></center></font>");
  1636.                         sb.append("</tr>");
  1637.                     }
  1638.                     sb.append("</table>");
  1639.                 }
  1640.                 sb.append("</td><td>");
  1641.                // if(chk==true)
  1642.               //  {
  1643.                     sb.append("<table class=linktableborder width=100%><tr><td class=linktablehead>Field Working<td class=linktablehead>");
  1644.                     rs = stmt.executeQuery("SELECT DISTINCT TCPHED.TOWN,NETMST.HNAME "+
  1645.                                 "FROM DCRD "+
  1646.                                 "LEFT JOIN TCPHED ON DCRD.WNETID=TCPHED.NETID AND TCPHED.TCPID=DCRD.TCPID "+
  1647.                                 "LEFT JOIN NETMST ON NETMST.NETID = DCRD.WNETID "+
  1648.                                 "WHERE DCRD.DCRNO=\""+dcrno+"\" ");
  1649.                     while(rs.next())
  1650.                     {
  1651.                         k++;
  1652.                         sb.append("<tr>");
  1653.                         sb.append("<td class=linktabledata><font face=verdana color=black>"+rs.getString(1).trim()+"</font>\t<td class=linktabledata><font face=verdana color=red>"+rs.getString(2).trim()+"</font>");
  1654.                         sb.append("</tr>");
  1655.                     }
  1656.                         rs.close();
  1657.  
  1658.                     sb.append("</table>");
  1659.                 //}
  1660.                 sb.append("</td></tr>");
  1661.             }
  1662.             if(k==0)
  1663.                 sb.append("<tr><td colspan=4 class=linktabledata><center><font face=verdana size=2 color=red>No Records Exists</font></center></td></tr>");
  1664.  
  1665.             sb.append("<input type=hidden name=drchshow value='"+drchshow+"'>");
  1666.             sb.append("</table>");
  1667.         }
  1668.         catch(SQLException e)
  1669.         {
  1670.             Log.log(e.toString(),"Error");
  1671.         }
  1672.  
  1673.         finally
  1674.         {
  1675.            try
  1676.            {
  1677.                if(stmt!=null)
  1678.                     stmt.close();
  1679.                if(con!=null)
  1680.                     con.close();
  1681.            }catch(Exception e)
  1682.            {
  1683.                Log.log("Exception is not Closing ",e.toString());
  1684.            }
  1685.         }
  1686.             return sb.toString();
  1687.     }//areaDetailUPRLevel closes
  1688.  
  1689.     private String conflictNetids(String netid,String hqname,String dcrdate,String dcrhnetid,String dcrhhqname,String empcode)
  1690.     {
  1691.         StringBuffer sb = new StringBuffer();
  1692.  
  1693.         try
  1694.         {
  1695.             sb.append("\n<br><br><center><h2><u>Current HQ and DCR Entered HQ for this Date is not matching. </u></h2>");
  1696.             sb.append("<table class=linktableborder><tr><td class=linktablehead><b>NETID<td class=linktablehead><b>DCR NETID<td class=linktablehead><b>HQ NAME<td class=linktablehead><b>DCR HQ NAME<td class=linktablehead><b>DCR DATE");
  1697.             sb.append("<tr><td class=linktabledata><b>"+netid+"<td class=linktabledata><b>"+dcrhnetid+"<td class=linktabledata><b>"+hqname+"<td class=linktabledata><b>"+dcrhhqname+"<td class=linktabledata><b>"+dcrdate+"");
  1698.             sb.append("</table>");
  1699.             sb.append("<font size=2>Do you wish to Delete The Records exists with DCR.</font>&nbsp");
  1700.             sb.append("<a href="+servPath+"/eis.dataentry.DeleteDCREntry?mode=dcrscreen&dcrhnetid="+dcrhnetid+"&empcode="+empcode+"&dcrdate="+dcrdate+"> DELETE</a>");
  1701.             sb.append("<br><font size=2 color=red>If your current HQ is not matching, please Contact System Administrator to change the HQ</font>");
  1702.             sb.append("\n<br><br><input type=button value=Close onClick=window.close()>");
  1703.         }
  1704.         catch(Exception e)
  1705.         {
  1706.             Log.log(e.toString(),"Error");
  1707.         }
  1708.             return sb.toString();
  1709.     }
  1710.  
  1711.     private String[] getDCRHData(String empcode,String dcrdate,String dbname)
  1712.     {
  1713.         String retString[] = {"","","","","",""} ;
  1714.         Connection con = null;
  1715.         Statement stmt = null;
  1716.         try
  1717.         {
  1718.             Calendar c = Calendar.getInstance();
  1719.             retString[0] = c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
  1720.  
  1721.  
  1722.             con = ConnectionHandler.getConnection(dbname);
  1723.  
  1724.             stmt = con.createStatement();
  1725.             ResultSet rs = stmt.executeQuery("SELECT RCPTDATE,ALLOW,FARE,DEDUCTION,DCRNO,TCPID " +
  1726.                                              "FROM DCRH WHERE EMP=\""+empcode+"\" AND DCRDATE=\""+dcrdate+"\" ");
  1727.             if(rs.next())
  1728.             {
  1729.                 if(!rs.getString(1).equalsIgnoreCase("0000-00-00"))
  1730.                     retString[0] = rs.getString(1);
  1731.  
  1732.                 retString[1] = rs.getString(2);
  1733.                 retString[2] = rs.getString(3);
  1734.                 retString[3] = rs.getString(4);
  1735.                 retString[4] = rs.getString(5);
  1736.                 retString[5] = rs.getString(6);
  1737.             }
  1738.                 rs.close();
  1739.         }
  1740.         catch(Exception e)
  1741.         {
  1742.               Log.printStackTrace(e);
  1743.         }
  1744.  
  1745.         finally
  1746.         {
  1747.             try
  1748.             {
  1749.                 if(stmt!=null)
  1750.                     stmt.close();
  1751.                 if(con!=null)
  1752.                     con.close();
  1753.             }catch(Exception e)
  1754.             {
  1755.                 Log.log("Exception",e.toString());
  1756.             }
  1757.         }
  1758.             return retString;
  1759.     }
  1760.  
  1761.    /* private String getWWithList(Vector wwithdca,Vector wwith,int option,String dcrno,String dcrdate,String empcode,String dcrnetidjoindate,String netid,int emplvl,String dbname)
  1762.     {
  1763.         StringBuffer sb = new StringBuffer();
  1764.  
  1765.         try
  1766.         {
  1767.             String wwithname="wwith";
  1768.             if(option==1)
  1769.                 wwithname+="d";
  1770.             else if(option==2)
  1771.                 wwithname+="c";
  1772.             else
  1773.                 wwithname+="a";
  1774.             sb.append("<tr><td><input type=checkbox checked id=wwith name="+wwithname+"  size=4  class=checkbox onClick=javascript:setjnwrk('"+wwithname+"') >Independent");
  1775.              //sb.append("<tr><td><input type=checkbox checked id=wwith name=wwith  size=4  class=checkbox onClick=setjnwrk() >Independent");
  1776.             //sb.append("<tr><td><input type=button class=buttoncolor value='JointWorking' onClick=addjointworking('"+servPath+"','"+wwithdca+"','"+dcrno+"')>");
  1777.             sb.append("<tr><td><input name=jnwrk type=button disabled=true class=buttoncolor value='JointWorking' onClick=javascript:addjointworking('"+servPath+"','"+dcrdate+"','"+empcode+"','"+dcrnetidjoindate+"','"+netid+"','"+emplvl+"','"+dbname+"','"+dcrno+"')>");
  1778.             String selected ;
  1779.             Vector row ;Vector row1;
  1780.             String temp="";
  1781.             /*
  1782.             sb.append("<select>");
  1783.             for(int i=0; i < wwithdca.size(); i++)
  1784.             {
  1785.                 row = (Vector)wwithdca.elementAt(i);
  1786.                 selected = "";
  1787.                 if(wwith.contains(row.elementAt(0).toString()))        //row.elementAt(0).toString().equalsIgnoreCase(wwith)
  1788.                     selected = "selected";
  1789.                     sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+"\"><input type=checkbox name=chk\""+row.elementAt(0).toString()+"\">"+row.elementAt(1).toString()+"</option>");
  1790.             }
  1791.             sb.append("</select>");
  1792.             */
  1793.            /* for(int i=0; i < ecode.size(); i++)
  1794.             {
  1795.                 row1 = (Vector)ecode.
  1796.                 sb.append("<input type= name value=\""+row1.elementAt(1).toString()+"\">");
  1797.             }
  1798.              sb.append("<input type=hidden name=tIndependent value=\"Independent\">");
  1799.              */
  1800.        // }
  1801.       //  catch(Exception e)
  1802.        // {
  1803.       //      Log.printStackTrace(e);
  1804.       // }
  1805.      //   return sb.toString();
  1806.    // }
  1807.     //getwwithlistbox(closesold)
  1808.  
  1809.     private String getWWithListBox(Vector wwithdca,Vector wwith,int option,String flag)
  1810.        {
  1811.            //Log.log("WWITH"+wwithdca.size());
  1812.            StringBuffer sb = new StringBuffer();
  1813.            try
  1814.            {
  1815.                String wwithname ="wwith";
  1816.  
  1817.                if(option==1)
  1818.                    wwithname+="d";
  1819.                else if(option==2)
  1820.                    wwithname+="c";
  1821.                else
  1822.                    wwithname+="a";
  1823.  
  1824.                int c=wwith.size();
  1825.                    c=4;
  1826.                if(c>4)
  1827.                    c=4;
  1828.  
  1829.                 if(wwith.size()==0)
  1830.                 {
  1831.                   sb.append("<tr><td><select disabled id=wwith size=1 name="+wwithname+" multiple=\"multiple\"   class=listbox onChange=wwithChange('wwith','"+option+"')><option selected value=\"Indep\">INDEPENDENT</option>");
  1832.                   sb.append("</select>");
  1833.                 }
  1834.                 else
  1835.                 {
  1836.                   sb.append("<tr><td><select disabled size=\""+c+"\" id=wwith name="+wwithname+" multiple=\"multiple\" class=listbox onChange=wwithChange('wwith','"+option+"')>");
  1837.                   String selected ;
  1838.                   Vector row ;Vector row1;
  1839.                   // if(wwith.size()==0)
  1840.                   // sb.append("<option selected value=\"Independent\">INDEPENDENT</option>");
  1841.  
  1842.          /*      for(int i=0; i < wwithdca.size(); i++)
  1843.                   {
  1844.                         row = (Vector)wwithdca.elementAt(i);
  1845.                         selected = "";
  1846.                         if(wwith.contains(row.elementAt(0).toString()))        //row.elementAt(0).toString().equalsIgnoreCase(wwith)
  1847.                         {
  1848.                            selected = "selected";
  1849.                            sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+"\">"+row.elementAt(1).toString()+"</option>");
  1850.                          }
  1851.                    }
  1852.            */
  1853.  
  1854.                 for(int i=0; i < wwithdca.size(); i++)
  1855.                 {
  1856.                    row = (Vector)wwithdca.elementAt(i);
  1857.                    selected = "";
  1858.                  // if((wwith.size()>0) && (wwith.size()<5))
  1859.                   //{
  1860.                    if(wwith.contains(row.elementAt(0).toString()))        //row.elementAt(0).toString().equalsIgnoreCase(wwith)
  1861.                    {
  1862.                        selected = "selected";
  1863.                        sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+"\">"+row.elementAt(1).toString()+"</option>");
  1864.                    }
  1865.                   // }
  1866.                 }
  1867.                    sb.append("</select>");
  1868.  
  1869.                 for(int i=0; i < wwithdca.size(); i++)
  1870.                 {
  1871.                    row1 = (Vector)wwithdca.elementAt(i);
  1872.                    sb.append("<input type=hidden name=t"+row1.elementAt(0).toString()+" value=\""+row1.elementAt(1).toString()+"\">");
  1873.                 }
  1874.                    sb.append("<input type=hidden name=tIndependent value=\"Independent\">");
  1875.               }
  1876.            }
  1877.            catch(Exception e)
  1878.            {
  1879.                  Log.printStackTrace(e);
  1880.            }
  1881.            return sb.toString();
  1882.        }
  1883.  
  1884.        private String getWWithListBox(Vector wwithdca,Vector wwith,int option)
  1885.        {
  1886.            StringBuffer sb = new StringBuffer();
  1887.            try
  1888.            {
  1889.                String wwithname = "wwith";
  1890.  
  1891.                if(option==1)
  1892.                    wwithname+="d";
  1893.                else if(option==2)
  1894.                    wwithname+="c";
  1895.                else
  1896.                    wwithname+="a";
  1897.  
  1898.                if(wwithdca.size()==0)
  1899.                   sb.append("<tr><td><select id=wwith size=1 name="+wwithname+" multiple=\"multiple\" class=listbox onChange=wwithChange('wwith','"+option+"') >" +
  1900.                           "<option selected value=Independent>INDEPENDENT</option>");
  1901.                else
  1902.                {
  1903.                   sb.append("<tr><td><select disabled=true id=wwith name="+wwithname+" multiple=\"multiple\" class=listbox onChange=wwithChange('wwith','"+option+"')>");
  1904.                }
  1905.  
  1906.                String selected ;
  1907.                Vector row ;Vector row1;
  1908.                for(int i=0; i < wwithdca.size(); i++)
  1909.                {
  1910.                    row = (Vector)wwithdca.elementAt(i);
  1911.                    selected = "";
  1912.                  //  if(wwith.contains(row.elementAt(0).toString()))        //row.elementAt(0).toString().equalsIgnoreCase(wwith)
  1913.                 //    {
  1914.                        selected = "selected";
  1915.                        sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+"\">"+row.elementAt(1).toString()+"</option>");
  1916.                 //   }
  1917.                }
  1918.  
  1919.                 sb.append("</select>");
  1920.                 for(int i=0; i < wwithdca.size(); i++)
  1921.                 {
  1922.                    row1 = (Vector)wwithdca.elementAt(i);
  1923.                    sb.append("<input type=hidden name=t"+row1.elementAt(0).toString()+" value=\""+row1.elementAt(1).toString()+"\">");
  1924.                 }
  1925.  
  1926.                  sb.append("<input type=hidden 0name=tIndependent value=\"Independent\">");
  1927.            }
  1928.            catch(Exception e)
  1929.            {
  1930.                  Log.printStackTrace(e);
  1931.            }
  1932.            return sb.toString();
  1933.        }
  1934.  
  1935.     private Vector getWWithVector(String yr,String mon,String netid,String empcode,String dcrnetidjoindate,int emplvl,String dbname)
  1936.     {
  1937.         Vector retVector = new Vector();
  1938.         String sql ="";
  1939.         Connection con = null;
  1940.         Statement stmt = null;
  1941.         try
  1942.         {
  1943.  
  1944.             con = ConnectionHandler.getConnection(dbname);
  1945.  
  1946.             stmt = con.createStatement();
  1947.             ResultSet rs = null;
  1948.             if(emplvl==1)
  1949.             {
  1950.                 sql+=("SELECT LEVEL2,LEVEL3,LEVEL4,LEVEL5 FROM NETTRANS WHERE YR=\""+yr+"\" AND MTH=\""+mon+"\" AND NETID=\""+netid+"\" AND LEVEL1=\""+empcode+"\" AND JOINDATE=\""+dcrnetidjoindate+"\" ");//050604
  1951.                 rs = stmt.executeQuery(sql);
  1952.                 if(rs.next())
  1953.                 {
  1954.                     sql = "SELECT DISTINCT ECODE,ENAME FROM EMPMST WHERE ECODE=\""+rs.getString(1)+"\" " +
  1955.                           "UNION SELECT DISTINCT ECODE,ENAME FROM EMPMST WHERE ECODE=\""+rs.getString(2)+"\" " +
  1956.                           "UNION SELECT DISTINCT ECODE,ENAME FROM EMPMST WHERE ECODE=\""+rs.getString(3)+"\" " +
  1957.                           "UNION SELECT DISTINCT ECODE,ENAME FROM EMPMST WHERE ECODE=\""+rs.getString(4)+"\" " +
  1958.                           "UNION SELECT DISTINCT ECODE,ENAME FROM EMPMST WHERE ETYPE=9 and resdate =\"0000-00-00\" "; // This stmt has been added for joint working with product manager
  1959.                 }
  1960.             }
  1961.             else
  1962.             {
  1963.                 sql+="SELECT DISTINCT LEVEL1,ENAME,\"1\" AS LEVEL FROM NETTRANS "+
  1964.                              "LEFT JOIN EMPMST ON EMPMST.ECODE = NETTRANS.LEVEL1 "+
  1965.                              "WHERE YR=\""+yr+"\" AND MTH=\""+mon+"\" AND NETTRANS.LEVEL"+emplvl+"='"+empcode+"' "+
  1966.                              "AND LEVEL1<>'"+empcode+"' ";
  1967.  
  1968.                 for(int i=2;i<6;i++)
  1969.                 {
  1970.                     if(emplvl!=i)
  1971.                     {
  1972.                         sql+=" UNION SELECT DISTINCT LEVEL"+i+",ENAME,\"2\" AS LEVEL FROM NETTRANS "+
  1973.                               " LEFT JOIN EMPMST ON EMPMST.ECODE=NETTRANS.LEVEL"+i+" "+
  1974.                               " WHERE YR=\""+yr+"\" AND MTH=\""+mon+"\" AND NETID=\""+netid+"\" AND NETTRANS.JOINDATE=\""+dcrnetidjoindate+"\" "+
  1975.                               " AND LEVEL"+i+"<>\""+empcode+"\" ";
  1976.                     }
  1977.                 }
  1978.                 sql+= " ORDER BY LEVEL";
  1979.             }
  1980.  
  1981.  
  1982.             rs = stmt.executeQuery(sql);
  1983.             Vector tempVector ;
  1984.             tempVector = new Vector();
  1985.             tempVector.add("");
  1986.  
  1987.             //tempVector.add("");                vvvvvvvvvvvvvvvvvvvvvvvvv
  1988.             //retVector.add(tempVector);
  1989.  
  1990.             while(rs.next())
  1991.             {
  1992.                 tempVector = new Vector();
  1993.                 String ecode="";
  1994.                 if(rs.getString(1)!=null) ecode=rs.getString(1);
  1995.                 tempVector.add(ecode);
  1996.                 String ename="";
  1997.                 if(rs.getString(2)!=null) ename=rs.getString(2);
  1998.                 tempVector.add(ename);
  1999.                 retVector.add(tempVector);
  2000.             }
  2001.                 rs.close();
  2002.         }
  2003.         catch(Exception e)
  2004.         {
  2005.               Log.printStackTrace(e);
  2006.         }
  2007.         finally
  2008.         {
  2009.             try
  2010.             {
  2011.                 if(stmt!=null)
  2012.                     stmt.close();
  2013.                 if(con!=null)
  2014.                     con.close();
  2015.             } catch(Exception e)
  2016.             {
  2017.                 Log.log("Exception",e.toString());
  2018.             }
  2019.         }
  2020.             return retVector;
  2021.     }
  2022.  
  2023.  
  2024. // -- Changed due to page NOT loading properly Changed by glenn
  2025.  
  2026.     private Vector getWNetidVector(String yr,String mon,String empcode,int emplvl,String dbname)
  2027.     {
  2028.         Connection con = null;
  2029.         Statement stmt = null;
  2030.  
  2031.         Vector retVector = new Vector();
  2032.         String sql = "SELECT DISTINCT NETTRANS.NETID,NETMST.HNAME,EMPMST.ENAME " +
  2033.                 "FROM NETTRANS " +
  2034.                 "LEFT JOIN NETMST ON NETMST.NETID=NETTRANS.NETID " +
  2035.                 "LEFT JOIN EMPMST ON EMPMST.ECODE=NETTRANS.LEVEL1 " +
  2036.                 "WHERE NETTRANS.YR=\""+yr+"\" AND NETTRANS.MTH=\""+mon+"\" " +
  2037.                 "AND NETTRANS.LEVEL"+emplvl+"='"+empcode+"' AND NETMST.LEVEL='1'";
  2038.         try
  2039.         {
  2040.  
  2041.             con = ConnectionHandler.getConnection(dbname);
  2042.  
  2043.             stmt = con.createStatement();
  2044.             ResultSet rs = stmt.executeQuery(sql);
  2045.             Vector tempVector ;
  2046.             while(rs.next())
  2047.             {
  2048.                 tempVector = new Vector();
  2049.                 String netid=""; if(rs.getString(1)!=null) netid=rs.getString(1); tempVector.add(netid);
  2050.                 String hname=""; if(rs.getString(2)!=null) hname=rs.getString(2); tempVector.add(hname);
  2051.                 String ename=""; if(rs.getString(3)!=null) ename=rs.getString(3); tempVector.add(ename);
  2052.                 retVector.add(tempVector);
  2053.             }
  2054.                 rs.close();
  2055.         }
  2056.  
  2057.         catch(Exception e)
  2058.         {
  2059.               Log.log("getWNetidVector",e.toString());
  2060.         }
  2061.  
  2062.         finally
  2063.         {
  2064.             try
  2065.             {
  2066.                 if(stmt!=null)
  2067.                     stmt.close();
  2068.                 if(con!=null)
  2069.                     con.close();
  2070.             }catch(Exception e)
  2071.             {
  2072.                 Log.log("getWNetidVector",e.toString());
  2073.             }
  2074.          }
  2075.             return retVector;
  2076.     }
  2077.  
  2078.     private String getWNetidListBox(Vector wnetiddc,String wnetid,int option)
  2079.     {
  2080.         StringBuffer sb = new StringBuffer();
  2081.         try
  2082.         {
  2083.             String wnetidname = "wnetid";
  2084.             if(option==1)
  2085.             {
  2086.                 wnetidname+="d";
  2087.               // sb.append("<td><select name="+wnetidname+" class=listbox onChange=doformatd('"+servPath+"')>");//onChange=wwithChange('wwith',"+option+")
  2088.                 sb.append("<td><select name="+wnetidname+" class=listbox onChange=doformatd('"+servPath+"')>");//onChange=wwithChange('wwith',"+option+")
  2089.             }
  2090.             else
  2091.             {
  2092.                 wnetidname+="c";
  2093.                 sb.append("<td><select name="+wnetidname+" class=listbox onChange=doformatc('"+servPath+"')>");//onChange=wwithChange('wwith',"+option+")
  2094.             }
  2095.  
  2096.             String selected ="";
  2097.  
  2098.             Vector row ;
  2099.  
  2100.             for(int i=0;i<wnetiddc.size();i++)
  2101.             {
  2102.                 row = (Vector)wnetiddc.elementAt(i);
  2103.                 selected = "";
  2104.                 if(wnetid.equalsIgnoreCase("") && i==0)
  2105.                     selected = "selected";
  2106.                 if(row.elementAt(0).toString().equalsIgnoreCase(wnetid))
  2107.                     selected = "selected";
  2108.                 sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+"\">"+row.elementAt(1).toString()+" / "+row.elementAt(2).toString()+"</option>");
  2109.             }
  2110.                 sb.append("</select>");
  2111.         }
  2112.         catch(Exception e)
  2113.         {
  2114.               Log.printStackTrace(e);
  2115.         }
  2116.         return sb.toString();
  2117.     }
  2118.  
  2119.  
  2120. // Connection Variable is Local due to refresh problems // changed by glenn
  2121.     private Vector getAreaDCVector(String wnetid,String dbname,String dcrdate)
  2122.     {
  2123.         Connection con = null;
  2124.         Statement stmt = null;
  2125.         Vector retVector = new Vector();
  2126.        /* String sql = "SELECT TCPID, TOWN, TOWNID, WTYPE FROM TCPHED, WRKMST " +
  2127.                 "WHERE TCPHED.WTYPE = WRKMST.WRKFLGCD AND TCPHED.NETID=\""+wnetid+"\" " +
  2128.                 "AND TCPHED.DELDATE = '0000-00-00' AND TCPHED.APRVCODE<>'' " +
  2129.                 "AND WRKMST.DRCHCALLSFLG = 'Y' ORDER BY TOWN ";
  2130.        */
  2131.  
  2132.           String sql = "SELECT TCPID, TOWN, TOWNID,WTYPE FROM TCPHED, WRKMST " +
  2133.                 " WHERE TCPHED.WTYPE = WRKMST.WRKFLGCD AND TCPHED.NETID=\""+wnetid+"\" " +
  2134.               //  "AND TCPHED.DELDATE = '0000-00-00' AND TCPHED.APRVCODE<>'' " +
  2135.               //  " AND (TCPHED.DELDATE='0000-00-00' OR TCPHED.DELDATE>='"+wrkdate+"') AND TCPHED.APRVCODE<>'' "+
  2136.                 " AND (TCPHED.DELDATE='0000-00-00' OR TCPHED.DELDATE>='"+dcrdate+"') AND TCPHED.APRVCODE<>'' "+
  2137.                 " AND WRKMST.DRCHCALLSFLG = 'Y' ORDER BY TOWN ";
  2138.         try
  2139.         {
  2140.  
  2141.             con = ConnectionHandler.getConnection(dbname);
  2142.  
  2143.             stmt = con.createStatement();
  2144.  
  2145.             ResultSet rs = stmt.executeQuery(sql);
  2146.             Vector tempVector ;
  2147.  
  2148.             while(rs.next())
  2149.             {
  2150.                 tempVector = new Vector();
  2151.                 tempVector.add(rs.getString(1));
  2152.                 tempVector.add(rs.getString(2));
  2153.                 tempVector.add(rs.getString(3));
  2154.                 tempVector.add(rs.getString(4));
  2155.                 retVector.add(tempVector);
  2156.             }
  2157.                 rs.close();
  2158.         }
  2159.         catch(Exception e)
  2160.         {
  2161.               Log.log("Error Is Here",e.toString());
  2162.         }
  2163.  
  2164.         finally
  2165.         {
  2166.             try
  2167.             {
  2168.                 if(stmt!=null)
  2169.                     stmt.close();
  2170.                 if(con!=null)
  2171.                     con.close();
  2172.             }catch(Exception e)
  2173.             {
  2174.                 Log.log("Exception in method getAreaDcVector",e.toString());
  2175.             }
  2176.         }
  2177.         return retVector;
  2178.     }
  2179.  
  2180.     private String getareaListBox(Vector areadc,String tcpid,int option,int emplvl)
  2181.     {
  2182.         StringBuffer sb = new StringBuffer();
  2183.          try
  2184.          {
  2185.             Vector row;
  2186.             String name="tcpidd";
  2187.             if(option==2)
  2188.                 name="tcpidc";
  2189.             String selected = "";
  2190.             if(tcpid.equalsIgnoreCase(""))
  2191.                 selected = "selected";
  2192.  
  2193.             sb.append("<td><select name="+name+" class=listbox onChange=wwithChange('"+name+"',0)>");
  2194.             if(tcpid.equalsIgnoreCase(""))
  2195.                sb.append("<option "+selected+" value=\"Select Schedule\">Select Schedule</option>");
  2196.             else
  2197.                sb.append("<option value=\"Select Schedule\">Select Schedule</option>");
  2198.  
  2199.             for(int i=0;i<areadc.size();i++)
  2200.             {
  2201.                 row =(Vector)areadc.elementAt(i);
  2202.                 selected = "";
  2203.                 if(emplvl==1)
  2204.                 {
  2205.                         if(row.elementAt(0).toString().equalsIgnoreCase(tcpid))
  2206.                         {
  2207.                              selected = "selected";
  2208.                              sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+":"+row.elementAt(3).toString()+"\">"+row.elementAt(1).toString()+" / "+row.elementAt(2).toString()+"</option>");
  2209.                         }
  2210.                 }
  2211.                 else
  2212.                 {
  2213.                        if(row.elementAt(0).toString().equalsIgnoreCase(tcpid))
  2214.                        {
  2215.                            selected = "selected";
  2216.                            sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+":"+row.elementAt(3).toString()+"\">"+row.elementAt(1).toString()+" / "+row.elementAt(2).toString()+"</option>");
  2217.                        }
  2218.                        else
  2219.                        {
  2220.                            selected = "";
  2221.                            sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+":"+row.elementAt(3).toString()+"\">"+row.elementAt(1).toString()+" / "+row.elementAt(2).toString()+"</option>");
  2222.                        }
  2223.                 }
  2224.             }
  2225.             sb.append("</select>");
  2226.         }//try closes
  2227.         catch(Exception e)
  2228.         {
  2229.             Log.printStackTrace(e);
  2230.         }//catch closes
  2231.         return sb.toString();
  2232.     }//showselect closes
  2233.  
  2234.     private String getnonfieldworkareaListBox(Vector areaa,String tcpid)
  2235.     {
  2236.         StringBuffer sb=new StringBuffer();
  2237.         try
  2238.         {
  2239.             Vector row ;
  2240.             String selected = "";
  2241.  
  2242.             sb.append("<td> <select name=corearea class=listbox>");
  2243.             sb.append("<option  value=\"\">Select</option>");
  2244.             for(int i=0;i<areaa.size();i++)
  2245.             {
  2246.                 row = (Vector)areaa.elementAt(i);
  2247.                 if(row.elementAt(0).toString().equalsIgnoreCase(tcpid))
  2248.                     selected = "selected";
  2249.                 sb.append("<option "+selected+" value=\""+row.elementAt(0).toString()+":"+row.elementAt(3).toString()+"\">"+row.elementAt(1).toString()+" / "+row.elementAt(2).toString()+"</option>");
  2250.             }
  2251.             sb.append("</select>");
  2252.  
  2253.         }//try closes
  2254.         catch(Exception e)
  2255.         {
  2256.             Log.printStackTrace(e);
  2257.         }//catch closes
  2258.         return sb.toString();
  2259.     }//showselect closes
  2260.  
  2261.  
  2262.     private Vector getAreaAVector(String netid,boolean drchexist,String dbname)
  2263.     {
  2264.         Vector retVector = new Vector();
  2265.  
  2266.         String sql = "SELECT TCPID, TOWN, TOWNID, WTYPE FROM TCPHED, WRKMST " +
  2267.                 "WHERE TCPHED.WTYPE = WRKMST.WRKFLGCD AND NETID = \""+netid+"\" " +
  2268.                 "AND (TCPHED.DELDATE='0000-00-00' OR TCPHED.DELDATE>'"+wrkdate+"') AND DRCHCALLSFLG = 'N' AND TCPHED.APRVCODE<>'' ";
  2269.         if(drchexist)
  2270.             sql+= " AND ALLOWMULTIPLEAREA = 'Y'    ";
  2271.  
  2272.         sql+=" ORDER BY WTYPE,TOWN ";
  2273.  
  2274.         Connection con = null;
  2275.         Statement stmt = null;
  2276.  
  2277.         try
  2278.         {
  2279.  
  2280.             con = ConnectionHandler.getConnection(dbname);
  2281.  
  2282.             stmt = con.createStatement();
  2283.  
  2284.             ResultSet rs = stmt.executeQuery(sql);
  2285.  
  2286.             Vector tempVector ;
  2287.  
  2288.             while(rs.next())
  2289.             {
  2290.                 tempVector = new Vector();
  2291.                 tempVector.add(rs.getString(1));
  2292.                 tempVector.add(rs.getString(2));
  2293.                 tempVector.add(rs.getString(3));
  2294.                 tempVector.add(rs.getString(4));
  2295.                 retVector.add(tempVector);
  2296.             }
  2297.                 rs.close();
  2298.         }
  2299.         catch(Exception e)
  2300.         {
  2301.               Log.log(e.toString(),"Error");
  2302.         }
  2303.         finally
  2304.         {
  2305.             try
  2306.             {
  2307.                 if(stmt!=null)
  2308.                     stmt.close();
  2309.                 if(con!=null)
  2310.                     con.close();
  2311.             }catch(Exception e)
  2312.             {
  2313.                 Log.log("Exception",e.toString());
  2314.             }
  2315.         }
  2316.             return retVector;
  2317.     }
  2318.  
  2319.     private void getSRFCMTP(String dcrdate,String netid,String dbname,String emp)
  2320.     {
  2321.      Vector srfc=new Vector();
  2322.      String max="";String rcptdate="";String tcpid="";
  2323.      Connection con=null;
  2324.      Statement stmt=null;
  2325.         try{
  2326.             Calendar c = Calendar.getInstance();
  2327.             rcptdate = c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
  2328.  
  2329.  
  2330.             con = ConnectionHandler.getConnection(dbname);
  2331.  
  2332.             stmt=con.createStatement();
  2333.  
  2334.          ResultSet rs1=stmt.executeQuery("select if(isnull(max(dcrno)+1),'00000001',max(dcrno)+1) as mm from dcrh ");
  2335.             if(rs1.next())
  2336.               max=rs1.getString(1);
  2337.  
  2338.             String maxo="";
  2339.             for(int m=0;m<8-max.length();m++)
  2340.             maxo+="0";
  2341.             max=maxo+max;
  2342.             ResultSet rs2=stmt.executeQuery("select tcpid from mtp where netid='"+netid+"' and wdate='"+dcrdate+"' and aprvcode<>''");
  2343.             if(rs2.next())
  2344.               tcpid=rs2.getString(1);
  2345.  
  2346.          stmt.executeUpdate("insert into dcrh(dcrno,netid,emp,dcrdate,rcptdate,acdate,wrkflg,entdate,tcpid,user) values" +
  2347.                             "('"+max+"','"+netid+"','"+emp+"','"+dcrdate+"','"+rcptdate+"','0000-00-00','01','"+rcptdate+"','"+tcpid+"','"+emp+"')");
  2348.  
  2349.          ResultSet rs3=stmt.executeQuery("select cntcd from srfc where netid='"+netid+"' and tcpid='"+tcpid+"' and deldate='0000-00-00' ");
  2350.            int i=1;
  2351.          while(rs3.next())
  2352.          {
  2353.              String ii=Integer.toString(i);
  2354.              if(ii.length()==1)
  2355.              ii="00"+ii;
  2356.              if(ii.length()==2)
  2357.              ii="0"+ii;
  2358.  
  2359.              stmt.executeUpdate("insert into dcrd(dcrno,wwith,wnetid,tcpid,custflg,cntcd,serial,DrConverted,DrRemark,wwith2,wwith3,wwith4,status) values " +
  2360.                      "('"+max+"','','"+netid+"','"+tcpid+"','D','"+rs3.getString(1)+"','"+ii+"','','','','','','C')");
  2361.              i=i+1;
  2362.          }
  2363.  
  2364.             /*
  2365.          ResultSet rs=stmt.executeQuery("select D.DRCD,D.DRNAME,D.CNTCD,'',S.TCPID,'','','','' from SRFC S,MTP M,DOCHED D WHERE S.NETID=M.NETID AND S.NETID='"+netid+"' AND M.WDate='"+dcrdate+"' AND S.TCPID=M.TCPID AND M.APRVCODE<>'' AND S.CNTCD=D.CNTCD ");
  2366.  
  2367.          while(rs.next())
  2368.          {
  2369.              Vector tmp=new Vector();
  2370.              tmp.add(rs.getString(1));
  2371.              tmp.add(rs.getString(2));
  2372.              tmp.add(rs.getString(3));
  2373.              tmp.add(rs.getString(4));
  2374.              tmp.add(rs.getString(5));
  2375.              tmp.add(rs.getString(6));
  2376.              tmp.add(rs.getString(7));
  2377.              tmp.add(rs.getString(8));
  2378.              tmp.add(rs.getString(9));
  2379.              srfc.add(tmp);
  2380.          }                 */
  2381.         }catch(Exception e)
  2382.  
  2383.         {Log.printStackTrace(e);}
  2384.         finally
  2385.         {
  2386.             try
  2387.             {
  2388.                 if(stmt!=null)
  2389.                     stmt.close();
  2390.                 if(con!=null)
  2391.                     con.close();
  2392.             } catch(Exception e)
  2393.             {
  2394.                 Log.log("MTP SRFC",e.toString());
  2395.             }
  2396.         }
  2397.     }
  2398.  
  2399.     private Vector getDoctorDetailsVector(String dcrno,String dbname,String dcrdate)
  2400.     {
  2401.         Connection con = null;
  2402.         Statement stmt = null;
  2403.         Vector retVector = new Vector();
  2404.         if(!dcrno.equalsIgnoreCase(""))
  2405.         {
  2406.             try
  2407.             {
  2408.  
  2409.                 con = ConnectionHandler.getConnection(dbname);
  2410.  
  2411.                 Vector tempVector;
  2412.                 stmt = con.createStatement();
  2413.                 String sql = "";
  2414.                 String s="SHOW FIELDS FROM DCRD like 'WWITH2'";
  2415.                 ResultSet rs1=stmt.executeQuery( s );
  2416.                 if(rs1.next())
  2417.                  ;
  2418.             else
  2419.             {
  2420.              sql="ALTER TABLE DCRD ADD COLUMN WWITH2 VARCHAR(5) DEFAULT \"\" ";
  2421.                   stmt.executeUpdate(sql);  }
  2422.              s=" SHOW FIELDS FROM DCRD like 'WWITH3'";
  2423.                          ResultSet rs2=stmt.executeQuery( s );
  2424.                         if(rs2.next())
  2425.                              ;
  2426.                         else
  2427.                         {  sql="ALTER TABLE DCRD ADD COLUMN WWITH3 VARCHAR(5) DEFAULT \"\" ";
  2428.                               stmt.executeUpdate(sql);  }
  2429.  
  2430.             s=" SHOW FIELDS FROM DCRD like 'WWITH4'";
  2431.                         ResultSet rs3=stmt.executeQuery( s );
  2432.                         if(rs3.next())
  2433.                              ;
  2434.                         else
  2435.                         {
  2436.                             sql="ALTER TABLE DCRD ADD COLUMN WWITH4 VARCHAR(5) DEFAULT \"\" ";
  2437.                             stmt.executeUpdate(sql);
  2438.                         }
  2439.              s="SHOW FIELDS FROM DCRD like 'status' ";
  2440.              ResultSet rss=stmt.executeQuery( s );
  2441.              if(rss.next())
  2442.                  ;
  2443.              else
  2444.              {
  2445.                 sql=" ALTER TABLE DCRD ADD COLUMN STATUS CHAR(2) DEFAULT \"\" ";
  2446.                 stmt.executeUpdate(sql);
  2447.              }
  2448.                     String curryr = dcrdate.substring(0,4);
  2449.                     String currmth = dcrdate.substring(5,7);
  2450.                     if(currmth.substring(1,2).equalsIgnoreCase("-"))
  2451.                         currmth="0"+dcrdate.substring(5,6);
  2452.  
  2453.                     String dcrdateyrmth = curryr+currmth;
  2454.                 con.createStatement().executeUpdate("drop table if exists TEMPDCRDR ");
  2455.  
  2456.                 sql = "CREATE TEMPORARY TABLE TEMPDCRDR SELECT IF(DOCHED.DRCD IS NULL,'',DOCHED.DRCD)," +
  2457.                         " IF(DOCHED.DRNAME IS NULL,'NON  " + pname001 + " ',DOCHED.DRNAME)," +
  2458.                         " DCRD.SERIAL,DCRD.WWITH,DCRD.WNETID,DCRD.TCPID,DCRD.WWITH2,DCRD.WWITH3,DCRD.WWITH4 " +
  2459.                         " FROM DCRD LEFT JOIN DOCHED ON ( DOCHED.CNTCD=DCRD.CNTCD AND DCRD.WNETID=DOCHED.NETID " +
  2460.                         " AND DCRD.DCRNO='"+dcrno+"' ) " +
  2461.                         " WHERE DCRD.DCRNO=\""+dcrno+"\" AND CUSTFLG = 'D'  " +
  2462.                         " AND (DELDATE='0000-00-00' OR CONCAT(SUBSTRING(DELDATE,1,4),SUBSTRING(DELDATE,6,2))>='"+dcrdateyrmth+"') " +
  2463.                         " AND DCRD.CNTCD<>'000ND1' "+
  2464.                         " GROUP BY DCRD.WNETID,DCRD.CNTCD ORDER BY SERIAL ";
  2465.                 con.createStatement().executeUpdate(sql);
  2466.  
  2467.                 sql = " insert into TEMPDCRDR SELECT IF(DOCHED.DRCD IS NULL,'',DOCHED.DRCD)," +
  2468.                         "IF(DOCHED.DRNAME IS NULL,'NON  " + pname001 + " ',DOCHED.DRNAME)," +
  2469.                         "DCRD.SERIAL,DCRD.WWITH,DCRD.WNETID,DCRD.TCPID,DCRD.WWITH2,DCRD.WWITH3,DCRD.WWITH4 " +
  2470.                         " FROM DCRD LEFT JOIN DOCHED ON ( DOCHED.CNTCD=DCRD.CNTCD AND DCRD.WNETID=DOCHED.NETID " +
  2471.                         " AND DCRD.DCRNO='"+dcrno+"' ) " +
  2472.                         " WHERE DCRD.DCRNO=\""+dcrno+"\" AND CUSTFLG = 'D'  " +
  2473.                         " AND DCRD.CNTCD='000ND1' "+
  2474.                         " ORDER BY SERIAL ";
  2475.                  con.createStatement().executeUpdate(sql);
  2476.  
  2477.                  sql ="select * from TEMPDCRDR ";
  2478.  
  2479.                 //stmt = con.createStatement();
  2480.                 ResultSet rs = stmt.executeQuery(sql);
  2481.                 while(rs.next())
  2482.                 {
  2483.                     tempVector = new Vector();
  2484.                     tempVector.add(rs.getString(1));
  2485.                     tempVector.add(rs.getString(2));
  2486.                     tempVector.add(rs.getString(3));
  2487.                     tempVector.add(rs.getString(4));
  2488.                     tempVector.add(rs.getString(5));
  2489.                     tempVector.add(rs.getString(6));
  2490.                     String ww1="";
  2491.                     if(rs.getString(7)!=null)
  2492.                         ww1=rs.getString(7);
  2493.                     String ww2="";
  2494.                     if(rs.getString(8)!=null)
  2495.                         ww2=rs.getString(8);
  2496.                     String ww3="";
  2497.                     if(rs.getString(9)!=null)
  2498.                         ww3=rs.getString(9);
  2499.                     tempVector.add(ww1);
  2500.                     tempVector.add(ww2);
  2501.                     tempVector.add(ww3);
  2502.                     retVector.add(tempVector);
  2503.                 }
  2504.             }
  2505.             catch(SQLException e)
  2506.             {
  2507.                 Log.log(e.toString(),"Error");
  2508.             }
  2509.             finally
  2510.             {
  2511.                 try
  2512.                 {
  2513.                     if(stmt!=null)
  2514.                         stmt.close();
  2515.                     if(con!=null)
  2516.                         con.close();
  2517.                 }catch(Exception e)
  2518.                 {
  2519.                     Log.log("Exception",e.toString());
  2520.                 }
  2521.             }
  2522.         }
  2523.                 return retVector;
  2524.     }
  2525.  
  2526.     private Vector getChemistDetailsVector(String dcrno,String dbname)
  2527.     {
  2528.         Vector retVector = new Vector();
  2529.         Connection con = null;
  2530.         Statement stmt = null;
  2531.  
  2532.         if(!dcrno.equalsIgnoreCase(""))
  2533.         {
  2534.             try
  2535.             {
  2536.                 Vector tempVector;
  2537.  
  2538.                 String sql = "SELECT IF(STOCHED.STCD IS NULL,'',STOCHED.STCD)," +
  2539.                         "IF(STOCHED.STNAME IS NULL,'NON  " + pname001 + "',STOCHED.STNAME)," +
  2540.                         "DCRD.SERIAL,DCRD.WWITH,DCRD.WNETID,DCRD.TCPID,DCRD.WWITH2,DCRD.WWITH3,DCRD.WWITH4 " +
  2541.                         "FROM DCRD LEFT JOIN STOCHED ON STOCHED.CNTCD=DCRD.CNTCD " +
  2542.                         "WHERE DCRD.DCRNO=\""+dcrno+"\" AND CUSTFLG = 'C' ORDER BY SERIAL ";
  2543.  
  2544.  
  2545.                 con = ConnectionHandler.getConnection(dbname);
  2546.  
  2547.                 stmt = con.createStatement();
  2548.  
  2549.                 ResultSet rs = stmt.executeQuery(sql);
  2550.                 while(rs.next())
  2551.                 {
  2552.                     tempVector = new Vector();
  2553.                     tempVector.add(rs.getString(1));
  2554.                     tempVector.add(rs.getString(2));
  2555.                     tempVector.add(rs.getString(3));
  2556.                     tempVector.add(rs.getString(4));
  2557.                     tempVector.add(rs.getString(5));
  2558.                     tempVector.add(rs.getString(6));
  2559.                     String ww1="";if(rs.getString(7)!=null) ww1=rs.getString(7);
  2560.                     String ww2="";if(rs.getString(8)!=null) ww2=rs.getString(8);
  2561.                     String ww3="";if(rs.getString(9)!=null) ww3=rs.getString(9);
  2562.                     tempVector.add(ww1);
  2563.                     tempVector.add(ww2);
  2564.                     tempVector.add(ww3);
  2565.                     retVector.add(tempVector);
  2566.                 }
  2567.             }
  2568.             catch(SQLException e)
  2569.             {
  2570.                 Log.log(e.toString(),"Error");
  2571.             }
  2572.             finally
  2573.             {
  2574.                 try
  2575.                 {
  2576.                    if(stmt!=null)
  2577.                        stmt.close();
  2578.                    if(con!=null)
  2579.                        con.close();
  2580.                 }catch(Exception e)
  2581.                 {
  2582.                     Log.log("Exceptions",e.toString());
  2583.                 }
  2584.             }
  2585.         }
  2586.                 return retVector;
  2587.     }
  2588.  
  2589.     private Vector getExpenseDetailsVector(String dcrno,int emplvl,String dbname)
  2590.     {
  2591.          Connection con = null;
  2592.          Statement stmt = null;
  2593.  
  2594.          Vector retVector = new Vector();
  2595.  
  2596.         if(!dcrno.equalsIgnoreCase(""))
  2597.         {
  2598.             try
  2599.             {
  2600.  
  2601.                 con = ConnectionHandler.getConnection(dbname);
  2602.  
  2603.  
  2604.                 stmt = con.createStatement();
  2605.  
  2606.                 int type=emplvl;
  2607.  
  2608.                 if(emplvl > 1)
  2609.                     type=2;
  2610.  
  2611.                 Vector tempVector;
  2612.                 String sql = "SELECT EXPMST.EDESC,DCRE.AMOUNT,EXPMST.EXPCD FROM DCRE,EXPMST " +
  2613.                         "WHERE DCRE.DCRNO=\""+dcrno+"\"  AND EXPMST.LTYPE='"+type+"' " +
  2614.                         "AND DCRE.EXPCD=EXPMST.EXPCD";
  2615.  
  2616.                 ResultSet rs = stmt.executeQuery(sql);
  2617.  
  2618.                 while(rs.next())
  2619.                 {
  2620.                     tempVector = new Vector();
  2621.                     tempVector.add(rs.getString(1));
  2622.                     tempVector.add(rs.getString(2));
  2623.                     tempVector.add(rs.getString(3));
  2624.                     retVector.add(tempVector);
  2625.                 }
  2626.                     stmt.close();
  2627.                     con.close();
  2628.             }
  2629.             catch(SQLException e)
  2630.             {
  2631.                 Log.log(e.toString(),"Error");
  2632.             }
  2633.  
  2634.             finally
  2635.             {
  2636.                 try
  2637.                 {
  2638.                     if(stmt!=null)
  2639.                         stmt.close();
  2640.                     if(con!=null)
  2641.                         con.close();
  2642.                 }catch(Exception e)
  2643.                 {
  2644.                     Log.log("Exception",e.toString());
  2645.                 }
  2646.             }
  2647.         }
  2648.                 return retVector;
  2649.     }
  2650.  
  2651.     private String getRemark(String dcrno,String dbname)
  2652.     {
  2653.         StringBuffer sb = new StringBuffer();
  2654.  
  2655.         Connection con = null;
  2656.         Statement stmt = null;
  2657.  
  2658.         try
  2659.         {
  2660.  
  2661.             con = ConnectionHandler.getConnection(dbname);
  2662.  
  2663.  
  2664.             stmt = con.createStatement();
  2665.  
  2666.             if(!dcrno.equalsIgnoreCase(""))
  2667.             {
  2668.                 String sql =  "SELECT DREMARK FROM DCRR WHERE DCRNO=\""+dcrno+"\" ";
  2669.  
  2670.                 ResultSet rs = stmt.executeQuery(sql);
  2671.  
  2672.                 sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Remarks:<td width=70% valign=top halign=top><font face=verdana color=black>");
  2673.  
  2674.                 if(rs.next())
  2675.                 {
  2676.                     String remark=rs.getString(1);
  2677.                     if(remark==null)
  2678.                         remark="";
  2679.                     sb.append("<textarea rows=2 cols=60 name=remark class=textbox>"+remark+"</textarea></font>");
  2680.                 }
  2681.                 else
  2682.                 {
  2683.                     sb.append("<textarea rows=2 cols=60 name=remark class=textbox></textarea></font>");
  2684.                 }
  2685.                     rs.close();
  2686.             }
  2687.             else
  2688.                 sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Remarks:<td width=70% valign=top halign=top><font face=verdana color=black><textarea rows=2 cols=50 name=remark class=textbox></textarea></font>");
  2689.  
  2690.         }
  2691.         catch(SQLException e)
  2692.         {
  2693.             Log.printStackTrace(e);
  2694.         }
  2695.  
  2696.         finally
  2697.         {
  2698.             try
  2699.             {
  2700.                 if(stmt!=null)
  2701.                     stmt.close();
  2702.                 if(con!=null)
  2703.                     con.close();
  2704.             }
  2705.             catch(Exception e)
  2706.             {
  2707.                 Log.log("Exception in Get Remark",e.toString());
  2708.             }
  2709.         }
  2710.             return sb.toString();
  2711.     }
  2712.  
  2713.  /*   private String getReason(String dcrno,String dbname,String dcrdate,String netid)
  2714.     {
  2715.         StringBuffer sb = new StringBuffer();
  2716.  
  2717.         Connection con = null;
  2718.         Statement stmt = null;
  2719.  
  2720.         try
  2721.         {
  2722.             con = ConnectionHandler.getConnection(dbname);
  2723.             stmt = con.createStatement();
  2724.             ResultSet rs1=stmt.executeQuery("select d.tcpid from mtp m,dcrd d where m.netid='"+netid+"' and m.wdate='"+dcrdate+"' "+
  2725.                                             " and d.dcrno='"+dcrno+"' and m.tcpid<>d.tcpid group by d.tcpid");
  2726.             if(rs1.next())
  2727.             {
  2728.             if(!rs1.getString(1).equalsIgnoreCase(""))
  2729.             {
  2730.             if(!dcrno.equalsIgnoreCase(""))
  2731.             {
  2732.                 String sql =  "SELECT DREASON FROM DCRR WHERE DCRNO=\""+dcrno+"\" ";
  2733.  
  2734.                 ResultSet rs = stmt.executeQuery(sql);
  2735.  
  2736.                 sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Reason :<td width=70% valign=top halign=top><font face=verdana color=black>");
  2737.  
  2738.                 if(rs.next())
  2739.                 {
  2740.                     String reason=rs.getString(1);if (reason==null) reason="";
  2741.                     sb.append("<textarea rows=2 cols=60 name=reason class=textbox>"+reason+"</textarea></font>");
  2742.                 }
  2743.                 else
  2744.                 {
  2745.                     sb.append("<textarea rows=2 cols=60 name=reason class=textbox></textarea></font>");
  2746.                 }
  2747.                     rs.close();
  2748.             }
  2749.             else
  2750.                 sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Reason:<td width=70% valign=top halign=top><font face=verdana color=black><textarea rows=2 cols=50 name=reason class=textbox></textarea></font>");
  2751.             }
  2752.            }
  2753.            else
  2754.                sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Reason:<td width=70% valign=top halign=top><font face=verdana color=black><textarea rows=2 cols=50 name=reason class=textbox></textarea></font>");
  2755.         }
  2756.         catch(SQLException e)
  2757.         {
  2758.             Log.printStackTrace(e);
  2759.         }
  2760.  
  2761.         finally
  2762.         {
  2763.             try
  2764.             {
  2765.                 if(stmt!=null)
  2766.                     stmt.close();
  2767.                 if(con!=null)
  2768.                     con.close();
  2769.             } catch(Exception e)
  2770.             {
  2771.                 Log.log("Exception in Get Reason",e.toString());
  2772.             }
  2773.         }
  2774.             return sb.toString();
  2775.     }
  2776.  */
  2777.  
  2778.     private String getReason(String dcrno,String dbname,String dcrdate,String netid)
  2779.      {
  2780.         StringBuffer sb = new StringBuffer();
  2781.  
  2782.         Connection con = null;
  2783.         Statement stmt = null;
  2784.  
  2785.         try
  2786.         {
  2787.  
  2788.             con = ConnectionHandler.getConnection(dbname);
  2789.  
  2790.  
  2791.             stmt = con.createStatement();
  2792.  
  2793.             if(!dcrno.equalsIgnoreCase(""))
  2794.             {
  2795.                 String sql =  "SELECT DREASON FROM DCRR WHERE DCRNO=\""+dcrno+"\" ";
  2796.  
  2797.                 ResultSet rs = stmt.executeQuery(sql);
  2798.  
  2799.                 sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Reason:<td width=70% valign=top halign=top><font face=verdana color=black>");
  2800.  
  2801.                 if(rs.next())
  2802.                 {
  2803.                     String reason=rs.getString(1);
  2804.                     if(reason==null)
  2805.                         reason="";
  2806.                     sb.append("<textarea rows=2 cols=60 name=reason class=textbox>"+reason+"</textarea></font>");
  2807.                 }
  2808.                 else
  2809.                 {
  2810.                     sb.append("<textarea rows=2 cols=60 name=reason class=textbox></textarea></font>");
  2811.                 }
  2812.                     rs.close();
  2813.             }
  2814.             else
  2815.                 sb.append("<tr><td width=10% valign=top halign=top><font face=verdana color=black>Reason:<td width=70% valign=top halign=top><font face=verdana color=black><textarea rows=2 cols=50 name=reason class=textbox></textarea></font>");
  2816.         }
  2817.         catch(SQLException e)
  2818.         {
  2819.             Log.printStackTrace(e);
  2820.         }
  2821.  
  2822.         finally
  2823.         {
  2824.             try
  2825.             {
  2826.                 if(stmt!=null)
  2827.                     stmt.close();
  2828.                 if(con!=null)
  2829.                     con.close();
  2830.             }
  2831.             catch(Exception e)
  2832.             {
  2833.                 Log.log("Exception in Get Remark",e.toString());
  2834.             }
  2835.         }
  2836.             return sb.toString();
  2837.     }
  2838.  
  2839.  
  2840.  
  2841.     private String getDoctorDetails(Vector doctordetails,String serial,String dcrhtcpid,String dcrno,String dbname,Connection con,String empcode,Vector doctordetailsSRFC)
  2842.     {
  2843.         StringBuffer sb = new StringBuffer();
  2844.  
  2845.         String valexists="";
  2846.         Vector tempvector;
  2847.             /*
  2848.                 for(int i=0;i<doctordetailsSRFC.size();i++)
  2849.                 {
  2850.                 Vector tmp=new Vector();
  2851.                 tmp=(Vector)doctordetailsSRFC.elementAt(i);
  2852.                 doctordetails.add(tmp);
  2853.                 }
  2854.                Log.log(doctordetails.toString());
  2855.             */
  2856.         if(doctordetails.size()>0)
  2857.         {
  2858.             for(int i=0;i<doctordetails.size();)
  2859.             {
  2860.                 tempvector = (Vector)doctordetails.elementAt(i);
  2861.                 String drcd = tempvector.elementAt(0).toString();
  2862.                 String drname = tempvector.elementAt(1).toString();
  2863.                 String  drserial = tempvector.elementAt(2).toString();
  2864.                 String check = "";
  2865.  
  2866.                 if(drserial.equalsIgnoreCase(serial))
  2867.                     check= "checked";
  2868.                 i++;
  2869.  
  2870.                 if(i%4==1)
  2871.                     sb.append("<tr>");
  2872.  
  2873.                 sb.append("<td width=25%><input type=radio name=drchd "+check+" value='DR"+drserial+"' onClick=javascript:DrRadio();>" +
  2874.                           "<font face=verdana color=red>"+drcd.trim()+"</font>\t<font face=verdana color=black>" +
  2875.                            "" +drname.trim()+"</a></font></td>");
  2876.                           // "<A title='"+getDoctorDetail(dcrno,drserial)+"'>"+drname.trim()+"</a></font></td>");
  2877.                          // "<A title='javascript:document.write(&lt;html&gt;<table><tr><td>aaNil</td></tr><tr><td>Nil</td></tr></table></html>)'>"+drname.trim()+"</a></font></td>");
  2878.             }
  2879.         }
  2880.         sb.append("<input type=hidden name=eled value='"+doctordetails.size()+"'>");
  2881.  
  2882.         InfoHelper ih = null;
  2883.         ih = new InfoHelper(con,empcode,dbname);
  2884.  
  2885.         if(doctordetails.size()==0)
  2886.             sb.append("<tr><td class=linktabledata><center><font face=verdana size=2 color=red>No Records Exists</font></center></td>");
  2887.         sb.append("</tr></table>");
  2888.         sb.append("<table  align=center>");
  2889.         sb.append("<tr><td><font class=tbltextmfs><input type=button name=vsttme class=buttoncolor value='Visit Time/CCR Calls/Work With' onClick=javascript:visitTime('"+servPath+"','"+dcrno+"')></font>");
  2890.         String valexists1 = getsysprmcount("dcrstatus",con);
  2891.  
  2892.         String remarks=remarkExists(dbname,valexists1,"dcrstatus","N");
  2893.  
  2894.         if(remarks.equalsIgnoreCase("Y"))
  2895.  
  2896.         sb.append( "<font class=tbltextmfs><input type=button name=vsttme class=buttoncolor value='Status' onClick=javascript:docStatus('"+servPath+"','"+dcrno+"')></font>");
  2897.         sb.append("<font class=tbltextmfs><input type=button name=prodentryd class=buttoncolor value='Product Entry' onClick=javascript:searchproductDR('"+servPath+"','"+dcrno+"')></font>");
  2898.         //sb.append("<font class=tbltextmfs><input type=button name=prodentryd class=buttoncolor value='Product Entry' onClick=window.navigate('"+servPath+"/eis.dataentry.DCRProduct_old1?dcrno="+dcrno+"')></font>");
  2899.         sb.append("<font class=tbltextmfs><input type=button name=giftentryd class=buttoncolor value='Gift Entry' onClick=javascript:searchgiftDR('"+servPath+"','"+dcrno+"')></font>");
  2900.  
  2901.         String[] drconvalter={"DCRD","DrConverted ","char","(3)","''"};
  2902.         valexists = ih.getsysprmcount("DoctorConverted");
  2903.         if(ih.remarkExists(dbname,valexists,"DoctorConverted",drconvalter,"N").equals("Y"))
  2904.         {
  2905.              //sb.append("<input type=\"hidden\" name=\"buttonexists\" value=\"Y\">");
  2906.              sb.append("<font class=\"tbltextmfs\"><input type=\"button\" name=\"drconvt\" class=\"buttoncolor\" value='Dr Converted' onClick=javascript:drconvert('"+servPath+"','"+dcrno+"')></font>");
  2907.         }
  2908.         else
  2909.         {
  2910.             sb.append("<input type=\"hidden\" name=\"buttonexists\" value=\"N\">");
  2911.         }
  2912.         //sb.append("<font class=tbltextmfs><input type=button name=drconvt class=buttoncolor value='Dr Converted' onClick=javascript:drconvert('"+servPath+"','"+dcrno+"')></font>");
  2913.  
  2914.         String[] drremarkalter={"DCRD","DrRemark ","varchar","(100)","''"};
  2915.         valexists = ih.getsysprmcount("DoctorWiseRemark");
  2916.         if(!remarkExists2(dbname,valexists,drremarkalter).equals(""))
  2917.         {
  2918.              sb.append("<input type=\"hidden\" name=\"buttonexists\" value=\"Y\">");
  2919.              sb.append("<font class=\"tbltextmfs\"><input type=\"button\" name=\"drremark\" class=\"buttoncolor\" value=\""+remarkExists2(dbname,valexists,drremarkalter)+"\" onClick=javascript:searchDrRemark('"+servPath+"','"+dcrno+"')></font>");
  2920.         }
  2921.         else
  2922.         {
  2923.             sb.append("<input type=\"hidden\" name=\"buttonexists\" value=\"N\">");
  2924.         }
  2925.         sb.append("<font class=tbltextmfs><input type=button name=expsentryd class=buttoncolor value='Delete' onClick=javascript:deleteConfirmDR('"+servPath+"','"+dcrhtcpid+"')></font");
  2926.         valexists = ih.getsysprmcount("otherremark");
  2927.  
  2928.         String []dralter={"DCRR"," ","varchar","(100)",""};
  2929.         String []column={"Cmarket ","Pstanding ","Cactivity ","SDPSR ","COD "};
  2930.         remarkExists(dbname,valexists,"otherremark",dralter,column,"N");
  2931.         if(checkRemark(con,"otherremark").equalsIgnoreCase("Y"))
  2932.            sb.append("<font class=\"tbltextmfs\"><input type=\"button\" name=\"otherremark\" class=\"buttondip\" value=\"OtherRemark\" onClick=javascript:searchOtherRemark('"+servPath+"','"+dcrno+"')></font></td></tr>");
  2933.  
  2934.         sb.append("</table>");
  2935.         return sb.toString();
  2936.     }
  2937.  
  2938.     private String getChemistDetails(Vector chemistdetails,String serial,String dcrhtcpid,String dcrno)
  2939.     {
  2940.         StringBuffer sb = new StringBuffer();
  2941.         Vector tempvector;
  2942.         if(chemistdetails.size() > 0)
  2943.         {
  2944.             for(int i=0;i < chemistdetails.size();)
  2945.             {
  2946.                 tempvector = (Vector)chemistdetails.elementAt(i);
  2947.                 String stcd = tempvector.elementAt(0).toString();
  2948.                 String stname = tempvector.elementAt(1).toString();
  2949.                 String stserial = tempvector.elementAt(2).toString();
  2950.                 String check = "";
  2951.                 if(stserial.equalsIgnoreCase(serial))
  2952.                     check= "checked";
  2953.                 i++;
  2954.                 if(i%4==1)
  2955.                     sb.append("<tr>");
  2956.                 sb.append("<td width=25%><input type=radio name=drchc "+check+" value='CH"+stserial+"' onClick=javascript:ChRadio();><font face=verdana color=red>"+stcd.trim()+"</font>\t<font face=verdana color=black>"+stname.trim()+"</font></td>");
  2957.             }
  2958.         }
  2959.         sb.append("<input type=hidden name=elec value='"+chemistdetails.size()+"'>");
  2960.  
  2961.         if(chemistdetails.size()==0)
  2962.         sb.append("<tr><td class=linktabledata><center><font face=verdana size=2 color=red>No Records Exists</font></center></td></tr>");
  2963.         sb.append("</table>");
  2964.         sb.append("<table align=center>");
  2965.         sb.append("<tr><td><font class=tbltextmfs><input type=button name=giftentryc class=buttoncolor value='Gift' onClick=javascript:searchgiftCH('"+servPath+"','"+dcrno+"')></font>");
  2966.         sb.append("<font class=tbltextmfs><input type=button name=prodentryc class=buttoncolor value='Product / POB Entry' onClick=javascript:searchproductCH('"+servPath+"','"+dcrno+"')></font>");
  2967.         //sb.append("<font class=tbltextmfs><input type=button name=giftentryc class=buttoncolor value='DCR-Product' onClick=javascript:searchgiftCH('"+servPath+"','"+dcrno+"')></font>");
  2968.         sb.append("<font class=tbltextmfs><input type=button name=expsentryc class=buttoncolor value='Delete' onClick=javascript:deleteConfirmCH('"+servPath+"','"+dcrhtcpid+"')></font></td></tr>");
  2969.         sb.append("</table>");
  2970.         return sb.toString();
  2971.     }
  2972.  
  2973.     private String getExpenseDetails(Vector expensedetails,int emplvl,String allowance,String fare,String deduction)
  2974.     {
  2975.         StringBuffer sb = new StringBuffer();
  2976.         Vector tempvector;
  2977.         int i=0;
  2978.  
  2979.         if(expensedetails.size() > 0)
  2980.         {
  2981.             for(i=0;i<expensedetails.size();)
  2982.             {
  2983.                 tempvector = (Vector)expensedetails.elementAt(i);
  2984.                 String expdesc = tempvector.elementAt(0).toString();
  2985.                 String expamt = tempvector.elementAt(1).toString();
  2986.                 String expcd = tempvector.elementAt(2).toString();
  2987.                 i++;
  2988.  
  2989.                 if(i%4==1)
  2990.                     sb.append("<tr>");
  2991.                 sb.append("<td width=25%><input type=radio name=drchx value='EX"+expcd+"' onClick=javascript:ExRadio();><font face=verdana color=black>"+expdesc.trim()+"</font>\t<font face=verdana color=red>"+expamt.trim()+"</font></td>");
  2992.             }
  2993.         }
  2994.  
  2995.         if(emplvl > 1)
  2996.         {
  2997.             if(!allowance.equalsIgnoreCase("0") && !allowance.equalsIgnoreCase(""))
  2998.             {
  2999.                 i++;
  3000.                 if(i%4==1)
  3001.                     sb.append("<tr>");
  3002.                     sb.append("<td width=25%><input type=radio name=drchx value='EA"+allowance+"' onClick=javascript:ExRadio();><font face=verdana color=black>ALLOWANCE</font>\t<font face=verdana color=red>"+allowance+"</font></td>");
  3003.             }
  3004.  
  3005.             if(!fare.equalsIgnoreCase("0.00") && !fare.equalsIgnoreCase(""))
  3006.             {
  3007.                 i++;
  3008.                 if(i%4==1)
  3009.                     sb.append("<tr>");
  3010.                     sb.append("<td width=25%><input type=radio name=drchx value='EF"+fare+"' onClick=javascript:ExRadio();><font face=verdana color=black>FARE</font>\t<font face=verdana color=red>"+fare+"</font></td>");
  3011.             }
  3012.         }
  3013.         if(!deduction.equalsIgnoreCase("0.00") && !deduction.equalsIgnoreCase(""))
  3014.         {
  3015.             i++;
  3016.  
  3017.             if(i%4==1)
  3018.                 sb.append("<tr>");
  3019.  
  3020.             sb.append("<td width=25%><input type=radio name=drchx value='ED"+deduction+"' onClick=javascript:ExRadio();><font face=verdana color=black>DEDUCTION</font>\t<font face=verdana color=red>"+deduction+"</font></td>");
  3021.         }
  3022.  
  3023.         sb.append("<input type=hidden name=elex value='"+i+"'>");
  3024.  
  3025.         if(i==0)
  3026.             sb.append("<tr><td class=linktabledata><center><font face=verdana size=2 color=red>No Records Exists</font></center></td></tr>");
  3027.  
  3028.         return sb.toString();
  3029.     }
  3030.  
  3031.     private String getHeading(int emplvl,int option,String dbname)
  3032.     {
  3033.         StringBuffer sb = new StringBuffer();
  3034.  
  3035.         sb.append("<tr><td><font face=verdana size=4 color=red>JOINT WORKING :");
  3036.  
  3037.         if(emplvl > 1 && option != 3)
  3038.             sb.append("<td><font face=verdana size=2 color=black>"+getLevel1Heading(dbname)+" :");
  3039.             sb.append("<td><font face=verdana size=2 color=black>Area : ");
  3040.         if(emplvl==1)
  3041.         {
  3042.             String name ="wnetid";
  3043.             if(option==1)
  3044.                 name+="d";
  3045.             else
  3046.                 name+="c";
  3047.             sb.append("<input type=hidden name="+name+" value=\"\">");
  3048.         }
  3049.             return sb.toString();
  3050.  
  3051.     }
  3052.  
  3053.     private String getLevel1Heading(String dbname)
  3054.     {
  3055.         Connection con = null;
  3056.         Statement stmt = null;
  3057.         String retString = "";
  3058.         try
  3059.         {
  3060.  
  3061.  
  3062.             con = ConnectionHandler.getConnection(dbname);
  3063.  
  3064.             stmt = con.createStatement();
  3065.             ResultSet rs = stmt.executeQuery("SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='LEVEL1DESC'");
  3066.             if(rs.next())
  3067.                 retString = rs.getString(1);
  3068.             rs.close();
  3069.         }
  3070.         catch(SQLException e)
  3071.         {
  3072.             Log.log(e.toString(),"Error");
  3073.         }
  3074.         finally
  3075.         {
  3076.             try
  3077.             {
  3078.                 if(stmt!=null)
  3079.                     stmt.close();
  3080.                 if(con!=null)
  3081.                     con.close();
  3082.             } catch(Exception e)
  3083.             {
  3084.                 Log.log("Exception",e.toString());
  3085.             }
  3086.         }
  3087.             return retString;
  3088.     }
  3089.  
  3090.     private String getHoliDay(String dcrdate,String empcode,String dbname)
  3091.     {
  3092.         String retString = "";
  3093.         String holdates = "";
  3094.         Connection con = null;
  3095.         Statement stmt = null;
  3096.  
  3097.         try
  3098.         {
  3099.  
  3100.             con = ConnectionHandler.getConnection(dbname);
  3101.  
  3102.             stmt = con.createStatement();
  3103.  
  3104.             ResultSet rs1 = stmt.executeQuery("SELECT MAX(DCRDATE) FROM DCRH WHERE EMP='"+empcode+"' ");
  3105.  
  3106.             if(rs1.next())
  3107.             {
  3108.                 String sql = "SELECT HDATE FROM HOLMST WHERE ECODE='"+empcode+"' AND HDATE>'"+rs1.getString(1)+"' AND HDATE=DATE_ADD('"+dcrdate+"',INTERVAL -1 DAY) AND APRVCODE<>'' ORDER BY HDATE ASC";
  3109.                 ResultSet rs = stmt.executeQuery(sql);
  3110.  
  3111.                 if(rs.next())
  3112.                     holdates=holdates + rs.getString(1);
  3113.                 if(!holdates.equalsIgnoreCase(""))
  3114.                     holdates += getHoliDay(holdates,empcode,dbname);
  3115.                     rs.close();
  3116.             }
  3117.         }
  3118.         catch(SQLException e)
  3119.         {
  3120.                 Log.log(e.toString(),"Error");
  3121.         }
  3122.  
  3123.         finally
  3124.         {
  3125.           try
  3126.           {
  3127.             if(stmt!=null)
  3128.                 stmt.close();
  3129.             if(con!=null)
  3130.                 con.close();
  3131.           } catch(Exception e)
  3132.           {
  3133.               Log.log("Exception ",e.toString());
  3134.           }
  3135.         }
  3136.         return retString+=","+holdates ;
  3137.     }
  3138.  
  3139.     /*Logic for DoctorWiseRemark if doesnt exist add values in sysprm table
  3140.     else return the selected column*/
  3141.     private String remarkExists2(String dbname,String valexists,String[] dralter)
  3142.     {
  3143.           String svartxt = "";
  3144.           String altersql = "";
  3145.           Connection con = null;
  3146.           Statement stmt = null;
  3147.  
  3148.         try
  3149.         {
  3150.  
  3151.             con = ConnectionHandler.getConnection(dbname);
  3152.             stmt = con.createStatement();
  3153.  
  3154.             if(valexists.equals("0"))
  3155.             {
  3156.                 String sysprmid="";
  3157.                 ResultSet rs1 = stmt.executeQuery("select max(IdSysPrm)+1 as IDSYS from sysprm");
  3158.                 while(rs1.next())
  3159.                 {
  3160.                     sysprmid = rs1.getString("IDSYS");
  3161.                 }
  3162.                 stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt) values ( " +sysprmid+ ",'DoctorWiseRemark','N;')");
  3163.                 rs1.close();
  3164.                 altersql="ALTER TABLE ";
  3165.                 for(int i=0;i<(dralter.length);i++)
  3166.                 {
  3167.                     if(i==1)
  3168.                        altersql+=" ADD COLUMN ";
  3169.                     if(i!=0)
  3170.                         {
  3171.                         if(i%4==0 || (i==(dralter.length-1)))
  3172.                             altersql+=" DEFAULT ";
  3173.                         }
  3174.                     altersql+=dralter[i];
  3175.                     if(i!=0)
  3176.                         {
  3177.                         if(i%4==0 & (i!=(dralter.length-1)))
  3178.                             altersql+=",ADD COLUMN ";
  3179.                         }
  3180.                 }
  3181.                 stmt.executeUpdate(altersql);
  3182.             }
  3183.             else
  3184.             {
  3185.                 ResultSet rs1 = stmt.executeQuery("SELECT mid(SVARTXT,3,length(svartxt)) as btnam FROM SYSPRM WHERE SVARNAME='DoctorWiseRemark' And Left(SvarTxt,1)='Y'");
  3186.                 if(rs1.next())
  3187.                 {
  3188.                     svartxt = rs1.getString(1);
  3189.                 }
  3190.                 rs1.close();
  3191.             }
  3192.         }
  3193.         catch(SQLException e)
  3194.         {
  3195.                 Log.log(e.toString(),"Error");
  3196.         }
  3197.  
  3198.         finally
  3199.         {
  3200.             try
  3201.             {
  3202.                 if(stmt!=null)
  3203.                     stmt.close();
  3204.                 if(con!=null)
  3205.                     con.close();
  3206.             }catch(Exception e)
  3207.             {
  3208.                 Log.log("Error Occured",e.toString());
  3209.             }
  3210.         }
  3211.             svartxt = svartxt.replace(';',' ');
  3212.  
  3213.             return svartxt;
  3214.     }
  3215.  
  3216.  
  3217.     private String reasonExists2(String dbname,String valexists,String[] dralter)
  3218.         {
  3219.               String svartxt = "";
  3220.               String altersql = "";
  3221.               Connection con = null;
  3222.               Statement stmt = null;
  3223.  
  3224.             try
  3225.             {
  3226.                 con = ConnectionHandler.getConnection(dbname);
  3227.                 stmt = con.createStatement();
  3228.  
  3229.                 if(valexists.equals("0"))
  3230.                 {
  3231.                     String sysprmid="";
  3232.                     ResultSet rs1 = stmt.executeQuery("select max(IdSysPrm)+1 as IDSYS from sysprm");
  3233.                     while(rs1.next())
  3234.                     {
  3235.                         sysprmid = rs1.getString("IDSYS");
  3236.                     }
  3237.                     stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt) values ( " +sysprmid+ ",'DoctorWiseReason','N;')");
  3238.                     rs1.close();
  3239.                     altersql="ALTER TABLE ";
  3240.                     for(int i=0;i<(dralter.length);i++)
  3241.                     {
  3242.                         if(i==1)
  3243.                            altersql+=" ADD COLUMN ";
  3244.                         if(i!=0)
  3245.                             {
  3246.                             if(i%4==0 || (i==(dralter.length-1)))
  3247.                                 altersql+=" DEFAULT ";
  3248.                             }
  3249.                         altersql+=dralter[i];
  3250.                         if(i!=0)
  3251.                             {
  3252.                             if(i%4==0 & (i!=(dralter.length-1)))
  3253.                                 altersql+=",ADD COLUMN ";
  3254.                             }
  3255.                     }
  3256.                     stmt.executeUpdate(altersql);
  3257.                 }
  3258.                 else
  3259.                 {
  3260.                     ResultSet rs1 = stmt.executeQuery("SELECT mid(SVARTXT,3,length(svartxt)) as btnam FROM SYSPRM WHERE SVARNAME='DoctorWiseReason' And Left(SvarTxt,1)='Y'");
  3261.                     if(rs1.next())
  3262.                     {
  3263.                         svartxt = rs1.getString(1);
  3264.                     }
  3265.                     rs1.close();
  3266.                 }
  3267.             }
  3268.             catch(SQLException e)
  3269.             {
  3270.                     Log.log(e.toString(),"Error");
  3271.             }
  3272.  
  3273.             finally
  3274.             {
  3275.                 try
  3276.                 {
  3277.                     if(stmt!=null)
  3278.                         stmt.close();
  3279.                     if(con!=null)
  3280.                         con.close();
  3281.                 }catch(Exception e)
  3282.                 {
  3283.                     Log.log("Error Occured",e.toString());
  3284.                 }
  3285.             }
  3286.                 svartxt = svartxt.replace(';',' ');
  3287.  
  3288.                 return svartxt;
  3289.         }
  3290.  
  3291.  
  3292.     /*
  3293.         This method is for weekly logic only for client elder
  3294.     */
  3295.  
  3296.     private String dcrWeeklyValidationForElder(String dcrdate,String ecode,String netid,String dbname)
  3297.     {
  3298.         Connection con = null;
  3299.         Statement stmt = null;
  3300.         ResultSet rs = null;
  3301.  
  3302.         try
  3303.         {
  3304.             con = ConnectionHandler.getConnection(dbname);
  3305.  
  3306.             stmt = con.createStatement();
  3307.  
  3308.             rs = stmt.executeQuery("Select CurDate() As CDate, Date_Format(Curdate(), '%w') As DOW");
  3309.  
  3310.             rs.next();
  3311.  
  3312.             String cdate = rs.getString("CDate");
  3313.             int dow = rs.getInt("DOW");
  3314.             rs.close();
  3315.             /*For Sundays dateofweek(DOW) changed from 0 to 7 */
  3316.             if(dow==0)
  3317.             {
  3318.                 dow=7;
  3319.             }
  3320.             String sql = "SELECT ADDDATE('"+cdate+"',"+"-("+dow+"-1)) As WeekStartDate";
  3321.             rs = stmt.executeQuery(sql);
  3322.  
  3323.             rs.next();
  3324.  
  3325.             String weekstartdate = rs.getString("WeekStartDate");
  3326.             rs.close();
  3327.  
  3328.             rs = stmt.executeQuery("SELECT DATEDIFF('"+dcrdate+"','"+weekstartdate+"') As Diff");
  3329.             rs.next();
  3330.  
  3331.             if(rs.getInt("Diff") < 0)
  3332.             {
  3333.                 dcrdate = weekstartdate;
  3334.             }
  3335.                 checkDcrNotConfirmed(ecode,netid,con);
  3336.          } catch(Exception e)
  3337.          {
  3338.             Log.log("Exception dcr weekly validation for elder",e.toString());
  3339.          }
  3340.           finally
  3341.           {
  3342.             try
  3343.             {
  3344.                 if(rs!=null)
  3345.                 rs.close();
  3346.                 if(stmt!=null)
  3347.                 stmt.close();
  3348.                 if(con!=null)
  3349.                 con.close();
  3350.             } catch(Exception e)
  3351.             {
  3352.                 Log.log("Exception finally",e.toString());
  3353.             }
  3354.         }
  3355.                 return dcrdate;
  3356.     }
  3357.     private String dcrDaysValidationForElder(String dcrdate,String ecode,String netid,String dbname)
  3358.     {   Connection con = null;
  3359.         Statement stmt = null;
  3360.         ResultSet rs = null;
  3361.  
  3362.         try
  3363.         {
  3364.             con = ConnectionHandler.getConnection(dbname);
  3365.             stmt = con.createStatement();
  3366.             //rs = stmt.executeQuery("Select udate As CDate from lockunlock where ECODE='"+ecode+"' AND NETID='"+netid+"'");
  3367.  
  3368.             String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek'";
  3369.             String val = "";
  3370.             String valcheck = "";
  3371.             String days = "";
  3372.             rs = stmt.executeQuery(sql);
  3373.             while(rs.next())
  3374.             {
  3375.                 val = rs.getString("SVarTxt");
  3376.             }
  3377.             rs.close();
  3378.             StringTokenizer st = new StringTokenizer(val,",");
  3379.             while(st.hasMoreTokens())
  3380.                 {
  3381.                     valcheck=st.nextToken();
  3382.                     days=st.nextToken();
  3383.                 }
  3384.             int valcheck1=Integer.parseInt(valcheck);
  3385.             rs = stmt.executeQuery("Select ADDDATE(curdate(),"+"-('" +valcheck1+ "')) As CDate");
  3386.             rs.next();
  3387.  
  3388.             String cdate = rs.getString("CDate");
  3389.             rs.close();
  3390.             rs = stmt.executeQuery("SELECT DATEDIFF('"+dcrdate+"','"+cdate+"') As Diff");
  3391.             rs.next();
  3392.  
  3393.             if(rs.getInt("Diff") < 0)
  3394.             {
  3395.                 dcrdate = cdate;
  3396.             }
  3397.             checkDcrNotConfirmed(ecode,netid,con);
  3398.          }
  3399.         catch(Exception e)
  3400.          {
  3401.             Log.log("Exception dcr days validation for elder",e.toString());
  3402.          }
  3403.           finally
  3404.           {
  3405.             try
  3406.             {
  3407.                 if(rs!=null)
  3408.                 rs.close();
  3409.                 if(stmt!=null)
  3410.                 stmt.close();
  3411.                 if(con!=null)
  3412.                 con.close();
  3413.             } catch(Exception e)
  3414.             {
  3415.                 Log.log("Exception finally",e.toString());
  3416.             }
  3417.           }
  3418.           return dcrdate;
  3419.     }
  3420.  
  3421.     private void checkDcrNotConfirmed(String ecode,String netid,Connection con)
  3422.     {
  3423.         try
  3424.         {
  3425.             Statement stmt = con.createStatement();
  3426.             String sql = "Select dcrno From Dcrh Where Dcrh.Emp='"+ecode+"' And NetId='"+netid+"'" +
  3427.                          " And Dcrh.Confdate='0000-00-00'";
  3428.             String dcrno = "";
  3429.             ResultSet rs = stmt.executeQuery(sql);
  3430.  
  3431.             while(rs.next())
  3432.             {
  3433.                 dcrno = rs.getString("DCRNo");
  3434.             }
  3435.                 con.setAutoCommit(false);
  3436.                 stmt.executeUpdate("DELETE FROM DCRR WHERE DCRNO='"+dcrno+"'");
  3437.                 stmt.executeUpdate("DELETE FROM DCRP WHERE DCRNO='"+dcrno+"'");
  3438.                 stmt.executeUpdate("DELETE FROM DCRE WHERE DCRNO='"+dcrno+"'");
  3439.                 stmt.executeUpdate("DELETE FROM DCRD WHERE DCRNO='"+dcrno+"'");
  3440.                 stmt.executeUpdate("DELETE FROM DCRH WHERE DCRNO='"+dcrno+"'");
  3441.  
  3442.                 con.commit();
  3443.                 rs.close();
  3444.         }
  3445.         catch(Exception e)
  3446.         {
  3447.             Log.log("Exception in dcrnot confirmed",e.toString());
  3448.             try
  3449.             {
  3450.                 con.rollback();
  3451.             }catch(Exception ex)
  3452.             {
  3453.                 Log.log("Exception",ex.toString());
  3454.             }
  3455.         }
  3456.     }
  3457.  
  3458.     /*
  3459.       This method is for checking in the sysprm whether entry exists
  3460.       after checking then check for a particular employee and netid to
  3461.       go for weekly or normal dcr
  3462.     */
  3463.  
  3464.     private boolean checkForNonMslDoc(Connection con)
  3465.     {
  3466.         boolean flag = false;
  3467.  
  3468.         Statement stmt = null;
  3469.  
  3470.         try
  3471.         {
  3472.             stmt = con.createStatement();
  3473.  
  3474.             String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='NonMslDoctors'";
  3475.             String val = "";
  3476.             ResultSet rs = stmt.executeQuery(sql);
  3477.             while(rs.next())
  3478.             {
  3479.                 val = rs.getString("SVarTxt");
  3480.             }
  3481.             if(val.equalsIgnoreCase(""))
  3482.             {
  3483.                 sql="select max(IdSysPrm)+1 as IDSYS from sysprm";
  3484.                 String sysprmid="";
  3485.                 rs = stmt.executeQuery(sql);
  3486.                 while(rs.next())
  3487.                     {
  3488.                     sysprmid = rs.getString("IDSYS");
  3489.                     }
  3490.                 stmt.executeUpdate("Insert into sysprm values('" +sysprmid+ "','NonMslDoctors','Y','')");
  3491.                 checkForNonMslDoc(con);
  3492.                 return true;
  3493.             }
  3494.             con.setAutoCommit(false);       //added by sagar
  3495.             con.commit();//added by sagar
  3496.             rs.close();
  3497.             if(val.equalsIgnoreCase("Y"))
  3498.                  return true;
  3499.             else
  3500.                  return false;
  3501.  
  3502.         } catch(SQLException e)
  3503.         {
  3504.             Log.log("Exception before",e.toString());
  3505.         }
  3506.             return flag;
  3507.     }
  3508.  
  3509.     private boolean checkForWeekDcr(Connection con,String ecode,String netid)
  3510.     {
  3511.         boolean flag = false;
  3512.         Statement stmt = null;
  3513.  
  3514.         try
  3515.         {
  3516.             stmt = con.createStatement();
  3517.             String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek'";
  3518.             String val = "";
  3519.             ResultSet rs = stmt.executeQuery(sql);
  3520.             while(rs.next())
  3521.             {
  3522.                 val = rs.getString("SVarTxt");
  3523.             }
  3524.                 con.setAutoCommit(false);       //added by sagar
  3525.                 con.commit();//added by sagar
  3526.                 rs.close();
  3527.             if(val.equals("W"))
  3528.             {
  3529.  
  3530.                 sql = "SELECT DATEDIFF(ADDDATE(UDATE, 7),curdate()) AS NOOFDAYS FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"' ";
  3531.  
  3532.                 rs = stmt.executeQuery(sql);
  3533.                 int days = 0;
  3534.                 while(rs.next())
  3535.                 {
  3536.                     days = rs.getInt("NOOFDAYS");
  3537.                 }
  3538.                     rs.close();
  3539.                     if(days >0 && days <8)
  3540.                         return false;
  3541.                     else
  3542.                     {
  3543.                         stmt.executeUpdate("DELETE FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"'");
  3544.                     }
  3545.                         return true;
  3546.             }
  3547.             else
  3548.             {
  3549.                return false;
  3550.             }
  3551.         }
  3552.         catch(SQLException e)
  3553.         {
  3554.             Log.log("Exception before",e.toString());
  3555.  
  3556.             String sql = "CREATE TABLE if not exists lockunlock ( " +
  3557.                                      " Ecode char(5) NOT NULL default \"\", "+
  3558.                                      " NetId char(4) NOT NULL default \"\", " +
  3559.                                      " udate date default \"0000-00-00\", " +
  3560.                                      " reason varchar(30) NOT NULL default \"\", " +
  3561.                                      " PRIMARY KEY  (Ecode,NetId)" +
  3562.                                      " ) ENGINE=MyISAM DEFAULT CHARSET=latin1";
  3563.             try
  3564.             {
  3565.                 stmt.executeUpdate(sql);
  3566.                 checkForWeekDcr(con,ecode,netid);
  3567.             }catch(SQLException ex)
  3568.             {
  3569.                 Log.log("Exception after",ex.toString());
  3570.             }
  3571.         }
  3572.  
  3573.         finally
  3574.         {
  3575.             try
  3576.             {
  3577.                 if(stmt!=null)
  3578.                 stmt.close();
  3579.                 con.rollback();               //added by sagar
  3580.             }catch(Exception e)
  3581.             {
  3582.                 Log.log("Exception finally",e.toString());
  3583.             }
  3584.         }
  3585.             return flag;
  3586.     }
  3587.  
  3588.     private boolean checkWeekDcr(Connection con,String ecode,String netid)
  3589.     {
  3590.         boolean flag = false;
  3591.  
  3592.         Statement stmt = null;
  3593.  
  3594.         try
  3595.         {
  3596.             stmt = con.createStatement();
  3597.             String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek'";
  3598.             String val = "";
  3599.             ResultSet rs = stmt.executeQuery(sql);
  3600.             while(rs.next())
  3601.             {
  3602.                 val = rs.getString("SVarTxt");
  3603.             }
  3604.                 con.setAutoCommit(false);       //added by sagar
  3605.                 con.commit();//added by sagar
  3606.                 rs.close();
  3607.             if(val.equals("W"))
  3608.             {
  3609.                 sql = "SELECT DATEDIFF(ADDDATE(UDATE,7),curdate()) AS NOOFDAYS FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"'";
  3610.                 rs = stmt.executeQuery(sql);
  3611.                 int days = 0;
  3612.                 while(rs.next())
  3613.                 {
  3614.                     days = rs.getInt("NOOFDAYS");
  3615.                 }
  3616.                     rs.close();
  3617.                     if(days >0 & days <8)
  3618.                         return false;
  3619.                     else
  3620.                     {
  3621.  
  3622.                        // stmt.executeUpdate("DELETE FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"'");
  3623.                     }
  3624.                         return true;
  3625.             }
  3626.             else
  3627.             {
  3628.                return false;
  3629.             }
  3630.         } catch(SQLException e)
  3631.         {
  3632.             Log.log("Exception before",e.toString());
  3633.  
  3634.             String sql = "CREATE TABLE lockunlock ( " +
  3635.                                      " Ecode char(5) NOT NULL default \"\", "+
  3636.                                      " NetId char(4) NOT NULL default \"\", " +
  3637.                                      " udate date default \"0000-00-00\", " +
  3638.                                      " reason varchar(30) NOT NULL default \"\", " +
  3639.                                      " PRIMARY KEY (Ecode,NetId)" +
  3640.                                      " ) ENGINE=MyISAM DEFAULT CHARSET=latin1";
  3641.             try
  3642.             {
  3643.                 stmt.executeUpdate(sql);
  3644.                 checkForWeekDcr(con,ecode,netid);
  3645.             }catch(SQLException ex)
  3646.             {
  3647.                 Log.log("Exception after",ex.toString());
  3648.             }
  3649.         }
  3650.  
  3651.         finally
  3652.         {
  3653.             try
  3654.             {
  3655.                 if(stmt!=null)
  3656.                 stmt.close();
  3657.                 con.rollback();               //added by sagar
  3658.             }catch(Exception e)
  3659.             {
  3660.                 Log.log("Exception finally",e.toString());
  3661.             }
  3662.         }
  3663.             return flag;
  3664.     }
  3665.  
  3666.    public String getdays(Connection con,String gracedays,String ecode,String netid)
  3667.    {
  3668.        String days2="";
  3669.        Statement stmt = null;
  3670.        String sql="";
  3671.        try
  3672.           {
  3673.               stmt = con.createStatement();
  3674.               sql = "SELECT IF((SELECT DATEDIFF(ADDDATE(UDATE,\""+gracedays+"\"),curdate()) FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"')!=\"\",(SELECT DATEDIFF(ADDDATE(UDATE, \""+gracedays+"\"),curdate()) FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"'),\"0\") AS NOOFDAYS";
  3675.              // Log.log("897 :"+sql);
  3676.               ResultSet rs = stmt.executeQuery(sql);
  3677.  
  3678.               while(rs.next())
  3679.               {
  3680.                   days2 = rs.getString("NOOFDAYS");
  3681.               }
  3682.                        rs.close();
  3683.                         }
  3684.                        catch(SQLException e)
  3685.                        {
  3686.                             Log.printStackTrace(e);
  3687.                        }
  3688.                 //                 rs.close();
  3689.       return days2;
  3690.    }
  3691.  
  3692.     public boolean checkdcrdate(Connection con,String empcode)
  3693.     {
  3694.        boolean flg=false;
  3695.         try
  3696.         {
  3697.            Statement st=con.createStatement();
  3698.             ResultSet rs=st.executeQuery("select count(*) from lockunlock where ecode='"+empcode+"' ") ;
  3699.             if(rs.next())
  3700.             {
  3701.                 // Log.log("record exist : ") ;
  3702.                 if(rs.getInt(1)>0)
  3703.                     flg=false;
  3704.                 else
  3705.                     flg=true;
  3706.             }
  3707.  
  3708.         }
  3709.         catch(Exception e)
  3710.         {
  3711.            Log.printStackTrace(e);
  3712.         }
  3713.         return flg;
  3714.     }
  3715.  
  3716.     public boolean checkForDaysDcr(Connection con,String ecode,String netid,String dcrdate)
  3717.     {
  3718.         boolean flag = false;
  3719.         Statement stmt = null;
  3720.         try
  3721.         {
  3722.             stmt = con.createStatement();
  3723.             String sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='DCRWeek' ";
  3724.             String val = "";
  3725.             String valcheck = "";
  3726.             String gracedays = "";
  3727.             int diffdate = 0;
  3728.             ResultSet rs = stmt.executeQuery(sql);
  3729.  
  3730.             while(rs.next())
  3731.             {
  3732.                 val = rs.getString("SVarTxt");
  3733.             }
  3734.             con.setAutoCommit(false);
  3735.             //added by sagar
  3736.             con.commit();//added by sagar
  3737.             rs.close();
  3738.             //sql = "SELECT DateDiff(curdate(),\""+dcrdate+"\")+1 AS NOOFCHECKDAYS";
  3739.             sql = "SELECT DateDiff(curdate(),\""+dcrdate+"\") AS NOOFCHECKDAYS";
  3740.  
  3741.             rs = stmt.executeQuery(sql);
  3742.             while(rs.next())
  3743.             {
  3744.                 diffdate = rs.getInt("NOOFCHECKDAYS");
  3745.             }
  3746.  
  3747.             rs.close();
  3748.  
  3749.             StringTokenizer st = new StringTokenizer(val,",");
  3750.             while(st.hasMoreTokens())
  3751.                 {
  3752.                     valcheck=st.nextToken();
  3753.                     gracedays=st.nextToken();
  3754.                 }
  3755.  
  3756.             int valcheck1=Integer.parseInt(valcheck);
  3757.  
  3758.             if(valcheck1 == 0)
  3759.                 return false;
  3760.  
  3761.             if(diffdate > valcheck1)
  3762.             {
  3763.                 String days2 ="";
  3764.                 days2=getdays(con,gracedays,ecode,netid);
  3765.                 int gracedays1=Integer.parseInt(gracedays);
  3766.                 int days=Integer.parseInt(days2);
  3767.                 if((days<=gracedays1) && (days>0))
  3768.                      return false;   // do not lock
  3769.                 else
  3770.                     {
  3771.                            Statement stmt1=con.createStatement();
  3772.                            ResultSet rslochistory=stmt1.executeQuery("select * from lockunlock where ecode='"+ecode+"' and netid='"+netid+"' ");
  3773.                            while(rslochistory.next())
  3774.                            {
  3775.                                  //ecode=rslochistory.getString(1);
  3776.                                  //netid=rslochistory.getString(2);
  3777.                                  String uldate=rslochistory.getString(3);
  3778.                                  String reason=rslochistory.getString(4);
  3779.  
  3780.                                  String sqllockunlock = "CREATE TABLE IF NOT EXISTS lockunlocklockunlockhistory ( " +
  3781.                                                         " Ecode char(5) NOT NULL default \"\", "+
  3782.                                                         " NetId char(4) NOT NULL default \"\", " +
  3783.                                                         " udate date default \"0000-00-00\", " +
  3784.                                                         " lockdate date default \"0000-00-00\" ,"+
  3785.                                                         " reason varchar(30) NOT NULL default \"\", " +
  3786.                                                         " PRIMARY KEY (Ecode,NetId,lockdate) " +
  3787.                                                         " ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ";
  3788.  
  3789.  
  3790.                                  stmt1.executeUpdate(sqllockunlock);
  3791.                                  stmt1.executeUpdate("insert into lockunlockhistory values ('"+ecode+"','"+netid+"','"+uldate+"',curdate(),'"+reason+"')");
  3792.                            }
  3793.  
  3794.                     stmt1.executeUpdate("DELETE FROM LOCKUNLOCK WHERE ECODE='"+ecode+"' AND NETID='"+netid+"'");
  3795.                     return false;    // lock
  3796.                     }
  3797.            }
  3798.  
  3799.             else
  3800.             {
  3801.                return false;
  3802.             }
  3803.         } catch(SQLException e)
  3804.         {
  3805.            // Log.log("Exception before",e.toString());
  3806.             String sql = "CREATE TABLE lockunlock (" +
  3807.                                      " Ecode char(5) NOT NULL default \"\", "+
  3808.                                      " NetId char(4) NOT NULL default \"\", " +
  3809.                                      " udate date default \"0000-00-00\", " +
  3810.                                      " reason varchar(30) NOT NULL default \"\", " +
  3811.                                      " PRIMARY KEY  (Ecode,NetId)" +
  3812.                                      " ) ENGINE=MyISAM DEFAULT CHARSET=latin1";
  3813.  
  3814.               try
  3815.             {
  3816.                stmt.executeUpdate(sql);
  3817.                checkForDaysDcr(con,ecode,netid,dcrdate);
  3818.             }catch(SQLException ex)
  3819.             {
  3820.                 Log.log("Exception after",ex.toString());
  3821.             }
  3822.          }
  3823.  
  3824.         finally
  3825.         {
  3826.             try
  3827.             {
  3828.                 if(stmt!=null)
  3829.                 stmt.close();
  3830.                 con.rollback();               //added by sagar
  3831.             }catch(Exception e)
  3832.             {
  3833.                 Log.log("Exception finally",e.toString());
  3834.             }
  3835.         }
  3836.             return flag;
  3837.     }
  3838.      private String checkRemark(Connection con,String field)
  3839.      {
  3840.          String svartxt="";
  3841.          try{         Statement stmt=con.createStatement();
  3842.              ResultSet rs=stmt.executeQuery("SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='"+field+"'");
  3843.              if(rs.next())
  3844.              {
  3845.                 svartxt=rs.getString(1);
  3846.              }
  3847.          }   catch(Exception e){}
  3848.          return svartxt;
  3849.      }
  3850.  
  3851.       public String remarkExists(String dbname,String valexists,String varname,String[] dralter,String[] column,String systxt)
  3852.        {
  3853.              String svartxt = "";
  3854.              Connection con = null;
  3855.              Statement stmt = null;
  3856.              String altersql="";
  3857.  
  3858.            try
  3859.            {
  3860.                con = ConnectionHandler.getConnection(dbname);
  3861.                stmt = con.createStatement();
  3862.  
  3863.                if(valexists.equals("0"))
  3864.                {
  3865.                    String sysprmid="";
  3866.                    ResultSet rs1 = stmt.executeQuery("select max(IdSysPrm)+1 as IDSYS from sysprm");
  3867.                    while(rs1.next())
  3868.                    {
  3869.                        sysprmid = rs1.getString("IDSYS");
  3870.                    }
  3871.                    stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt) values ( '" +sysprmid+ "','"+varname+"','"+systxt+"')");
  3872.                    rs1.close();
  3873.                    if(dralter.length>0)
  3874.                    {
  3875.                       for(int j=0;j<(column.length);j++)
  3876.                       {
  3877.                        altersql="ALTER TABLE ";
  3878.                        for(int i=0;i<(dralter.length);i++)
  3879.                        {
  3880.                             if(i==1)
  3881.                        altersql+=" ADD COLUMN "+column[j];
  3882.                             if(i!=0)
  3883.                         {
  3884.                         if(i%4==0 || (i==(dralter.length-1)))
  3885.                             altersql+=" ";
  3886.                         }
  3887.                     altersql+=dralter[i];
  3888.                     if(i!=0)
  3889.                         {
  3890.                         if(i%4==0 & (i!=(dralter.length-1)))
  3891.                           ;//  altersql+=",ADD COLUMN ";
  3892.                         }
  3893.  
  3894.                        }
  3895.  
  3896.                          stmt.executeUpdate(altersql);
  3897.  
  3898.                    }
  3899.                       }
  3900.  
  3901.                }
  3902.                else
  3903.                {
  3904.  
  3905.                    ResultSet rs1 = stmt.executeQuery("SELECT left(SVARTXT,1) AS SVARTXT FROM SYSPRM WHERE SVARNAME='"+varname+"'");
  3906.                    if(rs1.next())
  3907.                    {
  3908.                        svartxt = rs1.getString("SVARTXT");
  3909.                    }
  3910.                    rs1.close();
  3911.                }
  3912.            }
  3913.            catch(SQLException e)
  3914.            {
  3915.                    Log.log("2 "+e.toString());
  3916.            }
  3917.  
  3918.            finally
  3919.            {
  3920.                try
  3921.                {
  3922.                    if(con!=null)
  3923.                    con.close();
  3924.                }catch(Exception e)
  3925.                {
  3926.                    Log.log("Exception finally",e.toString());
  3927.                }
  3928.            }
  3929.                return svartxt;
  3930.       }
  3931.  
  3932.     private boolean MtpCheck(String dbname,HttpSession s,String empcode,String netid)
  3933.     {
  3934.         Connection con = null;
  3935.         Statement stmt = null;
  3936.         boolean flg=false;
  3937.         String level1="";String level2="";String level3="";String leveldate="";
  3938.         String todate="";String chkdate="";String fromdate="";
  3939.         Integer elevel=((Integer)s.getAttribute("Elevel"));
  3940.         try{
  3941.         con = ConnectionHandler.getConnection(dbname);
  3942.         checkMtpinSysprm(con);
  3943.         stmt=con.createStatement();
  3944.         String sql="SELECT SVarTxt FROM SYSPRM WHERE SVarName='MTP'";
  3945.         ResultSet rs=stmt.executeQuery(sql);
  3946.  
  3947.             if(rs.next()){
  3948.                 StringTokenizer st=new StringTokenizer(rs.getString(1),",");
  3949.                 while(st.hasMoreTokens())
  3950.                 {
  3951.                     level1=st.nextToken();
  3952.                     level2=st.nextToken();
  3953.                     level3=st.nextToken();
  3954.                 }
  3955.                 if(elevel.intValue()==1){leveldate=level1;}
  3956.                 else if(elevel.intValue()==2){leveldate=level2;}
  3957.                 else leveldate=level3;
  3958.             }
  3959.                 String wdate = s.getAttribute("WorkingDay").toString()+"-"+s.getAttribute("WorkingMonth").toString()+"-"+s.getAttribute("WorkingYear").toString();
  3960.                 Calendar c = Calendar.getInstance();
  3961.                 String day = Integer.toString(c.get(c.DATE));
  3962.                 String year=s.getAttribute("WorkingYear").toString();
  3963.                 String month=s.getAttribute("WorkingMonth").toString();
  3964.                 if(month.equalsIgnoreCase("1")){
  3965.                     month="12";
  3966.                     year=String.valueOf(Integer.parseInt(year)-1);
  3967.                 }
  3968.                 else month=String.valueOf(Integer.parseInt(month)-1);
  3969.                 if(month.length()<2)
  3970.                     month="0"+month;
  3971.  
  3972.                 String wdate1=year+"-"+month+"-"+day;
  3973.  
  3974.                 Statement stmt1=con.createStatement();
  3975.                 String sql123="DROP TABLE IF EXISTS CHECKMTP"+empcode;
  3976.                 stmt1.executeUpdate(sql123);
  3977.                 String sql1="CREATE TEMPORARY TABLE CHECKMTP"+empcode+"(WDATE date);";
  3978.                 stmt1.executeUpdate(sql1);
  3979.  
  3980.                 String sql2="select day(last_day('"+wdate1+"')) as Totaldays";
  3981.                 ResultSet rs2=stmt1.executeQuery(sql2);
  3982.                 if(rs2.next())
  3983.                       todate=rs2.getString(1);
  3984.  
  3985.                 InfoHelper ih = null;
  3986.                 ih = new InfoHelper(con,empcode,dbname);
  3987.  
  3988.                 for(int i=1;i<=Integer.parseInt(todate);i++)
  3989.                 {
  3990.                     fromdate=Integer.toString(i);
  3991.                     if(fromdate.length()<2)
  3992.                         fromdate="0"+i;
  3993.  
  3994.                     chkdate=year+"-"+month+"-"+fromdate;
  3995.  
  3996.                     if(!(ih.isAHoliday(chkdate,empcode))){
  3997.                         String sql3="INSERT INTO CHECKMTP"+empcode+" VALUES('"+chkdate+"')";
  3998.                         stmt1.executeUpdate(sql3);
  3999.                     }
  4000.                  }
  4001.  
  4002.                 String count1="";
  4003.                 String sql4="SELECT COUNT(*) FROM CHECKMTP"+empcode;
  4004.                 ResultSet rs4=stmt1.executeQuery(sql4);
  4005.                 if(rs4.next())
  4006.                     count1=rs4.getString(1);
  4007.  
  4008.                 String count2="";
  4009.                 String sql5="SELECT COUNT(*) FROM MTP WHERE EMP='"+empcode+"' and NETID='"+netid+"' and WDate>='"+(year+"-"+month+"-01")+"' and WDate<='"+year+"-"+month+"-"+todate+"'";
  4010.                 ResultSet rs5=stmt1.executeQuery(sql5);
  4011.                 if(rs5.next())
  4012.                     count2=rs5.getString(1);
  4013.  
  4014.                 if(!(count1.equalsIgnoreCase(count2)))
  4015.                 {
  4016.                    int a=Integer.parseInt(day);
  4017.                    int b=Integer.parseInt(leveldate);
  4018.                    if(leveldate.equalsIgnoreCase("0"))
  4019.                         flg=false;
  4020.                    else if((a > b))
  4021.                         flg=true;
  4022.                 }
  4023.               }
  4024.         catch(Exception e)
  4025.         {
  4026.           Log.log("3 "+e.toString());
  4027.           e.printStackTrace();
  4028.         }
  4029.  
  4030.         finally
  4031.         {
  4032.             try
  4033.             {
  4034.                 if(stmt!=null)
  4035.                     stmt.close();
  4036.                 if(con!=null)
  4037.                     con.close();
  4038.             } catch(Exception e)
  4039.             {
  4040.                 Log.log("MTP Changes",e.toString());
  4041.             }
  4042.         }
  4043.     return flg;
  4044.     }
  4045.  
  4046.     private void checkMtpinSysprm(Connection con)
  4047.     {
  4048.         try{
  4049.         Statement stmt=con.createStatement();
  4050.         ResultSet rs=stmt.executeQuery("SELECT * FROM SYSPRM WHERE SVARNAME='MTP'");
  4051.         if(!rs.next()){
  4052.         ResultSet rs1=stmt.executeQuery("select max(idsysprm)+1 from sysprm");
  4053.         rs1.next();
  4054.         stmt.executeUpdate("insert into sysprm values('"+rs1.getString(1)+"','MTP','0,0,0','')");
  4055.         }
  4056.         }
  4057.         catch(Exception e)
  4058.         {
  4059.             Log.log("5 "+e.toString());
  4060.         }
  4061.     }
  4062.     private static String getsysprmcount(String varname,Connection con)
  4063.             {
  4064.                   String valexists="";
  4065.                 try
  4066.                 {
  4067.                     Statement stmt = con.createStatement();
  4068.                     ResultSet rs1 = stmt.executeQuery("SELECT count(*) as SVARTXT FROM SYSPRM WHERE SVARNAME='"+varname+"'");
  4069.                     if(rs1.next())
  4070.                     {
  4071.                       valexists = rs1.getString(1);
  4072.                     }
  4073.                     rs1.close();
  4074.                     stmt.close();
  4075.                 }
  4076.                 catch(SQLException e)
  4077.                 {
  4078.                         Log.log(e.toString(),"Error");
  4079.                 }
  4080.                     return valexists;
  4081.             }
  4082.  
  4083.         private static String remarkExists(String dbname,String valexists,String varname,String systxt)
  4084.             {
  4085.                   String svartxt = "";
  4086.                   Connection con = null;
  4087.  
  4088.                   String altersql="";
  4089.  
  4090.                   try
  4091.                   {
  4092.                     con = ConnectionHandler.getConnection(dbname);
  4093.                     Statement stmt = con.createStatement();
  4094.  
  4095.                     if(valexists.equals("0"))
  4096.                     {
  4097.                         String sysprmid="";
  4098.                         ResultSet rs1 = stmt.executeQuery("select max(IdSysPrm)+1 as IDSYS from sysprm");
  4099.                         while(rs1.next())
  4100.                         {
  4101.                             sysprmid = rs1.getString("IDSYS");
  4102.                         }
  4103.                         stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt) values ( '" +sysprmid+ "','"+varname+"','"+systxt+"')");
  4104.                         rs1.close();
  4105.                     }
  4106.                     else
  4107.                     {
  4108.                         ResultSet rs1 = stmt.executeQuery("SELECT left(SVARTXT,1) AS SVARTXT FROM SYSPRM WHERE SVARNAME='"+varname+"'");
  4109.                         if(rs1.next())
  4110.                         {
  4111.                             svartxt = rs1.getString("SVARTXT");
  4112.                           //  rem = rs1.getString("SVARTXT");
  4113.                         }
  4114.                         rs1.close();
  4115.                     }
  4116.                     stmt.close();
  4117.                 }
  4118.                 catch(SQLException e)
  4119.                 {
  4120.                         Log.log(e.toString(),"Error");
  4121.                 }
  4122.                 finally
  4123.                  {
  4124.                      try
  4125.                      {
  4126.                          if(con!=null)
  4127.                              con.close();
  4128.                      } catch(Exception e)
  4129.                      {
  4130.                          Log.log("MTP Changes",e.toString());
  4131.                      }
  4132.                  }
  4133.             return svartxt;
  4134.           }
  4135.     public String getDrName(String cntcd,Connection con,String hcenetid )
  4136.     {
  4137.         String drname="";
  4138.         try
  4139.         {
  4140.         Statement stmt=con.createStatement();
  4141.         ResultSet rs=stmt.executeQuery("select drname from doched where cntcd='"+cntcd+"' and netid='"+hcenetid+"' ");
  4142.         if(rs.next())
  4143.             drname=rs.getString(1);
  4144.  
  4145.         rs.close();
  4146.         }
  4147.         catch(Exception e)
  4148.         {
  4149.             Log.log(e.toString(),"Error 555");
  4150.         }
  4151.      return drname;
  4152.     }
  4153.  
  4154.     public String getTcpidMTP(String dcrdate,String netid,String dbname,String empcode)
  4155.     {
  4156.         String tcpid="";
  4157.         try{
  4158.          Connection con=ConnectionHandler.getConnection(dbname);
  4159.          Statement stmt=con.createStatement();
  4160.          ResultSet rs=stmt.executeQuery("select tcpid from mtp where netid='"+netid+"' and wdate='"+dcrdate+"' and aprvcode<>'' and emp='"+empcode+"' ");
  4161.          if(rs.next())
  4162.             tcpid=rs.getString(1);
  4163.  
  4164.          con.close();
  4165.          rs.close();
  4166.         }
  4167.         catch(Exception e)
  4168.         {
  4169.             Log.log("6 "+e.toString());
  4170.         }
  4171.     return tcpid;
  4172.     }
  4173.  
  4174.     public String ShdCheck(String netid,String dcrdate,String dbname)
  4175.     {
  4176.       String tcp="";
  4177.       Connection con=null;
  4178.  
  4179.       try
  4180.       {
  4181.       con=ConnectionHandler.getConnection(dbname);
  4182.       Statement stmt=con.createStatement();
  4183.  
  4184.       Log.log("151515  : select t.tcpid,t.town,t.aprvcode from mtp m,tcphed t where m.netid='"+netid+"' and m.wdate='"+dcrdate+"' and m.tcpid=t.tcpid and m.netid=t.netid and t.aprvcode='' ");
  4185.       ResultSet rs=stmt.executeQuery("select t.tcpid,t.town,t.aprvcode from mtp m,tcphed t where m.netid='"+netid+"' and m.wdate='"+dcrdate+"' and m.tcpid=t.tcpid and m.netid=t.netid and t.aprvcode='' ");
  4186.       if(rs.next())
  4187.       {
  4188.         tcp=rs.getString(1)+"/"+rs.getString(2);
  4189.       }
  4190.       rs.close();
  4191.      }
  4192.       catch(Exception e)
  4193.       {
  4194.           Log.log("7 "+e.toString());
  4195.       }
  4196.  
  4197. //todo
  4198.      finally
  4199.      {
  4200.          try
  4201.          {
  4202.               if(con!=null)
  4203.                  con.close();
  4204.          } catch(Exception e)
  4205.          {
  4206.              Log.log("Connection Not Closing",e.toString());
  4207.          }
  4208.      }
  4209.  
  4210.     return tcp;
  4211.     }
  4212.  
  4213.  
  4214.     public String MTPAprv(String netid,String dcrdate,String dbname,String ecode)
  4215.     {
  4216.         String mtp="";
  4217.         int mtpcnt = 0;
  4218.         int holcnt = 0;
  4219.         int totaldays = 0;
  4220.         int jndate=0;
  4221.         Connection con = null;
  4222.         String mon = DateUtils.fillMonthNumber(DateUtils.toDMY(dcrdate).substring((DateUtils.toDMY(dcrdate).indexOf("/"))+1,DateUtils.toDMY(dcrdate).lastIndexOf("/")));
  4223.         String yr = DateUtils.toDMY(dcrdate).substring(DateUtils.toDMY(dcrdate).lastIndexOf("/")+1,DateUtils.toDMY(dcrdate).length());
  4224.         int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
  4225.      try
  4226.      {
  4227.       con=ConnectionHandler.getConnection(dbname);
  4228.       Statement stmt=con.createStatement();
  4229.  
  4230.          ResultSet rs1 = stmt.executeQuery("select count(*) cnt from mtp where netid='"+netid+"' and emp='" + ecode +"' and month(wdate)='"+mon+"' and year(wdate)='"+yr+"' and aprvcode <> ''");
  4231.          while(rs1.next())
  4232.          {
  4233.              mtpcnt = Integer.parseInt(rs1.getString(1));
  4234.          }
  4235.  
  4236.          ResultSet rs2 = stmt.executeQuery("select count(*) from holmst where month(hdate)='"+mon+"' and year(hdate)='"+yr+"' and ecode='"+ecode+"' and aprvcode <> ''");
  4237.          while(rs2.next())
  4238.          {
  4239.              holcnt = Integer.parseInt(rs2.getString(1));
  4240.          }
  4241.  
  4242.          ResultSet rs3=stmt.executeQuery("select day(max(joindate)) as d from nettrans where level1='"+ecode+"' and netid='"+netid+"' ") ;
  4243.          while(rs3.next())
  4244.          {
  4245.             jndate=rs3.getInt(1);
  4246.          }
  4247.  
  4248.          totaldays = days[(Integer.parseInt(mon))-1];
  4249.          totaldays=totaldays-jndate;
  4250.          if((mtpcnt + holcnt) >= totaldays)
  4251.          {
  4252.              mtp = netid;
  4253.          }
  4254.          stmt.close();
  4255.      }
  4256.      catch(Exception e)
  4257.      {
  4258.          Log.log("8"+e.toString());
  4259.      }
  4260.      finally
  4261.      {
  4262.          try
  4263.          {
  4264.              if(con!=null)
  4265.                  con.close();
  4266.          }
  4267.          catch(Exception e)
  4268.          {
  4269.              Log.log("Connection Not Closing",e.toString());
  4270.          }
  4271.      }
  4272.        return mtp;
  4273.     }
  4274.  
  4275.    /* private String getdrsamplegiven(String dcrno,Connection con)
  4276.     {
  4277.         String drname="";
  4278.         String cntcd="";
  4279.         String serial="";
  4280.         String drlist="";
  4281.         try{
  4282.         Statement stmt=con.createStatement();
  4283.         ResultSet rs1=null;
  4284.         ResultSet rs=stmt.executeQuery("select doched.drname,dcrd.cntcd,dcrd.serial from dcrd,doched where dcrd.custflg='D' and dcrno='"+dcrno+"' and dcrd.cntcd=doched.cntcd ");
  4285.         while(rs.next())
  4286.         {
  4287.             drname=rs.getString(1);
  4288.             cntcd=rs.getString(2);
  4289.             serial=rs.getString(3);
  4290.             Statement st=con.createStatement();
  4291.             rs1=st.executeQuery(" select count(*) from dcrd,doched,dcrp,prodmst where dcrd.custflg='D' "+
  4292.                                 " and dcrd.dcrno='"+dcrno+"' and dcrd.cntcd='"+cntcd+"' and dcrd.cntcd=doched.cntcd "+
  4293.                                 " and dcrp.dcrno=dcrd.dcrno and dcrd.serial = dcrp.serial  and dcrp.serial='"+serial+"' "+
  4294.                                 " and prodmst.prodid=dcrp.prodid and prodmst.ptype=1 ");
  4295.  
  4296.             if(rs1.next())
  4297.             {
  4298.               if(rs1.getString(1).equalsIgnoreCase("0"))
  4299.               {
  4300.               drlist+=drname;
  4301.               drlist+=",";
  4302.               }
  4303.             }
  4304.         }
  4305.  
  4306.         }
  4307.         catch(Exception e)
  4308.         {
  4309.             Log.log("9"+e.toString());
  4310.         }
  4311.      return drlist;
  4312.     }
  4313.     */
  4314.  
  4315.     private String getdrsamplegiven(String dcrno,Connection con,String dcrdateyrmth)
  4316.     {
  4317.         String drname="";
  4318.         String cntcd="";
  4319.         String serial="";
  4320.         String drlist="";
  4321.         try{
  4322.         Statement stmt=con.createStatement();
  4323.          ResultSet rs1;
  4324.         ResultSet rs=stmt.executeQuery("select doched.drname,dcrd.cntcd,dcrd.serial " +
  4325.                 " from dcrd,doched " +
  4326.                 " where dcrd.custflg='D' and dcrno='"+dcrno+"' " +
  4327.                 " and ( dcrd.cntcd=doched.cntcd AND dcrd.wnetid=doched.netid) " +
  4328.                 " AND (doched.DELDATE='0000-00-00' OR CONCAT(SUBSTRING(doched.DELDATE,1,4),SUBSTRING(doched.DELDATE,6,2))>='"+dcrdateyrmth+"') ");
  4329.  
  4330.         while(rs.next())
  4331.         {
  4332.             drname=rs.getString(1);
  4333.             cntcd=rs.getString(2);
  4334.             serial=rs.getString(3);
  4335.             Statement st=con.createStatement();
  4336.             rs1=st.executeQuery("select count(*) from dcrd,doched,dcrp,prodmst where dcrd.custflg='D' "+
  4337.                                 " and dcrd.dcrno='"+dcrno+"' and dcrd.cntcd='"+cntcd+"' and" +
  4338.                                 " ( dcrd.cntcd=doched.cntcd and dcrd.wnetid=doched.netid ) "+
  4339.                                 " and dcrp.dcrno=dcrd.dcrno and dcrd.serial = dcrp.serial  and dcrp.serial='"+serial+"' "+
  4340.                                 " and prodmst.prodid=dcrp.prodid and prodmst.ptype=1  " +
  4341.                                 " AND (doched.DELDATE='0000-00-00' OR CONCAT(SUBSTRING(doched.DELDATE,1,4),SUBSTRING(doched.DELDATE,6,2))>='"+dcrdateyrmth+"')");
  4342.  
  4343.             if(rs1.next())
  4344.             {
  4345.               if(rs1.getString(1).equalsIgnoreCase("0"))
  4346.               {
  4347.               drlist+=drname;
  4348.               drlist+=",";
  4349.               }
  4350.  
  4351.             }
  4352.         }
  4353.  
  4354.         }
  4355.         catch(Exception e)
  4356.         {
  4357.             Log.log(e.toString());
  4358.         }
  4359.      return drlist;
  4360.     }
  4361.  
  4362.     private String getdrgiftgiven(String dcrno,Connection con,String dcrdateyrmth)
  4363.     {
  4364.         String drname="";
  4365.         String cntcd="";
  4366.         String serial="";
  4367.         String drlist="";
  4368.         try
  4369.         {
  4370.         Statement stmt=con.createStatement();
  4371.         ResultSet rs1=null;
  4372.         ResultSet rs=stmt.executeQuery("select doched.drname,dcrd.cntcd,dcrd.serial " +
  4373.                 " from dcrd,doched where dcrd.custflg='D' " +
  4374.                 " and dcrno='"+dcrno+"' and ( dcrd.cntcd=doched.cntcd and dcrd.wnetid=doched.netid ) " +
  4375.                 " AND (doched.DELDATE='0000-00-00' OR CONCAT(SUBSTRING(doched.DELDATE,1,4),SUBSTRING(doched.DELDATE,6,2))>='"+dcrdateyrmth+"') ");
  4376.  
  4377.         while(rs.next())
  4378.         {
  4379.             drname=rs.getString(1);
  4380.             cntcd=rs.getString(2);
  4381.             serial=rs.getString(3);
  4382.             Statement st=con.createStatement();
  4383.             rs1=st.executeQuery("select count(*) from dcrd,doched,dcrp,prodmst where dcrd.custflg='D' "+
  4384.                                 " and dcrd.dcrno='"+dcrno+"' and dcrd.cntcd='"+cntcd+"' and" +
  4385.                                 " ( dcrd.cntcd=doched.cntcd  and dcrd.wnetid=doched.netid )"+
  4386.                                 " and dcrp.dcrno=dcrd.dcrno and dcrd.serial=dcrp.serial  and dcrp.serial='"+serial+"' "+
  4387.                                 " and prodmst.prodid=dcrp.prodid and prodmst.ptype=2 " +
  4388.                                 " AND (doched.DELDATE='0000-00-00' OR CONCAT(SUBSTRING(doched.DELDATE,1,4),SUBSTRING(doched.DELDATE,6,2))>='"+dcrdateyrmth+"') ");
  4389.             if(rs1.next())
  4390.             {
  4391.              // Log.log(""+rs1.getString(1));
  4392.               if(rs1.getString(1).equalsIgnoreCase("0"))
  4393.               {
  4394.               drlist+=drname;
  4395.               drlist+=",";
  4396.               }
  4397.             }
  4398.           }
  4399.           rs.close();
  4400.         }
  4401.         catch(Exception e)
  4402.         {
  4403.             Log.log("10 "+e.toString());
  4404.         }
  4405.      return drlist;
  4406.     }
  4407.     //_______________________________________________________
  4408.      private String getdrwwith(String dcrno,Connection con,String dcrdateyrmth)
  4409.     {
  4410.         String drlist="";
  4411.         try{
  4412.         Statement stmt=con.createStatement();
  4413.         ResultSet rs=stmt.executeQuery("select doched.drname from dcrd,doched " +
  4414.                 " where dcrd.custflg='D' and dcrno='"+dcrno+"' " +
  4415.                 " and ( dcrd.cntcd=doched.cntcd and dcrd.wnetid=doched.netid )" +
  4416.                 " and dcrd.wrkwith='' " +
  4417.                 " AND (Doched.DELDATE='0000-00-00' OR CONCAT(SUBSTRING(Doched.DELDATE,1,4),SUBSTRING(Doched.DELDATE,6,2))>='"+dcrdateyrmth+"')");
  4418.         if(rs.next())
  4419.         { rs.previous();
  4420.           while(rs.next())
  4421.           {
  4422.               drlist+=rs.getString(1);
  4423.               drlist+=",";
  4424.            }
  4425.          }
  4426.           rs.close();
  4427.         }
  4428.         catch(Exception e)
  4429.         {
  4430.             Log.log("11"+e.toString());
  4431.         }
  4432.      return drlist;
  4433.     }
  4434.     //________________________________________________________
  4435.  
  4436.     private String getcheckDrChExp(String dcrno,Connection con)
  4437.     {
  4438.         String tmp="";
  4439.         try
  4440.         {
  4441.         Statement stmt=con.createStatement();
  4442.         ResultSet rs=stmt.executeQuery("select count(*) from dcrd where custflg='D' and dcrno='"+dcrno+"' ");
  4443.         if(rs.next())
  4444.         {
  4445.             if(rs.getString(1).equalsIgnoreCase("0"))
  4446.             tmp+="Doctor";
  4447.         }
  4448.  
  4449.         ResultSet rs1=stmt.executeQuery("select count(*) from dcrd where custflg='C' and dcrno='"+dcrno+"' ");
  4450.         if(rs1.next())
  4451.         {
  4452.             if(rs1.getString(1).equalsIgnoreCase("0"))
  4453.             tmp+=" Chemist";
  4454.         }
  4455.  
  4456.        /*
  4457.        ResultSet rs2=stmt.executeQuery("select count(*) from dcre where dcrno='"+dcrno+"' ");
  4458.         if(rs2.next())
  4459.         {
  4460.             if(rs2.getString(1).equalsIgnoreCase("0"))
  4461.             tmp+=" Expense";
  4462.         }
  4463.         */
  4464.  
  4465.         if(!tmp.equalsIgnoreCase(""))
  4466.            tmp = tmp+" Section is Blank";
  4467.  
  4468.         stmt.close();
  4469.         rs.close();
  4470.         }
  4471.         catch(Exception e)
  4472.         {
  4473.             Log.log("12"+e.toString());
  4474.         }
  4475.      return tmp;
  4476.     }
  4477.  
  4478.     private String getcheckExp(String dcrno,Connection con)
  4479.     {
  4480.         String tmp="";
  4481.  
  4482.         try
  4483.         {
  4484.         Statement stmt=con.createStatement();
  4485.         ResultSet rs2=stmt.executeQuery("select count(*) from dcre where dcrno='"+dcrno+"' ");
  4486.         if(rs2.next())
  4487.         {
  4488.             if(rs2.getString(1).equalsIgnoreCase("0"))
  4489.             tmp +="Expense";
  4490.         }
  4491.         rs2.close();
  4492.         }
  4493.         catch(Exception e)
  4494.         {
  4495.             Log.log("13 "+e.toString());
  4496.         }
  4497.      return tmp;
  4498.     }
  4499.  
  4500.     private String getcheckTcpid(String dcrno,Connection con)
  4501.        {
  4502.            String tmp="";
  4503.  
  4504.            try{
  4505.                Statement stmt =con.createStatement();
  4506.                ResultSet rs2=stmt.executeQuery("select wrkflg from dcrh where dcrno='"+dcrno+"' ");
  4507.                if(rs2.next())
  4508.                {
  4509.                  tmp +=rs2.getString(1);
  4510.                }
  4511.                rs2.close();
  4512.                stmt.close();
  4513.               }
  4514.               catch(Exception e)
  4515.               {
  4516.                Log.log("14 "+e.toString());
  4517.               }
  4518.               return tmp;
  4519.        }
  4520.  
  4521.  private String checkcountactualtotaldays(String dbname,HttpSession s,String empcode,String netid)
  4522.           {
  4523.             Connection con = null;
  4524.  
  4525.             String  countactualdays="";
  4526.  
  4527.             boolean flg=false;
  4528.  
  4529.             String jnd="",jnm="",jny="";
  4530.  
  4531.             int j=1;
  4532.  
  4533.             String level1="";String level2="";String level3="";String leveldate="";
  4534.             String todate="";String chkdate="";String fromdate="";
  4535.  
  4536.             Integer elevel=((Integer)s.getAttribute("Elevel"));
  4537.             try
  4538.             {
  4539.             con = ConnectionHandler.getConnection(dbname);
  4540.             checkMtpinSysprm(con);
  4541.             Statement stmt=con.createStatement();
  4542.             String sql="SELECT SVarTxt FROM SYSPRM WHERE SVarName='MTP'";
  4543.  
  4544.             ResultSet rs=stmt.executeQuery(sql);
  4545.  
  4546.             if(rs.next())
  4547.             {
  4548.                     StringTokenizer st=new StringTokenizer(rs.getString(1),",");
  4549.                     while(st.hasMoreTokens())
  4550.                     {
  4551.                         level1=st.nextToken();
  4552.                         level2=st.nextToken();
  4553.                         level3=st.nextToken();
  4554.                     }
  4555.                     if(elevel.intValue()==1){leveldate=level1;}
  4556.                     else if(elevel.intValue()==2){leveldate=level2;}
  4557.                     else leveldate=level3;
  4558.             }
  4559.  
  4560.             String wdate1=s.getAttribute("DCRDate").toString();
  4561.            // Log.log("wdate1 : "+wdate1);
  4562.  
  4563.             String month = DateUtils.fillMonthNumber(DateUtils.toDMY(wdate1).substring((DateUtils.toDMY(wdate1).indexOf("/"))+1,DateUtils.toDMY(wdate1).lastIndexOf("/")));
  4564.             String year = DateUtils.toDMY(wdate1).substring(DateUtils.toDMY(wdate1).lastIndexOf("/")+1,DateUtils.toDMY(wdate1).length());
  4565.  
  4566.             Statement stmt1=con.createStatement();
  4567.             String sql123="DROP TABLE IF EXISTS tempchkmtp"+empcode;
  4568.             stmt1.executeUpdate(sql123);
  4569.             String sql1="CREATE TEMPORARY TABLE tempchkmtp"+empcode+" (WDATE date);";
  4570.             stmt1.executeUpdate(sql1);
  4571.  
  4572.             String sql2="select day(last_day('"+wdate1+"')) as Totaldays";
  4573.             ResultSet rs2 = stmt1.executeQuery(sql2);
  4574.             if(rs2.next())
  4575.                  todate=rs2.getString(1);
  4576.  
  4577.             rs2.close();
  4578.             //Log.log("101020 :"+todate);
  4579.             InfoHelper ih = null;
  4580.             ih = new InfoHelper(con,empcode,dbname);
  4581.             ResultSet rs3=stmt.executeQuery("select day(min(joindate)) as D,month(min(joindate)) as M,year(min(joindate)) as Y from nettrans where level1='"+empcode+"' and netid='"+netid+"' and mth='"+month+"' and yr='"+year+"'");
  4582.            //Log.log("101212 : select day(min(joindate)) as D,month(min(joindate)) as M,year(min(joindate)) as Y from nettrans where level1='"+empcode+"' and netid='"+netid+"' and mth='"+month+"' and yr='"+year+"'");
  4583.             while(rs3.next())
  4584.             {
  4585.               jnd=rs3.getString(1);
  4586.               jnm=rs3.getString(2);
  4587.               jny=rs3.getString(3);
  4588.             }
  4589.             rs3.close();
  4590.  
  4591.              if(jnm.length()<2)
  4592.                  jnm="0"+jnm;
  4593.  
  4594.              if(month.equalsIgnoreCase(jnm) && year.equalsIgnoreCase(jny))
  4595.              {
  4596.                  j=Integer.parseInt(jnd);
  4597.              }
  4598.  
  4599.              for(int i=j;i<=Integer.parseInt(todate);i++)
  4600.              {
  4601.                 fromdate=Integer.toString(i);
  4602.                 if(fromdate.length()<2)
  4603.                      fromdate="0"+i;
  4604.  
  4605.                 chkdate=year+"-"+month+"-"+fromdate;
  4606.                 if(!(ih.isAHoliday(chkdate,empcode)))
  4607.                 {
  4608.                    String sql3="INSERT INTO tempchkmtp"+empcode+" VALUES ('"+chkdate+"') ";
  4609.                    stmt1.executeUpdate(sql3);
  4610.                 }
  4611.               }
  4612.                     String count1="";
  4613.                     String days=""+j;
  4614.                     if(days.length()<2)
  4615.                         days="0"+days;
  4616.                     String sql4="select DAY(TEMPCHKMTP"+empcode+".WDATE) from tempchkmtp"+empcode+" LEFT join mtp "+
  4617.                                 " on tempchkmtp"+empcode+".wdate = mtp.WDate AND mtp.emp='"+empcode+"' and mtp.wdate>='"+year+"-"+month+"-"+days+"' and mtp.wdate<='"+year+"-"+month+"-"+todate+"' and aprvcode<> '' "+
  4618.                                 " WHERE MTP.WDATE IS NULL";
  4619.  
  4620.                    // Log.log("504 : "+sql4);
  4621.                     ResultSet rs4=stmt1.executeQuery(sql4);
  4622.                     while(rs4.next())
  4623.                     {
  4624.                       countactualdays+=rs4.getString(1)+",";
  4625.                     }
  4626.                     rs4.close();
  4627.                     rs.close();
  4628.             }
  4629.             catch(Exception e)
  4630.             {
  4631.                 Log.log("15 "+e.toString());
  4632.                 Log.printStackTrace(e);
  4633.             }
  4634.             finally
  4635.             {
  4636.                 try
  4637.                 {
  4638.                     if(con!=null)
  4639.                         con.close();
  4640.                 } catch(Exception e)
  4641.                 {
  4642.                     Log.log("MTP Changes",e.toString());
  4643.                 }
  4644.             }
  4645.         return countactualdays;
  4646.         }
  4647.     //*************************************************************************************
  4648.  
  4649.       private String checkcountactualtotaldays1(String dbname,HttpSession s,String empcode,String netid)
  4650.         {
  4651.            // Log.log("501 : ");
  4652.             String mthmtpnotfeed="";
  4653.             createtable(wmth,wyr,empcode,netid,dbname) ;
  4654.             String mtharr[]=new String[4];
  4655.             mtharr=mtharr(wmth,wyr,dbname);
  4656.             Connection con;
  4657.             con = ConnectionHandler.getConnection(dbname);
  4658.             try{
  4659.             Statement st=con.createStatement();
  4660.             ResultSet rs=st.executeQuery("select * from finaltable where ecode='"+empcode+"' and netid='"+netid+"'");
  4661.             if(rs.next())
  4662.             {
  4663.                  if(rs.getInt(2)!=0)
  4664.                    mthmtpnotfeed=mtharr[0]+":-"+rs.getString(2);
  4665.                  if(rs.getInt(3)!=0)
  4666.                    mthmtpnotfeed+=mtharr[1]+":-"+rs.getString(3);
  4667.                  if(rs.getInt(4)!=0)
  4668.                    mthmtpnotfeed+=mtharr[2]+":-"+rs.getString(4);
  4669.                 if(rs.getInt(5)!=0)
  4670.                    mthmtpnotfeed+=mtharr[3]+":-"+rs.getString(5);
  4671.             }
  4672.             rs.close();
  4673.             st.close();
  4674.             con.close();
  4675.             }
  4676.           catch(Exception e)
  4677.             {
  4678.             }
  4679.           /*  boolean flag=true;
  4680.             Connection con = null;
  4681.             Statement stmt = null,ststartdate=null;
  4682.             String  countactualdays="";
  4683.  
  4684.             String level1="",level2="",level3="",leveldate="" ;
  4685.             String startmonth="",startdate="",dtarr="" ;
  4686.  
  4687.            // String dtarr[]=new String[3];
  4688.             Integer elevel=((Integer)s.getAttribute("Elevel"));
  4689.             try
  4690.             {
  4691.             con = ConnectionHandler.getConnection(dbname);
  4692.             checkMtpinSysprm(con);
  4693.            //*************************************************************************************888
  4694.             ststartdate=con.createStatement();
  4695.             ResultSet rsstartdate=ststartdate.executeQuery("select month(svartxt) from sysprm where svarname='startdate' ");
  4696.  
  4697.             if(rsstartdate.next())
  4698.             {
  4699.              startmonth=rsstartdate.getString(1);
  4700.             }
  4701.  
  4702.             String wdate1="";
  4703.             wdate1 = s.getAttribute("WorkingYear").toString() + "-" + s.getAttribute("WorkingMonth").toString() + "-" + s.getAttribute("WorkingDay").toString();
  4704.             //Log.log("WDATE1 "+wdate1);
  4705.             Calendar c = Calendar.getInstance();
  4706.             String currdate = c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
  4707.             wdate1=currdate;
  4708.  
  4709.             //Log.log(" W "+wdate1);
  4710.             String month = DateUtils.fillMonthNumber(DateUtils.toDMY(wdate1).substring((DateUtils.toDMY(wdate1).indexOf("/"))+1,DateUtils.toDMY(wdate1).lastIndexOf("/")));
  4711.             String year = DateUtils.toDMY(wdate1).substring(DateUtils.toDMY(wdate1).lastIndexOf("/")+1,DateUtils.toDMY(wdate1).length());
  4712.  
  4713.             Statement sttemp=con.createStatement();
  4714.             sttemp.executeUpdate("create temporary table date( d date)");
  4715.             sttemp.executeUpdate("insert into date values ('"+wdate1+"')");
  4716.  
  4717.             startdate=year+"-"+startmonth+"-"+"01";
  4718.             dtarr = startdate;
  4719.             String dt="";
  4720.             for(int i=1;(i<3)&&(flag==true);i++)
  4721.             {
  4722.                 //dtarr[i]=startdate;
  4723.                  while(flag==true)
  4724.                  {
  4725.                    dt=dtarr ;
  4726.                    Statement stdate=con.createStatement();
  4727.                    ResultSet rsdate=stdate.executeQuery("select date_add('"+startdate+"',interval+4 month)");
  4728.                    if(rsdate.next())
  4729.                    {
  4730.                      startdate=rsdate.getString(1);
  4731.                      dtarr=startdate;
  4732.                     // Log.log("DATE : "+dt+" DATE1 : "+dtarr);
  4733.                    }
  4734.                    sttemp=con.createStatement();
  4735.                    ResultSet rs=sttemp.executeQuery("select d from date where d>='"+dt+"' and d<='"+dtarr+"' ") ;
  4736.                    if(rs.next())
  4737.                    {
  4738.                     // Log.log("dcrdate :"+rs.getString(1));
  4739.                      dtarr=dt;
  4740.                      flag=false;
  4741.                    }
  4742.                   }
  4743.             }
  4744.                 Statement stdate=con.createStatement();
  4745.                 ResultSet rsdate=stdate.executeQuery("select month('"+dtarr+"')") ;
  4746.                 if(rsdate.next())
  4747.                 {
  4748.                   month=rsdate.getString(1);
  4749.                 }
  4750.  
  4751.              //***********************************************************************
  4752.  
  4753.            if(flag==false)
  4754.             {
  4755.             stmt=con.createStatement();
  4756.             ResultSet rs=stmt.executeQuery("SELECT SVarTxt FROM SYSPRM WHERE SVarName='MTP'");
  4757.  
  4758.             if(rs.next())
  4759.             {
  4760.                     StringTokenizer st=new StringTokenizer(rs.getString(1),",");
  4761.                     while(st.hasMoreTokens())
  4762.                     {
  4763.                         level1=st.nextToken();
  4764.                         level2=st.nextToken();
  4765.                         level3=st.nextToken();
  4766.                     }
  4767.                     if(elevel.intValue()==1)
  4768.                     {
  4769.                         leveldate=level1;
  4770.                     }
  4771.                     else if(elevel.intValue()==2)
  4772.                     {
  4773.                         leveldate=level2;
  4774.                     }
  4775.                     else leveldate=level3;
  4776.               }
  4777.  
  4778.             int mthmtp=0,hmth=0,totdays=0;
  4779.             mthname="";
  4780.             int mthwisecount[];
  4781.             StringBuffer sb = new StringBuffer();
  4782.             int month1=Integer.parseInt(month);
  4783.  
  4784.             PreparedStatement stcount=con.prepareStatement(" Select Count(*) from mtp where month(wdate)=? and year(wdate)=? and emp=? and aprvcode<> ''");
  4785.             PreparedStatement stHcount=con.prepareStatement("select count(*) from holmst where month(hdate)=?  and year(hdate)=? and ecode=? ");
  4786.             mthwisecount=new int[4];
  4787.  
  4788.             for( int k=0;k<4;k++)
  4789.             {
  4790.                 mthmtp=0;
  4791.                 String firstdate=year+"-"+month+"-"+"1";
  4792.                 Statement stTcount=con.createStatement();
  4793.  
  4794.                 stcount.setString(1,""+month1);
  4795.                 stcount.setString(2,year);
  4796.                 stcount.setString(3,""+empcode);
  4797.  
  4798.                 stHcount.setString(1,""+month1);
  4799.                 stHcount.setString(2,year);
  4800.                 stHcount.setString(3,""+empcode);
  4801.  
  4802.                 ResultSet rsTcount=stTcount.executeQuery("select day(Last_day('"+firstdate+"'))");
  4803.                 if(rsTcount.next())
  4804.                 {
  4805.                     totdays=rsTcount.getInt(1);
  4806.                 }
  4807.                // ResultSet rscount=stcount.executeQuery("Select Count(*) from mtp where month(wdate)='"+month+"' and year(wdate)='"+year+"' and emp='"+emp+"' ");
  4808.  
  4809.                 ResultSet rscount=stcount.executeQuery();
  4810.                 if(rscount.next())
  4811.                 {
  4812.                  mthmtp=rscount.getInt(1);
  4813.                 }
  4814.  
  4815.                 //ResultSet rsHcount=stHcount.executeQuery("select count(*) from holmst where month(hdate)='"+month+"'  and year(hdate)='"+year+"' and ecode='"+emp+"' ");
  4816.                 ResultSet rsHcount=stHcount.executeQuery();
  4817.                 if(rsHcount.next())
  4818.                 {
  4819.                   hmth=rsHcount.getInt(1);
  4820.                 }
  4821.  
  4822.                 totdays=totdays-hmth;
  4823.                 if(mthmtp<totdays)
  4824.                 {
  4825.                   mthname+=" "+DateUtils.getMonthName(month1);
  4826.                   mthwisecount[k]=totdays-mthmtp;
  4827.                   mthname+= ": "+mthwisecount[k]+",";
  4828.                 }
  4829.                if(mthmtp>=totdays)
  4830.                {
  4831.                  mthwisecount[k]=0;
  4832.                }
  4833.  
  4834.  
  4835.                 if(month1==12)
  4836.                   {
  4837.                      month1=1;
  4838.                      int Year=Integer.parseInt(year)+1;
  4839.                      year=""+Year;
  4840.                    }
  4841.  
  4842.                  month1=month1+1;
  4843.               }
  4844.              }
  4845.                 countactualdays=mthname;
  4846.             }
  4847.             catch(Exception e)
  4848.             {
  4849.                 Log.log(e.toString());
  4850.                 e.printStackTrace();
  4851.             }
  4852.             finally
  4853.             {
  4854.                 try
  4855.                 {
  4856.                     if(stmt!=null)
  4857.                         stmt.close();
  4858.                     if(con!=null)
  4859.                         con.close();
  4860.                 } catch(Exception e)
  4861.                 {
  4862.                     Log.log("MTP Changes",e.toString());
  4863.                 }
  4864.             }       */
  4865.         return mthmtpnotfeed;
  4866.         }
  4867.  
  4868.     private String checkMTPFill(String dbname,HttpSession s,String empcode,String netid,String systpvar)
  4869.             {
  4870.                 String missedmtp="";
  4871.                 //if(systpvar.equalsIgnoreCase("Y"))
  4872.                 //    {
  4873.                 //       missedmtp=checkcountactualtotaldays1(dbname,s,s.getAttribute("DCREmp").toString(),s.getAttribute("DCRNetID").toString());
  4874.                 //    }
  4875.                 //else
  4876.                     if(systpvar.equalsIgnoreCase("N"))
  4877.                     {
  4878.                        missedmtp=checkcountactualtotaldays(dbname,s,s.getAttribute("DCREmp").toString(),s.getAttribute("DCRNetID").toString());
  4879.                     }
  4880.                 return missedmtp;
  4881.             }
  4882.  
  4883.     private String createtable(String mth,String year,String ecode,String netid,String dbname)
  4884.           {
  4885.               //TODO
  4886.               Connection con;
  4887.               con = ConnectionHandler.getConnection(dbname);
  4888.               boolean flag=true;
  4889.               int mthmtp=0,hmth=0,totdays=0;
  4890.               mthname="";
  4891.               int mthwisecount[];
  4892.               StringBuffer sb = new StringBuffer();
  4893.               try
  4894.               {
  4895.                   String startmonth="",startdate="",dtarr="";
  4896.                   int month=Integer.parseInt(mth);
  4897.  
  4898.                   String wdate1=year+"-"+mth+"-1";
  4899.                   Statement ststartdate=con.createStatement();
  4900.                   ResultSet rsstartdate=ststartdate.executeQuery("select month(svartxt) from sysprm where svarname='startdate' ");
  4901.  
  4902.                   if(rsstartdate.next())
  4903.                   {
  4904.                    startmonth=rsstartdate.getString(1);
  4905.                   }
  4906.  
  4907.                             Statement sttemp=con.createStatement();
  4908.                             sttemp.executeUpdate("DROP TABLE IF EXISTS date");
  4909.                             sttemp.executeUpdate("create table date( d date)");
  4910.                             sttemp.executeUpdate("insert into date values('"+wdate1+"')");
  4911.  
  4912.                             startdate=year+"-"+startmonth+"-"+"01";
  4913.                             dtarr = startdate;
  4914.                             String dt="";
  4915.                             for(int i=1;(i<3)&&(flag==true);i++)
  4916.                             {
  4917.                                 //dtarr[i]=startdate;
  4918.                                  while(flag==true)
  4919.                                  {
  4920.                                    dt=dtarr ;
  4921.                                    Statement stdate=con.createStatement();
  4922.                                    ResultSet rsdate=stdate.executeQuery("select date_add('"+startdate+"',interval+4 month)");
  4923.                                    if(rsdate.next())
  4924.                                    {
  4925.                                      startdate=rsdate.getString(1);
  4926.                                      dtarr=startdate;
  4927.                                    }
  4928.  
  4929.  
  4930.                                    sttemp=con.createStatement();
  4931.                                    ResultSet rs=sttemp.executeQuery("select d from date where d>='"+dt+"' and d<'"+dtarr+"' ") ;
  4932.                                    if(rs.next())
  4933.                                    {
  4934.                                      dtarr=dt;
  4935.                                      flag=false;
  4936.                                    }
  4937.                                    rs.close();
  4938.                                   }
  4939.                              }
  4940.                                 Statement stdate=con.createStatement();
  4941.                                 ResultSet rsdate=stdate.executeQuery("select month('"+dtarr+"')") ;
  4942.                                 if(rsdate.next())
  4943.                                 {
  4944.                                   month=rsdate.getInt(1);
  4945.                                 }
  4946.  
  4947.                  mthwisecount=new int[4];
  4948.                  stdate.executeUpdate("DROP TABLE IF EXISTS tempmtp");
  4949.                  stdate.executeUpdate("DROP TABLE IF EXISTS actualdaystpreq");
  4950.                  stdate.executeUpdate("DROP TABLE IF EXISTS FINALTABLE");
  4951.                  stdate.close();
  4952.  
  4953.                  String tempmtp="create temporary table tempmtp select netid,emp ";
  4954.                  String actualdaystpreq="create temporary table actualdaystpreq select ecode ";
  4955.  
  4956.  
  4957.                   for(int j=1;j<=4;j++)
  4958.                   {
  4959.                        if(month>12)
  4960.                       {
  4961.                           month=1;
  4962.                           int Year=Integer.parseInt(year)+1;
  4963.                           year=""+Year;
  4964.                       }
  4965.                       String firstdate=year+"-"+month+"-"+"1";
  4966.  
  4967.                      Statement stTcount=con.createStatement();
  4968.                      ResultSet rsTcount=stTcount.executeQuery("select day(Last_day('"+firstdate+"'))");
  4969.                       if(rsTcount.next())
  4970.                       {
  4971.                           totdays=rsTcount.getInt(1);
  4972.                       }
  4973.  
  4974.                       String lastdate=year+"-"+month+"-"+totdays;
  4975.                       tempmtp+=",sum(if(wdate>='"+firstdate+"' && wdate<='"+lastdate+"',1,0)) Mtp"+j+"mth ";
  4976.                       actualdaystpreq+=",("+totdays+"-(sum(if(hdate>='"+firstdate+"' && hdate<='"+lastdate+"',1,0)))) H"+j+"mth ";
  4977.                       month++;
  4978.                   }
  4979.  
  4980.  
  4981.                   tempmtp+=" from mtp where mtp.emp='"+ecode+"' and aprvcode <> '' group by netid ";
  4982.                   actualdaystpreq+=" from holmst where holmst.ecode='"+ecode+"' and aprvcode <> '' group by ecode ";
  4983.  
  4984.                   Statement stcreatetable=con.createStatement();
  4985.                   stcreatetable.executeUpdate(tempmtp);
  4986.                   stcreatetable.executeUpdate(actualdaystpreq);
  4987.  
  4988.                   String Finaltable="create table finaltable select distinct(ecode) as ecode,if((h1mth-mtp1mth)<0,'0',(h1mth-mtp1mth)) as nfedfmthtp,if((h2mth-mtp2mth)<0,0,(h2mth-mtp2mth)) as nfedsmthtp ,if((h3mth-mtp3mth)<0,0,(h3mth-mtp3mth)) as nfedtmthtp,if((h4mth-mtp4mth)<0,0,(h4mth-mtp4mth)) as nfedfrmthtp,netid from tempmtp,actualdaystpreq where tempmtp.emp=actualdaystpreq.ecode ";
  4989.                   stcreatetable.executeUpdate(Finaltable);
  4990.  
  4991.               }// try closes
  4992.               catch(SQLException e)
  4993.               {
  4994.                   Log.printStackTrace(e);
  4995.               } // catch closes
  4996.  
  4997.               return sb.toString();
  4998.           }// createtables closes
  4999.  
  5000.      private String[] mtharr(String mth,String year,String dbname)
  5001.      {
  5002.                  String mtharr[]=new String[4];
  5003.                  Connection con;
  5004.                  con = ConnectionHandler.getConnection(dbname);
  5005.                  boolean flag=true;
  5006.                  String startmonth="",startdate="",dtarr="";
  5007.                  int month=Integer.parseInt(mth);
  5008.                  String wdate1=year+"-"+mth+"-1";
  5009.                  try{
  5010.                    Statement ststartdate=con.createStatement();
  5011.                    ResultSet rsstartdate=ststartdate.executeQuery("select month(svartxt) from sysprm where svarname='startdate' ");
  5012.  
  5013.                    if(rsstartdate.next())
  5014.                    {
  5015.                     startmonth=rsstartdate.getString(1);
  5016.                    }
  5017.                    ststartdate.close();rsstartdate.close();
  5018.  
  5019.                              Statement sttemp=con.createStatement();
  5020.                              sttemp.executeUpdate("DROP TABLE IF EXISTS date");
  5021.                              sttemp.executeUpdate("create table date( d date)");
  5022.                              sttemp.executeUpdate("insert into date values ('"+wdate1+"')");
  5023.  
  5024.                              startdate=year+"-"+startmonth+"-"+"01";
  5025.                              dtarr = startdate;
  5026.                              String dt="";
  5027.                              for(int i=1;(i<3)&&(flag==true);i++)
  5028.                              {
  5029.                                   while(flag==true)
  5030.                                   {
  5031.                                     dt=dtarr ;
  5032.                                     Statement stdate=con.createStatement();
  5033.                                     ResultSet rsdate=stdate.executeQuery("select date_add('"+startdate+"',interval+4 month)");
  5034.                                     if(rsdate.next())
  5035.                                     {
  5036.                                       startdate=rsdate.getString(1);
  5037.                                       dtarr=startdate;
  5038.                                     }
  5039.  
  5040.                                     sttemp=con.createStatement();
  5041.                                     ResultSet rs=sttemp.executeQuery("select d from date where d>='"+dt+"' and d<'"+dtarr+"' ") ;
  5042.                                     if(rs.next())
  5043.                                     {
  5044.                                       dtarr=dt;
  5045.                                       flag=false;
  5046.                                     }
  5047.                                    }
  5048.                               }
  5049.                                  Statement stdate=con.createStatement();
  5050.                                  ResultSet rsdate=stdate.executeQuery("select month('"+dtarr+"')") ;
  5051.                                  if(rsdate.next())
  5052.                                  {
  5053.                                    month=rsdate.getInt(1);
  5054.                                  }
  5055.  
  5056.                      }
  5057.                       catch(SQLException  e)
  5058.                      {
  5059.                      e.printStackTrace();
  5060.                      }
  5061.         for(int i=0;i<4;i++)
  5062.         {
  5063.             if(month>12)
  5064.                month=1;
  5065.             mtharr[i]=DateUtils.getMonthName(month);
  5066.             month=month+1;
  5067.         }
  5068.         return mtharr;
  5069.     } // mthname
  5070.  
  5071.     private boolean ExpCheck(Connection con)
  5072.        {
  5073.            boolean flag=false;
  5074.            try
  5075.            {
  5076.            Statement stmt=con.createStatement();
  5077.            ResultSet rs=stmt.executeQuery("SELECT count(*) FROM EXPCTR");
  5078.  
  5079.            if(rs.next())
  5080.              {
  5081.                 if(rs.getInt(1)>0)
  5082.                    flag=true;
  5083.              }
  5084.            }
  5085.            catch(Exception e)
  5086.            {
  5087.                Log.log("101 :"+e.toString());
  5088.            }
  5089.            return flag;
  5090.        }
  5091.  
  5092.     private boolean LeavePendingCheck(Connection con,String dcrdate,String empcode)
  5093.        {
  5094.            boolean LAprvPending=false;
  5095.            try
  5096.            {
  5097.  
  5098.                     String  sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='LeaveChecking'";
  5099.                     String Lchecking="";
  5100.                     ResultSet rs = con.createStatement().executeQuery(sql);
  5101.  
  5102.                      if(rs.next())
  5103.                        Lchecking=rs.getString(1);
  5104.  
  5105.                      if(Lchecking.equalsIgnoreCase("Y"))
  5106.                      {
  5107.                         con.createStatement().executeUpdate("create temporary table zzpendingleavestatus select LeaveRequest.startDate,LeaveRequest.endDate,LeaveRequest.Ltype,LeaveRequest.LReason,if(isnull(leavemapping.status),'Pending',leavemapping.status) as status,LeaveRequest.leaveid as leaveid " +
  5108.                                   " from leavemapping " +
  5109.                                   " right join LeaveRequest " +
  5110.                                   " on LeaveRequest.LeaveId=leavemapping.LeaveId where '"+dcrdate+"'>=startdate and '"+dcrdate+"'<=enddate and LeaveRequest.ecode='"+empcode+"' order by LeaveRequest.startdate desc");
  5111.  
  5112.                         ResultSet rsLAprvPending=con.createStatement().executeQuery("select count(*) from zzpendingleavestatus where status='Pending' ");
  5113.                         if(rsLAprvPending.next())
  5114.                         {
  5115.                             if(rsLAprvPending.getInt(1)>0)
  5116.                                LAprvPending=true;
  5117.                         }
  5118.                         con.createStatement().executeUpdate("drop table if exists zzpendingleavestatus");
  5119.                      }
  5120.            }
  5121.            catch(Exception e)
  5122.            {
  5123.                Log.log("101 :"+e.toString());
  5124.            }
  5125.            return LAprvPending;
  5126.        }
  5127.  
  5128.     private boolean SampleOpeningCheck(Connection con,String netid,String financialyr,String dcrdate)
  5129.        {
  5130.            boolean flag=false;
  5131.            try
  5132.            {
  5133.  
  5134.                         PreparedStatement stmt=null;
  5135.                         String sql = "SELECT count(*) as SVARTXT FROM SYSPRM WHERE SVARNAME='SampleOpeningCheck' ";
  5136.                         stmt = con.prepareStatement(sql);
  5137.                         String valueexist="";
  5138.                         ResultSet rs = stmt.executeQuery();
  5139.                         while(rs.next())
  5140.                         {
  5141.                           valueexist = rs.getString("SVarTxt");
  5142.                         }
  5143.                         if(valueexist.equals("0"))
  5144.                         {
  5145.                              sql="select max(IdSysPrm)+1 as IDSYS from sysprm";
  5146.                              stmt = con.prepareStatement(sql);
  5147.                              String sysprmid="";
  5148.                              rs = stmt.executeQuery();
  5149.                              while(rs.next())
  5150.                              {
  5151.                                 sysprmid = rs.getString("IDSYS");
  5152.                              }
  5153.  
  5154.                              stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt,comment) values(" +sysprmid+ ",'SampleOpeningCheck','N','Y for checking opening balance while enering DCR and N for not checking opening balance while entering DCR')");
  5155.                              rs.close();
  5156.                         }
  5157.  
  5158.                         sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='SampleOpeningCheck'";
  5159.                         stmt = con.prepareStatement(sql);
  5160.                         String samchecking="";
  5161.                         rs = stmt.executeQuery();
  5162.                         if(rs.next())
  5163.                           samchecking=rs.getString(1);
  5164.  
  5165.              if(samchecking.equalsIgnoreCase("Y"))
  5166.              {
  5167.                  //sql="select * from sample where netid='"+netid+"' and yr='"+financialyr+"' and opbal>0 ";
  5168.                  String sampleyr=dcrdate.substring(0,2);
  5169.                  int nextyr = Integer.parseInt(sampleyr)+1;
  5170.                  String nyr=""+nextyr;
  5171.                  while (nyr.length()<2)
  5172.                      nyr="0"+ nyr;
  5173.                  sampleyr=sampleyr+nyr;
  5174.  
  5175.                  //sql="select * from sample where netid='"+netid+"' and yr='"+sampleyr+"' and opbal>0 ";
  5176.                  sql="select count(*) from sample where netid='"+netid+"' and yr='"+financialyr+"' and opbal>0 ";
  5177.                 // Log.log(""+sql);
  5178.                  stmt = con.prepareStatement(sql);
  5179.                  rs = stmt.executeQuery();
  5180.                  if(rs.next())
  5181.                  {
  5182.                     if(rs.getInt(1)==0)
  5183.                     {
  5184.                         flag=true;
  5185.                         sql="select * from sample where netid='"+netid+"' and yr='"+financialyr+"' ";
  5186.                     }
  5187.                     else
  5188.                     {
  5189.                      flag=false;
  5190.                     }
  5191.                  }
  5192.              }
  5193.            }
  5194.            catch(Exception e)
  5195.            {
  5196.                Log.printStackTrace(e);
  5197.            }
  5198.            return flag;
  5199.        }
  5200.  
  5201.      private boolean LeaveChecking(Connection con)
  5202.        {
  5203.            boolean flag=false;
  5204.            try
  5205.            {
  5206.  
  5207.                         PreparedStatement stmt=null;
  5208.                         String sql = "SELECT count(*) as SVARTXT FROM SYSPRM WHERE SVARNAME='LeaveChecking' ";
  5209.                         stmt = con.prepareStatement(sql);
  5210.                         String valueexist="";
  5211.                         ResultSet rs = stmt.executeQuery();
  5212.                         while(rs.next())
  5213.                         {
  5214.                           valueexist = rs.getString("SVarTxt");
  5215.                         }
  5216.                         if(valueexist.equals("0"))
  5217.                         {
  5218.                              sql="select max(IdSysPrm)+1 as IDSYS from sysprm";
  5219.                              stmt = con.prepareStatement(sql);
  5220.                              String sysprmid="";
  5221.                              rs = stmt.executeQuery();
  5222.                              while(rs.next())
  5223.                              {
  5224.                                 sysprmid = rs.getString("IDSYS");
  5225.                              }
  5226.  
  5227.                              stmt.executeUpdate("Insert into SYSPRM (IDSysPrm,SVarName,SVarTxt,comment) values(" +sysprmid+ ",'LeaveChecking','N','Y for Leave Checking and N to stop Leave Checking while entering DCR.')");
  5228.                              rs.close();
  5229.                         }
  5230.  
  5231.                         sql = "SELECT SVARTXT FROM SYSPRM WHERE SVARNAME='LeaveChecking'";
  5232.                         stmt = con.prepareStatement(sql);
  5233.                         String Lchecking="";
  5234.                         rs = stmt.executeQuery();
  5235.                         if(rs.next())
  5236.                           Lchecking=rs.getString(1);
  5237.  
  5238.              if(Lchecking.equalsIgnoreCase("Y"))
  5239.              {
  5240.                     flag=true;
  5241.              }
  5242.  
  5243.            }
  5244.            catch(Exception e)
  5245.            {
  5246.                Log.printStackTrace(e);
  5247.            }
  5248.            return flag;
  5249.        }
  5250. }// class closes
Jan 18 '14 #7
i have used global out object of printwriter class is it giving problem of data misplacing within different session.

if u have any idea then plz reply thanks in advance.....
Feb 15 '14 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: karl | last post by:
I have several .net applications running on a webserver. I recently installed the patches to the system to stop the worm virus that was going around last week. Since that time I ran into a...
3
by: Don | last post by:
I have an ASP.NET program that references a VB.NET DLL. I had originally planned for my DLL to put things in the HttpContext.Current collection so that the ASP.NET can access them throughout an...
2
by: Clement | last post by:
I need to retrive user session by session id. Any help is much appreciated. Thank you.
1
by: Bharath | last post by:
Hi All, I'm embedding a windows user control in aspx page and showing the user control in the IE, the problem that I'm facing is that the user session of the parent application is getting expired...
3
by: chalres | last post by:
what is different between session and session token? that's i need to know...is it called Session?
5
by: jediknight | last post by:
Is it possible to programmatically stop multiple browsers from getting the same session state? The problem I have is that whenever I open a new browse using File- I would like to stop this...
3
by: renjucool | last post by:
I am developing an online bug tracking system in asp.net.IT is implemented now in our office,at a time around 10-15 peoples are using.Web application is hosted in a local machine(core 2duo-1 gb...
0
by: patrick.nee.jr | last post by:
I have a question about session state: I have a complex application in which after logging into an ASP.Net 2.0 application using asp membership, a subsequent page passes the SessionID to an...
4
by: sriram | last post by:
Hello Friends, I am new to this group so big HIIIIIIII to all :) fine i have a serious doubt about session handling in PHP. After 20 min (default time) session getting expired, session values...
2
by: boss1 | last post by:
hello everyone, i need your help. i m using update query for a table to update data. i want to insert data when submit button is pressed but when page is refeshed the table data is...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.