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/system/TjBigPositiveController.java |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 69 insertions(+), 6 deletions(-)

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("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛�");

--
Gitblit v1.8.0