-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSY_DoctorManageService.java
More file actions
89 lines (65 loc) · 2.67 KB
/
SY_DoctorManageService.java
File metadata and controls
89 lines (65 loc) · 2.67 KB
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
package sy.doctor.service;
import java.util.List;
import javax.annotation.Resource;
import sy.doctor.dao.QZ_dInterrogationRecordDao;
import sy.doctor.dao.SY_DoctorDao;
import sy.doctor.dao.SY_DoctorManageDao;
import sy.doctor.entity.Pager;
import sy.doctor.entity.SY_tInterrogationRecord;
import sy.doctor.entity.SY_tWithdrawalsInfo;
import sy.doctor.entity.YaopinItem;
import sy.shop.entity.SY_tDoctor;
import sy.shop.entity.SY_tPageRecord;
import sy.shop.entity.SY_tPrescription;
public class SY_DoctorManageService {
private SY_DoctorManageDao doctorManageDao;
@Resource(name="QZ_dInterrogationRecordDaoImpl")
private QZ_dInterrogationRecordDao interDao;
@Resource(name="doctorDao")
private SY_DoctorDao doctorDao;
public void setDoctorManageDao(SY_DoctorManageDao doctorManageDao) {
this.doctorManageDao = doctorManageDao;
}
public List<SY_tPrescription> queryAllPre(){
return doctorManageDao.queryAllPre();
}
public SY_tWithdrawalsInfo getWInfoByDId(int doctorId){
return doctorManageDao.getWInfoByDId(doctorId);
}
public void updateWInFo(SY_tWithdrawalsInfo wInfo){
this.doctorManageDao.updateWInFo(wInfo);
}
public Pager<SY_tInterrogationRecord> getWithdrawals(SY_tInterrogationRecord record, int pageNum, int pageSize){
return doctorManageDao.getWithdrawals(record, pageNum, pageSize);
}
public Pager<SY_tInterrogationRecord> getCompleteInterrogation(SY_tInterrogationRecord record, int pageNum, int pageSize){
return interDao.selectHistoryPre(record, pageNum, pageSize);
}
public Pager<SY_tPageRecord> getPageList(SY_tPageRecord searchPage, int pageNum, int pageSize){
return doctorManageDao.getPageList(searchPage, pageNum, pageSize);
}
/**
* 根据一张处方的id以及医生的信息计算出得到医生可得的金额
* 医生D可得金额=(药品E让利+药品F让利)*(医生提点)/(医生最高提点+平台扣率)
* 药品让利=让利点*药品价格
* */
public Double getPriceByPid(SY_tDoctor doctor,Integer presId){
Double price =0.0; //总价格
//得到药品
List<YaopinItem> yinPinList = doctorManageDao.getYinPinItemByPid(presId);
double doctorCommission = 0;//医生提成
double yaoPinCommission = 0;//单个药品的提成
double platformCommission = 0;//平台提成
double yaoPinPrice = 0;//单个药品的价格
for(YaopinItem yaoPin:yinPinList){
price +=yaoPinCommission*yaoPinPrice*yaoPin.getCount();
}
price= price*(doctorCommission/(doctorCommission+platformCommission));
return price;
}
public boolean updateDoctorPassWord(SY_tDoctor doctor,String oldPossword, String newPassword) {
doctor.setSY_password(newPassword);
doctorDao.updata(doctor);
return true;
}
}