Sfoglia il codice sorgente

1.医院选择或填写
2.增加对外接口

jz.kai 4 anni fa
parent
commit
62b96f8fde

+ 2 - 0
common/src/main/java/com/jpsoft/insurance/modules/base/entity/Report.java

@@ -40,6 +40,8 @@ public class Report {
     private String remark;
         @ApiModelProperty(value = "就诊医院")
     private String visitingHospital;
+        @ApiModelProperty(value = "就诊医院名称")
+    private String visitingHospitalName;
         @ApiModelProperty(value = "是否异地")
     private Boolean isOutland;
     private String isOutlandName;

+ 7 - 2
common/src/main/resources/mapper/base/Report.xml

@@ -14,6 +14,7 @@
 			<result property="whatHappened" column="what_happened" />
 			<result property="remark" column="remark_" />
 			<result property="visitingHospital" column="visiting_hospital" />
+			<result property="visitingHospitalName" column="visiting_hospital_name" />
 			<result property="isOutland" column="is_outland" />
 			<result property="visitingDepartment" column="visiting_department" />
 			<result property="admissionNumber" column="admission_number" />
@@ -32,7 +33,7 @@
 	-->
 	<![CDATA[
 		insert into base_report
-	    (id_,visiting_date,name_,phone_,card_no,insurance_type,insured_area,what_happened,remark_,visiting_hospital,is_outland,visiting_department,admission_number,is_discharged,del_flag,create_time,create_by,update_time,update_by)
+	    (id_,visiting_date,name_,phone_,card_no,insurance_type,insured_area,what_happened,remark_,visiting_hospital,visiting_hospital_name,is_outland,visiting_department,admission_number,is_discharged,del_flag,create_time,create_by,update_time,update_by)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -45,6 +46,7 @@
 ,#{whatHappened,jdbcType=VARCHAR}
 ,#{remark,jdbcType=VARCHAR}
 ,#{visitingHospital,jdbcType=VARCHAR}
+,#{visitingHospitalName,jdbcType=VARCHAR}
 ,#{isOutland,jdbcType= NUMERIC }
 ,#{visitingDepartment,jdbcType=VARCHAR}
 ,#{admissionNumber,jdbcType=VARCHAR}
@@ -89,6 +91,9 @@
 		</if>
 				<if test="visitingHospital!=null">
 		visiting_hospital=#{visitingHospital,jdbcType=VARCHAR},
+		</if>
+				<if test="visitingHospital!=null">
+			visiting_hospital_name=#{visitingHospitalName,jdbcType=VARCHAR},
 		</if>
 				<if test="isOutland!=null">
 		is_outland=#{isOutland,jdbcType= NUMERIC },
@@ -122,7 +127,7 @@
 	</update>
 	<select id="get" parameterType="string" resultMap="ReportMap">
 		select 
-id_,visiting_date,name_,phone_,card_no,insurance_type,insured_area,what_happened,remark_,visiting_hospital,is_outland,visiting_department,admission_number,is_discharged,del_flag,create_time,create_by,update_time,update_by		from base_report where id_=#{0}
+id_,visiting_date,name_,phone_,card_no,insurance_type,insured_area,what_happened,remark_,visiting_hospital,visiting_hospital_name,is_outland,visiting_department,admission_number,is_discharged,del_flag,create_time,create_by,update_time,update_by		from base_report where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from base_report where id_=#{0}

+ 1 - 1
web/src/main/java/com/jpsoft/insurance/config/WebMvcConfig.java

@@ -55,7 +55,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 //				.excludePathPatterns("/mobile/personInfoApi/findByOpenId")
 //				.excludePathPatterns("/mobile/personInfoApi/register")
 //				.excludePathPatterns("/mobile/personInfoApi/login")
-//				.excludePathPatterns("/wechat/**")
+				.excludePathPatterns("/open/**")
 				.excludePathPatterns("/static/**")
 //				.excludePathPatterns("/mobile/schoolInfoApi/typeList")
 //				.excludePathPatterns("/mobile/schoolInfoApi/detail")

+ 10 - 2
web/src/main/java/com/jpsoft/insurance/modules/base/controller/ReportController.java

@@ -70,6 +70,10 @@ public class ReportController {
             report.setDelFlag(false);
             report.setCreateBy(subject);
             report.setCreateTime(new Date());
+            DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("就诊医院", report.getVisitingHospital());
+            if(dataDictionary != null && !"其他".equals(dataDictionary.getName())) {
+                report.setVisitingHospitalName(dataDictionary.getName());
+            }
             
             int affectCount = reportService.insert(report);
 
@@ -125,6 +129,10 @@ public class ReportController {
         try {
             report.setUpdateBy(subject);
             report.setUpdateTime(new Date());
+            DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("就诊医院", report.getVisitingHospital());
+            if(dataDictionary != null && !"其他".equals(dataDictionary.getName())) {
+                report.setVisitingHospitalName(dataDictionary.getName());
+            }
             
             int affectCount = reportService.update(report);
 
@@ -385,7 +393,7 @@ public class ReportController {
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("create_time","asc"));
 
-        if (createTime.length > 0) {
+        if (createTime != null) {
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
             searchParams.put("startTime", simpleDateFormat.format(createTime[0]) + " 00:00:00");
             searchParams.put("endTime", simpleDateFormat.format(createTime[1]) + "23:59:59");
@@ -431,7 +439,7 @@ public class ReportController {
             dataDictionary = dataDictionaryService.findByCatalogNameAndValue("参保区域", report.getInsuredArea());
             if(dataDictionary != null) row.getCell(6).setCellValue(dataDictionary.getName());
             row.getCell(7).setCellValue(report.getWhatHappened());
-            row.getCell(8).setCellValue(report.getVisitingHospital());
+            row.getCell(8).setCellValue(report.getVisitingHospitalName());
             row.getCell(9).setCellValue(report.getVisitingDepartment());
             row.getCell(10).setCellValue(report.getAdmissionNumber());
             meaning = report.getIsDischarged() ? "已出院" : "未出院";

+ 144 - 0
web/src/main/java/com/jpsoft/insurance/modules/open/ReportApiController.java

@@ -0,0 +1,144 @@
+package com.jpsoft.insurance.modules.open;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.insurance.config.OSSConfig;
+import com.jpsoft.insurance.modules.base.entity.Report;
+import com.jpsoft.insurance.modules.base.service.ReportService;
+import com.jpsoft.insurance.modules.common.dto.MessageResult;
+import com.jpsoft.insurance.modules.common.dto.Sort;
+import com.jpsoft.insurance.modules.common.utils.OSSUtil;
+import com.jpsoft.insurance.modules.common.utils.PojoUtils;
+import com.jpsoft.insurance.modules.sys.entity.DataDictionary;
+import com.jpsoft.insurance.modules.sys.entity.User;
+import com.jpsoft.insurance.modules.sys.service.DataDictionaryService;
+import com.jpsoft.insurance.modules.sys.service.UserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@RestController
+@RequestMapping("/open/reportApi")
+@Api(description = "reportApi")
+public class ReportApiController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private ReportService reportService;
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+
+    @ApiOperation(value="添加信息")
+    @PostMapping("add")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "visitingDate", value = "入院日期(yyyy-MM-dd)", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "name", value = "出险人", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "phone", value = "联系号码", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "cardNo", value = "证件号码", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "insuredArea", value = "参保区域", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "visitingHospital", value = "就诊医院", required = true, paramType = "query"),
+            @ApiImplicitParam(name = "visitingHospitalName", value = "就诊医院名称", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "insuranceType", value = "参保类型", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "whatHappened", value = "事情经过", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "remark", value = "备注", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "visitingDepartment", value = "就诊科室", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "admissionNumber", value = "住院号", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "isDischarged", value = "是否出院", required = false, paramType = "query", dataType = "Boolean"),
+
+    })
+    public MessageResult<Report> add(String visitingDate, String name, String phone, String cardNo, String insuredArea, String visitingHospital,
+                                     String visitingHospitalName, String insuranceType, String whatHappened, String remark, String visitingDepartment,
+                                     String admissionNumber, Boolean isDischarged){
+        MessageResult<Report> msgResult = new MessageResult<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        DataDictionary dataDictionary = null;
+
+        try {
+            Report report = new Report();
+            report.setId(UUID.randomUUID().toString());
+            report.setVisitingDate(sdf.parse(visitingDate));
+            report.setName(name);
+            report.setPhone(phone);
+            report.setCardNo(cardNo);
+            report.setInsuredArea(insuredArea);
+            report.setVisitingHospital(visitingHospital);
+            report.setVisitingHospitalName(visitingHospitalName);
+            dataDictionary = dataDictionaryService.findByCatalogNameAndValue("就诊医院", report.getVisitingHospital());
+            if(dataDictionary != null && !"其他".equals(dataDictionary.getName())) report.setVisitingHospitalName(dataDictionary.getName());
+            report.setInsuranceType(insuranceType);
+            report.setWhatHappened(whatHappened);
+            report.setRemark(remark);
+            report.setVisitingDepartment(visitingDepartment);
+            report.setAdmissionNumber(admissionNumber);
+            if(report.getIsDischarged() == null) report.setIsDischarged(false);
+            if(report.getIsOutland() == null) report.setIsOutland(false);
+            report.setDelFlag(false);
+            report.setCreateBy("8ed505d2-e36b-4343-bffb-1de9972b1f75");
+            report.setCreateTime(new Date());
+            dataDictionary = dataDictionaryService.findByCatalogNameAndValue("就诊医院", report.getVisitingHospital());
+            if(dataDictionary != null && !"其他".equals(dataDictionary.getName())) {
+                report.setVisitingHospitalName(dataDictionary.getName());
+            }
+
+            int affectCount = reportService.insert(report);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(report);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库添加失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @PostMapping("findByCatalogName")
+    @ApiOperation(value = "根据目录名称查询数据列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "catalogName",value = "数据目录名称(参保类型|参保区域|就诊医院)", required = true, paramType = "query"),
+    })
+    public MessageResult<List> findByCatalogName(String catalogName){
+        MessageResult<List> messageResult = new MessageResult<>();
+        List<Map> mapList = new ArrayList<>();
+
+        try {
+            //todo
+            List<DataDictionary> list = dataDictionaryService.findByCatalogName(catalogName);
+            for(DataDictionary dataDictionary : list){
+                Map<String,Object> map = new HashMap<>();
+                map.put("name", dataDictionary.getName());
+                map.put("value", dataDictionary.getValue());
+                mapList.add(map);
+            }
+
+            messageResult.setData(mapList);
+            messageResult.setResult(true);
+        }
+        catch (Exception ex){
+            messageResult.setResult(false);
+            messageResult.setMessage(ex.getMessage());
+        }
+
+        return messageResult;
+    }
+}

+ 1 - 1
web/src/main/resources/application-test.yml

@@ -21,7 +21,7 @@ spring:
     password:
 logger:
   level: WARN
-  dir: E:/logs/campus-admission-server/
+  dir: D:\Logs\insurance-server
 
 springfox:
   documentation: