From 33de5e90c14e44e1639c961a48e338c1da3d5624 Mon Sep 17 00:00:00 2001
From: zjh <zjh@888>
Date: 星期三, 26 六月 2024 16:51:56 +0800
Subject: [PATCH] zjh 本地 2024/06/26 --2

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java |  130 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 121 insertions(+), 9 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
index 3da76a3..1d4157b 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -1,18 +1,26 @@
 package com.ltkj.web.controller.system;
 
 import java.io.*;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.base.Joiner;
 import com.ltkj.common.core.domain.TreeSelect;
+import com.ltkj.common.core.domain.entity.SysRole;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
+import com.ltkj.common.core.text.Convert;
 import com.ltkj.common.utils.SecurityUtils;
 import com.ltkj.common.utils.bean.BeanUtils;
 import com.ltkj.framework.config.MatchUtils;
@@ -21,9 +29,8 @@
 import com.ltkj.hosp.service.*;
 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 com.ltkj.system.service.*;
+import com.ltkj.web.controller.his.HisApiGetMethodService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -46,7 +53,6 @@
 import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.enums.BusinessType;
 import com.ltkj.common.utils.StringUtils;
-import com.ltkj.system.service.ISysDeptService;
 
 import javax.annotation.Resource;
 
@@ -101,7 +107,14 @@
     public RedisTemplate<Object,Object> redisTemplate;
     @Resource
     private TestMapper testMapper;
-
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private ITjFlowingWaterService tjFlowingWaterService;
+    @Autowired
+    private HisApiGetMethodService hisApiGetMethodService;
+    @Autowired
+    private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
 
     /**
      * 璇ヤ綋妫�绉戝涓嬪鎴峰垪琛ㄦ樉绀烘帴鍙�
@@ -1366,7 +1379,7 @@
                     if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null)) {
                         one.setSummary(Joiner.on(";").join(orderRemark.getSummaryList()));
                     }
-                    one.setDeptId(orderRemark.getDeptId());
+//                    one.setDeptId(orderRemark.getDeptId());
                     one.setDoctorName(orderRemark.getDoctorName());
                     one.setType(1);
                     remarkService.updateById(one);
@@ -1387,6 +1400,7 @@
      * @param tjNumber
      * @return
      */
+    @Transactional
     @GetMapping("/getParentList")
     @ApiOperation(value = "鍖荤敓鐐瑰嚮浣撴淇℃伅璇︽儏(鍙樉绀虹埗椤圭洰鍒楄〃)")
     public AjaxResult getParentList(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
@@ -1400,6 +1414,99 @@
             }
             ksId = Math.toIntExact(sysUser.getDeptId());
         }
