diff --git a/quality_control/wizard/import_complex_model.py b/quality_control/wizard/import_complex_model.py index 1a7e7f59..3925c4f2 100644 --- a/quality_control/wizard/import_complex_model.py +++ b/quality_control/wizard/import_complex_model.py @@ -97,7 +97,7 @@ class ImportComplexModelWizard(models.TransientModel): """导入Excel数据""" if not self.file_data: raise UserError(_('请先上传Excel文件')) - + if self.check_id.measure_line_ids: self.sudo().check_id.measure_line_ids.unlink() @@ -169,7 +169,12 @@ class ImportComplexModelWizard(models.TransientModel): if row[2] == '': continue - if row[1] != quality_check.part_number: + logging.info('================%s, %s==' % (row[1], type(row[1]))) + + compare_value = row[1] + if type(compare_value) == float: + compare_value = str(int(compare_value)) + if compare_value != quality_check.part_number: print(sheet.row_values(row_index)) raise UserError(_('上传内容图号错误,请修改')) for row_index in range(1, sheet.nrows): @@ -205,7 +210,7 @@ class ImportComplexModelWizard(models.TransientModel): self.env['quality.check.measure.line'].create(measure_line_vals) valid_data_imported = True - + quality_check.column_nums = max_columns # 检查是否有有效数据被导入 @@ -435,7 +440,8 @@ class ImportComplexModelWizard(models.TransientModel): # ) def download_excel_template(self): - base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + '/quality_control/static/src/binary/出厂检验报告上传模版.xlsx' + base_url = self.env['ir.config_parameter'].sudo().get_param( + 'web.base.url') + '/quality_control/static/src/binary/出厂检验报告上传模版.xlsx' # 只有当原始 URL 使用 http 时才替换为 https if base_url.startswith("http://"): diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py index e2e0b871..92dc99c7 100644 --- a/sf_machine_connect/controllers/controllers.py +++ b/sf_machine_connect/controllers/controllers.py @@ -1688,12 +1688,14 @@ class Sf_Dashboard_Connect(http.Controller): FROM device_data WHERE device_name = %s AND power_on_time IS NOT NULL - AND time::date = CURRENT_DATE -- ✅ 更高效的写法 + AND time >= CURRENT_DATE + AND time < CURRENT_DATE + INTERVAL '1 day' ORDER BY time ASC LIMIT 1 ); """, (item, item, item)) results = cur.fetchall() + logging.info('====================%s' % results) if len(results) >= 1: total_power_on_time += convert_to_seconds(results[0][0]) else: @@ -1704,10 +1706,16 @@ class Sf_Dashboard_Connect(http.Controller): month_power_on_time += 0 if len(results) >= 3: today_power_on_time += convert_to_seconds(results[2][0]) - today_power_on_dict[item] = today_power_on_time + # today_power_on_dict[item] = today_power_on_time else: - today_power_on_time += 0 - today_power_on_dict[item] = 0 + today_power_on_time += convert_to_seconds(results[0][0]) + # today_power_on_dict[item] = 0 + + if results[0][0] == '0H0M': + logging.info('=woshide=%s' % results[0][0]) + logging.info(type(results[0][0])) + total_power_on_time += convert_to_seconds(results[1][0]) + today_power_on_time += convert_to_seconds(results[1][0]) with conn.cursor() as cur: cur.execute(""" @@ -1722,9 +1730,9 @@ class Sf_Dashboard_Connect(http.Controller): for record in results: if record[0]: - if float(record[0]) >= 28800: + if float(record[0]) >= 86400: continue - total_alarm_time += float(record[0]) + total_alarm_time += abs(float(record[0])) else: total_alarm_time += 0.0 alarm_start = datetime.strptime(record[1], "%Y-%m-%d %H:%M:%S") @@ -1737,7 +1745,7 @@ class Sf_Dashboard_Connect(http.Controller): if today[0]: if float(today[0]) >= 28800: continue - today_alarm_time += float(today[0]) + today_alarm_time += abs(float(today[0])) today_alarm_dict[item] = today_alarm_time else: today_alarm_time += 0.0 @@ -1748,12 +1756,14 @@ class Sf_Dashboard_Connect(http.Controller): if month[0]: if float(month[0]) >= 28800: continue - month_alarm_time += float(month[0]) + month_alarm_time += abs(float(month[0])) else: month_alarm_time += 0.0 conn.close() + logging.info('在线时间总月日=============%s, %s, %s' % (total_power_on_time, month_power_on_time, today_power_on_time)) + logging.info('报警时间总月日=============%s, %s, %s' % (total_alarm_time, month_alarm_time, today_alarm_time)) # 计算时间开动率(累计、月、日) if total_power_on_time: