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