|  | @ -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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |