| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450 |
- package system
- import (
- "encoding/json"
- "fmt"
- "strconv"
- "strings"
- "time"
- "dashoo.cn/backend/api/business/auditsetting"
- "dashoo.cn/backend/api/business/baseUser"
- "dashoo.cn/backend/api/business/items"
- "dashoo.cn/backend/api/business/organize"
- "dashoo.cn/backend/api/business/role"
- . "dashoo.cn/backend/api/controllers"
- "dashoo.cn/business2/permission"
- "dashoo.cn/business2/userRole"
- "dashoo.cn/utils"
- )
- type OilAuditSettingController struct {
- BaseController
- }
- // @Title 获取列表
- // @Description get user by token
- // @Success 200 {object} []auditsetting.Base_OilAuditSetting
- // @router /list [get]
- func (this *OilAuditSettingController) GetEntityList() {
- //获取分页信息
- page := this.GetPageInfoForm()
- where := " 1=1 "
- orderby := "Id"
- asc := false
- Order := this.GetString("Order")
- Prop := this.GetString("Prop")
- if Order != "" && Prop != "" {
- orderby = Prop
- if Order == "asc" {
- asc = true
- }
- }
- OrganizeId := this.GetString("OrganizeId")
- OrganizeName := this.GetString("OrganizeName")
- // AuditStepCode := this.GetString("AuditStepCode")
- AuditStepName := this.GetString("AuditStepName")
- RoleId := this.GetString("RoleId")
- RoleName := this.GetString("RoleName")
- WorkFlowCord := this.GetString("WorkFlowCord")
- WorkFlowName := this.GetString("WorkFlowName")
- Remark := this.GetString("Remark")
- CreateOn := this.GetString("CreateOn")
- Code := this.GetString("Code")
- svcPerm := permission.GetPermissionService(utils.DBE)
- isauth := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.AuditSetting.AllRecord")
- svcuser := organize.GetOrganizeService(utils.DBE)
- isauth = svcuser.UserInRoleById(this.User.Id, "10000203")
- if !svcPerm.IsAdmin(this.User.Id) && !isauth {
- //OrganizeId = this.User.DepartmentId //无权限看所有时,只看当前部门的数据
- var org organize.Base_Organize
- orgsvc := organize.GetOrganizeService(utils.DBE)
- orgsvc.GetEntityById(this.User.DepartmentId, &org)
- OrganizeId = strconv.Itoa(org.Parentid)
- if OrganizeId != "" {
- where = where +
- " and OrganizeId = '" + OrganizeId + "'"
- }
- }
- if OrganizeName != "" {
- where = where + " and OrganizeName like '%" + OrganizeName + "%'"
- }
- if Code != "" {
- where = where + " and AuditStepCode like '%" + Code + "%'"
- }
- if AuditStepName != "" {
- where = where + " and AuditStepName like '%" + AuditStepName + "%'"
- }
- if RoleId != "" {
- where = where + " and RoleId like '%" + RoleId + "%'"
- }
- if RoleName != "" {
- where = where + " and RoleName like '%" + RoleName + "%'"
- }
- if WorkFlowCord != "" {
- where = where + " and WorkFlowCord like '%" + WorkFlowCord + "%'"
- }
- if WorkFlowName != "" {
- where = where + " and WorkFlowName like '%" + WorkFlowName + "%'"
- }
- if Remark != "" {
- where = where + " and Remark like '%" + Remark + "%'"
- }
- if CreateOn != "" {
- dates := strings.Split(CreateOn, ",")
- if len(dates) == 2 {
- minDate := dates[0]
- maxDate := dates[1]
- where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
- }
- }
- if Remark != "" {
- where = where + " and Remark like '%" + Remark + "%'"
- }
- svc := auditsetting.GetOilAuditSettingService(utils.DBE)
- var list []auditsetting.Base_OilAuditSetting
- total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
- var datainfo DataInfo
- datainfo.Items = list
- datainfo.CurrentItemCount = total
- datainfo.PageIndex = page.CurrentPage
- datainfo.ItemsPerPage = page.Size
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取字典列表
- // @Description get user by token
- // @Success 200 {object} map[string]interface{}
- // @router /dictlist [get]
- func (this *OilAuditSettingController) GetDictList() {
- dictList := make(map[string]interface{})
- dictSvc := items.GetItemsService(utils.DBE)
- userSvc := baseUser.GetBaseUserService(utils.DBE)
- dictList["AuditStep"] = dictSvc.GetKeyValueItems("AuditStep", this.User.AccCode)
- dictList["WorkFlow"] = dictSvc.GetKeyValueItems("WorkFlow", this.User.AccCode)
- var userEntity userRole.Base_User
- userSvc.GetEntityById(this.User.Id, &userEntity)
- dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
- svcRole := role.GetRoleService(utils.DBE)
- var roles []userRole.Base_Role
- where := "IsVisible=1"
- svcRole.GetMyRoleList("CreateOn", utils.ToStr(this.User.Id), &roles, where)
- dictList["RoleList"] = roles
- svcOrgan := organize.GetOrganizeService(utils.DBE)
- dictList["OrganizeId"] = this.User.DepartmentId
- dictList["OrganizeName"] = svcOrgan.GetNameById(this.User.DepartmentId)
- var users []userRole.Base_User
- where = "DepartmentId=" + this.User.DepartmentId
- svcRole.GetEntities(&users, where)
- dictList["users"] = users
- //var dictCustomer []svccustomer.Customer
- //customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
- //dictList["EntrustCorp"] = &dictCustomer
- var datainfo DataInfo
- datainfo.Items = dictList
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取实体
- // @Description 获取实体
- // @Success 200 {object} auditsetting.Base_OilAuditSetting
- // @router /get/:id [get]
- func (this *OilAuditSettingController) GetEntity() {
- Id := this.Ctx.Input.Param(":id")
- var model auditsetting.Base_OilAuditSetting
- svc := auditsetting.GetOilAuditSettingService(utils.DBE)
- svc.GetEntityByIdBytbl(OilAuditSettingName, Id, &model)
- this.Data["json"] = &model
- this.ServeJSON()
- }
- // @Title 添加
- // @Description 新增
- // @Param body body auditsetting.OilAuditSetting
- // @Success 200 {object} controllers.Request
- // @router /add [post]
- func (this *OilAuditSettingController) AddEntity() {
- audits := this.GetString("aduitres")
- auditIds := strings.Split(audits, ",")
- fmt.Println(audits)
- var model auditsetting.Base_OilAuditSetting
- var audituser auditsetting.OilAuditUser
- var org organize.Base_Organize
- var jsonBlob = this.Ctx.Input.RequestBody
- svc := auditsetting.GetOilAuditSettingService(utils.DBE)
- json.Unmarshal(jsonBlob, &model)
- model.CreateOn = time.Now()
- model.CreateBy = this.User.Realname
- model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
- svc.GetEntityById(this.User.DepartmentId, &org)
- model.OrganizeId = org.Parentid
- var org1 organize.Base_Organize
- svc.GetEntityById(org.Parentid, &org1)
- model.OrganizeName = org1.Fullname
- var errinfo ErrorDataInfo
- //var modelsele auditsetting.Base_OilAuditSetting
- //where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + model.AuditStepCode + "'"
- //has := svc.GetEntity(&modelsele, where)
- //if (has) {
- // errinfo.Message = "审批步骤已经存在,不允许重复添加!"
- // errinfo.Code = -1
- // this.Data["json"] = &errinfo
- // this.ServeJSON()
- // return
- //}
- var err error
- _, err = svc.InsertEntityBytbl(OilAuditSettingName, &model)
- if (err == nil) {
- for _, Id := range auditIds {
- var user userRole.Base_User
- var org1 organize.Base_Organize
- svc.GetEntityById(Id, &user)
- svc.GetEntityById(user.Departmentid, &org1)
- audituser.Id = 0
- audituser.SettingId = model.Id
- audituser.DepartmentId,_ = strconv.Atoi(user.Departmentid)
- audituser.CompanyId = org1.Parentid
- audituser.UserId,_ = strconv.Atoi(Id)
- audituser.UserName = user.Realname
- audituser.CreateOn = time.Now()
- audituser.CreateBy = this.User.Realname
- audituser.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- _, err = svc.InsertEntityBytbl(OilAuditUserName, &audituser)
- }
- }
- if err == nil {
- //新增
- errinfo.Message = "添加成功!"
- errinfo.Code = 0
- errinfo.Item = model.Id
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }
- // @Title 修改实体
- // @Description 修改实体
- // @Param body body auditsetting.OilAuditSetting
- // @Success 200 {object} controllers.Request
- // @router /update/:id [post]
- func (this *OilAuditSettingController) UpdateEntity() {
- id := this.Ctx.Input.Param(":id")
- var errinfo ErrorInfo
- if id == "" {
- errinfo.Message = "操作失败!请求信息不完整"
- errinfo.Code = -2
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- var model auditsetting.Base_OilAuditSetting
- svc := auditsetting.GetOilAuditSettingService(utils.DBE)
- var jsonBlob = this.Ctx.Input.RequestBody
- json.Unmarshal(jsonBlob, &model)
- model.ModifiedOn = time.Now()
- model.ModifiedBy = this.User.Realname
- model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
- var org organize.Base_Organize
- svc.GetEntityById(this.User.DepartmentId, &org)
- model.OrganizeId = org.Parentid
- var org1 organize.Base_Organize
- svc.GetEntityById(org.Parentid, &org1)
- model.OrganizeName = org1.Fullname
- cols := []string{
- "Id",
- "OrganizeId",
- "OrganizeName",
- "AuditStepCode",
- "AuditStepName",
- "RoleId",
- "RoleName",
- "WorkFlowCord",
- "WorkFlowName",
- "UserId",
- "UserName",
- "Remark",
- "IsDelete",
- "CreateOn",
- "CreateUserId",
- "CreateBy",
- "ModifiedOn",
- "ModifiedUserId",
- "ModifiedBy",
- }
- err := svc.UpdateEntityBytbl(OilAuditSettingName, id, &model, cols)
- auditIds := strings.Split(model.UserId, ",")
- var audituser auditsetting.OilAuditUser
- if err == nil {
- where := "SettingId=" + id
- err = svc.DeleteEntityBytbl(OilAuditUserName, where)
- for _, Id := range auditIds {
- var user userRole.Base_User
- svc.GetEntityById(Id, &user)
- var org organize.Base_Organize
- svc.GetEntityById(user.Departmentid, &org)
- audituser.DepartmentId,_ = strconv.Atoi(user.Departmentid)
- audituser.CompanyId = org.Parentid
- audituser.Id = 0
- audituser.SettingId = model.Id
- audituser.UserId,_ = strconv.Atoi(Id)
- audituser.UserName = user.Realname
- audituser.CreateOn = time.Now()
- audituser.CreateBy = this.User.Realname
- audituser.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- _, err = svc.InsertEntityBytbl(OilAuditUserName, &audituser)
- }
- }
- if err == nil {
- errinfo.Message = "修改成功!"
- errinfo.Code = 0
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }
- // @Title 删除单条信息
- // @Description
- // @Success 200 {object} ErrorInfo
- // @Failure 403 :id 为空
- // @router /delete/:Id [delete]
- func (this *OilAuditSettingController) DeleteEntity() {
- Id := this.Ctx.Input.Param(":Id")
- var errinfo ErrorInfo
- if Id == "" {
- errinfo.Message = "操作失败!请求信息不完整"
- errinfo.Code = -2
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- var model auditsetting.Base_OilAuditSetting
- var entityempty auditsetting.Base_OilAuditSetting
- svc := auditsetting.GetOilAuditSettingService(utils.DBE)
- where := "SettingId=" + Id
- svc.DeleteEntityBytbl(OilAuditUserName, where)
- opdesc := "删除-" + Id
- err := svc.DeleteOperationAndWriteLogBytbl(OilAuditSettingName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
- if err == nil {
- errinfo.Message = "删除成功"
- errinfo.Code = 0
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }
- // @Title 获取实体
- // @Description 获取实体
- // @Success 200 {object} controllers.Request
- // @router /isaccess [get]
- func (this *OilAuditSettingController) IsAccess() {
- auditstepcode := this.GetString("auditstepcode")
- var users []userRole.Base_RoleList
- var auditWorkflow auditsetting.Base_OilAuditSetting
- rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
- rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, auditstepcode, &auditWorkflow)
- users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode)
- res := false
- for _, user := range users {
- if this.User.Id == strconv.Itoa(int(user.Id)) {
- res = true
- break
- }
- }
- this.Data["json"] = res
- this.ServeJSON()
- }
- // @Title 根据部门获取人员
- // @Description 根据部门获取人员
- // @router /getauditerbydept/:deptId [get]
- func (this *OilAuditSettingController) GetAuditerByDept() {
- Id := this.Ctx.Input.Param(":deptId")
- var users []userRole.Base_RoleList
- rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
- organsvc := organize.GetOrganizeService(utils.DBE)
- depids := organsvc.GetAllChildById(Id)
- where := "DepartmentId in (" + depids + ")"
- rsvc.GetEntitysByWhere(BaseUserName, where, &users)
- var datainfo ErrorDataInfo
- if users == nil {
- datainfo.Code = 0
- } else {
- datainfo.Code = 1
- }
- datainfo.Item = users
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取审核人列表
- // @Description 获取审核人列表
- // @Success 200 {object} auditsetting.Base_OilAuditSetting
- // @router /getaudituserlist/:id [get]
- func (this *OilAuditSettingController) GetAuditUserList() {
- Id := this.Ctx.Input.Param(":id")
- var users []userRole.Base_RoleList
- rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
- rsvc.GetAuditUserList(Id, &users)
- ////where := "SettingId=" + Id
- ////sql := "SELECT UserId Id, UserName RealName FROM " + OilAuditUserName + " where " + where
- //rsvc.DBE.SQL(sql).Find(&users)
- this.Data["json"] = &users
- this.ServeJSON()
- }
|