From b87b01b5267a7715eba68253674f6843f76e0a5b Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 08 四月 2025 18:05:56 +0800
Subject: [PATCH] 2025-04-08

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java |  326 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 201 insertions(+), 125 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 a495528..e96ff9c 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -56,6 +56,7 @@
 import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto;
 import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
 import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
+import com.ltkj.hosp.idutil.IdUtils;
 import com.ltkj.hosp.mapper.TbTransitionMapper;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.mapper.TjSamplingMapper;
@@ -94,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;
@@ -1086,7 +1088,9 @@
                 return result;
             }
         }catch (Exception e){
-            log.error(String.valueOf(e));
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error(String.valueOf(e),e.getMessage());
+            e.printStackTrace();
         }
         finally {
             lock.unlock();
@@ -1094,7 +1098,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) {
 
         //鑾峰彇鎷兼帴鍓嶇紑
@@ -1105,10 +1110,38 @@
 //        if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber;
 
 
-        String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
-        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
-        tjOrder.setTjNumber(tjNumber);
+//        String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
+//        String tjNumber = idUtils.getTjNumber();
 
+        String tjNumber = null;
+        int a =0;
+        while (tjNumber ==null){
+            if(a>3){
+                throw new RuntimeException("鍓嶆柟鎷ユ尋,璇风◢绛�!!!");
+            }
+            try {
+                String newTjNumberRedisLockAndMysql = idUtils.getNewTjNumberRedisLockAndMysql();
+                if (StringUtil.isNotBlank(makeLisTmhPrefix)){
+                    String tjh=  makeLisTmhPrefix + newTjNumberRedisLockAndMysql;
+                    int countByTjNum = tjOrderService.getOrderCountByTjNum(tjh);
+                    if(countByTjNum==0){
+                        tjNumber=tjh;
+                    }
+                }else {
+                    int countByTjNum = tjOrderService.getOrderCountByTjNum(newTjNumberRedisLockAndMysql);
+                    if(countByTjNum==0){
+                        tjNumber=newTjNumberRedisLockAndMysql;
+                    }
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage());
+                throw new IllegalStateException();
+            }finally {
+                a++;
+            }
+        }
+
+        tjOrder.setTjNumber(tjNumber);
 
         BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount()));
         tjOrder.setDiscount(discount.toString());
@@ -1187,21 +1220,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()));
@@ -1211,15 +1231,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());
@@ -1234,27 +1260,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);
@@ -1349,35 +1377,110 @@
 
             // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
 
-            if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
-                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);
-            } 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);
+            //瀵煎叆浜哄憳鏄惁鏀惰垂
+            String drrysfsf = configService.selectConfigByKey("drrysfsf");
+
+
+            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;
+
+                            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) {
+        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) {
+        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());
+
+            //娣诲姞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()));
+
+            }
+            //鍒ゆ柇鏄惁浜ら挶
+            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);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new RuntimeException(e);
+        }
+    }
+
 
     private AjaxResult isRequestCommonHisApi(TjOrder tjOrder, TjCustomer tjCustomer, TjFlowingWater tjFlowingWater) {
         String s = configService.selectConfigByKey("is_request_common_his_api");
@@ -1401,6 +1504,7 @@
             wrapper.gt(TbTransition::getNowPrice, 0);
 
             List<TbTransition> list = tbTransitionService.list(wrapper);
+            BigDecimal zongjia = new BigDecimal("0.0");
             for (TbTransition transition : list) {
                 LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                 wrapper1.eq(TjProject::getProId, transition.getProId());
@@ -1411,7 +1515,8 @@
                 SysDept dept = sysDeptService.getOne(wrapper2);
 
                 JSONObject obj = JSONUtil.createObj();
-                Integer sl = project.getSl();
+//                Integer sl = project.getSl();
+                int sl = 1;
                 BigDecimal danjia = transition.getNowPrice();
                 BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                 obj.putOpt("danJia", danjia);
@@ -1422,8 +1527,10 @@
                 obj.putOpt("shouFeiXmId", project.getHisXmbm());
                 obj.putOpt("shouFeiXmMc", project.getHisXmmc());
                 array.add(obj);
+                zongjia = zongjia.add(allPrice);
             }
             map.put("feiYongInfoList", array);
+            log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString());
 
             String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
             JSONObject object = JSONUtil.parseObj(post);
