@Transactional public String save() { String res = null; try { if (entity.getDetails().size() <= 0) { facesMessages.add("Senet Bilgisi Girilmedi!"); return BaseConsts.FAIL; } res = super.save(); if (res.equals(BaseConsts.SUCCESS)) { for (PromissoryFromContactPayrollDetail cpd : entity.getDetails()) { PromissoryNote promissory = cpd.getPromissory(); // senedin carisini kaydet metodunda da kaydedelim. popupPromissoryCreate metodunda master // da cari seçmeden senet eklenirse senedin carisi null oluyordu. promissory.setContact(entity.getContact()); if (!promissoryAction.alreadySaved( promissory, DocumentType.PromissoryFromContactPayroll, entity.getId())) { PromissoryParamModel cpm = new PromissoryParamModel(); cpm.setPromissory(promissory); cpm.setNewStatus(ChequeStatus.Portfoy); cpm.setDocumentId(entity.getId()); cpm.setDocumentType(DocumentType.PromissoryFromContactPayroll); promissoryAction.changePosition(cpm); entityManager.merge(promissory); } } financeTxnAction.savePromissoryFromContactPayroll(entity); entityManager.flush(); } } catch (Exception e) { log.error("Hata :", e); e.printStackTrace(); res = BaseConsts.FAIL; } return res; }