From 72f6490f736d60710b930d68dc087e6e503a9625 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 24 六月 2025 15:36:05 +0800
Subject: [PATCH] zjh20250624

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  243 ++++++++++++++++++++++++------------------------
 1 files changed, 120 insertions(+), 123 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index 308051e..bd54ce1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -13,6 +13,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ltkj.common.annotation.RepeatSubmit;
 import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.enums.DataSourceType;
@@ -25,6 +26,7 @@
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.*;
+import com.ltkj.hosp.vo.ProFcListVo;
 import com.ltkj.hosp.vodomain.CsProVo;
 import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo;
 import com.ltkj.mall.mallOrderUtils.TjConstants;
@@ -1001,105 +1003,19 @@
                               @ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber,
                               @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId,
                               @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
+                              @ApiParam(value = "瀹℃牳鍖荤敓)") @RequestParam(required = false) String shys,
                               @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
-                              @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
-        //        String config = configService.selectConfigByKey("tj_confirm");
-//        DateTime beginTimes = null;
-//        DateTime endTimes = null;
-//        if (null != beginTime && null != endTime) {
-//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
-//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
-//        }
-//        asyncService.checkSetCustomerLisByRedis(config);
-//        //鍒濆鍖栦綋妫�璁㈠崟琛�
-//        List<TjOrder> orderList = null;
-//        List<TjCustomer> customerList = new ArrayList<>();
-//        Map<String, Object> map = new HashMap<>();
-//
-//        //濮撳悕鏌ヨ
-//        if (null != name && !"".equals(name)) {
-//            List<TjCustomer> list = customerService.getTjCustomerList(name);
-//            if (null != list && list.size() > 0) {
-//                List<TjCustomer> lists = new ArrayList<>();
-//                for (TjCustomer customer : list) {
-//                    if ("Y".equals(config)) {
-//                        orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
-//                    } else {
-//                        orderList = orderService.getTjOrderListByCusId(customer.getCusId());
-//                    }
-//                    if (null != orderList && orderList.size() > 0) {
-//                        for (TjOrder tjOrder : orderList) {
-//                            customer.setTjNumber(tjOrder.getTjNumber());
-//                            customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
-//                            customer.setOrderId(tjOrder.getOrderId());
-//                            customer.setTjTime(tjOrder.getFinishTime());
-//                            customer.setFinishTime(tjOrder.getFinishTime());
-//                            customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
-//                            customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
-//                            customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
-//                            customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
-//                            customer.setTjCategory(tjOrder.getTjCategory());
-//                            if (tjOrder.getFirmId().equals("0")) {
-//                                customer.setTjCompName(null);
-//                            } else {
-//                                customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
-//                            }
-//                            lists.add(customer);
-//                        }
-//                    }
-//                }
-//                List<TjCustomer> customers = null;
-//                if (lists.size() > 0) {
-//                    customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-//                }
-//                map.put("customers", customers);
-//                map.put("total", lists.size());
-//                return AjaxResult.success(map);
-//            }
-//            return AjaxResult.success("鏆傛棤鏁版嵁");
-//        }
-//
-//        //鏉′欢鏌ヨ
-//        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
-//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
-//            if ("Y".equals(config)) {
-//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            } else {
-//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            }
-//            return getResult(page, pageSize, orderList, customerList, map);
-//        }
-//
-//        List<TjCustomer> customers = null;
-//        if (null != checkStatus && checkStatus == 0) {
-//            customers = redisCache.getCacheMapValue("check", "ws");
-//        }
-//        if (null != checkStatus && checkStatus == 1) {
-//            customers = redisCache.getCacheMapValue("check", "ys");
-//        }
-//        if (customers != null && customers.size() > 0) {
-////            asyncService.addRedis(customers);
-//            List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-//            map.put("customers", customerLists);
-//            map.put("total", customers.size());
-//            return AjaxResult.success(map);
-//        } else {
-//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
-//            if ("Y".equals(config)) {
-//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            } else {
-//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            }
-//            return getResult(page, pageSize, orderList, customerList, map);
-//        }
+                              @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime,
+                              @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory) {
 
         String value = String.valueOf(compId);
         if (tjNumber == null) tjNumber = "";
         if (compId == null) value = "";
         if (name == null) name = "";
+        if (shys == null) shys = "";
         if (beginTime == null) beginTime = "";
         if (endTime == null) endTime = "";
-        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
+        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,shys,tjCategory));
     }
 
 
@@ -1226,8 +1142,9 @@
 //    @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
     public AjaxResult getTjdetailList(@ApiParam(value = "浣撴tjNumber") @RequestParam String tjNumber,
                                       @ApiParam(value = "鎬绘寤鸿") @RequestParam(required = false) String advice,
-                                      @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus) {
-
+                                      @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus,
+                                      @ApiParam(value = "鑱屼笟缁撹") @RequestParam(required = false) String zhiyeJl,
+                                      @ApiParam(value = "鑱屼笟缁撴灉") @RequestParam(required = false) String zhiyeJg) {
         String config = configService.selectConfigByKey("sfjcwjhyqxm");
         if (null != config && config.equalsIgnoreCase("Y")) {
             int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
@@ -1248,6 +1165,10 @@
                 tjOrder.setCheckTime(date);
                 tjOrder.setStatus(401);
                 tjOrder.setFinishTime(date);
+                if (StrUtil.isNotBlank(zhiyeJl))
+                    tjOrder.setZhiyeJl(zhiyeJl);
+                if (StrUtil.isNotBlank(zhiyeJg))
+                    tjOrder.setZhiyeJg(zhiyeJg);
                 if (orderService.updateById(tjOrder)) {
                     TjCustomer customer = customerService.getById(tjOrder.getUserId());
                     if (null != customer) {
@@ -1496,6 +1417,8 @@
                 parent.put("parent", remark.getProName());
                 parent.put("parentId", remark.getProsId());
                 parent.put("xmlb", remark.getXmlb());
+                parent.put("zhiyejl",one.getZhiyeJl());
+                parent.put("zhiyejg", one.getZhiyeJg());
                 parent.put("", remark.getXmlb());
                 List<TjOrderDetail> dels = new ArrayList<>();
                 if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
@@ -1540,7 +1463,11 @@
                                 } catch (NumberFormatException ignored) {
                                 }
                             } else {
-                                tjOrderDetail.setYcbz("");
+                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                    tjOrderDetail.setYcbz("");
+
+                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                    tjOrderDetail.setYcbz("鈫�");
                                 tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                             }
 
@@ -1559,12 +1486,13 @@
                     if (dels.isEmpty()) {
                         continue;
                     }
-                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
-                    dels = dels.stream()
-                            .sorted(Comparator.comparingInt(
-                                    tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
-                            ))
-                            .collect(Collectors.toList());
+//                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+//                    dels = dels.stream()
+//                            .sorted(Comparator.comparingInt(
+//                                    tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+//                            ))
+//                            .collect(Collectors.toList());
+                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getXh)).collect(Collectors.toList());
                     parent.put("sons", dels);
                     parent.put("remark", remark.getRemark());
                     parent.put("jgbx", remark.getJgbx());
