From 00c657c1f695771d625e28d958bd3e57fb56da58 Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期六, 03 五月 2025 19:46:20 +0800
Subject: [PATCH] feat: 新增发票和评价

---
 ruoyi-system/src/main/resources/mapper/system/PayInfoMapper.xml                       |   10 +++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PayInfoServiceImpl.java      |   14 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java                  |   11 +++
 ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml                  |    3 
 ruoyi-ui/src/views/system/order/detail.vue                                            |   39 ++-----------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java |   31 ++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/IPayInfoService.java              |   12 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/PayInfoMapper.java                 |   11 +++
 8 files changed, 96 insertions(+), 35 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
index 2fa6031..2e805b7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
@@ -265,13 +265,42 @@
 //        List<PayInfo> payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt(orderDetail.getServiceOrdID()); //1016302788
         List<PayInfo> payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt("1016302788");
 
+        //鍏朵粬淇℃伅
+        Map<String, Object> otherInfo = new HashMap<>();
+        //璇勪环
+        otherInfo.put("serviceOrdVisit", Objects.toString(mingServiceOrder.getServiceOrdVisit(), "鏃�"));
+
+        //鍙戠エ鑾峰彇
+        Map<String, Object> invoiceInfo = payInfoService.selectLatestInvoiceInfo("1016302788");
+        String invoiceStatus = "";
+        if (invoiceInfo != null && invoiceInfo.get("AuditStatus") != null) {
+            switch (String.valueOf(invoiceInfo.get("AuditStatus"))) {
+                case "0":
+                    invoiceStatus = "鏈鐞�";
+                    break;
+                case "1":
+                    invoiceStatus = "寤跺悗澶勭悊";
+                    break;
+                case "3":
+                    invoiceStatus = "宸插紑绁�";
+                    break;
+                case "4":
+                    invoiceStatus = "鍙栨秷鐢宠";
+                    break;
+            }
+            otherInfo.put("invoiceStatus",invoiceInfo.get("InvoiceMakeout")+"-"+invoiceStatus);
+        }
+        
+
+
         data.put("orderInfo", orderInfo);
         data.put("patientInfo", patientInfo);
         data.put("serviceInfo", serviceInfo);
         data.put("medicalInfo", medicalInfo); // 鏆傛椂涓虹┖
         data.put("dispatchInfo", dispatchInfo);  // 鏇存柊涓哄寘鍚汉鍛樹俊鎭殑dispatchInfo
         data.put("paymentInfo", payInfoList); // 鏆傛椂涓虹┖
-        data.put("operationInfo", new ArrayList<>()); // 鏆傛椂涓虹┖
+        data.put("otherInfo", otherInfo);
+        
         
         return AjaxResult.success(data);
     }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java
index 29dffbd..9243548 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java
@@ -123,6 +123,9 @@
     @Excel(name = "璋冨害鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date serviceOrdCCTime;
 
+    /** 璇勪环 */
+    @Excel(name = "璇勪环")
+    private String serviceOrdVisit;
 
 
     /** 鍒嗛〉鍙傛暟 */
@@ -354,6 +357,14 @@
         this.serviceOrdCCTime = serviceOrdCCTime;
     }   
 
+    public String getServiceOrdVisit() {
+        return serviceOrdVisit;
+    }
+
+    public void setServiceOrdVisit(String serviceOrdVisit) {
+        this.serviceOrdVisit = serviceOrdVisit;
+    }   
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/PayInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/PayInfoMapper.java
index 9930221..52f623c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/PayInfoMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/PayInfoMapper.java
@@ -1,6 +1,8 @@
 package com.ruoyi.system.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.system.domain.PayInfo;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -16,4 +18,13 @@
      * @return 鏀粯淇℃伅鍒楄〃
      */
     public List<PayInfo> selectPayInfoByServiceOrdIDDt(String serviceOrdIDDt);
+
+    /**
+     * 鏍规嵁鏈嶅姟璁㈠崟ID鏌ヨ鏈�鏂板彂绁ㄤ俊鎭�
+     * 
+     * @param serviceOrderId 鏈嶅姟璁㈠崟ID 
+     * @return 鏈�鏂板彂绁ㄤ俊鎭�
+     */
+    public Map<String, Object> selectLatestInvoiceInfo(String serviceOrderId);
+    
 } 
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IPayInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IPayInfoService.java
index db43e29..fdb433c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IPayInfoService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IPayInfoService.java
@@ -1,6 +1,8 @@
 package com.ruoyi.system.service;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.system.domain.PayInfo;
 
 /**
@@ -14,4 +16,14 @@
      * @return 鏀粯淇℃伅鍒楄〃
      */
     public List<PayInfo> selectPayInfoByServiceOrdIDDt(String serviceOrdIDDt);
