LIJU 2 weeks ago
parent
commit
7b259f2c97
1 changed files with 31 additions and 2 deletions
  1. 31 2
      src/main/resources/static/js/mz/west_pharmacy_send.js

+ 31 - 2
src/main/resources/static/js/mz/west_pharmacy_send.js

@@ -3275,8 +3275,8 @@ function callYbSaleGoodsItem(realNo, orderNo, receiptNo, times, patientId, name,
  * @param name 病人姓名
  */
 function callYbReturnGoodsItem(realNo, orderNo, receiptNo, times, patientId, name) {
-    // 获取退药明细数据
-    let tableData = $("#tb_table").bootstrapTable('getData');
+    // 获取退药明细数据 - 使用全局变量中保存的退药数据
+    let tableData = window.currentRefundData || $table.bootstrapTable('getData');
     
     if (!tableData || tableData.length === 0) {
         console.log('没有退药明细数据,跳过医保接口调用');
@@ -3297,11 +3297,22 @@ function callYbReturnGoodsItem(realNo, orderNo, receiptNo, times, patientId, nam
                      String(currentTime.getSeconds()).padStart(2, '0');
     
     // 为每个退药药品调用一次医保接口
+    console.log('开始处理退药数据,总数:', tableData.length);
+    
     for (let i = 0; i < tableData.length; i++) {
         let item = tableData[i];
         
+        console.log('处理第', i + 1, '条退药记录:', {
+            'drugname': item.drugname,
+            'dec_amount': item.dec_amount,
+            'charge_item_code': item.charge_item_code,
+            'serial': item.serial,
+            'item_no': item.item_no
+        });
+        
         // 只处理有退药数量的药品
         if (item.dec_amount == 0) {
+            console.log('跳过数量为0的药品:', item.drugname);
             continue;
         }
         
@@ -3352,10 +3363,25 @@ function callYbReturnGoodsItem(realNo, orderNo, receiptNo, times, patientId, nam
             // 查找对应的追溯码
             for (let j = 0; j < tyTable.length; j++) {
                 let tyItem = tyTable[j];
+                
+                // 调试日志
+                console.log('追溯码匹配检查:', {
+                    'tyItem.chargeItemCode': tyItem.chargeItemCode,
+                    'item.charge_item_code': item.charge_item_code,
+                    'tyItem.serial': tyItem.serial,
+                    'item.serial': item.serial,
+                    'tyItem.itemNo': tyItem.itemNo,
+                    'item.item_no': item.item_no,
+                    'tyItem.drugTracCodg': tyItem.drugTracCodg
+                });
+                
+                // 匹配条件:收费项目编码、流水号、项目序号
                 if (tyItem.chargeItemCode === item.charge_item_code && 
                     tyItem.serial === item.serial && 
                     tyItem.itemNo === item.item_no) {
                     
+                    console.log('追溯码匹配成功:', tyItem.drugTracCodg);
+                    
                     if (tyItem.drugTracCodg && tyItem.drugTracCodg.trim() !== '') {
                         // 提取追溯码(去除HTML标签)
                         let tracCode = tyItem.drugTracCodg.replace(/<[^>]*>/g, '').trim();
@@ -3363,11 +3389,14 @@ function callYbReturnGoodsItem(realNo, orderNo, receiptNo, times, patientId, nam
                             ybData.drugtracinfo.push({
                                 drugTracCodg: tracCode
                             });
+                            console.log('添加追溯码到医保参数:', tracCode);
                         }
                     }
                     break;
                 }
             }
+        } else {
+            console.log('退药匹配表格为空,无法获取追溯码');
         }
         
         // 如果没有追溯码,添加空数组(保持数据结构一致)