Browse Source

贯通权限

master
herenshan112 5 days ago
parent
commit
c6958c7703
  1. 4
      api/version1/customerform/calendarData.go
  2. 6
      api/version1/customerform/formTableView.go
  3. 8
      api/version1/customerform/tableList.go
  4. 8
      api/version1/taskplatform/taskflowing/appTaskFlow.go
  5. 6
      api/version1/taskplatform/taskmanagement/appControl.go
  6. 12
      api/version1/taskplatform/taskmanagement/appform.go
  7. 66
      overall/publicmethod/getUserPower.go

4
api/version1/customerform/calendarData.go

@ -166,7 +166,7 @@ func (c *CalendarList) HaveEveryDayData(day TimeAryInfo, formInfo modelAppPlatfo
fmt.Printf("语句6===》%v\n", whySql)
gormDb = gormDb.Where(whySql)
}
myPower := publicmethod.GetMyFormPower(userCont.Key, formInfo.Groupid, formInfo.SignCode)
//Step 2 权限处理
var powerSearch publicmethod.GainUserPower
powerSearch.SystemName = "appsystem" //系统名称
@ -175,7 +175,7 @@ func (c *CalendarList) HaveEveryDayData(day TimeAryInfo, formInfo modelAppPlatfo
powerSearch.PostId = userCont.Position //岗位
powerSearch.AppKey = formInfo.Groupid //归属哪个App
powerSearch.TableId = formInfo.CfId //归属哪个表格
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource)
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource, myPower)
var formList []map[string]interface{}
err := gormDb.Order("`id` DESC").Find(&formList).Error

6
api/version1/customerform/formTableView.go

@ -49,12 +49,12 @@ func (a *ApiMethod) MultiViewPAge(c *gin.Context) {
var userCont modelshr.ManCont
userCont.GetLoginCont(context) //当前操作人
var formInfo modelAppPlatform.CustomerFormView
err := formInfo.GetCont(map[string]interface{}{"`cfid`": requestData.FormId, "`status`": 1}, "`tablekey`", "`table_structure`", "`mastesform`", "`mastesformjson`", "`listjson`", "`flowIsOpen`", "`flowkey`", "`listJsonInfo`")
err := formInfo.GetCont(map[string]interface{}{"`cfid`": requestData.FormId, "`status`": 1}, "`tablekey`", "`table_structure`", "`mastesform`", "`mastesformjson`", "`listjson`", "`flowIsOpen`", "`flowkey`", "`listJsonInfo`", "`signCode`")
if err != nil {
publicmethod.Result(1, err, c, "未知表单!无法获取字段!")
return
}
myPower := publicmethod.GetMyFormPower(userCont.Key, formInfo.Groupid, formInfo.SignCode)
//解析表单列表数据结构
var formJsonCont CustomerFormMaster
json.Unmarshal([]byte(formInfo.MastesFormJson), &formJsonCont)
@ -77,7 +77,7 @@ func (a *ApiMethod) MultiViewPAge(c *gin.Context) {
powerSearch.PostId = userCont.Position //岗位
powerSearch.AppKey = formInfo.Groupid //归属哪个App
powerSearch.TableId = formInfo.CfId //归属哪个表格
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource)
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource, myPower)
var total int64
totalErr := gormDb.Count(&total).Error

8
api/version1/customerform/tableList.go

