ソースを参照

眼科版本更改

wangzhinan 4 日 前
コミット
88447d3fbc

+ 9 - 7
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -11454,19 +11454,21 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                String outpatientId= map.get(0).get("relationCode").toString();
               WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(outpatientId);
               if (wlyyOutpatientDO!=null){
                   StringBuffer content = new StringBuffer();
                   StringBuffer icd10Code = new StringBuffer();
                   StringBuffer icd10Name = new StringBuffer();
                   for (WlyyConsultAdvice consultAdvice:advices){
                       content.append(consultAdvice.getAdviceValue()+",");
                       icd10Code.append(consultAdvice.getAdviceKey()+",");
                        if (StringUtils.isNoneBlank(consultAdvice.getAdviceKey())){
                            icd10Code.append(consultAdvice.getAdviceKey()+",");
                            icd10Name.append(consultAdvice.getAdviceValue()+",");
                        }
                   }
                   if (content!=null&&content.length()>0){
                       System.out.println("content+====="+content);
                       content.deleteCharAt(content.length()-1);
                   if (icd10Code!=null&&icd10Code.length()>0){
                       System.out.println("content+====="+icd10Name);
                       icd10Code.deleteCharAt(icd10Code.length()-1);
                       icd10Name.deleteCharAt(icd10Name.length()-1);
                   }
                   wlyyOutpatientDO.setStatus("2");
                   wlyyOutpatientDO.setIcd10Name(content.toString());
                   wlyyOutpatientDO.setIcd10Name(icd10Name.toString());
                   wlyyOutpatientDO.setIcd10(icd10Code.toString());
                   outpatientDao.save(wlyyOutpatientDO);
               }

+ 3 - 3
business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java

@ -810,9 +810,9 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
            orderRefundDao.save(orderRefundDO);
            updatePayStatusByRefund(orderNo,10);
        }
        if (businessOrderDO!=null){
            ykyyService.updateYktOrderStatus(businessOrderDO.getOrderNo(),"2");
        }
//        if (businessOrderDO!=null){
//            ykyyService.updateYktOrderStatus(businessOrderDO.getOrderNo(),"2");
//        }
        return map;
    }

+ 6 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/dao/patient/BasePatientMedicareCardDao.java

@ -2,6 +2,7 @@ package com.yihu.jw.security.dao.patient;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
@ -44,4 +45,9 @@ public interface BasePatientMedicareCardDao extends PagingAndSortingRepository<P
     * @return
     */
    boolean existsByPatientCodeAndOrgCodeAndDel(String patientCode, String orgCode, String del);
    @Modifying
    @Query("delete from PatientMedicareCardDO p where p.patientCode=?1 ")
    void deleteByPatient(String patientCode);
}

+ 139 - 142
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -3467,26 +3467,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
                                                patientDO.setUserId(family.getString("patientAccountId"));
                                                patientDO.setIdcard(family.getString("idNo"));
                                                String idcard1 = family.getString("idNo");
                                                Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                                                String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                                                Integer sexx1 = null;
                                                if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                                                    sexx1 = Integer.parseInt(sex1);
                                                }
                                                String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                                                Date birthday1 = null;
                                                if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                                                    birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                                                if (org.apache.commons.lang3.StringUtils.isNoneBlank(idcard1)){
                                                    Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                                                    String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                                                    Integer sexx1 = null;
                                                    if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                                                        sexx1 = Integer.parseInt(sex1);
                                                    }
                                                    String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                                                    Date birthday1 = null;
                                                    if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                                                        birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                                                    }
                                                    patientDO.setAge(age1);
                                                    patientDO.setBirthday(birthday1);
                                                    patientDO.setSex(sexx1);
                                                    String salt1 = UUID.randomUUID().toString().substring(0,5);
                                                    String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
                                                    patientDO.setPassword(MD5.md5Hex(pw1 + "{" + salt1 + "}"));
                                                    patientDO.setSalt(salt1);
                                                }
                                                patientDO.setAge(age1);
                                                patientDO.setBirthday(birthday1);
                                                patientDO.setSex(sexx1);
                                                patientDO.setMobile(familyMobile);
                                                String salt1 = UUID.randomUUID().toString().substring(0,5);
                                                String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
                                                patientDO.setPassword(MD5.md5Hex(pw1 + "{" + salt1 + "}"));
                                                patientDO.setSalt(salt1);
                                                patientDO.setLocked(0);
                                                patientDO.setEnabled(1);
                                                patientDO.setPatientStatus("1");
@ -3495,29 +3496,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
                                            }else {
                                                patientDO=patientDOS.get(0);
                                            }
                                            oauthYlzConfigService.deleteCardNo(patientDO.getId());
                                            JSONArray cardList = family.getJSONArray("cardList");
                                            if (cardList!=null&&cardList.size()!=0){
                                                for (int j=0;j<cardList.size();j++){
                                                    JSONObject card = cardList.getJSONObject(j);
                                                    String cardNo = card.getString("cardNo");
                                                    PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByCodeAndPatientCode(cardNo,patientDO.getId());                                                if (patientMedicareCardDO==null){
                                                        patientMedicareCardDO = new PatientMedicareCardDO();
                                                        patientMedicareCardDO.setCode(cardNo);
                                                        patientMedicareCardDO.setDel("1");
                                                        patientMedicareCardDO.setPatientCode(patientDO.getId());
                                                        patientMedicareCardDO.setParentType("A");
                                                        if (card.getString("cardType").equalsIgnoreCase("1")){
                                                            patientMedicareCardDO.setType("A_01");
                                                        }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                                            patientMedicareCardDO.setType("A_02");
                                                        }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                                            patientMedicareCardDO.setType("A_03");
                                                        }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                                            patientMedicareCardDO.setType("A_09");
                                                        }
                                                        patientMedicareCardDao.save(patientMedicareCardDO);
                                                    PatientMedicareCardDO patientMedicareCardDO = new PatientMedicareCardDO();
                                                    patientMedicareCardDO.setCode(cardNo);
                                                    patientMedicareCardDO.setDel("1");
                                                    patientMedicareCardDO.setPatientCode(patientDO.getId());
                                                    patientMedicareCardDO.setParentType("A");
                                                    if (card.getString("cardType").equalsIgnoreCase("1")){
                                                        patientMedicareCardDO.setType("A_01");
                                                    }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                                        patientMedicareCardDO.setType("A_02");
                                                    }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                                        patientMedicareCardDO.setType("A_03");
                                                    }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                                        patientMedicareCardDO.setType("A_09");
                                                    }
                                                    patientMedicareCardDao.save(patientMedicareCardDO);
                                                }
                                            }
@ -3567,21 +3566,23 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
                                                patientDO.setUserId(family.getString("patientAccountId"));
                                                patientDO.setIdcard(family.getString("idNo"));
                                                String idcard1 = family.getString("idNo");
                                                Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                                                String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                                                Integer sexx1 = null;
                                                if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                                                    sexx1 = Integer.parseInt(sex1);
                                                }
                                                String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                                                Date birthday1 = null;
                                                if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                                                    birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                                                if (org.apache.commons.lang3.StringUtils.isNoneBlank(idcard1)){
                                                    Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                                                    String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                                                    Integer sexx1 = null;
                                                    if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                                                        sexx1 = Integer.parseInt(sex1);
                                                    }
                                                    String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                                                    Date birthday1 = null;
                                                    if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                                                        birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                                                    }
                                                    patientDO.setAge(age1);
                                                    patientDO.setBirthday(birthday1);
                                                    patientDO.setSex(sexx1);
                                                }
                                                patientDO.setAge(age1);
                                                patientDO.setBirthday(birthday1);
                                                patientDO.setSex(sexx1);
                                                patientDO.setMobile(familyMobile);
                                                String salt1 = UUID.randomUUID().toString().substring(0,5);
                                                String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
@ -3595,30 +3596,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
                                            }else {
                                                patientDO=patientDOS.get(0);
                                            }
                                            oauthYlzConfigService.deleteCardNo(patientDO.getId());
                                            JSONArray cardList = family.getJSONArray("cardList");
                                            if (cardList!=null&&cardList.size()!=0){
                                                for (int j=0;j<cardList.size();j++){
                                                    JSONObject card = cardList.getJSONObject(j);
                                                    String cardNo = card.getString("cardNo");
                                                    PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByCodeAndPatientCode(cardNo,patientDO.getId());
                                                    if (patientMedicareCardDO==null){
                                                        patientMedicareCardDO = new PatientMedicareCardDO();
                                                        patientMedicareCardDO.setCode(cardNo);
                                                        patientMedicareCardDO.setDel("1");
                                                        patientMedicareCardDO.setPatientCode(patientDO.getId());
                                                        patientMedicareCardDO.setParentType("A");
                                                        if (card.getString("cardType").equalsIgnoreCase("1")){
                                                            patientMedicareCardDO.setType("A_01");
                                                        }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                                            patientMedicareCardDO.setType("A_02");
                                                        }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                                            patientMedicareCardDO.setType("A_03");
                                                        }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                                            patientMedicareCardDO.setType("A_09");
                                                        }
                                                        patientMedicareCardDao.save(patientMedicareCardDO);
                                                    PatientMedicareCardDO patientMedicareCardDO = new PatientMedicareCardDO();
                                                    patientMedicareCardDO.setCode(cardNo);
                                                    patientMedicareCardDO.setDel("1");
                                                    patientMedicareCardDO.setPatientCode(patientDO.getId());
                                                    patientMedicareCardDO.setParentType("A");
                                                    if (card.getString("cardType").equalsIgnoreCase("1")){
                                                        patientMedicareCardDO.setType("A_01");
                                                    }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                                        patientMedicareCardDO.setType("A_02");
                                                    }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                                        patientMedicareCardDO.setType("A_03");
                                                    }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                                        patientMedicareCardDO.setType("A_09");
                                                    }
                                                    patientMedicareCardDao.save(patientMedicareCardDO);
                                                }
                                            }
                                            WlyyPatientFamilyMemberDO familyMemberDO = familyMemberDao.findFamilyMemberByYktFamilyId(basePatientDO.getId(),family.getString("patientAccountId"));
@ -4343,85 +4341,84 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
                KeyPair keyPair = (KeyPair) httpSession.getAttribute("privateKey");
                String password = com.yihu.jw.security.utils.RSAUtils.decryptBase64(parameters.get("password"), keyPair);
                logger.info("password:"+password);
