This commit is contained in:
2025-07-07 20:11:59 +08:00
parent ab0fdbc447
commit 06e3aa2eb3
2009 changed files with 193082 additions and 0 deletions

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-28 15:09:13
// 生成路径: internal/app/system/controller/app_menus.go
// 生成人gfast
// desc:app菜单
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type appMenusController struct {
BaseController
}
var AppMenus = new(appMenusController)
// List 列表
func (c *appMenusController) List(ctx context.Context, req *system.AppMenusSearchReq) (res *system.AppMenusSearchRes, err error) {
res, err = service.AppMenus().List(ctx, req)
return
}
// Get 获取app菜单
func (c *appMenusController) Get(ctx context.Context, req *system.AppMenusGetReq) (res *system.AppMenusGetRes, err error) {
res = new(system.AppMenusGetRes)
res.AppMenusInfoRes, err = service.AppMenus().GetByMenuId(ctx, req.MenuId)
return
}
// Add 添加app菜单
func (c *appMenusController) Add(ctx context.Context, req *system.AppMenusAddReq) (res *system.AppMenusAddRes, err error) {
err = service.AppMenus().Add(ctx, req)
return
}
// Edit 修改app菜单
func (c *appMenusController) Edit(ctx context.Context, req *system.AppMenusEditReq) (res *system.AppMenusEditRes, err error) {
err = service.AppMenus().Edit(ctx, req)
return
}
// Delete 删除app菜单
func (c *appMenusController) Delete(ctx context.Context, req *system.AppMenusDeleteReq) (res *system.AppMenusDeleteRes, err error) {
err = service.AppMenus().Delete(ctx, req.MenuIds)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-28 15:11:15
// 生成路径: internal/app/system/controller/app_role_menus.go
// 生成人gfast
// desc:app角色绑定菜单
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type appRoleMenusController struct {
BaseController
}
var AppRoleMenus = new(appRoleMenusController)
// List 列表
func (c *appRoleMenusController) List(ctx context.Context, req *system.AppRoleMenusSearchReq) (res *system.AppRoleMenusSearchRes, err error) {
res, err = service.AppRoleMenus().List(ctx, req)
return
}
// Get 获取app角色绑定菜单
func (c *appRoleMenusController) Get(ctx context.Context, req *system.AppRoleMenusGetReq) (res *system.AppRoleMenusGetRes, err error) {
res = new(system.AppRoleMenusGetRes)
res.AppRoleMenusInfoRes, err = service.AppRoleMenus().GetById(ctx, req.Id)
return
}
// Add 添加app角色绑定菜单
func (c *appRoleMenusController) Add(ctx context.Context, req *system.AppRoleMenusAddReq) (res *system.AppRoleMenusAddRes, err error) {
err = service.AppRoleMenus().Add(ctx, req)
return
}
// Edit 修改app角色绑定菜单
func (c *appRoleMenusController) Edit(ctx context.Context, req *system.AppRoleMenusEditReq) (res *system.AppRoleMenusEditRes, err error) {
err = service.AppRoleMenus().Edit(ctx, req)
return
}
// Delete 删除app角色绑定菜单
func (c *appRoleMenusController) Delete(ctx context.Context, req *system.AppRoleMenusDeleteReq) (res *system.AppRoleMenusDeleteRes, err error) {
err = service.AppRoleMenus().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,117 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-28 15:11:36
// 生成路径: internal/app/system/controller/app_roles.go
// 生成人gfast
// desc:app角色
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"database/sql"
"errors"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
)
type appRolesController struct {
BaseController
}
var AppRoles = new(appRolesController)
// List 列表
func (c *appRolesController) List(ctx context.Context, req *system.AppRolesSearchReq) (res *system.AppRolesSearchRes, err error) {
res, err = service.AppRoles().List(ctx, req)
return
}
// Get 获取app角色
func (c *appRolesController) Get(ctx context.Context, req *system.AppRolesGetReq) (res *system.AppRolesGetRes, err error) {
res = new(system.AppRolesGetRes)
res.AppRolesInfoRes, err = service.AppRoles().GetByRoleId(ctx, req.RoleId)
return
}
// Add 添加app角色
func (c *appRolesController) Add(ctx context.Context, req *system.AppRolesAddReq) (res *system.AppRolesAddRes, err error) {
err = service.AppRoles().Add(ctx, req)
return
}
// Edit 修改app角色
func (c *appRolesController) Edit(ctx context.Context, req *system.AppRolesEditReq) (res *system.AppRolesEditRes, err error) {
err = service.AppRoles().Edit(ctx, req)
return
}
// Delete 删除app角色
func (c *appRolesController) Delete(ctx context.Context, req *system.AppRolesDeleteReq) (res *system.AppRolesDeleteRes, err error) {
err = service.AppRoles().Delete(ctx, req.RoleIds)
return
}
// AddMenu 添加角色时绑定菜单
func (c *appRolesController) AddMenu(ctx context.Context, req *system.AppRolesAddMenuReq) (*system.AppRolesAddMenuRes, error) {
err := g.Try(ctx, func(ctx context.Context) {
var roleID uint
// 判断角色名是否存在
var appRoles entity.AppRoles
if err := dao.AppRoles.Ctx(ctx).Where(dao.AppRoles.Columns().RoleName, req.RoleName).Scan(&appRoles); errors.Is(err, sql.ErrNoRows) {
roleId, err := dao.AppRoles.Ctx(ctx).Data(do.AppRoles{
RoleName: req.RoleName,
}).InsertAndGetId()
liberr.ErrIsNil(ctx, err, "添加角色失败")
roleID = uint(roleId)
} else {
roleID = appRoles.RoleId
}
if len(req.MenuIds) > 0 {
insertData := make([]do.AppRoleMenus, 0, len(req.MenuIds))
for _, menuId := range req.MenuIds {
insertData = append(insertData, do.AppRoleMenus{
RoleId: roleID,
MenuId: menuId,
})
}
// 删除原有的角色菜单
_, err := dao.AppRoleMenus.Ctx(ctx).Where("role_id", roleID).Delete()
liberr.ErrIsNil(ctx, err, "删除角色菜单失败")
_, err = dao.AppRoleMenus.Ctx(ctx).Where("role_id", roleID).Data(insertData).Insert()
liberr.ErrIsNil(ctx, err, "添加角色菜单失败")
}
})
return &system.AppRolesAddMenuRes{}, err
}
// 获取一个角色的菜单
func (c *appRolesController) GetRoleMenus(ctx context.Context, req *system.AppRolesGetMenuReq) (*system.AppRolesGetMenuRes, error) {
res := new(system.AppRolesGetMenuRes)
err := g.Try(ctx, func(ctx context.Context) {
err := dao.AppRoles.Ctx(ctx).WithAll().Where(dao.AppRoles.Columns().RoleId, req.RoleId).Scan(&res.List)
// SELECT m.menu_id, m.menu_name
// FROM app_menus m
// JOIN app_role_menus rm ON m.menu_id = rm.menu_id
// WHERE rm.role_id = 3;
dao.AppMenus.Ctx(ctx).As("m").Fields("m.menu_id, m.menu_name").
InnerJoin("app_role_menus rm", "m.menu_id = rm.menu_id").Where("rm.role_id", req.RoleId).Scan(&res.List.Menus)
liberr.ErrIsNil(ctx, err, "获取信息失败")
})
return res, err
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-28 15:11:37
// 生成路径: internal/app/system/controller/app_user_disable_menus.go
// 生成人gfast
// desc:app用户禁用菜单关联
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type appUserDisableMenusController struct {
BaseController
}
var AppUserDisableMenus = new(appUserDisableMenusController)
// List 列表
func (c *appUserDisableMenusController) List(ctx context.Context, req *system.AppUserDisableMenusSearchReq) (res *system.AppUserDisableMenusSearchRes, err error) {
res, err = service.AppUserDisableMenus().List(ctx, req)
return
}
// Get 获取app用户禁用菜单关联
func (c *appUserDisableMenusController) Get(ctx context.Context, req *system.AppUserDisableMenusGetReq) (res *system.AppUserDisableMenusGetRes, err error) {
res = new(system.AppUserDisableMenusGetRes)
res.AppUserDisableMenusInfoRes, err = service.AppUserDisableMenus().GetByUserDisabledMenuId(ctx, req.UserDisabledMenuId)
return
}
// Add 添加app用户禁用菜单关联
func (c *appUserDisableMenusController) Add(ctx context.Context, req *system.AppUserDisableMenusAddReq) (res *system.AppUserDisableMenusAddRes, err error) {
err = service.AppUserDisableMenus().Add(ctx, req)
return
}
// Edit 修改app用户禁用菜单关联
func (c *appUserDisableMenusController) Edit(ctx context.Context, req *system.AppUserDisableMenusEditReq) (res *system.AppUserDisableMenusEditRes, err error) {
err = service.AppUserDisableMenus().Edit(ctx, req)
return
}
// Delete 删除app用户禁用菜单关联
func (c *appUserDisableMenusController) Delete(ctx context.Context, req *system.AppUserDisableMenusDeleteReq) (res *system.AppUserDisableMenusDeleteRes, err error) {
err = service.AppUserDisableMenus().Delete(ctx, req.UserDisabledMenuIds)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-28 15:11:37
// 生成路径: internal/app/system/controller/app_user_menus.go
// 生成人gfast
// desc:app用户菜单关联
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type appUserMenusController struct {
BaseController
}
var AppUserMenus = new(appUserMenusController)
// List 列表
func (c *appUserMenusController) List(ctx context.Context, req *system.AppUserMenusSearchReq) (res *system.AppUserMenusSearchRes, err error) {
res, err = service.AppUserMenus().List(ctx, req)
return
}
// Get 获取app用户菜单关联
func (c *appUserMenusController) Get(ctx context.Context, req *system.AppUserMenusGetReq) (res *system.AppUserMenusGetRes, err error) {
res = new(system.AppUserMenusGetRes)
res.AppUserMenusInfoRes, err = service.AppUserMenus().GetByUserMenuId(ctx, req.UserMenuId)
return
}
// Add 添加app用户菜单关联
func (c *appUserMenusController) Add(ctx context.Context, req *system.AppUserMenusAddReq) (res *system.AppUserMenusAddRes, err error) {
err = service.AppUserMenus().Add(ctx, req)
return
}
// Edit 修改app用户菜单关联
func (c *appUserMenusController) Edit(ctx context.Context, req *system.AppUserMenusEditReq) (res *system.AppUserMenusEditRes, err error) {
err = service.AppUserMenus().Edit(ctx, req)
return
}
// Delete 删除app用户菜单关联
func (c *appUserMenusController) Delete(ctx context.Context, req *system.AppUserMenusDeleteReq) (res *system.AppUserMenusDeleteRes, err error) {
err = service.AppUserMenus().Delete(ctx, req.UserMenuIds)
return
}

View File

@ -0,0 +1,132 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-28 15:11:37
// 生成路径: internal/app/system/controller/app_user_roles.go
// 生成人gfast
// desc:app用户角色关联
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type appUserRolesController struct {
BaseController
}
var AppUserRoles = new(appUserRolesController)
// List 列表
func (c *appUserRolesController) List(ctx context.Context, req *system.AppUserRolesSearchReq) (res *system.AppUserRolesSearchRes, err error) {
res, err = service.AppUserRoles().List(ctx, req)
return
}
// Get 获取app用户角色关联
func (c *appUserRolesController) Get(ctx context.Context, req *system.AppUserRolesGetReq) (res *system.AppUserRolesGetRes, err error) {
res = new(system.AppUserRolesGetRes)
res.AppUserRolesInfoRes, err = service.AppUserRoles().GetById(ctx, req.Id)
return
}
// Add 添加app用户角色关联
func (c *appUserRolesController) Add(ctx context.Context, req *system.AppUserRolesAddReq) (res *system.AppUserRolesAddRes, err error) {
err = service.AppUserRoles().Add(ctx, req)
return
}
// Edit 修改app用户角色关联
func (c *appUserRolesController) Edit(ctx context.Context, req *system.AppUserRolesEditReq) (res *system.AppUserRolesEditRes, err error) {
err = service.AppUserRoles().Edit(ctx, req)
return
}
// Delete 删除app用户角色关联
func (c *appUserRolesController) Delete(ctx context.Context, req *system.AppUserRolesDeleteReq) (res *system.AppUserRolesDeleteRes, err error) {
err = service.AppUserRoles().Delete(ctx, req.Ids)
return
}
// BindRole给用户绑定角色
func (c *appUserRolesController) BindRole(ctx context.Context, req *system.AppUserRolesBindReq) (res *system.AppUserRolesBindRes, err error) {
err = service.AppUserRoles().BindRole(ctx, req)
return
}
// 获取用户的角色
func (c *appUserRolesController) GetUserRoles(ctx context.Context, req *system.AppUserRolesGetRolesReq) (*system.AppUserRolesGetRolesRes, error) {
// select ar.role_id,ar.role_name,aur.user_id,aur.major_role
// from app_user_roles aur
// join app_roles ar on aur.role_id = ar.role_id
// where aur.user_id = 112 and aur.major_role in (0,1);
query := dao.AppUserRoles.Ctx(ctx).As("aur").
InnerJoin("app_roles ar", "aur.role_id = ar.role_id").
Fields("ar.role_id, ar.role_name, aur.user_id, aur.major_role").
Where("aur.user_id", req.UserID).
Where("aur.major_role IN (0, 1)")
var roles []model.Ruler
if err := query.Scan(&roles); err != nil {
return nil, err
}
roleMap := make(map[int][]model.Ruler)
for _, role := range roles {
roleMap[role.MajorRole] = append(roleMap[role.MajorRole], role)
}
// 检查是否存在键 0 和 1
adminRole, adminExists := roleMap[0]
constructionRole, constructionExists := roleMap[1]
if !adminExists {
adminRole = []model.Ruler{}
}
if !constructionExists {
constructionRole = []model.Ruler{}
}
return &system.AppUserRolesGetRolesRes{
AdminRole: adminRole,
ConstructionRole: constructionRole,
}, nil
}
// GetRoles 获取用户的角色
func (c *appUserRolesController) GetRoles(ctx context.Context, req *system.AppUserRolesGetAllRolesReq) (res *system.AppUserRolesGetAllRolesRes, err error) {
// select * from app_rules
var roles []model.AppRoles
if err := dao.AppRoles.Ctx(ctx).Scan(&roles); err != nil {
return nil, err
}
roleMap := make(map[int][]model.AppRoles)
for _, role := range roles {
roleMap[role.Tag] = append(roleMap[role.Tag], role)
}
// 检查是否存在键 0 和 1
adminRole, adminExists := roleMap[0]
if !adminExists {
adminRole = []model.AppRoles{}
}
constructionRole, constructionExists := roleMap[1]
if !constructionExists {
constructionRole = []model.AppRoles{}
}
return &system.AppUserRolesGetAllRolesRes{
AdminRole: adminRole,
ConstructionRole: constructionRole,
}, nil
}

View File

@ -0,0 +1,22 @@
/*
* @desc:system base controller
* @company:云南奇讯科技有限公司
* @Author: yixiaohu
* @Date: 2022/3/4 18:12
*/
package controller
import (
"github.com/gogf/gf/v2/net/ghttp"
commonController "github.com/tiger1103/gfast/v3/internal/app/common/controller"
)
type BaseController struct {
commonController.BaseController
}
// Init 自动执行的初始化方法
func (c *BaseController) Init(r *ghttp.Request) {
c.BaseController.Init(r)
}

View File

@ -0,0 +1,38 @@
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type bigFile struct{}
var BigFile = new(bigFile)
func (c *bigFile) List(ctx context.Context, req *system.BigFileSearchReq) (res *system.BigFileSearchRes, err error) {
return service.BigFile().List(ctx, req)
}
// Add 添加系统参数
func (c *bigFile) Add(ctx context.Context, req *system.BigFileAddReq) (res *system.BigFileAddRes, err error) {
err = service.BigFile().Add(ctx, req, service.Context().GetUserId(ctx))
return
}
// Get 获取文件信息
func (c *bigFile) Get(ctx context.Context, req *system.BigFileGetReq) (res *system.BigFileGetRes, err error) {
return service.BigFile().Get(ctx, req.Id)
}
// Edit 修改系统参数
func (c *bigFile) Edit(ctx context.Context, req *system.BigFileEditReq) (res *system.BigFileEditRes, err error) {
err = service.BigFile().Edit(ctx, req, service.Context().GetUserId(ctx))
return
}
// Delete 删除系统参数
func (c *bigFile) Delete(ctx context.Context, req *system.BigFileDeleteReq) (res *system.BigFileDeleteRes, err error) {
err = service.BigFile().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,46 @@
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/common/service"
)
var BigUpload = new(bigUploadController)
type bigUploadController struct{}
// 上传分片文件
func (c *bigUploadController) Upload(ctx context.Context, req *system.BigUploadReq) (res *system.BigUploadRes, err error) {
r := g.RequestFromCtx(ctx)
req = new(system.BigUploadReq)
err = req.Bind(r.Request)
if err != nil {
return
}
res, err = service.BigUpload().Upload(ctx, req)
return
}
// 上传文件检查
func (c *bigUploadController) UploadCheck(ctx context.Context, req *system.BigUploadCheckReq) (res *system.BigUploadCheckRes, err error) {
r := g.RequestFromCtx(ctx)
req = new(system.BigUploadCheckReq)
err = req.Bind(r.Request)
if err != nil {
return
}
return service.BigUpload().UploadCheck(ctx, req)
}
// 上传文件合并
func (c *bigUploadController) UploadMerge(ctx context.Context, req *system.BigUploadMergeReq) (res *system.BigUploadRes, err error) {
r := g.RequestFromCtx(ctx)
req = new(system.BigUploadMergeReq)
err = req.Bind(r.Request)
if err != nil {
return
}
return service.BigUpload().UploadMerge(ctx, req)
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2025-03-27 14:14:25
// 生成路径: internal/app/wxApplet/controller/bus_askforleave.go
// 生成人gfast
// desc:请假
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
"github.com/tiger1103/gfast/v3/internal/app/wxApplet/service"
)
type busAskforleaveController struct {
BaseController
}
var BusAskforleave = new(busAskforleaveController)
// List 列表
func (c *busAskforleaveController) List(ctx context.Context, req *wxApplet.BusAskforleaveSearchReq) (res *wxApplet.BusAskforleaveSearchRes, err error) {
res, err = service.BusAskforleave().List(ctx, req)
return
}
// Get 获取请假
func (c *busAskforleaveController) Get(ctx context.Context, req *wxApplet.BusAskforleaveGetReq) (res *wxApplet.BusAskforleaveGetRes, err error) {
res = new(wxApplet.BusAskforleaveGetRes)
res.BusAskforleaveInfoRes, err = service.BusAskforleave().GetById(ctx, req.Id)
return
}
//// Add 添加请假
//func (c *busAskforleaveController) Add(ctx context.Context, req *wxApplet.BusAskforleaveAddReq) (res *wxApplet.BusAskforleaveAddRes, err error) {
// err = service.BusAskforleave().Add(ctx, req)
// return
//}
// Edit 修改请假
func (c *busAskforleaveController) Edit(ctx context.Context, req *wxApplet.BusAskforleaveEditReq) (res *wxApplet.BusAskforleaveEditRes, err error) {
err = service.BusAskforleave().Edit(ctx, req)
return
}
//// Delete 删除请假
//func (c *busAskforleaveController) Delete(ctx context.Context, req *wxApplet.BusAskforleaveDeleteReq) (res *wxApplet.BusAskforleaveDeleteRes, err error) {
// err = service.BusAskforleave().Delete(ctx, req.Ids)
// return
//}

View File

@ -0,0 +1,83 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2025-03-03 10:32:47
// 生成路径: internal/app/system/controller/bus_attendance_machine.go
// 生成人gfast
// desc:考勤机
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busAttendanceMachineController struct {
BaseController
}
var BusAttendanceMachine = new(busAttendanceMachineController)
// List 列表
func (c *busAttendanceMachineController) List(ctx context.Context, req *system.BusAttendanceMachineSearchReq) (res *system.BusAttendanceMachineSearchRes, err error) {
res, err = service.BusAttendanceMachine().List(ctx, req)
return
}
// Get 获取考勤机
func (c *busAttendanceMachineController) Get(ctx context.Context, req *system.BusAttendanceMachineGetReq) (res *system.BusAttendanceMachineGetRes, err error) {
res = new(system.BusAttendanceMachineGetRes)
res.BusAttendanceMachineExtendRes, err = service.BusAttendanceMachine().GetById(ctx, req.Id)
return
}
// Add 添加考勤机
func (c *busAttendanceMachineController) Add(ctx context.Context, req *system.BusAttendanceMachineAddReq) (res *system.BusAttendanceMachineAddRes, err error) {
err = service.BusAttendanceMachine().Add(ctx, req)
return
}
// Edit 修改考勤机
func (c *busAttendanceMachineController) Edit(ctx context.Context, req *system.BusAttendanceMachineEditReq) (res *system.BusAttendanceMachineEditRes, err error) {
err = service.BusAttendanceMachine().Edit(ctx, req)
return
}
// Delete 删除考勤机
func (c *busAttendanceMachineController) Delete(ctx context.Context, req *system.BusAttendanceMachineDeleteReq) (res *system.BusAttendanceMachineDeleteRes, err error) {
err = service.BusAttendanceMachine().Delete(ctx, req.Ids)
return
}
// Change 变更考勤机状态
func (c *busAttendanceMachineController) Change(ctx context.Context, req *system.BusAttendanceMachineChangeReq) (res *system.BusAttendanceMachineChangeRes, err error) {
err = service.BusAttendanceMachine().Change(ctx, req)
return
}
// BindUserInformationToDevicesInBatches 批量将用户信息绑定到设备上
func (c *busAttendanceMachineController) BindUserInformationToDevicesInBatches(ctx context.Context, req *system.BindUserInformationToDevicesInBatchesReq) (res *system.BindUserInformationToDevicesInBatchesRes, err error) {
err = service.BusAttendanceMachine().BindUserInformationToDevicesInBatches(ctx, req)
return
}
// DeleteTheUserBoundToTheAttendanceMachineAndDevice 将考勤机和设备绑定的用户删除掉
func (c *busAttendanceMachineController) DeleteTheUserBoundToTheAttendanceMachineAndDevice(ctx context.Context, req *system.DeleteTheUserBoundToTheAttendanceMachineAndDeviceReq) (res *system.DeleteTheUserBoundToTheAttendanceMachineAndDeviceRes, err error) {
err = service.BusAttendanceMachine().DeleteTheUserBoundToTheAttendanceMachineAndDevice(ctx, req)
return
}
// SendTheUserInformationToTheAttendanceMachine 将用户信息下发到考勤机上
func (c *busAttendanceMachineController) SendTheUserInformationToTheAttendanceMachine(ctx context.Context, req *system.SendTheUserInformationToTheAttendanceMachineReq) (res *system.SendTheUserInformationToTheAttendanceMachineRes, err error) {
err = service.BusAttendanceMachine().SendTheUserInformationToTheAttendanceMachine(ctx, req)
return
}
// ObtainInformationAboutPersonnelAssociatedWithTheAttendanceDevice 获取考勤设备关联的人员信息
func (c *busAttendanceMachineController) ObtainInformationAboutPersonnelAssociatedWithTheAttendanceDevice(ctx context.Context, req *system.ObtainInformationAboutPersonnelAssociatedWithTheAttendanceDeviceReq) (res *system.ObtainInformationAboutPersonnelAssociatedWithTheAttendanceDeviceRes, err error) {
return service.BusAttendanceMachine().ObtainInformationAboutPersonnelAssociatedWithTheAttendanceDevice(ctx, req)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2025-03-03 10:33:17
// 生成路径: internal/app/system/controller/bus_attendance_machine_user.go
// 生成人gfast
// desc:考勤机用户列
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busAttendanceMachineUserController struct {
BaseController
}
var BusAttendanceMachineUser = new(busAttendanceMachineUserController)
// List 列表
func (c *busAttendanceMachineUserController) List(ctx context.Context, req *system.BusAttendanceMachineUserSearchReq) (res *system.BusAttendanceMachineUserSearchRes, err error) {
res, err = service.BusAttendanceMachineUser().List(ctx, req)
return
}
// Get 获取考勤机用户列
func (c *busAttendanceMachineUserController) Get(ctx context.Context, req *system.BusAttendanceMachineUserGetReq) (res *system.BusAttendanceMachineUserGetRes, err error) {
res = new(system.BusAttendanceMachineUserGetRes)
res.BusAttendanceMachineUserInfoRes, err = service.BusAttendanceMachineUser().GetById(ctx, req.Id)
return
}
// Add 添加考勤机用户列
func (c *busAttendanceMachineUserController) Add(ctx context.Context, req *system.BusAttendanceMachineUserAddReq) (res *system.BusAttendanceMachineUserAddRes, err error) {
err = service.BusAttendanceMachineUser().Add(ctx, req)
return
}
// Edit 修改考勤机用户列
func (c *busAttendanceMachineUserController) Edit(ctx context.Context, req *system.BusAttendanceMachineUserEditReq) (res *system.BusAttendanceMachineUserEditRes, err error) {
err = service.BusAttendanceMachineUser().Edit(ctx, req)
return
}
// Delete 删除考勤机用户列
func (c *busAttendanceMachineUserController) Delete(ctx context.Context, req *system.BusAttendanceMachineUserDeleteReq) (res *system.BusAttendanceMachineUserDeleteRes, err error) {
err = service.BusAttendanceMachineUser().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-10-07 15:52:19
// 生成路径: internal/app/system/controller/bus_category.go
// 生成人gfast
// desc:题库_题库类别
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busCategoryController struct {
BaseController
}
var BusCategory = new(busCategoryController)
// List 列表
func (c *busCategoryController) List(ctx context.Context, req *system.BusCategorySearchReq) (res *system.BusCategorySearchRes, err error) {
res, err = service.BusCategory().List(ctx, req)
return
}
// Get 获取题库_题库类别
func (c *busCategoryController) Get(ctx context.Context, req *system.BusCategoryGetReq) (res *system.BusCategoryGetRes, err error) {
res = new(system.BusCategoryGetRes)
res.BusCategoryInfoRes, err = service.BusCategory().GetById(ctx, req.Id)
return
}
// Add 添加题库_题库类别
func (c *busCategoryController) Add(ctx context.Context, req *system.BusCategoryAddReq) (res *system.BusCategoryAddRes, err error) {
err = service.BusCategory().Add(ctx, req)
return
}
// Edit 修改题库_题库类别
func (c *busCategoryController) Edit(ctx context.Context, req *system.BusCategoryEditReq) (res *system.BusCategoryEditRes, err error) {
err = service.BusCategory().Edit(ctx, req)
return
}
// Delete 删除题库_题库类别
func (c *busCategoryController) Delete(ctx context.Context, req *system.BusCategoryDeleteReq) (res *system.BusCategoryDeleteRes, err error) {
err = service.BusCategory().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,60 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-28 14:08:14
// 生成路径: internal/app/system/controller/bus_company.go
// 生成人gfast
// desc:公司
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busCompanyController struct {
BaseController
}
var BusCompany = new(busCompanyController)
// List 列表
func (c *busCompanyController) List(ctx context.Context, req *system.BusCompanySearchReq) (res *system.BusCompanySearchRes, err error) {
res, err = service.BusCompany().List(ctx, req)
return
}
// Get 获取公司
func (c *busCompanyController) Get(ctx context.Context, req *system.BusCompanyGetReq) (res *system.BusCompanyGetRes, err error) {
res = new(system.BusCompanyGetRes)
res.BusCompanyInfoRes, err = service.BusCompany().GetByCompanyId(ctx, req.CompanyId)
return
}
// Add 添加公司
func (c *busCompanyController) Add(ctx context.Context, req *system.BusCompanyAddReq) (res *system.BusCompanyAddRes, err error) {
err = service.BusCompany().Add(ctx, req)
return
}
// Edit 修改公司
func (c *busCompanyController) Edit(ctx context.Context, req *system.BusCompanyEditReq) (res *system.BusCompanyEditRes, err error) {
err = service.BusCompany().Edit(ctx, req)
return
}
// Delete 删除公司
func (c *busCompanyController) Delete(ctx context.Context, req *system.BusCompanyDeleteReq) (res *system.BusCompanyDeleteRes, err error) {
err = service.BusCompany().Delete(ctx, req.CompanyIds)
return
}
//app
func (c *busCompanyController) AppList(ctx context.Context, req *system.BusCompanyAppSearchReq) (res *system.BusCompanyAppSearchRes, err error) {
res, err = service.BusCompany().AppList(ctx, req)
return
}

View File

@ -0,0 +1,60 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-12-04 18:09:50
// 生成路径: internal/app/system/controller/bus_complaint_box.go
// 生成人gfast
// desc:意见箱
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
wxSystem "github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busComplaintBoxController struct {
BaseController
}
var BusComplaintBox = new(busComplaintBoxController)
// List 列表
func (c *busComplaintBoxController) List(ctx context.Context, req *system.BusComplaintBoxSearchReq) (res *system.BusComplaintBoxSearchRes, err error) {
res, err = service.BusComplaintBox().List(ctx, req)
return
}
// Get 获取意见箱
func (c *busComplaintBoxController) Get(ctx context.Context, req *system.BusComplaintBoxGetReq) (res *system.BusComplaintBoxGetRes, err error) {
res = new(system.BusComplaintBoxGetRes)
res.BusComplaintBoxInfoRes, err = service.BusComplaintBox().GetById(ctx, req.Id)
return
}
// Edit 修改意见箱
func (c *busComplaintBoxController) Edit(ctx context.Context, req *system.BusComplaintBoxEditReq) (res *system.BusComplaintBoxEditRes, err error) {
err = service.BusComplaintBox().Edit(ctx, req)
return
}
// Delete 删除意见箱
func (c *busComplaintBoxController) Delete(ctx context.Context, req *system.BusComplaintBoxDeleteReq) (res *system.BusComplaintBoxDeleteRes, err error) {
err = service.BusComplaintBox().Delete(ctx, req.Ids)
return
}
// AppletList 获取当前人的所有意见根据openid查询
func (c *busComplaintBoxController) AppletList(ctx context.Context, req *wxSystem.AppletComplaintBoxSearchReq) (res *wxSystem.AppletComplaintBoxSearchRes, err error) {
res, err = service.BusComplaintBox().AppletList(ctx, req)
return
}
// AppletAdd 添加意见箱
func (c *busComplaintBoxController) AppletAdd(ctx context.Context, req *wxSystem.AppletComplaintBoxAddReq) (res *wxSystem.AppletComplaintBoxAddRes, err error) {
err = service.BusComplaintBox().AppletAdd(ctx, req)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-10 14:08:39
// 生成路径: internal/app/system/controller/bus_construction_blacklist.go
// 生成人gfast
// desc:黑名单
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busConstructionBlacklistController struct {
BaseController
}
var BusConstructionBlacklist = new(busConstructionBlacklistController)
// List 列表
func (c *busConstructionBlacklistController) List(ctx context.Context, req *system.BusConstructionBlacklistSearchReq) (res *system.BusConstructionBlacklistSearchRes, err error) {
res, err = service.BusConstructionBlacklist().List(ctx, req)
return
}
// Get 获取黑名单
func (c *busConstructionBlacklistController) Get(ctx context.Context, req *system.BusConstructionBlacklistGetReq) (res *system.BusConstructionBlacklistGetRes, err error) {
res = new(system.BusConstructionBlacklistGetRes)
res.BusConstructionBlacklistInfoRes, err = service.BusConstructionBlacklist().GetByOpenid(ctx, req.Openid)
return
}
// Add 添加黑名单
func (c *busConstructionBlacklistController) Add(ctx context.Context, req *system.BusConstructionBlacklistAddReq) (res *system.BusConstructionBlacklistAddRes, err error) {
err = service.BusConstructionBlacklist().Add(ctx, req)
return
}
// Delete 删除黑名单
func (c *busConstructionBlacklistController) Delete(ctx context.Context, req *system.BusConstructionBlacklistDeleteReq) (res *system.BusConstructionBlacklistDeleteRes, err error) {
err = service.BusConstructionBlacklist().Delete(ctx, req.Openids)
return
}
// BlackListFunc 黑名单人员列表查询
func (c *busConstructionBlacklistController) BlackListFunc(ctx context.Context, req *system.BlackListReq) (res *system.BlackListRes, err error) {
res, err = service.BusConstructionBlacklist().BlackListFunc(ctx, req)
return
}

View File

@ -0,0 +1,74 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-22 16:27:43
// 生成路径: internal/app/system/controller/bus_construction_log.go
// 生成人gfast
// desc:施工日志
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busConstructionLogController struct {
BaseController
}
var BusConstructionLog = new(busConstructionLogController)
// ConstructionLogAdd 小程序-新增
func (c *busConstructionLogController) ConstructionLogAdd(ctx context.Context, req *wxApplet.ConstructionLogAddReq) (res *wxApplet.ConstructionLogAddRes, err error) {
err = service.BusConstructionLog().ConstructionLogAdd(ctx, req)
return
}
// ConstructionLogDetails 小程序-详情
func (c *busConstructionLogController) ConstructionLogDetails(ctx context.Context, req *wxApplet.ConstructionLogDetailsReq) (res *wxApplet.ConstructionLogDetailsRes, err error) {
res = new(wxApplet.ConstructionLogDetailsRes)
res, err = service.BusConstructionLog().ConstructionLogDetails(ctx, req)
return
}
// ConstructionLogList 小程序-列表
func (c *busConstructionLogController) ConstructionLogList(ctx context.Context, req *wxApplet.ConstructionLogListReq) (res *wxApplet.ConstructionLogListRes, err error) {
res = new(wxApplet.ConstructionLogListRes)
res, err = service.BusConstructionLog().ConstructionLogList(ctx, req)
return
}
// List 列表
func (c *busConstructionLogController) List(ctx context.Context, req *system.BusConstructionLogSearchReq) (res *system.BusConstructionLogSearchRes, err error) {
res, err = service.BusConstructionLog().List(ctx, req)
return
}
// Get 获取施工日志
func (c *busConstructionLogController) Get(ctx context.Context, req *system.BusConstructionLogGetReq) (res *system.BusConstructionLogGetRes, err error) {
res = new(system.BusConstructionLogGetRes)
res.DataEntity, err = service.BusConstructionLog().GetById(ctx, req.Id)
return
}
// Add 添加施工日志
func (c *busConstructionLogController) Add(ctx context.Context, req *system.BusConstructionLogAddReq) (res *system.BusConstructionLogAddRes, err error) {
err = service.BusConstructionLog().Add(ctx, req)
return
}
// Edit 修改施工日志
func (c *busConstructionLogController) Edit(ctx context.Context, req *system.BusConstructionLogEditReq) (res *system.BusConstructionLogEditRes, err error) {
err = service.BusConstructionLog().Edit(ctx, req)
return
}
// Delete 删除施工日志
func (c *busConstructionLogController) Delete(ctx context.Context, req *system.BusConstructionLogDeleteReq) (res *system.BusConstructionLogDeleteRes, err error) {
err = service.BusConstructionLog().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-07 10:17:50
// 生成路径: internal/app/system/controller/bus_construction_project.go
// 生成人gfast
// desc:施工人员对应项目
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busConstructionProjectController struct {
BaseController
}
var BusConstructionProject = new(busConstructionProjectController)
// List 列表
func (c *busConstructionProjectController) List(ctx context.Context, req *system.BusConstructionProjectSearchReq) (res *system.BusConstructionProjectSearchRes, err error) {
res, err = service.BusConstructionProject().List(ctx, req)
return
}
// Get 获取施工人员对应项目
func (c *busConstructionProjectController) Get(ctx context.Context, req *system.BusConstructionProjectGetReq) (res *system.BusConstructionProjectGetRes, err error) {
res = new(system.BusConstructionProjectGetRes)
res.BusConstructionProjectInfoRes, err = service.BusConstructionProject().GetById(ctx, req.Id)
return
}
// Add 添加施工人员对应项目
func (c *busConstructionProjectController) Add(ctx context.Context, req *system.BusConstructionProjectAddReq) (res *system.BusConstructionProjectAddRes, err error) {
err = service.BusConstructionProject().Add(ctx, req)
return
}
// Edit 修改施工人员对应项目
func (c *busConstructionProjectController) Edit(ctx context.Context, req *system.BusConstructionProjectEditReq) (res *system.BusConstructionProjectEditRes, err error) {
err = service.BusConstructionProject().Edit(ctx, req)
return
}
// Delete 删除施工人员对应项目
func (c *busConstructionProjectController) Delete(ctx context.Context, req *system.BusConstructionProjectDeleteReq) (res *system.BusConstructionProjectDeleteRes, err error) {
err = service.BusConstructionProject().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,274 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-07 10:31:18
// 生成路径: internal/app/system/controller/bus_construction_user.go
// 生成人gfast
// desc:施工人员
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"encoding/json"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
logic "github.com/tiger1103/gfast/v3/internal/app/system/logic/manageAirline"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
wxModel "github.com/tiger1103/gfast/v3/internal/app/wxApplet/model"
"github.com/tiger1103/gfast/v3/library/liberr"
"os"
"strconv"
"strings"
)
type busConstructionUserController struct {
BaseController
}
var BusConstructionUser = new(busConstructionUserController)
// ExportDataFunc 导出施工人员数据查询
func (c *busConstructionUserController) ExportDataFunc(ctx context.Context, req *system.BusConstructionUserSearchReq) (res *system.BusConstructionUserSearchRes, err error) {
res, err = service.BusConstructionUser().List(ctx, req)
return
}
// List 列表
func (c *busConstructionUserController) List(ctx context.Context, req *system.BusConstructionUserSearchReq) (res *system.BusConstructionUserSearchRes, err error) {
res, err = service.BusConstructionUser().List(ctx, req)
return
}
// Get 获取施工人员
func (c *busConstructionUserController) Get(ctx context.Context, req *system.BusConstructionUserGetReq) (res *system.BusConstructionUserGetRes, err error) {
res = new(system.BusConstructionUserGetRes)
res.BusConstructionUserInfoRes, err = service.BusConstructionUser().GetById(ctx, req.Id)
return
}
//// Add 添加施工人员
//func (c *busConstructionUserController) Add(ctx context.Context, req *system.BusConstructionUserAddReq) (res *system.BusConstructionUserAddRes, err error) {
// err = service.BusConstructionUser().Add(ctx, req)
// return
//}
// Edit 修改施工人员
func (c *busConstructionUserController) Edit(ctx context.Context, req *system.BusConstructionUserEditReq) (res *system.BusConstructionUserEditRes, err error) {
err = service.BusConstructionUser().Edit(ctx, req)
return
}
//// Delete 删除施工人员
//func (c *busConstructionUserController) Delete(ctx context.Context, req *system.BusConstructionUserDeleteReq) (res *system.BusConstructionUserDeleteRes, err error) {
// err = service.BusConstructionUser().Delete(ctx, req.Ids)
// return
//}
// BatchImportDataFunc 批量导入施工人员的资料
func (c *busConstructionUserController) BatchImportDataFunc(ctx context.Context, req *system.BatchImportDataReq) (res *system.BatchImportDataRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
//2、调用java那边的接口得到文件里面的内容
rpath := coryCommon.ResourcePublicToFunc("/"+req.File.Url, 2)
cwd := "/" + coryCommon.Ynr(coryCommon.GetCWD()+coryCommon.Helmet)
jsonData, err := logic.ExcelConvert(ctx, rpath, cwd)
//3、根据文件里的内容转成对应的实体类
var nestedList []map[int]model.ExcelEntity
err = json.Unmarshal([]byte(jsonData), &nestedList)
if err != nil {
liberr.ErrIsNil(ctx, err)
return
}
//7、删除文件
os.Remove(rpath)
//4、查询到对应数据的id返回id+身份证号码
var identityCard []string
for i, m := range nestedList {
num := i + 1
// 不看第一排的数据(表头不看)
if num > 1 {
//根据数据内容的身份证去获取到对应的数据ID
for key, value := range m {
if key == 0 {
identityCard = append(identityCard, value.Data)
}
}
}
}
var userEntity []*model.BusConstructionUserInfoRes
err = dao.BusConstructionUser.Ctx(ctx).WhereIn("sfz_number", identityCard).Fields("id,sfz_number").Scan(&userEntity)
if err != nil {
liberr.ErrIsNil(ctx, err)
return
}
//5、将数据中的身份证号码替换成对应的ID.
dataList := make([]map[int]model.ExcelEntity, 0) //这里表示在数据库找到了的数据,这些用户的资料可以上传
for i, m := range nestedList {
num := i + 1
// 不看第一排的数据(表头不看)
if num > 1 {
for key, _ := range m {
//key为0表示身份证这一列,这一列不需要
if key != 0 {
continue
}
temp := nestedList[i][key]
for j := range userEntity {
if userEntity[j].SfzNumber == temp.Data {
userId := strconv.FormatInt(userEntity[j].Id, 10)
temp.Data = userId
nestedList[i][key] = temp
dataList = append(dataList, nestedList[i])
}
}
}
}
}
var updateSql = ""
for i, m := range dataList {
userId := dataList[i][0].Data
for key, _ := range m {
if key == 0 {
continue
}
itoa := strconv.Itoa(key + 3)
if key == 6 {
itoa = strconv.Itoa(key + 3 + 1)
}
toFunc := coryCommon.ResourcePublicToFunc(dataList[i][key].Data, 1)
updateSql = updateSql + "UPDATE bus_construction_user_file SET path = " + "'" + toFunc + "'" + " WHERE user_id = " + userId + " and user_img_type = " + itoa + ";"
}
}
//6、将数据存储到
_, err = g.DB().Exec(ctx, updateSql)
liberr.ErrIsNil(ctx, err, "批量操作失败!")
})
return
}
// ExportSalaryTeamFunc 导出施工人员工资组成(项目)
func (c *busConstructionUserController) ExportSalaryTeamFunc(ctx context.Context, req *system.ExportSalaryTeamReq) (res *system.ExportSalaryRes, err error) {
res = new(system.ExportSalaryRes)
salaryReq := system.ExportSalaryReq{
ProjectId: req.ProjectId,
TeamId: req.TeamId,
FuzzyQuery: req.FuzzyQuery,
TypeOfWork: req.TypeOfWork,
DateStr: req.DateStr,
}
res, err = service.BusConstructionUser().ExportSalaryFunc(ctx, &salaryReq)
return
}
// ExportSalaryFunc 导出施工人员工资组成(班组)
func (c *busConstructionUserController) ExportSalaryFunc(ctx context.Context, req *system.ExportSalaryReq) (res *system.ExportSalaryRes, err error) {
res = new(system.ExportSalaryRes)
res, err = service.BusConstructionUser().ExportSalaryFunc(ctx, req)
return
}
// SigningMessagesFunc 【签名】根据openid获取到指定小程序用户的签名信息
func (c *busConstructionUserController) SigningMessagesFunc(ctx context.Context, req *system.SigningMessagesReq) (res *system.SigningMessagesRes, err error) {
res = new(system.SigningMessagesRes)
err = g.Try(ctx, func(ctx context.Context) {
var signature *wxModel.BusConstructiomUserSignatureRes
err = g.DB().Model("bus_constructiom_user_signature").Where("openid", req.Openid).Scan(&signature)
liberr.ErrIsNil(ctx, err, "获取数据失败")
if signature != nil {
signature.Signature = strings.Replace(signature.Signature, "resource/public", "/wxfile", 1)
res.Signature = signature
}
})
return
}
// SigningUpdateFunc 【签名】修改指定签名的状态change是否更改签名1不更改 2更改
func (c *busConstructionUserController) SigningUpdateFunc(ctx context.Context, req *system.SigningUpdateFuncReq) (res *system.SigningUpdateFuncRes, err error) {
res = new(system.SigningUpdateFuncRes)
err = g.Try(ctx, func(ctx context.Context) {
_, err := g.DB().Model("bus_constructiom_user_signature").WherePri(req.Id).Update(g.Map{"change": req.Change})
liberr.ErrIsNil(ctx, err, "获取数据失败")
})
return
}
// OneClickOpenFunc 一键开启/关闭打开
func (c *busConstructionUserController) OneClickOpenFunc(ctx context.Context, req *system.OneClickOpenReq) (res *system.OneClickOpenRes, err error) {
res = new(system.OneClickOpenRes)
err = service.BusConstructionUser().OneClickOpenFunc(ctx, req)
return
}
// ClockingConditionFunc 开启/关闭打开(根据某个人)
func (c *busConstructionUserController) ClockingConditionFunc(ctx context.Context, req *system.ClockingConditionReq) (res *system.ClockingConditionRes, err error) {
res = new(system.ClockingConditionRes)
err = service.BusConstructionUser().ClockingConditionFunc(ctx, req)
return
}
// TemplateExportFunc 施工人员资料文件上传模板导出
func (c *busConstructionUserController) TemplateExportFunc(ctx context.Context, req *system.TemplateExportReq) (res *system.TemplateExportRes, err error) {
res = new(system.TemplateExportRes)
res.Path, err = service.BusConstructionUser().TemplateExportFunc(ctx, req)
return
}
// ZipFolderuploadFunc 批量上传施工人员的资料压缩文件zip上传
func (c *busConstructionUserController) ZipFolderuploadFunc(ctx context.Context, req *system.ZipFolderuploadReq) (res *system.ZipFolderuploadRes, err error) {
res = new(system.ZipFolderuploadRes)
err = service.BusConstructionUser().ZipFolderuploadFunc(ctx, req)
return
}
// DepartureFunc 离场(成员离开班组)
func (c *busConstructionUserController) DepartureFunc(ctx context.Context, req *system.DepartureReq) (res *system.DepartureRes, err error) {
err = service.BusConstructionUser().DepartureFunc(ctx, req)
return
}
// DepartureRecordFunc 施工人员入场退场历史记录信息(根据身份证信息查询)
func (c *busConstructionUserController) DepartureRecordFunc(ctx context.Context, req *system.DepartureRecordReq) (res *system.DepartureRecordRes, err error) {
res = new(system.DepartureRecordRes)
res, err = service.BusConstructionUser().DepartureRecordFunc(ctx, req)
return
}
// PcCollectDataForTwoWeeksFunc 获取最近两周指定项目的考勤数据(统计全勤、半勤、缺勤)
func (c *busConstructionUserController) PcCollectDataForTwoWeeksFunc(ctx context.Context, req *system.PcCollectDataForTwoWeeksReq) (res *system.PcCollectDataForTwoWeeksRes, err error) {
res, err = service.BusConstructionUser().PcCollectDataForTwoWeeksFunc(ctx, req)
return
}
//// PcEmployeeAttendanceFunc 员工考勤情况
//func (c *busConstructionUserController) PcEmployeeAttendanceFunc(ctx context.Context, req *system.PcCollectDataForTwoWeeksReq) (res *system.PcCollectDataForTwoWeeksRes, err error) {
// res, err = service.BusConstructionUser().PcCollectDataForTwoWeeksFunc(ctx, req)
// return
//}
// PcSelectBelowProjectOfPersonnelFunc 获取指定项目下的人员打卡信息
func (c *busConstructionUserController) PcSelectBelowProjectOfPersonnelFunc(ctx context.Context, req *system.PcSelectBelowProjectOfPersonnelReq) (res *system.PcSelectBelowProjectOfPersonnelRes, err error) {
res, err = service.BusConstructionUser().PcSelectBelowProjectOfPersonnelFunc(ctx, req)
return
}
// PcQueryBasedOnOpenidFunc 根据openid查询某人指定月份的打卡详情
func (c *busConstructionUserController) PcQueryBasedOnOpenidFunc(ctx context.Context, req *system.PcQueryBasedOnOpenidReq) (res *system.PcQueryBasedOnOpenidRes, err error) {
res, err = service.BusConstructionUser().PcQueryBasedOnOpenidFunc(ctx, req)
return
}
/*
==========================================================考勤机相关=========================================================
==========================================================考勤机相关=========================================================
==========================================================考勤机相关=========================================================
*/
// ListOfAttendanceMachinesFunc 考勤机列表
func (c *busConstructionUserController) ListOfAttendanceMachinesFunc(ctx context.Context, req *system.ListOfAttendanceMachinesReq) (res *system.ListOfAttendanceMachinesRes, err error) {
return
}

View File

@ -0,0 +1,60 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-07 10:17:41
// 生成路径: internal/app/system/controller/bus_construction_user_file.go
// 生成人gfast
// desc:微信用户的文件存储
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busConstructionUserFileController struct {
BaseController
}
var BusConstructionUserFile = new(busConstructionUserFileController)
// List 列表
func (c *busConstructionUserFileController) List(ctx context.Context, req *system.BusConstructionUserFileSearchReq) (res *system.BusConstructionUserFileSearchRes, err error) {
res, err = service.BusConstructionUserFile().List(ctx, req)
return
}
// Get 获取微信用户的文件存储
func (c *busConstructionUserFileController) Get(ctx context.Context, req *system.BusConstructionUserFileGetReq) (res *system.BusConstructionUserFileGetRes, err error) {
res = new(system.BusConstructionUserFileGetRes)
res.BusConstructionUserFileInfoRes, err = service.BusConstructionUserFile().GetById(ctx, req.Id)
return
}
// GetBySafetyId 根据主键id获取安全考试信息GetBySafetyId(ctx context.Context, req *system.BusConstructionUserFileGetSafetyFileReq) (res *model.ModelWeChatPdfWoRes, err error)
func (c *busConstructionUserFileController) GetBySafetyId(ctx context.Context, req *system.BusConstructionUserFileGetSafetyFileReq) (res *system.BusConstructionUserFileGetSafetyFileRes, err error) {
res = new(system.BusConstructionUserFileGetSafetyFileRes)
res, err = service.BusConstructionUserFile().GetBySafetyId(ctx, req)
return
}
// Add 添加微信用户的文件存储
func (c *busConstructionUserFileController) Add(ctx context.Context, req *system.BusConstructionUserFileAddReq) (res *system.BusConstructionUserFileAddRes, err error) {
err = service.BusConstructionUserFile().Add(ctx, req)
return
}
// Edit 修改微信用户的文件存储
func (c *busConstructionUserFileController) Edit(ctx context.Context, req *system.BusConstructionUserFileEditReq) (res *system.BusConstructionUserFileEditRes, err error) {
err = service.BusConstructionUserFile().Edit(ctx, req)
return
}
// Delete 删除微信用户的文件存储
func (c *busConstructionUserFileController) Delete(ctx context.Context, req *system.BusConstructionUserFileDeleteReq) (res *system.BusConstructionUserFileDeleteRes, err error) {
err = service.BusConstructionUserFile().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-07 10:06:34
// 生成路径: internal/app/system/controller/bus_construction_user_post.go
// 生成人gfast
// desc:施工人员岗位
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busConstructionUserPostController struct {
BaseController
}
var BusConstructionUserPost = new(busConstructionUserPostController)
// List 列表
func (c *busConstructionUserPostController) List(ctx context.Context, req *system.BusConstructionUserPostSearchReq) (res *system.BusConstructionUserPostSearchRes, err error) {
res, err = service.BusConstructionUserPost().List(ctx, req)
return
}
// Get 获取施工人员岗位
func (c *busConstructionUserPostController) Get(ctx context.Context, req *system.BusConstructionUserPostGetReq) (res *system.BusConstructionUserPostGetRes, err error) {
res = new(system.BusConstructionUserPostGetRes)
res.BusConstructionUserPostInfoRes, err = service.BusConstructionUserPost().GetById(ctx, req.Id)
return
}
// Add 添加施工人员岗位
func (c *busConstructionUserPostController) Add(ctx context.Context, req *system.BusConstructionUserPostAddReq) (res *system.BusConstructionUserPostAddRes, err error) {
err = service.BusConstructionUserPost().Add(ctx, req)
return
}
// Edit 修改施工人员岗位
func (c *busConstructionUserPostController) Edit(ctx context.Context, req *system.BusConstructionUserPostEditReq) (res *system.BusConstructionUserPostEditRes, err error) {
err = service.BusConstructionUserPost().Edit(ctx, req)
return
}
// Delete 删除施工人员岗位
func (c *busConstructionUserPostController) Delete(ctx context.Context, req *system.BusConstructionUserPostDeleteReq) (res *system.BusConstructionUserPostDeleteRes, err error) {
err = service.BusConstructionUserPost().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-20 16:49:36
// 生成路径: internal/app/system/controller/bus_corporate_events.go
// 生成人gfast
// desc:企业大事记
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busCorporateEventsController struct {
BaseController
}
var BusCorporateEvents = new(busCorporateEventsController)
// List 列表
func (c *busCorporateEventsController) List(ctx context.Context, req *system.BusCorporateEventsSearchReq) (res *system.BusCorporateEventsSearchRes, err error) {
res, err = service.BusCorporateEvents().List(ctx, req)
return
}
// Get 获取企业大事记
func (c *busCorporateEventsController) Get(ctx context.Context, req *system.BusCorporateEventsGetReq) (res *system.BusCorporateEventsGetRes, err error) {
res = new(system.BusCorporateEventsGetRes)
res.BusCorporateEventsInfoRes, err = service.BusCorporateEvents().GetById(ctx, req.Id)
return
}
// Add 添加企业大事记
func (c *busCorporateEventsController) Add(ctx context.Context, req *system.BusCorporateEventsAddReq) (res *system.BusCorporateEventsAddRes, err error) {
err = service.BusCorporateEvents().Add(ctx, req)
return
}
// Edit 修改企业大事记
func (c *busCorporateEventsController) Edit(ctx context.Context, req *system.BusCorporateEventsEditReq) (res *system.BusCorporateEventsEditRes, err error) {
err = service.BusCorporateEvents().Edit(ctx, req)
return
}
// Delete 删除企业大事记
func (c *busCorporateEventsController) Delete(ctx context.Context, req *system.BusCorporateEventsDeleteReq) (res *system.BusCorporateEventsDeleteRes, err error) {
err = service.BusCorporateEvents().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,70 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-09 15:40:16
// 生成路径: internal/app/system/controller/bus_design_audit.go
// 生成人gfast
// desc:设计审核(竣工、施工、可研)
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
)
type busDesignAuditController struct {
BaseController
}
var BusDesignAudit = new(busDesignAuditController)
// List 列表
func (c *busDesignAuditController) List(ctx context.Context, req *system.BusDesignAuditSearchReq) (res *system.BusDesignAuditSearchRes, err error) {
res, err = service.BusDesignAudit().List(ctx, req)
return
}
// Get 获取设计审核(竣工、施工、可研)
func (c *busDesignAuditController) Get(ctx context.Context, req *system.BusDesignAuditGetReq) (res *system.BusDesignAuditGetRes, err error) {
res = new(system.BusDesignAuditGetRes)
res.BusDesignAuditInfoRes, err = service.BusDesignAudit().GetById(ctx, req.Id)
return
}
//// Add 添加设计审核(竣工、施工、可研)
//func (c *busDesignAuditController) Add(ctx context.Context, req *system.BusDesignAuditAddReq) (res *system.BusDesignAuditAddRes, err error) {
// err = service.BusDesignAudit().Add(ctx, req)
// return
//}
// Edit 修改设计审核(竣工、施工、可研)
func (c *busDesignAuditController) Edit(ctx context.Context, req *system.BusDesignAuditEditReq) (res *system.BusDesignAuditEditRes, err error) {
err = service.BusDesignAudit().Edit(ctx, req)
return
}
// Delete 删除设计审核(竣工、施工、可研)
func (c *busDesignAuditController) Delete(ctx context.Context, req *system.BusDesignAuditDeleteReq) (res *system.BusDesignAuditDeleteRes, err error) {
err = service.BusDesignAudit().Delete(ctx, req.Id)
return
}
// DesignAuditFileDownload 单文件下载
func (c *busDesignAuditController) DesignAuditFileDownload(ctx context.Context, req *system.DesignAuditFileDownloadReq) (res *system.DesignAuditFileDownloadRes, err error) {
res = new(system.DesignAuditFileDownloadRes)
err = g.Try(ctx, func(ctx context.Context) {
value, err := g.DB().Model(req.TableName).Ctx(ctx).Unscoped().WherePri(req.TableId).Fields("filen_path").Value()
liberr.ErrIsNil(ctx, err, "下载失败")
//进行下载
path, err := WpFileDownload(ctx, value.String(), req.Type, req.TableName, req.TableId, req.ProjectId)
if err == nil {
res.Path = path
}
})
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 16:31:29
// 生成路径: internal/app/system/controller/bus_design_document.go
// 生成人gfast
// desc:设计管理
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busDesignDocumentController struct {
BaseController
}
var BusDesignDocument = new(busDesignDocumentController)
// List 列表
func (c *busDesignDocumentController) List(ctx context.Context, req *system.BusDesignDocumentSearchReq) (res *system.BusDesignDocumentSearchRes, err error) {
res, err = service.BusDesignDocument().List(ctx, req)
return
}
// Get 获取设计管理
func (c *busDesignDocumentController) Get(ctx context.Context, req *system.BusDesignDocumentGetReq) (res *system.BusDesignDocumentGetRes, err error) {
res = new(system.BusDesignDocumentGetRes)
res.BusDesignDocumentInfoRes, err = service.BusDesignDocument().GetById(ctx, req.Id)
return
}
// Add 添加设计管理
func (c *busDesignDocumentController) Add(ctx context.Context, req *system.BusDesignDocumentAddReq) (res *system.BusDesignDocumentAddRes, err error) {
err = service.BusDesignDocument().Add(ctx, req)
return
}
// Edit 修改设计管理
func (c *busDesignDocumentController) Edit(ctx context.Context, req *system.BusDesignDocumentEditReq) (res *system.BusDesignDocumentEditRes, err error) {
err = service.BusDesignDocument().Edit(ctx, req)
return
}
// Delete 删除设计管理
func (c *busDesignDocumentController) Delete(ctx context.Context, req *system.BusDesignDocumentDeleteReq) (res *system.BusDesignDocumentDeleteRes, err error) {
err = service.BusDesignDocument().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-11 17:28:54
// 生成路径: internal/app/system/controller/bus_design_period_range.go
// 生成人gfast
// desc:设计-周期范围
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busDesignPeriodRangeController struct {
BaseController
}
var BusDesignPeriodRange = new(busDesignPeriodRangeController)
// List 列表
func (c *busDesignPeriodRangeController) List(ctx context.Context, req *system.BusDesignPeriodRangeSearchReq) (res *system.BusDesignPeriodRangeSearchRes, err error) {
res, err = service.BusDesignPeriodRange().List(ctx, req)
return
}
//// Get 获取设计-周期范围
//func (c *busDesignPeriodRangeController) Get(ctx context.Context, req *system.BusDesignPeriodRangeGetReq) (res *system.BusDesignPeriodRangeGetRes, err error) {
// res = new(system.BusDesignPeriodRangeGetRes)
// res.BusDesignPeriodRangeInfoRes, err = service.BusDesignPeriodRange().GetById(ctx, req.Id)
// return
//}
// Add 添加设计-周期范围
func (c *busDesignPeriodRangeController) Add(ctx context.Context, req *system.BusDesignPeriodRangeAddReq) (res *system.BusDesignPeriodRangeAddRes, err error) {
err = service.BusDesignPeriodRange().Add(ctx, req)
return
}
//// Edit 修改设计-周期范围
//func (c *busDesignPeriodRangeController) Edit(ctx context.Context, req *system.BusDesignPeriodRangeEditReq) (res *system.BusDesignPeriodRangeEditRes, err error) {
// err = service.BusDesignPeriodRange().Edit(ctx, req)
// return
//}
// Delete 删除设计-周期范围
func (c *busDesignPeriodRangeController) Delete(ctx context.Context, req *system.BusDesignPeriodRangeDeleteReq) (res *system.BusDesignPeriodRangeDeleteRes, err error) {
err = service.BusDesignPeriodRange().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,59 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 09:31:22
// 生成路径: internal/app/system/controller/bus_engineering_quality.go
// 生成人gfast
// desc:工程质量列
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busEngineeringQualityController struct {
BaseController
}
var BusEngineeringQuality = new(busEngineeringQualityController)
// List 列表
func (c *busEngineeringQualityController) List(ctx context.Context, req *system.BusEngineeringQualitySearchReq) (res *system.BusEngineeringQualitySearchRes, err error) {
res, err = service.BusEngineeringQuality().List(ctx, req)
return
}
// Get 获取工程质量列
func (c *busEngineeringQualityController) Get(ctx context.Context, req *system.BusEngineeringQualityGetReq) (res *system.BusEngineeringQualityGetRes, err error) {
res = new(system.BusEngineeringQualityGetRes)
res.BusEngineeringQualityInfoRes, err = service.BusEngineeringQuality().GetById(ctx, req.Id)
return
}
// Add 添加工程质量列
func (c *busEngineeringQualityController) Add(ctx context.Context, req *system.BusEngineeringQualityAddReq) (res *system.BusEngineeringQualityAddRes, err error) {
err = service.BusEngineeringQuality().Add(ctx, req)
return
}
// Edit 修改工程质量列
func (c *busEngineeringQualityController) Edit(ctx context.Context, req *system.BusEngineeringQualityEditReq) (res *system.BusEngineeringQualityEditRes, err error) {
err = service.BusEngineeringQuality().Edit(ctx, req)
return
}
// Delete 删除工程质量列
func (c *busEngineeringQualityController) Delete(ctx context.Context, req *system.BusEngineeringQualityDeleteReq) (res *system.BusEngineeringQualityDeleteRes, err error) {
err = service.BusEngineeringQuality().Delete(ctx, req.Ids)
return
}
// 文件上传 单文件
func (c *busEngineeringQualityController) BusEngineeringQualityUploading(ctx context.Context, req *system.BusEngineeringQualityUploadingReq) (res *system.BusEngineeringQualityUploadingRes, err error) {
err = service.BusEngineeringQuality().BusEngineeringQualityUploading(ctx, req)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 11:14:45
// 生成路径: internal/app/system/controller/bus_equipment_equipment_unpacking.go
// 生成人gfast
// desc:开箱记录
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busEquipmentEquipmentUnpackingController struct {
BaseController
}
var BusEquipmentEquipmentUnpacking = new(busEquipmentEquipmentUnpackingController)
// List 列表
func (c *busEquipmentEquipmentUnpackingController) List(ctx context.Context, req *system.BusEquipmentEquipmentUnpackingSearchReq) (res *system.BusEquipmentEquipmentUnpackingSearchRes, err error) {
res, err = service.BusEquipmentEquipmentUnpacking().List(ctx, req)
return
}
// Get 获取开箱记录
func (c *busEquipmentEquipmentUnpackingController) Get(ctx context.Context, req *system.BusEquipmentEquipmentUnpackingGetReq) (res *system.BusEquipmentEquipmentUnpackingGetRes, err error) {
res = new(system.BusEquipmentEquipmentUnpackingGetRes)
res.BusEquipmentEquipmentUnpackingInfoRes, err = service.BusEquipmentEquipmentUnpacking().GetByUnpackingId(ctx, req.UnpackingId)
return
}
// Add 添加开箱记录
func (c *busEquipmentEquipmentUnpackingController) Add(ctx context.Context, req *system.BusEquipmentEquipmentUnpackingAddReq) (res *system.BusEquipmentEquipmentUnpackingAddRes, err error) {
err = service.BusEquipmentEquipmentUnpacking().Add(ctx, req)
return
}
// Edit 修改开箱记录
func (c *busEquipmentEquipmentUnpackingController) Edit(ctx context.Context, req *system.BusEquipmentEquipmentUnpackingEditReq) (res *system.BusEquipmentEquipmentUnpackingEditRes, err error) {
err = service.BusEquipmentEquipmentUnpacking().Edit(ctx, req)
return
}
// Delete 删除开箱记录
func (c *busEquipmentEquipmentUnpackingController) Delete(ctx context.Context, req *system.BusEquipmentEquipmentUnpackingDeleteReq) (res *system.BusEquipmentEquipmentUnpackingDeleteRes, err error) {
err = service.BusEquipmentEquipmentUnpacking().Delete(ctx, req.UnpackingIds)
return
}

View File

@ -0,0 +1,91 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 11:14:16
// 生成路径: internal/app/system/controller/bus_equipment_materials.go
// 生成人gfast
// desc:材料/设备名称
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busEquipmentMaterialsController struct {
BaseController
}
var BusEquipmentMaterials = new(busEquipmentMaterialsController)
// List 列表
func (c *busEquipmentMaterialsController) List(ctx context.Context, req *system.BusEquipmentMaterialsSearchReq) (res *system.BusEquipmentMaterialsSearchRes, err error) {
res, err = service.BusEquipmentMaterials().List(ctx, req)
return
}
// Get 获取材料/设备名称
func (c *busEquipmentMaterialsController) Get(ctx context.Context, req *system.BusEquipmentMaterialsGetReq) (res *system.BusEquipmentMaterialsGetRes, err error) {
res = new(system.BusEquipmentMaterialsGetRes)
res.BusEquipmentMaterialsInfoRes, err = service.BusEquipmentMaterials().GetByEquipmentMaterialsId(ctx, req.EquipmentMaterialsId)
return
}
// Add 添加材料/设备名称
func (c *busEquipmentMaterialsController) Add(ctx context.Context, req *system.BusEquipmentMaterialsAddReq) (res *system.BusEquipmentMaterialsAddRes, err error) {
err = service.BusEquipmentMaterials().Add(ctx, req)
return
}
// Edit 修改材料/设备名称
func (c *busEquipmentMaterialsController) Edit(ctx context.Context, req *system.BusEquipmentMaterialsEditReq) (res *system.BusEquipmentMaterialsEditRes, err error) {
err = service.BusEquipmentMaterials().Edit(ctx, req)
return
}
// Delete 删除材料/设备名称
func (c *busEquipmentMaterialsController) Delete(ctx context.Context, req *system.BusEquipmentMaterialsDeleteReq) (res *system.BusEquipmentMaterialsDeleteRes, err error) {
err = service.BusEquipmentMaterials().Delete(ctx, req.EquipmentMaterialsIds)
return
}
// MaterialsFunc 材料数量
func (c *busEquipmentMaterialsController) MaterialsFunc(ctx context.Context, req *system.MaterialsReq) (res *system.MaterialsRes, err error) {
res, err = service.BusEquipmentMaterials().MaterialsFunc(ctx, req)
return
}
// ConditionFunc 材料情况
func (c *busEquipmentMaterialsController) ConditionFunc(ctx context.Context, req *system.ConditionReq) (res *system.ConditionRes, err error) {
res, err = service.BusEquipmentMaterials().ConditionFunc(ctx, req)
return
}
// App
// AppAdd 添加材料/设备名称
func (c *busEquipmentMaterialsController) AppAdd(ctx context.Context, req *system.BusEquipmentMaterialsAppAddReq) (res *system.BusEquipmentMaterialsAppAddRes, err error) {
err = service.BusEquipmentMaterials().AppAdd(ctx, req)
return
}
// AppEdit 修改材料/设备名称
func (c *busEquipmentMaterialsController) AppEdit(ctx context.Context, req *system.BusEquipmentMaterialsAppEditReq) (res *system.BusEquipmentMaterialsAppEditRes, err error) {
err = service.BusEquipmentMaterials().AppEdit(ctx, req)
return
}
// AppList 列表
func (c *busEquipmentMaterialsController) AppList(ctx context.Context, req *system.BusEquipmentMaterialsAppSearchReq) (res *system.BusEquipmentMaterialsAppSearchRes, err error) {
res, err = service.BusEquipmentMaterials().AppList(ctx, req)
return
}
// AppGetById 获取材料/设备名称
func (c *busEquipmentMaterialsController) AppGetById(ctx context.Context, req *system.BusEquipmentMaterialsAppGetReq) (res *system.BusEquipmentMaterialsAppGetRes, err error) {
res = new(system.BusEquipmentMaterialsAppGetRes)
res.BusEquipmentMaterialsAppFileInfoRes, err = service.BusEquipmentMaterials().AppGetById(ctx, req.EquipmentMaterialsId)
return
}

View File

@ -0,0 +1,30 @@
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busEquipmentMaterialsexcelController struct {
BaseController
}
var BusEquipmentMaterialsExcel = new(busEquipmentMaterialsexcelController)
func (c *busEquipmentMaterialsexcelController) Index(ctx context.Context, req *system.BusEquipmentMaterialsExcelIndexReq) (listRes *system.BusEquipmentMaterialsExcelIndexRes, err error) {
listRes, err = service.BusEquipmentMaterialsExcel().Index(ctx, req)
return
}
// Excel List
func (c *busEquipmentMaterialsexcelController) List(ctx context.Context, req *system.BusEquipmentMaterialsExcelSearchReq) (res *system.BusEquipmentMaterialsExcelSearchRes, err error) {
res, err = service.BusEquipmentMaterialsExcel().List(ctx, req)
return
}
// excel exit
func (c *busEquipmentMaterialsexcelController) Exit(ctx context.Context, req *system.BusEquipmentMaterialsExcelEditReq) (res *system.BusEquipmentMaterialsExcelEditRes, err error) {
err = service.BusEquipmentMaterialsExcel().Edit(ctx, req)
return
}

View File

@ -0,0 +1,82 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-13 14:21:30
// 生成路径: internal/app/system/controller/bus_equipment_materials_inventory.go
// 生成人gfast
// desc:设备材料入库
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busEquipmentMaterialsInventoryController struct {
BaseController
}
var BusEquipmentMaterialsInventory = new(busEquipmentMaterialsInventoryController)
// List 列表
func (c *busEquipmentMaterialsInventoryController) List(ctx context.Context, req *system.BusEquipmentMaterialsInventorySearchReq) (res *system.BusEquipmentMaterialsInventorySearchRes, err error) {
res, err = service.BusEquipmentMaterialsInventory().List(ctx, req)
return
}
// Get 获取设备材料入库
func (c *busEquipmentMaterialsInventoryController) Get(ctx context.Context, req *system.BusEquipmentMaterialsInventoryGetReq) (res *system.BusEquipmentMaterialsInventoryGetRes, err error) {
res = new(system.BusEquipmentMaterialsInventoryGetRes)
res.BusEquipmentMaterialsInventoryInfoRes, err = service.BusEquipmentMaterialsInventory().GetById(ctx, req.Id)
return
}
// Add 添加设备材料入库
func (c *busEquipmentMaterialsInventoryController) Add(ctx context.Context, req *system.BusEquipmentMaterialsInventoryAddReq) (res *system.BusEquipmentMaterialsInventoryAddRes, err error) {
err = service.BusEquipmentMaterialsInventory().Add(ctx, req)
return
}
// Edit 修改设备材料入库
func (c *busEquipmentMaterialsInventoryController) Edit(ctx context.Context, req *system.BusEquipmentMaterialsInventoryEditReq) (res *system.BusEquipmentMaterialsInventoryEditRes, err error) {
err = service.BusEquipmentMaterialsInventory().Edit(ctx, req)
return
}
// Delete 删除设备材料入库
func (c *busEquipmentMaterialsInventoryController) Delete(ctx context.Context, req *system.BusEquipmentMaterialsInventoryDeleteReq) (res *system.BusEquipmentMaterialsInventoryDeleteRes, err error) {
err = service.BusEquipmentMaterialsInventory().Delete(ctx, req.Ids)
return
}
//app
func (c *busEquipmentMaterialsInventoryController) AppAdd(ctx context.Context, req *system.BusEquipmentMaterialsInventoryAppAddReq) (res *system.BusEquipmentMaterialsInventoryAppAddRes, err error) {
err = service.BusEquipmentMaterialsInventory().AppAdd(ctx, req)
return
}
func (c *busEquipmentMaterialsInventoryController) AppEdit(ctx context.Context, req *system.BusEquipmentMaterialsInventoryAppEditReq) (res *system.BusEquipmentMaterialsInventoryAppEditRes, err error) {
err = service.BusEquipmentMaterialsInventory().AppEdit(ctx, req)
return
}
func (c *busEquipmentMaterialsInventoryController) AppList(ctx context.Context, req *system.BusEquipmentMaterialsInventoryAppSearchReq) (res *system.BusEquipmentMaterialsInventoryAppSearchRes, err error) {
res, err = service.BusEquipmentMaterialsInventory().AppList(ctx, req)
return
}
func (c *busEquipmentMaterialsInventoryController) AppGetById(ctx context.Context, req *system.BusEquipmentMaterialsInventoryAppGetReq) (res *system.BusEquipmentMaterialsInventoryAppGetRes, err error) {
res = new(system.BusEquipmentMaterialsInventoryAppGetRes)
res.BusEquipmentMaterialsInventoryAppInfoRes, err = service.BusEquipmentMaterialsInventory().AppGetById(ctx, req.Id)
return
}
// Delete 删除设备材料入库
func (c *busEquipmentMaterialsInventoryController) AppDelete(ctx context.Context, req *system.BusEquipmentMaterialsInventoryAppDeleteReq) (res *system.BusEquipmentMaterialsInventoryAppDeleteRes, err error) {
err = service.BusEquipmentMaterialsInventory().AppDelete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-20 19:38:54
// 生成路径: internal/app/system/controller/bus_essential_information.go
// 生成人gfast
// desc:项目基本信息
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busEssentialInformationController struct {
BaseController
}
var BusEssentialInformation = new(busEssentialInformationController)
// List 列表
func (c *busEssentialInformationController) List(ctx context.Context, req *system.BusEssentialInformationSearchReq) (res *system.BusEssentialInformationSearchRes, err error) {
res, err = service.BusEssentialInformation().List(ctx, req)
return
}
// Get 获取项目基本信息
func (c *busEssentialInformationController) Get(ctx context.Context, req *system.BusEssentialInformationGetReq) (res *system.BusEssentialInformationGetRes, err error) {
res = new(system.BusEssentialInformationGetRes)
res.BusEssentialInformationInfoRes, err = service.BusEssentialInformation().GetById(ctx, req.Id)
return
}
// Add 添加项目基本信息
func (c *busEssentialInformationController) Add(ctx context.Context, req *system.BusEssentialInformationAddReq) (res *system.BusEssentialInformationAddRes, err error) {
err = service.BusEssentialInformation().Add(ctx, req)
return
}
// Edit 修改项目基本信息
func (c *busEssentialInformationController) Edit(ctx context.Context, req *system.BusEssentialInformationEditReq) (res *system.BusEssentialInformationEditRes, err error) {
err = service.BusEssentialInformation().Edit(ctx, req)
return
}
// Delete 删除项目基本信息
func (c *busEssentialInformationController) Delete(ctx context.Context, req *system.BusEssentialInformationDeleteReq) (res *system.BusEssentialInformationDeleteRes, err error) {
err = service.BusEssentialInformation().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,59 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-15 17:15:59
// 生成路径: internal/app/system/controller/bus_folder.go
// 生成人gfast
// desc:文件夹
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busFolderController struct {
BaseController
}
var BusFolder = new(busFolderController)
// List 列表
func (c *busFolderController) List(ctx context.Context, req *system.BusFolderSearchReq) (res *system.BusFolderSearchRes, err error) {
res, err = service.BusFolder().List(ctx, req)
return
}
// TreeFormListFunc 树形结构列表(系统文件夹的虚拟树形结构)
func (c *busFolderController) TreeFormListFunc(ctx context.Context, req *system.TreeFormListFuncReq) (res *system.TreeFormListFuncRes, err error) {
res, err = service.BusFolder().TreeFormListFunc(ctx, req)
return
}
// Get 获取文件夹
func (c *busFolderController) Get(ctx context.Context, req *system.BusFolderGetReq) (res *system.BusFolderGetRes, err error) {
res = new(system.BusFolderGetRes)
res.BusFolderInfoRes, err = service.BusFolder().GetById(ctx, req.Id)
return
}
// Add 添加文件夹
func (c *busFolderController) Add(ctx context.Context, req *system.BusFolderAddReq) (res *system.BusFolderAddRes, err error) {
err = service.BusFolder().Add(ctx, req)
return
}
// Edit 修改文件夹
func (c *busFolderController) Edit(ctx context.Context, req *system.BusFolderEditReq) (res *system.BusFolderEditRes, err error) {
err = service.BusFolder().Edit(ctx, req)
return
}
// Delete 删除文件夹
func (c *busFolderController) Delete(ctx context.Context, req *system.BusFolderDeleteReq) (res *system.BusFolderDeleteRes, err error) {
err = service.BusFolder().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-15 17:16:00
// 生成路径: internal/app/system/controller/bus_folder_file.go
// 生成人gfast
// desc:文件
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busFolderFileController struct {
BaseController
}
var BusFolderFile = new(busFolderFileController)
// List 列表
func (c *busFolderFileController) List(ctx context.Context, req *system.BusFolderFileSearchReq) (res *system.BusFolderFileSearchRes, err error) {
res, err = service.BusFolderFile().List(ctx, req)
return
}
// Get 获取文件
func (c *busFolderFileController) Get(ctx context.Context, req *system.BusFolderFileGetReq) (res *system.BusFolderFileGetRes, err error) {
res = new(system.BusFolderFileGetRes)
res.BusFolderFileInfoRes, err = service.BusFolderFile().GetById(ctx, req.Id)
return
}
// Add 添加文件
func (c *busFolderFileController) Add(ctx context.Context, req *system.BusFolderFileAddReq) (res *system.BusFolderFileAddRes, err error) {
err = service.BusFolderFile().Add(ctx, req)
return
}
// Edit 修改文件
func (c *busFolderFileController) Edit(ctx context.Context, req *system.BusFolderFileEditReq) (res *system.BusFolderFileEditRes, err error) {
err = service.BusFolderFile().Edit(ctx, req)
return
}
// Delete 删除文件
func (c *busFolderFileController) Delete(ctx context.Context, req *system.BusFolderFileDeleteReq) (res *system.BusFolderFileDeleteRes, err error) {
err = service.BusFolderFile().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,108 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-28 14:53:05
// 生成路径: internal/app/system/controller/bus_hse_management.go
// 生成人gfast
// desc:HSE-巡检工单
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
wxSystem "github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busHseManagementController struct {
BaseController
}
var BusHseManagement = new(busHseManagementController)
// List 列表
func (c *busHseManagementController) List(ctx context.Context, req *system.BusHseManagementSearchReq) (res *system.BusHseManagementSearchRes, err error) {
res, err = service.BusHseManagement().List(ctx, req)
return
}
// Get 获取HSE-巡检工单
func (c *busHseManagementController) Get(ctx context.Context, req *system.BusHseManagementGetReq) (res *system.BusHseManagementGetRes, err error) {
res = new(system.BusHseManagementGetRes)
res.BusHseManagementDetailsRes, err = service.BusHseManagement().GetById(ctx, req.Id)
return
}
// Add 添加HSE-巡检工单-通知
func (c *busHseManagementController) Add(ctx context.Context, req *system.BusHseManagementAddReq) (res *system.BusHseManagementAddRes, err error) {
err = service.BusHseManagement().Add(ctx, req)
return
}
//// Edit 修改HSE-巡检工单-整改
//func (c *busHseManagementController) Edit(ctx context.Context, req *system.BusHseManagementEditReq) (res *system.BusHseManagementEditRes, err error) {
// err = service.BusHseManagement().Edit(ctx, req)
// return
//}
// EditReview 修改HSE-巡检工单-复查
func (c *busHseManagementController) EditReview(ctx context.Context, req *system.EditReviewReq) (res *system.EditReviewRes, err error) {
err = service.BusHseManagement().EditReview(ctx, req)
return
}
// Delete 删除HSE-巡检工单
func (c *busHseManagementController) Delete(ctx context.Context, req *system.BusHseManagementDeleteReq) (res *system.BusHseManagementDeleteRes, err error) {
err = service.BusHseManagement().Delete(ctx, req.Ids)
return
}
// HseManagementAppletAddFunc 微信小程序-新增
func (c *busHseManagementController) HseManagementAppletAddFunc(ctx context.Context, req *wxSystem.HseManagementAppletAddReq) (res *wxSystem.HseManagementAppletAddRes, err error) {
err = service.BusHseManagement().HseManagementAppletAddFunc(ctx, req)
return
}
// HseManagementAppletAbarbeitungFunc 微信小程序-整改
func (c *busHseManagementController) HseManagementAppletAbarbeitungFunc(ctx context.Context, req *wxSystem.HseManagementAppletAbarbeitungReq) (res *wxSystem.HseManagementAppletAbarbeitungRes, err error) {
err = service.BusHseManagement().HseManagementAppletAbarbeitungFunc(ctx, req)
return
}
// HseManagementAppletVerifyFunc 微信小程序-验证
func (c *busHseManagementController) HseManagementAppletVerifyFunc(ctx context.Context, req *wxSystem.HseManagementAppletVerifyReq) (res *wxSystem.HseManagementAppletVerifyRes, err error) {
err = service.BusHseManagement().HseManagementAppletVerifyFunc(ctx, req)
return
}
// HseManagementAppletListFunc 微信小程序-列表
func (c *busHseManagementController) HseManagementAppletListFunc(ctx context.Context, req *wxSystem.HseManagementAppletListReq) (res *wxSystem.HseManagementAppletListRes, err error) {
res, err = service.BusHseManagement().HseManagementAppletListFunc(ctx, req)
return
}
// HseManagementAppletDetailsFunc 微信小程序-详情
func (c *busHseManagementController) HseManagementAppletDetailsFunc(ctx context.Context, req *wxSystem.HseManagementAppletDetailsReq) (res *wxSystem.HseManagementAppletDetailsRes, err error) {
res, err = service.BusHseManagement().HseManagementAppletDetailsFunc(ctx, req)
return
}
// GisSafetyManagementFunc Gis安全管理统计
func (c *busHseManagementController) GisSafetyManagementFunc(ctx context.Context, req *system.GisSafetyManagementReq) (res *system.GisSafetyManagementRes, err error) {
res, err = service.BusHseManagement().GisSafetyManagementFunc(ctx, req)
return
}
// GisSafetyManagementListFunc Gis质量管理列表
func (c *busHseManagementController) GisSafetyManagementListFunc(ctx context.Context, req *system.GisSafetyManagementListReq) (res *system.GisSafetyManagementListRes, err error) {
res, err = service.BusHseManagement().GisSafetyManagementListFunc(ctx, req)
return
}
// SafetyLargeScreenDetailsFunc 大屏详情
func (c *busInspectionTicketController) SafetyLargeScreenDetailsFunc(ctx context.Context, req *system.SafetyLargeScreenDetailsReq) (res *system.SafetyLargeScreenDetailsRes, err error) {
res, err = service.BusHseManagement().SafetyLargeScreenDetails(ctx, req)
return
}

View File

@ -0,0 +1,78 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-07 17:00:45
// 生成路径: internal/app/system/controller/bus_hse_security_log.go
// 生成人gfast
// desc:HSE安全日志
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
wxSystem "github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busHseSecurityLogController struct {
BaseController
}
var BusHseSecurityLog = new(busHseSecurityLogController)
// List 列表
func (c *busHseSecurityLogController) List(ctx context.Context, req *system.BusHseSecurityLogSearchReq) (res *system.BusHseSecurityLogSearchRes, err error) {
res, err = service.BusHseSecurityLog().List(ctx, req)
return
}
// Get 获取HSE安全日志
func (c *busHseSecurityLogController) Get(ctx context.Context, req *system.BusHseSecurityLogGetReq) (res *system.BusHseSecurityLogGetRes, err error) {
res = new(system.BusHseSecurityLogGetRes)
res.BusHseSecurityLogInfoTwoRes, err = service.BusHseSecurityLog().GetById(ctx, req.Id)
return
}
// AddText 添加HSE安全日志--文字
func (c *busHseSecurityLogController) AddText(ctx context.Context, req *system.BusHseSecurityLogAddTxetReq) (res *system.BusHseSecurityLogAddTxetRes, err error) {
err = service.BusHseSecurityLog().AddText(ctx, req)
return
}
// AddFile 添加HSE安全日志--附件
func (c *busHseSecurityLogController) AddFile(ctx context.Context, req *system.BusHseSecurityLogAddFileReq) (res *system.BusHseSecurityLogAddFileRes, err error) {
err = service.BusHseSecurityLog().AddFile(ctx, req)
return
}
//// Edit 修改HSE安全日志
//func (c *busHseSecurityLogController) Edit(ctx context.Context, req *system.BusHseSecurityLogEditReq) (res *system.BusHseSecurityLogEditRes, err error) {
// err = service.BusHseSecurityLog().Edit(ctx, req)
// return
//}
// Delete 删除HSE安全日志
func (c *busHseSecurityLogController) Delete(ctx context.Context, req *system.BusHseSecurityLogDeleteReq) (res *system.BusHseSecurityLogDeleteRes, err error) {
err = service.BusHseSecurityLog().Delete(ctx, req.Ids)
return
}
// HseSecurityLogAppletAddFunc 微信小程序-新增
func (c *busHseSecurityLogController) HseSecurityLogAppletAddFunc(ctx context.Context, req *wxSystem.HseSecurityLogAppletAddReq) (res *wxSystem.HseSecurityLogAppletAddRes, err error) {
err = service.BusHseSecurityLog().HseSecurityLogAppletAdd(ctx, req)
return
}
// HseSecurityLogAppletListFunc 微信小程序-列表分页
func (c *busHseSecurityLogController) HseSecurityLogAppletListFunc(ctx context.Context, req *wxSystem.HseSecurityLogAppletListReq) (res *wxSystem.HseSecurityLogAppletListRes, err error) {
res, err = service.BusHseSecurityLog().HseSecurityLogAppletList(ctx, req)
return
}
// HseSecurityLogAppletDetailsFunc 微信小程序-详情
func (c *busHseSecurityLogController) HseSecurityLogAppletDetailsFunc(ctx context.Context, req *wxSystem.HseSecurityLogAppletDetailsReq) (res *wxSystem.HseSecurityLogAppletDetailsRes, err error) {
res, err = service.BusHseSecurityLog().HseSecurityLogAppletDetails(ctx, req)
return
}

View File

@ -0,0 +1,122 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-21 15:23:59
// 生成路径: internal/app/system/controller/bus_inspection_ticket.go
// 生成人gfast
// desc:质量工单
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
wxSystem "github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busInspectionTicketController struct {
BaseController
}
var BusInspectionTicket = new(busInspectionTicketController)
// UpdataCorrector pc网页版本工单状态在通知状态下可更改整改人需要删除之前整改人通知和待办的数据
func (c *busInspectionTicketController) UpdataCorrector(ctx context.Context, req *system.UpdataCorrectorReq) (res *system.UpdataCorrectorRes, err error) {
err = service.BusInspectionTicket().UpdataCorrector(ctx, req)
return
}
// List 列表
func (c *busInspectionTicketController) List(ctx context.Context, req *system.BusInspectionTicketSearchReq) (res *system.BusInspectionTicketSearchRes, err error) {
res, err = service.BusInspectionTicket().List(ctx, req)
return
}
// Get 获取质量工单
func (c *busInspectionTicketController) Get(ctx context.Context, req *system.BusInspectionTicketGetReq) (res *system.BusInspectionTicketGetRes, err error) {
res = new(system.BusInspectionTicketGetRes)
entity, err := service.BusInspectionTicket().GetById(ctx, req.Id)
res.Details = entity
return
}
// LargeScreenDetailsFunc 大屏详情
func (c *busInspectionTicketController) LargeScreenDetailsFunc(ctx context.Context, req *system.LargeScreenDetailsReq) (res *system.LargeScreenDetailsRes, err error) {
res, err = service.BusInspectionTicket().LargeScreenDetails(ctx, req)
return
}
// Add 添加质量工单
func (c *busInspectionTicketController) Add(ctx context.Context, req *system.BusInspectionTicketAddReq) (res *system.BusInspectionTicketAddRes, err error) {
err = service.BusInspectionTicket().Add(ctx, req)
return
}
// Edit 整改
func (c *busInspectionTicketController) Edit(ctx context.Context, req *system.BusInspectionTicketAbarbeitungReq) (res *system.BusInspectionTicketAbarbeitungRes, err error) {
err = service.BusInspectionTicket().Edit(ctx, req)
return
}
// EditVerification 验证
func (c *busInspectionTicketController) EditVerification(ctx context.Context, req *system.BusInspectionTicketVerificationReq) (res *system.BusInspectionTicketVerificationRes, err error) {
err = service.BusInspectionTicket().EditVerification(ctx, req)
return
}
// Delete 删除质量工单
func (c *busInspectionTicketController) Delete(ctx context.Context, req *system.BusInspectionTicketDeleteReq) (res *system.BusInspectionTicketDeleteRes, err error) {
err = service.BusInspectionTicket().Delete(ctx, req.Ids)
return
}
// InspectionTicketAppletAddFunc 微信小程序-新增
func (c *busInspectionTicketController) InspectionTicketAppletAddFunc(ctx context.Context, req *wxSystem.InspectionTicketAppletAddReq) (res *wxSystem.InspectionTicketAppletAddRes, err error) {
err = service.BusInspectionTicket().InspectionTicketAppletAddFunc(ctx, req)
return
}
// InspectionTicketAppletAbarbeitungFunc 微信小程序-整改
func (c *busInspectionTicketController) InspectionTicketAppletAbarbeitungFunc(ctx context.Context, req *wxSystem.InspectionTicketAppletAbarbeitungReq) (res *wxSystem.InspectionTicketAppletAbarbeitungRes, err error) {
err = service.BusInspectionTicket().InspectionTicketAppletAbarbeitungFunc(ctx, req)
return
}
// InspectionTicketAppletVerifyFunc 微信小程序-验证
func (c *busInspectionTicketController) InspectionTicketAppletVerifyFunc(ctx context.Context, req *wxSystem.InspectionTicketAppletVerifyReq) (res *wxSystem.InspectionTicketAppletVerifyRes, err error) {
err = service.BusInspectionTicket().InspectionTicketAppletVerifyFunc(ctx, req)
return
}
// InspectionTicketAppletListFunc 微信小程序-列表
func (c *busInspectionTicketController) InspectionTicketAppletListFunc(ctx context.Context, req *wxSystem.InspectionTicketAppletListReq) (res *wxSystem.InspectionTicketAppletListRes, err error) {
res, err = service.BusInspectionTicket().InspectionTicketAppletListFunc(ctx, req)
return
}
// AcquisitionOfCorrectivePersonnelFunc 微信小程序-获取整改人(整改人为当前项目的所有班组长)
func (c *busInspectionTicketController) AcquisitionOfCorrectivePersonnelFunc(ctx context.Context, req *wxSystem.AcquisitionOfCorrectivePersonnelReq) (res *wxSystem.AcquisitionOfCorrectivePersonnelRes, err error) {
res, err = service.BusInspectionTicket().AcquisitionOfCorrectivePersonnelFunc(ctx, req)
return
}
// InspectionTicketAppletDetailsFunc 微信小程序-详情
func (c *busInspectionTicketController) InspectionTicketAppletDetailsFunc(ctx context.Context, req *wxSystem.InspectionTicketAppletDetailsReq) (res *wxSystem.InspectionTicketAppletDetailsRes, err error) {
res, err = service.BusInspectionTicket().InspectionTicketAppletDetailsFunc(ctx, req)
return
}
// GisQualityManagementResFunc Gis质量管理统计
func (c *busInspectionTicketController) GisQualityManagementResFunc(ctx context.Context, req *system.GisQualityManagementReq) (res *system.GisQualityManagementRes, err error) {
res, err = service.BusInspectionTicket().GisQualityManagementResFunc(ctx, req)
return
}
// GisQualityManagementListFunc Gis质量管理列表
func (c *busInspectionTicketController) GisQualityManagementListFunc(ctx context.Context, req *system.GisQualityManagementListReq) (res *system.GisQualityManagementListRes, err error) {
res, err = service.BusInspectionTicket().GisQualityManagementListFunc(ctx, req)
return
}

View File

@ -0,0 +1,71 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 14:02:01
// 生成路径: internal/app/system/controller/bus_machinery.go
// 生成人gfast
// desc:机械
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busMachineryController struct {
BaseController
}
var BusMachinery = new(busMachineryController)
// List 列表
func (c *busMachineryController) List(ctx context.Context, req *system.BusMachinerySearchReq) (res *system.BusMachinerySearchRes, err error) {
res, err = service.BusMachinery().List(ctx, req)
return
}
// Get 获取机械
func (c *busMachineryController) Get(ctx context.Context, req *system.BusMachineryGetReq) (res *system.BusMachineryGetRes, err error) {
res = new(system.BusMachineryGetRes)
res.BusMachineryInfoRes, err = service.BusMachinery().GetById(ctx, req.Id)
return
}
// Add 添加机械
func (c *busMachineryController) Add(ctx context.Context, req *system.BusMachineryAddReq) (res *system.BusMachineryAddRes, err error) {
err = service.BusMachinery().Add(ctx, req)
return
}
// Edit 修改机械
func (c *busMachineryController) Edit(ctx context.Context, req *system.BusMachineryEditReq) (res *system.BusMachineryEditRes, err error) {
err = service.BusMachinery().Edit(ctx, req)
return
}
// Delete 删除机械
func (c *busMachineryController) Delete(ctx context.Context, req *system.BusMachineryDeleteReq) (res *system.BusMachineryDeleteRes, err error) {
err = service.BusMachinery().Delete(ctx, req.Ids)
return
}
// MachineNumberFunc 机械数量
func (c *busMachineryController) MachineNumberFunc(ctx context.Context, req *system.MachineNumberReq) (res *system.MachineNumberRes, err error) {
res, err = service.BusMachinery().MachineNumberFunc(ctx, req)
return
}
// MechanicalConditionFunc 机械情况
func (c *busMachineryController) MechanicalConditionFunc(ctx context.Context, req *system.MechanicalConditionReq) (res *system.MechanicalConditionRes, err error) {
res, err = service.BusMachinery().MechanicalConditionFunc(ctx, req)
return
}
// app列表
func (c *busMachineryController) AppList(ctx context.Context, req *system.BusMachineryAppSearchReq) (res *system.BusMachineryAppSearchRes, err error) {
res, err = service.BusMachinery().AppList(ctx, req)
return
}

View File

@ -0,0 +1,139 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-10-12 11:41:32
// 生成路径: internal/app/system/controller/bus_machinery_detail.go
// 生成人gfast
// desc:机械详情
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"github.com/gogf/gf/v2/os/gtime"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
logic "github.com/tiger1103/gfast/v3/internal/app/system/logic/busMachineryDetail"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
)
type busMachineryDetailController struct {
BaseController
}
var BusMachineryDetail = new(busMachineryDetailController)
// List 列表
func (c *busMachineryDetailController) List(ctx context.Context, req *system.BusMachineryDetailSearchReq) (res *system.BusMachineryDetailSearchRes, err error) {
res, err = service.BusMachineryDetail().List(ctx, req)
return
}
// Get 获取机械详情
func (c *busMachineryDetailController) Get(ctx context.Context, req *system.BusMachineryDetailGetReq) (res *system.BusMachineryDetailGetRes, err error) {
res = new(system.BusMachineryDetailGetRes)
res.BusMachineryDetailGetIdInfoRes, err = service.BusMachineryDetail().GetById(ctx, req.Id)
return
}
// Add 添加机械详情
func (c *busMachineryDetailController) Add(ctx context.Context, req *system.BusMachineryDetailAddReq) (res *system.BusMachineryDetailAddRes, err error) {
err = service.BusMachineryDetail().Add(ctx, req)
return
}
// Edit 修改机械详情
func (c *busMachineryDetailController) Edit(ctx context.Context, req *system.BusMachineryDetailEditReq) (res *system.BusMachineryDetailEditRes, err error) {
err = service.BusMachineryDetail().Edit(ctx, req)
return
}
// Delete 删除机械详情
func (c *busMachineryDetailController) Delete(ctx context.Context, req *system.BusMachineryDetailDeleteReq) (res *system.BusMachineryDetailDeleteRes, err error) {
err = service.BusMachineryDetail().Delete(ctx, req.Ids)
return
}
//app
func (c *busMachineryDetailController) AppList(ctx context.Context, req *system.BusMachineryDetailAppSearchReq) (res *system.BusMachineryDetailAppSearchRes, err error) {
res, err = service.BusMachineryDetail().AppList(ctx, req)
return
}
// app新增
func (c *busMachineryDetailController) AppAdd(ctx context.Context, req *system.BusMachineryDetailAppAddReq) (res *system.BusMachineryDetailGetRes, err error) {
err = service.BusMachineryDetail().AppAdd(ctx, req)
return
}
// app 修改
func (c *busMachineryDetailController) AppEdit(ctx context.Context, req *system.BusMachineryDetailAppEditReq) (res *system.BusMachineryDetailAppEditRes, err error) {
err = service.BusMachineryDetail().AppEdit(ctx, req)
return
}
// appgetid
func (c *busMachineryDetailController) AppGetById(ctx context.Context, req *system.BusMachineryDetailAppGetReq) (res *system.BusMachineryDetailAppGetRes, err error) {
res = new(system.BusMachineryDetailAppGetRes)
res.BusMachineryDetailAppGetIdInfoRes, err = service.BusMachineryDetail().AppGetById(ctx, req.Id)
return
}
// app一键退场
func (c *busMachineryDetailController) AppExitId(ctx context.Context, req *system.BusMachineryDetailAppExitReq) (res *system.BusMachineryDetailAppExitRes, err error) {
machineryId, err := dao.BusMachineryDetail.Ctx(ctx).Where(dao.BusMachineryDetail.Columns().Id, req.Id).Count()
if machineryId != 0 {
Nowtime := gtime.Now()
detail := do.BusMachineryDetail{
Type: logic.Exarch,
EntryTime: Nowtime,
UpdateBy: ct.New().GetLoginUser(ctx).Id,
}
_, err = dao.BusMachineryDetail.Ctx(ctx).WherePri(req.Id).Update(detail)
liberr.ErrIsNil(ctx, err, "获取信息失败")
//机械设备详细新增记录
if err == nil {
dao.BusMachineryRecord.Ctx(ctx).Insert(do.BusMachineryRecord{
MachineryDetailId: req.Id,
RecordTime: Nowtime,
Type: logic.Exarch,
CreateBy: ct.New().GetLoginUser(ctx).Id,
})
}
} else {
return nil, errors.New("此信息不存在")
}
return
}
func (c *busMachineryDetailController) AppEntranceId(ctx context.Context, req *system.BusMachineryDetailAppEntranceReq) (res *system.BusMachineryDetailAppEntranceRes, err error) {
machineryId, err := dao.BusMachineryDetail.Ctx(ctx).Where(dao.BusMachineryDetail.Columns().Id, req.Id).Count()
if machineryId != 0 {
Nowtime := gtime.Now()
detail := do.BusMachineryDetail{
Type: logic.Entry,
EntryTime: Nowtime,
UpdateBy: ct.New().GetLoginUser(ctx).Id,
}
_, err = dao.BusMachineryDetail.Ctx(ctx).WherePri(req.Id).Update(detail)
liberr.ErrIsNil(ctx, err, "获取信息失败")
//机械设备详细新增记录
if err == nil {
dao.BusMachineryRecord.Ctx(ctx).Insert(do.BusMachineryRecord{
MachineryDetailId: req.Id,
RecordTime: Nowtime,
Type: logic.Entry,
CreateBy: ct.New().GetLoginUser(ctx).Id,
})
}
} else {
return nil, errors.New("此信息不存在")
}
return
}

View File

@ -0,0 +1,89 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-11-20 13:51:38
// 生成路径: internal/app/system/controller/bus_payroll_list.go
// 生成人gfast
// desc:工资excel导入形成的
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busPayrollListController struct {
BaseController
}
var BusPayrollList = new(busPayrollListController)
// =============工资表列表=============
// =============工资表列表=============
// =============工资表列表=============
// ImportExcelPaySheet 导入excel工资表
func (c *busPayrollListController) ImportExcelPaySheet(ctx context.Context, req *system.ImportExcelPaySheetReq) (res *system.ImportExcelPaySheetRes, err error) {
err = service.BusPayrollList().ImportExcelPaySheet(ctx, req)
return
}
// ReadAllImportedListData 读取所有导入列表数据(汇总)
func (c *busPayrollListController) ReadAllImportedListData(ctx context.Context, req *system.ReadAllImportedListDataReq) (res *system.ReadAllImportedListDataRes, err error) {
res, err = service.BusPayrollList().ReadAllImportedListData(ctx, req)
return
}
// DeletePayroll 删除工资表目录
func (c *busPayrollListController) DeletePayroll(ctx context.Context, req *system.BusDeletePayrollReq) (res *system.BusDeletePayrollRes, err error) {
service.BusPayrollList().DeletePayroll(ctx, req)
return
}
//=============工资表文件资源=============
//=============工资表文件资源=============
//=============工资表文件资源=============
// GetTheSourceExcelAccordingToTheIdOfThePayroll 根据工资表的id获取到源excel只允许查看
func (c *busPayrollListController) GetTheSourceExcelAccordingToTheIdOfThePayroll(ctx context.Context, req *system.GetTheSourceExcelAccordingToTheIdOfThePayrollReq) (res *system.GetTheSourceExcelAccordingToTheIdOfThePayrollRes, err error) {
res, err = service.BusPayrollList().GetTheSourceExcelAccordingToTheIdOfThePayroll(ctx, req)
return
}
//=============工资表excel导入数据=============
//=============工资表excel导入数据=============
//=============工资表excel导入数据=============
// List 读取工资
func (c *busPayrollListController) List(ctx context.Context, req *system.BusPayrollListSearchReq) (res *system.BusPayrollListSearchRes, err error) {
res, err = service.BusPayrollList().List(ctx, req)
return
}
//// Get 获取工资excel导入形成的
//func (c *busPayrollListController) Get(ctx context.Context, req *system.BusPayrollListGetReq) (res *system.BusPayrollListGetRes, err error) {
// res = new(system.BusPayrollListGetRes)
// res.BusPayrollListInfoRes, err = service.BusPayrollList().GetById(ctx, req.Id)
// return
//}
//// Add 添加工资excel导入形成的
//func (c *busPayrollListController) Add(ctx context.Context, req *system.BusPayrollListAddReq) (res *system.BusPayrollListAddRes, err error) {
// err = service.BusPayrollList().Add(ctx, req)
// return
//}
//
//// Edit 修改工资excel导入形成的
//func (c *busPayrollListController) Edit(ctx context.Context, req *system.BusPayrollListEditReq) (res *system.BusPayrollListEditRes, err error) {
// err = service.BusPayrollList().Edit(ctx, req)
// return
//}
//
//// Delete 删除工资excel导入形成的
//func (c *busPayrollListController) Delete(ctx context.Context, req *system.BusPayrollListDeleteReq) (res *system.BusPayrollListDeleteRes, err error) {
// err = service.BusPayrollList().Delete(ctx, req.Ids)
// return
//}

View File

@ -0,0 +1,77 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-20 19:45:19
// 生成路径: internal/app/system/controller/bus_projectin_progress.go
// 生成人gfast
// desc:在建项目
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busProjectinProgressController struct {
BaseController
}
var BusProjectinProgress = new(busProjectinProgressController)
// ListALLFunc 在建项目
func (c *busProjectinProgressController) ListALLFunc(ctx context.Context, req *system.BusProjectinProgressSearchAllReq) (res *system.BusProjectinProgressSearchAllRes, err error) {
res = new(system.BusProjectinProgressSearchAllRes)
var eneity []*model.SysProjectListRes
err = dao.SysProject.Ctx(ctx).Where("show_hidden", "1").Scan(&eneity)
if eneity != nil {
res.SumNum = len(eneity)
for _, data := range eneity {
if data.IsType == "1" {
res.Photovoltaic = res.Photovoltaic + 1
}
if data.IsType == "2" {
res.WindPower = res.WindPower + 1
}
}
}
value, err := dao.BusProjectinProgress.Ctx(ctx).Fields("sum(parallel_in)").Value()
res.ParallelIn = value.Float64()
return
}
// List 列表
func (c *busProjectinProgressController) List(ctx context.Context, req *system.BusProjectinProgressSearchReq) (res *system.BusProjectinProgressSearchRes, err error) {
res, err = service.BusProjectinProgress().List(ctx, req)
return
}
// Get 获取在建项目
func (c *busProjectinProgressController) Get(ctx context.Context, req *system.BusProjectinProgressGetReq) (res *system.BusProjectinProgressGetRes, err error) {
res = new(system.BusProjectinProgressGetRes)
res.BusProjectinProgressInfoRes, err = service.BusProjectinProgress().GetById(ctx, req.Id)
return
}
// Add 添加在建项目
func (c *busProjectinProgressController) Add(ctx context.Context, req *system.BusProjectinProgressAddReq) (res *system.BusProjectinProgressAddRes, err error) {
err = service.BusProjectinProgress().Add(ctx, req)
return
}
// Edit 修改在建项目
func (c *busProjectinProgressController) Edit(ctx context.Context, req *system.BusProjectinProgressEditReq) (res *system.BusProjectinProgressEditRes, err error) {
err = service.BusProjectinProgress().Edit(ctx, req)
return
}
// Delete 删除在建项目
func (c *busProjectinProgressController) Delete(ctx context.Context, req *system.BusProjectinProgressDeleteReq) (res *system.BusProjectinProgressDeleteRes, err error) {
err = service.BusProjectinProgress().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,83 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-02 17:11:39
// 生成路径: internal/app/system/controller/bus_quality.go
// 生成人gfast
// desc:质量文档管理
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busQualityController struct {
BaseController
}
var BusQuality = new(busQualityController)
// List 列表
func (c *busQualityController) List(ctx context.Context, req *system.BusQualitySearchReq) (res *system.BusQualitySearchRes, err error) {
res, err = service.BusQuality().List(ctx, req)
return
}
// Get 获取质量文档管理
func (c *busQualityController) Get(ctx context.Context, req *system.BusQualityGetReq) (res *system.BusQualityGetRes, err error) {
res = new(system.BusQualityGetRes)
res.BusQualityInfoRes, err = service.BusQuality().GetById(ctx, req.Id)
return
}
// Add 添加质量文档管理
func (c *busQualityController) Add(ctx context.Context, req *system.BusQualityAddReq) (res *system.BusQualityAddRes, err error) {
err = service.BusQuality().Add(ctx, req)
return
}
// WxAddFunc 添加质量文档管理
func (c *busQualityController) WxAddFunc(ctx context.Context, req *system.WxBusQualityAddReq) (res *system.WxBusQualityAddRes, err error) {
err = service.BusQuality().WxAddFunc(ctx, req)
return
}
// Edit 修改质量文档管理
func (c *busQualityController) Edit(ctx context.Context, req *system.BusQualityEditReq) (res *system.BusQualityEditRes, err error) {
err = service.BusQuality().Edit(ctx, req)
return
}
// Delete 删除质量文档管理
func (c *busQualityController) Delete(ctx context.Context, req *system.BusQualityDeleteReq) (res *system.BusQualityDeleteRes, err error) {
err = service.BusQuality().Delete(ctx, req.Ids)
return
}
// GraphFunc 图标统计
func (c *busQualityController) GraphFunc(ctx context.Context, req *system.GraphReq) (res *system.GraphRes, err error) {
res, err = service.BusQuality().GraphFunc(ctx, req)
return
}
// GraphDataListFunc 图标统计列表
func (c *busQualityController) GraphDataListFunc(ctx context.Context, req *system.GraphDataListReq) (res *system.GraphDataListRes, err error) {
res, err = service.BusQuality().GraphDataListFunc(ctx, req)
return
}
// QualityFunc 质量监控统计
func (c *busQualityController) QualityFunc(ctx context.Context, req *system.QualityReq) (res *system.QualityRes, err error) {
res, err = service.BusQuality().QualityFunc(ctx, req)
return
}
// QualityDataListFunc 质量监控统计列表
func (c *busQualityController) QualityDataListFunc(ctx context.Context, req *system.QualityDataListReq) (res *system.QualityDataListRes, err error) {
res, err = service.BusQuality().QualityDataListFunc(ctx, req)
return
}

View File

@ -0,0 +1,107 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-10-07 15:52:18
// 生成路径: internal/app/system/controller/bus_question_bank.go
// 生成人gfast
// desc:题库
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"strconv"
)
type busQuestionBankController struct {
BaseController
}
var BusQuestionBank = new(busQuestionBankController)
// List 列表
func (c *busQuestionBankController) List(ctx context.Context, req *system.BusQuestionBankSearchReq) (res *system.BusQuestionBankSearchRes, err error) {
res, err = service.BusQuestionBank().List(ctx, req)
return
}
// Get 获取题库
func (c *busQuestionBankController) Get(ctx context.Context, req *system.BusQuestionBankGetReq) (res *system.BusQuestionBankGetRes, err error) {
res = new(system.BusQuestionBankGetRes)
res.BusQuestionBankInfoRes, err = service.BusQuestionBank().GetById(ctx, req.Id)
return
}
// Add 添加题库
func (c *busQuestionBankController) Add(ctx context.Context, req *system.BusQuestionBankAddReq) (res *system.BusQuestionBankAddRes, err error) {
err = service.BusQuestionBank().Add(ctx, req)
return
}
// Edit 修改题库
func (c *busQuestionBankController) Edit(ctx context.Context, req *system.BusQuestionBankEditReq) (res *system.BusQuestionBankEditRes, err error) {
err = service.BusQuestionBank().Edit(ctx, req)
return
}
// Delete 删除题库
func (c *busQuestionBankController) Delete(ctx context.Context, req *system.BusQuestionBankDeleteReq) (res *system.BusQuestionBankDeleteRes, err error) {
err = service.BusQuestionBank().Delete(ctx, req.Ids)
return
}
// ExaminationPaper 随机生成试卷
func (c *busQuestionBankController) ExaminationPaper(ctx context.Context, req *system.ExaminationPaperReq) (res *system.ExaminationPaperRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
res = new(system.ExaminationPaperRes)
//1、获取配置信息
var configurationEntity *model.BusQuestionsConfigurationInfoRes
err = dao.BusQuestionsConfiguration.Ctx(ctx).Limit(1).Scan(&configurationEntity)
//2、随机获取数据返回id和score
s := configurationEntity.SingleChoice
m := configurationEntity.MultipleChoice
e := configurationEntity.Estimate
var sEntity []*system.ExaminationPaperTwo
var mEntity []*system.ExaminationPaperTwo
var eEntity []*system.ExaminationPaperTwo
err = dao.BusQuestionBank.Ctx(ctx).Where("question_type", "1").OrderRandom().Limit(s).Scan(&sEntity)
err = dao.BusQuestionBank.Ctx(ctx).Where("question_type", "2").OrderRandom().Limit(m).Scan(&mEntity)
err = dao.BusQuestionBank.Ctx(ctx).Where("question_type", "3").OrderRandom().Limit(e).Scan(&eEntity)
//3、组装数据
var one = new(system.ExaminationPaperOne)
one.Topic = "一、单选题,共" + strconv.Itoa(s) + "道题,每小题" + strconv.FormatFloat(configurationEntity.SingleScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(s)*configurationEntity.SingleScore, 'f', -1, 64) + "分"
for _, data := range sEntity {
data.Score = configurationEntity.SingleScore
}
one.List = sEntity
res.Single = one
var two = new(system.ExaminationPaperOne)
two.Topic = "二、多选题,共" + strconv.Itoa(m) + "道题,每小题" + strconv.FormatFloat(configurationEntity.MultipleScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(m)*configurationEntity.MultipleScore, 'f', -1, 64) + "分"
for _, data := range mEntity {
data.Score = configurationEntity.MultipleScore
}
two.List = mEntity
res.Multiple = two
var three = new(system.ExaminationPaperOne)
three.Topic = "三、判断题,共" + strconv.Itoa(e) + "道题,每小题" + strconv.FormatFloat(configurationEntity.EstimateScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(e)*configurationEntity.EstimateScore, 'f', -1, 64) + "分"
for _, data := range eEntity {
data.Score = configurationEntity.EstimateScore
}
three.List = eEntity
res.Estimate = three
//4、设置最大考试时间
res.Maximum = configurationEntity.AnswerTime
//4、需要将生成的数据存储到记录表中
liberr.ErrIsNil(ctx, err, "试卷生成失败!")
})
return
}

View File

@ -0,0 +1,344 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-01 17:33:04
// 生成路径: internal/app/system/controller/bus_question_save.go
// 生成人gfast
// desc:用户试卷存储
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"fmt"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"os"
"path"
"path/filepath"
"strconv"
"strings"
)
type busQuestionSaveController struct {
BaseController
}
type UploadZipFileEntity struct {
Openid string `p:"openid" `
SfzNumber string `p:"sfzNumber" `
ProjectId int64 `p:"projectId" `
}
var BusQuestionSave = new(busQuestionSaveController)
// List 列表
func (c *busQuestionSaveController) List(ctx context.Context, req *system.BusQuestionSaveSearchReq) (res *system.BusQuestionSaveSearchRes, err error) {
res, err = service.BusQuestionSave().List(ctx, req)
return
}
// Get 获取用户试卷存储
func (c *busQuestionSaveController) Get(ctx context.Context, req *system.BusQuestionSaveGetReq) (res *system.BusQuestionSaveGetRes, err error) {
res = new(system.BusQuestionSaveGetRes)
res.BusQuestionSaveInfoRes, err = service.BusQuestionSave().GetById(ctx, req.Id)
return
}
// Add 添加用户试卷存储
func (c *busQuestionSaveController) Add(ctx context.Context, req *system.BusQuestionSaveAddReq) (res *system.BusQuestionSaveAddRes, err error) {
res = new(system.BusQuestionSaveAddRes)
res, err = service.BusQuestionSave().Add(ctx, req)
return
}
// Delete 删除用户试卷存储
func (c *busQuestionSaveController) Delete(ctx context.Context, req *system.BusQuestionSaveDeleteReq) (res *system.BusQuestionSaveDeleteRes, err error) {
err = service.BusQuestionSave().Delete(ctx, req.Ids)
return
}
// PassOrNotFunc 查询用户的考试是否已达到及格线
func (c *busQuestionSaveController) PassOrNotFunc(ctx context.Context, req *system.PassOrNotReq) (res *system.PassOrNotRes, err error) {
res = new(system.PassOrNotRes)
res, err = service.BusQuestionSave().PassOrNotFunc(ctx, req.Openid)
return
}
// WeChatPdfWoFunc 根据项目id+班组id 查询到当前用户的考试信息-(安全考试)
func (c *busQuestionSaveController) WeChatPdfWoFunc(ctx context.Context, req *system.WeChatPdfWoReq) (res *system.WeChatPdfWoRes, err error) {
res = new(system.WeChatPdfWoRes)
res, err = service.BusQuestionSave().WeChatPdfWoFunc(ctx, req)
return
}
// MultifileDownloadFunc 批量下载pdf
func (c *busQuestionSaveController) MultifileDownloadFunc(ctx context.Context, req *system.MultifileDownloadReq) (res *system.MultifileDownloadRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
res = new(system.MultifileDownloadRes)
//1、根据条件获取到数据
var mw []*model.ModelWeChatPdfWoRes
if len(req.Openids) > 0 {
downloadFunc, err := DownloadFunc(ctx, req.Openids)
liberr.ErrIsNil(ctx, err, "获取数据失败")
mw = append(mw, downloadFunc...)
}
//else {
// //array, err = g.DB().Model("bus_question_save_pdf").As("a").
// // LeftJoin("bus_construction_user", "b", "b.openid = a.openid and b.project_id = '"+strconv.FormatInt(req.ProjectId, 10)+"' and team_id = '"+strconv.FormatInt(req.TeamId, 10)+"'").
// // WhereNotNull("a.openid").Fields("a.path").Array()
//}
path, err := coryCommon.CustomizationMultifileDownload(coryCommon.Temporary, mw)
if err != nil {
liberr.ErrIsNil(ctx, err, "下载失败")
}
path = filepath.ToSlash(coryCommon.ResourcePublicToFunc(path, 1))
res.Path = path
})
return
}
func DownloadFunc(ctx context.Context, openids []string) (res []*model.ModelWeChatPdfWoRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
mp := make(map[string]*model.ModelWeChatPdfWoRes)
//0、获取配置信息
var configurationEntity *model.BusQuestionsConfigurationInfoRes
err = dao.BusQuestionsConfiguration.Ctx(ctx).Limit(1).Scan(&configurationEntity)
liberr.ErrIsNil(ctx, err, "查询失败")
//1、获取线上的试卷信息
var mwor []*model.ModelWeChatPdfWoRes
err = dao.BusQuestionSave.Ctx(ctx).As("a").Fields(`a.openid,
b.user_name as userName,
a.pass,
(select sum( score ) from bus_question_save WHERE correct = 1 and openid = a.openid) as sumScore,
c.path`).
RightJoin("bus_construction_user", "b", "b.openid = a.openid").
LeftJoin("bus_question_save_pdf", "c", "c.openid = b.openid").
Where("a.openid in (?)", openids).
Where(`a.pass is not null`).
Order("a.created_at").
Scan(&mwor)
for i := range mwor {
mwor[i].Type = "1" //pdf
mp[mwor[i].Openid] = mwor[i]
}
liberr.ErrIsNil(ctx, err, "查询失败")
//2、获取线下的试卷信息
var offlineEnitnty []*model.ModelWeChatPdfWoRes
err = g.DB().Model("bus_question_offline").As("a").
Fields(
"a.openid,"+
"b.user_name as userName,"+
"concat_ws( ',',a.pass,a.full_mark ) as pass,"+
"a.score as sumScore,"+
"a.img as path,").
LeftJoin("bus_construction_user", "b", "b.openid = a.openid").
Where("a.openid in (?)", openids).
Scan(&offlineEnitnty)
liberr.ErrIsNil(ctx, err, "查询失败")
//3、数据信息合并同一个人选取最大分数的试卷信息
for i := range offlineEnitnty {
//如果发现有重复的openid那么就选取得分最大的
mpdata, ok := mp[offlineEnitnty[i].Openid]
if ok {
mpdataSplit := strings.Split(mpdata.Pass, ",")
mpdataFloat, _ := strconv.ParseFloat(mpdataSplit[1], 64)
mpdataScore, _ := strconv.ParseFloat(mpdata.SumScore, 64)
mpdataScoreOne := 100.00 / mpdataFloat * mpdataScore
offlineSplit := strings.Split(offlineEnitnty[i].Pass, ",")
offlineFloat, _ := strconv.ParseFloat(offlineSplit[1], 64)
offlineScore, _ := strconv.ParseFloat(offlineEnitnty[i].SumScore, 64)
offlineScoreTwo := 100.00 / offlineFloat * offlineScore
if mpdataScoreOne < offlineScoreTwo {
offlineEnitnty[i].Type = "2" //图片
mp[offlineEnitnty[i].Openid] = offlineEnitnty[i]
}
}
}
for _, v := range mp {
res = append(res, v)
}
liberr.ErrIsNil(ctx, err, "获取数据失败")
})
return
}
// UploadZipFileFunc 上传施工人员线下安全考试的资料信息上传压缩zip文件
func (c *busQuestionSaveController) UploadZipFileFunc(ctx context.Context, req *system.UploadZipFileReq) (res *system.UploadZipFileRes, err error) {
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
// 初始化 res 变量
res = &system.UploadZipFileRes{}
////1、上传压缩文件
//file := req.File
//path, err := coryCommon.UploadFile(ctx, file, coryCommon.Temporary+"/")
//liberr.ErrIsNil(ctx, err)
const old = "/resource/public/"
if !strings.Contains(req.FilePath, old) {
req.FilePath = old + req.FilePath
}
rpath := strings.Replace(req.FilePath, old, coryCommon.GetCWD()+old, 1)
str := "/" + coryCommon.Ynr(coryCommon.Temporary+"/") + coryCommon.FileName("del")
//2、解压文件 删除解压文件
folderPath, err := coryCommon.FileZipFunc(rpath, "", str)
liberr.ErrIsNil(ctx, err)
//3、读取文件目录
offline, err := ReadDirectory(ctx, folderPath)
liberr.ErrIsNil(ctx, err)
//4、获取身份证信息对应的openid
var sfz []string
for _, data := range offline {
// 根据身份证获取到指定用户所在的项目
sfz = append(sfz, data.IdentityCard)
}
if len(sfz) > 0 {
var entity []*UploadZipFileEntity
err = dao.BusConstructionUser.Ctx(ctx).Where("sfz_number in (?)", sfz).Fields("project_id as projectId,openid,sfz_number as sfzNumber").Scan(&entity)
liberr.ErrIsNil(ctx, err, "上传失败")
for _, one := range entity {
for j, two := range offline {
if one.SfzNumber == two.IdentityCard {
offline[j].Openid = one.Openid
offline[j].ProjectId = one.ProjectId
}
}
}
//5、查询原本的数据然后对比哪个分数大就保留哪个
var offlineEntity []*model.BusQuestionOfflineRes
err = g.DB().Model("bus_question_offline").Ctx(ctx).Scan(&offlineEntity)
liberr.ErrIsNil(ctx, err, "上传失败")
var ids []int64
for _, one := range offlineEntity {
scoreOne := 100.00 / one.FullMark * one.Score
for _, two := range offline {
if one.Openid == two.Openid {
scoreTwo := 100.00 / two.FullMark * two.Score
if scoreOne <= scoreTwo {
//记录需要删除的id
ids = append(ids, one.Id)
if one.Img != "" {
os.Remove(coryCommon.FileToFunc(one.Img, 2))
}
}
}
}
}
//6、删除分数小的对比数据
if len(ids) > 0 {
value, err := g.DB().Model("bus_question_offline").Ctx(ctx).
Fields("GROUP_CONCAT(img)").
Where("id in (?)", ids).Value()
liberr.ErrIsNil(ctx, err, "上传失败")
_, err = g.DB().Model("bus_question_offline").Ctx(ctx).Where("id in (?)", ids).Delete()
liberr.ErrIsNil(ctx, err, "上传失败")
if err == nil {
split := strings.Split(value.String(), ",")
for _, files := range split {
var f = coryCommon.FileToFunc(files, 2)
os.Remove(f)
}
}
}
//7、插入数据
if offline != nil {
var oe []*model.BusQuestionOfflineRes
for i := range offline {
if offline[i].Openid != "" {
oe = append(oe, offline[i])
}
}
_, err = g.DB().Model("bus_question_offline").Ctx(ctx).Insert(oe)
liberr.ErrIsNil(ctx, err, "上传失败")
}
}
defer func() {
os.RemoveAll(rpath)
os.RemoveAll(coryCommon.GetCWD() + str)
}()
return
})
return err
})
return
}
// ReadDirectory 获取文件夹下面的所有文件
func ReadDirectory(ctx context.Context, folderPath string) (entity []*model.BusQuestionOfflineRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
// 读取文件夹下的所有文件和子文件夹
files, err := os.ReadDir(folderPath)
if err != nil {
fmt.Println("读取文件夹失败: ", err)
return
}
for _, file := range files {
// 获取文件或子文件夹的名称
fileName := file.Name()
//fileName, err = coryCommon.GbkDecode(fileName)
//if err != nil {
// fmt.Println("解码文件名称失败: ", err)
// return
//}
// 获取文件或子文件夹的绝对路径
filePath := filepath.Join(folderPath, fileName)
// 检查文件是否为文件夹
if file.IsDir() {
split := strings.Split(fileName, "-")
if len(split) < 5 {
err := errors.New("您的文件【" + filePath + "】不符合规格!(示例:小明-5130112333654X-100-59-60")
liberr.ErrIsNil(ctx, err)
return
}
fullMark, err := strconv.ParseFloat(split[2], 64)
liberr.ErrIsNil(ctx, err, "满分转换失败")
score, err := strconv.ParseFloat(split[3], 64)
liberr.ErrIsNil(ctx, err, "得分转换失败")
pass, err := strconv.ParseFloat(split[4], 64)
liberr.ErrIsNil(ctx, err, "及格分转换失败")
res := model.BusQuestionOfflineRes{
FullMark: fullMark,
Score: score,
Pass: pass,
IdentityCard: split[1],
//CreatedAt: gtime.New(time.Now()),
}
offlineRes, err := ReadDirectory(ctx, filePath)
imgStr := ""
for i := range offlineRes {
s2 := filepath.ToSlash(offlineRes[i].Img)
var s1 = filepath.ToSlash(coryCommon.GetCWD() + "/" + coryCommon.Ynr(coryCommon.Helmet) + coryCommon.FileName("aqks") + path.Ext(s2))
os.Rename(s2, s1)
all := strings.ReplaceAll(s1, coryCommon.GetCWD()+"/resource/public/", "/file/")
imgStr = imgStr + all + ","
}
if len(imgStr) > 0 {
imgStr = imgStr[0 : len(imgStr)-1]
}
res.Img = imgStr
entity = append(entity, &res)
} else {
var suffix = ".jpg,.jpeg,.png,.pdf,.doc,.docx"
flag := coryCommon.FormatRestrictionFunc(filePath, suffix)
if !flag {
err = errors.New("仅支持的格式为:" + suffix)
liberr.ErrIsNil(ctx, err)
return
} else {
res := model.BusQuestionOfflineRes{
Img: filePath,
}
entity = append(entity, &res)
}
}
}
})
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-10-07 17:11:20
// 生成路径: internal/app/system/controller/bus_questions_configuration.go
// 生成人gfast
// desc:题库配置
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busQuestionsConfigurationController struct {
BaseController
}
var BusQuestionsConfiguration = new(busQuestionsConfigurationController)
// List 列表
func (c *busQuestionsConfigurationController) List(ctx context.Context, req *system.BusQuestionsConfigurationSearchReq) (res *system.BusQuestionsConfigurationSearchRes, err error) {
res, err = service.BusQuestionsConfiguration().List(ctx, req)
return
}
// Get 获取题库配置
func (c *busQuestionsConfigurationController) Get(ctx context.Context, req *system.BusQuestionsConfigurationGetReq) (res *system.BusQuestionsConfigurationGetRes, err error) {
res = new(system.BusQuestionsConfigurationGetRes)
res.BusQuestionsConfigurationInfoRes, err = service.BusQuestionsConfiguration().GetById(ctx, req.Id)
return
}
// Add 添加题库配置
func (c *busQuestionsConfigurationController) Add(ctx context.Context, req *system.BusQuestionsConfigurationAddReq) (res *system.BusQuestionsConfigurationAddRes, err error) {
err = service.BusQuestionsConfiguration().Add(ctx, req)
return
}
// Edit 修改题库配置
func (c *busQuestionsConfigurationController) Edit(ctx context.Context, req *system.BusQuestionsConfigurationEditReq) (res *system.BusQuestionsConfigurationEditRes, err error) {
err = service.BusQuestionsConfiguration().Edit(ctx, req)
return
}
// Delete 删除题库配置
func (c *busQuestionsConfigurationController) Delete(ctx context.Context, req *system.BusQuestionsConfigurationDeleteReq) (res *system.BusQuestionsConfigurationDeleteRes, err error) {
err = service.BusQuestionsConfiguration().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-02-02 15:18:48
// 生成路径: internal/app/system/controller/bus_reissue_a_card.go
// 生成人gfast
// desc:施工人员补卡申请
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busReissueACardController struct {
BaseController
}
var BusReissueACard = new(busReissueACardController)
// List 列表
func (c *busReissueACardController) List(ctx context.Context, req *system.BusReissueACardSearchReq) (res *system.BusReissueACardSearchRes, err error) {
res, err = service.BusReissueACard().List(ctx, req)
return
}
// Get 获取施工人员补卡申请
func (c *busReissueACardController) Get(ctx context.Context, req *system.BusReissueACardGetReq) (res *system.BusReissueACardGetRes, err error) {
res = new(system.BusReissueACardGetRes)
res.BusReissueACardInfoRes, err = service.BusReissueACard().GetById(ctx, req.Id)
return
}
//// Add 添加施工人员补卡申请
//func (c *busReissueACardController) Add(ctx context.Context, req *system.BusReissueACardAddReq) (res *system.BusReissueACardAddRes, err error) {
// err = service.BusReissueACard().Add(ctx, req)
// return
//}
// Edit 修改施工人员补卡申请
func (c *busReissueACardController) Edit(ctx context.Context, req *system.BusReissueACardEditReq) (res *system.BusReissueACardEditRes, err error) {
err = service.BusReissueACard().Edit(ctx, req)
return
}
//// Delete 删除施工人员补卡申请
//func (c *busReissueACardController) Delete(ctx context.Context, req *system.BusReissueACardDeleteReq) (res *system.BusReissueACardDeleteRes, err error) {
// err = service.BusReissueACard().Delete(ctx, req.Ids)
// return
//}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 16:04:06
// 生成路径: internal/app/system/controller/bus_research_document.go
// 生成人gfast
// desc:科研文档
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busResearchDocumentController struct {
BaseController
}
var BusResearchDocument = new(busResearchDocumentController)
// List 列表
func (c *busResearchDocumentController) List(ctx context.Context, req *system.BusResearchDocumentSearchReq) (res *system.BusResearchDocumentSearchRes, err error) {
res, err = service.BusResearchDocument().List(ctx, req)
return
}
// Get 获取科研文档
func (c *busResearchDocumentController) Get(ctx context.Context, req *system.BusResearchDocumentGetReq) (res *system.BusResearchDocumentGetRes, err error) {
res = new(system.BusResearchDocumentGetRes)
res.BusResearchDocumentInfoRes, err = service.BusResearchDocument().GetById(ctx, req.Id)
return
}
// Add 添加科研文档
func (c *busResearchDocumentController) Add(ctx context.Context, req *system.BusResearchDocumentAddReq) (res *system.BusResearchDocumentAddRes, err error) {
err = service.BusResearchDocument().Add(ctx, req)
return
}
// Edit 修改科研文档
func (c *busResearchDocumentController) Edit(ctx context.Context, req *system.BusResearchDocumentEditReq) (res *system.BusResearchDocumentEditRes, err error) {
err = service.BusResearchDocument().Edit(ctx, req)
return
}
// Delete 删除科研文档
func (c *busResearchDocumentController) Delete(ctx context.Context, req *system.BusResearchDocumentDeleteReq) (res *system.BusResearchDocumentDeleteRes, err error) {
err = service.BusResearchDocument().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,59 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-02 15:40:48
// 生成路径: internal/app/system/controller/bus_safety.go
// 生成人gfast
// desc:安全例会管理
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busSafetyController struct {
BaseController
}
var BusSafety = new(busSafetyController)
// List 列表
func (c *busSafetyController) List(ctx context.Context, req *system.BusSafetySearchReq) (res *system.BusSafetySearchRes, err error) {
res, err = service.BusSafety().List(ctx, req)
return
}
// Get 获取安全例会管理
func (c *busSafetyController) Get(ctx context.Context, req *system.BusSafetyGetReq) (res *system.BusSafetyGetRes, err error) {
res = new(system.BusSafetyGetRes)
res.BusSafetyInfoRes, err = service.BusSafety().GetById(ctx, req.Id)
return
}
// Add 添加安全例会管理
func (c *busSafetyController) Add(ctx context.Context, req *system.BusSafetyAddReq) (res *system.BusSafetyAddRes, err error) {
err = service.BusSafety().Add(ctx, req)
return
}
// WxAddFunc 微信小程序添加安全例会管理
func (c *busSafetyController) WxAddFunc(ctx context.Context, req *system.WxBusSafetyAddReq) (res *system.WxBusSafetyAddRes, err error) {
err = service.BusSafety().WxAddFunc(ctx, req)
return
}
// Edit 修改安全例会管理
func (c *busSafetyController) Edit(ctx context.Context, req *system.BusSafetyEditReq) (res *system.BusSafetyEditRes, err error) {
err = service.BusSafety().Edit(ctx, req)
return
}
// Delete 删除安全例会管理
func (c *busSafetyController) Delete(ctx context.Context, req *system.BusSafetyDeleteReq) (res *system.BusSafetyDeleteRes, err error) {
err = service.BusSafety().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,67 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-02-01 16:39:01
// 生成路径: internal/app/system/controller/bus_salary_details.go
// 生成人gfast
// desc:员工工资考核记录
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busSalaryDetailsController struct {
BaseController
}
var BusSalaryDetails = new(busSalaryDetailsController)
// List 列表
func (c *busSalaryDetailsController) List(ctx context.Context, req *system.BusSalaryDetailsSearchReq) (res *system.BusSalaryDetailsSearchRes, err error) {
res, err = service.BusSalaryDetails().List(ctx, req)
return
}
// Get 获取员工工资考核记录
func (c *busSalaryDetailsController) Get(ctx context.Context, req *system.BusSalaryDetailsGetReq) (res *system.BusSalaryDetailsGetRes, err error) {
res = new(system.BusSalaryDetailsGetRes)
res.BusSalaryDetailsInfoRes, err = service.BusSalaryDetails().GetById(ctx, req.Id)
return
}
// Add 添加员工工资考核记录
func (c *busSalaryDetailsController) Add(ctx context.Context, req *system.BusSalaryDetailsAddReq) (res *system.BusSalaryDetailsAddRes, err error) {
err = service.BusSalaryDetails().Add(ctx, req)
return
}
// Edit 修改员工工资考核记录
func (c *busSalaryDetailsController) Edit(ctx context.Context, req *system.BusSalaryDetailsEditReq) (res *system.BusSalaryDetailsEditRes, err error) {
err = service.BusSalaryDetails().Edit(ctx, req)
return
}
// Delete 删除员工工资考核记录
func (c *busSalaryDetailsController) Delete(ctx context.Context, req *system.BusSalaryDetailsDeleteReq) (res *system.BusSalaryDetailsDeleteRes, err error) {
err = service.BusSalaryDetails().Delete(ctx, req.Ids)
return
}
// GetByIdDetailFunc 获取当前考勤记录的明细
func (c *busSalaryDetailsController) GetByIdDetailFunc(ctx context.Context, req *system.GetByIdDetailFuncReq) (res *system.GetByIdDetailFuncRes, err error) {
res = new(system.GetByIdDetailFuncRes)
res, err = service.BusSalaryDetails().GetByIdDetailFunc(ctx, req)
return
}
// SalarySheetFunc 工资条获取(可根据项目or班组or施工人员)
func (c *busSalaryDetailsController) SalarySheetFunc(ctx context.Context, req *system.SalarySheetFuncReq) (res *system.SalarySheetFuncRes, err error) {
res = new(system.SalarySheetFuncRes)
res, err = service.BusSalaryDetails().SalarySheetFunc(ctx, req)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 17:39:12
// 生成路径: internal/app/system/controller/bus_scheduled_plan_type.go
// 生成人gfast
// desc:施工进度分类
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busScheduledPlanTypeController struct {
BaseController
}
var BusScheduledPlanType = new(busScheduledPlanTypeController)
// List 列表
func (c *busScheduledPlanTypeController) List(ctx context.Context, req *system.BusScheduledPlanTypeSearchReq) (res *system.BusScheduledPlanTypeSearchRes, err error) {
res, err = service.BusScheduledPlanType().List(ctx, req)
return
}
// Get 获取施工进度分类
func (c *busScheduledPlanTypeController) Get(ctx context.Context, req *system.BusScheduledPlanTypeGetReq) (res *system.BusScheduledPlanTypeGetRes, err error) {
res = new(system.BusScheduledPlanTypeGetRes)
res.BusScheduledPlanTypeInfoRes, err = service.BusScheduledPlanType().GetByPlanTypeId(ctx, req.PlanTypeId)
return
}
// Add 添加施工进度分类
func (c *busScheduledPlanTypeController) Add(ctx context.Context, req *system.BusScheduledPlanTypeAddReq) (res *system.BusScheduledPlanTypeAddRes, err error) {
err = service.BusScheduledPlanType().Add(ctx, req)
return
}
// Edit 修改施工进度分类
func (c *busScheduledPlanTypeController) Edit(ctx context.Context, req *system.BusScheduledPlanTypeEditReq) (res *system.BusScheduledPlanTypeEditRes, err error) {
err = service.BusScheduledPlanType().Edit(ctx, req)
return
}
// Delete 删除施工进度分类
func (c *busScheduledPlanTypeController) Delete(ctx context.Context, req *system.BusScheduledPlanTypeDeleteReq) (res *system.BusScheduledPlanTypeDeleteRes, err error) {
err = service.BusScheduledPlanType().Delete(ctx, req.PlanTypeIds)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 17:15:27
// 生成路径: internal/app/system/controller/bus_scheduled_plan_type_detail.go
// 生成人gfast
// desc:施工进度月报,年报分类
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busScheduledPlanTypeDetailController struct {
BaseController
}
var BusScheduledPlanTypeDetail = new(busScheduledPlanTypeDetailController)
// List 列表
func (c *busScheduledPlanTypeDetailController) List(ctx context.Context, req *system.BusScheduledPlanTypeDetailSearchReq) (res *system.BusScheduledPlanTypeDetailSearchRes, err error) {
res, err = service.BusScheduledPlanTypeDetail().List(ctx, req)
return
}
// Get 获取施工进度月报,年报分类
func (c *busScheduledPlanTypeDetailController) Get(ctx context.Context, req *system.BusScheduledPlanTypeDetailGetReq) (res *system.BusScheduledPlanTypeDetailGetRes, err error) {
res = new(system.BusScheduledPlanTypeDetailGetRes)
res.BusScheduledPlanTypeDetailInfoRes, err = service.BusScheduledPlanTypeDetail().GetByPlanTypeDetailId(ctx, req.PlanTypeDetailId)
return
}
// Add 添加施工进度月报,年报分类
func (c *busScheduledPlanTypeDetailController) Add(ctx context.Context, req *system.BusScheduledPlanTypeDetailAddReq) (res *system.BusScheduledPlanTypeDetailAddRes, err error) {
err = service.BusScheduledPlanTypeDetail().Add(ctx, req)
return
}
// Edit 修改施工进度月报,年报分类
func (c *busScheduledPlanTypeDetailController) Edit(ctx context.Context, req *system.BusScheduledPlanTypeDetailEditReq) (res *system.BusScheduledPlanTypeDetailEditRes, err error) {
err = service.BusScheduledPlanTypeDetail().Edit(ctx, req)
return
}
// Delete 删除施工进度月报,年报分类
func (c *busScheduledPlanTypeDetailController) Delete(ctx context.Context, req *system.BusScheduledPlanTypeDetailDeleteReq) (res *system.BusScheduledPlanTypeDetailDeleteRes, err error) {
err = service.BusScheduledPlanTypeDetail().Delete(ctx, req.PlanTypeDetailIds)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-02 15:28:49
// 生成路径: internal/app/system/controller/bus_scheduled_weekly.go
// 生成人gfast
// desc:周报
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busScheduledWeeklyController struct {
BaseController
}
var BusScheduledWeekly = new(busScheduledWeeklyController)
// List 列表
func (c *busScheduledWeeklyController) List(ctx context.Context, req *system.BusScheduledWeeklySearchReq) (res *system.BusScheduledWeeklySearchRes, err error) {
res, err = service.BusScheduledWeekly().List(ctx, req)
return
}
// Get 获取周报
func (c *busScheduledWeeklyController) Get(ctx context.Context, req *system.BusScheduledWeeklyGetReq) (res *system.BusScheduledWeeklyGetRes, err error) {
res = new(system.BusScheduledWeeklyGetRes)
res.BusScheduledWeeklyInfoRes, err = service.BusScheduledWeekly().GetByPlanWeeklyId(ctx, req.PlanWeeklyId)
return
}
// Add 添加周报
func (c *busScheduledWeeklyController) Add(ctx context.Context, req *system.BusScheduledWeeklyAddReq) (res *system.BusScheduledWeeklyAddRes, err error) {
err = service.BusScheduledWeekly().Add(ctx, req)
return
}
// Edit 修改周报
func (c *busScheduledWeeklyController) Edit(ctx context.Context, req *system.BusScheduledWeeklyEditReq) (res *system.BusScheduledWeeklyEditRes, err error) {
err = service.BusScheduledWeekly().Edit(ctx, req)
return
}
// Delete 删除周报
func (c *busScheduledWeeklyController) Delete(ctx context.Context, req *system.BusScheduledWeeklyDeleteReq) (res *system.BusScheduledWeeklyDeleteRes, err error) {
err = service.BusScheduledWeekly().Delete(ctx, req.PlanWeeklyIds)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-02 15:21:55
// 生成路径: internal/app/system/controller/bus_scheduled_weekly_photovoltaic.go
// 生成人gfast
// desc:周报-光伏板
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busScheduledWeeklyPhotovoltaicController struct {
BaseController
}
var BusScheduledWeeklyPhotovoltaic = new(busScheduledWeeklyPhotovoltaicController)
// List 列表
func (c *busScheduledWeeklyPhotovoltaicController) List(ctx context.Context, req *system.BusScheduledWeeklyPhotovoltaicSearchReq) (res *system.BusScheduledWeeklyPhotovoltaicSearchRes, err error) {
res, err = service.BusScheduledWeeklyPhotovoltaic().List(ctx, req)
return
}
// Get 获取周报-光伏板
func (c *busScheduledWeeklyPhotovoltaicController) Get(ctx context.Context, req *system.BusScheduledWeeklyPhotovoltaicGetReq) (res *system.BusScheduledWeeklyPhotovoltaicGetRes, err error) {
res = new(system.BusScheduledWeeklyPhotovoltaicGetRes)
res.BusScheduledWeeklyPhotovoltaicInfoRes, err = service.BusScheduledWeeklyPhotovoltaic().GetByPhotovoltaicId(ctx, req.PhotovoltaicId)
return
}
// Add 添加周报-光伏板
func (c *busScheduledWeeklyPhotovoltaicController) Add(ctx context.Context, req *system.BusScheduledWeeklyPhotovoltaicAddReq) (res *system.BusScheduledWeeklyPhotovoltaicAddRes, err error) {
err = service.BusScheduledWeeklyPhotovoltaic().Add(ctx, req)
return
}
// Edit 修改周报-光伏板
func (c *busScheduledWeeklyPhotovoltaicController) Edit(ctx context.Context, req *system.BusScheduledWeeklyPhotovoltaicEditReq) (res *system.BusScheduledWeeklyPhotovoltaicEditRes, err error) {
err = service.BusScheduledWeeklyPhotovoltaic().Edit(ctx, req)
return
}
// Delete 删除周报-光伏板
func (c *busScheduledWeeklyPhotovoltaicController) Delete(ctx context.Context, req *system.BusScheduledWeeklyPhotovoltaicDeleteReq) (res *system.BusScheduledWeeklyPhotovoltaicDeleteRes, err error) {
err = service.BusScheduledWeeklyPhotovoltaic().Delete(ctx, req.PhotovoltaicIds)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-29 11:36:04
// 生成路径: internal/app/system/controller/bus_standing_book.go
// 生成人gfast
// desc:台账
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busStandingBookController struct {
BaseController
}
var BusStandingBook = new(busStandingBookController)
// List 列表
func (c *busStandingBookController) List(ctx context.Context, req *system.BusStandingBookSearchReq) (res *system.BusStandingBookSearchRes, err error) {
res, err = service.BusStandingBook().List(ctx, req)
return
}
// Get 获取台账
func (c *busStandingBookController) Get(ctx context.Context, req *system.BusStandingBookGetReq) (res *system.BusStandingBookGetRes, err error) {
res = new(system.BusStandingBookGetRes)
res.BusStandingBookInfoRes, err = service.BusStandingBook().GetByStandingBookId(ctx, req.StandingBookId)
return
}
// Add 添加台账
func (c *busStandingBookController) Add(ctx context.Context, req *system.BusStandingBookAddReq) (res *system.BusStandingBookAddRes, err error) {
err = service.BusStandingBook().Add(ctx, req)
return
}
// Edit 修改台账
func (c *busStandingBookController) Edit(ctx context.Context, req *system.BusStandingBookEditReq) (res *system.BusStandingBookEditRes, err error) {
err = service.BusStandingBook().Edit(ctx, req)
return
}
// Delete 删除台账
func (c *busStandingBookController) Delete(ctx context.Context, req *system.BusStandingBookDeleteReq) (res *system.BusStandingBookDeleteRes, err error) {
err = service.BusStandingBook().Delete(ctx, req.StandingBookIds)
return
}

View File

@ -0,0 +1,59 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-10-10 12:11:05
// 生成路径: internal/app/system/controller/bus_tour.go
// 生成人gfast
// desc:煤科巡视-故障记录
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busTourController struct {
BaseController
}
var BusTour = new(busTourController)
// List 列表
func (c *busTourController) List(ctx context.Context, req *system.BusTourSearchReq) (res *system.BusTourSearchRes, err error) {
res, err = service.BusTour().List(ctx, req)
return
}
// Get 获取煤科巡视-故障记录
func (c *busTourController) Get(ctx context.Context, req *system.BusTourGetReq) (res *system.BusTourGetRes, err error) {
res = new(system.BusTourGetRes)
res.BusTourInfoRes, err = service.BusTour().GetById(ctx, req.Id)
return
}
// Add 添加煤科巡视-故障记录
func (c *busTourController) Add(ctx context.Context, req *system.BusTourAddReq) (res *system.BusTourAddRes, err error) {
err = service.BusTour().Add(ctx, req)
return
}
// Edit 修改煤科巡视-故障记录
func (c *busTourController) Edit(ctx context.Context, req *system.BusTourEditReq) (res *system.BusTourEditRes, err error) {
err = service.BusTour().Edit(ctx, req)
return
}
// Delete 删除煤科巡视-故障记录
func (c *busTourController) Delete(ctx context.Context, req *system.BusTourDeleteReq) (res *system.BusTourDeleteRes, err error) {
err = service.BusTour().Delete(ctx, req.Ids)
return
}
// ListAll GIS大屏展示所有ai
func (c *busTourController) ListAll(ctx context.Context, req *system.BusTourSearchAllReq) (res *system.BusTourSearchAllRes, err error) {
res, err = service.BusTour().ListAll(ctx, req)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-05 10:07:11
// 生成路径: internal/app/system/controller/bus_type_of_wage.go
// 生成人gfast
// desc:工种薪水
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busTypeOfWageController struct {
BaseController
}
var BusTypeOfWage = new(busTypeOfWageController)
// List 列表
func (c *busTypeOfWageController) List(ctx context.Context, req *system.BusTypeOfWageSearchReq) (res *system.BusTypeOfWageSearchRes, err error) {
res, err = service.BusTypeOfWage().List(ctx, req)
return
}
// Get 获取工种薪水
func (c *busTypeOfWageController) Get(ctx context.Context, req *system.BusTypeOfWageGetReq) (res *system.BusTypeOfWageGetRes, err error) {
res = new(system.BusTypeOfWageGetRes)
res.BusTypeOfWageInfoRes, err = service.BusTypeOfWage().GetById(ctx, req.Id)
return
}
// Add 添加工种薪水
func (c *busTypeOfWageController) Add(ctx context.Context, req *system.BusTypeOfWageAddReq) (res *system.BusTypeOfWageAddRes, err error) {
err = service.BusTypeOfWage().Add(ctx, req)
return
}
// Edit 修改工种薪水
func (c *busTypeOfWageController) Edit(ctx context.Context, req *system.BusTypeOfWageEditReq) (res *system.BusTypeOfWageEditRes, err error) {
err = service.BusTypeOfWage().Edit(ctx, req)
return
}
// Delete 删除工种薪水
func (c *busTypeOfWageController) Delete(ctx context.Context, req *system.BusTypeOfWageDeleteReq) (res *system.BusTypeOfWageDeleteRes, err error) {
err = service.BusTypeOfWage().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-20 11:18:36
// 生成路径: internal/app/system/controller/bus_violation_level.go
// 生成人gfast
// desc:违章等级
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busViolationLevelController struct {
BaseController
}
var BusViolationLevel = new(busViolationLevelController)
// List 列表
func (c *busViolationLevelController) List(ctx context.Context, req *system.BusViolationLevelSearchReq) (res *system.BusViolationLevelSearchRes, err error) {
res, err = service.BusViolationLevel().List(ctx, req)
return
}
// Get 获取违章等级
func (c *busViolationLevelController) Get(ctx context.Context, req *system.BusViolationLevelGetReq) (res *system.BusViolationLevelGetRes, err error) {
res = new(system.BusViolationLevelGetRes)
res.BusViolationLevelInfoRes, err = service.BusViolationLevel().GetById(ctx, req.Id)
return
}
// Add 添加违章等级
func (c *busViolationLevelController) Add(ctx context.Context, req *system.BusViolationLevelAddReq) (res *system.BusViolationLevelAddRes, err error) {
err = service.BusViolationLevel().Add(ctx, req)
return
}
// Edit 修改违章等级
func (c *busViolationLevelController) Edit(ctx context.Context, req *system.BusViolationLevelEditReq) (res *system.BusViolationLevelEditRes, err error) {
err = service.BusViolationLevel().Edit(ctx, req)
return
}
// Delete 删除违章等级
func (c *busViolationLevelController) Delete(ctx context.Context, req *system.BusViolationLevelDeleteReq) (res *system.BusViolationLevelDeleteRes, err error) {
err = service.BusViolationLevel().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,103 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-20 11:18:37
// 生成路径: internal/app/system/controller/bus_violation_record.go
// 生成人gfast
// desc:违章记录
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/jinzhu/copier"
"github.com/tiger1103/gfast/v3/api/v1/system"
wxSystem "github.com/tiger1103/gfast/v3/api/wxApplet/wxApplet"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"strconv"
//serviceWxApplet "github.com/tiger1103/gfast/v3/internal/app/wxApplet/service"
)
type busViolationRecordController struct {
BaseController
}
var BusViolationRecord = new(busViolationRecordController)
// List 列表
func (c *busViolationRecordController) List(ctx context.Context, req *system.BusViolationRecordSearchReq) (res *system.BusViolationRecordSearchRes, err error) {
res, err = service.BusViolationRecord().List(ctx, req)
return
}
// Get 获取违章记录
func (c *busViolationRecordController) Get(ctx context.Context, req *system.BusViolationRecordGetReq) (res *wxSystem.AppWorkOrderParticularsRes, err error) {
res = new(wxSystem.AppWorkOrderParticularsRes)
r := wxSystem.AppWorkOrderParticularsReq{}
err = copier.Copy(&r, &req)
particularsFunc, err := service.BusViolationRecord().AppWorkOrderParticularsFunc(ctx, &r)
res = particularsFunc
//res.BusViolationRecordInfoRes, err = service.BusViolationRecord().GetById(ctx, req.Id)
return
}
//
//// Add 添加违章记录
//func (c *busViolationRecordController) Add(ctx context.Context, req *system.BusViolationRecordAddReq) (res *system.BusViolationRecordAddRes, err error) {
// err = service.BusViolationRecord().Add(ctx, req)
// return
//}
// Delete 删除违章记录
func (c *busViolationRecordController) Delete(ctx context.Context, req *system.BusViolationRecordDeleteReq) (res *system.BusViolationRecordDeleteRes, err error) {
err = service.BusViolationRecord().Delete(ctx, req.Ids)
return
}
// SelectTheViolatorFunc 选择违章处理人
func (c *busViolationRecordController) SelectTheViolatorFunc(ctx context.Context, req *system.BSelectTheViolatorReq) (res *system.SelectTheViolatorRes, err error) {
err = service.BusViolationRecord().SelectTheViolatorFunc(ctx, req)
return
}
// ReviewFunc 复查
func (c *busViolationRecordController) ReviewFunc(ctx context.Context, req *system.ReviewReq) (res *wxSystem.AppReviewRes, err error) {
r := wxSystem.AppReviewReq{}
err = copier.Copy(&r, &req)
r.Operator = strconv.FormatInt(int64(ct.New().GetLoginUser(ctx).Id), 10)
err = service.BusViolationRecord().AppReviewFuncFunc(ctx, &r)
return
}
//// WxList 提供给小程序---》获取当前用户所需处理的违章记录
//func (c *busViolationRecordController) WxList(ctx context.Context, req *wxSystem.BusViolationRecordSearchReq) (res *wxSystem.BusViolationRecordSearchRes, err error) {
// res, err = service.BusViolationRecord().WxList(ctx, req)
// return
//}
//
//// WxEdit 提供给小程序---》修改违章记录
//func (c *busViolationRecordController) WxEdit(ctx context.Context, req *wxSystem.BusViolationRecordEditReq) (res *wxSystem.BusViolationRecordEditRes, err error) {
// err = service.BusViolationRecord().WxEdit(ctx, req)
// return
//}
//
//// WxAdd 提供给小程序---》风险管控新增
//func (c *busViolationRecordController) WxAdd(ctx context.Context, req *wxSystem.WxBusViolationRecordAddReq) (res *wxSystem.WxBusViolationRecordAddRes, err error) {
// err = service.BusViolationRecord().WxAdd(ctx, req)
// return
//}
//
//// WxListTwo 提供给小程序---》获取当前用户所上传的违章记录
//func (c *busViolationRecordController) WxListTwo(ctx context.Context, req *wxSystem.BusViolationRecordSearchTwoReq) (res *wxSystem.BusViolationRecordSearchTwoRes, err error) {
// res, err = service.BusViolationRecord().WxListTwo(ctx, req)
// return
//}
//
//// WxDetails 提供给小程序---》获取风险管控详情
//func (c *busViolationRecordController) WxDetails(ctx context.Context, req *wxSystem.WxBusViolationRecordDetailsReq) (res *wxSystem.WxBusViolationRecordDetailsRes, err error) {
// res = new(wxSystem.WxBusViolationRecordDetailsRes)
// res, err = service.BusViolationRecord().WxDetails(ctx, req)
// return
//}

View File

@ -0,0 +1,59 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-02 18:03:23
// 生成路径: internal/app/system/controller/bus_weekly_security_report.go
// 生成人gfast
// desc:安全周期
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type busWeeklySecurityReportController struct {
BaseController
}
var BusWeeklySecurityReport = new(busWeeklySecurityReportController)
// List 列表
func (c *busWeeklySecurityReportController) List(ctx context.Context, req *system.BusWeeklySecurityReportSearchReq) (res *system.BusWeeklySecurityReportSearchRes, err error) {
res, err = service.BusWeeklySecurityReport().List(ctx, req)
return
}
// Get 获取安全周期
func (c *busWeeklySecurityReportController) Get(ctx context.Context, req *system.BusWeeklySecurityReportGetReq) (res *system.BusWeeklySecurityReportGetRes, err error) {
res = new(system.BusWeeklySecurityReportGetRes)
res.BusWeeklySecurityReportInfoRes, err = service.BusWeeklySecurityReport().GetById(ctx, req.Id)
return
}
// Add 添加安全周期
func (c *busWeeklySecurityReportController) Add(ctx context.Context, req *system.BusWeeklySecurityReportAddReq) (res *system.BusWeeklySecurityReportAddRes, err error) {
err = service.BusWeeklySecurityReport().Add(ctx, req)
return
}
// Edit 修改安全周期
func (c *busWeeklySecurityReportController) Edit(ctx context.Context, req *system.BusWeeklySecurityReportEditReq) (res *system.BusWeeklySecurityReportEditRes, err error) {
err = service.BusWeeklySecurityReport().Edit(ctx, req)
return
}
// Delete 删除安全周期
func (c *busWeeklySecurityReportController) Delete(ctx context.Context, req *system.BusWeeklySecurityReportDeleteReq) (res *system.BusWeeklySecurityReportDeleteRes, err error) {
err = service.BusWeeklySecurityReport().Delete(ctx, req.Ids)
return
}
func (c *busWeeklySecurityReportController) ExposeSingleFileUploads(ctx context.Context, req *system.SecurityReportReq) (res *system.WriteFreelyRes, err error) {
res = new(system.WriteFreelyRes)
res, err = SingleFileUploads(ctx, req.Path)
return
}

View File

@ -0,0 +1,60 @@
/*
* @desc:缓存处理
* @company:云南奇讯科技有限公司
* @Author: yixiaohu<yxh669@qq.com>
* @Date: 2023/2/1 18:14
*/
package controller
import (
"context"
"github.com/gogf/gf/v2/container/gvar"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
"github.com/tiger1103/gfast/v3/api/v1/system"
commonConsts "github.com/tiger1103/gfast/v3/internal/app/common/consts"
"github.com/tiger1103/gfast/v3/internal/app/common/service"
"github.com/tiger1103/gfast/v3/internal/app/system/consts"
)
var Cache = new(cacheController)
type cacheController struct {
BaseController
}
func (c *cacheController) Remove(ctx context.Context, req *system.CacheRemoveReq) (res *system.CacheRemoveRes, err error) {
service.Cache().RemoveByTag(ctx, commonConsts.CacheSysDictTag)
service.Cache().RemoveByTag(ctx, commonConsts.CacheSysConfigTag)
service.Cache().RemoveByTag(ctx, consts.CacheSysAuthTag)
cacheRedis := g.Cfg().MustGet(ctx, "system.cache.model").String()
if cacheRedis == commonConsts.CacheModelRedis {
cursor := 0
cachePrefix := g.Cfg().MustGet(ctx, "system.cache.prefix").String()
for {
var v *gvar.Var
v, err = g.Redis().Do(ctx, "scan", cursor, "match", cachePrefix+"*", "count", "100")
if err != nil {
return
}
data := gconv.SliceAny(v)
var dataSlice []string
err = gconv.Structs(data[1], &dataSlice)
if err != nil {
return
}
for _, d := range dataSlice {
_, err = g.Redis().Do(ctx, "del", d)
if err != nil {
return
}
}
cursor = gconv.Int(data[0])
if cursor == 0 {
break
}
}
}
return
}

View File

@ -0,0 +1,60 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-14 10:21:06
// 生成路径: internal/app/system/controller/comment_list.go
// 生成人gfast
// desc:App消息-评论
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type commentListController struct {
BaseController
}
var CommentList = new(commentListController)
// 获取自己的评论列表
func (c *commentListController) Self(ctx context.Context, req *system.CommentListSelfReq) (res *system.CommentListSelfRes, err error) {
res, err = service.CommentList().GetSelfList(ctx, req)
return
}
// List 列表
func (c *commentListController) List(ctx context.Context, req *system.CommentListSearchReq) (res *system.CommentListSearchRes, err error) {
res, err = service.CommentList().List(ctx, req)
return
}
// Get 获取App消息-评论
func (c *commentListController) Get(ctx context.Context, req *system.CommentListGetReq) (res *system.CommentListGetRes, err error) {
res = new(system.CommentListGetRes)
res.CommentListInfoRes, err = service.CommentList().GetById(ctx, req.Id)
return
}
// Add 添加App消息-评论
func (c *commentListController) Add(ctx context.Context, req *system.CommentListAddReq) (res *system.CommentListAddRes, err error) {
err = service.CommentList().Add(ctx, req)
return
}
// Edit 修改App消息-评论
func (c *commentListController) Edit(ctx context.Context, req *system.CommentListEditReq) (res *system.CommentListEditRes, err error) {
err = service.CommentList().Edit(ctx, req)
return
}
// Delete 删除App消息-评论
func (c *commentListController) Delete(ctx context.Context, req *system.CommentListDeleteReq) (res *system.CommentListDeleteRes, err error) {
err = service.CommentList().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,108 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-23 14:47:24
// 生成路径: internal/app/system/controller/comments.go
// 生成人gfast
// desc:App通知公告评论
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
)
type commentsController struct {
BaseController
}
var Comments = new(commentsController)
// List 列表
func (c *commentsController) List(ctx context.Context, req *system.CommentsSearchReq) (res *system.CommentsSearchRes, err error) {
res, err = service.Comments().List(ctx, req)
return
}
// Get 获取App通知公告评论
func (c *commentsController) Get(ctx context.Context, req *system.CommentsGetReq) (res *system.CommentsGetRes, err error) {
res = new(system.CommentsGetRes)
res.CommentsInfoRes, err = service.Comments().GetById(ctx, req.Id)
return
}
// Add 添加App通知公告评论
func (c *commentsController) Add(ctx context.Context, req *system.CommentsAddReq) (res *system.CommentsAddRes, err error) {
err = service.Comments().Add(ctx, req)
return
}
// Edit 修改App通知公告评论
func (c *commentsController) Edit(ctx context.Context, req *system.CommentsEditReq) (res *system.CommentsEditRes, err error) {
err = service.Comments().Edit(ctx, req)
return
}
// Delete 删除App通知公告评论
func (c *commentsController) Delete(ctx context.Context, req *system.CommentsDeleteReq) (res *system.CommentsDeleteRes, err error) {
err = service.Comments().Delete(ctx, req.Ids)
return
}
// Publish 通知公告发布一条评论
func (c *commentsController) Publish(ctx context.Context, req *system.CommentsPublishReq) (*system.CommentsPublishRes, error) {
// 获取用户的主键ID
userID := ct.New().GetUserId(ctx)
err := g.Try(ctx, func(ctx context.Context) {
_, err := dao.Comments.Ctx(ctx).Insert(do.Comments{
NotificationId: req.NotificationId, // 关联的通知ID
CommentText: req.CommentText, // 评论内容
CommentId: userID, // 用户ID
})
liberr.ErrIsNil(ctx, err, "添加评论失败")
})
liberr.ErrIsNil(ctx, err)
return &system.CommentsPublishRes{}, nil
}
// 获取指定一个通知公告的评论列表
func (c *commentsController) GetListByNotificationId(ctx context.Context, req *system.CommentsGetListByNotificationIdReq) (res *system.CommentsGetListByNotificationIdRes, err error) {
res = new(system.CommentsGetListByNotificationIdRes)
err = g.Try(ctx, func(ctx context.Context) {
m := dao.Comments.Ctx(ctx).WithAll()
// 获取总页数
res.Total, err = m.Count()
liberr.ErrIsNil(ctx, err, "获取数据失败")
res.CurrentPage = req.PageNum
if req.PageNum == 0 {
req.PageNum = 1
}
if req.PageSize == 0 {
req.PageSize = 30
}
m = m.As("cs").LeftJoin("sys_user as su", "su.id = cs.comment_id").
Where("cs.notification_id", req.NotificationId)
err = m.Page(req.PageNum, req.PageSize).Order("id asc").
Fields(`cs.id,notification_id,comment_text,comment_id,cs.created_at,su.user_nickname`).Scan(&res.List)
liberr.ErrIsNil(ctx, err, "获取数据失败")
})
return
}

View File

@ -0,0 +1,74 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-13 18:10:56
// 生成路径: internal/app/system/controller/construction_details.go
// 生成人gfast
// desc:施工类别详情
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/third/create"
)
type constructionDetailsController struct {
BaseController
}
var ConstructionDetails = new(constructionDetailsController)
// List 列表
func (c *constructionDetailsController) List(ctx context.Context, req *system.ConstructionDetailsSearchReq) (res *system.ConstructionDetailsSearchRes, err error) {
res, err = service.ConstructionDetails().List(ctx, req)
return
}
// Get 获取施工类别详情
func (c *constructionDetailsController) Get(ctx context.Context, req *system.ConstructionDetailsGetReq) (res *system.ConstructionDetailsGetRes, err error) {
res = new(system.ConstructionDetailsGetRes)
res.ConstructionDetailsInfoRes, err = service.ConstructionDetails().GetById(ctx, req.Id)
return
}
// Add 添加施工类别详情
func (c *constructionDetailsController) Add(ctx context.Context, req *system.ConstructionDetailsAddReq) (res *system.ConstructionDetailsAddRes, err error) {
err = service.ConstructionDetails().Add(ctx, req)
return
}
// Edit 修改施工类别详情
func (c *constructionDetailsController) Edit(ctx context.Context, req *system.ConstructionDetailsEditReq) (res *system.ConstructionDetailsEditRes, err error) {
err = service.ConstructionDetails().Edit(ctx, req)
return
}
// Delete 删除施工类别详情
func (c *constructionDetailsController) Delete(ctx context.Context, req *system.ConstructionDetailsDeleteReq) (res *system.ConstructionDetailsDeleteRes, err error) {
err = service.ConstructionDetails().Delete(ctx, req.Ids)
return
}
// 查询指定方阵下,设施的可选择余量
// func (c *constructionDetailsController) GetByConstruction(ctx context.Context, req *system.ConstructionDetailsListReq) (res *system.ConstructionDetailsListRes, err error) {
// res = new(system.ConstructionDetailsListRes)
// }
// 返回指定方阵ID下的 gannt json
func (c *constructionDetailsController) GetByFangzhen(ctx context.Context, req *system.GanntJsonReq) (*system.GanntJsonRes, error) {
data, err := create.FetchGanttData(ctx, req.FangzhenID)
if err != nil {
return nil, err
}
res := new(system.GanntJsonRes)
res.List = data
return res, nil
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-13 17:36:45
// 生成路径: internal/app/system/controller/construction_project.go
// 生成人gfast
// desc:施工项目
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type constructionProjectController struct {
BaseController
}
var ConstructionProject = new(constructionProjectController)
// List 列表
func (c *constructionProjectController) List(ctx context.Context, req *system.ConstructionProjectSearchReq) (res *system.ConstructionProjectSearchRes, err error) {
res, err = service.ConstructionProject().List(ctx, req)
return
}
// Get 获取施工项目
func (c *constructionProjectController) Get(ctx context.Context, req *system.ConstructionProjectGetReq) (res *system.ConstructionProjectGetRes, err error) {
res = new(system.ConstructionProjectGetRes)
res.ConstructionProjectInfoRes, err = service.ConstructionProject().GetByConstructionId(ctx, req.ConstructionId)
return
}
// Add 添加施工项目
func (c *constructionProjectController) Add(ctx context.Context, req *system.ConstructionProjectAddReq) (res *system.ConstructionProjectAddRes, err error) {
err = service.ConstructionProject().Add(ctx, req)
return
}
// Edit 修改施工项目
func (c *constructionProjectController) Edit(ctx context.Context, req *system.ConstructionProjectEditReq) (res *system.ConstructionProjectEditRes, err error) {
err = service.ConstructionProject().Edit(ctx, req)
return
}
// Delete 删除施工项目
func (c *constructionProjectController) Delete(ctx context.Context, req *system.ConstructionProjectDeleteReq) (res *system.ConstructionProjectDeleteRes, err error) {
err = service.ConstructionProject().Delete(ctx, req.ConstructionIds)
return
}

View File

@ -0,0 +1,182 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-24 09:57:07
// 生成路径: internal/app/system/controller/device.go
// 生成人gfast
// desc:安全帽设备java
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"encoding/json"
"github.com/gogf/gf/v2/database/gredis"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gmutex"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"log"
"sync"
"time"
)
type deviceController struct {
BaseController
}
var Device = new(deviceController)
// 全局map
var clientMap = make(map[string]*wsClient)
const RedisHelmetKey = "safety_helmet:"
type wsClient struct {
Socket *ghttp.WebSocket
}
type BusUserEntity struct {
NickName string ` json:"nickName" dc:"微信名称"`
HeadIcon string ` json:"headIcon" dc:"登录头像"`
UserName string ` json:"userName" dc:"人员姓名"`
DevNum string `json:"devNum" dc:"设备标识"`
LatAndLon string ` json:"LatAndLon" dc:"纬度经度格式29.101,180.101"`
}
// List 列表
func (c *deviceController) List(ctx context.Context, req *system.DeviceSearchReq) (res *system.DeviceSearchRes, err error) {
res, err = service.Device().List(ctx, req)
return
}
// AllList 返回当前项目下。设备和用户关联到的所有设备
func (c *deviceController) AllList(ctx context.Context, req *system.DeviceSearchAllReq) (res *system.DeviceSearchAllRes, err error) {
res, err = service.Device().AllList(ctx, req)
return
}
// HelmetListFunc 安全帽列表
func (c *deviceController) HelmetListFunc(ctx context.Context, req *system.HelmetListReq) (res *system.HelmetListRes, err error) {
res, err = service.Device().HelmetListFunc(ctx, req)
return
}
// Get 获取安全帽设备java
func (c *deviceController) Get(ctx context.Context, req *system.DeviceGetReq) (res *system.DeviceGetRes, err error) {
res = new(system.DeviceGetRes)
res, err = service.Device().GetByDevNum(ctx, req)
return
}
// Add 添加安全帽设备java
func (c *deviceController) Add(ctx context.Context, req *system.DeviceAddReq) (res *system.DeviceAddRes, err error) {
err = service.Device().Add(ctx, req)
return
}
// RemoveRelationFunc 移除人员
func (c *deviceController) RemoveRelationFunc(ctx context.Context, req *system.RemoveRelationReq) (res *system.RemoveRelationRes, err error) {
err = service.Device().RemoveRelationFunc(ctx, req)
return
}
// Delete 删除安全帽设备java
func (c *deviceController) Delete(ctx context.Context, req *system.DeviceDeleteReq) (res *system.DeviceDeleteRes, err error) {
err = service.Device().Delete(ctx, req.DevNums)
return
}
// ScheduleTimeFunc 根据指定时间段去查询有足迹的日期
func (c *deviceController) ScheduleTimeFunc(ctx context.Context, req *system.ScheduleTimeReq) (res *system.ScheduleTimeRes, err error) {
res = new(system.ScheduleTimeRes)
res, err = service.Device().ScheduleTimeFunc(ctx, req)
return
}
var (
once sync.Once
subscribe gredis.Conn
subscribeMu sync.Mutex
)
// 初始化订阅
func InitSubscription() {
subscribeMu.Lock()
defer subscribeMu.Unlock()
if subscribe == nil {
var err error
subscribe, _, err = g.Redis("helmetRedis").Subscribe(context.Background(), RedisHelmetKey)
if err != nil {
log.Fatal("Failed to subscribe to Redis:", err)
}
}
}
func (c *deviceController) WebsocketFunc(ctx context.Context, req *system.WebsocketReq) (res *system.WebsocketRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
once.Do(InitSubscription)
reqWs := ghttp.RequestFromCtx(ctx)
ws, err := reqWs.WebSocket()
if err != nil {
glog.Error(ctx, err)
reqWs.Exit()
}
var strData = ""
var i = 0
mutex := gmutex.New()
mutex.Lock()
defer mutex.Unlock()
for {
if strData != "" || i == 0 {
count, err := dao.BusConstructionUser.Ctx(ctx).Where("dev_num", strData).Where("project_id", req.ProjectId).Count()
if err != nil {
liberr.ErrIsNil(ctx, err, "WebSocket服务出现问题")
return
}
if count > 0 || i == 0 {
i = 1
var busUser []*BusUserEntity
err = dao.BusConstructionUser.Ctx(ctx).Where("project_id", req.ProjectId).Where("dev_num <> ''").Fields("head_icon,nick_name,user_name,dev_num").Scan(&busUser)
if err != nil {
liberr.ErrIsNil(ctx, err, "WebSocket服务出现问题")
return
}
for ii := range busUser {
get, _ := g.Redis("helmetRedis").Get(ctx, RedisHelmetKey+busUser[ii].DevNum)
if get != nil {
busUser[ii].LatAndLon = get.String()
}
}
marshal, err := json.Marshal(busUser)
if err != nil {
liberr.ErrIsNil(ctx, err, "WebSocket服务出现问题")
return
}
if err = ws.WriteMessage(1, marshal); err != nil {
return
}
}
}
_, _, err := ws.ReadMessage()
if err != nil {
return //断开就退出整个代码块
}
//第一次先发数据、然后如果前端还活着那么就继续走走到redis阻塞redis如果有消息发布就继续下一次循环如果死了就退出、
msg, err := subscribe.ReceiveMessage(ctx)
if err != nil {
log.Println("Error receiving message:", err)
time.Sleep(time.Second)
continue
}
strData = msg.Payload
}
})
return
}

View File

@ -0,0 +1,75 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-01 12:50:08
// 生成路径: internal/app/system/controller/device_preset.go
// 生成人gfast
// desc:预置位
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"fmt"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/third/ys7"
)
type devicePresetController struct {
BaseController
}
var DevicePreset = new(devicePresetController)
// List 列表
func (c *devicePresetController) List(ctx context.Context, req *system.DevicePresetSearchReq) (res *system.DevicePresetSearchRes, err error) {
res, err = service.DevicePreset().List(ctx, req)
return
}
// Get 获取预置位
func (c *devicePresetController) Get(ctx context.Context, req *system.DevicePresetGetReq) (res *system.DevicePresetGetRes, err error) {
res = new(system.DevicePresetGetRes)
res.DevicePresetInfoRes, err = service.DevicePreset().GetById(ctx, req.Id)
return
}
// Add 添加预置位
func (c *devicePresetController) Add(ctx context.Context, req *system.DevicePresetAddReq) (res *system.DevicePresetAddRes, err error) {
err = service.DevicePreset().Add(ctx, req)
return
}
// Edit 修改预置位
func (c *devicePresetController) Edit(ctx context.Context, req *system.DevicePresetEditReq) (res *system.DevicePresetEditRes, err error) {
err = service.DevicePreset().Edit(ctx, req)
return
}
// Delete 删除预置位
func (c *devicePresetController) Delete(ctx context.Context, req *system.DevicePresetDeleteReq) (res *system.DevicePresetDeleteRes, err error) {
err = service.DevicePreset().Delete(ctx, req.DeviceSerial, req.Ids)
return
}
// 调用预置点
func (c *devicePresetController) CallPreset(ctx context.Context, req *system.DevicePresetCallReq) (*system.DevicePresetCallRes, error) {
Device, err := ys7.GetDevice(req.DeviceSerial)
if err != nil {
return nil, fmt.Errorf("获取设备失败:%w", err)
}
resp, err := Device.MovePreset(req.Index)
if err != nil {
return nil, err
}
if resp.Code != "200" {
return nil, fmt.Errorf("调用失败:%s", resp.Msg)
}
return &system.DevicePresetCallRes{}, nil
}

View File

@ -0,0 +1,194 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-16 10:32:04
// 生成路径: internal/app/system/controller/document.go
// 生成人gfast
// desc:母板
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"encoding/json"
"errors"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/tiger1103/gfast/v3/third/officeWeb365"
"io"
"net/http"
"os"
"strings"
)
type documentController struct {
BaseController
}
type Action struct {
Type int `json:"type"`
UserID string `json:"userid"`
}
type MyStruct struct {
Actions []Action `json:"actions"`
ForceSaveType string `json:"forcesavetype"`
Key string `json:"key"`
Status int `json:"status"`
URL string `json:"url"`
Userdata string `json:"userdata"`
Users []string `json:"users"`
}
var Document = new(documentController)
func (c *documentController) SendFile(ctx context.Context, req *system.SendFileReq) (res *system.SendFileRes, err error) {
res = new(system.SendFileRes)
err, path := officeWeb365.SendFile199(ctx, req.FilePath, req.FileType)
res.FilePath = path
return
}
// List 列表
func (c *documentController) List(ctx context.Context, req *system.DocumentSearchReq) (res *system.DocumentSearchRes, err error) {
res, err = service.Document().List(ctx, req)
return
}
// AllList 列表
func (c *documentController) AllList(ctx context.Context, req *system.AllDocumentSearchReq) (res *system.AllDocumentSearchRes, err error) {
res, err = service.Document().AllList(ctx, req)
return
}
// Get 获取母板根据id
func (c *documentController) Get(ctx context.Context, req *system.DocumentGetReq) (res *system.DocumentGetRes, err error) {
res = new(system.DocumentGetRes)
res.DocumentInfoRes, err = service.Document().GetById(ctx, req.Id)
return
}
// Add 本地导入(文件/压缩文件夹)
func (c *documentController) Add(ctx context.Context, req *system.DocumentAddReq) (res *system.DocumentAddRes, err error) {
err = service.Document().Add(ctx, req)
return
}
// NewFolderFunc 新建文件夹
func (c *documentController) NewFolderFunc(ctx context.Context, req *system.NewFolderReq) (res *system.NewFolderRes, err error) {
err = service.Document().NewFolderFunc(ctx, req)
return
}
// Edit 修改母板
func (c *documentController) Edit(ctx context.Context, req *system.DocumentEditReq) (res *system.DocumentEditRes, err error) {
err = service.Document().Edit(ctx, req)
return
}
// Delete 删除母板
func (c *documentController) Delete(ctx context.Context, req *system.DocumentDeleteReq) (res *system.DocumentDeleteRes, err error) {
err = service.Document().Delete(ctx, req.Ids)
return
}
// TreeStructureFunc 树形结构
func (c *documentController) TreeStructureFunc(ctx context.Context, req *system.TreeStructureReq) (res *system.TreeStructureRes, err error) {
res, err = service.Document().TreeStructureFunc(ctx, req)
return
}
// CompressedDownload 根据文件目录进行下载压缩包
func (c *documentController) CompressedDownload(ctx context.Context, req *system.CompressedDownloadReq) (res *system.CompressedDownloadRes, err error) {
res = new(system.CompressedDownloadRes)
download, err := ZIPDownload(ctx, req.RelativePath)
if err != nil {
return
} else {
res = download
return
}
}
// ZIPDownload 生成压缩包
func ZIPDownload(ctx context.Context, relativePath string) (res *system.CompressedDownloadRes, err error) {
res = new(system.CompressedDownloadRes)
sourceDir := strings.ReplaceAll(relativePath, "/file", coryCommon.GetCWD()+"/resource/public") // 指定要压缩的文件夹路径
zipFile := coryCommon.GetCWD() + coryCommon.Temporary + "/" + coryCommon.FileName("") + ".zip"
err = coryCommon.CreateZipFile(sourceDir, zipFile)
if err != nil {
err = errors.New("下载失败!")
return
} else {
res.RelativePath = strings.Replace(zipFile, coryCommon.GetCWD()+"/resource/public", "/file", 1)
return
}
}
// UniFileDownload 单文件下载
func (c *documentController) UniFileDownload(ctx context.Context, req *system.UniFileDownloadReq) (res *system.UniFileDownloadRes, err error) {
res = new(system.UniFileDownloadRes)
rpath := coryCommon.FileToFunc(req.RelativePath, 2)
g.RequestFromCtx(ctx).Response.ServeFileDownload(rpath)
return
}
// TemplateRecycleBinFunc 模板回收站
func (c *documentDataController) TemplateRecycleBinFunc(ctx context.Context, req *system.TemplateRecycleBinReq) (res *system.TemplateRecycleBinRes, err error) {
err = service.Document().TemplateRecycleBinFunc(ctx, req)
return
}
func (c *busConstructionUserController) ExposeSingleFileUploads(ctx context.Context, req *system.WriteFreelyReq) (res *system.WriteFreelyRes, err error) {
res = new(system.WriteFreelyRes)
res, err = SingleFileUploads(ctx, req.Path)
return
}
// SingleFileUploads 畅写回调地址
func SingleFileUploads(ctx context.Context, path string) (res *system.WriteFreelyRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
var my MyStruct
r := ghttp.RequestFromCtx(ctx)
writer := r.Response.Writer
//正文
body := r.GetBody()
err = json.Unmarshal(body, &my)
res = new(system.WriteFreelyRes)
status := my.Status
if status == 0 {
err = errors.New("Invalid status format")
} else if status == 2 || status == 6 {
downloadURL := my.URL
if downloadURL == "" {
err = errors.New("Invalid URL format")
}
resp, err := http.Get(downloadURL)
if err != nil {
err = errors.New("Error downloading file")
}
defer resp.Body.Close()
fileContent, err := io.ReadAll(resp.Body)
if err != nil {
err = errors.New("Error reading file content")
}
pathForSave := coryCommon.FileToFunc(path, 2)
err = os.WriteFile(pathForSave, fileContent, 0644)
if err != nil {
err = errors.New("Error saving file")
}
} else if status == 3 || status == 7 {
writer.Write([]byte("{\"error\":-1}"))
return
}
writer.Write([]byte("{\"error\":0}"))
liberr.ErrIsNil(ctx, err)
})
return
}

View File

@ -0,0 +1,99 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-15 10:25:00
// 生成路径: internal/app/system/controller/document_completion.go
// 生成人gfast
// desc:竣工图
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type documentCompletionController struct {
BaseController
}
var DocumentCompletion = new(documentCompletionController)
// List 列表
func (c *documentCompletionController) List(ctx context.Context, req *system.DocumentCompletionSearchReq) (res *system.DocumentCompletionSearchRes, err error) {
res, err = service.DocumentCompletion().List(ctx, req)
return
}
// Get 获取竣工图
func (c *documentCompletionController) Get(ctx context.Context, req *system.DocumentCompletionGetReq) (res *system.DocumentCompletionGetRes, err error) {
res = new(system.DocumentCompletionGetRes)
res.List, err = service.DocumentCompletion().GetById(ctx, req.Id)
return
}
// Add 添加文件或目录(压缩包)
func (c *documentCompletionController) Add(ctx context.Context, req *system.DocumentCompletionAddReq) (res *system.DocumentCompletionAddRes, err error) {
err = service.DocumentCompletion().Add(ctx, req)
return
}
// Edit 修改文件或文件夹名称(重命名)
func (c *documentCompletionController) Edit(ctx context.Context, req *system.DocumentCompletionEditReq) (res *system.DocumentCompletionEditRes, err error) {
err = service.DocumentCompletion().Edit(ctx, req)
return
}
// Delete 删除竣工图
func (c *documentCompletionController) Delete(ctx context.Context, req *system.DocumentCompletionDeleteReq) (res *system.DocumentCompletionDeleteRes, err error) {
err = service.DocumentCompletion().Delete(ctx, req.Ids)
return
}
// CompletionNewFolderDataFunc 新建文件夹
func (c *documentCompletionController) CompletionNewFolderDataFunc(ctx context.Context, req *system.CompletionNewFolderDataReq) (res *system.CompletionNewFolderDataRes, err error) {
err = service.DocumentCompletion().CompletionNewFolderDataFunc(ctx, req)
return
}
// CompletionDataUniFileDownload 单文件下载
func (c *documentCompletionController) CompletionDataUniFileDownload(ctx context.Context, req *system.CompletionDataUniFileDownloadReq) (res *system.CompletionDataUniFileDownloadRes, err error) {
res = new(system.CompletionDataUniFileDownloadRes)
path, err := WpFileDownload(ctx, req.RelativePath, req.Type, req.TableName, req.TableId, req.ProjectId)
if err == nil {
res.Path = path
}
return
}
// TreeStructureFunc 获取数据列表(懒加载的形式获取到数据)
func (c *documentCompletionController) TreeStructureFunc(ctx context.Context, req *system.DocumentTreeStructureReq) (res *system.DocumentTreeStructureRes, err error) {
res, err = service.DocumentCompletion().TreeStructureFunc(ctx, req)
return
}
// SelectByPidFunc 根据路径获取到pid
func (c *documentCompletionController) SelectByPidFunc(ctx context.Context, req *system.SelectByPidReq) (res *system.SelectByPidRes, err error) {
res, err = service.DocumentCompletion().SelectByPidFunc(ctx, req)
return
}
// CompletionDataRecyclingStationFunc 回收站
func (c *documentCompletionController) CompletionDataRecyclingStationFunc(ctx context.Context, req *system.CompletionDataRecyclingStationReq) (res *system.CompletionDataRecyclingStationRes, err error) {
err = service.DocumentCompletion().CompletionDataRecyclingStationFunc(ctx, req)
return
}
// RecycleBinListFunc 回收站列表(不分页)
func (c *documentCompletionController) RecycleBinListFunc(ctx context.Context, req *system.RecycleBinListReq) (res *system.RecycleBinListRes, err error) {
res, err = service.DocumentCompletion().RecycleBinListFunc(ctx, req)
return
}
// AuditDataListFunc 审核数据
func (c *documentCompletionController) AuditDataListFunc(ctx context.Context, req *system.AuditDataListReq) (res *system.AuditDataListRes, err error) { // 解析请求体,获取 multipart/form-data 数据
res, err = service.DocumentCompletion().AuditDataListFunc(ctx, req)
return
}

View File

@ -0,0 +1,129 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-12-27 09:30:04
// 生成路径: internal/app/system/controller/document_data.go
// 生成人gfast
// desc:工程资料>资料
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type documentDataController struct {
BaseController
}
var DocumentData = new(documentDataController)
// List 列表
func (c *documentDataController) List(ctx context.Context, req *system.DocumentDataSearchReq) (res *system.DocumentDataSearchRes, err error) {
res, err = service.DocumentData().List(ctx, req)
return
}
// AllList 全部列表
func (c *documentDataController) AllList(ctx context.Context, req *system.AllDocumentDataSearchReq) (res *system.AllDocumentDataSearchRes, err error) {
res, err = service.DocumentData().AllList(ctx, req)
return
}
// SonFileList 获取某文件夹下的子文件
func (c *documentDataController) SonFileList(ctx context.Context, req *system.SonFileReq) (res *system.SonFileRes, err error) {
res, err = service.DocumentData().SonFileList(ctx, req)
return
}
// Get 获取工程资料>资料
func (c *documentDataController) Get(ctx context.Context, req *system.DocumentDataGetReq) (res *system.DocumentDataGetRes, err error) {
res = new(system.DocumentDataGetRes)
res.DocumentDataInfoRes, err = service.DocumentData().GetById(ctx, req.Id)
return
}
// Add 添加工程资料>资料
func (c *documentDataController) Add(ctx context.Context, req *system.DocumentDataAddReq) (res *system.DocumentDataAddRes, err error) {
err = service.DocumentData().Add(ctx, req)
return
}
// NewFolderDataFunc 新建文件夹
func (c *documentDataController) NewFolderDataFunc(ctx context.Context, req *system.NewFolderDataReq) (res *system.NewFolderDataRes, err error) {
err = service.DocumentData().NewFolderDataFunc(ctx, req)
return
}
// Edit 修改工程资料>资料
func (c *documentDataController) Edit(ctx context.Context, req *system.DocumentDataEditReq) (res *system.DocumentDataEditRes, err error) {
err = service.DocumentData().Edit(ctx, req)
return
}
// Delete 删除工程资料>资料
func (c *documentDataController) Delete(ctx context.Context, req *system.DocumentDataDeleteReq) (res *system.DocumentDataDeleteRes, err error) {
err = service.DocumentData().Delete(ctx, req.Ids)
return
}
// TreeStructureDataFunc 树形结构
func (c *documentDataController) TreeStructureDataFunc(ctx context.Context, req *system.TreeStructureDataReq) (res *system.TreeStructureDataRes, err error) {
res, err = service.DocumentData().TreeStructureDataFunc(ctx, req)
return
}
// OnlineImportFunc 在线模板导入|复制(复制文件或文件夹)
func (c *documentDataController) OnlineImportFunc(ctx context.Context, req *system.OnlineImportReq) (res *system.OnlineImportRes, err error) {
err = service.DocumentData().OnlineImportFunc(ctx, req)
return
}
// OnlineMobileFunc 在线资料导入|移动(移动文件或文件夹)
func (c *documentDataController) OnlineMobileFunc(ctx context.Context, req *system.OnlineMobileReq) (res *system.OnlineMobileRes, err error) {
err = service.DocumentData().OnlineMobileFunc(ctx, req)
return
}
// DataRecyclingStationFunc 资料回收站
func (c *documentDataController) DataRecyclingStationFunc(ctx context.Context, req *system.DataRecyclingStationReq) (res *system.DataRecyclingStationRes, err error) {
err = service.DocumentData().DataRecyclingStationFunc(ctx, req)
return
}
func (c *busConstructionUserController) ExposeDataSingleFileUploads(ctx context.Context, req *system.DataWriteFreelyReq) (res *system.WriteFreelyRes, err error) {
res = new(system.WriteFreelyRes)
res, err = SingleFileUploads(ctx, req.Path)
return
}
// DataFileQueryFunc 资料文件查询查询资料里面的所有文件限制格式为ppt、excel、word
func (c *documentDataController) DataFileQueryFunc(ctx context.Context, req *system.DataFileQueryReq) (res *system.DataFileQueryRes, err error) {
res, err = service.DocumentData().DataFileQueryFunc(ctx, req)
return
}
// DataCompressedDownload 根据文件目录进行下载压缩包
func (c *documentDataController) DataCompressedDownload(ctx context.Context, req *system.DataCompressedDownloadReq) (res *system.CompressedDownloadRes, err error) {
res = new(system.CompressedDownloadRes)
download, err := ZIPDownload(ctx, req.RelativePath)
if err != nil {
return
} else {
res = download
return
}
}
// DataUniFileDownload 单文件下载
func (c *documentDataController) DataUniFileDownload(ctx context.Context, req *system.DataUniFileDownloadReq) (res *system.DataUniFileDownloadRes, err error) {
res = new(system.DataUniFileDownloadRes)
rpath := coryCommon.FileToFunc(req.RelativePath, 2)
g.RequestFromCtx(ctx).Response.ServeFileDownload(rpath)
return
}

View File

@ -0,0 +1,118 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-15 10:24:54
// 生成路径: internal/app/system/controller/document_production_drawing.go
// 生成人gfast
// desc:施工图
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
busDesignAuditLogic "github.com/tiger1103/gfast/v3/internal/app/system/logic/busDesignAudit"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"path/filepath"
)
type documentProductionDrawingController struct {
BaseController
}
var DocumentProductionDrawing = new(documentProductionDrawingController)
// List 列表
func (c *documentProductionDrawingController) List(ctx context.Context, req *system.DocumentProductionDrawingSearchReq) (res *system.DocumentProductionDrawingSearchRes, err error) {
res, err = service.DocumentProductionDrawing().List(ctx, req)
return
}
// Get 获取施工图
func (c *documentProductionDrawingController) Get(ctx context.Context, req *system.DocumentProductionDrawingGetReq) (res *system.DocumentProductionDrawingGetRes, err error) {
res = new(system.DocumentProductionDrawingGetRes)
res.List, err = service.DocumentProductionDrawing().GetById(ctx, req.Id)
return
}
// Add 添加施工图
func (c *documentProductionDrawingController) Add(ctx context.Context, req *system.DocumentProductionDrawingAddReq) (res *system.DocumentProductionDrawingAddRes, err error) {
err = service.DocumentProductionDrawing().Add(ctx, req)
return
}
// Edit 修改施工图
func (c *documentProductionDrawingController) Edit(ctx context.Context, req *system.DocumentProductionDrawingEditReq) (res *system.DocumentProductionDrawingEditRes, err error) {
err = service.DocumentProductionDrawing().Edit(ctx, req)
return
}
// Delete 删除施工图
func (c *documentProductionDrawingController) Delete(ctx context.Context, req *system.DocumentProductionDrawingDeleteReq) (res *system.DocumentProductionDrawingDeleteRes, err error) {
err = service.DocumentProductionDrawing().Delete(ctx, req.Ids)
return
}
// ProductionDrawingNewFolderDataFunc 新建文件夹
func (c *documentProductionDrawingController) ProductionDrawingNewFolderDataFunc(ctx context.Context, req *system.ProductionDrawingNewFolderDataReq) (res *system.ProductionDrawingNewFolderDataRes, err error) {
err = service.DocumentProductionDrawing().NewFolderDataFunc(ctx, req)
return
}
// ProductionDrawingDataUniFileDownload 单文件下载
func (c *documentProductionDrawingController) ProductionDrawingDataUniFileDownload(ctx context.Context, req *system.ProductionDrawingDataUniFileDownloadReq) (res *system.ProductionDrawingDataUniFileDownloadRes, err error) {
res = new(system.ProductionDrawingDataUniFileDownloadRes)
path, err := WpFileDownload(ctx, req.RelativePath, req.Type, req.TableName, req.TableId, req.ProjectId)
if err != nil {
res.Path = path
}
return
}
// TreeStructureFunc 获取数据列表(懒加载的形式获取到数据)
func (c *documentProductionDrawingController) TreeStructureFunc(ctx context.Context, req *system.ProductionDrawingTreeStructureReq) (res *system.ProductionDrawingTreeStructureRes, err error) {
res, err = service.DocumentProductionDrawing().TreeStructureFunc(ctx, req)
return
}
// SelectByPidFunc 根据路径获取到pid
func (c *documentProductionDrawingController) SelectByPidFunc(ctx context.Context, req *system.ProductionDrawingSelectByPidReq) (res *system.ProductionDrawingSelectByPidRes, err error) {
res, err = service.DocumentProductionDrawing().SelectByPidFunc(ctx, req)
return
}
// ProductionDrawingRecyclingStationFunc 回收站
func (c *documentProductionDrawingController) ProductionDrawingRecyclingStationFunc(ctx context.Context, req *system.ProductionDrawingDataRecyclingStationReq) (res *system.ProductionDrawingDataRecyclingStationRes, err error) {
err = service.DocumentProductionDrawing().RecyclingStationFunc(ctx, req)
return
}
// ProductionDrawingRecycleBinListFunc 回收站列表(不分页)
func (c *documentCompletionController) ProductionDrawingRecycleBinListFunc(ctx context.Context, req *system.ProductionDrawingRecycleBinListReq) (res *system.ProductionDrawingRecycleBinListRes, err error) {
res, err = service.DocumentProductionDrawing().RecycleBinListFunc(ctx, req)
return
}
func WpFileDownload(ctx context.Context, relativePath, typeStr, tableName string, tableId, projectId int64) (path string, err error) {
rpath := coryCommon.FileToFunc(relativePath, 2)
if typeStr == "1" {
g.RequestFromCtx(ctx).Response.ServeFileDownload(rpath)
} else {
zipFile := coryCommon.ResourcePublicToFunc("/"+coryCommon.Ynr(coryCommon.Temporary+"/")+coryCommon.FileName("wp")+".zip", 2)
err = coryCommon.FolderToZip(rpath, zipFile)
if err == nil {
path = coryCommon.ResourcePublicToFunc(filepath.ToSlash(zipFile), 1)
} else {
return "", err
}
}
if tableName != "" && tableId != 0 && projectId != 0 {
fmt.Println("44---------", path)
err = busDesignAuditLogic.AddApprovedMemo(ctx, tableId, projectId, tableName, "5") //下载记录
}
return
}

View File

@ -0,0 +1,94 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-25 16:43:56
// 生成路径: internal/app/system/controller/document_quality_meeting.go
// 生成人gfast
// desc:质量会议
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type documentQualityMeetingController struct {
BaseController
}
var DocumentQualityMeeting = new(documentQualityMeetingController)
// List 列表
func (c *documentQualityMeetingController) List(ctx context.Context, req *system.DocumentQualityMeetingSearchReq) (res *system.DocumentQualityMeetingSearchRes, err error) {
res, err = service.DocumentQualityMeeting().List(ctx, req)
return
}
// Get 获取质量会议
func (c *documentQualityMeetingController) Get(ctx context.Context, req *system.DocumentQualityMeetingGetReq) (res *system.DocumentQualityMeetingGetRes, err error) {
res = new(system.DocumentQualityMeetingGetRes)
res.List, err = service.DocumentQualityMeeting().GetById(ctx, req.Id)
return
}
// Add 添加质量会议
func (c *documentQualityMeetingController) Add(ctx context.Context, req *system.DocumentQualityMeetingAddReq) (res *system.DocumentQualityMeetingAddRes, err error) {
err = service.DocumentQualityMeeting().Add(ctx, req)
return
}
// Edit 修改质量会议
func (c *documentQualityMeetingController) Edit(ctx context.Context, req *system.DocumentQualityMeetingEditReq) (res *system.DocumentQualityMeetingEditRes, err error) {
err = service.DocumentQualityMeeting().Edit(ctx, req)
return
}
// Delete 删除质量会议
func (c *documentQualityMeetingController) Delete(ctx context.Context, req *system.DocumentQualityMeetingDeleteReq) (res *system.DocumentQualityMeetingDeleteRes, err error) {
err = service.DocumentQualityMeeting().Delete(ctx, req.Ids)
return
}
// DocumentQualityNewFolderDataFunc 新建文件夹
func (c *documentQualityMeetingController) DocumentQualityNewFolderDataFunc(ctx context.Context, req *system.DocumentQualityNewFolderDataReq) (res *system.DocumentQualityNewFolderDataRes, err error) {
err = service.DocumentQualityMeeting().CompletionNewFolderDataFunc(ctx, req)
return
}
// DocumentQualityDataUniFileDownload 单文件下载
func (c *documentQualityMeetingController) DocumentQualityDataUniFileDownload(ctx context.Context, req *system.DocumentQualityDataUniFileDownloadReq) (res *system.DocumentQualityDataUniFileDownloadRes, err error) {
res = new(system.DocumentQualityDataUniFileDownloadRes)
path, err := WpFileDownload(ctx, req.RelativePath, req.Type, "", 0, 0)
if err != nil {
res.Path = path
}
return
}
// DocumentQualityTreeStructureFunc 获取数据列表(懒加载的形式获取到数据)
func (c *documentQualityMeetingController) DocumentQualityTreeStructureFunc(ctx context.Context, req *system.DocumentQualityTreeStructureReq) (res *system.DocumentQualityTreeStructureRes, err error) {
res, err = service.DocumentQualityMeeting().TreeStructureFunc(ctx, req)
return
}
// DocumentQualitySelectByPidFunc 根据路径获取到pid
func (c *documentQualityMeetingController) DocumentQualitySelectByPidFunc(ctx context.Context, req *system.DocumentQualitySelectByPidReq) (res *system.DocumentQualitySelectByPidRes, err error) {
res, err = service.DocumentQualityMeeting().SelectByPidFunc(ctx, req)
return
}
// DocumentQualityDataRecyclingStationFunc 回收站
func (c *documentQualityMeetingController) DocumentQualityDataRecyclingStationFunc(ctx context.Context, req *system.DocumentQualityDataRecyclingStationReq) (res *system.DocumentQualityDataRecyclingStationRes, err error) {
err = service.DocumentQualityMeeting().CompletionDataRecyclingStationFunc(ctx, req)
return
}
// DocumentQualityRecycleBinListFunc 回收站列表(不分页)
func (c *documentQualityMeetingController) DocumentQualityRecycleBinListFunc(ctx context.Context, req *system.DocumentQualityRecycleBinListReq) (res *system.DocumentQualityRecycleBinListRes, err error) {
res, err = service.DocumentQualityMeeting().RecycleBinListFunc(ctx, req)
return
}

View File

@ -0,0 +1,91 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-15 10:24:21
// 生成路径: internal/app/system/controller/document_report.go
// 生成人gfast
// desc:科研及专题报告
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type documentReportController struct {
BaseController
}
var DocumentReport = new(documentReportController)
// List 列表
func (c *documentReportController) List(ctx context.Context, req *system.DocumentReportSearchReq) (res *system.DocumentReportSearchRes, err error) {
res, err = service.DocumentReport().List(ctx, req)
return
}
// Get 获取科研及专题报告
func (c *documentReportController) Get(ctx context.Context, req *system.DocumentReportGetReq) (res *system.DocumentReportGetRes, err error) {
res = new(system.DocumentReportGetRes)
res.DocumentReportInfoRes, err = service.DocumentReport().GetById(ctx, req.Id)
return
}
// Add 添加科研及专题报告
func (c *documentReportController) Add(ctx context.Context, req *system.DocumentReportAddReq) (res *system.DocumentReportAddRes, err error) {
err = service.DocumentReport().Add(ctx, req)
return
}
// Edit 修改科研及专题报告
func (c *documentReportController) Edit(ctx context.Context, req *system.DocumentReportEditReq) (res *system.DocumentReportEditRes, err error) {
err = service.DocumentReport().Edit(ctx, req)
return
}
// Delete 删除科研及专题报告
func (c *documentReportController) Delete(ctx context.Context, req *system.DocumentReportDeleteReq) (res *system.DocumentReportDeleteRes, err error) {
err = service.DocumentReport().Delete(ctx, req.Ids)
return
}
// ReportNewFolderDataFunc 新建文件夹
func (c *documentReportController) ReportNewFolderDataFunc(ctx context.Context, req *system.ReportNewFolderDataReq) (res *system.ReportNewFolderDataRes, err error) {
err = service.DocumentReport().CompletionNewFolderDataFunc(ctx, req)
return
}
// ReportDataUniFileDownload 单文件下载
func (c *documentReportController) ReportDataUniFileDownload(ctx context.Context, req *system.ReportDataUniFileDownloadReq) (res *system.ReportDataUniFileDownloadRes, err error) {
res = new(system.ReportDataUniFileDownloadRes)
path, err := WpFileDownload(ctx, req.RelativePath, req.Type, req.TableName, req.TableId, req.ProjectId)
res.Path = path
return
}
// ReportTreeStructureFunc 获取数据列表(懒加载的形式获取到数据)
func (c *documentReportController) ReportTreeStructureFunc(ctx context.Context, req *system.ReportTreeStructureReq) (res *system.ReportTreeStructureRes, err error) {
res, err = service.DocumentReport().TreeStructureFunc(ctx, req)
return
}
// ReportSelectByPidFunc 根据路径获取到pid
func (c *documentReportController) ReportSelectByPidFunc(ctx context.Context, req *system.ReportSelectByPidReq) (res *system.ReportSelectByPidRes, err error) {
res, err = service.DocumentReport().SelectByPidFunc(ctx, req)
return
}
// ReportDataRecyclingStationFunc 回收站
func (c *documentReportController) ReportDataRecyclingStationFunc(ctx context.Context, req *system.ReportDataRecyclingStationReq) (res *system.ReportDataRecyclingStationRes, err error) {
err = service.DocumentReport().CompletionDataRecyclingStationFunc(ctx, req)
return
}
// ReportRecycleBinListFunc 回收站列表(不分页)
func (c *documentReportController) ReportRecycleBinListFunc(ctx context.Context, req *system.ReportRecycleBinListReq) (res *system.ReportRecycleBinListRes, err error) {
res, err = service.DocumentReport().RecycleBinListFunc(ctx, req)
return
}

View File

@ -0,0 +1,94 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-09 11:40:21
// 生成路径: internal/app/system/controller/document_safety_meeting.go
// 生成人gfast
// desc:安全会议
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type documentSafetyMeetingController struct {
BaseController
}
var DocumentSafetyMeeting = new(documentSafetyMeetingController)
// List 列表
func (c *documentSafetyMeetingController) List(ctx context.Context, req *system.DocumentSafetyMeetingSearchReq) (res *system.DocumentSafetyMeetingSearchRes, err error) {
res, err = service.DocumentSafetyMeeting().List(ctx, req)
return
}
// Get 获取安全会议
func (c *documentSafetyMeetingController) Get(ctx context.Context, req *system.DocumentSafetyMeetingGetReq) (res *system.DocumentSafetyMeetingGetRes, err error) {
res = new(system.DocumentSafetyMeetingGetRes)
res.DocumentSafetyMeetingInfoRes, err = service.DocumentSafetyMeeting().GetById(ctx, req.Id)
return
}
// Add 添加安全会议
func (c *documentSafetyMeetingController) Add(ctx context.Context, req *system.DocumentSafetyMeetingAddReq) (res *system.DocumentSafetyMeetingAddRes, err error) {
err = service.DocumentSafetyMeeting().Add(ctx, req)
return
}
// Edit 修改安全会议
func (c *documentSafetyMeetingController) Edit(ctx context.Context, req *system.DocumentSafetyMeetingEditReq) (res *system.DocumentSafetyMeetingEditRes, err error) {
err = service.DocumentSafetyMeeting().Edit(ctx, req)
return
}
// Delete 删除安全会议
func (c *documentSafetyMeetingController) Delete(ctx context.Context, req *system.DocumentSafetyMeetingDeleteReq) (res *system.DocumentSafetyMeetingDeleteRes, err error) {
err = service.DocumentSafetyMeeting().Delete(ctx, req.Ids)
return
}
// DocumenttSafetyNewFolderDataFunc 新建文件夹
func (c *documentSafetyMeetingController) DocumentSafetyNewFolderDataFunc(ctx context.Context, req *system.DocumentSafetyNewFolderDataReq) (res *system.DocumentQualityNewFolderDataRes, err error) {
err = service.DocumentSafetyMeeting().CompletionNewFolderDataFunc(ctx, req)
return
}
// DocumenttSafetyDataUniFileDownload 单文件下载
func (c *documentSafetyMeetingController) DocumentSafetyDataUniFileDownload(ctx context.Context, req *system.DocumentSafetyDataUniFileDownloadReq) (res *system.DocumentQualityDataUniFileDownloadRes, err error) {
res = new(system.DocumentQualityDataUniFileDownloadRes)
path, err := WpFileDownload(ctx, req.RelativePath, req.Type, "", 0, 0)
if err != nil {
res.Path = path
}
return
}
// DocumentQualityTreeStructureFunc 获取数据列表(懒加载的形式获取到数据)
func (c *documentSafetyMeetingController) DocumentSafetyTreeStructureFunc(ctx context.Context, req *system.DocumentSafetyTreeStructureReq) (res *system.DocumentQualityTreeStructureRes, err error) {
res, err = service.DocumentSafetyMeeting().TreeStructureFunc(ctx, req)
return
}
// DocumentQualitySelectByPidFunc 根据路径获取到pid
func (c *documentSafetyMeetingController) DocumentSafetySelectByPidFunc(ctx context.Context, req *system.DocumentSafetySelectByPidReq) (res *system.DocumentQualitySelectByPidRes, err error) {
res, err = service.DocumentSafetyMeeting().SelectByPidFunc(ctx, req)
return
}
// DocumentQualityDataRecyclingStationFunc 回收站
func (c *documentSafetyMeetingController) DocumentSafetyDataRecyclingStationFunc(ctx context.Context, req *system.DocumentSafetyDataRecyclingStationReq) (res *system.DocumentQualityDataRecyclingStationRes, err error) {
err = service.DocumentSafetyMeeting().CompletionDataRecyclingStationFunc(ctx, req)
return
}
// DocumentQualityRecycleBinListFunc 回收站列表(不分页)
func (c *documentSafetyMeetingController) DocumentSafetyRecycleBinListFunc(ctx context.Context, req *system.DocumentSafetyRecycleBinListReq) (res *system.DocumentQualityRecycleBinListRes, err error) {
res, err = service.DocumentSafetyMeeting().RecycleBinListFunc(ctx, req)
return
}

View File

@ -0,0 +1,59 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-12-11 16:10:19
// 生成路径: internal/app/system/controller/manage_airline.go
// 生成人gfast
// desc:航线
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type manageAirlineController struct {
BaseController
}
var ManageAirline = new(manageAirlineController)
// List 列表
func (c *manageAirlineController) List(ctx context.Context, req *system.ManageAirlineSearchReq) (res *system.ManageAirlineSearchRes, err error) {
res, err = service.ManageAirline().List(ctx, req)
return
}
// Get 获取航线
func (c *manageAirlineController) Get(ctx context.Context, req *system.ManageAirlineGetReq) (res *system.ManageAirlineGetRes, err error) {
res = new(system.ManageAirlineGetRes)
res.ManageAirlineInfoRes, err = service.ManageAirline().GetById(ctx, req.Id)
return
}
// Add 添加航线
func (c *manageAirlineController) Add(ctx context.Context, req *system.ManageAirlineAddReq) (res *system.ManageAirlineAddRes, err error) {
err = service.ManageAirline().Add(ctx, req)
return
}
// Edit 修改航线
func (c *manageAirlineController) Edit(ctx context.Context, req *system.ManageAirlineEditReq) (res *system.ManageAirlineEditRes, err error) {
err = service.ManageAirline().Edit(ctx, req)
return
}
// Delete 删除航线
func (c *manageAirlineController) Delete(ctx context.Context, req *system.ManageAirlineDeleteReq) (res *system.ManageAirlineDeleteRes, err error) {
err = service.ManageAirline().Delete(ctx, req.Ids)
return
}
// RouteUploadFunc 上传航线
func (c *manageAirlineController) RouteUploadFunc(ctx context.Context, req *system.RouteUploadReq) (res *system.RouteUploadRes, err error) {
err = service.ManageAirline().RouteUploadFunc(ctx, req)
return
}

View File

@ -0,0 +1,125 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-14 10:53:21
// 生成路径: internal/app/system/controller/manage_device.go
// 生成人gfast
// desc:设备信息
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/tiger1103/gfast/v3/third/plane/mqtt"
)
type manageDeviceController struct {
BaseController
}
var ManageDevice = new(manageDeviceController)
// List 列表
func (c *manageDeviceController) List(ctx context.Context, req *system.ManageDeviceSearchReq) (res *system.ManageDeviceSearchRes, err error) {
res, err = service.ManageDevice().List(ctx, req)
return
}
// NoPageList 不分页列表
func (c *manageDeviceController) NoPageList(ctx context.Context, req *system.NoPageListSearchReq) (res *system.NoPageListSearchRes, err error) {
res, err = service.ManageDevice().NoPageList(ctx, req)
return
}
// Get 获取设备信息
func (c *manageDeviceController) Get(ctx context.Context, req *system.ManageDeviceGetReq) (res *system.ManageDeviceGetRes, err error) {
res = new(system.ManageDeviceGetRes)
res.ManageDeviceInfoRes, err = service.ManageDevice().GetById(ctx, req.Id)
return
}
// Add 添加设备信息
func (c *manageDeviceController) Add(ctx context.Context, req *system.ManageDeviceAddReq) (res *system.ManageDeviceAddRes, err error) {
err = service.ManageDevice().Add(ctx, req)
return
}
// Edit 修改设备信息
func (c *manageDeviceController) Edit(ctx context.Context, req *system.ManageDeviceEditReq) (res *system.ManageDeviceEditRes, err error) {
err = service.ManageDevice().Edit(ctx, req)
return
}
// Delete 删除设备信息
func (c *manageDeviceController) Delete(ctx context.Context, req *system.ManageDeviceDeleteReq) (res *system.ManageDeviceDeleteRes, err error) {
err = service.ManageDevice().Delete(ctx, req.Ids)
return
}
// ProductEnumerationFunc 设备产品枚举(固定的东西),目前
func (c *manageDeviceController) ProductEnumerationFunc(ctx context.Context, req *system.ProductEnumerationFuncReq) (res *system.ProductEnumerationFuncRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
res = new(system.ProductEnumerationFuncRes)
var mdi []*model.ManageDeviceDictionaryInfo
err = g.DB().Model("manage_device_dictionary").Ctx(ctx).Where("id", 2).Scan(&mdi)
res.List = mdi
liberr.ErrIsNil(ctx, err, "获取失败")
})
return
}
// CameraPhotoTakeFunc 无人机抓拍
func (c *manageDeviceController) CameraPhotoTakeFunc(ctx context.Context, req *system.CameraPhotoTakeFuncReq) (res *system.CameraPhotoTakeFuncRes, err error) {
//0、根据航迹ID获取到当前正在执行任务的状态是手动飞行还是自动飞行只有手动才能拍照因为涉及到大图合并
count, err := dao.ManageTaskRecord.Ctx(ctx).Where("track_id", req.TrackId).Where("is_voluntarily = 1").Count()
if err != nil {
return
}
if count == 0 {
err = errors.New("当前任务为定时任务,无法执行手动拍照功能!")
return nil, err
}
//1、组装数据
err, d := mqtt.Camera_photo_take(ctx, req.GatewaySn, req.PayloadIndex)
if err != nil {
return nil, err
}
if d.Data.Result > 0 {
err = mqtt.Geterror(d.Data.Result)
}
return
}
// LiveSetQualityFunc 设置直播清晰度
func (c *manageDeviceController) LiveSetQualityFunc(ctx context.Context, req *system.LiveSetQualityReq) (res *system.LiveSetQualityRes, err error) {
//1、组装数据
err, d := mqtt.Live_set_quality(ctx, req.GatewaySn, req.Two, req.PayloadIndex, req.Enum)
if err != nil {
return nil, err
}
if d.Data.Result > 0 {
err = mqtt.Geterror(d.Data.Result)
}
return
}
// ButtonStateFunc 调试模式按钮状态
func (c *manageDeviceController) ButtonStateFunc(ctx context.Context, req *system.ButtonStateReq) (res *system.ButtonStateRes, err error) {
res = new(system.ButtonStateRes)
var be *model.ButtonEntity
err = g.DB().Model("manage_button_state").Where("mq_client_id", req.MqClientId).Scan(&be)
if err != nil {
err = errors.New("获取调试模式按钮状态失败!")
} else {
res.ButtonEntity = be
}
return
}

View File

@ -0,0 +1,54 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-06-21 15:23:29
// 生成路径: internal/app/system/controller/manage_operation_log.go
// 生成人gfast
// desc:无人机指令日志
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type manageOperationLogController struct {
BaseController
}
var ManageOperationLog = new(manageOperationLogController)
// List 列表
func (c *manageOperationLogController) List(ctx context.Context, req *system.ManageOperationLogSearchReq) (res *system.ManageOperationLogSearchRes, err error) {
res, err = service.ManageOperationLog().List(ctx, req)
return
}
// Get 获取无人机指令日志
func (c *manageOperationLogController) Get(ctx context.Context, req *system.ManageOperationLogGetReq) (res *system.ManageOperationLogGetRes, err error) {
res = new(system.ManageOperationLogGetRes)
res.ManageOperationLogInfoRes, err = service.ManageOperationLog().GetById(ctx, req.Id)
return
}
//
//// Add 添加无人机指令日志
//func (c *manageOperationLogController) Add(ctx context.Context, req *system.ManageOperationLogAddReq) (res *system.ManageOperationLogAddRes, err error) {
// err = service.ManageOperationLog().Add(ctx, req)
// return
//}
//// Edit 修改无人机指令日志
//func (c *manageOperationLogController) Edit(ctx context.Context, req *system.ManageOperationLogEditReq) (res *system.ManageOperationLogEditRes, err error) {
// err = service.ManageOperationLog().Edit(ctx, req)
// return
//}
// Delete 删除无人机指令日志
func (c *manageOperationLogController) Delete(ctx context.Context, req *system.ManageOperationLogDeleteReq) (res *system.ManageOperationLogDeleteRes, err error) {
err = service.ManageOperationLog().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,195 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-12-12 15:21:22
// 生成路径: internal/app/system/controller/manage_task.go
// 生成人gfast
// desc:航线任务下发
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
uuid "github.com/satori/go.uuid"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
logic "github.com/tiger1103/gfast/v3/internal/app/system/logic/manageTaskRecord"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/tiger1103/gfast/v3/third/plane/dj"
"github.com/tiger1103/gfast/v3/third/plane/mqtt"
tool "github.com/tiger1103/gfast/v3/utility/coryUtils"
"strconv"
"strings"
"time"
)
type manageTaskController struct {
BaseController
}
var ManageTask = new(manageTaskController)
// List 列表
func (c *manageTaskController) List(ctx context.Context, req *system.ManageTaskSearchReq) (res *system.ManageTaskSearchRes, err error) {
res, err = service.ManageTask().List(ctx, req)
return
}
// Get 获取航线任务下发
func (c *manageTaskController) Get(ctx context.Context, req *system.ManageTaskGetReq) (res *system.ManageTaskGetRes, err error) {
res = new(system.ManageTaskGetRes)
res.ManageTaskInfoRes, err = service.ManageTask().GetById(ctx, req.Id)
return
}
// Add 添加航线任务下发
func (c *manageTaskController) Add(ctx context.Context, req *system.ManageTaskAddReq) (res *system.ManageTaskAddRes, err error) {
err = service.ManageTask().Add(ctx, req)
return
}
// Edit 修改航线任务下发
func (c *manageTaskController) Edit(ctx context.Context, req *system.ManageTaskEditReq) (res *system.ManageTaskEditRes, err error) {
err = service.ManageTask().Edit(ctx, req)
return
}
// Delete 删除航线任务下发
func (c *manageTaskController) Delete(ctx context.Context, req *system.ManageTaskDeleteReq) (res *system.ManageTaskDeleteRes, err error) {
err = service.ManageTask().Delete(ctx, req.Ids)
return
}
// FlighttaskPrepare <MQTT>航线任务下发
func (c *manageTaskController) FlighttaskPrepare(ctx context.Context, req *system.FlighttaskPrepareReq) (res *system.FlighttaskPrepareRes, err error) {
_, err = FlighttaskPrepareFunc(ctx, req)
return
}
// FlighttaskPrepareFunc 下发任务 or 断点续飞
func FlighttaskPrepareFunc(ctx context.Context, req *system.FlighttaskPrepareReq) (id int64, err error) {
get, err := g.Redis().Get(ctx, mqtt.RainfallStr+req.GatewaySn)
if err == nil && get.String() == " " {
err = errors.New("无法获取降雨量")
return
} else if get.Int() > 0 {
err = errors.New("机舱外正在下雨,无法下发任务!")
return
}
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
var mt *model.ManageTaskInfoRes
err = dao.ManageTask.Ctx(ctx).WherePri(req.Id).Scan(&mt)
if mt != nil {
all := strings.ReplaceAll(uuid.NewV4().String(), "-", "")
if req.BreakpointRenewalUUID != "" {
all = req.BreakpointRenewalUUID
}
//1、组装数据。发送mq
line := mt.AirLine
var ma *model.ManageAirlineInfoRes
err = dao.ManageAirline.Ctx(ctx).WherePri(line).Scan(&ma)
if ma == nil {
liberr.ErrIsNil(ctx, err)
return
}
prepareRes := dj.FlighttaskPrepareRes{}
prepareRes.Data.FlightId = all
atoi, _ := strconv.Atoi(req.TaskType)
prepareRes.Data.TaskType = atoi
prepareRes.Data.TaskType = atoi
prepareRes.Data.ExecuteTime = req.ExecuteTime
prepareRes.Data.WaylineType = mt.WaylineType
prepareRes.Data.File = &dj.FileEntity{Url: coryCommon.GlobalPath + "/" + ma.FilePath, Fingerprint: ma.Fingerprint}
prepareRes.Data.RthAltitude = mt.RthAltitude
prepareRes.Data.RthMode = mt.RthMode
prepareRes.Data.OutOfControlAction = mt.OutOfControlAction
prepareRes.Data.ExitWaylineWhenRcLost = mt.ExitWaylineWhenRcLost
if req.BreakPoint != nil { //断点续飞
point := dj.BreakPoint{
Index: req.BreakPoint.Index,
State: req.BreakPoint.State,
Progress: req.BreakPoint.Progress,
WaylineId: req.BreakPoint.WaylineId,
}
prepareRes.Data.BreakPoint = &point
}
_, _, err2, reply := mqtt.Flighttask_prepare(ctx, req.GatewaySn, &prepareRes)
if err2 != nil {
liberr.ErrIsNil(ctx, err2, "下发任务失败!")
return
}
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
liberr.ErrIsNil(ctx, err)
return
}
var idd uint64
user := ct.New().GetLoginUser(ctx)
if user == nil {
idd = 0
} else {
idd = user.Id
}
if req.BreakPoint == nil {
// 预估回传数量
number, numberErr := logic.GetTheTaskDataBasedOnTheTaskId(ctx, mt.Id)
if numberErr != nil {
g.Log("uav").Error(ctx, "预估回传数量错误")
liberr.ErrIsNil(ctx, numberErr)
return
}
//2、新增历史记录
infoRes := model.ManageTaskRecordInfoRes{
TaskId: mt.Id,
TaskType: req.TaskType,
ExecuteTime: req.ExecuteTime,
FlightId: all,
Remark: req.Remark,
MqClientId: mt.MqClientId,
ProjectId: mt.ProjectId,
CreateBy: strconv.FormatUint(idd, 10),
TaskName: mt.TaskName,
Waypoint: number,
}
//不为空代表定时自动飞行
if req.TimedFlight != "" {
infoRes.IsVoluntarily = "0"
} else {
infoRes.IsVoluntarily = "1"
}
insertData, err := dao.ManageTaskRecord.Ctx(ctx).OmitEmpty().Insert(infoRes)
liberr.ErrIsNil(ctx, err, "任务下发失败!")
id, err = insertData.LastInsertId()
liberr.ErrIsNil(ctx, err)
} else { //断点续飞
time.Sleep(1 * time.Second)
errDd, replyDd := mqtt.Flighttask_execute(ctx, req.GatewaySn, all)
if errDd != nil {
return
}
if replyDd.Data.Result > 0 {
err = mqtt.Geterror(replyDd.Data.Result)
} else {
dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", req.BreakpointRenewalUUID).Update(g.Map{"execute_the_task": tool.MillisecondTimestamp()})
}
return
}
}
liberr.ErrIsNil(ctx, err)
return
})
return err
})
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-06-04 14:33:05
// 生成路径: internal/app/system/controller/manage_task_cron.go
// 生成人gfast
// desc:航线任务定时飞行
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"golang.org/x/net/context"
)
type manageTaskCronController struct {
BaseController
}
var ManageTaskCron = new(manageTaskCronController)
// Add 添加航线任务定时飞行
func (c *manageTaskCronController) Add(ctx context.Context, req *system.ManageTaskCronAddReq) (res *system.ManageTaskCronAddRes, err error) {
err = service.ManageTaskCron().Add(ctx, req)
return
}
// Delete 删除航线任务定时飞行
func (c *manageTaskCronController) Delete(ctx context.Context, req *system.ManageTaskCronDeleteReq) (res *system.ManageTaskCronDeleteRes, err error) {
err = service.ManageTaskCron().Delete(ctx, req.MqClientId)
return
}
// Edit 修改航线任务定时飞行
func (c *manageTaskCronController) Edit(ctx context.Context, req *system.ManageTaskCronEditReq) (res *system.ManageTaskCronEditRes, err error) {
err = service.ManageTaskCron().Edit(ctx, req)
return
}
// Get 获取航线任务定时飞行
func (c *manageTaskCronController) Get(ctx context.Context, req *system.ManageTaskCronGetReq) (res *system.ManageTaskCronGetRes, err error) {
res = new(system.ManageTaskCronGetRes)
res.ManageTaskCronInfoRes, err = service.ManageTaskCron().GetById(ctx, req.MqClientId)
return
}
//// List 列表
//func (c *manageTaskCronController) List(ctx context.Context, req *system.ManageTaskCronSearchReq) (res *system.ManageTaskCronSearchRes, err error) {
// res, err = service.ManageTaskCron().List(ctx, req)
// return
//}

View File

@ -0,0 +1,291 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-12-12 17:56:19
// 生成路径: internal/app/system/controller/manage_task_record.go
// 生成人gfast
// desc:航线任务下发-记录
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"os"
"path/filepath"
"strconv"
"strings"
"time"
"github.com/tiger1103/gfast/v3/api/webodm"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/tiger1103/gfast/v3/third/plane/dj"
"github.com/tiger1103/gfast/v3/third/plane/mqtt"
tool "github.com/tiger1103/gfast/v3/utility/coryUtils"
)
type manageTaskRecordController struct {
BaseController
}
var ManageTaskRecord = new(manageTaskRecordController)
// List 列表
func (c *manageTaskRecordController) List(ctx context.Context, req *system.ManageTaskRecordSearchReq) (res *system.ManageTaskRecordSearchRes, err error) {
res, err = service.ManageTaskRecord().List(ctx, req)
return
}
// @Title UpDataResource 2024/8/7 15:26:00
// @Description 更新大图合并的资源
// @Auth Cory
func (c *manageTaskRecordController) UpDataResource(ctx context.Context, req *system.UpDataResourceReq) (res *system.UpDataResourceRes, err error) {
err = service.ManageTaskRecord().UpDataResource(ctx, req)
return
}
func (c *manageTaskRecordController) GetAiResult(ctx context.Context, req *system.GetAiResultReq) (res *system.GetAiResultRes, err error) {
return service.ManageTaskRecord().GetAiResult(ctx, req)
}
// 提交AI识别结果
func (c *manageTaskRecordController) ConfirmAiResult(ctx context.Context, req *system.ConfirmAiResultReq) (res *system.ConfirmAiResultRes, err error) {
err = service.ManageTaskRecord().ConfirmAiResult(ctx, req)
return
}
// Get 获取航线任务下发-记录
func (c *manageTaskRecordController) Get(ctx context.Context, req *system.ManageTaskRecordGetReq) (res *system.ManageTaskRecordGetRes, err error) {
res = new(system.ManageTaskRecordGetRes)
res.ManageTaskRecordInfoRes, err = service.ManageTaskRecord().GetById(ctx, req.Id)
return
}
// PerformATaskFunc 执行任务
func (c *manageTaskRecordController) PerformATaskFunc(ctx context.Context, req *system.PerformATaskReq) (res *system.PerformATaskRes, err error) {
var mtr *model.ManageTaskRecordInfoRes
dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&mtr)
err, reply := mqtt.Flighttask_execute(ctx, req.GatewaySn, mtr.FlightId)
if err != nil {
return nil, err
}
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
} else {
dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", mtr.FlightId).Update(g.Map{"execute_the_task": tool.MillisecondTimestamp()})
}
return
}
//// CancelATaskFunc 取消任务
//func (c *manageTaskRecordController) CancelATaskFunc(ctx context.Context, req *system.CancelATaskReq) (res *system.PerformATaskRes, err error) {
// var mtr *model.ManageTaskRecordInfoRes
// dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&mtr)
// err, reply := mqtt.Flighttask_undo(req.GatewaySn, strings.Split(mtr.FlightId, ","))
// if err != nil {
// return nil, err
// }
// if reply.Data.Result > 0 {
// err = mqtt.Geterror(reply.Data.Result)
// } else {
// dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", mtr.FlightId).Update(g.Map{"cancel_time": tool.MillisecondTimestamp()})
// }
// return
//}
// RouteSuspensionFunc 航线暂停
func (c *manageTaskRecordController) RouteSuspensionFunc(ctx context.Context, req *system.RouteSuspensionReq) (res *system.PerformATaskRes, err error) {
var mtr *model.ManageTaskRecordInfoRes
dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&mtr)
err, reply := mqtt.Flighttask_pause(ctx, req.GatewaySn)
if err != nil {
return nil, err
}
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
} else {
dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", mtr.FlightId).Update(g.Map{"suspend": tool.MillisecondTimestamp(), "is_suspend": "1"})
}
return
}
// CourseResumptionFunc 航线恢复
func (c *manageTaskRecordController) CourseResumptionFunc(ctx context.Context, req *system.CourseResumptionReq) (res *system.PerformATaskRes, err error) {
var mtr *model.ManageTaskRecordInfoRes
dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&mtr)
err, reply := mqtt.Flighttask_recovery(ctx, req.GatewaySn)
if err != nil {
return nil, err
}
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
} else {
dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", mtr.FlightId).Update(g.Map{"recover": tool.MillisecondTimestamp(), "is_suspend": "0"})
}
return
}
// OneClickBackFunc 一键返航
func (c *manageTaskRecordController) OneClickBackFunc(ctx context.Context, req *system.OneClickBackReq) (res *system.PerformATaskRes, err error) {
var mtr *model.ManageTaskRecordInfoRes
dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&mtr)
err, reply := mqtt.Return_home(ctx, req.GatewaySn)
if err != nil {
return nil, err
}
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
} else {
dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", mtr.FlightId).Update(g.Map{"course_reversal": tool.MillisecondTimestamp(), "accomplish": tool.MillisecondTimestamp()})
}
return
}
// CancelHomingFunc 取消返航
func (c *manageTaskRecordController) CancelHomingFunc(ctx context.Context, req *system.CancelHomingReq) (res *system.PerformATaskRes, err error) {
var mtr *model.ManageTaskRecordInfoRes
dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&mtr)
err, reply := mqtt.Return_home_cancel(ctx, req.GatewaySn)
if err != nil {
return nil, err
}
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
} else {
dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", mtr.FlightId).Update(g.Map{"cancel_homing": tool.MillisecondTimestamp()})
}
return
}
// FlighttaskResourceGetFunc 删除任务
func (c *manageTaskRecordController) FlighttaskResourceGetFunc(ctx context.Context, req *system.ManageTaskRecordDeleteReq) (res *system.ManageTaskRecordDeleteRes, err error) {
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
// 1、取消任务
for _, id := range req.Ids {
// 查询
var mtr *model.ManageTaskRecordInfoRes
err = dao.ManageTaskRecord.Ctx(ctx).WherePri(id).Scan(&mtr)
liberr.ErrIsNil(ctx, err)
if mtr.IsResourceReady == "1" { // 资源准备好了才删
if mtr.MergeProjectId == "" || mtr.MergeId == "" {
liberr.ErrIsNil(ctx, errors.New("删除数据失败,未获取到webDom的项目ID或任务ID"))
return
}
// 删除webdom资源
webodm.DelUuidFunc(mtr.MergeProjectId, mtr.MergeId)
// 删除tif、大图合并
img := coryCommon.FileToFunc(mtr.WImg, 2)
os.Remove(img)
tif := coryCommon.FileToFunc(mtr.WTif, 2)
os.Remove(tif)
}
// 取消任务
err, reply := mqtt.Flighttask_undo(ctx, mtr.MqClientId, strings.Split(mtr.FlightId, ","))
liberr.ErrIsNil(ctx, err, "取消任务失败")
if reply.Data.Result > 0 {
err = mqtt.Geterror(reply.Data.Result)
liberr.ErrIsNil(ctx, err)
return
}
// 获取飞机回传下载的资源的目录进行数据删除下载到本地的资源和minio的资源
sql := `select
SUBSTRING_INDEX(object_key, '/', 2) as extracted_part
from
manage_task_record_resource
where
flight_id = ` + "'" + mtr.FlightId + "'" + `
limit 1`
if value, err := g.DB().GetValue(ctx, sql); err == nil {
if value.String() != "" {
deleteDirectory(coryCommon.GetCWD() + "/" + coryCommon.Uav + value.String())
client, _ := dj.PublicMinioClient()
dj.DeletesTheFileWithTheSpecifiedPrefixBasedOnTheObjectSet(ctx, client, dj.BucketName, value.String(), true)
}
}
}
// 3、刪除数据库记录数据
_, err = dao.ManageTaskRecord.Ctx(ctx).Delete(dao.ManageTaskRecord.Columns().Id+" in (?)", req.Ids)
liberr.ErrIsNil(ctx, err, "删除失败")
})
return err
})
return
}
func deleteDirectory(dir string) error {
d, err := os.Open(dir)
if err != nil {
return err
}
defer d.Close()
names, err := d.Readdirnames(-1)
if err != nil {
return err
}
for _, name := range names {
path := filepath.Join(dir, name)
if info, err := os.Stat(path); err == nil && info.IsDir() {
if err := deleteDirectory(path); err != nil {
return err
}
} else {
if err := os.Remove(path); err != nil {
return err
}
}
}
return os.Remove(dir)
}
// BreakpointContinuaionFunc 断点续飞
func (c *manageTaskRecordController) BreakpointContinuaionFunc(ctx context.Context, req *system.BreakpointContinuationReq) (res *system.PerformATaskRes, err error) {
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
// 1、断点续飞需要清除上一次飞行的部分数据
_, err = dao.ManageTaskRecord.Ctx(ctx).Where("id", req.Id).Update(
g.Map{
"execute_time": nil,
//"execute_the_task": nil,
"suspend": nil,
"recover": nil,
"course_reversal": nil,
"accomplish": nil,
"is_suspend": nil,
})
liberr.ErrIsNil(ctx, err)
// 2、获取当前需要断点续飞的数据
var ddEntity model.ManageTaskRecordInfoRes
err = dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Scan(&ddEntity)
liberr.ErrIsNil(ctx, err)
prepareReq := system.FlighttaskPrepareReq{
Id: strconv.FormatInt(ddEntity.TaskId, 10),
GatewaySn: req.GatewaySn,
TaskType: "0",
ExecuteTime: time.Now().UnixNano() / int64(time.Millisecond),
BreakpointRenewalUUID: ddEntity.FlightId,
}
pointReq := system.BreakPointReq{
Index: ddEntity.DdIndex,
State: ddEntity.DdState,
Progress: ddEntity.DdProgress,
WaylineId: ddEntity.RouteId,
}
prepareReq.BreakPoint = &pointReq
prepareReq.Id = strconv.FormatInt(ddEntity.TaskId, 10)
_, err = FlighttaskPrepareFunc(ctx, &prepareReq)
liberr.ErrIsNil(ctx, err)
})
return err
})
return
}

View File

@ -0,0 +1,315 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-05-30 17:07:01
// 生成路径: internal/app/system/controller/manage_task_record_resource.go
// 生成人gfast
// desc:下发记录回传的媒体文件
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"errors"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gctx"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/api/webodm"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
logic "github.com/tiger1103/gfast/v3/internal/app/system/logic/manageTaskRecordResource"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/tiger1103/gfast/v3/third/plane/dj"
"golang.org/x/exp/rand"
"os"
"path/filepath"
"strconv"
"time"
)
type manageTaskRecordResourceController struct {
BaseController
}
var ManageTaskRecordResource = new(manageTaskRecordResourceController)
// List 列表
func (c *manageTaskRecordResourceController) List(ctx context.Context, req *system.ManageTaskRecordResourceSearchReq) (res *system.ManageTaskRecordResourceSearchRes, err error) {
res, err = service.ManageTaskRecordResource().List(ctx, req)
return
}
// Get 获取下发记录回传的媒体文件
func (c *manageTaskRecordResourceController) Get(ctx context.Context, req *system.ManageTaskRecordResourceGetReq) (res *system.ManageTaskRecordResourceGetRes, err error) {
res = new(system.ManageTaskRecordResourceGetRes)
res.ManageTaskRecordResourceInfoRes, err = service.ManageTaskRecordResource().GetByFlightId(ctx, req.FlightId)
return
}
// Add 添加下发记录回传的媒体文件
func (c *manageTaskRecordResourceController) Add(ctx context.Context, req *system.ManageTaskRecordResourceAddReq) (res *system.ManageTaskRecordResourceAddRes, err error) {
err = service.ManageTaskRecordResource().Add(ctx, req)
return
}
// Edit 修改下发记录回传的媒体文件
func (c *manageTaskRecordResourceController) Edit(ctx context.Context, req *system.ManageTaskRecordResourceEditReq) (res *system.ManageTaskRecordResourceEditRes, err error) {
err = service.ManageTaskRecordResource().Edit(ctx, req)
return
}
// Delete 删除下发记录回传的媒体文件
func (c *manageTaskRecordResourceController) Delete(ctx context.Context, req *system.ManageTaskRecordResourceDeleteReq) (res *system.ManageTaskRecordResourceDeleteRes, err error) {
err = service.ManageTaskRecordResource().Delete(ctx, req.FlightIds)
return
}
// DownloadAccordingToMysqlFunc 根据计划ID批量下载准备数据图片
func (c *manageTaskRecordResourceController) DownloadAccordingToMysqlFunc(ctx context.Context, req *system.DownloadAccordingToMysqlReq) (res *system.DownloadAccordingToMysqlRes, err error) {
err = service.ManageTaskRecordResource().DownloadAccordingToMysqlFunc(ctx, req.FlightId)
return
}
// @Title ObtainResourcesAccordingToFlightId 2024/8/19 17:42:00
// @Description 获取大图合并需要的资源路径
// @Auth Cory
// @param 输入参数名 ---> "参数解释"
// @Return error ---> "错误信息"
func (c *manageTaskRecordResourceController) ObtainResourcesAccordingToFlightId(ctx context.Context, req *system.ObtainResourcesAccordingToFlightIdReq) (*system.ObtainResourcesAccordingToFlightIdRes, error) {
res, err := service.ManageTaskRecordResource().ObtainResourcesAccordingToFlightId(ctx, req.FlightId)
return res, err
}
// FlightIdByProgressQueryFunc 根据计划ID查询下载准备数据图片进度
func (c *manageTaskRecordResourceController) FlightIdByProgressQueryFunc(ctx context.Context, req *system.FlightIdByProgressQueryReq) (res *system.FlightIdByProgressQueryRes, err error) {
res = new(system.FlightIdByProgressQueryRes)
get, err := g.Redis().Get(ctx, logic.UavRedisKey+req.FlightId)
if err != nil {
err = errors.New("当前进度已被销毁!")
} else {
res.Percentage = get.String()
//如果查询出来的进度为百分之百那么将改变当前计划id的状态为下载完成然后删除当前redis存储
if res.Percentage == "100" {
_, err = dao.ManageTaskRecord.Ctx(ctx).Where("flight_id", req.FlightId).Update(g.Map{"is_resource_ready": "1"})
if err == nil {
g.Redis().Del(ctx, logic.UavRedisKey+req.FlightId)
}
}
}
return
}
/*
1、根据路径下载文件到本地
2、根据文件名字分为w和z两个文件夹
3、压缩文件提供下载路径
*/
func (c *manageTaskRecordResourceController) UavImgDownLoad(ctx context.Context, req *system.DownLoadImgReq) (res *system.DownLoadImgRes, err error) {
res = new(system.DownLoadImgRes)
err = g.Try(ctx, func(ctx context.Context) {
// 1、创建目录
dirPath := filepath.ToSlash(coryCommon.GetCWD() + "/" + coryCommon.Ynr(coryCommon.Temporary+"/") + coryCommon.FileName("zy"))
err = os.Mkdir(dirPath, 0755)
liberr.ErrIsNil(ctx, err, "创建目录失败")
// 2、下载资源到指定目录
minioClient, _ := dj.PublicMinioClient()
err = dj.DownloadTheFileWithTheSpecifiedPrefixBasedOnTheObjectSet(ctx, minioClient, dj.BucketName, req.ObjectKey, dirPath, true)
liberr.ErrIsNil(ctx, err, "下载资源失败")
// 3、对资源进行分类并打成压缩文件临时目录过一段时间会自动删除数据
//err = ResourceArrangement(ctx, dirPath)
//liberr.ErrIsNil(ctx, err, "文件分类失败")
zipFile := coryCommon.ResourcePublicToFunc(filepath.ToSlash("/"+coryCommon.Ynr(coryCommon.Temporary+"/")+coryCommon.FileName("wp")+".zip"), 2)
err = coryCommon.FolderToZip(dirPath, zipFile)
liberr.ErrIsNil(ctx, err, "压缩文件失败")
res.Path = coryCommon.ResourcePublicToFunc(filepath.ToSlash(zipFile), 1)
})
return res, err
}
func ResourceArrangement(ctx context.Context, sourceDir string) (err error) {
err = g.Try(ctx, func(ctx context.Context) {
// 创建目标文件夹w和z
err = os.MkdirAll(filepath.Join(sourceDir, "w"), 0755)
liberr.ErrIsNil(ctx, err)
err = os.MkdirAll(filepath.Join(sourceDir, "z"), 0755)
liberr.ErrIsNil(ctx, err)
var wFiles []string
var zFiles []string
// 遍历源文件夹下的所有文件
err = filepath.Walk(sourceDir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
return nil
}
// 判断文件名是否包含_W后缀若是则添加到wFiles切片
if filepath.Ext(path) == ".jpeg" && filepath.Base(path)[len(filepath.Base(path))-6:] == "W.jpeg" {
wFiles = append(wFiles, path)
}
// 判断文件名是否包含_Z后缀若是则添加到zFiles切片
if filepath.Ext(path) == ".jpeg" && filepath.Base(path)[len(filepath.Base(path))-6:] == "Z.jpeg" {
zFiles = append(zFiles, path)
}
return nil
})
liberr.ErrIsNil(ctx, err)
// 将带有_W后缀的文件移动到w文件夹
for _, file := range wFiles {
newPath := filepath.Join(sourceDir, "w", filepath.Base(file))
os.Rename(file, newPath)
}
// 将带有_Z后缀的文件移动到z文件夹
for _, file := range zFiles {
newPath := filepath.Join(sourceDir, "z", filepath.Base(file))
os.Rename(file, newPath)
}
})
return nil
}
// @Title DownloadMergeLargeImageFunc 2024/8/20 10:42:00
// @Description 大图合并等一系列逻辑业务
// @Auth Cory
func (c *manageTaskRecordResourceController) DownloadMergeLargeImageFunc(ctx context.Context, req *system.VoluntarilyReq) (res *system.VoluntarilyRes, err error) {
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
//0、如果有合并项目及合并任务id证明已操作过合并就不允许再次操作
count, _ := dao.ManageTaskRecord.Ctx(ctx).WherePri(req.Id).Where("merge_project_id <> '' and merge_id <> ''").Count()
if count >= 1 {
err = errors.New("此功能无法重复操作!")
return err
}
res = new(system.VoluntarilyRes)
//1、从minio下载文件到本地服务器中
err = service.ManageTaskRecordResource().DownloadAccordingToMysqlFunc(ctx, req.FlightId)
if err != nil {
err = errors.New("从minio下载文件到本地服务器中失败")
return err
}
//2、查询下载进度
queryReq := system.FlightIdByProgressQueryReq{
FlightId: req.FlightId,
}
for {
queryFunc, errFunc := c.FlightIdByProgressQueryFunc(ctx, &queryReq)
if errFunc != nil {
errFunc = errors.New("从minio下载文件到本地服务器中进度读取失败")
return errFunc
}
if queryFunc.Percentage == "100" {
break
}
// 增加一个短暂的等待,避免频繁查询
time.Sleep(500 * time.Millisecond)
}
//3、获取项目列表从中随机选择一个项目
listFunc, err := webodm.ProjectListFunc()
if err != nil {
g.Log().Error(gctx.New(), err)
return err
}
if len(listFunc.Results) == 0 {
err = errors.New("webDom中未找到项目")
return err
}
//4、创建任务
files, err := service.ManageTaskRecordResource().ObtainResourcesAccordingToFlightId(ctx, req.FlightId)
if err != nil {
return err
}
if len(files.List) == 0 {
liberr.ErrIsNil(ctx, err, "服务器本地未找到无人机回传媒体文件")
return err
} else {
for i, v := range files.List {
files.List[i] = coryCommon.GlobalPath + v
}
}
//随机数生成器;生成一个在 0 到 数组长度 - 1 之间的随机索引
rand.Seed(uint64(time.Now().UnixNano()))
projectId := strconv.Itoa(listFunc.Results[rand.Intn(len(listFunc.Results))].ID)
resTaskCreate, errTaskCreate := webodm.TaskCreateFunc(ctx, &webodm.TaskCreateReq{
ProjectId: projectId,
UrlList: files.List,
})
if errTaskCreate != nil {
return err
}
taskId := resTaskCreate.TaskId
res.TaskId = taskId
res.ProjectId = projectId
//4-1、记录webdom的项目id和任务id
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
_, err = dao.ManageTaskRecord.Ctx(ctx).Where("id", req.Id).Update(
g.Map{
"merge_project_id": projectId,
"merge_id": taskId,
})
if err == nil {
return nil
} else {
return err
}
})
if err != nil {
return err
}
//5、开启携程以 轮询的方式进行进度查询到达百分之百过后需要调用ai等一系列操作
go func() {
ctx2 := gctx.New()
for {
resTaskProcess, errTaskProcess := webodm.TaskProcessFunc(ctx2, &webodm.TaskProcessReq{
TaskId: taskId,
ProjectId: projectId,
})
if errTaskProcess != nil {
g.Log("uav").Error(ctx, "1----------"+errTaskProcess.Error())
return
}
lastError := resTaskProcess.LastError //表示这个图片合成任务的处理过程中是否出错,出错的话这个字段就不是 null
if lastError != nil {
g.Log("uav").Error(ctx, lastError)
return
}
progress := resTaskProcess.RunningProgress //这个字段表示图片合成任务的处理进度,如果这个为 1 则证明任务已经处理完成了
if progress == 1 {
//6、查看任务处理的结果
goReq := &webodm.TaskDownloadReq{
TaskId: taskId,
Format: "gtiff-rgb",
ProjectId: req.ProjectId,
}
one, errDownOne := webodm.DownloadTask(ctx2, goReq)
if errDownOne != nil {
g.Log("uav").Error(ctx, "2----------"+errDownOne.Error())
return
}
goReq.Format = "png"
two, errDownTwo := webodm.DownloadTask(ctx2, goReq)
if errDownTwo != nil {
g.Log("uav").Error(ctx, "3----------"+errDownTwo.Error())
return
}
//7、将得到数据存储到数据中
service.ManageTaskRecord().UpDataResource(ctx, &system.UpDataResourceReq{
Id: req.Id,
MergeProjectId: projectId,
MergeId: taskId,
WImg: two.FileUrl,
WTif: one.FileUrl,
ProjectId: req.ProjectId,
})
return
}
// 增加一个短暂的等待,避免频繁查询
time.Sleep(500 * time.Millisecond)
}
}()
return err
})
return
}

View File

@ -0,0 +1,54 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-10-21 11:29:13
// 生成路径: internal/app/system/controller/manage_task_result.go
// 生成人gfast
// desc:AI识别到的数据
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type manageTaskResultController struct {
BaseController
}
var ManageTaskResult = new(manageTaskResultController)
// List 列表
func (c *manageTaskResultController) List(ctx context.Context, req *system.ManageTaskResultSearchReq) (res *system.ManageTaskResultSearchRes, err error) {
res, err = service.ManageTaskResult().List(ctx, req)
return
}
// Get 获取AI识别到的数据
func (c *manageTaskResultController) Get(ctx context.Context, req *system.ManageTaskResultGetReq) (res *system.ManageTaskResultGetRes, err error) {
res = new(system.ManageTaskResultGetRes)
res.ManageTaskResultInfoRes, err = service.ManageTaskResult().GetById(ctx, req.Id)
return
}
// Add 添加AI识别到的数据
func (c *manageTaskResultController) Add(ctx context.Context, req *system.ManageTaskResultAddReq) (res *system.ManageTaskResultAddRes, err error) {
err = service.ManageTaskResult().Add(ctx, req)
return
}
// Edit 修改AI识别到的数据
func (c *manageTaskResultController) Edit(ctx context.Context, req *system.ManageTaskResultEditReq) (res *system.ManageTaskResultEditRes, err error) {
err = service.ManageTaskResult().Edit(ctx, req)
return
}
// Delete 删除AI识别到的数据
func (c *manageTaskResultController) Delete(ctx context.Context, req *system.ManageTaskResultDeleteReq) (res *system.ManageTaskResultDeleteRes, err error) {
err = service.ManageTaskResult().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-11-14 10:53:20
// 生成路径: internal/app/system/controller/manage_workspace.go
// 生成人gfast
// desc:工作空间
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type manageWorkspaceController struct {
BaseController
}
var ManageWorkspace = new(manageWorkspaceController)
// List 列表
func (c *manageWorkspaceController) List(ctx context.Context, req *system.ManageWorkspaceSearchReq) (res *system.ManageWorkspaceSearchRes, err error) {
res, err = service.ManageWorkspace().List(ctx, req)
return
}
// Get 获取工作空间
func (c *manageWorkspaceController) Get(ctx context.Context, req *system.ManageWorkspaceGetReq) (res *system.ManageWorkspaceGetRes, err error) {
res = new(system.ManageWorkspaceGetRes)
res.ManageWorkspaceInfoRes, err = service.ManageWorkspace().GetById(ctx, req.Id)
return
}
// Add 添加工作空间
func (c *manageWorkspaceController) Add(ctx context.Context, req *system.ManageWorkspaceAddReq) (res *system.ManageWorkspaceAddRes, err error) {
err = service.ManageWorkspace().Add(ctx, req)
return
}
// Edit 修改工作空间
func (c *manageWorkspaceController) Edit(ctx context.Context, req *system.ManageWorkspaceEditReq) (res *system.ManageWorkspaceEditRes, err error) {
err = service.ManageWorkspace().Edit(ctx, req)
return
}
// Delete 删除工作空间
func (c *manageWorkspaceController) Delete(ctx context.Context, req *system.ManageWorkspaceDeleteReq) (res *system.ManageWorkspaceDeleteRes, err error) {
err = service.ManageWorkspace().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-10-08 09:38:35
// 生成路径: internal/app/system/controller/master_schedule.go
// 生成人gfast
// desc:总进度计划
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type masterScheduleController struct {
BaseController
}
var MasterSchedule = new(masterScheduleController)
// List 列表
func (c *masterScheduleController) List(ctx context.Context, req *system.MasterScheduleSearchReq) (res *system.MasterScheduleSearchRes, err error) {
res, err = service.MasterSchedule().List(ctx, req)
return
}
// Get 获取总进度计划
func (c *masterScheduleController) Get(ctx context.Context, req *system.MasterScheduleGetReq) (res *system.MasterScheduleGetRes, err error) {
res = new(system.MasterScheduleGetRes)
res.MasterScheduleInfoRes, err = service.MasterSchedule().GetById(ctx, req.Id)
return
}
// Add 添加总进度计划
func (c *masterScheduleController) Add(ctx context.Context, req *system.MasterScheduleAddReq) (res *system.MasterScheduleAddRes, err error) {
err = service.MasterSchedule().Add(ctx, req)
return
}
// Edit 修改总进度计划
func (c *masterScheduleController) Edit(ctx context.Context, req *system.MasterScheduleEditReq) (res *system.MasterScheduleEditRes, err error) {
err = service.MasterSchedule().Edit(ctx, req)
return
}
// Delete 删除总进度计划
func (c *masterScheduleController) Delete(ctx context.Context, req *system.MasterScheduleDeleteReq) (res *system.MasterScheduleDeleteRes, err error) {
err = service.MasterSchedule().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-11 16:58:12
// 生成路径: internal/app/system/controller/notification_recipients.go
// 生成人gfast
// desc:通知接收
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type notificationRecipientsController struct {
BaseController
}
var NotificationRecipients = new(notificationRecipientsController)
// List 列表
func (c *notificationRecipientsController) List(ctx context.Context, req *system.NotificationRecipientsSearchReq) (res *system.NotificationRecipientsSearchRes, err error) {
res, err = service.NotificationRecipients().List(ctx, req)
return
}
// Get 获取通知接收
func (c *notificationRecipientsController) Get(ctx context.Context, req *system.NotificationRecipientsGetReq) (res *system.NotificationRecipientsGetRes, err error) {
res = new(system.NotificationRecipientsGetRes)
res.NotificationRecipientsInfoRes, err = service.NotificationRecipients().GetById(ctx, req.Id)
return
}
// Add 添加通知接收
func (c *notificationRecipientsController) Add(ctx context.Context, req *system.NotificationRecipientsAddReq) (res *system.NotificationRecipientsAddRes, err error) {
err = service.NotificationRecipients().Add(ctx, req)
return
}
// Edit 修改通知接收
func (c *notificationRecipientsController) Edit(ctx context.Context, req *system.NotificationRecipientsEditReq) (res *system.NotificationRecipientsEditRes, err error) {
err = service.NotificationRecipients().Edit(ctx, req)
return
}
// Delete 删除通知接收
func (c *notificationRecipientsController) Delete(ctx context.Context, req *system.NotificationRecipientsDeleteReq) (res *system.NotificationRecipientsDeleteRes, err error) {
err = service.NotificationRecipients().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,489 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-11 16:56:36
// 生成路径: internal/app/system/controller/notifications.go
// 生成人gfast
// desc:通知信息
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"fmt"
"strings"
"time"
"github.com/gogf/gf/v2/container/gvar"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
"github.com/jinzhu/copier"
"github.com/samber/lo"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/system"
comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
wxDao "github.com/tiger1103/gfast/v3/internal/app/wxApplet/dao"
"github.com/tiger1103/gfast/v3/library/liberr"
richtext "github.com/tiger1103/gfast/v3/third/richText"
)
type notificationsController struct {
BaseController
}
var Notifications = new(notificationsController)
// List 列表
func (c *notificationsController) List(ctx context.Context, req *system.NotificationsSearchReq) (res *system.NotificationsSearchRes, err error) {
res, err = service.Notifications().List(ctx, req)
return
}
// Get 获取通知信息
func (c *notificationsController) Get(ctx context.Context, req *system.NotificationsGetReq) (res *system.NotificationsGetRes, err error) {
res = new(system.NotificationsGetRes)
res.NotificationsInfoRes, err = service.Notifications().GetById(ctx, req.Id)
return
}
// Add 添加通知信息
func (c *notificationsController) Add(ctx context.Context, req *system.NotificationsAddReq) (res *system.NotificationsAddRes, err error) {
err = service.Notifications().Add(ctx, req)
return
}
// Edit 修改通知信息
func (c *notificationsController) Edit(ctx context.Context, req *system.NotificationsEditReq) (res *system.NotificationsEditRes, err error) {
err = service.Notifications().Edit(ctx, req)
return
}
// Delete 删除通知信息
func (c *notificationsController) Delete(ctx context.Context, req *system.NotificationsDeleteReq) (res *system.NotificationsDeleteRes, err error) {
err = service.Notifications().Delete(ctx, req.Ids)
return
}
// NotificationsPublishReq 发布通知请求参数
func (c *notificationsController) Publish(ctx context.Context, req *system.NotificationsPublishReq) (*system.NotificationsPublishRes, error) {
// 获取当前用户的 ID
userID := ct.New().GetUserId(ctx)
err := PublicPublish(ctx, req, userID)
liberr.ErrIsNil(ctx, err)
return &system.NotificationsPublishRes{}, nil
}
// NotificationsGetUserReq 获取当前用户的通知信息
func (c *notificationsController) GetNotify(ctx context.Context, req *system.NotificationsGetUserReq) (res *system.NotificationsGetUserRes, err error) {
res = new(system.NotificationsGetUserRes)
// 获取当前用户的 ID
userID := ct.New().GetUserId(ctx)
// 当前用户的通知列表
notification := []model.Notifications{}
err = g.Try(ctx, func(ctx context.Context) {
// 获取当前用户的通知信息
m := dao.NotificationRecipients.Ctx(ctx).As("nf").
InnerJoin("notifications as ns", "ns.id = notification_id").
LeftJoin("sys_user as su", "ns.initiator = su.id").
Where("nf.recipient_id", userID).
//Where("nf.notification_status", 0).
Where("ns.is_app", req.IsApp).
Where("ns.project_id", req.ProjectId)
if req.PageNum == 0 {
req.PageNum = 1
}
if req.PageSize == 0 {
req.PageSize = 10
}
// 获取当前页的数据
res.Total, err = m.Count()
liberr.ErrIsNil(ctx, err)
// 更新当前页
res.CurrentPage = req.PageNum
err = m.Page(req.PageNum, req.PageSize).Fields("ns.route,ns.notification_text,ns.notification_time,nf.notification_status,nf.id,ns.title,ns.files,su.user_nickname").
OrderDesc("ns.id").
Scan(&notification)
liberr.ErrIsNil(ctx, err)
})
// 初始化通知列表
res.List = make([]system.Notifications, 0, len(notification))
copier.CopyWithOption(&res.List, &notification, copier.Option{
Converters: []copier.TypeConverter{
{
SrcType: copier.String,
DstType: []string{},
Fn: func(src interface{}) (dst interface{}, err error) {
s, ok := src.(string)
if !ok {
return nil, fmt.Errorf("转换失败")
}
if s == "" {
return []string{}, nil
}
return lo.Compact(strings.Split(s, "|")), nil
},
},
},
})
return res, nil
}
// NotificationsReadReq 标记通知为已读
func (c *notificationsController) Read(ctx context.Context, req *system.NotificationsReadReq) (*system.NotificationsReadRes, error) {
// 获取当前用户的 ID
userID := ct.New().GetUserId(ctx)
err := g.Try(ctx, func(ctx context.Context) {
// select *
// from notification_recipients nr
// join notifications ns on nr.notification_id = ns.id
// where nr.recipient_id = 1 and ns.project_id = 37 and is_app = 0 and nr.notification_status = 0;
_, err := dao.NotificationRecipients.Ctx(ctx).As("nr").
InnerJoin("notifications as ns", "nr.notification_id = ns.id").
Where("nr.recipient_id", userID).
Where("ns.project_id", req.ProjectId).
Where("ns.is_app", 0).
Where("nr.notification_status", 0).
Data(g.Map{
dao.NotificationRecipients.Columns().NotificationStatus: 1,
dao.NotificationRecipients.Columns().ReadTime: time.Now().Format("2006-01-02 15:04:05"),
}).Update()
liberr.ErrIsNil(ctx, err)
})
liberr.ErrIsNil(ctx, err)
return &system.NotificationsReadRes{}, nil
}
// 查看通知公告详情
func (c *notificationsController) Detail(ctx context.Context, req *system.NotificationsDetailReq) (*system.NotificationsDetailRes, error) {
// 获取当前用户的 ID
currentUserID := ct.New().GetUserId(ctx)
// 初始化 NotificationsDetail
notificationDetails := system.NotificationsDetail{}
// 获取通知详情
notificationInfo := model.Notifications{}
err := g.Try(ctx, func(ctx context.Context) {
err := dao.NotificationRecipients.Ctx(ctx).As("nf").
InnerJoin("notifications as ns", "ns.id = nf.notification_id").
LeftJoin("sys_user as su", "ns.initiator = su.id").
Where("nf.id", req.Id).
Fields("ns.route,ns.notification_text,ns.notification_time,nf.notification_status,ns.id,ns.title,su.user_nickname").
Scan(&notificationInfo)
liberr.ErrIsNil(ctx, err)
// SELECT *
// FROM notification_files
// WHERE notification_id = (
// SELECT nr.notification_id
// FROM notification_files AS file
// LEFT JOIN notification_recipients AS nr ON nr.notification_id = file.notification_id
// WHERE nr.id = 775
// LIMIT 1
// );
// 获取对应的文件
dao.NotificationFiles.Ctx(ctx).Where("notification_id = ?",
dao.NotificationFiles.Ctx(ctx).As("file").
LeftJoin("notification_recipients AS nr", "nr.notification_id = file.notification_id").
Where("nr.id", req.Id).Fields("nr.notification_id").Limit(1)).
Fields("file_name, file_path, file_type, file_size").Scan(&notificationInfo.Files)
// 更新通知状态为已读
_, err = dao.NotificationRecipients.Ctx(ctx).
Where(dao.NotificationRecipients.Columns().RecipientId, currentUserID).
Where(dao.NotificationRecipients.Columns().Id, req.Id).
Where(dao.NotificationRecipients.Columns().NotificationStatus, 0).
Data(g.Map{
dao.NotificationRecipients.Columns().NotificationStatus: 1,
dao.NotificationRecipients.Columns().ReadTime: time.Now().Format("2006-01-02 15:04:05"),
}).
Update()
liberr.ErrIsNil(ctx, err)
key := "notification:" + notificationInfo.Id
exist, _ := g.Redis().Exists(ctx, key)
if exist == 0 {
g.Redis().Set(ctx, key, 1)
} else {
g.Redis().IncrBy(ctx, key, 1)
}
})
liberr.ErrIsNil(ctx, err)
copier.Copy(&notificationDetails, &notificationInfo)
return &system.NotificationsDetailRes{
List: notificationDetails,
}, nil
}
// NotificationsGetPeople 获取通知公告的未读人员或已读人员
func (c *notificationsController) GetPeople(ctx context.Context, req *system.NotificationsGetPeopleReq) (*system.NotificationsGetPeopleRes, error) {
// 初始化 NotificationsGetPeopleRes
notificationGetPeople := system.NotificationsGetPeopleRes{}
err := g.Try(ctx, func(ctx context.Context) {
var err error
// 根据通知ID获取通知详情
m := dao.NotificationRecipients.Ctx(ctx).As("nr").
Where("nr.notification_id = ?", dao.NotificationRecipients.Ctx(ctx).
Where(dao.NotificationRecipients.Columns().Id, req.Id).
Fields(dao.NotificationRecipients.Columns().NotificationId)).
Where("nr.notification_status", req.Status)
// 分页
if req.PageNum == 0 {
req.PageNum = 1
}
if req.PageSize == 0 {
req.PageSize = 20
}
// 更新总数量和当前页
notificationGetPeople.Total, err = m.Fields("DISTINCT nr.id").Count()
notificationGetPeople.CurrentPage = req.PageNum
// 用户信息
notificationInfo := []model.NotificationsGetRes{}
// 获取数据
err = m.Page(req.PageNum, req.PageSize).
InnerJoin("sys_user as su", "nr.recipient_id = su.id").
Fields("nr.recipient_id,su.user_nickname,nr.read_time,su.mobile").
Scan(&notificationInfo)
liberr.ErrIsNil(ctx, err)
// 根据用户 ID 去重
notificationInfo = lo.UniqBy(notificationInfo, func(item model.NotificationsGetRes) int {
return int(item.Id)
})
// 获取所有的用户的手机号
userMobiles := lo.FilterMap(notificationInfo, func(item model.NotificationsGetRes, _ int) (string, bool) {
if item.OrmMobile == "" { // 如果手机号为空则跳过
return "", false
}
return item.OrmMobile, true
})
// 根据手机号在 bus_construction_user 表中获取用户的信息
userInfoList := make([]entity.BusConstructionUser, 0, len(userMobiles))
err = dao.BusConstructionUser.Ctx(ctx).WhereIn(dao.BusConstructionUser.Columns().Phone, userMobiles).
Fields("phone,head_icon,pace_photo,user_name").Scan(&userInfoList)
liberr.ErrIsNil(ctx, err)
// Slice To Map
// Key 为手机号Value 为用户信息
userMap := lo.Associate(userInfoList, func(user entity.BusConstructionUser) (string, entity.BusConstructionUser) {
return user.Phone, user
})
for i, user := range notificationInfo {
if cUser, ok := userMap[user.OrmMobile]; ok { // 如果小程序中存在与PC端用户相同的手机号
// 如果在 "PC端" 中没有设置用户名
if notificationInfo[i].Username == "" {
// 优先使用小程序的真实姓名
notificationInfo[i].Username = cUser.UserName
if cUser.UserName == "" {
notificationInfo[i].Username = cUser.NickName // 小程序的昵称作为备选
}
}
var facePhoto string
if cUser.PacePhoto != "" {
facePhoto = cUser.PacePhoto // 优先使用实名人脸照
} else if strings.Contains(cUser.HeadIcon, "data") {
// 如果 Head_icon 是 Base64 编码的图片
// 则将其转换为图片后保存到本地并更新数据库
newHeadIcon, err := coryCommon.Base64ToImgFunc(cUser.HeadIcon, "1", coryCommon.Helmet)
if err == nil {
// 更新数据库仅当转换成功时
_, err = dao.BusConstructionUser.Ctx(ctx).Where(dao.BusConstructionUser.Columns().Phone, cUser.Phone).Data(g.Map{
dao.BusConstructionUser.Columns().HeadIcon: newHeadIcon,
}).Update()
facePhoto = newHeadIcon
}
} else {
facePhoto = cUser.HeadIcon // Head_icon 登陆照片作为备选
}
// 设置 FacePhoto
notificationInfo[i].FacePhoto = facePhoto
}
}
copier.Copy(&notificationGetPeople.List, &notificationInfo)
})
liberr.ErrIsNil(ctx, err)
return &notificationGetPeople, nil
}
func PublicPublish(ctx context.Context, req *system.NotificationsPublishReq, userID uint64) error {
err := g.Try(ctx, func(ctx context.Context) {
var (
// 当前时间
timeNow = time.Now().Format("2006-01-02 15:04:05")
// 岗位名
positions = strings.Builder{}
)
// PC 通知消息
// 按岗位发布通知
if len(req.Positions) > 0 {
// 获取岗位下的所有用户
userIDs, err := dao.SysUserPost.Ctx(ctx).Where("post_id in (?)", req.Positions).Fields(dao.SysUserPost.Columns().UserId).Distinct().Array()
req.Users = lo.Map(userIDs, func(item *gvar.Var, _ int) int {
return item.Int()
})
// 获取岗位对应的岗位名称
postNames, err := dao.SysPost.Ctx(ctx).Where("post_id in (?)", req.Positions).Fields(dao.SysPost.Columns().PostName).Distinct().Array()
// 拼接岗位名
lo.ForEach(postNames, func(position *gvar.Var, _ int) {
positions.WriteString(position.String())
positions.WriteString(",")
})
liberr.ErrIsNil(ctx, err)
}
// App 通知
// 如果 Users 和 Positions 都为空则通知该项目下的所有人
if len(req.Users) == 0 && len(req.Positions) == 0 {
// 获取项目下的所有用户
projectUserIDs, err := wxDao.SysUserProjectRelevancy.Ctx(ctx).
Where(wxDao.SysUserProjectRelevancy.Columns().ProjectId, req.ProjectId).
Fields(wxDao.SysUserProjectRelevancy.Columns().UserId).Distinct().Array()
liberr.ErrIsNil(ctx, err)
constructionUserIDs, err := dao.BusConstructionUser.Ctx(ctx).As("bcs").
InnerJoin("sys_user as su", "bcs.phone = su.mobile").
Where("bcs.project_id", req.ProjectId).
Fields("su.id").Distinct().Array()
liberr.ErrIsNil(ctx, err)
// 将两个用户ID列表合并并去重
req.Users = lo.Uniq(lo.Map(append(projectUserIDs, constructionUserIDs...), func(item *gvar.Var, _ int) int {
return item.Int()
}))
}
// 在 Notifications 表中插入本次通知的数据
notification := do.Notifications{
Title: req.NotificationTitle, // 通知标题
NotificationText: req.NotificationText, // 通知正文
Route: req.Route, // 跳转的路由
NotificationTime: timeNow, // 通知时间
Initiator: userID, // 发起人
ProjectId: req.ProjectId, // 项目ID
Positions: positions.String(), // 岗位名称
IntroduceId: req.ProjectNewsId, // 关联的 PC 端项目新闻ID
}
// 如果是来自 App 的发布通知
if req.IsApp != 0 {
notification.IsApp = req.IsApp // 修改通知类型
}
// 如果是来自 App 的项目新闻
// 需要同步一份给 PC 端
if req.IsApp <= 2 && req.IsApp >= 1 {
// 同步的项目新闻
notificationText := req.NotificationText
// 如果 req.file 不为空,则将其包装为富文本标签
if len(req.Files) > 0 {
images := lo.Map(req.Files, func(file *comModel.UpFile, _ int) string {
return file.Url
})
// 将图片链接转换为富文本标签后附加到通知正文中
notificationText += richtext.ConvertImageURLsToRichText(images)
}
// 为后台插入一份项目新闻
introduceID, err := dao.SysProjectIntroduce.Ctx(ctx).Data(entity.SysProjectIntroduce{
ProjectId: int64(req.ProjectId),
Headline: req.NotificationTitle,
RichText: notificationText,
CreatedBy: gconv.String(userID),
}).InsertAndGetId()
liberr.ErrIsNil(ctx, err)
// App 关联的项目新闻ID并移除富文本
notification.IntroduceId = introduceID
notification.NotificationText = richtext.RemoveRichText(req.NotificationText)
}
// 插入数据库后返回其`主键ID`
lastInsertID, err := dao.Notifications.Ctx(ctx).InsertAndGetId(notification)
liberr.ErrIsNil(ctx, err)
// 如果不存在接收人则返回错误
if len(req.Users) == 0 {
liberr.ErrIsNil(ctx, fmt.Errorf("接收人不能为空"))
}
// 如果是 App 通知包含附件的的情况下
if len(req.Files) > 0 {
if err := saveNotificationFiles(ctx, lastInsertID, req.Files); err != nil {
liberr.ErrIsNil(ctx, err)
}
}
// 在 notification_recipients 表中为每个接收者插入一条数据
var notificationsList []do.NotificationRecipients
lo.ForEach(req.Users, func(item int, _ int) {
notificationsList = append(notificationsList, do.NotificationRecipients{
NotificationId: lastInsertID, // 通知ID
RecipientId: item, // 接收者ID
NotificationStatus: 0, // 0 未读
IntroduceId: req.ProjectNewsId, // 关联的PC 端项目新闻ID
})
})
// 批量插入
_, err = dao.NotificationRecipients.Ctx(ctx).Insert(notificationsList)
liberr.ErrIsNil(ctx, err)
})
return err
}
// saveNotificationFiles 将上传的文件的信息保存到数据库
func saveNotificationFiles(ctx context.Context, notificationID int64, files []*comModel.UpFile) error {
notificationFileList := make([]do.NotificationFiles, 0, len(files))
for i := 0; i < len(files); i++ {
notificationFileList = append(notificationFileList, do.NotificationFiles{
NotificationId: notificationID,
FileName: files[i].Name,
FilePath: files[i].Url,
FileType: files[i].FileType,
FileSize: files[i].Size,
})
}
_, err := dao.NotificationFiles.Ctx(ctx).Insert(notificationFileList)
return err
}

View File

@ -0,0 +1,50 @@
/*
* @desc:xxxx功能描述
* @company:云南奇讯科技有限公司
* @Author: yixiaohu<yxh669@qq.com>
* @Date: 2022/11/3 10:32
*/
package controller
import (
"context"
"github.com/gogf/gf/v2/crypto/gmd5"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/libUtils"
)
var Personal = new(personalController)
type personalController struct {
}
func (c *personalController) GetPersonal(ctx context.Context, req *system.PersonalInfoReq) (res *system.PersonalInfoRes, err error) {
res, err = service.Personal().GetPersonalInfo(ctx, req)
return
}
func (c *personalController) EditPersonal(ctx context.Context, req *system.PersonalEditReq) (res *system.PersonalEditRes, err error) {
ip := libUtils.GetClientIp(ctx)
userAgent := libUtils.GetUserAgent(ctx)
res = new(system.PersonalEditRes)
res.UserInfo, err = service.Personal().EditPersonal(ctx, req)
if err != nil {
return
}
key := gconv.String(res.UserInfo.Id) + "-" + gmd5.MustEncryptString(res.UserInfo.UserName) + gmd5.MustEncryptString(res.UserInfo.UserPassword)
if g.Cfg().MustGet(ctx, "gfToken.multiLogin").Bool() {
key = gconv.String(res.UserInfo.Id) + "-" + gmd5.MustEncryptString(res.UserInfo.UserName) + gmd5.MustEncryptString(res.UserInfo.UserPassword+ip+userAgent)
}
res.UserInfo.UserPassword = ""
res.Token, err = service.GfToken().GenerateToken(ctx, key, res.UserInfo)
return
}
func (c *personalController) ResetPwdPersonal(ctx context.Context, req *system.PersonalResetPwdReq) (res *system.PersonalResetPwdRes, err error) {
res, err = service.Personal().ResetPwdPersonal(ctx, req)
return
}

View File

@ -0,0 +1,117 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-26 14:31:07
// 生成路径: internal/app/system/controller/plan_daily.go
// 生成人gfast
// desc:日报
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gctx"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"math/rand"
"strconv"
"strings"
"time"
)
type planDailyController struct {
BaseController
}
var PlanDaily = new(planDailyController)
// List 列表
func (c *planDailyController) List(ctx context.Context, req *system.PlanDailySearchReq) (res *system.PlanDailySearchRes, err error) {
res, err = service.PlanDaily().List(ctx, req)
return
}
// Get 获取日报
func (c *planDailyController) Get(ctx context.Context, req *system.PlanDailyGetReq) (res *system.PlanDailyGetRes, err error) {
res = new(system.PlanDailyGetRes)
res.PlanDailyInfoRes, err = service.PlanDaily().GetById(ctx, req.Id)
return
}
// Add 添加日报
func (c *planDailyController) Add(ctx context.Context, req *system.PlanDailyAddReq) (res *system.PlanDailyAddRes, err error) {
err = service.PlanDaily().Add(ctx, req)
return
}
// Edit 修改日报
func (c *planDailyController) Edit(ctx context.Context, req *system.PlanDailyEditReq) (res *system.PlanDailyEditRes, err error) {
err = service.PlanDaily().Edit(ctx, req)
return
}
// Delete 删除日报
func (c *planDailyController) Delete(ctx context.Context, req *system.PlanDailyDeleteReq) (res *system.PlanDailyDeleteRes, err error) {
err = service.PlanDaily().Delete(ctx, req.Ids)
return
}
var mp = make(map[string]string)
type DayEntity struct {
ProjectId string `json:"project_id"`
SourceId string `json:"source_id"`
Name string `json:"name"`
Table string `json:"table"`
//PlanName string `json:"plan_name"`
//PlanId string `json:"plan_id"`
//WeekRealityId string `json:"week_reality_id"`
SourceType string `json:"source_type"`
Cnt int `json:"cnt"`
DataTime string `json:"data_time"`
}
// 模拟日报-自动生成数据
func myTask(ctx context.Context) {
//1、随机哪几张表
mp["1"] = "qianqi_xiangbian"
mp["2"] = "qianqi_nibianqi"
mp["3"] = "qianqi_guangfuban_ids_zhuangdian"
mp["4"] = "qianqi_guangfuban_ids_zhijia"
mp["5"] = "qianqi_guangfuban_ids_lizhu"
mp["6"] = "qianqi_guangfuban_ids"
//2、创建随机种子
rand.Seed(time.Now().Unix())
intn := rand.Intn(6) + 1
intnTwo := rand.Intn(6) + 1
//3、随机挑选一个表查询,随机获取数据
table := mp[strconv.Itoa(intn)]
array, _ := g.DB().Model(table).Ctx(ctx).OrderRandom().Limit(intnTwo).All()
var oneEntity []*DayEntity
for _, data := range array {
var twoEntity = new(DayEntity)
data.Struct(twoEntity)
twoEntity.Table = table
twoEntity.SourceType = strings.ReplaceAll(table, "qianqi_", "")
twoEntity.Cnt = intnTwo
twoEntity.DataTime = time.Unix(1621741532, 0).Format("2006-01-02")
oneEntity = append(oneEntity, twoEntity)
}
g.DB().Model("plan_daily").Ctx(ctx).Insert(oneEntity)
}
func init() {
ctx := gctx.New()
ticker := time.NewTicker(6 * time.Hour)
go func() {
for {
select {
case <-ticker.C:
myTask(ctx)
}
}
}()
}

View File

@ -0,0 +1,73 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-04 17:26:59
// 生成路径: internal/app/system/controller/plan_week.go
// 生成人gfast
// desc:周计划
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type planWeekController struct {
BaseController
}
var PlanWeek = new(planWeekController)
// List 列表
func (c *planWeekController) List(ctx context.Context, req *system.PlanWeekSearchReq) (res *system.PlanWeekSearchRes, err error) {
res, err = service.PlanWeek().List(ctx, req)
return
}
func (c *planWeekController) PlanWeekGetInfoByPlanID(ctx context.Context, req *system.PlanWeekGetInfoByPlanIDReq) (res *system.PlanWeekGetInfoByPlanIDRes, err error) {
res, err = service.PlanWeek().PlanWeekGetInfoByPlanID(ctx, req)
return
}
// Get 获取周计划
func (c *planWeekController) Get(ctx context.Context, req *system.PlanWeekGetReq) (res *system.PlanWeekGetRes, err error) {
res = new(system.PlanWeekGetRes)
res.PlanWeekInfoRes, err = service.PlanWeek().GetById(ctx, req.Id)
return
}
// Add 添加周计划
func (c *planWeekController) Add(ctx context.Context, req *system.PlanWeekAddReq) (res *system.PlanWeekAddRes, err error) {
err = service.PlanWeek().Add(ctx, req)
return
}
// Edit 修改周计划
func (c *planWeekController) Edit(ctx context.Context, req *system.PlanWeekEditReq) (res *system.PlanWeekEditRes, err error) {
err = service.PlanWeek().Edit(ctx, req)
return
}
// Delete 删除周计划
func (c *planWeekController) Delete(ctx context.Context, req *system.PlanWeekDeleteReq) (res *system.PlanWeekDeleteRes, err error) {
err = service.PlanWeek().Delete(ctx, req.PlanID)
return
}
// WeekAndWeekRealityListFunc 根据条件获取到计划于实际的数据
func (c *planWeekController) WeekAndWeekRealityListFunc(ctx context.Context, req *system.WeekAndWeekRealityListReq) (res *system.WeekAndWeekRealityListRes, err error) {
res = new(system.WeekAndWeekRealityListRes)
res, err = service.PlanWeek().WeekAndWeekRealityListFunc(ctx, req)
return
}
// WeeklyAndMonthlyReportDataGenerationFunc 周报/月报数据生成周报生成word月报生成压缩包文件夹
func (c *planWeekController) WeeklyAndMonthlyReportDataGenerationFunc(ctx context.Context, req *system.WeeklyAndMonthlyReportDataGenerationReq) (res *system.WeeklyAndMonthlyReportDataGenerationRes, err error) {
//1、查询数据
res = new(system.WeeklyAndMonthlyReportDataGenerationRes)
res, err = service.PlanWeek().WeeklyAndMonthlyReportDataGenerationFunc(ctx, req)
return
}

View File

@ -0,0 +1,57 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-17 17:23:07
// 生成路径: internal/app/system/controller/plan_week_reality.go
// 生成人xyb
// desc:实际完成的周计划
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type planWeekRealityController struct {
BaseController
}
var PlanWeekReality = new(planWeekRealityController)
// List 列表
func (c *planWeekRealityController) List(ctx context.Context, req *system.PlanWeekRealitySearchReq) (res *system.PlanWeekRealitySearchRes, err error) {
res, err = service.PlanWeekReality().List(ctx, req)
return
}
func (c *planWeekRealityController) Compare(ctx context.Context, req *system.PlanWeekRealityCompareReq) (res *system.PlanWeekRealityCompareRes, err error) {
res, err = service.PlanWeekReality().PlanWeekRealityCompare(ctx, req)
return
}
// Get 获取实际完成的周计划
func (c *planWeekRealityController) Get(ctx context.Context, req *system.PlanWeekRealityGetReq) (res *system.PlanWeekRealityGetRes, err error) {
res = new(system.PlanWeekRealityGetRes)
res.PlanWeekRealityInfoRes, err = service.PlanWeekReality().GetById(ctx, req.Id)
return
}
// Add 添加实际完成的周计划
func (c *planWeekRealityController) Add(ctx context.Context, req *system.PlanWeekRealityAddReq) (res *system.PlanWeekRealityAddRes, err error) {
err = service.PlanWeekReality().Add(ctx, req)
return
}
// Edit 修改实际完成的周计划
func (c *planWeekRealityController) Edit(ctx context.Context, req *system.PlanWeekRealityEditReq) (res *system.PlanWeekRealityEditRes, err error) {
err = service.PlanWeekReality().Edit(ctx, req)
return
}
// Delete 删除实际完成的周计划
func (c *planWeekRealityController) Delete(ctx context.Context, req *system.PlanWeekRealityDeleteReq) (res *system.PlanWeekRealityDeleteRes, err error) {
err = service.PlanWeekReality().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-12 10:38:43
// 生成路径: internal/app/system/controller/plant.go
// 生成人gfast
// desc:电站信息
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type plantController struct {
BaseController
}
var Plant = new(plantController)
// List 列表
func (c *plantController) List(ctx context.Context, req *system.PlantSearchReq) (res *system.PlantSearchRes, err error) {
res, err = service.Plant().List(ctx, req)
return
}
// Get 获取电站信息
func (c *plantController) Get(ctx context.Context, req *system.PlantGetReq) (res *system.PlantGetRes, err error) {
res = new(system.PlantGetRes)
res.PlantInfoRes, err = service.Plant().GetById(ctx, req.Id)
return
}
// Add 添加电站信息
func (c *plantController) Add(ctx context.Context, req *system.PlantAddReq) (res *system.PlantAddRes, err error) {
err = service.Plant().Add(ctx, req)
return
}
// Edit 修改电站信息
func (c *plantController) Edit(ctx context.Context, req *system.PlantEditReq) (res *system.PlantEditRes, err error) {
err = service.Plant().Edit(ctx, req)
return
}
// Delete 删除电站信息
func (c *plantController) Delete(ctx context.Context, req *system.PlantDeleteReq) (res *system.PlantDeleteRes, err error) {
err = service.Plant().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,65 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-04-29 12:01:01
// 生成路径: internal/app/system/controller/project_finance.go
// 生成人gfast
// desc:项目财务
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type projectFinanceController struct {
BaseController
}
var ProjectFinance = new(projectFinanceController)
// List 列表
func (c *projectFinanceController) List(ctx context.Context, req *system.ProjectFinanceSearchReq) (res *system.ProjectFinanceSearchRes, err error) {
res, err = service.ProjectFinance().List(ctx, req)
return
}
// Get 获取项目财务
func (c *projectFinanceController) Get(ctx context.Context, req *system.ProjectFinanceGetReq) (res *system.ProjectFinanceGetRes, err error) {
res = new(system.ProjectFinanceGetRes)
if req.Id != 0 {
res.ProjectFinanceInfoResVo, err = service.ProjectFinance().GetById(ctx, req.Id)
return
} else if req.ProjectId != 0 {
res.ProjectFinanceInfoResVo, err = service.ProjectFinance().GetByProjectId(ctx, req.ProjectId)
return
}
return
}
// Add 添加项目财务
func (c *projectFinanceController) Add(ctx context.Context, req *system.ProjectFinanceAddReq) (res *system.ProjectFinanceAddRes, err error) {
err = service.ProjectFinance().Add(ctx, req)
return
}
// Edit 修改项目财务
func (c *projectFinanceController) Edit(ctx context.Context, req *system.ProjectFinanceEditReq) (res *system.ProjectFinanceEditRes, err error) {
err = service.ProjectFinance().Edit(ctx, req)
return
}
// Delete 删除项目财务
func (c *projectFinanceController) Delete(ctx context.Context, req *system.ProjectFinanceDeleteReq) (res *system.ProjectFinanceDeleteRes, err error) {
err = service.ProjectFinance().Delete(ctx, req.Ids)
return
}
// 文件Excel上传
func (c *projectFinanceController) UploadExcel(ctx context.Context, req *system.UploadExcelReq) (res *system.UploadExcelRes, err error) {
res, err = service.ProjectFinance().UploadExcel(ctx, req.ProjectId)
return
}

View File

@ -0,0 +1,121 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-13 18:17:32
// 生成路径: internal/app/system/controller/project_schedule.go
// 生成人gfast
// desc:项目排期
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
)
type projectScheduleController struct {
BaseController
}
var ProjectSchedule = new(projectScheduleController)
// List 列表
func (c *projectScheduleController) List(ctx context.Context, req *system.ProjectScheduleSearchReq) (res *system.ProjectScheduleSearchRes, err error) {
res, err = service.ProjectSchedule().List(ctx, req)
return
}
// Get 获取项目排期
func (c *projectScheduleController) Get(ctx context.Context, req *system.ProjectScheduleGetReq) (res *system.ProjectScheduleGetRes, err error) {
res = new(system.ProjectScheduleGetRes)
res.ProjectScheduleInfoRes, err = service.ProjectSchedule().GetById(ctx, req.Id)
return
}
// Add 添加项目排期
func (c *projectScheduleController) Add(ctx context.Context, req *system.ProjectScheduleAddReq) (res *system.ProjectScheduleAddRes, err error) {
err = service.ProjectSchedule().Add(ctx, req)
return
}
// Edit 修改项目排期
func (c *projectScheduleController) Edit(ctx context.Context, req *system.ProjectScheduleEditReq) (res *system.ProjectScheduleEditRes, err error) {
err = service.ProjectSchedule().Edit(ctx, req)
return
}
// Delete 删除项目排期
func (c *projectScheduleController) Delete(ctx context.Context, req *system.ProjectScheduleDeleteReq) (res *system.ProjectScheduleDeleteRes, err error) {
err = service.ProjectSchedule().Delete(ctx, req.Ids)
return
}
// 添加一个计划
func (s *projectScheduleController) AddSchedule(ctx context.Context, req *system.ProjectScheduleAddPlanReq) (res *system.ProjectScheduleAddPlanRes, err error) {
err = g.Try(ctx, func(ctx context.Context) {
if req.Types == 1 {
// 如果添加计划时,发现父级的 type ==0 的数据不存在,则将其父项目的开始时间修改为,第一个子任务的开始时间
// 查询父级的 type == 0 的数据
parentData, err := dao.ProjectSchedule.Ctx(ctx).Where(dao.ProjectSchedule.Columns().ParentId, req.ConstructionId).Where(dao.ProjectSchedule.Columns().Types, 0).One()
liberr.ErrIsNil(ctx, err, "查询失败")
if parentData == nil {
// 如果父级的 type == 0 的数据不存在,则添加一条 parent_id = req.ConstructionId, types = 0 的数据
_, err = dao.ProjectSchedule.Ctx(ctx).Insert(do.ProjectSchedule{
ParentId: req.ConstructionId,
StartDate: req.StartDate,
EndDate: req.EndDate,
Name: req.Name,
PlaneNum: req.PlaneNum,
Types: 0,
})
liberr.ErrIsNil(ctx, err, "更新失败")
}
// 插入一条 type = 1 的数据
_, err = dao.ProjectSchedule.Ctx(ctx).Insert(do.ProjectSchedule{
ParentId: req.ConstructionId,
StartDate: req.StartDate,
EndDate: req.EndDate,
Name: req.Name,
PlaneNum: req.PlaneNum,
Types: 1,
})
liberr.ErrIsNil(ctx, err, "更新失败")
return
}
// 如果数据不存在,则添加
count, err := dao.ProjectSchedule.Ctx(ctx).Where(dao.ProjectSchedule.Columns().ParentId, req.ConstructionId).Count()
liberr.ErrIsNil(ctx, err, "查询失败")
if count == 0 {
_, err = dao.ProjectSchedule.Ctx(ctx).Insert(do.ProjectSchedule{
ParentId: req.ConstructionId,
StartDate: req.StartDate,
EndDate: req.EndDate,
Name: req.Name,
PlaneNum: req.PlaneNum,
Types: req.Types,
})
liberr.ErrIsNil(ctx, err, "添加失败")
} else {
// 如果数据存在,则更新
_, err = dao.ProjectSchedule.Ctx(ctx).Where(dao.ProjectSchedule.Columns().ParentId, req.ConstructionId).Update(do.ProjectSchedule{
ParentId: req.ConstructionId,
StartDate: req.StartDate,
EndDate: req.EndDate,
Name: req.Name,
PlaneNum: req.PlaneNum,
Types: req.Types,
})
liberr.ErrIsNil(ctx, err, "更新失败")
}
})
return
}

View File

@ -0,0 +1,224 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2024-03-23 10:25:39
// 生成路径: internal/app/system/controller/pv_ module.go
// 生成人gfast
// desc:光伏组件
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"path/filepath"
"strings"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/tiger1103/gfast/v3/api/v1/common/coryCommon"
"github.com/tiger1103/gfast/v3/api/v1/common/shp"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/xuri/excelize/v2"
)
type pvModuleController struct {
BaseController
}
var PvModule = new(pvModuleController)
// List 列表
func (c *pvModuleController) List(ctx context.Context, req *system.PvModuleSearchReq) (res *system.PvModuleSearchRes, err error) {
res, err = service.PvModule().List(ctx, req)
return
}
// Get 获取光伏组件
func (c *pvModuleController) Get(ctx context.Context, req *system.PvModuleGetReq) (res *system.PvModuleGetRes, err error) {
res = new(system.PvModuleGetRes)
res.PvModuleInfoRes, err = service.PvModule().GetById(ctx, req.Id)
return
}
// Add 添加光伏组件
func (c *pvModuleController) Add(ctx context.Context, req *system.PvModuleAddReq) (res *system.PvModuleAddRes, err error) {
err = service.PvModule().Add(ctx, req)
return
}
// Edit 修改光伏组件
func (c *pvModuleController) Edit(ctx context.Context, req *system.PvModuleEditReq) (res *system.PvModuleEditRes, err error) {
err = service.PvModule().Edit(ctx, req)
return
}
// Delete 删除光伏组件
func (c *pvModuleController) Delete(ctx context.Context, req *system.PvModuleDeleteReq) (res *system.PvModuleDeleteRes, err error) {
err = service.PvModule().Delete(ctx, req.Ids)
return
}
// Import 导入
func (c *pvModuleController) Import(ctx context.Context, req *system.PvModuleImportReq) (res *system.PvModuleImportRes, err error) {
err = service.PvModule().Import(ctx, req)
return
}
// 导入逆变器
func (c *pvModuleController) ImportInverter(ctx context.Context, req *system.PvModuleImportInverterReq) (res *system.PvModuleImportRes, err error) {
err = service.PvModule().ImportInverter(ctx, req)
return
}
// 导入光伏板
func (c *pvModuleController) ImportPvBoard(ctx context.Context, req *system.PvModuleImportPvBoardReq) (res *system.PvModuleImportRes, err error) {
err = service.PvModule().ImportPvBoard(ctx, req)
return
}
func (c *pvModuleController) AddWorkSchedule(ctx context.Context, req *system.PvModuleAddDailyReq) (res *system.PvModuleAddDailyRes, err error) {
err = service.PvModule().AddWorkSchedule(ctx, req)
return
}
// 获取日报
func (c *pvModuleController) GetWorkSchedule(ctx context.Context, req *system.PvModuleGetDailyReq) (res *system.PvModuleGetDailyRes, err error) {
return service.PvModule().GetDaily(ctx, req)
}
// 删除日报
func (c *pvModuleController) DeleteWorkSchedule(ctx context.Context, req *system.PvModuleDeleteDailyReq) (res *system.PvModuleDeleteDailyRes, err error) {
err = service.PvModule().DeleteDaily(ctx, req)
return
}
type Zhuangdian struct {
Position shp.Point `json:"position"`
}
func ProcessFiles(ctx context.Context, files []*ghttp.UploadFile) (*shp.ShpObj, error) {
var filePaths string
// 遍历请求中的所有文件
for _, file := range files {
// 保存文件后返回其路径
uploadedFilePath, err := coryCommon.UploadFile(ctx, file, coryCommon.LargeFileShp)
if err != nil {
return nil, err
}
// 将文件路径按"."分割成切片
filePathParts := strings.Split(uploadedFilePath, ".")
// 如果切片长度大于1将最后一个元素文件扩展名改为"shp"
if len(filePathParts) > 1 {
filePathParts[len(filePathParts)-1] = "shp"
}
// 将修改后的切片重新组合成文件路径,并将其添加到文件路径中
updatedFilePath := strings.Join(filePathParts, ".")
filePaths = updatedFilePath
}
err, shp := shp.ReadShp(filePaths)
if err != nil {
return nil, err
}
return shp, nil
}
// 上传 excel 为指定项目添加数据
func (c *pvModuleController) AddExcel(ctx context.Context, req *system.PvModuleAddExcelReq) (res *system.PvModuleAddExcelRes, err error) {
filePath, err := coryCommon.UploadFile(ctx, req.File, coryCommon.Temporary+"/")
if err != nil {
return nil, err
}
filePath = coryCommon.ResourcePublicToFunc(filepath.ToSlash(filePath), 2)
f, err := excelize.OpenFile(filePath)
if err != nil {
return nil, err
}
defer func(f *excelize.File) {
f.Close()
}(f)
type group struct {
Name string
MatrixNumber string
NominalTiltAngle string
}
rows, err := f.GetRows("方阵统计分析")
if err != nil {
return nil, err
}
groups := map[string][]group{}
for _, row := range rows[1:] {
// 方阵编号
matrixName := row[0]
// 标称倾角
nominalTiltAngle := row[2]
// 标称方位角
nominalAzimuthAngle := row[3]
if len(strings.Split(matrixName, ".")) != 3 {
continue
}
transName := strings.ReplaceAll(strings.Split(matrixName, ".")[0], "G", "T")
groups[transName] = append(groups[transName], group{
Name: matrixName,
MatrixNumber: nominalTiltAngle,
NominalTiltAngle: nominalAzimuthAngle,
})
}
// 根据子项目获取其所拥有的方阵
fangzhenList := []entity.QianqiFangzhen{}
if err := dao.QianqiFangzhen.Ctx(ctx).
Where(dao.QianqiFangzhen.Columns().ProjectId, req.SubProjectID).
Scan(&fangzhenList); err != nil {
return nil, err
}
// TODO: 统一更新具有相同标称倾角和标称方位角的名字
for i := 0; i < len(fangzhenList); i++ {
v := fangzhenList[i]
// 遍历方阵
for _, k := range groups[v.Name] {
dao.PvModule.Ctx(ctx).Where(dao.PvModule.Columns().SubProjectid, v.ProjectId).
Where(dao.PvModule.Columns().Name, k.Name).
Data(
g.Map{
dao.PvModule.Columns().Tilt: k.MatrixNumber,
dao.PvModule.Columns().Azimuth: k.NominalTiltAngle,
},
).Update()
}
}
return &system.PvModuleAddExcelRes{}, nil
}
// 为逆变器绑定设备ID
func (c *pvModuleController) BindInverterDeviceID(ctx context.Context, req *system.PvModuleBindDeviceIDReq) (*system.PvModuleBindDeviceIDRes, error) {
err := g.Try(ctx, func(ctx context.Context) {
_, err := dao.PvModule.Ctx(ctx).Where(dao.PvModule.Columns().Id, req.ID).
Data(g.Map{
dao.PvModule.Columns().DeviceId: req.DeviceID,
}).Update()
liberr.ErrIsNil(ctx, err, "添加失败")
})
liberr.ErrIsNil(ctx, err, "添加失败")
return &system.PvModuleBindDeviceIDRes{}, nil
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-31 11:44:41
// 生成路径: internal/app/system/controller/qianqi_bubantu.go
// 生成人gfast
// desc:布板图
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiBubantuController struct {
BaseController
}
var QianqiBubantu = new(qianqiBubantuController)
// List 列表
func (c *qianqiBubantuController) List(ctx context.Context, req *system.QianqiBubantuSearchReq) (res *system.QianqiBubantuSearchRes, err error) {
res, err = service.QianqiBubantu().List(ctx, req)
return
}
// Get 获取布板图
func (c *qianqiBubantuController) Get(ctx context.Context, req *system.QianqiBubantuGetReq) (res *system.QianqiBubantuGetRes, err error) {
res = new(system.QianqiBubantuGetRes)
res.QianqiBubantuInfoRes, err = service.QianqiBubantu().GetById(ctx, req.Id)
return
}
// Add 添加布板图
func (c *qianqiBubantuController) Add(ctx context.Context, req *system.QianqiBubantuAddReq) (res *system.QianqiBubantuAddRes, err error) {
err = service.QianqiBubantu().Add(ctx, req)
return
}
// Edit 修改布板图
func (c *qianqiBubantuController) Edit(ctx context.Context, req *system.QianqiBubantuEditReq) (res *system.QianqiBubantuEditRes, err error) {
err = service.QianqiBubantu().Edit(ctx, req)
return
}
// Delete 删除布板图
func (c *qianqiBubantuController) Delete(ctx context.Context, req *system.QianqiBubantuDeleteReq) (res *system.QianqiBubantuDeleteRes, err error) {
err = service.QianqiBubantu().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,65 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-30 22:37:34
// 生成路径: internal/app/system/controller/qianqi_camera.go
// 生成人gfast
// desc:摄像头
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiCameraController struct {
BaseController
}
var QianqiCamera = new(qianqiCameraController)
// List 列表
func (c *qianqiCameraController) List(ctx context.Context, req *system.QianqiCameraSearchReq) (res *system.QianqiCameraSearchRes, err error) {
res, err = service.QianqiCamera().List(ctx, req)
return
}
// Get 获取摄像头
func (c *qianqiCameraController) Get(ctx context.Context, req *system.QianqiCameraGetReq) (res *system.QianqiCameraGetRes, err error) {
res = new(system.QianqiCameraGetRes)
res.QianqiCameraInfoRes, err = service.QianqiCamera().GetById(ctx, req.Id)
return
}
// Add 添加摄像头
func (c *qianqiCameraController) Add(ctx context.Context, req *system.QianqiCameraAddReq) (res *system.QianqiCameraAddRes, err error) {
err = service.QianqiCamera().Add(ctx, req)
return
}
// EditCameraFunc 修改摄像头信息
func (c *qianqiCameraController) EditCameraFunc(ctx context.Context, req *system.EditCameraReq) (res *system.EditCameraRes, err error) {
err = service.QianqiCamera().EditCameraFunc(ctx, req)
return
}
// Edit 视频融合
func (c *qianqiCameraController) Edit(ctx context.Context, req *system.QianqiCameraEditReq) (res *system.QianqiCameraEditRes, err error) {
err = service.QianqiCamera().Edit(ctx, req)
return
}
// EditNameAndDetail 摄像头修改名称和坐标详情数据
func (c *qianqiCameraController) EditNameAndDetail(ctx context.Context, req *system.QianqiCameraEditNameAndDetailReq) (res *system.QianqiCameraEditNameAndDetailRes, err error) {
err = service.QianqiCamera().EditNameAndDetail(ctx, req)
return
}
// Delete 删除摄像头
func (c *qianqiCameraController) Delete(ctx context.Context, req *system.QianqiCameraDeleteReq) (res *system.QianqiCameraDeleteRes, err error) {
err = service.QianqiCamera().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-31 11:44:56
// 生成路径: internal/app/system/controller/qianqi_dixing.go
// 生成人gfast
// desc:地形
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiDixingController struct {
BaseController
}
var QianqiDixing = new(qianqiDixingController)
// List 列表
func (c *qianqiDixingController) List(ctx context.Context, req *system.QianqiDixingSearchReq) (res *system.QianqiDixingSearchRes, err error) {
res, err = service.QianqiDixing().List(ctx, req)
return
}
// Get 获取地形
func (c *qianqiDixingController) Get(ctx context.Context, req *system.QianqiDixingGetReq) (res *system.QianqiDixingGetRes, err error) {
res = new(system.QianqiDixingGetRes)
res.QianqiDixingInfoRes, err = service.QianqiDixing().GetById(ctx, req.Id)
return
}
// Add 添加地形
func (c *qianqiDixingController) Add(ctx context.Context, req *system.QianqiDixingAddReq) (res *system.QianqiDixingAddRes, err error) {
err = service.QianqiDixing().Add(ctx, req)
return
}
// Edit 修改地形
func (c *qianqiDixingController) Edit(ctx context.Context, req *system.QianqiDixingEditReq) (res *system.QianqiDixingEditRes, err error) {
err = service.QianqiDixing().Edit(ctx, req)
return
}
// Delete 删除地形
func (c *qianqiDixingController) Delete(ctx context.Context, req *system.QianqiDixingDeleteReq) (res *system.QianqiDixingDeleteRes, err error) {
err = service.QianqiDixing().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,801 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-31 11:20:54
// 生成路径: internal/app/system/controller/qianqi_fangzhen.go
// 生成人gfast
// desc:方阵
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"encoding/json"
"errors"
"fmt"
"github.com/gogf/gf/v2/crypto/gmd5"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"github.com/google/uuid"
"github.com/jinzhu/copier"
"github.com/tiger1103/gfast/v3/api/v1/common/shp"
tool2 "github.com/tiger1103/gfast/v3/api/v1/common/tool"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
"github.com/tiger1103/gfast/v3/internal/app/system/model"
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
"github.com/tiger1103/gfast/v3/library/liberr"
"github.com/tiger1103/gfast/v3/third/create"
tool "github.com/tiger1103/gfast/v3/utility/coryUtils"
"math/rand"
"os"
"os/exec"
"strconv"
"strings"
"time"
)
type qianqiDxfController struct {
BaseController
}
var QianqiDxf = new(qianqiDxfController)
func (c *qianqiDxfController) FzFunc(ctx context.Context, req *system.FzReq) (res *system.FzRes, err error) {
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
//1、获取数据
point := req.Point
plane := req.Plane
//2、合并名称
var listE []system.FacFeatureByPlane //面
for _, data := range plane {
adata := system.FacFeatureByPlane{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listE = append(listE, adata)
}
}
var listT []system.FacFeatureByPoint //点
for _, data := range point {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listT = append(listT, adata)
}
}
var templateDataList []do.WorkStatus
//3、循环判断坐标是否在点内
for _, i := range listE {
var minVal float64
var fzName string
for num, j := range listT {
inPolygon := tool.FanWei(i.Geometry.Coordinates[0], j.Geometry.Coordinates)
//如果为true说明在多边形内
if inPolygon {
//直接确认数据
fzName = j.Properties.Text //名字
} else {
distance := tool.PointToPolygonDistance(i.Geometry.Coordinates[0], j.Geometry.Coordinates)
fmt.Printf("点到多边形的最短距离(单位米):%.2f m\n", distance)
if num == 0 {
if len(listT) == 1 { //只有一个情况下直接赋值
minVal = distance
fzName = j.Properties.Text //名字
break
}
minVal = distance
fzName = j.Properties.Text //名字
} else {
if distance < minVal {
minVal = distance
fzName = j.Properties.Text //名字
}
}
}
}
//得到详情数据(方阵)
points := []shp.Point{}
for _, jwd := range i.Geometry.Coordinates[0] {
points = append(points, shp.Point{
Lng: jwd[0],
Lat: jwd[1],
})
}
polygon := shp.Polygon{
Positions: points,
}
marshal, err := json.Marshal(polygon)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
}
//分割名称
if fzName != "" {
fzName = strings.Split(fzName, " ")[0]
}
// 将方阵的名称 作为方阵的id
fangzhen, err := dao.QianqiFangzhen.Ctx(ctx).Insert(&do.QianqiFangzhen{
ProjectId: req.SubProjectId,
Name: fzName,
SourceId: tool2.GetUuid(),
CreateBy: ct.New().GetLoginUser(ctx).Id,
Detail: string(marshal),
})
templateID, err := fangzhen.LastInsertId()
if err != nil {
continue
}
templateData, err := create.FetchTemplateData(ctx, templateID)
if err != nil {
continue
}
templateDataList = append(templateDataList, templateData...)
}
_, err = dao.WorkStatus.Ctx(ctx).Data(templateDataList).Batch(50).Insert()
})
return err
})
return
}
func (c *qianqiDxfController) XbFunc(ctx context.Context, req *system.XbReq) (res *system.XbRes, err error) {
var xbList []shp.Polyline
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
/**
一、箱变的录入
*/
var listE []system.FacFeatureByPoint //面
for _, data := range req.Plane {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listE = append(listE, adata)
}
}
var listT []system.FacFeatureByPoint //点
for _, data := range req.Point {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listT = append(listT, adata)
}
}
var xiangbianArray []do.QianqiXiangbian
//3、循环判断坐标是否在点内
for _, i := range listE {
var minVal float64
var fzName string
for num, j := range listT {
distance := tool.PointToPointDistance(i.Geometry.Coordinates, j.Geometry.Coordinates)
if num == 0 {
if len(listT) == 1 { //只有一个情况下直接赋值
minVal = distance
fzName = j.Properties.Text //名字
break
}
minVal = distance
fzName = j.Properties.Text //名字
} else {
if distance < minVal {
minVal = distance
fzName = j.Properties.Text //名字
}
}
}
if fzName != "" {
fzName = strings.Split(fzName, " ")[0]
}
//得到详情数据(箱变)
points := []shp.Point{
{
Lng: i.Geometry.Coordinates[0],
Lat: i.Geometry.Coordinates[1],
Property: shp.Property{
Name: fzName,
},
},
}
polylines := shp.Polyline{
Positions: points,
Property: shp.Property{
Name: fzName,
},
}
xbList = append(xbList, polylines)
marshal, err := json.Marshal(polylines)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
}
xb := do.QianqiXiangbian{
ProjectId: req.SubProjectId,
SourceId: gmd5.MustEncryptString(req.ProjectId + fzName),
Name: fzName,
ModelId: "518bb3c165e22097ebbf2c2c42c8e308",
CreateBy: ct.New().GetLoginUser(ctx).Id,
Detail: string(marshal),
}
// 判断是否已经存在了该方阵,存在了就不再添加
count, _ := dao.QianqiXiangbian.Ctx(ctx).Where(dao.QianqiXiangbian.Columns().SourceId, xb.SourceId).Count()
if count == 0 {
xiangbianArray = append(xiangbianArray, xb)
}
}
if len(xiangbianArray) > 0 {
_, err = dao.QianqiXiangbian.Ctx(ctx).Insert(&xiangbianArray)
liberr.ErrIsNil(ctx, err, "添加失败")
}
/**
二、需要操作pvmodel
*/
if err == nil {
//1、获取当前项目的所有方阵然后判断箱变是否在方阵内或最近然后记录方阵id
var fzres []*model.QianqiFangzhenInfoRes
dao.QianqiFangzhen.Ctx(ctx).Where(dao.QianqiFangzhen.Columns().ProjectId, req.SubProjectId).Scan(&fzres)
for _, fz := range fzres {
var minVal float64
var fzId int
var data *shp.Polyline
// 解析JSON数据
var polygon shp.Polygon
err = json.Unmarshal([]byte(fz.Detail), &polygon)
array := tool.ConvertPolygonToFloatArray(polygon)
for num, xb := range xbList {
numbers := []float64{xb.Positions[0].Lng, xb.Positions[0].Lat}
wei := tool.FanWei(array, numbers)
//如果为true说明在多边形内
if wei {
fzId = fz.Id
data = &xb
} else {
distance := tool.PointToPolygonDistance(array, numbers)
if num == 0 {
if len(xbList) == 1 { //只有一个情况下直接赋值
minVal = distance
fzId = fz.Id
data = &xb
break
}
minVal = distance
fzId = fz.Id
data = &xb
} else {
if distance < minVal {
minVal = distance
fzId = fz.Id
data = &xb
}
}
}
}
if data != nil {
err := service.PvModule().ImportCory(ctx, &system.PvModuleImportCory{
FangZhenID: strconv.Itoa(fzId),
ProjectID: req.ProjectId,
SubProjectID: req.SubProjectId,
Shapes: &shp.ShpObj{
Polylines: []shp.Polyline{
*data,
},
},
})
liberr.ErrIsNil(ctx, err, "pvmodel箱变录入失败")
}
}
}
})
return err
})
return
}
func (c *qianqiDxfController) NbqFunc(ctx context.Context, req *system.NbqReq) (res *system.NbqRes, err error) {
var nbqList []shp.Polyline
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
/**
一、处理逆变器数据
*/
//1、获取数据
point := req.Point
plane := req.Plane
//2、合并名称
var listE []system.FacFeatureByPoint //面
for _, data := range plane {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listE = append(listE, adata)
}
}
var listT []system.FacFeatureByPoint //点
for _, data := range point {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listT = append(listT, adata)
}
}
var arr []do.QianqiNibianqi
//3、循环判断坐标是否在点内
for _, i := range listE {
var minVal float64
var fzName string
for num, j := range listT {
distance := tool.PointToPointDistance(i.Geometry.Coordinates, j.Geometry.Coordinates)
if num == 0 {
if len(listT) == 1 { //只有一个情况下直接赋值
minVal = distance
fzName = j.Properties.Text //名字
break
}
minVal = distance
fzName = j.Properties.Text //名字
} else {
if distance < minVal {
minVal = distance
fzName = j.Properties.Text //名字
}
}
//}
}
if fzName != "" {
fzName = strings.Split(fzName, " ")[0]
}
//得到详情数据(方阵)
points := []shp.Point{
{
Lng: i.Geometry.Coordinates[0],
Lat: i.Geometry.Coordinates[1],
Property: shp.Property{
Name: fzName,
},
},
}
polylines := shp.Polyline{
Positions: points,
Property: shp.Property{
Name: fzName,
},
}
nbqList = append(nbqList, polylines)
marshal, err := json.Marshal(polylines)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
}
nibianqi := do.QianqiNibianqi{}
nibianqi.ProjectId = req.SubProjectId
nibianqi.SourceId = gmd5.MustEncryptString(req.ProjectId + fzName)
nibianqi.Name = fzName
nibianqi.ModelId = "41b366a9bae250098716da675d3ae26d"
nibianqi.CreateBy = ct.New().GetLoginUser(ctx).Id
nibianqi.Detail = string(marshal)
// 判断是否已经存在了该方阵,存在了就不再添加
count, _ := dao.QianqiNibianqi.Ctx(ctx).Where(dao.QianqiNibianqi.Columns().SourceId, nibianqi.SourceId).Count()
if count == 0 {
arr = append(arr, nibianqi)
}
}
if len(arr) > 0 {
_, err = dao.QianqiNibianqi.Ctx(ctx).Insert(&arr)
liberr.ErrIsNil(ctx, err, "添加失败")
}
/**
二、进行pvmodel数据处理
*/
if err == nil {
//1、获取当前项目的所有方阵然后判断箱变是否在方阵内或最近然后记录方阵id
var fzres []*model.QianqiFangzhenInfoRes
dao.QianqiFangzhen.Ctx(ctx).Where(dao.QianqiFangzhen.Columns().ProjectId, req.SubProjectId).Scan(&fzres)
for _, fz := range fzres {
var minVal float64
var fzId int
var data *shp.Polyline
// 解析JSON数据
var polygon shp.Polygon
err = json.Unmarshal([]byte(fz.Detail), &polygon)
array := tool.ConvertPolygonToFloatArray(polygon)
for num, xb := range nbqList {
numbers := []float64{xb.Positions[0].Lng, xb.Positions[0].Lat}
wei := tool.FanWei(array, numbers)
//如果为true说明在多边形内
if wei {
fzId = fz.Id
} else {
distance := tool.PointToPolygonDistance(array, numbers)
if num == 0 {
if len(nbqList) == 1 { //只有一个情况下直接赋值
minVal = distance
fzId = fz.Id
data = &xb
break
}
minVal = distance
fzId = fz.Id
data = &xb
} else {
if distance < minVal {
minVal = distance
fzId = fz.Id
data = &xb
}
}
}
}
if data != nil {
err := service.PvModule().ImportInverterCory(ctx, &system.ImportInverterCory{
FangZhenID: strconv.Itoa(fzId),
ProjectID: req.ProjectId,
SubProjectID: req.SubProjectId,
Shapes: &shp.ShpObj{
Polylines: []shp.Polyline{
*data,
},
},
})
liberr.ErrIsNil(ctx, err, "pvmodel逆变器录入失败")
}
}
}
})
return err
})
return
}
func (c *qianqiDxfController) GfbFunc(ctx context.Context, req *system.GfbReq) (res *system.GfbRes, err error) {
err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
err = g.Try(ctx, func(ctx context.Context) {
var gfbList []shp.Polyline
var eles []do.QianqiGuangfubanIds
/**
一、处理光伏板数据
*/
//1、获取数据
point := req.Point
plane := req.Plane
//2、合并名称
var listE []system.FacFeatureByPlane //面
for _, data := range plane {
adata := system.FacFeatureByPlane{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listE = append(listE, adata)
}
}
var listT []system.FacFeatureByPoint //点
for _, data := range point {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listT = append(listT, adata)
}
}
//3、循环判断坐标是否在点内
for _, i := range listE {
var minVal float64
var fzName string
for num, j := range listT {
inPolygon := tool.FanWei(i.Geometry.Coordinates[0], j.Geometry.Coordinates)
//如果为true说明在多边形内
if inPolygon {
//直接确认数据
fzName = j.Properties.Text //名字
break
} else {
distance := tool.PointToPolygonDistance(i.Geometry.Coordinates[0], j.Geometry.Coordinates)
if num == 0 {
if len(listT) == 1 { //只有一个情况下直接赋值
minVal = distance
fzName = j.Properties.Text //名字
break
}
minVal = distance
fzName = j.Properties.Text //名字
} else {
if distance < minVal {
minVal = distance
fzName = j.Properties.Text //名字
}
}
}
}
if fzName != "" {
fzName = strings.Split(fzName, " ")[0]
}
//得到详情数据(方阵)
points := []shp.Point{}
for _, jwd := range i.Geometry.Coordinates[0] {
points = append(points, shp.Point{
Lng: jwd[0],
Lat: jwd[1],
Property: shp.Property{
Name: fzName,
},
})
}
polylines := shp.Polyline{
Positions: points,
Property: shp.Property{
Name: fzName,
},
}
gfbList = append(gfbList, polylines)
marshal, err := json.Marshal(polylines)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
}
//===================
if !strings.HasPrefix(fzName, "G") {
continue
}
// 设置随机数种子
rand.Seed(time.Now().UnixNano())
randomNum := rand.Intn(6) + 1
randomStr1 := strconv.Itoa(randomNum)
ele := do.QianqiGuangfubanIds{
Name: fzName,
DevType: "1",
CreateBy: ct.New().GetLoginUser(ctx).Id,
SourceType: "guangfuban",
SourceId: tool2.GetUuid() + randomStr1,
ProjectId: req.SubProjectId,
Range: string(marshal),
}
eles = append(eles, ele)
if len(eles) > 500 {
dao.QianqiGuangfubanIds.Ctx(ctx).Insert(eles)
eles = []do.QianqiGuangfubanIds{}
}
}
/**
二、进行pvmodel数据处理
*/
if err == nil {
//1、获取当前项目的所有方阵然后判断箱变是否在方阵内或最近然后记录方阵id
fzres := []entity.QianqiFangzhen{}
queryErr := dao.QianqiFangzhen.Ctx(ctx).
Where(dao.QianqiFangzhen.Columns().ProjectId, req.SubProjectId).
Scan(&fzres)
if queryErr != nil {
liberr.ErrIsNil(ctx, queryErr, "方阵获取失败")
return
}
for _, fz := range fzres {
var data []shp.Polyline
// 解析JSON数据
var polygon shp.Polygon
err = json.Unmarshal([]byte(fz.Detail), &polygon)
array := tool.ConvertPolygonToFloatArray(polygon)
for _, xb := range gfbList {
numbers := []float64{xb.Positions[0].Lng, xb.Positions[0].Lat}
wei := tool.FanWei(array, numbers)
//如果为true说明在多边形内
if wei {
polyline := shp.Polyline{}
polyline = xb
data = append(data, polyline)
}
}
if data != nil {
err := service.PvModule().ImportPvBoardCory(ctx, &system.ImportPvBoardCory{
FangZhenID: strconv.Itoa(fz.Id),
ProjectID: req.ProjectId,
SubProjectID: req.SubProjectId,
Shapes: &shp.ShpObj{
Polylines: data,
},
Fangzhens: fzres,
})
liberr.ErrIsNil(ctx, err, "pvmodel光伏板录入失败")
}
}
}
})
return err
})
return
}
// 传入 point 构建出 detail 和 SourceID
func buildDetailAndSourceID(point shp.Point, name string) (string, string) {
// 生成 SourceID
sourceID := fmt.Sprintf("%s.%s", point.Name, strings.ReplaceAll(uuid.New().String(), "-", ""))
detail := Zhuangdian{
Position: point,
}
detail.Position.SourceId = sourceID
// 序列化后传回
data, err := json.Marshal(detail)
if err != nil {
return "", ""
}
return string(data), sourceID
}
func (c *qianqiDxfController) ZhuangDianFunc(ctx context.Context, req *system.ZdReq) (res *system.ZdRes, err error) {
//1、获取数据
plane := req.Plane
//2、合并名称
var listE []system.FacFeatureByPoint //面
for _, data := range plane {
adata := system.FacFeatureByPoint{}
for _, bdata := range data.Features {
copier.Copy(&adata, &bdata)
listE = append(listE, adata)
}
}
//3-1、获取到所有的方阵、光伏板,获取到方阵id根布版图绑定
fzres := []entity.QianqiFangzhen{}
queryErr := dao.QianqiFangzhen.Ctx(ctx).
Where(dao.QianqiFangzhen.Columns().ProjectId, req.SubProjectid).
Scan(&fzres)
if queryErr != nil {
liberr.ErrIsNil(ctx, queryErr, "方阵获取失败")
return
}
columns := dao.QianqiGuangfubanIds.Columns()
var resData []*model.QianqiGuangfubanIdsInfoRes
dao.QianqiGuangfubanIds.Ctx(ctx).Where(columns.ProjectId, req.SubProjectid).Scan(&resData)
if resData == nil && len(resData) == 0 {
liberr.ErrIsNil(ctx, errors.New("光伏板获取失败"))
return
}
for i, datum := range resData {
//布版图
var polygon1 shp.Polygon
err = json.Unmarshal([]byte(datum.Range), &polygon1)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
return
}
f64 := []float64{polygon1.Positions[0].Lng, polygon1.Positions[0].Lat}
for _, fzre := range fzres { //方阵
//解析JSON数据
var polygon shp.Polygon
err = json.Unmarshal([]byte(fzre.Detail), &polygon)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
return
}
array2 := tool.ConvertPolygonToFloatArray(polygon)
if tool.FanWei(array2, f64) {
resData[i].FzId = fzre.Id
}
}
}
//3-2、获取布版图
if resData != nil && len(resData) > 0 {
insertList := []do.QianqiGuangfubanIdsZhuangdian{}
for _, i := range resData { //面
num := 0
r := i.Range
// 解析JSON数据
var polygon shp.Polygon
err = json.Unmarshal([]byte(r), &polygon)
if err != nil {
return nil, err
}
//判断点是否在多边形内
array := tool.ConvertPolygonToFloatArray(polygon)
for _, j := range listE { //坐标点()
inPolygon := tool.FanWei(array, j.Geometry.Coordinates)
if inPolygon {
num = num + 1
// 调用 buildDetailAndSourceID 生成 detail 和 SourceID
pointcory := shp.Point{
Lng: j.Geometry.Coordinates[0],
Lat: j.Geometry.Coordinates[1],
Property: shp.Property{
Name: j.Geometry.Type,
},
}
_, sourceID := buildDetailAndSourceID(pointcory, j.Geometry.Type)
points := []shp.Point{pointcory}
polylines := shp.Polyline{Positions: points}
marshal, err := json.Marshal(polylines)
if err != nil {
liberr.ErrIsNil(ctx, err, "详情获取失败")
}
zhuangdian := do.QianqiGuangfubanIdsZhuangdian{
Name: i.Name + "." + strconv.Itoa(num),
SourceId: sourceID,
ProjectId: req.ProjectId,
Status: "0",
Detail: marshal,
SubProjectid: req.SubProjectid,
FangzhenId: i.FzId,
}
insertList = append(insertList, zhuangdian)
}
}
}
if len(insertList) > 0 {
batchNumber := 700
_, err = dao.QianqiGuangfubanIdsZhuangdian.Ctx(ctx).Batch(batchNumber).Insert(&insertList)
liberr.ErrIsNil(ctx, err, "光伏板插入失败")
_, err = dao.QianqiGuangfubanIdsLizhu.Ctx(ctx).Batch(batchNumber).Insert(&insertList)
liberr.ErrIsNil(ctx, err, "立柱插入失败")
_, err = dao.QianqiGuangfubanIdsZhijia.Ctx(ctx).Batch(batchNumber).Insert(&insertList)
liberr.ErrIsNil(ctx, err, "支架失败")
}
}
return
}
func (c *qianqiDxfController) DxfGet(ctx context.Context, req *system.DxfGetReq) (res *system.DxfGetRes, err error) {
// 定义 exe <DXF文件的绝对路径><结果 JS0N 文件的绝对路径><源 EPSG 代码><目标 EPSG 代码>
cmd := exec.Command("E:\\cory\\project\\go\\zmkgC\\resource\\public\\zmFiles\\pythonDxf.exe",
"E:\\cory\\project\\go\\zmkgC\\resource\\public\\zmFiles\\b93ba1d7008247a79503e8a80fe1de62.dxf",
"E:\\cory\\project\\go\\zmkgC\\resource\\public\\zmFiles\\nr.json",
"4524",
"4326",
)
// 执行并获取输出
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("执行出错:", err)
}
fmt.Println("输出内容:", string(output))
return
}
func (c *qianqiDxfController) DxfData(ctx context.Context, req *system.DxfDataReq) (res *system.DxfDataRes, err error) {
res = &system.DxfDataRes{}
err = g.Try(ctx, func(ctx context.Context) {
// 指定要读取的JSON文件路径
filePath := "E:\\cory\\project\\go\\zmkgC\\resource\\public\\zmFiles\\nr.json"
// 读取文件内容
data, err := os.ReadFile(filePath)
if err != nil {
liberr.ErrIsNil(ctx, err, "读取失败")
}
// 用于存储解析后的JSON数据
var result map[string]interface{}
// 解析JSON数据
if err := json.Unmarshal(data, &result); err != nil {
liberr.ErrIsNil(ctx, err, "解析JSON失败")
}
res.Map = result
})
return
}
//
//func FanWei(mian [][]float64, dian [][]float64) bool {
//
// // 定义多边形范围 (经纬度点的顺序很重要,需要闭合:首尾点相同)
// polygon := orb.Polygon{
// {
// {106.518314, 29.627223}, // 起始位置
// {106.519419, 29.627223},
// {106.518238, 29.626399},
// {106.519491, 29.626435},
// {106.518314, 29.627223}, // 回到起始
// },
// }
// // 目标点
// point := orb.Point{106.518907, 29.626458} // 假设是一个经纬度点
//
// // 判断点是否在多边形内
// if planar.PolygonContains(polygon, point) {
// fmt.Println("点在多边形范围内")
// return true
// } else {
// fmt.Println("点不在多边形范围内")
// return false
// }
//}

View File

@ -0,0 +1,65 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-31 11:20:54
// 生成路径: internal/app/system/controller/qianqi_fangzhen.go
// 生成人gfast
// desc:方阵
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiFangzhenController struct {
BaseController
}
var QianqiFangzhen = new(qianqiFangzhenController)
// List 列表
func (c *qianqiFangzhenController) List(ctx context.Context, req *system.QianqiFangzhenSearchReq) (res *system.QianqiFangzhenSearchRes, err error) {
res, err = service.QianqiFangzhen().List(ctx, req)
return
}
// Get 获取方阵
func (c *qianqiFangzhenController) Get(ctx context.Context, req *system.QianqiFangzhenGetReq) (res *system.QianqiFangzhenGetRes, err error) {
res = new(system.QianqiFangzhenGetRes)
res.QianqiFangzhenInfoRes, err = service.QianqiFangzhen().GetById(ctx, req.Id)
return
}
// Add 添加方阵
func (c *qianqiFangzhenController) Add(ctx context.Context, req *system.QianqiFangzhenAddReq) (res *system.QianqiFangzhenAddRes, err error) {
err = service.QianqiFangzhen().Add(ctx, req)
return
}
// Edit 修改方阵
func (c *qianqiFangzhenController) Edit(ctx context.Context, req *system.QianqiFangzhenEditReq) (res *system.QianqiFangzhenEditRes, err error) {
err = service.QianqiFangzhen().Edit(ctx, req)
return
}
// Delete 删除方阵
func (c *qianqiFangzhenController) Delete(ctx context.Context, req *system.QianqiFangzhenDeleteReq) (res *system.QianqiFangzhenDeleteRes, err error) {
err = service.QianqiFangzhen().Delete(ctx, req.Ids)
return
}
func (c *qianqiFangzhenController) EditDetail(ctx context.Context, req *system.QianqiFangzhenEditDetailReq) (res *system.QianqiFangzhenEditDetailRes, err error) {
err = service.QianqiFangzhen().EditDetail(ctx, req)
return
}
// 传入方阵的主键ID 并将其 ViewName 更新到表中
func (c *qianqiFangzhenController) UpdateViewName(ctx context.Context, req *system.QianqiFangzhenUpdateViewNameReq) (res *system.QianqiFangzhenUpdateViewNameRes, err error) {
err = service.QianqiFangzhen().UpdateViewName(ctx, req)
return
}

View File

@ -0,0 +1,79 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-07-31 11:31:49
// 生成路径: internal/app/system/controller/qianqi_guangfuban.go
// 生成人gfast
// desc:光伏板模型
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiGuangfubanController struct {
BaseController
}
var QianqiGuangfuban = new(qianqiGuangfubanController)
// List 列表
func (c *qianqiGuangfubanController) List(ctx context.Context, req *system.QianqiGuangfubanSearchReq) (res *system.QianqiGuangfubanSearchRes, err error) {
res, err = service.QianqiGuangfuban().List(ctx, req)
return
}
// Get 获取光伏板模型
func (c *qianqiGuangfubanController) Get(ctx context.Context, req *system.QianqiGuangfubanGetReq) (res *system.QianqiGuangfubanGetRes, err error) {
res = new(system.QianqiGuangfubanGetRes)
res.QianqiGuangfubanInfoRes, err = service.QianqiGuangfuban().GetById(ctx, req.Id)
return
}
// Add 添加光伏板模型
func (c *qianqiGuangfubanController) Add(ctx context.Context, req *system.QianqiGuangfubanAddReq) (res *system.QianqiGuangfubanAddRes, err error) {
err = service.QianqiGuangfuban().Add(ctx, req)
return
}
// Edit 修改光伏板模型
func (c *qianqiGuangfubanController) Edit(ctx context.Context, req *system.QianqiGuangfubanEditReq) (res *system.QianqiGuangfubanEditRes, err error) {
err = service.QianqiGuangfuban().Edit(ctx, req)
return
}
// Delete 删除光伏板模型
func (c *qianqiGuangfubanController) Delete(ctx context.Context, req *system.QianqiGuangfubanDeleteReq) (res *system.QianqiGuangfubanDeleteRes, err error) {
err = service.QianqiGuangfuban().Delete(ctx, req.SourceIDs)
return
}
// QianqiGuangfubanImportZuchuan
func (c *qianqiGuangfubanController) QianqiGuangfubanImportZuchuan(ctx context.Context, req *system.QianqiGuangfubanImportZuchuanReq) (res *system.QianqiGuangfubanImportZuchuanRes, err error) {
err = service.QianqiGuangfuban().ImportZuchuan(ctx, req)
return
}
// QianqiGuangfubanCalZuchuan
func (c *qianqiGuangfubanController) QianqiGuangfubanCalZuchuan(ctx context.Context, req *system.QianqiGuangfubanCalZuchuanReq) (res *system.QianqiGuangfubanCalZuchuanRes, err error) {
err = service.QianqiGuangfuban().CaculateZuchuan(ctx, req)
return
}
// CorrectFunc 光伏板数据纠正
func (c *qianqiGuangfubanController) CorrectFunc(ctx context.Context, req *system.CorrectFuncReq) (res *system.CorrectFuncRes, err error) {
err = service.QianqiGuangfuban().CorrectFunc(ctx, req)
return
}
// CorrectQueryFunc 光伏板数据纠正查询
func (c *qianqiGuangfubanController) CorrectQueryFunc(ctx context.Context, req *system.CorrectQueryFuncReq) (res *system.CorrectQueryFuncRes, err error) {
res = new(system.CorrectQueryFuncRes)
queryFunc, err := service.QianqiGuangfuban().CorrectQueryFunc(ctx, req)
res = queryFunc
return
}

View File

@ -0,0 +1,53 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-08-05 16:00:23
// 生成路径: internal/app/system/controller/qianqi_guangfuban_ids.go
// 生成人gfast
// desc:光伏板模型的id
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiGuangfubanIdsController struct {
BaseController
}
var QianqiGuangfubanIds = new(qianqiGuangfubanIdsController)
// List 列表
func (c *qianqiGuangfubanIdsController) List(ctx context.Context, req *system.QianqiGuangfubanIdsSearchReq) (res *system.QianqiGuangfubanIdsSearchRes, err error) {
res, err = service.QianqiGuangfubanIds().List(ctx, req)
return
}
// Get 获取光伏板模型的id
func (c *qianqiGuangfubanIdsController) Get(ctx context.Context, req *system.QianqiGuangfubanIdsGetReq) (res *system.QianqiGuangfubanIdsGetRes, err error) {
res = new(system.QianqiGuangfubanIdsGetRes)
res, err = service.QianqiGuangfubanIds().GetById(ctx, req)
return
}
// Add 添加光伏板模型的id
func (c *qianqiGuangfubanIdsController) Add(ctx context.Context, req *system.QianqiGuangfubanIdsAddReq) (res *system.QianqiGuangfubanIdsAddRes, err error) {
err = service.QianqiGuangfubanIds().Add(ctx, req)
return
}
// Edit 修改光伏板模型的id
func (c *qianqiGuangfubanIdsController) Edit(ctx context.Context, req *system.QianqiGuangfubanIdsEditReq) (res *system.QianqiGuangfubanIdsEditRes, err error) {
err = service.QianqiGuangfubanIds().Edit(ctx, req)
return
}
// Delete 删除光伏板模型的id
func (c *qianqiGuangfubanIdsController) Delete(ctx context.Context, req *system.QianqiGuangfubanIdsDeleteReq) (res *system.QianqiGuangfubanIdsDeleteRes, err error) {
err = service.QianqiGuangfubanIds().Delete(ctx, req.Ids)
return
}

View File

@ -0,0 +1,72 @@
// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期2023-09-05 12:10:40
// 生成路径: internal/app/system/controller/qianqi_guangfuban_ids_lizhu.go
// 生成人gfast
// desc:光伏板立柱
// company:云南奇讯科技有限公司
// ==========================================================================
package controller
import (
"context"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
type qianqiGuangfubanIdsLizhuController struct {
BaseController
}
var QianqiGuangfubanIdsLizhu = new(qianqiGuangfubanIdsLizhuController)
// FlowListFunc 流程图列表
// func (c *qianqiGuangfubanIdsLizhuController) FlowListFunc(ctx context.Context, req *system.FlowListReq) (res *system.GisListLizhuRes, err error) {
// res, err = service.QianqiGuangfubanIdsLizhu().GisListFunc(ctx, req, "2")
// return
// }
// GisListFunc GIS云图列表
func (c *qianqiGuangfubanIdsLizhuController) GisListFunc(ctx context.Context, req *system.GisListLizhuReq) (res *system.GisListLizhuRes, err error) {
res, err = service.QianqiGuangfubanIdsLizhu().GisListFunc(ctx, req, "1")
return
}
// List 列表
func (c *qianqiGuangfubanIdsLizhuController) List(ctx context.Context, req *system.QianqiGuangfubanIdsLizhuSearchReq) (res *system.QianqiGuangfubanIdsLizhuSearchRes, err error) {
res, err = service.QianqiGuangfubanIdsLizhu().List(ctx, req)
return
}
// Get 获取光伏板立柱
func (c *qianqiGuangfubanIdsLizhuController) Get(ctx context.Context, req *system.QianqiGuangfubanIdsLizhuGetReq) (res *system.QianqiGuangfubanIdsLizhuGetRes, err error) {
res = new(system.QianqiGuangfubanIdsLizhuGetRes)
res.QianqiGuangfubanIdsLizhuInfoRes, err = service.QianqiGuangfubanIdsLizhu().GetById(ctx, req.Id)
return
}
// Add 添加光伏板立柱
func (c *qianqiGuangfubanIdsLizhuController) Add(ctx context.Context, req *system.QianqiGuangfubanIdsLizhuAddReq) (res *system.QianqiGuangfubanIdsLizhuAddRes, err error) {
err = service.QianqiGuangfubanIdsLizhu().Add(ctx, req)
return
}
// Edit 修改光伏板立柱
func (c *qianqiGuangfubanIdsLizhuController) Edit(ctx context.Context, req *system.QianqiGuangfubanIdsLizhuEditReq) (res *system.QianqiGuangfubanIdsLizhuEditRes, err error) {
err = service.QianqiGuangfubanIdsLizhu().Edit(ctx, req)
return
}
// Delete 删除光伏板立柱
func (c *qianqiGuangfubanIdsLizhuController) Delete(ctx context.Context, req *system.QianqiGuangfubanIdsLizhuDeleteReq) (res *system.QianqiGuangfubanIdsLizhuDeleteRes, err error) {
err = service.QianqiGuangfubanIdsLizhu().Delete(ctx, req.Ids)
return
}
// BooleanValueFunc 对立柱高度进行加减
func (c *qianqiGuangfubanIdsLizhuController) BooleanValueFunc(ctx context.Context, req *system.BooleanValueEditReq) (res *system.BooleanValueEditRes, err error) {
err = service.QianqiGuangfubanIdsLizhu().BooleanValueFunc(ctx, req)
return
}

Some files were not shown because too many files have changed in this diff Show More