Kaynağa Gözat

参数校验完善

0027005599 2 yıl önce
ebeveyn
işleme
656fb89854

+ 4 - 0
jeecg-module-system/jeecg-system-biz/pom.xml

@@ -15,6 +15,10 @@
 			<groupId>org.jeecgframework.boot</groupId>
 			<artifactId>jeecg-system-local-api</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-validation</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>org.hibernate</groupId>
 			<artifactId>hibernate-core</artifactId>

+ 8 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/HisController.java

@@ -10,12 +10,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.config.sign.util.HttpUtils;
+import org.jeecg.modules.medical.Constant;
 import org.jeecg.modules.medical.entity.AdvanceWarningVO;
 import org.jeecg.modules.medical.entity.Audit;
 import org.jeecg.modules.medical.entity.MidIncidentWarningVO;
@@ -34,6 +36,7 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
 import java.util.Arrays;
 import java.util.Map;
 
@@ -84,8 +87,11 @@ public class HisController extends JeecgController<Audit, IAuditService> {
    @AutoLog(value = "事前提醒")
    @ApiOperation(value="事前提醒接口", notes="事前提醒接口调用")
    @PostMapping(value = "/advanceWarning")
-   public Result<String> advanceWarning(@RequestBody AdvanceWarningVO advanceWarningVO,HttpServletRequest httpServletRequest) {
+   public Result<String> advanceWarning(@RequestBody @Valid AdvanceWarningVO advanceWarningVO, HttpServletRequest httpServletRequest) {
        String ipStr = HttpUtils.getIPAddress(httpServletRequest);
+       if(StringUtils.isBlank(advanceWarningVO.getVisit_type())){
+           advanceWarningVO.setVisit_type(Constant.TREAMENT_TYPE_OUTPATIENT);
+       }
        log.info("事前远端请求的服务ip地址:{}", ipStr);
        ruleEngine.dealPreInterfaceEngin(advanceWarningVO, ipStr);
        return Result.OK("添加成功!");
@@ -101,7 +107,7 @@ public class HisController extends JeecgController<Audit, IAuditService> {
     @AutoLog(value = "事中提醒")
     @ApiOperation(value="事中提醒接口", notes="事中提醒接口调用")
     @PostMapping(value = "/midIncidentWarning")
-    public Result<String> midIncidentWarning(@RequestBody MidIncidentWarningVO midIncidentWarningVO,HttpServletRequest httpServletRequest) {
+    public Result<String> midIncidentWarning(@RequestBody @Valid MidIncidentWarningVO midIncidentWarningVO,HttpServletRequest httpServletRequest) {
 
         String ipStr = HttpUtils.getIPAddress(httpServletRequest);
         log.info("事中远端请求的服务ip地址:{}", ipStr);

+ 12 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/AdvanceWarningVO.java

@@ -3,25 +3,36 @@ package org.jeecg.modules.medical.entity;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
  * 事前提醒接口类
+ *
  * @author 林栋
  */
 @Data
-@ApiModel(value="事前提醒接口参数类", description="advanceWarning")
+@ApiModel(value = "事前提醒接口参数类", description = "advanceWarning")
 public class AdvanceWarningVO {
     //    病人ID
+    @NotBlank(message = "病人ID不能为空")
     private String patient_id;
     //病人姓名
+    @NotBlank(message = "病人名称不能为空")
     private String patient_name;
     //就诊类型(1住院、2门诊)
+    @NotNull
     private String visit_type;
     //    科室编码
+    @NotBlank(message = "医生科室编码不能为空")
     private String medical_dept_code;
     //    科室名称
+    @NotBlank(message = "医生科室名称不能为空")
     private String medical_dept_name;
     //    医师编号
+    @NotBlank(message = "医师编码不能为空")
     private String doctor_code;
     //    医师姓名
+    @NotBlank(message = "医师姓名不能为空")
     private String doctor_name;
 }

+ 8 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/AdviceDetailsVO.java

@@ -2,17 +2,23 @@ package org.jeecg.modules.medical.entity;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * 医嘱明细接口入参
  */
 @Data
 public class AdviceDetailsVO {
+    @NotBlank(message = "医院项目编码不能为空")
     private String project_code;//char	项目编码,正常情况必填,特殊情况,如生化全套等没有医保编码,可放空。
 //    private String hospital_code;//院内项目编码
+    @NotBlank(message = "医院项目名称不能为空")
     private String project_name;//	true	char	项目名称
+    @NotBlank(message = "医院项目类型不能为空 1:药品、2:耗材、3:诊疗、4:手术")
     private String project_type;//项目类型 1:药品、2:耗材、3:诊疗、4:手术
     private String medical_project_code;//医保项目编码
     private String medical_project_name;//医保项目名称
+    @NotBlank(message = "医嘱明细处方号不能为空")
     private String recipe_no;//		char	处方号
     private String invoice_project;//	true	char	发票项目编码
 
@@ -58,12 +64,14 @@ public class AdviceDetailsVO {
     private Double price;//	true	float	单价,必须使用数值型,如”12.5”
     private Float quantity;//	true	float	发药数量,必须使用数值型,如”10”
     private String dose_unit;//	true	char	单位,发药单位,例如:瓶、盒、片等,和发药数量对应
+    @NotBlank(message = "医嘱明细项目金额不能为空")
     private Double amount;//	true	float	金额,必须使用数值型,如”50.5”
     private Integer use_day;//		float	用药天数(项目为药品时非空),医嘱服用该药品天数,必须使用数值型,如”15”
     private Integer single_dose_number;//		float	单次用药量(项目为药品时非空),配合下一个字段的单位,如 50 mg,必须使用数值型,如”50”
     private String single_dose_unit;//		char	单次用药量剂量单位(项目为药品时非空)
     private Integer dose_day;//		float	药量天数(项目为药品时非空),依据医嘱服药要求,所配药品患者可以服用的天数,必须使用数值型,如”5”
     private String take_frequence;//		char	服用频次
+    @NotBlank(message = "医保标志不能为空")
     private String medical_insurance_mark; //医保标志
     private String inspection_site;//检查部位
     private String order_catalog;//医嘱大类

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/DiagnosesVO.java

@@ -2,9 +2,15 @@ package org.jeecg.modules.medical.entity;
 
 import lombok.Data;
 
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 @Data
 public class DiagnosesVO {
+    @NotBlank(message = "医院内部诊断编码不能为空")
     private String diagnose_code;   //医院内部诊断编码
+    @NotBlank(message = "医院内部诊断描述不能为空")
     private String diagnose_desc;   //医院内部诊断描述
 
     private String medical_diagnose_code; //true	char	医保诊断代码(使用医保下发诊断代码(ICD-10))

+ 13 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MidIncidentWarningVO.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.medical.entity;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -12,20 +13,28 @@ import java.util.List;
 @Data
 @ApiModel(value="事中预警接口参数类", description="midIncidentWarning")
 public class MidIncidentWarningVO {
+    @NotBlank(message = "门诊挂号或者住院登记号不能为空")
     private String visit_no;//门诊挂号号/住院登记号
+    @NotBlank(message = "科室编码不能为空")
     private String medical_dept_code;//科室编码
+    @NotBlank(message = "科室名称不能为空")
     private String medical_dept_name;//科室名称
+    @NotBlank(message = "就诊类型不能为空")
     private String visit_type;//就诊类型(1住院、2门诊)
     private String in_hosp_date;//入院日期(就诊类型是住院的非空,格式:YYYYMMDD)
+    @NotBlank(message = "病人ID不能为空")
     private String patient_id;//病人ID
+    @NotBlank(message = "病人姓名不能为空")
     private String patient_name;//病人姓名
     /**
      * 病人性别
      */
+    @NotBlank(message = "病人性别不能为空")
     private String patient_gender;
     /**
      * 病人年龄
      */
+    @NotBlank(message = "病人年龄不能为空")
     private String patient_age;
     /**
      * 离院方式
@@ -33,12 +42,16 @@ public class MidIncidentWarningVO {
      */
     private String discharge_status;
     private List<DiagnosesVO> diagnoses;	//true	Array	诊断信息(多项)(内容说明参见Diagnoses(诊断信息说明)
+    @NotBlank(message = "处方流水号不能为空")
     private String doctor_advice_no;//true	char	处方流水号(医院内部唯一号)
+    @NotBlank(message = "医师编号不能为空")
     private String doctor_code;//	true	char	医师编号
+    @NotBlank(message = "医师姓名不能为空")
     private String doctor_name;//	true	char	医师姓名
     /**
      * 医师级别
      */
+    @NotBlank(message = "医师级别不能为空")
     private String doctor_level;
     /**
      * 所有项目总金额