Kaynağa Gözat

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

chenweida 8 yıl önce
ebeveyn
işleme
b653b67857
24 değiştirilmiş dosya ile 408 ekleme ve 137 silme
  1. 6 7
      patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/doctor/profile/Doctor.java
  2. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/discussion/DiscussionGroupDao.java
  3. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/SignFamilyDao.java
  4. 11 11
      patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/SignWebDao.java
  5. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java
  6. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthGuidanceService.java
  7. 79 6
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java
  8. 78 7
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/talk/TalkGroupService.java
  9. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/QrcodeService.java
  10. 26 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/task/PushMsgTask.java
  11. 7 7
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java
  12. 13 13
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java
  13. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java
  14. 81 26
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/discussion/DoctorDiscussionGroupController.java
  15. 25 8
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthEduArticleController.java
  16. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/patient/DoctorPatientGroupController.java
  17. 55 32
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java
  18. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/team/SignTeamController.java
  19. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/account/PatientController.java
  20. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java
  21. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/hosptail/HospitalController.java
  22. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/hosptail/HospitalWithoutFilterController.java
  23. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/FamilyContractController.java
  24. 8 0
      patient-co-wlyy/src/main/resources/system.properties

+ 6 - 7
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/doctor/profile/Doctor.java

@ -41,7 +41,7 @@ public class Doctor extends IdEntity {
    private String townName;
	
	private String hospital;        // 医院代码
	private String hosptialName;
	private String hospitalName;
	private String dept;            // 科室代码
	private String deptName;
	private String job;             // 职称代码
@ -190,14 +190,13 @@ public class Doctor extends IdEntity {
	public void setTownName(String townName) {
		this.townName = townName;
	}
	
	@Column(name = "hospital_name")
	public String getHosptialName() {
		return hosptialName;
	public String getHospitalName() {
		return hospitalName;
	}
	public void setHosptialName(String hosptialName) {
		this.hosptialName = hosptialName;
	public void setHospitalName(String hospitalName) {
		this.hospitalName = hospitalName;
	}
	@Column(name = "dept_name")

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/discussion/DiscussionGroupDao.java

@ -27,7 +27,7 @@ public interface DiscussionGroupDao extends PagingAndSortingRepository<WlyyTalkG
	 * @param consultCode
	 * @return
	 */
	WlyyTalkGroup findByConsultCode(String consultCode);
	List<WlyyTalkGroup> findByCodeAndType(String consultCode,Integer type);
	
	/**
	 * 获取医生对应病人讨论组

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/SignFamilyDao.java

@ -140,7 +140,7 @@ public interface SignFamilyDao extends PagingAndSortingRepository<SignFamily, Lo
	// 查询团队中的全科医生 sf.doctor,sf.doctorName,d.hosptialName,
	//select sf.doctor,sf.doctorName,d.hosptialName,count(*) totalContract from SignFamily sf left join Doctor d on sf.doctor = d.code where sf.doctor = ?1
	@Query("select sf.doctor,sf.doctorName,d.hosptialName,count(sf) from SignFamily sf, Doctor d  where ( sf.doctor is null or sf.doctor = d.code) and sf.doctor = ?1")
	@Query("select sf.doctor,sf.doctorName,d.hospitalName,count(sf) from SignFamily sf, Doctor d  where ( sf.doctor is null or sf.doctor = d.code) and sf.doctor = ?1")
    List<Object> findTeamQkDoctors(String doctor);
	// 待签约 待解决 已签约
	@Query("select a.code,a.doctor,b.code,b.name,b.provinceName,b.cityName,b.townName,b.address,b.photo,a.status,a.id,a.applyDate,a.reason,b.streetName,b.sex from SignFamily a,Patient b,DoctorTeam t,DoctorTeamMember td where a.patient=b.code and a.teamCode=t.code and t.code=td.team and td.memberCode=?1 and td.type=?2 and a.status=?3 order by a.begin desc")

+ 11 - 11
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/SignWebDao.java

@ -52,46 +52,46 @@ public interface SignWebDao extends PagingAndSortingRepository<SignWeb, Long>, J
	SignWeb findSignWebByPatient(String patient);
	// 根据患者Code和查询条件查找签约信息
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id  from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id  from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 ORDER BY a.id desc")
	Page<Object> findSignInfoByPatient(String patient, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (已解约、已拒绝)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (1,5) ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (1,5) ORDER BY a.id desc")
	Page<Object> findCancelledSignInfoByPatient(String patient, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (0) ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (0) ORDER BY a.id desc")
	Page<Object> findToBedSignInfoByPatient(String patient, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (2) ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (2) ORDER BY a.id desc")
	Page<Object> findSignedSignInfoByPatient(String patient, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (3,4) ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (3,4) ORDER BY a.id desc")
	Page<Object> findToCancelSignInfoByPatient(String patient, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id  from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.id<?2 ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id  from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.id<?2 ORDER BY a.id desc")
	Page<Object> findSignInfoByPatient(String patient, long id, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (已解约、已拒绝)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (1,5) and a.id<?2 ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (1,5) and a.id<?2 ORDER BY a.id desc")
	Page<Object> findCancelledSignInfoByPatient(String patient, long id, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (0) and a.id<?2 ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (0) and a.id<?2 ORDER BY a.id desc")
	Page<Object> findToBedSignInfoByPatient(String patient, long id, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (2) and a.id<?2 ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (2) and a.id<?2 ORDER BY a.id desc")
	Page<Object> findSignedSignInfoByPatient(String patient, long id, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (3,4) and a.id<?2 ORDER BY a.id desc")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status,b.photo,a.id from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (3,4) and a.id<?2 ORDER BY a.id desc")
	Page<Object> findToCancelSignInfoByPatient(String patient, long id, Pageable pageRequest);
	// 根据患者Code和查询条件查找签约信息 (待签约)
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hosptialName,b.deptName,b.jobName,a.status from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (2,3,4)")
	@Query("select a.code ,a.user ,b.code ,b.name ,b.hospitalName,b.deptName,b.jobName,a.status from SignWeb a , Doctor b where  a.doctor = b.code and a.user=?1 and a.status in (2,3,4)")
	List<Object> findSignedSignInfoBystatus(String patient);
}

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -492,7 +492,7 @@ public class DoctorInfoService extends BaseService {
                        json.put("photo", doctor.getPhoto());
                        json.put("id", doctor.getId());
                        json.put("hospital", doctor.getHospital());
                        json.put("hosptialName", doctor.getHosptialName());
                        json.put("hosptialName", doctor.getHospitalName());
                        newDoctors.add(json);
                    }
                }
@ -528,7 +528,7 @@ public class DoctorInfoService extends BaseService {
            json.put("photo", doctor.getPhoto());
            json.put("id", doctor.getId());
            json.put("hospital", doctor.getHospital());
            json.put("hosptialName", doctor.getHosptialName());
            json.put("hosptialName", doctor.getHospitalName());
            newDoctors.add(json);
            returnMap.put("doctors", newDoctors);

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthGuidanceService.java

@ -77,7 +77,7 @@ public class PatientHealthGuidanceService extends BaseService {
			json.put("toUser", patient.getCode());
			json.put("id", guidance.getId());
			json.put("date", DateUtil.getStringDate());
			json.put("orgName", doctor.getHosptialName());
			json.put("orgName", doctor.getHospitalName());
			json.put("doctorName", doctor.getName());
			json.put("content", "您好!医生给您发来了一份新的健康指导。");
			json.put("remark", "请点击查看");

+ 79 - 6
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -236,7 +236,7 @@ public class FamilyContractService extends BaseService {
        json.put("sex", d.getSex());
        json.put("job", d.getJob());
        json.put("jobName", d.getJobName());
        json.put("hospital", d.getHosptialName());
        json.put("hospital", d.getHospitalName());
        json.put("dept", d.getDeptName());
        json.put("intro", d.getIntroduce());
        json.put("expertise", d.getExpertise());
@ -404,7 +404,7 @@ public class FamilyContractService extends BaseService {
        sf.setOpenid(openid);
        sf.setPatient(patient);
        sf.setHospital(d.getHospital());
        sf.setHospitalName(d.getHosptialName());
        sf.setHospitalName(d.getHospitalName());
        sf.setSsc(ssc);
        sf.setStatus(0);//0为初始状态
        sf.setType(2);// 设置为家庭签约
@ -536,7 +536,7 @@ public class FamilyContractService extends BaseService {
        sf.setOpenid(p.getOpenid());
        sf.setPatient(patient);
        sf.setHospital(d.getHospital());
        sf.setHospitalName(d.getHosptialName());
        sf.setHospitalName(d.getHospitalName());
        sf.setSsc(p.getSsc());
        sf.setStatus(0);//0为初始状态
        sf.setType(2);// 设置为家庭签约
@ -1478,7 +1478,7 @@ public class FamilyContractService extends BaseService {
                jo.put("sex", doctor.getSex());//医生性别  1男,2女)
                jo.put("name", doctor.getName());//医生名称
                jo.put("photo", doctor.getPhoto());//医生头像
                jo.put("hosptialName", doctor.getHosptialName());//所属机构名称
                jo.put("hosptialName", doctor.getHospitalName());//所属机构名称
                jo.put("level", doctor.getLevel());//医生等级1专科医生,2全科医生,3健康管理师
                jo.put("signType", "1");//签约类别 1是三师 2是家庭
                jo.put("signStatus", signFamily.getStatus());//签约状态 0待签约,1已签约 2待解约
@ -1509,7 +1509,7 @@ public class FamilyContractService extends BaseService {
                jo.put("sex", doctor.getSex());
                jo.put("name", doctor.getName());
                jo.put("photo", doctor.getPhoto());
                jo.put("hosptialName", doctor.getHosptialName());
                jo.put("hosptialName", doctor.getHospitalName());
                jo.put("level", doctor.getLevel());
                jo.put("signType", "2");//三师签约
                jo.put("signStatus", jtSignFamily.getStatus());
@ -1529,7 +1529,7 @@ public class FamilyContractService extends BaseService {
                jo.put("sex", doctorHealth.getSex());
                jo.put("name", doctorHealth.getName());
                jo.put("photo", doctorHealth.getPhoto());
                jo.put("hosptialName", doctorHealth.getHosptialName());
                jo.put("hosptialName", doctorHealth.getHospitalName());
                jo.put("level", doctorHealth.getLevel());
                jo.put("signType", "2");//三师签约
                jo.put("signStatus", jtSignFamily.getStatus());
@ -1888,4 +1888,77 @@ public class FamilyContractService extends BaseService {
        return result;
    }
    /**
     * 查询患者对应医生
     *
     * @param patient
     * @return
     */
    public JSONObject getPatientDoctors(String patient, String doctor) {
        JSONObject result = new JSONObject();
        Map<String, JSONObject> docMap = new HashMap<>();
        SignFamily ssSign = signFamilyDao.findSignByPatient(patient, 1);
        SignFamily jtSign = signFamilyDao.findSignByPatient(patient, 2);
        if (ssSign != null) {
            DoctorTeamMember member = doctorTeamDoctor.findSanshiByTeamAndType(ssSign.getTeamCode(), 1);
            if (member != null) {
                Doctor doc = doctorDao.findByCode(member.getMemberCode());
                JSONObject json = new JSONObject(doc);
                if (json.has("password")) {
                    json.remove("password");
                }
                if (json.has("salt")) {
                    json.remove("salt");
                }
                result.put("dutyDoctor", json);
            } else {
                result.put("dutyDoctor", "");
            }
            List<Doctor> doctors = adminTeamService.getMembers(ssSign.getAdminTeamId());
            if (doctors != null) {
                for (Doctor doc : doctors) {
                    if (doc.getCode().equals(doctor)) {
                        continue;
                    }
                    JSONObject json = new JSONObject(doc);
                    if (json.has("password")) {
                        json.remove("password");
                    }
                    if (json.has("salt")) {
                        json.remove("salt");
                    }
                    docMap.put(doc.getCode(), json);
                }
            }
        }
        if (jtSign != null) {
            List<Doctor> doctors = adminTeamService.getMembers(jtSign.getAdminTeamId());
            if (doctors != null) {
                for (Doctor doc : doctors) {
                    if (doc.getCode().equals(doctor)) {
                        continue;
                    }
                    JSONObject json = new JSONObject(doc);
                    if (json.has("password")) {
                        json.remove("password");
                    }
                    if (json.has("salt")) {
                        json.remove("salt");
                    }
                    docMap.put(doc.getCode(), json);
                }
            }
        }
        if(docMap.size() > 0){
            result.put("teamDoctors",new JSONArray(docMap.values()));
        } else {
            result.put("teamDoctors",new JSONArray());
        }
        return result;
    }
}

+ 78 - 7
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/talk/TalkGroupService.java

@ -118,7 +118,7 @@ public class TalkGroupService extends BaseService {
     * @param patient
     * @param patientName
     */
    public void createConsultTalkGroup(String doctor, String doctorName, String hospitalCode, String hospitalName,
    public JSONObject createConsultTalkGroup(String doctor, String doctorName, String hospitalCode, String hospitalName,
                                       String patient, String patientName, String consult) {
        //讨论组建立
        WlyyTalkGroup talkGroup = new WlyyTalkGroup();
@ -163,6 +163,77 @@ public class TalkGroupService extends BaseService {
        members.add(doctorMember);
        saveTalkGroup(talkGroup, members);
        JSONObject result = new JSONObject(talkGroup);
        result.put("members",result);
        return result;
    }
    /**
     * 查询咨询对应的求组
     *
     * @param consult
     * @return
     */
    public JSONObject getConsultGroup(String consult) {
        JSONObject json = new JSONObject();
        List<WlyyTalkGroup> groups = discussionGroupDao.findByCodeAndType(consult, 2);
        if(groups != null && groups.size() > 0){
            json = new JSONObject(groups.get(0));
            List<WlyyTalkGroupMember> members = discussionGroupMemberDao.findByGroupCode(groups.get(0).getCode());
            if(members != null){
                JSONArray mArray = new JSONArray();
                for(WlyyTalkGroupMember member : members){
                    mArray.put(new JSONObject(member));
                }
                json.put("members",mArray);
            } else {
                json.put("members",new JSONArray());
            }
            return json;
        } else {
            return null;
        }
    }
    /**
     * 查询咨询对应的求助讨论组
     *
     * @param doctor
     * @return
     */
    public JSONArray getCommonDoctors(String doctor) {
        JSONArray result = new JSONArray();
        String sql = "select distinct d.*" +
                " from" +
                " wlyy_talk_group g" +
                " left join" +
                " wlyy_talk_group_member m" +
                " on g.code = m.group_code" +
                " join " +
                " wlyy_doctor d" +
                " on m.member_code = d.code" +
                " where g.creator = ? and g.type = 2 and m.member_code != ? ";
        List<Doctor> doctors = jdbcTemplate.query(sql, new Object[]{doctor, doctor},
                new BeanPropertyRowMapper(Doctor.class));
        for(Doctor doc : doctors){
            JSONObject json = new JSONObject(doc);
            if (json.has("password")) {
                json.remove("password");
            }
            if (json.has("salt")) {
                json.remove("salt");
            }
            result.put(json);
        }
        return result;
    }
    /**
@ -273,11 +344,11 @@ public class TalkGroupService extends BaseService {
     * @throws Exception
     */
    public JSONObject findConsultTalkGroup(String consult) throws Exception {
        WlyyTalkGroup talkGroup = discussionGroupDao.findByConsultCode(consult);
        List<WlyyTalkGroup> talkGroup = discussionGroupDao.findByCodeAndType(consult, 1);
        if (talkGroup != null) {
            JSONObject result = new JSONObject(talkGroup);
            List<WlyyTalkGroupMember> members = discussionGroupMemberDao.findByGroupCode(talkGroup.getCode());
        if (talkGroup != null && talkGroup.size() > 0) {
            JSONObject result = new JSONObject(talkGroup.get(0));
            List<WlyyTalkGroupMember> members = discussionGroupMemberDao.findByGroupCode(talkGroup.get(0).getCode());
            if (members != null) {
                result.put("members", members);
@ -907,7 +978,7 @@ public class TalkGroupService extends BaseService {
                docJson.put("level", doc.getLevel());
                docJson.put("photo", doc.getPhoto());
                docJson.put("hospital", doc.getHospital());
                docJson.put("hospitalName", doc.getHosptialName());
                docJson.put("hospitalName", doc.getHospitalName());
                docArray.put(docJson);
            }
@ -989,7 +1060,7 @@ public class TalkGroupService extends BaseService {
                        docJson.put("level", doc.getLevel());
                        docJson.put("photo", doc.getPhoto());
                        docJson.put("hospital", doc.getHospital());
                        docJson.put("hospitalName", doc.getHosptialName());
                        docJson.put("hospitalName", doc.getHospitalName());
                        mArray.put(docJson);
                    }

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/QrcodeService.java

@ -247,7 +247,7 @@ public class QrcodeService extends BaseService {
        if (doctors != null) {
            for (Doctor doctor : doctors) {
                if (StringUtils.isNotEmpty(hospital)) {
                    zipFileName = doctor.getHosptialName();
                    zipFileName = doctor.getHospitalName();
                }
                // 二维码内容

+ 26 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/task/PushMsgTask.java

@ -175,13 +175,14 @@ public class PushMsgTask {
    /**
     * 发送微信模板消息
     *
     * @param type 1:签约成功  2:签约失败  3:咨询回复通知  4:健康指导提醒  5:解约申请通知  6:预约挂号成功通知  7:预约取消通知 8 缴费提醒
     * @param type 1:签约成功  2:签约失败  3:咨询回复通知  4:健康指导提醒  5:解约申请通知  6:预约挂号成功通知  7:预约取消通知 8 缴费提醒 9 健康教育
     * @param json 当type==1||type==2时:{"first":"消息主题",”doctor":"医生code","doctorName":"医生名","date":"签约时间","content":"签约内容","remark":"消息备注"}
     *             type==3时:{"first":"消息主题","consult":"医生咨询编号","consultcontent":"咨询内容","replycontent":"回复内容","doctorName":"医生名","remark":"消息备注"}
     *             type==4时:{"first":"消息主题","date":"指导时间","orgName":"指导机构","doctorName":"指导医生名","content":"指导内容","remark":"消息备注"}
     *             type==5时:{"first":"消息主题","date":"解约时间",”doctor":"医生code","doctorName":"医生名","orgName":"解约机构","remark":"消息备注"}
     *             type==6时:{"first":"消息主题","date":"预约时间",”id":"预约ID","doctorName":"医生名","orgName":"预约医院","deptName":"预约科室","remark":"消息备注"}
     *             type==7时:{"first":"消息主题","name":"就诊人名","date":"预约时间","doctorName":"医生名","orgName":"预约医院","remark":"消息备注"}
     *             type==9时:{"first":"消息主题","name":"患教标题","doctorName":"医生名","date":"发送时间","remark":"消息备注"}
     * @return
     */
    private boolean sendWeixinMessage(String access_token, int type, String openid, String name, JSONObject json) {
@ -380,6 +381,30 @@ public class PushMsgTask {
                keyword4.setColor("#000000");
                keyword4.setValue(json.getString("content"));
                m.put("remark", keyword4);
            }else if (type == 9) {
                temp.setUrl(url + "jkjy/html/article.html?openid=" + openid + "&dataId=" + json.getString("article"));
                temp_id = SystemConf.getInstance().getSystemProperties().getProperty("template_healthy_article");
                temp.setTemplate_id(temp_id);
                WechatTemplateData keyword1 = new WechatTemplateData();
                keyword1.setColor("#000000");
                keyword1.setValue(json.getString("first"));
                m.put("first", keyword1);
                WechatTemplateData keyword2 = new WechatTemplateData();
                keyword2.setColor("#000000");
                keyword2.setValue(json.getString("title"));
                m.put("keyword1", keyword2);
                WechatTemplateData keyword3 = new WechatTemplateData();
                keyword3.setColor("#000000");
                keyword3.setValue(json.getString("doctorName"));
                m.put("keyword2", keyword3);
                WechatTemplateData keyword4 = new WechatTemplateData();
                keyword4.setColor("#000000");
                keyword4.setValue(json.getString("date"));
                m.put("keyword3", keyword4);
                WechatTemplateData keyword5 = new WechatTemplateData();
                keyword5.setColor("#000000");
                keyword5.setValue(json.getString("remark"));
                m.put("remark", keyword5);
            }
            temp.setData(m);
            ObjectMapper mapper = new ObjectMapper();

+ 7 - 7
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -246,7 +246,7 @@ public class WechatController extends WeixinBaseController {
                case 0:
                    return error(-1, "验证码无效!");
            }
            // 未绑定openid,查询是否绑定其他帐号
            // 未绑定openid,查询是否绑定其他账号
//			if (patientService.countByOpenid(openid) > 0) {
//				return error(-1, "该微信号已绑定其他手机号!");
//			}
@ -350,9 +350,9 @@ public class WechatController extends WeixinBaseController {
                loginLog.setLoginType("2");
                if (patient == null) {
                    if(mobile.length()==11){
                        errorMessage="该手机号暂未注册帐号,请确认后重新输入!";
                        errorMessage="该手机号暂未注册账号,请确认后重新输入!";
                    }else{
                        errorMessage="该身份证号暂未注册帐号,请确认后重新输入!";
                        errorMessage="该身份证号暂未注册账号,请确认后重新输入!";
                    }
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
@ -367,7 +367,7 @@ public class WechatController extends WeixinBaseController {
                    loginLogService.saveLog(loginLog);
                    return error(-1,errorMessage );
                } else if (patient.getStatus() == 2) {
                    errorMessage="该帐号正在审核中,请确认审核通过后再登录,“如有疑问,拨打400-6677-400转2人工客服”";
                    errorMessage="该账号正在审核中,请确认审核通过后再登录,“如有疑问,拨打400-6677-400转2人工客服”";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return error(-1, errorMessage);
@ -439,9 +439,9 @@ public class WechatController extends WeixinBaseController {
                loginLog.setLoginType("1");
                if (patient == null) {
                    if(mobile.length()==11){
                        errorMessage="该手机号暂未注册帐号,请确认后重新输入!";
                        errorMessage="该手机号暂未注册账号,请确认后重新输入!";
                    }else{
                        errorMessage="该身份证号暂未注册帐号,请确认后重新输入!";
                        errorMessage="该身份证号暂未注册账号,请确认后重新输入!";
                    }
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
@ -456,7 +456,7 @@ public class WechatController extends WeixinBaseController {
                    loginLogService.saveLog(loginLog);
                    return error(-1, errorMessage);
                } else if (patient.getStatus() == 2) {
                    errorMessage="该帐号正在审核中,请确认审核通过后再登录,“如有疑问,拨打400-6677-400转2人工客服”";
                    errorMessage="该账号正在审核中,请确认审核通过后再登录,“如有疑问,拨打400-6677-400转2人工客服”";
                    loginLog.setErrorMessage(errorMessage);
                    loginLogService.saveLog(loginLog);
                    return error(-1, errorMessage);

+ 13 - 13
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -160,7 +160,7 @@ public class DoctorController extends BaseController {
                    // 医生姓名
                    json.put("name", doctor.getName());
                    // 所在医院名称
                    json.put("hospital_name", doctor.getHosptialName());
                    json.put("hospital_name", doctor.getHospitalName());
                    // 科室名称
                    json.put("dept_name", StringUtils.isEmpty(doctor.getDeptName()) ? " " : doctor.getDeptName());
                    // 职称名称
@ -262,7 +262,7 @@ public class DoctorController extends BaseController {
                return error(-1, "医院类型错误");
            }
            page = page > 1 ? page - 1 : 0;
            page = page >= 1 ? page - 1 : 0;
            List<Hospital> hos = hospitalService.getHospitals(type, province, city, town, key, page, pagesize);
@ -292,7 +292,7 @@ public class DoctorController extends BaseController {
            if (StringUtils.isEmpty(hospital)) {
                return error(-1, "医院不能为空");
            }
            page = page > 1 ? page - 1 : 0;
            page = page >= 1 ? page - 1 : 0;
            List<HospitalDept> dept = deptService.getHospitalDept(hospital, key, page, pagesize);
            return write(200, "查询成功", "data", dept);
@ -323,7 +323,7 @@ public class DoctorController extends BaseController {
                                          @RequestParam(required = false, defaultValue = "-1") int page,
                                          @RequestParam(required = false, defaultValue = "15") int pagesize) {
        try {
            if (page > 1) {
            if (page >= 1) {
                page = page - 1;
            }
            JSONArray doctors = doctorInfoService.findWorkingDoctorListByDept(dept, hospital, level, key, page, pagesize);
@ -415,7 +415,7 @@ public class DoctorController extends BaseController {
                    json.put("job", doctor.getJob());
                    json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("dept", doctor.getDept());
                    json.put("deptName", doctor.getDeptName());
                    array.put(json);
@ -470,7 +470,7 @@ public class DoctorController extends BaseController {
                    json.put("job", doctor.getJob());
                    json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("dept", doctor.getDept());
                    json.put("deptName", doctor.getDeptName());
                    json.put("expertise", doctor.getExpertise());
@ -564,7 +564,7 @@ public class DoctorController extends BaseController {
                // 设置城市名称
                json.put("cityName", temp.getCityName());
                // 设置医院名称
                json.put("hospitalName", temp.getHosptialName());
                json.put("hospitalName", temp.getHospitalName());
                // 设置部门名称
                json.put("deptName", StringUtils.isNotEmpty(temp.getDeptName()) ? temp.getDeptName() : "");
                // 设置职称
@ -955,7 +955,7 @@ public class DoctorController extends BaseController {
                        json.put("job", doctor.getJob());
                        json.put("jobName", doctor.getJobName());
                        json.put("hospital", doctor.getHospital());
                        json.put("hospitalName", doctor.getHosptialName());
                        json.put("hospitalName", doctor.getHospitalName());
                        json.put("dept", doctor.getDept());
                        json.put("deptName", doctor.getDeptName());
                        array.put(json);
@ -1016,7 +1016,7 @@ public class DoctorController extends BaseController {
                    json.put("job", doctor.getJob());
                    json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("dept", doctor.getDept());
                    json.put("deptName", doctor.getDeptName());
                    array.put(json);
@ -1061,7 +1061,7 @@ public class DoctorController extends BaseController {
                    json.put("code", doctor.getCode());
                    json.put("name", doctor.getName());
                    json.put("photo", CommonUtil.getPhoneUrl(doctor.getPhoto()));
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("deptName", doctor.getDeptName());
                    json.put("jobName", doctor.getJobName());
                    json.put("expertise", doctor.getExpertise());
@ -1126,7 +1126,7 @@ public class DoctorController extends BaseController {
                    json.put("job", doctor.getJob());
                    json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("dept", doctor.getDept());
                    json.put("deptName", doctor.getDeptName());
                    array.put(json);
@ -1181,7 +1181,7 @@ public class DoctorController extends BaseController {
//					json.put("job", doctor.getJob());
//					json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
//					json.put("dept", doctor.getDept());
//					json.put("deptName", doctor.getDeptName());
                    array.put(json);
@ -1245,7 +1245,7 @@ public class DoctorController extends BaseController {
                json.put("photo", doctor.getPhoto());
                json.put("id", doctor.getId());
                json.put("hospital", doctor.getHospital());
                json.put("hosptialName", doctor.getHosptialName());
                json.put("hosptialName", doctor.getHospitalName());
                JSONObject iswork = workTimeService.isDoctorWorking(doctor.getCode());
                if (iswork.getString("status").equals("1")) {

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java

@ -239,7 +239,7 @@ public class DoctorConsultController extends WeixinBaseController {
                    // 所在医院名称
                    json.put("hospital", doctor.getHospital());
                    // 所在医院名称
                    json.put("hospital_name", doctor.getHosptialName());
                    json.put("hospital_name", doctor.getHospitalName());
                    // 科室名称
                    json.put("dept_name", (doctor.getDeptName() == null ||
                            StringUtils.isEmpty(doctor.getDeptName().toString())) ? " " : doctor.getDeptName());

+ 81 - 26
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/discussion/DoctorDiscussionGroupController.java

@ -6,6 +6,7 @@ import com.yihu.wlyy.entity.discussion.WlyyTalkGroup;
import com.yihu.wlyy.entity.discussion.WlyyTalkGroupMember;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.service.common.account.PatientService;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
@ -49,7 +50,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param patientInclude 病人是否加入讨论组
     * @return
     */
    @RequestMapping(value = "/create",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/create", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String createTalkGroup(
            @RequestParam(required = true) String name,
@ -57,6 +58,7 @@ public class DoctorDiscussionGroupController extends BaseController {
            @RequestParam(required = true) String talkDoctor,
            @RequestParam(required = true) String talkDoctorName,
            @RequestParam(required = true) int doctorType,
            @RequestParam(required = false) String consult,
            @RequestParam(required = false) String patient,
            @RequestParam(required = false) String patientName,
            @RequestParam(required = false) String patientInclude) {
@ -96,7 +98,10 @@ public class DoctorDiscussionGroupController extends BaseController {
                talkGroup.setCreator(doctor.getCode());
                talkGroup.setCreatorName(doctor.getName());
                talkGroup.setHospitalCode(doctor.getHospital());
                talkGroup.setHospitalName(doctor.getHosptialName());
                talkGroup.setHospitalName(doctor.getHospitalName());
                if (StringUtils.isNotEmpty(consult)) {
                    talkGroup.setConsultCode(consult);
                }
                talkGroup.setPatient(patient);
                talkGroup.setPatientName(patientName);
                talkGroup.setCzrq(new Date());
@ -183,16 +188,18 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param name           讨论组名称
     * @param type           讨论组类型
     * @param members        讨论组成员 [{"doctor":"xxx","doctorName":"xxx","doctorType":1}]
     * @param consult        咨询code
     * @param patient        患者
     * @param patientName    患者姓名
     * @param patientInclude 患者是否加入
     * @return
     */
    @RequestMapping(value = "/create/members",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/create/members", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String createTalkGroupMany(@RequestParam(required = true) String name,
                                      @RequestParam(required = true) int type,
                                      @RequestParam(required = true) String members,
                                      @RequestParam(required = false) String consult,
                                      @RequestParam(required = false) String patient,
                                      @RequestParam(required = false) String patientName,
                                      @RequestParam(required = false) String patientInclude) {
@ -229,7 +236,10 @@ public class DoctorDiscussionGroupController extends BaseController {
                talkGroup.setCreator(doctor.getCode());
                talkGroup.setCreatorName(doctor.getName());
                talkGroup.setHospitalCode(doctor.getHospital());
                talkGroup.setHospitalName(doctor.getHosptialName());
                talkGroup.setHospitalName(doctor.getHospitalName());
                if (StringUtils.isNotEmpty(consult)) {
                    talkGroup.setConsultCode(consult);
                }
                talkGroup.setPatient(patient);
                talkGroup.setPatientName(patientName);
                talkGroup.setCzrq(new Date());
@ -318,6 +328,42 @@ public class DoctorDiscussionGroupController extends BaseController {
        }
    }
    /**
     * 获取查询对应的求助
     *
     * @param cosnult
     * @return
     */
    @RequestMapping(value = "/group/consult", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getConsultTalkGroup(@RequestParam(required = true) String cosnult) {
        try {
            JSONObject group = talkGroupService.getConsultGroup(cosnult);
            return write(200, "查询成功", "data", group);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
    /**
     * 获取常用医生
     *
     * @return
     */
    @RequestMapping(value = "/common_doctors", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getCommonDoctors() {
        try {
            JSONArray result = talkGroupService.getCommonDoctors(getUID());
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
    /**
     * 添加讨论组成员
     *
@ -328,28 +374,35 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param doctorType 医生类型
     * @return
     */
    @RequestMapping(value = "addmember",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "addmember", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String addTalkMember(
            @RequestParam(required = true) String groupCode,
            @RequestParam(required = true) String groupName,
            @RequestParam(required = false) String groupName,
            @RequestParam(required = true) String doctor,
            @RequestParam(required = true) String doctorName, int doctorType) {
            @RequestParam(required = false) String doctorName,
            @RequestParam(required = false, defaultValue = "0") int doctorType) {
        try {
            WlyyTalkGroup group = talkGroupService.findTalkGroup(groupCode);
            if(group == null){
                return error(-1,"讨论组不存在");
            }
            if (talkGroupService.isMemberExists(groupCode, groupName)) {
                return error(-2, "成员已在该讨论组");
            }
            WlyyTalkGroupMember member = new WlyyTalkGroupMember();
            Doctor doc = doctorService.findDoctorByCode(doctor);
            if(doc == null){
                return error(-1,"添加的医生的信息查询失败");
            }
            member.setGroupCode(groupCode);
            member.setGroupName(groupName);
            member.setGroupName(group.getName());
            member.setMemberCode(doctor);
            member.setMemberName(doctorName);
            member.setMemberName(doc.getName());
            member.setStatus(1);
            member.setCzrq(new Date());
            member.setType(doctorType);
            member.setType(doc.getLevel());
            talkGroupService.saveTalkMember(member);
@ -385,9 +438,11 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param members   讨论组成员[{"doctor":"xxx","doctorName":"xxx","doctorType":1}]
     * @return
     */
    @RequestMapping(value = "/addmembers",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/addmembers", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String addMembers(String groupCode, String groupName, String members) {
    public String addMembers(@RequestParam(required = true)String groupCode,
                             @RequestParam(required = false)String groupName,
                             @RequestParam(required = true)String members) {
        try {
            List<WlyyTalkGroupMember> talkMembers = new ArrayList<>();
            JSONArray membersJArray = new JSONArray(members);
@ -460,7 +515,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param memberCode 讨论组成员标识
     * @return
     */
    @RequestMapping(value = "removemember",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "removemember", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String removeTalkMember(
            @RequestParam(required = true) String groupCode,
@ -480,7 +535,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param members
     * @return
     */
    @RequestMapping(value = "/removemembers",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/removemembers", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String removeMembers(String groupCode, String members) {
        try {
@ -500,7 +555,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "mytalkgroups",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "mytalkgroups", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getMyTalkGroup(
            @RequestParam(required = false) String doctorName,
@ -546,7 +601,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param groups
     * @return
     */
    @RequestMapping(value = "/group_sign",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/group_sign", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getMyTalkGroupSign(String groups) {
        try {
@ -563,7 +618,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "groupmembers",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "groupmembers", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getTalkGroupMembers(@RequestParam(required = true) String groupCode) {
        try {
@ -606,7 +661,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param patient
     * @return
     */
    @RequestMapping(value = "histories",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "histories", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getTalkGroupHistory(@RequestParam(required = true) String patient) {
        try {
@ -623,7 +678,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param member
     * @return
     */
    @RequestMapping(value = "related",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "related", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getTalkGroupRelated(@RequestParam(required = true) String member, @RequestParam(required = false) String groupType) {
        try {
@ -659,7 +714,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "count",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "count", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getMyTalkGroupCount() {
        try {
@ -677,7 +732,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param doctorName
     * @return
     */
    @RequestMapping(value = "/one_to_one_im",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/one_to_one_im", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getOneToOneIm(@RequestParam(required = false) String doctorName
            , @RequestParam(required = false) Integer page
@ -712,7 +767,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param filter 搜索字段
     * @return
     */
    @RequestMapping(value = "/doctor_im_search",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/doctor_im_search", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String imSearch(@RequestParam(required = true) String filter) {
        try {
@ -735,7 +790,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param type 类型: 1居民  2医生
     * @return
     */
    @RequestMapping(value = "/im_list",method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/im_list", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getImList(@RequestParam(required = true) int type,
                            @RequestParam(required = true) int page,
@ -759,7 +814,7 @@ public class DoctorDiscussionGroupController extends BaseController {
     * @param type 类型: 1居民  2医生
     * @return
     */
    @RequestMapping(value = "/recent_im_list" ,method = {RequestMethod.GET, RequestMethod.POST})
    @RequestMapping(value = "/recent_im_list", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getRecentImList(@RequestParam(required = true) int type) {
        try {

+ 25 - 8
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthEduArticleController.java

@ -3,8 +3,11 @@ package com.yihu.wlyy.web.doctor.health;
import java.util.*;
import com.yihu.wlyy.entity.education.*;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.service.app.health.*;
import com.yihu.wlyy.service.app.label.SignPatientLabelInfoService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.web.WeixinBaseController;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.htmlparser.Parser;
@ -37,7 +40,7 @@ import com.yihu.wlyy.web.BaseController;
@Controller
@RequestMapping(value = "/doctor/health/edu", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "健康教育")
public class DoctorHealthEduArticleController extends BaseController {
public class DoctorHealthEduArticleController extends WeixinBaseController {
	@Autowired
	private HealthEduArticleService healthEduArticleService;
@ -57,6 +60,9 @@ public class DoctorHealthEduArticleController extends BaseController {
	@Autowired
	private HealthEduArticleLabelService healthEduArticleLabelService;
	@Autowired
	private PatientService patientService;
	/**
	 * 查询
	 * @param pagesize 分页大小
@ -263,8 +269,11 @@ public class DoctorHealthEduArticleController extends BaseController {
			}
			// 查询医生信息
			Doctor doctor = doctorService.findDoctorByCode(getUID());
			String msgHead = doctor.getName()+"医生给您发来了一篇患教文章";
			String endMsg = "为了您的健康,"+doctor.getName()+"医生给您发送了一篇患教文章,请仔细查阅,如有问题,可随时咨询医生。";
			JSONArray messages = new JSONArray();
			for (String p : patientSet) {
				Patient patientTemp = patientService.findByCode(p);
				for (String a : articles) {
					// 查询文章信息
					HealthEduArticle temp = maps.get(a);
@ -294,14 +303,18 @@ public class DoctorHealthEduArticleController extends BaseController {
					// 设置为示读
					heap.setRead(1);
					list.add(heap);
					if (StringUtils.isNotEmpty(patientTemp.getOpenid())) {
						// 推送消息给微信端
						JSONObject json = new JSONObject();
						json.put("first",msgHead);
						json.put("article",temp.getId()+"");
						json.put("title",temp.getTitle());
						json.put("doctorName",doctor.getName());
						json.put("date", DateUtil.dateToStrLong(DateUtil.getNowDate()));
						json.put("remark", endMsg);
						PushMsgTask.getInstance().putWxMsg(getAccessToken(), 9, patientTemp.getOpenid(), patientTemp.getName(), json);
					}
				}
				
				JSONObject message = new JSONObject();
				message.put("receiver", p);
				message.put("type", MessageType.MESSAGE_TYPE_PATIENT_HEALTH_EDU.P_HE_01.name());
				message.put("title", MessageType.MESSAGE_TYPE_PATIENT_HEALTH_EDU.健康教育.name());
				message.put("msg", MessageType.MESSAGE_TYPE_PATIENT_HEALTH_EDU.您有新的健康教育.name());
				messages.put(message);
			}
			// 保存到数据库
			int row = healthEduArticleService.send(list);
@ -375,6 +388,7 @@ public class DoctorHealthEduArticleController extends BaseController {
	}
	private String parsrHtml(String html) {
		html =("<span>"+html+"</span>");//拼接一个HTML标签,防止纯文字字符串转换在linux下面出现的异常。
		Parser parser = null;
		try{
			parser = new Parser(html);
@ -386,4 +400,7 @@ public class DoctorHealthEduArticleController extends BaseController {
		}
	}
	public static void main(String arg[]){
		System.out.println(MessageType.MESSAGE_TYPE_PATIENT_HEALTH_EDU.P_HE_01.name());
	}
}

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/patient/DoctorPatientGroupController.java

@ -1161,7 +1161,7 @@ public class DoctorPatientGroupController extends BaseController {
                    json.put("code", doctor.getCode());
                    json.put("name", doctor.getName());
                    json.put("photo", CommonUtil.getPhoneUrl(doctor.getPhoto()));
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("deptName", doctor.getDeptName());
                    json.put("jobName", doctor.getJobName());
                    json.put("expertise", doctor.getExpertise());
@ -1195,7 +1195,7 @@ public class DoctorPatientGroupController extends BaseController {
                    json.put("code", doctor.getCode());
                    json.put("name", doctor.getName());
                    json.put("photo", CommonUtil.getPhoneUrl(doctor.getPhoto()));
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("deptName", doctor.getDeptName());
                    json.put("jobName", doctor.getJobName());
                    json.put("expertise", doctor.getExpertise());

+ 55 - 32
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java

@ -246,7 +246,7 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            }
            Doctor cDoctor = doctorService.findDoctorByCode(getUID());
            SignFamily sf = familyContractService.agent(getAccessToken(), name, doctor, doctorName,
                    healthDoctor, healthDoctorName, cDoctor.getHospital(), cDoctor.getHosptialName(),
                    healthDoctor, healthDoctorName, cDoctor.getHospital(), cDoctor.getHospitalName(),
                    idcard, ssc, mobile, emerMobile, images, healthLabel, customLabel, disease, expenses, signDoctorCode, signDoctorName, signDoctorLevel, adminTeamCode);
            if (sf == null) {
@ -768,9 +768,9 @@ public class DoctorFamilyContractController extends WeixinBaseController {
    /**
     * 获取没有健康管理师的患者列表
     *
     * @param doctor   医生code
     * @param page     当前页
     * @param pageSize 每页显示条数
     * @param doctor      医生code
     * @param page        当前页
     * @param pageSize    每页显示条数
     * @param patientName 患者名称
     * @param patientAddr 患者居住地址
     * @return
@ -784,11 +784,11 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            @RequestParam(required = false) String patientName,
            @RequestParam(required = false) String patientAddr) {
        try {
            JSONObject returnJo=new JSONObject();
            JSONObject returnJo = new JSONObject();
            JSONArray array = new JSONArray();
            Map<String,Object> returnMap=familyContractService.findNoHealthSignFamilyHealth(doctor, page, pageSize,patientName,patientAddr);
            Map<String, Object> returnMap = familyContractService.findNoHealthSignFamilyHealth(doctor, page, pageSize, patientName, patientAddr);
            List<Patient> list = (List<Patient>) returnMap.get("returnList");
            Integer count= (Integer) returnMap.get("count");
            Integer count = (Integer) returnMap.get("count");
            if (list != null) {
                for (Patient sf : list) {
                    if (sf == null) {
@ -799,9 +799,9 @@ public class DoctorFamilyContractController extends WeixinBaseController {
                    json.put("code", sf.getCode());//患者code
                    json.put("name", sf.getName());//患者name
                    json.put("address", sf.getAddress());//患者地址
                    if(sf.getLabelInfos()!=null&&sf.getLabelInfos().size()>0){
                        List<String> lablesStirng=new ArrayList<>();
                        for(SignPatientLabelInfo signPatientLabelInfo:sf.getLabelInfos()){
                    if (sf.getLabelInfos() != null && sf.getLabelInfos().size() > 0) {
                        List<String> lablesStirng = new ArrayList<>();
                        for (SignPatientLabelInfo signPatientLabelInfo : sf.getLabelInfos()) {
                            lablesStirng.add(signPatientLabelInfo.getLabelName());
                        }
                        json.put("disease", lablesStirng);//疾病
@ -824,14 +824,15 @@ public class DoctorFamilyContractController extends WeixinBaseController {
                    array.put(json);
                }
            }
            returnJo.put("list",array);
            returnJo.put("count",count);
            returnJo.put("list", array);
            returnJo.put("count", count);
            return write(200, "签约数据加载成功!", "data", returnJo);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
    /**
     * 获取没有健康管理师的签约数据数目
     *
@ -856,6 +857,7 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            return error(-1, "查询失败");
        }
    }
    /**
     * 缴费消息提醒
     *
@ -920,22 +922,22 @@ public class DoctorFamilyContractController extends WeixinBaseController {
     * @param doctor
     * @return
     */
    @RequestMapping(value = "/doctor_patient_sign_exist",method = {RequestMethod.GET,RequestMethod.POST})
    @RequestMapping(value = "/doctor_patient_sign_exist", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String isPatientAndDoctorExistSign(@RequestParam(required = true) String doctor,
                                              @RequestParam(required = true) String patient){
        try{
            if(StringUtils.isEmpty(doctor)){
                return error(-1,"医生不能为空");
                                              @RequestParam(required = true) String patient) {
        try {
            if (StringUtils.isEmpty(doctor)) {
                return error(-1, "医生不能为空");
            }
            if(StringUtils.isEmpty(patient)){
                return error(-1,"居民不能为空");
            if (StringUtils.isEmpty(patient)) {
                return error(-1, "居民不能为空");
            }
            JSONObject result = familyContractService.isPatientAndDoctorExistSign(patient,doctor);
            return write(200,"查询成功","data",result);
        }catch (Exception e){
            JSONObject result = familyContractService.isPatientAndDoctorExistSign(patient, doctor);
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"查询失败");
            return error(-1, "查询失败");
        }
    }
@ -945,22 +947,43 @@ public class DoctorFamilyContractController extends WeixinBaseController {
     * @param doctor
     * @return
     */
    @RequestMapping(value = "/doctor_patient_can_sign",method = {RequestMethod.GET,RequestMethod.POST})
    @RequestMapping(value = "/doctor_patient_can_sign", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String isPatientAndDoctorCanSign(@RequestParam(required = true) String doctor,
                                            @RequestParam(required = true) String patient){
        try{
            if(StringUtils.isEmpty(doctor)){
                return error(-1,"医生不能为空");
                                            @RequestParam(required = true) String patient) {
        try {
            if (StringUtils.isEmpty(doctor)) {
                return error(-1, "医生不能为空");
            }
            if (StringUtils.isEmpty(patient)) {
                return error(-1, "居民不能为空");
            }
            JSONObject result = familyContractService.isPatientAndDoctorCanSign(patient, doctor);
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
    /**
     * 查询患者责任医生、团队医生
     *
     * @param patient 患者
     * @return
     */
    @RequestMapping(value = "/patient_doctors", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getPatientDoctor(@RequestParam String patient) {
        try {
            if(StringUtils.isEmpty(patient)){
                return error(-1,"居民不能为空");
            }
            JSONObject result = familyContractService.isPatientAndDoctorCanSign(patient,doctor);
            return write(200,"查询成功","data",result);
        }catch (Exception e){
            JSONObject result = familyContractService.getPatientDoctors(patient, getUID());
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"查询失败");
            return error(-1, "查询失败");
        }
    }
}

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/team/SignTeamController.java

@ -93,7 +93,7 @@ public class SignTeamController extends BaseController {
                // 设置城市名称
                json.put("cityName", temp.getCityName());
                // 设置医院名称
                json.put("hospitalName", temp.getHosptialName());
                json.put("hospitalName", temp.getHospitalName());
                // 设置部门名称
                json.put("deptName", temp.getDeptName());
                // 设置职称
@ -194,7 +194,7 @@ public class SignTeamController extends BaseController {
            // 医生姓名
            json.put("name", doctor.getName());
            // 所在医院名称
            json.put("hospital_name", doctor.getHosptialName());
            json.put("hospital_name", doctor.getHospitalName());
            // 科室名称
            json.put("dept_name", StringUtils.isEmpty(doctor.getDeptName()) ? " " : doctor.getDeptName());
            // 职称名称

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/account/PatientController.java

@ -383,7 +383,7 @@ public class PatientController extends WeixinBaseController {
                    json.put("code", doctor.getCode());
                    json.put("name", doctor.getName());
                    json.put("photo", CommonUtil.getPhoneUrl(doctor.getPhoto()));
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("deptName", doctor.getDeptName());
                    json.put("jobName", doctor.getJobName());
                    json.put("expertise", doctor.getExpertise());
@ -442,7 +442,7 @@ public class PatientController extends WeixinBaseController {
                // 设置城市名称
                json.put("cityName", temp.getCityName());
                // 设置医院名称
                json.put("hospitalName", temp.getHosptialName());
                json.put("hospitalName", temp.getHospitalName());
                // 设置部门名称
                json.put("deptName", temp.getDeptName());
                // 设置职称

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -308,7 +308,7 @@ public class ConsultController extends WeixinBaseController {
            Doctor doctor = doctorService.findDoctorByCode(consult.getDoctor());
            //创建咨询讨论组
            talkGroupService.createConsultTalkGroup(consult.getDoctor(), doctor.getName(), doctor.getHospital(), doctor.getHosptialName(),
            talkGroupService.createConsultTalkGroup(consult.getDoctor(), doctor.getName(), doctor.getHospital(), doctor.getHospitalName(),
                    consult.getPatient(), consult.getName(), consult.getConsult());
            // 添加到统计队列
@ -435,7 +435,7 @@ public class ConsultController extends WeixinBaseController {
                    // 所在医院名称
                    json.put("hospital", doctor.getHospital());
                    // 所在医院名称
                    json.put("hospital_name", doctor.getHosptialName());
                    json.put("hospital_name", doctor.getHospitalName());
                    // 科室名称
                    json.put("dept_name", (doctor.getDeptName() == null ||
                            StringUtils.isEmpty(doctor.getDeptName().toString())) ? " " : doctor.getDeptName());

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/hosptail/HospitalController.java

@ -193,7 +193,7 @@ public class HospitalController extends BaseController {
                    json.put("job", doctor.getJob());
                    json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("dept", doctor.getDept());
                    json.put("deptName", doctor.getDeptName());
                    array.put(json);

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/hosptail/HospitalWithoutFilterController.java

@ -64,7 +64,7 @@ public class HospitalWithoutFilterController extends BaseController {
                    json.put("job", doctor.getJob());
                    json.put("jobName", doctor.getJobName());
                    json.put("hospital", doctor.getHospital());
                    json.put("hospitalName", doctor.getHosptialName());
                    json.put("hospitalName", doctor.getHospitalName());
                    json.put("dept", doctor.getDept());
                    json.put("deptName", doctor.getDeptName());
                    array.put(json);

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/FamilyContractController.java

@ -153,7 +153,7 @@ public class FamilyContractController extends BaseController {
                    // 医生姓名
                    json.put("name", doctor.getName());
                    // 所在医院名称
                    json.put("hospital_name", doctor.getHosptialName());
                    json.put("hospital_name", doctor.getHospitalName());
                    // 科室名称
                    json.put("dept_name", doctor.getDeptName());
                    // 职称名称
@ -243,7 +243,7 @@ public class FamilyContractController extends BaseController {
            json.put("homepage_sex", homePageDoctor.getSex());
            json.put("homepage_job", homePageDoctor.getJob());
            json.put("homepage_jobName", homePageDoctor.getJobName());
            json.put("homepage_hospital", homePageDoctor.getHosptialName());
            json.put("homepage_hospital", homePageDoctor.getHospitalName());
            json.put("homepage_dept", homePageDoctor.getDeptName());
            json.put("homepage_intro", homePageDoctor.getIntroduce());
            json.put("homepage_expertise", homePageDoctor.getExpertise());

+ 8 - 0
patient-co-wlyy/src/main/resources/system.properties

@ -136,6 +136,10 @@ template_appoint_success=Bo2yqNczSU9zkg4wXoouv9tSeefZ6TziggWL3dTXPYE
template_appoint_failed=pErTBTdweIdrNRf_1Oo62YtQC0aHwPvtLaCzw44JzCQ
#缴费提醒
template_expenses_remind=BkTGJ8S18qZ3DfaptAXnZznAk8RJjx9v93og5vyO0bs
#健康教育
template_healthy_article=LA7erINJ0CSsG2G_ZCrgsDaX3krhsI4qg_NSHEyL_l4
#----------------正式环境-----------------#
@ -157,6 +161,8 @@ template_expenses_remind=BkTGJ8S18qZ3DfaptAXnZznAk8RJjx9v93og5vyO0bs
#template_appoint_failed=tldWEb9AN7p_RoHoD8ml0GxWW3V1V_mpEEhp2v6p56s
##缴费提醒
#template_expenses_remind=tldWEb9AN7p_RoHoD8ml0GxWW3V1V_mpEEhp2v6p56s
##健康教育
#template_healthy_article=a5-ZGf-IUUULsuRNoHWQiBMU6pSYhLgPPqV67SjdLRo
#----------------测试环境(健康之路i厦门)----------------#
##签约邀请
@ -177,6 +183,8 @@ template_expenses_remind=BkTGJ8S18qZ3DfaptAXnZznAk8RJjx9v93og5vyO0bs
#template_appoint_failed=r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
##缴费提醒
#template_expenses_remind=r-bVEKgXVyl8O96saoJXlLd7DX1zW7fXA4a0PZHxiQM
##健康教育
#template_healthy_article=aO_qqk5nAXaGXhsikPVLNelqzwlrp1LTPfIQ1qRMpxo
#----------------演示环境(健康之路i健康)-----------------#
##签约邀请