From 4761f2bc70814bde9929f1081a213a9ab38a7393 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 02 一月 2025 18:15:38 +0800
Subject: [PATCH] 采样管理确认采样增加调用lis请求

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java |  230 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 151 insertions(+), 79 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
index 5214c0e..ecdeb4e 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -305,26 +305,32 @@
 //            return error;
 //        }
 //        return AjaxResult.success("璇ョ敤鎴蜂綋妫�鏈畬鎴愶紝涓嶈兘鎵撳嵃鎶ュ憡锛侊紒锛�");
+
+        TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber);
+        if (null != tjOrder) {
         String config = configService.selectConfigByKey("sfjcwjhyqxm");
         if(null != config && config.equalsIgnoreCase("Y")){
             int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
-            if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
+            if (num > 0) {
+                tjOrder.setReportTime(null);
+                tjOrder.setCheckTime(null);
+                tjOrder.setCheckStatus(0);
+                tjOrder.setPrintLastTime(null);
+                tjOrderService.updateById(tjOrder);
+                return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
+            }
         }
-
-//        String configByKey = configService.selectConfigByKey("sfkqdyhis");
-        String configByKey = "Y";
-        LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(TjOrder::getTjNumber, tjNumber);
-        TjOrder tjOrder = tjOrderService.getOne(queryWrapper);
-        if (null != tjOrder) {
-
             //鍒ゆ柇琛ㄤ腑鏈夋病鏈夎浣撴鎶ュ憡  涓嶈兘閲嶅鐢熸垚
             LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
             wqa.eq(TjReport::getTjNumber, tjNumber);
             wqa.eq(TjReport::getType, "浣撴鎶ュ憡");
             Integer count = tjReportService.getSelectCount(wqa);
-
             if (tjOrder.getReportTime() !=null ||  count != 0  ) {
+//                tjOrder.setReportTime(null);
+//                tjOrder.setCheckTime(null);
+//                tjOrder.setCheckStatus(0);
+//                tjOrder.setPrintLastTime(null);
+//                tjOrderService.updateById(tjOrder);
                 return AjaxResult.error("璇ュ鎴锋姤鍛婂凡鐢熸垚锛佷笉鑳介噸澶嶇敓鎴愶紒鍙洿鎺ラ瑙堟垨鎵撳嵃锛�");
             }
 
@@ -371,26 +377,25 @@
                     LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
                     updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
                     updateWrapper.set(TjOrder::getReportTime, new Date());
-                    updateWrapper.set(TjOrder::getPrintLastTime, new Date());
-                    updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
+//                    updateWrapper.set(TjOrder::getPrintLastTime, new Date());
+//                    updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
                     updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
                     tjOrderService.update(updateWrapper);
                     return AjaxResult.success("宸茬敓鎴愭姤鍛婏紒鍙洿鎺ョ偣鍑婚瑙堬紒");
                 }
-                String hisRegistrationId = tjOrder.getCardId();
-                Date createTime = tjOrder.getCreateTime();
-                Date finishTime = tjOrder.getFinishTime();
-                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                String ksrq = dateFormat.format(createTime);
-                String jsrq = dateFormat.format(new Date());
-                HashMap<String, Object> params = new HashMap<>();
-                params.put("his_registration_id", hisRegistrationId);
-                params.put("ksbm", "");
-                params.put("pationid", "");
-                params.put("ksrq", ksrq);
-                params.put("jsrq", jsrq);
-                params.put("pagecount", 100);
-                params.put("page", 1);
+//                String hisRegistrationId = tjOrder.getCardId();
+//                Date createTime = tjOrder.getCreateTime();
+//                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//                String ksrq = dateFormat.format(createTime);
+//                String jsrq = dateFormat.format(new Date());
+//                HashMap<String, Object> params = new HashMap<>();
+//                params.put("his_registration_id", hisRegistrationId);
+//                params.put("ksbm", "");
+//                params.put("pationid", "");
+//                params.put("ksrq", ksrq);
+//                params.put("jsrq", jsrq);
+//                params.put("pagecount", 100);
+//                params.put("page", 1);
                 LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
                 wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
                 TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
@@ -403,8 +408,12 @@
                 } catch (Exception e) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     log.error(String.valueOf(e));
-                    // 璋冪敤鎾ら攢
-//                    tjReportController.backOnlyCheckType(tjNumber);
+                    tjOrder.setReportTime(null);
+                    tjOrder.setCheckTime(null);
+                    tjOrder.setCheckStatus(0);
+                    tjOrder.setPrintLastTime(null);
+                    tjOrderService.updateById(tjOrder);
+
                     logger.error("鐢熸垚鎶ュ憡寮傚父");
                     return AjaxResult.error("鐢熸垚鎶ュ憡澶辫触");
                 }
