From 9155df2aeab5b0d95c89dd928dbaefbfbaeae9d1 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 05 九月 2024 17:10:35 +0800
Subject: [PATCH] zjh 2024-09-05

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java |  236 ++++++++++++++++++++++++----------------------------------
 1 files changed, 97 insertions(+), 139 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 50895b3..5e547ac 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
@@ -34,6 +34,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.ibatis.jdbc.Null;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -64,6 +65,7 @@
 @RestController
 @RequestMapping("/system/dept")
 @Api(tags = "绉戝閮ㄩ棬淇℃伅")
+@Slf4j
 public class SysDeptController extends BaseController implements Serializable {
     @Resource
     private ISysDeptService deptService;
@@ -1313,14 +1315,17 @@
     public AjaxResult addRemark(@ApiParam(value = "浣撴鐖堕」鐩娉ㄩ泦鍚�") @RequestBody List<TjOrderRemark> remarklList) {
         Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
         SysUser sysUser = userService.getById(userId);
-        if (remarklList == null || remarklList.size() == 0) {
+        if (remarklList == null || remarklList.isEmpty()) {
             return AjaxResult.success("鎿嶄綔澶辫触");
         }
         for (TjOrderRemark orderRemark : remarklList) {
             List<String> summaryList = orderRemark.getSummaryList();
-            if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null) ) {
+            if (null != summaryList && !summaryList.isEmpty() && !summaryList.contains(null) ) {
                 orderRemark.setSummary(Joiner.on(";").join(orderRemark.getSummaryList()));
+            }else {
+                orderRemark.setSummary(null);
             }
+            if(StringUtils.isBlank(orderRemark.getRemark()))orderRemark.setRemark(null);
             LambdaQueryWrapper<TjOrder> qw = new LambdaQueryWrapper<>();
             qw.eq(TjOrder::getTjNumber, orderRemark.getTjNumber());
             TjOrder order = orderService.getOne(qw);
@@ -1331,7 +1336,7 @@
             List<TjOrderDetail> tjOrderDetailList = orderRemark.getTjOrderDetailList();
 
             final TjCustomer byId1 = customerService.getById(order.getUserId());
-            if (null != tjOrderDetailList && tjOrderDetailList.size() > 0) {
+            if (null != tjOrderDetailList && !tjOrderDetailList.isEmpty()) {
                 //----------------------------------start
                 for (TjOrderDetail tjOrderDetail : tjOrderDetailList) {
                     final TjProject byId = projectService.getById(tjOrderDetail.getProId());
@@ -1376,10 +1381,11 @@
                     remarkService.save(remark);
                 } else {
                     one.setRemark(orderRemark.getRemark());
-                    if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null)) {
+                    if (null != summaryList && !summaryList.isEmpty() && !summaryList.contains(null)) {
                         one.setSummary(Joiner.on(";").join(orderRemark.getSummaryList()));
+                    }else {
+                        one.setSummary(null);
                     }
-//                    one.setDeptId(orderRemark.getDeptId());
                     one.setDoctorName(orderRemark.getDoctorName());
                     one.setType(1);
                     remarkService.updateById(one);
@@ -1400,7 +1406,7 @@
      * @param tjNumber
      * @return
      */
-    @Transactional
+//    @Transactional
     @GetMapping("/getParentList")
     @ApiOperation(value = "鍖荤敓鐐瑰嚮浣撴淇℃伅璇︽儏(鍙樉绀虹埗椤圭洰鍒楄〃)")
     public AjaxResult getParentList(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
@@ -1415,69 +1421,35 @@
             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);
+        // 鍒ゆ柇鏄惁鏀惰垂 璇锋眰鎺ュ彛
+        TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber);
+        LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId());
+        tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N");
+        TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper);
+        if(null !=tjFlowingWater && (tjFlowingWater.getPayStasus()!=1 || tjFlowingWater.getPayStasus()!=3)){
+            if (configByKey.equals("Y")){
                 HashMap<String, Object> hisRequestParams = new HashMap<>();
                 // 涓嶅湪闇�瑕佽韩浠借瘉鍙�
-//                hisRequestParams.put("card_no",tjCustomer.getCusIdcard());
                 hisRequestParams.put("patientId",tjOrder.getCardId());
+                log.info("ltkj--- "+DateUtil.date()+"鎿嶄綔浜篿d: "+userId+"鎿嶄綔绉戝: "+sysUser.getDeptId()+"鎿嶄綔鐨勪綋妫�浜�: "+tjNumber);
                 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){
+                    int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId());
+                    if (sfsf > 0){
+                        log.error("璺嘲绉戞妧---  "+DateUtil.date()+" 瀛樺湪鏈即璐归」鐩殑 灏卞崟鏁�  "+sfsf);
+                        log.error("璺嘲绉戞妧---  "+DateUtil.date()+" 瀛樺湪鏈即璐归」鐩殑 灏辫瘖鍙�  "+tjOrder.getCardId()+" 浣撴鍙� "+tjOrder.getTjNumber());
                         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);
+                    extracted(tjOrder, tjFlowingWater);
                 }else {
+                    log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 鏈煡璇㈠埌缂磋垂璁板綍鐨� 灏辫瘖鍙�  "+tjOrder.getCardId()+" 浣撴鍙� "+tjOrder.getTjNumber());
                     return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍");
                 }
-//            }
+            }
+        }else {
+            log.error("璺嘲绉戞妧--- "+DateUtil.date()+" 鏈鎺is鎺ュ彛 "+" 浣撴鍙� "+tjOrder.getTjNumber());
+            return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍");
         }
         String config = configService.selectConfigByKey("qt_open_xdt");
         String byKey = configService.selectConfigByKey("qt_kjksid");
