LAPTOP-KB9HII50\70708 3 éve
szülő
commit
30e063deee

+ 7 - 11
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/family/PatientFamilyMemberService.java

@ -499,24 +499,20 @@ public class PatientFamilyMemberService extends BaseJpaService<BasePatientFamily
                    obj.put("signType", 0);
                    obj.put("signType", 0);
                }
                }
                obj.put("state", "1");//0 :未处理;1:已同意;2:已拒绝
                obj.put("state", "1");//0 :未处理;1:已同意;2:已拒绝
                String archive_type = null;
                Integer onLineFlag =0;
                Integer onLineFlag =0;
                switch (map.get("archive_type").toString()){
                switch (map.get("archive_type").toString()){
                    case "1":
                    case "1":
                        archive_type = "older";//老人
                        //老人
                        if(map.get("openid")!=null||"1".equals(map.get("on_line")+"")){
                            onLineFlag=1;
                        }
                        break;
                        break;
                    case "2":
                    case "2":
                        archive_type = "child";//新生儿
                        break;
                }
                if (StringUtils.isNotBlank(archive_type)){
                    String onLineStr = imUtil.findByUserIdAndType(map.get("id").toString(),archive_type);
                    JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
                    if (200 == oneLineObj.getInteger("status")){
                        if (oneLineObj.getInteger("data")>0){
                        //新生儿
                        if(map.get("openid")!=null){
                            onLineFlag=1;
                            onLineFlag=1;
                        }
                        }
                    }
                        break;
                }
                }
                obj.put("onLineFlag", onLineFlag);
                obj.put("onLineFlag", onLineFlag);
                resultArray.add(obj);
                resultArray.add(obj);

+ 6 - 12
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -67,8 +67,6 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    @Autowired
    @Autowired
    private PatientFamilyMemberService familyMemberService;
    private PatientFamilyMemberService familyMemberService;
    @Autowired
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
    private BaseDoctorHospitalDao doctorHospitalDao;
    @Value("${wechat.id}")
    @Value("${wechat.id}")
    private String wxId;
    private String wxId;
@ -476,8 +474,6 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            size = 3;
            size = 3;
        }
        }
        String online= imUtil.getOnlineListByType(null);
        JSONObject json = JSON.parseObject(online).getJSONObject("data");
        String limit = " limit "+(page-1)*size+","+size;
        String limit = " limit "+(page-1)*size+","+size;
        String filter ="";
        String filter ="";
        if("1".equals(type)||StringUtil.isBlank(type)){
        if("1".equals(type)||StringUtil.isBlank(type)){
@ -503,7 +499,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
                filter = " and a.id not in ('"+orgCodes+"')";
                filter = " and a.id not in ('"+orgCodes+"')";
            }
            }
            List<Map<String,Object>> list = findOld(name,residentialArea,limit,json,filter);
            List<Map<String,Object>> list = findOld(name,residentialArea,limit,filter);
            re.put("old",list);
            re.put("old",list);
            re.put("oldTotal",findOldTotal(name,residentialArea,filter));
            re.put("oldTotal",findOldTotal(name,residentialArea,filter));
        }
        }
