feat:新增自定义轴号操作
This commit is contained in:
parent
dc92fb6eab
commit
f4b11085aa
BIN
db/jtDB.db
BIN
db/jtDB.db
Binary file not shown.
@ -15,7 +15,7 @@ client.write_registers(address=11, values=[9422])
|
|||||||
# client.write_registers(address=2, values=[0])
|
# client.write_registers(address=2, values=[0])
|
||||||
# client.write_registers(address=13, values=[1])
|
# client.write_registers(address=13, values=[1])
|
||||||
# time.sleep(2)
|
# time.sleep(2)
|
||||||
client.write_registers(address=13, values=[0])
|
client.write_registers(address=13, values=[1])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -219,6 +219,46 @@ class MainWindow(MainWindowUI):
|
|||||||
inspection_dao = InspectionDAO()
|
inspection_dao = InspectionDAO()
|
||||||
axios_num = inspection_dao.get_axios_num_by_order_id(order_id)
|
axios_num = inspection_dao.get_axios_num_by_order_id(order_id)
|
||||||
return axios_num
|
return axios_num
|
||||||
|
|
||||||
|
def get_current_row_axios_num(self, data_row):
|
||||||
|
"""获取当前行的轴号,优先使用用户输入的轴号,否则使用数据库中的轴号+1
|
||||||
|
|
||||||
|
Args:
|
||||||
|
data_row: 数据行索引
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
int: 轴号
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
# 获取启用的检验配置
|
||||||
|
enabled_configs = self.inspection_manager.get_enabled_configs()
|
||||||
|
|
||||||
|
# 计算贴标列索引 - 贴标位置在检验列之后的第一列
|
||||||
|
label_col = 2 + len(enabled_configs)
|
||||||
|
|
||||||
|
# 获取当前行的贴标值(轴号)
|
||||||
|
label_item = self.process_table.item(data_row, label_col)
|
||||||
|
if label_item:
|
||||||
|
current_axios = label_item.text().strip()
|
||||||
|
if current_axios and current_axios.isdigit():
|
||||||
|
# 如果当前行有有效的轴号,直接使用
|
||||||
|
axios_num = int(current_axios)
|
||||||
|
logging.info(f"使用当前行轴号: {axios_num}")
|
||||||
|
return axios_num
|
||||||
|
|
||||||
|
# 如果当前行没有轴号,使用数据库中的轴号+1
|
||||||
|
tray_id = self.tray_edit.currentText()
|
||||||
|
db_axios_num = self.get_axios_num(tray_id)
|
||||||
|
axios_num = db_axios_num + 1
|
||||||
|
logging.info(f"当前行无轴号,使用数据库轴号+1: {axios_num}")
|
||||||
|
return axios_num
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(f"获取当前行轴号失败: {str(e)}")
|
||||||
|
# 出错时使用数据库轴号+1作为备选
|
||||||
|
tray_id = self.tray_edit.currentText()
|
||||||
|
db_axios_num = self.get_axios_num(tray_id)
|
||||||
|
return db_axios_num + 1
|
||||||
def load_config(self):
|
def load_config(self):
|
||||||
"""加载配置文件"""
|
"""加载配置文件"""
|
||||||
config_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "config", "app_config.json")
|
config_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "config", "app_config.json")
|
||||||
@ -2196,7 +2236,8 @@ class MainWindow(MainWindowUI):
|
|||||||
net_weight_item = QTableWidgetItem(str(net_weight_kg))
|
net_weight_item = QTableWidgetItem(str(net_weight_kg))
|
||||||
net_weight_item.setTextAlignment(Qt.AlignCenter)
|
net_weight_item.setTextAlignment(Qt.AlignCenter)
|
||||||
self.process_table.setItem(data_row, net_weight_col, net_weight_item)
|
self.process_table.setItem(data_row, net_weight_col, net_weight_item)
|
||||||
axios_num = self.get_axios_num_by_order_id(self._current_order_code) + 1
|
# 获取轴号,优先使用当前行的轴号
|
||||||
|
axios_num = self.get_current_row_axios_num(data_row)
|
||||||
# 如果开启 api 模式,则调用接口添加到包装记录
|
# 如果开启 api 模式,则调用接口添加到包装记录
|
||||||
if AppMode.is_api():
|
if AppMode.is_api():
|
||||||
from dao.inspection_dao import InspectionDAO
|
from dao.inspection_dao import InspectionDAO
|
||||||
@ -2428,8 +2469,8 @@ class MainWindow(MainWindowUI):
|
|||||||
# 计算贴标列索引 - 贴标位置在检验列之后的第一列
|
# 计算贴标列索引 - 贴标位置在检验列之后的第一列
|
||||||
label_col = 2 + len(enabled_configs)
|
label_col = 2 + len(enabled_configs)
|
||||||
|
|
||||||
# 生成贴标号(托盘号+轴号)
|
# 生成贴标号(托盘号+轴号),优先使用当前行的轴号
|
||||||
axios_num = self.get_axios_num(tray_id)+1
|
axios_num = self.get_current_row_axios_num(data_row)
|
||||||
|
|
||||||
# 断开单元格变更信号,避免程序自动写入时触发
|
# 断开单元格变更信号,避免程序自动写入时触发
|
||||||
try:
|
try:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user