@@ -1569,6 +1541,23 @@
         return AjaxResult.error();
     }
 
+    @Transactional
+    public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) {
+        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);
+    }
+
     /**
      * 鐐瑰嚮鐖堕」鐩樉绀哄瓙椤圭洰璇︽儏
      *
@@ -1582,17 +1571,11 @@
             return AjaxResult.error("鑾峰彇鐢ㄦ埛淇℃伅閿欒");
         }
 
-//        if(redisCache.hasHKey("getOrderDetailByProParentId"+tjNumber,proParentId)){
-//            Map<String, Object> mapValue = redisCache.getCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId);
-//            return AjaxResult.success(mapValue);
-//        }
-
         TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId);
 
-//        List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId);
         List<TjProject> proParentList = projectService.getTjProjectListByTbTransition(proParentId,tjNumber);
 
-        if (null == proParentList || proParentList.size()==0) {
+        if (null == proParentList || proParentList.isEmpty()) {
             Map<String, Object> map = new HashMap<>();
             map.put("xiaoJieIds", null);
             map.put("sons", projectService.list(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProId,proParentId)));
@@ -1606,74 +1589,19 @@
             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) {
+        if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
             for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                 TjProject project = projectService.getById(tjOrderDetail.getProId());
                 //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
                 if ("N".equals(project.getNeedReport())){
                     continue;
                 }
-                //鐥呯鍥炴樉
-//                LambdaQueryWrapper<TjOrderDetailRules> wq=new LambdaQueryWrapper<>();
-//                wq.eq(TjOrderDetailRules::getProId,project.getProId());
-//                wq.eq(TjOrderDetailRules::getTjNumber,tjNumber);
-//                List<TjOrderDetailRules> list = tjOrderDetailRulesService.list(wq);
-//                List<TjRules> res=new ArrayList<>();
-//                for (TjOrderDetailRules orderDetailRules : list) {
-//                    final TjRules byId = tjRulesService.getById(orderDetailRules.getAid());
-//                    res.add(byId);
-//                }
                 List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId());
                 tjOrderDetail.setRulesList(rulesList);
-
-                //鏌ユ爣鍑嗗拰鍗曚綅----start
-                List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId()));
-                if (list26.size() == 0) {
-                    project.setProMetering("/");
-                    project.setProScope("/");
-                } else if (list26.size() == 1) {
-                    project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany());
-                    project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue()));
-                } else {
-                    Long cusSex = customer.getCusSex();
-                    Date cusBrithday = customer.getCusBrithday();
-                    int age = DateUtil.ageOfNow(cusBrithday);
-                    for (TjStandard tjStandard : list26) {
-                        LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
-                        if (tjStandard.getTjSex() != null) {
-                            wq8.eq(TjStandard::getTjSex, cusSex);
-                        }
-                        if (tjStandard.getTjType() != null) {
-                            wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age));
-                        }
-                        TjStandard standard = tjStandardService.getOne(wq8);
-                        project.setProMetering(standard.getCompany());
-                        project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue()));
-                    }
-                }
-                //鏌ユ爣鍑嗗拰鍗曚綅-----end
                 tjOrderDetail.setProject(project);
-                List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId()));
-                if (list2.size() == 0) {
-                    tjOrderDetail.setStandard(null);
-                } else if (list2.size() == 1) {
-                    tjOrderDetail.setStandard(list2.get(0));
-                } else {
-                    for (TjStandard tjStandard : list2) {
-                        LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
-                        if (tjStandard.getTjSex() != null) {
-                            wq8.eq(TjStandard::getTjSex, customer.getCusSex());
-                        }
-                        if (tjStandard.getTjType() != null) {
-                            wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())));
-                        }
-                        TjStandard standard = tjStandardService.getOne(wq8);
-                        tjOrderDetail.setStandard(standard);
-                    }
-                }
                 if (null != remark.getDoctorName()) {
-                    //lg0412
                     SysUser byId = userService.getById(remark.getDoctorName());
                     if (byId != null) {
                         tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
@@ -1681,17 +1609,13 @@
                 } else {
                     tjOrderDetail.setDoctorName(null);
                 }
+                tjOrderDetailList.add(tjOrderDetail);
             }
         }
         Map<String, Object> map = new HashMap<>();
         List<TjAdvice> adviceList = new ArrayList<>();
         if (null != remark) {
             String[] strings = StringUtils.split(remark.getSummary(), ";");
-//            if (null != strings && strings.length > 0) {
-//                for (String string : strings) {
-//                    adviceList.add(tjAdviceService.getById(string));
-//                }
-//            }
             if(null !=strings && strings.length>0){
                 List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings);
                 adviceList.addAll(list);
@@ -1700,7 +1624,7 @@
         } else {
             map.put("xiaoJieIds", null);
         }
-        map.put("sons", tjOrderDetails);
+        map.put("sons", tjOrderDetailList);
         map.put("xiaoJie", adviceList);
         map.put("remark", remark.getRemark());
 
@@ -1737,23 +1661,57 @@
     /**
      * 鏍规嵁椤圭洰id鑾峰彇寤鸿
      */