@ -56,12 +56,12 @@ func (a *ApiMethod) TableCusterField(c *gin.Context) {
//获取表单数据
var formInfo modelAppPlatform.CustomerFormView
err = formInfo.GetCont(map[string]interface{}{"`cfid`": requestData.FormId, "`status`": 1}, "`tablekey`", "`table_structure`", "`mastesform`", "`mastesformjson`", "`listjson`", "`flowIsOpen`", "`flowkey`", "`groupid`", "`cfid`")
err = formInfo.GetCont(map[string]interface{}{"`cfid`": requestData.FormId, "`status`": 1}, "`tablekey`", "`table_structure`", "`mastesform`", "`mastesformjson`", "`listjson`", "`flowIsOpen`", "`flowkey`", "`groupid`", "`cfid`", "`signCode`")
if err != nil {
publicmethod.Result(1, err, c, "未知表单!无法获取字段!")
return
}
myPower := publicmethod.GetMyFormPower(userCont.Key, formInfo.Groupid, formInfo.SignCode)
//解析表单列表数据结构
var formJsonCont CustomerFormMaster
json.Unmarshal([]byte(formInfo.MastesFormJson), &formJsonCont)
@ -100,7 +100,7 @@ func (a *ApiMethod) TableCusterField(c *gin.Context) {
powerSearch.PostId = userCont.Position //岗位
powerSearch.AppKey = formInfo.Groupid //归属哪个App
powerSearch.TableId = formInfo.CfId //归属哪个表格
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource)
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource, myPower)
//Step 4 获取一共有多少条数据
totalErr := gormDb.Count(&total).Error
@ -128,7 +128,7 @@ func (a *ApiMethod) TableCusterField(c *gin.Context) {
powerSearch.PostId = userCont.Position //岗位
powerSearch.AppKey = formInfo.Groupid //归属哪个App
powerSearch.TableId = formInfo.CfId //归属哪个表格
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource)
gormDb = powerSearch.MakeSearchSql(gormDb, userCont, formJsonCont.Form.DataSource, myPower)
//Step 3 获取一共有多少条数据
totalErr := gormDb.Count(&total).Error

8
api/version1/taskplatform/taskflowing/appTaskFlow.go

