Parcourir la source

Merge branch 'develop' of http://code.dashoo.cn/chengjian/opms_backend into develop

wangxingcheng il y a 3 ans
Parent
commit
59e968f9f1

+ 1 - 1
opms_admin/app/service/context.go

@@ -156,7 +156,7 @@ func (c *contextService) GetCxtUserName() string {
 	if c.CxtUser == nil {
 		return "-1"
 	}
-	return c.CxtUser.UserName
+	return c.CxtUser.NickName
 }
 
 func (c *contextService) GetCxtUserDeptId() int {

+ 1 - 0
opms_parent/app/model/proj/proj_business.go

@@ -83,6 +83,7 @@ type BusinessProduct struct {
 type BusinessGradationReq struct {
 	Id      int    `json:"id"        v:"required# id不能为空"`                             // 主键
 	NboType string `json:"nboType"        v:"required|in:A,B,C#项目类别不能为空|项目类别只能为A、B、C"` // 项目类别(A类B类C类)
+	Remark  string `json:"remark"`                                                     // 备注
 }
 
 // BusinessTransferReq 项目转移请求

+ 1 - 1
opms_parent/app/service/context.go

@@ -63,7 +63,7 @@ func (c *ContextService) GetCxtUserName() string {
 	if c.CxtUser == nil {
 		return "-1"
 	}
-	return c.CxtUser.UserName
+	return c.CxtUser.NickName
 }
 
 func (c *ContextService) GetCxtUserDeptId() int {

+ 15 - 12
opms_parent/app/service/proj/business.go

@@ -12,6 +12,7 @@ import (
 	"github.com/gogf/gf/frame/g"
 	"github.com/gogf/gf/os/gtime"
 	"github.com/gogf/gf/util/gconv"
+	"strconv"
 	"strings"
 )
 
@@ -65,8 +66,8 @@ func (p *businessService) GetBusinessProduct(id int64) (productList []*model.Pro
 	return
 }
 
-func (p *businessService) GetBusinessDynamics(req *model.BusinessReq) (total int, result g.ListStrAny, err error) {
-	result = make(g.ListStrAny, 0)
+func (p *businessService) GetBusinessDynamics(req *model.BusinessReq) (total int, result g.MapStrAny, err error) {
+	result = make(g.MapStrAny, 0)
 	dynamicsDao := projDao.NewProjBusinessDynamicsDao(p.Tenant).ProjBusinessDynamicsDao.Where(projDao.ProjBusinessDynamics.Columns.BusId, req.BusId)
 	total, err = dynamicsDao.Count()
 	if err != nil {
@@ -74,8 +75,7 @@ func (p *businessService) GetBusinessDynamics(req *model.BusinessReq) (total int
 		return
 	}
 	dynamicsList, err := dynamicsDao.Page(req.GetPage()).Order("created_time desc").All()
-	if err != nil || len(dynamicsList) == 0 {
-		g.Log().Error(err)
+	if err != nil || dynamicsList == nil {
 		return
 	}
 	// 数据树格式转换
@@ -83,10 +83,11 @@ func (p *businessService) GetBusinessDynamics(req *model.BusinessReq) (total int
 	for k, v := range dynamicsList {
 		opnDate := gtime.New(v.OpnDate).Format("Y-m-d")
 		if opnDateFlag == opnDate && k != 0 {
-			result[len(result)-1][opnDate] = append(result[len(result)-1][opnDate].(g.ListStrAny), g.Map{
+			result[opnDate] = append(result[opnDate].(g.ListStrAny), g.Map{
 				"opnPeople":  v.OpnPeople,
 				"opnDate":    v.OpnDate,
 				"opnType":    v.OpnType,
+				"remark":     v.Remark,
 				"opnContent": gconv.Map(v.OpnContent),
 			})
 		} else {
@@ -95,11 +96,10 @@ func (p *businessService) GetBusinessDynamics(req *model.BusinessReq) (total int
 				"opnPeople":  v.OpnPeople,
 				"opnDate":    v.OpnDate,
 				"opnType":    v.OpnType,
+				"remark":     v.Remark,
 				"opnContent": gconv.Map(v.OpnContent),
 			})
-			result = append(result, g.Map{
-				opnDate: temp,
-			})
+			result[opnDate] = temp
 		}
 	}
 	return
@@ -145,7 +145,8 @@ func (p *businessService) Create(req *model.AddProjBusinessReq) (err error) {
 		totalPrice += v.TotalPrice
 		service.SetCreatedInfo(v, p.GetCxtUserId(), p.GetCxtUserName())
 	}
-
+	businessData.NboCode = "NBO" + strconv.Itoa(int(gtime.Timestamp()))
+	businessData.NboStatus = "10"
 	businessData.NboType = "C"
 	businessData.ApproStatus = "10"
 	businessData.EstTransPrice = totalPrice
@@ -291,10 +292,8 @@ func (p *businessService) BusinessGradation(req *model.BusinessGradationReq) err
 		return myerrors.NewMsgError(nil, "同级无法进行调级。")
 	}
 	opnType := "40"
-	opnContent := "项目升级 " + business.NboType + " => " + req.NboType
 	// A < B return -1 项目降级
 	if strings.Compare(business.NboType, req.NboType) < 0 {
-		opnContent = "项目降级 " + business.NboType + " => " + req.NboType
 		opnType = "50"
 	}
 
@@ -312,8 +311,12 @@ func (p *businessService) BusinessGradation(req *model.BusinessGradationReq) err
 		dynamics := model.ProjBusinessDynamics{
 			BusId:   business.Id,
 			OpnType: opnType,
+			Remark:  req.Remark,
 		}
-		err = p.CreateProjBusinessDynamics(tx, dynamics, opnContent)
+		err = p.CreateProjBusinessDynamics(tx, dynamics, g.Map{
+			"origNboType": business.NboType,
+			"nboType":     req.NboType,
+		})
 		return err
 	})
 	return err

+ 37 - 2
opms_parent/app/service/proj/business_contact.go

@@ -6,6 +6,8 @@ import (
 	projDao "dashoo.cn/micro/app/dao/proj"
 	projModel "dashoo.cn/micro/app/model/proj"
 	"dashoo.cn/micro/app/service"
+	"dashoo.cn/opms_libary/myerrors"
+	"github.com/gogf/gf/database/gdb"
 	"github.com/gogf/gf/frame/g"
 )
 
@@ -52,11 +54,44 @@ func (p *businessContactService) Create(req *projModel.BusinessContactReq) (err
 		service.SetCreatedInfo(data, p.GetCxtUserId(), p.GetCxtUserName())
 		contactList = append(contactList, data)
 	}
-	_, err = p.Dao.Insert(&contactList)
+	b, _ := NewBusinessService(p.Ctx)
+	err = p.Dao.Transaction(context.TODO(), func(ctx context.Context, tx *gdb.TX) error {
+		_, err = p.Dao.Insert(&contactList)
+		if err != nil {
+			return err
+		}
+		// 添加项目动态
+		dynamics := projModel.ProjBusinessDynamics{
+			BusId:   req.BusId,
+			OpnType: "70",
+		}
+		err = b.CreateProjBusinessDynamics(tx, dynamics, nil)
+		return err
+	})
 	return
 }
 
 func (p *businessContactService) DeleteByIds(ids []int64) (err error) {
-	_, err = p.Dao.WhereIn(projDao.ProjBusinessContact.Columns.Id, ids).Delete()
+	result, err := p.Dao.Where(projDao.ProjBusinessContact.Columns.Id+" IN(?)", ids).One()
+	if err != nil {
+		return err
+	}
+	if result == nil {
+		return myerrors.NewMsgError(nil, "联系人不存在")
+	}
+	b, _ := NewBusinessService(p.Ctx)
+	err = p.Dao.Transaction(context.TODO(), func(ctx context.Context, tx *gdb.TX) error {
+		_, err = p.Dao.WhereIn(projDao.ProjBusinessContact.Columns.Id, ids).Delete()
+		if err != nil {
+			return err
+		}
+		// 添加项目动态
+		dynamics := projModel.ProjBusinessDynamics{
+			BusId:   result.BusId,
+			OpnType: "80",
+		}
+		err = b.CreateProjBusinessDynamics(tx, dynamics, nil)
+		return err
+	})
 	return
 }