+
+    /**
+     * 鏍规嵁鏈嶅姟璁㈠崟ID鏌ヨ鏈�鏂板彂绁ㄤ俊鎭�
+     * 
+     * @param serviceOrderId 鏈嶅姟璁㈠崟ID 
+     * @return 鏈�鏂板彂绁ㄤ俊鎭�
+     */
+    public Map<String, Object> selectLatestInvoiceInfo(String serviceOrderId);
+    
+
 } 
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PayInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PayInfoServiceImpl.java
index a8ae516..f3aa7d9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PayInfoServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PayInfoServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import java.util.List;
+import java.util.Map;
 
 import com.ruoyi.common.annotation.DataSource;
 import com.ruoyi.common.enums.DataSourceType;
@@ -29,4 +30,17 @@
     public List<PayInfo> selectPayInfoByServiceOrdIDDt(String serviceOrdIDDt) {
         return payInfoMapper.selectPayInfoByServiceOrdIDDt(serviceOrdIDDt);
     }
+
+    /**
+     * 鏍规嵁鏈嶅姟璁㈠崟ID鏌ヨ鏈�鏂板彂绁ㄤ俊鎭�
+     * 
+     * @param serviceOrderId 鏈嶅姟璁㈠崟ID
+     * @return 鏈�鏂板彂绁ㄤ俊鎭�
+     */
+    @Override
+    public Map<String, Object> selectLatestInvoiceInfo(String serviceOrderId) {
+        return payInfoMapper.selectLatestInvoiceInfo(serviceOrderId);
+    }
+    
+    
 } 
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/PayInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/PayInfoMapper.xml
index 26574a8..561cead 100644
--- a/ruoyi-system/src/main/resources/mapper/system/PayInfoMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/PayInfoMapper.xml
@@ -28,4 +28,14 @@
         order by PaidMoneyTime desc
     </select>
 
+    <select id="selectLatestInvoiceInfo" parameterType="String" resultType="java.util.Map">
+        select top 1 InvoiceMakeout, AuditStatus 
+        from InvoiceData 
+        where ServiceOrderIDPK = #{serviceOrderId}
+    </select>
+
+
+
+    
+
 </mapper> 
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml b/ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml
index 6e1e108..1da7841 100644
--- a/ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml
@@ -31,10 +31,11 @@
         <result property="serviceOrdTraPaidPrice"    column="ServiceOrdTraPaidPrice"    />
         <result property="serviceOrdUnitRemarks"    column="ServiceOrdUnitRemarks"    />
         <result property="serviceOrdCCTime"    column="ServiceOrd_CC_Time"    />
+        <result property="serviceOrdVisit"    column="ServiceOrdVisit"    />
     </resultMap>
 
     <sql id="selectServiceOrderVo">
-        select ServiceOrdID, ServiceOrdUserID, ServiceOrdClass, ServiceOrdType, ServiceOrdState, ServiceOrdStartDate, ServiceOrdApptDate, ServiceOrdCoName, ServiceOrdCoPhone, ServiceOrdPtName, ServiceOrdPtAge, ServiceOrdPtSex, ServiceOrdPtKG, ServiceOrdPtNat, ServiceOrdPtIDCard, ServiceOrdTraProvince, ServiceOrdTraCity, ServiceOrdTraStreet, ServiceOrdTraEnd, ServiceOrdTraDistance, ServiceOrdTraUnitPrice, ServiceOrdTraTxnPrice, ServiceOrdTraPaidType, ServiceOrdTraPaidPrice, ServiceOrdUnitRemarks, ServiceOrd_CC_Time from ServiceOrder
+        select ServiceOrdID, ServiceOrdUserID, ServiceOrdClass, ServiceOrdType, ServiceOrdState, ServiceOrdStartDate, ServiceOrdApptDate, ServiceOrdCoName, ServiceOrdCoPhone, ServiceOrdPtName, ServiceOrdPtAge, ServiceOrdPtSex, ServiceOrdPtKG, ServiceOrdPtNat, ServiceOrdPtIDCard, ServiceOrdTraProvince, ServiceOrdTraCity, ServiceOrdTraStreet, ServiceOrdTraEnd, ServiceOrdTraDistance, ServiceOrdTraUnitPrice, ServiceOrdTraTxnPrice, ServiceOrdTraPaidType, ServiceOrdTraPaidPrice, ServiceOrdUnitRemarks, ServiceOrd_CC_Time, ServiceOrdVisit from ServiceOrder
     </sql>
 
     <sql id="selectServiceOrderWhere">
