package DAL
import (
"encoding/json"
"flx/Common"
"flx/Model"
"fmt"
"strconv"
"time"
log "github.com/sirupsen/logrus"
)
// &CStaffInfo.StaffCategory
// &CStaffInfo.StaffGroup
func GetAllStaffInfoAll ( ) [ ] Model . T_StaffInfo {
defer func ( ) {
if r := recover ( ) ; r != nil {
log . Error ( "GetAllStaffInfoAll:" , r )
}
} ( )
rows , err := ConntectDB ( ) . Query ( "SELECT * FROM dbcongress.t_StaffInfo left join dbcongress.t_staffcategory on dbcongress.t_StaffInfo.St_CategoryID=dbcongress.t_staffcategory.ID left join dbcongress.t_staffgroup on dbcongress.t_StaffInfo.St_GroupID=dbcongress.t_staffgroup.ID order by dbcongress.t_StaffInfo.st_num " )
if err != nil {
fmt . Println ( err . Error ( ) )
}
defer rows . Close ( )
var AllStaffInfo [ ] Model . T_StaffInfo
for rows . Next ( ) {
var CStaffInfo Model . SQLT_StaffInfo
var namec string
err := rows . Scan ( & CStaffInfo . St_ID , & CStaffInfo . St_Name , & CStaffInfo . St_Num , & CStaffInfo . St_CategoryID , & CStaffInfo . St_GroupID , & CStaffInfo . St_Image , & CStaffInfo . St_WorkUnit , & CStaffInfo . St_Sex ,
& CStaffInfo . St_Phone , & CStaffInfo . St_CardNum , & CStaffInfo . St_ViceCardNum , & CStaffInfo . St_ViceCardNumA , & CStaffInfo . St_ViceCardNumB ,
& CStaffInfo . St_NationID , & CStaffInfo . St_PartyID ,
& CStaffInfo . St_Job , & CStaffInfo . St_Enabled , & CStaffInfo . St_Remarks , & CStaffInfo . St_CreateTime ,
& CStaffInfo . St_Updatetime ,
& CStaffInfo . St_Account ,
& CStaffInfo . St_PWD ,
& CStaffInfo . St_Wynum ,
& CStaffInfo . St_Serial ,
& CStaffInfo . St_SpareA ,
& CStaffInfo . St_SpareB ,
& CStaffInfo . StaffCategory . Ca_ID , & namec , & CStaffInfo . StaffCategory . Ca_Num , & CStaffInfo . StaffCategory . Ca_ReportPower , & CStaffInfo . StaffCategory . Ca_VotePower , & CStaffInfo . StaffCategory . Ca_SpeakPower , & CStaffInfo . StaffCategory . Ca_FirstSpeakPower , & CStaffInfo . StaffCategory . Ca_CallPower , & CStaffInfo . StaffCategory . Ca_SearchPower , & CStaffInfo . StaffCategory . Ca_Remarks , & CStaffInfo . StaffCategory . Ca_Serial ,
& CStaffInfo . StaffGroup . Gr_ID , & CStaffInfo . StaffGroup . Gr_Name , & CStaffInfo . StaffGroup . Gr_Num , & CStaffInfo . StaffGroup . Gr_Remarks , & CStaffInfo . StaffGroup . Gr_Serial )
if err != nil {
fmt . Println ( err . Error ( ) )
// break
}
var CCStaffInfo Model . T_StaffInfo
CCStaffInfo . St_ID = ChangeT ( CStaffInfo . St_ID . Valid , CStaffInfo . St_ID . String ) . ( string )
CCStaffInfo . St_Name = ChangeT ( CStaffInfo . St_Name . Valid , CStaffInfo . St_Name . String ) . ( string )
CCStaffInfo . St_Num = ChangeT ( CStaffInfo . St_Num . Valid , CStaffInfo . St_Num . String ) . ( string )
CCStaffInfo . St_CategoryID = ChangeT ( CStaffInfo . St_CategoryID . Valid , CStaffInfo . St_CategoryID . String ) . ( string )
CCStaffInfo . St_GroupID = ChangeT ( CStaffInfo . St_GroupID . Valid , CStaffInfo . St_GroupID . String ) . ( string )
CCStaffInfo . St_Image = ChangeT ( CStaffInfo . St_Image . Valid , CStaffInfo . St_Image . String ) . ( string )
CCStaffInfo . St_WorkUnit = ChangeT ( CStaffInfo . St_WorkUnit . Valid , CStaffInfo . St_WorkUnit . String ) . ( string )
CCStaffInfo . St_Sex = int ( ChangeT ( CStaffInfo . St_Sex . Valid , CStaffInfo . St_Sex . Int32 ) . ( int32 ) )
CCStaffInfo . St_Phone = ChangeT ( CStaffInfo . St_Phone . Valid , CStaffInfo . St_Phone . String ) . ( string )
CCStaffInfo . St_CardNum = ChangeT ( CStaffInfo . St_CardNum . Valid , CStaffInfo . St_CardNum . String ) . ( string )
CCStaffInfo . St_ViceCardNum = ChangeT ( CStaffInfo . St_ViceCardNum . Valid , CStaffInfo . St_ViceCardNum . String ) . ( string )
CCStaffInfo . St_ViceCardNumA = ChangeT ( CStaffInfo . St_ViceCardNumA . Valid , CStaffInfo . St_ViceCardNumA . String ) . ( string )
CCStaffInfo . St_ViceCardNumB = ChangeT ( CStaffInfo . St_ViceCardNumB . Valid , CStaffInfo . St_ViceCardNumB . String ) . ( string )
CCStaffInfo . St_NationID = ChangeT ( CStaffInfo . St_NationID . Valid , CStaffInfo . St_NationID . String ) . ( string )
CCStaffInfo . St_PartyID = ChangeT ( CStaffInfo . St_PartyID . Valid , CStaffInfo . St_PartyID . String ) . ( string )
CCStaffInfo . St_Job = ChangeT ( CStaffInfo . St_Job . Valid , CStaffInfo . St_Job . String ) . ( string )
CCStaffInfo . St_Enabled = int ( ChangeT ( CStaffInfo . St_Enabled . Valid , CStaffInfo . St_Enabled . Int32 ) . ( int32 ) )
CCStaffInfo . St_Remarks = ChangeT ( CStaffInfo . St_Remarks . Valid , CStaffInfo . St_Remarks . String ) . ( string )
CCStaffInfo . St_CreateTime = ChangeT ( CStaffInfo . St_CreateTime . Valid , CStaffInfo . St_CreateTime . Time ) . ( time . Time )
CCStaffInfo . St_Updatetime = ChangeT ( CStaffInfo . St_Updatetime . Valid , CStaffInfo . St_Updatetime . Time ) . ( time . Time )
CCStaffInfo . St_Account = ChangeT ( CStaffInfo . St_Account . Valid , CStaffInfo . St_Account . String ) . ( string )
CCStaffInfo . St_PWD = ChangeT ( CStaffInfo . St_PWD . Valid , CStaffInfo . St_PWD . String ) . ( string )
CCStaffInfo . St_SpareA = ChangeT ( CStaffInfo . St_SpareA . Valid , CStaffInfo . St_SpareA . String ) . ( string )
CCStaffInfo . St_SpareB = ChangeT ( CStaffInfo . St_SpareB . Valid , CStaffInfo . St_SpareB . String ) . ( string )
// CCStaffInfo.StaffCategory = ChangeT(CStaffInfo.StaffCategory.Valid, CStaffInfo.StaffCategory.String).(string)
// CCStaffInfo.StaffGroup = ChangeT(CStaffInfo.StaffGroup.Valid, CStaffInfo.StaffGroup.String).(string)
CCStaffInfo . StaffCategory . Ca_ID = ChangeT ( CStaffInfo . StaffCategory . Ca_ID . Valid , CStaffInfo . StaffCategory . Ca_ID . String ) . ( string )
CCStaffInfo . StaffCategory . Ca_Name = ChangeT ( CStaffInfo . StaffCategory . Ca_Name . Valid , CStaffInfo . StaffCategory . Ca_Name . String ) . ( string )
CCStaffInfo . StaffCategory . Ca_Num = ChangeT ( CStaffInfo . StaffCategory . Ca_Num . Valid , CStaffInfo . StaffCategory . Ca_Num . String ) . ( string )
CCStaffInfo . StaffCategory . Ca_ReportPower = int ( ChangeT ( CStaffInfo . StaffCategory . Ca_ReportPower . Valid , CStaffInfo . StaffCategory . Ca_ReportPower . Int32 ) . ( int32 ) )
CCStaffInfo . StaffCategory . Ca_VotePower = int ( ChangeT ( CStaffInfo . StaffCategory . Ca_VotePower . Valid , CStaffInfo . StaffCategory . Ca_VotePower . Int32 ) . ( int32 ) )
CCStaffInfo . StaffCategory . Ca_SpeakPower = int ( ChangeT ( CStaffInfo . StaffCategory . Ca_SpeakPower . Valid , CStaffInfo . StaffCategory . Ca_SpeakPower . Int32 ) . ( int32 ) )
CCStaffInfo . StaffCategory . Ca_FirstSpeakPower = int ( ChangeT ( CStaffInfo . StaffCategory . Ca_FirstSpeakPower . Valid , CStaffInfo . StaffCategory . Ca_FirstSpeakPower . Int32 ) . ( int32 ) )
CCStaffInfo . StaffCategory . Ca_CallPower = int ( ChangeT ( CStaffInfo . StaffCategory . Ca_CallPower . Valid , CStaffInfo . StaffCategory . Ca_CallPower . Int32 ) . ( int32 ) )
CCStaffInfo . StaffCategory . Ca_SearchPower = int ( ChangeT ( CStaffInfo . StaffCategory . Ca_SearchPower . Valid , CStaffInfo . StaffCategory . Ca_SearchPower . Int32 ) . ( int32 ) )
CCStaffInfo . StaffCategory . Ca_Remarks = ChangeT ( CStaffInfo . StaffCategory . Ca_Remarks . Valid , CStaffInfo . StaffCategory . Ca_Remarks . String ) . ( string )
CCStaffInfo . StaffGroup . Gr_ID = ChangeT ( CStaffInfo . StaffGroup . Gr_ID . Valid , CStaffInfo . StaffGroup . Gr_ID . String ) . ( string )
CCStaffInfo . StaffGroup . Gr_Name = ChangeT ( CStaffInfo . StaffGroup . Gr_Name . Valid , CStaffInfo . StaffGroup . Gr_Name . String ) . ( string )
CCStaffInfo . StaffGroup . Gr_Num = ChangeT ( CStaffInfo . StaffGroup . Gr_Num . Valid , CStaffInfo . StaffGroup . Gr_Num . String ) . ( string )
CCStaffInfo . StaffGroup . Gr_Remarks = ChangeT ( CStaffInfo . StaffGroup . Gr_Remarks . Valid , CStaffInfo . StaffGroup . Gr_Remarks . String ) . ( string )
AllStaffInfo = append ( AllStaffInfo , CCStaffInfo )
}
return AllStaffInfo
}
func GetAllStaffInfoAllCPCS ( ) [ ] Model . T_Staff {
defer func ( ) {
if r := recover ( ) ; r != nil {
log . Error ( "GetAllStaffInfoAllCPCS:" , r )
}
} ( )
targetIP := Common . GetAvailableEndpoint ( )
if targetIP == "" {
log . Error ( "所有IP均不可达" )
log . Println ( "所有IP均不可达" )
return nil
}
// 示例:发送 JSON 数据
url := "http://" + targetIP + ":9800/vhwcapi/v1/web/api/service/tstaffinfo/getStaffViewNoPage"
jsonData := ` { } `
body , statusCode , err := Common . SendPostRequest ( url , jsonData , "application/json" )
if err != nil {
log . Fatalf ( "请求错误: %v" , err )
}
fmt . Printf ( "响应状态码: %d\n响应体: %s\n" , statusCode , body )
var responses map [ string ] interface { }
err = json . Unmarshal ( [ ] byte ( body ) , & responses )
if err != nil {
log . Fatalf ( "JSON 解析失败: %v" , err )
}
listBytes , err := json . Marshal ( responses [ "list" ] )
if err != nil {
log . Fatalf ( "List字段序列化失败: %v" , err )
}
var response [ ] Model . T_Staff
err = json . Unmarshal ( listBytes , & response )
if err != nil {
log . Fatalf ( "JSON 解析失败: %v" , err )
}
return response
}
func ChangeT ( IsOK bool , out interface { } ) interface { } {
defer func ( ) {
if r := recover ( ) ; r != nil {
log . Error ( "ChangeT:" , r )
}
} ( )
return out
}
func GetAllStaffInfo ( ) [ ] Model . T_StaffInfo {
defer func ( ) {
if r := recover ( ) ; r != nil {
log . Error ( "GetAllStaffInfo:" , r )
}
} ( )
rows , err := ConntectDB ( ) . Query ( "SELECT * FROM dbcongress.t_StaffInfo" )
if err != nil {
fmt . Println ( err . Error ( ) )
}
defer rows . Close ( )
var AllStaffInfo [ ] Model . T_StaffInfo
for rows . Next ( ) {
var CStaffInfo Model . T_StaffInfo
err := rows . Scan ( & CStaffInfo . St_ID , & CStaffInfo . St_Name , & CStaffInfo . St_Num , & CStaffInfo . St_CategoryID , & CStaffInfo . St_GroupID , & CStaffInfo . St_Image , & CStaffInfo . St_WorkUnit , & CStaffInfo . St_Sex ,
& CStaffInfo . St_Phone , & CStaffInfo . St_CardNum , & CStaffInfo . St_ViceCardNum , & CStaffInfo . St_ViceCardNumA , & CStaffInfo . St_ViceCardNumB ,
& CStaffInfo . St_NationID , & CStaffInfo . St_PartyID ,
& CStaffInfo . St_Job , & CStaffInfo . St_Enabled , & CStaffInfo . St_Remarks , & CStaffInfo . St_CreateTime ,
& CStaffInfo . St_Updatetime ,
& CStaffInfo . St_Account ,
& CStaffInfo . St_PWD ,
& CStaffInfo . St_SpareA ,
& CStaffInfo . St_SpareB )
if err != nil {
fmt . Println ( err . Error ( ) )
// break
}
AllStaffInfo = append ( AllStaffInfo , CStaffInfo )
}
return AllStaffInfo
}
func InsertStaffInfo ( para * Model . T_StaffInfo ) bool {
defer func ( ) {
if r := recover ( ) ; r != nil {
log . Error ( "InsertStaffInfo:" , r )
}
} ( )
_ , err := ConntectDB ( ) . Exec ( "INSERT INTO dbcongress.T_StaffInfo (\"St_ID\",\"St_Name\",\"St_Num\",\"St_CategoryID\",\"St_GroupID\",\"St_Image\",\"St_WorkUnit\",\"St_Sex\",\"St_Phone\",\"St_CardNum\",\"St_ViceCardNum\",\"St_ViceCardNumA\",\"St_ViceCardNumB\",\"St_NationID\",\"St_PartyID\",\"St_Job\",\"St_Enabled\",\"St_Remarks\",\"St_CreateTime\",\"St_Updatetime\",\"St_Account\",\"St_PWD\",\"St_SpareA\",\"St_SpareB\") VALUES('" + para . St_ID + "','" + para . St_Name + "','" + para . St_Num + "','" + para . St_CategoryID + "','" + para . St_GroupID + "','" + para . St_Image + "','" + para . St_WorkUnit + "','" + strconv . Itoa ( para . St_Sex ) + "','" + para . St_Phone + "','" + para . St_CardNum + "','" + para . St_ViceCardNum + "','" + para . St_ViceCardNumA + "','" + para . St_ViceCardNumB + "','" + para . St_NationID + "','" + para . St_PartyID + "','" + para . St_Job + "','" + strconv . Itoa ( para . St_Enabled ) + "','" + para . St_Remarks + "','" + para . St_CreateTime . String ( ) + "','" + para . St_Updatetime . String ( ) + "','" + para . St_Account + "','" + para . St_PWD + "','" + para . St_SpareA + "','" + para . St_SpareB + "')" )
if err != nil {
fmt . Println ( err . Error ( ) )
return false
}
return true
}
func UpdateStaffInfo ( para * Model . T_Staff ) bool {
defer func ( ) {
if r := recover ( ) ; r != nil {
log . Error ( "UpdateStaffInfo:" , r )
}
} ( )
targetIP := Common . GetAvailableEndpoint ( )
if targetIP == "" {
log . Error ( "所有IP均不可达" )
log . Println ( "所有IP均不可达" )
return false
}
url := "http://" + targetIP + ":9800/vhwcapi/v1/web/api/service/tstaffinfo/clearCardNum"
data := map [ string ] interface { } {
"id" : para . ID ,
"st_vicecardnum" : para . St_ViceCardNum ,
"st_vicecardnuma" : para . St_ViceCardNumA ,
"st_vicecardnumb" : para . St_ViceCardNumB ,
}
// 将map转换为JSON格式
jsonData , err := json . Marshal ( data )
if err != nil {
log . Fatal ( err )
}
body , statusCode , err := Common . SendPostRequest ( url , jsonData , "application/json" )
if err != nil {
log . Fatalf ( "请求错误: %v" , err )
}
fmt . Printf ( "响应状态码: %d\n响应体: %s\n" , statusCode , body )
// _, err := ConntectDB().Exec("UPDATE dbcongress.t_StaffInfo SET \"St_Name\" = '" + para.St_Name + "',\"St_Num\" = '" + para.St_Num + "',\"St_CategoryID\" = '" + para.St_CategoryID + "',\"St_GroupID\" = '" + para.St_GroupID + "',\"St_Image\" = '" + para.St_Image + "',\"St_WorkUnit\" = '" + para.St_WorkUnit + "',\"St_Sex\" = '" + strconv.Itoa(para.St_Sex) + "',\"St_Phone\" = '" + para.St_Phone + "',\"St_CardNum\" = '" + para.St_CardNum + "',\"St_ViceCardNum\" = '" + para.St_ViceCardNum + "',\"St_ViceCardNumA\" = '" + para.St_ViceCardNumA + "',\"St_ViceCardNumB\" = '" + para.St_ViceCardNumB + "',\"St_NationID\" = '" + para.St_NationID + "',\"St_PartyID\" = '" + para.St_PartyID + "',\"St_Job\" = '" + para.St_Job + "',\"St_Enabled\" = '" + strconv.Itoa(para.St_Enabled) + "',\"St_Remarks\" = '" + para.St_Remarks + "',\"St_CreateTime\" = '" + para.St_CreateTime.Format("2006-01-02 15:04:05") + "',\"St_Updatetime\" = '" + para.St_Updatetime.Format("2006-01-02 15:04:05") + "',\"St_Account\" = '" + para.St_Account + "',\"St_PWD\" = '" + para.St_PWD + "',\"St_SpareA\" = '" + para.St_SpareA + "',\"St_SpareB\" = '" + para.St_SpareB + "' WHERE \"St_ID\" = '" + para.St_ID + "'")
// if err != nil {
// fmt.Println(err.Error())
// return false
// }
return true
}
// func DeleteStaffInfo(para *Model.T_Staff) bool {
// _, err := ConntectDB().Exec("DELETE FROM dbcongress.t_StaffInfo WHERE \"St_ID\"='" + para.St_ID + "'")
// if err != nil {
// fmt.Println(err.Error())
// return false
// }
// return true
// }