simplify http request route
This commit is contained in:
parent
b90685e2f8
commit
901b09e8f1
BIN
APIServer.exe
BIN
APIServer.exe
Binary file not shown.
83
APIServer.go
83
APIServer.go
@ -182,8 +182,6 @@ func startSvc() {
|
|||||||
http.HandleFunc("/fileinfo/", handleFileInfo)
|
http.HandleFunc("/fileinfo/", handleFileInfo)
|
||||||
http.HandleFunc("/setuutinfo/", handleSetUutInfo)
|
http.HandleFunc("/setuutinfo/", handleSetUutInfo)
|
||||||
http.HandleFunc("/getuutinfo/", handleGetUutInfo)
|
http.HandleFunc("/getuutinfo/", handleGetUutInfo)
|
||||||
http.HandleFunc("/getdefectinfo/", handleGetDefectInfo)
|
|
||||||
http.HandleFunc("/getofflineinfo/", handleGetOfflineInfo)
|
|
||||||
logger.Printf("[MSG] Starting HTTP Server On Port: %s\r\n", cfg.Settings.ListenPort)
|
logger.Printf("[MSG] Starting HTTP Server On Port: %s\r\n", cfg.Settings.ListenPort)
|
||||||
err := http.ListenAndServe(":"+cfg.Settings.ListenPort, nil)
|
err := http.ListenAndServe(":"+cfg.Settings.ListenPort, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -399,84 +397,29 @@ func handleGetUutInfo(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
params := make(map[string]string, 0)
|
params, err := parseReqParams(r)
|
||||||
if len(r.Form) > 0 {
|
if err != nil {
|
||||||
for k, v := range r.Form {
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
|
||||||
params[strings.ToUpper(strings.TrimSpace(k))] = strings.TrimSpace(v[0])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ews := new(ews.EWS)
|
|
||||||
rst = ews.GetUutInfo(cfg, logger, host, addr, uri, params)
|
|
||||||
if rst["RESULT"] != "OK" {
|
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
|
||||||
} else {
|
|
||||||
w.WriteHeader(http.StatusOK)
|
|
||||||
}
|
|
||||||
fmt.Fprintf(w, "%v", rst["ErrMsg"])
|
|
||||||
}
|
|
||||||
|
|
||||||
func handleGetDefectInfo(w http.ResponseWriter, r *http.Request) {
|
|
||||||
defer r.Body.Close()
|
|
||||||
if r.RequestURI == "/favicon.ico" {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
host := strings.Split(r.Host, ":")[0]
|
|
||||||
addr := strings.Split(r.RemoteAddr, ":")[0]
|
|
||||||
uri := r.RequestURI
|
|
||||||
rst := map[string]string{"RESULT": ""}
|
|
||||||
|
|
||||||
if err := r.ParseForm(); err != nil {
|
|
||||||
logger.Printf("[ERR] %s; %s; %s\r\n", r.RemoteAddr, r.RequestURI, err.Error())
|
|
||||||
rst["RESULT"] = "NG"
|
rst["RESULT"] = "NG"
|
||||||
rst["ErrMsg"] = err.Error()
|
rst["ErrMsg"] = err.Error()
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
w.WriteHeader(http.StatusBadRequest)
|
||||||
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
|
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
params := make(map[string]string, 0)
|
|
||||||
if len(r.Form) > 0 {
|
|
||||||
for k, v := range r.Form {
|
|
||||||
params[strings.ToUpper(strings.TrimSpace(k))] = strings.TrimSpace(v[0])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ews := new(ews.EWS)
|
ews := new(ews.EWS)
|
||||||
rst = ews.GetDefectUuts(cfg, logger, host, addr, uri, params)
|
|
||||||
if rst["RESULT"] != "OK" {
|
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
|
||||||
} else {
|
|
||||||
w.WriteHeader(http.StatusOK)
|
|
||||||
}
|
|
||||||
fmt.Fprintf(w, "%v", rst["ErrMsg"])
|
|
||||||
}
|
|
||||||
|
|
||||||
func handleGetOfflineInfo(w http.ResponseWriter, r *http.Request) {
|
switch params["ACTION"] {
|
||||||
defer r.Body.Close()
|
case "QueryByFilter":
|
||||||
if r.RequestURI == "/favicon.ico" {
|
rst = ews.GetUutInfo(cfg, logger, host, addr, uri, params)
|
||||||
return
|
case "GetDefectReport":
|
||||||
}
|
rst = ews.GetDefectReport(cfg, logger, host, addr, uri, params)
|
||||||
host := strings.Split(r.Host, ":")[0]
|
case "GetOfflineReport":
|
||||||
addr := strings.Split(r.RemoteAddr, ":")[0]
|
rst = ews.GetOfflineReport(cfg, logger, host, addr, uri, params)
|
||||||
uri := r.RequestURI
|
default:
|
||||||
rst := map[string]string{"RESULT": ""}
|
rst = ews.GetUutInfo(cfg, logger, host, addr, uri, params)
|
||||||
|
|
||||||
if err := r.ParseForm(); err != nil {
|
|
||||||
logger.Printf("[ERR] %s; %s; %s\r\n", r.RemoteAddr, r.RequestURI, err.Error())
|
|
||||||
rst["RESULT"] = "NG"
|
|
||||||
rst["ErrMsg"] = err.Error()
|
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
|
||||||
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
params := make(map[string]string, 0)
|
|
||||||
if len(r.Form) > 0 {
|
|
||||||
for k, v := range r.Form {
|
|
||||||
params[strings.ToUpper(strings.TrimSpace(k))] = strings.TrimSpace(v[0])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ews := new(ews.EWS)
|
|
||||||
rst = ews.GetOfflineUuts(cfg, logger, host, addr, uri, params)
|
|
||||||
if rst["RESULT"] != "OK" {
|
if rst["RESULT"] != "OK" {
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
w.WriteHeader(http.StatusInternalServerError)
|
||||||
} else {
|
} else {
|
||||||
|
39
Index.html
39
Index.html
@ -6,7 +6,7 @@
|
|||||||
<title>API Server</title>
|
<title>API Server</title>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
form {margin: 0px; display: inline;}
|
form {margin: 0px; display: inline;}
|
||||||
ul,li {margin: 0px; padding: 0px; list-style-type: none;}
|
ul,li {margin: 0px; padding: 0px; list-style-type: none;display: inline;}
|
||||||
label {font-family: Consolas; font-size: 16px;}
|
label {font-family: Consolas; font-size: 16px;}
|
||||||
input {width: 200px; height: 20px; font-family: monospace; font-size: 14px;}
|
input {width: 200px; height: 20px; font-family: monospace; font-size: 14px;}
|
||||||
select {width: 150px; height: 25px; font-size: 14px;}
|
select {width: 150px; height: 25px; font-size: 14px;}
|
||||||
@ -22,24 +22,31 @@
|
|||||||
</head>
|
</head>
|
||||||
<body leftmargin="10px" >
|
<body leftmargin="10px" >
|
||||||
<h4>机台测试记录查询</h4>
|
<h4>机台测试记录查询</h4>
|
||||||
|
|
||||||
<form name="getdefectinfo" action="/getdefectinfo/" method="POST" target="result">
|
|
||||||
<input type="submit" name="Query" value="实时异常报表" style="width:120px; height:25px;">
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<form name="getofflineinfo" action="/getofflineinfo/" method="POST" target="result">
|
|
||||||
<input type="submit" name="Query" value="实时离线报表" style="width:120px; height:25px;">
|
|
||||||
</form>
|
|
||||||
<br/><br/>
|
|
||||||
|
|
||||||
<form name="getuutinfo" action="/getuutinfo/" method="POST" target="result">
|
<form name="getuutinfo" action="/getuutinfo/" method="POST" target="result">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<label>USN: </label>
|
<!--label for="ACTION">查询类型: </label> -->
|
||||||
<input type="text" name="USN" id="USN" />
|
<select name="ACTION" id="ACTION">
|
||||||
|
<!--option value="" selected="true">* 选择查询类型 *</option-->
|
||||||
<input type="submit" name="Query" value="Query" style="width:75px; height:25px;" />
|
<option value="QueryByFilter" selected="true">条件查询</option>
|
||||||
<!--input type="submit" style="width:75px; height:25px;" /-->
|
<option value="GetDefectReport">实时异常报表</option>
|
||||||
|
<option value="GetOfflineReport">实时离线报表</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<!--label for="KEY">查询条件: </label> -->
|
||||||
|
<select name="KEY" id="KEY">
|
||||||
|
<!--option value="" selected="true">* 选择查询条件 *</option-->
|
||||||
|
<option value="USN" selected="true">By SN</option>
|
||||||
|
<option value="MO">By MO</option>
|
||||||
|
<option value="SKU">By SKU</option>
|
||||||
|
<option value="LINE">By Line</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" name="VALUE" id="VALUE" />
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<input type="reset" value="Reset" style="width:100px; height:25px;" />
|
||||||
|
<input type="submit" value="Query" style="width:100px; height:25px;" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
|
180
ews/ews.go
180
ews/ews.go
@ -275,7 +275,7 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
}
|
}
|
||||||
|
|
||||||
rst := map[string]string{"RESULT": ""}
|
rst := map[string]string{"RESULT": ""}
|
||||||
if params["USN"] == "" {
|
if params["KEY"] == "" || params["VALUE"] == "" {
|
||||||
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, "Invalid Parameters !")
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, "Invalid Parameters !")
|
||||||
rst["RESULT"] = "NG"
|
rst["RESULT"] = "NG"
|
||||||
rst["ErrMsg"] = e.SimpleMsgHTML("red", "Invalid Parameters !")
|
rst["ErrMsg"] = e.SimpleMsgHTML("red", "Invalid Parameters !")
|
||||||
@ -305,7 +305,7 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
ui := new(UutInfo)
|
ul := new(UutInfo)
|
||||||
partNO := ""
|
partNO := ""
|
||||||
mfgMO := ""
|
mfgMO := ""
|
||||||
mfgSKU := ""
|
mfgSKU := ""
|
||||||
@ -314,32 +314,43 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
|
|
||||||
//Get Last Record
|
//Get Last Record
|
||||||
last := ""
|
last := ""
|
||||||
row := dbo.QueryRow(
|
curr, err := dbo.Query(
|
||||||
fmt.Sprintf(`SELECT usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change,last_transfer
|
fmt.Sprintf(`SELECT usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change,last_transfer
|
||||||
FROM uutinfo
|
FROM uutinfo
|
||||||
WHERE usn='%s';`, params["USN"]))
|
WHERE %s='%s'
|
||||||
|
ORDER BY usn ASC, seqid ASC;`, params["KEY"], params["VALUE"]))
|
||||||
|
|
||||||
err = row.Scan(
|
if err != nil {
|
||||||
&ui.USN,
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
||||||
&ui.MAC,
|
rst["RESULT"] = "NG"
|
||||||
&ui.IPAddr,
|
rst["ErrMsg"] = e.SimpleMsgHTML("red", err.Error())
|
||||||
&ui.Relay,
|
return rst
|
||||||
&ui.Item,
|
}
|
||||||
&ui.Status,
|
defer curr.Close()
|
||||||
&ui.Message,
|
|
||||||
&ui.PartNO,
|
|
||||||
&ui.MfgMO,
|
|
||||||
&ui.MfgSKU,
|
|
||||||
&ui.MfgLine,
|
|
||||||
&ui.MfgStage,
|
|
||||||
&ui.FirstAck,
|
|
||||||
&ui.LastAck,
|
|
||||||
&ui.LastChg,
|
|
||||||
&ui.LastTrn,
|
|
||||||
)
|
|
||||||
|
|
||||||
if err == nil {
|
for curr.Next() {
|
||||||
last = fmt.Sprintf(`<tr>
|
err := curr.Scan(
|
||||||
|
&ul.USN,
|
||||||
|
&ul.MAC,
|
||||||
|
&ul.IPAddr,
|
||||||
|
&ul.Relay,
|
||||||
|
&ul.Item,
|
||||||
|
&ul.Status,
|
||||||
|
&ul.Message,
|
||||||
|
&ul.PartNO,
|
||||||
|
&ul.MfgMO,
|
||||||
|
&ul.MfgSKU,
|
||||||
|
&ul.MfgLine,
|
||||||
|
&ul.MfgStage,
|
||||||
|
&ul.FirstAck,
|
||||||
|
&ul.LastAck,
|
||||||
|
&ul.LastChg,
|
||||||
|
&ul.LastTrn,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
last = last + fmt.Sprintf(`<tr>
|
||||||
<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>
|
||||||
@ -348,73 +359,90 @@ 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>`,
|
</tr>%s`, ul.USN, ul.MAC, ul.IPAddr, ul.Relay, ul.Item, ul.Status, ul.Message, ul.LastChg, "\r\n")
|
||||||
ui.USN, ui.MAC, ui.IPAddr, ui.Relay, ui.Item, ui.Status, ui.Message, ui.LastChg)
|
|
||||||
partNO = ui.PartNO
|
if ul.PartNO != "" {
|
||||||
mfgMO = ui.MfgMO
|
partNO = ul.PartNO
|
||||||
mfgSKU = ui.MfgSKU
|
}
|
||||||
fstAck = ui.FirstAck
|
if ul.MfgMO != "" {
|
||||||
lstAck = ui.LastAck
|
mfgMO = ul.MfgMO
|
||||||
|
}
|
||||||
|
if ul.MfgSKU != "" {
|
||||||
|
mfgSKU = ul.MfgSKU
|
||||||
|
}
|
||||||
|
if ul.FirstAck != "" {
|
||||||
|
fstAck = ul.FirstAck
|
||||||
|
}
|
||||||
|
if ul.LastAck != "" {
|
||||||
|
lstAck = ul.LastAck
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get Location Information
|
//Get Location Information
|
||||||
loc, locTime := "", ""
|
loc, locTime := "", ""
|
||||||
if last != "" {
|
if last != "" {
|
||||||
qry := dbo.QueryRow(fmt.Sprintf(`SELECT CONCAT_WS('-',line,col,row,num) AS loc, update_time FROM locinfo WHERE mac='%s'`, ui.MAC))
|
qry := dbo.QueryRow(fmt.Sprintf(`SELECT CONCAT_WS('-',line,col,row,num) AS loc, update_time FROM locinfo WHERE mac='%s'`, ul.MAC))
|
||||||
qry.Scan(&loc, &locTime)
|
qry.Scan(&loc, &locTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get History Records
|
//Get History Records
|
||||||
|
uh := new(UutInfo)
|
||||||
bkup := ""
|
bkup := ""
|
||||||
rows, err := dbo.Query(
|
prev, err := dbo.Query(
|
||||||
fmt.Sprintf(`SELECT usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change,last_transfer
|
fmt.Sprintf(`SELECT usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change,last_transfer
|
||||||
FROM uutinfobkup
|
FROM uutinfobkup
|
||||||
WHERE usn='%s' ORDER BY seqid ASC;`, params["USN"]))
|
WHERE %s='%s'
|
||||||
if err == nil {
|
ORDER BY usn ASC, seqid ASC;`, params["KEY"], params["VALUE"]))
|
||||||
for rows.Next() {
|
|
||||||
err := rows.Scan(
|
if err != nil {
|
||||||
&ui.USN,
|
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error())
|
||||||
&ui.MAC,
|
rst["RESULT"] = "NG"
|
||||||
&ui.IPAddr,
|
rst["ErrMsg"] = e.SimpleMsgHTML("red", err.Error())
|
||||||
&ui.Relay,
|
return rst
|
||||||
&ui.Item,
|
}
|
||||||
&ui.Status,
|
defer prev.Close()
|
||||||
&ui.Message,
|
|
||||||
&ui.PartNO,
|
for prev.Next() {
|
||||||
&ui.MfgMO,
|
err := prev.Scan(
|
||||||
&ui.MfgSKU,
|
&uh.USN,
|
||||||
&ui.MfgLine,
|
&uh.MAC,
|
||||||
&ui.MfgStage,
|
&uh.IPAddr,
|
||||||
&ui.FirstAck,
|
&uh.Relay,
|
||||||
&ui.LastAck,
|
&uh.Item,
|
||||||
&ui.LastChg,
|
&uh.Status,
|
||||||
&ui.LastTrn,
|
&uh.Message,
|
||||||
)
|
&uh.PartNO,
|
||||||
if err != nil {
|
&uh.MfgMO,
|
||||||
break
|
&uh.MfgSKU,
|
||||||
}
|
&uh.MfgLine,
|
||||||
temp := 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`,
|
&uh.MfgStage,
|
||||||
ui.USN, ui.MAC, ui.IPAddr, ui.Relay, ui.Item, ui.Status, ui.Message, ui.LastChg, "\r\n")
|
&uh.FirstAck,
|
||||||
bkup = bkup + temp
|
&uh.LastAck,
|
||||||
}
|
&uh.LastChg,
|
||||||
|
&uh.LastTrn,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
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`,
|
||||||
|
uh.USN, uh.MAC, uh.IPAddr, uh.Relay, uh.Item, uh.Status, uh.Message, uh.LastChg, "\r\n")
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
|
||||||
|
|
||||||
//Get Misc. Info
|
//Get Misc. Info
|
||||||
if partNO == "" {
|
if partNO == "" {
|
||||||
partNO = ui.PartNO
|
partNO = uh.PartNO
|
||||||
}
|
}
|
||||||
if mfgMO == "" {
|
if mfgMO == "" {
|
||||||
mfgMO = ui.MfgMO
|
mfgMO = uh.MfgMO
|
||||||
}
|
}
|
||||||
if mfgSKU == "" {
|
if mfgSKU == "" {
|
||||||
mfgSKU = ui.MfgSKU
|
mfgSKU = uh.MfgSKU
|
||||||
}
|
}
|
||||||
if fstAck == "" {
|
if fstAck == "" {
|
||||||
fstAck = ui.FirstAck
|
fstAck = uh.FirstAck
|
||||||
}
|
}
|
||||||
if lstAck == "" {
|
if lstAck == "" {
|
||||||
lstAck = ui.LastAck
|
lstAck = uh.LastAck
|
||||||
}
|
}
|
||||||
|
|
||||||
misc := ""
|
misc := ""
|
||||||
@ -429,7 +457,7 @@ func (e *EWS) GetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *EWS) GetDefectUuts(cfg cnf.Cfg, logger *log.Logger, host string, addr string, uri string, params map[string]string) map[string]string {
|
func (e *EWS) GetDefectReport(cfg cnf.Cfg, logger *log.Logger, host string, addr string, uri string, params map[string]string) map[string]string {
|
||||||
if cfg.Settings.LogRequest {
|
if cfg.Settings.LogRequest {
|
||||||
logger.Printf("[MSG] %s; %s; Request: %#v\r\n", addr, uri, params)
|
logger.Printf("[MSG] %s; %s; Request: %#v\r\n", addr, uri, params)
|
||||||
}
|
}
|
||||||
@ -505,7 +533,7 @@ func (e *EWS) GetDefectUuts(cfg cnf.Cfg, logger *log.Logger, host string, addr s
|
|||||||
return rst
|
return rst
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *EWS) GetOfflineUuts(cfg cnf.Cfg, logger *log.Logger, host string, addr string, uri string, params map[string]string) map[string]string {
|
func (e *EWS) GetOfflineReport(cfg cnf.Cfg, logger *log.Logger, host string, addr string, uri string, params map[string]string) map[string]string {
|
||||||
if cfg.Settings.LogRequest {
|
if cfg.Settings.LogRequest {
|
||||||
logger.Printf("[MSG] %s; %s; Request: %#v\r\n", addr, uri, params)
|
logger.Printf("[MSG] %s; %s; Request: %#v\r\n", addr, uri, params)
|
||||||
}
|
}
|
||||||
@ -601,13 +629,13 @@ func (e *EWS) TemplateUutInfo(loc, locTime, misc, last, bkup string) string {
|
|||||||
loc = `<span style="color: red; font-size: 14px; font-family: Consolas;">Unknown</span>`
|
loc = `<span style="color: red; font-size: 14px; font-family: Consolas;">Unknown</span>`
|
||||||
}
|
}
|
||||||
|
|
||||||
if misc == "" {
|
// if misc == "" {
|
||||||
misc = `<span style="color: red;">NO Records !</span>`
|
// misc = `<span style="color: red;">NO Records !</span>`
|
||||||
}
|
// }
|
||||||
|
|
||||||
if bkup == "" {
|
// if bkup == "" {
|
||||||
bkup = `<span style="color: red;">NO Records !</span>`
|
// bkup = `<span style="color: red;">NO Records !</span>`
|
||||||
}
|
// }
|
||||||
|
|
||||||
resp := fmt.Sprintf(`<!DOCTYPE html>
|
resp := fmt.Sprintf(`<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@ -688,7 +716,7 @@ func (e *EWS) TemplateUutInfo(loc, locTime, misc, last, bkup string) string {
|
|||||||
%s
|
%s
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>`, loc, locTime, misc, bkup, last)
|
</html>`, loc, locTime, misc, last, bkup)
|
||||||
return resp
|
return resp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user