Advertisement
orxanismayilov

before

Jan 20th, 2020
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.74 KB | None | 0 0
  1. package az.com.cybernet.avis.integ.business.mlspp;
  2.  
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. import java.util.List;
  6. import org.json.JSONObject;
  7. import org.tempuri.GetInsuredPeopleByDateIntervalForTaxResponseCustom;
  8. import org.tempuri.Service1SoapStub;
  9. import az.com.cybernet.avis.integ.business.IntUtilBsn;
  10. import az.com.cybernet.avis.integ.entity.SsnDataEnt;
  11. import az.com.cybernet.avis.tools.business.CoreBsn;
  12. import az.com.cybernet.avis.tools.business.DataValidator;
  13. import net.x_rd.az.voen1700093011.producer.AipisInsuredPersonForTax;
  14. import tr.com.cs.aurora.auroracore.utility.CSBag;
  15. import tr.com.cs.aurora.auroracore.utility.CSException;
  16. import tr.gov.ggm.vedop2.dal.dalwrapper.TransactionBag;
  17.  
  18. public class MlsppGetInsuredpeopleBsn extends CoreBsn{
  19.     public static CSBag getInsuredPeopleByDateIntervalForTax(CSBag inBag) throws CSException{
  20.         try {
  21.             inBag.put("firsRun", 1);
  22.             while(MlsppUtil.isRoll(inBag)){
  23.                 Date srvStartTime = new Date();
  24.                 renovateSsnData(inBag);
  25.                 Date srvEndTime = new Date();
  26.                 inBag.put("srvStartTime", srvStartTime.getTime());
  27.                 inBag.put("srvEndTime", srvEndTime.getTime());
  28.                 inBag.put("msg", "INTEG_MLSPP_GET_INSUREDPEOPLE -- GOZLEME #SANIYE: ");
  29.             }
  30.         } catch (Exception e) {
  31.             getInsuredPeopleByDateIntervalForTax(inBag);
  32.         }      
  33.         return inBag;
  34.     }
  35.  
  36.     public static void renovateSsnData(CSBag inBag) throws CSException{
  37.         try {
  38.             Service1SoapStub stub = MlsppUtil.getMlsppStub();
  39.             JSONObject json = getStartEndDate(inBag);
  40.             String startDate = json.getString("startDate");
  41.             String endDate = json.getString("endDate");
  42.            
  43.             System.out.println("INTEG_MLSPP_GET_INSUREDPEOPLE -- START #StartDate: " + startDate + "\t#EndDate: " + endDate);
  44.             GetInsuredPeopleByDateIntervalForTaxResponseCustom incaliDateContracts = stub.getInsuredPeopleByDateIntervalForTax(startDate, endDate);
  45.             AipisInsuredPersonForTax[] personForTaxs = incaliDateContracts.getResponse().getResponse().getInsuredPersons();
  46.            
  47.             if(personForTaxs==null){
  48.                 inBag.put("startDate", endDate);
  49.                 inBag.put("newEndDate", DataValidator.plusMinusToDate(endDate, 1, Calendar.SECOND));
  50.                 return;
  51.             }
  52.             for(int i=0; i<personForTaxs.length; i++){ 
  53.                 AipisInsuredPersonForTax personForTax = personForTaxs[i];
  54.                 TransactionBag.setTransactionBag(new TransactionBag());
  55.                 SsnDataEnt ssnData = new SsnDataEnt();
  56.                 ssnData.setSsn(personForTax.getInsured().getSsn());
  57.                 SsnDataEnt oldSsnData = ifExists(ssnData);
  58.                 ssnData.setRegistrationDate(DataValidator.calendarUTCToString(personForTax.getInsured().getSsnDate(), "yyyyMMddHHmmss"));
  59.                 ssnData.setName(personForTax.getPerson().getName());
  60.                 ssnData.setMiddleName(personForTax.getPerson().getPatronymic());
  61.                 ssnData.setFin(personForTax.getPerson().getPin());
  62.                 ssnData.setSurname(personForTax.getPerson().getSurname());
  63.                 ssnData.setBirthDate(DataValidator.calendarUTCToString(personForTax.getPerson().getBirthdate(), "yyyyMMdd"));
  64.                 ssnData.setIssync("0");
  65.                
  66.                 startDate = ssnData.getRegistrationDate();
  67.                
  68.                 String oper = "";
  69.                 if(oldSsnData != null){
  70.                     ssnData.setLastUpdate(oldSsnData.getLastUpdate());
  71.                     ssnData.setModificationDate(oldSsnData.getModificationDate());
  72.                     ssnData.setStatus(oldSsnData.getStatus());
  73.                     ssnData.setOid(oldSsnData.getOid());
  74.                     update(ssnData);
  75.                     oper = "U \u2B8D ";
  76.                 } else{
  77.                     insert(ssnData, true, true);
  78.                     oper = "I \u2B87 ";
  79.                 }
  80.                 System.out.println("INTEG_MLSPP_GET_INSUREDPEOPLE #SSN: "+ssnData.getSsn()+" #DATE: "+ ssnData.getRegistrationDate()+" #LOOP   " + (i+1) + " of "+ personForTaxs.length +"  \033[1;32;40m" + oper +"\u23E9\u23E9\u23E9"+"\u001B[0m");
  81.                 IntUtilBsn.commitTransaction();
  82.                 long secund = DataValidator.getDateDiffByString(startDate, endDate);
  83.                 if(secund>86400000){
  84.                     startDate = endDate;
  85.                 }  
  86.                 inBag.put("startDate", DataValidator.plusMinusToDate(startDate, 1, Calendar.SECOND));
  87.                 inBag.put("newEndDate", endDate);
  88.             }
  89.         } catch (Exception e) {
  90.             System.out.println("Error: "+"INTEG_MLSPP_GET_INSUREDPEOPLE#"+e.getMessage());
  91.             throw new CSException(e);
  92.         }
  93.     }
  94.    
  95.     private static SsnDataEnt ifExists(SsnDataEnt ssnData) throws Exception{
  96.         @SuppressWarnings("unchecked")
  97.         List<SsnDataEnt> ssnDataEnt = (List<SsnDataEnt>)selectByTemplate(ssnData);
  98.         if(ssnDataEnt.size()==0){
  99.             return null;
  100.         } else{
  101.             return ssnDataEnt.get(0);
  102.         }
  103.     }
  104.    
  105.     private static JSONObject getStartEndDate (CSBag inBag) throws Exception{
  106.         StringBuilder sql = new StringBuilder();
  107.         sql.append("SELECT\n");
  108.         sql.append("    MAX( REGISTRATION_DATE ) TARIX\n");
  109.         sql.append("FROM\n");
  110.         sql.append("    INT_SSN_DATA\n");
  111.         sql.append("HAVING MAX(REGISTRATION_DATE) IS NOT NULL");
  112.         return MlsppUtil.getStartEndDate(inBag, sql.toString());
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement