Files
zmkgC/internal/app/system/model/plan_week.go

228 lines
9.4 KiB
Go
Raw Normal View History

2025-07-07 20:11:59 +08:00
// ==========================================================================
// GFast自动生成model操作代码。
// 生成日期2023-08-04 17:26:59
// 生成路径: internal/app/system/model/plan_week.go
// 生成人gfast
// desc:周计划
// company:云南奇讯科技有限公司
// ==========================================================================
package model
import (
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/gmeta"
"strings"
)
// PlanWeekNameStr word的工程进度需要展示的数据
const PlanWeekNameStr = "zhuangdian, lizhu, zhijia, guangfuban, nibianqi, xiangbian, jidianxianlu"
// 声明一个 progressOfWorksNum 类型
type progressOfWorksNum int
// 枚举
const (
zhuangdian = iota
lizhu
zhijia
guangfuban
nibianqi
xiangbian
jidianxianlu
)
// NameFunc 实现 progressOfWorksNum 类型的 ---->名称
func (p progressOfWorksNum) NameFunc() string {
return [...]string{"桩点浇筑", "立柱安装", "支架安装", "组件安装", "逆变器安装", "箱变安装", "集电线路"}[p]
}
// UnitFunc 实现 progressOfWorksNum 类型的 ---->单位
func (p progressOfWorksNum) UnitFunc() string {
return [...]string{"个", "根", "组", "组", "个", "个", "迷"}[p]
}
func PlanWeekEnum(str string) (name string, unit string) {
arrCount := strings.Split(PlanWeekNameStr, ", ")
var num int
switch str {
case arrCount[0]:
num = zhuangdian
case arrCount[1]:
num = lizhu
case arrCount[2]:
num = zhijia
case arrCount[3]:
num = guangfuban
case arrCount[4]:
num = nibianqi
case arrCount[5]:
num = xiangbian
case arrCount[6]:
num = jidianxianlu
}
var pown = progressOfWorksNum(num)
name = pown.NameFunc()
unit = pown.UnitFunc()
return
}
// PlanWeekInfoRes is the golang structure for table plan_week.
type PlanWeekInfoRes struct {
gmeta.Meta `orm:"table:plan_week"`
Id int `orm:"id,primary" json:"id"` //
ProjectId string `orm:"project_id" json:"projectId"` // 项目id
SourceId string `orm:"source_id" json:"sourceId"` // 资源id
Name string `orm:"name" json:"name"` // 资源名称
Start string `orm:"start" json:"start"` // 开始时间
End string `orm:"end" json:"end"` // 结束时间
PlanName string `orm:"plan_name" json:"planName"` // 计划名称
PlanId string `orm:"plan_id" json:"planId"` // 周id
CreateBy string `orm:"create_by" json:"createBy"` //
UpdateBy string `orm:"update_by" json:"updateBy"` //
CreateAt *gtime.Time `orm:"create_at" json:"createAt"` //
UpdateAt *gtime.Time `orm:"update_at" json:"updateAt"` //
DeletedAt *gtime.Time `orm:"deleted_at" json:"deletedAt"` //
Table string `orm:"table" json:"table"` // source_id的数据对应的数据表
Status int `orm:"status" json:"status"` // 工作状态0未开始1进行中2已完成
SourceType string `orm:"source_type" json:"source_type"`
Cnt int `orm:"cnt" json:"cnt" v:"资源数量"`
StatusTwo int `orm:"statusTwo" json:"statusTwo" v:"工作状态0未开始1进行中2已完成"`
}
/*
type PlanWeekListRes struct{
Id int `json:"id"`
ProjectId string `json:"projectId"`
SourceId string `json:"sourceId"`
Name string `json:"name"`
Start string `json:"start"`
End string `json:"end"`
PlanName string `json:"planName"`
PlanId string `json:"planId"`
CreateBy string `json:"createBy"`
UpdateBy string `json:"updateBy"`
CreateAt *gtime.Time `json:"createAt"`
UpdateAt *gtime.Time `json:"updateAt"`
Table string `json:"table"`
Status int `json:"status"`
}
*/
type PlanWeekListRes struct {
Week_plan
}
type Task struct {
SourceId string `json:"sourceId" v:"required#资源id不能为空"`
Name string `json:"name" v:"required#资源名称不能为空"`
Table string `json:"table" v:"source_id的数据对应的数据表不能为空"`
Status int `json:"status" v:"工作状态0未开始1进行中2已完成不能为空"`
SourceType string `json:"source_type" v:"资源类型"`
Cnt int `json:"cnt" v:"资源数量"`
}
type Week_plan struct {
ProjectId string `json:"projectId" v:"#项目id不能为空"`
Start string `json:"start" v:"#开始时间不能为空"`
End string `json:"end" v:"#结束时间不能为空"`
PlanName string `json:"planName" v:"#计划名称不能为空"`
PlanID string `json:"planId" `
Status int `json:"status" v:"工作状态0未开始1进行中2已完成不能为空"`
Tasks []Task `json:"tasks" `
}
// ProgressOfWorksListRes 工程进度统计(代表一个周计划)
type ProgressOfWorksListRes struct {
WeekName string `json:"weekName" dc:"周计划名字"`
ProjectName string `json:"projectName" dc:"主题:项目名称"`
Logo string `json:"logo" dc:"logo"`
WeekOrMonth string `json:"weekOrMonth" dc:"副标题:周报/月报" `
WeekOrMonthTime string `json:"weekOrMonthTime" dc:"日期(周报开始结束日期/月报最小最大日期)"`
TextOne string `json:"textOne" dc:"固定文字《中煤科工重庆设计研究院(集团)有限公司》"`
TextTwo string `json:"textTwo" dc:"固定文字《******项目EPC总承包项目部》"`
GeneratedTime string `json:"generatedTime" dc:"生成日期"`
POWRList []*ProgressOfWorksRes `json:"powrList" dc:"一、工程进度列表"`
ManpowerText string `json:"manpowerText" dc:"二、人力资源"`
MechanicalText string `json:"mechanicalText" dc:"三、机械情况"`
MIRList []*MaterialInputRes `json:"miRList" dc:"四、材料投入情况"`
Quality *QualitySituationRes `json:"quality" dc:"五、质量情况"`
Polling *FieldInspectionRes `json:"polling" dc:"六、现场巡检照片"`
}
// ProgressOfWorksRes 工程进度统计(一个周计划有很多工程进度)
type ProgressOfWorksRes struct {
Name string `json:"name" dc:"名称"`
Unit string `json:"unit" dc:"单位"`
DesignTotal int64 `json:"design_total" dc:"设计总量"`
PlanNum int `json:"planNum" dc:"本周计划统计"`
RealityNum int `json:"realityNum" dc:"本周实际统计"`
AddUp int `json:"addUp" dc:"累积完成"`
Percentage float64 `json:"percentage" dc:"累计完成百分比"`
}
// ManpowerRes 人力资源
type ManpowerRes struct {
DictLabel string `json:"dictLabel"`
Num int `json:"num"`
}
// MechanicalRes 机械情况
type MechanicalRes struct {
Name string `json:"num"`
Num int `json:"num"`
}
// MaterialInputRes 材料投入
type MaterialInputRes struct {
Name string `json:"name" dc:"材料名称"`
SumNum int `json:"sumNum" dc:"总数量(材料入库的总数)"`
UseNum int `json:"useNum" dc:"当前时间段使用的数量"`
Weight int `json:"weight" dc:"单位"`
}
// QualitySituationRes 质量情况One
type QualitySituationRes struct {
ExamineList []*QualitySituationTwoRes `json:"examineList" dc:"质量检查、检查整改"`
InspectList []*QualitySituationTwoRes `json:"inspectList" dc:"送检"`
}
// QualitySituationTwoRes 质量情况Two
type QualitySituationTwoRes struct {
CreatedAt string `json:"createdAt" dc:"创建时间"`
QualityName string `json:"qualityName" dc:"质量检查名称"`
QualityExplain string `json:"qualityExplain" dc:"质量说明"`
QualityDocument string `json:"QualityDocument" dc:"质量检查文件"`
QualitType string `json:"qualityType" dc:"质量类型(1,送检,2质量检查,3检查整改)"`
IsQualified string `json:"isQualified" dc:"是否合格(文字描述,条件文件不为空)"`
TextStr string `json:"TextStr" dc:"纯文本(将以上字段数据组装)"`
}
// FieldInspectionRes 现场巡检照片
type FieldInspectionRes struct {
QualityList []*FieldInspectionResTwoRes `json:"qualityList" dc:"质量管理"`
SafetyList []*FieldInspectionResTwoRes `json:"safetyList" dc:"安全管理"`
}
// FieldInspectionResTwoRes 现场巡检照片Two
type FieldInspectionResTwoRes struct {
PollingName string `json:"pollingName" dc:"名称"`
QualityType string `json:"qualityType" dc:"质量类型 1,送检,2质量检查,3检查整改"`
SafetyType string `json:"safetyType" dc:"安全类型 1,例会,2检查,3整改,4站例会"`
Document string `json:"document" dc:"文件内容json格式前端用不上"`
//PollingImg []*comModel.UpFile `json:"pollingImg" dc:"图片"`
PollingImg string `json:"pollingImg" dc:"图片"`
}
// DataAssemblyRequest 数据组装请求结构体
type DataAssemblyRequest struct {
ArrCount []string `json:"arrCount" dc:"限制-字符串数组"`
ArrCountStr string `json:"arrCountStr" dc:"限制-字符串"`
PlanId string `json:"planId" dc:"周计划ID"`
ProjectId int64 `json:"projectId" dc:"项目ID"`
TypeStr string `json:"typeStr" dc:"导出类型"`
Start string `json:"start" dc:"开始时间"`
End string `json:"end" dc:"结束时间"`
WeekName string `json:"weekName" dc:"项目名称"`
PlanIds string `json:"planIds" dc:"多个项目id"`
DesignTotal int64 `json:"designTotal" dc:"多个项目id"`
}