From 1e91dc33009cfdc951b2642877f40280b51c3089 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 28 二月 2025 15:17:01 +0800
Subject: [PATCH] zjh20250228

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java |  177 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 144 insertions(+), 33 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 158468f..1d0d4b1 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
@@ -90,6 +90,7 @@
 import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.http.HttpRequest;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -240,6 +241,8 @@
     @Autowired
     private TbTransitionMapper tbTransitionMapper;
 
+    private static final String TJH = "tjhs:tjh";
+
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
     public JSONObject getJSONObject(String builder) {
         String Response = JSONUtil.parseObj(builder).getStr("Response");
@@ -305,7 +308,7 @@
             wqq.like(TjCustomer::getCusName, name);
             List<TjCustomer> customerList = tjCustomerService.list(wqq);
             List<TjOrder> list2 = new ArrayList<>();
-            if (null != customerList && customerList.size() > 0) {
+            if (null != customerList && !customerList.isEmpty()) {
                 List<TjOrder> list = new ArrayList<>();
                 for (TjCustomer customer : customerList) {
                     LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
@@ -316,13 +319,13 @@
                     list.addAll(tjOrderService.list(wq));
                 }
                 List<TjOrder> collect = null;
-                if (list.size() > 0) {
+                if (!list.isEmpty()) {
                     for (TjOrder order : list) {
                         //绛涢�夋湁璋冩煡闂嵎鐨�
                         LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>();
                         wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber());
                         List<TjSurveyRecord> one = surveyRecordService.list(wqq1);
-                        if (one.size() == 0) {
+                        if (one.isEmpty()) {
                             TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                             if (null != tjCustomer) {
                                 order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
@@ -383,7 +386,7 @@
                 LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>();
                 wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber());
                 List<TjSurveyRecord> one = surveyRecordService.list(wqq);
-                if (one.size() == 0) {
+                if (one.isEmpty()) {
                     TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                     if (null != tjCustomer) {
                         order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
@@ -1034,7 +1037,7 @@
             }
             tjReservation.setIsExpire(1);
             tjReservationService.updateById(tjReservation);
-            if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) {
+            if (null != tjReservation.getTeamNo()) {
                 tjOrder.setTjType("1");
             } else if (tjOrder.getTjType().equals("2")) {
                 tjOrder.setTjType("2");
@@ -1082,7 +1085,10 @@
                 tjOrderService.tjQiandaodengji(tjOrder.getTjNumber());
                 return result;
             }
-        } finally {
+        }catch (Exception e){
+            log.error(String.valueOf(e));
+        }
+        finally {
             lock.unlock();
         }
         return AjaxResult.error();
@@ -1092,14 +1098,15 @@
     public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) {
 
         //鑾峰彇鎷兼帴鍓嶇紑
-        String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+//        String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+        String makeLisTmhPrefix = "";
 
         //鐢熸垚浣撴鍙�
 //        String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
 //        if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber;
 
 
-        String tjNumber = (SecurityUtils.getUsername() + IdUtils.getTjNumber());
+        String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
         if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
         tjOrder.setTjNumber(tjNumber);
 
@@ -1232,8 +1239,8 @@
                     // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
                     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;
+//                    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());
@@ -1245,8 +1252,10 @@
                     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());
+                    String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx");
+                    if (isUseMx.equalsIgnoreCase("Y"))
+                        hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                    else hisApiMethod.tijianshenqingJinchuanNew(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
                 }
                 return AjaxResult.success(tjNumber);
             } else {
@@ -1343,7 +1352,9 @@
 
             // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
 
+            log.info("绛惧埌鐧昏鎺ュ彛璇ヤ汉鍛�: "+tjOrder.getTjNumber()+" 鐨勪綋妫�绫诲瀷鏄�:"+tjOrder.getTjType());
             if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�");
                 // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
                 tjFlowingWater.setPayStasus(1L);
                 newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
@@ -1353,9 +1364,11 @@
                 List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
                 xdPictureService.saveBatch(xdPictureList);
                 List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
                 addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
                 return AjaxResult.success(tjNumber);
             } else {
+                log.info(tjOrder.getTjNumber()+"else绛惧埌鐧昏杩涘叆鏀惰垂鏂规硶");
                 newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                 AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
                 if (error != null) return error;
@@ -1522,6 +1535,28 @@
     }
 
 
+
+    @GetMapping("/addCaiYangDengJi")
+    @ApiOperation(value = "鎵嬪姩娣诲姞閲囨牱璁板綍鎺ュ彛")
+    public AjaxResult addCaiYangDengJi(@RequestParam("tjNum") String tjNum){
+
+        try {
+            TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
+            if(null !=order){
+                Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
+                SysUser sysUser = userService.getById(userId);
+                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
+                log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
+                addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser, null);
+            }
+        } catch (NumberFormatException e) {
+            log.error(String.valueOf(e));
+        }
+
+        return AjaxResult.success();
+    }
+
+
     @PostMapping("/addPlOrderAndDetail")
     @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛")
 //    @Transactional  //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�)
@@ -1558,15 +1593,11 @@
 //                            }
 //                        }
 //                    });
-                    String tjh = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
 
-
-
-                    String finalTjh = tjh;
                     Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() {
                         @Override
                         public AjaxResult call() throws Exception {
-                            return getAjaxResult(aLong, sysUser, daoDto.getTjCategory(), finalTjh);
+                            return getAjaxResult(aLong, sysUser, daoDto.getTjCategory());
                         }
                     });
                     try {
@@ -1580,7 +1611,7 @@
                             errTjh.add(userId);
                         }
                     } catch (InterruptedException | ExecutionException e) {
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         e.printStackTrace();
                     }
                 }
@@ -1588,7 +1619,7 @@
             }
             // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁  鎵撳嵃瀵艰瘖鍗�
             if (!tjNumbers.isEmpty()) {
-                Map<String, Object> map = null;
+            /*    Map<String, Object> map = null;
                 try {
                     map = PDFDocumentUtil.getDocument();
                     Document document = (Document) map.get("document");
@@ -1643,15 +1674,19 @@
                 } catch (IOException | DocumentException e) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     e.printStackTrace();
-                }
-                return AjaxResult.success("鎿嶄綔鎴愬姛");
+                }*/
+                Map<String,Object> map=new HashMap<>();
+                map.put("tjh",tjNumbers);
+                return AjaxResult.success("鎿嶄綔鎴愬姛",map);
             }
             if (!errTjh.isEmpty()){
-                return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",errTjh);
+                Map<String,Object> map=new HashMap<>();
+                map.put("errtjh",errTjh);
+                return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map);
             }
             return AjaxResult.success();
         }
