Преглед на файлове

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

zd_123 преди 7 години
родител
ревизия
8bd366c723

+ 1 - 1
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/job/DoctorFeldsherTemplateJob.java

@ -240,7 +240,7 @@ public class DoctorFeldsherTemplateJob implements Job {
        Date today = new Date();
        if (minutes <= 30 && minutes > 0) {
            PatientSchemeList patient = schemeListDao.findPatientBySchemecode(schemecode, (short) type);
            PatientSchemeList patient = schemeListDao.findPatientBySchemecode(schemecode,type);
            String patientCode = patient.getPatientcode();
            String day = formatDay.format(today);

+ 1 - 1
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/job/consult/FinishConsultJob.java

@ -40,7 +40,7 @@ public class FinishConsultJob implements Job {
            sql.append("SELECT s.id session_id, s.name session_name, s.create_date session_create_time, s.last_message_time, ")
            .append("t.id topic_id, t.name topic_name, t.create_time topic_create_time, t.start_message_id ")
            .append("FROM ").append(imDb).append(".sessions s,").append(imDb).append(".wlyy_consults t ")
            .append("WHERE s.id = t.session_id  AND t.end_message_id IS NULL AND s.last_content_type in(1,2,3,4) and s.last_sender_id IN ( ")
            .append("WHERE s.id = t.session_id  AND t.end_message_id IS NULL AND s.last_content_type in(1,2,3,4,15) and s.last_sender_id IN ( ")
            .append("SELECT id FROM ").append(imDb).append(".doctors d where d.id<>t.patient) ")
            .append("AND UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(s.last_message_time) > 24*3600 ")
            .append("ORDER BY t.create_time");

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

@ -23,5 +23,5 @@ public interface PatientSchemeListDao extends PagingAndSortingRepository<Patient
    //根据schemecode查询患者监测方案
    @Query(" select p from PatientSchemeList p where p.schemecode = ?1 and p.type = ?2 ")
    PatientSchemeList findPatientBySchemecode(String schemecode,short type);
    PatientSchemeList findPatientBySchemecode(String schemecode,Integer type);
}

+ 47 - 14
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prenatalInspector/PrenatalInspectorPreCardService.java

@ -27,10 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * Created by yeshijie on 2017/6/6.
@ -106,12 +103,14 @@ public class PrenatalInspectorPreCardService extends BaseService {
        }
        Patient patient = patientDao.findByCode(patientCode);
        try{
            boolean checkFlag = true;//是否查询预建卡接口。有建卡记录且建卡记录有结束妊娠才查询预建卡
            String response = jwMaternalChildService.getEhrMaternalFirstExamRecord(patient.getIdcard(),hospital);
            JSONObject json = JSONObject.parseObject(response);
            JSONArray data = null;
            if(json.getInteger("status")==200){
                data = json.getJSONObject("data").getJSONArray("DATA");
            }
            Map<String,String> map = new HashMap<>();//存储产检号,用于去除预建卡信息中重复记录
            if(data!=null&&data.size()>0){//有建卡信息
                for (int i=0;i<data.size();i++) {
                    JSONObject planJson = new JSONObject();
@ -130,8 +129,9 @@ public class PrenatalInspectorPreCardService extends BaseService {
                    planJson.put("mensesLast",MENSES_LAST);
                    planJson.put("expectedTime",EXPECTED_TIME);
                    Date date = new Date();
                    map.put("PREGNANCY_NO","PREGNANCY_NO");
                    if(StringUtils.isBlank(END_TIME)){
                        checkFlag = checkFlag?false:checkFlag;
                        //未结束妊娠,生成待产检计划
                        List<PrenatalInspectorPlan> plans = prenatalInspectorPlanDao.findByPatient(patientCode);
                        boolean flag = false;
@ -203,18 +203,25 @@ public class PrenatalInspectorPreCardService extends BaseService {
                    }
                    re.add(planJson);
                }
            }else{
                //没有建卡信息,请求预建卡接口
                response = jwMaternalChildService.getEhrMaternalPreFirstExamRecord(patient.getIdcard(),hospital);
                JSONObject preJson = JSONObject.parseObject(response);
            }
            //请求预建卡接口
            if(checkFlag){
                String resp = jwMaternalChildService.getEhrMaternalPreFirstExamRecord(patient.getIdcard(),hospital);
                JSONObject preJson = JSONObject.parseObject(resp);
                JSONArray preData = null;
                if(preJson.getInteger("status")==200){
                    preData = preJson.getJSONObject("data").getJSONArray("DATA");
                    if(preData!=null&&preData.size()>0){
                        JSONArray rep = new JSONArray();
                        for (int i=0;i<preData.size();i++){
                            JSONObject planJson = new JSONObject();
                            JSONObject pregnancy = preData.getJSONObject(i);
                            String PREGNANCY_NO = pregnancy.getString("PREGNANCY_NO");//智业产检号
                            if(map.containsKey(PREGNANCY_NO)){
                                continue;//去重
                            }
                            String END_MANNER = pregnancy.getString("END_MANNER");//妊娠终止方式
                            String END_TIME = pregnancy.getString("END_TIME");//结束妊娠
                            String MENSES_LAST = pregnancy.getString("MENSES_LAST");//末次月经
@ -230,7 +237,6 @@ public class PrenatalInspectorPreCardService extends BaseService {
                            if(plans==null||plans.size()==0){//判断是否已经生成产检记录
                                //预建卡还没产检,有产检就会生成产检记录,建卡接口就会有数据
                                Long days = DateUtil.getDays(dueday,date);
//                                days = days>365?0:days;//老早前的测试数据处理
                                List<PrenatalInspectorPlanLibrary> libraries = prenatalInspectorPlanLibraryDao.findByDays(days);
                                plans = new ArrayList<>();
                                PrenatalInspectorPlan plan = null;
@ -242,10 +248,7 @@ public class PrenatalInspectorPreCardService extends BaseService {
                                    plan.setCzrq(date);
                                    plan.setDel("1");
                                    plan.setCheckItem(library.getCheckItem());
//                                    plan.setInspectionCode(PREGNANCY_NO);//产检号
                                    plan.setInspectionTime(DateUtil.getPrenatalInspectorDate(dueday,-library.getEndDay().intValue()));
//                                    plan.setInspectionEndTime(DateUtil.getPrenatalInspectorDate(lastMenstrualDate,library.getEndDay().intValue()));
//                                    plan.setInspectionStartTime(DateUtil.getPrenatalInspectorDate(dueday,-library.getEndDay().intValue()));
                                    plan.setName(library.getName());
                                    plan.setThisFocus(library.getThisFocus());
                                    plan.setThisNote(library.getThisNote());
@ -268,11 +271,20 @@ public class PrenatalInspectorPreCardService extends BaseService {
                            planJson.put("plans",plans);//待产检列表
                            planJson.put("nextExamDay",nextExamDay);//距离下次产检天数
                            planJson.put("precontractOrgName",null);//产床医院
                            re.add(planJson);
                            rep.add(planJson);
                        }
                        //重新排序
                        if(rep.size()>0&&re.size()>0){
                            for (int i=0;i<re.size();i++){
                                rep.add(re.getJSONObject(i));
                            }
                            return rep;
                        }
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
@ -538,6 +550,27 @@ public class PrenatalInspectorPreCardService extends BaseService {
        if(signFamily==null){
            return "-1";
        }
        //判断是否有预建卡
        try {
            String resp = jwMaternalChildService.getEhrMaternalPreFirstExamRecord(preCard.getIdcard(),signFamily.getHospital());
            JSONObject preJson = JSONObject.parseObject(resp);
            JSONArray preData = null;
            if(preJson.getInteger("status")==200){
                preData = preJson.getJSONObject("data").getJSONArray("DATA");
                if(preData!=null&&preData.size()>0){
                    JSONObject temp = preData.getJSONObject(0);
                    String END_MANNER = temp.getString("END_MANNER");//妊娠终止方式
                    if(StringUtils.isBlank(END_MANNER)){
                        return "-2";
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            return "-3";
        }
        //获取团队长
        Doctor doctor = doctorDao.findByAdminTeamId(signFamily.getAdminTeamId());
        preCard.setDoctor(doctor.getCode());

+ 11 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statistics/StatisticsService.java

@ -4207,6 +4207,17 @@ public class StatisticsService extends BaseService {
        WlyyQuotaResult wlyyQuotaResult = new WlyyQuotaResult();
    
        if(StringUtils.isNoneBlank(lowCode)){
            if("3".equals(lowCode)){
                //老年人
                lowCode = "3";
            }else if("4".equals(lowCode)){
                //高血压
                lowCode = "1";
            }else if("5".equals(lowCode)){
                //糖尿病
                lowCode = "2";
            }else{}
            index = "17";
            wlyyQuotaResult = findOneQuotaResultWithLevelType2(date, Integer.valueOf(level), index, code,lowCode);
        }else{
            wlyyQuotaResult = findOneQuotaResult(date, Integer.valueOf(level), index, code);

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

@ -1,3 +1,4 @@
package com.yihu.wlyy.web.common.account;
import com.yihu.wlyy.entity.login.LoginLog;
@ -399,6 +400,10 @@ public class WechatController extends WeixinBaseController {
                    //判断是否打过标签
                   //if (!(Patient.isWchatTage.yes.getValue() == p.getIsWxtag())) {
                    //清空患者的微信标签
                    if(p.getWxtagid()!=null){
                        weiXinTagUtil.deleteTagWithOpenid(p.getOpenid(),p.getWxtagid());
                    }
                    //给患者打微信标签
                    weiXinTagUtil.addTagWithOpenid(openid, p.getCode(), p.getName());
                    //}
@ -496,8 +501,12 @@ public class WechatController extends WeixinBaseController {
                    loginLogService.saveLog(loginLog);
                    //判断是否打过标签
                    //if (!(Patient.isWchatTage.yes.getValue() == p.getIsWxtag())) {
                        //给患者打微信标签
                        weiXinTagUtil.addTagWithOpenid(openid, p.getCode(), p.getName());
                    //清空患者的微信标签
                    if(p.getWxtagid()!=null){
                        weiXinTagUtil.deleteTagWithOpenid(p.getOpenid(),p.getWxtagid());
                    }
                    //给患者打微信标签
                    weiXinTagUtil.addTagWithOpenid(openid, p.getCode(), p.getName());
                    //}
                    return write(200, "登录成功", "data", map);
                }

+ 4 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prenatalInspector/PrenatalInspectorContoller.java

@ -40,11 +40,14 @@ public class PrenatalInspectorContoller extends BaseController{
            String code = preCardService.addPrenatalInspectorPreCard(preCard,getRepUID());
            if("-1".equals(code)){
                return error(-1,"居民未签约,无法添加预建卡信息");
            }else if("-3".equals(code)){
                return error(-1,"获取预建卡信息失败");
            }else if("-2".equals(code)){
                return error(-1,"已有预建卡信息,请不要重复添加");
            }
            preCardService.saveHealthIndex(preCard,getRepUID());//保存体征数据
            String re = preCardService.uploadPreExam(code);//上传智业
            if(StringUtils.isNotBlank(re)){
                System.out.println("re======"+re);
                return error(-1,re);
            }
            return success("预建卡保存成功!");