From 2c785c3d4513daea9deb5c7edbb17a9f17111d25 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 21 二月 2025 17:49:03 +0800 Subject: [PATCH] zjh20250221 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 472 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 338 insertions(+), 134 deletions(-) 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 4322d6c..acf5fba 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 @@ -56,6 +56,7 @@ import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto; import com.ltkj.hosp.hisDto.OutpinimpapplyDto; import com.ltkj.hosp.hisDto.OutpinmedicapplyDto; +import com.ltkj.hosp.mapper.TbTransitionMapper; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.mapper.TjSamplingMapper; import com.ltkj.hosp.pacsDto.SavePacsApply; @@ -89,6 +90,7 @@ import org.aspectj.weaver.ast.Var; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.http.HttpRequest; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.access.prepost.PreAuthorize; @@ -234,6 +236,12 @@ private TjFlowingWaterHisService tjFlowingWaterHisService; @Resource private ITjXdPictureService xdPictureService; + @Autowired + private TjOrderYcxmService ycxmService; + @Autowired + private TbTransitionMapper tbTransitionMapper; + + private static final String TJH = "tjhs:tjh"; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -300,7 +308,7 @@ wqq.like(TjCustomer::getCusName, name); List<TjCustomer> customerList = tjCustomerService.list(wqq); List<TjOrder> list2 = new ArrayList<>(); - if (null != customerList && customerList.size() > 0) { + if (null != customerList && !customerList.isEmpty()) { List<TjOrder> list = new ArrayList<>(); for (TjCustomer customer : customerList) { LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); @@ -311,13 +319,13 @@ list.addAll(tjOrderService.list(wq)); } List<TjOrder> collect = null; - if (list.size() > 0) { + if (!list.isEmpty()) { for (TjOrder order : list) { //绛涢�夋湁璋冩煡闂嵎鐨� LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>(); wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); List<TjSurveyRecord> one = surveyRecordService.list(wqq1); - if (one.size() == 0) { + if (one.isEmpty()) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); @@ -378,7 +386,7 @@ LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); List<TjSurveyRecord> one = surveyRecordService.list(wqq); - if (one.size() == 0) { + if (one.isEmpty()) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); @@ -987,18 +995,18 @@ TjCustomer tjCustomer = tjCustomerService.getOne(wq); if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏"); - LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TjOrder::getUserId, tjOrder.getUserId()); - wqq.eq(TjOrder::getCheckStatus, 0); - wqq.isNull(TjOrder::getFinishTime); -// if (!tjCustomer.getCardId().equals("0")) { - wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); +// LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); +// wqq.eq(TjOrder::getUserId, tjOrder.getUserId()); +// wqq.eq(TjOrder::getCheckStatus, 0); +// wqq.isNull(TjOrder::getFinishTime); +//// if (!tjCustomer.getCardId().equals("0")) { +// wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); +//// } +// TjOrder order = tjOrderService.getOne(wqq); +// if (null != order) { +// transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); +// return AjaxResult.error("涓嶅彲閲嶅鐧昏"); // } - TjOrder order = tjOrderService.getOne(wqq); - if (null != order) { - transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); - return AjaxResult.error("涓嶅彲閲嶅鐧昏"); - } TjFlowingWater tjFlowingWater = new TjFlowingWater(); LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard()); @@ -1029,13 +1037,13 @@ } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); - if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { + if (null != tjReservation.getTeamNo()) { tjOrder.setTjType("1"); } else if (tjOrder.getTjType().equals("2")) { tjOrder.setTjType("2"); } } - if(StringUtil.isBlank(tjOrder.getFirmId())){ + if (StringUtil.isBlank(tjOrder.getFirmId())) { tjOrder.setFirmId("0"); } @@ -1077,7 +1085,10 @@ tjOrderService.tjQiandaodengji(tjOrder.getTjNumber()); return result; } - } finally { + }catch (Exception e){ + log.error(String.valueOf(e)); + } + finally { lock.unlock(); } return AjaxResult.error(); @@ -1087,15 +1098,16 @@ public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) { //鑾峰彇鎷兼帴鍓嶇紑 - String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); +// String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String makeLisTmhPrefix = ""; //鐢熸垚浣撴鍙� // String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); // if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; - String tjNumber = (SecurityUtils.getUsername()+IdUtils.getTjNumber()); - if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; + String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber()); + if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; tjOrder.setTjNumber(tjNumber); @@ -1142,10 +1154,10 @@ tjFlowingWater.setDiscount(discount.toString()); BigDecimal subtract = paidIn.subtract(copeWith.multiply(discount.divide(BigDecimal.valueOf(10)))); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 搴斾粯: "+copeWith); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鎶樻墸: "+discount); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 瀹炰粯: "+paidIn); - log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鐩稿樊: "+subtract); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 搴斾粯: " + copeWith); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鎶樻墸: " + discount); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 瀹炰粯: " + paidIn); + log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鐩稿樊: " + subtract); if (isPay.equals("true")) { if (null != mallOrder) { @@ -1179,7 +1191,7 @@ //淇敼姣忛」鐨勫師浠风幇浠� // transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber()); //淇敼涓存椂琛ㄤ綋妫�鍙� - transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(),tjOrder.getTjNumber()); + transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber()); //琛ュ樊浠� /* if(subtract.compareTo(BigDecimal.ZERO)>0){ tjFlowingWater.setPaidIn(paidIn.add(subtract)); @@ -1234,8 +1246,8 @@ remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); xdPictureService.saveBatch(xdPictureList); - List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); - addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); +// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); +// addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); } else { newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); @@ -1338,7 +1350,9 @@ // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs + log.info("绛惧埌鐧昏鎺ュ彛璇ヤ汉鍛�: "+tjOrder.getTjNumber()+" 鐨勪綋妫�绫诲瀷鏄�:"+tjOrder.getTjType()); if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�"); // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 tjFlowingWater.setPayStasus(1L); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); @@ -1348,9 +1362,11 @@ List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); xdPictureService.saveBatch(xdPictureList); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); + log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); return AjaxResult.success(tjNumber); - }else { + } else { + log.info(tjOrder.getTjNumber()+"else绛惧埌鐧昏杩涘叆鏀惰垂鏂规硶"); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater); if (error != null) return error; @@ -1384,8 +1400,8 @@ wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber()); wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard()); wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId()); - wrapper.isNotNull(TbTransition::getOrdPrice); - wrapper.gt(TbTransition::getOrdPrice, 0); + wrapper.isNotNull(TbTransition::getNowPrice); + wrapper.gt(TbTransition::getNowPrice, 0); List<TbTransition> list = tbTransitionService.list(wrapper); for (TbTransition transition : list) { @@ -1399,7 +1415,7 @@ JSONObject obj = JSONUtil.createObj(); Integer sl = project.getSl(); - BigDecimal danjia = transition.getOrdPrice(); + BigDecimal danjia = transition.getNowPrice(); BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); obj.putOpt("danJia", danjia); obj.putOpt("jieSuanJe", allPrice); @@ -1408,11 +1424,6 @@ obj.putOpt("zhiXingKsMc", dept.getDeptName()); obj.putOpt("shouFeiXmId", project.getHisXmbm()); obj.putOpt("shouFeiXmMc", project.getHisXmmc()); - -// obj.putOpt("zhiXingKs","7805"); -// obj.putOpt("zhiXingKsMc","浣撴绉�"); -// obj.putOpt("shouFeiXmId","4735346"); -// obj.putOpt("shouFeiXmMc","浣撴璐�"); array.add(obj); } map.put("feiYongInfoList", array); @@ -1438,6 +1449,8 @@ public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) { String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String config = configService.selectConfigByKey("sfkqdyhis"); + Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); if (null != detailList && detailList1) { Date date = new Date(); String format = DateUtil.format(date, "yyMMddHHmmssSSS"); @@ -1451,14 +1464,18 @@ sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project.getSpecimenType()); sampling.setSpecimenType(dictLabel); - sampling.setJyxmdm(project.getProId().toString()); + if (config.equals("Y") && lisAndPacsRegister) + sampling.setJyxmdm(project.getLisXmbm()); + else sampling.setJyxmdm(project.getProId().toString()); } else { TjProject project1 = projectService.getById(proParentId); sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); sampling.setSpecimenTypeCode(project1.getSpecimenType()); sampling.setSpecimenType(dictLabel); - sampling.setJyxmdm(project.getProId().toString()); + if (config.equals("Y") && lisAndPacsRegister) + sampling.setJyxmdm(project1.getLisXmbm()); + else sampling.setJyxmdm(project1.getProId().toString()); } sampling.setSamplingNumber(format); @@ -1481,7 +1498,6 @@ samplingService.save(sampling); } } - String config = configService.selectConfigByKey("sfkqdyhis"); if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))) { AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); if (ajaxResult.get("code").toString().equals("200")) { @@ -1509,21 +1525,44 @@ } } - if (StrUtil.isNotBlank(jxbz)){ - tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); - }else { - tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + if (StrUtil.isNotBlank(jxbz)) { + tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz); + } else { + tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); } + } + + + + @GetMapping("/addCaiYangDengJi") + @ApiOperation(value = "鎵嬪姩娣诲姞閲囨牱璁板綍鎺ュ彛") + public AjaxResult addCaiYangDengJi(@RequestParam("tjNum") String tjNum){ + + try { + TjOrder order = tjOrderService.getOrderByTjNum(tjNum); + if(null !=order){ + Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); + SysUser sysUser = userService.getById(userId); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser, null); + } + } catch (NumberFormatException e) { + log.error(String.valueOf(e)); + } + + return AjaxResult.success(); } @PostMapping("/addPlOrderAndDetail") @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛") - @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) +// @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto, HttpServletResponse response) { SysUser sysUser = UserHoder.getLoginUser().getUser(); List<String> cusIds = daoDto.getCusIds(); ArrayList<String> tjNumbers = new ArrayList<>(); + ArrayList<String> errTjh = new ArrayList<>(); if (null != cusIds && !cusIds.isEmpty()) { ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size()); for (String cusId : cusIds) { @@ -1552,6 +1591,7 @@ // } // } // }); + Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { @Override public AjaxResult call() throws Exception { @@ -1560,61 +1600,106 @@ }); try { AjaxResult result = future.get(); - String tjNumber = result.get("tjNumber").toString(); - tjNumbers.add(tjNumber); + String code = result.get("code").toString(); + if (code.equals("200")) { + String tjNumber = result.get("tjNumber").toString(); + tjNumbers.add(tjNumber); + }else { + String userId = result.get("userId").toString(); + errTjh.add(userId); + } } catch (InterruptedException | ExecutionException e) { +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); } } threadPools.shutdown(); } - } - // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 - tjNumbers = new ArrayList<>(); - tjNumbers.add("02095240229171627"); - tjNumbers.add("02095240229173104"); - tjNumbers.add("10001240524172002"); - tjNumbers.add("10001240304124410"); - tjNumbers.add("00325240304160123"); - tjNumbers.add("02095240304162044"); - tjNumbers.add("02095240304162152"); - tjNumbers.add("10001240304163505"); - Map<String, Object> map = null; - try { - map = PDFDocumentUtil.getDocument(); - Document document = (Document) map.get("document"); - for (int i = 0; i < tjNumbers.size(); i++) { + // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 鎵撳嵃瀵艰瘖鍗� + if (!tjNumbers.isEmpty()) { + /* Map<String, Object> map = null; try { - List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumbers.get(i)); - Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumbers.get(i)); - LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); - DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); - String time = null; - if (tjsj != null) { - time = dateFormat.format(tjsj); + map = PDFDocumentUtil.getDocument(); + Document document = (Document) map.get("document"); +// for (int i = 0; i < tjNumbers.size(); i++) { + int i = 0; + for (String tjNumber : tjNumbers) { + try { + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); + if(null !=userInfo && null !=djdInfos && !djdInfos.isEmpty()){ + LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); + DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + String time = null; + if (tjsj != null) { + time = dateFormat.format(tjsj); + } + PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex") + , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time); + PDFDocumentUtil.makeTjInfo(document, djdInfos); + // 澶氭潯鍒欐崲椤� + if (i + 1 < tjNumbers.size()) { + document.newPage(); + } + } + + } catch (DocumentException | IOException e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� + TjOrder order = tjOrderService.getOrderByTjNum(tjNumber); + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(tjNumber); + tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); +// transitionService.deletedTbTransitionByTjNum(tjNum); + tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); + + TjReservation reservation = tjReservationService.getById(order.getReservationId()); + if(null !=reservation){ + reservation.setIsExpire(2); + tjReservationService.updateById(reservation); + transitionService.updateTbTransitionByTjNum(tjNumber); + } + e.printStackTrace(); + } } - PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex") - , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time); - PDFDocumentUtil.makeTjInfo(document, djdInfos); - // 澶氭潯鍒欐崲椤� - if (i + 1 < tjNumbers.size()) { - document.newPage(); - } - } catch (DocumentException | IOException e) { + +// } + document.close(); + ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream"); + String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray()); + return AjaxResult.success().put("file", encodeToString); + } catch (IOException | DocumentException e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); - } + }*/ + Map<String,Object> map=new HashMap<>(); + map.put("tjh",tjNumbers); + return AjaxResult.success("鎿嶄綔鎴愬姛",map); } - document.close(); - ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream"); - String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray()); - return AjaxResult.success().put("file", encodeToString); - } catch (IOException | DocumentException e) { - e.printStackTrace(); + if (!errTjh.isEmpty()){ + Map<String,Object> map=new HashMap<>(); + map.put("errtjh",errTjh); + return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map); + } + return AjaxResult.success(); } - return AjaxResult.success("鎿嶄綔鎴愬姛"); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); } - private void getAjaxResults(String cusIdcard) { + @GetMapping("/signOrderInfo") + public AjaxResult signOrderInfo(@RequestParam("tjNum") String tjNum){ + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNum); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNum); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("djd",djdInfos); + hashMap.put("user",userInfo); + return AjaxResult.success(hashMap); + } + + @Transactional + public void getAjaxResults(String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); @@ -1748,25 +1833,13 @@ DynamicDataSourceContextHolder.clearDataSourceType(); } - private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { + @Transactional + public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusId, userId); TjCustomer tjCustomer = tjCustomerService.getOne(wq); if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪"); - - LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TjOrder::getUserId, userId); - wqq.eq(TjOrder::getCheckStatus, 0); - wqq.isNull(TjOrder::getFinishTime); - if (!tjCustomer.getCardId().equals("0")) { - wqq.eq(TjOrder::getCardId, tjCustomer.getCardId()); - } - TjOrder order = tjOrderService.getOne(wqq); - if (null != order) { - transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId()); - return AjaxResult.error("涓嶅彲閲嶅鐧昏"); - } TjOrder tjOrder = new TjOrder(); Date date = new Date(); tjOrder.setCreateTime(date); @@ -1783,16 +1856,17 @@ if (tjReservation != null) { tjOrder.setReservationId(tjReservation.getId()); mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId())); - if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { - return AjaxResult.error("鏈埌棰勭害鏃堕棿"); - } - if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) { - tjReservation.setIsExpire(1); - tjReservationService.updateById(tjReservation); - return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); - } +// if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { +// return AjaxResult.error("鏈埌棰勭害鏃堕棿"); +// } +// if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) { +// tjReservation.setIsExpire(1); +// tjReservationService.updateById(tjReservation); +// return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); +// } if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo()); if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId()); + if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany()); if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment()); if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo()); if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); @@ -1803,12 +1877,46 @@ } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); + if (null != tjReservation.getTeamNo()) { + tjOrder.setTjType("1"); + } else{ + tjOrder.setTjType("2"); + } + + if (StringUtil.isBlank(tjOrder.getFirmId())) { + tjOrder.setFirmId("0"); + } +// +// tjReservation.setIsExpire(1); +// tjReservationService.updateById(tjReservation); //鐢熸垚浣撴鍙� - String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6)); - tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4)); + //鑾峰彇鎷兼帴鍓嶇紑 + String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber()); + if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; + + +// if (redisCache.hasKey(TJH)) { +// while (true){ +// List<String> tjh = redisCache.getCacheList(TJH); +// if(tjh.contains(tjNumber)){ +// tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber()); +// if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; +// }else { +// tjh.add(tjNumber); +// } +// } +// }else { +// List<String> stringList = tjOrderService. +// list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); +// stringList.add(tjNumber); +// redisCache.setCacheList(TJH,stringList); +// } tjOrder.setTjNumber(tjNumber); if (null != tjOrder.getPhoto()) { File file = new File(tjOrder.getPhoto()); @@ -1849,6 +1957,21 @@ tjCustomer.setCusNumber(cusNumber); // BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); TjFlowingWater tjFlowingWater = new TjFlowingWater(); + tjFlowingWater.setCreateTime(date); + tjFlowingWater.setCreateTime(date); + tjFlowingWater.setUpdateTime(date); + tjFlowingWater.setCreateBy(sysUser.getNickName()); + tjFlowingWater.setUpdateBy(sysUser.getNickName()); +// BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()); + BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard()); + tjFlowingWater.setCopeWith(bigDecimal); +// BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()); + BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard()); + tjFlowingWater.setPaidIn(bigDecimal1); + tjFlowingWater.setDiscount(String.valueOf(10)); + tjFlowingWater.setPayStasus(1L); + tjFlowingWater.setPayType(3L); + tjFlowingWater.setPayStasus(0L); if ("1".equals(tjOrder.getTjType())) { if (tjReservation.getPayType() == 1) { @@ -1897,18 +2020,38 @@ if (tjFlowingWaterService.save(tjFlowingWater)) { tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); tjOrderService.updateById(tjOrder); - - } - asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); + transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber()); + tjCustomer.setCardId(tjOrder.getTjNumber()); + tjCustomerService.updateById(tjCustomer); + transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber()); + tjOrder.setCardId(tjOrder.getTjNumber()); + tjOrderService.updateById(tjOrder); +// asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater); + + if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 + tjFlowingWater.setPayStasus(1L); + tjOrder.setTjFlowingWater(tjFlowingWater); + newSaveextracted(tjOrder, tjCustomer, BigDecimal.valueOf(10), sysUser, tjReservation, tjFlowingWater); + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); + List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); + xdPictureService.saveBatch(xdPictureList); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); +// return AjaxResult.success(tjNumber); + } tjCustomer.setCardId("0"); tjCustomerService.updateById(tjCustomer); return AjaxResult.success().put("tjNumber", tjNumber); } } - return AjaxResult.error(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error().put("userId",userId); } @@ -1996,6 +2139,15 @@ return AjaxResult.error("鎿嶄綔澶辫触! 浠ヤ笅椤圭洰宸插瓨鍦�: " + string); } transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId); + + //琛ュ樊浠� + List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId); + if (null != cjMaps && !cjMaps.isEmpty()) { + for (Map<String, Object> cjMap : cjMaps) { + transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString())); + } + } + } } } @@ -3081,6 +3233,7 @@ remarkService.deletedOrderRemarkByTjNum(tjNum); tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); transitionService.deletedTbTransitionByTjNum(tjNum); + ycxmService.delOrderYcXmJyByTjh(tjNum); TjCustomer customer = tjCustomerService.getById(order.getUserId()); customer.setCardId("0"); @@ -3205,7 +3358,7 @@ for (int i = 0; i < tjNumbers.size(); i++) { String tjNumber = tjNumbers.get(i).getTjNumber(); try { - List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber); Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber); LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj"); DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); @@ -3499,7 +3652,7 @@ log.info("閫�璐圭敵璇� 鍏ュ弬 -> {}", JSONUtil.toJsonStr(map)); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); log.info("閫�璐圭敵璇� 杩斿洖 -> {}", JSONUtil.toJsonStr(post)); - if(null !=post){ + if (null != post) { JSONObject jsonObject = JSONUtil.parseObj(post); if (jsonObject.getStr("code").equals("200")) { // hisTfWaterId @@ -3689,9 +3842,11 @@ } } } - int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{})); - if (i == 0) { - return AjaxResult.error("鎾ゅ洖澶辫触锛�"); + if (!list.isEmpty()) { + int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{})); + if (i == 0) { + return AjaxResult.error("鎾ゅ洖澶辫触锛�"); + } } return AjaxResult.success("鎿嶄綔鎴愬姛"); } @@ -3744,6 +3899,13 @@ return AjaxResult.error("鎿嶄綔澶辫触! 浠ヤ笅椤圭洰宸插瓨鍦�: " + string); } transitionService.ttsaveTemoTransitionByGroupingId(cusId, cardId, pacId.toString()); + //琛ュ樊浠� + List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId); + if (null != cjMaps && !cjMaps.isEmpty()) { + for (Map<String, Object> cjMap : cjMaps) { + transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString())); + } + } } } @@ -3768,7 +3930,17 @@ @GetMapping(value = "newgetTransitionList") @ApiOperation(value = "鏈�鏂版煡璇㈣繃娓¤〃鏁版嵁") public AjaxResult newgetTransitionList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) { - List<TbTransition> list= transitionService.newgetTransitionList(cusId); +// String pacId = transitionService.getTbTransitionPacId(cusId); +// if(StringUtil.isNotBlank(pacId)){ +// //琛ュ樊浠� +// List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId, cusId); +// if(null !=cjMaps && !cjMaps.isEmpty()){ +// for (Map<String, Object> cjMap : cjMaps) { +// transitionService.buxiangmuchajia(cusId,pacId,cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString())); +// } +// } +// } + List<TbTransition> list = transitionService.newgetTransitionList(cusId); return AjaxResult.success(list); } @@ -3777,30 +3949,30 @@ @Transactional public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) { - if(null !=dtos && !dtos.isEmpty()){ + if (null != dtos && !dtos.isEmpty()) { for (UpdateTransitionnewPriceDto dto : dtos) { - LambdaQueryWrapper<TbTransition> wq=new LambdaQueryWrapper<>(); - wq.eq(TbTransition::getCusId,dto.getCusIdCard()); - wq.eq(TbTransition::getParentProId,dto.getParentProId()); + LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); + wq.eq(TbTransition::getCusId, dto.getCusIdCard()); + wq.eq(TbTransition::getParentProId, dto.getParentProId()); wq.isNull(TbTransition::getTjNum); List<TbTransition> list = transitionService.list(wq); - log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: "+dto.getCusIdCard()); - log.info("鐖堕」鐩甶d涓�: "+dto.getParentProId()); - log.info("鎶樻墸涓�: "+new BigDecimal(dto.getDiscount())); - if(null !=list && !list.isEmpty()){ - BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()); + log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: " + dto.getCusIdCard()); + log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId()); + log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount())); + if (null != list && !list.isEmpty()) { + BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()); for (TbTransition transition : list) { BigDecimal ordPrice = transition.getOrdPrice(); BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); - log.info("鍚庣璁$畻鐨勯噾棰�: "+multiply); + log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply); transition.setNowPrice(multiply); transition.setDiscount(new BigDecimal(dto.getDiscount())); transitionService.updateById(transition); } - if(null !=dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO)>=0){ + if (null != dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO) >= 0) { List<TbTransition> transitionList = list.stream().filter(a -> - transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList()); - if(!transitionList.isEmpty()){ + transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList()); + if (!transitionList.isEmpty()) { TbTransition tbTransition = transitionList.get(0); tbTransition.setNowPrice(dxzj); transitionService.updateById(tbTransition); @@ -3813,5 +3985,37 @@ } + + @PostMapping("/huifuyuyuejilu") + @ApiOperation(value = "浣撴璁板綍椤甸潰鎭㈠棰勭害璁板綍鎺ュ彛") + @Transactional + public AjaxResult huifuyuyuejilu(@RequestBody List<String> tjNUms) { + + if (null != tjNUms && !tjNUms.isEmpty()) { + for (String tjNUm : tjNUms) { + TjOrder order = tjOrderService.getOrderByTjNum(tjNUm); + if(null !=order && StringUtil.isNotBlank(order.getReservationId())){ + //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(tjNUm); + tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); +// transitionService.deletedTbTransitionByTjNum(tjNum); + tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId()); + + TjReservation reservation = tjReservationService.getById(order.getReservationId()); + if(null !=reservation){ + reservation.setIsExpire(2); + tjReservationService.updateById(reservation); + transitionService.updateTbTransitionByTjNum(tjNUm); + } + + } + } + + return AjaxResult.success(); + } + return AjaxResult.error(); + } } -- Gitblit v1.8.0