-        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         return AjaxResult.error();
     }
 
@@ -1665,7 +1700,7 @@
         return AjaxResult.success(hashMap);
     }
 
-//    @Transactional
+    @Transactional
     public void getAjaxResults(String cusIdcard) {
         if (!"".equals(cusIdcard) && cusIdcard != null) {
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
@@ -1800,8 +1835,8 @@
         DynamicDataSourceContextHolder.clearDataSourceType();
     }
 
-//    @Transactional
-    public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory,String tjh) throws IOException {
+    @Transactional
+    public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException {
 
         LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
         wq.eq(TjCustomer::getCusId, userId);
@@ -1858,14 +1893,33 @@
 //            tjReservationService.updateById(tjReservation);
 
             //鐢熸垚浣撴鍙�
-            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
+//            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
+//            tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6));
 
-            tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
 
-            tjh = tjh.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
+            //鑾峰彇鎷兼帴鍓嶇紑
+            String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+            String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
+            if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
 
-//            tjOrder.setTjNumber(tjNumber);
-            tjOrder.setTjNumber(tjh);
+
+//            if (redisCache.hasKey(TJH)) {
+//                while (true){
+//                    List<String> tjh = redisCache.getCacheList(TJH);
+//                    if(tjh.contains(tjNumber)){
+//                        tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber());
+//                        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
+//                    }else {
+//                        tjh.add(tjNumber);
+//                    }
+//                }
+//            }else {
+//                List<String> stringList = tjOrderService.
+//                        list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList());
+//                stringList.add(tjNumber);
+//                redisCache.setCacheList(TJH,stringList);
+//            }
+            tjOrder.setTjNumber(tjNumber);
             if (null != tjOrder.getPhoto()) {
                 File file = new File(tjOrder.getPhoto());
                 if (file.isFile()) {
@@ -1910,8 +1964,12 @@
                 tjFlowingWater.setUpdateTime(date);
                 tjFlowingWater.setCreateBy(sysUser.getNickName());
                 tjFlowingWater.setUpdateBy(sysUser.getNickName());
-                tjFlowingWater.setCopeWith(tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()));
-                tjFlowingWater.setPaidIn(tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()));
+//                BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber());
+                BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard());
+                tjFlowingWater.setCopeWith(bigDecimal);
+//                BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber());
+                BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard());
+                tjFlowingWater.setPaidIn(bigDecimal1);
                 tjFlowingWater.setDiscount(String.valueOf(10));
                 tjFlowingWater.setPayStasus(1L);
                 tjFlowingWater.setPayType(3L);