@ -546,7 +546,7 @@ func (a *ApiMethod) SaveDraftAgain(c *gin.Context) {
masterUnitList[v.Name] = v
}
sendInfo := publicmethod.MapOut[string]()
masrWriteMap := taskmanagement.MakeFormMapData(formCont.Flowkey, userCont.Key, userCont.AdminOrg, cureeTime, masterField, masterUnitList, 2)
masrWriteMap := taskmanagement.MakeFormMapData(formCont.Flowkey, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, masterField, masterUnitList, 2)
if len(masrWriteMap) > 0 {
oldMasterData, _ := taskmanagement.MasterTableHandle(formCont.TableKey, userCont.Key, cureeTime, masrWriteMap)
sendInfo["oldMasterData"] = oldMasterData
@ -558,7 +558,7 @@ func (a *ApiMethod) SaveDraftAgain(c *gin.Context) {
for _, v := range formUnitCont.SunFormInfo {
sunTypeAry[v.TableName] = v.UbitInfo
}
sunTableData := EditSunDatabase(formCont.Flowkey, userCont.Key, userCont.AdminOrg, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
sunTableData := EditSunDatabase(formCont.Flowkey, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
sendInfo["sunTableData"] = sunTableData
if len(sunTableData) > 0 {
sonList, _ := taskmanagement.SonTableHandle(taskId, userCont.Key, cureeTime, sunFieldAry)
@ -669,7 +669,7 @@ func (a *ApiMethod) AfreshAppSubmit(c *gin.Context) {
masterUnitList[v.Name] = v
}
sendInfo := publicmethod.MapOut[string]()
masrWriteMap := taskmanagement.MakeFormMapData(formCont.Flowkey, userCont.Key, userCont.AdminOrg, cureeTime, masterField, masterUnitList, 2)
masrWriteMap := taskmanagement.MakeFormMapData(formCont.Flowkey, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, masterField, masterUnitList, 2)
if len(masrWriteMap) > 0 {
oldMasterData, _ := taskmanagement.MasterTableHandle(formCont.TableKey, userCont.Key, cureeTime, masrWriteMap)
sendInfo["oldMasterData"] = oldMasterData
@ -681,7 +681,7 @@ func (a *ApiMethod) AfreshAppSubmit(c *gin.Context) {
for _, v := range formUnitCont.SunFormInfo {
sunTypeAry[v.TableName] = v.UbitInfo
}
sunTableData := EditSunDatabase(formCont.Flowkey, userCont.Key, userCont.AdminOrg, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
sunTableData := EditSunDatabase(formCont.Flowkey, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
sendInfo["sunTableData"] = sunTableData
if len(sunTableData) > 0 {
sonList, _ := taskmanagement.SonTableHandle(taskId, userCont.Key, cureeTime, sunFieldAry)

6
api/version1/taskplatform/taskmanagement/appControl.go

@ -102,7 +102,7 @@ func (a *ApiMethod) CreateAppTask(c *gin.Context) {
masterUnitList[v.Name] = v
}
masrWriteMap := MakeFormMapData(uuid, userCont.Key, userCont.AdminOrg, cureeTime, masterField, masterUnitList, 1)
masrWriteMap := MakeFormMapData(uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, masterField, masterUnitList, 1)
masrWriteMap["flowIsOpen"] = formCont.FlowIsOpen
//任务列表
var taskCont customerForm.TaskRecord
@ -149,7 +149,7 @@ func (a *ApiMethod) CreateAppTask(c *gin.Context) {
sunTypeAry[v.TableName] = v.UbitInfo
}
err = WriteSunDatabaseSoucer(sqlDborm, uuid, userCont.Key, userCont.AdminOrg, cureeTime, formJsonCont.Form.DataSourceConfig.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
err = WriteSunDatabaseSoucer(sqlDborm, uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, formJsonCont.Form.DataSourceConfig.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
} else {
// //无子表
@ -165,7 +165,7 @@ func (a *ApiMethod) CreateAppTask(c *gin.Context) {
sunTypeAry[v.TableName] = v.UbitInfo
}
err = WriteSunDatabase(uuid, userCont.Key, userCont.AdminOrg, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
err = WriteSunDatabase(uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
} else {
// //无子表

12
api/version1/taskplatform/taskmanagement/appform.go

@ -513,7 +513,7 @@ func (a *ApiMethod) CustomerFormEditData(c *gin.Context) {
masterUnitList[v.Name] = v
}
uuid, _ := strconv.ParseInt(mapData["formId"].(string), 10, 64)
masrWriteMap := MakeFormMapData(uuid, userCont.Key, userCont.AdminOrg, cureeTime, masterField, masterUnitList, 2)
masrWriteMap := MakeFormMapData(uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, masterField, masterUnitList, 2)
//判断是否
if len(sunFieldAry) > 0 {
@ -523,7 +523,7 @@ func (a *ApiMethod) CustomerFormEditData(c *gin.Context) {
for _, v := range formUnitCont.SunFormInfo {
sunTypeAry[v.TableName] = v.UbitInfo
}
err = EditWriteSunDatabase(uuid, userCont.Key, userCont.AdminOrg, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
err = EditWriteSunDatabase(uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
} else {
err = overall.CONSTANT_DB_CustomerForm.Table(formCont.TableKey).Where("`masters_key` = ?", uuid).Updates(masrWriteMap).Error
@ -1017,7 +1017,7 @@ func CustomerFormCallBackVal(val map[string]interface{}, valClass map[string]cus
#
*/
func EditWriteSunDatabase(uuid, creater, createrOrgId, createrTime int64, masterTableName string, masterDataCont, sunDataList map[string]interface{}, sunTable map[string]map[string]customerform.MasterStruct) (err error) {
func EditWriteSunDatabase(uuid, creater, createrOrgId, createrPositon, createrTime int64, masterTableName string, masterDataCont, sunDataList map[string]interface{}, sunTable map[string]map[string]customerform.MasterStruct) (err error) {
if len(masterDataCont) > 0 {
if len(sunDataList) > 0 {
sunMasterMap := publicmethod.MapOut[string]()
@ -1035,7 +1035,7 @@ func EditWriteSunDatabase(uuid, creater, createrOrgId, createrTime int64, master
for _, sv := range s { //拆分子表
if sdf, isOk := sv.(map[string]interface{}); isOk {
if sunTableType, sunIsOk := sunTable[k]; sunIsOk {
masterWriteVal := MakeFormMapData(uuid, creater, createrOrgId, createrTime, sdf, sunTableType, 2) //转换数据表值
masterWriteVal := MakeFormMapData(uuid, creater, createrOrgId, createrPositon, createrTime, sdf, sunTableType, 2) //转换数据表值
if len(masterWriteVal) > 0 {
sunCont = append(sunCont, masterWriteVal)
}
@ -1214,7 +1214,7 @@ func (a *ApiMethod) NewCustomerFormEditData(c *gin.Context) {
masterUnitList[v.Name] = v
}
uuid, _ := strconv.ParseInt(mapData["flowKey"].(string), 10, 64)
masrWriteMap := MakeFormMapData(uuid, userCont.Key, userCont.AdminOrg, cureeTime, masterField, masterUnitList, 2)
masrWriteMap := MakeFormMapData(uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, masterField, masterUnitList, 2)
//判断是否
if len(sunFieldAry) > 0 {
@ -1224,7 +1224,7 @@ func (a *ApiMethod) NewCustomerFormEditData(c *gin.Context) {
for _, v := range formUnitCont.SunFormInfo {
sunTypeAry[v.TableName] = v.UbitInfo
}
err = EditWriteSunDatabase(uuid, userCont.Key, userCont.AdminOrg, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
err = EditWriteSunDatabase(uuid, userCont.Key, userCont.AdminOrg, userCont.Position, cureeTime, formCont.TableKey, masrWriteMap, sunFieldAry, sunTypeAry)
} else {
err = overall.CONSTANT_DB_CustomerForm.Table(formCont.TableKey).Where("`masters_key` = ?", uuid).Updates(masrWriteMap).Error

66
overall/publicmethod/getUserPower.go

@ -222,38 +222,38 @@ func (g *GainUserPower) GetUserPower() (powerInfo SendUserPower) {
#
*/
func (g *GainUserPower) MakeSearchSql(gormDb *gorm.DB, userCont modelshr.ManCont, isOdeb string, appFormPower AppMyPowerTable) *gorm.DB {
powerInfo := g.GetUserPower()
// js, _ := json.Marshal(powerInfo)
fmt.Printf("\n\n\n等级-----%v--- ---->%v\n\n\n", isOdeb, powerInfo)
if isOdeb == "yes" {
switch powerInfo.AppSystem.Level {
case 2, 3, 4, 5:
if len(powerInfo.AppSystem.OrgList) > 0 {
gormDb = gormDb.Where("`createrOrg` IN ?", powerInfo.AppSystem.OrgList)
} else {
gormDb = gormDb.Where("`creater` = ?", userCont.Key)
}
case 6:
default:
gormDb = gormDb.Where("`creater` = ?", userCont.Key)
}
} else {
switch powerInfo.AppSystem.Level {
case 2, 3, 4, 5:
if len(powerInfo.AppSystem.OrgList) > 0 {
gormDb = gormDb.Where("f.`createrOrg` IN ?", powerInfo.AppSystem.OrgList)
} else {
gormDb = gormDb.Where("f.`creater` = ?", userCont.Key)
}
fmt.Printf("语句7===》%v\n", powerInfo.AppSystem)
case 6:
fmt.Printf("语句8===》%v\n", powerInfo.AppSystem)
default:
fmt.Printf("语句9===》%v\n", powerInfo.AppSystem)
// gormDb = gormDb.Where("f.`creater` = ?", userCont.Key)
}
}
// powerInfo := g.GetUserPower()
// // js, _ := json.Marshal(powerInfo)
// fmt.Printf("\n\n\n等级-----%v--- ---->%v\n\n\n", isOdeb, powerInfo)
// if isOdeb == "yes" {
// switch powerInfo.AppSystem.Level {
// case 2, 3, 4, 5:
// if len(powerInfo.AppSystem.OrgList) > 0 {
// gormDb = gormDb.Where("`createrOrg` IN ?", powerInfo.AppSystem.OrgList)
// } else {
// gormDb = gormDb.Where("`creater` = ?", userCont.Key)
// }
// case 6:
// default:
// gormDb = gormDb.Where("`creater` = ?", userCont.Key)
// }
// } else {
// switch powerInfo.AppSystem.Level {
// case 2, 3, 4, 5:
// if len(powerInfo.AppSystem.OrgList) > 0 {
// gormDb = gormDb.Where("f.`createrOrg` IN ?", powerInfo.AppSystem.OrgList)
// } else {
// gormDb = gormDb.Where("f.`creater` = ?", userCont.Key)
// }
// fmt.Printf("语句7===》%v\n", powerInfo.AppSystem)
// case 6:
// fmt.Printf("语句8===》%v\n", powerInfo.AppSystem)
// default:
// fmt.Printf("语句9===》%v\n", powerInfo.AppSystem)
// // gormDb = gormDb.Where("f.`creater` = ?", userCont.Key)
// }
// }
//确定可以看到数据的边界
//1:本人;2:本岗位;3:本部门;4:本分部;5:指定行政组织;6:所有
@ -275,7 +275,7 @@ func (g *GainUserPower) MakeSearchSql(gormDb *gorm.DB, userCont modelshr.ManCont
case 6:
default:
}
gormDb = gormDb.Where("f.`creater` = ?", userCont.Key)
gormDb = gormDb.Or("f.`creater` = ?", userCont.Key)
return gormDb
}

Loading…
Cancel
Save