diff --git a/ruoyi-ui/src/views/system/order/detail.vue b/ruoyi-ui/src/views/system/order/detail.vue
index 22aab2e..12c64c6 100644
--- a/ruoyi-ui/src/views/system/order/detail.vue
+++ b/ruoyi-ui/src/views/system/order/detail.vue
@@ -112,43 +112,16 @@
         </el-col>
       </el-row>
 
-      <!-- 杩愯鎯呭喌 -->
-      <el-row>
-        <el-col :span="24">
-          <el-card class="inner-card">
-            <div slot="header">
-              <b>杩愯鎯呭喌</b>
-              <span style="float: right">{{dispatchInfo.carLicense}}</span>
-            </div>
-            <el-table
-              :data="operationInfo"
-              border
-              style="width: 100%"
-              :size="isMobile ? 'mini' : 'medium'"
-              class="responsive-table">
-              <el-table-column prop="status" label="鍑鸿溅鐘舵��" min-width="100" />
-              <el-table-column prop="operator" label="鎿嶄綔浜�" min-width="100" />
-              <el-table-column prop="operateTime" label="鎿嶄綔鏃堕棿" min-width="140" />
-              <el-table-column prop="location" label="鍧愭爣浣嶇疆" min-width="200" show-overflow-tooltip />
-            </el-table>
-          </el-card>
-        </el-col>
-      </el-row>
-
+      
       <!-- 璁㈠崟鎯呭喌 -->
       <el-row :gutter="20">
         <!-- 璋冨害淇℃伅 -->
         <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
           <el-card class="inner-card">
-            <div slot="header"><b>璋冨害淇℃伅</b></div>
+            <div slot="header"><b>璇︽儏</b></div>
             <el-descriptions :column="isMobile ? 1 : 2" border>
-              <el-descriptions-item label="鏈嶅姟璇勪环">{{ dispatchInfo.dispatchTime }}</el-descriptions-item>
-              <el-descriptions-item label="鍙戠エ鐘舵��">{{ dispatchInfo.dispatchStatus }}</el-descriptions-item>
-              <el-descriptions-item label="鏀粯鐘舵��">{{ dispatchInfo.driver }}</el-descriptions-item>
-              <el-descriptions-item label="杞︾墝">{{ dispatchInfo.carLicense }}</el-descriptions-item>
-              <el-descriptions-item label="鍖荤敓">{{ dispatchInfo.doctor }}</el-descriptions-item>
-              <!-- <el-descriptions-item label="鑱屼綅">{{ dispatchInfo.doctorPosition }}</el-descriptions-item> -->
-              <el-descriptions-item label="鎶ゅ+">{{ dispatchInfo.nurse }}</el-descriptions-item>
+              <el-descriptions-item label="鏈嶅姟璇勪环">{{ otherInfo.serviceOrdVisit }}</el-descriptions-item>
+              <el-descriptions-item label="鍙戠エ鐘舵��">{{ otherInfo.invoiceStatus }}</el-descriptions-item>
             </el-descriptions>
           </el-card>
         </el-col>
@@ -173,7 +146,7 @@
       medicalInfo: {},
       dispatchInfo: {},
       paymentInfo: [],
-      operationInfo: [],
+      otherInfo: [],
       screenWidth: document.documentElement.clientWidth // 灞忓箷瀹藉害
     }
   },
@@ -204,7 +177,7 @@
         this.medicalInfo = data.medicalInfo || {}
         this.dispatchInfo = data.dispatchInfo || {}
         this.paymentInfo = data.paymentInfo || []
-        this.operationInfo = data.operationInfo || []
+        this.otherInfo = data.otherInfo || []
 
         console.log(this.orderInfo)
 

--
Gitblit v1.9.1