|
@ -71,6 +71,7 @@ public class SignWebService extends BaseService {
|
|
|
private DoctorDao doctorDao;
|
|
|
@Autowired
|
|
|
private MessageDao messageDao;
|
|
|
|
|
|
/**
|
|
|
* 根据医生代码及签约状态编码 获取该医生签约患者的信息列表
|
|
|
*
|
|
@ -200,13 +201,13 @@ public class SignWebService extends BaseService {
|
|
|
" and f.type = 2 " +
|
|
|
" and LENGTH(trim(ifnull(b.openid,''))) < 1";
|
|
|
|
|
|
List<String> result = jdbcTemplate.queryForList(sql, new Object[]{doctor, doctor},String.class);
|
|
|
List<String> result = jdbcTemplate.queryForList(sql, new Object[]{doctor, doctor}, String.class);
|
|
|
|
|
|
if (result != null && result.size() > 0) {
|
|
|
Set<String> set = redisTemplate.opsForSet().members("wechat:focus:remind:set");
|
|
|
if (set == null) {
|
|
|
isAll = false;
|
|
|
} else if(!set.containsAll(result)) {
|
|
|
} else if (!set.containsAll(result)) {
|
|
|
isAll = false;
|
|
|
}
|
|
|
} else {
|
|
@ -234,13 +235,13 @@ public class SignWebService extends BaseService {
|
|
|
" and f.type = 2 " +
|
|
|
" and (f.expenses_status = 0 or LENGTH(trim(ifnull(f.expenses_status,''))) < 1)";
|
|
|
|
|
|
List<String> result = jdbcTemplate.queryForList(sql, new Object[]{doctor, doctor},String.class);
|
|
|
List<String> result = jdbcTemplate.queryForList(sql, new Object[]{doctor, doctor}, String.class);
|
|
|
|
|
|
if (result != null && result.size() > 0) {
|
|
|
Set<String> set = redisTemplate.opsForSet().members("expenses:remind:set");
|
|
|
if (set == null) {
|
|
|
isAll = false;
|
|
|
} else if(!set.containsAll(result)) {
|
|
|
} else if (!set.containsAll(result)) {
|
|
|
isAll = false;
|
|
|
}
|
|
|
} else {
|
|
@ -372,115 +373,162 @@ public class SignWebService extends BaseService {
|
|
|
return signFamilyDao.findAllByIdcard(idcard);
|
|
|
}
|
|
|
|
|
|
public JSONArray getSigns(String patient){
|
|
|
public List<JSONObject> getSigns(String patient) {
|
|
|
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
List<JSONObject> jsonArray = new ArrayList<JSONObject>();
|
|
|
//加入续签表数据
|
|
|
// List<SignFamilyRenew> renews = jdbcTemplate.queryForList(
|
|
|
// "SELECT * FROM wlyy_sign_family_renew t " +
|
|
|
// "WHERE t.patient = '"+patient+"' AND t.status <> -1 and t.status <> -2",SignFamilyRenew.class);
|
|
|
List<SignFamilyRenew> renews = signFamilyRenewDao.findAllActiveSignByPatient(patient);
|
|
|
|
|
|
for(SignFamilyRenew renew: renews){
|
|
|
for (SignFamilyRenew renew : renews) {
|
|
|
AdminTeam adminTeam = null;
|
|
|
Doctor doctor = null;
|
|
|
if(renew.getAdminTeamId()!=null){
|
|
|
if (renew.getAdminTeamId() != null) {
|
|
|
adminTeam = adminTeamService.getTeam(renew.getAdminTeamId());
|
|
|
doctor = doctorService.findDoctorByCode(adminTeam.getLeaderCode());
|
|
|
}
|
|
|
if(adminTeam==null)adminTeam = new AdminTeam();
|
|
|
if(doctor==null)doctor = new Doctor();
|
|
|
if (adminTeam == null) adminTeam = new AdminTeam();
|
|
|
if (doctor == null) doctor = new Doctor();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalName",renew.getHospitalName());
|
|
|
jsonObject.put("hospital",renew.getHospital());
|
|
|
jsonObject.put("code",renew.getCode());
|
|
|
jsonObject.put("teamCode",renew.getTeamCode());
|
|
|
jsonObject.put("begin",renew.getBegin());
|
|
|
jsonObject.put("end",renew.getEnd());
|
|
|
jsonObject.put("status",renew.getStatus());
|
|
|
jsonObject.put("leader",adminTeam.getLeaderCode());
|
|
|
jsonObject.put("leaderName",doctor.getName());
|
|
|
jsonObject.put("doctor",renew.getDoctor());
|
|
|
jsonObject.put("doctorHealth",renew.getDoctorHealth());
|
|
|
jsonObject.put("doctorName",renew.getDoctorName());
|
|
|
jsonObject.put("doctorHealthName",renew.getDoctorHealthName());
|
|
|
jsonObject.put("expensesStatus",StringUtils.isNotBlank(renew.getExpensesStatus())?renew.getExpensesStatus():"1");
|
|
|
jsonObject.put("applyDate",renew.getApplyDate());
|
|
|
jsonObject.put("createTime",renew.getCzrq());
|
|
|
jsonObject.put("type",renew.getType());
|
|
|
jsonObject.put("typeName",renew.getType()==1?"三师签约":"家庭签约续签");
|
|
|
jsonObject.put("hospitalName", renew.getHospitalName());
|
|
|
jsonObject.put("hospital", renew.getHospital());
|
|
|
jsonObject.put("code", renew.getCode());
|
|
|
jsonObject.put("teamCode", renew.getTeamCode());
|
|
|
jsonObject.put("begin", renew.getBegin());
|
|
|
jsonObject.put("end", renew.getEnd());
|
|
|
jsonObject.put("status", renew.getStatus());
|
|
|
jsonObject.put("leader", adminTeam.getLeaderCode());
|
|
|
jsonObject.put("leaderName", doctor.getName());
|
|
|
jsonObject.put("doctor", renew.getDoctor());
|
|
|
jsonObject.put("doctorHealth", renew.getDoctorHealth());
|
|
|
jsonObject.put("doctorName", renew.getDoctorName());
|
|
|
jsonObject.put("doctorHealthName", renew.getDoctorHealthName());
|
|
|
jsonObject.put("expensesStatus", StringUtils.isNotBlank(renew.getExpensesStatus()) ? renew.getExpensesStatus() : "1");
|
|
|
jsonObject.put("applyDate", renew.getApplyDate());
|
|
|
jsonObject.put("createTime", renew.getCzrq());
|
|
|
jsonObject.put("type", renew.getType());
|
|
|
jsonObject.put("typeName", renew.getType() == 1 ? "三师签约" : "家庭签约续签");
|
|
|
String statusName = "";
|
|
|
switch (jsonObject.getInt("status")){
|
|
|
case -4 : statusName = "已到期";break;
|
|
|
case -3 : statusName ="已解约";break;
|
|
|
case 0 : statusName ="待审核";break;
|
|
|
case 1 : if(jsonObject.getInt("expensesStatus")==1){statusName ="已签约";}else{statusName ="待缴费";} break;
|
|
|
case 2 : statusName ="患者申请取消签约";break;
|
|
|
case 3 : statusName ="医生申请取消签约";break;
|
|
|
switch (jsonObject.getInt("status")) {
|
|
|
case -4:
|
|
|
statusName = "已到期";
|
|
|
break;
|
|
|
case -3:
|
|
|
statusName = "已解约";
|
|
|
break;
|
|
|
case 0:
|
|
|
statusName = "待审核";
|
|
|
break;
|
|
|
case 1:
|
|
|
if (jsonObject.getInt("expensesStatus") == 1) {
|
|
|
statusName = "已签约";
|
|
|
} else {
|
|
|
statusName = "待缴费";
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
statusName = "患者申请取消签约";
|
|
|
break;
|
|
|
case 3:
|
|
|
statusName = "医生申请取消签约";
|
|
|
break;
|
|
|
}
|
|
|
jsonObject.put("statusName",statusName);
|
|
|
jsonArray.put(jsonObject);
|
|
|
jsonObject.put("statusName", statusName);
|
|
|
jsonArray.add(jsonObject);
|
|
|
}
|
|
|
|
|
|
//查询签约表数据
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findAllActiveSignByPatient(patient);
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findAllActiveSignByPatient(patient);
|
|
|
|
|
|
for(SignFamily signFamily: signFamilys){
|
|
|
for (SignFamily signFamily : signFamilys) {
|
|
|
AdminTeam adminTeam = null;
|
|
|
Doctor doctor = null;
|
|
|
if(signFamily.getAdminTeamId()!=null){
|
|
|
if (signFamily.getAdminTeamId() != null) {
|
|
|
adminTeam = adminTeamService.getTeam(signFamily.getAdminTeamId());
|
|
|
doctor = doctorService.findDoctorByCode(adminTeam.getLeaderCode());
|
|
|
}
|
|
|
if(adminTeam==null)adminTeam = new AdminTeam();
|
|
|
if(doctor==null)doctor = new Doctor();
|
|
|
if (adminTeam == null) adminTeam = new AdminTeam();
|
|
|
if (doctor == null) doctor = new Doctor();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalName",signFamily.getHospitalName());
|
|
|
jsonObject.put("hospital",signFamily.getHospital());
|
|
|
jsonObject.put("code",signFamily.getCode());
|
|
|
jsonObject.put("teamCode",signFamily.getTeamCode());
|
|
|
jsonObject.put("begin",signFamily.getBegin());
|
|
|
jsonObject.put("end",signFamily.getEnd());
|
|
|
jsonObject.put("status",signFamily.getStatus());
|
|
|
jsonObject.put("leader",adminTeam.getLeaderCode());
|
|
|
jsonObject.put("leaderName",doctor.getName());
|
|
|
jsonObject.put("doctor",signFamily.getDoctor());
|
|
|
jsonObject.put("doctorHealth",signFamily.getDoctorHealth());
|
|
|
jsonObject.put("doctorName",signFamily.getDoctorName());
|
|
|
jsonObject.put("doctorHealthName",signFamily.getDoctorHealthName());
|
|
|
jsonObject.put("expensesStatus",StringUtils.isNotBlank(signFamily.getExpensesStatus())?signFamily.getExpensesStatus():"1");
|
|
|
jsonObject.put("applyDate",signFamily.getApplyDate());
|
|
|
jsonObject.put("createTime",signFamily.getCzrq());
|
|
|
jsonObject.put("type",signFamily.getType());
|
|
|
jsonObject.put("typeName",signFamily.getType()==1?"三师签约":"家庭签约");
|
|
|
jsonObject.put("hospitalName", signFamily.getHospitalName());
|
|
|
jsonObject.put("hospital", signFamily.getHospital());
|
|
|
jsonObject.put("code", signFamily.getCode());
|
|
|
jsonObject.put("teamCode", signFamily.getTeamCode());
|
|
|
jsonObject.put("begin", signFamily.getBegin());
|
|
|
jsonObject.put("end", signFamily.getEnd());
|
|
|
jsonObject.put("status", signFamily.getStatus());
|
|
|
jsonObject.put("leader", adminTeam.getLeaderCode());
|
|
|
jsonObject.put("leaderName", doctor.getName());
|
|
|
jsonObject.put("doctor", signFamily.getDoctor());
|
|
|
jsonObject.put("doctorHealth", signFamily.getDoctorHealth());
|
|
|
jsonObject.put("doctorName", signFamily.getDoctorName());
|
|
|
jsonObject.put("doctorHealthName", signFamily.getDoctorHealthName());
|
|
|
jsonObject.put("expensesStatus", StringUtils.isNotBlank(signFamily.getExpensesStatus()) ? signFamily.getExpensesStatus() : "1");
|
|
|
jsonObject.put("applyDate", signFamily.getApplyDate());
|
|
|
jsonObject.put("createTime", signFamily.getCzrq());
|
|
|
jsonObject.put("type", signFamily.getType());
|
|
|
jsonObject.put("typeName", signFamily.getType() == 1 ? "三师签约" : "家庭签约");
|
|
|
String statusName = "";
|
|
|
switch (jsonObject.getInt("status")){
|
|
|
case -4 : statusName = "已到期";break;
|
|
|
case -3 : statusName ="已解约";break;
|
|
|
case 0 : statusName ="待签约";break;
|
|
|
case 1 : if(jsonObject.getInt("expensesStatus")==1){statusName ="已签约";}else{statusName ="待缴费";} break;
|
|
|
case 2 : statusName ="患者申请取消签约";break;
|
|
|
case 3 : statusName ="医生申请取消签约";break;
|
|
|
switch (jsonObject.getInt("status")) {
|
|
|
case -4:
|
|
|
statusName = "已到期";
|
|
|
break;
|
|
|
case -3:
|
|
|
statusName = "已解约";
|
|
|
break;
|
|
|
case 0:
|
|
|
statusName = "待签约";
|
|
|
break;
|
|
|
case 1:
|
|
|
if (jsonObject.getInt("expensesStatus") == 1) {
|
|
|
statusName = "已签约";
|
|
|
} else {
|
|
|
statusName = "待缴费";
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
statusName = "患者申请取消签约";
|
|
|
break;
|
|
|
case 3:
|
|
|
statusName = "医生申请取消签约";
|
|
|
break;
|
|
|
}
|
|
|
jsonObject.put("statusName",statusName);
|
|
|
jsonArray.put(jsonObject);
|
|
|
jsonObject.put("statusName", statusName);
|
|
|
jsonArray.add(jsonObject);
|
|
|
}
|
|
|
Collections.sort(jsonArray, new Comparator<JSONObject>() {
|
|
|
@Override
|
|
|
public int compare(JSONObject o1, JSONObject o2) {
|
|
|
Date o1Date = (Date) o1.get("createTime");
|
|
|
Date o2Date = (Date) o2.get("createTime");
|
|
|
if (o1Date.before(o2Date)) {
|
|
|
return 1;
|
|
|
} else if (o1Date.after(o2Date)) {
|
|
|
return -1;
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
});
|
|
|
return jsonArray;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 已过时,启用getSignInfoOrRenewInfo
|
|
|
*
|
|
|
* @param teamCode
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getSignInfo(String teamCode,String code){
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findByTeamCodeIsValid(teamCode,code);
|
|
|
SignFamily signFamily =null;
|
|
|
if(signFamilys==null||signFamilys.size()==0){
|
|
|
public JSONObject getSignInfo(String teamCode, String code) {
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findByTeamCodeIsValid(teamCode, code);
|
|
|
SignFamily signFamily = null;
|
|
|
if (signFamilys == null || signFamilys.size() == 0) {
|
|
|
throw new RuntimeException("找不到签约关系!");
|
|
|
}else{
|
|
|
} else {
|
|
|
signFamily = signFamilys.get(0);
|
|
|
; }
|
|
|
;
|
|
|
}
|
|
|
Patient p = patientService.findByCode(signFamily.getPatient());
|
|
|
String patient = p.getCode();
|
|
|
JSONObject resultObject = new JSONObject();
|
|
@ -489,20 +537,20 @@ public class SignWebService extends BaseService {
|
|
|
//查找到团队领导
|
|
|
Doctor leader = doctorService.findDoctorByCode(adminTeam.getLeaderCode());
|
|
|
JSONObject leaderObj = this.doctorParse(leader);
|
|
|
resultObject.put("leader",leaderObj);
|
|
|
resultObject.put("leader", leaderObj);
|
|
|
String doctorHealth = signFamily.getDoctorHealth();
|
|
|
String doctor = signFamily.getDoctor();
|
|
|
//签约团队的健管师
|
|
|
if(StringUtils.isNotBlank(doctorHealth)){
|
|
|
if (StringUtils.isNotBlank(doctorHealth)) {
|
|
|
Doctor health = doctorService.findDoctorByCode(doctorHealth);
|
|
|
JSONObject healthObj = this.doctorParse(health);
|
|
|
resultObject.put("doctorHealth",healthObj);
|
|
|
resultObject.put("doctorHealth", healthObj);
|
|
|
}
|
|
|
//签约团队的全科医生
|
|
|
if(StringUtils.isNotBlank(doctor)){
|
|
|
if (StringUtils.isNotBlank(doctor)) {
|
|
|
Doctor qk = doctorService.findDoctorByCode(doctor);
|
|
|
JSONObject qkObj = this.doctorParse(qk);
|
|
|
resultObject.put("doctor",qkObj);
|
|
|
resultObject.put("doctor", qkObj);
|
|
|
}
|
|
|
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
|
|
|
int year = calendar.get(Calendar.YEAR);
|
|
@ -519,31 +567,31 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
StringBuffer countSql = new StringBuffer();
|
|
|
countSql.append(consult_sql).append(" union all ").append(followup_sql).append(" union all ").append(reservation_sql).append(" union all ").append(article_sql).append(" union all ").append(guidance_sql);
|
|
|
List<Map<String, Object>> resultCount = jdbcTemplate.queryForList(countSql.toString(), new Object[]{doctorHealth, patient, year,doctorHealth,doctor,patient,year,doctorHealth,doctor,patient,year,doctorHealth,doctor,patient,year,doctorHealth,doctor,patient,year});
|
|
|
resultObject.put("consultNum",resultCount.get(0).get("count"));
|
|
|
resultObject.put("followupNum",resultCount.get(1).get("count"));
|
|
|
resultObject.put("reservationNum",resultCount.get(2).get("count"));
|
|
|
resultObject.put("articleNum",resultCount.get(3).get("count"));
|
|
|
resultObject.put("guidanceNum",resultCount.get(4).get("count"));
|
|
|
List<Map<String, Object>> resultCount = jdbcTemplate.queryForList(countSql.toString(), new Object[]{doctorHealth, patient, year, doctorHealth, doctor, patient, year, doctorHealth, doctor, patient, year, doctorHealth, doctor, patient, year, doctorHealth, doctor, patient, year});
|
|
|
resultObject.put("consultNum", resultCount.get(0).get("count"));
|
|
|
resultObject.put("followupNum", resultCount.get(1).get("count"));
|
|
|
resultObject.put("reservationNum", resultCount.get(2).get("count"));
|
|
|
resultObject.put("articleNum", resultCount.get(3).get("count"));
|
|
|
resultObject.put("guidanceNum", resultCount.get(4).get("count"));
|
|
|
return resultObject;
|
|
|
}
|
|
|
|
|
|
private JSONObject doctorParse(Doctor doctor){
|
|
|
private JSONObject doctorParse(Doctor doctor) {
|
|
|
JSONObject object = new JSONObject();
|
|
|
object.put("code",doctor.getCode());
|
|
|
object.put("jobName",doctor.getJobName());
|
|
|
object.put("level",doctor.getLevel());
|
|
|
object.put("name",doctor.getName());
|
|
|
object.put("evaluateScore",doctor.getEvaluateScore());
|
|
|
object.put("photo",doctor.getPhoto());
|
|
|
object.put("sex",doctor.getSex());
|
|
|
object.put("hospitalName",doctor.getHospitalName());
|
|
|
object.put("code", doctor.getCode());
|
|
|
object.put("jobName", doctor.getJobName());
|
|
|
object.put("level", doctor.getLevel());
|
|
|
object.put("name", doctor.getName());
|
|
|
object.put("evaluateScore", doctor.getEvaluateScore());
|
|
|
object.put("photo", doctor.getPhoto());
|
|
|
object.put("sex", doctor.getSex());
|
|
|
object.put("hospitalName", doctor.getHospitalName());
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
public JSONObject getSignServiceInfo(String teamCode){
|
|
|
public JSONObject getSignServiceInfo(String teamCode) {
|
|
|
SignFamily signFamily = signFamilyDao.findByTeamCode(teamCode);
|
|
|
if(signFamily==null){
|
|
|
if (signFamily == null) {
|
|
|
throw new RuntimeException("找不到签约关系!");
|
|
|
}
|
|
|
Patient p = patientService.findByCode(signFamily.getPatient());
|
|
@ -566,28 +614,38 @@ public class SignWebService extends BaseService {
|
|
|
//咨询量
|
|
|
List<Map<String, Object>> consultResult = jdbcTemplate.queryForList(consult_sql, new Object[]{doctorHealth, patient, year});
|
|
|
//随访量
|
|
|
List<Map<String, Object>> followupResult = jdbcTemplate.queryForList(followup_sql, new Object[]{doctorHealth,doctor, patient, year});
|
|
|
List<Map<String, Object>> followupResult = jdbcTemplate.queryForList(followup_sql, new Object[]{doctorHealth, doctor, patient, year});
|
|
|
//待预约量
|
|
|
List<Map<String, Object>> reservationResult = jdbcTemplate.queryForList(reservation_sql, new Object[]{doctorHealth,doctor, patient, year});
|
|
|
List<Map<String, Object>> reservationResult = jdbcTemplate.queryForList(reservation_sql, new Object[]{doctorHealth, doctor, patient, year});
|
|
|
//健康教育量
|
|
|
List<Map<String, Object>> articleResult = jdbcTemplate.queryForList(article_sql, new Object[]{doctorHealth,doctor, patient, year});
|
|
|
List<Map<String, Object>> articleResult = jdbcTemplate.queryForList(article_sql, new Object[]{doctorHealth, doctor, patient, year});
|
|
|
//健康指导量
|
|
|
List<Map<String, Object>> guidanceResult = jdbcTemplate.queryForList(guidance_sql, new Object[]{doctorHealth,doctor, patient, year});
|
|
|
List<Map<String, Object>> guidanceResult = jdbcTemplate.queryForList(guidance_sql, new Object[]{doctorHealth, doctor, patient, year});
|
|
|
List<JSONObject> objects = new ArrayList<>();
|
|
|
int amount = consultResult.size()+followupResult.size()+reservationResult.size()+articleResult.size()+guidanceResult.size();
|
|
|
int amount = consultResult.size() + followupResult.size() + reservationResult.size() + articleResult.size() + guidanceResult.size();
|
|
|
int activeAmount = 0;
|
|
|
objects.addAll(convertResult(consultResult));
|
|
|
objects.addAll(convertResult(followupResult));
|
|
|
objects.addAll(convertResult(reservationResult));
|
|
|
objects.addAll(convertResult(articleResult));
|
|
|
objects.addAll(convertResult(guidanceResult));
|
|
|
for(JSONObject object: objects){
|
|
|
switch (object.get("type").toString()){
|
|
|
case "1":activeAmount += ("1".equals(object.get("status"))?1:0);break;
|
|
|
case "2":activeAmount += ("1".equals(object.get("status"))?1:0);break;
|
|
|
case "3":activeAmount += ("1".equals(object.get("status"))?1:0);break;
|
|
|
case "4":activeAmount += ("1".equals(object.get("is_read"))?0:1);break;
|
|
|
case "5":activeAmount += ("1".equals(object.get("read_status"))?1:0);break;
|
|
|
for (JSONObject object : objects) {
|
|
|
switch (object.get("type").toString()) {
|
|
|
case "1":
|
|
|
activeAmount += ("1".equals(object.get("status")) ? 1 : 0);
|
|
|
break;
|
|
|
case "2":
|
|
|
activeAmount += ("1".equals(object.get("status")) ? 1 : 0);
|
|
|
break;
|
|
|
case "3":
|
|
|
activeAmount += ("1".equals(object.get("status")) ? 1 : 0);
|
|
|
break;
|
|
|
case "4":
|
|
|
activeAmount += ("1".equals(object.get("is_read")) ? 0 : 1);
|
|
|
break;
|
|
|
case "5":
|
|
|
activeAmount += ("1".equals(object.get("read_status")) ? 1 : 0);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
objects.sort(new Comparator<JSONObject>() {
|
|
@ -596,30 +654,40 @@ public class SignWebService extends BaseService {
|
|
|
Date begin = DateUtil.strToDateLong(o1.get("czrq").toString());
|
|
|
Date end = DateUtil.strToDateLong(o2.get("czrq").toString());
|
|
|
|
|
|
if(begin!=null&&end !=null&&begin.before(end)){
|
|
|
if (begin != null && end != null && begin.before(end)) {
|
|
|
return 1;
|
|
|
}else{
|
|
|
} else {
|
|
|
return -1;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
JSONObject object = new JSONObject();
|
|
|
object.put("list",objects);
|
|
|
object.put("amount",amount);
|
|
|
object.put("activeAmount",activeAmount);
|
|
|
object.put("list", objects);
|
|
|
object.put("amount", amount);
|
|
|
object.put("activeAmount", activeAmount);
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
private List<JSONObject> convertResult(List<Map<String, Object>> dataList){
|
|
|
private List<JSONObject> convertResult(List<Map<String, Object>> dataList) {
|
|
|
List<JSONObject> objects = new ArrayList<>();
|
|
|
JSONObject resultObject = new JSONObject();
|
|
|
for(Map<String, Object> map: dataList){
|
|
|
switch (map.get("type").toString()){
|
|
|
case "1":resultObject = convertConsult(map);break;
|
|
|
case "2":resultObject = convertFollowup(map);break;
|
|
|
case "3":resultObject = convertReservation(map);break;
|
|
|
case "4":resultObject = convertArticle(map);break;
|
|
|
case "5":resultObject = convertGuidance(map);break;
|
|
|
for (Map<String, Object> map : dataList) {
|
|
|
switch (map.get("type").toString()) {
|
|
|
case "1":
|
|
|
resultObject = convertConsult(map);
|
|
|
break;
|
|
|
case "2":
|
|
|
resultObject = convertFollowup(map);
|
|
|
break;
|
|
|
case "3":
|
|
|
resultObject = convertReservation(map);
|
|
|
break;
|
|
|
case "4":
|
|
|
resultObject = convertArticle(map);
|
|
|
break;
|
|
|
case "5":
|
|
|
resultObject = convertGuidance(map);
|
|
|
break;
|
|
|
}
|
|
|
objects.add(resultObject);
|
|
|
}
|
|
@ -628,107 +696,108 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
/**
|
|
|
* 返回值装换
|
|
|
*
|
|
|
* @param map
|
|
|
* @return
|
|
|
*/
|
|
|
private JSONObject convertConsult(Map<String, Object> map){
|
|
|
private JSONObject convertConsult(Map<String, Object> map) {
|
|
|
JSONObject resultObject = new JSONObject();
|
|
|
for(String key :map.keySet()){
|
|
|
String value = map.get(key)+"";
|
|
|
if("status".equals(key)){
|
|
|
if("1".equals(value)){
|
|
|
resultObject.put("status_name","已完成");
|
|
|
}else{
|
|
|
resultObject.put("status_name","进行中");
|
|
|
for (String key : map.keySet()) {
|
|
|
String value = map.get(key) + "";
|
|
|
if ("status".equals(key)) {
|
|
|
if ("1".equals(value)) {
|
|
|
resultObject.put("status_name", "已完成");
|
|
|
} else {
|
|
|
resultObject.put("status_name", "进行中");
|
|
|
}
|
|
|
}
|
|
|
resultObject.put(key,value);
|
|
|
resultObject.put(key, value);
|
|
|
}
|
|
|
return resultObject;
|
|
|
}
|
|
|
|
|
|
private JSONObject convertFollowup(Map<String, Object> map){
|
|
|
private JSONObject convertFollowup(Map<String, Object> map) {
|
|
|
JSONObject resultObject = new JSONObject();
|
|
|
if(map.get("followup_manager_status")==null){
|
|
|
map.put("followup_manager_status","0");
|
|
|
if (map.get("followup_manager_status") == null) {
|
|
|
map.put("followup_manager_status", "0");
|
|
|
}
|
|
|
if(map.get("followup_class")==null){
|
|
|
map.put("followup_class","0");
|
|
|
if (map.get("followup_class") == null) {
|
|
|
map.put("followup_class", "0");
|
|
|
}
|
|
|
for(String key :map.keySet()){
|
|
|
String value = map.get(key)+"";
|
|
|
if("followup_type".equals(key)){
|
|
|
String followupTypeName = systemDictService.getDictValue("FOLLOWUP_WAY_DICT", map.get(key)+"");
|
|
|
resultObject.put("followup_type_name",followupTypeName);
|
|
|
for (String key : map.keySet()) {
|
|
|
String value = map.get(key) + "";
|
|
|
if ("followup_type".equals(key)) {
|
|
|
String followupTypeName = systemDictService.getDictValue("FOLLOWUP_WAY_DICT", map.get(key) + "");
|
|
|
resultObject.put("followup_type_name", followupTypeName);
|
|
|
}
|
|
|
if("followup_class".equals(key)){
|
|
|
String followupClassName = systemDictService.getDictValue("FOLLOWUP_CLASS_DICT",map.get(key)+"");
|
|
|
resultObject.put("followup_class_name",followupClassName);
|
|
|
if ("followup_class".equals(key)) {
|
|
|
String followupClassName = systemDictService.getDictValue("FOLLOWUP_CLASS_DICT", map.get(key) + "");
|
|
|
resultObject.put("followup_class_name", followupClassName);
|
|
|
}
|
|
|
if("followup_manager_status".equals(key)){
|
|
|
String followupManagerStatusName = systemDictService.getDictValue("FOLLOWUP_MANAGER_STATUS",map.get(key)+"");
|
|
|
resultObject.put("followup_manager_status_name",followupManagerStatusName);
|
|
|
if ("followup_manager_status".equals(key)) {
|
|
|
String followupManagerStatusName = systemDictService.getDictValue("FOLLOWUP_MANAGER_STATUS", map.get(key) + "");
|
|
|
resultObject.put("followup_manager_status_name", followupManagerStatusName);
|
|
|
}
|
|
|
if("status".equals(key)){
|
|
|
if("1".equals(value)){
|
|
|
resultObject.put("status_name","已完成");
|
|
|
}else if("2".equals(value)){
|
|
|
resultObject.put("status_name","未完成");
|
|
|
}else if("3".equals(value)){
|
|
|
resultObject.put("status_name","进行中");
|
|
|
}else{
|
|
|
resultObject.put("status_name","取消");
|
|
|
if ("status".equals(key)) {
|
|
|
if ("1".equals(value)) {
|
|
|
resultObject.put("status_name", "已完成");
|
|
|
} else if ("2".equals(value)) {
|
|
|
resultObject.put("status_name", "未完成");
|
|
|
} else if ("3".equals(value)) {
|
|
|
resultObject.put("status_name", "进行中");
|
|
|
} else {
|
|
|
resultObject.put("status_name", "取消");
|
|
|
}
|
|
|
}
|
|
|
resultObject.put(key,map.get(key)+"");
|
|
|
resultObject.put(key, map.get(key) + "");
|
|
|
}
|
|
|
return resultObject;
|
|
|
}
|
|
|
|
|
|
private JSONObject convertReservation(Map<String, Object> map){
|
|
|
private JSONObject convertReservation(Map<String, Object> map) {
|
|
|
JSONObject resultObject = new JSONObject();
|
|
|
for(String key :map.keySet()){
|
|
|
String value = map.get(key)+"";
|
|
|
if("status".equals(key)){
|
|
|
if("1".equals(value)){
|
|
|
resultObject.put("status_name","已完成");
|
|
|
}else{
|
|
|
resultObject.put("status_name","已取消");
|
|
|
for (String key : map.keySet()) {
|
|
|
String value = map.get(key) + "";
|
|
|
if ("status".equals(key)) {
|
|
|
if ("1".equals(value)) {
|
|
|
resultObject.put("status_name", "已完成");
|
|
|
} else {
|
|
|
resultObject.put("status_name", "已取消");
|
|
|
}
|
|
|
}
|
|
|
resultObject.put(key,value);
|
|
|
resultObject.put(key, value);
|
|
|
}
|
|
|
return resultObject;
|
|
|
}
|
|
|
|
|
|
private JSONObject convertArticle(Map<String, Object> map){
|
|
|
private JSONObject convertArticle(Map<String, Object> map) {
|
|
|
JSONObject resultObject = new JSONObject();
|
|
|
for(String key :map.keySet()){
|
|
|
String value = map.get(key)+"";
|
|
|
if("is_read".equals(key)){
|
|
|
if("1".equals(value)){
|
|
|
resultObject.put("status_name","未读");
|
|
|
}else{
|
|
|
resultObject.put("status_name","已读");
|
|
|
for (String key : map.keySet()) {
|
|
|
String value = map.get(key) + "";
|
|
|
if ("is_read".equals(key)) {
|
|
|
if ("1".equals(value)) {
|
|
|
resultObject.put("status_name", "未读");
|
|
|
} else {
|
|
|
resultObject.put("status_name", "已读");
|
|
|
}
|
|
|
}
|
|
|
resultObject.put(key,value);
|
|
|
resultObject.put(key, value);
|
|
|
}
|
|
|
return resultObject;
|
|
|
}
|
|
|
|
|
|
private JSONObject convertGuidance(Map<String, Object> map){
|
|
|
private JSONObject convertGuidance(Map<String, Object> map) {
|
|
|
JSONObject resultObject = new JSONObject();
|
|
|
for(String key :map.keySet()){
|
|
|
String value = map.get(key)+"";
|
|
|
if("read_status".equals(key)){
|
|
|
if("1".equals(value)){
|
|
|
resultObject.put("status_name","已读");
|
|
|
}else{
|
|
|
resultObject.put("status_name","未读");
|
|
|
for (String key : map.keySet()) {
|
|
|
String value = map.get(key) + "";
|
|
|
if ("read_status".equals(key)) {
|
|
|
if ("1".equals(value)) {
|
|
|
resultObject.put("status_name", "已读");
|
|
|
} else {
|
|
|
resultObject.put("status_name", "未读");
|
|
|
}
|
|
|
}
|
|
|
resultObject.put(key,value);
|
|
|
resultObject.put(key, value);
|
|
|
}
|
|
|
return resultObject;
|
|
|
}
|
|
@ -841,50 +910,51 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
/**
|
|
|
* 批量提醒用户
|
|
|
*
|
|
|
* @param access_token
|
|
|
* @param doctor
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public int sendRenewToPatients(String access_token,String doctor) throws Exception{
|
|
|
public int sendRenewToPatients(String access_token, String doctor) throws Exception {
|
|
|
String sql = "SELECT p.name,p.openid,t.doctor_name doctorName,p.code,p.mobile FROM wlyy_sign_family t ,wlyy_patient p " +
|
|
|
"WHERE t.patient = p.code AND t.doctor = ? AND t.status >=0 AND t.expenses_status ='1' AND " +
|
|
|
"NOT EXISTS" +
|
|
|
"(SELECT 1 FROM wlyy_sign_family_renew a WHERE a.patient =t.patient) ";
|
|
|
|
|
|
List<Map<String,Object>> signFamilies = jdbcTemplate.queryForList(sql,new Object[]{doctor});
|
|
|
List<Map<String, Object>> signFamilies = jdbcTemplate.queryForList(sql, new Object[]{doctor});
|
|
|
|
|
|
if(signFamilies!=null&&signFamilies.size()>0){
|
|
|
for(Map<String,Object> signFamily : signFamilies){
|
|
|
String openid = (String)signFamily.get("openid");
|
|
|
String name = (String)signFamily.get("name");
|
|
|
String doctorName =(String)signFamily.get("doctorName");
|
|
|
if (signFamilies != null && signFamilies.size() > 0) {
|
|
|
for (Map<String, Object> signFamily : signFamilies) {
|
|
|
String openid = (String) signFamily.get("openid");
|
|
|
String name = (String) signFamily.get("name");
|
|
|
String doctorName = (String) signFamily.get("doctorName");
|
|
|
JSONObject json = new JSONObject();
|
|
|
|
|
|
json.put("keyword1", "续签家庭医生");
|
|
|
json.put("keyword2", DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
json.put("remark","提醒医生 :"+doctorName+"\n"
|
|
|
+"我们将继续为您提供优质的健康服务。");
|
|
|
if(StringUtils.isNotBlank(openid)){
|
|
|
json.put("first",name+",您好!\n" +
|
|
|
json.put("remark", "提醒医生 :" + doctorName + "\n"
|
|
|
+ "我们将继续为您提供优质的健康服务。");
|
|
|
if (StringUtils.isNotBlank(openid)) {
|
|
|
json.put("first", name + ",您好!\n" +
|
|
|
"您的家庭医生签约将于7月31日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 16, openid, name, json);
|
|
|
}else{
|
|
|
} else {
|
|
|
//如果自己没有绑定,则发给家人
|
|
|
String code = (String)signFamily.get("code");
|
|
|
String code = (String) signFamily.get("code");
|
|
|
JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(code);
|
|
|
Patient member = (Patient)j.get("member");
|
|
|
Patient member = (Patient) j.get("member");
|
|
|
Patient p = patientService.findByCode(code);
|
|
|
if(StringUtils.isNotBlank(member.getOpenid())){
|
|
|
json.put("first",weiXinOpenIdUtils.getTitleMes(p,(int)j.get("relation"),member.getName())+"\n"+
|
|
|
name+",您好!\n" +
|
|
|
if (StringUtils.isNotBlank(member.getOpenid())) {
|
|
|
json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), member.getName()) + "\n" +
|
|
|
name + ",您好!\n" +
|
|
|
"您的家庭医生签约将于7月31日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 16, member.getOpenid(), member.getName(), json);
|
|
|
}else{
|
|
|
} else {
|
|
|
//发送短信
|
|
|
String mobile = (String)signFamily.get("mobile");
|
|
|
if(StringUtils.isNotBlank(mobile)){
|
|
|
SMSService.sendMsg(mobile,name+"您好!您的家庭医生将于7月31日到期,为了继续给您提供健康服务,请关注“厦门i健康”公众号,回复“续签”,进行家庭医生线上续签。");
|
|
|
String mobile = (String) signFamily.get("mobile");
|
|
|
if (StringUtils.isNotBlank(mobile)) {
|
|
|
SMSService.sendMsg(mobile, name + "您好!您的家庭医生将于7月31日到期,为了继续给您提供健康服务,请关注“厦门i健康”公众号,回复“续签”,进行家庭医生线上续签。");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -898,33 +968,34 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
/**
|
|
|
* 同意或拒绝签约签约
|
|
|
*
|
|
|
* @param access_token
|
|
|
* @param dotorCode
|
|
|
* @param state 1成功 0拒绝
|
|
|
* @param state 1成功 0拒绝
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public int agreeRenew(String access_token,String dotorCode,String patientCode,String state,Long mesId,String signYear) throws Exception{
|
|
|
public int agreeRenew(String access_token, String dotorCode, String patientCode, String state, Long mesId, String signYear) throws Exception {
|
|
|
|
|
|
List<SignFamilyRenew> renews = signFamilyRenewDao.findByDoctorAndPatientStatus0(dotorCode,patientCode,signYear);
|
|
|
List<SignFamilyRenew> renews = signFamilyRenewDao.findByDoctorAndPatientStatus0(dotorCode, patientCode, signYear);
|
|
|
|
|
|
if(renews==null||renews.size()==0){
|
|
|
renews = signFamilyRenewDao.findByDoctorHealthAndPatientStatus0(dotorCode,patientCode,signYear);
|
|
|
if (renews == null || renews.size() == 0) {
|
|
|
renews = signFamilyRenewDao.findByDoctorHealthAndPatientStatus0(dotorCode, patientCode, signYear);
|
|
|
}
|
|
|
|
|
|
if(renews!=null&&renews.size()>0){
|
|
|
for(SignFamilyRenew renew : renews){
|
|
|
if(StringUtils.isNotBlank(state)){
|
|
|
if ("0".equals(state)){
|
|
|
if (renews != null && renews.size() > 0) {
|
|
|
for (SignFamilyRenew renew : renews) {
|
|
|
if (StringUtils.isNotBlank(state)) {
|
|
|
if ("0".equals(state)) {
|
|
|
renew.setStatus(-2);
|
|
|
}else if("1".equals(state)){
|
|
|
} else if ("1".equals(state)) {
|
|
|
renew.setStatus(1);
|
|
|
}
|
|
|
}
|
|
|
renew.setApplyDate(new Date());
|
|
|
signFamilyRenewDao.save(renew);
|
|
|
|
|
|
if(mesId!=null&&mesId>0){
|
|
|
if (mesId != null && mesId > 0) {
|
|
|
Message mes = messageDao.findOne(mesId);
|
|
|
mes.setRead(0);//设置已读
|
|
|
mes.setOver("0");//设置消息操作结束
|
|
@ -934,50 +1005,50 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
//发送微信模板消息
|
|
|
JSONObject data = new JSONObject();
|
|
|
data.put("doctorName",renew.getDoctorName());
|
|
|
data.put("date",DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
data.put("content","家庭医生续签");
|
|
|
data.put("doctor",dotorCode);
|
|
|
data.put("toUser",patientCode);
|
|
|
data.put("toName",renew.getName());
|
|
|
data.put("doctorName", renew.getDoctorName());
|
|
|
data.put("date", DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
data.put("content", "家庭医生续签");
|
|
|
data.put("doctor", dotorCode);
|
|
|
data.put("toUser", patientCode);
|
|
|
data.put("toName", renew.getName());
|
|
|
|
|
|
Patient patient = patientService.findByCode(renew.getPatient());
|
|
|
if(patient!=null && StringUtils.isNotBlank(patient.getOpenid())){
|
|
|
if (patient != null && StringUtils.isNotBlank(patient.getOpenid())) {
|
|
|
|
|
|
if ("0".equals(state)){
|
|
|
data.put("first",renew.getName()+",您好!\n"+
|
|
|
if ("0".equals(state)) {
|
|
|
data.put("first", renew.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已被拒绝");
|
|
|
data.put("remark","您可在到期后选择其他医生进行签约。");
|
|
|
data.put("remark", "您可在到期后选择其他医生进行签约。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
|
|
|
}else if("1".equals(state)){
|
|
|
data.put("first",renew.getName()+",您好!\n"+
|
|
|
} else if ("1".equals(state)) {
|
|
|
data.put("first", renew.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已通过");
|
|
|
data.put("remark","待自动扣费成功后,家庭医生将续签成功。");
|
|
|
data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
|
|
|
}
|
|
|
}else{
|
|
|
} else {
|
|
|
//如果自己没有绑定,则发给家人
|
|
|
JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patient.getCode());
|
|
|
Patient member = (Patient)j.get("member");
|
|
|
if(StringUtils.isNotBlank(member.getOpenid())){
|
|
|
Patient member = (Patient) j.get("member");
|
|
|
if (StringUtils.isNotBlank(member.getOpenid())) {
|
|
|
|
|
|
if ("0".equals(state)){
|
|
|
data.put("first",weiXinOpenIdUtils.getTitleMes(patient,(int)j.get("relation"),member.getName())+"\n"+
|
|
|
patient.getName()+",您好!\n" +
|
|
|
if ("0".equals(state)) {
|
|
|
data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), member.getName()) + "\n" +
|
|
|
patient.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已被拒绝");
|
|
|
data.put("remark","您可在到期后选择其他医生进行签约。");
|
|
|
data.put("remark", "您可在到期后选择其他医生进行签约。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), member.getName(), data);
|
|
|
}else if("1".equals(state)){
|
|
|
data.put("first",weiXinOpenIdUtils.getTitleMes(patient,(int)j.get("relation"),member.getName())+"\n"+
|
|
|
patient.getName()+",您好!\n" +
|
|
|
} else if ("1".equals(state)) {
|
|
|
data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), member.getName()) + "\n" +
|
|
|
patient.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已通过");
|
|
|
data.put("remark","待自动扣费成功后,家庭医生将续签成功。");
|
|
|
data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), member.getName(), data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
} else {
|
|
|
return 0;
|
|
|
}
|
|
|
return 1;
|
|
@ -985,33 +1056,34 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
/**
|
|
|
* 同意或拒绝签约签约(七月份的流程)
|
|
|
*
|
|
|
* @param access_token
|
|
|
* @param dotorCode
|
|
|
* @param state 1成功 0拒绝
|
|
|
* @param state 1成功 0拒绝
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public int agreeRenewOverDue (String access_token,String dotorCode,String patientCode,String state,Long mesId,String signYear) throws Exception{
|
|
|
public int agreeRenewOverDue(String access_token, String dotorCode, String patientCode, String state, Long mesId, String signYear) throws Exception {
|
|
|
|
|
|
List<SignFamily> renews = signFamilyDao.findByDoctorAndPatientOverDue(dotorCode,patientCode,signYear);
|
|
|
List<SignFamily> renews = signFamilyDao.findByDoctorAndPatientOverDue(dotorCode, patientCode, signYear);
|
|
|
|
|
|
if(renews==null||renews.size()==0){
|
|
|
renews = signFamilyDao.findByDoctorHealthAndPatient(dotorCode,patientCode,signYear);
|
|
|
if (renews == null || renews.size() == 0) {
|
|
|
renews = signFamilyDao.findByDoctorHealthAndPatient(dotorCode, patientCode, signYear);
|
|
|
}
|
|
|
|
|
|
if(renews!=null&&renews.size()>0){
|
|
|
for(SignFamily renew : renews){
|
|
|
if(StringUtils.isNotBlank(state)){
|
|
|
if ("0".equals(state)){
|
|
|
if (renews != null && renews.size() > 0) {
|
|
|
for (SignFamily renew : renews) {
|
|
|
if (StringUtils.isNotBlank(state)) {
|
|
|
if ("0".equals(state)) {
|
|
|
renew.setStatus(-2);
|
|
|
}else if("1".equals(state)){
|
|
|
} else if ("1".equals(state)) {
|
|
|
renew.setStatus(1);
|
|
|
}
|
|
|
}
|
|
|
renew.setApplyDate(new Date());
|
|
|
signFamilyDao.save(renew);
|
|
|
|
|
|
if(mesId!=null&&mesId>0){
|
|
|
if (mesId != null && mesId > 0) {
|
|
|
Message mes = messageDao.findOne(mesId);
|
|
|
mes.setRead(0);//设置已读
|
|
|
mes.setOver("0");//设置消息操作结束
|
|
@ -1021,50 +1093,50 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
//发送微信模板消息
|
|
|
JSONObject data = new JSONObject();
|
|
|
data.put("doctorName",renew.getDoctorName());
|
|
|
data.put("date",DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
data.put("content","家庭医生续签");
|
|
|
data.put("doctor",dotorCode);
|
|
|
data.put("toUser",patientCode);
|
|
|
data.put("toName",renew.getName());
|
|
|
data.put("doctorName", renew.getDoctorName());
|
|
|
data.put("date", DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
data.put("content", "家庭医生续签");
|
|
|
data.put("doctor", dotorCode);
|
|
|
data.put("toUser", patientCode);
|
|
|
data.put("toName", renew.getName());
|
|
|
|
|
|
Patient patient = patientService.findByCode(renew.getPatient());
|
|
|
if(patient!=null && StringUtils.isNotBlank(patient.getOpenid())){
|
|
|
if (patient != null && StringUtils.isNotBlank(patient.getOpenid())) {
|
|
|
|
|
|
if ("0".equals(state)){
|
|
|
data.put("first",renew.getName()+",您好!\n"+
|
|
|
if ("0".equals(state)) {
|
|
|
data.put("first", renew.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已被拒绝");
|
|
|
data.put("remark","您可在到期后选择其他医生进行签约。");
|
|
|
data.put("remark", "您可在到期后选择其他医生进行签约。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
|
|
|
}else if("1".equals(state)){
|
|
|
data.put("first",renew.getName()+",您好!\n"+
|
|
|
} else if ("1".equals(state)) {
|
|
|
data.put("first", renew.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已通过");
|
|
|
data.put("remark","待自动扣费成功后,家庭医生将续签成功。");
|
|
|
data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
|
|
|
}
|
|
|
}else{
|
|
|
} else {
|
|
|
//如果自己没有绑定,则发给家人
|
|
|
JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patient.getCode());
|
|
|
Patient member = (Patient)j.get("member");
|
|
|
if(StringUtils.isNotBlank(member.getOpenid())){
|
|
|
Patient member = (Patient) j.get("member");
|
|
|
if (StringUtils.isNotBlank(member.getOpenid())) {
|
|
|
|
|
|
if ("0".equals(state)){
|
|
|
data.put("first",weiXinOpenIdUtils.getTitleMes(patient,(int)j.get("relation"),member.getName())+"\n"+
|
|
|
patient.getName()+",您好!\n" +
|
|
|
if ("0".equals(state)) {
|
|
|
data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), member.getName()) + "\n" +
|
|
|
patient.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已被拒绝");
|
|
|
data.put("remark","您可在到期后选择其他医生进行签约。");
|
|
|
data.put("remark", "您可在到期后选择其他医生进行签约。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), member.getName(), data);
|
|
|
}else if("1".equals(state)){
|
|
|
data.put("first",weiXinOpenIdUtils.getTitleMes(patient,(int)j.get("relation"),member.getName())+"\n"+
|
|
|
patient.getName()+",您好!\n" +
|
|
|
} else if ("1".equals(state)) {
|
|
|
data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), member.getName()) + "\n" +
|
|
|
patient.getName() + ",您好!\n" +
|
|
|
"您的家庭医生续签申请已通过");
|
|
|
data.put("remark","待自动扣费成功后,家庭医生将续签成功。");
|
|
|
data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), member.getName(), data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
} else {
|
|
|
return 0;
|
|
|
}
|
|
|
return 1;
|
|
@ -1072,83 +1144,86 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
/**
|
|
|
* 获取年度列表
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getRenewYearCount(Long teamCode){
|
|
|
public JSONObject getRenewYearCount(Long teamCode) {
|
|
|
StringBuffer sql = new StringBuffer("SELECT t.sign_year labelCode,t.sign_year labelName,COUNT(1) amount " +
|
|
|
"FROM wlyy_sign_family t WHERE t.admin_team_code ="+teamCode+" AND t.status=-4 AND sign_year IS NOT NULL GROUP BY t.sign_year DESC");
|
|
|
List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql.toString());
|
|
|
"FROM wlyy_sign_family t WHERE t.admin_team_code =" + teamCode + " AND t.status=-4 AND sign_year IS NOT NULL GROUP BY t.sign_year DESC");
|
|
|
List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql.toString());
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("result",rs);
|
|
|
json.put("result", rs);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取用户信息
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getOverDuePatients(String year,Long teamCode,Integer page,Integer pageSize){
|
|
|
public JSONObject getOverDuePatients(String year, Long teamCode, Integer page, Integer pageSize) {
|
|
|
StringBuffer sql = new StringBuffer("SELECT IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age," +
|
|
|
"t.patient code,t.idcard,t.name,t.mobile,t.openid," +
|
|
|
"t.ssc,t.type signType,p.sex ,t.expenses_status expensesStatus " +
|
|
|
" FROM wlyy_sign_family t " +
|
|
|
" LEFT JOIN wlyy_patient p ON t.patient = p.code " +
|
|
|
" WHERE t.admin_team_code ="+teamCode+" AND t.sign_year ='"+year+"' AND t.status =-4 LIMIT "+page*pageSize+","+pageSize);
|
|
|
List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql.toString());
|
|
|
" WHERE t.admin_team_code =" + teamCode + " AND t.sign_year ='" + year + "' AND t.status =-4 LIMIT " + page * pageSize + "," + pageSize);
|
|
|
List<Map<String, Object>> rs = jdbcTemplate.queryForList(sql.toString());
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("result",rs);
|
|
|
json.put("result", rs);
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 统计
|
|
|
* 咨询量、获取待预约、获取健康教育、获取健康指导
|
|
|
*
|
|
|
* @param patient
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getSignCountInfoInYear(String patient){
|
|
|
public JSONObject getSignCountInfoInYear(String patient) {
|
|
|
|
|
|
JSONObject rs = new JSONObject();
|
|
|
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findByPatients(patient);
|
|
|
if(signFamilys==null||signFamilys.size()==0){
|
|
|
if (signFamilys == null || signFamilys.size() == 0) {
|
|
|
throw new RuntimeException("找不到签约关系!");
|
|
|
}
|
|
|
SignFamily signFamily = signFamilys.get(0);
|
|
|
String doctors_sql = "";
|
|
|
if(StringUtils.isNotBlank(signFamily.getTeamCode())){
|
|
|
doctors_sql = "SELECT t.member_code member,t.name FROM wlyy_doctor_team_member t WHERE t.team ='"+signFamily.getTeamCode()+"' AND t.type <>5";
|
|
|
}else{
|
|
|
if (StringUtils.isNotBlank(signFamily.getTeamCode())) {
|
|
|
doctors_sql = "SELECT t.member_code member,t.name FROM wlyy_doctor_team_member t WHERE t.team ='" + signFamily.getTeamCode() + "' AND t.type <>5";
|
|
|
} else {
|
|
|
throw new RuntimeException("找不到团队关系!");
|
|
|
}
|
|
|
List<Map<String,Object>> doctors = jdbcTemplate.queryForList(doctors_sql);
|
|
|
List<Map<String, Object>> doctors = jdbcTemplate.queryForList(doctors_sql);
|
|
|
String doctorCodeSql = "";
|
|
|
if (doctors!=null&&doctors.size()>0){
|
|
|
for(int i=0;i<doctors.size();i++){
|
|
|
Map<String,Object> doctor = doctors.get(i);
|
|
|
if(i==0){
|
|
|
doctorCodeSql = "'"+(String)doctor.get("member")+"'";
|
|
|
}else{
|
|
|
doctorCodeSql +=",'"+(String)doctor.get("member")+"'";
|
|
|
if (doctors != null && doctors.size() > 0) {
|
|
|
for (int i = 0; i < doctors.size(); i++) {
|
|
|
Map<String, Object> doctor = doctors.get(i);
|
|
|
if (i == 0) {
|
|
|
doctorCodeSql = "'" + (String) doctor.get("member") + "'";
|
|
|
} else {
|
|
|
doctorCodeSql += ",'" + (String) doctor.get("member") + "'";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
int year = cal.get(Calendar.YEAR);
|
|
|
//咨询量
|
|
|
String consult_sql = "SELECT COUNT(1) AS consultCount,d.name doctorName FROM wlyy_consult_team t,wlyy_doctor d WHERE t.doctor = d.code AND t.patient ='"+patient+"' " +
|
|
|
"AND t.czrq <='"+year+"-07-01' AND t.czrq >='"+(year-1)+"-07-01' GROUP BY t.doctor DESC ";
|
|
|
String consult_sql = "SELECT COUNT(1) AS consultCount,d.name doctorName FROM wlyy_consult_team t,wlyy_doctor d WHERE t.doctor = d.code AND t.patient ='" + patient + "' " +
|
|
|
"AND t.czrq <='" + year + "-07-01' AND t.czrq >='" + (year - 1) + "-07-01' GROUP BY t.doctor DESC ";
|
|
|
//获取待预约
|
|
|
String reservation_sql = "SELECT COUNT(1) AS reservationCount FROM wlyy_patient_reservation w " +
|
|
|
" WHERE w.doctor in("+doctorCodeSql+") AND w.patient ='"+patient+"'" +
|
|
|
" AND w.czrq <='"+year+"-07-01' AND w.czrq >='"+(year-1)+"-07-01' ";
|
|
|
" WHERE w.doctor in(" + doctorCodeSql + ") AND w.patient ='" + patient + "'" +
|
|
|
" AND w.czrq <='" + year + "-07-01' AND w.czrq >='" + (year - 1) + "-07-01' ";
|
|
|
//获取健康教育
|
|
|
String article_sql = "SELECT COUNT(1) AS articleCount FROM wlyy_health_edu_article_patient w,wlyy_health_edu_article w2 WHERE w.article = w2.code " +
|
|
|
"AND w.doctor IN("+doctorCodeSql+") AND w.patient ='"+patient+"' " +
|
|
|
"AND w.czrq <='"+year+"-07-01' AND w.czrq >='"+(year-1)+"-07-01' ";
|
|
|
"AND w.doctor IN(" + doctorCodeSql + ") AND w.patient ='" + patient + "' " +
|
|
|
"AND w.czrq <='" + year + "-07-01' AND w.czrq >='" + (year - 1) + "-07-01' ";
|
|
|
//获取健康指导
|
|
|
String guidance_sql = "SELECT COUNT(1) AS guidanceCount FROM wlyy_patient_health_guidance w " +
|
|
|
"WHERE w.doctor IN("+doctorCodeSql+") and w.patient ='"+patient+"' AND w.czrq <='"+year+"-07-01' AND w.czrq >='"+(year-1)+"-07-01' ";
|
|
|
"WHERE w.doctor IN(" + doctorCodeSql + ") and w.patient ='" + patient + "' AND w.czrq <='" + year + "-07-01' AND w.czrq >='" + (year - 1) + "-07-01' ";
|
|
|
|
|
|
//咨询量
|
|
|
List<Map<String, Object>> consultResult = jdbcTemplate.queryForList(consult_sql);
|
|
@ -1160,34 +1235,35 @@ public class SignWebService extends BaseService {
|
|
|
List<Map<String, Object>> guidanceResult = jdbcTemplate.queryForList(guidance_sql);
|
|
|
|
|
|
Long consultTotal = 0L;
|
|
|
if(consultResult!=null&&consultResult.size()>0){
|
|
|
for(Map<String,Object> map :consultResult){
|
|
|
Long c = (Long)map.get("consultCount");
|
|
|
consultTotal+=c;
|
|
|
if (consultResult != null && consultResult.size() > 0) {
|
|
|
for (Map<String, Object> map : consultResult) {
|
|
|
Long c = (Long) map.get("consultCount");
|
|
|
consultTotal += c;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
rs.put("consultTotal",consultTotal);
|
|
|
rs.put("consultResult",consultResult);
|
|
|
rs.put("doctors",doctors);
|
|
|
rs.put("reservationResult",reservationResult);
|
|
|
rs.put("articleResult",articleResult);
|
|
|
rs.put("guidanceResult",guidanceResult);
|
|
|
rs.put("consultTotal", consultTotal);
|
|
|
rs.put("consultResult", consultResult);
|
|
|
rs.put("doctors", doctors);
|
|
|
rs.put("reservationResult", reservationResult);
|
|
|
rs.put("articleResult", articleResult);
|
|
|
rs.put("guidanceResult", guidanceResult);
|
|
|
return rs;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 提醒用户续签约
|
|
|
*
|
|
|
* @param access_token
|
|
|
* @param patientCode
|
|
|
* @param doctor
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public int remainPatientRenew(String access_token,String patientCode,String doctor)throws Exception{
|
|
|
public int remainPatientRenew(String access_token, String patientCode, String doctor) throws Exception {
|
|
|
|
|
|
Doctor d = doctorDao.findByCode(doctor);
|
|
|
if(doctor==null){
|
|
|
if (doctor == null) {
|
|
|
return -1;
|
|
|
}
|
|
|
//发送微信模板消息
|
|
@ -1195,33 +1271,33 @@ public class SignWebService extends BaseService {
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("keyword1", "续签家庭医生");
|
|
|
json.put("keyword2", DateUtil.dateToStr(new Date(), "yyyy-MM-dd"));
|
|
|
json.put("remark","提醒医生 :"+d.getName()+"\n"
|
|
|
+"我们将继续为您提供优质的健康服务。");
|
|
|
json.put("remark", "提醒医生 :" + d.getName() + "\n"
|
|
|
+ "我们将继续为您提供优质的健康服务。");
|
|
|
String openid = p.getOpenid();
|
|
|
String name = p.getName();
|
|
|
|
|
|
if(StringUtils.isNotBlank(openid)){
|
|
|
json.put("first",name+",您好!\n" +
|
|
|
if (StringUtils.isNotBlank(openid)) {
|
|
|
json.put("first", name + ",您好!\n" +
|
|
|
"您的家庭医生签约将于7月31日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 16, openid, name, json);
|
|
|
patientSetReminFlag(patientCode);
|
|
|
return 1;
|
|
|
}else{
|
|
|
} else {
|
|
|
//如果自己没有绑定,则发给家人
|
|
|
JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patientCode);
|
|
|
Patient member = (Patient)j.get("member");
|
|
|
if(StringUtils.isNotBlank(member.getOpenid())){
|
|
|
json.put("first",weiXinOpenIdUtils.getTitleMes(p,(int)j.get("relation"),member.getName())+"\n"+
|
|
|
name+",您好!\n" +
|
|
|
Patient member = (Patient) j.get("member");
|
|
|
if (StringUtils.isNotBlank(member.getOpenid())) {
|
|
|
json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), member.getName()) + "\n" +
|
|
|
name + ",您好!\n" +
|
|
|
"您的家庭医生签约将于7月31日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
|
|
|
PushMsgTask.getInstance().putWxMsg(access_token, 16, member.getOpenid(), member.getName(), json);
|
|
|
patientSetReminFlag(patientCode);
|
|
|
return 1;
|
|
|
}else{
|
|
|
} else {
|
|
|
//发送短信
|
|
|
String mobile = p.getMobile();
|
|
|
if(StringUtils.isNotBlank(mobile)){
|
|
|
SMSService.sendMsg(mobile,name+"您好!您的家庭医生将于7月31日到期,为了继续给您提供健康服务,请关注“厦门i健康”公众号,回复“续签”,进行家庭医生线上续签。");
|
|
|
if (StringUtils.isNotBlank(mobile)) {
|
|
|
SMSService.sendMsg(mobile, name + "您好!您的家庭医生将于7月31日到期,为了继续给您提供健康服务,请关注“厦门i健康”公众号,回复“续签”,进行家庭医生线上续签。");
|
|
|
patientSetReminFlag(patientCode);
|
|
|
return 2;
|
|
|
}
|
|
@ -1230,28 +1306,28 @@ public class SignWebService extends BaseService {
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
public void patientSetReminFlag(String patient){
|
|
|
String dateKey = DateUtil.dateToStr(new Date(),"yyyyMMdd");
|
|
|
redisTemplate.opsForValue().set("renew:"+dateKey+":"+patient,"1");
|
|
|
public void patientSetReminFlag(String patient) {
|
|
|
String dateKey = DateUtil.dateToStr(new Date(), "yyyyMMdd");
|
|
|
redisTemplate.opsForValue().set("renew:" + dateKey + ":" + patient, "1");
|
|
|
}
|
|
|
|
|
|
//判断用户当前年度是否有已经付费的签约记录
|
|
|
public int checkNowYearSign(String doctor,String patient){
|
|
|
public int checkNowYearSign(String doctor, String patient) {
|
|
|
|
|
|
List<SignFamilyRenew> renews1 = signFamilyRenewDao.findByDoctorAndPatientIsValid(doctor,patient,DateUtil.getNowYear()+"");
|
|
|
if(renews1!=null&&renews1.size()>0){
|
|
|
List<SignFamilyRenew> renews1 = signFamilyRenewDao.findByDoctorAndPatientIsValid(doctor, patient, DateUtil.getNowYear() + "");
|
|
|
if (renews1 != null && renews1.size() > 0) {
|
|
|
return 0;
|
|
|
}
|
|
|
List<SignFamilyRenew> renews2 = signFamilyRenewDao.findByDoctorHealthAndPatientIsValid(doctor,patient,DateUtil.getNowYear()+"");
|
|
|
if(renews2!=null&&renews2.size()>0){
|
|
|
List<SignFamilyRenew> renews2 = signFamilyRenewDao.findByDoctorHealthAndPatientIsValid(doctor, patient, DateUtil.getNowYear() + "");
|
|
|
if (renews2 != null && renews2.size() > 0) {
|
|
|
return 0;
|
|
|
}
|
|
|
List<SignFamily> sign1 = signFamilyDao.findByDoctorAndPatientIsValid(doctor,patient,DateUtil.getNowYear()+"");
|
|
|
if(sign1!=null&&sign1.size()>0){
|
|
|
List<SignFamily> sign1 = signFamilyDao.findByDoctorAndPatientIsValid(doctor, patient, DateUtil.getNowYear() + "");
|
|
|
if (sign1 != null && sign1.size() > 0) {
|
|
|
return 0;
|
|
|
}
|
|
|
List<SignFamily> sign2 = signFamilyDao.findByDoctorHealthAndPatientIsValid(doctor,patient,DateUtil.getNowYear()+"");
|
|
|
if(sign2!=null&&sign2.size()>0){
|
|
|
List<SignFamily> sign2 = signFamilyDao.findByDoctorHealthAndPatientIsValid(doctor, patient, DateUtil.getNowYear() + "");
|
|
|
if (sign2 != null && sign2.size() > 0) {
|
|
|
return 0;
|
|
|
}
|
|
|
return 1;
|
|
@ -1259,10 +1335,11 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
/**
|
|
|
* 设置消息为已读
|
|
|
*
|
|
|
* @param mesId
|
|
|
*/
|
|
|
public void setMessState(Long mesId){
|
|
|
if(mesId!=null&&mesId>0){
|
|
|
public void setMessState(Long mesId) {
|
|
|
if (mesId != null && mesId > 0) {
|
|
|
Message mes = messageDao.findOne(mesId);
|
|
|
mes.setRead(0);//设置已读
|
|
|
mes.setOver("0");//设置消息操作结束
|
|
@ -1271,22 +1348,22 @@ public class SignWebService extends BaseService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public JSONObject getSignInfoOrRenewInfo(String teamCode,String code){
|
|
|
public JSONObject getSignInfoOrRenewInfo(String teamCode, String code) {
|
|
|
|
|
|
//签约或续签参数
|
|
|
String patientCode = null;
|
|
|
Long adminTeamId = null;
|
|
|
String doctorHealth = null;
|
|
|
String doctor =null;
|
|
|
String doctor = null;
|
|
|
//先查找续签表有没有记录
|
|
|
List<SignFamilyRenew> renews = signFamilyRenewDao.findByTeamCodeIsValid(teamCode,code);
|
|
|
List<SignFamilyRenew> renews = signFamilyRenewDao.findByTeamCodeIsValid(teamCode, code);
|
|
|
|
|
|
if(renews==null||renews.size()==0){
|
|
|
if (renews == null || renews.size() == 0) {
|
|
|
//再查找签约表记录
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findByTeamCodeIsValid(teamCode,code);
|
|
|
if(signFamilys==null||signFamilys.size()==0){
|
|
|
List<SignFamily> signFamilys = signFamilyDao.findByTeamCodeIsValid(teamCode, code);
|
|
|
if (signFamilys == null || signFamilys.size() == 0) {
|
|
|
throw new RuntimeException("找不到签约关系!");
|
|
|
}else{
|
|
|
} else {
|
|
|
SignFamily signFamily = signFamilys.get(0);
|
|
|
|
|
|
patientCode = signFamily.getPatient();
|
|
@ -1294,7 +1371,7 @@ public class SignWebService extends BaseService {
|
|
|
doctorHealth = signFamily.getDoctorHealth();
|
|
|
doctor = signFamily.getDoctor();
|
|
|
}
|
|
|
}else{
|
|
|
} else {
|
|
|
SignFamilyRenew renew = renews.get(0);
|
|
|
|
|
|
patientCode = renew.getPatient();
|
|
@ -1312,26 +1389,26 @@ public class SignWebService extends BaseService {
|
|
|
//查找到团队领导
|
|
|
Doctor leader = doctorService.findDoctorByCode(adminTeam.getLeaderCode());
|
|
|
JSONObject leaderObj = this.doctorParse(leader);
|
|
|
resultObject.put("leader",leaderObj);
|
|
|
resultObject.put("leader", leaderObj);
|
|
|
|
|
|
//签约团队的健管师
|
|
|
if(StringUtils.isNotBlank(doctorHealth)){
|
|
|
if (StringUtils.isNotBlank(doctorHealth)) {
|
|
|
Doctor health = doctorService.findDoctorByCode(doctorHealth);
|
|
|
if(health!=null){
|
|
|
if (health != null) {
|
|
|
JSONObject healthObj = this.doctorParse(health);
|
|
|
resultObject.put("doctorHealth",healthObj);
|
|
|
}else{
|
|
|
resultObject.put("doctorHealth","");
|
|
|
resultObject.put("doctorHealth", healthObj);
|
|
|
} else {
|
|
|
resultObject.put("doctorHealth", "");
|
|
|
}
|
|
|
}
|
|
|
//签约团队的全科医生
|
|
|
if(StringUtils.isNotBlank(doctor)){
|
|
|
if (StringUtils.isNotBlank(doctor)) {
|
|
|
Doctor qk = doctorService.findDoctorByCode(doctor);
|
|
|
if(qk!=null){
|
|
|
if (qk != null) {
|
|
|
JSONObject healthObj = this.doctorParse(qk);
|
|
|
resultObject.put("doctor",healthObj);
|
|
|
}else{
|
|
|
resultObject.put("doctor","");
|
|
|
resultObject.put("doctor", healthObj);
|
|
|
} else {
|
|
|
resultObject.put("doctor", "");
|
|
|
}
|
|
|
}
|
|
|
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
|
|
@ -1349,12 +1426,12 @@ public class SignWebService extends BaseService {
|
|
|
|
|
|
StringBuffer countSql = new StringBuffer();
|
|
|
countSql.append(consult_sql).append(" union all ").append(followup_sql).append(" union all ").append(reservation_sql).append(" union all ").append(article_sql).append(" union all ").append(guidance_sql);
|
|
|
List<Map<String, Object>> resultCount = jdbcTemplate.queryForList(countSql.toString(), new Object[]{doctorHealth, patient, year,doctorHealth,doctor,patient,year,doctorHealth,doctor,patient,year,doctorHealth,doctor,patient,year,doctorHealth,doctor,patient,year});
|
|
|
resultObject.put("consultNum",resultCount.get(0).get("count"));
|
|
|
resultObject.put("followupNum",resultCount.get(1).get("count"));
|
|
|
resultObject.put("reservationNum",resultCount.get(2).get("count"));
|
|
|
resultObject.put("articleNum",resultCount.get(3).get("count"));
|
|
|
resultObject.put("guidanceNum",resultCount.get(4).get("count"));
|
|
|
List<Map<String, Object>> resultCount = jdbcTemplate.queryForList(countSql.toString(), new Object[]{doctorHealth, patient, year, doctorHealth, doctor, patient, year, doctorHealth, doctor, patient, year, doctorHealth, doctor, patient, year, doctorHealth, doctor, patient, year});
|
|
|
resultObject.put("consultNum", resultCount.get(0).get("count"));
|
|
|
resultObject.put("followupNum", resultCount.get(1).get("count"));
|
|
|
resultObject.put("reservationNum", resultCount.get(2).get("count"));
|
|
|
resultObject.put("articleNum", resultCount.get(3).get("count"));
|
|
|
resultObject.put("guidanceNum", resultCount.get(4).get("count"));
|
|
|
return resultObject;
|
|
|
}
|
|
|
|