List of usage examples for org.hibernate.criterion Restrictions and
public static LogicalExpression and(Criterion lhs, Criterion rhs)
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@Override public RoadOperationSummaryBO operationSummaryReport(OperationSummaryReportCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { Criteria criteriaRoadOp = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(RoadOperationDO.class, "ro"); criteriaRoadOp.createAlias("ro.category", "cat"); Criterion subCriteron = null;/*from w w w. java 2 s . c om*/ Criterion mainCriteron = null; if (reportCriteria.getOperationStartDate() != null && reportCriteria.getOperationEndDate() != null) { mainCriteron = Restrictions.or( Restrictions.between("ro.scheduledStartDtime", DateUtils.searchDateFormater(reportCriteria.getOperationStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getOperationEndDate(), DateUtils.SEARCHDATETYPE.END)), Restrictions.between("ro.scheduledEndDtime", DateUtils.searchDateFormater(reportCriteria.getOperationStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getOperationEndDate(), DateUtils.SEARCHDATETYPE.END))); } if (reportCriteria.getTAOfficeRegions() != null && reportCriteria.getTAOfficeRegions().size() > 0) { subCriteron = Restrictions.in("ro.officeLocCode", reportCriteria.getTAOfficeRegions()); } if (reportCriteria.getTeamLeadStaffIds() != null && reportCriteria.getTeamLeadStaffIds().size() > 0) { /* Get List of all road operations with staff as team lead. */ Criteria teamLeadsByStaffIdCrit = this.getSession().createCriteria(TeamDO.class, "team"); teamLeadsByStaffIdCrit .add(Restrictions.in("team.teamLead.staffId", reportCriteria.getTeamLeadStaffIds())); teamLeadsByStaffIdCrit.setProjection(Projections.property("team.roadOperation.roadOperationId")); List<Integer> teamLeadsByStaffId = teamLeadsByStaffIdCrit.list(); if (teamLeadsByStaffId != null && teamLeadsByStaffId.size() > 0) { if (subCriteron == null) { subCriteron = Restrictions.in("ro.roadOperationId", teamLeadsByStaffId); } else { subCriteron = Restrictions.and(subCriteron, Restrictions.in("ro.roadOperationId", teamLeadsByStaffId)); } } } if (reportCriteria.getTeamLeadTRNs() != null && reportCriteria.getTeamLeadTRNs().size() > 0) { /* Get List of all road operations with staff as team lead. */ Criteria teamLeadsByTRNCrit = this.getSession().createCriteria(TeamDO.class, "team"); teamLeadsByTRNCrit.createAlias("team.teamLead", "teamLead"); teamLeadsByTRNCrit.createAlias("teamLead.person", "person"); teamLeadsByTRNCrit.add(Restrictions.in("person.trnNbr", reportCriteria.getTeamLeadTRNs())); teamLeadsByTRNCrit.setProjection(Projections.property("team.roadOperation.roadOperationId")); List<Integer> teamLeadsByTRN = teamLeadsByTRNCrit.list(); if (teamLeadsByTRN != null && teamLeadsByTRN.size() > 0) { if (subCriteron == null) { subCriteron = Restrictions.in("ro.roadOperationId", teamLeadsByTRNCrit.list()); } else { subCriteron = Restrictions.and(subCriteron, Restrictions.in("ro.roadOperationId", teamLeadsByTRNCrit.list())); } } } if (reportCriteria.getOperationCategory() != null && !reportCriteria.getOperationCategory().isEmpty()) { if (subCriteron == null) { subCriteron = Restrictions .eq("ro.category.categoryId", reportCriteria.getOperationCategory().trim()).ignoreCase(); } else { subCriteron = Restrictions.and(subCriteron, Restrictions .eq("ro.category.categoryId", reportCriteria.getOperationCategory().trim()).ignoreCase()); } } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { if (subCriteron == null) { subCriteron = Restrictions .like("ro.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase(); } else { subCriteron = Restrictions.and(subCriteron, Restrictions .like("ro.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { if (subCriteron == null) { subCriteron = Restrictions.eq("ro.roadOperationId", reportCriteria.getRoadOperationId()); } else { subCriteron = Restrictions.and(subCriteron, Restrictions.eq("ro.roadOperationId", reportCriteria.getRoadOperationId())); } } if (reportCriteria.getRoadOperationIds() != null && !reportCriteria.getRoadOperationIds().isEmpty()) { if (subCriteron == null) { subCriteron = Restrictions.in("ro.roadOperationId", reportCriteria.getRoadOperationIds()); } else { subCriteron = Restrictions.and(subCriteron, Restrictions.in("ro.roadOperationId", reportCriteria.getRoadOperationIds())); } } if (subCriteron == null && mainCriteron != null) criteriaRoadOp.add(mainCriteron); else if (mainCriteron == null && subCriteron != null) criteriaRoadOp.add(subCriteron); else if (mainCriteron != null && subCriteron != null) criteriaRoadOp.add(Restrictions.and(mainCriteron, subCriteron)); else return null; /* Get report criteria names and descriptions */ reportCriteria.setTAOfficeDescription(this.getTAOfficeRegionDescription(userRegion)); if (reportCriteria.getTeamLeadStaffIds() != null && reportCriteria.getTeamLeadStaffIds().size() > 0) reportCriteria.setTAStaffFullName(this.getTAStaffNames(reportCriteria.getTeamLeadStaffIds())); else if (reportCriteria.getTeamLeadTRNs() != null && reportCriteria.getTeamLeadTRNs().size() > 0) reportCriteria.setTAStaffFullName(this.getPersonNamesWithTRN(reportCriteria.getTeamLeadTRNs())); reportCriteria.setOperationCategoryDescription( this.getOperationCategoryDesc(reportCriteria.getOperationCategory())); criteriaRoadOp.addOrder(Order.asc("ro.officeLocCode")); criteriaRoadOp.addOrder(Order.asc("cat.description")); criteriaRoadOp.addOrder(Order.asc("ro.actualStartDtime")); criteriaRoadOp.addOrder(Order.asc("ro.actualEndDtime")); criteriaRoadOp.addOrder(Order.asc("ro.operationName")); List<RoadOperationSummaryResultsBO> results = new ArrayList<RoadOperationSummaryResultsBO>(); String stringStartDate = ""; String stringEndDate = ""; try { stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationEndDate()); } catch (Exception exe) { } for (RoadOperationDO roadOp : (List<RoadOperationDO>) criteriaRoadOp.list()) { // Get counts that are needed to fill roadOpSummaryReportList Integer absentMembersCount = this.absentPersonCount(roadOp.getRoadOperationId()); Integer teamMemberCount = this.teamMemberPersonCount(roadOp.getRoadOperationId()); Integer summonsCount = this.summonsCount(roadOp.getRoadOperationId()); Integer warningNoProsecutionCount = this.warningNoProsecutionCount(roadOp.getRoadOperationId()); Integer warningNoticeCount = this.warningNoticeCount(roadOp.getRoadOperationId()); Integer vehicleSeizedCount = this.roadCheckOutcomeCount(roadOp.getRoadOperationId(), Constants.OutcomeType.VEHICLE_SEIZURE); Integer complianceCount = this.complianceCount(roadOp.getRoadOperationId()); Integer motorVehicleCheckCount = this.roadCheckTypeCount(roadOp.getRoadOperationId(), Constants.RoadCheckType.MOTOR_VEHICLE); Integer dlCheckCount = this.roadCheckTypeCount(roadOp.getRoadOperationId(), Constants.RoadCheckType.DRIVERS_LICENCE); Integer badgeCheckCount = this.roadCheckTypeCount(roadOp.getRoadOperationId(), Constants.RoadCheckType.BADGE); Integer citationCheckCount = this.roadCheckTypeCount(roadOp.getRoadOperationId(), Constants.RoadCheckType.CITATION); Integer roadLicenceCheckCount = this.roadCheckTypeCount(roadOp.getRoadOperationId(), Constants.RoadCheckType.ROAD_LICENCE); Integer otherCheckCount = this.roadCheckTypeCount(roadOp.getRoadOperationId(), Constants.RoadCheckType.OTHER); Integer countJPs = this.getCountOfPersonType(roadOp.getRoadOperationId(), Constants.PersonType.JP); Integer countPoliceOfficers = this.getCountOfPersonType(roadOp.getRoadOperationId(), Constants.PersonType.POLICE_OFFCER); Integer countTAInspectors = this.getCountOfPersonType(roadOp.getRoadOperationId(), Constants.PersonType.TA_STAFF); Integer countITAExaminers = this.getCountOfPersonType(roadOp.getRoadOperationId(), Constants.PersonType.ITA_EXAMINER); /***** * UR-057 Got absent count for each person type */ Integer absentITACount = absentPersonTypeCount(roadOp.getRoadOperationId(), Constants.PersonType.ITA_EXAMINER); Integer absentTACount = absentPersonTypeCount(roadOp.getRoadOperationId(), Constants.PersonType.TA_STAFF); Integer absentPoliceCount = absentPersonTypeCount(roadOp.getRoadOperationId(), Constants.PersonType.POLICE_OFFCER); Integer absentJPCount = absentPersonTypeCount(roadOp.getRoadOperationId(), Constants.PersonType.JP); /* __________________________________________________________________________ */ /* * Get Duration of an road operation using actual start and end * time. */ long operationDuration = 0; if (roadOp.getActualStartDtime() != null && roadOp.getActualEndDtime() != null) operationDuration = DateUtils.getDateDiff(roadOp.getActualStartDtime(), roadOp.getActualEndDtime(), TimeUnit.MINUTES); /* ___________________________________________________________________ */ RoadOperationSummaryResultsBO result = new RoadOperationSummaryResultsBO( roadOp.getAuditEntry().getCreateDTime()/* operationCreateDate */, roadOp.getScheduledEndDtime()/* scheduledEndDateTime */, roadOp.getScheduledStartDtime()/* scheduledStartDateTime */, roadOp.getActualStartDtime()/* actualStartDateTime */, roadOp.getActualEndDtime()/* actualEndDateTime */, roadOp.getStatus().getDescription()/* operationStatus */, roadOp.getCategory().getDescription()/* operationCategory */, roadOp.getOperationName()/* operationName */, summonsCount/* countSummonsIssued */, warningNoticeCount/* countWaningNoticesIssued */, vehicleSeizedCount/* countVehiclesSeized */, complianceCount/* countCompliancyActivitiesCommited */, motorVehicleCheckCount/* countMotorVehiclesChecked */, dlCheckCount/* countDrivesLicenceChecked */, badgeCheckCount/* countBadgesChecked */, citationCheckCount/* countCitationChecks */, roadLicenceCheckCount/* countRoadLicencesChecked */, otherCheckCount/* countOtherChecks */, (int) operationDuration/* durationOfOperationInMinutes */, absentMembersCount/* countAbsentMembers */, roadOp.getRoadOperationId()/* operationId */, this.roadCheckOutcomeCount(roadOp.getRoadOperationId(), Constants.OutcomeType.REMOVE_PLATES)/* countPlatesRemoved */, this.roadCheckOutcomeCount(roadOp.getRoadOperationId(), Constants.OutcomeType.WARNED_FOR_PROSECUTION)/* warningsForProcecution */, this.roadCheckOutcomeCount(roadOp.getRoadOperationId(), Constants.OutcomeType.ALL_IN_ORDER)/* * Integer * allInOrders */, teamMemberCount /* count team members */, this.getRoadOpTeamSummaryResults(roadOp.getRoadOperationId()) /* team Summaries */, roadOp.getOfficeLocCode()/*TAOfficeRegion*/, this.getTAOfficeRegionDescription(roadOp.getOfficeLocCode())/*TAOfficeRegion*/); result.setCountWarningNoProsecutions(warningNoProsecutionCount); result.setCountITAExaminers(countITAExaminers); result.setCountPoliceOfficers(countPoliceOfficers); result.setCountJPs(countJPs); result.setCountTAInspectors(countTAInspectors); /***** * UR-057 - Set absentee values for each assigned person group */ result.setCountAbsentITAExaminers(absentITACount); result.setCountAbsentJPs(absentJPCount); result.setCountAbsentPoliceOfficers(absentPoliceCount); result.setCountAbsentTAInspectors(absentTACount); results.add(result); } return new RoadOperationSummaryBO(userName, userRegion, reportDisplayInformation.applicationName, reportDisplayInformation.roadOperationSummaryTitle + stringStartDate + " TO " + stringEndDate, reportCriteria.getOperationStartDate(), reportCriteria.getOperationEndDate(), reportCriteria.getSearchCriteriaString(), this.getTAOfficeRegionDescription(userRegion), results); }
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@Override public SummonsOutstandingReportBO summonsOutstandingReport(SummonsOutstandingReportCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { Criteria criteria = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(SummonsDO.class, "s"); criteria.createAlias("s.roadOperation", "ro", Criteria.LEFT_JOIN); criteria.createAlias("s.offender", "of", Criteria.LEFT_JOIN); criteria.createAlias("s.status", "st", Criteria.LEFT_JOIN); criteria.createAlias("ro.category", "c", Criteria.LEFT_JOIN); criteria.createAlias("s.taStaff", "ta", Criteria.LEFT_JOIN); criteria.createAlias("ta.person", "taPerson"); Date reportStartDate = DateUtils.searchDateFormater(reportCriteria.getOperationStartDate(), DateUtils.SEARCHDATETYPE.START); Date reportEndDate = DateUtils.searchDateFormater(reportCriteria.getOperationEndDate(), DateUtils.SEARCHDATETYPE.END); Criterion mainCriterion = Restrictions.or( Restrictions.between("ro.scheduledStartDtime", reportStartDate, reportEndDate), Restrictions.between("ro.scheduledEndDtime", reportStartDate, reportEndDate)); /* Only summons which are not yet issued should be returned */ List<String> summonsOutstandingStatusList = new ArrayList<String>(); summonsOutstandingStatusList.add(fsl.ta.toms.roms.constants.Constants.DocumentStatus.CANCELLED); summonsOutstandingStatusList.add(fsl.ta.toms.roms.constants.Constants.DocumentStatus.WITHDRAWN); summonsOutstandingStatusList.add(fsl.ta.toms.roms.constants.Constants.DocumentStatus.SERVED); Criterion subCriterion = Restrictions.not(Restrictions.in("st.statusId", summonsOutstandingStatusList)); /* _________________________________________________________ */ if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("of.personId", reportCriteria.getOffenderId())); }//from ww w .ja v a2s . co m if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("of.trnNbr", reportCriteria.getOffenderTRN().trim())); } if (StringUtil.isSet(reportCriteria.getOffenderFirstName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("of.firstName", reportCriteria.getOffenderFirstName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderLastName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("of.lastName", reportCriteria.getOffenderLastName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (reportCriteria.getOperationCategory() != null && !reportCriteria.getOperationCategory().isEmpty()) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("c.categoryId", reportCriteria.getOperationCategory().trim())); } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("ro.roadOperationId", reportCriteria.getRoadOperationId())); } if (reportCriteria.getTAOfficeRegion() != null && !reportCriteria.getTAOfficeRegion().isEmpty()) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("ro.officeLocCode", reportCriteria.getTAOfficeRegion().trim())); } if (reportCriteria.getTAStaffId() != null && !reportCriteria.getTAStaffId().isEmpty()) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("ta.staffId", reportCriteria.getTAStaffId().trim())); } if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("taPerson.trnNbr", reportCriteria.getTAStaffTRN().trim())); } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("ro.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } criteria.add(Restrictions.and(mainCriterion, subCriterion)); NameUtil nameUtil = new NameUtil(); String stringStartDate = ""; String stringEndDate = ""; try { stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationEndDate()); } catch (Exception exe) { } /* Get report criteria names and descriptions */ if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) reportCriteria.setOffenderName(this.getPersonName(reportCriteria.getOffenderId())); else if (StringUtil.isSet(reportCriteria.getOffenderTRN())) reportCriteria.setOffenderName(this.getPersonName(reportCriteria.getOffenderTRN())); reportCriteria .setOperationCategoryDesc(this.getOperationCategoryDesc(reportCriteria.getOperationCategory())); reportCriteria.setRoadOperationName(reportCriteria.getRoadOperationName()); reportCriteria.setTAOfficeRegionDesc(this.getTAOfficeRegionDescription(reportCriteria.getTAOfficeRegion())); if (StringUtil.isSet(reportCriteria.getTAStaffId())) reportCriteria.setTAStaffName(this.getTAStaffName(reportCriteria.getTAStaffId())); else if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) reportCriteria.setTAStaffName(this.getPersonName(reportCriteria.getTAStaffTRN())); /* * reportCriteria.setRoadOperationDesc(this.getRoadOperationName( * reportCriteria.getRoadOperationId())); */ /* __________________________________________ */ SummonsOutstandingReportBO report = new SummonsOutstandingReportBO(userName, userRegion, reportDisplayInformation.applicationName, reportDisplayInformation.summonsOutstandingReportTitle + stringStartDate + " TO " + stringEndDate, reportCriteria.getOperationStartDate(), reportCriteria.getOperationEndDate(), reportCriteria.getSearchCriteriaString(), getTAOfficeRegionDescription(userRegion)); List<SummonsOutstandingReportResultsBO> summonsOutStReportList = new ArrayList<SummonsOutstandingReportResultsBO>(); for (SummonsDO summons : (List<SummonsDO>) criteria.list()) { String offenderFullName = NameUtil.getName( (StringUtil.isSet(summons.getOffender().getFirstName()) ? summons.getOffender().getFirstName().trim() : ""), (StringUtil.isSet(summons.getOffender().getLastName()) ? summons.getOffender().getLastName().trim() : "")); String offenceDescription = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getOffence() .getDescription(); String tAStaffFullName = NameUtil.getName( (StringUtil.isSet(summons.getTaStaff().getPerson().getFirstName()) ? summons.getTaStaff().getPerson().getFirstName().trim() : ""), (StringUtil.isSet(summons.getTaStaff().getPerson().getLastName()) ? summons.getTaStaff().getPerson().getLastName().trim() : "")); VehicleDO vehicle = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getVehicle(); String vehicleDetails = ""; if (vehicle != null) { vehicleDetails = (StringUtil.isSet(vehicle.getModel()) ? vehicle.getModel().trim() : "") + "; " + (StringUtil.isSet(vehicle.getMakeDescription()) ? vehicle.getMakeDescription().trim() : "") + "; Plate #: " + (StringUtil.isSet(vehicle.getPlateRegNo()) ? vehicle.getPlateRegNo().trim() : ""); } String locationOfOffence = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getCompliancyArtery().getDescription(); String tAOfficeRegion = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getRoadOperation().getOfficeLocCode(); String jPFullName = NameUtil.getName( (StringUtil.isSet(summons.getJusticeOfPeace().getPerson().getFirstName()) ? summons.getJusticeOfPeace().getPerson().getFirstName().trim() : ""), (StringUtil.isSet(summons.getJusticeOfPeace().getPerson().getLastName()) ? summons.getJusticeOfPeace().getPerson().getLastName() : "")); String roadOperationDetails = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getRoadOperation().getOperationName(); /* Get latest trial for the summons */ Criteria criteriaCourtAppearance = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(CourtAppearanceDO.class, "CApp"); criteriaCourtAppearance.createAlias("CApp.courtCase", "CCase"); criteriaCourtAppearance.createAlias("CCase.summons", "Summ"); criteriaCourtAppearance.add(Restrictions.eq("Summ.summonsId", summons.getSummonsId())); criteriaCourtAppearance.addOrder(Order.asc("CApp.CourtDTime")); criteriaCourtAppearance.addOrder(Order.asc("CApp.courtAppearanceId")); Integer courtAppListSize = criteriaCourtAppearance.list().size(); String courtDetails = ""; if (courtAppListSize > 0) { CourtAppearanceDO courtApp = (CourtAppearanceDO) criteriaCourtAppearance.list() .get(courtAppListSize - 1); String stringTrialDate = ""; SimpleDateFormat dt = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss"); try { stringTrialDate = dt.format(courtApp.getCourtDTime()); } catch (Exception exe) { } courtDetails = String.format("Court Appearance Date is %s at %s.", stringTrialDate, courtApp.getCourt().getDescription()); } /* _______________________________ */ SummonsOutstandingReportResultsBO summonsOutstanding = new SummonsOutstandingReportResultsBO( offenderFullName, offenceDescription, tAStaffFullName, vehicleDetails, locationOfOffence, tAOfficeRegion, jPFullName, roadOperationDetails, courtDetails, getTAOfficeRegionDescription(tAOfficeRegion), summons.getServedOnDate()); summonsOutStReportList.add(summonsOutstanding); } report.setResults(summonsOutStReportList); return report; }
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@Override public SummonsReportBO summonsReport(SummonsReportCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { Criteria criteria = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(SummonsDO.class, "s"); criteria.createAlias("s.roadOperation", "ro", Criteria.LEFT_JOIN); criteria.createAlias("s.offender", "of", Criteria.LEFT_JOIN); criteria.createAlias("s.status", "st", Criteria.LEFT_JOIN); criteria.createAlias("ro.category", "c", Criteria.LEFT_JOIN); criteria.createAlias("s.taStaff", "ta", Criteria.LEFT_JOIN); criteria.createAlias("ta.person", "taPerson", Criteria.LEFT_JOIN); Criterion mainCriterion = Restrictions.sqlRestriction("1=1"); if (reportCriteria.getOperationStartDate() != null && reportCriteria.getOperationEndDate() != null) { Date reportStartDate = DateUtils.searchDateFormater(reportCriteria.getOperationStartDate(), DateUtils.SEARCHDATETYPE.START); Date reportEndDate = DateUtils.searchDateFormater(reportCriteria.getOperationEndDate(), DateUtils.SEARCHDATETYPE.END); Criterion scheduledDate = Restrictions.or( Restrictions.between("ro.scheduledStartDtime", reportStartDate, reportEndDate), Restrictions.between("ro.scheduledEndDtime", reportStartDate, reportEndDate)); Criterion actualDate = Restrictions.or( Restrictions.between("ro.actualStartDtime", reportStartDate, reportEndDate), Restrictions.between("ro.actualEndDtime", reportStartDate, reportEndDate)); mainCriterion = Restrictions.and(mainCriterion, Restrictions.or(scheduledDate, actualDate)); }/*from ww w . j a va2 s . c o m*/ if (reportCriteria.getOffenceStartDate() != null && reportCriteria.getOffenceEndDate() != null) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.between("s.offenceDtime", DateUtils.searchDateFormater(reportCriteria.getOffenceStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getOffenceEndDate(), DateUtils.SEARCHDATETYPE.END))); } if (reportCriteria.getIssuedStartDate() != null && reportCriteria.getIssuedEndDate() != null) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.between("s.issueDate", DateUtils.searchDateFormater(reportCriteria.getIssuedStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getIssuedEndDate(), DateUtils.SEARCHDATETYPE.END))); } if (reportCriteria.getPrintStartDate() != null && reportCriteria.getPrintEndDate() != null) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.between("s.printDtime", DateUtils.searchDateFormater(reportCriteria.getPrintStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getPrintEndDate(), DateUtils.SEARCHDATETYPE.END))); } if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("of.personId", reportCriteria.getOffenderId())); } if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("of.trnNbr", reportCriteria.getOffenderTRN().trim())); } if (reportCriteria.getOperationCategory() != null && !reportCriteria.getOperationCategory().isEmpty()) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("c.categoryId", reportCriteria.getOperationCategory().trim())); } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("ro.roadOperationId", reportCriteria.getRoadOperationId())); } if (reportCriteria.getTAOfficeRegion() != null && !reportCriteria.getTAOfficeRegion().isEmpty()) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("ro.officeLocCode", reportCriteria.getTAOfficeRegion().trim())); } if (reportCriteria.getTAStaffId() != null && !reportCriteria.getTAStaffId().isEmpty()) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("ta.staffId", reportCriteria.getTAStaffId().trim())); } if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("taPerson.trnNbr", reportCriteria.getTAStaffTRN().trim())); } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions .like("ro.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getStatus())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("s.status.statusId", reportCriteria.getStatus().trim())); } if (StringUtil.isSet(reportCriteria.getOffenderFirstName())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions .like("of.firstName", reportCriteria.getOffenderFirstName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderLastName())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions .like("of.lastName", reportCriteria.getOffenderLastName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } criteria.add(mainCriterion); String stringStartDate = ""; String stringEndDate = ""; String dateTypeUsed = ""; Date startDate = null; Date endDate = null; try { if (reportCriteria.getOperationStartDate() != null && reportCriteria.getOperationEndDate() != null) { startDate = reportCriteria.getOperationStartDate(); endDate = reportCriteria.getOperationEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationEndDate()); dateTypeUsed = "Operation"; } else if (reportCriteria.getOffenceStartDate() != null && reportCriteria.getOffenceEndDate() != null) { startDate = reportCriteria.getOffenceStartDate(); endDate = reportCriteria.getOffenceEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getOffenceStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getOffenceEndDate()); dateTypeUsed = "Offence"; } else if (reportCriteria.getPrintStartDate() != null && reportCriteria.getPrintEndDate() != null) { startDate = reportCriteria.getPrintStartDate(); endDate = reportCriteria.getPrintEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getPrintStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getPrintEndDate()); dateTypeUsed = "Print"; } else if (reportCriteria.getIssuedStartDate() != reportCriteria.getIssuedEndDate()) { startDate = reportCriteria.getIssuedStartDate(); endDate = reportCriteria.getIssuedEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getIssuedStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getIssuedEndDate()); dateTypeUsed = "Issued"; } } catch (Exception exe) { } /* Get report criteria names and descriptions */ if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { reportCriteria.setOffenderName(this.getPersonName(reportCriteria.getOffenderId())); } else if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { reportCriteria.setOffenderName(this.getPersonName(reportCriteria.getOffenderTRN())); } reportCriteria .setOperationCategoryDesc(this.getOperationCategoryDesc(reportCriteria.getOperationCategory())); reportCriteria.setRoadOperationName(reportCriteria.getRoadOperationName()); reportCriteria.setTAOfficeRegionDesc(this.getTAOfficeRegionDescription(reportCriteria.getTAOfficeRegion())); if (StringUtil.isSet(reportCriteria.getTAStaffId())) reportCriteria.setTAStaffName(this.getTAStaffName(reportCriteria.getTAStaffId())); else if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) reportCriteria.setTAStaffName(this.getPersonName(reportCriteria.getTAStaffTRN())); /* * reportCriteria.setRoadOperationDesc(this.getRoadOperationName( * reportCriteria.getRoadOperationId())); */ /* __________________________________________ */ SummonsReportBO report = new SummonsReportBO(userName, userRegion, reportDisplayInformation.applicationName, reportDisplayInformation.summonsReportTitle + "(" + dateTypeUsed + ") " + stringStartDate + " TO " + stringEndDate, startDate, endDate, reportCriteria.getSearchCriteriaString(), getTAOfficeRegionDescription(userRegion)); List<SummonsReportResultsBO> summonsReportList = new ArrayList<SummonsReportResultsBO>(); for (SummonsDO summons : (List<SummonsDO>) criteria.list()) { String offenderFullName = NameUtil.getName( (StringUtil.isSet(summons.getOffender().getFirstName()) ? summons.getOffender().getFirstName().trim() : ""), (StringUtil.isSet(summons.getOffender().getLastName()) ? summons.getOffender().getLastName().trim() : "")); String offenceDescription = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getOffence() .getDescription(); String tAStaffFullName = NameUtil.getName( (StringUtil.isSet(summons.getTaStaff().getPerson().getFirstName()) ? summons.getTaStaff().getPerson().getFirstName().trim() : ""), (StringUtil.isSet(summons.getTaStaff().getPerson().getLastName()) ? summons.getTaStaff().getPerson().getLastName().trim() : "")); VehicleDO vehicle = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getVehicle(); String vehicleDetails = ""; if (vehicle != null) { vehicleDetails = (StringUtil.isSet(vehicle.getModel()) ? vehicle.getModel().trim() : "") + "; " + (StringUtil.isSet(vehicle.getMakeDescription()) ? vehicle.getMakeDescription().trim() : "") + "; Plate #: " + (StringUtil.isSet(vehicle.getPlateRegNo()) ? vehicle.getPlateRegNo().trim() : ""); } String locationOfOffence = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getCompliancyArtery().getDescription(); String tAOfficeRegion = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getRoadOperation().getOfficeLocCode(); String jPFullName = NameUtil.getName( (StringUtil.isSet(summons.getJusticeOfPeace().getPerson().getFirstName()) ? summons.getJusticeOfPeace().getPerson().getFirstName().trim() : ""), (StringUtil.isSet(summons.getJusticeOfPeace().getPerson().getLastName()) ? summons.getJusticeOfPeace().getPerson().getLastName() : "")); String roadOperationDetails = summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getCompliance().getRoadOperation().getOperationName(); /* Get latest trial for the summons */ Criteria criteriaCourtAppearance = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(CourtAppearanceDO.class, "CApp"); criteriaCourtAppearance.createAlias("CApp.courtCase", "CCase"); criteriaCourtAppearance.createAlias("CCase.summons", "Summ"); criteriaCourtAppearance.add(Restrictions.eq("Summ.summonsId", summons.getSummonsId())); criteriaCourtAppearance.addOrder(Order.asc("CApp.CourtDTime")); criteriaCourtAppearance.addOrder(Order.asc("CApp.courtAppearanceId")); Integer courtAppListSize = criteriaCourtAppearance.list().size(); String courtDetails = ""; if (courtAppListSize > 0) { CourtAppearanceDO courtApp = (CourtAppearanceDO) criteriaCourtAppearance.list() .get(courtAppListSize - 1); String stringTrialDate = ""; SimpleDateFormat dt = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss"); try { stringTrialDate = dt.format(courtApp.getCourtDTime()); } catch (Exception exe) { } courtDetails = String.format("Court Appearance Date is %s at %s.", stringTrialDate, courtApp.getCourt().getDescription()); } /* _______________________________ */ SummonsReportResultsBO summonsRptResult = new SummonsReportResultsBO(offenderFullName, offenceDescription, tAStaffFullName, vehicleDetails, locationOfOffence, tAOfficeRegion, jPFullName, roadOperationDetails, courtDetails, getTAOfficeRegionDescription(tAOfficeRegion), summons.getOffenceDtime(), summons.getServedOnDate(), summons.getPrintDtime(), summons.getStatus().getStatusId(), summons.getStatus().getDescription(), summons.getManualSerialNumber(), summons.getComment(), summons.getReason() != null ? summons.getReason().getDescription() : null, summons.getReprintDtime()); summonsReportList.add(summonsRptResult); } report.setResults(summonsReportList); return report; }
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@Override public CourtScheduleReportBO courtScheduleReport(CourtScheduleCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { Criteria criteria = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(CourtAppearanceDO.class, "CApp"); /* Create aliases */ criteria.createAlias("CApp.status", "st", Criteria.LEFT_JOIN); criteria.createAlias("CApp.court", "c", Criteria.LEFT_JOIN); criteria.createAlias("CApp.courtCase", "CCase", Criteria.LEFT_JOIN); criteria.createAlias("CCase.summons", "su", Criteria.LEFT_JOIN); criteria.createAlias("su.offender", "o", Criteria.LEFT_JOIN); criteria.createAlias("c.address", "courtAddress", Criteria.LEFT_JOIN); criteria.createAlias("courtAddress.parish", "courtParish", Criteria.LEFT_JOIN); criteria.createAlias("su.roadCheckOffenceOutcome.roadCheckOffence.roadCheck.compliance.roadOperation", "r", Criteria.LEFT_JOIN);/* w ww .ja v a 2s. co m*/ criteria.createAlias("su.taStaff", "tas", Criteria.LEFT_JOIN); criteria.createAlias("tas.person", "taPerson", Criteria.LEFT_JOIN); criteria.createAlias("su.roadCheckOffenceOutcome.roadCheckOffence.offence", "off"); /* _____________________________ */ Criterion mainCriterion = Restrictions.between("CApp.courtDTime", DateUtils.searchDateFormater(reportCriteria.getTrialStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getTrialEndDate(), DateUtils.SEARCHDATETYPE.END)); Criterion subCriterion = Restrictions .eq("st.statusId", fsl.ta.toms.roms.constants.Constants.Status.COURT_CASE_OPEN).ignoreCase(); if (reportCriteria.getCourtId() != null && reportCriteria.getCourtId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("c.courtId", reportCriteria.getCourtId())); } if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("o.personId", reportCriteria.getOffenderId())); } if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("o.trnNbr", reportCriteria.getOffenderTRN().trim())); } if (StringUtil.isSet(reportCriteria.getOffenderFirstName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("o.firstName", reportCriteria.getOffenderFirstName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderLastName())) { subCriterion = Restrictions.and(subCriterion, Restrictions.like("o.lastName", reportCriteria.getOffenderLastName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("r.roadOperationId", reportCriteria.getRoadOperationId())); } // if (reportCriteria.getTAOfficeRegions() != null // && reportCriteria.getTAOfficeRegions().size() > 0) { // subCriterion = Restrictions.and( // subCriterion, // Restrictions.in("r.officeLocCode", // reportCriteria.getTAOfficeRegions())); /*Region should be filtered by the court appearances*/ if (reportCriteria.getTAOfficeRegions() != null && reportCriteria.getTAOfficeRegions().size() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.in("courtParish.officeLocationCode", reportCriteria.getTAOfficeRegions())); } if (StringUtil.isSet(reportCriteria.getTAStaffId())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("tas.staffId", reportCriteria.getTAStaffId().trim())); } if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("taPerson.trnNbr", reportCriteria.getTAStaffTRN().trim())); } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("r.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } criteria.add(Restrictions.and(mainCriterion, subCriterion)); criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); //criteria.addOrder(Order.asc("r.officeLocCode")); criteria.addOrder(Order.asc("courtParish.officeLocationCode").ignoreCase()); criteria.addOrder(Order.asc("c.shortDesc").ignoreCase()); criteria.addOrder(Order.asc("CApp.courtDTime").ignoreCase()); criteria.addOrder(Order.asc("taPerson.lastName").ignoreCase()); criteria.addOrder(Order.asc("su.offenceDtime").ignoreCase()); criteria.addOrder(Order.asc("o.lastName").ignoreCase()); //criteria.addOrder(Order.asc("o.firstName").ignoreCase()); //criteria.addOrder(Order.asc("off.description").ignoreCase()); //criteria.addOrder(Order.asc("r.operationName").ignoreCase()); List criteriaResults = criteria.list(); Iterator iterator = criteriaResults.iterator(); List<CourtScheduleReportResultsBO> results = new ArrayList<CourtScheduleReportResultsBO>(); String stringStartDate = ""; String stringEndDate = ""; try { stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getTrialStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getTrialEndDate()); } catch (Exception exe) { } /* Get report criteria names and descriptions */ reportCriteria.setTAOfficeDescription(this.getTAOfficeRegionDescription(userRegion)); reportCriteria.setCourtDescription(this.getCourtDescription(reportCriteria.getCourtId())); if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) reportCriteria.setOffenderFullName(this.getPersonName(reportCriteria.getOffenderId())); else if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { reportCriteria.setOffenderFullName(this.getPersonName(reportCriteria.getOffenderTRN())); } reportCriteria.setTAOfficeDescription(this.getTAOfficeRegionDescription(userRegion)); if (StringUtil.isSet(reportCriteria.getTAStaffId())) reportCriteria.setTAStaffFullName(this.getTAStaffName(reportCriteria.getTAStaffId())); else if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) { reportCriteria.setTAStaffFullName(this.getPersonName(reportCriteria.getTAStaffTRN())); } while (iterator.hasNext()) { Map result = (Map) iterator.next(); /* Map Results to DOs */ CourtAppearanceDO courtApp = (CourtAppearanceDO) result.get("CApp"); CourtCaseDO courtCase = (CourtCaseDO) result.get("CCase"); StatusDO status = (StatusDO) result.get("st"); CourtDO court = (CourtDO) result.get("c"); SummonsDO summons = (SummonsDO) result.get("su"); PersonDO offender = (PersonDO) result.get("o"); RoadOperationDO roadOp = (RoadOperationDO) result.get("r"); TAStaffDO taStaff = (TAStaffDO) result.get("tas"); ParishDO courtParish = (ParishDO) result.get("courtParish"); /* ____________________________ */ CourtScheduleReportResultsBO courtSchedule = new CourtScheduleReportResultsBO( NameUtil.getName(offender.getFirstName(), offender.getLastName())/* offender Name */, NameUtil.getName(taStaff.getPerson().getFirstName(), taStaff.getPerson().getLastName())/* tAStaffFullName */, roadOp != null ? roadOp.getOperationName() : "Unscheduled Operation"/* roadOperationName */, summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getOffence() .getDescription()/* offenceDetails */, courtParish != null ? courtParish.getOfficeLocationCode() : ""/* tAOfficeRegion */, this.getTAOfficeRegionDescription(court != null ? court : null)/* tAOfficeRegionDescription */, courtCase.getStatus().getDescription()/* Court Case Status */, courtApp.getStatus().getDescription()/* * Court Appearance * Status */, summons.getOffenceDtime()/* offenceDate */, courtApp.getCourtDTime()/* courtDate */, new CourtBO(court)/* court */); results.add(courtSchedule); } return new CourtScheduleReportBO(userName, userRegion/* region */, reportDisplayInformation.applicationName/* applicationName */, reportDisplayInformation.courtScheduleReportTitle + stringStartDate + " TO " + stringEndDate/* reportName */, reportCriteria.getTrialStartDate()/* startDate */, reportCriteria.getTrialEndDate()/* endDate */, reportCriteria.getSearchCriteriaString()/* searchCriteria */, this.getTAOfficeRegionDescription(userRegion)/* regionDescription */, results); }
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@SuppressWarnings("unchecked") @Override//from w w w .j a v a2 s . c om public RoadOperationsStatisticsReportBO performanceSaisticsReport( PerformanceStatisticsReportCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { /* Specify search criteria for report */ Criteria criteria = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(RoadOperationDO.class, "roadOp"); /* List of all aliases used */ criteria.createAlias("roadOp.category", "category"); /* _______________________ */ /* Apply filters to search results */ Criterion mainCriteron = Restrictions.or( Restrictions.between("roadOp.scheduledStartDtime", DateUtils.searchDateFormater(reportCriteria.getStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getEndDate(), DateUtils.SEARCHDATETYPE.END)), Restrictions.between("roadOp.scheduledEndDtime", DateUtils.searchDateFormater(reportCriteria.getStartDate(), DateUtils.SEARCHDATETYPE.START), DateUtils.searchDateFormater(reportCriteria.getEndDate(), DateUtils.SEARCHDATETYPE.END))); if (StringUtil.isSet(reportCriteria.getTAOfficeRegion())) { mainCriteron = Restrictions.and(mainCriteron, Restrictions.eq("roadOp.officeLocCode", reportCriteria.getTAOfficeRegion().trim())); } if (StringUtil.isSet(reportCriteria.getOperationCategory())) { mainCriteron = Restrictions.and(mainCriteron, Restrictions.eq("category.categoryId", reportCriteria.getOperationCategory().trim())); } if (reportCriteria.getTeamLeadId() != null && !reportCriteria.getTeamLeadId().isEmpty()) { List<Integer> roadOpIds = this.getListOfRoadOpIdsBasedOnTeamLead(reportCriteria.getTeamLeadId()); if (roadOpIds != null) mainCriteron = Restrictions.and(mainCriteron, Restrictions.in("roadOp.roadOperationId", roadOpIds)); } if (StringUtil.isSet(reportCriteria.getTeamLeadTRN())) { List<Integer> roadOpIds = this.getListOfRoadOpIdsBasedOnTeamLeadTRN(reportCriteria.getTeamLeadTRN()); if (roadOpIds != null) mainCriteron = Restrictions.and(mainCriteron, Restrictions.in("roadOp.roadOperationId", roadOpIds)); } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { mainCriteron = Restrictions.and(mainCriteron, Restrictions .like("roadOp.operationName", reportCriteria.getRoadOperationName(), MatchMode.ANYWHERE) .ignoreCase()); } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { mainCriteron = Restrictions.and(mainCriteron, Restrictions.eq("roadOp.roadOperationId", reportCriteria.getRoadOperationId())); } if (StringUtil.isSet(reportCriteria.getTAStaffId()) || StringUtil.isSet(reportCriteria.getTAStaffTRN())) { Criteria criteriaTA = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(TAStaffDO.class, "ta"); criteriaTA.createAlias("ta.person", "taPerson"); if (StringUtil.isSet(reportCriteria.getTAStaffId())) criteriaTA.add(Restrictions.eq("ta.staffId", reportCriteria.getTAStaffId().trim())); if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) criteriaTA.add(Restrictions.eq("taPerson.trnNbr", reportCriteria.getTAStaffTRN().trim())); TAStaffDO taStaff = null; List<TAStaffDO> staffList = criteriaTA.list(); if (!staffList.isEmpty()) taStaff = staffList.get(0); if (taStaff != null) { /* Get a list of all assigned persons for a road operation. */ Criteria criteriaAssignedPersons = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(AssignedPersonDO.class, "assignedP"); criteriaAssignedPersons.add(Restrictions.sqlRestriction("{alias}.person_id = ?", taStaff.getPerson().getPersonId(), Hibernate.INTEGER)); List<Integer> roadOpsWithTAStaff = new ArrayList<Integer>(); for (AssignedPersonDO assignee : (List<AssignedPersonDO>) criteriaAssignedPersons.list()) { roadOpsWithTAStaff .add(assignee.getAssignedPersonKey().getTeam().getRoadOperation().getRoadOperationId()); } mainCriteron = Restrictions.and(mainCriteron, Restrictions.in("roadOp.roadOperationId", roadOpsWithTAStaff)); } else { return null; } } /* ______________________________ */ /*** Check which road operations employ the strategies selected ****/ if (reportCriteria.getStrategyIds() != null && !reportCriteria.getStrategyIds().isEmpty()) { // Criteria criteriaStrategies = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(OperationStrategyDO.class, "opStrat"); // criteriaStrategies.createAlias("opStrat.operationStrategyKey.roadOperation", // "roadOp"); // criteriaStrategies.createAlias("opStrat.operationStrategyKey.strategy", // "strat"); criteriaStrategies.setProjection(Projections .distinct(Projections.property("opStrat.operationStrategyKey.roadOperation.roadOperationId"))); criteriaStrategies.add(Restrictions.in("opStrat.operationStrategyKey.strategy.strategyId", reportCriteria.getStrategyIds())); List<Integer> roadOpWithStratsList = criteriaStrategies.list(); if (roadOpWithStratsList != null && !roadOpWithStratsList.isEmpty()) { mainCriteron = Restrictions.and(mainCriteron, Restrictions.in("roadOp.roadOperationId", roadOpWithStratsList)); } else { return null; } } /* ______________________________________________________________ */ /* * Create Return objects which are going to be filled during report * processing. */ String stringStartDate = ""; String stringEndDate = ""; try { stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getEndDate()); } catch (Exception exe) { } /* Get report criteria names and descriptions */ reportCriteria .setTAOfficeDescription(this.getTAOfficeRegionDescription(reportCriteria.getTAOfficeRegion())); reportCriteria.setOperationCategoryDescription( this.getOperationCategoryDesc(reportCriteria.getOperationCategory())); if (StringUtil.isSet(reportCriteria.getTAStaffId())) reportCriteria.setTAStaffName(this.getTAStaffName(reportCriteria.getTAStaffId())); else if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) reportCriteria.setTAStaffName(this.getPersonName(reportCriteria.getTAStaffTRN())); if (StringUtil.isSet(reportCriteria.getTeamLeadId())) reportCriteria.setTeamLeadName(this.getTAStaffName(reportCriteria.getTeamLeadId())); else if (StringUtil.isSet(reportCriteria.getTeamLeadTRN())) reportCriteria.setTeamLeadName(this.getPersonName(reportCriteria.getTeamLeadTRN())); if (reportCriteria.getStrategyIds() != null && !reportCriteria.getStrategyIds().isEmpty()) { StringBuilder strategyDescriptions = new StringBuilder(""); for (Integer strategyId : reportCriteria.getStrategyIds()) { StrategyDO strategyDO = this.hibernateTemplate.get(StrategyDO.class, strategyId); if (strategyDO != null) { if (!strategyDescriptions.toString().isEmpty()) strategyDescriptions.append(", "); strategyDescriptions.append(strategyDO.getDescription()); } } reportCriteria.setStrategyDescriptions(strategyDescriptions.toString()); } RoadOperationsStatisticsReportBO roadOpReportStatsOuput = new RoadOperationsStatisticsReportBO(userName, userRegion, reportDisplayInformation.applicationName, reportDisplayInformation.getPerformanceStatisticsReportTitle() + stringStartDate + " TO " + stringEndDate, reportCriteria.getStartDate(), reportCriteria.getEndDate(), reportCriteria.getSearchCriteriaString(), this.getTAOfficeRegionDescription(userRegion)); List<RegionStatisticsBO> regionStats = new ArrayList<RegionStatisticsBO>(); RegionStatisticsBO currentRegionStats = null; OperationSummaryReportCriteriaBO reportCriteriaForRoadOps = null; roadOpReportStatsOuput.setRegionStatistics(regionStats); /* ____________________________________ */ /* Loop through list of road operations and get statistics for persons. */ criteria.add(mainCriteron); criteria.addOrder(Order.asc("roadOp.officeLocCode")); criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); List criteriaList = criteria.list(); Iterator iterator = criteriaList.iterator(); while (iterator.hasNext()) { Map map = (Map) iterator.next(); final RoadOperationDO roadOpDO = (RoadOperationDO) map.get("roadOp"); // TAStaffDO teamLead = (TAStaffDO)map.get("teamLead"); if (currentRegionStats == null) { /* Create List of RoadOperationSummaryBO */ reportCriteriaForRoadOps = new OperationSummaryReportCriteriaBO(reportCriteria.getStartDate(), reportCriteria.getEndDate(), new ArrayList<String>() { { add(roadOpDO.getOfficeLocCode()); } }, this.getTeamLeadIdsForRoadOp(roadOpDO.getRoadOperationId()), roadOpDO.getCategory().getCategoryId(), roadOpDO.getRoadOperationId()); currentRegionStats = new RegionStatisticsBO(roadOpDO.getOfficeLocCode(), this.getTAOfficeRegionDescription(roadOpDO.getOfficeLocCode())); currentRegionStats.setRoadOpSummary(this.operationSummaryReport(reportCriteriaForRoadOps, userName, userRegion, reportDisplayInformation).getResults()); List<RoadOperationSummaryResultsBO> roadOpSummary = this.operationSummaryReport( reportCriteriaForRoadOps, userName, userRegion, reportDisplayInformation).getResults(); currentRegionStats.setRoadOpSummary(roadOpSummary); currentRegionStats.setRoadOperationStatistics(new ArrayList<RoadOperationStatisticsBO>()); roadOpReportStatsOuput.getRegionStatistics().add(currentRegionStats); } else if (!currentRegionStats.getOfficeLocCode().equalsIgnoreCase(roadOpDO.getOfficeLocCode())) { reportCriteriaForRoadOps = new OperationSummaryReportCriteriaBO(reportCriteria.getStartDate(), reportCriteria.getEndDate(), new ArrayList<String>() { { add(roadOpDO.getOfficeLocCode()); } }, null, roadOpDO.getCategory().getCategoryId(), null); currentRegionStats = new RegionStatisticsBO(roadOpDO.getOfficeLocCode(), this.getTAOfficeRegionDescription(roadOpDO.getOfficeLocCode())); ; currentRegionStats.setRoadOpSummary(this.operationSummaryReport(reportCriteriaForRoadOps, userName, userRegion, reportDisplayInformation).getResults()); List<RoadOperationSummaryResultsBO> roadOpSummary = this.operationSummaryReport( reportCriteriaForRoadOps, userName, userRegion, reportDisplayInformation).getResults(); currentRegionStats.setRoadOpSummary(roadOpSummary); currentRegionStats.setRoadOperationStatistics(new ArrayList<RoadOperationStatisticsBO>()); roadOpReportStatsOuput.getRegionStatistics().add(currentRegionStats); } RoadOperationStatisticsBO roadOpStats = new RoadOperationStatisticsBO( getListOfTeamLeadNamesBasedOnRoadOpId(roadOpDO.getRoadOperationId()), roadOpDO.getOperationName()); roadOpStats.setITAExaminerSummary(new ArrayList<ITAExaminerStatisticsBO>()); roadOpStats.setJPSummary(new ArrayList<JPStatisticsBO>()); roadOpStats.setPoliceOfficerSummary(new ArrayList<PoliceOfficerStatisticsBO>()); roadOpStats.setTAOfficerSummary(new ArrayList<TAOfficerStatisticsBO>()); /* Get a list of all assigned persons for a road operation. */ Criteria criteriaAssignedPersons = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(AssignedPersonDO.class, "assignedP"); // criteriaAssignedPersons.add(Restrictions.sqlRestriction("{alias}.road_operation_id = ?", // roadOpDO.getRoadOperationId(), Hibernate.INTEGER)); List<Integer> teamIds = this.getTeamIdsForRoadOp(roadOpDO.getRoadOperationId()); if (teamIds != null && teamIds.size() > 0) criteriaAssignedPersons.add(Restrictions.in("assignedPersonKey.team.teamId", teamIds)); if (StringUtil.isSet(reportCriteria.getTAStaffId())) { TAStaffDO taStaff = (TAStaffDO) this.hibernateTemplate.getSessionFactory().getCurrentSession() .get(TAStaffDO.class, reportCriteria.getTAStaffId().trim()); if (taStaff != null) { criteriaAssignedPersons.add(Restrictions.sqlRestriction("{alias}.person_id = ?", taStaff.getPerson().getPersonId(), Hibernate.INTEGER)); } else { return null; } } for (AssignedPersonDO assignedPerson : (List<AssignedPersonDO>) criteriaAssignedPersons.list()) { /* Looping through a list of persons based on road operation id. */ PersonDO person = assignedPerson.getAssignedPersonKey().getPerson(); CDPersonTypeDO personType = assignedPerson.getAssignedPersonKey().getPersonType(); if (personType.getPersonTypeId().toLowerCase().equalsIgnoreCase(Constants.PersonType.JP)) { /* Get Statistics for JP Person */ Criteria criteriaJP = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(JPDO.class); criteriaJP.add(Restrictions.eq("person.personId", person.getPersonId())); JPDO jp = (JPDO) criteriaJP.uniqueResult(); JPStatisticsBO jpStatsBO = new JPStatisticsBO( NameUtil.getName(person.getFirstName(), person.getLastName())/* fullName */, jp.getRegNumber()/* regNumber */, this.summonsCount(roadOpDO.getRoadOperationId(), person.getPersonId(), Constants.PersonType.JP)/* countSummonsSigned */, assignedPerson.getAttended()/* attended */); roadOpStats.getJPSummary().add(jpStatsBO); } else if (personType.getPersonTypeId().equalsIgnoreCase(Constants.PersonType.TA_STAFF)) { /* Get Statistics for TA Staff. */ Criteria criteriaTA = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(TAStaffDO.class); criteriaTA.add(Restrictions.eq("person.personId", person.getPersonId())); //System.out.println("Person ID is " + person.getPersonId()); TAStaffDO ta = (TAStaffDO) criteriaTA.uniqueResult(); TAOfficerStatisticsBO taStatsBO = new TAOfficerStatisticsBO( NameUtil.getName(person.getFirstName(), person.getLastName())/* fullName */, ta.getStaffTypeCode()/* staffType */, this.complianceCount(roadOpDO.getRoadOperationId(), person.getPersonId(), personType.getPersonTypeId())/* countCompliancyChecks */, this.roadCheckTypeCount(roadOpDO.getRoadOperationId(), Constants.RoadCheckType.MOTOR_VEHICLE, person.getPersonId(), personType.getPersonTypeId())/* countMVChecks */, this.roadCheckTypeCount(roadOpDO.getRoadOperationId(), Constants.RoadCheckType.DRIVERS_LICENCE, person.getPersonId(), personType.getPersonTypeId())/* countDLChecks */, this.roadCheckTypeCount(roadOpDO.getRoadOperationId(), Constants.RoadCheckType.BADGE, person.getPersonId(), personType.getPersonTypeId())/* countBadgeChecks */, this.roadCheckTypeCount(roadOpDO.getRoadOperationId(), Constants.RoadCheckType.CITATION, person.getPersonId(), personType.getPersonTypeId())/* countCitationChecks */, this.roadCheckTypeCount(roadOpDO.getRoadOperationId(), Constants.RoadCheckType.ROAD_LICENCE, person.getPersonId(), personType.getPersonTypeId())/* countRLChecks */, this.roadCheckTypeCount(roadOpDO.getRoadOperationId(), Constants.RoadCheckType.OTHER, person.getPersonId(), personType.getPersonTypeId())/* countOtherChecks */, this.warningNoticeCount(roadOpDO.getRoadOperationId(), person.getPersonId(), personType.getPersonTypeId())/* countWarningNoticesIssued */, this.summonsCount(roadOpDO.getRoadOperationId(), person.getPersonId(), personType.getPersonTypeId())/* countSummonsIssued */, this.roadCheckOutcomeCount(roadOpDO.getRoadOperationId(), Constants.OutcomeType.VEHICLE_SEIZURE, person.getPersonId(), personType.getPersonTypeId())/* countVehiclesSeized */, assignedPerson.getAttended()/* attended */, this.roadCheckOutcomeCount(roadOpDO.getRoadOperationId(), Constants.OutcomeType.REMOVE_PLATES, person.getPersonId(), personType.getPersonTypeId())/* countPlatesRemoved */, this.roadCheckOutcomeCount(roadOpDO.getRoadOperationId(), Constants.OutcomeType.WARNED_FOR_PROSECUTION, person.getPersonId(), personType.getPersonTypeId())/* warningsForProcecution */, this.roadCheckOutcomeCount(roadOpDO.getRoadOperationId(), Constants.OutcomeType.ALL_IN_ORDER, person.getPersonId(), personType.getPersonTypeId())/* allInOrders */, ta.getStaffId()/* staff id */); roadOpStats.getTAOfficerSummary().add(taStatsBO); } else if (personType.getPersonTypeId().equalsIgnoreCase(Constants.PersonType.ITA_EXAMINER)) { /* Get Statistics for ITA Examiner */ Criteria criteriaITA = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(ITAExaminerDO.class); criteriaITA.add(Restrictions.eq("person.personId", person.getPersonId())); ITAExaminerDO ita = (ITAExaminerDO) criteriaITA.uniqueResult(); ITAExaminerStatisticsBO itaStats = new ITAExaminerStatisticsBO( NameUtil.getName(person.getFirstName(), person.getLastName()), assignedPerson.getAttended(), ita.getExaminerId()); roadOpStats.getITAExaminerSummary().add(itaStats); } else if (personType.getPersonTypeId().equalsIgnoreCase(Constants.PersonType.POLICE_OFFCER)) { /* Get Statistics for Police Officer */ Criteria criteriaITA = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(PoliceOfficerDO.class); criteriaITA.add(Restrictions.eq("person.personId", person.getPersonId())); PoliceOfficerDO police = (PoliceOfficerDO) criteriaITA.uniqueResult(); PoliceOfficerStatisticsBO policeStats = new PoliceOfficerStatisticsBO( NameUtil.getName(person.getFirstName(), person.getLastName()), assignedPerson.getAttended(), police.getPolOfficerCompNo()); roadOpStats.getPoliceOfficerSummary().add(policeStats); } } /* ____________________________________ */ currentRegionStats.getRoadOperationStatistics().add(roadOpStats); } /* ________________________________ */ roadOpReportStatsOuput.setRegionStatistics(regionStats); return roadOpReportStatsOuput; }
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@Override public CourtCasesOpenedReportBO unclosedCourtCasesReport(CourtScheduleCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { Criteria criteria = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(CourtAppearanceDO.class, "CApp"); /* Create aliases */ criteria.createAlias("CApp.status", "st"); criteria.createAlias("CApp.court", "c"); criteria.createAlias("CApp.courtCase", "CCase"); criteria.createAlias("CCase.summons", "su"); criteria.createAlias("su.offender", "o"); criteria.createAlias("su.roadOperation", "r"); criteria.createAlias("su.taStaff", "tas"); criteria.createAlias("tas.person", "taPerson"); /* _____________________________ */ /*//w w w . j av a2 s . c om * Criterion mainCriterion = * Restrictions.between("CCase.auditEntry.createDTime", * DateUtils.searchDateFormater * (reportCriteria.getTrialStartDate(),DateUtils.SEARCHDATETYPE.START), * DateUtils * .searchDateFormater(reportCriteria.getTrialEndDate(),DateUtils * .SEARCHDATETYPE.END)); */ Criterion mainCriterion = Restrictions.in("CCase.courtCaseId", getCourtCasesIdsForTrialDateRange( reportCriteria.getTrialStartDate(), reportCriteria.getTrialEndDate())); Criterion subCriterion = Restrictions .eq("CCase.status.statusId", fsl.ta.toms.roms.constants.Constants.Status.COURT_CASE_OPEN) .ignoreCase(); if (reportCriteria.getCourtId() != null && reportCriteria.getCourtId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("CCase.court.courtId", reportCriteria.getCourtId())); } if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("o.personId", reportCriteria.getOffenderId())); } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("r.roadOperationId", reportCriteria.getRoadOperationId())); } if (reportCriteria.getTAOfficeRegions() != null && reportCriteria.getTAOfficeRegions().size() > 0) { subCriterion = Restrictions.and(subCriterion, Restrictions.in("r.officeLocCode", reportCriteria.getTAOfficeRegions())); } if (reportCriteria.getTAStaffId() != null && !reportCriteria.getTAStaffId().isEmpty()) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("tas.staffId", reportCriteria.getTAStaffId().trim())); } if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("taPerson.trnNbr", reportCriteria.getTAStaffTRN().trim())); } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("r.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderFirstName())) { subCriterion = Restrictions.and(subCriterion, Restrictions .like("o.firstName", reportCriteria.getOffenderFirstName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderLastName())) { subCriterion = Restrictions.and(subCriterion, Restrictions.like("o.lastName", reportCriteria.getOffenderLastName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { subCriterion = Restrictions.and(subCriterion, Restrictions.eq("o.trnNbr", reportCriteria.getOffenderTRN().trim())); } criteria.add(Restrictions.and(mainCriterion, subCriterion)); criteria.addOrder(Order.asc("CCase.courtCaseId")); criteria.addOrder(Order.asc("CApp.CourtDTime")); criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); List criteriaResults = criteria.list(); Iterator iterator = criteriaResults.iterator(); List<CourtScheduleReportResultsBO> results = new ArrayList<CourtScheduleReportResultsBO>(); String stringStartDate = ""; String stringEndDate = ""; try { stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getTrialStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getTrialEndDate()); } catch (Exception exe) { } /* Get report criteria names and descriptions */ reportCriteria.setTAOfficeDescription(this.getTAOfficeRegionDescription(userRegion)); reportCriteria.setCourtDescription(this.getCourtDescription(reportCriteria.getCourtId())); if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) reportCriteria.setOffenderFullName(this.getPersonName(reportCriteria.getOffenderId())); else if (StringUtil.isSet(reportCriteria.getOffenderTRN())) reportCriteria.setOffenderFullName(this.getPersonName(reportCriteria.getOffenderTRN())); reportCriteria.setTAOfficeDescription(this.getTAOfficeRegionDescription(userRegion)); if (StringUtil.isSet(reportCriteria.getTAStaffId())) reportCriteria.setTAStaffFullName(this.getTAStaffName(reportCriteria.getTAStaffId())); else if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) reportCriteria.setTAStaffFullName(this.getTAStaffName(reportCriteria.getTAStaffTRN())); List<CourtCasesOpenedReportResultsBO> courtCaseList = new ArrayList<CourtCasesOpenedReportResultsBO>(); CourtCasesOpenedReportResultsBO courtCaseResult = null; CourtCasesOpenedReportBO courtCaseReportResults = new CourtCasesOpenedReportBO(userName, userRegion, reportDisplayInformation.applicationName, reportDisplayInformation.getCourtCasesOpenedReportTitle() + stringStartDate + " TO " + stringEndDate, reportCriteria.getTrialStartDate(), reportCriteria.getTrialEndDate(), reportCriteria.getSearchCriteriaString(), this.getTAOfficeRegionDescription(userRegion), courtCaseList); Integer currentCourtCaseID = -1; while (iterator.hasNext()) { Map result = (Map) iterator.next(); /* Map Results to DOs */ CourtAppearanceDO courtApp = (CourtAppearanceDO) result.get("CApp"); CourtCaseDO courtCase = (CourtCaseDO) result.get("CCase"); StatusDO status = (StatusDO) result.get("st"); CourtDO court = (CourtDO) result.get("c"); SummonsDO summons = (SummonsDO) result.get("su"); PersonDO offender = (PersonDO) result.get("o"); RoadOperationDO roadOp = (RoadOperationDO) result.get("r"); TAStaffDO taStaff = (TAStaffDO) result.get("tas"); /* ____________________________ */ if (courtCaseResult == null) { courtCaseResult = new CourtCasesOpenedReportResultsBO( this.getPersonName(offender.getPersonId())/* offenderFullName */, this.getTAStaffName(taStaff.getStaffId())/* tAStaffFullName */, roadOp.getOperationName()/* roadOperationName */, summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getOffence() .getDescription()/* offenceDetails */, roadOp.getOfficeLocCode()/* tAOfficeRegion */, this.getTAOfficeRegionDescription(roadOp.getOfficeLocCode())/* tAOfficeRegionDescription */, court.getDescription()/* courtDetails */, courtCase.getStatus() != null ? courtCase.getStatus().getDescription() : ""/* Court Case Status */, courtCase.getVerdict() != null ? courtCase.getVerdict().getVerdict_desc() : ""/* verdict */, summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getAuditEntry() .getCreateDTime()/* offenceDate */, courtApp.getCourtDTime()/* courtDate */, new ArrayList<CourtAppearanceReportResultsBO>()/* courtAppearanceList */); courtCaseReportResults.getCourtCaseList().add(courtCaseResult); } else if (courtCaseResult != null && currentCourtCaseID.intValue() != courtCase.getCourtCaseId().intValue()) { courtCaseResult = new CourtCasesOpenedReportResultsBO( this.getPersonName(offender.getPersonId())/* offenderFullName */, this.getTAStaffName(taStaff.getStaffId())/* tAStaffFullName */, roadOp.getOperationName()/* roadOperationName */, summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getOffence() .getDescription()/* offenceDetails */, roadOp.getOfficeLocCode()/* tAOfficeRegion */, this.getTAOfficeRegionDescription(roadOp.getOfficeLocCode())/* tAOfficeRegionDescription */, court.getDescription()/* courtDetails */, courtCase.getStatus() != null ? courtCase.getStatus().getDescription() : ""/* Court Case Status */, courtCase.getVerdict() != null ? courtCase.getVerdict().getVerdict_desc() : ""/* verdict */, summons.getRoadCheckOffenceOutcome().getRoadCheckOffence().getAuditEntry() .getCreateDTime()/* offenceDate */, courtApp.getCourtDTime()/* courtDate */, new ArrayList<CourtAppearanceReportResultsBO>()/* courtAppearanceList */); courtCaseReportResults.getCourtCaseList().add(courtCaseResult); } currentCourtCaseID = courtCase.getCourtCaseId(); CourtAppearanceReportResultsBO courtAppearance = new CourtAppearanceReportResultsBO( courtApp.getStatus() != null ? courtApp.getStatus().getDescription() : ""/* courtAppearanceStatus */, courtApp.getPlea() != null ? courtApp.getPlea().getDescription() : ""/* plea */, courtApp.getComment()/* comment */, courtApp.getCourtDTime()/* CourtDTime */, courtApp.getCourtRuling() != null ? courtApp.getCourtRuling().getDescription() : ""/* courtRuling */, court.getDescription()/* courtDetails */); courtCaseResult.getCourtAppearanceList().add(courtAppearance); } return courtCaseReportResults; }
From source file:fsl.ta.toms.roms.dao.impl.ReportDAOImpl.java
@Override public WarningNoProsecutionReportBO warningNoProsecutionReport(WarningNoProReportCriteriaBO reportCriteria, String userName, String userRegion, ReportDisplayInformationDAOImpl reportDisplayInformation) { Criteria criteria = this.hibernateTemplate.getSessionFactory().getCurrentSession() .createCriteria(WarningNoProsecutionDO.class, "wnp"); /* Create aliases */ criteria.createAlias("wnp.roadOperation", "roadOp"); criteria.createAlias("wnp.offender", "off"); criteria.createAlias("wnp.taStaff", "staff"); criteria.createAlias("wnp.status", "status"); criteria.createAlias("roadOp.category", "cat"); criteria.createAlias("staff.person", "taPerson"); /* _____________ */ Criterion mainCriterion = Restrictions.sqlRestriction("1=1"); if (reportCriteria.getOperationStartDate() != null && reportCriteria.getOperationEndDate() != null) { Date reportStartDate = DateUtils.searchDateFormater(reportCriteria.getOperationStartDate(), DateUtils.SEARCHDATETYPE.START); Date reportEndDate = DateUtils.searchDateFormater(reportCriteria.getOperationEndDate(), DateUtils.SEARCHDATETYPE.END); Criterion scheduledDate = Restrictions.or( Restrictions.between("roadOp.scheduledStartDtime", reportStartDate, reportEndDate), Restrictions.between("roadOp.scheduledEndDtime", reportStartDate, reportEndDate)); Criterion actualDate = Restrictions.or( Restrictions.between("roadOp.actualStartDtime", reportStartDate, reportEndDate), Restrictions.between("roadOp.actualEndDtime", reportStartDate, reportEndDate)); mainCriterion = Restrictions.and(mainCriterion, Restrictions.or(scheduledDate, actualDate)); }/*from w ww .ja v a2 s. c o m*/ if (reportCriteria.getIssuedStartDate() != null && reportCriteria.getIssuedEndDate() != null) { Date reportStartDate = DateUtils.searchDateFormater(reportCriteria.getIssuedStartDate(), DateUtils.SEARCHDATETYPE.START); Date reportEndDate = DateUtils.searchDateFormater(reportCriteria.getIssuedEndDate(), DateUtils.SEARCHDATETYPE.END); mainCriterion = Restrictions.and(mainCriterion, Restrictions.between("wnp.issueDate", reportStartDate, reportEndDate)); } if (reportCriteria.getPrintStartDate() != null && reportCriteria.getPrintEndDate() != null) { Date reportStartDate = DateUtils.searchDateFormater(reportCriteria.getPrintStartDate(), DateUtils.SEARCHDATETYPE.START); Date reportEndDate = DateUtils.searchDateFormater(reportCriteria.getPrintEndDate(), DateUtils.SEARCHDATETYPE.END); mainCriterion = Restrictions.and(mainCriterion, Restrictions.between("wnp.printDtime", reportStartDate, reportEndDate)); } if (StringUtil.isSet(reportCriteria.getOffenderFirstName())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions .like("off.firstName", reportCriteria.getOffenderFirstName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("off.personId", reportCriteria.getOffenderId())); } if (StringUtil.isSet(reportCriteria.getOffenderLastName())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions .like("off.lastName", reportCriteria.getOffenderLastName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("off.trnNbr", reportCriteria.getOffenderTRN().trim())); } if (StringUtil.isSet(reportCriteria.getOperationCategory())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("cat.categoryId", reportCriteria.getOperationCategory().trim())); } if (reportCriteria.getRoadOperationId() != null && reportCriteria.getRoadOperationId() > 0) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("roadOp.roadOperationId", reportCriteria.getRoadOperationId())); } if (StringUtil.isSet(reportCriteria.getRoadOperationName())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions .like("roadOp.operationName", reportCriteria.getRoadOperationName().trim(), MatchMode.ANYWHERE) .ignoreCase()); } if (StringUtil.isSet(reportCriteria.getStatus())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("status.statusId", reportCriteria.getStatus().trim())); } if (StringUtil.isSet(reportCriteria.getTAOfficeRegion())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("roadOp.officeLocCode", reportCriteria.getTAOfficeRegion().trim())); } if (StringUtil.isSet(reportCriteria.getTAStaffId())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("staff.staffId", reportCriteria.getTAStaffId().trim())); } if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) { mainCriterion = Restrictions.and(mainCriterion, Restrictions.eq("taPerson.trnNbr", reportCriteria.getTAStaffTRN().trim())); } criteria.add(mainCriterion); String stringStartDate = ""; String stringEndDate = ""; String dateTypeUsed = ""; Date startDate = null; Date endDate = null; try { if (reportCriteria.getOperationStartDate() != null && reportCriteria.getOperationEndDate() != null) { startDate = reportCriteria.getOperationStartDate(); endDate = reportCriteria.getOperationEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getOperationEndDate()); dateTypeUsed = "Operation"; } else if (reportCriteria.getPrintStartDate() != null && reportCriteria.getPrintEndDate() != null) { startDate = reportCriteria.getPrintStartDate(); endDate = reportCriteria.getPrintEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getPrintStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getPrintEndDate()); dateTypeUsed = "Print"; } else if (reportCriteria.getIssuedStartDate() != reportCriteria.getIssuedEndDate()) { startDate = reportCriteria.getIssuedStartDate(); endDate = reportCriteria.getIssuedEndDate(); stringStartDate = DateUtils.getFormattedUtilDate(reportCriteria.getIssuedStartDate()); stringEndDate = DateUtils.getFormattedUtilDate(reportCriteria.getIssuedEndDate()); dateTypeUsed = "Issued"; } } catch (Exception exe) { } /* Get report criteria names and descriptions */ if (reportCriteria.getOffenderId() != null && reportCriteria.getOffenderId() > 0) { reportCriteria.setOffenderName(this.getPersonName(reportCriteria.getOffenderId())); } else if (StringUtil.isSet(reportCriteria.getOffenderTRN())) { reportCriteria.setOffenderName(this.getPersonName(reportCriteria.getOffenderTRN())); } reportCriteria .setOperationCategoryDesc(this.getOperationCategoryDesc(reportCriteria.getOperationCategory())); reportCriteria.setRoadOperationName(reportCriteria.getRoadOperationName()); reportCriteria.setTAOfficeRegionDesc(this.getTAOfficeRegionDescription(reportCriteria.getTAOfficeRegion())); if (StringUtil.isSet(reportCriteria.getTAStaffId())) reportCriteria.setTAStaffName(this.getTAStaffName(reportCriteria.getTAStaffId())); else if (StringUtil.isSet(reportCriteria.getTAStaffTRN())) reportCriteria.setTAStaffName(this.getPersonName(reportCriteria.getTAStaffTRN())); criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); Iterator iterator = criteria.list().iterator(); List<WarningNoProsecutionDetailsBO> warningNoProDetailsList = new ArrayList<WarningNoProsecutionDetailsBO>(); while (iterator.hasNext()) { Map result = (Map) iterator.next(); RoadOperationDO roadOp = (RoadOperationDO) result.get("roadOp"); PersonDO offender = (PersonDO) result.get("off"); TAStaffDO taStaff = (TAStaffDO) result.get("staff"); StatusDO status = (StatusDO) result.get("status"); CDCategoryDO category = (CDCategoryDO) result.get("cat"); WarningNoProsecutionDO warningNoPro = (WarningNoProsecutionDO) result.get("wnp"); Integer roadCheckId = warningNoPro.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck() .getRoadCheckId(); WarningNoProsecutionDetailsBO warningNoProItem = new WarningNoProsecutionDetailsBO( this.getPersonName(taStaff.getPerson().getPersonId())/* tAStaffFullName */, taStaff.getStaffId()/* tAStaffID */, this.getTeamLeadName(roadOp.getRoadOperationId(), taStaff.getPerson().getPersonId())/* tATeamLeadFullName */, this.getPersonName(offender.getPersonId())/* offenderFullName */, this.getDLNumFromDLCheck(roadCheckId)/* offendersDriverLicence */, this.getVehicleDetailsFromMVCheck(roadCheckId)/* offenderVehicleDetials */, this.getVehicleOwenersFullNames(roadCheckId)/* vehicleOwnerFullNames */, roadOp.getOperationName()/* roadOperationName */, warningNoPro.getRoadCheckOffenceOutcome().getRoadCheckOffence().getRoadCheck().getCompliance() .getCompliancyArtery().getShortDescription()/* locationOfOffence */, warningNoPro.getOffenceDtime()/* dateOfOffence */, warningNoPro.getManualSerialNumber()/* manualSerialNumber */, status.getDescription()/* status */, warningNoPro.getRoadCheckOffenceOutcome().getRoadCheckOffence().getOffence() .getDescription()/* offenceDescription */, warningNoPro.getAllegation()/* allegation */, warningNoPro.getRoadCheckOffenceOutcome() .getRoadCheckOffence().getOffence().getShortDescription()/* offenceShortDescription */); warningNoProDetailsList.add(warningNoProItem); } return new WarningNoProsecutionReportBO(userName, userRegion, reportDisplayInformation.applicationName, reportDisplayInformation.warningNoticeNoProsecutionReportTitle + " (" + dateTypeUsed + ") " + stringStartDate + " TO " + stringEndDate, startDate, endDate, reportCriteria.getSearchCriteriaString(), userRegion, warningNoProDetailsList); }
From source file:gov.nih.nci.caarray.dao.AbstractCaArrayDaoImpl.java
License:BSD License
Criterion createExample(Object entity, MatchMode matchMode, boolean excludeNulls, boolean excludeZeroes, Collection<String> excludeProperties) { final Example example = Example.create(entity).enableLike(matchMode).ignoreCase(); if (excludeZeroes) { example.excludeZeroes();//from www .j a v a2s . c om } else if (!excludeNulls) { example.excludeNone(); } for (final String property : excludeProperties) { example.excludeProperty(property); } // ID property is not handled by Example, so we have to special case it final PersistentClass pclass = getClassMapping(entity.getClass()); Object idVal = null; if (pclass != null && pclass.hasIdentifierProperty()) { try { idVal = PropertyUtils.getProperty(entity, pclass.getIdentifierProperty().getName()); } catch (final Exception e) { LOG.warn("Could not retrieve identifier value in a by example query, ignoring it", e); } } if (idVal == null) { return example; } else { return Restrictions.and(Restrictions.idEq(idVal), example); } }
From source file:gov.nih.nci.cabio.annotations.ArrayAnnotationServiceImpl.java
License:BSD License
public Collection<SNP> getSnpsNearGene(String symbol, Long kbUpstream, Long kbDownstream, String assembly) throws ApplicationException { List params = new ArrayList(); params.add(assembly);// ww w . ja va2 s . c o m params.add(symbol); params.add(symbol); params.add(taxon); Collection<GenePhysicalLocation> result = appService.query(new HQLCriteria(GET_SNPS_NEAR_GENE_HQL, QueryUtils.createCountQuery(GET_SNPS_NEAR_GENE_HQL), params)); if (result == null || result.isEmpty()) throw new ApplicationException("No genes found for symbol " + symbol); Collection<GenomeRange> rawRanges = new TreeSet<GenomeRange>(); Long upPad = kbUpstream * 1000; Long downPad = kbDownstream * 1000; Long chromosomeId = null; // construct all padded ranges for (GenePhysicalLocation pl : result) { if (chromosomeId == null) chromosomeId = pl.getChromosome().getId(); rawRanges.add(new GenomeRange(pl.getChromosomalStartPosition() - upPad, pl.getChromosomalEndPosition() + downPad)); } // combine overlapping ranges Collection<GenomeRange> ranges = new ArrayList<GenomeRange>(); GenomeRange last = null; for (GenomeRange gr : rawRanges) { if ((last == null) || (last.getEnd() < gr.getStart() - 1)) { ranges.add(gr); last = gr; } else if (gr.getEnd() > last.getEnd()) { last.setEnd(gr.getEnd()); } } // query for SNPs on the given assembly in the combined ranges DetachedCriteria dc = DetachedCriteria.forClass(SNP.class).createCriteria("physicalLocationCollection") .add(Restrictions.eq("assembly", assembly)); Disjunction or = Restrictions.disjunction(); for (GenomeRange gr : ranges) { or.add(Restrictions.and(Restrictions.ge("chromosomalStartPosition", gr.getStart()), Restrictions.le("chromosomalEndPosition", gr.getEnd()))); } dc.add(or).addOrder(Order.asc("chromosomalStartPosition")) .add(Restrictions.sqlRestriction("{alias}.chromosome_id = ?", chromosomeId, Hibernate.LONG)); List<SNP> results = appService.query(dc); return results; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
private Criterion getDatumCriterion(CharacterizationQueryBean charQuery) { Criterion datumCrit = null;/*from w ww . j a v a 2 s . c om*/ // datum name if (!StringUtils.isEmpty(charQuery.getDatumName())) { datumCrit = Restrictions.eq("name", charQuery.getDatumName()); } // datum value if (!StringUtils.isEmpty(charQuery.getDatumValue())) { Float datumValue = new Float(charQuery.getDatumValue()); datumCrit = Restrictions.and(datumCrit, Restrictions.eq("valueUnit", charQuery.getDatumValueUnit())); if ("=".equals(charQuery.getOperand())) { datumCrit = Restrictions.and(datumCrit, Expression.eq("value", datumValue)); } else if (">".equals(charQuery.getOperand())) { datumCrit = Restrictions.and(datumCrit, Expression.gt("value", datumValue)); } else if (">=".equals(charQuery.getOperand())) { datumCrit = Restrictions.and(datumCrit, Expression.ge("value", datumValue)); } else if ("<".equals(charQuery.getOperand())) { datumCrit = Restrictions.and(datumCrit, Expression.lt("value", datumValue)); } else if ("<=".equals(charQuery.getOperand())) { datumCrit = Restrictions.and(datumCrit, Expression.le("value", datumValue)); } } return datumCrit; }