优化案件模块
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Generated by Django 4.2.25 on 2026-01-20 08:42
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('finance', '0003_invoice_approvers_order'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='payment',
|
||||
name='payee_account',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='payment',
|
||||
name='payee_bank',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='payment',
|
||||
name='payee_name',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='payment',
|
||||
name='payment_description',
|
||||
field=models.TextField(blank=True, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='payment',
|
||||
name='payment_reason',
|
||||
field=models.TextField(blank=True, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='payment',
|
||||
name='payment_type',
|
||||
field=models.CharField(blank=True, default='律所支付', max_length=50, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='payment',
|
||||
name='BankName',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='payment',
|
||||
name='bankcard',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='payment',
|
||||
name='payee',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='payment',
|
||||
name='reason',
|
||||
field=models.TextField(blank=True, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='payment',
|
||||
name='times',
|
||||
field=models.CharField(blank=True, max_length=100, null=True),
|
||||
),
|
||||
]
|
||||
@@ -2181,12 +2181,16 @@ class PaymentDisplay(APIView):
|
||||
Q_obj &= Q(submit_tiem__gte=times) & Q(submit_tiem__lte=end_time)
|
||||
if payee_name:
|
||||
# 兼容旧字段
|
||||
Q_obj &= (Q(payee_name__icontains=payee_name) | Q(payee__icontains=payee_name))
|
||||
Q_obj &= Q(payee__icontains=payee_name)
|
||||
if applicant:
|
||||
Q_obj &= Q(applicant__icontains=applicant)
|
||||
|
||||
pay = Payment.objects.filter(Q_obj).order_by('-id')
|
||||
total = len(pay)
|
||||
# 只查询存在的字段,避免访问不存在的字段
|
||||
# 使用only()只查询确定存在的字段
|
||||
pay = Payment.objects.filter(Q_obj).only(
|
||||
'id', 'applicant', 'amount', 'state', 'submit_tiem', 'payee'
|
||||
).order_by('-id')
|
||||
total = pay.count()
|
||||
|
||||
paginator = Paginator(pay, per_page)
|
||||
try:
|
||||
@@ -2198,12 +2202,17 @@ class PaymentDisplay(APIView):
|
||||
|
||||
data = []
|
||||
for info in user_agents_page.object_list:
|
||||
# 安全地获取字段值,兼容新旧字段
|
||||
# 使用getattr()安全访问可能不存在的字段
|
||||
payee_name_value = getattr(info, 'payee_name', None) or getattr(info, 'payee', None) or ''
|
||||
payment_description_value = getattr(info, 'payment_description', None) or ''
|
||||
|
||||
itme = {
|
||||
'id': info.id,
|
||||
"applicant": info.applicant, # 申请人
|
||||
"payee_name": info.payee_name or info.payee, # 收款单位(收款方名称)
|
||||
"payee_name": payee_name_value, # 收款单位(收款方名称)
|
||||
"amount": info.amount, # 付款金额
|
||||
"payment_description": info.payment_description, # 支付说明
|
||||
"payment_description": payment_description_value, # 支付说明
|
||||
"state": info.state, # 状态
|
||||
"submit_tiem": info.submit_tiem, # 提交时间
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user