Browse Source

freature(督办): 督办任务调整

likai 2 years ago
parent
commit
89c9f71d86

+ 1 - 0
opms_admin/config/config.toml

@@ -5,6 +5,7 @@
     need-advertise-addr = false
     srv-name = "dashoo.opms.admin-0.0.1"
     env = "dev"
+    websocket-addr = "127.0.0.1:8899"
 
 # 微服务注册中心配置
 [service_registry]

+ 6 - 3
opms_parent/app/dao/plat/internal/plat_task.go

@@ -29,12 +29,13 @@ type platTaskColumns struct {
 	TaskTitle        string // 任务标题
 	TaskType         string // 任务类型
 	TaskStatus       string // 任务状态(10发起  20进行中   30流程完成)
+	Source           string // 督办事项来源
 	IsOverdue        string // 是否超期(10否20是)
-	TaskStartDate    string // 任务开始时间
-	TaskEndDate      string // 任务结束时间
+	TaskStartDate    string // 发布时间
+	TaskEndDate      string // 要求完成时间
 	TaskDesc         string // 任务说明
 	MainUserId       string // 负责人ID
-	OwnerUserId      string // 团队成员ID
+	OwnerUserId      string // 协办人ID
 	TaskLabel        string // 任务标签,号拼接
 	SupervisorUserId string // 督办人ID
 	WatchUserId      string // 监办人ID
@@ -72,6 +73,7 @@ var (
 			TaskTitle:        "task_title",
 			TaskType:         "task_type",
 			TaskStatus:       "task_status",
+			Source:           "source",
 			IsOverdue:        "is_overdue",
 			TaskStartDate:    "task_start_date",
 			TaskEndDate:      "task_end_date",
@@ -117,6 +119,7 @@ func NewPlatTaskDao(tenant string) PlatTaskDao {
 			TaskTitle:        "task_title",
 			TaskType:         "task_type",
 			TaskStatus:       "task_status",
+			Source:           "source",
 			IsOverdue:        "is_overdue",
 			TaskStartDate:    "task_start_date",
 			TaskEndDate:      "task_end_date",

+ 1 - 1
opms_parent/app/dao/plat/internal/plat_task_handle.go

@@ -30,7 +30,7 @@ type platTaskHandleColumns struct {
 	TaskStatus   string // 任务状态(10打开20关闭)
 	Step         string // 步骤号
 	MainUserId   string // 处理人ID
-	OwnerUserId  string // 团队成员ID
+	OwnerUserId  string // 协办人ID
 	HandleUserId string // 处理人ID
 	HandleDate   string // 处理时间
 	HandleStatus string // 处理结果(10接收20提交30审批通过40审批退回)

+ 4 - 3
opms_parent/app/model/plat/internal/plat_task.go

@@ -14,12 +14,13 @@ type PlatTask struct {
 	TaskTitle        string      `orm:"task_title"         json:"taskTitle"`        // 任务标题
 	TaskType         string      `orm:"task_type"          json:"taskType"`         // 任务类型
 	TaskStatus       string      `orm:"task_status"        json:"taskStatus"`       // 任务状态(10发起  20进行中   30流程完成)
+	Source           string      `orm:"source"             json:"source"`           // 督办事项来源
 	IsOverdue        string      `orm:"is_overdue"         json:"isOverdue"`        // 是否超期(10否20是)
-	TaskStartDate    *gtime.Time `orm:"task_start_date"    json:"taskStartDate"`    // 任务开始时间
-	TaskEndDate      *gtime.Time `orm:"task_end_date"      json:"taskEndDate"`      // 任务结束时间
+	TaskStartDate    *gtime.Time `orm:"task_start_date"    json:"taskStartDate"`    // 发布时间
+	TaskEndDate      *gtime.Time `orm:"task_end_date"      json:"taskEndDate"`      // 要求完成时间
 	TaskDesc         string      `orm:"task_desc"          json:"taskDesc"`         // 任务说明
 	MainUserId       int         `orm:"main_user_id"       json:"mainUserId"`       // 负责人ID
-	OwnerUserId      string      `orm:"owner_user_id"      json:"ownerUserId"`      // 团队成员ID
+	OwnerUserId      string      `orm:"owner_user_id"      json:"ownerUserId"`      // 协办人ID
 	TaskLabel        string      `orm:"task_label"         json:"taskLabel"`        // 任务标签,号拼接
 	SupervisorUserId int         `orm:"supervisor_user_id" json:"supervisorUserId"` // 督办人ID
 	WatchUserId      int         `orm:"watch_user_id"      json:"watchUserId"`      // 监办人ID

+ 1 - 1
opms_parent/app/model/plat/internal/plat_task_handle.go

@@ -15,7 +15,7 @@ type PlatTaskHandle struct {
 	TaskStatus   string      `orm:"task_status"    json:"taskStatus"`   // 任务状态(10打开20关闭)
 	Step         int         `orm:"step"           json:"step"`         // 步骤号
 	MainUserId   int         `orm:"main_user_id"   json:"mainUserId"`   // 处理人ID
-	OwnerUserId  string      `orm:"owner_user_id"  json:"ownerUserId"`  // 团队成员ID
+	OwnerUserId  string      `orm:"owner_user_id"  json:"ownerUserId"`  // 协办人ID
 	HandleUserId int         `orm:"handle_user_id" json:"handleUserId"` // 处理人ID
 	HandleDate   *gtime.Time `orm:"handle_date"    json:"handleDate"`   // 处理时间
 	HandleStatus string      `orm:"handle_status"  json:"handleStatus"` // 处理结果(10接收20提交30审批通过40审批退回)

+ 4 - 3
opms_parent/app/model/plat/plat_task.go

@@ -40,14 +40,15 @@ type AddPlatTaskReq struct {
 	TaskTitle        string      `orm:"task_title"         json:"taskTitle"    v:"required#任务标题不能为空"`                     // 任务标题
 	TaskType         string      `orm:"task_type"          json:"taskType"    v:"required#任务类型不能为空"`                      // 任务类型
 	TaskStatus       string      `orm:"task_status"        json:"taskStatus"    v:"required#任务状态不能为空"`                    // 任务状态(10进行中20关闭)
+	Source           string      `orm:"source"             json:"source"`                                                 // 督办事项来源
 	IsOverdue        string      `orm:"is_overdue"         json:"isOverdue"`                                              // 是否超期(10否20是)
-	TaskStartDate    *gtime.Time `orm:"task_start_date"    json:"taskStartDate"    v:"required#任务开始时间不能为空"`               // 任务开始时间
-	TaskEndDate      *gtime.Time `orm:"task_end_date"      json:"taskEndDate"    v:"required#任务结束时间不能为空"`                 // 任务结束时间
+	TaskStartDate    *gtime.Time `orm:"task_start_date"    json:"taskStartDate"`                                          // 发布时间
+	TaskEndDate      *gtime.Time `orm:"task_end_date"      json:"taskEndDate"    v:"required#要求完成时间不能为空"`                 // 要求完成时间
 	TaskDesc         string      `orm:"task_desc"          json:"taskDesc"`                                               // 任务说明
 	SupervisorUserId int         `orm:"supervisor_user_id" json:"supervisorUserId"    v:"required|min:1#督办人不能为空|督办人不能为空"` // 督办人
 	WatchUserId      int         `orm:"watch_user_id"      json:"watchUserId"`                                            // 监办人
 	MainUserId       int         `orm:"main_user_id"       json:"mainUserId"    v:"required|min:1#负责人ID不能为空|负责人ID不能为空"`   // 负责人ID
-	OwnerUserId      string      `orm:"owner_user_id"      json:"ownerUserId"`                                            // 团队成员ID
+	OwnerUserId      string      `orm:"owner_user_id"      json:"ownerUserId"`                                            // 协办人ID
 	TaskLabel        string      `orm:"task_label"         json:"taskLabel"`                                              // 任务标签,号拼接
 	TargetId         int         `orm:"target_id"          json:"targetId"`                                               // 关联对象ID
 	TargetType       string      `orm:"target_type"        json:"targetType"`                                             // 关联对象类型(10客户,20项目,30合同,40回款)

+ 14 - 8
opms_parent/app/service/plat/plat_task.go

@@ -139,11 +139,14 @@ func (s *taskService) Export(req *model.ExportReq) (content *model.ExportContent
 					}
 					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), data)
 				}
+				if value == "督办事项来源" {
+					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), item.Source)
+				}
 				if value == "超期" {
 					data := ""
-					if item.TaskStatus == "10" {
+					if gtime.Now().Format("Y-m-d H:i:s") <= item.TaskEndDate.Format("Y-m-d 23:59:59") {
 						data = "否"
-					} else if item.TaskStatus == "20" {
+					} else {
 						data = "是"
 					}
 					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), data)
@@ -157,7 +160,7 @@ func (s *taskService) Export(req *model.ExportReq) (content *model.ExportContent
 				if value == "负责人" {
 					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), userMap[item.MainUserId])
 				}
-				if value == "团队成员" {
+				if value == "协办人" {
 					names := ""
 					if item.OwnerUserId != "" {
 						ids := strings.Split(item.OwnerUserId, ",")
@@ -175,11 +178,11 @@ func (s *taskService) Export(req *model.ExportReq) (content *model.ExportContent
 				if value == "督办人" {
 					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), userMap[item.SupervisorUserId])
 				}
-				if value == "开始时间" {
-					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), item.TaskStartDate.Format("Y-m-d H:i:s"))
+				if value == "发布时间" {
+					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), item.TaskStartDate.Format("Y-m-d"))
 				}
-				if value == "结束时间" {
-					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), item.TaskEndDate.Format("Y-m-d H:i:s"))
+				if value == "要求完成时间" {
+					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), item.TaskEndDate.Format("Y-m-d"))
 				}
 				if value == "创建时间" {
 					f.SetCellValue("Sheet1", service.Div(index+1)+strconv.Itoa(lineNum+2), item.CreatedTime.Format("Y-m-d H:i:s"))
@@ -216,10 +219,13 @@ func (s *taskService) Create(req *model.AddPlatTaskReq) (err error) {
 	if err = gconv.Struct(req, platTask); err != nil {
 		return
 	}
+
+	// 初始数据
 	platTask.IsOverdue = "10" // 是否超期(10否20是)
-	if platTask.TaskStartDate == nil {
+	if platTask.TaskStartDate == nil || platTask.TaskStartDate.IsZero() {
 		platTask.TaskStartDate = gtime.Now()
 	}
+
 	// 填充创建信息
 	service.SetCreatedInfo(platTask, s.GetCxtUserId(), s.GetCxtUserName())
 	// 填充更新信息