浏览代码

眼科版本更改

wangzhinan 1 天之前
父节点
当前提交
1f0ac3219d

+ 221 - 228
business/base-service/src/main/java/com/yihu/jw/hospital/family/service/WlyyFamilyMemberService.java

@ -610,272 +610,265 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
    @Transactional
    public MixEnvelop addFamilyAppoint(String id,String patientId, String familyName, String dictId, String cardType, String idCard, String phoneNum,boolean demo,String medicareType,String medicare,String clinicId,String patientCardId) throws Exception {
        MixEnvelop mixEnvelop = new MixEnvelop();
        try{
            BasePatientMemberDictDO basePatientMemberDictDO = basePatientMemberDictDao.findOne(dictId);
            BasePatientDO basePatientDO = null;
            if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
            /*List<BasePatientDO> listpatients=basePatientDao.findByMobileAndDel(phoneNum,"1");
            if (listpatients!=null&&listpatients.size()>0){
                basePatientDO=listpatients.get(0);
            }*/
                basePatientDO= basePatientDao.findByIdcard(idCard);
            }else {
                basePatientDO= basePatientDao.findByIdcard(idCard);
            }
        BasePatientMemberDictDO basePatientMemberDictDO = basePatientMemberDictDao.findOne(dictId);
        BasePatientDO basePatientDO = null;
        if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
        /*List<BasePatientDO> listpatients=basePatientDao.findByMobileAndDel(phoneNum,"1");
        if (listpatients!=null&&listpatients.size()>0){
            basePatientDO=listpatients.get(0);
        }*/
            basePatientDO= basePatientDao.findByIdcard(idCard);
        }else {
            basePatientDO= basePatientDao.findByIdcard(idCard);
        }
            List<BasePatientDO> list = basePatientDao.findByMobile(phoneNum);
            if ("xm_xzzx_wx".equalsIgnoreCase(wxId)){
                if (list!=null&&list.size()>0&&basePatientDO!=null){
                    if (basePatientDO.getMobile().equalsIgnoreCase(phoneNum)){
        List<BasePatientDO> list = basePatientDao.findByMobile(phoneNum);
        if ("xm_xzzx_wx".equalsIgnoreCase(wxId)){
            if (list!=null&&list.size()>0&&basePatientDO!=null){
                if (basePatientDO.getMobile().equalsIgnoreCase(phoneNum)){
                    }else{
                        mixEnvelop.setStatus(408);
                        mixEnvelop.setMessage("您所添加的家属手机号已被他人占用");
                        return  mixEnvelop;
                    }
                }else if (list!=null&&list.size()>0&&basePatientDO==null){
                    mixEnvelop.setStatus(409);
                }else{
                    mixEnvelop.setStatus(408);
                    mixEnvelop.setMessage("您所添加的家属手机号已被他人占用");
                    return  mixEnvelop;
                } else {
                    if(basePatientDO==null){
                        basePatientDO = new BasePatientDO();
                    }
                    basePatientDO.setMobile(phoneNum);
                }
            }else{
            }else if (list!=null&&list.size()>0&&basePatientDO==null){
                mixEnvelop.setStatus(409);
                mixEnvelop.setMessage("您所添加的家属手机号已被他人占用");
                return  mixEnvelop;
            } else {
                if(basePatientDO==null){
                    basePatientDO = new BasePatientDO();
                }
                basePatientDO.setMobile(phoneNum);
            }
            Map<String,Object> resultMap = new HashMap<>();
            PatientMappingDO patientMappingDO = patientMappingDao.findByIdcard(idCard);
            if(null==patientMappingDO){
                patientMappingDO = new PatientMappingDO();
            }
            WlyyPatientFamilyMemberDO result = new WlyyPatientFamilyMemberDO();
            if (StringUtils.isNotBlank(id)){
                result = wlyyPatientFamilyMemberDao.findOne(id);
                basePatientDO = basePatientDao.findById(result.getFamilyMember());
                patientMappingDO = patientMappingDao.findByPatient(result.getFamilyMember());
        }else{
            if(basePatientDO==null){
                basePatientDO = new BasePatientDO();
            }
        }
        Map<String,Object> resultMap = new HashMap<>();
        PatientMappingDO patientMappingDO = patientMappingDao.findByIdcard(idCard);
        if(null==patientMappingDO){
            patientMappingDO = new PatientMappingDO();
        }
        WlyyPatientFamilyMemberDO result = new WlyyPatientFamilyMemberDO();
        if (StringUtils.isNotBlank(id)){
            result = wlyyPatientFamilyMemberDao.findOne(id);
            basePatientDO = basePatientDao.findById(result.getFamilyMember());
            patientMappingDO = patientMappingDao.findByPatient(result.getFamilyMember());
        }
            String dictName = "";
            if (null!=basePatientMemberDictDO){
                dictName = basePatientMemberDictDO.getRelationName();
        String dictName = "";
        if (null!=basePatientMemberDictDO){
            dictName = basePatientMemberDictDO.getRelationName();
        }
        String familyId="";
        String birth = "";
        String yktFamilyId = "";
        int sex=3;
        //获取his家属数据
        JSONArray jsonArray = new JSONArray();
        if("xm_ykyy_wx".equalsIgnoreCase(wxId)){
            String familySex = IdCardUtil.getSexForIdcard(idCard);
            if (familySex.equalsIgnoreCase("男")){
                familySex= "1";
                sex =1 ;
            }else if (familySex.equalsIgnoreCase("女")){
                familySex = "0";
                sex = 2 ;
            }else {
                familySex = "2";
                sex = 3;
            }
            String familyId="";
            String birth = "";
            String yktFamilyId = "";
            int sex=3;
            //获取his家属数据
            JSONArray jsonArray = new JSONArray();
            if("xm_ykyy_wx".equalsIgnoreCase(wxId)){
                String familySex = IdCardUtil.getSexForIdcard(idCard);
                if (familySex.equalsIgnoreCase("男")){
                    familySex= "1";
                    sex =1 ;
                }else if (familySex.equalsIgnoreCase("女")){
                    familySex = "0";
                    sex = 2 ;
                }else {
                    familySex = "2";
                    sex = 3;
                }
                String familyAge = String.valueOf(IdCardUtil.getAgeForIdcard(idCard));
                BasePatientMemberDictDO basePatientMemberDictDO1 = basePatientMemberDictDao.findOne(dictId);
                String relationName = "";
                if (null!=basePatientMemberDictDO1){
                    relationName=basePatientMemberDictDO1.getRelationName();
                }
                BasePatientDO basePatientDO1  = basePatientDao.findById(patientId);
                SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
                birth = IdCardUtil.getBirthdayForIdcardStr(idCard);
                String res = "";
                //id不为空则为修改家人关系
                if (StringUtils.isNotBlank(id)){
                    if (null!=basePatientDO1){
                        String cardType1 = "";
                        String cardNo = "";
                        if (StringUtils.isNotBlank(medicare)){
                            cardType1="1";
                            cardNo=medicare;
                        }
                        if (StringUtils.isNotBlank(clinicId)){
                            cardType1="2";
                            cardNo=clinicId;
                        }
                        String authorization="";
                        String tokenRes=ykyyPrescriptionService.mobileOnly(basePatientDO1.getMobile());
                        if (StringUtils.isNotBlank(tokenRes)){
                            JSONObject object = JSONObject.parseObject(tokenRes);
                            if (object.getString("code").equalsIgnoreCase("200")){
                                JSONObject object1=object.getJSONObject("data");
                                authorization=object1.getString("accessToken");
                            }
                        }
                        if (!StringUtils.isNotBlank(authorization)){
                            mixEnvelop.setStatus(408);
                            mixEnvelop.setMessage("眼科通token失效");
                            return mixEnvelop;
                        }
                        res = ykyyPrescriptionService.add(result.getYktFamilyId(),familyName,cardType,idCard,phoneNum, dictId,cardType1,cardNo,authorization,patientCardId);
            BasePatientMemberDictDO basePatientMemberDictDO1 = basePatientMemberDictDao.findOne(dictId);
            String relationName = "";
            if (null!=basePatientMemberDictDO1){
                relationName=basePatientMemberDictDO1.getRelationName();
            }
            BasePatientDO basePatientDO1  = basePatientDao.findById(patientId);
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
            birth = IdCardUtil.getBirthdayForIdcardStr(idCard);
            String res = "";
            //id不为空则为修改家人关系
            if (StringUtils.isNotBlank(id)){
                if (null!=basePatientDO1){
                    String cardType1 = "";
                    String cardNo = "";
                    if (StringUtils.isNotBlank(medicare)){
                        cardType1="1";
                        cardNo=medicare;
                    }
                    if (StringUtils.isNotEmpty(res)){
                        JSONObject jsonObject1 = JSONObject.parseObject(res);
                        if ("200".equalsIgnoreCase(jsonObject1.getString("code"))){
                        /*JSONObject jsonObject2 = JSONObject.parseObject(jsonObject1.getString("data"));
                        yktFamilyId = jsonObject2.getString("ID");*/
                        }else {
                            mixEnvelop.setStatus(408);
                            mixEnvelop.setMessage(jsonObject1.getString("msg"));
                            return mixEnvelop;
                    if (StringUtils.isNotBlank(clinicId)){
                        cardType1="2";
                        cardNo=clinicId;
                    }
                    String authorization="";
                    String tokenRes=ykyyPrescriptionService.mobileOnly(basePatientDO1.getMobile());
                    if (StringUtils.isNotBlank(tokenRes)){
                        JSONObject object = JSONObject.parseObject(tokenRes);
                        if (object.getString("code").equalsIgnoreCase("200")){
                            JSONObject object1=object.getJSONObject("data");
                            authorization=object1.getString("accessToken");
                        }
                    }
                    if (!StringUtils.isNotBlank(authorization)){
                        mixEnvelop.setStatus(408);
                        mixEnvelop.setMessage("眼科通token失效");
                        return mixEnvelop;
                    }
                    res = ykyyPrescriptionService.add(result.getYktFamilyId(),familyName,cardType,idCard,phoneNum, dictId,cardType1,cardNo,authorization,patientCardId);
                }
                if (StringUtils.isNotEmpty(res)){
                    JSONObject jsonObject1 = JSONObject.parseObject(res);
                    if ("200".equalsIgnoreCase(jsonObject1.getString("code"))){
                    /*JSONObject jsonObject2 = JSONObject.parseObject(jsonObject1.getString("data"));
                    yktFamilyId = jsonObject2.getString("ID");*/
                    }else {
                        mixEnvelop.setStatus(408);
                        mixEnvelop.setMessage("更新家人关系失败,请核对个人信息.");
                        mixEnvelop.setMessage(jsonObject1.getString("msg"));
                        return mixEnvelop;
                    }
                }else {
                    if (null!=basePatientDO1){
                        String cardType1 = "";
                        String cardNo = "";
                        if (StringUtils.isNotBlank(medicare)){
                            cardType1="1";
                            cardNo=medicare;
                        }
                        if (StringUtils.isNotBlank(clinicId)){
                            cardType1="2";
                            cardNo=clinicId;
                        }
                        String authorization="";
                        String tokenRes=ykyyPrescriptionService.mobileOnly(basePatientDO1.getMobile());
                        if (StringUtils.isNotBlank(tokenRes)){
                            JSONObject object = JSONObject.parseObject(tokenRes);
                            if (object.getString("code").equalsIgnoreCase("200")){
                                JSONObject object1=object.getJSONObject("data");
                                authorization=object1.getString("accessToken");
                            }
                        }
                        if (!StringUtils.isNotBlank(authorization)){
                            mixEnvelop.setStatus(408);
                            mixEnvelop.setMessage("眼科通token失效");
                            return mixEnvelop;
                    mixEnvelop.setStatus(408);
                    mixEnvelop.setMessage("更新家人关系失败,请核对个人信息.");
                    return mixEnvelop;
                }
            }else {
                if (null!=basePatientDO1){
                    String cardType1 = "";
                    String cardNo = "";
                    if (StringUtils.isNotBlank(medicare)){
                        cardType1="1";
                        cardNo=medicare;
                    }
                    if (StringUtils.isNotBlank(clinicId)){
                        cardType1="2";
                        cardNo=clinicId;
                    }
                    String authorization="";
                    String tokenRes=ykyyPrescriptionService.mobileOnly(basePatientDO1.getMobile());
                    if (StringUtils.isNotBlank(tokenRes)){
                        JSONObject object = JSONObject.parseObject(tokenRes);
                        if (object.getString("code").equalsIgnoreCase("200")){
                            JSONObject object1=object.getJSONObject("data");
                            authorization=object1.getString("accessToken");
                        }
                        res = ykyyPrescriptionService.add(null,familyName,cardType,idCard,phoneNum, dictId,cardType1,cardNo,authorization,patientCardId);
                    }
                    if (StringUtils.isNotEmpty(res)){
                        JSONObject jsonObject1 = JSONObject.parseObject(res);
                        if ("200".equalsIgnoreCase(jsonObject1.getString("code"))){
                    if (!StringUtils.isNotBlank(authorization)){
                        mixEnvelop.setStatus(408);
                        mixEnvelop.setMessage("眼科通token失效");
                        return mixEnvelop;
                    }
                    res = ykyyPrescriptionService.add(null,familyName,cardType,idCard,phoneNum, dictId,cardType1,cardNo,authorization,patientCardId);
                }
                if (StringUtils.isNotEmpty(res)){
                    JSONObject jsonObject1 = JSONObject.parseObject(res);
                    if ("200".equalsIgnoreCase(jsonObject1.getString("code"))){
//                            JSONObject jsonObject2 = JSONObject.parseObject(jsonObject1.getString("data"));
//                            yktFamilyId = jsonObject2.getString("ID");
//                            result.setYktFamilyId(yktFamilyId);
                        }else {
                            mixEnvelop.setStatus(408);
                            mixEnvelop.setMessage(jsonObject1.getString("msg"));
                            return mixEnvelop;
                        }
                    }else {
                        mixEnvelop.setStatus(408);
                        mixEnvelop.setMessage("添加家人关系失败,请核对个人信息.");
                        mixEnvelop.setMessage(jsonObject1.getString("msg"));
                        return mixEnvelop;
                    }
                }else {
                    mixEnvelop.setStatus(408);
                    mixEnvelop.setMessage("添加家人关系失败,请核对个人信息.");
                    return mixEnvelop;
                }
                System.out.println("眼科转换后的csny"+birth);
            }
            basePatientDO.setSex(sex);
            if ("xm_xzzx_wx".equalsIgnoreCase(wxId)){
                basePatientDO.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
            }else if("xm_zsyy_wx".equalsIgnoreCase(wxId)||"xm_ykyy_wx".equalsIgnoreCase(wxId)) {
                SimpleDateFormat sf3 = new SimpleDateFormat("yyyy-MM-dd");
                Date saveBirth1 = sf3.parse(birth);
                System.out.println("====="+saveBirth1);
                basePatientDO.setBirthday(saveBirth1);
            }else {
                basePatientDO.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
            }
            result.setFamilyRelation(dictId);
            result.setFamilyRelationName(dictName);
            result.setIsDel(1);
            result.setPatient(patientId);
            result.setCardNo(idCard);
            result.setCardType(cardType);
            result.setMobile(phoneNum);
            //保存到base_patient表
            basePatientDO.setName(familyName);
            basePatientDO.setIdcard(idCard);
            basePatientDO.setRegister("0");
            basePatientDO.setEnabled(1);
            basePatientDO.setDel("1");
            BasePatientDO sucessPatient= basePatientDao.save(basePatientDO);
            String patientNewId= "";
            if (sucessPatient!=null){
                patientNewId=sucessPatient.getId();
            }
            result.setFamilyMember(patientNewId);
            wlyyPatientFamilyMemberDao.save(result);
            if (!"xm_xzzx_wx".equalsIgnoreCase(wxId)){
                if (patientMappingDO!=null){
                    patientMappingDO.setIdcard(idCard);
                    patientMappingDO.setSource("1");
                    patientMappingDO.setPatientName(familyName);
                    patientMappingDO.setMappingCode(familyId);
                    patientMappingDO.setPatient(patientNewId);
                    patientMappingDO.setCreateTime(new Date());
                    patientMappingDao.save(patientMappingDO);
                }
            System.out.println("眼科转换后的csny"+birth);
        }
        basePatientDO.setSex(sex);
        if ("xm_xzzx_wx".equalsIgnoreCase(wxId)){
            basePatientDO.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
        }else if("xm_zsyy_wx".equalsIgnoreCase(wxId)||"xm_ykyy_wx".equalsIgnoreCase(wxId)) {
            SimpleDateFormat sf3 = new SimpleDateFormat("yyyy-MM-dd");
            Date saveBirth1 = sf3.parse(birth);
            System.out.println("====="+saveBirth1);
            basePatientDO.setBirthday(saveBirth1);
        }else {
            basePatientDO.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
        }
        result.setFamilyRelation(dictId);
        result.setFamilyRelationName(dictName);
        result.setIsDel(1);
        result.setPatient(patientId);
        result.setCardNo(idCard);
        result.setCardType(cardType);
        result.setMobile(phoneNum);
        //保存到base_patient表
        basePatientDO.setName(familyName);
        basePatientDO.setIdcard(idCard);
        basePatientDO.setRegister("0");
        basePatientDO.setEnabled(1);
        basePatientDO.setDel("1");
        BasePatientDO sucessPatient= basePatientDao.save(basePatientDO);
        String patientNewId= "";
        if (sucessPatient!=null){
            patientNewId=sucessPatient.getId();
        }
        result.setFamilyMember(patientNewId);
        wlyyPatientFamilyMemberDao.save(result);
        if (!"xm_xzzx_wx".equalsIgnoreCase(wxId)){
            if (patientMappingDO!=null){
                patientMappingDO.setIdcard(idCard);
                patientMappingDO.setSource("1");
                patientMappingDO.setPatientName(familyName);
                patientMappingDO.setMappingCode(familyId);
                patientMappingDO.setPatient(patientNewId);
                patientMappingDO.setCreateTime(new Date());
                patientMappingDao.save(patientMappingDO);
            }
            resultMap.put("patientId",patientId);
            resultMap.put("familyMember",patientNewId);
            resultMap.put("idCard",idCard);
            resultMap.put("phoneNum",phoneNum);
            resultMap.put("relationName",dictName);
            resultMap.put("name",familyName);
            resultMap.put("cardType",cardType);
            List<Map<String,Object>> resultList = new ArrayList();
            resultList.add(resultMap);
            mixEnvelop.setStatus(200);
            mixEnvelop.setMessage("添加成功");
            mixEnvelop.setDetailModelList(resultList);
            if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
                if (StringUtils.isNotBlank(clinicId)){
                    PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByTypeAndPatientCodeAndDel("A_02",sucessPatient.getId(),"1");
                    if (patientMedicareCardDO==null){
                        patientMedicareCardDO = new PatientMedicareCardDO();
                    }
                    patientMedicareCardDO.setCode(clinicId);
                    //patientMedicareCardDO.setType(medicareType);
                    patientMedicareCardDO.setPatientCode(patientNewId);
                    patientMedicareCardDO.setDel("1");
                    patientMedicareCardDO.setParentType("A");
                    patientMedicareCardDO.setType("A_02");
                    basePatientMedicareCardDao.save(patientMedicareCardDO);
        }
        resultMap.put("patientId",patientId);
        resultMap.put("familyMember",patientNewId);
        resultMap.put("idCard",idCard);
        resultMap.put("phoneNum",phoneNum);
        resultMap.put("relationName",dictName);
        resultMap.put("name",familyName);
        resultMap.put("cardType",cardType);
        List<Map<String,Object>> resultList = new ArrayList();
        resultList.add(resultMap);
        mixEnvelop.setStatus(200);
        mixEnvelop.setMessage("添加成功");
        mixEnvelop.setDetailModelList(resultList);
        if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
            if (StringUtils.isNotBlank(clinicId)){
                PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByTypeAndPatientCodeAndDel("A_02",sucessPatient.getId(),"1");
                if (patientMedicareCardDO==null){
                    patientMedicareCardDO = new PatientMedicareCardDO();
                }
                if (StringUtils.isNotBlank(medicare)){
                    //PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByCode(medicare);
                    PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByTypeAndPatientCodeAndDel("A_01",sucessPatient.getId(),"1");
                    if (patientMedicareCardDO==null){
                        patientMedicareCardDO = new PatientMedicareCardDO();
                    }
                    patientMedicareCardDO.setCode(medicare);
                    //patientMedicareCardDO.setType(medicareType);
                    patientMedicareCardDO.setPatientCode(patientNewId);
                    patientMedicareCardDO.setDel("1");
                    patientMedicareCardDO.setParentType("A");
                    patientMedicareCardDO.setType("A_01");
                    basePatientMedicareCardDao.save(patientMedicareCardDO);
                patientMedicareCardDO.setCode(clinicId);
                //patientMedicareCardDO.setType(medicareType);
                patientMedicareCardDO.setPatientCode(patientNewId);
                patientMedicareCardDO.setDel("1");
                patientMedicareCardDO.setParentType("A");
                patientMedicareCardDO.setType("A_02");
                basePatientMedicareCardDao.save(patientMedicareCardDO);
            }
            if (StringUtils.isNotBlank(medicare)){
                //PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByCode(medicare);
                PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByTypeAndPatientCodeAndDel("A_01",sucessPatient.getId(),"1");
                if (patientMedicareCardDO==null){
                    patientMedicareCardDO = new PatientMedicareCardDO();
                }
                patientMedicareCardDO.setCode(medicare);
                //patientMedicareCardDO.setType(medicareType);
                patientMedicareCardDO.setPatientCode(patientNewId);
                patientMedicareCardDO.setDel("1");
                patientMedicareCardDO.setParentType("A");
                patientMedicareCardDO.setType("A_01");
                basePatientMedicareCardDao.save(patientMedicareCardDO);
            }
        }catch (Exception e){
            e.printStackTrace();
            mixEnvelop.setStatus(408);
            mixEnvelop.setMessage("添加失败");
        }
        return mixEnvelop;
    }
    //眼科同步家人信息

+ 11 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/YkyyPrescriptionService.java

@ -2014,6 +2014,17 @@ public class YkyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
                        orgDO.setType(obj.getString("type"));
                        orgDO.setLatitude(obj.getString("lat"));
                        orgDO.setLongitude(obj.getString("lon"));
                        JSONArray hospitalList = obj.getJSONArray("schoolOrgIdList");
                        StringBuffer hospitalIds= new StringBuffer();
                        String ids = "";
                        for (int j=0;j<hospitalList.size();j++){
                            String id = hospitalList.getString(j);
                            hospitalIds.append(id+",");
                        }
                        if (hospitalIds!=null&&hospitalList.size()!=0){
                            ids = hospitalIds.substring(0,hospitalIds.length()-1);
                        }
                        orgDO.setHisId(ids);
                        orgDao.save(orgDO);
                    }
                }

+ 8 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java

@ -1082,9 +1082,9 @@ public class YkyyEntranceService {
                    rs2 = JSON.parseObject(content2);
                }
                Integer status2 = rs2.getInteger("status");
                if(status2!=null&&status2 == 200){
                if(status2!=null&&status2 == 200) {
                    JSONArray array2 = rs2.getJSONArray("detailModelList");
                    for (int i=0;i<array2.size();i++){
                    for (int i = 0; i < array2.size(); i++) {
                        JSONObject object2 = array2.getJSONObject(i);
                        WlyyPrescriptionDiagnosisVO diagnosisVO = new WlyyPrescriptionDiagnosisVO();
                        diagnosisVO.setCode(object2.getString("icd"));
@ -1093,7 +1093,13 @@ public class YkyyEntranceService {
                    }
                }
                wlyyPrescriptionVO.setDiagnosisVOs(diagnosisVOS);
                WlyyPrescriptionDO wlyyPrescriptionDO= prescriptionDao.findByRealOrder(wlyyPrescriptionVO.getRealOrder());
                if (wlyyPrescriptionDO!=null){
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO=prescriptionEmrDao.findEmrByPrescriptionId(wlyyPrescriptionDO.getId());
                    wlyyPrescriptionVO.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO);
                }
                wlyyPrescriptionVOList.add(wlyyPrescriptionVO);
            }
        }
        return wlyyPrescriptionVOList;

+ 19 - 0
business/base-service/src/main/java/com/yihu/jw/org/service/BaseOrgInfoService.java

@ -6,6 +6,7 @@ import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import java.util.Date;
@ -16,6 +17,12 @@ public class BaseOrgInfoService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
    @Autowired
    private BaseOrgDao baseOrgDao;
    public List<BaseOrgDO> selectByHisId(String hisId){
        String orgSql = "SELECT * FROM \"BASE_ORG\" where HIS_ID like '%"+hisId+"%' and DEL=1";
        List<BaseOrgDO> orgDOList = jdbcTemplate.query(orgSql,new BeanPropertyRowMapper(BaseOrgDO.class));
        return orgDOList;
    }
    // 基于市,获取医院列表信息
    public List<BaseOrgDO> getOrgByCity(String cityCode,Integer level) {
        if(level!=null){
@ -24,6 +31,18 @@ public class BaseOrgInfoService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
        return baseOrgDao.findByCityCode(cityCode);
    }
    // 基于市,获取医院列表信息
    public List<BaseOrgDO> getOrgByCityAndFlag(String cityCode,Integer flag) {
        String sql = "select * from base_org where 1=1 and del=1  ";
        if (flag==1){
            sql +=" and CITY_CODE='"+cityCode+"' ";
        }else {
            sql +=" and (CITY_CODE !='"+cityCode+"' or city_code is null) ";
        }
        List<BaseOrgDO> orgDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseOrgDO.class));
        return orgDOList;
    }
    public BaseOrgDO getBaseOrgByCode(String orgCode){
        return baseOrgDao.findByCode(orgCode);
    }

+ 42 - 32
business/base-service/src/main/java/com/yihu/jw/utils/SignGenerator.java

@ -2,6 +2,7 @@ package com.yihu.jw.utils;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.utils.security.MD5;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.util.StringUtils;
@ -13,39 +14,48 @@ public class SignGenerator {
    private static final String SECRET_KEY = "hXe$2Na9hA";
    public static void main(String[] args) {
        Map<String, Object> params3 = new HashMap<>();
        params3.put("mobile", "17602157210");
        params3.put("userName", "王志南");
        params3.put("idType", "1");
        params3.put("idNo", "350524199405230613");
        requestYkt(params3,"https://huaxia.yanketong.com/api/ext/ykt/open/account/register");
        Map<String, Object> params1 = new HashMap<>();
        params1.put("mobile", "17602157210");
        params1.put("scene", "EXT_LOGIN");
        requestYkt(params1,"https://huaxia.yanketong.com/api/ext/ykt/open/sms/code/send");
        Map<String, Object> params2 = new HashMap<>();
        params2.put("mobile", "17602157210");
        params2.put("code", "666666");
        String res = requestYkt(params2,"https://huaxia.yanketong.com/api/ext/ykt/open/account/login/mobile");
        JSONObject resObj = JSONObject.parseObject(res);
        if (resObj.getString("code").equalsIgnoreCase("200")){
            JSONObject data = resObj.getJSONObject("data");
            Map<String, Object> params = new HashMap<>();
            Map<String, String> header = new HashMap<>();
            header.put("Authorization","Bearer "+data.getString("accessToken"));
            System.out.println("accessToken"+header);
//            Map<String, Object> params4 = new HashMap<>();
//            params4.put("cardType", 1);
//            params4.put("cardNo", "DD2781527");
//            params4.put("userName", "王志南");
//            params4.put("idType", 1);
//            params4.put("idNo", "350524199405230613");
//            params4.put("mobile", "17602157210");
//            params4.put("relationship", "SELF");
//            requestYktAndHeader(params4,header,"https://huaxia.yanketong.com/api/ext/ykt/patient/add");
            requestYktAndHeaderGet(params,header,"https://huaxia.yanketong.com/api/ext/ykt/account/info");
        }
        String response="";
        String mobile="13666067371";
        String key="HXYKT123!@#";
        long timespan = System.currentTimeMillis();
        String sceret = MD5.md5Hex(mobile+timespan+key);
        String url="http://www.yanketong.com:133/api/doctor/get_doctor_pwd_by_tel?tel="+mobile+"&timespan="+timespan+"&token="+sceret;
        System.out.println(""+url);
//        Map<String, Object> params3 = new HashMap<>();
//        params3.put("mobile", "17602157210");
//        params3.put("userName", "王志南");
//        params3.put("idType", "1");
//        params3.put("idNo", "350524199405230613");
//        requestYkt(params3,"https://huaxia.yanketong.com/api/ext/ykt/open/account/register");
//        Map<String, Object> params1 = new HashMap<>();
//        params1.put("mobile", "17602157210");
//        params1.put("scene", "EXT_LOGIN");
//        requestYkt(params1,"https://huaxia.yanketong.com/api/ext/ykt/open/sms/code/send");
//        Map<String, Object> params2 = new HashMap<>();
//        params2.put("mobile", "17602157210");
//        params2.put("code", "666666");
//        String res = requestYkt(params2,"https://huaxia.yanketong.com/api/ext/ykt/open/account/login/mobile");
//        JSONObject resObj = JSONObject.parseObject(res);
//        if (resObj.getString("code").equalsIgnoreCase("200")){
//            JSONObject data = resObj.getJSONObject("data");
//            Map<String, Object> params = new HashMap<>();
//            Map<String, String> header = new HashMap<>();
//            header.put("Authorization","Bearer "+data.getString("accessToken"));
//            System.out.println("accessToken"+header);
////            Map<String, Object> params4 = new HashMap<>();
////            params4.put("cardType", 1);
////            params4.put("cardNo", "DD2781527");
////            params4.put("userName", "王志南");
////            params4.put("idType", 1);
////            params4.put("idNo", "350524199405230613");
////            params4.put("mobile", "17602157210");
////            params4.put("relationship", "SELF");
////            requestYktAndHeader(params4,header,"https://huaxia.yanketong.com/api/ext/ykt/patient/add");
//            requestYktAndHeaderGet(params,header,"https://huaxia.yanketong.com/api/ext/ykt/account/info");
//
//        }
//
//        Map<String, Object> params3 = new HashMap<>();
//        requestYkt(params3,"https://huaxia.yanketong.com/api/ext/ykt/open/hosp/list");

+ 8 - 2
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -4061,7 +4061,7 @@ public class ImService {
     * @return
     */
    @Transactional(readOnly = true)
    public List<Map<String, Object>> findConsultRecordByDoctorNew(String doctor, String id,
    public List<Map<String, Object>> findConsultRecordByDoctorNew(String hospital,String doctor, String id,
                                                                  String type, Integer status,
                                                                  int page, int pagesize,
                                                                  String title, String start_time, String end_time, String patient) {
@ -4119,6 +4119,9 @@ public class ImService {
                " LEFT join wlyy_consult_team b on a.id = b.consult" +
                " LEFT JOIN base_patient d on op.patient = d.id " +
                " WHERE 1=1 ";
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(hospital)){
            sql += " and op.hospital ='"+hospital+"' ";
        }
        if (status == 1) {
            sql += " and op.status = 0 and op.pay_status =1 ";
        } else if (status == 0) {
@ -4283,7 +4286,7 @@ public class ImService {
     *
     * @return
     */
    public Long countConsultRecordByDoctor2(String doctor, String id, String type, Integer status, String title, String start_time, String end_time) {
    public Long countConsultRecordByDoctor2(String hospital,String doctor, String id, String type, Integer status, String title, String start_time, String end_time) {
        String sql = "";
        sql = "SELECT " +
                " COUNT(1) AS \"total\" " +
@ -4291,6 +4294,9 @@ public class ImService {
                " LEFT join wlyy_consult_team b on a.id = b.consult" +
                " LEFT JOIN base_patient d on op.patient = d.id " +
                " WHERE 1=1 ";
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(hospital)){
            sql += " and op.hospital = '"+hospital+"' ";
        }
        if (status == 1) {
            sql += " and op.status = 0";
        } else if (status == 0) {

+ 1 - 1
common/common-util/src/main/java/com/yihu/jw/util/http/HttpClientUtil.java

@ -165,7 +165,7 @@ public class HttpClientUtil {
     * @param chatSet 编码格式
     * @return
     */
    public   String get(String url, String chatSet) {
    public static String get(String url, String chatSet) {
        CloseableHttpClient httpclient = HttpClients.createDefault();
        try {
            // 创建httpget.

+ 2 - 2
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyYkyyEndpoint.java

@ -494,7 +494,7 @@ public class WlyyYkyyEndpoint extends AbstractEndpoint {
                    familyMemberDO.setCardType("1");
                    familyMemberDO.setFamilyRelation("OTHER");
                    familyMemberDao.save(familyMemberDO);
                    ykyyService.add(patientName,"1",idcard,basePatientDO.getMobile(),"OTHER","","",basePatientDO.getVerifyCode());
                    ykyyService.add(patientName,"1",idcard,basePatientDO.getMobile(),"OTHER","","",verifyCode);
                }
            }
@ -645,7 +645,7 @@ public class WlyyYkyyEndpoint extends AbstractEndpoint {
                    familyMemberDO.setCardType("1");
                    familyMemberDO.setFamilyRelation("OTHER");
                    familyMemberDao.save(familyMemberDO);
                    ykyyService.add(patientName,"1",idcard,basePatientDO.getMobile(),"OTHER","","",basePatientDO.getVerifyCode());
                    ykyyService.add(patientName,"1",idcard,basePatientDO.getMobile(),"OTHER","","",verifyCode);
                }
            }
        }

+ 4 - 2
server/svr-authentication/src/main/java/com/yihu/jw/security/utils/SignGenerator.java

@ -42,7 +42,7 @@ public class SignGenerator {
//
        String url = "https://huaxia.yanketong.com/api/ext/ykt/open/account/login/mobile-only";
        Map<String, Object> params1 = new HashMap<>();
        params1.put("mobile", "13860196295");
        params1.put("mobile", "17602157210");
        String res = requestYkt(params1,url);
        JSONObject resObj = JSONObject.parseObject(res);
        if (resObj.getString("code").equalsIgnoreCase("200")){
@ -106,7 +106,9 @@ public class SignGenerator {
        StringBuilder sb = new StringBuilder();
        for (String key : keys) {
            String value ="";
            if (key.equalsIgnoreCase("userName")){
            if (key.equalsIgnoreCase("userName")||key.equalsIgnoreCase("eventName")||key.equalsIgnoreCase("idNo")
                    ||key.equalsIgnoreCase("hospName")||key.equalsIgnoreCase("page")
                    ||key.equalsIgnoreCase("referPage")||key.equalsIgnoreCase("schoolName")){
                value = URLEncoder.encode(flatParams.get(key));
            }else {
                value = flatParams.get(key);

+ 24 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java

@ -104,6 +104,30 @@ public class BaseInfoEndpoint extends EnvelopRestEndpoint {
        }
    }
    /**
     * 根据市编码,获取该市范围内所有的医院列表信息
     * @return
     */
    @GetMapping(value = "/getOrgByCityAndFlag")
    @ApiOperation(value = "根据市编码,获取该市范围内所有的医院列表信息", notes = "基础数据获取")
    public Envelop getOrgByCityAndFlag(
            @ApiParam(name = "cityCode", value = "市编码")
            @RequestParam(value = "cityCode", required = false) String cityCode,
            @ApiParam(name = "flag", value = "1厦门市,2非厦门市")
            @RequestParam(value = "flag", required = false) Integer flag) {
        try {
            List<BaseOrgDO> res =  baseOrgInfoService.getOrgByCityAndFlag(cityCode,flag);
            if(res != null && res.size() > 0 ){
                return  success(res);
            }else{
                return success("该市未维护医院信息!");
            }
        }catch (Exception e){
            return failedException(e);
        }
    }
    /**
     * 根据机构编码获取部门列表信息
     * @param orgCode

+ 4 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -811,6 +811,8 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
	@GetMapping(value = BaseHospitalRequestMapping.DodtorIM.records2)
	@ApiOperation(value = "医生咨询记录查询")
	public Envelop records2(
			@ApiParam(name = "hospital", value = "医生编码")
			@RequestParam(value = "hospital",required = false) String hospital,
			@ApiParam(name = "doctor", value = "医生id")
			@RequestParam(value = "doctor",required = false) String doctor,
			@ApiParam(name = "title", value = "咨询标题关键字")
@ -833,7 +835,7 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
			@RequestParam(value = "pagesize",required = false) int pagesize
	)throws Exception{
		try {
			List<Map<String,Object>>  data = imService.findConsultRecordByDoctorNew(doctor, id,type,status, page,pagesize, title,start_time,end_time,patient);
			List<Map<String,Object>>  data = imService.findConsultRecordByDoctorNew(hospital,doctor, id,type,status, page,pagesize, title,start_time,end_time,patient);
			if (data != null) {
				for(Map<String,Object> consult :data){
@ -853,7 +855,7 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
				}
			}
			Long total = imService.countConsultRecordByDoctor2(doctor, id,type,status,title,start_time,end_time);
			Long total = imService.countConsultRecordByDoctor2(hospital,doctor, id,type,status,title,start_time,end_time);
			JSONObject result = new JSONObject();
			result.put("total",total);

+ 15 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -57,6 +57,7 @@ import com.yihu.jw.order.BusinessOrderService;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.order.pay.utils.PayLogService;
import com.yihu.jw.order.pay.ylz.YlzPayService;
import com.yihu.jw.org.service.BaseOrgInfoService;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.service.BasePatientDischargeRecordService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
@ -264,6 +265,8 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private HealthCareNewService healthCareNewService;
    @Autowired
    private HttpClientUtil httpClientUtil;
    @Autowired
    private BaseOrgInfoService orgInfoService;
    /**
     * 获取微信小程序openid
@ -3163,4 +3166,16 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
        object.put("error_msg","success");
        return object;
    }
    @GetMapping("/selectOrgInfoByHisId")
    @ApiOperation(value = "根据筛查机构id获取机构信息", notes = "根据筛查机构id获取机构信息")
    public Envelop selectByHisId(
            @ApiParam(name = "hisId", value = "筛查机构id")
            @RequestParam(value = "hisId", required = true) String hisId) {
        try {
            return success("操作成功", orgInfoService.selectByHisId(hisId));
        } catch (Exception e) {
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 3 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -37,6 +37,7 @@ import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.order.BusinessOrderService;
import com.yihu.jw.org.service.BaseOrgInfoService;
import com.yihu.jw.restmodel.base.area.BaseCityVO;
import com.yihu.jw.restmodel.base.area.BaseCommitteeVO;
import com.yihu.jw.restmodel.base.area.BaseProvinceVO;
@ -144,6 +145,8 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    private HcyyPrescriptionService hcyyPrescriptionService;
    @Autowired
    private YkyyPrescriptionService ykyyPrescriptionService;
    @Autowired
    private BaseOrgInfoService orgInfoService;
    @Value("${qywx.id}")
    private String qywxId;