fix: resolve 500 error on excel export by aligning headers and data row lengths for remark field

This commit is contained in:
DXC
2026-03-19 11:41:53 +08:00
parent b74464df6b
commit a32d4f6b65

View File

@ -718,7 +718,7 @@ def export_stocktake():
ws4 = wb.create_sheet("外借在用资产明细")
borrow_headers = ["借出单号", "借用人", "物料名称", "SKU", "规格型号", "借出总数", "已还数量", "待还数量", "借出时间", "预计归还时间"]
set_header_row(ws4, borrow_headers)
# 查询未归还的借出记录
unreturned_borrows = TransBorrow.query.filter(TransBorrow.is_returned == False).all()
for row_idx, borrow in enumerate(unreturned_borrows, 2):
@ -727,16 +727,16 @@ def export_stocktake():
returned_qty = float(borrow.returned_quantity or 0)
pending_qty = total_qty - returned_qty
ws3.cell(row=row_idx, column=1, value=borrow.borrow_no or '').border = thin_border
ws3.cell(row=row_idx, column=2, value=borrow.borrower_name or '').border = thin_border
ws3.cell(row=row_idx, column=3, value=mat_info['name']).border = thin_border
ws3.cell(row=row_idx, column=4, value=mat_info['sku']).border = thin_border
ws3.cell(row=row_idx, column=5, value=mat_info['spec']).border = thin_border
ws3.cell(row=row_idx, column=6, value=total_qty).border = thin_border
ws3.cell(row=row_idx, column=7, value=returned_qty).border = thin_border
ws3.cell(row=row_idx, column=8, value=pending_qty).border = thin_border
ws3.cell(row=row_idx, column=9, value=to_beijing_time(borrow.borrow_time)).border = thin_border
ws3.cell(row=row_idx, column=10, value='无限期' if not borrow.expected_return_time else to_beijing_time(borrow.expected_return_time)).border = thin_border
ws4.cell(row=row_idx, column=1, value=borrow.borrow_no or '').border = thin_border
ws4.cell(row=row_idx, column=2, value=borrow.borrower_name or '').border = thin_border
ws4.cell(row=row_idx, column=3, value=mat_info['name']).border = thin_border
ws4.cell(row=row_idx, column=4, value=mat_info['sku']).border = thin_border
ws4.cell(row=row_idx, column=5, value=mat_info['spec']).border = thin_border
ws4.cell(row=row_idx, column=6, value=total_qty).border = thin_border
ws4.cell(row=row_idx, column=7, value=returned_qty).border = thin_border
ws4.cell(row=row_idx, column=8, value=pending_qty).border = thin_border
ws4.cell(row=row_idx, column=9, value=to_beijing_time(borrow.borrow_time)).border = thin_border
ws4.cell(row=row_idx, column=10, value='无限期' if not borrow.expected_return_time else to_beijing_time(borrow.expected_return_time)).border = thin_border
# ===== Sheet 5: 未盘点明细(疑似漏盘) =====
# 逻辑:获取已盘点的集合,遍历库存表,找出未盘点且有库存的物资