From adaaa23c789be3313a0e554fbf7beaa8ab261e68 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 16 五月 2024 18:07:01 +0800
Subject: [PATCH] zjh 2024/05/16-1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java |  288 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 229 insertions(+), 59 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
index 3e7091b..5e86ad9 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
@@ -1,26 +1,25 @@
 package com.ltkj.web.controller.system;
 
 import java.util.List;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.framework.config.MatchUtils;
-import com.ltkj.hosp.domain.TjAskHistorys;
-import com.ltkj.hosp.domain.TjCustomer;
-import com.ltkj.hosp.service.ITjAskHistorysService;
-import com.ltkj.hosp.service.ITjCustomerService;
+import com.ltkj.hosp.domain.*;
+import com.ltkj.hosp.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.val;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import com.ltkj.common.annotation.Log;
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.enums.BusinessType;
-import com.ltkj.hosp.domain.TjAskMedicalHistory;
-import com.ltkj.hosp.service.ITjAskMedicalHistoryService;
 import com.ltkj.common.utils.poi.ExcelUtil;
 import com.ltkj.common.core.page.TableDataInfo;
 
@@ -42,12 +41,32 @@
     private ITjCustomerService customerService;
     @Resource
     private ITjCustomerService tjCustomerService;
+    @Autowired
+    private ITjAskWorkLogService tjAskWorkLogService;
+    @Autowired
+    private ITjHarmTypeLogService tjHarmTypeLogService;
+    @Autowired
+    private ITjHarmTypeService tjHarmTypeService;
+    @Resource
+    private ITjOrderService tjOrderService;
 
 
     /**
      * 鏌ヨ闂瘖鍒楄〃
      */
-//    @PreAuthorize("@ss.hasPermi('hosp:history:list')")
+    @GetMapping("/getZhengZhuang")
+    @ApiOperation(value = "鑾峰彇鐥囩姸鎺ュ彛闆�")
+    public AjaxResult getZhengZhuang() {
+        List<DictZhengzhuang> zhengZhuang = tjAskMedicalHistoryService.getZhengZhuang();
+        return AjaxResult.success(zhengZhuang);
+    }
+
+
+
+
+    /**
+     * 鏌ヨ闂瘖鍒楄〃
+     */
     @GetMapping("/list")
     public TableDataInfo list(TjAskMedicalHistory tjAskMedicalHistory) {
         startPage();
@@ -58,7 +77,6 @@
     /**
      * 瀵煎嚭闂瘖鍒楄〃
      */
-//    @PreAuthorize("@ss.hasPermi('hosp:history:export')")
     @Log(title = "闂瘖", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, TjAskMedicalHistory tjAskMedicalHistory) {
@@ -70,7 +88,6 @@
     /**
      * 鑾峰彇闂瘖璇︾粏淇℃伅
      */
-//    @PreAuthorize("@ss.hasPermi('hosp:history:query')")
     @GetMapping(value = "/{askId}")
     public AjaxResult getInfo(@PathVariable("askId") Long askId) {
         return success(tjAskMedicalHistoryService.selectTjAskMedicalHistoryByAskId(askId));
@@ -81,33 +98,93 @@
      */
     @GetMapping(value = "/getInfoById")
     @ApiOperation(value = "鏍规嵁瀹㈡埛id鑾峰彇闂瘖璇︾粏淇℃伅")
-    public AjaxResult getInfoById(@RequestParam String userId) {
-        if (null != userId && !"".equals(userId)) {
-            LambdaQueryWrapper<TjAskMedicalHistory> wq = new LambdaQueryWrapper<>();
-            wq.eq(TjAskMedicalHistory::getCusId, Long.valueOf(userId));
-            TjAskMedicalHistory one = tjAskMedicalHistoryService.getOne(wq);
+    public AjaxResult getInfoById(@RequestParam String tjNumber) {
+        if (null != tjNumber && !"".equals(tjNumber)) {
+//            LambdaQueryWrapper<TjAskMedicalHistory> wq = new LambdaQueryWrapper<>();
+//            wq.eq(TjAskMedicalHistory::getTjNum, tjNumber);
+//            TjAskMedicalHistory one = tjAskMedicalHistoryService.getOne(wq);
+            TjAskMedicalHistory one = tjAskMedicalHistoryService.selectTjAskMedicalHistoryByTjNum(tjNumber);
             if (one != null) {
-                return success(tjAskMedicalHistoryService.selectTjAskMedicalHistoryByAskId(one.getAskId()));
+                LambdaQueryWrapper<TjAskWorkLog> wqq = new LambdaQueryWrapper<>();
+                wqq.eq(TjAskWorkLog::getTjNumber, tjNumber);
+                final List<TjAskWorkLog> list = tjAskWorkLogService.list(wqq);
+                one.setWorkLogs(list);
+
+                for (TjAskWorkLog askWorkLog : list) {
+                    LambdaQueryWrapper<TjHarmTypeLog> wqq1 = new LambdaQueryWrapper<>();
+                    wqq1.eq(TjHarmTypeLog::getWorkId, askWorkLog.getId());
+                    final List<TjHarmTypeLog> list1 = tjHarmTypeLogService.list(wqq1);
+
+                    List<String> skuNos = list1.stream()
+                            .map(TjHarmTypeLog::getAid)
+                            .collect(Collectors.toList());
+
+                    askWorkLog.setHarmTypeLogs(skuNos);
+                }
+
+                LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>();
+                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
+                final List<TjAskHistorys> list11 = historysService.list(wqq111);
+                one.setTjAskHistorysList(list11);
+                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
+                one.setTjLx(order.getTjCategory());
+                return AjaxResult.success(one);
+            }else {
+                TjAskMedicalHistory a = new TjAskMedicalHistory();
+                LambdaQueryWrapper<TjOrder> wqqq = new LambdaQueryWrapper<>();
+                wqqq.eq(TjOrder::getTjNumber, tjNumber);
+                final TjOrder order = tjOrderService.getOne(wqqq);
+                a.setCusId(order.getUserId());
+                a.setTjNum(order.getTjNumber());
+                a.setTjLx(order.getTjCategory());
+                TjCustomer customer = customerService.getById(a.getCusId());
+                if (customer != null) {
+                    a.setCusName(MatchUtils.hideCusName(customer.getCusName()));
+                    a.setCusIdCard(customer.getCusIdcard());
+                    a.setCusSex(String.valueOf(customer.getCusSex()));
+                }
+                return AjaxResult.success(a);
             }
-            TjAskMedicalHistory a = new TjAskMedicalHistory();
-            a.setCusId(Long.valueOf(userId));
-            TjCustomer byId = customerService.getById(a.getCusId());
-            if (byId != null) {
-                a.setCusName(MatchUtils.hideCusName(byId.getCusName()));
-            }
-            return AjaxResult.success(a);
         }
-        return AjaxResult.success();
+        return AjaxResult.error("鏌ユ棤姝や汉");
     }
 
     /**
      * 鏂板闂瘖
      */
-    //@PreAuthorize("@ss.hasPermi('hosp:history:add')")
+    @Transactional
     @Log(title = "闂瘖", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
-        return toAjax(tjAskMedicalHistoryService.insertTjAskMedicalHistory(tjAskMedicalHistory));
+        tjAskMedicalHistoryService.insertTjAskMedicalHistory(tjAskMedicalHistory);
+        final List<TjAskWorkLog> workLogs = tjAskMedicalHistory.getWorkLogs();
+        if (workLogs != null) {
+            for (TjAskWorkLog workLog : workLogs) {
+                workLog.setCusId(tjAskMedicalHistory.getCusId());
+                workLog.setCusName(tjAskMedicalHistory.getCusName());
+                workLog.setTjNumber(tjAskMedicalHistory.getTjNum());
+                final boolean save = tjAskWorkLogService.save(workLog);
+                if (!save) {
+                    return AjaxResult.error();
+                }
+                List<String> harmTypeLogs = workLog.getHarmTypeLogs();
+                if (harmTypeLogs != null) {
+                    for (String harmTypeLog : harmTypeLogs) {
+                        final TjHarmType byId = tjHarmTypeService.getById(harmTypeLog);
+                        if (byId != null) {
+                            TjHarmTypeLog log = new TjHarmTypeLog();
+                            log.setAid(byId.getAid());
+                            log.setCusId(tjAskMedicalHistory.getCusId());
+                            log.setCusName(tjAskMedicalHistory.getCusName());
+                            log.setTjNumber(tjAskMedicalHistory.getTjNum());
+                            log.setWorkId(workLog.getId());
+                            tjHarmTypeLogService.saveOrUpdate(log);
+                        }
+                    }
+                }
+            }
+        }
+        return AjaxResult.success();
     }
 
 
@@ -115,30 +192,66 @@
      * pc绔慨鏀归棶璇�
      */
     @ApiOperation(value = "pc绔慨鏀归棶璇�")
-    //@PreAuthorize("@ss.hasPermi('hosp:history:edit')")
     @Log(title = "闂瘖", businessType = BusinessType.UPDATE)
     @PutMapping
+    @Transactional
     public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
-        boolean b =false;
+        LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum());
+        tjAskWorkLogService.remove(wq);
+        LambdaQueryWrapper<TjHarmTypeLog> wq1 = new LambdaQueryWrapper<>();
+        wq1.eq(TjHarmTypeLog::getTjNumber, tjAskMedicalHistory.getTjNum());
+        tjHarmTypeLogService.remove(wq1);
+
+
+        boolean b = false;
         tjAskMedicalHistory.setFromBy("PC绔�");
-        if (tjAskMedicalHistory.getAskId()!=null){
+        if (tjAskMedicalHistory.getAskId() != null) {
             b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory);
-        }else {
+        } else {
             b = tjAskMedicalHistoryService.save(tjAskMedicalHistory);
         }
-        //boolean b = tjAskMedicalHistoryService.saveOrUpdate(tjAskMedicalHistory);
-        if (b){
+        if (b) {
             List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
-            if (tjAskHistorysList!=null&&tjAskHistorysList.size()>0){
+            if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
                 for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
                     tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
                     boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
-                    if (!b1){
+                    if (!b1) {
                         return AjaxResult.error();
                     }
                 }
             }
-            return AjaxResult.success();
+
+            List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs();
+            if (askWorkLogs != null && askWorkLogs.size() > 0) {
+                for (TjAskWorkLog askWorkLog : askWorkLogs) {
+                    askWorkLog.setCusId(tjAskMedicalHistory.getCusId());
+                    askWorkLog.setCusName(tjAskMedicalHistory.getCusName());
+                    askWorkLog.setTjNumber(tjAskMedicalHistory.getTjNum());
+                    askWorkLog.setAskId(tjAskMedicalHistory.getAskId());
+                    boolean b1 = tjAskWorkLogService.saveOrUpdate(askWorkLog);
+                    List<String> harmTypeLogs = askWorkLog.getHarmTypeLogs();
+                    if (harmTypeLogs != null) {
+                        for (String harmTypeLog : harmTypeLogs) {
+                            final TjHarmType byId = tjHarmTypeService.getById(harmTypeLog);
+                            if (byId != null) {
+                                TjHarmTypeLog log = new TjHarmTypeLog();
+                                log.setAid(byId.getAid());
+                                log.setCusId(tjAskMedicalHistory.getCusId());
+                                log.setCusName(tjAskMedicalHistory.getCusName());
+                                log.setTjNumber(tjAskMedicalHistory.getTjNum());
+                                log.setWorkId(askWorkLog.getId());
+                                tjHarmTypeLogService.save(log);
+                            }
+                        }
+                    }
+                    if (!b1) {
+                        return AjaxResult.error();
+                    }
+                }
+            }
+            return AjaxResult.success(tjAskMedicalHistory);
         }
         return AjaxResult.error();
         //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory));
@@ -149,26 +262,46 @@
      * 灏忕▼搴忔牴鎹鎴疯韩浠借瘉鍙疯幏鍙栭棶璇婅缁嗕俊鎭�
      */
     @GetMapping(value = "/appGetInfoById")
-    @ApiOperation(value = "灏忕▼搴忔牴鎹鎴疯韩浠借瘉鍙疯幏鍙栭棶璇婅缁嗕俊鎭�")
-    public AjaxResult appGetInfoById(@RequestParam("cusIdCard") String cusIdCard) {
-        LambdaQueryWrapper<TjCustomer> wqqq=new LambdaQueryWrapper<>();
-        wqqq.eq(TjCustomer::getCusIdcard,cusIdCard);
-        TjCustomer one1 = tjCustomerService.getOne(wqqq);
-
-        if (one1!=null){
-            LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>();
-            wq.eq(TjAskMedicalHistory::getCusId,one1.getCusId());
+    @ApiOperation(value = "灏忕▼搴忔牴鎹綋妫�鍙疯幏鍙栭棶璇婅缁嗕俊鎭�")
+    public AjaxResult appGetInfoById(@RequestParam("tjNumber") String tjNumber) {
+        if (null != tjNumber && !"".equals(tjNumber)) {
+            LambdaQueryWrapper<TjAskMedicalHistory> wq = new LambdaQueryWrapper<>();
+            wq.eq(TjAskMedicalHistory::getTjNum, tjNumber);
             TjAskMedicalHistory one = tjAskMedicalHistoryService.getOne(wq);
-            if (one!=null){
-                return success(tjAskMedicalHistoryService.selectTjAskMedicalHistoryByAskId(one.getAskId()));
-            }else {
-                TjAskMedicalHistory a=new TjAskMedicalHistory();
-                a.setCusId(Long.valueOf(one1.getCusId()));
-                TjCustomer byId = customerService.getById(a.getCusId());
-                if (byId!=null){
-                    a.setCusName(byId.getCusName());
+            if (one != null) {
+                LambdaQueryWrapper<TjAskWorkLog> wqq = new LambdaQueryWrapper<>();
+                wqq.eq(TjAskWorkLog::getTjNumber, tjNumber);
+                final List<TjAskWorkLog> list = tjAskWorkLogService.list(wqq);
+                one.setWorkLogs(list);
+
+                for (TjAskWorkLog askWorkLog : list) {
+                    LambdaQueryWrapper<TjHarmTypeLog> wqq1 = new LambdaQueryWrapper<>();
+                    wqq1.eq(TjHarmTypeLog::getWorkId, askWorkLog.getId());
+                    final List<TjHarmTypeLog> list1 = tjHarmTypeLogService.list(wqq1);
+
+                    List<String> skuNos = list1.stream()
+                            .map(TjHarmTypeLog::getAid)
+                            .collect(Collectors.toList());
+
+                    askWorkLog.setHarmTypeLogs(skuNos);
                 }
 
+                LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>();
+                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
+                final List<TjAskHistorys> list11 = historysService.list(wqq111);
+                one.setTjAskHistorysList(list11);
+
+                return AjaxResult.success(one);
+            }else {
+                TjAskMedicalHistory a = new TjAskMedicalHistory();
+                LambdaQueryWrapper<TjOrder> wqqq = new LambdaQueryWrapper<>();
+                wqqq.eq(TjOrder::getTjNumber, tjNumber);
+                final TjOrder one1 = tjOrderService.getOne(wqqq);
+                a.setCusId(one1.getUserId());
+                TjCustomer byId11 = customerService.getById(a.getCusId());
+                if (byId11 != null) {
+                    a.setCusName(MatchUtils.hideCusName(byId11.getCusName()));
+                }
                 return AjaxResult.success(a);
             }
         }
@@ -182,20 +315,58 @@
     @ApiOperation(value = "灏忕▼搴忎慨鏀归棶璇�")
     @PostMapping("/appEdit")
     public AjaxResult appEdit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
-        boolean b =false;
-        tjAskMedicalHistory.setFromBy("灏忕▼搴忕");
-        if (tjAskMedicalHistory.getAskId()!=null){
+        LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum());
+        tjAskWorkLogService.remove(wq);
+        LambdaQueryWrapper<TjHarmTypeLog> wq1 = new LambdaQueryWrapper<>();
+        wq1.eq(TjHarmTypeLog::getTjNumber, tjAskMedicalHistory.getTjNum());
+        tjHarmTypeLogService.remove(wq1);
+
+
+        boolean b = false;
+        tjAskMedicalHistory.setFromBy("PC绔�");
+        if (tjAskMedicalHistory.getAskId() != null) {
             b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory);
-        }else {
+        } else {
             b = tjAskMedicalHistoryService.save(tjAskMedicalHistory);
         }
-        if (b){
+        //boolean b = tjAskMedicalHistoryService.saveOrUpdate(tjAskMedicalHistory);
+        if (b) {
             List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
-            if (tjAskHistorysList!=null&&tjAskHistorysList.size()>0){
+            if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
                 for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
                     tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
                     boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
-                    if (!b1){
+                    if (!b1) {
+                        return AjaxResult.error();
+                    }
+                }
+            }
+
+            List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs();
+            if (askWorkLogs != null && askWorkLogs.size() > 0) {
+                for (TjAskWorkLog askWorkLog : askWorkLogs) {
+                    askWorkLog.setCusId(tjAskMedicalHistory.getCusId());
+                    askWorkLog.setCusName(tjAskMedicalHistory.getCusName());
+                    askWorkLog.setTjNumber(tjAskMedicalHistory.getTjNum());
+                    askWorkLog.setAskId(tjAskMedicalHistory.getAskId());
+                    boolean b1 = tjAskWorkLogService.saveOrUpdate(askWorkLog);
+                    List<String> harmTypeLogs = askWorkLog.getHarmTypeLogs();
+                    if (harmTypeLogs != null) {
+                        for (String harmTypeLog : harmTypeLogs) {
+                            final TjHarmType byId = tjHarmTypeService.getById(harmTypeLog);
+                            if (byId != null) {
+                                TjHarmTypeLog log = new TjHarmTypeLog();
+                                log.setAid(byId.getAid());
+                                log.setCusId(tjAskMedicalHistory.getCusId());
+                                log.setCusName(tjAskMedicalHistory.getCusName());
+                                log.setTjNumber(tjAskMedicalHistory.getTjNum());
+                                log.setWorkId(askWorkLog.getId());
+                                tjHarmTypeLogService.saveOrUpdate(log);
+                            }
+                        }
+                    }
+                    if (!b1) {
                         return AjaxResult.error();
                     }
                 }
@@ -208,7 +379,6 @@
     /**
      * 鍒犻櫎闂瘖
      */
-//    @PreAuthorize("@ss.hasPermi('hosp:history:remove')")
     @Log(title = "闂瘖", businessType = BusinessType.DELETE)
     @DeleteMapping("/{askIds}")
     public AjaxResult remove(@PathVariable Long[] askIds) {

--
Gitblit v1.8.0