From 65659a03fa8d3ff95c725ea81dcb8c11291c2773 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期六, 09 十二月 2023 10:48:12 +0800
Subject: [PATCH] 1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/mall/WxTjAskMedicalHistoryController.java |  223 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 179 insertions(+), 44 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/WxTjAskMedicalHistoryController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/WxTjAskMedicalHistoryController.java
index a7b22af..f4ffd0a 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/WxTjAskMedicalHistoryController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/mall/WxTjAskMedicalHistoryController.java
@@ -3,13 +3,10 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.page.TableDataInfo;
 import com.ltkj.framework.config.UserHoder;
-import com.ltkj.hosp.domain.TjAskHistorys;
-import com.ltkj.hosp.domain.TjAskMedicalHistory;
-import com.ltkj.hosp.domain.TjCustomer;
-import com.ltkj.hosp.service.ITjAskHistorysService;
-import com.ltkj.hosp.service.ITjAskMedicalHistoryService;
-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 org.springframework.beans.factory.annotation.Autowired;
@@ -17,13 +14,13 @@
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
  * @Author: zjh
  * @Date: 2023/7/26 08:53
  */
-
 
 
 @RestController
@@ -40,6 +37,17 @@
     @Resource
     private ITjCustomerService tjCustomerService;
 
+    @Autowired
+    private ITjHarmTypeService tjHarmTypeService;
+
+    @Autowired
+    private ITjAskWorkLogService tjAskWorkLogService;
+    @Autowired
+    private ITjHarmTypeLogService tjHarmTypeLogService;
+
+    @Resource
+    private ITjOrderService tjOrderService;
+
 
     /**
      * 灏忕▼搴忔牴鎹鎴疯韩浠借瘉鍙疯幏鍙栭棶璇婅缁嗕俊鎭�
@@ -47,28 +55,59 @@
     @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);
+        LambdaQueryWrapper<TjCustomer> wqqq = new LambdaQueryWrapper<>();
+        wqqq.eq(TjCustomer::getCusIdcard, cusIdCard);
+        TjCustomer customer = tjCustomerService.getOne(wqqq);
+        if (customer != null) {
+            LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
+            wq.eq(TjOrder::getUserId, customer.getCusId());
+            wq.orderByDesc(TjOrder::getCreateTime);
+            wq.last("limit 1");
+            TjOrder order = tjOrderService.getOne(wq);
 
-        if (one1!=null){
-            LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>();
-            wq.eq(TjAskMedicalHistory::getCusId,one1.getCusId());
-            TjAskMedicalHistory one = tjAskMedicalHistoryService.getOne(wq);
-            if (one!=null){
-                return AjaxResult.success(tjAskMedicalHistoryService.selectTjAskMedicalHistoryByAskId(one.getAskId()));
-            }else {
-                TjAskMedicalHistory a=new TjAskMedicalHistory();
-                a.setCusId(one1.getCusId());
-                TjCustomer byId = customerService.getById(a.getCusId());
-                if (byId!=null){
-                    a.setCusName(byId.getCusName());
+            if (order != null) {
+                LambdaQueryWrapper<TjAskMedicalHistory> wq1 = new LambdaQueryWrapper<>();
+                wq1.eq(TjAskMedicalHistory::getCusId, order.getTjNumber());
+                TjAskMedicalHistory one = tjAskMedicalHistoryService.getOne(wq1);
+                if (one != null) {
+                    one.setTjCategory(order.getTjCategory());
+                    //鏌ヨ鐥呭彶璁板綍鍜岃亴涓氳褰�
+                    LambdaQueryWrapper<TjAskWorkLog> wqq = new LambdaQueryWrapper<>();
+                    wqq.eq(TjAskWorkLog::getTjNumber, order.getTjNumber());
+                    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();
+                    a.setTjCategory(order.getTjCategory());
+                    a.setCusId(customer.getCusId());
+                    a.setTjNum(order.getTjNumber());
+                    TjCustomer byId = customerService.getById(a.getCusId());
+                    if (byId != null) {
+                        a.setCusName(byId.getCusName());
+                    }
+                    return AjaxResult.success(a);
                 }
-
-                return AjaxResult.success(a);
             }
         }
-        return AjaxResult.error("鏌ユ棤姝や汉");
+        return AjaxResult.success("0");
 
     }
 
@@ -78,29 +117,125 @@
     @ApiOperation(value = "灏忕▼搴忕鏂板闂瘖璁板綍淇℃伅鎺ュ彛")
     @PostMapping("/appEdit")
     public AjaxResult appEdit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
-        TjCustomer customer = customerService.getOne(new LambdaQueryWrapper<TjCustomer>().eq(TjCustomer::getCusIdcard, tjAskMedicalHistory.getCusIdCard()));
-        if(null !=customer){
-            LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>();
-            wq.eq(TjAskMedicalHistory::getCusId,customer.getCusId());
-            wq.isNull(TjAskMedicalHistory::getTjNum);
-            tjAskMedicalHistoryService.remove(wq);
-            tjAskMedicalHistory.setCusId(customer.getCusId());
-        }
-        tjAskMedicalHistory.setFromBy("灏忕▼搴忕");
-        tjAskMedicalHistory.setCreateId(String.valueOf(UserHoder.getWxuser().getId()));
-//        tjAskMedicalHistory.setUpdateId(String.valueOf(UserHoder.getWxuser().getId()));
-        if (tjAskMedicalHistoryService.saveOrUpdate(tjAskMedicalHistory)){
-            List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
-            if (tjAskHistorysList!=null&&tjAskHistorysList.size()>0){
-                for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
-                    tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
-                    if (!historysService.saveOrUpdate(tjAskHistorys)){
-                        return AjaxResult.error();
+        LambdaQueryWrapper<TjAskMedicalHistory> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjAskMedicalHistory::getTjNum, tjAskMedicalHistory.getTjNum());
+        final TjAskMedicalHistory one = tjAskMedicalHistoryService.getOne(wq);
+        if (one==null){
+            tjAskMedicalHistory.setFromBy("灏忕▼搴忕");
+            tjAskMedicalHistory.setCreateId(String.valueOf(UserHoder.getWxuser().getId()));
+            if (tjAskMedicalHistoryService.save(tjAskMedicalHistory)) {
+                List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
+                if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
+                    //娣诲姞鐥呭彶
+                    for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
+                        tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
+                        if (!historysService.save(tjAskHistorys)) {
+                            return AjaxResult.error();
+                        }
+                    }
+                    //娣诲姞鑱屼笟鐥呭彶
+                    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());
+                                        final boolean b = tjHarmTypeLogService.save(log);
+                                        if (!b) {
+                                            return AjaxResult.error();
+                                        }
+                                    }
+                                }
+                            }
+                        }
                     }
                 }
+                return AjaxResult.success("娣诲姞鎴愬姛!");
             }
-            return AjaxResult.success("鎿嶄綔鎴愬姛!");
+        }else {
+            tjAskMedicalHistory.setFromBy("灏忕▼搴忕");
+            tjAskMedicalHistory.setUpdateId(String.valueOf(UserHoder.getWxuser().getId()));
+            if (tjAskMedicalHistoryService.updateById(tjAskMedicalHistory)) {
+                List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
+                if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
+                    //淇敼鐥呭彶
+                    for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
+                        tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
+                        if (!historysService.updateById(tjAskHistorys)) {
+                            return AjaxResult.error();
+                        }
+                    }
+                    //淇敼鑱屼笟鐥呭彶
+                    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.updateById(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());
+                                        final boolean b = tjHarmTypeLogService.updateById(log);
+                                        if (!b) {
+                                            return AjaxResult.error();
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+                return AjaxResult.success("淇敼鎴愬姛!");
+            }
         }
         return AjaxResult.error("鎿嶄綔澶辫触!");
     }
+
+    /**
+     * 鏌ヨ鑱屼笟鐥呭垪琛�
+     */
+    @GetMapping("/getHarmTypeList")
+    public AjaxResult getHarmTypeList(TjHarmType tjHarmType) {
+        LambdaQueryWrapper<TjHarmType> wq = new LambdaQueryWrapper<>();
+        if (tjHarmType.getHarmCode() != null) {
+            wq.like(TjHarmType::getHarmCode, tjHarmType.getHarmCode());
+        }
+        if (tjHarmType.getHarmType() != null) {
+            wq.like(TjHarmType::getHarmType, tjHarmType.getHarmType());
+        }
+        if (tjHarmType.getHarmPinYin() != null) {
+            wq.like(TjHarmType::getHarmPinYin, tjHarmType.getHarmPinYin());
+        }
+        List<TjHarmType> list = tjHarmTypeService.list(wq);
+        return AjaxResult.success(list);
+    }
+
+
 }

--
Gitblit v1.8.0