@@ -1744,6 +1672,7 @@
             List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>();
             TjOrder order = orderService.getOrderByTjNum(tjNumber);
             if (null != order) {
+                String xb= customerService.getSexByTjh(order.getTjNumber());
                 List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                 List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                 LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
@@ -1756,15 +1685,13 @@
                             List<TjOrderDetail> dels = new ArrayList<>();
                             for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                                 if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
-                                    if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
+                                    if (null != tjOrderDetail.getYcbz()) {
                                         if (!tjOrderDetail.getDeptId().equals("2")) {
-                                            List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
-                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""),
-                                                    tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
-                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
-                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
-                                                    , tjOrderDetail.getProResult());
+                                            String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+
+                                            List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(replacedAll,replacedAll,
+                                                    tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber,replacedAll, tjOrderDetail.getProResult());
 
 
                                             if (null != maps && !maps.isEmpty()) {
@@ -1772,16 +1699,21 @@
                                             }
 
                                         } else {
-                                            String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
+                                            String regex = configService.selectConfigByKey("jcycjgfgzz");
+                                            if(StringUtil.isBlank(regex)) regex="銆倈锛泑;|,|锛�";
+                                            String[] split = tjOrderDetail.getProResult().replaceAll("\n", "").split(regex);
                                             List<Map<String, Object>> mapList = new ArrayList<>();
                                             for (String s : split) {
-                                                s = s.replaceAll("\n", "");
-    //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
-                                                Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0");
-                                                if (null != maps && !maps.isEmpty()) {
-                                                    Object bt = maps.get("bt");
-                                                    Object nr = maps.get("nr");
-                                                    if (null != bt || null != nr) mapList.add(maps);
+                                                if(StringUtil.isNotBlank(s)){
+                                                    s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","")
+                                                            .replaceAll("[0-9]", "");
+                                                    Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s.replaceAll(" ",""), "0",xb);
+                                                    if (null != maps && !maps.isEmpty()) {
+                                                        Object bt = maps.get("bt");
+                                                        Object nr = maps.get("nr");
+                                                        if (null != bt || null != nr) mapList.add(maps);
+                                                    }
+
                                                 }
                                             }
                                             tjOrderDetail.setAdvices(mapList);
@@ -1837,6 +1769,7 @@
             List<Map<String, Object>> list = new ArrayList<>();
             TjOrder order = orderService.getOrderByTjNum(tjNumber);
             if (null != order) {
+                String xb= customerService.getSexByTjh(order.getTjNumber());
                 List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                 List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                 if (null != remarkList && !remarkList.isEmpty()) {
@@ -1848,12 +1781,11 @@
                                 if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
                                     if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
                                         if (!tjOrderDetail.getDeptId().equals("2")) {
+                                            String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+
                                             List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
-                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
-                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
-                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
-                                                    , tjOrderDetail.getProResult());
+                                                    ,replacedAll,tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber,replacedAll, tjOrderDetail.getProResult());
 
 
                                             if (null != maps && !maps.isEmpty()) {
@@ -1864,8 +1796,8 @@
                                             String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
                                             List<Map<String, Object>> mapList = new ArrayList<>();
                                             for (String s : split) {
-                                                s = s.replaceAll("\n", "");
-                                                Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0");
+                                                s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");;
+                                                Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb);
                                                 if (null != maps && !maps.isEmpty()) {
                                                     Object bt = maps.get("bt");
                                                     Object nr = maps.get("nr");
@@ -1976,5 +1908,70 @@
         return AjaxResult.success();
     }
 
+    /**
+     * 鏌ヨ澶嶆煡椤圭洰鍒楄〃
+     * @param tjNum 浣撴鍙�
+     * @param type 澶嶆煡鐘舵�� 0鏈鏌ョ姸鎬� 1澶嶆煡鐘舵��
+     * @return
+     */
+    @GetMapping("/getFcList")
+    public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){
+        TjOrder order = orderService.getOrderByTjNum(tjNum);
+        if (order == null)
+            return AjaxResult.error();
+        List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 澶嶆煡椤圭洰鎻愪氦
+     * @param json
+     * @return
+     */
+    @PostMapping("/UpdFcPro")
+    public AjaxResult updFcPro(@RequestBody String json) {
+        return detailService.updFcPro(json);
+    }
+
+
+    @GetMapping("/zongjianyishengHuiFuyichangxiangmu")
+    @ApiOperation(value = "鎬绘鎭㈠寮傚父椤圭洰鎺ュ彛")
+    public AjaxResult zongjianyishengHuiFuyichangxiangmu(@RequestParam String tjNum) {
+
+        List<TjOrderYcxm> list = ycxmService.zongjianyishengHuiFuyichangxiangmu(tjNum);
+        return AjaxResult.success(list);
+    }
+
+
+
+    @GetMapping("/csymxmxzqtyybcjk")
+    @ApiOperation(value = "鍒濆椤甸潰椤圭洰閫夋嫨鍏朵粬鍘熷洜淇濆瓨鎺ュ彛")
+    @Transactional
+    public AjaxResult csymxmxzqtyybcjk(@RequestParam @ApiParam("浣撴鍙�") String tjNum,@RequestParam @ApiParam("椤圭洰ID") String proId,
+                                       @RequestParam @ApiParam("鍘熷洜") String yy) {
+
+        try {
+            String czydm = SecurityUtils.getUsername();
+            String czy = SecurityUtils.getLoginUser().getUser().getNickName();
+            TjProject tjProject = projectService.getById(proId);
+            if(null !=  tjProject){
+                SysDept dept = deptService.getById(tjProject.getDeptId());
+
+                LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
+                wq.eq(TjOrderRemark::getTjNumber, tjNum);
+                wq.eq(TjOrderRemark::getProId, proId);
+                TjOrderRemark remark = orderRemarkService.getOne(wq);
+                remark.setType(1);
+                if (orderRemarkService.updateById(remark)) {
+                    orderRemarkService.csymxmxzqtyybcjk(tjNum,proId,yy,dept.getOrgType(),czy,czydm);
+                    return AjaxResult.success();
+                }
+            }
+        } catch (Exception ex) {
+            log.error(ex.getMessage());
+            throw new RuntimeException(ex);
+        }
+        return AjaxResult.error();
+    }
 
 }

--
Gitblit v1.8.0