Browse Source

提交

v2_dev
超级管理员 3 years ago
parent
commit
ac62b0eb43
  1. 53
      api/version1/administrativeorganization/govcont.go
  2. 4
      apirouter/organization/organization_group.go
  3. 11
      overall/overallhandle/overall_handle.go

53
api/version1/administrativeorganization/govcont.go

@ -324,3 +324,56 @@ func (o *OrganizationApi) GetOrgAllSun(c *gin.Context) {
}
overallhandle.Result(0, orgList, c)
}
/*
*
@ 作者: 秦东
@ 时间: 2022-10-26 09:44:40
@ 功能: 获取公司下的所有主行政部门
@ 参数
#
@ 返回值
#
*/
func (o *OrganizationApi) GetCompanyDeparment(c *gin.Context) {
var requestData overallhandle.GetId
c.ShouldBindJSON(&requestData)
if requestData.Id == 0 && requestData.IdStr == "" {
requestData.Id = 0
}
if requestData.IdStr != "" {
idInt64, _ := strconv.ParseInt(requestData.IdStr, 10, 64)
requestData.Id = idInt64
}
orgId := getOrgIdList(requestData.Id)
if len(orgId) < 1 {
overallhandle.Result(101, orgId, c, "没有查询到信息!")
return
}
for i := 0; i < len(orgId); i++ {
sunOrgId := getOrgIdList(orgId[i])
if len(sunOrgId) > 0 {
orgId = overallhandle.HeBingArray(orgId, sunOrgId)
}
}
var orgList []models.AdministrativeOrganization
err := overall.CONSTANT_DB_HR.Model(&models.AdministrativeOrganization{}).Where("`state` = 1 AND `id` IN ?", orgId).Find(&orgList).Error
if err != nil {
overallhandle.Result(101, err, c, "没有查询到信息!")
return
}
overallhandle.Result(0, orgList, c)
}
// 获取行政组织ID
func getOrgIdList(orgId int64) (orgIdList []int64) {
err := overall.CONSTANT_DB_HR.Model(&models.AdministrativeOrganization{}).Select("`id`").Where("`state` = 1 AND `ispower` = 1 AND `organization_type` > 2 AND `superior` = ?", orgId).Find(&orgIdList).Error
if err != nil {
return
}
return
}

4
apirouter/organization/organization_group.go

@ -40,6 +40,8 @@ func (o *OrganizationRoute) InitRouterGroup(route *gin.RouterGroup) {
apiRouter.POST("govthree", apiHandle.GovThree) //行政组织树
apiRouter.POST("getorgallsun", apiHandle.GetOrgAllSun) //获取当前行政组织的所有子类
apiRouter.POST("getcompanydeparment", apiHandle.GetCompanyDeparment) //获取当前行政组织的所有主行政部门
//职位(岗位)
apiRouter.POST("positionlist", apiHandle.PositionList) //职位(岗位)列表
apiRouter.POST("getpositioncont", apiHandle.GetPositionCont) //获取职位(岗位)
@ -92,6 +94,8 @@ func (o *OrganizationRouteOpen) InitRouterGroup(route *gin.RouterGroup) {
apiRouter.POST("govthree", apiHandle.GovThree) //行政组织树
apiRouter.POST("getorgallsun", apiHandle.GetOrgAllSun) //获取当前行政组织的所有子类
apiRouter.POST("getcompanydeparment", apiHandle.GetCompanyDeparment) //获取当前行政组织的所有主行政部门
//职位(岗位)
apiRouter.POST("positionlist", apiHandle.PositionList) //职位(岗位)列表
apiRouter.POST("getpositioncont", apiHandle.GetPositionCont) //获取职位(岗位)

11
overall/overallhandle/overall_handle.go

@ -579,6 +579,17 @@ func DifferenceSet[T GenericityVariable](one, two []T) []T {
return three
}
// 合并两个数组
func HeBingArray[T GenericityVariable](one, two []T) (three []T) {
three = one
for _, val := range two {
if IsInTrue[T](val, three) == false {
three = append(three, val)
}
}
return
}
//判断类型转换成
/*
字符转int

Loading…
Cancel
Save