123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- package com.diagbot.facade.data;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.diagbot.dto.RespDTO;
- import com.diagbot.dto.data.AHomeDiagnoseDTO;
- import com.diagbot.entity.HomeDiagnoseInfo;
- import com.diagbot.entity.shaoyifu.request.HomePageDiagnoseRequest;
- import com.diagbot.entity.shaoyifu.request.PatientListRequest;
- import com.diagbot.entity.shaoyifu.response.HomePageDiagnoseResponse;
- import com.diagbot.entity.shaoyifu.response.PatientListResponse;
- import com.diagbot.entity.shaoyifu.util.HttpApi;
- import com.diagbot.entity.shaoyifu.util.SYFNlRequest;
- import com.diagbot.service.impl.HomeDiagnoseInfoServiceImpl;
- import com.diagbot.util.BeanUtil;
- import com.diagbot.util.TZDBConn;
- import com.diagbot.vo.data.AHomeDiagnoseVO;
- import com.google.common.collect.Lists;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- import java.util.List;
- @Component
- public class AHomeDiagnoseInfoFacade extends HomeDiagnoseInfoServiceImpl{
- @Autowired
- @Qualifier("homeDiagnoseInfoServiceImpl")
- private HomeDiagnoseInfoServiceImpl homeDiagnoseInfoService;
- @Autowired
- private APatientListFacade aPatientListFacade;
- private TZDBConn tzDBConn = new TZDBConn();
- /**
- * 终末质控-定时同步病案首页诊断
- */
- public void executeHomeDiagnose() {
- try {
- /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Calendar start = Calendar.getInstance();
- start.setTime(new Date());
- start.set(Calendar.DATE, start.get(Calendar.DATE) - 1);
- start.set(Calendar.HOUR_OF_DAY, 0);
- start.set(Calendar.MINUTE, 0);
- start.set(Calendar.SECOND, 0);
- Date startTime = start.getTime();
- Calendar end = Calendar.getInstance();
- end.setTime(new Date());
- end.set(Calendar.DATE, end.get(Calendar.DATE));
- end.set(Calendar.HOUR_OF_DAY, 0);
- end.set(Calendar.MINUTE, 0);
- end.set(Calendar.SECOND, 0);
- Date endTime = end.getTime();*/
- PatientListRequest patientListRequest = new PatientListRequest();
- /*patientListRequest.setDATESTART(sdf.format(startTime));
- patientListRequest.setDATEEND(sdf.format(endTime));*/
- patientListRequest.setDATESTART("2020-04-01 00:00:00");
- patientListRequest.setDATEEND("2020-04-08 00:00:00");
- PatientListResponse patientListResponse = aPatientListFacade.getPatientList(patientListRequest);
- for (int i = 0; i < patientListResponse.getData().size(); i++) {
- SYFNlRequest<HomePageDiagnoseRequest> request = new SYFNlRequest<>();
- HomePageDiagnoseRequest homePageDiagnoseRequest = new HomePageDiagnoseRequest();
- homePageDiagnoseRequest.setRdn(patientListResponse.getData().get(i).getRDN());
- request.setData(homePageDiagnoseRequest);
- HttpApi<HomePageDiagnoseResponse> httpApi = new HttpApi<>();
- String a = httpApi.doPost("http://192.1.5.162:8088/api/NlService/GetPDIAGNOSELIST", request);
- HomePageDiagnoseResponse homePageDiagnoseResponse = JSON.parseObject(a, HomePageDiagnoseResponse.class);
- List<HomeDiagnoseInfo> homeDiagnoseList = Lists.newLinkedList();
- for (int j = 0; j < homePageDiagnoseResponse.getData().size(); j++) {
- HomeDiagnoseInfo homeDiagnoseInfo = new HomeDiagnoseInfo();
- homeDiagnoseInfo.setHomePageId(patientListResponse.getData().get(i).getRDN());
- homeDiagnoseInfo.setHospitalId(Long.parseLong("2"));
- homeDiagnoseInfo.setDiagnoseOrderNo(homePageDiagnoseResponse.getData().get(j).getRdn());
- homeDiagnoseInfo.setDiagnoseType(homePageDiagnoseResponse.getData().get(j).getPrimaryflag());
- homeDiagnoseInfo.setDiagnoseTypeShort(homePageDiagnoseResponse.getData().get(j).getPrimaryflag());
- homeDiagnoseInfo.setDiagnoseName(homePageDiagnoseResponse.getData().get(j).getDiagnose());
- homeDiagnoseInfo.setBehospitalType(homePageDiagnoseResponse.getData().get(j).getDcondi());
- homeDiagnoseInfo.setIcdCode(homePageDiagnoseResponse.getData().get(j).getDiagnosecodep());
- homeDiagnoseList.add(homeDiagnoseInfo);
- execute(homeDiagnoseList);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 数据引擎-通过接口更新病案首页诊断
- * @param list
- * @return
- */
- public RespDTO<List<AHomeDiagnoseDTO>> executeHomeDiagnose(List<AHomeDiagnoseVO> list) {
- if(list!=null && list.size()>0){
- List<HomeDiagnoseInfo> homeDiagnoseList=Lists.newArrayList();
- List<AHomeDiagnoseDTO> homeDiagnoseDtoList=Lists.newArrayList();
- homeDiagnoseList=BeanUtil.listCopyTo(list,HomeDiagnoseInfo.class);
- homeDiagnoseDtoList=BeanUtil.listCopyTo(list,AHomeDiagnoseDTO.class);
- execute(homeDiagnoseList);
- return RespDTO.onSuc(homeDiagnoseDtoList);
- }else{
- return RespDTO.onError("未接收到数据!");
- }
- }
- public void execute(List<HomeDiagnoseInfo> homeDiagnoseList){
- List<HomeDiagnoseInfo> addE = Lists.newLinkedList();
- List<HomeDiagnoseInfo> updateE = Lists.newLinkedList();
- if (homeDiagnoseList != null && homeDiagnoseList.size() > 0) {
- homeDiagnoseList.stream().forEach(s -> {
- if(s.getHomePageId()!=null && !"".equals(s.getDiagnoseOrderNo())){
- HomeDiagnoseInfo diagnoseInfo = this.getOne(new QueryWrapper<HomeDiagnoseInfo>()
- .eq("home_page_id", s.getHomePageId())
- .eq("hospital_id", s.getHospitalId())
- .eq("diagnose_order_no", s.getDiagnoseOrderNo()), false);
- if (diagnoseInfo != null) {
- s.setGmtModified(new Date());
- updateE.add(s);
- } else {
- s.setGmtCreate(new Date());
- addE.add(s);
- }
- }
- });
- }
- if(addE.size()>0){
- homeDiagnoseInfoService.saveBatch(addE);
- }
- if(updateE.size()>0){
- homeDiagnoseInfoService.updateBatchByKey(updateE);
- }
- }
- }
|