+        String configByKey = configService.selectConfigByKey("sfkqdyhis");
+        if (configByKey.equals("Y")){
+            // 鍒ゆ柇鏄惁鏀惰垂 璇锋眰鎺ュ彛
+            LambdaQueryWrapper<TjOrder> tjOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            tjOrderLambdaQueryWrapper.eq(TjOrder::getTjNumber,tjNumber);
+            TjOrder tjOrder = orderService.getOne(tjOrderLambdaQueryWrapper);
+            LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId());
+            tjFlowingWaterLambdaQueryWrapper.ne(TjFlowingWater::getPayStasus,2);
+            tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N");
+            TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper);
+//            if (tjFlowingWater1.getPayStasus() != 1){
+                LambdaQueryWrapper<TjCustomer> tjCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                tjCustomerLambdaQueryWrapper.eq(TjCustomer::getCusId,tjOrder.getUserId());
+                TjCustomer tjCustomer = tjCustomerService.getOne(tjCustomerLambdaQueryWrapper);
+                HashMap<String, Object> hisRequestParams = new HashMap<>();
+                // 涓嶅湪闇�瑕佽韩浠借瘉鍙�
+//                hisRequestParams.put("card_no",tjCustomer.getCusIdcard());
+                hisRequestParams.put("patientId",tjOrder.getCardId());
+                AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams);
+                if (Integer.parseInt(queryPay.get("code").toString()) == 200) {
+                    List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data");
+                    ArrayList<String> sqdhs = new ArrayList<>();
+                    ArrayList<String> xmfls = new ArrayList<>();
+                    BigDecimal cateFeeAll = BigDecimal.ZERO;
+                    for (Map<String, String> datum : data) {
+                        String advId = datum.get("Adv_Id").split("_")[1];
+                        BigDecimal cateFee = new BigDecimal(datum.get("CateFee"));
+                        String cateCode = datum.get("CateCode");
+                        cateFeeAll = cateFeeAll.add(cateFee);
+                        sqdhs.add(advId);
+                        xmfls.add(cateCode);
+                    }
+                    LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
+                    queryWrapper.in(LtkjJianchajianyanTree::getSqdh, sqdhs)
+                            .in(LtkjJianchajianyanTree::getXmfl, xmfls)
+                            .eq(LtkjJianchajianyanTree::getCardId,tjOrder.getCardId())
+                            .groupBy(LtkjJianchajianyanTree::getType)
+                            .select(LtkjJianchajianyanTree::getFyhj);
+                    List<LtkjJianchajianyanTree> results = ltkjJianchajianyanTreeService.list(queryWrapper);
+                    BigDecimal total = results.stream()
+                            .map(item -> new BigDecimal(item.getFyhj()))
+                            .reduce(BigDecimal.ZERO, BigDecimal::add);
+                    if (cateFeeAll.compareTo(total) != 0){
+                        return AjaxResult.error("瀛樺湪鏈即璐归」鐩�");
+                    }
+
+                    tjFlowingWater.setPayStasus(1L);
+                    tjFlowingWater.setPayType(0L);
+                    tjFlowingWater.setTollCollectorId("148");
+                    tjFlowingWaterService.updateById(tjFlowingWater);
+                    Long tjSerialNumber = tjFlowingWater.getTjSerialNumber();
+                    LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                    tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId,tjOrder.getOrderId());
+                    List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper);
+                    List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList());
+                    LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                    tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId,tjSerialNumber);
+                    tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds);
+                    detailService.update(tjOrderDetailLambdaUpdateWrapper);
+                }else {
+                    return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍");
+                }
+//            }
+        }
+        String config = configService.selectConfigByKey("qt_open_xdt");
+        String byKey = configService.selectConfigByKey("qt_kjksid");
+        List<Integer> split = new ArrayList<>(); // 瀛樻斁杞崲鍚庣殑integer绫诲瀷缁撴灉
+        if("Y".equals(config)){
+            List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+            if(null !=roles && roles.size()>0){
+                List<SysRole> list = roles.stream().filter(item -> item.getRoleName().contains("鍓嶅彴")).collect(Collectors.toList());
+                if(list.size()>0){
+                    if(null !=ksId && ksId==100){
+                        ksId=999;
+                    }
+                    if(null !=byKey && !"".equals(byKey)){
+                        String[] arr = byKey.split(","); // 鏍规嵁閫楀彿杩涜鍒囧壊
+                        for (String s : arr) {
+                            int num = Integer.parseInt(s); // 灏嗘瘡涓瓙瀛楃涓茶浆鎹负integer绫诲瀷
+                            split.add(num); // 娣诲姞鍒板垪琛ㄤ腑
+                        }
+                    }
+                }else {
+                    split.add(ksId);
+                }
+            }else {
+                split.add(ksId);
+            }
+        }else {
+            split.add(ksId);
+        }
+
         //鍒ゆ柇褰撳墠鐧婚檰鐨勪汉鏄笉鏄鐞嗗憳銆傜鐞嗗憳鍙互鐪嬪綋鍓嶄綋妫�鍙蜂笅鎵�鏈夐」鐩�
 //        if (sysUser.getUserName().equals("10001")) {
 //            QueryWrapper<TjOrderRemark> wqq = new QueryWrapper<>();
@@ -1418,7 +1525,7 @@
 //        }
         LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>();
         if ((null != sysUser && !sysUser.getUserName().equals("10001")) && 100!=ksId) {
-            wq2.eq(TjProject::getDeptId, ksId);
+            wq2.in(TjProject::getDeptId,split);
         }
         //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
         wq2.eq(TjProject::getNeedReport,"Y");
@@ -1481,7 +1588,10 @@
 //        }
 
         TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId);
-        List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId);
+
+//        List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId);
+        List<TjProject> proParentList = projectService.getTjProjectListByTbTransition(proParentId,tjNumber);
+
         if (null == proParentList || proParentList.size()==0) {
             Map<String, Object> map = new HashMap<>();
             map.put("xiaoJieIds", null);
@@ -1496,6 +1606,7 @@
             return AjaxResult.success("璇ョ敤鎴锋殏鏃舵病鏈変綋妫�鏁版嵁");
         }
         List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList);
+        List<TjOrderDetail> tjOrderDetailList=new ArrayList<>();
         TjCustomer customer = tjCustomerService.getById(one.getUserId());
         if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
             for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
@@ -1571,6 +1682,7 @@
                 } else {
                     tjOrderDetail.setDoctorName(null);
                 }
+                tjOrderDetailList.add(tjOrderDetail);
             }
         }
         Map<String, Object> map = new HashMap<>();
@@ -1590,7 +1702,7 @@
         } else {
             map.put("xiaoJieIds", null);
         }
-        map.put("sons", tjOrderDetails);
+        map.put("sons", tjOrderDetailList);
         map.put("xiaoJie", adviceList);
         map.put("remark", remark.getRemark());
 

--
Gitblit v1.8.0