|
@@ -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);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ */
|
|
|
|
+ // ================= 原逻辑结束 =================
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|