From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 24 六月 2025 18:04:34 +0800
Subject: [PATCH] 2025-06-24

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java |  635 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 347 insertions(+), 288 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 ce54c89..372f240 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
@@ -95,6 +95,7 @@
 import org.springframework.http.HttpRequest;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.NoTransactionException;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -143,8 +144,8 @@
     private ITbTransitionService transitionService;
     @Resource
     private ISysConfigService configService;
-    @Value("${path.filePath}")
-    private String value;
+//    @Value("${path.filePath}")
+//    private String value;
     @Resource
     private ITjOrderRemarkService remarkService;
     @Resource
@@ -1033,16 +1034,17 @@
             if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId());
             if (null != tjReservation.getTjCategory()) tjOrder.setTjCategory(tjReservation.getTjCategory());
             if (null != tjReservation.getGroupingId()) {
+                TjDwGrouping dwGrouping = dwGroupingService.getById(tjReservation.getGroupingId());
                 tjOrder.setGroupId(tjReservation.getGroupingId());
-                tjOrder.setFirmDeptId(tjReservation.getPacId());
+                tjOrder.setFirmDeptId(dwGrouping.getDwDeptId());
             }
             tjReservation.setIsExpire(1);
             tjReservationService.updateById(tjReservation);
-            if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) {
-                tjOrder.setTjType("1");
-            } else if (tjOrder.getTjType().equals("2")) {
-                tjOrder.setTjType("2");
-            }
+//            if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) {
+//                tjOrder.setTjType("1");
+//            } else if (tjOrder.getTjType().equals("2")) {
+//                tjOrder.setTjType("2");
+//            }
         }
         if (StringUtil.isBlank(tjOrder.getFirmId())) {
             tjOrder.setFirmId("0");
@@ -1087,6 +1089,7 @@
                 return result;
             }
         }catch (Exception e){
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             log.error(String.valueOf(e),e.getMessage());
             e.printStackTrace();
         }
@@ -1096,7 +1099,8 @@
         return AjaxResult.error();
     }
 
-    @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED)
+
+    @Transactional(propagation = Propagation.REQUIRED)
     public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) {
 
         //鑾峰彇鎷兼帴鍓嶇紑
@@ -1132,6 +1136,7 @@
                 }
             } catch (Exception e) {
                 log.error(e.getMessage());
+                throw new IllegalStateException();
             }finally {
                 a++;
             }
@@ -1216,21 +1221,8 @@
                 }
             }
 
-            //淇敼姣忛」鐨勫師浠风幇浠�
-//            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber());
             //淇敼涓存椂琛ㄤ綋妫�鍙�
             transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber());
-            //琛ュ樊浠�
-    /*        if(subtract.compareTo(BigDecimal.ZERO)>0){
-                tjFlowingWater.setPaidIn(paidIn.add(subtract));
-                TbTransition onwTbTransition = transitionService.getOnwTbTransition(tjCustomer.getCusIdcard(),tjOrder.getTjNumber());
-                if(null !=onwTbTransition){
-                    log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+"缁�: "+onwTbTransition.getParentProName()+" "+onwTbTransition.getNowPrice()
-                            +" 琛ュ樊浠� "+subtract+" 鏈�缁堝緱 "+onwTbTransition.getNowPrice().add(subtract));
-                    onwTbTransition.setNowPrice(onwTbTransition.getNowPrice().add(subtract));
-                    transitionService.updateById(onwTbTransition);
-                }
-            }*/
 
             if (tjFlowingWaterService.save(tjFlowingWater)) {
                 tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber()));
@@ -1240,15 +1232,21 @@
             /*璋冪敤his鎺ュ彛*/
             String config = configService.selectConfigByKey("sfkqdyhis");
             if (null != config && config.equals("Y")) {
-                AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder);
-                if (!result.get("code").toString().equals("200")) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    Object jzh = result.get("jzh");
-                    if (null != jzh && null != jzh.toString()) {
-                        hisApiMethod.ZfHisApiMethod(jzh.toString());
+                AjaxResult result = null;
+                try {
+                    result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder);
+                    if (!result.get("code").toString().equals("200")) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        Object jzh = result.get("jzh");
+                        if (null != jzh && null != jzh.toString()) {
+                            hisApiMethod.ZfHisApiMethod(jzh.toString());
+                        }
+                        log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
+                        return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString());
                     }
-                    log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
-                    return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString());
+                } catch (NoTransactionException e) {
+                    log.error(e.getMessage());
+                    throw new RuntimeException(e);
                 }
 
                 log.info("璇ョ櫥璁颁汉鐨刪is灏辫瘖鍙锋槸: " + tjOrder.getCardId());
@@ -1263,27 +1261,29 @@
                     newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                 }*/
                 // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
-                if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
-                    // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
-                    tjFlowingWater.setPayStasus(1L);
-                    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;
-                    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);
-                } else {
-                    newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
-                    List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-                    addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
-
-                    hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                try {
+                    if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                        // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+                        tjFlowingWater.setPayStasus(1L);
+                        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;
+                        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);
+                    } else {
+                        newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                        addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+                        hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                    }
+                    return AjaxResult.success(tjNumber);
+                } catch (Exception e) {
+                    log.error(e.getMessage());
+                    throw new RuntimeException(e);
                 }
-                return AjaxResult.success(tjNumber);
             } else {
                 tjCustomer.setCardId(tjOrder.getTjNumber());
                 tjCustomerService.updateById(tjCustomer);
@@ -1382,91 +1382,103 @@
             String drrysfsf = configService.selectConfigByKey("drrysfsf");
 
 
-            if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
-                if(StringUtil.isNotBlank(drrysfsf) && drrysfsf.equalsIgnoreCase("Y")){
-                    if(null != tjReservation){
-                        return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber);
-                    }else {
-                        newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
-                        AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
-                        if (error != null) return error;
-                        return AjaxResult.success(tjNumber);
-                    }
-                }
-                return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber);
+            try {
+                if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                    if(StringUtil.isNotBlank(drrysfsf) && drrysfsf.equalsIgnoreCase("Y")){
+                        if(null != tjReservation){
+                            return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber);
+                        }else {
+                            newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                            AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
+                            if (error != null) return error;
 
-            } else {
-                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
-                AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
-                if (error != null) return error;
-//                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-//                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+                            return AjaxResult.success(tjNumber);
+                        }
+                    }
+                    return isUseLisAndPacsRegister(tjOrder, tjCustomer, tjReservation, tjFlowingWater, sysUser, discount, tjNumber);
+
+                } else {
+                    newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                    AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
+                    if (error != null) return error;
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage());
+                throw new RuntimeException(e);
             }
 
             return AjaxResult.success(tjNumber);
-//            pacsApiMethodService.OrderAdd(tjCustomer,tjOrder);
-//            return AjaxResult.success(tjNumber);
         }
         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         return AjaxResult.error();
     }
 
     private AjaxResult isUseLisAndPacsRegister(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, SysUser sysUser, BigDecimal discount, String tjNumber) {
-        log.info("绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�");
-        // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
-        tjFlowingWater.setPayStasus(1L);
-        newSaveextracted(tjOrder, tjCustomer, discount, 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());
-        log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
-        addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
-        return AjaxResult.success(tjNumber);
+        try {
+            log.info("绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�");
+            // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+            tjFlowingWater.setPayStasus(1L);
+            newSaveextracted(tjOrder, tjCustomer, discount, 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());
+            log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
+            addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+            return AjaxResult.success(tjNumber);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new RuntimeException(e);
+        }
     }
 
     public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
-        tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
-        if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
-            tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),
-                    String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
-        } else {
-            tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
-        }
+        try {
+            tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
+            if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+                tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),
+                        String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+            } else {
+                tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
+            }
 
-        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
+            tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
 
-        //娣诲姞remark琛ㄦ暟鎹�
-        if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
-            remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+            //娣诲姞remark琛ㄦ暟鎹�
+            if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+                remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
 
-        } else {
-            remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+            } else {
+                remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
 
-        }
-        //鍒ゆ柇鏄惁浜ら挶
-        if ("1".equals(tjOrder.getTjType())) {
-            if (null != tjReservation && tjReservation.getPayType() == 1) {
+            }
+            //鍒ゆ柇鏄惁浜ら挶
+            if ("1".equals(tjOrder.getTjType())) {
+                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());
+                    List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+                    xdPictureService.saveBatch(xdPictureList);
+                }
+            }
+            if (tjFlowingWater.getPayStasus() == 1L) {
                 tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                         sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
+                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);
                 List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
                 xdPictureService.saveBatch(xdPictureList);
             }
-        }
-        if (tjFlowingWater.getPayStasus() == 1L) {
-            tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
-                    sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
-            tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
-            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);
-            List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
-            xdPictureService.saveBatch(xdPictureList);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new RuntimeException(e);
         }
     }
 
@@ -1494,6 +1506,21 @@
 
             List<TbTransition> list = tbTransitionService.list(wrapper);
             BigDecimal zongjia = new BigDecimal("0.0");
+
+            // his鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰鎬讳环缂栫爜
+            String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm");
+            // 鏄惁寮�鍚痟is鐩存帴鍗曞紑浣撴璐瑰崟椤圭洰 N浣跨敤鏄庣粏寮�鍗� 鍏朵粬閮戒负鍗曢」鐩紑鎬讳环
+            String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj");
+            // 鏄惁浣跨敤his浠锋牸浼犻�掕鍒� Y寮�鍚�
+            String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule");
+            // his浠锋牸浼犻�掕鍒欎繚鐣欏緱浣嶆暟 榛樿2浣�
+            String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu");
+            // his浠锋牸浼犻�掕鍒� 1鍥涜垗浜斿叆 2鐩存帴鑸嶅幓
+            String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig");
+            // 浼犻�掗」鐩槸鍚︿娇鐢╤is绉戝
+            String isUseHisKs = configService.selectConfigByKey("isCreateMenZhenFyUseHisKs");
+            String createMenZhenFyZJUseHisKs = configService.selectConfigByKey("createMenZhenFyZJUseHisKs");
+
             for (TbTransition transition : list) {
                 LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                 wrapper1.eq(TjProject::getProId, transition.getProId());
@@ -1508,17 +1535,63 @@
                 int sl = 1;
                 BigDecimal danjia = transition.getNowPrice();
                 BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
+                if (StrUtil.isNotBlank(sfsyhisjgrule) && sfsyhisjgrule.equalsIgnoreCase("Y")){
+                    int baoliuweishu = 2;
+                    if (StrUtil.isNotBlank(sfsyhisjgrulebaoliuweishu)){
+                        try {
+                            baoliuweishu = Integer.parseInt(sfsyhisjgrulebaoliuweishu);
+                        } catch (NumberFormatException e) {
+                            log.error("his浠锋牸浼犻�掕鍒欎繚鐣欎綅鏁拌浆鎹㈠紓甯� 閰嶇疆鍊�->{}\n{}{}",sfsyhisjgrulebaoliuweishu,e,e.getMessage());
+                            return AjaxResult.error();
+                        }
+                    }
+                    if (StrUtil.isNotBlank(sfsyhisjgrulesconfig) && !sfsyhisjgrulesconfig.equalsIgnoreCase("1")){
+                        // 鍏朵粬鑷畾涔夌殑瑙勫垯璁$畻鏂规硶
+                    }else {
+                        // 鍥涜垗浜斿叆
+                        danjia = danjia.setScale(baoliuweishu, RoundingMode.HALF_UP);
+                        allPrice = danjia.multiply(new BigDecimal(sl)).setScale(baoliuweishu, RoundingMode.HALF_UP);
+                    }
+                }
                 obj.putOpt("danJia", danjia);
                 obj.putOpt("jieSuanJe", allPrice);
                 obj.putOpt("shuliang", sl);
-                obj.putOpt("zhiXingKs", dept.getDeptId());
-                obj.putOpt("zhiXingKsMc", dept.getDeptName());
+                if (isUseHisKs.equalsIgnoreCase("Y")){
+                    obj.putOpt("zhiXingKs", dept.getHisksid());
+                    obj.putOpt("zhiXingKsMc", dept.getHisksmc());
+                }else {
+                    obj.putOpt("zhiXingKs", dept.getDeptId());
+                    obj.putOpt("zhiXingKsMc", dept.getDeptName());
+                }
                 obj.putOpt("shouFeiXmId", project.getHisXmbm());
                 obj.putOpt("shouFeiXmMc", project.getHisXmmc());
                 array.add(obj);
                 zongjia = zongjia.add(allPrice);
             }
-            map.put("feiYongInfoList", array);
+
+            if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){
+                map.put("feiYongInfoList", array);
+            }else {
+                zongjia = tjFlowingWater.getPaidIn();
+                JSONArray zjarray = JSONUtil.createArray();
+                JSONObject obj = JSONUtil.createObj();
+                int sl = 1;
+                obj.putOpt("danJia", zongjia);
+                obj.putOpt("jieSuanJe", zongjia);
+                obj.putOpt("shuliang", sl);
+                if (isUseHisKs.equalsIgnoreCase("Y")){
+                    if (StrUtil.isBlank(createMenZhenFyZJUseHisKs)) return AjaxResult.error();
+                    obj.putOpt("zhiXingKs", createMenZhenFyZJUseHisKs);
+                }else {
+                    obj.putOpt("zhiXingKs", "100");
+                }
+                obj.putOpt("zhiXingKsMc","浣撴涓績");
+                obj.putOpt("shouFeiXmId", tjfhisxmbm);
+                obj.putOpt("shouFeiXmMc", "浣撴璐�");
+                zjarray.add(obj);
+                map.put("feiYongInfoList", zjarray);
+            }
+
             log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString());
 
             String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
@@ -1661,12 +1734,17 @@
         if (null != cusIds && !cusIds.isEmpty()) {
             ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size());
             for (String cusId : cusIds) {
-                threadPools.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        getAjaxResults(cusId);
-                    }
-                });
+
+//                threadPools.execute(new Runnable() {
+//                    @Override
+//                    public void run() {
+                try {
+                    getAjaxResults(cusId);
+                } catch (Exception e) {
+
+                }
+//                    }
+//                });
             }
             LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
             wq.in(TjCustomer::getCusIdcard, cusIds);
@@ -1712,72 +1790,17 @@
             }
             // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁  鎵撳嵃瀵艰瘖鍗�
             if (!tjNumbers.isEmpty()) {
-            /*    Map<String, Object> map = null;
-                try {
-                    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();
-                        }
-                    }
-
-//                    }
-                    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);
             }
+
             if (!errTjh.isEmpty()){
                 Map<String,Object> map=new HashMap<>();
                 map.put("errtjh",errTjh);
                 return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map);
             }
-            return AjaxResult.success();
+            return AjaxResult.error();
         }
 //        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         return AjaxResult.error();
@@ -1856,51 +1879,59 @@
                     tjReservationService.updateById(tjReservation);
 //                    return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�");
                 }*/
-                LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
-                qw.eq(TjCustomer::getCusIdcard, cusIdcard);
-                TjCustomer tjCustomer1 = tjCustomerService.getOne(qw);
-                if (tjCustomer1 != null) {
-                    tjCustomer1.setTjType(tjReservation.getTjType());
-                    tjCustomer1.setCusName(tjReservation.getName());
-                    tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
-                    tjCustomer1.setCusBrithday(tjReservation.getBirthday());
-                    tjCustomer1.setCusPhone(tjReservation.getPhoe());
-                    tjCustomer1.setCusEmail(tjReservation.getEmail());
-                    tjCustomer1.setCusAddr(tjReservation.getAddress());
-                    tjCustomer1.setCusMarryStatus(String.valueOf(tjReservation.getMarriage()));
-                    tjCustomer1.setCusNational(String.valueOf(tjReservation.getNation()));
-                    tjCustomer1.setIdType(tjReservation.getIdType());
-                    tjCustomer1.setAge(tjReservation.getAge());
-                    tjCustomer1.setAgeUnit(tjReservation.getAgeUnit());
-                    tjCustomer1.setCareer(tjReservation.getCareer());
-                    tjCustomerService.updateById(tjCustomer1);
-                } else {
-                    TjCustomer tjCustomer = new TjCustomer();
-                    tjCustomer.setCusIdcard(tjReservation.getIdCard());
-                    tjCustomer.setCusName(tjReservation.getName());
-                    tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex()));
-                    tjCustomer.setCusBrithday(tjReservation.getBirthday());
-                    tjCustomer.setCusPhone(tjReservation.getPhoe());
-                    tjCustomer.setCusEmail(tjReservation.getEmail());
-                    tjCustomer.setCusAddr(tjReservation.getAddress());
-                    tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage()));
-                    tjCustomer.setCusNational(String.valueOf(tjReservation.getNation()));
-                    tjCustomer.setIdType(tjReservation.getIdType());
-                    tjCustomer.setAge(tjReservation.getAge());
-                    tjCustomer.setAgeUnit(tjReservation.getAgeUnit());
-                    tjCustomer.setCareer(tjReservation.getCareer());
-                    tjCustomer.setDwPhone(tjReservation.getDwPhone());
-                    tjCustomer.setCardId(tjReservation.getCardId());
-                    tjCustomer.setIndexCard(tjReservation.getIndexCard());
-                    //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓
-                    String substring = cusIdcard.substring(cusIdcard.length() - 6);
-                    substring = DigestUtils.md5DigestAsHex(substring.getBytes());
-                    tjCustomer.setCusPassword(substring);
-                    tjCustomer.setTjType(tjReservation.getTjType());
-                    tjCustomerService.save(tjCustomer);
+                try {
+                    LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
+                    qw.eq(TjCustomer::getCusIdcard, cusIdcard);
+                    TjCustomer tjCustomer1 = tjCustomerService.getOne(qw);
+                    if (tjCustomer1 != null) {
+                        tjCustomer1.setTjType(tjReservation.getTjType());
+                        tjCustomer1.setCusName(tjReservation.getName());
+                        tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
+                        tjCustomer1.setCusBrithday(tjReservation.getBirthday());
+                        tjCustomer1.setCusPhone(tjReservation.getPhoe());
+                        tjCustomer1.setCusEmail(tjReservation.getEmail());
+                        tjCustomer1.setCusAddr(tjReservation.getAddress());
+                        tjCustomer1.setCusMarryStatus(String.valueOf(tjReservation.getMarriage()));
+                        tjCustomer1.setCusNational(String.valueOf(tjReservation.getNation()));
+                        tjCustomer1.setIdType(tjReservation.getIdType());
+                        tjCustomer1.setAge(tjReservation.getAge());
+                        tjCustomer1.setAgeUnit(tjReservation.getAgeUnit());
+                        tjCustomer1.setCareer(tjReservation.getCareer());
+                        tjCustomerService.updateById(tjCustomer1);
+                    } else {
+                        TjCustomer tjCustomer = new TjCustomer();
+                        tjCustomer.setCusIdcard(tjReservation.getIdCard());
+                        tjCustomer.setCusName(tjReservation.getName());
+                        tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex()));
+                        tjCustomer.setCusBrithday(tjReservation.getBirthday());
+                        tjCustomer.setCusPhone(tjReservation.getPhoe());
+                        tjCustomer.setCusEmail(tjReservation.getEmail());
+                        tjCustomer.setCusAddr(tjReservation.getAddress());
+                        tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage()));
+                        tjCustomer.setCusNational(String.valueOf(tjReservation.getNation()));
+                        tjCustomer.setIdType(tjReservation.getIdType());
+                        tjCustomer.setAge(tjReservation.getAge());
+                        tjCustomer.setAgeUnit(tjReservation.getAgeUnit());
+                        tjCustomer.setCareer(tjReservation.getCareer());
+                        tjCustomer.setDwPhone(tjReservation.getDwPhone());
+                        tjCustomer.setCardId(tjReservation.getCardId());
+                        tjCustomer.setIndexCard(tjReservation.getIndexCard());
+                        //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓
+                        String substring = cusIdcard.substring(cusIdcard.length() - 6);
+                        substring = DigestUtils.md5DigestAsHex(substring.getBytes());
+                        tjCustomer.setCusPassword(substring);
+                        tjCustomer.setTjType(tjReservation.getTjType());
+                        tjCustomerService.save(tjCustomer);
+                    }
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
                 }
+            }else {
+                throw new RuntimeException();
             }
 
+        }else {
+            throw new RuntimeException();
         }
     }
 
@@ -1993,7 +2024,7 @@
             //鑾峰彇鎷兼帴鍓嶇紑
             String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
 //            String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
-            String tjNumber = idUtils.getTjNumber();
+            String tjNumber = idUtils.getNewTjNumberRedisLockAndMysql();
             if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
 
 
@@ -2237,9 +2268,11 @@
                     transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId);
 
                     //琛ュ樊浠�
-                    List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId);
+                    List<Map<String, Object>> cjMaps = transitionService.addTbhuoquxiangmuchajia(pacId.toString(), cusId);
                     if (null != cjMaps && !cjMaps.isEmpty()) {
+                        log.info("璇ュ椁�"+pacId+"涓湁宸环:"+cjMaps.size()+"涓�");
                         for (Map<String, Object> cjMap : cjMaps) {
+                            log.info("娣诲姞涓存椂琛ㄥ椁愭暟鎹椂鎵�閫夌殑宸环涓�:"+ cjMap.get("cj").toString());
                             transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString()));
                         }
                     }
@@ -3109,9 +3142,9 @@
             TjReport tjReport = new TjReport();
             tjReport.setTjNumber(String.valueOf(tjNumber));
             tjReport.setPath(urlValue + outputFileName1);
-            String outputPath1 = value + File.separator;
-            String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
-            tjReport.setReport(pdfBinary);
+//            String outputPath1 = value + File.separator;
+//            String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
+//            tjReport.setReport(pdfBinary);
             tjReport.setType("浣撴鎶ュ憡");
             tjReport.setPrint("pdf");
             tjReportService.save(tjReport);
@@ -3242,16 +3275,17 @@
 
         TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
         if (null != order) {
-//            String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId()));
-//            if (null != payByTjNum) {
-//                return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!");
-//            }
-            if (null != order.getFinishTime()) return AjaxResult.error("璇ヤ汉鍛樺凡绛剧,涓嶅彲鎾ら攢!!!");
+
+            if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!");
 
             Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+            String username = SecurityUtils.getUsername();
+            LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TjCustomer::getCusId, order.getUserId());
+            TjCustomer tjCustomer = tjCustomerService.getOne(wrapper);
 
             String s = configService.selectConfigByKey("is_request_common_his_api");
-//            if (null != s && s.equals("Y") && "2".equals(order.getTjType())) {
+
             if (null != s && s.equals("Y") && !useLisAndPacsRegister) {
                 String apiUrl = configService.selectConfigByKey("common_api_url");
                 String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
@@ -3262,37 +3296,35 @@
                 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 {
+                    } else if (water.getPayStasus() == 1L){
                         yizhifu.add(water);
                     }
                 }
 
+                log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗘挙閿� 浣撴鍙蜂负:"+tjNum+" 鐨勪綋妫�璁板綍;" );
                 AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum);
-                if (error != null && !error.get("code").toString().equals("200")) return error;
-
+                if (error != null && !error.get("code").toString().equals("200")){
+                    log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖鏈敮浠樼殑浣撴璁板綍;   鎾ら攢澶辫触!!!!" );
+                    return error;
+                }else {
+                    log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖鏈敮浠樼殑浣撴璁板綍;" );
+                }
                 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);
