diff --git a/.idea/misc.xml b/.idea/misc.xml index 132404b..2fc80f0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,6 +8,45 @@ + + + + diff --git a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegTransitSample.java b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegTransitSample.java index e4ff426..db5057a 100644 --- a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegTransitSample.java +++ b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegTransitSample.java @@ -343,7 +343,10 @@ public class RegTransitSample { * 上机人姓名 */ private String opername; - + /** + * 发送标志,0-未发送,1-已发送 + */ + private String sendFlag; diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegLisReportMapper.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegLisReportMapper.java index 48e46de..2480790 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegLisReportMapper.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegLisReportMapper.java @@ -1,7 +1,7 @@ package com.transitPlatForm.transitPF.mapper; -import com.transitPlatForm.common.core.domain.entity.reg.RegReportFile; +import com.transitPlatForm.common.core.domain.entity.reg.*; import com.transitPlatForm.transitPF.pojo.RegGetReportsList; import org.apache.ibatis.annotations.Param; @@ -13,4 +13,10 @@ public interface RegLisReportMapper { List> getLisReportDetail(String bgdh); List> getRegGetresultmed(@Param("bgdh") String bgdh ,@Param("xmdh") String xmdh); RegReportFile getRegReportFile(String bgdh); + RegPatMain queryRegPatMain(String bgdh); + List queryRegPatMainList(RegPatMain regPatMain); + List queryRegResult(String bgdh); + List queryRegResultGerm(String bgdh); + List queryRegResultMed(String bgdh); + List queryCyclicData(String srcHospCode); } diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/pojo/DTO/SampleSignVO.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/pojo/DTO/SampleSignVO.java index 8b3a2fd..0e756a1 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/pojo/DTO/SampleSignVO.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/pojo/DTO/SampleSignVO.java @@ -65,6 +65,6 @@ public class SampleSignVO { @ApiModelProperty(value = "上机操作人姓名") private String opername; //目前就只是取消审核的时候用 - @ApiModelProperty(value = "审核状态") + @ApiModelProperty(value = "审核状态,1取消审核") private String checkStatus; } diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java index 359121d..5d5611f 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java @@ -1,23 +1,29 @@ package com.transitPlatForm.transitPF.service.impl; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.transitPlatForm.common.core.domain.Result; -import com.transitPlatForm.common.core.domain.entity.reg.RegApply; +import com.transitPlatForm.common.core.domain.entity.reg.*; +import com.transitPlatForm.common.utils.spring.SpringUtils; import com.transitPlatForm.interfaceCommon.mapper.RegApplyMapper; import com.transitPlatForm.interfaceCommon.utils.CommonUtil; +import com.transitPlatForm.interfaceCommon.utils.LisUtil; +import com.transitPlatForm.transitPF.mapper.RegLisReportMapper; import com.transitPlatForm.transitPF.mapper.RegTransitSampleMapper; import com.transitPlatForm.transitPF.pojo.DTO.LisReportDTO; import com.transitPlatForm.transitPF.pojo.DTO.RegTransitSampleDTO; import com.transitPlatForm.transitPF.pojo.DTO.SampleSignVO; -import com.transitPlatForm.common.core.domain.entity.reg.RegTransitSample; -import com.transitPlatForm.common.core.domain.entity.reg.RegTransitSampleDetail; import com.transitPlatForm.transitPF.service.util.RequestInfoUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -29,6 +35,12 @@ public class RegInterfaceImpl { RegTransitSampleMapper regTransitSampleMapper; @Autowired RequestInfoUtil requestInfoUtil; + @Autowired + RegLisReportMapper regLisReportMapper; + + @Value("${transitInterface.postURL:}") + String postURL; + /** * 新增条码信息 @@ -82,11 +94,8 @@ public class RegInterfaceImpl { regTransitSample.setCheckPUR(checkPUR); regTransitSample.setStatus("10"); regTransitSample.setDataSource("1"); - regTransitSampleMapper.addRegTransitSample(regTransitSample); - for (RegTransitSampleDetail regTransitSampleDetail : regTransitSampleDetailList) { - regTransitSampleMapper.addRegTransitSampleDetail(regTransitSampleDetail); - } - return new Result("0",""); + SpringUtils.getBean(RegInterfaceImpl.class).saveRegTransitSample(regTransitSample, regTransitSampleDetailList); + return new Result("0","保存成功!"); } /** @@ -280,7 +289,7 @@ public class RegInterfaceImpl { } regTransitSample60.setBarcode(barcode); regTransitSample60.setStatus("60"); - + regTransitSample60.setSendFlag("0"); //发送标志 requestInfoUtil.updateRegTransitSampleStatus(regTransitSample60,regApply); break; case "70": //结果审核 @@ -297,7 +306,7 @@ public class RegInterfaceImpl { regTransitSample70.setReportUserCode(reportUserCode); regTransitSample70.setReportUserName(reportUserName); regTransitSample70.setStatus("70"); - + regTransitSample70.setSendFlag("0"); //发送标志 List collect1 = regTransitSampleList1.stream().filter(regTransitSample2 -> Integer.parseInt(regTransitSample2.getStatus()) < 70).collect(Collectors.toList()); if(collect1.size() <= 1){ regApply.setStatus("30"); @@ -403,10 +412,6 @@ public class RegInterfaceImpl { return new Result("0","删除成功!"); } - - - - public Result test(){ RegTransitSample regTransitSample = new RegTransitSample(); List regTransitSampleList = regTransitSampleMapper.getRegTransitSample(regTransitSample); @@ -426,4 +431,127 @@ public class RegInterfaceImpl { return new Result("0","成功!"); } + /** + * 查询报告数据 + * @param jsonStr + * @return + */ + public Result queryReport(String jsonStr) { + JSONObject jsonObject = JSONUtil.parseObj(jsonStr).getJSONObject("req"); + String barcode = jsonObject.getStr("barcode"); + if(barcode == null || barcode.equals("")) return new Result("-1","barcode条码号不能为空!"); + List lisReportDTOList = new ArrayList<>(); + RegPatMain regPatMain = new RegPatMain(); + regPatMain.setBarcode(barcode); + List regPatMainList = regLisReportMapper.queryRegPatMainList(regPatMain); + for (RegPatMain patMain : regPatMainList) { + String reportNo = patMain.getReportNo(); + List regResultList = regLisReportMapper.queryRegResult(reportNo); + List regResultGermList = regLisReportMapper.queryRegResultGerm(reportNo); + List regResultMedList = regLisReportMapper.queryRegResultMed(reportNo); + LisReportDTO lisReportDTO = new LisReportDTO(); + lisReportDTO.setRegPatMain(regPatMain); + lisReportDTO.setRegResultList(regResultList); + lisReportDTO.setRegResultGermList(regResultGermList); + lisReportDTO.setRegResultMedList(regResultMedList); + lisReportDTOList.add(lisReportDTO); + } + return new Result("0","查询成功!",lisReportDTOList); + } + + public Result queryReportPDF(String jsonStr) { + JSONObject jsonObject = JSONUtil.parseObj(jsonStr).getJSONObject("req"); + String barcode = jsonObject.getStr("barcode"); + if(barcode == null || barcode.equals("")) return new Result("-1","barcode条码号不能为空!"); + RegPatMain regPatMain = new RegPatMain(); + regPatMain.setBarcode(barcode); + List regReportFileList = new ArrayList<>(); + List reportPDFList = new ArrayList<>(); + List regPatMainList = regLisReportMapper.queryRegPatMainList(regPatMain); + for (RegPatMain patMain : regPatMainList) { + String reportNo = patMain.getReportNo(); + RegReportFile regReportFile = regLisReportMapper.getRegReportFile(reportNo); + if(regReportFile != null){ + regReportFileList.add(regReportFile); + reportPDFList.add(regReportFile.getReport()); + } + + } + + if(regReportFileList.isEmpty()){ + //使用接口去查询数据 + for (RegPatMain patMain : regPatMainList) { + String reportNo = patMain.getReportNo(); + String jsonStr1 = "{\"method\":\"pdfData\",\"bgdh\":\""+reportNo+"\"}"; + Result result = postHttp(jsonStr1); + if(!result.getCode().equals("0")) return result; + reportPDFList.add(LisUtil.isBank(result.getData())); + } + } + return new Result("0","查询成功",reportPDFList); + } + + public Result postHttp(String json){ + String url = ""; + String ret = ""; + + url = postURL; + + log.info("调用地址:"+url); + //log.info("调用lis接口,入参:"+json); + try (HttpResponse httpResponse = HttpRequest.post(url) + .header("Content-Type", "application/json;charset=utf-8") + .body(json) + .execute()) { + int status = httpResponse.getStatus(); + ret = httpResponse.body(); + if(status != 200){ + log.error("调用lis的http接口失败!"+ret); + return new Result("-1",ret); + } + + } catch (Exception e){ + log.error("调用lis的http接口失败!"+e.getMessage()); + return new Result("-1",e.getMessage()); + } + log.info("调用lis的接口,入参:"+json+"\r\n出参:"+ret); + //解析出参 + JSONObject jsonObject = JSONUtil.parseObj(ret); + String resultCode = String.valueOf(jsonObject.get("resultCode")); + String message = String.valueOf(jsonObject.get("message")); + if(!resultCode.equals("0")){ + return new Result("-1","调用lis接口失败:"+message); + } + return new Result("0","调用lis接口成功",message); + } + + public Result cyclicQuery(String jsonStr) { + JSONObject jsonObject = JSONUtil.parseObj(jsonStr).getJSONObject("req"); + String srcHospCode = jsonObject.getStr("SrcHospCode"); + if(srcHospCode == null || srcHospCode.equals("")) return new Result("-1","srcHospCode医院编码不能为空!"); + List stringList = regLisReportMapper.queryCyclicData(srcHospCode); + return new Result("0","查询成功!",stringList); + } + + public Result updateSendFlag(String jsonStr) { + JSONObject jsonObject = JSONUtil.parseObj(jsonStr).getJSONObject("req"); + String barcode = jsonObject.getStr("barcode"); + if(barcode == null || barcode.equals("")) return new Result("-1","barcode条码号不能为空!"); + RegTransitSample regTransitSample = new RegTransitSample(); + regTransitSample.setBarcode(barcode); + regTransitSample.setSendFlag("1"); + regTransitSampleMapper.updateRegTransitSample(regTransitSample); + return new Result("0","修改标志成功!"); + } + + @Transactional(rollbackFor = Exception.class) + public void saveRegTransitSample(RegTransitSample regTransitSample,List regTransitSampleDetailList) { + String barcode = regTransitSample.getBarcode(); + regTransitSampleMapper.delRegTransitSample(barcode); + regTransitSampleMapper.delRegTransitSampleDetail(barcode); + regTransitSampleMapper.addRegTransitSample(regTransitSample); + for (RegTransitSampleDetail regTransitSampleDetail : regTransitSampleDetailList) { + regTransitSampleMapper.addRegTransitSampleDetail(regTransitSampleDetail); + } + } } diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java index 0204061..142f8e9 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java @@ -70,6 +70,14 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { return regInterfaceImpl.addReport(jsonStr); case "delReport": //删除报告 return regInterfaceImpl.delReport(jsonStr); + case "queryReport": //查询报告 + return regInterfaceImpl.queryReport(jsonStr); + case "queryReportPDF": //查询pdf报告 + return regInterfaceImpl.queryReportPDF(jsonStr); + case "cyclicQuery": + return regInterfaceImpl.cyclicQuery(jsonStr); + case "updateSendFlag": + return regInterfaceImpl.updateSendFlag(jsonStr); // case "test": // return test(); case "pdfData": diff --git a/pf_transitPF/src/main/resources/mapper/RegLisReportMapper.xml b/pf_transitPF/src/main/resources/mapper/RegLisReportMapper.xml index 31df69c..f1dce47 100644 --- a/pf_transitPF/src/main/resources/mapper/RegLisReportMapper.xml +++ b/pf_transitPF/src/main/resources/mapper/RegLisReportMapper.xml @@ -31,5 +31,23 @@ + + + + + + \ No newline at end of file diff --git a/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml b/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml index c55c357..065138d 100644 --- a/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml +++ b/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml @@ -289,12 +289,13 @@ operdatetime = #{operdatetime}, opercode = #{opercode}, opername = #{opername}, + sendFlag = #{sendFlag}, update_by = #{update_by},update_time = #{update_time} where barcode = #{barcode} - and SrcHospCode = #{SrcHospCode} and DstHospCode = #{DstHospCode} diff --git a/sql/transit/updatedb_transit.sql b/sql/transit/updatedb_transit.sql index e0eb89b..b47f178 100644 --- a/sql/transit/updatedb_transit.sql +++ b/sql/transit/updatedb_transit.sql @@ -16,4 +16,10 @@ if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'reg_ if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'reg_pat_main' AND COLUMN_NAME = 'printFlag') begin alter table reg_pat_main add printFlag varchar(2) + end + + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'reg_TransitSample' AND COLUMN_NAME = 'sendFlag') + begin + alter table reg_TransitSample add sendFlag varchar(10) end \ No newline at end of file