public ActionMessages validBrief( LazyValidatorForm frm, short gatherChangeCode, String newValue, int i) throws Exception { ActionMessages msgs = new ActionMessages(); boolean hasError = false; switch (gatherChangeCode) { case Constants.GatherChangeComFieldCode.SEX_CODE: if (!(Utils.charVal(newValue.trim()).equalsIgnoreCase(Constants.Sex.MALE) || Utils.charVal(newValue.trim()).equalsIgnoreCase(Constants.Sex.FEMALE) || newValue.trim().equalsIgnoreCase("-"))) hasError = true; break; case Constants.GatherChangeComFieldCode.DEAD_ADDRESS: if (newValue.length() > 255) hasError = true; break; case Constants.GatherChangeComFieldCode.DEAD_ZIP_CODE: if (!Utils.isValidZipCode(newValue)) hasError = true; break; } if (hasError) { addError(msgs, FIELD_INVALID, "داده جديد" + " رديف " + Integer.toString(i + 1)); setFocusControl(frm, NEW_VALUE_DEATH + Integer.toString(i)); } return msgs; }
protected ActionMessages[] validate( HttpServletRequest httpServletRequest, LazyValidatorForm frm) { IranianInfo infMaster = (IranianInfo) httpServletRequest.getSession().getAttribute("personData"); String fatherContradictionErrors = ""; String motherContradictionErrors = ""; ActionMessages[] msgs = new ActionMessages[2]; ActionMessages msgsErrors = new ActionMessages(); ActionMessages msgsWarnings = new ActionMessages(); PersonInfo fatherInfo = null; boolean fatherFoundInDb = false; PersonInfo motherInfo = null; boolean motherFoundInDb = false; try { String fatherNin = ((String) frm.get(FATHER_NIN)).trim(); if (Utils.isEmpty(fatherNin)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره ملي پدر"); setFocusControl(frm, FATHER_NIN); } else if (!Utils.isValidNin(fatherNin)) { addError(msgsErrors, FIELD_INVALID, "شماره ملي پدر"); setFocusControl(frm, FATHER_NIN); } else { fatherInfo = (new Person()).getPersonBrief(Long.parseLong(fatherNin)); if ((fatherInfo == null) || (fatherInfo != null && !(fatherInfo.getSexCode().equalsIgnoreCase(Constants.Sex.MALE)))) { addError(msgsErrors, NOT_EXISTS, "شماره ملي پدر"); setFocusControl(frm, FATHER_NIN); } // else { /*StoppedServiceRules.StopServiceCheckResult result = StoppedServiceRules.doStopService(DCUServices.Iranian_Birth_Registration, DCUActors.Father, Long.parseLong(fatherNin)); if (result.doStop */ /* (new Person()).existStopServices(Long.parseLong(fatherNin))*/ /*) { addError(msgsErrors, STOPED_SERVICES, "شماره ملي پدر"); setFocusControl(frm, FATHER_NIN); }*/ else { infMaster.setFatherNin(Long.parseLong(fatherNin)); fatherFoundInDb = true; if (fatherInfo.isDead() && !Utils.isEmpty((String) frm.get(ANNOUNCER_RELATION_CODE)) && (Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.FATHER || Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.PARENTS || Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.MOTHER_ATTORNEY_AND_FATHER)) { addError(msgsErrors, SHOULD_BE_ALIVE, "پدر به عنوان اعلام كننده"); setFocusControl(frm, FATHER_NIN); } // 13920312 if (Utils.nvl(fatherInfo.getIsExcepted()) .equalsIgnoreCase(Constants.ExceptionStatus.IS_EXCEPTED) && Utils_3F.isErrorStagnant( Person.getExceptionCode( fatherInfo.getPersonNin(), Constants.StagnantCode.STAGNANT_PARENT)) /*&& (getFormMode(frm).equalsIgnoreCase(Constants.ActionType.ADD) || (getFormMode(frm).equalsIgnoreCase(Constants.ActionType.MODIFY) && !Utils.isEmpty((String) frm.get(FATHER_NIN)) && fatherInfo.getPersonNin() != infMaster.getFatherNin()))*/ ) { addError(msgsErrors, "errStagnant_3F", "شماره ملي پدر"); setFocusControl(frm, FATHER_NIN); } // 13920312 if (fatherInfo != null && !Utils.isEmpty(fatherNin) && Utils.isValidNin(fatherNin) && fatherInfo.isDead() && Person.getLiveStatus(Long.parseLong(fatherNin)) && !Utils.isEmpty((String) frm.get(DATE_OF_BIRTH_SUN))) { String fatherDeathDate = Utils.nvl(Person.getDeathDateByNin(Long.parseLong(fatherNin))); if (!Utils.isEmpty(fatherDeathDate) && Utils_3F.tenMonthBefore( DateUtils.unformatRevFormattedFdate( (String) frm.get(DATE_OF_BIRTH_SUN))) .compareTo(fatherDeathDate) > 0) { addError(msgsErrors, "errTenMonthFatherDeathDate_3F"); setFocusControl(frm, FATHER_NIN); } } if (fatherInfo != null && !Utils.isEmpty(fatherNin) && Utils.isValidNin(fatherNin) && fatherInfo.isDead() && !Person.getLiveStatus(Long.parseLong(fatherNin))) { addError(msgsWarnings, "errFatherIsDead_3F"); setFocusControl(frm, FATHER_NIN); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_IS_DEAD + Constants.DATA_SEPARATOR; } } } String fatherShenasNo = ((String) frm.get(FATHER_SHENAS_NO)).trim(); if (Utils.isEmpty(fatherShenasNo)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_NO); } else if (!Utils.isValidNumber(fatherShenasNo, 6)) { addError(msgsErrors, FIELD_INVALID, "شماره شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_NO); } else { infMaster.setFatherShenasNo(Integer.parseInt(fatherShenasNo)); if (!Utils.isEmpty(fatherShenasNo) && fatherFoundInDb && !fatherShenasNo.equalsIgnoreCase(fatherInfo.getShenasnameNo())) { addError(msgsWarnings, HAS_CONTRADICTION, "شماره شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_NO); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_SHENAS_NO + Constants.DATA_SEPARATOR; } } String fatherName = (String) frm.get(FATHER_NAME); fatherName = Utils.charVal(fatherName); frm.set(FATHER_NAME, fatherName); String sexCodeM = (String) frm.get(SEX_CODE_M); String sexCodeF = (String) frm.get(SEX_CODE_F); String sex = null; String checkSiadat = null; if (!Utils.isEmpty(sexCodeM)) { sex = Constants.Sex.MALE; } else if (!Utils.isEmpty(sexCodeF)) { sex = Constants.Sex.FEMALE; } if (!(!Utils.isEmpty(sexCodeM) && !Utils.isEmpty(sexCodeF)) && !Utils.isEmpty(sex)) { checkSiadat = Utils_3F.siadat(fatherName, Utils.charVal((String) frm.get(PERSON_NAME)), sex); if (Utils.isEmpty(checkSiadat) && fatherInfo != null) { checkSiadat = Utils_3F.siadat( fatherName, fatherInfo.getFatherName(), Utils.charVal((String) frm.get(PERSON_NAME)), sex); } } if (Utils.isEmpty(fatherName)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "نام پدر"); setFocusControl(frm, FATHER_NAME); } else if (fatherName.length() > 50) { addError(msgsErrors, FIELD_INVALID, "نام پدر"); setFocusControl(frm, FATHER_NAME); } if (!Utils.isEmpty(checkSiadat)) { addError(msgsErrors, checkSiadat, ""); setFocusControl(frm, FATHER_NAME); } else { infMaster.setFatherName(fatherName); if (!Utils.isEmpty(fatherName) && fatherFoundInDb && !fatherName.equalsIgnoreCase(Utils.charVal(fatherInfo.getPersonName()))) { addError(msgsWarnings, HAS_CONTRADICTION, "نام پدر"); setFocusControl(frm, FATHER_NAME); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_NAME + Constants.DATA_SEPARATOR; } } String fatherFname = (String) frm.get(FATHER_FNAME); fatherFname = Utils.charVal(fatherFname); frm.set(FATHER_FNAME, fatherFname); if (Utils.isEmpty(fatherFname)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "نام خانوادگي پدر"); setFocusControl(frm, FATHER_FNAME); } else if (fatherFname.length() > 50) { addError(msgsErrors, FIELD_INVALID, "نام خانوادگي پدر"); setFocusControl(frm, FATHER_FNAME); } else { infMaster.setFatherFname(fatherFname); if (!Utils.isEmpty(fatherFname) && fatherFoundInDb && !fatherFname.equalsIgnoreCase(Utils.charVal(fatherInfo.getPersonFname()))) { addError(msgsWarnings, HAS_CONTRADICTION, "نام خانوادگي پدر"); setFocusControl(frm, FATHER_FNAME); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_FNAME + Constants.DATA_SEPARATOR; } String personFname = (String) frm.get(PERSON_FNAME); if (!fatherFname.equals(personFname) && !Utils.isEmpty(personFname)) { addError(msgsWarnings, HAS_CONTRADICTION, "نام خانوادگي پدر و فرزند "); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_MATCH_FATHER_FAME_PERSON_FNAME + Constants.DATA_SEPARATOR; } } String fatherShenasSeri = (String) frm.get(FATHER_SHENAS_SERI); fatherShenasSeri = Utils.charVal2(fatherShenasSeri); frm.set(FATHER_SHENAS_SERI, fatherShenasSeri); if (Utils.isEmpty(fatherShenasSeri)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "سري شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_SERI); } else if (fatherShenasSeri.length() > 3) { addError(msgsErrors, FIELD_INVALID, "سري شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_SERI); } else { infMaster.setFatherShenasSeri(fatherShenasSeri); if (!Utils.isEmpty(fatherShenasSeri) && fatherFoundInDb && !fatherShenasSeri.equalsIgnoreCase(Utils.charVal2(fatherInfo.getShenasnameSeri()))) { addError(msgsWarnings, HAS_CONTRADICTION, "سري شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_SERI); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_SHENAS_SERI + Constants.DATA_SEPARATOR; } } String fatherShenasSrno = ((String) frm.get(FATHER_SHENAS_SRNO)).trim(); if (Utils.isEmpty(fatherShenasSrno)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره مسلسل شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_SRNO); } else if (!Utils.isValidNumber(fatherShenasSrno, 6)) { addError(msgsErrors, FIELD_INVALID, "شماره مسلسل شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_SRNO); } else { infMaster.setFatherShenasSrno(Integer.parseInt(fatherShenasSrno)); if (!Utils.isEmpty(fatherShenasSrno) && fatherFoundInDb && !fatherShenasSrno.equalsIgnoreCase(fatherInfo.getShenasnameSrno())) { addError(msgsWarnings, HAS_CONTRADICTION, "شماره مسلسل شناسنامه پدر"); setFocusControl(frm, FATHER_SHENAS_SRNO); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_SHENAS_SRNO + Constants.DATA_SEPARATOR; } } String fatherDateOfBirth = ((String) frm.get(FATHER_DATE_OF_BIRTH)).trim(); boolean fatherDateOfBirthIsFull = true; String fatherDateOfBirthNaghes = ""; if (!Utils.isEmpty(fatherDateOfBirth)) { String date[] = fatherDateOfBirth.split(Constants.DATE_SEPARATOR); if (date.length != 3 && fatherDateOfBirth.length() < 8) { fatherDateOfBirthIsFull = false; for (int i = date.length; i > 0; --i) { fatherDateOfBirthNaghes = fatherDateOfBirthNaghes + date[i - 1]; } } } if (Utils.isEmpty(fatherDateOfBirth)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "تاريخ تولد پدر"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); } else if (fatherDateOfBirthIsFull && !DateUtils.isValidRevFormattedFDate(fatherDateOfBirth)) { addError(msgsErrors, FIELD_INVALID, "تاريخ تولد پدر"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); } else if (fatherDateOfBirthIsFull && DateUtils.unformatRevFormattedFdate(fatherDateOfBirth).compareTo(DateUtils.fDate()) > 0) { addError(msgsErrors, SHOULD_BE_LESS_EQUAL, "تاريخ تولد پدر", "تاريخ روز"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); } else if (!fatherDateOfBirthIsFull && !Utils.isValidNotZeroNumber(fatherDateOfBirthNaghes, 8)) { addError(msgsErrors, FIELD_INVALID, "تاريخ تولد پدر"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); } else { if (fatherDateOfBirthIsFull) { infMaster.setFatherDateOfBirth(DateUtils.unformatRevFormattedFdate(fatherDateOfBirth)); } else { infMaster.setFatherDateOfBirth(fatherDateOfBirthNaghes); } if (!Utils.isEmpty(fatherFname) && fatherFoundInDb && !(infMaster.getFatherDateOfBirth()) .equalsIgnoreCase(fatherInfo.getDateOfBirthSun())) { addError(msgsWarnings, HAS_CONTRADICTION, "تاريخ تولد پدر"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_DATE_OF_BIRTH + Constants.DATA_SEPARATOR; } } /* if (!Utils.isEmpty(fatherDateOfBirth)) { if (!DateUtils.isValidRevFormattedFDate(fatherDateOfBirth)) { addError(msgsErrors, FIELD_INVALID, "تاريخ تولد پدر"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); } else if (DateUtils.unformatRevFormattedFdate( fatherDateOfBirth).compareTo(DateUtils.fDate()) >= 0) { addError(msgsErrors, SHOULD_BE_LESS, "تاريخ تولد پدر", "تاريخ روز"); setFocusControl(frm, FATHER_DATE_OF_BIRTH); } else { infMaster.setFatherDateOfBirth(DateUtils.unformatRevFormattedFdate( fatherDateOfBirth)); // if (!Utils.isEmpty(fatherDateOfBirth) && fatherFoundInDb && // !fatherDateOfBirth.equalsIgnoreCase(fatherInfo.getDateOfBirthSun())) { // addError(msgsWarnings, HAS_CONTRADICTION, "تاريخ تولد پدر"); // setFocusControl(frm, FATHER_DATE_OF_BIRTH); // fatherContradiction = true; // } } } else { infMaster.setFatherDateOfBirth(""); }*/ /* String fatherShenasIssuePlace = (String) frm.get( FATHER_SHENAS_ISSUE_PLACE); if (Utils.isEmpty(fatherShenasIssuePlace)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "اداره محل صدور پدر"); setFocusControl(frm, FATHER_SHENAS_ISSUE_PLACE); } else if (fatherShenasIssuePlace.length() > 50) { addError(msgsErrors, FIELD_INVALID, "اداره محل صدور پدر"); setFocusControl(frm, FATHER_SHENAS_ISSUE_PLACE); } else { infMaster.setFatherShenasIssuePlace(fatherShenasIssuePlace); }*/ String fatherOfficeCode = ((String) frm.get(FATHER_OFFICE_CODE)).trim(); if (Utils.isEmpty(fatherOfficeCode)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "اداره محل صدور پدر"); setFocusControl(frm, FATHER_OFFICE_CODE); } else if (fatherOfficeCode.length() > 3) { addError(msgsErrors, FIELD_INVALID, "اداره محل صدور پدر"); setFocusControl(frm, FATHER_OFFICE_CODE); } else { infMaster.setFatherOfficeCode(Short.parseShort(fatherOfficeCode)); } /* String fatherHozeh = (String) frm.get(FATHER_HOZEH); fatherHozeh = Utils.charVal2(fatherHozeh); frm.set(FATHER_HOZEH, fatherHozeh); if (fatherHozeh.length() > 50) { addError(msgsErrors, FIELD_INVALID, "حوزه پدر"); setFocusControl(frm, FATHER_HOZEH); } else { infMaster.setFatherHozeh(fatherHozeh); }*/ String fatherHozehCodeKind = ((String) frm.get(FATHER_HOZEH_CODE_KIND)).trim(); if (!Utils.isEmpty(fatherHozehCodeKind) && !fatherHozehCodeKind.startsWith("irth")) { String key[] = fatherHozehCodeKind.split(Constants.DATA_SEPARATOR_SPLIT); String fatherHozehCode = key[0]; if (Utils.isEmpty(fatherHozehCode)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "كد حوزه پدر"); setFocusControl(frm, FATHER_HOZEH_CODE_KIND); } else if (fatherHozehCode.length() > 3) { addError(msgsErrors, FIELD_INVALID, "كد حوزه پدر"); setFocusControl(frm, FATHER_HOZEH_CODE_KIND); } else { infMaster.setFatherHozehCode(Short.parseShort(fatherHozehCode)); } String fatherHozehKind = key[1]; if (Utils.isEmpty(fatherHozehKind)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "نوع حوزه پدر"); setFocusControl(frm, FATHER_HOZEH_CODE_KIND); } else if (fatherHozehKind.length() > 1) { addError(msgsErrors, FIELD_INVALID, "نوع حوزه پدر"); setFocusControl(frm, FATHER_HOZEH_CODE_KIND); } else { infMaster.setFatherHozehKind(fatherHozehKind); } } else { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "حوزه پدر"); setFocusControl(frm, FATHER_HOZEH_CODE_KIND); } String fatherZipCode = ((String) frm.get(FATHER_ZIP_CODE)).trim(); if (!Utils.isEmpty(fatherZipCode)) { if (!Utils.isValidZipCode(fatherZipCode)) { addError(msgsErrors, FIELD_INVALID, "كد پستي پدر"); setFocusControl(frm, FATHER_ZIP_CODE); } else { infMaster.setFatherZipCode(Long.parseLong(fatherZipCode)); } } else { infMaster.setFatherZipCode(0); } /* String fatherAddressGeoSerial = ( (String) frm.get( FATHER_ADDRESS_GEO_SERIAL)). trim(); if (!Utils.isEmpty(fatherAddressGeoSerial)) { if (searchFatherAddressGeoSerial(frm) == false) { addError(msgsErrors, FIELD_INVALID, "سريال محل اقامت"); setFocusControl(frm, FATHER_ADDRESS_GEO_SERIAL); } else { infMaster.setFatherAddressGeoSerial(Integer.parseInt( fatherAddressGeoSerial)); } } else {*/ infMaster.setFatherAddressGeoSerial(0); // } String fatherAddress = (String) frm.get(FATHER_ADDRESS); fatherAddress = Utils.charVal2(fatherAddress); if (Utils.isEmpty(fatherAddress)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "آدرس محل اقامت پدر"); setFocusControl(frm, FATHER_ADDRESS); } else if (fatherAddress.length() > 255) { addError(msgsErrors, SHOULD_BE_LESS, "طول آدرس محل اقامت پدر", "255 كاراكتر"); setFocusControl(frm, FATHER_ADDRESS); } else { infMaster.setFatherAddress(fatherAddress); } if (fatherFoundInDb && !Utils.isEmpty(fatherInfo.getFamilyNameChangeFlag()) && fatherInfo.getFamilyNameChangeFlag().equalsIgnoreCase(Constants.ChangeFlag.NOT_READ)) { addError(msgsWarnings, HAS_MIM, "ركورد پدر"); setFocusControl(frm, FATHER_NIN); fatherContradictionErrors = fatherContradictionErrors + Constants.ContradictionErrors.ERR_FATHER_HAS_MIM + Constants.DATA_SEPARATOR; } String motherNin = ((String) frm.get(MOTHER_NIN)).trim(); if (Utils.isEmpty(motherNin)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره ملي مادر"); setFocusControl(frm, MOTHER_NIN); } else if (!Utils.isValidNin(motherNin)) { addError(msgsErrors, FIELD_INVALID, "شماره ملي مادر"); setFocusControl(frm, MOTHER_NIN); } else { motherInfo = (new Person()).getPersonBrief(Long.parseLong(motherNin)); if (motherInfo == null || (motherInfo != null && !motherInfo.getSexCode().equalsIgnoreCase(Constants.Sex.FEMALE))) { addError(msgsErrors, NOT_EXISTS, "شماره ملي مادر"); setFocusControl(frm, MOTHER_NIN); } else { if ((new Person()).existStopServices(Long.parseLong(motherNin))) { addError(msgsErrors, STOPED_SERVICES, "شماره ملي مادر"); setFocusControl(frm, MOTHER_NIN); } else { infMaster.setMotherNin(Long.parseLong(motherNin)); motherFoundInDb = true; if (motherInfo.isDead() && !Utils.isEmpty((String) frm.get(ANNOUNCER_RELATION_CODE)) && (Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.MOTHER || Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.PARENTS || Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.ANCESTOR_AND_MOTHER || Short.parseShort((String) frm.get(ANNOUNCER_RELATION_CODE)) == Constants.RelationCode.FATHER_ATTORNEY_AND_MOTHER)) { addError(msgsErrors, SHOULD_BE_ALIVE, "مادر به عنوان اعلام كننده"); setFocusControl(frm, MOTHER_NIN); } } // 13920312 if (Utils.nvl(motherInfo.getIsExcepted()) .equalsIgnoreCase(Constants.ExceptionStatus.IS_EXCEPTED) && Utils_3F.isErrorStagnant( Person.getExceptionCode( motherInfo.getPersonNin(), Constants.StagnantCode.STAGNANT_PARENT))) { addError(msgsErrors, "errStagnant_3F", "شماره ملي مادر"); setFocusControl(frm, FATHER_NIN); } // 13920312 } } String motherShenasNo = ((String) frm.get(MOTHER_SHENAS_NO)).trim(); if (Utils.isEmpty(motherShenasNo)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_NO); } else if (!Utils.isValidNumber(motherShenasNo, 6)) { addError(msgsErrors, FIELD_INVALID, "شماره شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_NO); } else { infMaster.setMotherShenasNo(Integer.parseInt(motherShenasNo)); if (!Utils.isEmpty(motherShenasNo) && motherFoundInDb && !(motherShenasNo.equalsIgnoreCase(motherInfo.getShenasnameNo()))) { addError(msgsWarnings, HAS_CONTRADICTION, "شماره شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_NO); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_SHENAS_NO + Constants.DATA_SEPARATOR; } } String motherName = (String) frm.get(MOTHER_NAME); motherName = Utils.charVal(motherName); frm.set(MOTHER_NAME, motherName); if (Utils.isEmpty(motherName)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "نام مادر"); setFocusControl(frm, MOTHER_NAME); } else if (motherName.length() > 50) { addError(msgsErrors, FIELD_INVALID, "نام مادر"); setFocusControl(frm, MOTHER_NAME); } else { infMaster.setMotherName(motherName); if (!Utils.isEmpty(motherName) && motherFoundInDb && !motherName.equalsIgnoreCase(Utils.charVal(motherInfo.getPersonName()))) { addError(msgsWarnings, HAS_CONTRADICTION, "نام مادر"); setFocusControl(frm, MOTHER_NAME); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_NAME + Constants.DATA_SEPARATOR; } } String motherFname = (String) frm.get(MOTHER_FNAME); motherFname = Utils.charVal(motherFname); frm.set(MOTHER_FNAME, motherFname); if (Utils.isEmpty(motherFname)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "نام خانوادگي مادر"); setFocusControl(frm, MOTHER_FNAME); } else if (motherFname.length() > 50) { addError(msgsErrors, FIELD_INVALID, "نام خانوادگي مادر"); setFocusControl(frm, MOTHER_FNAME); } else { infMaster.setMotherFname(motherFname); if (!Utils.isEmpty(motherFname) && motherFoundInDb && !motherFname.equalsIgnoreCase(Utils.charVal(motherInfo.getPersonFname()))) { addError(msgsWarnings, HAS_CONTRADICTION, "نام خانوادگي مادر"); setFocusControl(frm, MOTHER_FNAME); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_FNAME + Constants.DATA_SEPARATOR; } } String motherShenasSeri = (String) frm.get(MOTHER_SHENAS_SERI); motherShenasSeri = Utils.charVal2(motherShenasSeri); frm.set(MOTHER_SHENAS_SERI, motherShenasSeri); if (Utils.isEmpty(motherShenasSeri)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "سري شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_SERI); } else if (motherShenasSeri.length() > 3) { addError(msgsErrors, FIELD_INVALID, "سري شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_SERI); } else { infMaster.setMotherShenasSeri(motherShenasSeri); if (!Utils.isEmpty(motherShenasSeri) && motherFoundInDb && !motherShenasSeri.equalsIgnoreCase(Utils.charVal2(motherInfo.getShenasnameSeri()))) { addError(msgsWarnings, HAS_CONTRADICTION, "سري شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_SERI); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_SHENAS_SERI + Constants.DATA_SEPARATOR; } } String motherShenasSrno = ((String) frm.get(MOTHER_SHENAS_SRNO)).trim(); if (Utils.isEmpty(motherShenasSrno)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره مسلسل شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_SRNO); } else if (!Utils.isValidNumber(motherShenasSrno, 6)) { addError(msgsErrors, FIELD_INVALID, "شماره مسلسل شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_SRNO); } else { infMaster.setMotherShenasSrno(Integer.parseInt(motherShenasSrno)); if (!Utils.isEmpty(motherShenasSrno) && motherFoundInDb && !motherShenasSrno.equalsIgnoreCase(motherInfo.getShenasnameSrno())) { addError(msgsWarnings, HAS_CONTRADICTION, "شماره مسلسل شناسنامه مادر"); setFocusControl(frm, MOTHER_SHENAS_SRNO); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_SHENAS_SRNO + Constants.DATA_SEPARATOR; } } String motherDateOfBirth = ((String) frm.get(MOTHER_DATE_OF_BIRTH)).trim(); boolean motherDateOfBirthIsFull = true; String motherDateOfBirthNaghes = ""; if (!Utils.isEmpty(motherDateOfBirth)) { String date[] = motherDateOfBirth.split(Constants.DATE_SEPARATOR); if (date.length != 3 && motherDateOfBirth.length() < 8) { motherDateOfBirthIsFull = false; for (int i = date.length; i > 0; --i) { motherDateOfBirthNaghes = motherDateOfBirthNaghes + date[i - 1]; } } } if (Utils.isEmpty(motherDateOfBirth)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "تاريخ تولد مادر"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); } else if (motherDateOfBirthIsFull && !DateUtils.isValidRevFormattedFDate(motherDateOfBirth)) { addError(msgsErrors, FIELD_INVALID, "تاريخ تولد مادر"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); } else if (motherDateOfBirthIsFull && DateUtils.unformatRevFormattedFdate(motherDateOfBirth).compareTo(DateUtils.fDate()) > 0) { addError(msgsErrors, SHOULD_BE_LESS_EQUAL, "تاريخ تولد مادر", "تاريخ روز"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); } else if (!motherDateOfBirthIsFull && !Utils.isValidNotZeroNumber(motherDateOfBirthNaghes, 8)) { addError(msgsErrors, FIELD_INVALID, "تاريخ تولد مادر"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); } else { if (motherDateOfBirthIsFull) { infMaster.setMotherDateOfBirth(DateUtils.unformatRevFormattedFdate(motherDateOfBirth)); } else { infMaster.setMotherDateOfBirth(motherDateOfBirthNaghes); } if (!Utils.isEmpty(motherFname) && motherFoundInDb && !(infMaster.getMotherDateOfBirth()) .equalsIgnoreCase(motherInfo.getDateOfBirthSun())) { addError(msgsWarnings, HAS_CONTRADICTION, "تاريخ تولد مادر"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_DATE_OF_BIRTH + Constants.DATA_SEPARATOR; } } /* String motherDateOfBirth = ( (String) frm.get(MOTHER_DATE_OF_BIRTH)). trim(); if (!Utils.isEmpty(motherDateOfBirth)) { if (!DateUtils.isValidRevFormattedFDate(motherDateOfBirth)) { addError(msgsErrors, FIELD_INVALID, "تاريخ تولد مادر"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); } else if (DateUtils.unformatRevFormattedFdate( motherDateOfBirth).compareTo(DateUtils.fDate()) >= 0) { addError(msgsErrors, SHOULD_BE_LESS, "تاريخ تولد مادر", "تاريخ روز"); setFocusControl(frm, MOTHER_DATE_OF_BIRTH); } else { infMaster.setMotherDateOfBirth(DateUtils.unformatRevFormattedFdate( motherDateOfBirth)); // if (!Utils.isEmpty(motherDateOfBirth) && motherFoundInDb && // !motherDateOfBirth.equalsIgnoreCase(motherInfo.getDateOfBirthSun())) { // addError(msgsWarnings, HAS_CONTRADICTION, "تاريخ تولد مادر"); // setFocusControl(frm, MOTHER_DATE_OF_BIRTH); // motherContradiction = true; // } } } else { infMaster.setMotherDateOfBirth(""); }*/ /* String motherShenasIssuePlace = (String) frm.get( MOTHER_SHENAS_ISSUE_PLACE); if (Utils.isEmpty(motherShenasIssuePlace)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "اداره محل صدور مادر"); setFocusControl(frm, MOTHER_SHENAS_ISSUE_PLACE); } else if (motherShenasIssuePlace.length() > 50) { addError(msgsErrors, FIELD_INVALID, "اداره محل صدور مادر"); setFocusControl(frm, MOTHER_SHENAS_ISSUE_PLACE); } else { infMaster.setMotherShenasIssuePlace(motherShenasIssuePlace); }*/ String motherOfficeCode = ((String) frm.get(MOTHER_OFFICE_CODE)).trim(); if (Utils.isEmpty(motherOfficeCode)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "اداره محل صدور مادر"); setFocusControl(frm, MOTHER_OFFICE_CODE); } else if (motherOfficeCode.length() > 3) { addError(msgsErrors, FIELD_INVALID, "اداره محل صدور مادر"); setFocusControl(frm, MOTHER_OFFICE_CODE); } else { infMaster.setMotherOfficeCode(Short.parseShort(motherOfficeCode)); } /*String motherHozeh = (String) frm.get(MOTHER_HOZEH); motherHozeh = Utils.charVal2(motherHozeh); frm.set(MOTHER_HOZEH, motherHozeh); if (motherHozeh.length() > 50) { addError(msgsErrors, FIELD_INVALID, "حوزه مادر"); setFocusControl(frm, MOTHER_HOZEH); } else { infMaster.setMotherHozeh(motherHozeh); }*/ String motherHozehCodeKind = ((String) frm.get(MOTHER_HOZEH_CODE_KIND)).trim(); if (!Utils.isEmpty(motherHozehCodeKind) && !motherHozehCodeKind.startsWith("irth")) { String key[] = motherHozehCodeKind.split(Constants.DATA_SEPARATOR_SPLIT); String motherHozehCode = key[0]; if (Utils.isEmpty(motherHozehCode)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "كد حوزه مادر"); setFocusControl(frm, MOTHER_HOZEH_CODE_KIND); } else if (motherHozehCode.length() > 3) { addError(msgsErrors, FIELD_INVALID, "كد حوزه مادر"); setFocusControl(frm, MOTHER_HOZEH_CODE_KIND); } else { infMaster.setMotherHozehCode(Short.parseShort(motherHozehCode)); } String motherHozehKind = key[1]; if (Utils.isEmpty(motherHozehKind)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "نوع حوزه مادر"); setFocusControl(frm, MOTHER_HOZEH_CODE_KIND); } else if (motherHozehKind.length() > 1) { addError(msgsErrors, FIELD_INVALID, "نوع حوزه مادر"); setFocusControl(frm, MOTHER_HOZEH_CODE_KIND); } else { infMaster.setMotherHozehKind(motherHozehKind); } } else { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "حوزه مادر"); setFocusControl(frm, MOTHER_HOZEH_CODE_KIND); } String motherZipCode = ((String) frm.get(MOTHER_ZIP_CODE)).trim(); if (!Utils.isEmpty(motherZipCode)) { if (!Utils.isValidZipCode(motherZipCode)) { addError(msgsErrors, FIELD_INVALID, "كد پستي مادر"); setFocusControl(frm, MOTHER_ZIP_CODE); } else { infMaster.setMotherZipCode(Long.parseLong(motherZipCode)); } } else { infMaster.setMotherZipCode(0); } String motherAddressGeoSerial = ((String) frm.get(MOTHER_ADDRESS_GEO_SERIAL)).trim(); if (Utils.isEmpty(motherAddressGeoSerial)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "کد محل سکونت مادر"); setFocusControl(frm, MOTHER_ADDRESS_GEO_SERIAL); } else if (!Utils.isEmpty(motherAddressGeoSerial)) { if (searchMotherAddressGeoSerial(frm) == false) { addError(msgsErrors, FIELD_INVALID, "کد محل سکونت مادر"); setFocusControl(frm, MOTHER_ADDRESS_GEO_SERIAL); } else { infMaster.setMotherAddressGeoSerial(Integer.parseInt(motherAddressGeoSerial)); } } else { infMaster.setMotherAddressGeoSerial(0); } String motherAddress = (String) frm.get(MOTHER_ADDRESS); motherAddress = Utils.charVal2(motherAddress); if (Utils.isEmpty(motherAddress)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "آدرس محل اقامت مادر"); setFocusControl(frm, FATHER_ADDRESS); } else if (motherAddress.length() > 255) { addError(msgsErrors, SHOULD_BE_LESS, "طول آدرس محل اقامت مادر", "255 كاراكتر"); setFocusControl(frm, MOTHER_ADDRESS); } else { infMaster.setMotherAddress(motherAddress); } if (motherFoundInDb && !Utils.isEmpty(motherInfo.getFamilyNameChangeFlag()) && motherInfo.getFamilyNameChangeFlag().equalsIgnoreCase(Constants.ChangeFlag.NOT_READ)) { addError(msgsWarnings, HAS_MIM, "ركورد مادر"); setFocusControl(frm, MOTHER_NIN); motherContradictionErrors = motherContradictionErrors + Constants.ContradictionErrors.ERR_MOTHER_HAS_MIM + Constants.DATA_SEPARATOR; } String parentDateOfMarriage = ((String) frm.get(PARENT_DATE_OF_MARRIAGE)).trim(); if (((String) frm.get(MARR_REG)).equalsIgnoreCase(Constants.MarriageRegisteration.REGISTERED) && Utils.isEmpty(parentDateOfMarriage)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "تاريخ ازدواج والدين"); setFocusControl(frm, PARENT_DATE_OF_MARRIAGE); } else if (!Utils.isEmpty(parentDateOfMarriage)) { if (!DateUtils.isValidRevFormattedFDate(parentDateOfMarriage)) { addError(msgsErrors, FIELD_INVALID, "تاريخ ازدواج والدين"); setFocusControl(frm, PARENT_DATE_OF_MARRIAGE); } else if (DateUtils.unformatRevFormattedFdate(parentDateOfMarriage) .compareTo(DateUtils.fDate()) >= 0) { addError(msgsErrors, SHOULD_BE_LESS, "تاريخ ازدواج والدين", "تاريخ روز"); setFocusControl(frm, PARENT_DATE_OF_MARRIAGE); } else if (!Utils.isEmpty(fatherDateOfBirth) || !Utils.isEmpty(motherDateOfBirth)) { boolean noError = true; if (!Utils.isEmpty(fatherDateOfBirth) && fatherDateOfBirthIsFull && DateUtils.isValidRevFormattedFDate(fatherDateOfBirth) && DateUtils.unformatRevFormattedFdate(fatherDateOfBirth) .compareTo(DateUtils.unformatRevFormattedFdate(parentDateOfMarriage)) >= 0) { addError(msgsErrors, SHOULD_BE_LESS, "تاريخ تولد پدر", "تاريخ ازدواج والدين"); setFocusControl(frm, PARENT_DATE_OF_MARRIAGE); noError = false; } if (!Utils.isEmpty(motherDateOfBirth) && motherDateOfBirthIsFull && DateUtils.isValidRevFormattedFDate(motherDateOfBirth) && DateUtils.unformatRevFormattedFdate(motherDateOfBirth) .compareTo(DateUtils.unformatRevFormattedFdate(parentDateOfMarriage)) >= 0) { addError(msgsErrors, SHOULD_BE_LESS, "تاريخ تولد مادر", "تاريخ ازدواج والدين"); setFocusControl(frm, PARENT_DATE_OF_MARRIAGE); noError = false; } if (noError) { infMaster.setParentDateOfMarriage( DateUtils.unformatRevFormattedFdate(parentDateOfMarriage)); } } else { infMaster.setParentDateOfMarriage( DateUtils.unformatRevFormattedFdate(parentDateOfMarriage)); } } else { infMaster.setParentDateOfMarriage(parentDateOfMarriage); } String parentMarrRegstNo = (String) frm.get(PARENT_MARR_REGST_NO); parentMarrRegstNo = Utils.charVal2(parentMarrRegstNo); if (((String) frm.get(MARR_REG)).equalsIgnoreCase(Constants.MarriageRegisteration.REGISTERED) && Utils.isEmpty(parentMarrRegstNo)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره ثبت ازدواج والدين"); setFocusControl(frm, PARENT_MARR_REGST_NO); } else if (parentMarrRegstNo.length() > 10) { addError(msgsErrors, FIELD_INVALID, "شماره ثبت ازدواج والدين"); setFocusControl(frm, PARENT_MARR_REGST_NO); } else { infMaster.setParentMarrRegstNo(parentMarrRegstNo); } String parentRegstOfficeNo = (String) frm.get(PARENT_REGST_OFFICE_NO); parentRegstOfficeNo = Utils.charVal2(parentRegstOfficeNo); if (((String) frm.get(MARR_REG)).equalsIgnoreCase(Constants.MarriageRegisteration.REGISTERED) && Utils.isEmpty(parentRegstOfficeNo)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "شماره دفترخانه والدين"); setFocusControl(frm, PARENT_REGST_OFFICE_NO); } else if (parentRegstOfficeNo.length() > 10) { addError(msgsErrors, FIELD_INVALID, "شماره دفترخانه والدين"); setFocusControl(frm, PARENT_REGST_OFFICE_NO); } else { infMaster.setParentRegstOfficeNo(parentRegstOfficeNo); } String parentRegstOfficeGeo = (String) frm.get(PARENT_REGST_OFFICE_GEO); parentRegstOfficeGeo = Utils.charVal(parentRegstOfficeGeo); frm.set(PARENT_REGST_OFFICE_GEO, parentRegstOfficeGeo); if (((String) frm.get(MARR_REG)).equalsIgnoreCase(Constants.MarriageRegisteration.REGISTERED) && Utils.isEmpty(parentRegstOfficeGeo)) { addError(msgsErrors, FIELD_CAN_NOT_BE_EMPTY, "محل دفترخانه والدين"); setFocusControl(frm, PARENT_REGST_OFFICE_GEO); } else if (parentRegstOfficeGeo.length() > 50) { addError(msgsErrors, FIELD_INVALID, "محل دفترخانه والدين"); setFocusControl(frm, PARENT_REGST_OFFICE_GEO); } else { infMaster.setParentRegstOfficeGeo(parentRegstOfficeGeo); } msgs[0] = msgsErrors; msgs[1] = msgsWarnings; httpServletRequest.getSession().setAttribute("personData", infMaster); httpServletRequest .getSession() .setAttribute("fatherContradictionData", fatherContradictionErrors); httpServletRequest .getSession() .setAttribute("motherContradictionData", motherContradictionErrors); } catch (Exception ex) { addError(msgs[0], ex.getMessage()); } return msgs; }