creditHeader.setCreditHeaderId(masterHeader.getCreditHeaderId());
if (masterHeader != null) {
Iterator<?> taxIterator = masterHeader.getCreditTaxes().iterator();
while (taxIterator.hasNext()) {
CreditDetailTax creditDetailTax = (CreditDetailTax) taxIterator.next();
if (creditDetailTax.getCreditDetail() != null) {
continue;
}
em.remove(creditDetailTax);
taxIterator.remove();
}
}
Iterator<?> taxIterator = creditHeader.getCreditTaxes().iterator();
while (taxIterator.hasNext()) {
CreditDetailTax creditDetailTax = (CreditDetailTax) taxIterator.next();
if (creditDetailTax.getCreditDetail() != null) {
continue;
}
CreditDetailTax masterTax = new CreditDetailTax();
masterTax.setCreditDetailTaxId(creditDetailTax.getCreditDetailTaxId());
masterTax.setTaxName(creditDetailTax.getTaxName());
masterTax.setTaxAmount(creditDetailTax.getTaxAmount());
masterTax.setRecUpdateBy(creditDetailTax.getRecUpdateBy());
masterTax.setRecUpdateDatetime(creditDetailTax.getRecUpdateDatetime());
masterTax.setRecCreateBy(creditDetailTax.getRecCreateBy());
masterTax.setRecCreateDatetime(creditDetailTax.getRecCreateDatetime());
masterTax.setCreditDetail(null);
masterTax.setCreditHeader(masterHeader);
masterTax.setTax(creditDetailTax.getTax());
masterTax.setCreditDetailTaxId(null);
em.persist(masterTax);
}
}
Iterator<?> iterator = masterHeader.getCreditDetails().iterator();
while (iterator.hasNext()) {
CreditDetail masterDetail = (CreditDetail) iterator.next();
Iterator<?> taxIterator = masterDetail.getCreditDetailTaxes().iterator();
while (taxIterator.hasNext()) {
CreditDetailTax masterDetailTax = (CreditDetailTax) taxIterator.next();
em.remove(masterDetailTax);
taxIterator.remove();
}
em.remove(masterDetail);
iterator.remove();
}
iterator = creditHeader.getCreditDetails().iterator();
while (iterator.hasNext()) {
CreditDetail creditDetail = (CreditDetail) iterator.next();
CreditDetail masterDetail = new CreditDetail();
masterDetail.setCreditHeader(masterHeader);
masterDetail.setSeqNum(creditDetail.getSeqNum());
masterDetail.setItemCreditQty(creditDetail.getItemCreditQty());
masterDetail.setItemCreditAmount(creditDetail.getItemCreditAmount());
masterDetail.setRecUpdateBy(creditDetail.getRecUpdateBy());
masterDetail.setRecUpdateDatetime(creditDetail.getRecUpdateDatetime());
masterDetail.setRecCreateBy(creditDetail.getRecCreateBy());
masterDetail.setRecCreateDatetime(creditDetail.getRecCreateDatetime());
masterDetail.setOrderItemDetail(creditDetail.getOrderItemDetail());
em.persist(masterDetail);
masterHeader.getCreditDetails().add(masterDetail);
Iterator<?> taxIterator = creditDetail.getCreditDetailTaxes().iterator();
while (taxIterator.hasNext()) {
CreditDetailTax creditDetailTax = (CreditDetailTax) taxIterator.next();
CreditDetailTax masterTax = new CreditDetailTax();
masterTax.setTaxName(creditDetailTax.getTaxName());
masterTax.setTaxAmount(creditDetailTax.getTaxAmount());
masterTax.setRecUpdateBy(creditDetailTax.getRecUpdateBy());
masterTax.setRecUpdateDatetime(creditDetailTax.getRecUpdateDatetime());
masterTax.setRecCreateBy(creditDetailTax.getRecCreateBy());
masterTax.setRecCreateDatetime(creditDetailTax.getRecCreateDatetime());
masterTax.setCreditDetail(masterDetail);
masterDetail.getCreditDetailTaxes().add(masterTax);
masterTax.setCreditHeader(masterHeader);
masterTax.setTax(creditDetailTax.getTax());
em.persist(masterTax);
}
}
PaymentTran paymentTran = creditHeader.getPaymentTran();