-                ycxmService.delOrderYcXmJyByTjh(tjNum);
+                if (error1 != null && !error.get("code").toString().equals("200"))
+                {
+                    log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖宸叉敮浠樼殑浣撴璁板綍;   鎾ら攢澶辫触!!!!" );
+                    return error1;
+                }else {
+                    log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+tjNum+" 骞朵笖宸叉敮浠樼殑浣撴璁板綍;" );
+                }
 
-                TjCustomer customer = tjCustomerService.getById(order.getUserId());
-                customer.setCardId("0");
-                tjCustomerService.updateById(customer);
-                xdPictureService.deleteTjXdPictureBytjNum(tjNum);
-                tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());
             }
+
 
             String configByKey = configService.selectConfigByKey("sfkqdyhis");
             if (configByKey.equals("Y")) {
@@ -3322,8 +3354,21 @@
                 }
 
             }
+
+            tjCustomer.setCardId("0");
+            tjCustomerService.updateById(tjCustomer);
+                /*                tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+                tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
+                remarkService.deletedOrderRemarkByTjNum(tjNum);
+                tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
+                transitionService.deletedTbTransitionByTjNum(tjNum);
+                ycxmService.delOrderYcXmJyByTjh(tjNum);
+                xdPictureService.deleteTjXdPictureBytjNum(tjNum);
+                tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());*/
+            tjOrderService.removeById(order.getOrderId());
+            return AjaxResult.success("鎾ら攢鎴愬姛");
         }
-        return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!");
+        return AjaxResult.error("绛惧埌璁板綍涓嶅瓨鍦�!");
     }
 
 
@@ -3499,11 +3544,9 @@
     public AjaxResult revokeTjOrderByTjh(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNum) {
 
         TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
+        String username = SecurityUtils.getUsername();
+        log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗗己鍒舵挙閿� 浣撴鍙蜂负:"+tjNum+" 鐨勪綋妫�璁板綍;" );
         if (null != order) {
-//            String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId()));
-//            if (null != payByTjNum) {
-//                return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!");
-//            }
             //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩�
             tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
             tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
@@ -3523,6 +3566,7 @@
 
         TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
         if (null != order) {
+
             LambdaQueryWrapper<TjProBl> wq = new LambdaQueryWrapper<>();
             wq.eq(TjProBl::getTjh, tjNum);
             List<TjProBl> blList = blService.list(wq);
@@ -3561,7 +3605,12 @@
         }
 
         TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh());
+        String username = SecurityUtils.getUsername();
         if (null != order) {
+
+            if (null != order.getPrintLastTime()) return AjaxResult.error("璇ヤ汉鍛樻姤鍛婂凡鎵撳嵃,涓嶅彲鎾ら攢!!!");
+
+            log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴峰嵆灏嗘挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 鐨� 琛ュ綍浣撴璁板綍;" );
             String configByKey = configService.selectConfigByKey("sfkqdyhis");
             if (null != configByKey && configByKey.equals("Y")) {
                 log.info("dto鐨勬暟鎹槸" + JSONUtil.toJsonStr(dto));
@@ -3613,7 +3662,7 @@
                     TjFlowingWater water = tjFlowingWaterService.getOne(wrapper);
                     if (water.getPayStasus() == 0L) {
                         weizhifu.add(water);
-                    } else {
+                    } else if (water.getPayStasus() == 1L){
                         yizhifu.add(water);
                     }
                 }
@@ -3623,22 +3672,34 @@
                 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;
+                if (error != null && !error.get("code").toString().equals("200"))
+                {
+                    log.info("浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖鏈敮浠樼殑琛ュ綍浣撴璁板綍;  鎾ら攢澶辫触" );
+                    return error;
+                }else {
+                    log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖鏈敮浠樼殑琛ュ綍浣撴璁板綍;" );
+                }
 
                 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 {
+                if (error1 != null && !error.get("code").toString().equals("200"))
+                {
+                    log.info("浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖宸叉敮浠樼殑琛ュ綍浣撴璁板綍;  鎾ら攢澶辫触" );
+                    return error1;
+                }else {
+                    log.info("宸ュ彿涓�: "+username+" 鐨勭敤鎴锋鍦ㄦ挙閿� 浣撴鍙蜂负:"+dto.getTjh()+"琛ュ綍鍗曞彿涓�: " + dto.getBldhs()+ " 骞朵笖宸叉敮浠樼殑琛ュ綍浣撴璁板綍;" );
+                }
+            }
+
                 try {
                     extracted(dto, order);
                 } catch (Exception e) {
                     log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�");
                     return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!");
                 }
-                return AjaxResult.success();
-            }
+                return AjaxResult.success("鎾ら攢鎴愬姛!");
+
         }
-        return AjaxResult.error();
+        return AjaxResult.error("鏈煡璇㈠埌浣撴璁板綍!");
     }
 
     private AjaxResult zuofeiYiZhifu(ArrayList<TjFlowingWater> yizhifu, TjCustomer tjCustomer, TjOrder order, String apiUrl, String hospbm, Boolean isDelete, String tjNum) {
@@ -3711,7 +3772,7 @@
                         String tfid = jsonObject.getJSONObject("data").getStr("feiYongId");
                         water.setHisTfWaterId(tfid);
                         tjFlowingWaterService.updateById(water);
-                        if (isDelete) {
+           /*             if (isDelete) {
                             for (TjFlowingWater water1 : yizhifu) {
                                 String bldh1 = water1.getJxbz();
                                 remarkService.deleteTjOrderDetailByjxbz(bldh1);
@@ -3721,8 +3782,8 @@
                                 blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, tjNum).eq(TjProBl::getBldh, bldh1));
                                 tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh1);
                             }
-                        }
-                    } else return AjaxResult.error();
+                        }*/
+                    } else return AjaxResult.error("鎾ら攢澶辫触");
                 }
             }
         }
@@ -3739,7 +3800,7 @@
 
             String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/revokeCost", chexiaoMap);
             if (JSONUtil.parseObj(post).getStr("code").equals("200")) {
-                if (isDelete) {
+                /*if (isDelete) {
                     for (TjFlowingWater water : weizhifu) {
                         String bldh = water.getJxbz();
                         if (StrUtil.isNotBlank(bldh)) {
@@ -3751,31 +3812,39 @@
                             tjSamplingMapper.deleteByTjNumAndCusIdAndJxbzo(tjNum, order.getUserId(), bldh);
                         } else {
                             //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩�
-                            tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+                *//*            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());
+                            tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());*//*
+//                            TjCustomer customer = tjCustomerService.getById(order.getUserId());
+//                            customer.setCardId("0");
+//                            tjCustomerService.updateById(customer);
+//                            tjOrderService.removeById(order.getOrderId());
                         }
 
                     }
-                }
-            } else return AjaxResult.error();
+                }*/
+            } else return AjaxResult.error("鎾ら攢澶辫触");
         }
         return null;
     }
 
     //    @Transactional(propagation =Propagation.REQUIRES_NEW)
     public void extracted(TjProBlDto dto, TjOrder order) {
-        for (String bldh : dto.getBldhs()) {
-            remarkService.deleteTjOrderDetailByjxbz(bldh);
-            tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
-            tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
-            transitionService.deleteTjOrderDetailByjxbz(bldh);
-            blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
+        try {
+            for (String bldh : dto.getBldhs()) {
+                remarkService.deleteTjOrderDetailByjxbz(bldh);
+                tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
+                tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
+                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());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
-        tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs());
     }
 
 
@@ -3982,16 +4051,6 @@
     @GetMapping(value = "newgetTransitionList")
     @ApiOperation(value = "鏈�鏂版煡璇㈣繃娓¤〃鏁版嵁")
     public AjaxResult newgetTransitionList(@RequestParam @ApiParam(value = "瀹㈡埛id") String 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);
     }

--
Gitblit v1.8.0