From 9f8d59cbb041deed380fa62ec76429258831ec4e Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期六, 12 十月 2024 16:33:15 +0800 Subject: [PATCH] 增加异常捕捉撤销操作 --- ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsApiMethodService.java | 183 ++++++++++++++++++++++++--------------------- 1 files changed, 98 insertions(+), 85 deletions(-) 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 3873138..b504ac8 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 @@ -3,6 +3,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -82,101 +83,113 @@ hashMap.put("examNo", examNo); hashMap.put("name", name); log.info("浣滃簾妫�鏌� ->{}",JSONUtil.toJsonStr(hashMap)); -// return getMethodService.getPacsData("updatePacsApply",hashMap); - return AjaxResult.success(); + return getMethodService.getPacsData("updatePacsApply",hashMap); } public Boolean save(TjOrder tjOrder, TjCustomer tjCustomer,List<TbTransition> detailList) { - if (detailList != null && !detailList.isEmpty()) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); - wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); - List<TjProject> projects = projectService.list(wq); - ArrayList<SavePacsApply> errorPacsList = new ArrayList<>(); - ArrayList<SavePacsApply> successPacsList = new ArrayList<>(); - int allTotal = 0; - if (projects != null && !projects.isEmpty()){ - for (TjProject project : projects) { - if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { - if (null != project.getHisXmbm()) { - SavePacsApply savePacsApply = new SavePacsApply(); - savePacsApply.setExamNo(tjOrder.getCardId()); - savePacsApply.setName(tjCustomer.getCusName()); - savePacsApply.setSex(tjCustomer.getCusSex()==1?"2":"1"); - AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); - savePacsApply.setAge(String.valueOf(ageResult.getAge())); - savePacsApply.setAgeUnit(String.valueOf(ageResult.getUnit())); - savePacsApply.setBirthday(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); - savePacsApply.setCardNumber(tjCustomer.getCusIdcard()); - savePacsApply.setTel(tjCustomer.getCusPhone()); - Date date = new Date(); - String regNo = "jk_"+DateFormatUtils.format(date, "yyyyMMddHHmmss") +"_"+project.getHisXmbm(); - savePacsApply.setRegNo(regNo); - savePacsApply.setCheckItemID(project.getHisXmbm()); - savePacsApply.setCheckItem(project.getHisXmmc()); - // TODO 妫�鏌ラ儴浣� - savePacsApply.setCheckPosition(""); - savePacsApply.setAmount(project.getProPrice()); - savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); - savePacsApply.setApplyDepment("0101"); - savePacsApply.setApplyDepmentName("浣撴涓績"); - savePacsApply.setApplyDoctor("00029"); - savePacsApply.setApplyDoctorName("鐜嬪仴钀�"); - savePacsApply.setExecDepment("0101"); - savePacsApply.setExecDepmentName("浣撴涓績"); - savePacsApply.setCreateTime(savePacsApply.getApplyDate()); - // TODO 妫�鏌ヨ澶� - savePacsApply.setDevice(""); - // TODO 妫�鏌ヨ澶囩被鍨� - savePacsApply.setDeviceType(""); - log.info("妫�鏌ョ敵璇� ->{}",JSONUtil.toJsonStr(savePacsApply)); - if (true) - return false; - AjaxResult ajaxResult = savePacsApply(savePacsApply); - String result = ajaxResult.get("data").toString(); - JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response")); - log.info("璇锋眰杩斿洖 ->{}",object); - String code = object.getStr("ResultCode"); - allTotal++; - if(code.equals("0")){ - successPacsList.add(savePacsApply); - LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); - tree.setCardId(tjOrder.getCardId()); - tree.setPationid(tjCustomer.getPationId()); - tree.setSqdh(regNo); - tree.setFyhj(String.valueOf(project.getProPrice())); - tree.setHisXmdm(project.getHisXmbm()); - tree.setType("妫�鏌�"); - tree.setTjPrice(String.valueOf(project.getProPrice())); - LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); - if (project.getSfzhfy().equals("Y")) - wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, project.getHisXmbm()); - else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, project.getHisXmbm()); - List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); - if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { - String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); - LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); - wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); - LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); - LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); - wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); - LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); - tree.setXmfl(ejjfxmzd.getYjkmdm()); + JSONArray array = JSONUtil.createArray(); + try { + if (detailList != null && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); + List<TjProject> projects = projectService.list(wq); + ArrayList<SavePacsApply> errorPacsList = new ArrayList<>(); + ArrayList<SavePacsApply> successPacsList = new ArrayList<>(); + int allTotal = 0; + if (projects != null && !projects.isEmpty()){ + for (TjProject project : projects) { + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + SavePacsApply savePacsApply = new SavePacsApply(); + savePacsApply.setExamNo(tjOrder.getCardId()); + savePacsApply.setName(tjCustomer.getCusName()); + savePacsApply.setSex(tjCustomer.getCusSex()==1?"2":"1"); + AgeResult ageResult = DateUtils.calculateAge(tjCustomer.getCusBrithday()); + savePacsApply.setAge(String.valueOf(ageResult.getAge())); + savePacsApply.setAgeUnit(String.valueOf(ageResult.getUnit())); + savePacsApply.setBirthday(DateFormatUtils.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd")); + savePacsApply.setCardNumber(tjCustomer.getCusIdcard()); + savePacsApply.setTel(tjCustomer.getCusPhone()); + Date date = new Date(); + String regNo = "jk_"+DateFormatUtils.format(date, "yyyyMMddHHmmss") +"_"+project.getHisXmbm(); + savePacsApply.setRegNo(regNo); + JSONObject jsonObject = JSONUtil.createObj(); + jsonObject.putOpt("cardId",tjOrder.getCardId()); + jsonObject.putOpt("regNo",regNo); + jsonObject.putOpt("name",tjCustomer.getCusName()); + array.add(jsonObject); + savePacsApply.setCheckItemID(project.getHisXmbm()); + savePacsApply.setCheckItem(project.getHisXmmc()); + // TODO 妫�鏌ラ儴浣� + savePacsApply.setCheckPosition(""); + savePacsApply.setAmount(project.getProPrice()); + savePacsApply.setApplyDate(DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss")); + savePacsApply.setApplyDepment("0101"); + savePacsApply.setApplyDepmentName("浣撴涓績"); + savePacsApply.setApplyDoctor("00029"); + savePacsApply.setApplyDoctorName("鐜嬪仴钀�"); + savePacsApply.setExecDepment("0101"); + savePacsApply.setExecDepmentName("浣撴涓績"); + savePacsApply.setCreateTime(savePacsApply.getApplyDate()); + // TODO 妫�鏌ヨ澶� + savePacsApply.setDevice(""); + // TODO 妫�鏌ヨ澶囩被鍨� + savePacsApply.setDeviceType(""); + log.info("妫�鏌ョ敵璇� ->{}",JSONUtil.toJsonStr(savePacsApply)); + AjaxResult ajaxResult = savePacsApply(savePacsApply); + String result = ajaxResult.get("data").toString(); + JSONObject object = JSONUtil.parseObj(JSONUtil.parseObj(result).getStr("Response")); + log.info("璇锋眰杩斿洖 ->{}",object); + String code = object.getStr("ResultCode"); + allTotal++; + if(code.equals("0")){ + successPacsList.add(savePacsApply); + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setCardId(tjOrder.getCardId()); + tree.setPationid(tjCustomer.getPationId()); + tree.setSqdh(regNo); + tree.setFyhj(String.valueOf(project.getProPrice())); + tree.setHisXmdm(project.getHisXmbm()); + tree.setType("妫�鏌�"); + tree.setTjPrice(String.valueOf(project.getProPrice())); + LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (project.getSfzhfy().equals("Y")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, project.getHisXmbm()); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, project.getHisXmbm()); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + ltkjJianchajianyanTreeService.save(tree); + }else { + errorPacsList.add(savePacsApply); } - tree.setCreateTime(DateUtil.date()); - ltkjJianchajianyanTreeService.save(tree); - }else { - errorPacsList.add(savePacsApply); } } } } + log.info("妫�鏌ユ�昏 ->{}涓�",allTotal); + if (!errorPacsList.isEmpty()){ + log.info("鎴愬姛 ->{}",successPacsList); + log.error("澶辫触 ->{}",errorPacsList); + } } - log.info("妫�鏌ユ�昏 ->{}涓�",allTotal); - if (!errorPacsList.isEmpty()){ - log.info("鎴愬姛 ->{}",successPacsList); - log.error("澶辫触 ->{}",errorPacsList); + } catch (Exception e) { + log.error(e.getMessage()); + for (Object object : array) { + JSONObject jsonObject = (JSONObject) object; + updatePacsApply(jsonObject.getStr("regNo"), jsonObject.getStr("cardId"),jsonObject.getStr("name")); } + return false; } return true; } -- Gitblit v1.8.0