Browse Source

修改日历接口逻辑

tuoling805 2 years ago
parent
commit
e8324cb74d

+ 54 - 1
controllers/business_trip/business_calendar.go

@@ -1,7 +1,10 @@
 package business_trip
 
 import (
+	"hongze/hongze_mobile_admin/models/tables/admin"
 	"hongze/hongze_mobile_admin/models/tables/business_trip"
+	"strconv"
+	"strings"
 )
 
 // ResearcherReportList
@@ -46,7 +49,27 @@ func (this *BusinessTrip) BusinessTripCalendar() {
 		this.FailWithMessage("获取数据失败!", "获取数据失败,GetBusinessTripApproveList,Err:"+err.Error())
 		return
 	}
+	var peerIdArr []string
+	for _, v := range list {
+		if v.PeerPeopleId != "" {
+			peerId := strings.Split(v.PeerPeopleId, ",")
+			peerIdArr = append(peerIdArr, peerId...)
+		}
+	}
 
+	adminMap := make(map[int]*admin.Admin)
+
+	if len(peerIdArr) > 0 {
+		peerIdStr := strings.Join(peerIdArr, ",")
+		adminList, err := admin.GetAdminListByIds(peerIdStr)
+		if err != nil {
+			this.FailWithMessage("获取数据失败!", "获取数据失败,GetBusinessTripApproveList,Err:"+err.Error())
+			return
+		}
+		for _, av := range adminList {
+			adminMap[av.AdminId] = av
+		}
+	}
 	approveList := make([]*business_trip.BusinessTripApproveView, 0)
 	listLen := len(list)
 	for i := 0; i < listLen; i++ {
@@ -56,7 +79,7 @@ func (this *BusinessTrip) BusinessTripCalendar() {
 		list[i].DayTotal = dayCount
 
 		var groupName string
-		switch item.DepartmentTd {
+		switch item.DepartmentId {
 		case 1:
 			groupName = "研究员"
 		case 2, 4, 5, 9:
@@ -84,6 +107,36 @@ func (this *BusinessTrip) BusinessTripCalendar() {
 		//		approveList = append(approveList, peerItem)
 		//	}
 		//}
+		if item.PeerPeopleId != "" {
+			PeerItems := make([]*business_trip.PeerItem, 0)
+			peerSplitIdArr := strings.Split(item.PeerPeopleId, ",")
+			for _, v := range peerSplitIdArr {
+				peerItem := new(business_trip.PeerItem)
+				peerId, err := strconv.Atoi(v)
+				if err != nil {
+					this.FailWithMessage("申请失败!", "同行人id失败,Err:"+err.Error())
+					return
+				}
+				peerAdmin := adminMap[peerId]
+				if peerAdmin != nil {
+					peerItem.PeerPeopleId = peerAdmin.AdminId
+					peerItem.PeerPeopleName = peerAdmin.RealName
+					switch peerAdmin.DepartmentId {
+					case 1:
+						groupName = "研究员"
+					case 2, 4, 5, 9:
+						groupName = "销售"
+					case 3, 6, 7, 8:
+						groupName = "其他"
+					default:
+						groupName = "其他"
+					}
+					peerItem.PeerGroupName = groupName
+				}
+				PeerItems = append(PeerItems, peerItem)
+			}
+			list[i].PeerPeopleList = PeerItems
+		}
 	}
 
 	this.OkDetailed(list, "获取成功")

+ 18 - 11
models/tables/admin/admin.go

@@ -44,7 +44,7 @@ func CheckAdmin(userName, password string) (item *Admin, err error) {
 	return
 }
 
-//根据管理员id获取管理员信息
+// 根据管理员id获取管理员信息
 func GetAdminById(adminId int) (item *Admin, err error) {
 	sql := `SELECT * FROM admin WHERE admin_id=? LIMIT 1`
 	o := orm.NewOrm()
@@ -52,7 +52,7 @@ func GetAdminById(adminId int) (item *Admin, err error) {
 	return
 }
 
-//根据权限code获取系统用户列表
+// 根据权限code获取系统用户列表
 func GetAdminListByRoleCode(roleTypeCode string) (items []*Admin, err error) {
 	sql := `SELECT * FROM admin WHERE role_type_code=? and enabled=1  `
 	o := orm.NewOrm()
@@ -60,7 +60,7 @@ func GetAdminListByRoleCode(roleTypeCode string) (items []*Admin, err error) {
 	return
 }
 
-//根据权限id获取系统用户列表
+// 根据权限id获取系统用户列表
 func GetAdminListByRoleId(roleId string) (items []*Admin, err error) {
 	sql := `SELECT * FROM admin WHERE role_id=? and enabled=1  `
 	o := orm.NewOrm()
@@ -68,7 +68,7 @@ func GetAdminListByRoleId(roleId string) (items []*Admin, err error) {
 	return
 }
 
-//根据用户id字符串获取系统用户列表
+// 根据用户id字符串获取系统用户列表
 func GetAdminListByIds(ids string) (items []*Admin, err error) {
 	sql := `SELECT * FROM admin WHERE admin_id in (` + ids + `) and enabled=1 `
 	o := orm.NewOrm()
@@ -76,7 +76,7 @@ func GetAdminListByIds(ids string) (items []*Admin, err error) {
 	return
 }
 
-//根据管理员id获取管理员信息(包含微信、第三方信息)
+// 根据管理员id获取管理员信息(包含微信、第三方信息)
 func GetAdminWxById(adminId int) (item *custom.AdminWx, err error) {
 	sql := `SELECT * FROM admin WHERE admin_id=? LIMIT 1`
 	o := orm.NewOrm()
@@ -137,10 +137,9 @@ type BindMobileReq struct {
 }
 type WxLoginResp struct {
 	BindToken string
-	BindFlag bool
+	BindFlag  bool
 }
 
-
 type WxSmsResp struct {
 	SmsFlag  bool
 	BindFlag bool
@@ -154,7 +153,6 @@ func GetAdminWxByAdminOpenId(openId string) (item *Admin, err error) {
 	return
 }
 
-
 // GetAdminByMobile 根据手机号 获取管理员信息
 func GetAdminByMobile(mobile string) (item *Admin, err error) {
 	sql := `SELECT * FROM admin WHERE mobile=? LIMIT 1`
@@ -162,8 +160,9 @@ func GetAdminByMobile(mobile string) (item *Admin, err error) {
 	err = o.Raw(sql, mobile).QueryRow(&item)
 	return
 }
+
 // UpdateAdminOpenIdUnionId 更新openId
-func UpdateAdminOpenIdUnionId(adminId int, openId, unionId string) (err error)  {
+func UpdateAdminOpenIdUnionId(adminId int, openId, unionId string) (err error) {
 	o := orm.NewOrm()
 	sql := `UPDATE admin
 			SET
@@ -173,10 +172,11 @@ func UpdateAdminOpenIdUnionId(adminId int, openId, unionId string) (err error)
 }
 
 type OpenIdList struct {
-	OpenId string
+	OpenId  string
 	AdminId int
 }
-//GetOpenIdListByMobile 根据手机号获取用户的openid列表
+
+// GetOpenIdListByMobile 根据手机号获取用户的openid列表
 func GetOpenIdListByMobile(mobile, openIdStr string) (items []*OpenIdList, err error) {
 	sql := `SELECT admin_id, open_id FROM admin 
           WHERE open_id != "" and mobile=? `
@@ -186,3 +186,10 @@ func GetOpenIdListByMobile(mobile, openIdStr string) (items []*OpenIdList, err e
 	_, err = orm.NewOrm().Raw(sql, mobile).QueryRows(&items)
 	return
 }
+
+func GetAdminWxByIdS(adminIdStr string) (items []*custom.AdminWx, err error) {
+	sql := `SELECT * FROM admin WHERE admin_id IN(` + adminIdStr + `)`
+	o := orm.NewOrm()
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 18 - 11
models/tables/business_trip/business_approve.go

@@ -23,17 +23,24 @@ type BusinessTripApproveView struct {
 	Transportation  string    `description:"交通工具"`
 	PeerPeopleId    string    `description:"同行人id"`
 	PeerPeopleName  string    `description:"同行人"`
-	Status          string    `description:"状态:'待审批','已审批','已驳回','已撤回','已过期'"`
-	ApproveId       int       `description:"审批人id"`
-	ApproveName     string    `description:"审批人姓名"`
-	RefuseReason    string    `description:"拒绝理由"`
-	RefuseTime      string    `description:"拒绝时间"`
-	ApproveTime     string    `description:"审批时间"`
-	CreateTime      string    `description:"创建时间"`
-	ModifyTime      string    `description:"修改时间"`
-	DepartmentTd    int       `json:"-"`
-	GroupName       string    `description:"分组"`
-	DayTotal        int       `description:"出差天数"`
+	PeerPeopleList  []*PeerItem
+	Status          string `description:"状态:'待审批','已审批','已驳回','已撤回','已过期'"`
+	ApproveId       int    `description:"审批人id"`
+	ApproveName     string `description:"审批人姓名"`
+	RefuseReason    string `description:"拒绝理由"`
+	RefuseTime      string `description:"拒绝时间"`
+	ApproveTime     string `description:"审批时间"`
+	CreateTime      string `description:"创建时间"`
+	ModifyTime      string `description:"修改时间"`
+	DepartmentId    int
+	GroupName       string `description:"分组"`
+	DayTotal        int    `description:"出差天数"`
+}
+
+type PeerItem struct {
+	PeerPeopleId   int    `description:"同行人id"`
+	PeerPeopleName string `description:"同行人"`
+	PeerGroupName  string
 }
 
 func GetBusinessTripApproveList(condition string, pars []interface{}) (list []*BusinessTripApproveView, err error) {