diff --git a/api-common/src/main/java/com/glxp/udi/common/res/BaseResponse.java b/api-common/src/main/java/com/glxp/udi/common/res/BaseResponse.java index 4d76ec1..b40f803 100644 --- a/api-common/src/main/java/com/glxp/udi/common/res/BaseResponse.java +++ b/api-common/src/main/java/com/glxp/udi/common/res/BaseResponse.java @@ -8,7 +8,7 @@ import lombok.Data; */ @Data public class BaseResponse { - + public boolean success(){return this.code.equals(20000);} private Integer code; private String message; diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java index 0c4908d..b8ed341 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java @@ -3,21 +3,31 @@ package com.glxp.udi.admin.controller.udidl; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; import com.glxp.udi.admin.req.feign.BaseParam; import com.glxp.udi.admin.service.udidl.UdidlService; +import com.glxp.udi.admin.service.udidl.UdidlServiceRun; import com.glxp.udi.common.res.BaseResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; @RestController public class UdplatDistributorController { @Resource UdidlService udidlService; - + @Autowired + UdidlServiceRun udidlServiceRun; @AuthRuleAnnotation("") @PostMapping("/udplat/distributor/list") public BaseResponse getList(@RequestBody BaseParam param){ return udidlService.udplatDistributor_getList(param); } + @AuthRuleAnnotation("") + @GetMapping("udplat/distributor/export") + public void export(HttpServletResponse response){ + udidlServiceRun.udplatDistributor_export(response); + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java index 05c0a1b..9bfc7c1 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java @@ -1,23 +1,51 @@ package com.glxp.udi.admin.controller.udidl; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; +import com.glxp.udi.admin.config.GlobalConfig; import com.glxp.udi.admin.req.feign.BaseParam; +import com.glxp.udi.admin.req.feign.UdplatGoodsParam; import com.glxp.udi.admin.service.udidl.UdidlService; +import com.glxp.udi.admin.service.udidl.UdidlServiceRun; import com.glxp.udi.common.res.BaseResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; @RestController public class UdplatGoodsController { @Resource UdidlService udidlService; + @Autowired + UdidlServiceRun udidlServiceRun; + @Autowired + GlobalConfig globalConfig; @AuthRuleAnnotation("") @PostMapping("/udplat/goods/list") - public BaseResponse getList(@RequestBody BaseParam param){ + public BaseResponse getList(@RequestBody UdplatGoodsParam param){ return udidlService.udplatGoods_getList(param); } + @AuthRuleAnnotation("") + @PostMapping("udplat/goods/export") + public BaseResponse export(@RequestBody UdplatGoodsParam param){ + BaseResponse res = udidlService.udplatGoods_export(param); + if(res.getCode()!=20000) + return res; + String url=globalConfig.getUDI_SERVER_URL()+ res.getData(); + res.setData(url); + return res; + } + /* public void export(HttpServletResponse response){ + udidlServiceRun.udplatGoods_export(response); + }*/ + @AuthRuleAnnotation("") + @PostMapping("/udplat/goods/detail") + public BaseResponse detail(Integer id){ + return udidlService.udplatGoods_detail(id); + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsMatchController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsMatchController.java index 9bfeb3f..78245fa 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsMatchController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsMatchController.java @@ -39,4 +39,10 @@ public class UdplatGoodsMatchController { public BaseResponse save(@RequestBody UdplatGoodsMatchModel model){ return udidlService.udplatGoodsMatch_save(model); } + @AuthRuleAnnotation("") + @PostMapping("udplat/goodsMatch/searchByName") + public BaseResponse searchByName(String name){ + System.out.println(name); + return udidlService.udplatGoodsMatch_searchByName(name); + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java index eca4b7d..a8db562 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java @@ -3,21 +3,32 @@ package com.glxp.udi.admin.controller.udidl; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; import com.glxp.udi.admin.req.feign.BaseParam; import com.glxp.udi.admin.service.udidl.UdidlService; +import com.glxp.udi.admin.service.udidl.UdidlServiceRun; import com.glxp.udi.common.res.BaseResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; @RestController public class UdplatHospitalController { @Resource UdidlService udidlService; + @Autowired + UdidlServiceRun udidlServiceRun; @AuthRuleAnnotation("") @PostMapping("udplat/hospital/list") public BaseResponse getList(@RequestBody BaseParam param){ return udidlService.udplatHospital_getList(param); } + @AuthRuleAnnotation("") + @GetMapping("udplat/hospital/export") + public void export(HttpServletResponse response){ + udidlServiceRun.udplatHospital_export(response); + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java index ab4ac5e..416da5c 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java @@ -3,21 +3,33 @@ package com.glxp.udi.admin.controller.udidl; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; import com.glxp.udi.admin.req.feign.BaseParam; import com.glxp.udi.admin.service.udidl.UdidlService; +import com.glxp.udi.admin.service.udidl.UdidlServiceRun; import com.glxp.udi.common.res.BaseResponse; +import feign.Response; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; @RestController public class UdplatManufactureController { @Resource UdidlService udidlService; + @Autowired + UdidlServiceRun udidlServiceRun; @AuthRuleAnnotation("") @PostMapping("udplat/manufacture/list") public BaseResponse getList(@RequestBody BaseParam param){ return udidlService.udplatManufacture_getList(param); } + @AuthRuleAnnotation("") + @GetMapping("udplat/manufacture/export") + public void export(HttpServletResponse response){ + udidlServiceRun.udplatManufacture_export(response); + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsMatchParam.java b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsMatchParam.java index aa17a78..2ac5eca 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsMatchParam.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsMatchParam.java @@ -4,6 +4,11 @@ import lombok.Data; @Data public class UdplatGoodsMatchParam extends BaseParam{ + private String nameCode; + private String udi; + private String ylqxzcrbarmc;//注册/备案人名称(医疗器械注册人) + private String ggxh;//规格型号 + private String zczbhhzbapzbh;//注册/备案证号 private int goodsMatchType;//产品目录 0:全部 1:已对照 2:未对照 private int medicalMatchType;//医保编码 0:全部 1:已对照 2:未对照 } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsParam.java b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsParam.java new file mode 100644 index 0000000..9e4339c --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/UdplatGoodsParam.java @@ -0,0 +1,12 @@ +package com.glxp.udi.admin.req.feign; + +import lombok.Data; + +@Data +public class UdplatGoodsParam extends BaseParam{ + private String manufactureName;//生产企业 + private String distributorName;//配送企业 + private String regNum;//注册证号 + private String model;//型号 + private String spec;//规格 +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java b/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java index 4959e49..f193e7e 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java @@ -7,6 +7,7 @@ import com.glxp.udi.common.res.BaseResponse; import feign.Param; import feign.QueryMap; import feign.RequestLine; +import feign.Response; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -53,8 +54,11 @@ public interface UdidlService { * @return */ @RequestLine("POST /udplat/goods/list") - BaseResponse udplatGoods_getList(@RequestBody BaseParam param); - + BaseResponse udplatGoods_getList(@RequestBody UdplatGoodsParam param); + @RequestLine("POST /udplat/goods/detail?id={id}") + BaseResponse udplatGoods_detail(@Param("id") Integer id); + @RequestLine("POST /udplat/goods/export") + BaseResponse udplatGoods_export(@RequestBody UdplatGoodsParam param); /** * 医疗机构查询 * @param param @@ -70,7 +74,8 @@ public interface UdidlService { */ @RequestLine("POST /udplat/manufacture/list") BaseResponse udplatManufacture_getList(@RequestBody BaseParam param); - + @RequestLine("GET /udplat/manufacture/export") + Response udplatManufacture_export(); /** * 日志查询 * @param param @@ -89,6 +94,8 @@ public interface UdidlService { BaseResponse udplatGoodsMatch_getProductInfoByUuid(@Param("uuid") String uuid); @RequestLine("POST /udplat/goodsMatch/save") BaseResponse udplatGoodsMatch_save(@RequestBody UdplatGoodsMatchModel model); + @RequestLine("POST /udplat/goodsMatch/searchByName?name={name}") + BaseResponse udplatGoodsMatch_searchByName(@Param("name") String name); // } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlServiceRun.java b/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlServiceRun.java new file mode 100644 index 0000000..445f95f --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlServiceRun.java @@ -0,0 +1,62 @@ +package com.glxp.udi.admin.service.udidl; + +import com.glxp.udi.admin.config.GlobalConfig; +import com.glxp.udi.admin.req.feign.BaseParam; +import com.glxp.udi.admin.util.HttpClient; +import com.glxp.udi.common.res.BaseResponse; +import feign.RequestLine; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.util.HashMap; +import java.util.Map; + +@Service +public class UdidlServiceRun { + @Autowired + GlobalConfig globalConfig; + public void udplatManufacture_export(HttpServletResponse response){ + export(response,"/udplat/manufacture/export","manufacture"); + } + public void udplatGoods_export(HttpServletResponse response) { + export(response,"/udplat/goods/export","udplatGoods"); + } + public void udplatDistributor_export(HttpServletResponse response) { + export(response,"/udplat/distributor/export","distributor"); + } + public void udplatHospital_export(HttpServletResponse response) { + export(response,"/udplat/hospital/export","hospital"); + } + private void export(HttpServletResponse response,String url,String fileName){ + String fullUrl=globalConfig.getUDI_SERVER_URL()+url; + Map headerMap = new HashMap<>(); + headerMap.put("key",globalConfig.getUDI_SERVER_Key()); + ResponseEntity res = HttpClient.getFile(fullUrl,headerMap); + response.setCharacterEncoding("utf-8"); + response.setContentType("application/octet-stream"); + response.setHeader("content-type","application/octet-stream"); + response.addHeader("Content-Disposition","attachment;filename="+fileName+".json"); + BufferedOutputStream buff=null; + ServletOutputStream outStr = null; + try{ + outStr = response.getOutputStream(); + buff = new BufferedOutputStream(outStr); + buff.write(res.getBody()); + buff.flush(); + buff.close(); + }catch (Exception e){ + + }finally { + try{ + buff.close();; + outStr.close(); + }catch (Exception e){} + + } + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/util/HttpClient.java b/api-udims/src/main/java/com/glxp/udi/admin/util/HttpClient.java index 1ee8788..4eafbdf 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/util/HttpClient.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/util/HttpClient.java @@ -5,6 +5,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; @@ -78,6 +79,15 @@ public class HttpClient { System.out.println(response); return response; } + public static ResponseEntity getFile(String url,Map headerMap){ + RestTemplate restTemplate = new RestTemplate(); + HttpHeaders httpHeaders = new HttpHeaders(); + for (Map.Entry stringStringEntry : headerMap.entrySet()) { + httpHeaders.add(stringStringEntry.getKey(), stringStringEntry.getValue()); + } + HttpEntity httpEntity = new HttpEntity(httpHeaders); + return restTemplate.getForEntity(url,byte[].class,httpEntity); + } }