//                String response = ykyyService.DoctorLogin(parameters.get("username"),password);
//                if (!StringUtils.isEmpty(response)){
//                    JSONObject object = JSONObject.parseObject(response);
//                    logger.info("眼科通登陆返回参数:"+object);
//                    if (!object.getString("code").equalsIgnoreCase("10000")){
//                        WlyyUserSimple userSimple = new WlyyUserSimple();
//                        return getFailedResponse(object.getString("message"),-1,userSimple);
//                    }else {
//                        JSONObject jsonObject = object.getJSONObject("value");
//                        if (jsonObject!=null) {
//                            String idCard = jsonObject.getString("idCard");
//                            String verifyCode = jsonObject.getString("verifyCode");
//                            String yktDoctorId= jsonObject.getString("id");
//                            BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
//                            if (doctorDOs!=null){
//                                doctorDOs.setVerifyCode(verifyCode);
//                                doctorDOs.setYktDoctorId(yktDoctorId);
//                                /*doctorDOs.setYktCode();*/
//                                doctorDao.save(doctorDOs);
//                            }else {
//                                WlyyUserSimple userSimple = new WlyyUserSimple();
//                                return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
//                            }
//                            if (idCard==null||idCard==""){
//                                logger.info("身份证为空");
//                            }else {
//                                ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
//                            }
//                        }
//                    }
//                }
//                parameters.remove("password");
                  parameters.put("password",password);
                String response = ykyyService.DoctorLogin(parameters.get("username"),password);
                if (!StringUtils.isEmpty(response)){
                    JSONObject object = JSONObject.parseObject(response);
                    logger.info("眼科通登陆返回参数:"+object);
                    if (!object.getString("code").equalsIgnoreCase("10000")){
                        WlyyUserSimple userSimple = new WlyyUserSimple();
                        return getFailedResponse(object.getString("message"),-1,userSimple);
                    }else {
                        JSONObject jsonObject = object.getJSONObject("value");
                        if (jsonObject!=null) {
                            String idCard = jsonObject.getString("idCard");
                            String verifyCode = jsonObject.getString("verifyCode");
                            String yktDoctorId= jsonObject.getString("id");
                            BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
                            if (doctorDOs!=null){
                                doctorDOs.setVerifyCode(verifyCode);
                                doctorDOs.setYktDoctorId(yktDoctorId);
                                /*doctorDOs.setYktCode();*/
                                doctorDao.save(doctorDOs);
                            }else {
                                WlyyUserSimple userSimple = new WlyyUserSimple();
                                return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
                            }
                            if (idCard==null||idCard==""){
                                logger.info("身份证为空");
                            }else {
                                ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
                            }
                        }
                    }
                }
                parameters.remove("password");
            } else if (parameters.get("mobile") != null) {
                KeyPair keyPair = (KeyPair) httpSession.getAttribute("privateKey");
                String mobile = com.yihu.jw.security.utils.RSAUtils.decryptBase64(parameters.get("mobile"), keyPair);
                logger.info("mobile:"+mobile);
//                String password = null;
//                String res = ykyyService.getDoctorPhone(mobile);
//                if (res!=null&&res!=""){
//                    JSONObject object = JSONObject.parseObject(res);
//                    if (object.getString("code").equalsIgnoreCase("200")){
//                        password = object.getString("data");
//                    }else {
//                        WlyyUserSimple userSimple = new WlyyUserSimple();
//                        return getFailedResponse(object.getString("msg"),-1,userSimple);
//                    }
//                }
//                String response = ykyyService.DoctorLogin(parameters.get("username"),password);
//                if (!StringUtils.isEmpty(response)){
//                    JSONObject object = JSONObject.parseObject(response);
//                    logger.info("眼科通登陆返回参数:"+object);
//                    if (!object.getString("code").equalsIgnoreCase("10000")){
//                        WlyyUserSimple userSimple = new WlyyUserSimple();
//                        return getFailedResponse(object.getString("message"),-1,userSimple);
//                    }else {
//                        JSONObject jsonObject = object.getJSONObject("value");
//                        if (jsonObject!=null) {
//                            String idCard = jsonObject.getString("idCard");
//                            String verifyCode = jsonObject.getString("verifyCode");
//                            String yktDoctorId= jsonObject.getString("id");
//                            BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
//                            if (doctorDOs!=null){
//                                doctorDOs.setVerifyCode(verifyCode);
//                                doctorDOs.setYktDoctorId(yktDoctorId);
//                                /*doctorDOs.setYktCode();*/
//                                doctorDao.save(doctorDOs);
//                            }else {
//                                WlyyUserSimple userSimple = new WlyyUserSimple();
//                                return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
//                            }
//                            if (idCard==null||idCard==""){
//                                logger.info("身份证为空");
//                            }else {
//                                ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
//                            }
//                        }
//                    }
//                }
                String password = null;
                String res = ykyyService.getDoctorPhone(mobile);
                if (res!=null&&res!=""){
                    JSONObject object = JSONObject.parseObject(res);
                    if (object.getString("code").equalsIgnoreCase("200")){
                        password = object.getString("data");
                    }else {
                        WlyyUserSimple userSimple = new WlyyUserSimple();
                        return getFailedResponse(object.getString("msg"),-1,userSimple);
                    }
                }
                String response = ykyyService.DoctorLogin(parameters.get("username"),password);
                if (!StringUtils.isEmpty(response)){
                    JSONObject object = JSONObject.parseObject(response);
                    logger.info("眼科通登陆返回参数:"+object);
                    if (!object.getString("code").equalsIgnoreCase("10000")){
                        WlyyUserSimple userSimple = new WlyyUserSimple();
                        return getFailedResponse(object.getString("message"),-1,userSimple);
                    }else {
                        JSONObject jsonObject = object.getJSONObject("value");
                        if (jsonObject!=null) {
                            String idCard = jsonObject.getString("idCard");
                            String verifyCode = jsonObject.getString("verifyCode");
                            String yktDoctorId= jsonObject.getString("id");
                            BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
                            if (doctorDOs!=null){
                                doctorDOs.setVerifyCode(verifyCode);
                                doctorDOs.setYktDoctorId(yktDoctorId);
                                /*doctorDOs.setYktCode();*/
                                doctorDao.save(doctorDOs);
                            }else {
                                WlyyUserSimple userSimple = new WlyyUserSimple();
                                return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
                            }
                            if (idCard==null||idCard==""){
                                logger.info("身份证为空");
                            }else {
                                ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
                            }
                        }
                    }
                }
                parameters.remove("password");
            }else {
                //第三方同步账号模式登录

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

@ -389,21 +389,23 @@ public class WlyyYkyyEndpoint extends AbstractEndpoint {
                        patientDO.setUserId(family.getString("patientAccountId"));
                        patientDO.setIdcard(family.getString("idNo"));
                        String idcard1 = family.getString("idNo");
                        Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                        String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                        if(org.apache.commons.lang3.StringUtils.isNoneBlank(idcard1)){
                            Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                            String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                        Integer sexx1 = null;
                        if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                            sexx1 = Integer.parseInt(sex1);
                        }
                        String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                        Date birthday1 = null;
                        if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                            birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                            Integer sexx1 = null;
                            if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                                sexx1 = Integer.parseInt(sex1);
                            }
                            String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                            Date birthday1 = null;
                            if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                                birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                            }
                            patientDO.setAge(age1);
                            patientDO.setBirthday(birthday1);
                            patientDO.setSex(sexx1);
                        }
                        patientDO.setAge(age1);
                        patientDO.setBirthday(birthday1);
                        patientDO.setSex(sexx1);
                        patientDO.setMobile(familyMobile);
                        String salt1 = UUID.randomUUID().toString().substring(0,5);
                        String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
