Browse Source

fix(硬件交付工单)硬件交付工单优化及bug处理:
1.硬件交付工单页面优化:增加详情页面,展示工单的基本信息。
2.点击发货后,销售处拉取不出到货验收的按钮操作。
3.硬件交付工单增加按照项目状态查询。

lk 2 years ago
parent
commit
825ac91d32

+ 1 - 0
opms_parent/app/model/work/deliver_order.go

@@ -46,6 +46,7 @@ type DeliverOrderListReq struct {
 	DeliverManId   int    `json:"deliverManId"`   // 交付经理
 	DeliverManName string `json:"deliverManName"` // 交付经理
 	Product        string `json:"product"`        // 产品线
+	Status         string `json:"status"`         // 交付状态(0发起 10项目立项 15进行中 20完成 30审批拒绝 40关闭)
 }
 
 type DeliverOrderAddReq struct {

+ 11 - 9
opms_parent/app/model/work/deliver_order_imp_progress.go

@@ -24,18 +24,20 @@ type DeliverOrderProgressListReq struct {
 	ProgressLevel     string `json:"progressLevel"`     // 优先级(10最高 20普通 30较低 )
 	IsPrincipalPerson string `json:"isPrincipalPerson"` // 是否按照负责人查询
 	DeliverProgressId int    `json:"deliverProgressId"` // 关联发货任务单Id
+	IsPage            string `json:"isPage"`            // 是否页面展示,需要过滤掉非硬件的任务单
 }
 
 type DeliverOrderProgressAddReq struct {
-	PlanId          int         `json:"planId" v:"required#请输入工单计划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较低 )
+	Remark          string      `json:"remark"`                                       // 备注
 
 }
 

+ 27 - 27
opms_parent/app/model/work/internal/deliver_order.go

@@ -10,34 +10,34 @@ import (
 
 // DeliverOrder is the golang structure for table deliver_order.
 type DeliverOrder struct {
-	Id                   int         `orm:"id,primary"       json:"id"`                         // 主键
-	OrderCode            string      `orm:"order_code"       json:"orderCode"`                  // 交付订单号
-	OrderStatus          string      `orm:"order_status"     json:"orderStatus"`                // 交付状态(10项目立项 20 完成)
-	OrderType            string      `orm:"order_type"       json:"orderType"`                  // 交付类型(10 软件 20 硬件)
-	CustId               int         `orm:"cust_id"          json:"custId"`                     // 关联客户ID
-	CustName             string      `orm:"cust_name"        json:"custName"`                   // 关联客户名称
-	ProjectId            int         `orm:"project_id"       json:"projectId"`                  // 关联项目ID
-	ProjectName          string      `orm:"project_name"     json:"projectName"`                // 关联项目名称
-	ContractId           int         `orm:"contract_id"      json:"contractId"`                 // 关联合同ID
-	ContractCode         string      `orm:"contract_code"    json:"contractCode"`               // 关联合同编号
-	ProjectManId         int         `orm:"project_man_id"   json:"projectManId"`               // 项目经理
-	ProjectManName       string      `orm:"project_man_name" json:"projectManName"`             // 项目经理
-	DeliverManId         int         `orm:"deliver_man_id"   json:"deliverManId"`               // 交付经理
-	DeliverManName       string      `orm:"deliver_man_name" json:"deliverManName"`             // 交付经理
-	Product              string      `orm:"product"          json:"product"`                    // 产品线
-	FinishRemark         string      `orm:"finish_remark"    json:"finishRemark"`               // 完成信息
-	FinishTime           *gtime.Time `orm:"finish_time"      json:"finishTime"`                 // 完成时间
-	FinishBy             int         `orm:"finish_by"        json:"finishBy"`                   // 完成操作人
-	FinishByName         string      `orm:"finish_by_name"   json:"finishByName"`               // 完成操作人
+	Id                   int         `orm:"id,primary"             json:"id"`                   // 主键
+	OrderCode            string      `orm:"order_code"             json:"orderCode"`            // 交付订单号
+	OrderStatus          string      `orm:"order_status"           json:"orderStatus"`          // 交付状态(10项目立项 20 完成)
+	OrderType            string      `orm:"order_type"             json:"orderType"`            // 交付类型(10 软件 20 硬件)
+	CustId               int         `orm:"cust_id"                json:"custId"`               // 关联客户ID
+	CustName             string      `orm:"cust_name"              json:"custName"`             // 关联客户名称
+	ProjectId            int         `orm:"project_id"             json:"projectId"`            // 关联项目ID
+	ProjectName          string      `orm:"project_name"           json:"projectName"`          // 关联项目名称
+	ContractId           int         `orm:"contract_id"            json:"contractId"`           // 关联合同ID
+	ContractCode         string      `orm:"contract_code"          json:"contractCode"`         // 关联合同编号
+	ProjectManId         int         `orm:"project_man_id"         json:"projectManId"`         // 项目经理
+	ProjectManName       string      `orm:"project_man_name"       json:"projectManName"`       // 项目经理
+	DeliverManId         int         `orm:"deliver_man_id"         json:"deliverManId"`         // 交付经理
+	DeliverManName       string      `orm:"deliver_man_name"       json:"deliverManName"`       // 交付经理
+	Product              string      `orm:"product"                json:"product"`              // 产品线
+	FinishRemark         string      `orm:"finish_remark"          json:"finishRemark"`         // 完成信息
+	FinishTime           *gtime.Time `orm:"finish_time"            json:"finishTime"`           // 完成时间
+	FinishBy             int         `orm:"finish_by"              json:"finishBy"`             // 完成操作人
+	FinishByName         string      `orm:"finish_by_name"         json:"finishByName"`         // 完成操作人
 	RequiredDeliveryTime *gtime.Time `orm:"required_delivery_time" json:"requiredDeliveryTime"` // 要求发货时间
 	ReceivingInfo        string      `orm:"receiving_info"         json:"receivingInfo"`        // 收货信息
 	SpecialRequirements  string      `orm:"special_requirements"   json:"specialRequirements"`  // 特殊要求说明
-	Remark               string      `orm:"remark"           json:"remark"`                     // 备注
-	CreatedBy            int         `orm:"created_by"       json:"createdBy"`                  // 创建者
-	CreatedName          string      `orm:"created_name"     json:"createdName"`                // 创建人
-	CreatedTime          *gtime.Time `orm:"created_time"     json:"createdTime"`                // 创建时间
-	UpdatedBy            int         `orm:"updated_by"       json:"updatedBy"`                  // 更新者
-	UpdatedName          string      `orm:"updated_name"     json:"updatedName"`                // 更新人
-	UpdatedTime          *gtime.Time `orm:"updated_time"     json:"updatedTime"`                // 更新时间
-	DeletedTime          *gtime.Time `orm:"deleted_time"     json:"deletedTime"`                // 删除时间
+	Remark               string      `orm:"remark"                 json:"remark"`               // 备注
+	CreatedBy            int         `orm:"created_by"             json:"createdBy"`            // 创建者
+	CreatedName          string      `orm:"created_name"           json:"createdName"`          // 创建人
+	CreatedTime          *gtime.Time `orm:"created_time"           json:"createdTime"`          // 创建时间
+	UpdatedBy            int         `orm:"updated_by"             json:"updatedBy"`            // 更新者
+	UpdatedName          string      `orm:"updated_name"           json:"updatedName"`          // 更新人
+	UpdatedTime          *gtime.Time `orm:"updated_time"           json:"updatedTime"`          // 更新时间
+	DeletedTime          *gtime.Time `orm:"deleted_time"           json:"deletedTime"`          // 删除时间
 }

+ 3 - 0
opms_parent/app/service/work/deliver_order.go

@@ -213,6 +213,9 @@ func (s DeliverOrderService) List(ctx context.Context, req *work.DeliverOrderLis
 	if req.Product != "" {
 		dao = dao.Where("a.product = ?", req.Product)
 	}
+	if req.Status != "" {
+		dao = dao.Where("a.order_status = ?", req.Status)
+	}
 
 	// 分组
 	dao = dao.Group("a.id")

+ 4 - 0
opms_parent/app/service/work/deliver_order_progress.go

@@ -80,6 +80,9 @@ func (s DeliverOrderProgressService) List(ctx context.Context, req *work.Deliver
 	if req.ProgressLevel != "" {
 		dao = dao.Where("progress_level = ?", req.ProgressLevel)
 	}
+	if req.IsPage == "1" {
+		dao = dao.Where("progress_type<>''")
+	}
 
 	if req.IsPrincipalPerson == "1" {
 		if service.StringsContains(s.userInfo.Roles, "SysAdmin") || service.StringsContains(s.userInfo.Roles, "GeneralManager") || service.StringsContains(s.userInfo.Roles, "ResearchAndDevelopmentDirector") {
@@ -128,6 +131,7 @@ func (s DeliverOrderProgressService) Add(ctx context.Context, req *work.DeliverO
 	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,