@ -576,14 +572,14 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
     * @param name
     * @param name
     * @param residentialArea
     * @param residentialArea
     * @param limit
     * @param limit
     * @param json
     * @return
     * @return
     */
     */
    public List<Map<String,Object>> findOld(String name,String residentialArea,String limit,JSONObject json,String filter1){
    public List<Map<String,Object>> findOld(String name,String residentialArea,String limit,String filter1){
        String sql = "SELECT a.id,a.name,a.photo,a.idcard,CAST(IFNULL(a.birthday,'') AS char ) birthday,a.residential_area residentialArea,a.sex " +
        String sql = "SELECT a.id,a.name,a.photo,a.idcard,CAST(IFNULL(a.birthday,'') AS char ) birthday,a.residential_area residentialArea,a.sex " +
                ", GROUP_CONCAT(DISTINCT d.category_code) deviceFlag,case 1 WHEN openid is not null then 1 " +
                " WHEN a.on_line = '1' then 1 ELSE 0 end as online,IFNULL(sign_status,0) signStatus from base_patient a " +
                ", GROUP_CONCAT(DISTINCT d.category_code) deviceFlag,if(openid is null,0,1) onlineWx,IFNULL(a.on_line,0) onlinePad,IFNULL(sign_status,0) signStatus from base_patient a " +
                " LEFT JOIN wlyy_patient_device d on d.`user`=a.id  WHERE a.archive_type = 1 and a.del = '1' ";
                " LEFT JOIN wlyy_patient_device d on d.`user`=a.id  WHERE a.archive_type = 1 and a.del = '1' ";
        //case 1 WHEN openid is not null then 1 WHEN a.on_line = '1' then 1 ELSE 0 end as online
        if(!StringUtil.isBlank(name)){
        if(!StringUtil.isBlank(name)){
            sql+= " and name like '%"+name+"%' ";
            sql+= " and name like '%"+name+"%' ";
        }
        }
@ -608,8 +604,6 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            Integer lifeCare = jdbcTemplate.queryForObject(sqlLife+filter,Integer.class);
            Integer lifeCare = jdbcTemplate.queryForObject(sqlLife+filter,Integer.class);
            Integer emergency = jdbcTemplate.queryForObject(sqlEmergency+filter,Integer.class);
            Integer emergency = jdbcTemplate.queryForObject(sqlEmergency+filter,Integer.class);
            Integer security = jdbcTemplate.queryForObject(sqlSecurity+filter,Integer.class);
            Integer security = jdbcTemplate.queryForObject(sqlSecurity+filter,Integer.class);
            map.put("onlinePad",json.getJSONObject("olderPad").containsKey(paientId));
            map.put("onlineWx",json.getJSONObject("olderWx").containsKey(paientId));
            map.put("lifeCare",lifeCare);
            map.put("lifeCare",lifeCare);
            map.put("emergency",emergency);
            map.put("emergency",emergency);
            map.put("security",security);
            map.put("security",security);
@ -636,7 +630,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
     * @return
     * @return
     */
     */
    public List<Map<String,Object>> findHelper(String name,String limit,String fileter){
    public List<Map<String,Object>> findHelper(String name,String limit,String fileter){
        String sql = "SELECT a.id,a.name,a.photo,a.sex,if(openid is null,0,1) online from base_doctor a,base_doctor_hospital h" +
        String sql = "SELECT a.id,a.name,a.photo,a.sex,IFNULL(a.on_line,0) online from base_doctor a,base_doctor_hospital h" +
                "  WHERE a.id=h.doctor_code and a.doctor_level = 2 and a.del = '1' and h.del = '1' ";
                "  WHERE a.id=h.doctor_code and a.doctor_level = 2 and a.del = '1' and h.del = '1' ";
        if(!StringUtil.isBlank(name)){
        if(!StringUtil.isBlank(name)){
            sql+= " a.and name like '%"+name+"%' ";
            sql+= " a.and name like '%"+name+"%' ";

+ 10 - 17
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/OnlineContactService.java

@ -58,12 +58,9 @@ public class OnlineContactService extends BaseJpaService<BasePatientDO, BasePati
                helperObj.put("name",zlyList.get(i).get("name"));
                helperObj.put("name",zlyList.get(i).get("name"));
                helperObj.put("photo",zlyList.get(i).get("photo"));
                helperObj.put("photo",zlyList.get(i).get("photo"));
                Integer onLineFlag =0;
                Integer onLineFlag =0;
                String onLineStr = imUtil.findByUserIdAndType(zlyList.get(i).get("id").toString(),"helper");
                JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
                if (200 == oneLineObj.getInteger("status")){
                    if (oneLineObj.getInteger("data")>0){
                        onLineFlag=1;
                    }
                String onLineStr = zlyList.get(i).get("on_line")+"";
                if ("1".equals(onLineStr)){
                    onLineFlag=1;
                }
                }
                helperObj.put("onLineFlag", onLineFlag);
                helperObj.put("onLineFlag", onLineFlag);
                list.add(helperObj);
                list.add(helperObj);
@ -82,24 +79,20 @@ public class OnlineContactService extends BaseJpaService<BasePatientDO, BasePati
                familyObj.put("name",jsList.get(i).get("name"));
                familyObj.put("name",jsList.get(i).get("name"));
                familyObj.put("photo",jsList.get(i).get("photo"));
                familyObj.put("photo",jsList.get(i).get("photo"));
                familyObj.put("familyRelation",jsList.get(i).get("familyRelation"));
                familyObj.put("familyRelation",jsList.get(i).get("familyRelation"));
                String archive_type = null;
                Integer onLineFlag =0;
                Integer onLineFlag =0;
                switch (jsList.get(i).get("archive_type").toString()){
                switch (jsList.get(i).get("archive_type").toString()){
                    case "1":
                    case "1":
                        archive_type = "older";//老人
                        //老人
                        if(jsList.get(i).get("openid")!=null||"1".equals(jsList.get(i).get("on_line")+"")){
                            onLineFlag=1;
                        }
                        break;
                        break;
                    case "2":
                    case "2":
                        archive_type = "child";//新生儿
                        break;
                }
                if (StringUtils.isNotBlank(archive_type)){
                    String onLineStr = imUtil.findByUserIdAndType(jsList.get(i).get("id").toString(),archive_type);
                    JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
                    if (200 == oneLineObj.getInteger("status")){
                        if (oneLineObj.getInteger("data")>0){
                        //新生儿
                        if(jsList.get(i).get("openid")!=null){
                            onLineFlag=1;
                            onLineFlag=1;
                        }
                        }
                    }
                        break;
                }
                }
                familyObj.put("onLineFlag", onLineFlag);
                familyObj.put("onLineFlag", onLineFlag);
                list.add(familyObj);
                list.add(familyObj);

+ 69 - 63
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -8,6 +8,7 @@ import com.yihu.jw.care.vo.NumVo;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.es.util.ElasticsearchUtil;
@ -54,8 +55,6 @@ public class StatisticsService {
    @Autowired
    @Autowired
    private StatisticsUtilService statisticsUtilService;
    private StatisticsUtilService statisticsUtilService;
    @Autowired
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private BasePatientDao patientDao;
    private BasePatientDao patientDao;
    private static final String defalutArea = "330100";
    private static final String defalutArea = "330100";
@ -227,42 +226,45 @@ public class StatisticsService {
        for (BaseLoginLogDO log:loginLogDOs) {
        for (BaseLoginLogDO log:loginLogDOs) {
            JSONObject object = new JSONObject();
            JSONObject object = new JSONObject();
            object.put("patient",log.getUserId());
            object.put("patient",log.getUserId());
            BasePatientDO patient = patientDao.findById(log.getUserId());
            if (patient != null){
                String archive_type = null;
            if("1".equals(log.getLoginType())){
                //user
                object.put("onLineFlag", 0);
                object.put("archiveType","0");
            }else if("2".equals(log.getLoginType())){
                //docotr
                Integer onLineFlag =0;
                Integer onLineFlag =0;
                if (patient.getArchiveType() == null){
                    continue;
                }
                switch (patient.getArchiveType().toString()){
                    case "1":
                        archive_type = "older";//老人
                        break;
                    case "2":
                        archive_type = "child";//新生儿
                        break;
                }
                object.put("archiveType",patient.getArchiveType());
                object.put("residentialArea",patient.getResidentialArea());
                String onLineStr = imUtil.findByUserIdAndType(log.getUserId().toString(),archive_type);
                JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
                if (200 == oneLineObj.getInteger("status")){
                    if (oneLineObj.getInteger("data")>0){
                        onLineFlag=1;
                    }
                BaseDoctorDO doctorDO = doctorDao.findOne(log.getUserId());
                if(doctorDO!=null&&"1".equals(doctorDO.getOnline())){
                    onLineFlag=1;
                }
                }
                object.put("onLineFlag", onLineFlag);
                object.put("onLineFlag", onLineFlag);
            } else {
                Integer onLineFlag =0;
                String onLineStr = imUtil.findByUserIdAndType(log.getUserId().toString(),"helper");
                JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
                if (200 == oneLineObj.getInteger("status")){
                    if (oneLineObj.getInteger("data")>0){
                        onLineFlag=1;
                object.put("archiveType","0");
            }else{
                //居民
                BasePatientDO patient = patientDao.findById(log.getUserId());
                if (patient != null){
                    Integer onLineFlag =0;
                    if (patient.getArchiveType() == null){
                        continue;
                    }
                    }
                    switch (patient.getArchiveType().toString()){
                        case "1":
                            //老人
                            if(StringUtils.isNotBlank(patient.getOpenid())||"1".equals(patient.getOnline())){
                                onLineFlag=1;
                            }
                            break;
                        case "2":
                            //新生儿
                            if(StringUtils.isNotBlank(patient.getOpenid())){
                                onLineFlag=1;
                            }
                            break;
                    }
                    object.put("archiveType",patient.getArchiveType());
                    object.put("residentialArea",patient.getResidentialArea());
                    object.put("onLineFlag", onLineFlag);
                }
                }
                object.put("onLineFlag", onLineFlag);
                object.put("archiveType","0");
            }
            }
            object.put("name",log.getName());
            object.put("name",log.getName());
            object.put("createTime", DateUtil.dateToStrLong(log.getCreateTime()) );
            object.put("createTime", DateUtil.dateToStrLong(log.getCreateTime()) );
@ -419,37 +421,49 @@ public class StatisticsService {
        Integer olderOn = 0;
        Integer olderOn = 0;
        Integer olderWxOn = 0;
        Integer olderWxOn = 0;
        Integer olderPadOn = 0;
        Integer olderPadOn = 0;
        //老人 儿童注册人数
        String pateintFilter = "";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older'  ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        //儿童注册人数
        String childFilter = "";
        String sqlChildtmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older'  ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqlChildtmp);
        if(listtmp.size()>0){
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            orgCodes = orgCodes.replaceAll(",","','");
            pateintFilter = " and id not in ('"+orgCodes+"')";
            childFilter = " and id not in ('"+orgCodes+"')";
        }
        String sqlchild = "SELECT COUNT(*) c,case 1 WHEN openid is not null then 1 WHEN a.on_line = '1' then 1 ELSE 0 end as online from base_patient a WHERE archive_type = 2" +
                " and del='1' "+childFilter+" GROUP BY online";
        List<Map<String,Object>> listChild = jdbcTemplate.queryForList(sqlchild);
        for(Map<String,Object> map:listChild){
            Integer num = Integer.valueOf(map.get("c").toString());
            Integer online = Integer.valueOf(map.get("online").toString());
            if(online == 1){
                childOn += num;
            }else{
                childOff += num;
            }
        }
        //老人
        String oldFilter = "";
        String sqlOldtmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listOldtmp =  jdbcTemplate.queryForList(sqlOldtmp);
        if(listOldtmp.size()>0){
            String orgCodes = String.valueOf(listOldtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            oldFilter = " and a.id not in ('"+orgCodes+"')";
        }
        }
        String sql1 = "SELECT COUNT(*) c,archive_type*1 as archive_type,IFNULL(on_line,0) online from base_patient WHERE archive_type is  not null" +
                " and del='1' "+pateintFilter+" GROUP BY archive_type,on_line";
        String sql1 = "SELECT COUNT(*) c,IFNULL(on_line,0) online from base_patient a WHERE archive_type = 1" +
                " and del='1' "+oldFilter+" GROUP BY on_line";
        List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1);
        List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1);
        for(Map<String,Object> map:list1){
        for(Map<String,Object> map:list1){
            String archive_type = map.get("archive_type").toString();
            Integer num = Integer.valueOf(map.get("c").toString());
            Integer num = Integer.valueOf(map.get("c").toString());
            Integer online = Integer.valueOf(map.get("online").toString());
            Integer online = Integer.valueOf(map.get("online").toString());
            if("1".equals(archive_type)){
                if(online == 1){
                    olderOn += num;
                }else{
                    olderOff += num;
                }
                continue;
            }
            if("2".equals(archive_type)){
                if(online == 1){
                    childOn += num;
                }else{
                    childOff += num;
                }
            if(online == 1){
                olderOn += num;
            }else{
                olderOff += num;
            }
            }
        }
        }
        olderTotal = olderOff+olderOn;
        olderTotal = olderOff+olderOn;
@ -485,12 +499,6 @@ public class StatisticsService {
        teacherTotal = teacherOff+teacherOn;
        teacherTotal = teacherOff+teacherOn;
        //helper 助老员,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板
        //helper 助老员,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板
        String onlineCount = imUtil.getOnlineCountByType("");
        JSONObject jsonObject = JSON.parseObject(onlineCount).getJSONObject("data");
        //olderPad":0,"olderWx":0,"child":0,"teacher":0,"helper":0
        olderWxOn = jsonObject.getInteger("olderWx");
        olderPadOn = jsonObject.getInteger("olderPad");
        result.put("olderTotal",olderTotal);
        result.put("olderTotal",olderTotal);
        result.put("childTotal",childTotal);
        result.put("childTotal",childTotal);
        result.put("helperTotal",helperTotal);
        result.put("helperTotal",helperTotal);
@ -498,8 +506,6 @@ public class StatisticsService {
        result.put("helperOn",helperOn);
        result.put("helperOn",helperOn);
        result.put("teacherOn",teacherOn);
        result.put("teacherOn",teacherOn);
        result.put("childOn",childOn);
        result.put("childOn",childOn);
        result.put("olderWxOn",olderWxOn);
        result.put("olderPadOn",olderPadOn);
        result.put("olderOn",olderOn);
        result.put("olderOn",olderOn);
        result.put("childOff",childOff);
        result.put("childOff",childOff);