|
@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.yihu.jw.base.dao.dict.DictJobTitleDao;
|
|
import com.yihu.jw.base.dao.dict.DictJobTitleDao;
|
|
import com.yihu.jw.base.dao.doctor.BaseDoctorIncentiveDao;
|
|
import com.yihu.jw.base.dao.doctor.BaseDoctorIncentiveDao;
|
|
|
|
import com.yihu.jw.base.dao.team.BaseTeamDao;
|
|
|
|
import com.yihu.jw.base.dao.team.BaseTeamMemberDao;
|
|
import com.yihu.jw.base.service.dict.DictDoctorDutyService;
|
|
import com.yihu.jw.base.service.dict.DictDoctorDutyService;
|
|
import com.yihu.jw.base.service.doctor.excelImport.BaseDoctorExcelDO;
|
|
import com.yihu.jw.base.service.doctor.excelImport.BaseDoctorExcelDO;
|
|
import com.yihu.jw.base.service.org.OrgTree;
|
|
import com.yihu.jw.base.service.org.OrgTree;
|
|
@ -25,6 +27,8 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorIncentiveDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorIncentiveDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
|
|
import com.yihu.jw.entity.base.team.BaseTeamDO;
|
|
|
|
import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
|
|
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
|
|
import com.yihu.jw.exception.business.ManageException;
|
|
import com.yihu.jw.exception.business.ManageException;
|
|
@ -117,6 +121,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
private BaseDoctorIncentiveDao baseDoctorIncentiveDao;
|
|
private BaseDoctorIncentiveDao baseDoctorIncentiveDao;
|
|
@Autowired
|
|
@Autowired
|
|
private BaseIncentiveDictDao baseIncentiveDictDao;
|
|
private BaseIncentiveDictDao baseIncentiveDictDao;
|
|
|
|
@Autowired
|
|
|
|
private BaseTeamMemberDao baseTeamMemberDao;
|
|
|
|
|
|
@Value("${wechat.flag}")
|
|
@Value("${wechat.flag}")
|
|
private boolean flag;
|
|
private boolean flag;
|
|
@ -131,6 +137,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
private HibenateUtils hibenateUtils;
|
|
private HibenateUtils hibenateUtils;
|
|
@Autowired
|
|
@Autowired
|
|
private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
|
|
private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
|
|
|
|
@Autowired
|
|
|
|
private BaseTeamDao baseTeamDao;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@ -157,10 +165,22 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
//医生归属业务模块角色信息,非必填,数据可有可没有
|
|
//医生归属业务模块角色信息,非必填,数据可有可没有
|
|
String[] paramNames = {"doctorCode"};
|
|
String[] paramNames = {"doctorCode"};
|
|
Object[] paramValue = {doctorId};
|
|
Object[] paramValue = {doctorId};
|
|
List<BaseDoctorRoleDO> roleList = baseDoctorRoleService.findByFields(paramNames,paramValue);
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
|
List<BaseTeamMemberDO> baseTeamMemberDO = baseTeamMemberDao.findUseDoctorCode(doctorId);
|
|
|
|
List<BaseTeamDO> teamlist = new ArrayList<>();
|
|
|
|
if (baseTeamMemberDO!=null&&baseTeamMemberDO.size()>0){
|
|
|
|
for (BaseTeamMemberDO baseTeamMemberDO1:baseTeamMemberDO){
|
|
|
|
String teamCode = baseTeamMemberDO1.getTeamCode();
|
|
|
|
BaseTeamDO baseTeamDO = baseTeamDao.findOne(teamCode);
|
|
|
|
teamlist.add(baseTeamDO);
|
|
|
|
}
|
|
|
|
jsonObject.put("teamInfo",teamlist);
|
|
|
|
}
|
|
|
|
List<BaseDoctorRoleDO> roleList = baseDoctorRoleService.findByFields(paramNames,paramValue);
|
|
jsonObject.put("doctor",doctors);
|
|
jsonObject.put("doctor",doctors);
|
|
jsonObject.put("role",roleList);
|
|
jsonObject.put("role",roleList);
|
|
|
|
List<BaseDoctorHospitalDO> baseDoctorHospitalDO = baseDoctorHospitalDao.findByDoctorCode(doctorId);
|
|
|
|
jsonObject.put("hospital",baseDoctorHospitalDO);
|
|
result.put("response",ConstantUtils.SUCCESS);
|
|
result.put("response",ConstantUtils.SUCCESS);
|
|
result.put("msg",jsonObject);
|
|
result.put("msg",jsonObject);
|
|
return result;
|
|
return result;
|
|
@ -413,6 +433,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
JSONObject jsonObject = JSONObject.parseObject(jsonData);
|
|
JSONObject jsonObject = JSONObject.parseObject(jsonData);
|
|
JSONObject doctor = jsonObject.getJSONObject("doctor");
|
|
JSONObject doctor = jsonObject.getJSONObject("doctor");
|
|
JSONArray role = jsonObject.getJSONArray("role");
|
|
JSONArray role = jsonObject.getJSONArray("role");
|
|
|
|
String teamCode = jsonObject.getString("teamCode");
|
|
JSONArray hospital = jsonObject.getJSONArray("hospital");
|
|
JSONArray hospital = jsonObject.getJSONArray("hospital");
|
|
String doctorMappingCode = jsonObject.getString("doctorMappingCode");
|
|
String doctorMappingCode = jsonObject.getString("doctorMappingCode");
|
|
if (null == doctor) {
|
|
if (null == doctor) {
|
|
@ -423,6 +444,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
//组装医生信息
|
|
//组装医生信息
|
|
BaseDoctorDO baseDoctorDO = null;
|
|
BaseDoctorDO baseDoctorDO = null;
|
|
BaseDoctorDO baseDoctorvo = null;
|
|
BaseDoctorDO baseDoctorvo = null;
|
|
|
|
String orgCode = "";
|
|
DoctorMappingDO doctorMappingDO = null;
|
|
DoctorMappingDO doctorMappingDO = null;
|
|
try {
|
|
try {
|
|
baseDoctorvo = objectMapper.readValue(doctor.toJSONString(), BaseDoctorDO.class);
|
|
baseDoctorvo = objectMapper.readValue(doctor.toJSONString(), BaseDoctorDO.class);
|
|
@ -517,7 +539,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
if (!CollectionUtils.isEmpty(hospital)) {
|
|
if (!CollectionUtils.isEmpty(hospital)) {
|
|
BaseDoctorHospitalDO baseDoctorHospitalDO = null;
|
|
BaseDoctorHospitalDO baseDoctorHospitalDO = null;
|
|
List<BaseDoctorHospitalDO> hospitalDOList = new ArrayList<>();
|
|
List<BaseDoctorHospitalDO> hospitalDOList = new ArrayList<>();
|
|
String orgCode = "";
|
|
|
|
String orgName = "";
|
|
String orgName = "";
|
|
try {
|
|
try {
|
|
for (Object object : hospital) {
|
|
for (Object object : hospital) {
|
|
@ -553,6 +574,22 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
return result.toJSONString();
|
|
return result.toJSONString();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
if (!StringUtils.isEmpty(teamCode)){
|
|
|
|
String[] teamCodeList = teamCode.split(",");
|
|
|
|
for (int i=0;i<teamCodeList.length;i++){
|
|
|
|
BaseTeamMemberDO mems = baseTeamMemberDao.findUseDoctorCodeAndTeamCode(baseDoctorDO.getId(),teamCodeList[i]);
|
|
|
|
if (mems==null){
|
|
|
|
mems = new BaseTeamMemberDO();
|
|
|
|
}
|
|
|
|
mems.setTeamCode(teamCodeList[i]);
|
|
|
|
mems.setDoctorCode(baseDoctorDO.getId());
|
|
|
|
mems.setOrgCode(orgCode);
|
|
|
|
mems.setDel("1");
|
|
|
|
mems.setCreateTime(new Date());
|
|
|
|
baseTeamMemberDao.save(mems);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
result.put("response", ConstantUtils.SUCCESS);
|
|
result.put("response", ConstantUtils.SUCCESS);
|
|
result.put("msg", baseDoctorDO);
|
|
result.put("msg", baseDoctorDO);
|
|
@ -573,6 +610,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
return result.toJSONString();
|
|
return result.toJSONString();
|
|
}
|
|
}
|
|
JSONObject jsonObject = JSONObject.parseObject(jsonData);
|
|
JSONObject jsonObject = JSONObject.parseObject(jsonData);
|
|
|
|
String teamCode = jsonObject.getString("teamCode");
|
|
JSONObject doctor = jsonObject.getJSONObject("doctor");
|
|
JSONObject doctor = jsonObject.getJSONObject("doctor");
|
|
JSONArray role = jsonObject.getJSONArray("role");
|
|
JSONArray role = jsonObject.getJSONArray("role");
|
|
String doctorMappingCode = jsonObject.getString("doctorMappingCode");
|
|
String doctorMappingCode = jsonObject.getString("doctorMappingCode");
|
|
@ -582,6 +620,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
result.put("response", ConstantUtils.FAIL);
|
|
result.put("response", ConstantUtils.FAIL);
|
|
return result.toJSONString();
|
|
return result.toJSONString();
|
|
}
|
|
}
|
|
|
|
String orgCode="";
|
|
//判断医生id是否存在
|
|
//判断医生id是否存在
|
|
if(StringUtils.isEmpty(doctor.getString("id"))){
|
|
if(StringUtils.isEmpty(doctor.getString("id"))){
|
|
result.put("msg","parameter id for doctor is null when update doctor");
|
|
result.put("msg","parameter id for doctor is null when update doctor");
|
|
@ -656,7 +695,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
if(!CollectionUtils.isEmpty(hospital)){
|
|
if(!CollectionUtils.isEmpty(hospital)){
|
|
BaseDoctorHospitalDO baseDoctorHospitalDO = null;
|
|
BaseDoctorHospitalDO baseDoctorHospitalDO = null;
|
|
Set<Object> hospitalIdList = baseDoctorHospitalService.findDocHospIdList(baseDoctorDO.getId());
|
|
Set<Object> hospitalIdList = baseDoctorHospitalService.findDocHospIdList(baseDoctorDO.getId());
|
|
String orgCode = "";
|
|
|
|
String orgName="";
|
|
String orgName="";
|
|
try {
|
|
try {
|
|
for(Object object : hospital){
|
|
for(Object object : hospital){
|
|
@ -672,11 +710,14 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
}
|
|
}
|
|
orgCode = baseDoctorHospitalDO.getOrgCode();
|
|
orgCode = baseDoctorHospitalDO.getOrgCode();
|
|
orgName = baseDoctorHospitalDO.getOrgName();
|
|
orgName = baseDoctorHospitalDO.getOrgName();
|
|
|
|
baseDoctorHospitalDO.setDel("1");
|
|
baseDoctorHospitalService.save(baseDoctorHospitalDO);
|
|
baseDoctorHospitalService.save(baseDoctorHospitalDO);
|
|
}
|
|
}
|
|
doctorMappingDO.setOrgCode(orgCode);
|
|
|
|
doctorMappingDO.setOrgName(orgName);
|
|
|
|
doctorMappingDao.save(doctorMappingDO);
|
|
|
|
|
|
if(doctorMappingDO!=null){
|
|
|
|
doctorMappingDO.setOrgCode(orgCode);
|
|
|
|
doctorMappingDO.setOrgName(orgName);
|
|
|
|
doctorMappingDao.save(doctorMappingDO);
|
|
|
|
}
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
result.put("msg","convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause());
|
|
result.put("msg","convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause());
|
|
result.put("response",ConstantUtils.FAIL);
|
|
result.put("response",ConstantUtils.FAIL);
|
|
@ -685,7 +726,33 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
baseDoctorHospitalService.delete(hospitalIdList.toArray());
|
|
baseDoctorHospitalService.delete(hospitalIdList.toArray());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!StringUtils.isEmpty(teamCode)){
|
|
|
|
String[] teamCodeList = teamCode.split(",");
|
|
|
|
List<BaseTeamMemberDO> tmlist = baseTeamMemberDao.findUseDoctorCode(baseDoctorDO.getId());
|
|
|
|
for (BaseTeamMemberDO baseTeamMemberDO:tmlist){
|
|
|
|
baseTeamMemberDO.setDel("0");
|
|
|
|
}
|
|
|
|
baseTeamMemberDao.save(tmlist);
|
|
|
|
for (int i=0;i<teamCodeList.length;i++){
|
|
|
|
BaseTeamMemberDO mems = baseTeamMemberDao.findUseDoctorCodeAndTeamCode(baseDoctorDO.getId(),teamCodeList[i]);
|
|
|
|
if (mems==null){
|
|
|
|
mems = new BaseTeamMemberDO();
|
|
|
|
}
|
|
|
|
mems.setTeamCode(teamCodeList[i]);
|
|
|
|
mems.setDoctorCode(baseDoctorDO.getId());
|
|
|
|
mems.setOrgCode(orgCode);
|
|
|
|
mems.setDel("1");
|
|
|
|
mems.setCreateTime(new Date());
|
|
|
|
baseTeamMemberDao.save(mems);
|
|
|
|
}
|
|
|
|
|
|
|
|
}else {
|
|
|
|
List<BaseTeamMemberDO> tmlist = baseTeamMemberDao.findUseDoctorCode(baseDoctorDO.getId());
|
|
|
|
for (BaseTeamMemberDO baseTeamMemberDO:tmlist){
|
|
|
|
baseTeamMemberDO.setDel("0");
|
|
|
|
}
|
|
|
|
baseTeamMemberDao.save(tmlist);
|
|
|
|
}
|
|
result.put("response",ConstantUtils.SUCCESS);
|
|
result.put("response",ConstantUtils.SUCCESS);
|
|
result.put("msg",baseDoctorDO);
|
|
result.put("msg",baseDoctorDO);
|
|
return result.toJSONString();
|
|
return result.toJSONString();
|
|
@ -1071,9 +1138,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"1".equalsIgnoreCase(list.get(j).getIsDel())){
|
|
if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"1".equalsIgnoreCase(list.get(j).getIsDel())){
|
|
throw new Exception("该激励已经保存过");
|
|
throw new Exception("该激励已经保存过");
|
|
|
|
|
|
}else if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"0".equalsIgnoreCase(list.get(j).getIsDel())){
|
|
|
|
list.get(j).setIsDel("1");
|
|
|
|
saveList.add(list.get(j));
|
|
|
|
}else {
|
|
}else {
|
|
BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
|
|
BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
|
|
baseDoctorIncentiveDO.setIsDel("1");
|
|
baseDoctorIncentiveDO.setIsDel("1");
|
|
@ -1131,9 +1195,25 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
return envelop;
|
|
return envelop;
|
|
}
|
|
}
|
|
|
|
|
|
public MixEnvelop findIncentiveByDoctor(String doctorId, Integer page, Integer pageSize) {
|
|
|
|
|
|
public MixEnvelop findIncentiveByDoctor(String doctorId,String name, Integer page, Integer pageSize) {
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCodeList(doctorId,creatPage(page,pageSize,""));
|
|
|
|
|
|
String sql = "select t.id as \"id\"," +
|
|
|
|
"t.doctor_code as \"doctorCode\"," +
|
|
|
|
"t.doctor_name as \"doctorName\"," +
|
|
|
|
"t.incentive_id as \"incentiveId\"," +
|
|
|
|
"b.incentive_code as \"incentiveCode\"," +
|
|
|
|
"t.incentive_img as \"incentiveImg\"," +
|
|
|
|
"t.incentive_name as \"incentiveName\"," +
|
|
|
|
"t.create_time as \"createTime\"," +
|
|
|
|
"t.is_del as \"isDel\" from base_doctor_incentive t left join base_incentive_dict b " +
|
|
|
|
" on b.id = t.incentive_id where t.is_del =1 ";
|
|
|
|
if (!StringUtils.isEmpty(doctorId)){
|
|
|
|
sql +=" and t.doctor_code ='"+doctorId+"'";
|
|
|
|
}
|
|
|
|
if (!StringUtils.isEmpty(name)){
|
|
|
|
sql +=" and t.incentive_name like '%"+name+"%'";
|
|
|
|
}
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
List<BaseDoctorIncentiveDO> listCount = baseDoctorIncentiveDao.findByDoctorCodeListCount(doctorId);
|
|
List<BaseDoctorIncentiveDO> listCount = baseDoctorIncentiveDao.findByDoctorCodeListCount(doctorId);
|
|
mixEnvelop.setPageSize(pageSize);
|
|
mixEnvelop.setPageSize(pageSize);
|
|
mixEnvelop.setCurrPage(page);
|
|
mixEnvelop.setCurrPage(page);
|
|
@ -1149,13 +1229,11 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
"b.is_del as \"isDel\"," +
|
|
"b.is_del as \"isDel\"," +
|
|
"b.incentive_code as \"incentiveCode\"," +
|
|
"b.incentive_code as \"incentiveCode\"," +
|
|
"b.create_time as \"createTime\"" +
|
|
"b.create_time as \"createTime\"" +
|
|
"from base_incentive_dict b left join base_doctor_incentive d" +
|
|
|
|
" on b.id = d.incentive_id where is_del = '1'";
|
|
|
|
|
|
"from base_incentive_dict b where b.is_del = '1' ";
|
|
if (!StringUtils.isEmpty(doctorCode)){
|
|
if (!StringUtils.isEmpty(doctorCode)){
|
|
sql+=" and d.doctor_code!='"+doctorCode+"'";
|
|
|
|
|
|
sql+=" and b.id not in (select d.incentive_id from base_doctor_incentive d where d.doctor_code ='"+doctorCode+"' and d.is_del= '1'" +
|
|
|
|
" group by d.incentive_id)";
|
|
}
|
|
}
|
|
sql+=" group by b.id,b.incentive_img,b.incentive_name" +
|
|
|
|
"b.incentive_status ,b.is_del, b.incentive_code,b.create_time";
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
|
|
List<WlyyHospitalSysDictDO> sysDictDOS=wlyyHospitalSysDictDao.findByDictName("drugStoreStatus");
|
|
List<WlyyHospitalSysDictDO> sysDictDOS=wlyyHospitalSysDictDao.findByDictName("drugStoreStatus");
|
|
if (sysDictDOS!=null&&list.size()>0){
|
|
if (sysDictDOS!=null&&list.size()>0){
|
|
@ -1169,4 +1247,20 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
|
|
}
|
|
}
|
|
return list;
|
|
return list;
|
|
}
|
|
}
|
|
|
|
//医生重置密码
|
|
|
|
public String resetDoctorPwd(String doctor){
|
|
|
|
|
|
|
|
BaseDoctorDO baseDoctorDO= baseDoctorDao.findById(doctor);
|
|
|
|
if (baseDoctorDO!=null){
|
|
|
|
String salt = baseDoctorDO.getSalt();
|
|
|
|
if (StringUtils.isEmpty(salt)){
|
|
|
|
salt = randomString(5);
|
|
|
|
baseDoctorDO.setSalt(salt);
|
|
|
|
}
|
|
|
|
baseDoctorDO.setPassword(MD5.md5Hex(baseDoctorDO.getIdcard().substring(12, 18) + "{" + salt + "}"));
|
|
|
|
baseDoctorDao.save(baseDoctorDO);
|
|
|
|
return "操作成功";
|
|
|
|
}
|
|
|
|
return "医生不存在";
|
|
|
|
}
|
|
}
|
|
}
|