You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
264 lines
13 KiB
Go
264 lines
13 KiB
Go
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
|
|
|
|
// }
|