Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1.  
  2. package com.fitbank.view.maintenance;
  3.  
  4. import com.fitbank.common.ApplicationDates;
  5. import com.fitbank.common.BeanManager;
  6. import com.fitbank.common.exception.FitbankException;
  7. import com.fitbank.common.hb.UtilHB;
  8. import com.fitbank.dto.management.Detail;
  9. import com.fitbank.dto.management.Record;
  10. import com.fitbank.dto.management.Table;
  11. import com.fitbank.processor.maintenance.MaintenanceCommand;
  12.  
  13. /**
  14.  * Comando para validar el numero de registros a ser caducados
  15.  * debe tener como minimo un firmante sin caducar por numero d cuenta
  16.  * Fit
  17.  */
  18. public class ValidateExpiredRecord extends MaintenanceCommand{
  19.  
  20.     private static final String hqlREGISTROSPORCUENTA =
  21.             "SELECT count(t.pk.ccuenta) " +
  22.             "FROM com.fitbank.hb.persistence.acco.view.Tsignatoryaccount t "+
  23.             "WHERE t.pk.fhasta =:fhasta "+
  24.             " and t.pk.ccuenta =:ccuenta";
  25.  
  26.  
  27. public Detail executeNormal(Detail pdetail) throws Exception {  
  28. String ccuenta=null;
  29.        for(Table tbl:pdetail.getTables()){
  30.             for (Record rec : tbl.getRecords() )
  31.             {
  32.                 ccuenta = (String)BeanManager.convertObject(rec.findFieldByName("CCUENTA").getValue(),String.class);
  33.                 break;
  34.             }
  35.             break;
  36.         }
  37.                 UtilHB utilHB = new UtilHB();
  38.                 utilHB.setSentence(ValidateExpiredRecord.hqlREGISTROSPORCUENTA);
  39.                 utilHB.setDate("fhasta", ApplicationDates.getDefaultExpiryDate());
  40.                 utilHB.setString("ccuenta", ccuenta);
  41.                 utilHB.setReadonly(true);
  42.  
  43.                 Object obj = utilHB.getObject();
  44.                 int contador = Integer.parseInt(obj.toString());
  45.                 int cont = 0;
  46.                 Table tbl = pdetail.findTableByName("TCUENTAFIRMANTES");
  47.                 for (Record rec:tbl.getRecords()){
  48.                     if(rec.findFieldByName("versioncontrol").getStringValue().compareTo("-1")==0){
  49.                         ++cont;
  50.                     }
  51.                 }
  52.                 if((contador-cont)>1 && cont > 0){
  53.                     return pdetail;
  54.                 }
  55.                 else{
  56.                         throw new FitbankException("PER0099", "DEBE HABER MINIMO UN FIRMANTE ACTIVO");
  57.                     }
  58.     }
  59.  
  60.     @Override
  61.     public Detail executeReverse(Detail pDetail) throws Exception {
  62.         return pDetail;
  63.     }
  64.            
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement