From 050c9712591dcd97ba1d508e3f7bc2cda9196f60 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 18 十月 2024 14:22:41 +0800 Subject: [PATCH] 2024-10-18 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java | 4 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 36 ++++- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 31 +++-- ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java | 140 +++++++++++++++++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java | 5 ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java | 8 + ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java | 5 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 6 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java | 13 ++ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java | 93 ++++++++++----- 10 files changed, 285 insertions(+), 56 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java index f275a08..6ead066 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java @@ -275,6 +275,7 @@ responseJson = HttpClientUtils.sendPost(LIS_URL + apiConfig.getApiUrl(), params); break; } + log.info("璇锋眰杩斿洖鍊�1 ->{}",responseJson); Integer isResponse = apiConfig.getIsResponse(); JSONObject response = null; if (isResponse == 1) { @@ -286,8 +287,10 @@ AjaxResult ajaxResult = AjaxResult.success(); if (response.getStr(apiConfig.getResultDataKey()) != null && StrUtil.isNotBlank(response.getStr(apiConfig.getResultDataKey()))){ JSONArray resultData = response.getJSONArray(apiConfig.getResultDataKey()); + log.info("璇锋眰杩斿洖鍊�2 ->{}",JSONUtil.toJsonStr(resultData)); List<Map<String, String>> list = new ArrayList<>(); for (Object resultDatum : resultData) { + log.info("璇锋眰杩斿洖鍊�3 ->{}",JSONUtil.toJsonStr(resultDatum)); JSONObject object = (JSONObject) resultDatum; ajaxResult = save(object, type,apiConfig,JSONUtil.toJsonStr(params)); Map<String, String> map = new HashMap<>(); @@ -321,6 +324,7 @@ if (code.equals("lis") || code.equals("pacs")) tabName = ((ApiConfig)hisApiConfig).getTabName(); else tabName = ((HisApiConfig) hisApiConfig).getTabName(); + log.info("save鏂规硶 ->{}", tabName); Connection connection = getConnection(); Boolean isExists = tabIsExists(connection, tabName); if (null == isExists) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java index 8f944bc..cd155b5 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java @@ -559,7 +559,8 @@ // wq2.eq(TjOrderDetail::getIsSampling, 0); // List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2); List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); - tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser); + log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1)); + tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); //妫�楠岀敵璇� OutpintestapplyDto dto = new OutpintestapplyDto(); @@ -764,6 +765,7 @@ if (jysqdh != null && !jysqdh.isEmpty()){ for (String sqdh : jysqdh) { AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); String result = cancelLisAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code= object.getStr("ResultCode"); @@ -874,6 +876,7 @@ if (jcsqdh != null && !jcsqdh.isEmpty()){ for (String sqdh : jcsqdh) { AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); + log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult)); String result = cancelPacsAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code = object.getStr("ResultCode"); @@ -888,6 +891,7 @@ if (jysqdh != null && !jysqdh.isEmpty()){ for (String sqdh : jysqdh) { AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); + log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); String result = cancelLisAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code= object.getStr("ResultCode"); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java index 3bb8720..e0e0ae6 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethod.java @@ -16,6 +16,7 @@ import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; import com.ltkj.hosp.lisDto.LisSaveSqdxxDto; import com.ltkj.hosp.lisDto.LisSaveSqdxxJyxmlistDto; +import com.ltkj.hosp.mapper.TbTransitionMapper; import com.ltkj.hosp.service.*; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; @@ -58,6 +59,14 @@ private IdUtils idUtils; @Autowired private ISysConfigService configService; + @Autowired + private ITjOrderService orderService; + @Autowired + private ITjCustomerService customerService; + @Autowired + private TbTransitionMapper tbTransitionMapper; + @Autowired + private ITjSamplingService tjSamplingService; /** * 淇濆瓨妫�楠屽崟鐢宠淇℃伅 @@ -181,6 +190,128 @@ } return true; } + + public Boolean save(TjSampling sampling,TjOrder tjOrder,TjCustomer tjCustomer){ + AtomicInteger xh = new AtomicInteger(); + LisSaveSqdxxDto lisSaveSqdxxDto = new LisSaveSqdxxDto(); +// String jyxh = idUtils.generateLisID(); + lisSaveSqdxxDto.setJyxh(sampling.getJyxh()); + lisSaveSqdxxDto.setBah(tjOrder.getCardId()); + lisSaveSqdxxDto.setBrxm(tjCustomer.getCusName()); + lisSaveSqdxxDto.setBrdm(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); + lisSaveSqdxxDto.setXb(tjCustomer.getCusSex() == 1 ? "2" : "1"); + lisSaveSqdxxDto.setCsrq(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); + AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); + lisSaveSqdxxDto.setNl(String.valueOf(ageResult.getAge())); + lisSaveSqdxxDto.setNldw(String.valueOf(ageResult.getUnit())); + lisSaveSqdxxDto.setSfzh(tjCustomer.getCusIdcard()); + lisSaveSqdxxDto.setLxdh(tjCustomer.getCusPhone()); + lisSaveSqdxxDto.setJtzz(""); + Date date = new Date(); + lisSaveSqdxxDto.setSqrq(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); + lisSaveSqdxxDto.setCyrq(""); + lisSaveSqdxxDto.setLczd(""); + lisSaveSqdxxDto.setBz(""); + lisSaveSqdxxDto.setKsbm("0101"); + lisSaveSqdxxDto.setSqys("00029"); + lisSaveSqdxxDto.setKfbz("1"); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + ArrayList<LisSaveSqdxxJyxmlistDto> dtos = new ArrayList<>(); + BigDecimal allPrice = tbTransitionMapper.getLisPriceByTjNumAndParentProId(tjOrder.getTjNumber(), sampling.getProId()); + lisSaveSqdxxDto.setFyje(allPrice.toString()); + lisSaveSqdxxDto.setYbbm(sampling.getSpecimenTypeCode()); + + if (sampling.getIsMerge() == 1){ + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getParentId, sampling.getId()); + List<TjSampling> list = tjSamplingService.list(wrapper); + for (TjSampling tjSampling : list) { + TjProject project = projectService.getById(tjSampling.getProId()); + LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); + dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); + dto.setJyxm(tjSampling.getJyxmdm()); + dto.setXmmc(tjSampling.getProName()); + dtos.add(dto); + + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailsDtos.add(detailsDto); + } + }else { + TjProject project = projectService.getById(sampling.getProId()); + LisSaveSqdxxJyxmlistDto dto = new LisSaveSqdxxJyxmlistDto(); + dto.setXh(String.valueOf(xh.getAndIncrement() + 1)); + dto.setJyxm(sampling.getJyxmdm()); + dto.setXmmc(sampling.getProName()); + dtos.add(dto); + + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(project.getSl()); + detailsDto.setProjg(project.getProPrice()); + detailsDtos.add(detailsDto); + } + + lisSaveSqdxxDto.setJyxmlist(dtos); + log.info("妫�楠岀敵璇峰弬鏁� ->{}", JSONUtil.toJsonStr(lisSaveSqdxxDto)); +// if (true) +// return true; + AjaxResult ajaxResult = lisApiMethodService.saveSqdxx(lisSaveSqdxxDto); + // Lis璇锋眰杩斿洖 ->{"msg":"鎿嶄綔澶辫触","code":500,"result":{"Response":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}}} + // {"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"ResultContent":"鎴愬姛","ResultData":null,"ResultCode":"1"}} + log.info("Lis璇锋眰杩斿洖 ->{}", JSONUtil.toJsonStr(ajaxResult)); + String result = ajaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(result); + String code = object.getStr("ResultCode"); + if (code.equals("1")) { + for (OutpintestapplyDetailsDto detail : detailsDtos) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(tjOrder.getCardId()); + tree.setPationid(tjCustomer.getPationId()); + tree.setSqdh(sampling.getJyxh()); + tree.setFyhj(allPrice.toString()); + String mxfyxmbm = detail.getMxfyxmbm(); + tree.setHisXmdm(mxfyxmbm); + tree.setType("妫�楠�"); + tree.setTjPrice(String.valueOf(detail.getProjg())); + LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (detail.getSfzhfy().equals("1")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper3); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper4); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + tree.setJxbz(sampling.getJxbz()); + ltkjJianchajianyanTreeService.save(tree); + } + return true; + } else { + log.error("璇锋眰澶辫触 ->{}", lisSaveSqdxxDto); + return false; + } + } + public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TjProject> projects,List<TbTransition> detailList) { // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); // wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); @@ -349,4 +480,13 @@ return false; } } + + /** + * 妫�楠岄」鐩瓧鍏哥殑妫�楠屽垎绫讳唬鐮佷笉鑳藉瓨鍦ㄤ簬璇ユ帴鍙h繑鍥炰腑锛屽鏋滃瓨鍦ㄥ垯涓嶈兘鍚堝苟 + * 鑾峰彇妫�楠屽垎绫诲悎骞朵俊鎭瓧鍏� 瀛樺湪鎵嶈兘鍚堝苟鍙戦�� 涓嶅瓨鍦ㄥ垯鍙兘鍗曟鍙戦�� + * @return + */ + public AjaxResult getJyFlHb(){ + return lisApiMethodService.getJyflhbxx(); + } } diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java index b4493c2..3bbcd18 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/lis/LisApiMethodService.java @@ -113,11 +113,10 @@ map.put("jyxh", jyxh); map.put("brxm", brxm); log.info("浣滃簾妫�楠� ->{}", JSONUtil.toJsonStr(map)); - // TODO 鏆備笉璇锋眰 - return AjaxResult.warn("鏆傛棤姝ゆ暟鎹�"); +// return AjaxResult.warn("鏆傛棤姝ゆ暟鎹�"); // String post = HttpClientUtils.sendPost(HIS_URL + "/updateSqdxx", map); // return AjaxResult.success().put("data", post); -// return service.getLisData("updateSqdxx",map); + return service.getLisData("updateSqdxx",map); } diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java index a4c086d..6dd49b0 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java @@ -86,10 +86,16 @@ hashMap.put("examNo", examNo); hashMap.put("name", name); log.info("浣滃簾妫�鏌� ->{}", JSONUtil.toJsonStr(hashMap)); - return getMethodService.getPacsData("updatePacsApply", hashMap); + // TODO 鏆備笉鍙戝嚭pacs璇锋眰 +// return getMethodService.getPacsData("updatePacsApply", hashMap); + JSONObject object = JSONUtil.createObj(); + object.putOpt("ResultCode","1"); + return AjaxResult.success().put("data",JSONUtil.toJsonStr(object)); } public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer, List<TbTransition> detailList) { + if (true) + return true; JSONArray array = JSONUtil.createArray(); ArrayList<SavePacsApply> errorPacsList = new ArrayList<>(); ArrayList<SavePacsApply> successPacsList = new ArrayList<>(); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index 1cb7102..47729ee 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -416,10 +416,10 @@ // wq.eq(TjOrderDetail::getIsSampling, 0); // List<TjOrderDetail> detailList = tjOrderDetailService.list(wq); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null); } - public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser) { + public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { if (null != detailList && detailList1) { String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS"); for (TjOrderDetail detail : detailList) { @@ -436,6 +436,7 @@ wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); sampling.setSpecimenType(jybbzd.getJybbmc()); + sampling.setJyxmdm(jyxmzd.getJyxmdm()); } } else { TjProject project1 = projectService.getById(proParentId); @@ -447,6 +448,7 @@ wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); sampling.setSpecimenType(jybbzd.getJybbmc()); + sampling.setJyxmdm(jyxmzd.getJyxmdm()); } } sampling.setSamplingNumber(format); @@ -465,8 +467,14 @@ sampling.setUpdateTime(new Date()); sampling.setCreateId(String.valueOf(sysUser.getUserId())); sampling.setUpdateId(String.valueOf(sysUser.getUserId())); + sampling.setJxbz(jxbz); samplingService.save(sampling); } + } + String config = configService.selectConfigByKey("sfkqdyhis"); + if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ + AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); + log.info("getJyFlHb ->{}",JSONUtil.toJsonStr(ajaxResult)); } } @@ -580,6 +588,7 @@ List<TjProject> projectList=new ArrayList<>(); + ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>(); for (String tjProId : tjProIds) { // LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); // wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); @@ -790,6 +799,7 @@ detail.setUpdateId(String.valueOf(sysUser.getUserId())); detail.setJxbz(jxbz); tjOrderDetailService.save(detail); + tjOrderDetails.add(detail); } @@ -808,6 +818,12 @@ } } + List<TjOrderDetail> collect = tjOrderDetails.stream().filter(item -> { + TjProject project = projectService.getById(item.getProId()); + return project != null && project.getProParentId() == 0; + }).collect(Collectors.toList()); + addCaiYangDengJi(collect, !collect.isEmpty(), order, sysUser,jxbz); + tjOrderDetails = new ArrayList<>(); ArrayList<TjProject> jianChaProjects = new ArrayList<>(); ArrayList<TjProject> jianYanProjects = new ArrayList<>(); @@ -842,6 +858,7 @@ detail1.setUpdateId(String.valueOf(sysUser.getUserId())); detail1.setJxbz(jxbz); tjOrderDetailService.save(detail1); + tjOrderDetails.add(detail1); if(null !=config && config.equals("Y")){ //妫�楠� // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { @@ -979,14 +996,17 @@ } } } + collect = tjOrderDetails.stream().filter(item -> { + TjProject project = projectService.getById(item.getProId()); + return project != null && project.getProParentId() == 0; + }).collect(Collectors.toList()); + addCaiYangDengJi(collect, !collect.isEmpty(), order, sysUser,jxbz); } + Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); if(null !=config && config.equals("Y")){ - if (lisApiMethod.isUseLisAndPacsRegister(order)) { - List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); - List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); - + if (useLisAndPacsRegister) { +// List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); }else { @@ -1766,7 +1786,7 @@ } List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); - addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser); + addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null); } //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙� diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index cb85d44..2f3b4d1 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -57,6 +57,7 @@ import com.ltkj.hosp.hisDto.OutpinimpapplyDto; import com.ltkj.hosp.hisDto.OutpinmedicapplyDto; import com.ltkj.hosp.mapper.TestMapper; +import com.ltkj.hosp.mapper.TjSamplingMapper; import com.ltkj.hosp.pacsDto.SavePacsApply; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; @@ -212,6 +213,10 @@ private HisPDFUtil hisPDFUtil; @Value("${path.reportServer}") private String urlValue; + @Autowired + private ITjSamplingService samplingService; + @Autowired + private TjSamplingMapper tjSamplingMapper; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -1082,15 +1087,15 @@ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); } // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs -// if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 -// newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); -// AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result); -// if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; -// }else { -// hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); -// } - hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); + newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result); + if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; + }else { + hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); + } +// hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); return AjaxResult.success(tjNumber); } else { tjCustomer.setCardId(tjOrder.getTjNumber()); @@ -2553,6 +2558,7 @@ customer.setCardId("0"); tjCustomerService.updateById(customer); String configByKey = configService.selectConfigByKey("sfkqdyhis"); + tjSamplingMapper.deleteByTjNumAndCusId(tjNum,order.getUserId()); if (configByKey.equals("Y")) { HashMap<String, Object> hisRequestParams = new HashMap<>(); @@ -2580,7 +2586,6 @@ } } - return AjaxResult.success("鎾ら攢鎴愬姛!!!"); } return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!"); } @@ -2825,6 +2830,7 @@ HashMap<String, Object> hisRequestParams = new HashMap<>(); hisRequestParams.put("patientId", order.getCardId()); AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); + log.info("queryPay ->{}",JSONUtil.toJsonStr(queryPay)); if (Integer.parseInt(queryPay.get("code").toString()) == 200) { List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data"); log.info("data鐨勬暟鎹槸" + JSONUtil.toJsonStr(data)); @@ -2858,7 +2864,7 @@ } } try { - extracted(dto); + extracted(dto,order); } catch (Exception e) { log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�"); return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!"); @@ -2868,8 +2874,8 @@ return AjaxResult.error(); } - // @Transactional(propagation =Propagation.REQUIRES_NEW) - public void extracted(TjProBlDto dto) { +// @Transactional(propagation =Propagation.REQUIRES_NEW) + public void extracted(TjProBlDto dto,TjOrder order) { for (String bldh : dto.getBldhs()) { remarkService.deleteTjOrderDetailByjxbz(bldh); tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); @@ -2877,6 +2883,7 @@ transitionService.deleteTjOrderDetailByjxbz(bldh); blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh)); } + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(),order.getUserId(),dto.getBldhs()); } diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java index b8d687d..98084ad 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java @@ -12,6 +12,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.pinyin.PinyinUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ltkj.common.core.redis.RedisCache; @@ -19,11 +20,12 @@ import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; +import com.ltkj.system.service.ISysConfigService; import com.ltkj.web.controller.lis.LisApiMethod; -import com.sun.xml.internal.bind.v2.TODO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.aspectj.weaver.AjAttribute; import org.springframework.beans.BeanUtils; import org.springframework.security.access.prepost.PreAuthorize; @@ -44,6 +46,7 @@ * @author ltkj_璧典匠璞�&鏉庢牸 * @date 2023-04-11 */ +@Slf4j @RestController @RequestMapping("/sampling/sampling") @Api(tags = "PC绔� 浣撴閲囨牱绠$悊") @@ -66,6 +69,8 @@ private LisApiMethod lisApiMethod; @Autowired private IdUtils idUtils; + @Autowired + private ISysConfigService configService; /** * 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 @@ -247,12 +252,15 @@ */ @GetMapping("/getCusCyList") @ApiOperation(value = "鏍规嵁瀹㈡埛鑾峰彇閲囨牱鍒楄〃") - public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) { + public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId, + @RequestParam(defaultValue = "1") @ApiParam(value = "0鏄�1鍚�") Integer isSignFor) { if (cusId == null || StrUtil.isBlank(cusId)) return AjaxResult.error("鍙傛暟閿欒,鏈紶鍙傛暟"); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getCusId, cusId); - wrapper.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1); + wrapper.eq(TjSampling::getIsSignFor,isSignFor); + wrapper.and(i -> i.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1)); +// wrapper.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1); wrapper.orderByDesc(TjSampling::getIsMerge); List<TjSampling> list = tjSamplingService.list(wrapper); if (list.isEmpty()){ @@ -398,38 +406,63 @@ @ApiOperation(value = "纭閲囨牱鎺ュ彛") @Transactional public AjaxResult confirmSampling(@RequestBody List<String> ids) { - if (null == ids || ids.size() == 0) { + if (null == ids || ids.isEmpty()) { return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」"); } - for (String id : ids) { - TjSampling sampling = tjSamplingService.getById(id); - if (null != sampling) { - sampling.setIsSignFor("0"); - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.eq(TjProject::getProParentId, sampling.getProId()); - List<TjProject> projectList = projectService.list(wq); - List<String> collect = new ArrayList<>(); - for (TjProject project : projectList) { - Long proId = project.getProId(); - collect.add(String.valueOf(proId)); - } - LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); - wq1.in(TjSampling::getProId, collect); - List<TjSampling> samplingList = tjSamplingService.list(wq1); - if (null != samplingList && samplingList.size() > 0) { - for (TjSampling tjSampling : samplingList) { - tjSampling.setIsSignFor("0"); - tjSamplingService.updateById(tjSampling); - } - } + List<TjSampling> tjSamplings = tjSamplingService.listByIds(ids); + if (tjSamplings.isEmpty()) + return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」"); + for (TjSampling sampling : tjSamplings) { + sampling.setIsSignFor("0"); +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, sampling.getProId()); +// List<TjProject> projectList = projectService.list(wq); +// List<String> collect = new ArrayList<>(); +// for (TjProject project : projectList) { +// Long proId = project.getProId(); +// collect.add(String.valueOf(proId)); +// } +// LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); +// wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); +// wq1.in(TjSampling::getProId, collect); +// List<TjSampling> samplingList = tjSamplingService.list(wq1); +// if (null != samplingList && samplingList.size() > 0) { +// for (TjSampling tjSampling : samplingList) { +// tjSampling.setIsSignFor("0"); +// tjSamplingService.updateById(tjSampling); +// } +// } + TjOrder tjOrder = orderService.getOrderByTjNum(sampling.getTjNum()); + TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId()); + boolean updChild; + String config = configService.selectConfigByKey("sfkqdyhis"); + Boolean save; + if (null != config && config.equals("Y")) { + save = lisApiMethod.save(sampling, tjOrder, tjCustomer); + }else { + save = true; } - if (!tjSamplingService.updateById(sampling)) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("鎿嶄綔澶辫触,璇烽噸璇�"); + if (save) { + if (sampling.getIsMerge() == 1) { + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getParentId, sampling.getId()); + List<TjSampling> list = tjSamplingService.list(wrapper); + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); + } + updChild = tjSamplingService.updateBatchById(list); + } else { + updChild = true; + } + if (!tjSamplingService.updateById(sampling) && !updChild) { +// lisApiMethod.cancel(sampling.getJyxh(), tjOrder.getCardId(), PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�"); + } + } else { + return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�"); } } - return AjaxResult.success("鎿嶄綔鎴愬姛"); } } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java index 70360fb..2d53023 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java @@ -235,8 +235,11 @@ +// @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" + +// "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" + +// " WHERE a.deleted=0 AND !ISNULL(a.flowing_water_id) AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1") @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" + "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" + - " WHERE a.deleted=0 AND !ISNULL(a.flowing_water_id) AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1") + " WHERE a.deleted=0 AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1") List<TjOrderDetail> getCaiYangDengJi(Long orderId); } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java index 9630fbf..8ee3f34 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java @@ -128,4 +128,17 @@ // "</foreach>", // "</script>"}) boolean updateHeBingXms(@Param("ids") List<String> ids); + + @Delete("DELETE FROM tj_sampling WHERE tj_num = #{tjNum} AND cus_id = #{userId}") + int deleteByTjNumAndCusId(@Param("tjNum") String tjNum,@Param("userId") Long userId); + + @Delete({ + "<script>", + "DELETE FROM tj_sampling WHERE tj_num = #{tjNum} AND cus_id = #{userId} and jxbz in ", + "<foreach collection='ids' item='id' open='(' separator=',' close=')'>", + "#{id}", + "</foreach>", + "</script>" + }) + int deleteByTjNumAndCusIdAndJxbz(@Param("tjNum") String tjNum,@Param("userId") Long userId,@Param("ids")List<String> ids); } -- Gitblit v1.8.0