Browse Source

修正图表统计指标线

v1.1_dev
超级管理员 4 years ago
parent
commit
862fb3a1ce
  1. 89
      README.md
  2. 20
      api/jindie_docking/dockingorganization/controller.go
  3. 2
      api/jindie_docking/dockingorganization/type.go
  4. 4
      config_server/configDatabase/database.yaml
  5. 2
      go.sum
  6. BIN
      hr_server.exe
  7. 19
      identification/authentication.go
  8. 3
      initialization/route/route_entry.go
  9. 4
      log/202206/20220604.log
  10. 175
      log/202206/20220607.log
  11. 2
      main.go

89
README.md

@ -43,16 +43,103 @@
## 加密规则 ## 加密规则
``` ```
1、分解步骤 1、分解步骤
one = md5(CodeString)+md5(AppKey) one = md5(CodeString)+md5(AppKey)
two = md5(one)+AppKey two = md5(one)+AppKey
therr = md5(two) therr = md5(two)
2、合并 2、合并
md5(md5(md5(CodeString)+md5(AppKey))+AppKey) md5(md5(md5(CodeString)+md5(AppKey))+AppKey)
```
## 接口访问规则
1、以POST方式访问 http://xxxx/empower/gaintoken
#### 参数
```json
{
"username":"jindie",
"password":"jindie123"
}
```
| 参数 | 说明 |
|---------|---------|
| username | 账号 |
| password | 密码 |
#### 返回值
```json
{
"code": 0,
"msg": "成功",
"data": {
"token": "6235a9de7109ba50852f3f9d3b3052ae",
"number": "16534571868477"
}
}
``` ```
| 参数 | 说明 | |
|---------|---------|---------|
| code | | 状态码 |
| msg | | 信息 |
| data | | 附加值 |
| | token | Token |
| | number | 随机数 |
1、以POST方式访问 http://xxxx/接口
#### Header参数
| 参数 | 说明 |
|---------|---------|
| token | 获取到得参数 |
| number | 加密后得随机数(参考加密规则) |
| Content-Type | 内容类型 |
| Origin | 站点信息 |
| User-Agent | 用户代理 |
#### Body参数 (接口需要得添加参数)
```json
{
"page":"1",
"pagesize":"20"
}
```
| 参数 | 说明 |
|---------|---------|
| page | 页码 |
| pagesize | 每页显示多少条 |
#### 返回值
```json
{
"code": 0,
"msg": "成功",
"data": {
"count": 20,
"page": 1,
"pageSize": 20,
"total": 1147,
"list": []
}
}
```
| 参数 | 说明 | |
|---------|---------|---------|
| code | | 状态码 |
| msg | | 信息 |
| data | | 附加值 |
| | count | 本页共多少数据 |
| | page | 当前页码 |
| | pageSize | 每页显示多少条 |
| | .... | .... |
## Log ## Log
``` ```
2022.04.19 建立人员信息相关数据模型 2022.04.19 建立人员信息相关数据模型

20
api/jindie_docking/dockingorganization/controller.go