-    @GetMapping("/getDeptAdvice/{proId}")
+    @GetMapping("/getDeptAdvice")
     @ApiOperation(value = "鏍规嵁椤圭洰id鑾峰彇寤鸿")
-    public AjaxResult getDeptAdvice(@ApiParam(value = "鐖堕」鐩」鐩甶d") @PathVariable String proId) {
-        List<TjAdvice> list = new ArrayList<>();
+    public AjaxResult getDeptAdvice(@ApiParam(value = "鐖堕」鐩」鐩甶d") @RequestParam(required = false) String proId,
+                                    @ApiParam(value = "鍐呭") @RequestParam(required = false) String nr,
+                                    @ApiParam(value = "鎷奸煶鐮�") @RequestParam(required = false) String pym,
+                                    @ApiParam(value = "椤电爜") @RequestParam(defaultValue ="1") int page,
+                                    @ApiParam(value = "姣忛〉灞曠ず鏉℃暟") @RequestParam(defaultValue ="10") int pageSize) {
         LambdaQueryWrapper<TjAdvice> wq1 = new LambdaQueryWrapper<>();
-        wq1.eq(TjAdvice::getProId, proId);
-        List<TjAdvice> list1 = tjAdviceService.list(wq1);
-        //濡傛灉娌℃湁椤圭洰id  灏辫繑鍥炴墍鏈夌殑寤鸿闆嗗悎
-        if (list1.size() == 0) {
-            return AjaxResult.success(tjAdviceService.list());
+        if(null !=proId){
+            wq1.eq(TjAdvice::getProId, proId);
         }
-        for (TjAdvice tjAdvice : list1) {
-            list.add(tjAdvice);
+        if(null !=nr && !nr.isEmpty()){
+            wq1.like(TjAdvice::getTitle,nr);
+        }else if (null !=pym && !pym.isEmpty()){
+            wq1.like(TjAdvice::getTitle,pym);
+        }
+//        else {
+//            wq1.last("limit 20");
+//        }
+        Page<TjAdvice> pages=new Page<>(page,pageSize);
+        Page<TjAdvice> advicePage = tjAdviceService.page(pages, wq1);
+        Map<String,Object> map=new HashMap<>();
+        map.put("list",advicePage.getRecords());
+        map.put("total",advicePage.getTotal());
+//        List<TjAdvice> list = tjAdviceService.list(wq1);
+        return AjaxResult.success(map);
+    }
+
+
+
+
+    @GetMapping("/getAdviceByTjNumAndPro")
+    @ApiOperation(value = "鏍规嵁椤圭洰id鍜屼綋妫�鍙疯幏鍙栧缓璁�")
+    public AjaxResult getAdviceByTjNumAndPro(@ApiParam(value = "鐖堕」鐩」鐩甶d") @RequestParam String proId,
+                                    @ApiParam(value = "浣撴鍙�") @RequestParam String tjNum) {
+        LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjOrderRemark::getProId, proId);
+        wq.eq(TjOrderRemark::getTjNumber,tjNum);
+        TjOrderRemark remark = remarkService.getOne(wq);
+        List<TjAdvice> list =null;
+        if (null != remark && !StringUtils.isBlank(remark.getSummary())) {
+            String[] strings = StringUtils.split(remark.getSummary(), ";");
+            if(null !=strings && strings.length>0){
+                list = tjAdviceService.getAdviceStringByIds(strings);
+            }
         }
         return AjaxResult.success(list);
     }
 
+
+
     /**
      * 鑾峰彇閮ㄩ棬鏍戝垪琛�
      */

--
Gitblit v1.8.0