46 lines
2.2 KiB
Python
46 lines
2.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import models, fields, api, _, SUPERUSER_ID
|
|
from odoo.exceptions import ValidationError, UserError
|
|
from pypinyin import pinyin, Style
|
|
import xlrd
|
|
import base64
|
|
import datetime
|
|
from datetime import datetime
|
|
|
|
|
|
class TaskPushWizard(models.TransientModel):
|
|
_name = 'task.push.wizard'
|
|
_description = '电水表任务推送弹窗'
|
|
|
|
push_date = fields.Date(string='日期', default=fields.date.today())
|
|
meter_ids = fields.Many2many('meter.archives.line', string='电表任务')
|
|
water_ids = fields.Many2many('meter.water.line', string='水表任务')
|
|
|
|
def confirm(self):
|
|
if self.meter_ids:
|
|
management_type_id = self.env['yuthon.management.type'].search([('name', '=', '电费')], limit=1)
|
|
for meter in self.meter_ids:
|
|
if meter.unit and meter.contract_id:
|
|
self.env['property.accounts.receivable'].create({
|
|
'contract_id': meter.contract_id.id,
|
|
'lessee_id': meter.lessee_id.id if meter.lessee_id else None,
|
|
'original_amount': meter.archives_id.fixed_receivables if meter.archives_id.fixed_receivables else meter.receivables,
|
|
'due_date': self.push_date,
|
|
'create_time': datetime.now(),
|
|
'management_type_id': management_type_id.id,
|
|
})
|
|
meter.is_push = True
|
|
if self.water_ids:
|
|
management_type_id = self.env['yuthon.management.type'].search([('name', '=', '水费')], limit=1)
|
|
for water in self.water_ids:
|
|
if water.unit and water.contract_id:
|
|
self.env['property.accounts.receivable'].create({
|
|
'contract_id': water.contract_id.id,
|
|
'lessee_id': water.lessee_id.id if water.lessee_id else None,
|
|
'original_amount': water.water_id.fixed_receivables if water.water_id.fixed_receivables else water.receivables,
|
|
'due_date': self.push_date,
|
|
'create_time': datetime.now(),
|
|
'management_type_id': management_type_id.id,
|
|
})
|
|
water.is_push = True
|