Files
zmkgC/internal/app/wxApplet/controller/bus_attendance.go

146 lines
5.3 KiB
Go
Raw Normal View History

2025-07-07 20:11:59 +08:00
// ==========================================================================
// 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
}
// 修改考勤机的基本信息(如项目选择、班组)
// 修改考勤机的基本信息(如项)
// 获取当前设备所关联到的班组下的所有成员消息