change update to delete+insert when update usn record
This commit is contained in:
parent
60e184d8da
commit
cd9386b1b3
BIN
APIServer.exe
BIN
APIServer.exe
Binary file not shown.
52
ews/ews.go
52
ews/ews.go
@ -130,8 +130,8 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
|
|
||||||
//如果此USN的记录存在与uutinfo表中, 且此USN的MAC/Item/Status/Message已变化, 则:
|
//如果此USN的记录存在与uutinfo表中, 且此USN的MAC/Item/Status/Message已变化, 则:
|
||||||
//1. 备份此USN对应记录行到uutinfobkup表
|
//1. 备份此USN对应记录行到uutinfobkup表
|
||||||
//2. 更新uutinfo表中对应USN记录的MAC/Item/Status/Message/PartNO/MO/SKU/Line/Stage
|
//2. 删除uutinfo表中对应USN记录的MAC/Item/Status/Message/PartNO/MO/SKU/Line/Stage
|
||||||
//3. 更新uutinfo表中此USN记录行的last_ack和last_change栏位为当前时间
|
//3. 新增此USN的最新记录到uutinfo表
|
||||||
extFlag := false
|
extFlag := false
|
||||||
chgFlag := false
|
chgFlag := false
|
||||||
|
|
||||||
@ -198,7 +198,31 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
stmt, err = tx.Prepare("UPDATE uutinfo SET mac=?, ipaddr=?, relay=?, item=?, status=?, message=?, partno=?, mo=?, sku=?, line=?, stage=?, last_ack=NOW(), last_change=NOW() WHERE usn=?;")
|
// stmt, err = tx.Prepare("UPDATE uutinfo SET mac=?, ipaddr=?, relay=?, item=?, status=?, message=?, partno=?, mo=?, sku=?, line=?, stage=?, last_ack=NOW(), last_change=NOW() WHERE usn=?;")
|
||||||
|
// if err != nil {
|
||||||
|
// tx.Rollback()
|
||||||
|
// logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
||||||
|
// rst["RESULT"] = "NG"
|
||||||
|
// rst["ErrMsg"] = err.Error()
|
||||||
|
// return rst
|
||||||
|
// }
|
||||||
|
// defer stmt.Close()
|
||||||
|
// _, err = stmt.Exec(
|
||||||
|
// params["MAC"],
|
||||||
|
// addr,
|
||||||
|
// host,
|
||||||
|
// params["ITEM"],
|
||||||
|
// params["STATUS"],
|
||||||
|
// params["MESSAGE"],
|
||||||
|
// params["PARTNO"],
|
||||||
|
// params["MO"],
|
||||||
|
// params["SKU"],
|
||||||
|
// params["LINE"],
|
||||||
|
// params["STAGE"],
|
||||||
|
// params["USN"],
|
||||||
|
// )
|
||||||
|
|
||||||
|
stmt, err = tx.Prepare("DELETE FROM uutinfo WHERE usn=?;")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
||||||
@ -207,7 +231,25 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
defer stmt.Close()
|
defer stmt.Close()
|
||||||
|
_, err = stmt.Exec(params["USN"])
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
||||||
|
rst["RESULT"] = "NG"
|
||||||
|
rst["ErrMsg"] = err.Error()
|
||||||
|
return rst
|
||||||
|
}
|
||||||
|
|
||||||
|
stmt, err = tx.Prepare("INSERT INTO uutinfo (usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);")
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
||||||
|
rst["RESULT"] = "NG"
|
||||||
|
rst["ErrMsg"] = err.Error()
|
||||||
|
return rst
|
||||||
|
}
|
||||||
_, err = stmt.Exec(
|
_, err = stmt.Exec(
|
||||||
|
params["USN"],
|
||||||
params["MAC"],
|
params["MAC"],
|
||||||
addr,
|
addr,
|
||||||
host,
|
host,
|
||||||
@ -219,7 +261,9 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
params["SKU"],
|
params["SKU"],
|
||||||
params["LINE"],
|
params["LINE"],
|
||||||
params["STAGE"],
|
params["STAGE"],
|
||||||
params["USN"],
|
ui.FirstAck,
|
||||||
|
"NOW()",
|
||||||
|
"NOW()",
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user