@@ -130,6 +130,11 @@ class HrAttendanceDetail(models.Model):
|
||||
template_domain.append(('planning_name', '=', planning_name))
|
||||
template_domain.append(('department_id', 'in', all_dept_ids))
|
||||
template = self.env['planning.slot.template'].search(template_domain, limit=1)
|
||||
# 如果模板里面找不到这个人 则还是往下判断(模板为空)
|
||||
if employee.id not in template.role_id.resource_ids.employee_id.ids:
|
||||
template = None
|
||||
|
||||
|
||||
if not template:
|
||||
role_templates = [
|
||||
{'role_name': '厨卫(集团)', 'template': None},
|
||||
@@ -145,12 +150,14 @@ class HrAttendanceDetail(models.Model):
|
||||
employee_list = list(employee_ids)
|
||||
if employee.id in employee_list:
|
||||
template = item['template']
|
||||
break
|
||||
break
|
||||
|
||||
if not template:
|
||||
template = self.env['planning.slot.template'].search(
|
||||
[('role_id.name', '=', '集团行政')],
|
||||
limit=1
|
||||
)
|
||||
|
||||
next_day = current_data + timedelta(days=1)
|
||||
start_datetime = datetime.combine(current_data, datetime.min.time()) - timedelta(hours=8)
|
||||
# 判断是否需要包含次日记录
|
||||
|
||||
@@ -269,11 +269,24 @@ class MeterArchivesLine(models.Model):
|
||||
else:
|
||||
record.current_meter = 0
|
||||
|
||||
@api.onchange('line_loss', 'current_meter', 'unit')
|
||||
@api.onchange('current_meter', 'unit')
|
||||
def onchange_receivables(self):
|
||||
for record in self:
|
||||
if record.line_loss and record.current_meter and record.unit:
|
||||
raw_value = record.current_meter * record.unit * (1 + record.line_loss) * record.gauge_magnification
|
||||
# 因为current_meter 取不到值所有复制一遍
|
||||
if record.current_read >= record.last_read:
|
||||
current_meter = record.current_read - record.last_read
|
||||
else:
|
||||
if record.current_read:
|
||||
if record.maximum_count > 0:
|
||||
max_value = 10 ** record.maximum_count - 1
|
||||
current_meter = max_value - record.last_read + record.current_read
|
||||
else:
|
||||
current_meter = 0
|
||||
else:
|
||||
current_meter = 0
|
||||
|
||||
if current_meter and record.unit:
|
||||
raw_value = current_meter * record.unit * (1 + record.line_loss) * record.gauge_magnification
|
||||
record.receivables = round(raw_value, 1)
|
||||
else:
|
||||
record.receivables = 0.0
|
||||
|
||||
@@ -238,11 +238,24 @@ class MeterWaterLine(models.Model):
|
||||
else:
|
||||
rec.meter_date_month = False
|
||||
|
||||
@api.onchange('line_loss', 'current_meter', 'unit')
|
||||
@api.onchange('current_meter', 'unit')
|
||||
def onchange_receivables(self):
|
||||
for record in self:
|
||||
if record.line_loss and record.current_meter and record.unit:
|
||||
raw_value = record.current_meter * record.unit * (1 + record.line_loss) * record.gauge_magnification
|
||||
# 因为current_meter 取不到值所有复制一遍
|
||||
if record.current_read >= record.last_read:
|
||||
current_meter = record.current_read - record.last_read
|
||||
else:
|
||||
if record.current_read:
|
||||
if record.maximum_count > 0:
|
||||
max_value = 10 ** record.maximum_count - 1
|
||||
current_meter = max_value - record.last_read + record.current_read
|
||||
else:
|
||||
current_meter = 0
|
||||
else:
|
||||
current_meter = 0
|
||||
|
||||
if current_meter and record.unit:
|
||||
raw_value = current_meter * record.unit * (1 + record.line_loss) * record.gauge_magnification
|
||||
record.receivables = round(raw_value, 1)
|
||||
else:
|
||||
record.receivables = 0.0
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<field name="initial_value" column_invisible="1"/>
|
||||
<field name="last_read" readonly="0"/>
|
||||
<field name="current_read"/>
|
||||
<field name="current_meter" readonly="0"/>
|
||||
<field name="current_meter" readonly="0" force_save="1"/>
|
||||
<field name="unit"/>
|
||||
<field name="receivables"/>
|
||||
<field name="number" column_invisible="1"/>
|
||||
|
||||
Reference in New Issue
Block a user