@ -417,30 +419,27 @@ public class WlyyYkyyEndpoint extends AbstractEndpoint {
                    }else {
                        patientDO=patientDOS.get(0);
                    }
                    oauthYlzConfigService.deleteCardNo(patientDO.getId());
                    JSONArray cardList = family.getJSONArray("cardList");
                    if (cardList!=null&&cardList.size()!=0){
                        for (int j=0;j<cardList.size();j++){
                            JSONObject card = cardList.getJSONObject(j);
                            String cardNo = card.getString("cardNo");
                            PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByCodeAndPatientCode(cardNo,patientDO.getId());
                            if (patientMedicareCardDO==null){
                                patientMedicareCardDO = new PatientMedicareCardDO();
                                patientMedicareCardDO.setCode(cardNo);
                                patientMedicareCardDO.setDel("1");
                                patientMedicareCardDO.setPatientCode(patientDO.getId());
                                patientMedicareCardDO.setParentType("A");
                                if (card.getString("cardType").equalsIgnoreCase("1")){
                                    patientMedicareCardDO.setType("A_01");
                                }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                    patientMedicareCardDO.setType("A_02");
                                }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                    patientMedicareCardDO.setType("A_03");
                                }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                    patientMedicareCardDO.setType("A_09");
                                }
                                patientMedicareCardDao.save(patientMedicareCardDO);
                            PatientMedicareCardDO patientMedicareCardDO = new PatientMedicareCardDO();
                            patientMedicareCardDO.setCode(cardNo);
                            patientMedicareCardDO.setDel("1");
                            patientMedicareCardDO.setPatientCode(patientDO.getId());
                            patientMedicareCardDO.setParentType("A");
                            if (card.getString("cardType").equalsIgnoreCase("1")){
                                patientMedicareCardDO.setType("A_01");
                            }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                patientMedicareCardDO.setType("A_02");
                            }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                patientMedicareCardDO.setType("A_03");
                            }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                patientMedicareCardDO.setType("A_09");
                            }
                            patientMedicareCardDao.save(patientMedicareCardDO);
                        }
                    }
                    WlyyPatientFamilyMemberDO familyMemberDO = familyMemberDao.findFamilyMemberByYktFamilyId(basePatientDO.getId(),family.getString("patientAccountId"));
@ -538,26 +537,28 @@ public class WlyyYkyyEndpoint extends AbstractEndpoint {
                        patientDO.setUserId(family.getString("patientAccountId"));
                        patientDO.setIdcard(family.getString("idNo"));
                        String idcard1 = family.getString("idNo");
                        Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                        String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                        if(org.apache.commons.lang3.StringUtils.isNoneBlank(idcard1)){
                            Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
                            String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
                        Integer sexx1 = null;
                        if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                            sexx1 = Integer.parseInt(sex1);
                        }
                        String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                        Date birthday1 = null;
                        if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                            birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                            Integer sexx1 = null;
                            if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
                                sexx1 = Integer.parseInt(sex1);
                            }
                            String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
                            Date birthday1 = null;
                            if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
                                birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
                            }
                            patientDO.setAge(age1);
                            patientDO.setBirthday(birthday1);
                            patientDO.setSex(sexx1);
                            String salt1 = UUID.randomUUID().toString().substring(0,5);
                            String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
                            patientDO.setPassword(MD5.md5Hex(pw1 + "{" + salt1 + "}"));
                            patientDO.setSalt(salt1);
                        }
                        patientDO.setAge(age1);
                        patientDO.setBirthday(birthday1);
                        patientDO.setSex(sexx1);
                        patientDO.setMobile(familyMobile);
                        String salt1 = UUID.randomUUID().toString().substring(0,5);
                        String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
                        patientDO.setPassword(MD5.md5Hex(pw1 + "{" + salt1 + "}"));
                        patientDO.setSalt(salt1);
                        patientDO.setLocked(0);
                        patientDO.setEnabled(1);
                        patientDO.setPatientStatus("1");
