Merge branch 'master' of gitee.com:hemuglobal/oms

This commit is contained in:
Czw 2021-11-16 17:51:37 +08:00
commit b9f886c19f
4 changed files with 75 additions and 11 deletions

View file

@ -150,11 +150,11 @@ class AccountTransferRecord(Model):
TRANSFER_IN = ('transfer_in', '转入方')
TRANSFER_OUT = ('transfer_out', '转出方')
transfer_out_account = ForeignKey('data.Account', on_delete=PROTECT,
related_name='out_account_transfer_records', verbose_name='转出结算账户')
out_account = ForeignKey('data.Account', on_delete=PROTECT,
related_name='out_account_transfer_records', verbose_name='转出账户')
transfer_out_time = DateTimeField(verbose_name='转出时间')
transfer_in_account = ForeignKey('data.Account', on_delete=PROTECT,
related_name='in_account_transfer_records', verbose_name='转入结算账户')
in_account = ForeignKey('data.Account', on_delete=PROTECT,
related_name='in_account_transfer_records', verbose_name='转入账户')
transfer_in_time = DateTimeField(verbose_name='转入时间')
transfer_amount = AmountField(verbose_name='转账金额')
service_charge_amount = AmountField(verbose_name='手续费金额')

View file

@ -185,7 +185,7 @@ class ChargeOrderSerializer(BaseSerializer):
'client_name', 'handler_name', 'handler_name', 'charge_item_name',
'account_number', 'account_name', 'is_void', 'creator', 'creator_name',
'create_time']
fields = ['number', 'client', 'supplier', 'handler', 'handle_time', 'charge_item',
fields = ['number', 'type', 'client', 'supplier', 'handler', 'handle_time', 'charge_item',
'account', 'charge_amount', 'remark', *read_only_fields]
def validate_number(self, value):
@ -225,13 +225,68 @@ class ChargeOrderSerializer(BaseSerializer):
client = attrs.get('client')
if (supplier and client) or not (supplier or client):
raise ValidationError('供应商或客户选择重复')
if attrs['type'] != attrs['charge_item'].type:
raise ValidationError('收支类型与收支项目不匹配')
return super().validate(attrs)
def create(self, validated_data):
pass
validated_data['charge_item_name'] = validated_data['charge_item'].name
validated_data['creator'] = self.user
return super().create(validated_data)
class AccountTransferRecordSerializer(BaseSerializer):
"""收支单据"""
out_account_number = CharField(source='out_account.number', read_only=True, label='转出账户编号')
out_account_name = CharField(source='out_account.name', read_only=True, label='转出账户名称')
in_account_number = CharField(source='out_account.number', read_only=True, label='转入账户编号')
in_account_name = CharField(source='out_account.name', read_only=True, label='转入账户名称')
service_charge_payer_display = CharField(
source='get_service_charge_payer_display', read_only=True, label='手续费支付方')
handler_name = CharField(source='handler.name', read_only=True, label='经手人名称')
creator_name = CharField(source='creator.name', read_only=True, label='创建人名称')
class Meta:
model = AccountTransferRecord
read_only_fields = ['id', 'out_account_number', 'out_account_name', 'in_account_number',
'in_account_name', 'is_void', 'creator', 'creator_name', 'create_time']
fields = ['out_account', 'transfer_out_time', 'in_account', 'transfer_in_time',
'transfer_amount', 'service_charge_amount', 'service_charge_payer', 'handler',
'handle_time', 'remark', *read_only_fields]
def validate_out_account(self, instance):
instance = self.validate_foreign_key(Account, instance, message='转出账户不存在')
if not instance.is_active:
raise ValidationError(f'转出账户[{instance.name}]未激活')
return instance
def validate_in_account(self, instance):
instance = self.validate_foreign_key(Account, instance, message='转入账户不存在')
if not instance.is_active:
raise ValidationError(f'转入账户[{instance.name}]未激活')
return instance
def validate_handler(self, instance):
instance = self.validate_foreign_key(User, instance, message='经手人不存在')
if not instance.is_active:
raise ValidationError(f'经手人[{instance.name}]未激活')
return instance
def validate(self, attrs):
if attrs['out_account'] == attrs['in_account']:
raise ValidationError('转出转入账户相同')
return super().validate(attrs)
def create(self, validated_data):
validated_data['creator'] = self.user
return super().create(validated_data)
__all__ = [
'PaymentOrderSerializer', 'CollectionOrderSerializer',
'ChargeOrderSerializer', 'AccountTransferRecordSerializer',
]

View file

@ -26,4 +26,5 @@ python manage.py createsuperuser
python manage.py runscript init_permission
python manage.py runscript create_user
python manage.py runscript create_test_data
python manage.py runserver
```

View file

@ -3,6 +3,11 @@
```
- 首页
- 报表统计
- 销售报表
- 采购报表
- 库存报表
- 批次报表
- 收支统计
- 基础数据
- 客户分类
- 客户
@ -33,10 +38,13 @@
- 调拨
- 库存流水
- 财务管理
- 采购付款
- 销售收款
- 应付欠款
- 付款
- 应收欠款
- 收款
- 账户转账
- 日常收支
- 财务流水
- 资金流水
- 系统管理
- 角色权限
- 员工账号