在线模式订单号从数据库获取, 离线模式只处理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,
|
||||
database: String,
|
||||
work_order: String,
|
||||
order_number: String
|
||||
}
|
||||
#[derive(Debug, Clone)]
|
||||
enum Message {
|
||||
@ -78,7 +77,6 @@ enum Message {
|
||||
PasswordChanged(String),
|
||||
DatabaseChanged(String),
|
||||
WorkOrderChanged(String),
|
||||
OrderNumberChanged(String),
|
||||
LabelChanged(String),
|
||||
TypeSelected(DownloadType),
|
||||
OnlineChecked(bool),
|
||||
@ -129,10 +127,6 @@ impl MainWindow {
|
||||
self.mysql_config.work_order = work_order;
|
||||
Task::none()
|
||||
}
|
||||
Message::OrderNumberChanged(order_number) =>{
|
||||
self.mysql_config.order_number = order_number;
|
||||
Task::none()
|
||||
}
|
||||
Message::TypeSelected(download_type) => {
|
||||
self.selection = Some(download_type);
|
||||
Task::none()
|
||||
@ -247,8 +241,6 @@ impl MainWindow {
|
||||
text_input("Database", &self.mysql_config.database).on_input(Message::DatabaseChanged);
|
||||
let work_order_input = text_input("WorkOrder", &self.mysql_config.work_order)
|
||||
.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)
|
||||
.on_input(Message::LabelChanged)
|
||||
.on_submit(Message::Start())
|
||||
@ -256,8 +248,7 @@ impl MainWindow {
|
||||
let content = column![
|
||||
row![ip_input, port_input].spacing(5),
|
||||
row![username_input, password_input].spacing(5),
|
||||
row![database_input, order_number_input].spacing(5),
|
||||
row![work_order_input].spacing(5),
|
||||
row![database_input, work_order_input].spacing(5),
|
||||
row![
|
||||
radio(
|
||||
"App",
|
||||
@ -310,12 +301,6 @@ impl MainWindow {
|
||||
}
|
||||
label = label.replace(":", "");
|
||||
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());
|
||||
std::thread::spawn(move || {
|
||||
sleep(std::time::Duration::from_secs(5));
|
||||
@ -339,6 +324,17 @@ impl MainWindow {
|
||||
}
|
||||
}
|
||||
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());
|
||||
let check_result = mes_service.check_station(
|
||||
mes_config.work_order.clone(),
|
||||
@ -463,10 +459,6 @@ impl MainWindow {
|
||||
"work_order".to_string(),
|
||||
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(
|
||||
"selection".to_string(),
|
||||
@ -487,7 +479,6 @@ impl MainWindow {
|
||||
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.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();
|
||||
match config["selection"].as_str().unwrap() {
|
||||
"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(
|
||||
&self,
|
||||
work_order: String,
|
||||
|
Loading…
Reference in New Issue
Block a user