From 045dc3a1be1c2980458c6cf20de9e2f2efe7e15d Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 26 十二月 2024 18:06:13 +0800 Subject: [PATCH] 20241226 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 536 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 351 insertions(+), 185 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 358ed9c..d764531 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 @@ -78,6 +78,7 @@ import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; import com.ltkj.web.controller.service.TjSysAsyncServiceImpl; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -228,6 +229,8 @@ private LisJyflhbService lisJyflhbService; @Autowired private ISysDictDataService sysDictDataService; + @Autowired + private TjFlowingWaterHisService tjFlowingWaterHisService; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -471,7 +474,7 @@ order.setZt("鍦ㄦ"); orders.add(order); } - if (zt==2 && sfwc == 0) { + if (zt==2 && sfwc == 0 && order.getCheckStatus()==0 && order.getCheckTime()==null && order.getHeshouStatus()==0 && order.getPrintLastTime()==null) { //宸插畬鎴�2 order.setZt("宸插畬鎴�"); orders.add(order); @@ -520,15 +523,29 @@ if(null !=zt){ if(zt==3){ + //宸插鏍� wq.isNotNull(TjOrder::getCheckTime); + wq.eq(TjOrder::getCheckStatus,1); + wq.isNull(TjOrder::getHeshouTime); + wq.isNull(TjOrder::getPrintLastTime); + wq.eq(TjOrder::getHeshouStatus,0); } if(zt==4){ + //鐢熸垚鎶ュ憡 wq.isNotNull(TjOrder::getReportTime); + wq.isNull(TjOrder::getHeshouTime); + wq.isNull(TjOrder::getPrintLastTime); + wq.eq(TjOrder::getHeshouStatus,0); } if(zt==5){ + //鎶ュ憡鏍告敹 wq.eq(TjOrder::getHeshouStatus,1); + wq.isNull(TjOrder::getPrintLastTime); } if(zt==6){ + //宸插嚭鎶ュ憡 + wq.isNotNull(TjOrder::getPrintLastTime); + wq.eq(TjOrder::getHeshouStatus,1); wq.isNotNull(TjOrder::getPrintLastTime); } } @@ -629,147 +646,19 @@ @ApiOperation(value = "浣撴鎶ュ憡椤甸潰鈥斺�斾綋妫�璁板綍鍒楄〃") public AjaxResult getOrderListOO(@ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer pageNum, @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize, - @ApiParam(value = "鎵撳嵃鏈墦鍗扮姸鎬� 0鏈墦鍗� 1宸叉墦鍗�") @RequestParam(defaultValue = "0") Integer dyzt, + @ApiParam(value = "鎵撳嵃鏈墦鍗扮姸鎬� 0鏈墦鍗� 1宸叉墦鍗�") @RequestParam(required = false) Integer dyzt, @ApiParam(value = "浣撴鍙�)") @RequestParam(required = false) String tjNum, @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name, @ApiParam(value = "鍗曚綅") @RequestParam(required = false) String dw, @ApiParam(value = "鎶ュ憡寮�濮嬫椂闂�") @RequestParam(required = false) String djbeginTime, @ApiParam(value = "鎶ュ憡缁撴潫鏃堕棿") @RequestParam(required = false) String djendTime) { - Map<String, Object> map = new HashMap<>(); + /* Map<String, Object> map = new HashMap<>(); List<Long> cusIds = null; if (StringUtil.isNotBlank(name)) { LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>(); wqq.like(TjCustomer::getCusName, name); cusIds = tjCustomerService.list(wqq).stream().map(TjCustomer::getCusId).collect(Collectors.toList()); -// if (null != customerList && !customerList.isEmpty()) { -// List<TjOrder> list = new ArrayList<>(); -// for (TjCustomer customer : customerList) { -// LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); -// wq.eq(TjOrder::getUserId, customer.getCusId()); -// if (dyzt == 0) { -// wq.isNull(TjOrder::getPrintLastTime); -// wq.eq(TjOrder::getHeshouStatus, 1); -// } else { -// wq.isNotNull(TjOrder::getPrintLastTime); -// } -// list.addAll(tjOrderService.list(wq)); -// } -// List<TjOrder> collect = null; -// if (!list.isEmpty()) { -// -// for (int i = 0; i < list.size(); i++) { -// TjCustomer tjCustomer = tjCustomerService.getById(list.get(i).getUserId()); -// if (null == tjCustomer) { -// list.remove(list.get(i)); -// continue; -// } -// list.get(i).setTjCustomerSex(tjCustomer.getCusSex()); -// list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); -// list.get(i).setTjCustomerName(tjCustomer.getCusName()); -// list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone()); -// list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard()); -// -// if (null != tjCustomer.getCompName()) { -// list.get(i).setDictCompName(tjCustomer.getCompName()); -// } else { -// String firmId = list.get(i).getFirmId(); -// if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) { -// list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName()); -// } -// } -// -// if (null != list.get(i).getPacId()) { -// if (null != tjPackageService.getById(list.get(i).getPacId())) { -// list.get(i).setPacName(tjPackageService.getById(list.get(i).getPacId()).getPacName()); -// } -// if (null != dwDeptService.getById(list.get(i).getPacId())) { -// list.get(i).setPacName(dwDeptService.getById(list.get(i).getPacId()).getDwDeptName()); -// } -// } -// } -// collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); -// } -// if (null != collect) { -// map.put("total", collect.size()); -// } else { -// map.put("total", 0); -// } -// if (collect == null) collect = new ArrayList<>(); -// map.put("list", collect); -// return AjaxResult.success(map); -// } - } -// if (StringUtil.isNotBlank(dw)) { -// LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>(); -// wqq.like(TjCustomer::getCompName, dw); -// List<TjCustomer> customerList = tjCustomerService.list(wqq); -// List<TjOrder> list = new ArrayList<>(); -// if (null != customerList && !customerList.isEmpty()) { -// for (TjCustomer customer : customerList) { -// LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); -// wq.eq(TjOrder::getUserId, customer.getCusId()); -// if (dyzt == 0) { -// wq.isNull(TjOrder::getPrintLastTime); -// wq.eq(TjOrder::getHeshouStatus, 1); -// } else { -// wq.isNotNull(TjOrder::getPrintLastTime); -// } -// list.addAll(tjOrderService.list(wq)); -// } -// } -// List<String> dwIds = iDictCompService.getdwIdByDwName(dw); -// -// LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); -// wq.in(TjOrder::getFirmId, dwIds); -// list.addAll(tjOrderService.list(wq)); -// List<TjOrder> collect = null; -// if (!list.isEmpty()) { -// List<TjOrder> orders = list.stream().distinct().collect(Collectors.toList()); -// for (int i = 0; i < orders.size(); i++) { -// TjCustomer tjCustomer = tjCustomerService.getById(list.get(i).getUserId()); -// if (null == tjCustomer) { -// list.remove(list.get(i)); -// continue; -// } -// list.get(i).setTjCustomerSex(tjCustomer.getCusSex()); -// list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); -// list.get(i).setTjCustomerName(tjCustomer.getCusName()); -// list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone()); -// list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard()); -// -// if (null != tjCustomer.getCompName()) { -// list.get(i).setDictCompName(tjCustomer.getCompName()); -// } else { -// String firmId = list.get(i).getFirmId(); -// if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) { -// list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName()); -// } -// } -// -// if (null != list.get(i).getPacId()) { -// if (null != tjPackageService.getById(list.get(i).getPacId())) { -// list.get(i).setPacName(tjPackageService.getById(list.get(i).getPacId()).getPacName()); -// } -// if (null != dwDeptService.getById(list.get(i).getPacId())) { -// list.get(i).setPacName(dwDeptService.getById(list.get(i).getPacId()).getDwDeptName()); -// } -// } -// } -// collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); -// } -// if (null != collect) { -// map.put("total", collect.size()); -// } else { -// map.put("total", 0); -// } -// map.put("list", collect); -// return AjaxResult.success(map); -// -// -// } - - Page<TjOrder> page1 = new Page<>(pageNum, pageSize); LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); if (dyzt == 0) { @@ -837,7 +726,11 @@ } } map.put("list", list); - map.put("total", page2.getTotal()); + map.put("total", page2.getTotal());*/ + + if (djbeginTime == null) djbeginTime = ""; + if (djendTime == null) djendTime = ""; + Map<String, Object> map= tjOrderService.getTjBgdyList(pageNum,pageSize,dyzt,tjNum,name,dw,djbeginTime,djendTime); return AjaxResult.success(map); } @@ -1339,6 +1232,73 @@ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); + + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")) { + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + HashMap<String, Object> map = new HashMap<>(); + map.put("pationId",tjCustomer.getPationId()); + map.put("cardId",tjCustomer.getHisJzkh()); + map.put("tjNum",tjFlowingWater.getTjSerialNumber()); + map.put("kaiDanKs","7805"); + // 鏀惰垂鏍囧織 1寰呭敭璐� 2寰呴��璐� + map.put("shouTuiStatus","1"); + + JSONArray array = JSONUtil.createArray(); + LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>(); + 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); + + List<TbTransition> list = tbTransitionService.list(wrapper); + for (TbTransition transition : list) { + LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjProject::getProId,transition.getProId()); + TjProject project = projectService.getOne(wrapper1); + + LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(SysDept::getDeptId,project.getDeptId()); + SysDept dept = sysDeptService.getOne(wrapper2); + + JSONObject obj = JSONUtil.createObj(); + Integer sl = project.getSl(); + BigDecimal danjia = transition.getOrdPrice(); + BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + obj.putOpt("danJia",danjia); + obj.putOpt("jieSuanJe",allPrice); + obj.putOpt("shuliang",sl); + obj.putOpt("zhiXingKs",dept.getDeptId()); + 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); + + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+hospbm+"/creatCostInfo", map); + JSONObject object = JSONUtil.parseObj(post); + if (object.getInt("code") == 200) { + JSONObject data = object.getJSONObject("data"); + tjFlowingWater.setHisWaterId(data.getStr("feiYongId")); + JSONArray mxList = data.getJSONArray("mxList"); + if (mxList != null && !mxList.isEmpty()) { + List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class); + tjFlowingWaterHisService.saveBatch(his); + } + tjFlowingWaterService.updateById(tjFlowingWater); + }else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } } // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { @@ -1349,7 +1309,7 @@ // if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; 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<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); @@ -2625,6 +2585,7 @@ if (null != tjReservation && tjReservation.getPayType() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); } } if (tjFlowingWater.getPayStasus() == 1L) { @@ -2634,6 +2595,7 @@ tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); tjFlowingWater.setPayType(4L); tjFlowingWaterService.updateById(tjFlowingWater); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); // asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser); } } @@ -2696,11 +2658,13 @@ if (null != tjReservation && tjReservation.getPayType() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); } } if (tjFlowingWater.getPayStasus() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); + remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); } if (tjFlowingWater.getDiscount() == null) { transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber()); @@ -2744,16 +2708,18 @@ // } } - @PostMapping("/heXiaoByIds/{orderIds}") + @PostMapping("/heXiaoByIds") @ApiOperation(value = "鏍告敹鎶ュ憡鈥斺�斺�斺�斺�斺�旀�绘瀹℃牳閫氳繃鍚庡彲浠ユ牳閿�锛屾牳鏀跺悗鎵嶈兘鎵撳嵃") @Transactional @RepeatSubmit - public AjaxResult heXiaoByIds(@PathVariable String[] orderIds) { + public AjaxResult heXiaoByIds(@RequestBody List<String> orderIds) { + if(null !=orderIds && !orderIds.isEmpty()){ Date date = new Date(); for (String orderId : orderIds) { TjOrder byId = tjOrderService.getById(orderId); if (null != byId) { - if (byId.getReportTime() == null) { + + /*if (byId.getReportTime() == null) { LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>(); tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); @@ -2768,25 +2734,10 @@ //淇敼order琛ㄤ腑鐨勬墦鍗版姤鍛婃椂闂翠负褰撳墠鏃堕棿 LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(TjOrder::getTjNumber, byId.getTjNumber()); -// updateWrapper.set(TjOrder::getReportTime, new Date()); -// updateWrapper.set(TjOrder::getPrintLastTime, new Date()); -// updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); tjOrderService.update(updateWrapper); } - String hisRegistrationId = byId.getCardId(); - Date createTime = byId.getCreateTime(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String ksrq = dateFormat.format(createTime); - String jsrq = dateFormat.format(date); - HashMap<String, Object> params = new HashMap<>(); - params.put("his_registration_id", hisRegistrationId); - params.put("ksbm", ""); - params.put("pationid", ""); - params.put("ksrq", ksrq); - params.put("jsrq", jsrq); - params.put("pagecount", 100); - params.put("page", 1); + LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjCustomer::getCusId, byId.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wq1); @@ -2797,9 +2748,6 @@ try { shengchengbgmoban(byId.getTjNumber(), byId, tjCustomer, reportTemplate, zongJianYiShiQianMing); byId.setStatus(TjConstants.TJ_END); -// byId.setReportTime(date); -// byId.setPrintLastTime(date); -// byId.setDownloadLastTime(date); } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); @@ -2807,8 +2755,7 @@ logger.error("鐢熸垚鎶ュ憡寮傚父"); return AjaxResult.error("鐢熸垚鎶ュ憡寮傚父,鏍告敹澶辫触"); } - } - + }*/ byId.setHeshouStatus(1); byId.setHeshouDoctor(UserHoder.getLoginUser().getUserId()); byId.setHeshouTime(date); @@ -2818,13 +2765,13 @@ } } } + } return AjaxResult.success("鏍告敹鎴愬姛"); } public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate, TjReportTemplate zongJianYiShiQianMing) throws Exception { -// AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate); -// AjaxResult ajaxResult = hisPDFUtil.hisPDFNew(tjOrder, tjCustomer, reportTemplate); + AjaxResult ajaxResult = hisPDFUtil.hisPDFNew2(tjOrder, tjCustomer, reportTemplate, zongJianYiShiQianMing); if (!ajaxResult.get("code").toString().equals("200")) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -2840,12 +2787,6 @@ tjReport.setType("浣撴鎶ュ憡"); tjReport.setPrint("pdf"); tjReportService.save(tjReport); -// Date date = new Date(); -// tjOrder.setStatus(TjConstants.TJ_END); -// tjOrder.setReportTime(date); -// tjOrder.setPrintLastTime(date); -// tjOrder.setDownloadLastTime(date); -// tjOrderService.updateById(tjOrder); } return ajaxResult; } @@ -2978,17 +2919,50 @@ // return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); // } if (null != order.getFinishTime()) return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲鎾ら攢!!!"); - tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); - tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); - remarkService.deletedOrderRemarkByTjNum(tjNum); - tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); - transitionService.deletedTbTransitionByTjNum(tjNum); - TjCustomer customer = tjCustomerService.getById(order.getUserId()); - customer.setCardId("0"); - tjCustomerService.updateById(customer); + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && "2".equals(order.getTjType())){ + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + + ArrayList<TjFlowingWater> weizhifu = new ArrayList<>(); + ArrayList<TjFlowingWater> yizhifu = new ArrayList<>(); + LambdaQueryWrapper<TjFlowingWater> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TjFlowingWater::getOrderId, order.getOrderId()); + wrapper1.orderByDesc(TjFlowingWater::getJxbz); + List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusId,order.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); + + for (TjFlowingWater water : list) { + if (water.getPayStasus() == 0L){ + weizhifu.add(water); + }else { + yizhifu.add(water); + } + } + + AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order,true,tjNum); + if (error != null && !error.get("code").toString().equals("200")) return error; + + AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm,false,tjNum); + if (error1 != null && !error.get("code").toString().equals("200")) return error1; + }else { + tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); + tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); + remarkService.deletedOrderRemarkByTjNum(tjNum); + tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); + transitionService.deletedTbTransitionByTjNum(tjNum); + + TjCustomer customer = tjCustomerService.getById(order.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + + tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); + } + String configByKey = configService.selectConfigByKey("sfkqdyhis"); - tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); if (configByKey.equals("Y")) { HashMap<String, Object> hisRequestParams = new HashMap<>(); @@ -3075,7 +3049,7 @@ remarkService.deletedOrderRemarkByTjNum(order.getTjNumber()); tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); transitionService.deletedTbTransitionByTjNum(order.getTjNumber()); - transitionService.updateTbTransitionByTjNum(order.getTjNumber()); +// transitionService.updateTbTransitionByTjNum(order.getTjNumber()); } } for (String id : reservationIds) { @@ -3188,7 +3162,7 @@ @GetMapping("/revokeTjOrderByTjh") - @ApiOperation(value = "鏍规嵁灏变綋妫�鍙峰垹闄よ褰�") + @ApiOperation(value = "寮哄埗鎾ら攢鎺ュ彛鏍规嵁灏变綋妫�鍙峰垹闄よ褰�") @Transactional public AjaxResult revokeTjOrderByTjh(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNum) { @@ -3198,11 +3172,13 @@ // if (null != payByTjNum) { // return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); // } + //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� 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()); } return AjaxResult.success(); } @@ -3247,7 +3223,7 @@ // @Transactional public AjaxResult revokeBlProByBldhAndTjh(@RequestBody TjProBlDto dto) { - if (null == dto.getBldhs() || dto.getBldhs().size() == 0) { + if (null == dto.getBldhs() || dto.getBldhs().isEmpty()) { log.info("璇烽�夋嫨瑕佹挙閿�鐨勮ˉ褰曢」鐩�"); return AjaxResult.error("璇烽�夋嫨瑕佹挙閿�鐨勮ˉ褰曢」鐩�"); } @@ -3293,15 +3269,165 @@ return AjaxResult.error("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触"); } } - try { - extracted(dto, order); - } catch (Exception e) { - log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�"); - return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!"); + String s = configService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { + ArrayList<TjFlowingWater> weizhifu = new ArrayList<>(); + ArrayList<TjFlowingWater> yizhifu = new ArrayList<>(); + for (String bldh : dto.getBldhs()) { + LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjFlowingWater::getJxbz,bldh); + TjFlowingWater water = tjFlowingWaterService.getOne(wrapper); + if (water.getPayStasus() == 0L){ + weizhifu.add(water); + }else { + yizhifu.add(water); + } + } + String apiUrl = configService.selectConfigByKey("common_api_url"); + String hospbm = configService.selectConfigByKey("common_api_service_hospbm"); + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusId,order.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); + AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order,true,dto.getTjh()); + if (error != null && !error.get("code").toString().equals("200")) return error; + + AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm,false,dto.getTjh()); + if (error1 != null && !error.get("code").toString().equals("200")) return error1; + return AjaxResult.success(); + }else { + try { + extracted(dto, order); + } catch (Exception e) { + log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�"); + return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!"); + } + return AjaxResult.success(); } - return AjaxResult.success(); } return AjaxResult.error(); + } + + private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm,Boolean isDelete,String tjNum) { + if (!yizhifu.isEmpty()){ + for (TjFlowingWater water : yizhifu) { + HashMap<String, Object> map = new HashMap<>(); + map.put("pationId", tjCustomer.getPationId()); + map.put("cardId", tjCustomer.getHisJzkh()); + map.put("tjNum", water.getTjSerialNumber()); + map.put("kaiDanKs","7805"); + // 鏀惰垂鏍囧織 1寰呮敹璐� 2寰呴��璐� + map.put("shouTuiStatus","2"); + JSONArray array = JSONUtil.createArray(); + String bldh = water.getJxbz(); + List<TbTransition> list; + if (bldh != null){ + LambdaQueryWrapper<TbTransition> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(TbTransition::getJxbz,bldh); + wrapper1.gt(TbTransition::getOrdPrice,0); + list = tbTransitionService.list(wrapper1); + }else { + LambdaQueryWrapper<TbTransition> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.isNull(TbTransition::getJxbz); + wrapper1.eq(TbTransition::getTjNum,tjNum); + wrapper1.gt(TbTransition::getOrdPrice,0); + list = tbTransitionService.list(wrapper1); + } + for (TbTransition transition : list) { + LambdaQueryWrapper<TjProject> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TjProject::getProId,transition.getProId()); + TjProject project = projectService.getOne(queryWrapper); + LambdaQueryWrapper<TjFlowingWaterHis> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(TjFlowingWaterHis::getParentId,water.getHisWaterId()); + wrapper2.eq(TjFlowingWaterHis::getXmId,project.getHisXmbm()); + List<TjFlowingWaterHis> list1 = tjFlowingWaterHisService.list(wrapper2); + for (TjFlowingWaterHis waterHis : list1) { + LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysDept::getDeptId,project.getDeptId()); + SysDept dept = sysDeptService.getOne(wrapper); + JSONObject obj = JSONUtil.createObj(); + BigDecimal danjia = transition.getOrdPrice(); + Integer sl = project.getSl(); + BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); + obj.putOpt("danJia",danjia); + obj.putOpt("jieSuanJe",allPrice.negate()); + obj.putOpt("shuliang",Math.negateExact(sl)); + obj.putOpt("feiYongMxId",waterHis.getCurrentId()); + obj.putOpt("feiYongId",water.getHisWaterId()); + obj.putOpt("zhiXingKs",dept.getDeptId()); + 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); + log.info("閫�璐圭敵璇� 鍏ュ弬 -> {}",JSONUtil.toJsonStr(map)); + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+ hospbm +"/creatCostInfo", map); + log.info("閫�璐圭敵璇� 杩斿洖 -> {}",JSONUtil.toJsonStr(post)); + JSONObject jsonObject = JSONUtil.parseObj(post); + if (jsonObject.getStr("code").equals("200")) { + // hisTfWaterId + String tfid = jsonObject.getJSONObject("data").getStr("feiYongId"); + water.setHisTfWaterId(tfid); + tjFlowingWaterService.updateById(water); + if (isDelete) { + for (TjFlowingWater water1 : yizhifu) { + String bldh1 = water1.getJxbz(); + remarkService.deleteTjOrderDetailByjxbz(bldh1); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh1); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh1); + transitionService.deleteTjOrderDetailByjxbz(bldh1); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1)); + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1); + } + } + }else return AjaxResult.error(); + } + } + return null; + } + + private AjaxResult zuofeiWeiZhifu(ArrayList<TjFlowingWater> weizhifu, TjCustomer tjCustomer, String apiUrl, String hospbm, TjOrder order,Boolean isDelete,String tjNum) { + if (!weizhifu.isEmpty()){ + HashMap<String, Object> chexiaoMap = new HashMap<>(); + chexiaoMap.put("pationId", tjCustomer.getPationId()); + chexiaoMap.put("cardId", tjCustomer.getHisJzkh()); + String feiyongList = weizhifu.stream().map(TjFlowingWater::getHisWaterId).collect(Collectors.joining(",")); + chexiaoMap.put("feiYongIdList",feiyongList.trim().replaceAll(" ","")); + + String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+ hospbm +"/revokeCost", chexiaoMap); + if (JSONUtil.parseObj(post).getStr("code").equals("200")) { + if (isDelete) { + for (TjFlowingWater water : weizhifu) { + String bldh = water.getJxbz(); + if(StrUtil.isNotBlank(bldh)){ + remarkService.deleteTjOrderDetailByjxbz(bldh); + tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh); + tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh); + transitionService.deleteTjOrderDetailByjxbz(bldh); + blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh)); + tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh); + }else { + //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩� + 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()); + } + + } + } + } else return AjaxResult.error(); + } + return null; } // @Transactional(propagation =Propagation.REQUIRES_NEW) @@ -3340,7 +3466,7 @@ wq.eq(TjOrderRemark::getTjNumber, tjNUm); wq.eq(TjOrderRemark::getProId, proId); TjOrderRemark remark = remarkService.getOne(wq); - remark.setType(1); + remark.setType(2); remarkService.updateById(remark); return AjaxResult.success("鎿嶄綔鎴愬姛!"); } @@ -3384,7 +3510,7 @@ //鐢熸垚鎶ュ憡 a=4; } - if (null != heshouStatus) { + if (heshouStatus==1) { //鎶ュ憡鏍告敹 a=5; } @@ -3403,5 +3529,45 @@ } + + @PostMapping("/heshouchexiao") + @ApiOperation(value = "鎾ら攢鎶ュ憡鎺ュ彛") + @Transactional + public AjaxResult heshouchexiao(@RequestBody List<String> tjNUms) { + + if(null !=tjNUms && !tjNUms.isEmpty()){ + + // 涓嶅湪浣跨敤閫昏緫鍒犻櫎 閫昏緫鍒犻櫎瀵艰嚧鎵撳嵃鎶ュ憡鐢熸垚 鏌ヨsql缂撴參 + //閫昏緫鍒犻櫎鏁版嵁搴撻噷鐨勬姤鍛� + LambdaQueryWrapper<TjReport> wq1 = new LambdaQueryWrapper<>(); + wq1.select(TjReport::getReId); + wq1.in(TjReport::getTjNumber, tjNUms); + wq1.eq(TjReport::getPrint, "pdf"); + List<Long> list = tjReportService.list(wq1).stream().map(TjReport::getReId).collect(Collectors.toList()); + for (String tjNUm : tjNUms) { + TjOrder order = tjOrderService.getOrderByTjNum(tjNUm); + if(null !=order){ + order.setHeshouStatus(0); + order.setHeshouTime(null); + order.setHeshouDoctor(null); + order.setPrintLastTime(null); + order.setReportTime(null); + order.setStatus(TjConstants.TJ_WAIT); + if (!tjOrderService.updateById(order)) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎿嶄綔澶辫触"); + } + } + } + int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{})); + if (i == 0) { + return AjaxResult.error("鎾ゅ洖澶辫触锛�"); + } + return AjaxResult.success("鎿嶄綔鎴愬姛"); + } + return AjaxResult.error(); + } + + } -- Gitblit v1.8.0