|
|
@@ -77,6 +77,7 @@ func NewDeliverOrderService(ctx context.Context) (*DeliverOrderService, error) {
|
|
|
|
|
|
func (s DeliverOrderService) Get(ctx context.Context, id int) (*work.DeliverOrderGetRsp, error) {
|
|
|
number := 0
|
|
|
+ number2 := 0
|
|
|
ent, err := s.Dao.Where("Id = ?", id).One()
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
@@ -115,6 +116,11 @@ func (s DeliverOrderService) Get(ctx context.Context, id int) (*work.DeliverOrde
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
+ // 安装单数量
|
|
|
+ number2, err = s.Dao.DB.Model("deliver_order_imp_progress").Where(fmt.Sprintf("deliver_order_id='%v' AND progress_type='30'", id)).Count()
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
|
|
|
return &work.DeliverOrderGetRsp{
|
|
|
DeliverOrder: *ent,
|
|
|
@@ -123,13 +129,14 @@ func (s DeliverOrderService) Get(ctx context.Context, id int) (*work.DeliverOrde
|
|
|
ProgressProducts: progressProducts,
|
|
|
SaleId: saleId,
|
|
|
Number: number + 1,
|
|
|
+ Number2: number2 + 1,
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
func (s DeliverOrderService) List(ctx context.Context, req *work.DeliverOrderListReq) (int, []*work.DeliverOrderInfo, error) {
|
|
|
g.Log().Infof("DeliverOrderService List roles %v", s.userInfo.Roles)
|
|
|
//dao := s.Dao.DeliverOrderDao.As("a").LeftJoin("ctr_contract b", "a.contract_id=b.id").Unscoped().Where("a.deleted_time is null") // 改为关联项目
|
|
|
- dao := s.Dao.DeliverOrderDao.As("a").LeftJoin("proj_business b", "a.project_id=b.id").LeftJoin("deliver_order_product p", "p.deliver_order_id=a.id").Unscoped().Where("a.deleted_time is null")
|
|
|
+ dao := s.Dao.DeliverOrderDao.As("a").LeftJoin("ctr_contract b", "a.contract_id=b.id").LeftJoin("deliver_order_product p", "p.deliver_order_id=a.id").Unscoped().Where("a.deleted_time is null")
|
|
|
where := ""
|
|
|
// 系统管理员、研发主管、研发总监、品质主管、总经理、销售总监、销售助理看全部的
|
|
|
if service.StringsContains(s.userInfo.Roles, "ResearchAndDevelopmentDirector") || service.StringsContains(s.userInfo.Roles, "ResearchAndDevelopmentSupervisor") || service.StringsContains(s.userInfo.Roles, "QualityAssuranceSupervisor") || service.StringsContains(s.userInfo.Roles, "GeneralManager") || service.StringsContains(s.userInfo.Roles, "SalesDirector") || service.StringsContains(s.userInfo.Roles, "SaleAssociate") || service.StringsContains(s.userInfo.Roles, "SysAdmin") {
|
|
|
@@ -165,13 +172,13 @@ func (s DeliverOrderService) List(ctx context.Context, req *work.DeliverOrderLis
|
|
|
// 大区经理看所管理的销售的(包括自己)
|
|
|
}
|
|
|
if service.StringsContains(s.userInfo.Roles, "RegionalManager") {
|
|
|
- where1 += fmt.Sprintf(" OR b.sale_id IN (SELECT id FROM sys_user WHERE dept_id='%v')", s.userInfo.DeptId)
|
|
|
+ where1 += fmt.Sprintf(" OR b.incharge_id IN (SELECT id FROM sys_user WHERE dept_id='%v')", s.userInfo.DeptId)
|
|
|
//dao = dao.Where(fmt.Sprintf("b.sale_id IN (SELECT id FROM sys_user WHERE dept_id='%v')", s.userInfo.DeptId))
|
|
|
// 销售工程师看自己负责的项目的
|
|
|
}
|
|
|
if service.StringsContains(s.userInfo.Roles, "SalesEngineer") {
|
|
|
- where1 += fmt.Sprintf(" OR b.sale_id='%v'", s.userInfo.Id)
|
|
|
- //dao = dao.Where("b.sale_id = ?", s.userInfo.Id)
|
|
|
+ where1 += fmt.Sprintf(" OR b.incharge_id='%v'", s.userInfo.Id)
|
|
|
+ //dao = dao.Where("b.incharge_id = ?", s.userInfo.Id)
|
|
|
}
|
|
|
where1 += ")"
|
|
|
where = where1
|
|
|
@@ -245,7 +252,7 @@ func (s DeliverOrderService) List(ctx context.Context, req *work.DeliverOrderLis
|
|
|
dao = dao.Order(orderby)
|
|
|
|
|
|
var ents []*work.DeliverOrderInfo
|
|
|
- err = dao.Fields("a.*, group_concat(p.product_name) products, b.sale_id").Structs(&ents)
|
|
|
+ err = dao.Fields("a.*, group_concat(p.product_name) products, b.incharge_id saleId, b.signatory_unit").Structs(&ents)
|
|
|
if err != nil && err != sql.ErrNoRows {
|
|
|
return 0, nil, err
|
|
|
}
|