@@ -27,9 +27,9 @@ class HrAttendance(models.Model):
|
||||
out_card_location = fields.Char(string="外出打卡地点")
|
||||
work_hours = fields.Float(string="工作时长")
|
||||
current_data = fields.Date(string='打卡日期', tracking=True)
|
||||
week = fields.Selection([('one', '星期一'), ('two', '星期二'), ('three', '星期三'),
|
||||
('four', '星期四'), ('five', '星期五'), ('six', '星期六'),
|
||||
('seven', '星期日')], string='星期', compute='_compute_week', store=True)
|
||||
week = fields.Selection([('one', '一'), ('two', '二'), ('three', '三'),
|
||||
('four', '四'), ('five', '五'), ('six', '六'),
|
||||
('seven', '日')], string='星期', compute='_compute_week', store=True)
|
||||
abnormal = fields.Integer(string="异常计算")
|
||||
shift_id = fields.Many2one('planning.slot', string="班次", store=True)
|
||||
shift_name = fields.Char(string="班次", related="shift_id.template_id.planning_name")
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
'views/property_meter_archives_views.xml',
|
||||
'views/property_meter_water_views.xml',
|
||||
'views/property_tenant_information_views.xml',
|
||||
'views/yuthon_property_setting_views.xml',
|
||||
'views/property_intention_information.xml',
|
||||
'views/property_water_list_views.xml',
|
||||
'views/property_tariff_list_views.xml',
|
||||
|
||||
@@ -31,4 +31,5 @@ from . import property_check_project
|
||||
from . import property_check_room
|
||||
from . import property_check_stairs
|
||||
from . import property_meter_reading
|
||||
from . import property_message_fee
|
||||
from . import property_message_fee
|
||||
from . import yuthon_property_setting
|
||||
@@ -9,6 +9,7 @@ class YuthonProperty(models.Model):
|
||||
_rec_name = 'name'
|
||||
|
||||
name = fields.Char(string="资产名称")
|
||||
referred = fields.Char(string="简称")
|
||||
premises = fields.Char(string="楼盘")
|
||||
units = fields.Char(string="单元")
|
||||
house_type_id = fields.Many2one('yuthon.resource.house.type', string="户型")
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
from odoo import models, fields, api
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
|
||||
|
||||
class YuthonPenaltySetting(models.Model):
|
||||
_name = 'yuthon.penalty.setting'
|
||||
_description = '违约金配置'
|
||||
|
||||
name = fields.Char(string="名称")
|
||||
ratio = fields.Float(string="比例")
|
||||
|
||||
|
||||
class YuthonTariffSetting(models.Model):
|
||||
_name = 'yuthon.tariff.setting'
|
||||
_description = '税率配置'
|
||||
|
||||
name = fields.Char(string="名称")
|
||||
ratio = fields.Float(string="比例")
|
||||
@@ -41,4 +41,6 @@ access_property_check_project,property_check_project,model_property_check_projec
|
||||
access_property_check_room,property_check_room,model_property_check_room,base.group_user,1,1,1,1
|
||||
access_property_check_stairs,property_check_stairs,model_property_check_stairs,base.group_user,1,1,1,1
|
||||
access_property_meter_reading,property_meter_reading,model_property_meter_reading,base.group_user,1,1,1,1
|
||||
access_property_message_fee,property_message_fee,model_property_message_fee,base.group_user,1,1,1,1
|
||||
access_property_message_fee,property_message_fee,model_property_message_fee,base.group_user,1,1,1,1
|
||||
access_yuthon_penalty_setting,yuthon_penalty_setting,model_yuthon_penalty_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_tariff_setting,yuthon_tariff_setting,model_yuthon_tariff_setting,base.group_user,1,1,1,1
|
||||
|
@@ -319,6 +319,11 @@
|
||||
action="yuthon_property_source_action" sequence="12"/>
|
||||
<menuitem id="yuthon_property_message_fee_action" parent="resource_mgmt_config_menu" name="物业管理费配置"
|
||||
action="view_property_message_fee_action" sequence="34"/>
|
||||
<menuitem id="yuthon_property_tariff_action_menu" parent="resource_mgmt_config_menu" name="税率配置"
|
||||
action="yuthon_property_tariff_action" sequence="35"/>
|
||||
<menuitem id="yuthon_property_penalty_action_menu" parent="resource_mgmt_config_menu" name="违约金配置"
|
||||
action="yuthon_property_penalty_action" sequence="37"/>
|
||||
|
||||
|
||||
|
||||
<menuitem
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="yuthon_property_penalty_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.property.penalty.tree</field>
|
||||
<field name="model">yuthon.penalty.setting</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="违约金配置" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="ratio"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="yuthon_property_tariff_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.property.tariff.tree</field>
|
||||
<field name="model">yuthon.tariff.setting</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="物业费配置" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="ratio"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="yuthon_property_penalty_action" model="ir.actions.act_window">
|
||||
<field name="name">违约金配置</field>
|
||||
<field name="res_model">yuthon.penalty.setting</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="yuthon_property_tariff_action" model="ir.actions.act_window">
|
||||
<field name="name">税率配置</field>
|
||||
<field name="res_model">yuthon.tariff.setting</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -29,6 +29,7 @@
|
||||
<group string="基本信息">
|
||||
<group>
|
||||
<field name="name" required="1"/>
|
||||
<field name="referred"/>
|
||||
<field name="lessee_id"/>
|
||||
<field name="premises"/>
|
||||
<field name="units"/>
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
import pandas as pd
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from numpy.ma.core import default_filler
|
||||
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
|
||||
@@ -52,27 +55,17 @@ class PropertyLeaseContract(models.Model):
|
||||
cycle_dict =fields.Selection([('monthly','月度'), ('quarter','季度'), ('half','半年'),('year','年度')],string='付款方式')
|
||||
cycle_mode = fields.Selection([('fixed','合同月'), ('floating','自然月')],string='周期方式')
|
||||
expected_reminders = fields.Char(string="逾期提醒")
|
||||
increment_method = fields.Selection([('percentage','百分比'),('increment_price','递增单价'),('increment_amount','递增金额')], string='每月递增')
|
||||
|
||||
first_years_begin = fields.Integer(string="第几年开始")
|
||||
increments_every_few_years = fields.Integer(string="每几年递增")
|
||||
|
||||
increment_percentage = fields.Float(string="递增百分比")
|
||||
increment_price = fields.Float(string="递增单价")
|
||||
increment_amount = fields.Float(string="递增金额")
|
||||
rent_free_period = fields.Integer(string="免租期")
|
||||
rent_free_period_year = fields.Integer(string="免租期")
|
||||
rent_free_period_month = fields.Integer(string="免租期")
|
||||
# rent_free_period_uom = fields.Selection([('year', '年'), ('month', '月')], default="year", string="免租期单位")
|
||||
increment_method = fields.Selection([('percentage','百分比'),('increment_price','递增单价'),('increment_amount','递增金额')], string='每月递增', default='percentage')
|
||||
rent_free_period = fields.Datetime(string="免租期")
|
||||
breach_time = fields.Date(string="违约计算时点")
|
||||
percentage_liquidated_damages = fields.Char(string="违约金比例")
|
||||
percentage_liquidated_damages = fields.Many2one('yuthon.penalty.setting', string="违约金比例")
|
||||
date_of_payment = fields.Date(string="每月支付日期")
|
||||
unit_price = fields.Float(string="单价")
|
||||
deposit = fields.Float(string="押金")
|
||||
performance_bonds = fields.Float(string="履约保证金")
|
||||
first_year_rent = fields.Float(string="首年租金")
|
||||
total_contract_receivables = fields.Float(string="合同应收")
|
||||
tax_rate = fields.Float(string="税率")
|
||||
tax_rate = fields.Many2one('yuthon.tariff.setting', string="税率")
|
||||
not_tax_amount = fields.Float(string="不含税价")
|
||||
tax = fields.Float(string="税金")
|
||||
miscellaneous = fields.Char(string="其他约定")
|
||||
|
||||
Reference in New Issue
Block a user