@ -566,30 +567,28 @@ public class WlyyYkyyEndpoint extends AbstractEndpoint {
                    }else {
                        patientDO=patientDOS.get(0);
                    }
                    oauthYlzConfigService.deleteCardNo(patientDO.getId());
                    JSONArray cardList = family.getJSONArray("cardList");
                    if (cardList!=null&&cardList.size()!=0){
                        for (int j=0;j<cardList.size();j++){
                            JSONObject card = cardList.getJSONObject(j);
                            String cardNo = card.getString("cardNo");
                            PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByCodeAndPatientCode(cardNo,patientDO.getId());
                            if (patientMedicareCardDO==null){
                                patientMedicareCardDO = new PatientMedicareCardDO();
                                patientMedicareCardDO.setCode(cardNo);
                                patientMedicareCardDO.setDel("1");
                                patientMedicareCardDO.setPatientCode(patientDO.getId());
                                patientMedicareCardDO.setParentType("A");
                                if (card.getString("cardType").equalsIgnoreCase("1")){
                                    patientMedicareCardDO.setType("A_01");
                                }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                    patientMedicareCardDO.setType("A_02");
                                }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                    patientMedicareCardDO.setType("A_03");
                                }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                    patientMedicareCardDO.setType("A_09");
                                }
                                patientMedicareCardDao.save(patientMedicareCardDO);
                            PatientMedicareCardDO  patientMedicareCardDO = new PatientMedicareCardDO();
                            patientMedicareCardDO.setCode(cardNo);
                            patientMedicareCardDO.setDel("1");
                            patientMedicareCardDO.setPatientCode(patientDO.getId());
                            patientMedicareCardDO.setParentType("A");
                            if (card.getString("cardType").equalsIgnoreCase("1")){
                                patientMedicareCardDO.setType("A_01");
                            }else if (card.getString("cardType").equalsIgnoreCase("2")){
                                patientMedicareCardDO.setType("A_02");
                            }else if (card.getString("cardType").equalsIgnoreCase("3")){
                                patientMedicareCardDO.setType("A_03");
                            }else if (card.getString("cardType").equalsIgnoreCase("9")){
                                patientMedicareCardDO.setType("A_09");
                            }
                            patientMedicareCardDao.save(patientMedicareCardDO);
                        }
                    }

+ 8 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/service/OauthYlzConfigService.java

@ -8,6 +8,7 @@ import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
import com.yihu.jw.entity.ylzinfo.OauthYlzConfigDO;
import com.yihu.jw.security.dao.OauthYlzConfigDao;
import com.yihu.jw.security.dao.patient.BasePatientDao;
import com.yihu.jw.security.dao.patient.BasePatientMedicareCardDao;
import com.yihu.jw.security.dao.patient.WlyyPatientFamilyMemberDao;
import com.yihu.jw.security.utils.ByteToInputStream;
import com.yihu.jw.security.utils.DateUtil;
@ -45,6 +46,8 @@ public class OauthYlzConfigService {
    private BasePatientDao basePatientDao;
    @Autowired
    private WlyyPatientFamilyMemberDao familyMemberDao;
    @Autowired
    private BasePatientMedicareCardDao patientMedicareCardDao;
//    @Value("${fastDFS.fastdfs_file_url}")
//    private String fastdfs_file_url;
@ -312,4 +315,9 @@ public class OauthYlzConfigService {
    public void deleteMember(String patientId){
        familyMemberDao.deleteByPatient(patientId);
    }
    @Transactional
    public void deleteCardNo(String patientId){
        patientMedicareCardDao.deleteByPatient(patientId);
    }
}