@@ -3700,6 +3758,20 @@
     }
 
 
+    @GetMapping("/chushenyemianyijianjiekou")
+    @ApiOperation(value = "鍒濆椤甸潰寮冩鎺ュ彛")
+    @Transactional
+    public AjaxResult chushenyemianyijianjiekou(@RequestParam String tjNUm, @RequestParam String proId) {
+        LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjOrderRemark::getTjNumber, tjNUm);
+        wq.eq(TjOrderRemark::getProId, proId);
+        TjOrderRemark remark = remarkService.getOne(wq);
+        remark.setType(1);
+        remarkService.updateById(remark);
+        return AjaxResult.success("鎿嶄綔鎴愬姛!");
+    }
+
+
     @PostMapping("/zongjanyemianshjianzhou")
     @ApiOperation(value = "鎬绘鑾峰彇鏃堕棿杞存帴鍙�")
     @Transactional
@@ -3961,5 +4033,44 @@
         }
         return AjaxResult.error();
     }
+
+
+
+    @PostMapping("/addBlTransition")
+    @ApiOperation(value = "琛ュ綍娣诲姞杩囨浮琛ㄦ暟鎹�")
+    @Transactional
+    public AjaxResult addBlTransition(@RequestBody Map<String, Object> map) {
+        Object packId = map.get("pacId");
+        if (null == map.get("cusId")) return AjaxResult.error("璇烽�夋嫨浣撴浜�");
+        String cusId = map.get("cusId").toString();
+        Object proIds1 = map.get("proIds");
+        List<Long> proIds = null;
+        if (null != proIds1 && !proIds1.equals("")) {
+            proIds = JSON.parseArray(proIds1.toString(), Long.class);
+        }
+        TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId);
+        String cardId = "0";
+        if (null != tjCustomer) {
+            cardId = tjCustomer.getCardId();
+        }
+        if ((null == proIds || proIds.isEmpty()) && (null == packId || packId.equals(""))) {
+            transitionService.deletedTbTransitionByCusId(cusId);
+        }
+
+        //鍗曢」
+        if (null != proIds && !proIds.isEmpty()) {
+            //寮傛淇濆瓨鏁版嵁搴撹〃
+            for (Long proId : proIds) {
+                TjProject project = projectService.selectTjProjectByProId(proId);
+                if (null != project) {
+                    List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
+                    if (null == transitionList || transitionList.isEmpty()) {
+                        transitionService.saveRedisTransitionByProId(cusId, cardId, proId);
+                    }
+                }
+            }
+        }
+        return AjaxResult.success();
+    }
 }
 

--
Gitblit v1.8.0