Files
zmkgC/internal/app/wxApplet/controller/bus_attendance.go
2025-07-07 20:11:59 +08:00

146 lines
5.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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