@@ -449,8 +458,8 @@
 //            updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
             tjOrder.setStatus(TjConstants.TJ_END);
             tjOrder.setReportTime(date);
-            tjOrder.setPrintLastTime(date);
-            tjOrder.setDownloadLastTime(date);
+//            tjOrder.setPrintLastTime(date);
+//            tjOrder.setDownloadLastTime(date);
             tjOrderService.updateById(tjOrder);
         }
         return ajaxResult;
@@ -1719,26 +1728,8 @@
     @GetMapping("/preview/{flag}/{TjNumber}")
     @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡")
     public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) {
-        //淇敼order琛ㄤ腑鐨勪笅杞芥姤鍛婃椂闂翠负褰撳墠鏃堕棿
-//        LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
-//        updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
-//        updateWrapper.set(TjOrder::getPrintLastTime, new Date());
-//        updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
-//        updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
-//        tjOrderService.update(updateWrapper);
-
-        Date date = new Date();
-//        LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
-//        wq1.eq(TjOrder::getTjNumber, tjNumber);
-//        TjOrder tjOrder = tjOrderService.getOne(wq1);
         TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber);
-
-
-//        LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>();
-//        wq2.eq(TjCustomer::getCusId, tjOrder.getUserId());
         TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId());
-
-
         LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>();
         we.eq(TjReport::getTjNumber, tjNumber);
         we.eq(TjReport::getType, "浣撴鎶ュ憡");
@@ -1746,10 +1737,8 @@
         if (one == null) {
             return;
         }
-
         String userId = SecurityUtils.getLoginUser().getUsername();
         PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
