在线模式订单号从数据库获取, 离线模式只处理Mac地址
This commit is contained in:
parent
32cfe3d7df
commit
8b1532d213
33
src/main.rs
33
src/main.rs
@ -67,7 +67,6 @@ struct MysqlConfig {
|
|||||||
password: String,
|
password: String,
|
||||||
database: String,
|
database: String,
|
||||||
work_order: String,
|
work_order: String,
|
||||||
order_number: String
|
|
||||||
}
|
}
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
enum Message {
|
enum Message {
|
||||||
@ -78,7 +77,6 @@ enum Message {
|
|||||||
PasswordChanged(String),
|
PasswordChanged(String),
|
||||||
DatabaseChanged(String),
|
DatabaseChanged(String),
|
||||||
WorkOrderChanged(String),
|
WorkOrderChanged(String),
|
||||||
OrderNumberChanged(String),
|
|
||||||
LabelChanged(String),
|
LabelChanged(String),
|
||||||
TypeSelected(DownloadType),
|
TypeSelected(DownloadType),
|
||||||
OnlineChecked(bool),
|
OnlineChecked(bool),
|
||||||
@ -129,10 +127,6 @@ impl MainWindow {
|
|||||||
self.mysql_config.work_order = work_order;
|
self.mysql_config.work_order = work_order;
|
||||||
Task::none()
|
Task::none()
|
||||||
}
|
}
|
||||||
Message::OrderNumberChanged(order_number) =>{
|
|
||||||
self.mysql_config.order_number = order_number;
|
|
||||||
Task::none()
|
|
||||||
}
|
|
||||||
Message::TypeSelected(download_type) => {
|
Message::TypeSelected(download_type) => {
|
||||||
self.selection = Some(download_type);
|
self.selection = Some(download_type);
|
||||||
Task::none()
|
Task::none()
|
||||||
@ -247,8 +241,6 @@ impl MainWindow {
|
|||||||
text_input("Database", &self.mysql_config.database).on_input(Message::DatabaseChanged);
|
text_input("Database", &self.mysql_config.database).on_input(Message::DatabaseChanged);
|
||||||
let work_order_input = text_input("WorkOrder", &self.mysql_config.work_order)
|
let work_order_input = text_input("WorkOrder", &self.mysql_config.work_order)
|
||||||
.on_input(Message::WorkOrderChanged);
|
.on_input(Message::WorkOrderChanged);
|
||||||
let order_number_input = text_input("OrderNumber", &self.mysql_config.order_number)
|
|
||||||
.on_input(Message::OrderNumberChanged);
|
|
||||||
let label_input = text_input("label", &self.label)
|
let label_input = text_input("label", &self.label)
|
||||||
.on_input(Message::LabelChanged)
|
.on_input(Message::LabelChanged)
|
||||||
.on_submit(Message::Start())
|
.on_submit(Message::Start())
|
||||||
@ -256,8 +248,7 @@ impl MainWindow {
|
|||||||
let content = column![
|
let content = column![
|
||||||
row![ip_input, port_input].spacing(5),
|
row![ip_input, port_input].spacing(5),
|
||||||
row![username_input, password_input].spacing(5),
|
row![username_input, password_input].spacing(5),
|
||||||
row![database_input, order_number_input].spacing(5),
|
row![database_input, work_order_input].spacing(5),
|
||||||
row![work_order_input].spacing(5),
|
|
||||||
row![
|
row![
|
||||||
radio(
|
radio(
|
||||||
"App",
|
"App",
|
||||||
@ -310,12 +301,6 @@ impl MainWindow {
|
|||||||
}
|
}
|
||||||
label = label.replace(":", "");
|
label = label.replace(":", "");
|
||||||
label = label.to_uppercase();
|
label = label.to_uppercase();
|
||||||
label = self.mysql_config.order_number.clone() + &label[label.len() - 6..];
|
|
||||||
if label.contains(":"){
|
|
||||||
add_log("Label不合法".to_string());
|
|
||||||
self.label = "".to_string();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
add_log("Label: ".to_string() + label.as_str());
|
add_log("Label: ".to_string() + label.as_str());
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
sleep(std::time::Duration::from_secs(5));
|
sleep(std::time::Duration::from_secs(5));
|
||||||
@ -339,6 +324,17 @@ impl MainWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_log("连接成功".to_string());
|
add_log("连接成功".to_string());
|
||||||
|
match mes_service.get_order_number(mes_config.work_order.clone()){
|
||||||
|
Ok(batch) => {
|
||||||
|
label = batch + &label[label.len() - 6..];
|
||||||
|
add_log("获取订单号成功".to_string());
|
||||||
|
},
|
||||||
|
Err(e) =>{
|
||||||
|
add_log(e.to_string());
|
||||||
|
sender.send(Message::DownloadEnd((label, false))).unwrap();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
add_log("正在过站检测".to_string());
|
add_log("正在过站检测".to_string());
|
||||||
let check_result = mes_service.check_station(
|
let check_result = mes_service.check_station(
|
||||||
mes_config.work_order.clone(),
|
mes_config.work_order.clone(),
|
||||||
@ -463,10 +459,6 @@ impl MainWindow {
|
|||||||
"work_order".to_string(),
|
"work_order".to_string(),
|
||||||
self.mysql_config.work_order.clone().into(),
|
self.mysql_config.work_order.clone().into(),
|
||||||
);
|
);
|
||||||
config.insert(
|
|
||||||
"order_number".to_string(),
|
|
||||||
self.mysql_config.order_number.clone().into(),
|
|
||||||
);
|
|
||||||
config.insert("is_online".to_string(), self.is_online.clone().into());
|
config.insert("is_online".to_string(), self.is_online.clone().into());
|
||||||
config.insert(
|
config.insert(
|
||||||
"selection".to_string(),
|
"selection".to_string(),
|
||||||
@ -487,7 +479,6 @@ impl MainWindow {
|
|||||||
self.mysql_config.password = config["password"].as_str().unwrap().to_string();
|
self.mysql_config.password = config["password"].as_str().unwrap().to_string();
|
||||||
self.mysql_config.database = config["database"].as_str().unwrap().to_string();
|
self.mysql_config.database = config["database"].as_str().unwrap().to_string();
|
||||||
self.mysql_config.work_order = config["work_order"].as_str().unwrap().to_string();
|
self.mysql_config.work_order = config["work_order"].as_str().unwrap().to_string();
|
||||||
self.mysql_config.order_number = config["order_number"].as_str().unwrap().to_string();
|
|
||||||
self.is_online = config["is_online"].as_bool().unwrap();
|
self.is_online = config["is_online"].as_bool().unwrap();
|
||||||
match config["selection"].as_str().unwrap() {
|
match config["selection"].as_str().unwrap() {
|
||||||
"BootLoader" => {
|
"BootLoader" => {
|
||||||
|
@ -61,6 +61,18 @@ impl MesService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get_order_number(&self, work_order: String)->Result<String, Error>{
|
||||||
|
let mut conn = self.pool.get_conn()?;
|
||||||
|
let order_number: Vec<String> = conn.query(format!(
|
||||||
|
"SELECT `Batch` FROM wisun_ordertables WHERE `OrderId` = '{work_order}'"
|
||||||
|
))?;
|
||||||
|
if order_number.is_empty() {
|
||||||
|
Err(Error::msg("No order number found"))
|
||||||
|
}else{
|
||||||
|
Ok(order_number[0].clone())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn update_station(
|
pub fn update_station(
|
||||||
&self,
|
&self,
|
||||||
work_order: String,
|
work_order: String,
|
||||||
|
Loading…
Reference in New Issue
Block a user