@@ -1452,6 +1559,8 @@
             Date date = new Date();
             String format = DateUtil.format(date, "yyMMddHHmmssSSS");
             for (TjOrderDetail detail : detailList) {
+                int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+                if(i>0) continue;
                 TjSampling sampling = new TjSampling();
                 if (null == projectService.getById(detail.getProId())) continue;
                 TjProject project = projectService.getById(detail.getProId());
@@ -1894,7 +2003,8 @@
 
             //鑾峰彇鎷兼帴鍓嶇紑
             String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
-            String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
+//            String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
+            String tjNumber = idUtils.getTjNumber();
             if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
 
 
@@ -2830,50 +2940,6 @@
     }
 
 
-    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());
-        }
-
-        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()));
-
-        } 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) {
-                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);
-        }
-    }
-
-
     public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
 
         tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
@@ -3055,8 +3121,8 @@
             tjReport.setTjNumber(String.valueOf(tjNumber));
             tjReport.setPath(urlValue + outputFileName1);
             String outputPath1 = value + File.separator;
-            String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
-            tjReport.setReport(pdfBinary);
+//            String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
+//            tjReport.setReport(pdfBinary);
             tjReport.setType("浣撴鎶ュ憡");
             tjReport.setPrint("pdf");
             tjReportService.save(tjReport);
@@ -3947,6 +4013,7 @@
     public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) {
 
         if (null != dtos && !dtos.isEmpty()) {
+            boolean flag = false;
             for (UpdateTransitionnewPriceDto dto : dtos) {
                 LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>();
                 wq.eq(TbTransition::getCusId, dto.getCusIdCard());
@@ -3957,22 +4024,31 @@
                 log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId());
                 log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount()));
                 if (null != list && !list.isEmpty()) {
-                    BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId());
+
                     for (TbTransition transition : list) {
                         BigDecimal ordPrice = transition.getOrdPrice();
                         BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
-                        log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply);
+                        log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString());
                         transition.setNowPrice(multiply);
                         transition.setDiscount(new BigDecimal(dto.getDiscount()));
                         transitionService.updateById(transition);
                     }
-                    if (null != dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO) >= 0) {
-                        List<TbTransition> transitionList = list.stream().filter(a ->
-                                transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList());
-                        if (!transitionList.isEmpty()) {
-                            TbTransition tbTransition = transitionList.get(0);
-                            tbTransition.setNowPrice(dxzj);
-                            transitionService.updateById(tbTransition);
+
+                    BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId());
+
+                    BigDecimal yhj = dto.getYhj();
+                    log.info("鍓嶇浼犻�掔殑浠锋牸锛歿}",yhj.toString());
+                    BigDecimal cj = yhj.subtract(dxzj);
+                    log.info("璁$畻鐨勫樊浠凤細{}",cj.toString());
+                    for (TbTransition transition : list) {
+                        BigDecimal result = transition.getNowPrice().add(cj);
+                        log.info("琛ヤ笂宸环鍓嶇殑浠锋牸涓猴細{}",transition.getNowPrice().toString());
+                        if (result.compareTo(BigDecimal.ZERO)>0 && !flag && cj.compareTo(BigDecimal.ZERO) != 0){
+                            transition.setNowPrice(result);
+                            transitionService.updateById(transition);
+                            log.info("淇敼 琛ヤ笂宸环鍚庣殑浠锋牸涓猴細{}",result.toString());
+                            flag = true;
+                            break;
                         }
                     }
                 }

--
Gitblit v1.8.0