-        //String filePath = one.getPath();
         String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
         File f = new File(filePath);
         if (filePath.isEmpty()) {
@@ -1784,7 +1773,92 @@
             while ((len = br.read(bs)) > 0) {
                 out.write(bs, 0, len);
             }
-            if(null !=tjOrder.getHeshouTime() && tjOrder.getHeshouStatus()==1){
+//            if(null !=tjOrder.getHeshouTime() && tjOrder.getHeshouStatus()==1){
+//                TjReportPrint print=new TjReportPrint();
+//                print.setTjNumber(tjNumber);
+//                print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName());
+//                print.setPrintTime(date);
+//                print.setPrintStatus("宸叉墦鍗�");
+//                if (printService.save(print)) {
+//                    tjOrder.setPrintLastTime(date);
+//                    tjOrderService.updateById(tjOrder);
+//                }
+//            }
+            out.flush();
+            out.close();
+            br.close();
+            fileInputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+            //System.out.println("pdf澶勭悊鏂囦欢寮傚父" + e);
+        } finally {
+            if (out != null) {
+                try {
+                    out.close();
+                    br.close();
+                    fileInputStream.close();
+
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+    @GetMapping("/previewprint/{flag}/{TjNumber}/{sfdy}")
+    @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡")
+    public void previewprint(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber,@PathVariable("sfdy") String sfdy) {
+
+        Date date = new Date();
+        TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber);
+
+        TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId());
+
+        LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>();
+        we.eq(TjReport::getTjNumber, tjNumber);
+        we.eq(TjReport::getType, "浣撴鎶ュ憡");
+        TjReport one = tjReportService.getOne(we);
+        if (one == null) {
+            return;
+        }
+
+        String userId = SecurityUtils.getLoginUser().getUsername();
+        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf");
+        String filePath = value + File.separator + userId + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf";
+        File f = new File(filePath);
+        if (filePath.isEmpty()) {
+            System.out.println("鏂囦欢涓嶅瓨鍦紒");
+            return;
+        }
+        BufferedInputStream br = null;
+        OutputStream out = null;
+        FileInputStream fileInputStream = null;
+        try {
+            fileInputStream = new FileInputStream(f);
+            br = new BufferedInputStream(fileInputStream);
+            byte[] bs = new byte[1024];
+            int len = 0;
+            response.reset(); // 闈炲父閲嶈
+            if (flag) {
+                // 鍦ㄧ嚎鎵撳紑鏂瑰紡
+                URL u = new URL("file:///" + filePath);
+                //System.out.println(u);
+                String contentType = u.openConnection().getContentType();
+                response.setContentType(contentType);
+                response.setHeader("Content-Disposition", "inline;filename="
+                        + userId + tjNumber + ".pdf");
+            } else {
+                // 绾笅杞芥柟寮�
+                response.setContentType("application/x-msdownload");
+                response.setContentType("application/pdf;charset=utf-8");
+                response.setHeader("Content-Disposition", "attachment;filename="
+                        + userId + tjNumber + ".pdf");
+            }
+            out = response.getOutputStream();
+            while ((len = br.read(bs)) > 0) {
+                out.write(bs, 0, len);
+            }
+            if(null !=sfdy && sfdy.equals("1")){
                 TjReportPrint print=new TjReportPrint();
                 print.setTjNumber(tjNumber);
                 print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName());
@@ -1792,6 +1866,7 @@
                 print.setPrintStatus("宸叉墦鍗�");
                 if (printService.save(print)) {
                     tjOrder.setPrintLastTime(date);
+                    tjOrder.setStatus(TjConstants.TJ_END);
                     tjOrderService.updateById(tjOrder);
                 }
             }
@@ -2066,35 +2141,34 @@
         wq1.eq("type", "浣撴鎶ュ憡");
         TjReport tjReport = tjReportService.getOne(wq1);
         if (null != tjReport) {
-//            if (!tjReportService.remove(wq1)) {
-//                return AjaxResult.error("鎾ゅ洖澶辫触锛�");
-//            }
             // 涓嶅湪浣跨敤閫昏緫鍒犻櫎 閫昏緫鍒犻櫎瀵艰嚧鎵撳嵃鎶ュ憡鐢熸垚 鏌ヨsql缂撴參
             int i = tjReportService.deleteTjReportByReId(tjReport.getReId());
             if (i == 0) {
                 return AjaxResult.error("鎾ゅ洖澶辫触锛�");
             }
         }
-        QueryWrapper<TjOrder> wq2 = new QueryWrapper<>();
-        wq2.eq("tj_number", tjNumber);
-        TjOrder one = tjOrderService.getOne(wq2);
-        one.setCheckStatus(0);
-        String config = configService.selectConfigByKey("tj_confirm");
-        if ("Y".equals(config)) {
-            one.setStatus(TjConstants.TJ_CHECK);
-        } else {
-            one.setStatus(TjConstants.TJ_CONFIRM);
-        }
-        one.setReportTime(null);
-        one.setCheckTime(null);
-        //灏嗙姸鎬佹敼涓烘湭瀹℃牳
-//        UpdateWrapper updateWrapper=new UpdateWrapper();
-//        updateWrapper.eq("tj_number",tjNumber);
-//        updateWrapper.set("check_status",0);
-        boolean update = tjOrderService.updateById(one);
 
-        if (update) {
-            return AjaxResult.success("鎾ゅ洖鎴愬姛锛�");
+        TjOrder one = tjOrderService.getOrderByTjNum(tjNumber);
+        if(null !=one){
+            if(null !=one.getHeshouTime() && one.getHeshouStatus()==1)return AjaxResult.error("鎶ュ憡宸叉牳鏀朵笉鍙挙鍥�!!!");
+            one.setCheckStatus(0);
+            String config = configService.selectConfigByKey("tj_confirm");
+            if ("Y".equals(config)) {
+                one.setStatus(TjConstants.TJ_CHECK);
+            } else {
+                one.setStatus(TjConstants.TJ_CONFIRM);
+            }
+            one.setReportTime(null);
+            one.setCheckTime(null);
+            one.setCheckDoctor(null);
+            one.setHeshouStatus(0);
+            one.setHeshouTime(null);
+            one.setHeshouDoctor(null);
+            one.setPrintLastTime(null);
+            one.setDownloadLastTime(null);
+            if (tjOrderService.updateById(one)) {
+                return AjaxResult.success("鎾ゅ洖鎴愬姛锛�");
+            }
         }
         return AjaxResult.error("鎾ゅ洖澶辫触锛�");
 
@@ -2506,16 +2580,14 @@
 
     @GetMapping("/tuanDuiYiChangBySex")
     @ApiOperation(value = "鐢熸垚鍥㈤槦浣撴鎶ュ憡鈥斺�旂敺濂冲紓甯哥粨鏋滅粺璁�")
-    public Map<String, List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "鍗曚綅") @RequestParam String firmId,
-                                                                      @ApiParam(value = "閮ㄩ棬") @RequestParam String firmDeptId) {
+    public Map<String, List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "鍗曚綅") @RequestParam String dwname) {
 
         Map<String, List<Map<String, Object>>> all = new HashMap<>();
 
         LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>();
-        wq2.eq(TjOrder::getFirmId, firmId);
-        wq2.eq(TjOrder::getFirmDeptId, firmDeptId);
-        wq2.eq(TjOrder::getTjType, "1");
-        wq2.in(TjOrder::getStatus, 401, 402);
+        wq2.eq(TjOrder::getFirmName,dwname);
+        wq2.ne(TjOrder::getTjType, "2");
+//        wq2.in(TjOrder::getStatus, 401, 402);
         final List<TjOrder> list = tjOrderService.list(wq2);
 
         List<String> tjNumberList = list.stream().map(TjOrder::getTjNumber).collect(Collectors.toList());

--
Gitblit v1.8.0