From f8b23a28a212c4946c97f94c0540ed12f89c4e07 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 16 五月 2024 08:55:02 +0800
Subject: [PATCH] zjh 2024/05/16-1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  141 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 129 insertions(+), 12 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index 4dca8d3..b7a9b2e 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -238,7 +238,12 @@
             tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                     sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
         }
-        transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(),BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber());
+        if(tjFlowingWater.getDiscount()==null){
+            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(),new BigDecimal(10), tjOrder.getTjNumber());
+        }else {
+            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(),BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber());
+        }
+
         tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
 //        List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()));
 //        if (list != null) {
@@ -398,16 +403,20 @@
             wq1.eq(TjProject::getProId, tjOrderDetail.getProId());
             TjProject one = projectService.getOne(wq1);
             if (one != null) {
-                if (one.getProParentId() != 0) {
+//                if (one.getProParentId() != 0) {
                     tjOrderDetail.setTjStatus(2L);
                     tjOrderDetail.setProResult("寮冩");
                     tjOrderDetail.setUpdateTime(new DateTime());
                     tjOrderDetailService.updateById(tjOrderDetail);
-                } else {
-                    tjOrderDetail.setTjStatus(1L);
-                    tjOrderDetail.setUpdateTime(new DateTime());
-                    tjOrderDetailService.updateById(tjOrderDetail);
-                }
+//                } else {
+//                    tjOrderDetail.setTjStatus(1L);
+//                    tjOrderDetail.setUpdateTime(new DateTime());
+//                    tjOrderDetailService.updateById(tjOrderDetail);
+//                }
+//               LambdaQueryWrapper<TjOrderRemark> wq=new LambdaQueryWrapper<>();
+//               wq.eq(TjOrderRemark::getTjNumber,tjNumber);
+//               wq.eq(TjOrderRemark::getProId,tjOrderDetail.getProId());
+               orderRemarkService.updateTjOrderRemark(tjNumber, String.valueOf(tjOrderDetail.getProId()));
                 //缁欏純妫�琛ㄦ坊鍔犺褰�
                 TjDiscardInspection td = new TjDiscardInspection();
                 td.setProId(String.valueOf(one.getProId()));
@@ -704,7 +713,9 @@
     @Override
     @Async("async")
     public void tjGoutAsync(List<QjDomainVo> domainVos, SysUser sysUser, Set<String> list) {
+        Integer day=0;
         for (QjDomainVo domainVo : domainVos) {
+            day=domainVo.getDay();
             TjOrderRemark remark = orderRemarkService.getById(domainVo.getRemarkId());
             TjOrder order = orderService.getOrderByTjNum(domainVo.getTjNumber());
             //缁欏純妫�琛ㄦ坊鍔犺褰�
@@ -747,13 +758,14 @@
             }
         }
         if (list.size() > 0) {
+            Date date=new Date();
             for (String s : list) {
                 TjOrder tjOrder = orderService.getOrderByTjNum(s);
                 if (null != tjOrder) {
                     tjOrder.setStatus(TjConstants.TJ_DELAY);
                     tjOrder.setFinishTime(null);
                     tjOrder.setUpdateBy(sysUser.getNickName());
-                    tjOrder.setUpdateTime(new DateTime());
+                    tjOrder.setUpdateTime(date);
                     tjOrder.setUpdateId(String.valueOf(sysUser.getUserId()));
                     orderService.updateById(tjOrder);
                     TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId());
@@ -763,15 +775,15 @@
                     yqOrder.setSex(String.valueOf(customer.getCusSex()));
                     yqOrder.setAge(customer.getAge());
                     yqOrder.setPhone(customer.getCusPhone());
-                    yqOrder.setYqTime(new Date());
+                    yqOrder.setYqTime(DateUtil.offsetDay(date,day));
                     yqOrder.setOrderTime(tjOrder.getCreateTime());
                     yqOrder.setProIds(orderRemarkService.getTjOrderRemarkProIdList(s));
                     yqOrder.setEmilSend("0");
                     yqOrder.setMsgSend("0");
                     yqOrder.setCreateBy(sysUser.getNickName());
-                    yqOrder.setCreateTime(new DateTime());
+                    yqOrder.setCreateTime(date);
                     yqOrder.setUpdateBy(sysUser.getNickName());
-                    yqOrder.setUpdateTime(new DateTime());
+                    yqOrder.setUpdateTime(date);
                     yqOrder.setCreateId(String.valueOf(sysUser.getUserId()));
                     yqOrder.setUpdateId(String.valueOf(sysUser.getUserId()));
                     yqOrderService.save(yqOrder);
@@ -992,6 +1004,108 @@
     @Async("async")
     public void getPieChart() {
         redisCache.setCacheObject("getPieChart", getPieCharts());
+    }
+
+    @Override
+    public void addTjChargingStandard(TjOrder order, List<TbTransition> tbTransitionList, SysUser sysUser) {
+        List<TjConsumables> list2=new ArrayList<>();
+        for (TbTransition transition : tbTransitionList) {
+
+            if(transition.getNowPrice().compareTo(BigDecimal.valueOf(0))==0){
+                continue;
+            }
+
+            TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId());
+            //瀛愰」
+            if (null != tjProject) {
+                TjChargingStandard tjChargingStandard = new TjChargingStandard();
+                tjChargingStandard.setTjNum(order.getTjNumber());
+                tjChargingStandard.setProId(transition.getProId());
+                tjChargingStandard.setPrice(transition.getNowPrice());
+                tjChargingStandard.setProName(tjProject.getProName());
+                tjChargingStandard.setCreateBy(sysUser.getNickName());
+                tjChargingStandard.setCreateTime(new Date());
+                tjChargingStandard.setUpdateBy(sysUser.getNickName());
+                tjChargingStandard.setUpdateTime(new Date());
+                tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
+                tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
+                chargingStandardService.save(tjChargingStandard);
+            }
+        }
+
+        //鐖堕」
+        ArrayList<TbTransition> collect1 = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new));
+        List<Long> parentProIds = collect1.stream().map(TbTransition::getParentProId).collect(Collectors.toList());
+        if (parentProIds.size() > 0) {
+            for (Long parentProId : parentProIds) {
+                TjProject parentProject = projectService.selectTjProjectByProId(parentProId);
+                if (null != parentProject) {
+                    LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
+                    wqqq.eq(TjProConsumables::getProId, parentProject.getProId());
+                    List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
+                    if (null != proConsumables && proConsumables.size() > 0) {
+                        for (TjProConsumables tjProConsumables : proConsumables) {
+                            TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
+                            list2.add(tjConsumables);
+                        }
+                    }
+                }
+            }
+        }
+
+        ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new));
+        for (TjConsumables tjConsumables : collect) {
+            TjChargingStandard tjChargingStandard = new TjChargingStandard();
+            tjChargingStandard.setTjNum(order.getTjNumber());
+            tjChargingStandard.setConsumablesId(tjConsumables.getId());
+            tjChargingStandard.setPrice(tjConsumables.getPrice());
+            tjChargingStandard.setProName(tjConsumables.getMakings());
+            tjChargingStandard.setConsumablesName(tjConsumables.getMakings());
+            tjChargingStandard.setCompany(tjConsumables.getSpecifications());
+            tjChargingStandard.setCreateBy(sysUser.getNickName());
+            tjChargingStandard.setCreateTime(new Date());
+            tjChargingStandard.setUpdateBy(sysUser.getNickName());
+            tjChargingStandard.setUpdateTime(new Date());
+            tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
+            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
+            chargingStandardService.save(tjChargingStandard);
+        }
+
+        LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
+        wq.isNotNull(TjOrderDetail::getFlowingWaterId);
+        wq.eq(TjOrderDetail::getIsSampling, 0);
+        List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
+        if (null != detailList && detailList.size() > 0) {
+            String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
+            for (TjOrderDetail detail : detailList) {
+                TjSampling sampling = new TjSampling();
+                if (null == projectService.getById(detail.getProId())) continue;
+                Long proParentId = projectService.getById(detail.getProId()).getProParentId();
+                if (null != proParentId && proParentId == 0) {
+                    sampling.setSpecimenType(projectService.getById(detail.getProId()).getSpecimenType());
+                } else {
+                    sampling.setSpecimenType(projectService.getById(projectService.getById(detail.getProId()).getProParentId()).getSpecimenType());
+                }
+                sampling.setSamplingNumber(format);
+                sampling.setTjNum(order.getTjNumber());
+                sampling.setCusId(String.valueOf(order.getUserId()));
+                if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
+                    sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
+                }
+                sampling.setApplicationTime(new Date());
+                sampling.setTjTime(order.getCreateTime());
+                sampling.setProId(String.valueOf(detail.getProId()));
+                sampling.setProName(projectService.getById(detail.getProId()).getProName());
+                sampling.setCreateBy(sysUser.getNickName());
+                sampling.setCreateTime(new Date());
+                sampling.setUpdateBy(sysUser.getNickName());
+                sampling.setUpdateTime(new Date());
+                sampling.setCreateId(String.valueOf(sysUser.getUserId()));
+                sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
+                samplingService.save(sampling);
+            }
+        }
     }
 
     //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�
@@ -1442,7 +1556,10 @@
                             StringBuilder stringBuilder = new StringBuilder();
                             for (TjOrderRemark remark : list) {
                                 TjProject byId = projectService.getById(remark.getProId());
-                                stringBuilder.append(byId.getProName()).append(";");
+                                if(null !=byId){
+                                    stringBuilder.append(byId.getProName()).append(";");
+                                }
+
                             }
                             customer.setNotCheckeds(String.valueOf(stringBuilder));
                             if (null == customer.getNotCheckeds()) customer.setNotCheckeds("鍏ㄩ儴宸叉");

--
Gitblit v1.8.0