Files
zmkgC/internal/app/system/model/plan_week.go
2025-07-07 20:11:59 +08:00

228 lines
9.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

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

// ==========================================================================
// GFast自动生成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"`
}