From 4b3f00ba8d230edbf96c4ea4ff2f2d82e0b20511 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期三, 13 十二月 2023 15:19:15 +0800
Subject: [PATCH] 11

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java  |   15 +++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java |   75 ++++++++++++++++++++++++++++++++++---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java                    |    2 +
 3 files changed, 86 insertions(+), 6 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 108a5db..1e29744 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
@@ -444,6 +444,21 @@
 
     @Override
     @Async("async")
+    public void updateOrdeltile2(TjOrderDetail detail, SysUser sysUser) {
+//        for (TjOrderDetail detail : tjOrderDetailList) {
+            detail.setTjStatus(1L);
+            LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
+            wq0.eq(TjStandard::getProId, detail.getProId());
+            detail.setUpdateBy(sysUser.getNickName());
+            detail.setUpdateTime(new Date());
+            detail.setCreateId(String.valueOf(sysUser.getUserId()));
+            detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+            tjOrderDetailService.updateById(detail);
+//        }
+    }
+
+    @Override
+    @Async("async")
     public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
         List<TjConsumables> list2 = new ArrayList<>();
         String[] tjProIds = tjFlowingWater.getTjProIds();
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java
index eb907b4..007e279 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java
@@ -6,8 +6,17 @@
 import javax.servlet.http.HttpServletResponse;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ltkj.common.core.domain.entity.SysUser;
+import com.ltkj.common.utils.SecurityUtils;
 import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.service.ITjOrderDetailService;
+import com.ltkj.hosp.service.ITjProjectService;
+import com.ltkj.hosp.service.TjAsyncService;
+import com.ltkj.system.domain.SysPost;
+import com.ltkj.system.domain.SysUserPost;
+import com.ltkj.system.service.ISysPostService;
+import com.ltkj.system.service.ISysUserPostService;
+import com.ltkj.system.service.ISysUserService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -41,7 +50,17 @@
 
     @Resource
     private ITjOrderDetailService detailService;
+    @Resource
+    private ISysUserService userService;
+    @Resource
+    private ITjProjectService projectService;
 
+    @Resource
+    private ISysUserPostService userPostService;
+    @Resource
+    private ISysPostService postService;
+    @Resource
+    private TjAsyncService asyncService;
     /**
      * 鏌ヨ閲嶅ぇ闃虫�ц褰曞垪琛�
      */
@@ -57,28 +76,69 @@
      */
     @PostMapping
     public AjaxResult add(@RequestBody TjBigPositive tjBigPositive) {
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        Integer ksId = null;
+            if (null != sysUser) {
+                ksId = Math.toIntExact(sysUser.getDeptId());
+            }
+
+        if (ksId == null) {
+            return AjaxResult.error("璇疯緭鍏ョ瀹d");
+        }
+        //鏍规嵁褰撳墠鐧婚檰鐨勪汉鐨勭瀹d锛岃幏鍙栬绉戝涓嬬殑鎵�鏈夐」鐩�
+        // TODO: 2023/3/24  缁欒秴绾х鐞嗗憳璧嬪尰鐢熸鏌ユ潈闄�
+        List<Long> postIds = sysUser.getPostIds();
+        List<Long> ksproList = null;
+        if (postIds != null) {
+            for (Long postId : postIds) {
+                LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>();
+                wq111.eq(SysUserPost::getPostId, postId);
+                SysUserPost one = userPostService.getOne(wq111);
+                if (one != null) {
+                    SysPost byId = postService.getById(one.getPostId());
+                    if (byId.getPostName().equals("褰曞叆鍛�")) {
+                        ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId));
+                    }
+                }
+            }
+        } else {
+            ksproList = projectService.getKsTjProjectIdList();
+        }
+
+        if (ksproList == null || ksproList.size() == 0) {
+            return AjaxResult.error("璇峰畬鍠勭瀹ら」鐩俊鎭�");
+        }
         if ("1".equals(tjBigPositive.getFlag())){
             LambdaQueryWrapper<TjBigPositive> wq=new LambdaQueryWrapper<>();
             wq.eq(TjBigPositive::getTjNumber,tjBigPositive.getTjNumber());
             wq.eq(TjBigPositive::getProParentId,tjBigPositive.getProParentId());
             wq.eq(TjBigPositive::getProId,tjBigPositive.getProId());
             final List<TjBigPositive> list = tjBigPositiveService.list(wq);
+            LambdaQueryWrapper<TjOrderDetail> wqq=new LambdaQueryWrapper<>();
+            wqq.eq(TjOrderDetail::getProId,tjBigPositive.getProId());
+            wqq.eq(TjOrderDetail::getOrderId,tjBigPositive.getOrderId());
+            wqq.last("limit 1");
+            TjOrderDetail tjOrderDetails = detailService.getOne(wqq);
             if (list==null||list.size()==0){
                 tjBigPositiveService.save(tjBigPositive);
                 //鏇存敼detail琛ㄧ姸鎬�
-                LambdaQueryWrapper<TjOrderDetail> wqq=new LambdaQueryWrapper<>();
-                wqq.eq(TjOrderDetail::getProId,tjBigPositive.getProId());
-                wqq.eq(TjOrderDetail::getOrderId,tjBigPositive.getOrderId());
-                wqq.last("limit 1");
-                TjOrderDetail tjOrderDetails = detailService.getOne(wqq);
                 if (tjOrderDetails!=null){
-                    tjOrderDetails.setIsPositive(Long.valueOf(1));
+                    tjOrderDetails.setIsPositive(1L);
                     detailService.updateById(tjOrderDetails);
+                    //鏇存柊缂撳瓨
+                    asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
+                    asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
                     return AjaxResult.success("娣诲姞鎴愬姛");
                 }
                 return AjaxResult.error("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛�");
             }else {
                 tjBigPositiveService.updateById(tjBigPositive);
+                //鏇存柊缂撳瓨
+//                asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
+                if (tjOrderDetails!=null){
+                    asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
+                    asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
+                }
                 return AjaxResult.success("娣诲姞鎴愬姛");
             }
         }else if ("0".equals(tjBigPositive.getFlag())){
@@ -96,6 +156,9 @@
             if (tjOrderDetails!=null){
                 tjOrderDetails.setIsPositive(Long.valueOf(0));
                 detailService.updateById(tjOrderDetails);
+                //鏇存柊缂撳瓨
+                asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
+                asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
                 return AjaxResult.success("鍒犻櫎鎴愬姛");
             }
             return AjaxResult.error("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛�");
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
index d733a29..e7d1d5d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -32,6 +32,8 @@
      //鍖荤敓妫�鏌ュ畬姣曞悗浣撴鐘舵�佸強鏄惁寮傚父淇敼
      void  updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser,TjOrder order);
 
+     void  updateOrdeltile2(TjOrderDetail tjOrderDetail, SysUser sysUser);
+
      //鍗曢」鏀惰垂
      void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser);
 

--
Gitblit v1.8.0