use last record values when comming request contain null param values
This commit is contained in:
parent
53640196fe
commit
074cfe8b3f
53
ews/ews.go
53
ews/ews.go
@ -210,6 +210,32 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
||||
return rst
|
||||
}
|
||||
|
||||
//如果部分客户端参数为空, 则保留uutinfo表中已存在记录的值
|
||||
mac := params["MAC"]
|
||||
if mac == "" {
|
||||
mac = ui.MAC
|
||||
}
|
||||
pn := params["PARTNO"]
|
||||
if pn == "" {
|
||||
pn = ui.PartNO
|
||||
}
|
||||
mo := params["MO"]
|
||||
if mo == "" {
|
||||
mo = ui.MfgMO
|
||||
}
|
||||
sku := params["SKU"]
|
||||
if sku == "" {
|
||||
sku = ui.MfgSKU
|
||||
}
|
||||
line := params["LINE"]
|
||||
if line == "" {
|
||||
line = ui.MfgLine
|
||||
}
|
||||
stage := params["STAGE"]
|
||||
if stage == "" {
|
||||
stage = ui.MfgStage
|
||||
}
|
||||
|
||||
//如果此USN的记录存在于uutinfo表中, 且此USN的Relay/MAC/Item/Status/Message已变化, 则:
|
||||
//1. 备份此USN对应记录行到uutinfobkup表
|
||||
//2. 删除uutinfo表中对应USN的记录行
|
||||
@ -262,8 +288,8 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
||||
_, err = stmt.Exec(
|
||||
ui.USN,
|
||||
ui.MAC,
|
||||
addr,
|
||||
host,
|
||||
ui.IPAddr,
|
||||
ui.Relay,
|
||||
ui.Item,
|
||||
ui.Status,
|
||||
ui.Message,
|
||||
@ -302,11 +328,6 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
||||
return rst
|
||||
}
|
||||
|
||||
mac := params["MAC"]
|
||||
if mac == "" {
|
||||
mac = ui.MAC
|
||||
}
|
||||
|
||||
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 (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),NOW());")
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
@ -323,11 +344,11 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
||||
params["ITEM"],
|
||||
params["STATUS"],
|
||||
params["MESSAGE"],
|
||||
params["PARTNO"],
|
||||
params["MO"],
|
||||
params["SKU"],
|
||||
params["LINE"],
|
||||
params["STAGE"],
|
||||
pn,
|
||||
mo,
|
||||
sku,
|
||||
line,
|
||||
stage,
|
||||
ui.FirstAck,
|
||||
)
|
||||
if err != nil {
|
||||
@ -400,15 +421,15 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
||||
}
|
||||
_, err = stmt.Exec(
|
||||
ui.USN,
|
||||
ui.MAC,
|
||||
mac,
|
||||
addr,
|
||||
host,
|
||||
ui.Item,
|
||||
ui.Status,
|
||||
ui.Message,
|
||||
ui.PartNO,
|
||||
ui.MfgMO,
|
||||
ui.MfgSKU,
|
||||
pn,
|
||||
mo,
|
||||
sku,
|
||||
params["LINE"],
|
||||
params["STAGE"],
|
||||
ui.FirstAck,
|
||||
|
Loading…
x
Reference in New Issue
Block a user