// ========================================================================== // 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"` }