@ -1,6 +1,7 @@
package calloff
import (
"encoding/json"
"encoding/xml"
"fmt"
"github.com/go-xorm/xorm"
@ -704,11 +705,7 @@ func GenerateDeliveryCar() {
}
}
err = session . Commit ( )
if err != nil {
return
}
fmt . Println ( "---------------------生成xmL_msg1" )
//APS向WMS传递发运包装信息
var o = PlnCalloffdataLandingXml { }
o . Packorderid = pkotablst [ j ] . Packorderid
@ -738,26 +735,68 @@ func GenerateDeliveryCar() {
} )
}
resXML , err := xml . MarshalIndent ( o , " " , " " )
jsonBytes , err := json . Marshal ( o )
if err != nil {
glog . InfoExtln ( "Calloff包装单" , "Failed to create xml due to :" , err )
fmt . Println ( err )
}
bl_xmlmsg := service . BL_Xmlmsg { MsgType : common . MSG_TYPE_SHIP , Msg : string ( jsonBytes ) }
fmt . Println ( "---------------------生成xmL_msg2" )
if err = bl_xmlmsg . Create ( session ) ; err != nil {
fmt . Println ( err )
}
timeS := time . Now ( ) . Format ( "20060102150405.999" )
fileName := strings . Trim ( timeS , "." )
f , err := os . Create ( "./OutData/" + fileName + ".xml" )
err = session . Commit ( )
if err != nil {
glog . InfoExtln ( "Calloff包装单" , "Failed to create xml due to :" , err )
fmt . Println ( err )
return
}
io . WriteString ( f , xml . Header )
io . WriteString ( f , string ( resXML ) )
}
}
time . Sleep ( 10 * time . Second )
}
}
func CallOffXmlTick ( ) {
timer := time . NewTicker ( 60 * time . Second )
for {
select {
case <- timer . C :
Xml_msg := db . Xml_msg { }
if xmllst , err := Xml_msg . GetUnXmlMessages ( ) ; err != nil {
glog . InfoExtln ( "Calloff包装单" , "解析发运单消息失败: " , err )
} else {
for _ , xmlInfo := range xmllst {
var xmlStruct PlnCalloffdataLandingXml
json . Unmarshal ( [ ] byte ( xmlInfo . Msg ) , & xmlStruct )
resXML , err := xml . MarshalIndent ( xmlStruct , " " , " " )
if err != nil {
glog . InfoExtln ( "Calloff包装单" , "Failed to create xml due to :" , err )
}
timeS := time . Now ( ) . Format ( "20060102150405.999" )
fileName := strings . Trim ( timeS , "." )
f , err := os . Create ( "./OutData/" + fileName + ".xml" )
if err != nil {
glog . InfoExtln ( "Calloff包装单" , "Failed to create xml due to :" , err )
}
io . WriteString ( f , xml . Header )
io . WriteString ( f , string ( resXML ) )
Xml_msg . Msgid = xmlInfo . Msgid
Xml_msg . Status = common . MSG_STATUS_FINISHED
Xml_msg . Lastmodif = common . Date ( time . Now ( ) . Unix ( ) , "YYYYMMDDHHmmss" )
Xml_msg . Lastuser = "service"
if err = Xml_msg . UpdateFieldsWithoutSession ( "status,lastmodif,lastuser" ) ; err != nil {
glog . InfoExtln ( "Calloff包装单" , "Failed to create xml due to :" , err )
}
}
}
}
}
}
type PlnCalloffdataLandingXml struct {
XMLName xml . Name ` xml:"Content" `
Packorderid string ` xml:"packorderid,attr" `