修复bug
parent
49a9cfc035
commit
4d4908bb2f
|
|
@ -43,7 +43,9 @@ async def get_warehouse_receipt_detail(
|
||||||
获取入库单详情
|
获取入库单详情
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
print(f"DEBUG Controller: 请求入库单详情 receipt_id={receipt_id}, type={type(receipt_id)}")
|
||||||
receipt_detail = await WarehouseReceiptService.get_receipt_detail(query_db, receipt_id)
|
receipt_detail = await WarehouseReceiptService.get_receipt_detail(query_db, receipt_id)
|
||||||
|
print(f"DEBUG Controller: 返回的入库单号={receipt_detail.get('receiptNo')}, receipt_id={receipt_detail.get('receiptId')}")
|
||||||
logger.info('获取成功')
|
logger.info('获取成功')
|
||||||
return ResponseUtil.success(data=receipt_detail)
|
return ResponseUtil.success(data=receipt_detail)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ class WarehouseReceiptDao:
|
||||||
"""
|
"""
|
||||||
编辑入库单
|
编辑入库单
|
||||||
"""
|
"""
|
||||||
update_data = receipt.model_dump(exclude_unset=True, exclude={'receipt_id'})
|
update_data = receipt.model_dump(exclude_unset=True, exclude={'receipt_id', 'samples', 'sample_count'})
|
||||||
stmt = update(WarehouseReceipt).where(WarehouseReceipt.receipt_id == receipt.receipt_id).values(**update_data)
|
stmt = update(WarehouseReceipt).where(WarehouseReceipt.receipt_id == receipt.receipt_id).values(**update_data)
|
||||||
await db.execute(stmt)
|
await db.execute(stmt)
|
||||||
await db.flush()
|
await db.flush()
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,14 @@ class WarehouseSampleDao:
|
||||||
"""
|
"""
|
||||||
获取样品列表
|
获取样品列表
|
||||||
"""
|
"""
|
||||||
|
# 添加日志
|
||||||
|
print(f"DEBUG DAO: receipt_id={query_object.receipt_id}, type={type(query_object.receipt_id)}")
|
||||||
|
|
||||||
query = select(WarehouseSample).where(WarehouseSample.del_flag == '0')
|
query = select(WarehouseSample).where(WarehouseSample.del_flag == '0')
|
||||||
|
|
||||||
# 条件筛选
|
# 条件筛选
|
||||||
if query_object.receipt_id:
|
if query_object.receipt_id:
|
||||||
|
print(f"DEBUG DAO: 添加 receipt_id 筛选条件")
|
||||||
query = query.where(WarehouseSample.receipt_id == query_object.receipt_id)
|
query = query.where(WarehouseSample.receipt_id == query_object.receipt_id)
|
||||||
if query_object.receipt_no:
|
if query_object.receipt_no:
|
||||||
query = query.where(WarehouseSample.receipt_no.like(f'%{query_object.receipt_no}%'))
|
query = query.where(WarehouseSample.receipt_no.like(f'%{query_object.receipt_no}%'))
|
||||||
|
|
|
||||||
|
|
@ -48,27 +48,37 @@ class WarehouseReceiptService:
|
||||||
"""
|
"""
|
||||||
获取入库单详情
|
获取入库单详情
|
||||||
"""
|
"""
|
||||||
|
import sys
|
||||||
|
print(f"DEBUG Service START: get_receipt_detail called with receipt_id={receipt_id}", flush=True)
|
||||||
|
sys.stdout.flush()
|
||||||
try:
|
try:
|
||||||
receipt = await WarehouseReceiptDao.get_receipt_by_id(db, receipt_id)
|
receipt = await WarehouseReceiptDao.get_receipt_by_id(db, receipt_id)
|
||||||
if not receipt:
|
if not receipt:
|
||||||
raise ServiceException(message='入库单不存在')
|
raise ServiceException(message='入库单不存在')
|
||||||
|
|
||||||
|
print(f"DEBUG Service: receipt found, receipt.receipt_id={receipt.receipt_id}, receipt_no={receipt.receipt_no}", flush=True)
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
receipt_dict = CamelCaseUtil.transform_result(receipt)
|
receipt_dict = CamelCaseUtil.transform_result(receipt)
|
||||||
|
|
||||||
# 获取样品列表
|
# 获取样品列表
|
||||||
from module_admin.entity.vo.warehouse_sample_vo import WarehouseSamplePageQueryModel
|
from module_admin.entity.vo.warehouse_sample_vo import WarehouseSamplePageQueryModel
|
||||||
sample_query = WarehouseSamplePageQueryModel(receipt_id=receipt.receipt_id, page_num=1, page_size=1000)
|
# 使用 camelCase 字段名来构造查询对象
|
||||||
|
sample_query = WarehouseSamplePageQueryModel(receiptId=receipt.receipt_id, pageNum=1, pageSize=1000)
|
||||||
|
|
||||||
# 添加日志
|
# 添加日志
|
||||||
print(f"DEBUG: 查询入库单 {receipt_id} 的样品,receipt.receipt_id={receipt.receipt_id}")
|
print(f"DEBUG: 查询入库单 {receipt_id} 的样品,receipt.receipt_id={receipt.receipt_id}", flush=True)
|
||||||
|
print(f"DEBUG: sample_query.receipt_id={sample_query.receipt_id}", flush=True)
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
samples = await WarehouseSampleDao.get_sample_list(db, sample_query, is_page=False)
|
samples = await WarehouseSampleDao.get_sample_list(db, sample_query, is_page=False)
|
||||||
|
|
||||||
# 添加日志
|
# 添加日志
|
||||||
print(f"DEBUG: 查询到 {len(samples) if samples else 0} 个样品")
|
print(f"DEBUG: 查询到 {len(samples) if samples else 0} 个样品", flush=True)
|
||||||
if samples:
|
if samples:
|
||||||
for sample in samples[:3]: # 只打印前3个
|
for sample in samples[:3]: # 只打印前3个
|
||||||
print(f"DEBUG: 样品 ID={sample.sample_id}, receipt_id={sample.receipt_id}, SN={sample.sample_sn}")
|
print(f"DEBUG: 样品 ID={sample.sample_id}, receipt_id={sample.receipt_id}, SN={sample.sample_sn}", flush=True)
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
# 转换样品列表
|
# 转换样品列表
|
||||||
samples_list = [CamelCaseUtil.transform_result(sample) for sample in samples] if samples else []
|
samples_list = [CamelCaseUtil.transform_result(sample) for sample in samples] if samples else []
|
||||||
|
|
@ -79,6 +89,7 @@ class WarehouseReceiptService:
|
||||||
except ServiceException:
|
except ServiceException:
|
||||||
raise
|
raise
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
print(f"DEBUG Service ERROR: {str(e)}", flush=True)
|
||||||
raise ServiceException(message=f'获取入库单详情失败: {str(e)}')
|
raise ServiceException(message=f'获取入库单详情失败: {str(e)}')
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -151,7 +162,8 @@ class WarehouseReceiptService:
|
||||||
if receipt_model.samples is not None:
|
if receipt_model.samples is not None:
|
||||||
# 获取现有样品列表
|
# 获取现有样品列表
|
||||||
from module_admin.entity.vo.warehouse_sample_vo import WarehouseSamplePageQueryModel
|
from module_admin.entity.vo.warehouse_sample_vo import WarehouseSamplePageQueryModel
|
||||||
sample_query = WarehouseSamplePageQueryModel(receipt_id=receipt_model.receipt_id, page_num=1, page_size=1000)
|
# 使用 camelCase 字段名来构造查询对象
|
||||||
|
sample_query = WarehouseSamplePageQueryModel(receiptId=receipt_model.receipt_id, pageNum=1, pageSize=1000)
|
||||||
existing_samples = await WarehouseSampleDao.get_sample_list(db, sample_query, is_page=False)
|
existing_samples = await WarehouseSampleDao.get_sample_list(db, sample_query, is_page=False)
|
||||||
existing_sample_ids = {sample.sample_id for sample in existing_samples} if existing_samples else set()
|
existing_sample_ids = {sample.sample_id for sample in existing_samples} if existing_samples else set()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue