|
@@ -89,7 +89,16 @@ type WSGridUpdate struct {
|
|
|
|
|
|
// WSLeaveReq 请假请求
|
|
|
type WSLeaveReq struct {
|
|
|
- StaffID int
|
|
|
+ StaffID int `json:"StaffId"`
|
|
|
+}
|
|
|
+
|
|
|
+// WSLeaveRes 请假响应
|
|
|
+type WSLeaveRes struct {
|
|
|
+ Type string `json:"type"`
|
|
|
+ StartTimeStr string `json:"startTimeStr" `
|
|
|
+ EndTimeStr string `json:"endTimeStr" `
|
|
|
+ Duration float32 `json:"duration"`
|
|
|
+ Reason string `json:"reason"`
|
|
|
}
|
|
|
|
|
|
// sendDeptTree 推送左侧部门树,每次新连接推送一次,期间有更新或者删除无法重新推送
|
|
@@ -253,7 +262,25 @@ func sendUpdateGrid(deptId int, cabinetId int, gridDeviceId int, update bool) er
|
|
|
return pushWsClients(&HomeMsg{DeptID: deptId, Update: update, MsgType: wsGridUpdate, Data: string(dataMsg)})
|
|
|
}
|
|
|
|
|
|
-// 请假信息推送
|
|
|
+// sendLeaveInfo 请假信息推送
|
|
|
+func sendLeaveInfo(staffId int) error {
|
|
|
+ leaveLog, err := ServicesGroupApp.LeaveLogService.getLeaveByStaffID(staffId)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ leaveInfo := WSLeaveRes{
|
|
|
+ Type: leaveLog.Type,
|
|
|
+ StartTimeStr: leaveLog.StartTimeStr,
|
|
|
+ EndTimeStr: leaveLog.EndTimeStr,
|
|
|
+ Duration: leaveLog.Duration,
|
|
|
+ Reason: leaveLog.Reason,
|
|
|
+ }
|
|
|
+ dataMsg, err := json.Marshal(leaveInfo)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ return pushWsClients(&HomeMsg{DeptID: 0, Update: false, MsgType: wstLeaveRes, Data: string(dataMsg)})
|
|
|
+}
|
|
|
|
|
|
func pushWsClients(homeMessages ...*HomeMsg) error {
|
|
|
if len(homeMessages) == 0 {
|