From c42f62b32bac302a7ac9fcde7489f7c5fc6e11aa Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 06 十二月 2024 15:35:17 +0800
Subject: [PATCH] zjh20241205-3

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjBigPositiveController.java |  154 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 116 insertions(+), 38 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 a549a1a..c38eb28 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
@@ -1,8 +1,22 @@
 package com.ltkj.web.controller.system;
 
+import java.util.Arrays;
 import java.util.List;
+import javax.annotation.Resource;
 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;
@@ -34,6 +48,19 @@
     @Autowired
     private ITjBigPositiveService tjBigPositiveService;
 
+    @Resource
+    private ITjOrderDetailService detailService;
+    @Resource
+    private ISysUserService userService;
+    @Resource
+    private ITjProjectService projectService;
+
+    @Resource
+    private ISysUserPostService userPostService;
+    @Resource
+    private ISysPostService postService;
+    @Resource
+    private TjAsyncService asyncService;
     /**
      * 鏌ヨ閲嶅ぇ闃虫�ц褰曞垪琛�
      */
@@ -45,48 +72,99 @@
     }
 
     /**
-     * 瀵煎嚭閲嶅ぇ闃虫�ц褰曞垪琛�
+     * 鏂板/绉婚櫎 閲嶅ぇ闃虫�ц褰�  鍒ゆ柇flag
      */
-    @Log(title = "閲嶅ぇ闃虫�ц褰�", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, TjBigPositive tjBigPositive) {
-        List<TjBigPositive> list = tjBigPositiveService.selectTjBigPositiveList(tjBigPositive);
-        ExcelUtil<TjBigPositive> util = new ExcelUtil<TjBigPositive>(TjBigPositive.class);
-        util.exportExcel(response, list, "閲嶅ぇ闃虫�ц褰曟暟鎹�");
-    }
-
-    /**
-     * 鑾峰彇閲嶅ぇ闃虫�ц褰曡缁嗕俊鎭�
-     */
-    @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return success(tjBigPositiveService.selectTjBigPositiveById(id));
-    }
-
-    /**
-     * 鏂板閲嶅ぇ闃虫�ц褰�
-     */
-    @Log(title = "閲嶅ぇ闃虫�ц褰�", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody TjBigPositive tjBigPositive) {
-        return toAjax(tjBigPositiveService.insertTjBigPositive(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锛岃幏鍙栬绉戝涓嬬殑鎵�鏈夐」鐩�
+        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琛ㄧ姸鎬�
+                if (tjOrderDetails!=null){
+                    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())){
+            LambdaQueryWrapper<TjBigPositive> wq11=new LambdaQueryWrapper<>();
+            wq11.eq(TjBigPositive::getTjNumber,tjBigPositive.getTjNumber());
+            wq11.eq(TjBigPositive::getProParentId,tjBigPositive.getProParentId());
+            wq11.eq(TjBigPositive::getProId,tjBigPositive.getProId());
+            tjBigPositiveService.remove(wq11);
+            //鏇存敼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(0));
+                detailService.updateById(tjOrderDetails);
+                //鏇存柊缂撳瓨
+                asyncService.updateOrdeltile2(tjOrderDetails, sysUser);
+                asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
+                return AjaxResult.success("鍒犻櫎鎴愬姛");
+            }
+            return AjaxResult.error("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛�");
+
+        }
+        return AjaxResult.error("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛�");
     }
 
-    /**
-     * 淇敼閲嶅ぇ闃虫�ц褰�
-     */
-    @Log(title = "閲嶅ぇ闃虫�ц褰�", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody TjBigPositive tjBigPositive) {
-        return toAjax(tjBigPositiveService.updateTjBigPositive(tjBigPositive));
-    }
 
-    /**
-     * 鍒犻櫎閲嶅ぇ闃虫�ц褰�
-     */
-    @Log(title = "閲嶅ぇ闃虫�ц褰�", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids) {
-        return toAjax(tjBigPositiveService.deleteTjBigPositiveByIds(ids));
-    }
 }

--
Gitblit v1.8.0