LIJU 20 hours ago
parent
commit
749e6261ce
1 changed files with 39 additions and 0 deletions
  1. 39 0
      src/main/resources/static/js/mz/west_pharmacy_send.js

+ 39 - 0
src/main/resources/static/js/mz/west_pharmacy_send.js

@@ -4030,6 +4030,43 @@ function callYbReturnGoodsItem(realNo, orderNo, receiptNo, times, patientId, nam
             drugtracinfo: []
             drugtracinfo: []
         };
         };
         
         
+        // ================= 新增:使用用户实际扫描的追溯码 =================
+        // 目的:使用用户实际扫描匹配的追溯码,而不是从数据库查询所有追溯码
+        // 修改时间:2025年
+        // 修改原因:确保医保接口只收到退药数量对应的追溯码,而不是所有追溯码
+        
+        let drugCode = item.charge_item_code;
+        let scannedCodes = scannedCodesMap[drugCode] || [];
+        
+        console.log('=== 使用实际扫描的追溯码 ===');
+        console.log('药品编码:', drugCode);
+        console.log('退药数量:', item.dec_amount);
+        console.log('实际扫描的追溯码:', scannedCodes);
+        console.log('扫描数量:', scannedCodes.length);
+        
+        // 检查是否有扫描的追溯码
+        if (scannedCodes.length === 0) {
+            console.warn('警告:药品', item.drugname, '没有扫描的追溯码,但继续调用医保接口');
+        }
+        
+        // 将实际扫描的追溯码添加到医保接口参数中
+        for (let k = 0; k < scannedCodes.length; k++) {
+            ybData.drugtracinfo.push({
+                drugTracCodg: scannedCodes[k]
+            });
+        }
+        
+        console.log('医保接口追溯码参数:', ybData.drugtracinfo);
+        
+        // 直接调用医保接口,无需异步查询
+        callYbReturnGoodsItemWithData(ybData, item);
+        
+        // ================= 原逻辑(已屏蔽,如需恢复请取消注释) =================
+        /*
+        // 原逻辑:从数据库查询所有追溯码
+        // 屏蔽原因:会返回所有追溯码而不是用户实际扫描的追溯码
+        // 屏蔽时间:2025年
+        
         // 主动获取追溯码信息(退药后从退药追溯码表查询)
         // 主动获取追溯码信息(退药后从退药追溯码表查询)
         let tracCodgParams = {
         let tracCodgParams = {
             patientId: patientId,
             patientId: patientId,
@@ -4080,6 +4117,8 @@ function callYbReturnGoodsItem(realNo, orderNo, receiptNo, times, patientId, nam
                 callYbReturnGoodsItemWithData(ybData, item);
                 callYbReturnGoodsItemWithData(ybData, item);
             }
             }
         });
         });
+        */
+        // ================= 原逻辑结束 =================
     }
     }
 }
 }