@ -475,6 +475,7 @@ func Position() {
overallhandle.WriteLog("e", "金蝶对照数据!", orgInfo) overallhandle.WriteLog("e", "金蝶对照数据!", orgInfo)
return return
} }
var kingDeeIdAry []string var kingDeeIdAry []string
//批量写入 //批量写入
var batchPosition []models.Position var batchPosition []models.Position
@ -483,6 +484,13 @@ func Position() {
if overallhandle.StringIsInMap(v.Id, kingDeeIdAry) == false { if overallhandle.StringIsInMap(v.Id, kingDeeIdAry) == false {
kingDeeIdAry = append(kingDeeIdAry, v.Id) kingDeeIdAry = append(kingDeeIdAry, v.Id)
} }
// strconv.Atoi(v.FIsRespPosition)
personInt64, _ := strconv.Atoi(v.FIsRespPosition)
//获取职务信息
var zhiwuCont models.Duties
zhiwuCont.GetCont(map[string]interface{}{"kingdeeid": v.FJobID}, "id")
//判断该项是否存在 //判断该项是否存在
var positCont models.Position var positCont models.Position
positContErr := positCont.GetCont(map[string]interface{}{"kingdeeid": v.Id}) positContErr := positCont.GetCont(map[string]interface{}{"kingdeeid": v.Id})
@ -503,6 +511,10 @@ func Position() {
saveData["number"] = v.Fnumber saveData["number"] = v.Fnumber
isEdit = true isEdit = true
} }
if zhiwuCont.Id != positCont.Duties {
saveData["duties"] = zhiwuCont.Id
isEdit = true
}
//获取行政组织 //获取行政组织
var orgCont models.AdministrativeOrganization var orgCont models.AdministrativeOrganization
orgContErr := orgCont.GetCont(map[string]interface{}{"kingdeeid": v.FAdminOrgUnitID}, "id", "superior") orgContErr := orgCont.GetCont(map[string]interface{}{"kingdeeid": v.FAdminOrgUnitID}, "id", "superior")
@ -540,10 +552,16 @@ func Position() {
//获取知行学院及企业微信对照码 //获取知行学院及企业微信对照码
var orgOldCont models.Position var orgOldCont models.Position
orgOldErr := overall.CONSTANT_DB_HR_Jin.Model(&models.Position{}).Select("school,person_in_charge").Where("`number` = ?", v.Fnumber).First(&orgOldCont).Error orgOldErr := overall.CONSTANT_DB_HR_Jin.Model(&models.Position{}).Select("school,person_in_charge").Where("`number` = ?", v.Fnumber).First(&orgOldCont).Error
positCont.PersonInCharge = personInt64
if orgOldErr == nil { if orgOldErr == nil {
positCont.PersonInCharge = orgOldCont.PersonInCharge if personInt64 != orgOldCont.PersonInCharge {
if orgOldCont.PersonInCharge == 1 {
positCont.PersonInCharge = orgOldCont.PersonInCharge
}
}
positCont.School = orgOldCont.School positCont.School = orgOldCont.School
} }
positCont.Duties = zhiwuCont.Id
batchPosition = append(batchPosition, positCont) batchPosition = append(batchPosition, positCont)
// if v.Id == "QBsfJ1fbSKW+3q6eOJltjHSuYS4=" { // if v.Id == "QBsfJ1fbSKW+3q6eOJltjHSuYS4=" {
// fmt.Printf("positCont---->%v\n", positCont) // fmt.Printf("positCont---->%v\n", positCont)

2
api/jindie_docking/dockingorganization/type.go

@ -50,6 +50,8 @@ type positionType struct {
jobClassType jobClassType
FAdminOrgUnitID string `json:"FAdminOrgUnitID"` FAdminOrgUnitID string `json:"FAdminOrgUnitID"`
FParentID string `json:"FParentID"` FParentID string `json:"FParentID"`
FIsRespPosition string `json:"FIsRespPosition"` //0:不是负责人职位;1:是负责人职位
FJobID string `json:"FJobID"` //关联职务
} }
var ( var (

4
config_server/configDatabase/database.yaml

@ -38,7 +38,7 @@ hrdatabase:
password: 'AnknKiXiXaxNrw78' #数据库密码 password: 'AnknKiXiXaxNrw78' #数据库密码
max_idle_conns: 100 #最大空闲数量 max_idle_conns: 100 #最大空闲数量
max_open_conns: 1500 #最大打开数量 max_open_conns: 1500 #最大打开数量
gorm_log: true #是否开启gorm日志 gorm_log: false #是否开启gorm日志
#HR数据库 #HR数据库
hrdatabasejin: hrdatabasejin:
url_path: '127.0.0.1' #数据库地址 url_path: '127.0.0.1' #数据库地址
@ -51,4 +51,4 @@ hrdatabasejin:
password: 'Pinw2dyLNfemtp3z' #数据库密码 password: 'Pinw2dyLNfemtp3z' #数据库密码
max_idle_conns: 100 #最大空闲数量 max_idle_conns: 100 #最大空闲数量
max_open_conns: 1500 #最大打开数量 max_open_conns: 1500 #最大打开数量
gorm_log: true #是否开启gorm日志 gorm_log: false #是否开启gorm日志

2
go.sum

@ -81,8 +81,6 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/robfig/cron/v3 v3.0.0 h1:kQ6Cb7aHOHTSzNVNEhmp8EcWKLb4CbiMW9h9VyIhO4E=
github.com/robfig/cron/v3 v3.0.0/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=

BIN
hr_server.exe

Binary file not shown.

19
identification/authentication.go

@ -19,8 +19,15 @@ func Validator() gin.HandlerFunc {
ContentType := c.Request.Header.Get("Content-Type") ContentType := c.Request.Header.Get("Content-Type")
Origin := c.Request.Header.Get("Origin") Origin := c.Request.Header.Get("Origin")
userAgent := c.Request.Header.Get("User-Agent") userAgent := c.Request.Header.Get("User-Agent")
if ContentType == "" || userToken == "" || userAgent == "" || Origin == "" || randomNumber == "" {
overallhandle.Result(2001, "对不起!您没有访问权限!", c) if ContentType == "" || userToken == "" || userAgent == "" || randomNumber == "" {
iii := overallhandle.MapOut()
iii["ContentType"] = ContentType
iii["userToken"] = userToken
iii["userAgent"] = userAgent
iii["Origin"] = Origin
iii["randomNumber"] = randomNumber
overallhandle.Result(2001, iii, c)
c.Abort() c.Abort()
return return
} }
@ -29,7 +36,13 @@ func Validator() gin.HandlerFunc {
redisClient := grocerystore.RunRedis(overall.CONSTANT_REDIS3) redisClient := grocerystore.RunRedis(overall.CONSTANT_REDIS3)
tokenInfo, isTrue := redisClient.HashGetAll(redisKey) tokenInfo, isTrue := redisClient.HashGetAll(redisKey)
if isTrue != true { if isTrue != true {
overallhandle.Result(2002, "对不起您得令牌已经失效!请重新获取!", c) iii := overallhandle.MapOut()
iii["ContentType"] = ContentType
iii["userToken"] = userToken
iii["userAgent"] = userAgent
iii["Origin"] = Origin
iii["randomNumber"] = randomNumber
overallhandle.Result(2002, iii, c)
c.Abort() c.Abort()
return return
} }

3
initialization/route/route_entry.go

@ -38,6 +38,7 @@ func InitialRouter() *gin.Engine {
permitPowerApi := apirouter.RouterGroupInlet.PermitPowerApi permitPowerApi := apirouter.RouterGroupInlet.PermitPowerApi
//人员档案 //人员档案
staffApi := apirouter.RouterGroupInlet.PersonnelRoute staffApi := apirouter.RouterGroupInlet.PersonnelRoute
// staffApiFuben := apirouter.RouterGroupInlet.PersonnelRoute
//金蝶对接接口 //金蝶对接接口
jinDieDockingApi := apirouter.RouterGroupInlet.KingdeeApiRouter jinDieDockingApi := apirouter.RouterGroupInlet.KingdeeApiRouter
@ -46,6 +47,8 @@ func InitialRouter() *gin.Engine {
empowerApi.InitRouterGroup(appLoadRouterGroup) //获取token empowerApi.InitRouterGroup(appLoadRouterGroup) //获取token
jinDieDockingApi.InitRouterGroup(appLoadRouterGroup) //金蝶对接接口 jinDieDockingApi.InitRouterGroup(appLoadRouterGroup) //金蝶对接接口
// staffApiFuben.InitRouterGroup(appLoadRouterGroup) //人员档案
} }
//身份验证 //身份验证

4
log/202206/20220604.log

File diff suppressed because one or more lines are too long

175
log/202206/20220607.log

File diff suppressed because one or more lines are too long

2
main.go

@ -8,6 +8,8 @@ import (
) )
func main() { func main() {
// gin.SetMode(gin.ReleaseMode)
// gin.DefaultWriter = ioutil.Discard
//加载数据库 //加载数据库
databaseinit.LoadDatabase() databaseinit.LoadDatabase()
//加载Redis //加载Redis

Loading…
Cancel
Save