public int getSequenceNumber(Session session) { int maxSequenceNumber = 1; try { StringBuffer sb = new StringBuffer(); sb.append("select max(cast(id as INTEGER)) as maxsequencenumber from menuprivilages"); List imlist = session.createSQLQuery(sb.toString()).list(); if (imlist.size() > 0) { if (imlist.get(0) != null) { maxSequenceNumber = (Integer) imlist.get(0); maxSequenceNumber = maxSequenceNumber + 1; } else { maxSequenceNumber = 1; } } else { maxSequenceNumber = 1; } } catch (Exception ex) { ex.printStackTrace(); } return maxSequenceNumber; }
public void insertParent(Session session, int menuId, int usertypes) { Transaction transaction = null; try { Criteria menuCrit = session.createCriteria(Menumaster.class); menuCrit.add(Restrictions.sqlRestriction("code=" + menuId)); List menuList = menuCrit.list(); if (menuList.size() > 0) { Menumaster menuObj = (Menumaster) menuList.get(0); Criteria menuCrit1 = session.createCriteria(Menuprivilages.class); menuCrit1.add(Restrictions.sqlRestriction("usertype=" + usertypes)); menuCrit1.add(Restrictions.sqlRestriction("menumaster=" + menuObj.getParentcode())); List menuList1 = menuCrit1.list(); if (menuList1.size() <= 0) { transaction = session.beginTransaction(); Usertype typeobj = new Usertype(); typeobj.setId(usertypes); Menumaster menuMasterObj = new Menumaster(); menuMasterObj.setCode(menuObj.getParentcode()); Menuprivilages menuObj2 = new Menuprivilages(); menuObj2.setId(String.valueOf(getSequenceNumber(session))); menuObj2.setUsertype(typeobj); menuObj2.setMenumaster(menuMasterObj); menuObj2.setAccessright(Boolean.TRUE); session.save(menuObj2); transaction.commit(); this.insertParent(session, menuObj.getParentcode(), usertypes); } } } catch (Exception e) { if (transaction != null) { transaction.rollback(); } e.printStackTrace(); } }
public void updateParent(Session session, int menuId, int usertypes) { Transaction transaction = null; try { Criteria menuCrit3 = session.createCriteria(Menuprivilages.class); menuCrit3.add(Restrictions.sqlRestriction("usertype=" + usertypes)); menuCrit3.add(Restrictions.sqlRestriction("menumaster=" + menuId)); List menuList3 = menuCrit3.list(); if (menuList3.size() > 0) { transaction = session.beginTransaction(); Menuprivilages menuObj3 = (Menuprivilages) menuList3.get(0); menuObj3.setAccessright(Boolean.TRUE); session.update(menuObj3); transaction.commit(); this.updateParent(session, menuObj3.getMenumaster().getParentcode(), usertypes); } } catch (Exception e) { if (transaction != null) { transaction.rollback(); } e.printStackTrace(); } }
@GlobalDBOpenCloseAndUserPrivilages public Map getAssignedMenus( Session session, HttpServletRequest request, HttpServletResponse response, String LoggedInRegion, String LoggedInUser, String usertypes) { Map resultMap = new HashMap(); Map menuMap = new LinkedHashMap(); try { Criteria menuCrit = session.createCriteria(Menuprivilages.class); menuCrit.add(Restrictions.sqlRestriction("usertype=" + Integer.parseInt(usertypes))); menuCrit.add(Restrictions.sqlRestriction("accessright is true")); List menuList = menuCrit.list(); if (menuList.size() > 0) { for (int i = 0; i < menuList.size(); i++) { Menuprivilages menuObj = (Menuprivilages) menuList.get(i); Criteria criteria = session.createCriteria(Menumaster.class); criteria.add(Restrictions.ne("parentcode", 0)); criteria.add(Restrictions.eq("code", menuObj.getMenumaster().getCode())); criteria.add(Restrictions.ne("methodname", "")); // criteria.add(Restrictions.sqlRestriction("code=" + // menuObj.getMenumaster().getCode()+" and parentcode!=0")); List menulist = criteria.list(); if (menulist.size() > 0) { menuMap.put( "accessright" + menuObj.getMenumaster().getCode(), "accessright" + menuObj.getMenumaster().getCode()); } } resultMap.put("menuMap", menuMap); } else { resultMap.put("ERROR", "Not Assigned"); } } catch (Exception e) { } return resultMap; }
@GlobalDBOpenCloseAndUserPrivilages public Map LPCPrint( Session session, HttpServletRequest request, HttpServletResponse response, String LoggedInRegion, String LoggedInUser, String epfno, String month, String year, String billtype) { Map map = new HashMap(); Map cardDetails = null; Map reportMap = new HashMap(); String regionname = ""; String employeename = ""; String designationname = ""; String billingtype = ""; LinkedList dupslipprintlist = new LinkedList(); LinkedList dupslipprintloanlist = new LinkedList(); StringBuffer dupslipquery = new StringBuffer(); try { if (!epfno.trim().equalsIgnoreCase("null") && epfno.trim().length() > 0) { regionname = getRegionmaster(session, LoggedInRegion).getRegionname(); employeename = getEmployeemaster(session, epfno, LoggedInRegion).getEmployeename(); designationname = getDesignationMater( session, getEmployeemaster(session, epfno, LoggedInRegion).getDesignation()) .getDesignation(); if (billtype.equalsIgnoreCase("1")) { dupslipquery.append( " select paycode,paycodename,coalesce(earnings,'0') as earnings,coalesce(deduction,'0') as deduction,loan as loanbalance,nthinstallment,totalinstallment,loanamount from ( "); dupslipquery.append( " (select pm.paycode,pm.paycodename,cast(et.amount as text) as earnings,'' as deduction,'' as loan ,'' as nthinstallment ,'' as totalinstallment,'' as loanamount "); dupslipquery.append(" from payrollprocessingdetails ppd "); dupslipquery.append( " left join employeeearningstransactions et on et.payrollprocessingdetailsid=ppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=et.earningmasterid "); dupslipquery.append( " where ppd.employeeprovidentfundnumber='" + epfno + "' and ppd.month =" + month + " and ppd.year=" + year + " "); dupslipquery.append(" and et.cancelled is false "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,deduction,loan,nthinstallment,totalinstallment "); dupslipquery.append(" order by pm.paycode) "); dupslipquery.append(" union all( "); dupslipquery.append( " select pm.paycode,pm.paycodename,'' as earnings,cast(dt.amount as text) as deduction,coalesce(cast(el.loanbalance as text),'') as loan "); dupslipquery.append(" ,coalesce(cast(el.nthinstallment as text),'') as nthinstallment "); dupslipquery.append( " ,coalesce(cast(el.totalinstallment as text),'') as totalinstallment "); dupslipquery.append(" ,coalesce(cast(el.loanamount as text),'') as loanamount "); dupslipquery.append(" from payrollprocessingdetails ppd "); dupslipquery.append( " join employeedeductionstransactions dt on dt.payrollprocessingdetailsid=ppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=dt.deductionmasterid "); dupslipquery.append( " left join (select payrollprocessingdetailsid,deductioncode,nthinstallment,totalinstallment,eld.loanbalance,la.loanamount from employeeloansandadvancesdetails eld "); dupslipquery.append( " join employeeloansandadvances as la on la.id=eld.employeeloansandadvancesid "); dupslipquery.append( " where la.employeeprovidentfundnumber='" + epfno + "') as el on el.payrollprocessingdetailsid=ppd.id and el.deductioncode=dt.deductionmasterid "); dupslipquery.append( " where ppd.employeeprovidentfundnumber='" + epfno + "' and ppd.month =" + month + " and ppd.year=" + year + " "); dupslipquery.append(" and dt.cancelled is false "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,deduction,loan,el.nthinstallment,el.totalinstallment,el.loanamount "); dupslipquery.append(" order by pm.paycode)) as x "); } else if (billtype.equalsIgnoreCase("2")) { billingtype = "SUPLEMENTARYBILL"; dupslipquery.append( " select paycode,paycodename,earnings,deduction,loan as loanbalance,nthinstallment,totalinstallment,loanamount from ( "); dupslipquery.append( " (select pm.paycode,pm.paycodename,cast(sum(et.amount) as text) as earnings,'' as deduction,'' as loan ,'' as nthinstallment "); dupslipquery.append( " ,'' as totalinstallment,'' as loanamount from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeeearningstransactions et on et.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=et.earningmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='" + billingtype + "' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,et.amount,deduction,loan,nthinstallment,totalinstallment "); dupslipquery.append(" order by pm.paycode) "); dupslipquery.append(" union all( "); dupslipquery.append( " select pm.paycode,pm.paycodename,'' as earnings,cast(sum(dt.amount) as text) as deduction,coalesce(cast(el.loanbalance as text),'') as loan "); dupslipquery.append(" ,coalesce(cast(el.nthinstallment as text),'') as nthinstallment "); dupslipquery.append( " ,coalesce(cast(el.totalinstallment as text),'') as totalinstallment "); dupslipquery.append(" ,coalesce(cast(el.loanamount as text),'') as loanamount "); dupslipquery.append(" from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeedeductionstransactions dt on dt.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=dt.deductionmasterid "); dupslipquery.append( " left join (select supplementarypayrollprocessingdetailsid,deductioncode,nthinstallment,totalinstallment,eld.loanbalance ,la.loanamount "); dupslipquery.append( " from supplementaryemployeeloansandadvancesdetails eld join employeeloansandadvances as la on la.id=eld.employeeloansandadvancesid "); dupslipquery.append( " where la.employeeprovidentfundnumber='" + epfno + "') as el on el.supplementarypayrollprocessingdetailsid=sppd.id and el.deductioncode=dt.deductionmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='" + billingtype + "' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,dt.amount,loan,el.nthinstallment,el.totalinstallment,el.loanamount "); dupslipquery.append(" order by pm.paycode)) as x "); } else if (billtype.equalsIgnoreCase("3")) { dupslipquery.append( " select paycode,paycodename,earnings,deduction,loan as loanbalance,nthinstallment,totalinstallment,loanamount from ( "); dupslipquery.append( " (select pm.paycode,pm.paycodename,cast(sum(et.amount) as text) as earnings,'' as deduction,'' as loan ,'' as nthinstallment "); dupslipquery.append( " ,'' as totalinstallment,'' as loanamount from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeeearningstransactions et on et.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=et.earningmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='LEAVESURRENDER' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,et.amount,deduction,loan,nthinstallment,totalinstallment "); dupslipquery.append(" order by pm.paycode) "); dupslipquery.append(" union all( "); dupslipquery.append( " select pm.paycode,pm.paycodename,'' as earnings,cast(sum(dt.amount) as text) as deduction,coalesce(cast(el.loanbalance as text),'') as loan "); dupslipquery.append(" ,coalesce(cast(el.nthinstallment as text),'') as nthinstallment "); dupslipquery.append( " ,coalesce(cast(el.totalinstallment as text),'') as totalinstallment "); dupslipquery.append(" ,coalesce(cast(el.loanamount as text),'') as loanamount "); dupslipquery.append(" from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeedeductionstransactions dt on dt.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=dt.deductionmasterid "); dupslipquery.append( " left join (select supplementarypayrollprocessingdetailsid,deductioncode,nthinstallment,totalinstallment,eld.loanbalance,la.loanamount "); dupslipquery.append( " from supplementaryemployeeloansandadvancesdetails eld join employeeloansandadvances as la on la.id=eld.employeeloansandadvancesid "); dupslipquery.append( " where la.employeeprovidentfundnumber='" + epfno + "') as el on el.supplementarypayrollprocessingdetailsid=sppd.id and el.deductioncode=dt.deductionmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='LEAVESURRENDER' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,dt.amount,loan,el.nthinstallment,el.totalinstallment,el.loanamount "); dupslipquery.append(" order by pm.paycode)) as x "); } Query ledgerQuery = session.createSQLQuery(dupslipquery.toString()); List ledgerList = ledgerQuery.list(); int earrowid = 1; int dedrowid = 1; int lonrowid = 1; Map earDetails = new HashMap(); Map dedDetails = new HashMap(); Map lonDetails = new HashMap(); for (ListIterator its = ledgerList.listIterator(); its.hasNext(); ) { Object[] rows = (Object[]) its.next(); String paycode = (String) rows[0]; cardDetails = new HashMap(); if (paycode.startsWith("E")) { earDetails.put("row" + earrowid, (String) rows[1] + "~" + (String) rows[2]); earrowid++; } else if (paycode.startsWith("D")) { dedDetails.put("row" + dedrowid, (String) rows[1] + "~" + (String) rows[3]); dedrowid++; } else if (paycode.startsWith("L")) { lonDetails.put( "row" + lonrowid, (String) rows[0] + "~" + (String) rows[1] + "~" + (String) rows[2] + "~" + (String) rows[3] + "~" + (String) rows[4] + "~" + (String) rows[5] + "~" + (String) rows[6] + "~" + (String) rows[7]); lonrowid++; } } int earsize = earDetails.size(); int dedsize = dedDetails.size(); int size = 0; if (earsize <= dedsize) { size = dedsize; } else { size = earsize; } for (int loop = 1; loop < size; loop++) { cardDetails = new HashMap(); if (earDetails.get("row" + loop) != null) { String e[] = ((String) earDetails.get("row" + loop)).split("~"); cardDetails.put("paycodenameear", e[0]); cardDetails.put("earnings", e[1]); } if (dedDetails.get("row" + loop) != null) { String d[] = ((String) dedDetails.get("row" + loop)).split("~"); cardDetails.put("paycodenameded", d[0]); cardDetails.put("deduction", d[1]); } cardDetails.put("regionname", regionname); cardDetails.put("empname", employeename); cardDetails.put("designation", designationname); dupslipprintlist.add(cardDetails); } for (int loop = 1; loop <= lonDetails.size(); loop++) { if (lonDetails.get("row" + loop) != null) { cardDetails = new HashMap(); String l[] = ((String) lonDetails.get("row" + loop)).split("~"); cardDetails.put("paycodenamelon", l[1]); cardDetails.put("deductionlon", l[2]); cardDetails.put("loanbalance", Double.parseDouble(l[3])); cardDetails.put("nthinstallment", Double.parseDouble(l[4])); cardDetails.put("totalinstallment", Double.parseDouble(l[5])); cardDetails.put("totalinstallment1", Double.parseDouble(l[6])); cardDetails.put("loanamount", Double.parseDouble(l[7])); cardDetails.put("regionname", regionname); cardDetails.put("empname", employeename); cardDetails.put("designation", designationname); dupslipprintloanlist.add(cardDetails); } } reportMap.put("list", dupslipprintlist); reportMap.put("loanmap", dupslipprintloanlist); reportMap.put("regionname", regionname); } } catch (Exception ex) { map.put("ERROR", "duplicatePaySlipPrint Report Generated Error"); ex.printStackTrace(); } return reportMap; }
@GlobalDBOpenCloseAndUserPrivilages public LinkedList duplicatePaySlipPrint( Session session, HttpServletRequest request, HttpServletResponse response, String LoggedInRegion, String LoggedInUser, String epfno, String month, String year, String billtype) { // System.out.println("***************************** UserTypeServiceImpl class // duplicatePaySlipPrint method is calling ********************************"); Map map = new HashMap(); Map cardDetails = null; String regionname = ""; String employeename = ""; String designationname = ""; String billingtype = ""; LinkedList dupslipprintlist = new LinkedList(); StringBuffer dupslipquery = new StringBuffer(); try { if (!epfno.trim().equalsIgnoreCase("null") && epfno.trim().length() > 0) { regionname = getRegionmaster(session, LoggedInRegion).getRegionname(); employeename = getEmployeemaster(session, epfno, LoggedInRegion).getEmployeename(); designationname = getDesignationMater( session, getEmployeemaster(session, epfno, LoggedInRegion).getDesignation()) .getDesignation(); if (billtype.equalsIgnoreCase("1")) { dupslipquery.append( " select paycode,paycodename,earnings,deduction,loan as loanbalance,nthinstallment,totalinstallment from ( "); dupslipquery.append( " (select pm.paycode,pm.paycodename,cast(et.amount as text) as earnings,'' as deduction,'' as loan ,'' as nthinstallment ,'' as totalinstallment "); dupslipquery.append(" from payrollprocessingdetails ppd "); dupslipquery.append( " left join employeeearningstransactions et on et.payrollprocessingdetailsid=ppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=et.earningmasterid "); dupslipquery.append( " where ppd.employeeprovidentfundnumber='" + epfno + "' and ppd.month =" + month + " and ppd.year=" + year + " "); dupslipquery.append(" and et.cancelled is false "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,deduction,loan,nthinstallment,totalinstallment "); dupslipquery.append(" order by pm.paycode) "); dupslipquery.append(" union all( "); dupslipquery.append( " select pm.paycode,pm.paycodename,'' as earnings,cast(dt.amount as text) as deduction,coalesce(cast(el.loanbalance as text),'') as loan "); dupslipquery.append(" ,coalesce(cast(el.nthinstallment as text),'') as nthinstallment "); dupslipquery.append( " ,coalesce(cast(el.totalinstallment as text),'') as totalinstallment "); dupslipquery.append(" from payrollprocessingdetails ppd "); dupslipquery.append( " join employeedeductionstransactions dt on dt.payrollprocessingdetailsid=ppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=dt.deductionmasterid "); dupslipquery.append( " left join (select payrollprocessingdetailsid,deductioncode,nthinstallment,totalinstallment,eld.loanbalance from employeeloansandadvancesdetails eld "); dupslipquery.append( " join employeeloansandadvances as la on la.id=eld.employeeloansandadvancesid "); dupslipquery.append( " where la.employeeprovidentfundnumber='" + epfno + "') as el on el.payrollprocessingdetailsid=ppd.id and el.deductioncode=dt.deductionmasterid "); // dupslipquery.append(" left join employeeloansandadvances ln on // ln.employeeprovidentfundnumber='"+epfno+"' and ln.deductioncode=dt.deductionmasterid // and ln.id!='R01334' "); // dupslipquery.append(" left join employeeloansandadvancesdetails ld on // ld.employeeloansandadvancesid=ln.id and ld.payrollprocessingdetailsid=ppd.id "); dupslipquery.append( " where ppd.employeeprovidentfundnumber='" + epfno + "' and ppd.month =" + month + " and ppd.year=" + year + " "); dupslipquery.append(" and dt.cancelled is false "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,deduction,loan,el.nthinstallment,el.totalinstallment "); dupslipquery.append(" order by pm.paycode)) as x "); } else if (billtype.equalsIgnoreCase("2")) { billingtype = "SUPLEMENTARYBILL"; dupslipquery.append( " select paycode,paycodename,earnings,deduction,loan as loanbalance,nthinstallment,totalinstallment from ( "); dupslipquery.append( " (select pm.paycode,pm.paycodename,cast(sum(et.amount) as text) as earnings,'' as deduction,'' as loan ,'' as nthinstallment "); dupslipquery.append(" ,'' as totalinstallment from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeeearningstransactions et on et.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=et.earningmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='" + billingtype + "' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,et.amount,deduction,loan,nthinstallment,totalinstallment "); dupslipquery.append(" order by pm.paycode) "); dupslipquery.append(" union all( "); dupslipquery.append( " select pm.paycode,pm.paycodename,'' as earnings,cast(sum(dt.amount) as text) as deduction,coalesce(cast(el.loanbalance as text),'') as loan "); dupslipquery.append(" ,coalesce(cast(el.nthinstallment as text),'') as nthinstallment "); dupslipquery.append( " ,coalesce(cast(el.totalinstallment as text),'') as totalinstallment "); dupslipquery.append(" from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeedeductionstransactions dt on dt.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=dt.deductionmasterid "); dupslipquery.append( " left join (select supplementarypayrollprocessingdetailsid,deductioncode,nthinstallment,totalinstallment,eld.loanbalance "); dupslipquery.append( " from supplementaryemployeeloansandadvancesdetails eld join employeeloansandadvances as la on la.id=eld.employeeloansandadvancesid "); dupslipquery.append( " where la.employeeprovidentfundnumber='" + epfno + "') as el on el.supplementarypayrollprocessingdetailsid=sppd.id and el.deductioncode=dt.deductionmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='" + billingtype + "' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,dt.amount,loan,el.nthinstallment,el.totalinstallment "); dupslipquery.append(" order by pm.paycode)) as x "); } else if (billtype.equalsIgnoreCase("3")) { dupslipquery.append( " select paycode,paycodename,earnings,deduction,loan as loanbalance,nthinstallment,totalinstallment from ( "); dupslipquery.append( " (select pm.paycode,pm.paycodename,cast(sum(et.amount) as text) as earnings,'' as deduction,'' as loan ,'' as nthinstallment "); dupslipquery.append(" ,'' as totalinstallment from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeeearningstransactions et on et.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=et.earningmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='LEAVESURRENDER' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,et.amount,deduction,loan,nthinstallment,totalinstallment "); dupslipquery.append(" order by pm.paycode) "); dupslipquery.append(" union all( "); dupslipquery.append( " select pm.paycode,pm.paycodename,'' as earnings,cast(sum(dt.amount) as text) as deduction,coalesce(cast(el.loanbalance as text),'') as loan "); dupslipquery.append(" ,coalesce(cast(el.nthinstallment as text),'') as nthinstallment "); dupslipquery.append( " ,coalesce(cast(el.totalinstallment as text),'') as totalinstallment "); dupslipquery.append(" from supplementatypaybill sb "); dupslipquery.append( " join supplementarypayrollprocessingdetails sppd on sb.id= sppd.supplementatypaybillid and sppd.cancelled is false "); dupslipquery.append( " left join supplementaryemployeedeductionstransactions dt on dt.supplementarypayrollprocessingdetailsid=sppd.id "); dupslipquery.append(" join paycodemaster pm on pm.paycode=dt.deductionmasterid "); dupslipquery.append( " left join (select supplementarypayrollprocessingdetailsid,deductioncode,nthinstallment,totalinstallment,eld.loanbalance "); dupslipquery.append( " from supplementaryemployeeloansandadvancesdetails eld join employeeloansandadvances as la on la.id=eld.employeeloansandadvancesid "); dupslipquery.append( " where la.employeeprovidentfundnumber='" + epfno + "') as el on el.supplementarypayrollprocessingdetailsid=sppd.id and el.deductioncode=dt.deductionmasterid "); dupslipquery.append( " where sb.employeeprovidentfundnumber='" + epfno + "' and sb.type='LEAVESURRENDER' and EXTRACT(MONTH FROM date)=" + month + " and EXTRACT(YEAR FROM date)=" + year + " "); dupslipquery.append( " group by pm.paycode,pm.paycodename,earnings,dt.amount,loan,el.nthinstallment,el.totalinstallment "); dupslipquery.append(" order by pm.paycode)) as x "); // billingtype="LEAVESURRENDER"; } Query ledgerQuery = session.createSQLQuery(dupslipquery.toString()); List ledgerList = ledgerQuery.list(); for (ListIterator its = ledgerList.listIterator(); its.hasNext(); ) { Object[] rows = (Object[]) its.next(); cardDetails = new HashMap(); cardDetails.put("paycode", (String) rows[0]); cardDetails.put("paycodename", (String) rows[1]); cardDetails.put("earnings", (String) rows[2]); cardDetails.put("deduction", (String) rows[3]); cardDetails.put("loanbalance", (String) rows[4]); cardDetails.put("nthinstallment", (String) rows[5]); cardDetails.put("totalinstallment", (String) rows[6]); cardDetails.put("regionname", regionname); cardDetails.put("empname", employeename); cardDetails.put("designation", designationname); dupslipprintlist.add(cardDetails); } } } catch (Exception ex) { map.put("ERROR", "duplicatePaySlipPrint Report Generated Error"); ex.printStackTrace(); } return dupslipprintlist; }
@GlobalDBOpenCloseAndUserPrivilages public Map getUserTypeSize( Session session, HttpServletRequest request, HttpServletResponse response, String LoggedInRegion, String LoggedInUser) { Map resultMap = new HashMap(); String isAccountModule = "No"; Map financialYearMap = new LinkedHashMap(); financialYearMap.put("0", "--Select--"); UserViewModel userObj = (UserViewModel) request.getSession(false).getAttribute("userDetails"); Criteria rcCriteria = session.createCriteria(Useroperatingrights.class); rcCriteria.add(Restrictions.sqlRestriction("userid = '" + userObj.getUserid() + "'")); rcCriteria.add(Restrictions.sqlRestriction("accessright is true")); rcCriteria.addOrder(Order.asc("usertypeid")); List rcList = rcCriteria.list(); resultMap.put("typesize", rcList.size()); Criteria fyearsCriteria = session.createCriteria(Accountingyear.class); List fyearsList = fyearsCriteria.list(); if (fyearsList.size() > 0) { for (int i = 0; i < fyearsList.size(); i++) { Accountingyear accountingyearObj = (Accountingyear) fyearsList.get(i); financialYearMap.put( accountingyearObj.getId(), (accountingyearObj.getStartyear() + "-" + accountingyearObj.getEndyear())); } } resultMap.put("financialYearMap", financialYearMap); if (rcList.size() == 1) { Useroperatingrights useroperatingrightsObj = (Useroperatingrights) rcList.get(0); Criteria privileageCriteria = session.createCriteria(Menuprivilages.class); privileageCriteria.add( Restrictions.sqlRestriction("usertype = " + useroperatingrightsObj.getUsertypeid())); privileageCriteria.add(Restrictions.sqlRestriction("accessright is true")); List privileageList = privileageCriteria.list(); if (privileageList.size() > 0) { for (int j = 0; j < privileageList.size(); j++) { Menuprivilages menuprivilagesObj = (Menuprivilages) privileageList.get(j); // // System.out.println("menuprivilagesObj.getMenumaster().getGrouptype()==" + // menuprivilagesObj.getMenumaster().getGrouptype()); if (menuprivilagesObj.getMenumaster().getGrouptype() == null) { } else if (menuprivilagesObj.getMenumaster().getGrouptype() == 'A') { isAccountModule = "Yes"; break; } } } } resultMap.put("isAccountModule", isAccountModule); return resultMap; }
@GlobalDBOpenCloseAndUserPrivilages public Map saveMenuAssign( Session session, HttpServletRequest request, HttpServletResponse response, String LoggedInRegion, String LoggedInUser, String usertypes, String menucodes) { Map resultMap = new HashMap(); String[] strArray = null; String delimiter = "-"; Transaction transaction = null; try { Criteria menuCrit = session.createCriteria(Menuprivilages.class); menuCrit.add(Restrictions.sqlRestriction("usertype=" + Integer.parseInt(usertypes))); List menuList = menuCrit.list(); if (menuList.size() > 0) { for (int i = 0; i < menuList.size(); i++) { Menuprivilages menuObj = (Menuprivilages) menuList.get(i); transaction = session.beginTransaction(); menuObj.setAccessright(Boolean.FALSE); session.update(menuObj); transaction.commit(); } if (!menucodes.equalsIgnoreCase("") && menucodes != null) { strArray = menucodes.split(java.util.regex.Pattern.quote(delimiter)); for (String menuId : strArray) { Criteria menuCrit1 = session.createCriteria(Menuprivilages.class); menuCrit1.add(Restrictions.sqlRestriction("usertype=" + Integer.parseInt(usertypes))); menuCrit1.add(Restrictions.sqlRestriction("menumaster=" + Integer.parseInt(menuId))); List menuList1 = menuCrit1.list(); if (menuList1.size() > 0) { transaction = session.beginTransaction(); Menuprivilages menuObj = (Menuprivilages) menuList1.get(0); menuObj.setAccessright(Boolean.TRUE); session.update(menuObj); transaction.commit(); this.updateParent( session, menuObj.getMenumaster().getParentcode(), menuObj.getUsertype().getId()); } else { transaction = session.beginTransaction(); Usertype typeobj = new Usertype(); typeobj.setId(Integer.parseInt(usertypes)); Menumaster menuMasterObj = new Menumaster(); menuMasterObj.setCode(Integer.parseInt(menuId)); Menuprivilages menuObj = new Menuprivilages(); menuObj.setId(String.valueOf(getSequenceNumber(session))); menuObj.setUsertype(typeobj); menuObj.setMenumaster(menuMasterObj); menuObj.setAccessright(Boolean.TRUE); session.saveOrUpdate(menuObj); transaction.commit(); this.insertParent(session, Integer.parseInt(menuId), Integer.parseInt(usertypes)); } } } } else { Criteria criteria = session.createCriteria(Menumaster.class); // criteria.add(Restrictions.ne("parentcode", 0)); criteria.addOrder(Order.asc("menuorder")); List menumasterlist = criteria.list(); if (menumasterlist.size() > 0) { for (int i = 0; i < menumasterlist.size(); i++) { Menumaster menuMasterObj = (Menumaster) menumasterlist.get(i); transaction = session.beginTransaction(); Usertype typeobj = new Usertype(); typeobj.setId(Integer.parseInt(usertypes)); Menuprivilages menuObj = new Menuprivilages(); menuObj.setId(String.valueOf(getSequenceNumber(session))); menuObj.setUsertype(typeobj); menuObj.setMenumaster(menuMasterObj); menuObj.setAccessright(Boolean.FALSE); session.save(menuObj); transaction.commit(); } } if (!menucodes.equalsIgnoreCase("") && menucodes != null) { strArray = menucodes.split(java.util.regex.Pattern.quote(delimiter)); for (String menuId : strArray) { Criteria menuCrit1 = session.createCriteria(Menuprivilages.class); menuCrit1.add(Restrictions.sqlRestriction("usertype=" + Integer.parseInt(usertypes))); menuCrit1.add(Restrictions.sqlRestriction("menumaster=" + Integer.parseInt(menuId))); List menuList1 = menuCrit1.list(); if (menuList1.size() > 0) { transaction = session.beginTransaction(); Menuprivilages menuObj = (Menuprivilages) menuList1.get(0); menuObj.setAccessright(Boolean.TRUE); session.update(menuObj); transaction.commit(); this.updateParent( session, menuObj.getMenumaster().getParentcode(), menuObj.getUsertype().getId()); } else { transaction = session.beginTransaction(); Usertype typeobj = new Usertype(); typeobj.setId(Integer.parseInt(usertypes)); Menumaster menuMasterObj = new Menumaster(); menuMasterObj.setCode(Integer.parseInt(menuId)); Menuprivilages menuObj = new Menuprivilages(); menuObj.setId(String.valueOf(getSequenceNumber(session))); menuObj.setUsertype(typeobj); menuObj.setMenumaster(menuMasterObj); menuObj.setAccessright(Boolean.TRUE); session.save(menuObj); transaction.commit(); this.insertParent(session, Integer.parseInt(menuId), Integer.parseInt(usertypes)); } } } } resultMap.put("success", "Successfully Menus Assigned"); } catch (Exception e) { e.printStackTrace(); if (transaction != null) { transaction.rollback(); } resultMap.put("ERROR", "Menus Assigning Faild"); } return resultMap; }