| 
					
				 | 
			
			
				@@ -90,10 +90,11 @@ public class PatientController extends  AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String idCardNumber = param.getIdCard(); // 替换为要验证的身份证号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String mobile = param.getMobile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (idCardNumber == null || idCardNumber.trim().isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        if (idCardNumber == null || idCardNumber.trim().isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            return R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotEmpty(idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            //大陆身份证是18位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            if (isIdVerification != 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                return R.error("身份证号码不合法"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,21 +104,23 @@ public class PatientController extends  AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                    R.error("手机号不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //暂时仅支持大陆身份证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return  R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String regex = "\\d{17}[0-9Xx]"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Pattern.matches(regex, idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return   R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //暂时仅支持大陆身份证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return  R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String regex = "\\d{17}[0-9Xx]"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!Pattern.matches(regex, idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return   R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (param.getPatientName().length()<2||param.getPatientName().length()>30||!param.getPatientName().matches("^[\u4e00-\u9fa5]+$")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return   R.error("就诊人名称不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (idCardNumber != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotEmpty(idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String birthDateString = idCardNumber.substring(6, 14); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 LocalDate birthDate = LocalDate.parse(birthDateString, DateTimeFormatter.ofPattern("yyyyMMdd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 LocalDate currentDate = LocalDate.now(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -158,14 +161,16 @@ public class PatientController extends  AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //三方校验 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (isIdVerification!=null&&isIdVerification == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            boolean match = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                match = IdCardUtil.isMatchByMobile(storeConfig,param.getPatientName(), mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                match = IdCardUtil.isMatchById(storeConfig,param.getPatientName(), param.getIdCard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!match){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return R.error("身份证校验错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotEmpty(idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                boolean match = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    match = IdCardUtil.isMatchByMobile(storeConfig,param.getPatientName(), mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    match = IdCardUtil.isMatchById(storeConfig,param.getPatientName(), param.getIdCard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!match){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return R.error("身份证校验错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -196,10 +201,11 @@ public class PatientController extends  AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String mobile = param.getMobile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String idCardNumber = param.getIdCard(); // 替换为要验证的身份证号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (idCardNumber == null || idCardNumber.trim().isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        if (idCardNumber == null || idCardNumber.trim().isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            return R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.isNotEmpty(idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            //大陆身份证是18位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            if (isIdVerification != 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                return R.error("身份证号码不合法"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -209,15 +215,17 @@ public class PatientController extends  AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                    R.error("手机号不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //暂时仅支持大陆身份证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return  R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String regex = "\\d{17}[0-9Xx]"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!Pattern.matches(regex, idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return   R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //暂时仅支持大陆身份证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return  R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String regex = "\\d{17}[0-9Xx]"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!Pattern.matches(regex, idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return   R.error("身份证号码不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (param.getPatientName().length()<2||param.getPatientName().length()>30||!param.getPatientName().matches("^[\u4e00-\u9fa5]+$")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return   R.error("就诊人名称不合法"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -256,14 +264,16 @@ public class PatientController extends  AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //三方校验 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (isIdVerification!=null&&isIdVerification == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            boolean match = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                match = IdCardUtil.isMatchByMobile(storeConfig,param.getPatientName(), mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                match = IdCardUtil.isMatchById(storeConfig,param.getPatientName(), param.getIdCard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!match){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return R.error("身份证校验错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotEmpty(idCardNumber)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                boolean match = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (idCardNumber.length() != 18) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    match = IdCardUtil.isMatchByMobile(storeConfig,param.getPatientName(), mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    match = IdCardUtil.isMatchById(storeConfig,param.getPatientName(), param.getIdCard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!match){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return R.error("身份证校验错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |