Subversion Repository Public Repository

Satyam

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bestray.healthcareinpatient.serviceimpl;

import com.bestray.healthcarecommonutil.exception.DataAccessException;
import com.bestray.healthcarecommonutil.exception.HealthCareException;
import com.bestray.healthcarecommonutil.exception.ProcessingException;
import com.bestray.healthcarecommonutil.vo.TInPatientPaid;
import com.bestray.healthcarecommonutil.vo.TInvoice;
import com.bestray.healthcarecommonutil.vo.TPatientEncounter;
import com.bestray.healthcareinpatient.dao.InPatientPaidDao;
import com.bestray.healthcareinpatient.service.InPatientChargeService;
import com.bestray.healthcareinpatient.service.InPatientPaidService;
import java.util.Date;
import java.util.List;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException;
import org.springframework.stereotype.Service;

/**
 *
 * @author dell
 */
@Service
public class InPatientPaidServiceImpl implements InPatientPaidService{
    
    @Autowired
    private InPatientPaidDao inPatientPaidDao;
    
    @Autowired
    private InPatientChargeService inPatientChargeService;

    @Override
    public List<TInPatientPaid> getAllPaymentsForPatient(TPatientEncounter encounter) throws ProcessingException {
        try{
            return inPatientPaidDao.getAllPaymentsForPatient(encounter);
        }catch(Exception ex) {
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
            throw new HealthCareException("Error in populating inpatient paid list");
        }
    }

    @Override
    public Double getTotalPaidByInpatient(TPatientEncounter encounter) throws ProcessingException {
        Double totalPaid = 0d;
        try{
            List<TInPatientPaid> paidList = getAllPaymentsForPatient(encounter);
            for(TInPatientPaid paid:paidList){
                totalPaid+= paid.getPaidAmount();
            }
            return totalPaid;
        }catch(Exception ex) {
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
            throw new HealthCareException("Error in populating inpatient paid list");
        }
    }

    @Override
    public void savePayment(TInPatientPaid payment) throws ProcessingException, HibernateOptimisticLockingFailureException {
        try {
            inPatientPaidDao.savePayment(payment);
        }catch(HibernateOptimisticLockingFailureException e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw e;
        }catch(DataAccessException e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new ProcessingException();
        }catch(Exception e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new HealthCareException("Error in Saving...");
        }
    }

    @Override
    public Double amountToBePaidForInPatient(TPatientEncounter encounter) throws ProcessingException {
        try{
            Double totalCharge = inPatientChargeService.getTotalChargesForPatient(encounter);
            Double totalPayment = getTotalPaidByInpatient(encounter);
            return (totalCharge - totalPayment) ;
        }catch(ProcessingException e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new ProcessingException();
        }catch(Exception e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new HealthCareException("Error in Fetching...");
        }
    }

    @Override
    public TInPatientPaid getPaymentDetailById(long id) throws ProcessingException {
        try {
            return inPatientPaidDao.getPaymentDetailById(id);
        }catch(DataAccessException e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new ProcessingException();
        }catch(Exception e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new HealthCareException("Error in populating Payment Detail...");
        }
    }

    @Override
    public void updatePaymentsByInvoice(TInvoice invoice) throws ProcessingException, HibernateOptimisticLockingFailureException {
        try{
            List<TInPatientPaid> paymentsList = getAllPaymentsForPatient(invoice.getEncounter());
            for(TInPatientPaid payment : paymentsList){
                payment.setInvoiceNo(invoice.getInvoiceNo());
                inPatientPaidDao.savePayment(payment);
            }
        }catch(DataAccessException e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new ProcessingException();
        }catch(Exception e){
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, e);
            throw new HealthCareException("Error in updating Payment Detail...");
        }
    }
     @Override
    public List<TInPatientPaid> getAllPaymentsByMonth_Year(String month,int year) throws ProcessingException{
        try{
            return inPatientPaidDao.getAllPaymentsByMonth_Year(month,year);
        }catch(Exception ex) {
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
            throw new HealthCareException("Error in populating inpatient paid list");
        }
    }
     
      @Override
public List<TInPatientPaid> getAllPaymentsByDate(Date paidDate)throws ProcessingException{
    try{
            return inPatientPaidDao.getAllPaymentsByDate(paidDate);
        }catch(Exception ex) {
            Logger.getLogger(InPatientPaidServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
            throw new HealthCareException("Error in populating inpatient paid list");
        }
}
}

Commits for Satyam/AuroCareHealthCareInPatient/src/main/java/com/bestray/healthcareinpatient/serviceimpl/InPatientPaidServiceImpl.java

Diff revisions: vs.
Revision Author Commited Message
1 girijabapi picture girijabapi Fri 20 Jul, 2018 05:59:17 +0000