Merge branch 'master' of https://wh1t3.top:40443/r0n1n7an/apiserver
This commit is contained in:
commit
a380c5c41e
137
ews/ews.go
137
ews/ews.go
@ -22,8 +22,8 @@ type UutInfo struct {
|
|||||||
Message string
|
Message string
|
||||||
PartNO string
|
PartNO string
|
||||||
Model string
|
Model string
|
||||||
MfgMO string
|
|
||||||
MfgSKU string
|
MfgSKU string
|
||||||
|
MfgMO string
|
||||||
MfgLine string
|
MfgLine string
|
||||||
MfgStage string
|
MfgStage string
|
||||||
FirstAck string
|
FirstAck string
|
||||||
@ -34,8 +34,8 @@ type UutInfo struct {
|
|||||||
type ReportInfo struct {
|
type ReportInfo struct {
|
||||||
USN string
|
USN string
|
||||||
PartNO string
|
PartNO string
|
||||||
|
MfgSKU string
|
||||||
MfgMO string
|
MfgMO string
|
||||||
SKU string
|
|
||||||
Line string
|
Line string
|
||||||
Location string
|
Location string
|
||||||
Item string
|
Item string
|
||||||
@ -70,7 +70,7 @@ func (e *EWS) RecordIssue(cfg cnf.Cfg, logger *log.Logger, host string, addr str
|
|||||||
|
|
||||||
stmt, err := dbo.Prepare(
|
stmt, err := dbo.Prepare(
|
||||||
fmt.Sprintf(`INSERT INTO %s
|
fmt.Sprintf(`INSERT INTO %s
|
||||||
(usn,mac,ipaddr,relay,partno,mo,sku,line,stage,item,status,message,first_ack,last_change,locline,loccol,locrow,locnum,loctime)
|
(usn,mac,ipaddr,relay,partno,sku,mo,line,stage,item,status,message,first_ack,last_change,locline,loccol,locrow,locnum,loctime)
|
||||||
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);`,
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);`,
|
||||||
cfg.MySQL.IssuesTable),
|
cfg.MySQL.IssuesTable),
|
||||||
)
|
)
|
||||||
@ -88,8 +88,8 @@ func (e *EWS) RecordIssue(cfg cnf.Cfg, logger *log.Logger, host string, addr str
|
|||||||
addr,
|
addr,
|
||||||
host,
|
host,
|
||||||
params["PARTNO"],
|
params["PARTNO"],
|
||||||
params["MO"],
|
|
||||||
params["SKU"],
|
params["SKU"],
|
||||||
|
params["MO"],
|
||||||
params["LINE"],
|
params["LINE"],
|
||||||
params["STAGE"],
|
params["STAGE"],
|
||||||
params["ITEM"],
|
params["ITEM"],
|
||||||
@ -173,7 +173,7 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
//如果在uutinfo表中未查找到此USN的记录, 则新增一条此USN的记录
|
//如果在uutinfo表中未查找到此USN的记录, 则新增一条此USN的记录
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
dmlInsert := fmt.Sprintf(`INSERT INTO uutinfo
|
dmlInsert := fmt.Sprintf(`INSERT INTO uutinfo
|
||||||
(usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change)
|
(usn,mac,ipaddr,relay,item,status,message,partno,sku,mo,line,stage,first_ack,last_ack,last_change)
|
||||||
VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s);`,
|
VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',%s,%s,%s);`,
|
||||||
params["USN"],
|
params["USN"],
|
||||||
params["MAC"],
|
params["MAC"],
|
||||||
@ -183,8 +183,8 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
params["STATUS"],
|
params["STATUS"],
|
||||||
params["MESSAGE"],
|
params["MESSAGE"],
|
||||||
params["PARTNO"],
|
params["PARTNO"],
|
||||||
params["MO"],
|
|
||||||
params["SKU"],
|
params["SKU"],
|
||||||
|
params["MO"],
|
||||||
params["LINE"],
|
params["LINE"],
|
||||||
params["STAGE"],
|
params["STAGE"],
|
||||||
"NOW()",
|
"NOW()",
|
||||||
@ -210,6 +210,32 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//如果测试项不为空(第一个心跳包), 当部分客户端参数为空, 则保留uutinfo表中已存在记录的值
|
||||||
|
mac := params["MAC"]
|
||||||
|
pn := params["PARTNO"]
|
||||||
|
sku := params["SKU"]
|
||||||
|
mo := params["MO"]
|
||||||
|
line := params["LINE"]
|
||||||
|
stage := params["STAGE"]
|
||||||
|
if mac == "" {
|
||||||
|
mac = ui.MAC
|
||||||
|
}
|
||||||
|
if pn == "" {
|
||||||
|
pn = ui.PartNO
|
||||||
|
}
|
||||||
|
if sku == "" {
|
||||||
|
sku = ui.MfgSKU
|
||||||
|
}
|
||||||
|
if mo == "" {
|
||||||
|
mo = ui.MfgMO
|
||||||
|
}
|
||||||
|
if line == "" {
|
||||||
|
line = ui.MfgLine
|
||||||
|
}
|
||||||
|
if stage == "" {
|
||||||
|
stage = ui.MfgStage
|
||||||
|
}
|
||||||
|
|
||||||
//如果此USN的记录存在于uutinfo表中, 且此USN的Relay/MAC/Item/Status/Message已变化, 则:
|
//如果此USN的记录存在于uutinfo表中, 且此USN的Relay/MAC/Item/Status/Message已变化, 则:
|
||||||
//1. 备份此USN对应记录行到uutinfobkup表
|
//1. 备份此USN对应记录行到uutinfobkup表
|
||||||
//2. 删除uutinfo表中对应USN的记录行
|
//2. 删除uutinfo表中对应USN的记录行
|
||||||
@ -250,7 +276,7 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
stmt, err := tx.Prepare("INSERT INTO uutinfobkup (usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);")
|
stmt, err := tx.Prepare("INSERT INTO uutinfobkup (usn,mac,ipaddr,relay,item,status,message,partno,sku,mo,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);")
|
||||||
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())
|
||||||
@ -262,14 +288,14 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
_, err = stmt.Exec(
|
_, err = stmt.Exec(
|
||||||
ui.USN,
|
ui.USN,
|
||||||
ui.MAC,
|
ui.MAC,
|
||||||
addr,
|
ui.IPAddr,
|
||||||
host,
|
ui.Relay,
|
||||||
ui.Item,
|
ui.Item,
|
||||||
ui.Status,
|
ui.Status,
|
||||||
ui.Message,
|
ui.Message,
|
||||||
ui.PartNO,
|
ui.PartNO,
|
||||||
ui.MfgMO,
|
|
||||||
ui.MfgSKU,
|
ui.MfgSKU,
|
||||||
|
ui.MfgMO,
|
||||||
ui.MfgLine,
|
ui.MfgLine,
|
||||||
ui.MfgStage,
|
ui.MfgStage,
|
||||||
ui.FirstAck,
|
ui.FirstAck,
|
||||||
@ -302,12 +328,7 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
mac := params["MAC"]
|
stmt, err = tx.Prepare("INSERT INTO uutinfo (usn,mac,ipaddr,relay,item,status,message,partno,sku,mo,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),NOW());")
|
||||||
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 {
|
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())
|
||||||
@ -323,11 +344,11 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
params["ITEM"],
|
params["ITEM"],
|
||||||
params["STATUS"],
|
params["STATUS"],
|
||||||
params["MESSAGE"],
|
params["MESSAGE"],
|
||||||
params["PARTNO"],
|
pn,
|
||||||
params["MO"],
|
sku,
|
||||||
params["SKU"],
|
mo,
|
||||||
params["LINE"],
|
line,
|
||||||
params["STAGE"],
|
stage,
|
||||||
ui.FirstAck,
|
ui.FirstAck,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -390,7 +411,7 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
stmt, err = txu.Prepare("INSERT INTO uutinfo (usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),?);")
|
stmt, err = txu.Prepare("INSERT INTO uutinfo (usn,mac,ipaddr,relay,item,status,message,partno,sku,mo,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),?);")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
txu.Rollback()
|
txu.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())
|
||||||
@ -400,17 +421,17 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
}
|
}
|
||||||
_, err = stmt.Exec(
|
_, err = stmt.Exec(
|
||||||
ui.USN,
|
ui.USN,
|
||||||
ui.MAC,
|
mac,
|
||||||
addr,
|
addr,
|
||||||
host,
|
host,
|
||||||
ui.Item,
|
ui.Item,
|
||||||
ui.Status,
|
ui.Status,
|
||||||
ui.Message,
|
ui.Message,
|
||||||
ui.PartNO,
|
pn,
|
||||||
ui.MfgMO,
|
sku,
|
||||||
ui.MfgSKU,
|
mo,
|
||||||
params["LINE"],
|
line,
|
||||||
params["STAGE"],
|
stage,
|
||||||
ui.FirstAck,
|
ui.FirstAck,
|
||||||
ui.LastChg,
|
ui.LastChg,
|
||||||
)
|
)
|
||||||
@ -489,8 +510,8 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
t1.message,
|
t1.message,
|
||||||
t1.partno,
|
t1.partno,
|
||||||
IFNULL(t2.model, '') AS model,
|
IFNULL(t2.model, '') AS model,
|
||||||
t1.mo,
|
|
||||||
t1.sku,
|
t1.sku,
|
||||||
|
t1.mo,
|
||||||
t1.line,
|
t1.line,
|
||||||
t1.stage,
|
t1.stage,
|
||||||
t1.first_ack,
|
t1.first_ack,
|
||||||
@ -519,8 +540,8 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
&ul.Message,
|
&ul.Message,
|
||||||
&ul.PartNO,
|
&ul.PartNO,
|
||||||
&ul.Model,
|
&ul.Model,
|
||||||
&ul.MfgMO,
|
|
||||||
&ul.MfgSKU,
|
&ul.MfgSKU,
|
||||||
|
&ul.MfgMO,
|
||||||
&ul.MfgLine,
|
&ul.MfgLine,
|
||||||
&ul.MfgStage,
|
&ul.MfgStage,
|
||||||
&ul.FirstAck,
|
&ul.FirstAck,
|
||||||
@ -541,7 +562,11 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
<td style="color: red; font-weight: bold;">%s</td>
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
<td style="color: red; font-weight: bold;">%s</td>
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
<td style="color: red; font-weight: bold;">%s</td>
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
</tr>%s`, ul.USN, ul.MAC, ul.IPAddr, ul.Relay, ul.Item, ul.Status, ul.Message, ul.LastChg, "\r\n")
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
</tr>%s`, ul.USN, ul.MfgSKU, ul.MfgMO, ul.MfgLine, ul.MfgStage, ul.MAC, ul.IPAddr, ul.Relay, ul.Item, ul.Status, ul.Message, ul.LastChg, "\r\n")
|
||||||
} else {
|
} else {
|
||||||
last = last + fmt.Sprintf(`<tr>
|
last = last + fmt.Sprintf(`<tr>
|
||||||
<td style="color: blue;">%s</td>
|
<td style="color: blue;">%s</td>
|
||||||
@ -552,7 +577,11 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
<td style="color: blue;">%s</td>
|
<td style="color: blue;">%s</td>
|
||||||
<td style="color: blue;">%s</td>
|
<td style="color: blue;">%s</td>
|
||||||
<td style="color: blue;">%s</td>
|
<td style="color: blue;">%s</td>
|
||||||
</tr>%s`, ul.USN, ul.MAC, ul.IPAddr, ul.Relay, ul.Item, ul.Status, ul.Message, ul.LastChg, "\r\n")
|
<td style="color: blue;">%s</td>
|
||||||
|
<td style="color: blue;">%s</td>
|
||||||
|
<td style="color: blue;">%s</td>
|
||||||
|
<td style="color: blue;">%s</td>
|
||||||
|
</tr>%s`, ul.USN, ul.MfgSKU, ul.MfgMO, ul.MfgLine, ul.MfgStage, ul.MAC, ul.IPAddr, ul.Relay, ul.Item, ul.Status, ul.Message, ul.LastChg, "\r\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
if ul.Model != "" {
|
if ul.Model != "" {
|
||||||
@ -561,12 +590,12 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
if ul.PartNO != "" {
|
if ul.PartNO != "" {
|
||||||
partNO = ul.PartNO
|
partNO = ul.PartNO
|
||||||
}
|
}
|
||||||
if ul.MfgMO != "" {
|
|
||||||
mfgMO = ul.MfgMO
|
|
||||||
}
|
|
||||||
if ul.MfgSKU != "" {
|
if ul.MfgSKU != "" {
|
||||||
mfgSKU = ul.MfgSKU
|
mfgSKU = ul.MfgSKU
|
||||||
}
|
}
|
||||||
|
if ul.MfgMO != "" {
|
||||||
|
mfgMO = ul.MfgMO
|
||||||
|
}
|
||||||
if ul.FirstAck != "" {
|
if ul.FirstAck != "" {
|
||||||
fstAck = ul.FirstAck
|
fstAck = ul.FirstAck
|
||||||
}
|
}
|
||||||
@ -589,8 +618,8 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
t1.message,
|
t1.message,
|
||||||
t1.partno,
|
t1.partno,
|
||||||
IFNULL(t2.model, '') AS model,
|
IFNULL(t2.model, '') AS model,
|
||||||
t1.mo,
|
|
||||||
t1.sku,
|
t1.sku,
|
||||||
|
t1.mo,
|
||||||
t1.line,
|
t1.line,
|
||||||
t1.stage,
|
t1.stage,
|
||||||
t1.first_ack,
|
t1.first_ack,
|
||||||
@ -619,8 +648,8 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
&uh.Message,
|
&uh.Message,
|
||||||
&uh.PartNO,
|
&uh.PartNO,
|
||||||
&uh.Model,
|
&uh.Model,
|
||||||
&uh.MfgMO,
|
|
||||||
&uh.MfgSKU,
|
&uh.MfgSKU,
|
||||||
|
&uh.MfgMO,
|
||||||
&uh.MfgLine,
|
&uh.MfgLine,
|
||||||
&uh.MfgStage,
|
&uh.MfgStage,
|
||||||
&uh.FirstAck,
|
&uh.FirstAck,
|
||||||
@ -640,11 +669,15 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
<td style="color: red; font-weight: bold;">%s</td>
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
<td style="color: red; font-weight: bold;">%s</td>
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
<td style="color: red; font-weight: bold;">%s</td>
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
|
<td style="color: red; font-weight: bold;">%s</td>
|
||||||
</tr>%s`,
|
</tr>%s`,
|
||||||
uh.USN, uh.MAC, uh.IPAddr, uh.Relay, uh.Item, uh.Status, uh.Message, uh.LastChg, "\r\n")
|
uh.USN, uh.MfgSKU, uh.MfgMO, uh.MfgLine, uh.MfgStage, uh.MAC, uh.IPAddr, uh.Relay, uh.Item, uh.Status, uh.Message, uh.LastChg, "\r\n")
|
||||||
} else {
|
} else {
|
||||||
bkup = bkup + fmt.Sprintf(`<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%s`,
|
bkup = bkup + fmt.Sprintf(`<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%s`,
|
||||||
uh.USN, uh.MAC, uh.IPAddr, uh.Relay, uh.Item, uh.Status, uh.Message, uh.LastChg, "\r\n")
|
uh.USN, uh.MfgSKU, uh.MfgMO, uh.MfgLine, uh.MfgStage, uh.MAC, uh.IPAddr, uh.Relay, uh.Item, uh.Status, uh.Message, uh.LastChg, "\r\n")
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -679,12 +712,12 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
if partNO == "" {
|
if partNO == "" {
|
||||||
partNO = uh.PartNO
|
partNO = uh.PartNO
|
||||||
}
|
}
|
||||||
if mfgMO == "" {
|
|
||||||
mfgMO = uh.MfgMO
|
|
||||||
}
|
|
||||||
if mfgSKU == "" {
|
if mfgSKU == "" {
|
||||||
mfgSKU = uh.MfgSKU
|
mfgSKU = uh.MfgSKU
|
||||||
}
|
}
|
||||||
|
if mfgMO == "" {
|
||||||
|
mfgMO = uh.MfgMO
|
||||||
|
}
|
||||||
if fstAck == "" {
|
if fstAck == "" {
|
||||||
fstAck = uh.FirstAck
|
fstAck = uh.FirstAck
|
||||||
}
|
}
|
||||||
@ -731,7 +764,7 @@ func (e *EWS) GetIssueReport(cfg cnf.Cfg, logger *log.Logger, host string, addr
|
|||||||
ri := new(ReportInfo)
|
ri := new(ReportInfo)
|
||||||
defect := ""
|
defect := ""
|
||||||
rows, err := dbo.Query(fmt.Sprintf(
|
rows, err := dbo.Query(fmt.Sprintf(
|
||||||
`SELECT usn,partno,mo,sku,line,location,item,status,message,first_ack,last_ack,last_change,diffmins
|
`SELECT usn,partno,sku,mo,line,location,item,status,message,first_ack,last_ack,last_change,diffmins
|
||||||
FROM %s
|
FROM %s
|
||||||
ORDER BY diffmins ASC;`, cfg.MySQL.IssuesView))
|
ORDER BY diffmins ASC;`, cfg.MySQL.IssuesView))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -747,8 +780,8 @@ func (e *EWS) GetIssueReport(cfg cnf.Cfg, logger *log.Logger, host string, addr
|
|||||||
err := rows.Scan(
|
err := rows.Scan(
|
||||||
&ri.USN,
|
&ri.USN,
|
||||||
&ri.PartNO,
|
&ri.PartNO,
|
||||||
|
&ri.MfgSKU,
|
||||||
&ri.MfgMO,
|
&ri.MfgMO,
|
||||||
&ri.SKU,
|
|
||||||
&ri.Line,
|
&ri.Line,
|
||||||
&ri.Location,
|
&ri.Location,
|
||||||
&ri.Item,
|
&ri.Item,
|
||||||
@ -763,7 +796,7 @@ func (e *EWS) GetIssueReport(cfg cnf.Cfg, logger *log.Logger, host string, addr
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
temp := fmt.Sprintf(`<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%s`,
|
temp := fmt.Sprintf(`<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%s`,
|
||||||
num, ri.USN, ri.PartNO, ri.MfgMO, ri.SKU, ri.Line, ri.Location, ri.Item, ri.Status, ri.Message, ri.FirstAck, ri.LastAck, ri.LastChg, ri.DiffMins, "\r\n")
|
num, ri.USN, ri.PartNO, ri.MfgSKU, ri.MfgMO, ri.Line, ri.Location, ri.Item, ri.Status, ri.Message, ri.FirstAck, ri.LastAck, ri.LastChg, ri.DiffMins, "\r\n")
|
||||||
defect = defect + temp
|
defect = defect + temp
|
||||||
num += 1
|
num += 1
|
||||||
}
|
}
|
||||||
@ -802,7 +835,7 @@ func (e *EWS) GetOfflineReport(cfg cnf.Cfg, logger *log.Logger, host string, add
|
|||||||
ri := new(ReportInfo)
|
ri := new(ReportInfo)
|
||||||
offline := ""
|
offline := ""
|
||||||
rows, err := dbo.Query(fmt.Sprintf(
|
rows, err := dbo.Query(fmt.Sprintf(
|
||||||
`SELECT usn,partno,mo,sku,line,location,item,status,message,first_ack,last_ack,last_change,diffmins
|
`SELECT usn,partno,sku,mo,line,location,item,status,message,first_ack,last_ack,last_change,diffmins
|
||||||
FROM %s
|
FROM %s
|
||||||
ORDER BY diffmins DESC;`, cfg.MySQL.OfflineView))
|
ORDER BY diffmins DESC;`, cfg.MySQL.OfflineView))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -818,8 +851,8 @@ func (e *EWS) GetOfflineReport(cfg cnf.Cfg, logger *log.Logger, host string, add
|
|||||||
err := rows.Scan(
|
err := rows.Scan(
|
||||||
&ri.USN,
|
&ri.USN,
|
||||||
&ri.PartNO,
|
&ri.PartNO,
|
||||||
|
&ri.MfgSKU,
|
||||||
&ri.MfgMO,
|
&ri.MfgMO,
|
||||||
&ri.SKU,
|
|
||||||
&ri.Line,
|
&ri.Line,
|
||||||
&ri.Location,
|
&ri.Location,
|
||||||
&ri.Item,
|
&ri.Item,
|
||||||
@ -834,7 +867,7 @@ func (e *EWS) GetOfflineReport(cfg cnf.Cfg, logger *log.Logger, host string, add
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
temp := fmt.Sprintf(`<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%s`,
|
temp := fmt.Sprintf(`<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>%s`,
|
||||||
num, ri.USN, ri.PartNO, ri.MfgMO, ri.SKU, ri.Line, ri.Location, ri.Item, ri.Status, ri.Message, ri.FirstAck, ri.LastAck, ri.LastChg, ri.DiffMins, "\r\n")
|
num, ri.USN, ri.PartNO, ri.MfgSKU, ri.MfgMO, ri.Line, ri.Location, ri.Item, ri.Status, ri.Message, ri.FirstAck, ri.LastAck, ri.LastChg, ri.DiffMins, "\r\n")
|
||||||
offline = offline + temp
|
offline = offline + temp
|
||||||
num += 1
|
num += 1
|
||||||
}
|
}
|
||||||
@ -932,6 +965,10 @@ func (e *EWS) TemplateUutInfo(loc, locTime, misc, last, bkup string) string {
|
|||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>USN</th>
|
<th>USN</th>
|
||||||
|
<th>SKU</th>
|
||||||
|
<th>MO</th>
|
||||||
|
<th>Line</th>
|
||||||
|
<th>Stage</th>
|
||||||
<th>MAC</th>
|
<th>MAC</th>
|
||||||
<th>IP Address</th>
|
<th>IP Address</th>
|
||||||
<th>Server</th>
|
<th>Server</th>
|
||||||
@ -994,8 +1031,8 @@ func (e *EWS) TemplateDefectInfo(src string) string {
|
|||||||
<th>NO.</th>
|
<th>NO.</th>
|
||||||
<th>USN</th>
|
<th>USN</th>
|
||||||
<th>PartNO.</th>
|
<th>PartNO.</th>
|
||||||
<th>MO</th>
|
|
||||||
<th>SKU</th>
|
<th>SKU</th>
|
||||||
|
<th>MO</th>
|
||||||
<th>Line</th>
|
<th>Line</th>
|
||||||
<th>Location</th>
|
<th>Location</th>
|
||||||
<th>Item</th>
|
<th>Item</th>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user