From d89bdcd93aff8d94d3b3b50dbf866eafc1f58bac Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 23 五月 2024 18:04:01 +0800
Subject: [PATCH] zjh 2024/05/23-1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java |  164 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 117 insertions(+), 47 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 27a6210..e2dc3e3 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
@@ -22,6 +22,7 @@
 import cn.hutool.extra.pinyin.PinyinUtil;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.databind.BeanProperty;
 import com.ltkj.common.core.domain.entity.SysDept;
@@ -159,7 +160,6 @@
     private LtkjMiddleHeadService headService;
     @Resource
     private TjvLtkjvtjpatService tjvLtkjvtjpatService;
-
 
 
     /**
@@ -842,6 +842,7 @@
         TjReservation tjReservation = tjReservationService.getOne(wq1);
         MallOrder mallOrder = null;
         if (tjReservation != null) {
+            order.setReservationId(tjReservation.getId());
             mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId()));
             if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
                 return AjaxResult.error("鏈埌棰勭害鏃堕棿");
@@ -957,8 +958,7 @@
                         mallOrder.setOrderStatus(301L);
                         mallOrderService.updateById(mallOrder);
                     }
-                }
-                else {
+                } else {
                     tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
                     tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
                     tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount());
@@ -1012,14 +1012,13 @@
     }
 
 
-
     @PostMapping("/addPlOrderAndDetail")
     @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛")
     @Transactional  //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�)
-    public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto){
-         SysUser sysUser = UserHoder.getLoginUser().getUser();
+    public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto) {
+        SysUser sysUser = UserHoder.getLoginUser().getUser();
         List<String> cusIds = daoDto.getCusIds();
-        if(null !=cusIds && cusIds.size()>0){
+        if (null != cusIds && cusIds.size() > 0) {
             ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size());
             for (String cusId : cusIds) {
                 threadPools.execute(new Runnable() {
@@ -1030,16 +1029,16 @@
                 });
             }
             LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
-            wq.in(TjCustomer::getCusIdcard,cusIds);
+            wq.in(TjCustomer::getCusIdcard, cusIds);
             List<Long> list = tjCustomerService.list(wq).stream().map(TjCustomer::getCusId).collect(Collectors.toList());
-            if(list.size()>0){
+            if (list.size() > 0) {
                 ExecutorService threadPool = Executors.newFixedThreadPool(list.size());
                 for (Long aLong : list) {
                     threadPool.execute(new Runnable() {
                         @Override
                         public void run() {
                             try {
-                                getAjaxResult(aLong,sysUser,daoDto.getTjCategory());
+                                getAjaxResult(aLong, sysUser, daoDto.getTjCategory());
                                 threadPool.shutdown();
                             } catch (IOException e) {
                                 e.printStackTrace();
@@ -1056,27 +1055,27 @@
         if (!"".equals(cusIdcard) && cusIdcard != null) {
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
             final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
-            if ("Y".equals(getInfoFromSqlData)){
+            if ("Y".equals(getInfoFromSqlData)) {
                 //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭�
                 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
-                if(null != tjPatByIdCard){
+                if (null != tjPatByIdCard) {
                     String fcardNo = tjPatByIdCard.getFcardNo();
-                    if(null !=fcardNo && !fcardNo.equals("")){
-                        fcardNo=fcardNo.trim();
+                    if (null != fcardNo && !fcardNo.equals("")) {
+                        fcardNo = fcardNo.trim();
                         tjPatByIdCard.setFcardNo(fcardNo);
-                    }else {
-                        fcardNo=cusIdcard.trim();
+                    } else {
+                        fcardNo = cusIdcard.trim();
                         tjPatByIdCard.setFcardNo(fcardNo);
                     }
                     //鏍规嵁韬唤璇佸彿浠庢暟鎹簱鎷夸俊鎭� 娌℃湁鐨勮瘽淇濆瓨
                     LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard);
-                    if(null==ltkjTjPat){
+                    if (null == ltkjTjPat) {
                         tjvLtkjvtjpatService.save(tjPatByIdCard);
                     }
                     DynamicDataSourceContextHolder.clearDataSourceType();
                     //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛�
                     TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo());
-                    if(null == tjCustomer){
+                    if (null == tjCustomer) {
                         //涓虹┖鐨勮瘽鎺夊瓨鍌ㄨ繃绋嬩繚瀛樺埌瀹㈡埛琛�
                         testMapper.getTjPatByCusId(cusIdcard);
                         LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>();
@@ -1084,11 +1083,11 @@
                         TjCustomer customer = tjCustomerService.getOne(qw);
                         customer.setReservationId(customer.getCardId());
                         extracteds(customer);
-                    }else {
+                    } else {
                         String cardId = tjPatByIdCard.getFcardId();
-                        if(null !=cardId && !cardId.equals("0")){
+                        if (null != cardId && !cardId.equals("0")) {
                             int i = tjOrderService.selectTjOrderByCardId(cardId);
-                            if(i>0){
+                            if (i > 0) {
 //                                return AjaxResult.error("涓嶅彲閲嶅绛惧埌");
                             }
                         }
@@ -1132,7 +1131,7 @@
                     tjCustomer1.setAgeUnit(tjReservation.getAgeUnit());
                     tjCustomer1.setCareer(tjReservation.getCareer());
                     tjCustomerService.updateById(tjCustomer1);
-                }else {
+                } else {
                     TjCustomer tjCustomer = new TjCustomer();
                     tjCustomer.setCusIdcard(tjReservation.getIdCard());
                     tjCustomer.setCusName(tjReservation.getName());
@@ -1166,16 +1165,16 @@
         //浠巋is琛ㄦ姄鏁版嵁
         LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId());
         if (null != pat) {
-            LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>();
-            wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId());
+            LambdaQueryWrapper<LtkjMiddleHead> wq1 = new LambdaQueryWrapper<>();
+            wq1.eq(LtkjMiddleHead::getFeadId, customer.getCardId());
             headService.remove(wq1);
-            LambdaQueryWrapper<LtkjMiddleDetail> wq0=new LambdaQueryWrapper<>();
-            wq0.eq(LtkjMiddleDetail::getFheadId,pat.getFeadId());
+            LambdaQueryWrapper<LtkjMiddleDetail> wq0 = new LambdaQueryWrapper<>();
+            wq0.eq(LtkjMiddleDetail::getFheadId, pat.getFeadId());
             middleDetailService.remove(wq0);
             List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId());
             DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
             LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId());
-            if(o==null){
+            if (o == null) {
                 headService.save(pat);
                 for (LtkjMiddleDetail ltkjMiddleDetail : list) {
                     middleDetailService.save(ltkjMiddleDetail);
@@ -1186,15 +1185,15 @@
         DynamicDataSourceContextHolder.clearDataSourceType();
     }
 
-    private AjaxResult getAjaxResult(Long userId,SysUser sysUser,String tjCategory) throws IOException {
+    private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException {
 
         LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
-        wq.eq(TjCustomer::getCusId,userId);
+        wq.eq(TjCustomer::getCusId, userId);
         TjCustomer tjCustomer = tjCustomerService.getOne(wq);
         if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪");
 
         LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>();
-        wqq.eq(TjOrder::getUserId,userId);
+        wqq.eq(TjOrder::getUserId, userId);
         wqq.eq(TjOrder::getCheckStatus, 0);
         wqq.isNull(TjOrder::getFinishTime);
         if (!tjCustomer.getCardId().equals("0")) {
@@ -1205,8 +1204,8 @@
             transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId());
             return AjaxResult.error("涓嶅彲閲嶅鐧昏");
         }
-        TjOrder tjOrder=new TjOrder();
-        Date date=new Date();
+        TjOrder tjOrder = new TjOrder();
+        Date date = new Date();
         tjOrder.setCreateTime(date);
         tjOrder.setUpdateTime(date);
         tjOrder.setCreateBy(sysUser.getNickName());
@@ -1219,6 +1218,7 @@
         TjReservation tjReservation = tjReservationService.getOne(wq1);
         MallOrder mallOrder = null;
         if (tjReservation != null) {
+            tjOrder.setReservationId(tjReservation.getId());
             mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId()));
             if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
                 return AjaxResult.error("鏈埌棰勭害鏃堕棿");
@@ -1249,7 +1249,7 @@
         //鐢熸垚浣撴鍙�
         String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
 
-               tjNumber=tjNumber.replaceAll(".{4}$",userId.toString().substring(userId.toString().length() - 4));
+        tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
 
         tjOrder.setTjNumber(tjNumber);
         if (null != tjOrder.getPhoto()) {
@@ -1298,8 +1298,8 @@
 
             //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
-             String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
-             String isPay = configService.selectConfigByKey("isPay");
+            String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
+            String isPay = configService.selectConfigByKey("isPay");
             if ("Y".equals(getInfoFromSqlData)) {
                 LtkjMiddleHead middleHead = headService.getMiddleHeadByPartId(tjCustomer.getCardId());
                 if (null != middleHead) {
@@ -1337,8 +1337,7 @@
                         mallOrder.setOrderStatus(301L);
                         mallOrderService.updateById(mallOrder);
                     }
-                }
-                else {
+                } else {
 //                    tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
 //                    tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
 //                    tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount());
@@ -1354,7 +1353,7 @@
 
             //鍥綋
 //            if ("1".equals(tjOrder.getTjType())) {
-                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
+            asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
 //            }
             //涓汉
 //            if ("2".equals(tjOrder.getTjType())) {
@@ -1490,10 +1489,10 @@
                         if (null != project) {
 
                             BigDecimal divide = BigDecimal.valueOf(0);
-                            if(tjPackageProject.getPriceNow().compareTo(BigDecimal.valueOf(0))==0 || project.getProPrice().compareTo(BigDecimal.valueOf(0))==0 ){
-                                divide=BigDecimal.valueOf(0);
-                            }else {
-                                divide=tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN);
+                            if (tjPackageProject.getPriceNow().compareTo(BigDecimal.valueOf(0)) == 0 || project.getProPrice().compareTo(BigDecimal.valueOf(0)) == 0) {
+                                divide = BigDecimal.valueOf(0);
+                            } else {
+                                divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN);
                             }
                             List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
                             if (null != tjProSonList && tjProSonList.size() > 0) {
@@ -1845,7 +1844,7 @@
 //        if (redisCache.hasKey(cardId + cusId)) {
 //            transitionList = redisCache.getCacheList(cardId + cusId);
 //        } else {
-            transitionList = transitionService.getTbTransitionListByCusId(cusId, cardId);
+        transitionList = transitionService.getTbTransitionListByCusId(cusId, cardId);
 //        }
         if (null == transitionList) return null;
         Map<Long, List<TbTransition>> collect = transitionList.stream().collect(Collectors.groupingBy(TbTransition::getParentProId));
@@ -1865,7 +1864,7 @@
 //                } else {
 //                    map.put("nowPrice", tjProject.getProPrice());
 //                }
-                map.put("nowPrice",transitionService.getTbTransitionDxPriceByPac(cusId,entry.getKey(),cardId,pacId));
+                map.put("nowPrice", transitionService.getTbTransitionDxPriceByPac(cusId, entry.getKey(), cardId, pacId));
             } else {
                 map.put("pacName", "鍗曢」");
                 List<TbTransition> tbTransitionList = entry.getValue();
@@ -2246,7 +2245,7 @@
                 final List<TjFlowingWater> list1 = tjFlowingWaterService.list(wqq);
                 if (list1 != null) {
                     for (TjFlowingWater tjFlowingWater : list1) {
-                        if (tjFlowingWater!=null && tjFlowingWater.getPaidIn()!=null){
+                        if (tjFlowingWater != null && tjFlowingWater.getPaidIn() != null) {
                             res.add(tjFlowingWater.getPaidIn());
                         }
                     }
@@ -2265,9 +2264,9 @@
     public AjaxResult revokeTjOrderByTjNum(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNum) {
 
         TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
-        if(null !=order){
+        if (null != order) {
             String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId()));
-            if(null!=payByTjNum){
+            if (null != payByTjNum) {
                 return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!");
             }
             tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
@@ -2281,5 +2280,76 @@
         return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!");
     }
 
+
+    @GetMapping("/getCusTomterListByCompId")
+    @ApiOperation(value = "鑾峰彇鍗曚綅id浣撴浜轰俊鎭帴鍙�")
+    public AjaxResult getCusTomterListByCompId(@RequestParam(required = false) @ApiParam(value = "鍗曚綅id") String compId,
+                                               @RequestParam(required = false) @ApiParam(value = "鍚嶅瓧") String name,
+                                               @RequestParam(required = false) @ApiParam(value = "閮ㄩ棬id") String deptId,
+                                               @RequestParam(required = false) @ApiParam(value = "棰勭害鏃堕棿") Date reservationTime,
+                                               @RequestParam(defaultValue = "1") Integer page,
+                                               @RequestParam(defaultValue = "10") Integer pageSize) {
+        Page<TjReservation> pages = new Page<>(page, pageSize);
+        LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
+        if (null != compId) wq.eq(TjReservation::getCompanyId, compId);
+        if (null != name) wq.eq(TjReservation::getName, name);
+        if (null != deptId) wq.eq(TjReservation::getDepartment, deptId);
+        if (null != reservationTime)
+            wq.between(TjReservation::getReservationTime, DateUtil.beginOfDay(reservationTime), DateUtil.endOfDay(reservationTime));
+        List<TjReservation> reservationList = tjReservationService.list(wq);
+        if (null != reservationList && reservationList.size() > 0) {
+            LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
+            wq1.in(TjOrder::getReservationId, reservationList.stream().map(TjReservation::getId).collect(Collectors.toList()));
+            List<TjOrder> orderList = tjOrderService.list(wq1);
+            if (null != orderList && orderList.size() > 0) {
+                LambdaQueryWrapper<TjReservation> wq3 = new LambdaQueryWrapper<>();
+                wq3.in(TjReservation::getId, orderList.stream().map(TjOrder::getReservationId).collect(Collectors.toList()));
+//                    wq3.eq(TjReservation::getTeamNo,reservationList.get(0).getTeamNo());
+                Page<TjReservation> page1 = tjReservationService.page(pages, wq3);
+                return AjaxResult.success(page1);
+
+            }
+        }
+        return AjaxResult.success("鏆傛棤淇℃伅");
+    }
+
+
+    @PostMapping("/plRevokeTjOrderByTjNum")
+    @ApiOperation(value = "鏍规嵁瀹㈡埛浣撴鍙锋壒閲忔挙閿�浣撴璁板綍")
+    @Transactional
+    public AjaxResult plRevokeTjOrderByTjNum(@RequestBody @ApiParam(value = "棰勭害涓婚敭id闆嗗悎") List<String> reservationIds) {
+        if (null != reservationIds && reservationIds.size() > 0) {
+            LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
+            wq1.in(TjOrder::getReservationId, reservationIds);
+            List<TjOrder> orderList = tjOrderService.list(wq1);
+            if (null != orderList && orderList.size() > 0) {
+                for (TjOrder order : orderList) {
+//                TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
+                    if (null != order) {
+//                        String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId()));
+//                        if (null != payByTjNum) {
+//                            return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!");
+//                        }
+                        tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+                        tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
+                        remarkService.deletedOrderRemarkByTjNum(order.getTjNumber());
+                        tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
+                        transitionService.deletedTbTransitionByTjNum(order.getTjNumber());
+                        transitionService.updateTbTransitionByTjNum(order.getTjNumber());
+                    }
+                }
+                for (String id : reservationIds) {
+                    TjReservation reservation = tjReservationService.getById(id);
+                    if(null !=reservation){
+                        reservation.setIsExpire(2);
+                        tjReservationService.updateById(reservation);
+                    }
+                }
+            }
+            return AjaxResult.success("鎾ら攢鎴愬姛!!!");
+        }
+        return AjaxResult.error("璇烽�夋嫨瑕佹挙閿�鐨勪汉鍛�!");
+    }
+
 }
 

--
Gitblit v1.8.0