소스 검색

feature(*): 1、OMS硬件默认于洋改为姜辉
2、新建工作项输入负责人不生效
3、新建计划如何修改
4、支持交付经理填写【现场交付时间】字段

likai 1 년 전
부모
커밋
75087385ed

+ 3 - 0
opms_parent/app/dao/work/internal/deliver_order_imp_progress.go

@@ -75,6 +75,7 @@ type deliverOrderImpProgressColumns struct {
 	SoftwareCheckFileName        string // 验收报告名称
 	SoftwareCheckPersonId        string // 验收录入人Id
 	SoftwareCheckPerson          string // 验收录入人
+	SoftwareSpotDeliveryTime     string // 现场交付时间
 	CompletedContent             string // 已完成工作内容
 	CompletedWork                string // 已完成工作量
 	UncompletedContent           string // 未完成工作内容
@@ -141,6 +142,7 @@ var (
 			SoftwareCheckFileName:        "software_check_file_name",
 			SoftwareCheckPersonId:        "software_check_person_id",
 			SoftwareCheckPerson:          "software_check_person",
+			SoftwareSpotDeliveryTime:     "software_spot_delivery_time",
 			CompletedContent:             "completed_content",
 			CompletedWork:                "completed_work",
 			UncompletedContent:           "uncompleted_content",
@@ -209,6 +211,7 @@ func NewDeliverOrderImpProgressDao(tenant string) DeliverOrderImpProgressDao {
 			SoftwareCheckFileName:        "software_check_file_name",
 			SoftwareCheckPersonId:        "software_check_person_id",
 			SoftwareCheckPerson:          "software_check_person",
+			SoftwareSpotDeliveryTime:     "software_spot_delivery_time",
 			CompletedContent:             "completed_content",
 			CompletedWork:                "completed_work",
 			UncompletedContent:           "uncompleted_content",

+ 24 - 21
opms_parent/app/model/work/deliver_order_imp_progress.go

@@ -13,7 +13,7 @@ import (
 // DeliverOrderImpProgress is the golang structure for table deliver_order_imp_progress.
 type DeliverOrderImpProgress internal.DeliverOrderImpProgress
 
-//  Fill with you ideas below.
+// Fill with you ideas below.
 type DeliverOrderProgressListReq struct {
 	request.PageReq
 	DeliverOrderId    int    `json:"deliverOrderId"`    // 关联交付订单ID
@@ -28,16 +28,18 @@ type DeliverOrderProgressListReq struct {
 }
 
 type DeliverOrderProgressAddReq struct {
-	PlanId          int         `json:"planId" v:"required#请输入工单计划ID"`         // 关联实施计划
-	DeliverOrderId  int         `json:"deliverOrderId" v:"required#请输入交付订单ID"` // 关联交付订单ID
-	ProgressTitle   string      `json:"progressTitle" v:"required#请输入任务标题"`    // 任务标题
-	ProgressContext string      `json:"progressContext"`                       // 任务内容
-	StartDate       *gtime.Time `json:"startDate" v:"required#请输入开始时间"`        // 开始时间
-	EndDate         *gtime.Time `json:"endDate" v:"required#请输入结束时间"`          // 结束时间
-	ReaStartDate    *gtime.Time `json:"reaStartDate"`                          // 实际开始时间
-	ReaEndDate      *gtime.Time `json:"reaEndDate"`                            // 实际结束时间
-	ProgressLevel   string      `json:"progressLevel"`                         // 优先级(10最高 20普通 30较低 )
-	Remark          string      `json:"remark"`                                // 备注
+	PlanId            int         `json:"planId" v:"required#请输入工单计划ID"`         // 关联实施计划
+	DeliverOrderId    int         `json:"deliverOrderId" v:"required#请输入交付订单ID"` // 关联交付订单ID
+	ProgressTitle     string      `json:"progressTitle" v:"required#请输入任务标题"`    // 任务标题
+	ProgressContext   string      `json:"progressContext"`                       // 任务内容
+	StartDate         *gtime.Time `json:"startDate" v:"required#请输入开始时间"`        // 开始时间
+	EndDate           *gtime.Time `json:"endDate" v:"required#请输入结束时间"`          // 结束时间
+	ReaStartDate      *gtime.Time `json:"reaStartDate"`                          // 实际开始时间
+	ReaEndDate        *gtime.Time `json:"reaEndDate"`                            // 实际结束时间
+	ProgressLevel     string      `json:"progressLevel"`                         // 优先级(10最高 20普通 30较低 )
+	PrincipalPersonId int         `json:"principalPersonId"`                     // 负责人id
+	PrincipalPerson   string      `json:"principalPerson"`                       // 负责人
+	Remark            string      `json:"remark"`                                // 备注
 }
 
 type DeliverOrderProgressUpdateReq struct {
@@ -135,16 +137,17 @@ type ChangeDeliverTimeReq struct {
 }
 
 type CompleteSoftwareReq struct {
-	Id                    int         `json:"id" v:"required#请输入Id"`
-	ContractId            int         `json:"contractId"`            // 合同Id
-	DeliverOrderId        int         `json:"deliverOrderId"`        // 交付工单Id
-	SoftwareCheckTime     *gtime.Time `json:"softwareCheckTime"`     // 验收时间
-	SoftwareCheckFileUrl  string      `json:"softwareCheckFileUrl"`  // 验收报告url
-	SoftwareCheckFileName string      `json:"softwareCheckFileName"` // 验收报告名称
-	CompletedContent      string      `json:"completedContent"`      // 已完成工作内容
-	CompletedWork         string      `json:"completedWork"`         // 已完成工作量
-	UncompletedContent    string      `json:"uncompletedContent" `   // 未完成工作内容
-	UncompletedWork       string      `json:"uncompletedWork" `      // 未完成工作量
+	Id                       int         `json:"id" v:"required#请输入Id"`
+	ContractId               int         `json:"contractId"`               // 合同Id
+	DeliverOrderId           int         `json:"deliverOrderId"`           // 交付工单Id
+	SoftwareCheckTime        *gtime.Time `json:"softwareCheckTime"`        // 验收时间
+	SoftwareCheckFileUrl     string      `json:"softwareCheckFileUrl"`     // 验收报告url
+	SoftwareCheckFileName    string      `json:"softwareCheckFileName"`    // 验收报告名称
+	SoftwareSpotDeliveryTime *gtime.Time `json:"softwareSpotDeliveryTime"` // 现场交付时间
+	CompletedContent         string      `json:"completedContent"`         // 已完成工作内容
+	CompletedWork            string      `json:"completedWork"`            // 已完成工作量
+	UncompletedContent       string      `json:"uncompletedContent" `      // 未完成工作内容
+	UncompletedWork          string      `json:"uncompletedWork" `         // 未完成工作量
 }
 
 type ProductSignReq struct {

+ 1 - 0
opms_parent/app/model/work/internal/deliver_order_imp_progress.go

@@ -55,6 +55,7 @@ type DeliverOrderImpProgress struct {
 	SoftwareCheckFileName        string      `orm:"software_check_file_name"        json:"softwareCheckFileName"`        // 验收报告名称
 	SoftwareCheckPersonId        int         `orm:"software_check_person_id"        json:"softwareCheckPersonId"`        // 验收录入人Id
 	SoftwareCheckPerson          string      `orm:"software_check_person"           json:"softwareCheckPerson"`          // 验收录入人
+	SoftwareSpotDeliveryTime     *gtime.Time `orm:"software_spot_delivery_time"     json:"softwareSpotDeliveryTime"`     // 现场交付时间
 	CompletedContent             string      `orm:"completed_content"               json:"completedContent"`             // 已完成工作内容
 	CompletedWork                string      `orm:"completed_work"                  json:"completedWork"`                // 已完成工作量
 	UncompletedContent           string      `orm:"uncompleted_content"             json:"uncompletedContent" `          // 未完成工作内容

+ 53 - 50
opms_parent/app/service/work/deliver_order_progress.go

@@ -130,23 +130,25 @@ func (s DeliverOrderProgressService) Add(ctx context.Context, req *work.DeliverO
 	var id int
 	txerr := s.Dao.DB.Transaction(ctx, func(ctx context.Context, tx *gdb.TX) error {
 		pid, err := tx.InsertAndGetId("deliver_order_imp_progress", work.DeliverOrderImpProgress{
-			PlanId:          req.PlanId,
-			DeliverOrderId:  req.DeliverOrderId,
-			ProgressTitle:   req.ProgressTitle,
-			ProgressContext: req.ProgressContext,
-			StartDate:       req.StartDate,
-			EndDate:         req.EndDate,
-			ReaStartDate:    req.ReaStartDate,
-			ReaEndDate:      req.ReaEndDate,
-			ProgressStatus:  "10",
-			ProgressLevel:   req.ProgressLevel,
-			Remark:          req.Remark,
-			CreatedBy:       int(s.userInfo.Id),
-			CreatedName:     s.userInfo.NickName,
-			CreatedTime:     gtime.Now(),
-			UpdatedBy:       int(s.userInfo.Id),
-			UpdatedName:     s.userInfo.NickName,
-			UpdatedTime:     gtime.Now(),
+			PlanId:            req.PlanId,
+			DeliverOrderId:    req.DeliverOrderId,
+			ProgressTitle:     req.ProgressTitle,
+			ProgressContext:   req.ProgressContext,
+			StartDate:         req.StartDate,
+			EndDate:           req.EndDate,
+			ReaStartDate:      req.ReaStartDate,
+			ReaEndDate:        req.ReaEndDate,
+			ProgressStatus:    "10",
+			ProgressLevel:     req.ProgressLevel,
+			PrincipalPersonId: req.PrincipalPersonId,
+			PrincipalPerson:   req.PrincipalPerson,
+			Remark:            req.Remark,
+			CreatedBy:         int(s.userInfo.Id),
+			CreatedName:       s.userInfo.NickName,
+			CreatedTime:       gtime.Now(),
+			UpdatedBy:         int(s.userInfo.Id),
+			UpdatedName:       s.userInfo.NickName,
+			UpdatedTime:       gtime.Now(),
 		})
 		if err != nil {
 			return err
@@ -238,7 +240,7 @@ func (s DeliverOrderProgressService) Start(ctx context.Context, req *work.Delive
 	}
 
 	txerr := s.Dao.DB.Transaction(ctx, func(ctx context.Context, tx *gdb.TX) error {
-		// 10发货任务单/20组装任务单/30部署安装单
+		// 10发货任务单/20组装任务单/30部署安装单/40软件交付验收任务单(30部署安装单无需启动)
 		if ent.ProgressType == "10" {
 			_, err = tx.Update("deliver_order_imp_progress", map[string]interface{}{
 				"progress_status": "20",
@@ -246,13 +248,13 @@ func (s DeliverOrderProgressService) Start(ctx context.Context, req *work.Delive
 				"rea_start_date":  gtime.Now(),
 				"remark":          req.Remark,
 			}, "id = ?", req.Id)
-		} else if ent.ProgressType == "20" {
+		} else if ent.ProgressType == "20" || ent.ProgressType == "40" || ent.ProgressType == "" {
 			_, err = tx.Update("deliver_order_imp_progress", map[string]interface{}{
 				"progress_status": "20",
 				"rea_start_date":  gtime.Now(),
 				"remark":          req.Remark,
 			}, "id = ?", req.Id)
-		} else {
+		} else if ent.ProgressType == "30" {
 			_, err = tx.Update("deliver_order_imp_progress", map[string]interface{}{
 				"progress_status":     "15",
 				"expect_install_time": req.ExpectInstallTime,
@@ -375,11 +377,11 @@ func (s DeliverOrderProgressService) StartDeliverGoodsProgress(ctx context.Conte
 		assembleProgress.StartDate = deliverProgress.StartDate
 		assembleProgress.EndDate = deliverProgress.EndDate
 		assembleProgress.ProgressLevel = deliverProgress.ProgressLevel
-		//assembleProgress.PrincipalPersonId, assembleProgress.PrincipalPerson, err = s.getUserInfo("于洋")
-		//if err != nil {
-		//	return err
-		//}
-		assembleProgress.PrincipalPersonId, assembleProgress.PrincipalPerson = 1052, "于洋"
+		assembleProgress.PrincipalPersonId, assembleProgress.PrincipalPerson, err = s.getUserInfo("姜辉")
+		if err != nil {
+			return err
+		}
+		//assembleProgress.PrincipalPersonId, assembleProgress.PrincipalPerson = 1052, "于洋"
 		service.SetCreatedInfo(&assembleProgress, s.userInfo.Id, s.userInfo.NickName)
 
 		var indexArr []int
@@ -534,11 +536,11 @@ func (s DeliverOrderProgressService) DeliverGoods(ctx context.Context, req *work
 			insProgress.ProgressLevel = "10"  // 优先级
 			insProgress.ProgressType = "30"   // 10发货任务单/20组装任务单/30部署安装单
 			if insProgress.PrincipalPerson == "" {
-				//insProgress.PrincipalPersonId, insProgress.PrincipalPerson, err = s.getUserInfo("于洋")
-				//if err != nil {
-				//	return err
-				//}
-				insProgress.PrincipalPersonId, insProgress.PrincipalPerson = 1052, "于洋"
+				insProgress.PrincipalPersonId, insProgress.PrincipalPerson, err = s.getUserInfo("姜辉")
+				if err != nil {
+					return err
+				}
+				//insProgress.PrincipalPersonId, insProgress.PrincipalPerson = 1052, "于洋"
 			}
 			service.SetCreatedInfo(&insProgress, s.userInfo.Id, s.userInfo.NickName)
 
@@ -592,11 +594,11 @@ func (s DeliverOrderProgressService) StartInstallProgress(ctx context.Context, r
 		progress.ProgressStatus = "10" // 状态(10未开始20进行中30已完成)
 		progress.ProgressType = "30"   // 10发货任务单/20组装任务单/30部署安装单
 		if progress.PrincipalPerson == "" {
-			//progress.PrincipalPersonId, progress.PrincipalPerson, err = s.getUserInfo("于洋")
-			//if err != nil {
-			//	return err
-			//}
-			progress.PrincipalPersonId, progress.PrincipalPerson = 1052, "于洋"
+			progress.PrincipalPersonId, progress.PrincipalPerson, err = s.getUserInfo("姜辉")
+			if err != nil {
+				return err
+			}
+			//progress.PrincipalPersonId, progress.PrincipalPerson = 1052, "于洋"
 		}
 		service.SetCreatedInfo(&progress, s.userInfo.Id, s.userInfo.NickName)
 
@@ -837,21 +839,22 @@ func (s DeliverOrderProgressService) CompleteSoftware(ctx context.Context, req *
 	}
 	err = s.Dao.Transaction(ctx, func(ctx context.Context, tx *gdb.TX) error {
 		data := g.Map{
-			"progress_status":          "30",
-			"software_check_time":      req.SoftwareCheckTime,
-			"software_check_file_url":  req.SoftwareCheckFileUrl,
-			"software_check_file_name": req.SoftwareCheckFileName,
-			"software_check_person_id": s.userInfo.Id,
-			"software_check_person":    s.userInfo.NickName,
-			"completed_content":        req.CompletedContent,
-			"completed_work":           req.CompletedWork,
-			"uncompleted_content":      req.UncompletedContent,
-			"uncompleted_work":         req.UncompletedWork,
-			"rea_end_date":             gtime.Now(),
-			"is_delay":                 isDelay,
-			"updated_by":               s.userInfo.Id,
-			"updated_name":             s.userInfo.NickName,
-			"updated_time":             gtime.Now(),
+			"progress_status":             "30",
+			"software_check_time":         req.SoftwareCheckTime,
+			"software_check_file_url":     req.SoftwareCheckFileUrl,
+			"software_check_file_name":    req.SoftwareCheckFileName,
+			"software_check_person_id":    s.userInfo.Id,
+			"software_check_person":       s.userInfo.NickName,
+			"completed_content":           req.CompletedContent,
+			"software_spot_delivery_time": req.SoftwareSpotDeliveryTime,
+			"completed_work":              req.CompletedWork,
+			"uncompleted_content":         req.UncompletedContent,
+			"uncompleted_work":            req.UncompletedWork,
+			"rea_end_date":                gtime.Now(),
+			"is_delay":                    isDelay,
+			"updated_by":                  s.userInfo.Id,
+			"updated_name":                s.userInfo.NickName,
+			"updated_time":                gtime.Now(),
 		}
 		// 更新验收单信息
 		_, err := tx.Update("deliver_order_imp_progress", data, fmt.Sprintf("id='%v'", req.Id))