|
@ -1649,4 +1649,161 @@ public class FamilyContractService extends BaseService {
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
|
|
|
public String produceSignTeamCode() {
|
|
|
StringBuffer sf=new StringBuffer();
|
|
|
StringBuffer sf1=new StringBuffer();
|
|
|
Long size=0L;
|
|
|
//找出家庭签约中团队code是空的
|
|
|
List<SignFamily> signFamilys= signFamilyDao.findBySignTypeAndTeamCode();
|
|
|
sf.append("家庭签约中团队code是空的数据数:"+signFamilys.size());
|
|
|
for(SignFamily signFamily:signFamilys){
|
|
|
//得到签约中的全科医生的团队
|
|
|
String doctorCode=signFamily.getDoctor();
|
|
|
Long id= doctorAdminTeamDao.findIdByLeaderCode(doctorCode);
|
|
|
if(id!=null&&id>0){
|
|
|
size++;
|
|
|
signFamily.setAdminTeamId(id);
|
|
|
}else{
|
|
|
sf1.append(",找不到医生所属的团队,医生code:"+doctorCode);
|
|
|
}
|
|
|
}
|
|
|
sf.append(",填充团队的签约数据数:"+size);
|
|
|
sf.append(sf1);
|
|
|
return sf.toString();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 分配健管师
|
|
|
*
|
|
|
* @param patient 患者code
|
|
|
* @param healthDoctor 健康管理师code
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject updateSignInfo(String patient,String healthDoctor,String expensesType){
|
|
|
JSONObject result = new JSONObject();
|
|
|
Doctor doctor = doctorDao.findByCode(healthDoctor);
|
|
|
SignFamily signFamily = signFamilyDao.findByjiatingPatientYes(patient);
|
|
|
|
|
|
if(signFamily == null){
|
|
|
result.put("status",-1);
|
|
|
result.put("msg","居民不存在家庭签约");
|
|
|
}
|
|
|
if(doctor == null){
|
|
|
result.put("status",-2);
|
|
|
result.put("msg","医生不存在");
|
|
|
}
|
|
|
if(StringUtils.isNotEmpty(healthDoctor)) {
|
|
|
if (StringUtils.isNotEmpty(signFamily.getDoctorHealth())) {
|
|
|
// 取消原有健康管理师的家庭签约分组,并新增分组
|
|
|
List<DoctorPatientGroupInfo> groups = doctorPatientGroupInfoDao.findGroupInfoByPatientAndDoctor(signFamily.getDoctorHealth(), patient);
|
|
|
|
|
|
if (groups != null) {
|
|
|
List<DoctorPatientGroupInfo> newGroups = new ArrayList<>();
|
|
|
for (DoctorPatientGroupInfo group : groups) {
|
|
|
if (group.getGroup().equals("1") || group.getGroup().equals("2") || group.getGroup().equals("3")) {
|
|
|
DoctorPatientGroupInfo newGroup = new DoctorPatientGroupInfo();
|
|
|
|
|
|
newGroup.setDoctor(doctor.getCode());
|
|
|
newGroup.setCzrq(new Date());
|
|
|
newGroup.setGroup(group.getGroup());
|
|
|
newGroup.setPatient(patient);
|
|
|
newGroup.setSignType("2");
|
|
|
newGroup.setStatus(1);
|
|
|
newGroup.setPname(group.getPname());
|
|
|
|
|
|
newGroups.add(newGroup);
|
|
|
}
|
|
|
group.setStatus(0);
|
|
|
group.setCzrq(new Date());
|
|
|
}
|
|
|
if (newGroups.size() > 0) {
|
|
|
doctorPatientGroupInfoDao.save(newGroups);
|
|
|
}
|
|
|
|
|
|
// 更新团队信息
|
|
|
if (StringUtils.isNotEmpty(signFamily.getTeamCode())) {
|
|
|
DoctorTeamMember teamMember = doctorTeamDoctor.findMemberByTeamAndCode(signFamily.getTeamCode(), signFamily.getDoctorHealth());
|
|
|
|
|
|
if (teamMember != null) {
|
|
|
teamMember.setDel("0");
|
|
|
teamMember.setCzrq(new Date());
|
|
|
}
|
|
|
|
|
|
DoctorTeamMember newTeamMember = new DoctorTeamMember();
|
|
|
|
|
|
newTeamMember.setCode(getCode());
|
|
|
newTeamMember.setMemberCode(doctor.getCode());
|
|
|
newTeamMember.setName(doctor.getName());
|
|
|
newTeamMember.setTeam(signFamily.getTeamCode());
|
|
|
newTeamMember.setDel("1");
|
|
|
newTeamMember.setSignType("2");
|
|
|
newTeamMember.setType(3);
|
|
|
newTeamMember.setCzrq(new Date());
|
|
|
|
|
|
doctorTeamDoctor.save(newTeamMember);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
// 新增分组
|
|
|
List<DoctorPatientGroupInfo> groups = doctorPatientGroupInfoDao.findGroupInfoByPatientAndDoctor(signFamily.getDoctor(), patient);
|
|
|
|
|
|
if (groups != null) {
|
|
|
List<DoctorPatientGroupInfo> newGroups = new ArrayList<>();
|
|
|
for (DoctorPatientGroupInfo group : groups) {
|
|
|
if (group.getGroup().equals("1") || group.getGroup().equals("2") || group.getGroup().equals("3")) {
|
|
|
DoctorPatientGroupInfo newGroup = new DoctorPatientGroupInfo();
|
|
|
|
|
|
newGroup.setDoctor(doctor.getCode());
|
|
|
newGroup.setCzrq(new Date());
|
|
|
newGroup.setGroup(group.getGroup());
|
|
|
newGroup.setPatient(patient);
|
|
|
newGroup.setSignType("2");
|
|
|
newGroup.setStatus(1);
|
|
|
newGroup.setPname(group.getPname());
|
|
|
|
|
|
newGroups.add(newGroup);
|
|
|
}
|
|
|
}
|
|
|
if (newGroups.size() > 0) {
|
|
|
doctorPatientGroupInfoDao.save(newGroups);
|
|
|
}
|
|
|
// 新增团队信息
|
|
|
if (StringUtils.isNotEmpty(signFamily.getTeamCode())) {
|
|
|
DoctorTeamMember newTeamMember = new DoctorTeamMember();
|
|
|
|
|
|
newTeamMember.setCode(getCode());
|
|
|
newTeamMember.setMemberCode(doctor.getCode());
|
|
|
newTeamMember.setName(doctor.getName());
|
|
|
newTeamMember.setTeam(signFamily.getTeamCode());
|
|
|
newTeamMember.setDel("1");
|
|
|
newTeamMember.setSignType("2");
|
|
|
newTeamMember.setType(3);
|
|
|
newTeamMember.setCzrq(new Date());
|
|
|
|
|
|
doctorTeamDoctor.save(newTeamMember);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
signFamily.setDoctorHealth(doctor.getCode());
|
|
|
signFamily.setDoctorHealthName(doctor.getName());
|
|
|
signFamily.setCzrq(new Date());
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotEmpty(expensesType)){
|
|
|
if (StringUtils.isNotEmpty(signFamily.getMedicalInsuranceNum())) {
|
|
|
result.put("status", -3);
|
|
|
result.put("msg","数据已上传社保,不能修改补贴类型");
|
|
|
}else{
|
|
|
signFamily.setExpensesType(expensesType);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.put("status",1);
|
|
|
result.put("msg","更新成功");
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|