Explorar el Código

Merge branch 'dev' of lyr/patient-co-management into dev

lyr hace 8 años
padre
commit
97fbaad3a0

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

@ -167,10 +167,10 @@ public class DoctorPatientGroupController extends BaseController {
                            patientJson.put("idcard", idcard);
                            String diseases = redisTemplate.opsForValue().get("disease:" + code.toString());
                            if(!StringUtils.isEmpty(diseases)){
                                patientJson.put("diseases",new JSONArray(diseases));
                            }else{
                                patientJson.put("diseases","");
                            if (!StringUtils.isEmpty(diseases)) {
                                patientJson.put("diseases", new JSONArray(diseases));
                            } else {
                                patientJson.put("diseases", "");
                            }
                            patientsMap.put(code.toString(), patientJson);
@ -208,7 +208,7 @@ public class DoctorPatientGroupController extends BaseController {
    @ResponseBody
    public String patientsByDisease(String type, String patientName) {
        try {
            System.out.println("patients_disease_start:" +new Date());
            System.out.println("patients_disease_start:" + new Date());
            JSONArray array = new JSONArray();
            // 获取医生下的患者
            List<Object> doctorPatients = new ArrayList<>();
@ -283,28 +283,28 @@ public class DoctorPatientGroupController extends BaseController {
                    String diseases = redisTemplate.opsForValue().get("disease:" + code.toString());
                    if(diseases != null){
                    if (diseases != null) {
                        JSONArray dis = new JSONArray(diseases);
                        boolean gxyFlag = false;
                        boolean tnbFlag = false;
                        for(int i = 0; i < dis.length();i ++){
                        for (int i = 0; i < dis.length(); i++) {
                            JSONObject json = dis.getJSONObject(i);
                            if(json != null){
                                if(json.get("disease").toString().equals("1")){
                            if (json != null) {
                                if (json.get("disease").toString().equals("1")) {
                                    gxyFlag = true;
                                }
                                if(json.get("disease").toString().equals("2")){
                                if (json.get("disease").toString().equals("2")) {
                                    tnbFlag = true;
                                }
                            }
                        }
                        if(gxyFlag){
                        if (gxyFlag) {
                            disease = 1;
                        }
                        if(tnbFlag){
                        if (tnbFlag) {
                            disease = 2;
                        }
                        if(gxyFlag && tnbFlag){
                        if (gxyFlag && tnbFlag) {
                            disease = 3;
                        }
                    }
@ -391,10 +391,10 @@ public class DoctorPatientGroupController extends BaseController {
                    patientJson.put("signType", signType);
                    patientJson.put("idcard", idcard);
                    if(!StringUtils.isEmpty(diseases)){
                        patientJson.put("diseases",new JSONArray(diseases));
                    }else{
                        patientJson.put("diseases","");
                    if (!StringUtils.isEmpty(diseases)) {
                        patientJson.put("diseases", new JSONArray(diseases));
                    } else {
                        patientJson.put("diseases", "");
                    }
                    if (group.equals("0")) {
@ -553,10 +553,10 @@ public class DoctorPatientGroupController extends BaseController {
                            patientJson.put("idcard", idcard);
                            String diseases = redisTemplate.opsForValue().get("disease:" + code.toString());
                            if(!StringUtils.isEmpty(diseases)){
                                patientJson.put("diseases",new JSONArray(diseases));
                            }else{
                                patientJson.put("diseases","");
                            if (!StringUtils.isEmpty(diseases)) {
                                patientJson.put("diseases", new JSONArray(diseases));
                            } else {
                                patientJson.put("diseases", "");
                            }
                            patientsMap.put(code.toString(), patientJson);
@ -586,7 +586,7 @@ public class DoctorPatientGroupController extends BaseController {
    /**
     * 患者信息查询接口
     *
     * @param code 患者标识
     * @param code     患者标识
     * @param jyStatus 是否获取解约数据
     * @return
     */
@ -634,52 +634,51 @@ public class DoctorPatientGroupController extends BaseController {
                String diseases = "";
                try {
                    diseases = redisTemplate.opsForValue().get("disease:" + code.toString());
                }catch (Exception e){
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if(!StringUtils.isEmpty(diseases)){
                    json.put("diseases",new JSONArray(diseases));
                }else{
                    json.put("diseases","");
                if (!StringUtils.isEmpty(diseases)) {
                    json.put("diseases", new JSONArray(diseases));
                } else {
                    json.put("diseases", "");
                }
                SignFamily jtSign = null;
                if( "1".equals(jyStatus)){
                if ("1".equals(jyStatus)) {
                    List<SignFamily> ls = signFamilyDao.findLastJySignByPatient(code, 2);
                    jtSign = ls.size()>0? ls.get(0) : null;
                }
                else{
                    jtSign = signFamilyDao.findSignByPatient(code,2);
                    jtSign = ls.size() > 0 ? ls.get(0) : null;
                } else {
                    jtSign = signFamilyDao.findSignByPatient(code, 2);
                }
                SignFamily ssSign = signFamilyDao.findSignByPatient(code,1);
                SignFamily ssSign = signFamilyDao.findSignByPatient(code, 1);
                // 家庭签约
                if(jtSign != null){
                if (jtSign != null) {
                    JSONObject jtJson = new JSONObject();
                    jtJson.put("code",jtSign.getCode());
                    jtJson.put("applyDate",DateUtil.dateToStr(jtSign.getPatientApplyDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
                    jtJson.put("applyUnsignDate",DateUtil.dateToStr(jtSign.getPatientApplyUnsignDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
                    jtJson.put("beginDate",DateUtil.dateToStr(jtSign.getBegin(), DateUtil.YYYY_MM_DD));
                    jtJson.put("endDate",DateUtil.dateToStr(jtSign.getEnd(), DateUtil.YYYY_MM_DD));
                    jtJson.put("expensesType",jtSign.getExpensesType());
                    jtJson.put("expensesStatus",jtSign.getExpensesStatus());
                    jtJson.put("expensesTime",jtSign.getExpensesTime() == null?"":new SimpleDateFormat("yyyy-MM-dd HH:mm").format(jtSign.getExpensesTime()));
                    jtJson.put("code", jtSign.getCode());
                    jtJson.put("applyDate", DateUtil.dateToStr(jtSign.getPatientApplyDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
                    jtJson.put("applyUnsignDate", DateUtil.dateToStr(jtSign.getPatientApplyUnsignDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
                    jtJson.put("beginDate", DateUtil.dateToStr(jtSign.getBegin(), DateUtil.YYYY_MM_DD));
                    jtJson.put("endDate", DateUtil.dateToStr(jtSign.getEnd(), DateUtil.YYYY_MM_DD));
                    jtJson.put("expensesType", jtSign.getExpensesType());
                    jtJson.put("expensesStatus", jtSign.getExpensesStatus());
                    jtJson.put("expensesTime", jtSign.getExpensesTime() == null ? "" : new SimpleDateFormat("yyyy-MM-dd HH:mm").format(jtSign.getExpensesTime()));
                    jtJson.put("jyDate", DateUtil.dateToStr(jtSign.getApplyUnsignDate(), DateUtil.YYYY_MM_DD));
                    jtJson.put("status",jtSign.getStatus());
                    json.put("jtSign",jtJson);
                }else{
                    json.put("jtSign","");
                    jtJson.put("status", jtSign.getStatus());
                    json.put("jtSign", jtJson);
                } else {
                    json.put("jtSign", "");
                }
                // 三师签约
                if(ssSign != null){
                if (ssSign != null) {
                    JSONObject jtJson = new JSONObject();
                    jtJson.put("code",ssSign.getCode());
                    jtJson.put("beginDate",DateUtil.dateToStr(ssSign.getBegin(), DateUtil.YYYY_MM_DD));
                    jtJson.put("endDate",DateUtil.dateToStr(ssSign.getEnd(), DateUtil.YYYY_MM_DD));
                    json.put("ssSign",jtJson);
                }else{
                    json.put("ssSign","");
                    jtJson.put("code", ssSign.getCode());
                    jtJson.put("beginDate", DateUtil.dateToStr(ssSign.getBegin(), DateUtil.YYYY_MM_DD));
                    jtJson.put("endDate", DateUtil.dateToStr(ssSign.getEnd(), DateUtil.YYYY_MM_DD));
                    json.put("ssSign", jtJson);
                } else {
                    json.put("ssSign", "");
                }
                return write(200, "患者信息查询成功!", "data", json);
@ -896,10 +895,10 @@ public class DoctorPatientGroupController extends BaseController {
                            patientJson.put("idcard", idcard);
                            String diseases = redisTemplate.opsForValue().get("disease:" + code.toString());
                            if(!StringUtils.isEmpty(diseases)){
                                patientJson.put("diseases",new JSONArray(diseases));
                            }else{
                                patientJson.put("diseases","");
                            if (!StringUtils.isEmpty(diseases)) {
                                patientJson.put("diseases", new JSONArray(diseases));
                            } else {
                                patientJson.put("diseases", "");
                            }
                            patientsMap.put(code.toString(), patientJson);
@ -1077,10 +1076,10 @@ public class DoctorPatientGroupController extends BaseController {
                                patientJson.put("idcard", idcard);
                                String diseases = redisTemplate.opsForValue().get("disease:" + code.toString());
                                if(!StringUtils.isEmpty(diseases)){
                                    patientJson.put("diseases",new JSONArray(diseases));
                                }else{
                                    patientJson.put("diseases","");
                                if (!StringUtils.isEmpty(diseases)) {
                                    patientJson.put("diseases", new JSONArray(diseases));
                                } else {
                                    patientJson.put("diseases", "");
                                }
                                patients.put(code.toString(), patientJson);
                            }
@ -1224,12 +1223,16 @@ public class DoctorPatientGroupController extends BaseController {
    /**
     * 校验患者手机号是否呗注册
     *
     * @return
     */
    @RequestMapping(value = "checkMobile")
    @ResponseBody
    public String checkMobile(String mobile) {
        try {
            if (StringUtils.isEmpty(mobile)) {
                return error(-1,"手机号不能为空");
            }
            patientInfoService.checkMobile(mobile);
            return write(200, "验证成功");
        } catch (Exception e) {

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

@ -5,6 +5,7 @@ import java.util.*;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.consult.ConsultTeamLog;
import com.yihu.wlyy.entity.discussion.WlyyTalkGroup;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.schedule.WlyyDoctorWorkTime;
import com.yihu.wlyy.entity.doctor.schedule.WlyyDoctorWorkWeek;
@ -575,57 +576,6 @@ public class ConsultController extends WeixinBaseController {
        }
    }
//    /**
//     * 三师咨询追问接口
//     *
//     * @param consult 咨询标识
//     * @param content 追问内容
//     * @param type    追问内容类型:1文字,2图片,3语音
//     * @return
//     */
//    @RequestMapping(value = "append")
//    @ResponseBody
//    public String append(String consult, String content, int type) {
//        try {
//            List<ConsultTeamLog> logs = new ArrayList<ConsultTeamLog>();
//            if (type == 2) {
//                // 图片消息
//                if (StringUtils.isEmpty(content)) {
//                    content = fetchWxImages();
//                }
//                // 将临时图片拷贝到正式存储路径下
//                if (StringUtils.isNotEmpty(content)) {
//                    content = CommonUtil.copyTempImage(content);
//                }
//                if (StringUtils.isEmpty(content)) {
//                    return error(-1, "图片上传失败!");
//                }
//                String[] images = content.split(",");
//                for (String image : images) {
//                    ConsultTeamLog log = new ConsultTeamLog();
//                    log.setConsult(consult);
//                    log.setContent(image);
//                    log.setDel("1");
//                    log.setChatType(type);
//                    log.setType(2);
//                    logs.add(log);
//                }
//            } else {
//                ConsultTeamLog log = new ConsultTeamLog();
//                log.setConsult(consult);
//                log.setContent(content);
//                log.setDel("1");
//                log.setChatType(type);
//                log.setType(1);
//                logs.add(log);
//            }
//            consultTeamService.reply(logs, getUID());
//            return write(200, "追问成功!", "data", content);
//        } catch (Exception e) {
//            error(e);
//            return invalidUserException(e, -1, "追问失败!");
//        }
//    }
    /**
     * 三师咨询追问接口
@ -646,8 +596,8 @@ public class ConsultController extends WeixinBaseController {
                return error(-1, "咨询记录不存在!");
            }
            if(consultModel.getEndMsgId() != null){
                return error(-1,"咨询已结束");
            if (consultModel.getEndMsgId() != null) {
                return error(-1, "咨询已结束");
            }
            String[] arr = null;
@ -695,17 +645,28 @@ public class ConsultController extends WeixinBaseController {
                arr = new String[]{content};
            }
            JSONObject group = talkGroupService.findConsultTalkGroup(consultModel.getConsult());
            int i = 0;
            List<String> failed = new ArrayList<>();
            for (ConsultTeamLog log : logs) {
                String url = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                        + "api/v1/chats/pm";
                        + (group != null ? "api/v1/chats/gm" : "api/v1/chats/pm");
                List<NameValuePair> params = new ArrayList<>();
                params.add(new BasicNameValuePair("from", getUID()));
                params.add(new BasicNameValuePair("to", consultModel.getDoctor()));
                params.add(new BasicNameValuePair("content", log.getContent()));
                params.add(new BasicNameValuePair("contentType", String.valueOf(log.getType())));
                if(group == null) {
                    params.add(new BasicNameValuePair("from", getUID()));
                    params.add(new BasicNameValuePair("to", consultModel.getDoctor()));
                    params.add(new BasicNameValuePair("content", log.getContent()));
                    params.add(new BasicNameValuePair("contentType", String.valueOf(log.getType())));
                } else {
                    params.add(new BasicNameValuePair("from", getUID()));
                    params.add(new BasicNameValuePair("at", ""));
                    params.add(new BasicNameValuePair("group", group.getString("code")));
                    params.add(new BasicNameValuePair("groupType", "2"));
                    params.add(new BasicNameValuePair("content", log.getContent()));
                    params.add(new BasicNameValuePair("contentType", String.valueOf(log.getType())));
                }
                String response = HttpClientUtil.post(url, params, "UTF-8");
@ -721,56 +682,6 @@ public class ConsultController extends WeixinBaseController {
        }
    }
//    /**
//     * 网络咨询咨询日志查询
//     *
//     * @param consult  咨询标识
//     * @param pagesize 每页显示数,默认为10
//     * @return
//     */
//    @RequestMapping(value = "loglist")
//    @ResponseBody
//    public String loglist(String consult, long id, int pagesize) {
//        try {
//            ConsultTeam consultModel = consultTeamService.findByCode(consult);
//            Consult cons =consultTeamService.findConsultByCode(consult);
//            if (consultModel == null) {
//                return error(-1, "咨询记录不存在!");
//            }
//            if (id <= 0) {
//                // 更新患者未读数量为0
//                consultTeamService.clearPatientRead(consult);
//            }
//            // 查询日志列表
//            JSONArray jsonArray = new JSONArray();
//            Page<ConsultTeamLog> list = consultTeamService.findLogByConsult(consult, id, pagesize);
//            if (list != null) {
//                for (ConsultTeamLog log : list) {
//                    if (consult == null) {
//                        continue;
//                    }
//                    JSONObject json = new JSONObject();
//                    json.put("id", log.getId());
//                    // 设置回复医生姓名
//                    json.put("doctorName", log.getDoctorName());
//                    // 设置回复内容
//                    json.put("content", log.getContent());
//                    // 设置咨询或回复时间
//                    json.put("time", DateUtil.dateToStr(log.getCzrq(), DateUtil.YYYY_MM_DD_HH_MM_SS));
//                    // 设置记录类型:1文字,2图片,3语音
//                    json.put("msgType", log.getChatType());
//                    // 设置类型:0患者问,1医生回复,2患者追问,3患者评价
//                    json.put("type", log.getType());
//                    jsonArray.put(json);
//                }
//            }
//            // 返回结果
//            return write(200, "查询成功", "list", jsonArray);
//        } catch (Exception e) {
//            error(e);
//            return invalidUserException(e, -1, "查询失败!");
//        }
//    }
    /**
     * 网络咨询咨询日志查询
@ -797,7 +708,7 @@ public class ConsultController extends WeixinBaseController {
                    + "&message_end_id=" + consultModel.getStartMsgId() + (consultModel.getEndMsgId() != null ? ("&message_start_id=" + consultModel.getEndMsgId()) : ""));
            if (!org.springframework.util.StringUtils.isEmpty(re)) {
                result = new JSONObject(new String(re.getBytes(),"utf-8"));
                result = new JSONObject(new String(re.getBytes(), "utf-8"));
            }
            if (result != null && result.getInt("count") > 0) {
@ -838,7 +749,55 @@ public class ConsultController extends WeixinBaseController {
                }
            }
            JSONObject group = talkGroupService.findConsultTalkGroup(consultModel.getConsult());
            if (group != null) {
                String urlG = SystemConf.getInstance().getSystemProperties().getProperty("im_list_get")
                        + "api/v1/chats/gm";
                String reG = HttpUtil.sendGet(url, "user_id=" + getUID() + "&group_id=" + group.getString("code"));
                JSONObject resultG = null;
                if (!org.springframework.util.StringUtils.isEmpty(re)) {
                    result = new JSONObject(new String(re.getBytes(), "utf-8"));
                }
                if (result != null && result.getInt("count") > 0) {
                    JSONArray list = result.getJSONArray("records");
                    for (int i = 0; i < list.length(); i++) {
                        JSONObject obj = list.getJSONObject(i);
                        if (obj.getInt("contentType") == 5 || obj.getInt("contentType") == 6) {
                            continue;
                        }
                        JSONObject json = new JSONObject();
                        json.put("id", obj.getInt("id"));
                        if (!obj.getString("from").equals(getUID())) {
                            Doctor doc = doctorService.findDoctorByCode(obj.getString("from"));
                            // 设置回复医生姓名
                            json.put("doctorName", doc.getName());
                        } else {
                            Patient p = patientDao.findByCode(obj.getString("from"));
                            // 设置回复医生姓名
                            json.put("doctorName", p.getName());
                        }
                        // 设置回复内容
                        json.put("content", obj.getString("content"));
                        // 设置咨询或回复时间
                        json.put("time", DateUtil.dateToStr(new Date(obj.getLong("timestamp")), DateUtil.YYYY_MM_DD_HH_MM_SS));
                        // 设置记录类型:1文字,2图片,3语音
                        json.put("msgType", obj.getInt("contentType") == 2 ? 2 : 1);
                        // 设置类型:0患者问,1医生回复,2患者追问,3患者评价
                        if (!obj.getString("from").equals(getUID())) {
                            json.put("type", 1);
                        } else {
                            json.put("type", obj.getInt("contentType") == 6 ? 0 : 2);
                        }
                        jsonArray.put(json);
                    }
                }
            }
            // 返回结果
            return write(200, "查询成功", "list", jsonArray);