// ========================================================================== // GFast自动生成controller操作代码。 // 生成日期:2023-08-07 16:29:52 // 生成路径: internal/app/wxApplet/controller/bus_attendance.go // 生成人:gfast // desc:考勤 // company:云南奇讯科技有限公司 // ========================================================================== package controller import ( "context" "errors" "github.com/tiger1103/gfast/v3/api/v1/common/coryCommon/excelUtil" "github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet" systemController "github.com/tiger1103/gfast/v3/internal/app/system/controller" "github.com/tiger1103/gfast/v3/internal/app/wxApplet/service" "strings" ) type busAttendanceController struct { systemController.BaseController } var BusAttendance = new(busAttendanceController) // SalaryDetailsFunc 小程序工资详情 func (c *busAttendanceController) SalaryDetailsFunc(ctx context.Context, req *wxApplet.SalaryDetailsReq) (res *wxApplet.SalaryDetailsRes, err error) { res = new(wxApplet.SalaryDetailsRes) res, err = service.BusAttendance().SalaryDetailsFunc(ctx, req) return } // ProjectExport 导出(项目专用) func (c *busAttendanceController) ProjectExport(ctx context.Context, req *wxApplet.PunchingCardRecordProjectReq) (res *wxApplet.PunchingCardRecordTwoRes, err error) { recordReq := &wxApplet.PunchingCardRecordReq{ ProjectId: req.ProjectId, SelectDate: req.SelectDate, Type: req.Type, } res = new(wxApplet.PunchingCardRecordTwoRes) res, err = PublicExport(ctx, recordReq) return res, err } // Export 导出 func (c *busAttendanceController) Export(ctx context.Context, req *wxApplet.PunchingCardRecordReq) (res *wxApplet.PunchingCardRecordTwoRes, err error) { res = new(wxApplet.PunchingCardRecordTwoRes) res, err = PublicExport(ctx, req) return res, err } func PublicExport(ctx context.Context, req *wxApplet.PunchingCardRecordReq) (res *wxApplet.PunchingCardRecordTwoRes, err error) { var resList *wxApplet.PunchingCardRecordRes //1、生成数据 resList, err = service.BusAttendance().Export(ctx, req) //2、生成excel数据表 _, filePath, _ := excelUtil.ExcelThree(resList.List) if filePath == "" { err = errors.New("导出失败!") return nil, err } res = new(wxApplet.PunchingCardRecordTwoRes) getwd := strings.ReplaceAll(filePath, "\\", "/") all := strings.ReplaceAll(getwd, "/resource/public", "/file") res.Path = all return res, err } //// delFile 删除文件 //func delFile(file string) { // time.Sleep(10 * time.Second) // // 5. 删除本地临时文件 // if err := os.Remove(file); err != nil { // fmt.Println("Failed to delete temporary file:", err) // } //10秒过后自动删除文件 //go delFile(file) //} // List 列表 func (c *busAttendanceController) List(ctx context.Context, req *wxApplet.BusAttendanceSearchReq) (res *wxApplet.BusAttendanceSearchRes, err error) { res, err = service.BusAttendance().List(ctx, req) return res, err } // Get 获取考勤 func (c *busAttendanceController) Get(ctx context.Context, req *wxApplet.BusAttendanceGetReq) (res *wxApplet.BusAttendanceGetRes, err error) { res = new(wxApplet.BusAttendanceGetRes) res.BusAttendanceInfoRes, err = service.BusAttendance().GetById(ctx, req.Id) return } // Add 添加考勤 func (c *busAttendanceController) Add(ctx context.Context, req *wxApplet.BusAttendanceAddReq) (res *wxApplet.BusAttendanceAddRes, err error) { err = service.BusAttendance().Add(ctx, req) return } // Edit 修改考勤 func (c *busAttendanceController) Edit(ctx context.Context, req *wxApplet.BusAttendanceEditReq) (res *wxApplet.BusAttendanceEditRes, err error) { err = service.BusAttendance().Edit(ctx, req) return } // Delete 删除考勤 func (c *busAttendanceController) Delete(ctx context.Context, req *wxApplet.BusAttendanceDeleteReq) (res *wxApplet.BusAttendanceDeleteRes, err error) { err = service.BusAttendance().Delete(ctx, req.Ids) return } // ByOpenidFunc 打卡日历 func (c *busAttendanceController) ByOpenidFunc(ctx context.Context, req *wxApplet.ByOpenIdFuncReq) (res *wxApplet.ByOpenIdFuncRes, err error) { res, err = service.BusAttendance().ByOpenidFunc(ctx, req) return res, err } // PCListFunc 后端pc考勤打卡列表 func (c *busAttendanceController) PCListFunc(ctx context.Context, req *wxApplet.PCListReq) (res *wxApplet.PCListRes, err error) { res, err = service.BusAttendance().PCListFunc(ctx, req) return res, err } // AttendanceByOpenIdFunc 根据openid去获取到当前用户当天的打卡信息 func (c *busAttendanceController) AttendanceByOpenIdFunc(ctx context.Context, req *wxApplet.AttendanceByOpenIdGetReq) (res *wxApplet.AttendanceByOpenIdRes, err error) { res = new(wxApplet.AttendanceByOpenIdRes) idFunc, err := service.BusAttendance().AttendanceByOpenIdFunc(ctx, req.Openid) res = idFunc return } // ListOfAttendanceMachines 建立考勤机列表 func (c *busAttendanceController) ListOfAttendanceMachines(ctx context.Context, req *wxApplet.AttendanceByOpenIdGetReq) (res *wxApplet.AttendanceByOpenIdRes, err error) { res = new(wxApplet.AttendanceByOpenIdRes) idFunc, err := service.BusAttendance().AttendanceByOpenIdFunc(ctx, req.Openid) res = idFunc return } // 修改考勤机的基本信息(如项目选择、班组) // 修改考勤机的基本信息(如项) // 获取当前设备所关联到的班组下的所有成员消息