|
@@ -4,7 +4,9 @@ import (
|
|
|
"ColdVerify_server/conf"
|
|
|
"ColdVerify_server/lib"
|
|
|
"ColdVerify_server/logs"
|
|
|
+ "ColdVerify_server/models/InfoCollection"
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"fmt"
|
|
|
"github.com/astaxie/beego/cache"
|
|
|
"github.com/beego/beego/v2/adapter/orm"
|
|
@@ -13,39 +15,142 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
+var (
|
|
|
+ TaskSchemeStateWaitSubmit = 0 // 待提交
|
|
|
+ TaskSchemeStateSubmitted = 5 // 已提交
|
|
|
+ TaskSchemeStateClientPass = 1 // 已通过(客户)
|
|
|
+ TaskSchemeStateClientReturn = 2 // 已退回(客户)
|
|
|
+ TaskSchemeStatePass = 3 // 已通过(负责人)
|
|
|
+ TaskSchemeStateReturn = 4 // 已退回(负责人)
|
|
|
+ TaskSchemeStateMap = map[int]string{
|
|
|
+ TaskSchemeStateWaitSubmit: "待提交",
|
|
|
+ TaskSchemeStateSubmitted: "已提交",
|
|
|
+ TaskSchemeStateClientPass: "已通过(客户)",
|
|
|
+ TaskSchemeStateClientReturn: "已退回(客户)",
|
|
|
+ TaskSchemeStatePass: "已通过(负责人)",
|
|
|
+ TaskSchemeStateReturn: "已退回(负责人)",
|
|
|
+ }
|
|
|
+
|
|
|
+ // 0 未完成 1 数据来源已完成 2 处理中 3 已采集-无数据 4-数据编辑已完成(已提交) 5已通过(报告负责人) 6已退回(报告负责人)
|
|
|
+ TaskCollectionStateWaitSubmit = 0 // 待提交
|
|
|
+ TaskCollectionStateFinish = 1 // 已完成
|
|
|
+ TaskCollectionStateInProgress = 2 // 处理中
|
|
|
+ TaskCollectionStateNoData = 3 // 已采集-无数据
|
|
|
+ TaskCollectionStateSubmitted = 4 // 已提交
|
|
|
+ TaskCollectionStatePass = 5 // 已通过(负责人)
|
|
|
+ TaskCollectionStateReturn = 6 // 已退回(负责人)
|
|
|
+ TaskCollectionStateMap = map[int]string{
|
|
|
+ TaskCollectionStateWaitSubmit: "待提交",
|
|
|
+ TaskCollectionStateFinish: "已完成",
|
|
|
+ TaskCollectionStateInProgress: "处理中",
|
|
|
+ TaskCollectionStateNoData: "已采集-无数据",
|
|
|
+ TaskCollectionStateSubmitted: "数据编辑已完成",
|
|
|
+ TaskCollectionStatePass: "已通过(负责人)",
|
|
|
+ TaskCollectionStateReturn: "已退回(负责人)",
|
|
|
+ }
|
|
|
+
|
|
|
+ TaskReportingStateWaitSubmit = 0 // 待提交
|
|
|
+ TaskReportingStateSubmitted = 5 // 已提交
|
|
|
+ TaskReportingStateClientPass = 1 // 已通过(客户)
|
|
|
+ TaskReportingStateClientReturn = 2 // 已退回(客户)
|
|
|
+ TaskReportingStatePass = 3 // 已通过(负责人)
|
|
|
+ TaskReportingStateReturn = 4 // 已退回(负责人)
|
|
|
+ TaskReportingStateMap = map[int]string{
|
|
|
+ TaskReportingStateWaitSubmit: "待提交",
|
|
|
+ TaskReportingStateSubmitted: "已提交",
|
|
|
+ TaskReportingStateClientPass: "已通过(客户)",
|
|
|
+ TaskReportingStateClientReturn: "已退回(客户)",
|
|
|
+ TaskReportingStatePass: "已通过(负责人)",
|
|
|
+ TaskReportingStateReturn: "已退回(负责人)",
|
|
|
+ }
|
|
|
+
|
|
|
+ TaskDeliveryStateUnfinished = 0 // 未完成
|
|
|
+ TaskDeliveryStateFinished = 1 // 已完成
|
|
|
+ TaskDeliveryStateGoing = 2 // 进行中
|
|
|
+ TaskDeliveryStateMap = map[int]string{
|
|
|
+ TaskDeliveryStateUnfinished: "未完成",
|
|
|
+ TaskDeliveryStateFinished: "已完成",
|
|
|
+ TaskDeliveryStateGoing: "处理中",
|
|
|
+ }
|
|
|
+
|
|
|
+ TaskMarkingStateUnfinished = 0 // 未完成
|
|
|
+ TaskMarkingStateFinished = 1 // 已完成
|
|
|
+ TaskMarkingStateMap = map[int]string{
|
|
|
+ TaskMarkingStateUnfinished: "未完成",
|
|
|
+ TaskMarkingStateFinished: "已完成",
|
|
|
+ }
|
|
|
+)
|
|
|
+
|
|
|
+var (
|
|
|
+ TaskSchemeTimeLimit = map[string]float64{
|
|
|
+ "LC": 60, // LC-冷藏车
|
|
|
+ "XT": 30, // XT-系统
|
|
|
+ "WZ": 80, // WZ-位置
|
|
|
+ "LK": 60, // LK-冷库
|
|
|
+ "LG": 30, // LG-冷柜
|
|
|
+ "BWX": 30, // BWX-保温箱
|
|
|
+ }
|
|
|
+
|
|
|
+ TaskReportingTimeLimit = map[string]float64{
|
|
|
+ "LC": 300, // LC-冷藏车
|
|
|
+ "XT": 300, // XT-系统
|
|
|
+ "WZ": 240, // WZ-位置
|
|
|
+ "LK": 360, // LK-冷库
|
|
|
+ "LG": 180, // LG-冷柜
|
|
|
+ "BWX": 180, // BWX-保温箱
|
|
|
+ }
|
|
|
+
|
|
|
+ TaskCollectionTimeLimit float64 = 7 * 24 * 60
|
|
|
+)
|
|
|
+
|
|
|
+type AuditRecord struct {
|
|
|
+ T_uuid string `orm:"size(256);null"` // 提交人(客户)UUID
|
|
|
+ T_uuid_name string `orm:"size(256);null"` // 提交人名称
|
|
|
+ T_admin string `orm:"size(256);null"` // 提交人(报告负责人)UUID
|
|
|
+ T_admin_name string `orm:"size(256);null"` // 提交人名称
|
|
|
+ T_state int `orm:"size(2);default(0)"` // 状态 1 已完成(客户通过) 2已退回(客户) 3已通过(报告负责人) 4已退回(报告负责人) 5已提交
|
|
|
+ T_reason string `orm:"type(text)"` // 原因
|
|
|
+ T_time string `orm:"type(256)"` // 时间
|
|
|
+ T_type string `orm:"type(256)"` // 退回类型 scheme方案 reporting报告
|
|
|
+}
|
|
|
+
|
|
|
// 模板
|
|
|
type Task struct {
|
|
|
- Id int `orm:"column(ID);size(11);auto;pk"`
|
|
|
- T_class int `orm:"size(200);default(0)"` // 分类id
|
|
|
- T_InfoCollection_id string `orm:"size(256);null"` // 信息采集ID
|
|
|
- T_task_id string `orm:"size(256);null"` // 任务ID
|
|
|
- T_uuid string `orm:"size(256);null"` // 用户 UUID
|
|
|
- T_name string `orm:"size(256);null"` // 标题
|
|
|
- T_VerifyTemplate_class string `orm:"size(256);null"` // 模板id
|
|
|
- T_VerifyTemplate_id string `orm:"size(256);null"` // 模板id
|
|
|
- T_deadline string `orm:"size(256);null"` // 截止时间
|
|
|
- T_scheme string `orm:"size(256);null"` // 实施方案 负责人UUID
|
|
|
- T_collection string `orm:"size(256);null"` // 数据采集 负责人UUID
|
|
|
- T_reporting string `orm:"size(256);null"` // 报告编写 负责人UUID
|
|
|
- T_delivery string `orm:"size(256);null"` // 交付审核 负责人UUID
|
|
|
- T_scheme_state int `orm:"size(2);default(0)"` // 实施方案 状态 0 未完成 1 已完成
|
|
|
- T_collection_state int `orm:"size(2);default(0)"` // 数据采集 状态 0 未完成 1 数据来源已完成 2 处理中 3 已采集-无数据 4-数据编辑已完成
|
|
|
- T_reporting_state int `orm:"size(2);default(0)"` // 报告编写 状态 0 未完成 1 已完成
|
|
|
- T_delivery_state int `orm:"size(2);default(0)"` // 交付审核 状态 0 未完成 1 已完成 2 处理中
|
|
|
- T_marking_state int `orm:"size(2);default(0)"` // 验证标识 状态 0 未完成 1 已完成
|
|
|
+ Id int `orm:"column(ID);size(11);auto;pk"`
|
|
|
+ T_class int `orm:"size(200);default(0)"` // 分类id
|
|
|
+ T_InfoCollection_id string `orm:"size(256);null"` // 信息采集ID
|
|
|
+ T_InfoTemplate_id string `orm:"size(256);null"` // 信息采集模板ID
|
|
|
+
|
|
|
+ T_task_id string `orm:"size(256);null"` // 任务ID
|
|
|
+ T_uuid string `orm:"size(256);null"` // 用户 UUID
|
|
|
+ T_name string `orm:"size(256);null"` // 标题
|
|
|
+ T_VerifyTemplate_class string `orm:"size(256);null"` // 模板id
|
|
|
+ T_VerifyTemplate_id string `orm:"size(256);null"` // 模板id
|
|
|
+ T_deadline string `orm:"size(256);null"` // 截止时间
|
|
|
+ T_scheme string `orm:"size(256);null"` // 实施方案 负责人UUID
|
|
|
+ T_collection string `orm:"size(256);null"` // 数据采集 负责人UUID
|
|
|
+ T_reporting string `orm:"size(256);null"` // 报告编写 负责人UUID
|
|
|
+ T_delivery string `orm:"size(256);null"` // 交付审核 负责人UUID
|
|
|
+ T_scheme_state int `orm:"size(2);default(0)"` // 实施方案 状态 0 未完成 1 已完成(客户通过) 2已退回(客户) 3已通过(负责人) 4已退回(负责人) 5已提交
|
|
|
+ T_collection_state int `orm:"size(2);default(0)"` // 数据采集 状态 0 未完成 1 数据来源已完成 2 处理中 3 已采集-无数据 4-数据编辑已完成(已提交) 5已通过(负责人) 6已退回(负责人)
|
|
|
+ T_reporting_state int `orm:"size(2);default(0)"` // 报告编写 状态 0 未完成 1 已完成(客户通过) 2已退回(客户) 3已通过(负责人) 4已退回(负责人) 5已提交
|
|
|
+ T_delivery_state int `orm:"size(2);default(0)"` // 交付审核 状态 0 未完成 1 已完成 2 处理中
|
|
|
+ T_marking_state int `orm:"size(2);default(0)"` // 验证标识 状态 0 未完成 1 已完成
|
|
|
|
|
|
T_VerifyDeviceDataStartTime string `orm:"size(256);null"` // 验证设备数据开始时间
|
|
|
T_VerifyDeviceDataEndTime string `orm:"size(256);null"` // 验证设备数据开始时间
|
|
|
T_BindDeviceDataStartTime string `orm:"size(256);null"` // 绑定设备数据开始时间
|
|
|
T_BindDeviceDataEndTime string `orm:"size(256);null"` // 绑定设备数据结束时间
|
|
|
|
|
|
- T_doc1 string `orm:"type(text);null"` // 封面
|
|
|
- T_pdf1 string `orm:"type(text);null"` // 封面
|
|
|
- T_doc2 string `orm:"type(text);null"` // 报告
|
|
|
- T_pdf2 string `orm:"type(text);null"` // 报告
|
|
|
- T_doc3 string `orm:"type(text);null"` // 证书
|
|
|
- T_pdf3 string `orm:"type(text);null"` // 证书
|
|
|
- T_pdf4 string `orm:"type(text);null"` // 验证标识
|
|
|
+ T_doc1 string `orm:"type(text);null"` // 封面
|
|
|
+ T_pdf1 string `orm:"type(text);null"` // 验证方案
|
|
|
+ T_pdf1_watermark string `orm:"type(text);null"` // 验证方案 带水印
|
|
|
+ T_doc2 string `orm:"type(text);null"` // 报告
|
|
|
+ T_pdf2 string `orm:"type(text);null"` // 验证报告
|
|
|
+ T_pdf2_watermark string `orm:"type(text);null"` // 验证报告 带水印
|
|
|
+ T_doc3 string `orm:"type(text);null"` // 证书
|
|
|
+ T_pdf3 string `orm:"type(text);null"` // 证书
|
|
|
+ T_pdf4 string `orm:"type(text);null"` // 验证标识
|
|
|
|
|
|
T_Show int `orm:"size(2);default(1)"` // 0 隐藏 1 公开
|
|
|
T_Visit int `orm:"size(200);default(0)"` // 浏览量
|
|
@@ -56,71 +161,216 @@ type Task struct {
|
|
|
T_sn string `orm:"size(256);null"` // sn
|
|
|
T_CalibrationExpirationTime string `orm:"size(256);null"` // 校准到期时间
|
|
|
|
|
|
+ T_project string `orm:"size(256);null"` // 项目 负责人UUID
|
|
|
+ T_province string `orm:"size(256);null"` // 省
|
|
|
+ T_city string `orm:"size(256);null"` // 市
|
|
|
+ T_district string `orm:"size(256);null"` // 区
|
|
|
+ T_province_code string `orm:"size(256);null"` // 省 code
|
|
|
+ T_city_code string `orm:"size(256);null"` // 市 code
|
|
|
+ T_district_code string `orm:"size(256);null"` // 区 code
|
|
|
+ T_category string `orm:"size(256);null"` // 类别
|
|
|
+ T_device_type string `orm:"size(256);null"` // 设备类型
|
|
|
+ T_volume string `orm:"size(256);null"` // 规格/容积
|
|
|
+ T_verify_type string `orm:"size(256);null"` // 验证类型
|
|
|
+ T_subject_matter string `orm:"size(256);null"` // 标的物名称
|
|
|
+ T_temp_range string `orm:"size(256);null"` // 验证温度范围
|
|
|
+ T_report_number string `orm:"size(256);null"` // 报告编号
|
|
|
+ T_report_type string `orm:"size(256);null"` // 报告类型
|
|
|
+
|
|
|
+ T_start_time string `orm:"size(256);null"` // 项目开始时间
|
|
|
+ T_end_time string `orm:"size(256);null"` // 结束时间 报告审核通过时间
|
|
|
+ T_time_interval float64 `orm:"size(256);null"` // 时间间隔 单位分钟
|
|
|
+ T_reject_times int `orm:"size(256);null"` // 驳回次数 客户退回方案和报告时
|
|
|
+ T_reject_record string `orm:"type(text)"` // 驳回记录
|
|
|
+
|
|
|
+ // 方案
|
|
|
+ T_scheme_start_time string `orm:"size(256);null"` // 验证方案开始时间 接收信息采集表的时间
|
|
|
+ T_scheme_end_time string `orm:"size(256);null"` // 验证方案结束时间 负责人审核通过后最后一次上传时间
|
|
|
+ T_scheme_time_interval float64 `orm:"size(256);null"` // 时间间隔 单位分钟
|
|
|
+ T_scheme_overtime float64 `orm:"size(256);null"` // 验证方案超时时间 单位分钟
|
|
|
+ T_scheme_signature string `orm:"type(text)"` // 验证方案客户签字确认图片
|
|
|
+ T_scheme_return_times int `orm:"size(256);null"` // 验证方案退回次数
|
|
|
+ T_scheme_audit_record string `orm:"type(text)"` // 验证方案审核记录
|
|
|
+
|
|
|
+ // 实施
|
|
|
+ T_enter_area_time string `orm:"size(256);null"` // 进场时间
|
|
|
+ T_collection_start_time string `orm:"size(256);null"` // 实施开始时间(app开始验证时间)
|
|
|
+ T_collection_end_time string `orm:"size(256);null"` // 实施结束时间 (审核通过后签字确认提交时间)
|
|
|
+ T_collection_time_interval float64 `orm:"size(256);null"` // 时间间隔 单位分钟
|
|
|
+ T_collection_overtime float64 `orm:"size(256);null"` // 实施超时时间 单位分钟
|
|
|
+ T_collection_signature string `orm:"type(text)"` // 实施人员签字确认图片
|
|
|
+ T_collection_return_times int `orm:"size(256);null"` // 实施方案退回次数
|
|
|
+ T_collection_audit_record string `orm:"type(text);null"` // 实施方案审核记录
|
|
|
+
|
|
|
+ // 报告
|
|
|
+ T_reporting_start_time string `orm:"size(256);null"` // 验证报告开始时间 接收信息采集表的时间
|
|
|
+ T_reporting_end_time string `orm:"size(256);null"` // 验证报告结束时间 负责人审核通过后最后一次上传时间
|
|
|
+ T_reporting_time_interval float64 `orm:"size(256);null"` // 时间间隔 单位分钟
|
|
|
+ T_reporting_overtime float64 `orm:"size(256);null"` // 验证报告超时时间 单位分钟
|
|
|
+ T_reporting_signature string `orm:"type(text)"` // 验证报告客户签字确认图片
|
|
|
+ T_reporting_return_times int `orm:"size(256);null"` // 验证报告退回次数
|
|
|
+ T_reporting_audit_record string `orm:"type(text);null"` // 验证报告审核记录
|
|
|
+
|
|
|
CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
|
|
|
UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` //auto_now 每次 model 保存时都会对时间自动更新
|
|
|
}
|
|
|
|
|
|
-type Task_R struct {
|
|
|
- T_InfoCollection_id string // 信息采集id
|
|
|
- T_task_id string // id
|
|
|
- T_name string // 标题
|
|
|
- T_doc1 string // 封面
|
|
|
- T_pdf1 string // 封面
|
|
|
- T_doc2 string // 报告
|
|
|
- T_pdf2 string // 报告
|
|
|
- T_doc3 string // 证书
|
|
|
- T_pdf3 string // 证书
|
|
|
- T_Show int // 公开/隐藏
|
|
|
- T_Visit int // 浏览量
|
|
|
- T_State int // 0 1
|
|
|
- T_scheme_state int // 实施方案 状态 0 未完成 1 已完成
|
|
|
- T_collection_state int // 数据采集 状态 0 未完成 1 已完成
|
|
|
- T_reporting_state int // 报告编写 状态 0 未完成 1 已完成
|
|
|
- T_delivery_state int // 交付审核 状态 0 未完成 1 已完成
|
|
|
- T_VerifyDeviceDataTime [2]string // 验证设备数据开始-结束时间
|
|
|
- T_BindDeviceDataTime [2]string // 绑定设备数据开始-结束时间
|
|
|
- T_sn string // sn
|
|
|
- T_CalibrationExpirationTime string // 校准到期时间
|
|
|
- CreateTime string
|
|
|
- UpdateTime string
|
|
|
+type Task_ struct {
|
|
|
+ Id int
|
|
|
+ T_class int // 分类ID
|
|
|
+ T_InfoCollection_id string // 信息采集ID
|
|
|
+ T_task_id string // 任务ID
|
|
|
+ T_uuid string // 用户 UUID
|
|
|
+ T_user_name string // 用户 UUID
|
|
|
+ T_name string // 标题
|
|
|
+ T_VerifyTemplate_class string // 任务模板id
|
|
|
+ T_VerifyTemplate_id string // 任务模板id
|
|
|
+ T_deadline string // 截止时间
|
|
|
+ T_scheme string // 实施方案 负责人UUID
|
|
|
+ T_collection string // 数据采集 负责人UUID
|
|
|
+ T_reporting string // 报告编写 负责人UUID
|
|
|
+ T_delivery string // 交付审核 负责人UUID
|
|
|
+ T_scheme_state int // 实施方案 状态 0 未完成 1 已完成(客户通过) 2已退回(客户) 3已通过(负责人) 4已退回(负责人) 5已提交
|
|
|
+ T_collection_state int // 数据采集 状态 0 未完成 1 数据来源已完成 2 处理中 3 已采集-无数据 4-数据编辑已完成(已提交) 5已通过(负责人) 6已退回(负责人)
|
|
|
+ T_reporting_state int // 报告编写 状态 0 未完成 1 已完成(客户通过) 2已退回(客户) 3已通过(负责人) 4已退回(负责人) 5已提交
|
|
|
+ T_delivery_state int // 交付审核 状态 0 未完成 1 已完成 2 处理中
|
|
|
+ T_marking_state int // 验证标识 状态 0 未完成 1 已完成
|
|
|
+ T_scheme_state_str string // 实施方案 状态 字符串
|
|
|
+ T_collection_state_str string // 数据采集 状态 字符串
|
|
|
+ T_reporting_state_str string // 报告编写 状态 字符串
|
|
|
+ T_delivery_state_str string // 交付审核 状态 字符串
|
|
|
+ T_marking_state_str string // 验证标识 状态 字符串
|
|
|
+ T_scheme_name string // 实施方案 负责人姓名
|
|
|
+ T_collection_name string // 数据采集 负责人姓名
|
|
|
+ T_reporting_name string // 报告编写 负责人姓名
|
|
|
+ T_delivery_name string // 交付审核 负责人姓名
|
|
|
+ T_VerifyDeviceDataTime [2]string // 验证设备数据开始-结束时间
|
|
|
+ T_BindDeviceDataTime [2]string // 绑定设备数据开始-结束时间
|
|
|
+ T_doc1 string // 封面
|
|
|
+ T_pdf1 string // 验证方案
|
|
|
+ T_doc2 string // 报告
|
|
|
+ T_pdf2 string // 报告
|
|
|
+ T_doc3 string // 证书
|
|
|
+ T_pdf3 string // 证书
|
|
|
+ T_pdf4 string // 验证标识
|
|
|
+
|
|
|
+ T_Show int // 0 公开 1 隐藏
|
|
|
+ T_Visit int // 浏览量
|
|
|
+ T_State int // 0 删除 1 正常
|
|
|
+ T_sn string // sn
|
|
|
+ T_CalibrationExpirationTime string // 校准到期时间
|
|
|
+
|
|
|
+ T_province string // 省
|
|
|
+ T_city string // 市
|
|
|
+ T_district string // 区
|
|
|
+ T_area []string // 省市区
|
|
|
+ T_province_code string // 省 code
|
|
|
+ T_city_code string // 市 code
|
|
|
+ T_district_code string // 区 code
|
|
|
+ T_area_code []string // 省市区
|
|
|
+ InfoCollection InfoCollection.InfoCollection //信息采集
|
|
|
+
|
|
|
}
|
|
|
|
|
|
-type Task_ struct {
|
|
|
- Id int
|
|
|
- T_class int // 分类ID
|
|
|
- T_InfoCollection_id string // 信息采集ID
|
|
|
- T_task_id string // 任务ID
|
|
|
- T_uuid string // 用户 UUID
|
|
|
- T_user_name string // 用户 UUID
|
|
|
- T_name string // 标题
|
|
|
- T_VerifyTemplate_class string // 任务模板id
|
|
|
- T_VerifyTemplate_id string // 任务模板id
|
|
|
- T_deadline string // 截止时间
|
|
|
- T_scheme string // 实施方案 负责人UUID
|
|
|
- T_collection string // 数据采集 负责人UUID
|
|
|
- T_reporting string // 报告编写 负责人UUID
|
|
|
- T_delivery string // 交付审核 负责人UUID
|
|
|
- T_scheme_state int // 实施方案 状态 0 未完成 1 已完成
|
|
|
- T_collection_state int // 数据采集 状态 0 未完成 1 已完成
|
|
|
- T_reporting_state int // 报告编写 状态 0 未完成 1 已完成
|
|
|
- T_delivery_state int // 交付审核 状态 0 未完成 1 已完成
|
|
|
- T_scheme_name string // 实施方案 负责人姓名
|
|
|
- T_collection_name string // 数据采集 负责人姓名
|
|
|
- T_reporting_name string // 报告编写 负责人姓名
|
|
|
- T_delivery_name string // 交付审核 负责人姓名
|
|
|
- T_VerifyDeviceDataTime [2]string // 验证设备数据开始-结束时间
|
|
|
- T_BindDeviceDataTime [2]string // 绑定设备数据开始-结束时间
|
|
|
- T_doc1 string // 封面
|
|
|
- T_pdf1 string // 封面
|
|
|
- T_doc2 string // 报告
|
|
|
- T_pdf2 string // 报告
|
|
|
- T_doc3 string // 证书
|
|
|
- T_pdf3 string // 证书
|
|
|
- T_Show int // 0 公开 1 隐藏
|
|
|
- T_Visit int // 浏览量
|
|
|
- T_State int // 0 删除 1 正常
|
|
|
- T_sn string // sn
|
|
|
- T_CalibrationExpirationTime string // 校准到期时间
|
|
|
+type Task_Stat struct {
|
|
|
+ Id int
|
|
|
+ T_class int // 分类ID
|
|
|
+ T_InfoCollection_id string // 信息采集ID
|
|
|
+ T_InfoTemplate_id string // 信息采集模板ID
|
|
|
+
|
|
|
+ T_task_id string // 任务ID
|
|
|
+ T_uuid string // 用户 UUID
|
|
|
+ T_user_name string // 用户 UUID
|
|
|
+ T_name string // 标题
|
|
|
+ T_VerifyTemplate_class string // 任务模板id
|
|
|
+ T_VerifyTemplate_id string // 任务模板id
|
|
|
+ T_deadline string // 截止时间
|
|
|
+ T_scheme string // 实施方案 负责人UUID
|
|
|
+ T_collection string // 数据采集 负责人UUID
|
|
|
+ T_reporting string // 报告编写 负责人UUID
|
|
|
+ T_delivery string // 交付审核 负责人UUID
|
|
|
+ T_scheme_state int // 实施方案 状态 0 未完成 1 已完成(客户通过) 2已退回(客户) 3已通过(负责人) 4已退回(负责人) 5已提交
|
|
|
+ T_collection_state int // 数据采集 状态 0 未完成 1 数据来源已完成 2 处理中 3 已采集-无数据 4-数据编辑已完成(已提交) 5已通过(负责人) 6已退回(负责人)
|
|
|
+ T_reporting_state int // 报告编写 状态 0 未完成 1 已完成(客户通过) 2已退回(客户) 3已通过(负责人) 4已退回(负责人) 5已提交
|
|
|
+ T_delivery_state int // 交付审核 状态 0 未完成 1 已完成 2 处理中
|
|
|
+ T_marking_state int // 验证标识 状态 0 未完成 1 已完成
|
|
|
+ T_scheme_state_str string // 实施方案 状态 字符串
|
|
|
+ T_collection_state_str string // 数据采集 状态 字符串
|
|
|
+ T_reporting_state_str string // 报告编写 状态 字符串
|
|
|
+ T_delivery_state_str string // 交付审核 状态 字符串
|
|
|
+ T_marking_state_str string // 验证标识 状态 字符串
|
|
|
+ T_scheme_name string // 实施方案 负责人姓名
|
|
|
+ T_collection_name string // 数据采集 负责人姓名
|
|
|
+ T_reporting_name string // 报告编写 负责人姓名
|
|
|
+ T_delivery_name string // 交付审核 负责人姓名
|
|
|
+
|
|
|
+ T_VerifyDeviceDataTime [2]string // 验证设备数据开始-结束时间
|
|
|
+ T_BindDeviceDataTime [2]string // 绑定设备数据开始-结束时间
|
|
|
+
|
|
|
+ T_doc1 string // 封面
|
|
|
+ T_pdf1 string // 验证方案
|
|
|
+ T_doc2 string // 报告
|
|
|
+ T_pdf2 string // 报告
|
|
|
+ T_doc3 string // 证书
|
|
|
+ T_pdf3 string // 证书
|
|
|
+ T_pdf4 string // 验证标识
|
|
|
+
|
|
|
+ T_Show int // 0 公开 1 隐藏
|
|
|
+ T_Visit int // 浏览量
|
|
|
+ T_State int // 0 删除 1 正常
|
|
|
+ T_sn string // sn
|
|
|
+ T_CalibrationExpirationTime string // 校准到期时间
|
|
|
+
|
|
|
+ T_project string // 项目 负责人UUID
|
|
|
+ T_project_name string // 项目 负责人姓名
|
|
|
+ T_province string // 省
|
|
|
+ T_city string // 市
|
|
|
+ T_district string // 区
|
|
|
+ T_area []string // 省市区
|
|
|
+ T_province_code string // 省 code
|
|
|
+ T_city_code string // 市 code
|
|
|
+ T_district_code string // 区 code
|
|
|
+ T_area_code []string // 省市区
|
|
|
+ T_category string // 类别
|
|
|
+ T_device_type string // 设备类型
|
|
|
+ T_volume string // 规格/容积
|
|
|
+ T_verify_type string // 验证类型
|
|
|
+ T_subject_matter string // 标的物名称
|
|
|
+ T_temp_range string // 验证温度范围
|
|
|
+ T_report_number string // 报告编号
|
|
|
+ T_report_type string // 报告类型
|
|
|
+ T_start_time string // 项目开始时间
|
|
|
+ T_end_time string // 结束时间 报告审核通过时间
|
|
|
+ T_time_interval string // 时间间隔 单位分钟
|
|
|
+ T_reject_times int // 驳回次数 客户退回方案和报告时
|
|
|
+ T_reject_record string // 驳回记录
|
|
|
+ // 方案
|
|
|
+ T_scheme_start_time string // 验证方案开始时间 接收信息采集表的时间
|
|
|
+ T_scheme_end_time string // 验证方案结束时间
|
|
|
+ T_scheme_time_interval string // 时间间隔 单位分钟
|
|
|
+ T_scheme_overtime string // 验证方案超时时间 单位分钟
|
|
|
+ T_scheme_signature string // 验证方案客户签字确认图片
|
|
|
+ T_scheme_return_times int // 验证方案退回次数
|
|
|
+ T_scheme_audit_record string // 验证方案审核记录
|
|
|
+ // 实施
|
|
|
+ T_enter_area_time string // 进场时间
|
|
|
+ T_collection_start_time string // 实施开始时间(app开始验证时间)
|
|
|
+ T_collection_end_time string // 实施结束时间 (签字确认提交时间)
|
|
|
+ T_collection_time_interval string // 时间间隔 单位分钟
|
|
|
+ T_collection_overtime string // 实施超时时间 单位分钟
|
|
|
+ T_collection_signature string // 实施人员签字确认图片
|
|
|
+ T_collection_return_times int // 实施方案退回次数
|
|
|
+ T_collection_audit_record string // 实施方案审核记录
|
|
|
+ // 报告
|
|
|
+ T_reporting_start_time string // 验证报告开始时间 接收信息采集表的时间
|
|
|
+ T_reporting_end_time string // 验证报告结束时间
|
|
|
+ T_reporting_time_interval string // 时间间隔 单位分钟
|
|
|
+ T_reporting_overtime string // 验证报告超时时间 单位分钟
|
|
|
+ T_reporting_signature string // 验证报告客户签字确认图片
|
|
|
+ T_reporting_return_times int // 验证报告退回次数
|
|
|
+ T_reporting_audit_record string // 验证报告审核记录
|
|
|
+ InfoCollection InfoCollection.InfoCollection_R //信息菜鸡
|
|
|
+
|
|
|
}
|
|
|
|
|
|
func (t *Task) TableName() string {
|
|
@@ -146,39 +396,15 @@ func init() {
|
|
|
}
|
|
|
|
|
|
// -------------------------------------------------------------
|
|
|
-func TaskToTask_R(T Task) (T_r Task_R) {
|
|
|
- T_r.T_InfoCollection_id = T.T_InfoCollection_id
|
|
|
- T_r.T_task_id = T.T_task_id
|
|
|
- T_r.T_name = T.T_name
|
|
|
- T_r.T_doc1 = T.T_doc1
|
|
|
- T_r.T_pdf1 = T.T_pdf1
|
|
|
- T_r.T_doc2 = T.T_doc2
|
|
|
- T_r.T_pdf2 = T.T_pdf2
|
|
|
- T_r.T_doc3 = T.T_doc3
|
|
|
- T_r.T_pdf3 = T.T_pdf3
|
|
|
- T_r.T_Show = T.T_Show
|
|
|
- T_r.T_State = T.T_State
|
|
|
- T_r.T_Visit = T.T_Visit
|
|
|
- T_r.T_scheme_state = T.T_scheme_state
|
|
|
- T_r.T_collection_state = T.T_collection_state
|
|
|
- T_r.T_reporting_state = T.T_reporting_state
|
|
|
- T_r.T_delivery_state = T.T_delivery_state
|
|
|
- T_r.T_VerifyDeviceDataTime = [2]string{T.T_VerifyDeviceDataStartTime, T.T_VerifyDeviceDataEndTime}
|
|
|
- T_r.T_BindDeviceDataTime = [2]string{T.T_BindDeviceDataStartTime, T.T_BindDeviceDataEndTime}
|
|
|
- T_r.UpdateTime = T.UpdateTime.Format("2006-01-02 15:04:05")
|
|
|
- T_r.CreateTime = T.CreateTime.Format("2006-01-02 15:04:05")
|
|
|
-
|
|
|
- T_r.T_sn = T.T_sn
|
|
|
- T_r.T_CalibrationExpirationTime = T.T_CalibrationExpirationTime
|
|
|
-
|
|
|
- //......
|
|
|
- return T_r
|
|
|
-}
|
|
|
|
|
|
func TaskToTask_(T Task, userMap, adminMap map[string]string) (T_ Task_) {
|
|
|
T_.Id = T.Id
|
|
|
T_.T_class = T.T_class
|
|
|
T_.T_InfoCollection_id = T.T_InfoCollection_id
|
|
|
+ if len(T.T_InfoCollection_id) > 0 {
|
|
|
+ T_.InfoCollection, _ = InfoCollection.Read_InfoCollection(T.T_InfoCollection_id)
|
|
|
+ }
|
|
|
+
|
|
|
T_.T_task_id = T.T_task_id
|
|
|
T_.T_uuid = T.T_uuid
|
|
|
T_.T_user_name = userMap[T.T_uuid]
|
|
@@ -194,6 +420,12 @@ func TaskToTask_(T Task, userMap, adminMap map[string]string) (T_ Task_) {
|
|
|
T_.T_collection_state = T.T_collection_state
|
|
|
T_.T_reporting_state = T.T_reporting_state
|
|
|
T_.T_delivery_state = T.T_delivery_state
|
|
|
+ T_.T_marking_state = T.T_marking_state
|
|
|
+ T_.T_scheme_state_str = TaskSchemeStateMap[T.T_scheme_state]
|
|
|
+ T_.T_collection_state_str = TaskCollectionStateMap[T.T_collection_state]
|
|
|
+ T_.T_reporting_state_str = TaskReportingStateMap[T.T_reporting_state]
|
|
|
+ T_.T_delivery_state_str = TaskDeliveryStateMap[T.T_delivery_state]
|
|
|
+ T_.T_marking_state_str = TaskMarkingStateMap[T.T_marking_state]
|
|
|
T_.T_scheme_name = adminMap[T.T_scheme]
|
|
|
T_.T_collection_name = adminMap[T.T_collection]
|
|
|
T_.T_reporting_name = adminMap[T.T_reporting]
|
|
@@ -201,11 +433,19 @@ func TaskToTask_(T Task, userMap, adminMap map[string]string) (T_ Task_) {
|
|
|
T_.T_VerifyDeviceDataTime = [2]string{T.T_VerifyDeviceDataStartTime, T.T_VerifyDeviceDataEndTime}
|
|
|
T_.T_BindDeviceDataTime = [2]string{T.T_BindDeviceDataStartTime, T.T_BindDeviceDataEndTime}
|
|
|
T_.T_doc1 = T.T_doc1
|
|
|
- T_.T_pdf1 = T.T_pdf1
|
|
|
T_.T_doc2 = T.T_doc2
|
|
|
- T_.T_pdf2 = T.T_pdf2
|
|
|
T_.T_doc3 = T.T_doc3
|
|
|
+
|
|
|
+ T_.T_pdf1 = T.T_pdf1_watermark
|
|
|
+ if T_.InfoCollection.T_status == InfoCollection.InfoCollectionStatusReturnedMoney || len(T.T_InfoCollection_id) == 0 || len(T.T_pdf1_watermark) == 0 {
|
|
|
+ T_.T_pdf1 = T.T_pdf1
|
|
|
+ }
|
|
|
+ T_.T_pdf2 = T.T_pdf2_watermark
|
|
|
+ if T_.InfoCollection.T_status == InfoCollection.InfoCollectionStatusReturnedMoney || len(T.T_InfoCollection_id) == 0 || len(T.T_pdf2_watermark) == 0 {
|
|
|
+ T_.T_pdf2 = T.T_pdf2
|
|
|
+ }
|
|
|
T_.T_pdf3 = T.T_pdf3
|
|
|
+ T_.T_pdf4 = T.T_pdf4
|
|
|
T_.T_Show = T.T_Show
|
|
|
T_.T_Visit = T.T_Visit
|
|
|
T_.T_State = T.T_State
|
|
@@ -213,7 +453,132 @@ func TaskToTask_(T Task, userMap, adminMap map[string]string) (T_ Task_) {
|
|
|
T_.T_sn = T.T_sn
|
|
|
T_.T_CalibrationExpirationTime = T.T_CalibrationExpirationTime
|
|
|
|
|
|
- //......
|
|
|
+ return T_
|
|
|
+}
|
|
|
+func TaskToTask_Stat(T Task, userMap, adminMap map[string]string) (T_ Task_Stat) {
|
|
|
+ T_.Id = T.Id
|
|
|
+ T_.T_class = T.T_class
|
|
|
+ T_.T_InfoCollection_id = T.T_InfoCollection_id
|
|
|
+ if len(T.T_InfoCollection_id) > 0 {
|
|
|
+ infoCollection, _ := InfoCollection.Read_InfoCollection(T.T_InfoCollection_id)
|
|
|
+ T_.InfoCollection = InfoCollection.InfoCollectionToInfoCollection_R(infoCollection, userMap, adminMap, map[string]string{}, map[string]string{})
|
|
|
+ }
|
|
|
+
|
|
|
+ T_.T_task_id = T.T_task_id
|
|
|
+ T_.T_uuid = T.T_uuid
|
|
|
+ T_.T_user_name = userMap[T.T_uuid]
|
|
|
+ T_.T_name = T.T_name
|
|
|
+ T_.T_VerifyTemplate_class = T.T_VerifyTemplate_class
|
|
|
+ T_.T_VerifyTemplate_id = T.T_VerifyTemplate_id
|
|
|
+ T_.T_deadline = T.T_deadline
|
|
|
+ T_.T_scheme = T.T_scheme
|
|
|
+ T_.T_collection = T.T_collection
|
|
|
+ T_.T_reporting = T.T_reporting
|
|
|
+ T_.T_delivery = T.T_delivery
|
|
|
+ T_.T_scheme_state = T.T_scheme_state
|
|
|
+ T_.T_collection_state = T.T_collection_state
|
|
|
+ T_.T_reporting_state = T.T_reporting_state
|
|
|
+ T_.T_delivery_state = T.T_delivery_state
|
|
|
+ T_.T_marking_state = T.T_marking_state
|
|
|
+ T_.T_scheme_state_str = TaskSchemeStateMap[T.T_scheme_state]
|
|
|
+ T_.T_collection_state_str = TaskCollectionStateMap[T.T_collection_state]
|
|
|
+ T_.T_reporting_state_str = TaskReportingStateMap[T.T_reporting_state]
|
|
|
+ T_.T_delivery_state_str = TaskDeliveryStateMap[T.T_delivery_state]
|
|
|
+ T_.T_marking_state_str = TaskMarkingStateMap[T.T_marking_state]
|
|
|
+
|
|
|
+ T_.T_project_name = adminMap[T.T_project]
|
|
|
+ T_.T_scheme_name = adminMap[T.T_scheme]
|
|
|
+ T_.T_collection_name = adminMap[T.T_collection]
|
|
|
+ T_.T_reporting_name = adminMap[T.T_reporting]
|
|
|
+ T_.T_delivery_name = adminMap[T.T_delivery]
|
|
|
+ T_.T_VerifyDeviceDataTime = [2]string{T.T_VerifyDeviceDataStartTime, T.T_VerifyDeviceDataEndTime}
|
|
|
+ T_.T_BindDeviceDataTime = [2]string{T.T_BindDeviceDataStartTime, T.T_BindDeviceDataEndTime}
|
|
|
+ T_.T_doc1 = T.T_doc1
|
|
|
+ T_.T_doc2 = T.T_doc2
|
|
|
+ T_.T_doc3 = T.T_doc3
|
|
|
+
|
|
|
+ T_.T_pdf1 = T.T_pdf1_watermark
|
|
|
+ if T_.InfoCollection.T_status == InfoCollection.InfoCollectionStatusReturnedMoney || len(T.T_InfoCollection_id) == 0 || len(T.T_pdf1_watermark) == 0 {
|
|
|
+ T_.T_pdf1 = T.T_pdf1
|
|
|
+ }
|
|
|
+ T_.T_pdf2 = T.T_pdf2_watermark
|
|
|
+ if T_.InfoCollection.T_status == InfoCollection.InfoCollectionStatusReturnedMoney || len(T.T_InfoCollection_id) == 0 || len(T.T_pdf2_watermark) == 0 {
|
|
|
+ T_.T_pdf2 = T.T_pdf2
|
|
|
+ }
|
|
|
+ T_.T_pdf3 = T.T_pdf3
|
|
|
+ T_.T_pdf4 = T.T_pdf4
|
|
|
+ T_.T_Show = T.T_Show
|
|
|
+ T_.T_Visit = T.T_Visit
|
|
|
+ T_.T_State = T.T_State
|
|
|
+
|
|
|
+ T_.T_sn = T.T_sn
|
|
|
+ T_.T_CalibrationExpirationTime = T.T_CalibrationExpirationTime
|
|
|
+
|
|
|
+ T_.T_project = T.T_project
|
|
|
+ T_.T_province = T.T_province
|
|
|
+ T_.T_city = T.T_city
|
|
|
+ T_.T_district = T.T_district
|
|
|
+ T_.T_area = []string{T.T_province, T.T_city, T.T_district}
|
|
|
+ T_.T_province_code = T.T_province_code
|
|
|
+ T_.T_city_code = T.T_city_code
|
|
|
+ T_.T_district_code = T.T_district_code
|
|
|
+ T_.T_area_code = []string{T.T_province_code, T.T_city_code, T.T_district_code}
|
|
|
+ T_.T_category = T.T_category
|
|
|
+ T_.T_device_type = T.T_device_type
|
|
|
+ T_.T_volume = T.T_volume
|
|
|
+ T_.T_verify_type = T.T_verify_type
|
|
|
+ T_.T_subject_matter = T.T_subject_matter
|
|
|
+ T_.T_temp_range = T.T_temp_range
|
|
|
+ T_.T_report_number = T.T_report_number
|
|
|
+ T_.T_report_type = T.T_report_type
|
|
|
+ T_.T_start_time = T.T_start_time
|
|
|
+ T_.T_end_time = T.T_end_time
|
|
|
+ T_.T_time_interval = lib.ConvertMinutesToDHM(int(T.T_time_interval))
|
|
|
+ T_.T_reject_times = T.T_reject_times
|
|
|
+ T_.T_reject_record = T.T_reject_record
|
|
|
+
|
|
|
+ // 方案
|
|
|
+ T_.T_scheme_start_time = T.T_scheme_start_time
|
|
|
+ T_.T_scheme_end_time = T.T_scheme_end_time
|
|
|
+
|
|
|
+ if T.T_scheme_state == TaskSchemeStateClientPass ||
|
|
|
+ T.T_scheme_state == TaskSchemeStateClientReturn ||
|
|
|
+ T.T_scheme_state == TaskSchemeStatePass {
|
|
|
+ T_.T_scheme_time_interval = lib.ConvertMinutesToDHM(int(T.T_scheme_time_interval))
|
|
|
+ T_.T_scheme_overtime = lib.ConvertMinutesToDHM(int(T.T_scheme_overtime))
|
|
|
+ }
|
|
|
+
|
|
|
+ T_.T_scheme_signature = T.T_scheme_signature
|
|
|
+ T_.T_scheme_return_times = T.T_scheme_return_times
|
|
|
+ T_.T_scheme_audit_record = T.T_scheme_audit_record
|
|
|
+
|
|
|
+ // 实施
|
|
|
+ T_.T_enter_area_time = T.T_enter_area_time
|
|
|
+ T_.T_collection_start_time = T.T_collection_start_time
|
|
|
+ T_.T_collection_end_time = T.T_collection_end_time
|
|
|
+ if T.T_collection_state == TaskCollectionStatePass {
|
|
|
+ T_.T_collection_time_interval = lib.ConvertMinutesToDHM(int(T.T_collection_time_interval))
|
|
|
+ T_.T_collection_overtime = lib.ConvertMinutesToDHM(int(T.T_collection_overtime))
|
|
|
+ }
|
|
|
+ T_.T_collection_signature = T.T_collection_signature
|
|
|
+ T_.T_collection_return_times = T.T_collection_return_times
|
|
|
+ T_.T_collection_audit_record = T.T_collection_audit_record
|
|
|
+
|
|
|
+ // 报告
|
|
|
+ T_.T_reporting_start_time = T.T_reporting_start_time
|
|
|
+ T_.T_reporting_end_time = T.T_reporting_end_time
|
|
|
+
|
|
|
+ if T.T_reporting_state == TaskReportingStateClientPass ||
|
|
|
+ T.T_reporting_state == TaskReportingStateClientReturn ||
|
|
|
+ T.T_reporting_state == TaskReportingStatePass {
|
|
|
+ T_.T_reporting_time_interval = lib.ConvertMinutesToDHM(int(T.T_reporting_time_interval))
|
|
|
+ T_.T_reporting_overtime = lib.ConvertMinutesToDHM(int(T.T_reporting_overtime))
|
|
|
+ }
|
|
|
+
|
|
|
+ T_.T_reporting_signature = T.T_reporting_signature
|
|
|
+ T_.T_reporting_return_times = T.T_reporting_return_times
|
|
|
+ T_.T_reporting_audit_record = T.T_reporting_audit_record
|
|
|
+
|
|
|
return T_
|
|
|
}
|
|
|
|
|
@@ -375,35 +740,6 @@ func Add_Task_Visit(m Task) bool {
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
-//// 获取列表
|
|
|
-//func Read_Task_List(T_name string, page int, page_z int) ([]Task_R, int64) {
|
|
|
-//
|
|
|
-// o := orm.NewOrm()
|
|
|
-// // 也可以直接使用 Model 结构体作为表名
|
|
|
-// var r []Task
|
|
|
-// qs := o.QueryTable(new(Task))
|
|
|
-// var offset int64
|
|
|
-// if page <= 1 {
|
|
|
-// offset = 0
|
|
|
-// } else {
|
|
|
-// offset = int64((page - 1) * page_z)
|
|
|
-// }
|
|
|
-// cond := orm.NewCondition()
|
|
|
-// cond1 := cond.And("T_name__icontains", T_name) // .AndNot("status__in", 1).Or("profile__age__gt", 2000)
|
|
|
-//
|
|
|
-//
|
|
|
-// qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
|
|
|
-// cnt, _ := qs.SetCond((*orm2.Condition)(cond1)).Count()
|
|
|
-//
|
|
|
-// // 转换
|
|
|
-// var Task_r []Task_R
|
|
|
-// for _, v := range r {
|
|
|
-// Task_r = append(Task_r, TaskToTask_R(v))
|
|
|
-// }
|
|
|
-//
|
|
|
-// return Task_r, cnt
|
|
|
-//}
|
|
|
-
|
|
|
// 获取用户任务列表
|
|
|
func Read_UserTask_List(T_uuid string, T_name string, userMap, adminMap map[string]string, page int, page_z int) ([]Task_, int) {
|
|
|
|
|
@@ -437,7 +773,7 @@ func Read_UserTask_List(T_uuid string, T_name string, userMap, adminMap map[stri
|
|
|
}
|
|
|
|
|
|
// 获取任务列表
|
|
|
-func Read_Task_List(T_uuid, T_admin string, T_name string, T_scheme, T_collection, T_reporting, T_delivery,
|
|
|
+func Read_Task_List(T_uuid, T_admin, T_name, T_InfoCollection_id string, T_scheme, T_collection, T_reporting, T_delivery,
|
|
|
T_scheme_state, T_collection_state, T_reporting_state, T_delivery_state, T_marking_state string,
|
|
|
T_company_list []string, userMap, adminMap map[string]string, page int, page_z int) ([]Task_, int) {
|
|
|
|
|
@@ -455,7 +791,9 @@ func Read_Task_List(T_uuid, T_admin string, T_name string, T_scheme, T_collectio
|
|
|
cond1 := cond.AndCond(cond.Or("T_name__icontains", T_name).Or("T_task_id__icontains", T_name)).And("T_State", 1)
|
|
|
if len(T_uuid) > 0 {
|
|
|
cond1 = cond1.And("T_uuid", T_uuid)
|
|
|
-
|
|
|
+ }
|
|
|
+ if len(T_InfoCollection_id) > 0 {
|
|
|
+ cond1 = cond1.And("T_InfoCollection_id", T_InfoCollection_id)
|
|
|
}
|
|
|
if len(T_admin) > 0 {
|
|
|
cond1 = cond1.AndCond(cond.Or("T_scheme", T_admin).Or("T_collection", T_admin).
|
|
@@ -505,62 +843,170 @@ func Read_Task_List(T_uuid, T_admin string, T_name string, T_scheme, T_collectio
|
|
|
|
|
|
return TaskList, int(cnt)
|
|
|
}
|
|
|
+func Read_Task_BySN(sn string) (r Task, err error) {
|
|
|
+ if task, is := Redis_Task_Get(sn); is == true {
|
|
|
+ return task, nil
|
|
|
+ }
|
|
|
|
|
|
-// 获取列表 /时间筛选 Time_start_ Time_end_ 2021-12-30,所以下面要加后缀 时间
|
|
|
-func Read_Task_List_Time(page int, T_sn string, T_Title string, Time_start_ string, Time_end_ string) ([]Task_R, int64) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ qs := o.QueryTable(new(Task))
|
|
|
+ err = qs.Filter("T_sn", sn).Filter("T_State", 1).One(&r)
|
|
|
+ if err != nil {
|
|
|
+ return r, err
|
|
|
+ }
|
|
|
+
|
|
|
+ Redis_Task_Set(sn, r)
|
|
|
+ return r, nil
|
|
|
+}
|
|
|
|
|
|
+// 修改
|
|
|
+func Update_Task_T_InfoTemplate_id(T_InfoCollection_id, T_InfoTemplate_id string) error {
|
|
|
o := orm.NewOrm()
|
|
|
- // 也可以直接使用 Model 结构体作为表名
|
|
|
+
|
|
|
+ qs := o.QueryTable(new(Task))
|
|
|
var r []Task
|
|
|
- var cnt int64
|
|
|
+ o.Begin()
|
|
|
+ qs.Filter("T_InfoCollection_id", T_InfoCollection_id).All(&r)
|
|
|
+ for _, task := range r {
|
|
|
+ task.T_InfoTemplate_id = T_InfoTemplate_id
|
|
|
+ if _, err := o.Update(&task, "T_InfoTemplate_id"); err == nil {
|
|
|
+ Redis_Task_Set(task.T_task_id, task)
|
|
|
+ } else {
|
|
|
+ o.Rollback()
|
|
|
+ logs.Error(lib.FuncName(), err)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ o.Commit()
|
|
|
+ return nil
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func Add_AuditRecord(T_audit_record string, T_uuid, T_admin string, T_scheme_state int, T_reason string, T_type string) (string, error) {
|
|
|
+
|
|
|
+ auditRecord := AuditRecord{
|
|
|
+ T_uuid: T_uuid,
|
|
|
+ T_admin: T_admin,
|
|
|
+ T_state: T_scheme_state,
|
|
|
+ T_reason: T_reason,
|
|
|
+ T_type: T_type,
|
|
|
+ T_time: time.Now().Format("2006-01-02 15:04:05"),
|
|
|
+ }
|
|
|
+
|
|
|
+ var returnRecordList []AuditRecord
|
|
|
+ if len(T_audit_record) > 0 {
|
|
|
+ err := json.Unmarshal([]byte(T_audit_record), &returnRecordList)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("JSON 反序列化失败:", err)
|
|
|
+ return "", errors.New("JSON 反序列化失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ returnRecordList = append(returnRecordList, auditRecord)
|
|
|
+ returnRecordJson, err := json.Marshal(returnRecordList)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("JSON 反序列化失败:", err)
|
|
|
+ return "", errors.New("JSON 反序列化失败")
|
|
|
+ }
|
|
|
+ return string(returnRecordJson), nil
|
|
|
+}
|
|
|
+
|
|
|
+// 获取项目负责人列表
|
|
|
+func Get_Task_UserList(T_type string) []string {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ var err error
|
|
|
+ var pl_lists []string
|
|
|
+ switch T_type {
|
|
|
+ case "T_project":
|
|
|
+ _, err = o.Raw("SELECT DISTINCT t_project FROM task LIMIT 0,1000").QueryRows(&pl_lists)
|
|
|
+ case "T_scheme":
|
|
|
+ _, err = o.Raw("SELECT DISTINCT t_scheme FROM task LIMIT 0,1000").QueryRows(&pl_lists)
|
|
|
+ case "T_collection":
|
|
|
+ _, err = o.Raw("SELECT DISTINCT t_collection FROM task LIMIT 0,1000").QueryRows(&pl_lists)
|
|
|
+ case "T_reporting":
|
|
|
+ _, err = o.Raw("SELECT DISTINCT t_reporting FROM task LIMIT 0,1000").QueryRows(&pl_lists)
|
|
|
+
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("获取项目负责人列表失败:", err)
|
|
|
+ }
|
|
|
+ return pl_lists
|
|
|
+}
|
|
|
+
|
|
|
+func Read_Task_Stat(T_uuid, T_admin, T_name, T_InfoCollection_id string, T_project, T_scheme, T_collection, T_reporting, T_delivery,
|
|
|
+ T_scheme_state, T_collection_state, T_reporting_state, T_delivery_state, T_marking_state string,
|
|
|
+ T_company_list []string, userMap, adminMap map[string]string, page int, page_z int) ([]Task_Stat, int) {
|
|
|
+
|
|
|
+ o := orm.NewOrm()
|
|
|
+
|
|
|
qs := o.QueryTable(new(Task))
|
|
|
+ var r []Task
|
|
|
var offset int64
|
|
|
if page <= 1 {
|
|
|
offset = 0
|
|
|
} else {
|
|
|
- offset = int64((page - 1) * conf.Page_size)
|
|
|
+ offset = int64((page - 1) * page_z)
|
|
|
}
|
|
|
-
|
|
|
- if len(Time_start_) > 1 && len(Time_end_) > 1 {
|
|
|
- logs.Println(Time_start_, Time_end_)
|
|
|
- qs.Limit(conf.Page_size, offset).Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
|
|
|
- cnt, _ = qs.Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
|
|
|
- return []Task_R{}, cnt
|
|
|
+ cond := orm.NewCondition()
|
|
|
+ cond1 := cond.AndCond(cond.Or("T_name__icontains", T_name).Or("T_task_id__icontains", T_name)).And("T_State", 1)
|
|
|
+ if len(T_uuid) > 0 {
|
|
|
+ cond1 = cond1.And("T_uuid", T_uuid)
|
|
|
}
|
|
|
-
|
|
|
- if len(Time_start_) > 1 {
|
|
|
- qs.Limit(conf.Page_size, offset).Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
|
|
|
- cnt, _ = qs.Filter("T_Ut__gte", Time_start_+" 00:00:00").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
|
|
|
- return []Task_R{}, cnt
|
|
|
- } else if len(Time_end_) > 1 {
|
|
|
- qs.Limit(conf.Page_size, offset).Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
|
|
|
- cnt, _ = qs.Filter("T_Ut__lte", Time_end_+" 23:59:59").Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
|
|
|
- return []Task_R{}, cnt
|
|
|
+ if len(T_InfoCollection_id) > 0 {
|
|
|
+ cond1 = cond1.And("T_InfoCollection_id", T_InfoCollection_id)
|
|
|
+ }
|
|
|
+ if len(T_admin) > 0 {
|
|
|
+ cond1 = cond1.AndCond(cond.Or("T_scheme", T_admin).Or("T_collection", T_admin).
|
|
|
+ Or("T_reporting", T_admin).Or("T_delivery", T_admin))
|
|
|
+ }
|
|
|
+ if len(T_company_list) > 0 {
|
|
|
+ cond1 = cond1.And("T_uuid__in", T_company_list)
|
|
|
}
|
|
|
|
|
|
- qs.Limit(conf.Page_size, offset).Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).OrderBy("-Id").Filter("T_State", 1).All(&r)
|
|
|
- cnt, _ = qs.Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
|
|
|
-
|
|
|
- var Task_r []Task_R
|
|
|
- for _, v := range r {
|
|
|
- Task_r = append(Task_r, TaskToTask_R(v))
|
|
|
+ if len(T_project) > 0 {
|
|
|
+ cond1 = cond1.And("T_project", T_project)
|
|
|
+ }
|
|
|
+ if len(T_scheme) > 0 {
|
|
|
+ cond1 = cond1.And("T_scheme", T_scheme)
|
|
|
+ }
|
|
|
+ if len(T_collection) > 0 {
|
|
|
+ cond1 = cond1.And("T_collection", T_collection)
|
|
|
+ }
|
|
|
+ if len(T_reporting) > 0 {
|
|
|
+ cond1 = cond1.And("T_reporting", T_reporting)
|
|
|
+ }
|
|
|
+ if len(T_delivery) > 0 {
|
|
|
+ cond1 = cond1.And("T_delivery", T_delivery)
|
|
|
}
|
|
|
|
|
|
- return Task_r, cnt
|
|
|
-}
|
|
|
+ if len(T_scheme_state) > 0 {
|
|
|
+ cond1 = cond1.And("T_scheme_state", T_scheme_state)
|
|
|
+ }
|
|
|
+ if len(T_collection_state) > 0 {
|
|
|
+ cond1 = cond1.And("T_collection_state", T_collection_state)
|
|
|
+ }
|
|
|
+ if len(T_reporting_state) > 0 {
|
|
|
+ cond1 = cond1.And("T_reporting_state", T_reporting_state)
|
|
|
+ }
|
|
|
+ if len(T_delivery_state) > 0 {
|
|
|
+ cond1 = cond1.And("T_delivery_state", T_delivery_state)
|
|
|
+ }
|
|
|
+ if len(T_marking_state) > 0 {
|
|
|
+ cond1 = cond1.And("T_marking_state", T_marking_state)
|
|
|
+ }
|
|
|
|
|
|
-func Read_Task_BySN(sn string) (r Task, err error) {
|
|
|
- if task, is := Redis_Task_Get(sn); is == true {
|
|
|
- return task, nil
|
|
|
+ if page_z == 9999 {
|
|
|
+ qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
|
|
|
+ } else {
|
|
|
+ qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
|
|
|
}
|
|
|
+ cnt, _ := qs.SetCond((*orm2.Condition)(cond1)).Count()
|
|
|
|
|
|
- o := orm.NewOrm()
|
|
|
- qs := o.QueryTable(new(Task))
|
|
|
- err = qs.Filter("T_sn", sn).Filter("T_State", 1).One(&r)
|
|
|
- if err != nil {
|
|
|
- return r, err
|
|
|
+ // 转换
|
|
|
+ var TaskList []Task_Stat
|
|
|
+ for _, v := range r {
|
|
|
+ TaskList = append(TaskList, TaskToTask_Stat(v, userMap, adminMap))
|
|
|
}
|
|
|
|
|
|
- Redis_Task_Set(sn, r)
|
|
|
- return r, nil
|
|
|
+ return TaskList, int(cnt)
|
|
|
}
|