| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- package personnel
- import (
- "dashoo.cn/modi_webapi/app/model/personnel"
- service "dashoo.cn/modi_webapi/app/service/personnel"
- "dashoo.cn/modi_webapi/library/request"
- "dashoo.cn/modi_webapi/library/response"
- "fmt"
- "github.com/gogf/gf/net/ghttp"
- "github.com/gogf/gf/os/gtime"
- "github.com/gogf/gf/util/gvalid"
- )
- type Controller struct {
- }
- func (c *Controller) GetAllPersonnel(r *ghttp.Request) {
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- // 初始化service
- service, err := service.NewPersonnelService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- page := request.GetPageInfo(r)
- where := ""
- if name := r.GetString("Name"); name != "" {
- if where == "" {
- where = fmt.Sprintf(" PersonnelName LIKE '%%%v%%'", name)
- } else {
- where += fmt.Sprintf(" AND PersonnelName LIKE '%%%v%%'", name)
- }
- }
- var result []personnel.Entity
- if err := service.GetAllPersonnel(page, where, &result); err != nil {
- if err.Error() == "sql: no rows in result set" {
- response.Json(r, 0, "")
- return
- }
- response.Json(r, -1, err.Error())
- } else {
- count, err1 := service.FindPersonnelCount(where)
- if err1 != nil {
- response.Json(r, -1, err1.Error())
- } else {
- var records response.PagedRecords
- records.Size = page.Size
- records.Current = page.Current
- records.Total = count
- records.Records = result
- response.Json(r, 0, "", records)
- }
- }
- }
- func (c *Controller) GetOnePersonnel(r *ghttp.Request) {
- id := r.GetInt("id")
- if result, err := personnel.FindOne(id); err != nil {
- response.Json(r, 1, err.Error())
- r.ExitAll()
- } else {
- var records response.PagedRecords
- records.Records = result
- response.Json(r, 0, "", records)
- }
- }
- // 添加
- func (c *Controller) AddPersonnel(r *ghttp.Request) {
- Personnel := new(personnel.Entity)
- if err := r.Parse(Personnel); err != nil {
- // 数据验证错误
- if v, ok := err.(*gvalid.Error); ok {
- response.Json(r, 1, v.FirstString())
- r.ExitAll()
- }
- // 其他错误
- response.Json(r, 1, err.Error())
- r.ExitAll()
- }
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- // 初始化service
- service, err := service.NewPersonnelService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- // 查询code是否存在
- info, _ := service.GetPersonnelByCode(Personnel.PersonneCode)
- if info != nil {
- response.Json(r, 1, "人员编号已存在")
- }
- realName := r.GetParamVar("realname").String()
- userId := r.GetParamVar("userid").Int()
- currentTime := gtime.Now()
- Personnel.CreateOn = currentTime
- Personnel.CreateBy = realName
- Personnel.CreateUserId = userId
- Personnel.ModifiedOn = currentTime
- Personnel.ModifiedBy = realName
- Personnel.ModifiedUserId = userId
- if result, err := personnel.Insert(Personnel); err != nil {
- response.Json(r, 1, err.Error())
- } else {
- var records response.PagedRecords
- id, _ := result.LastInsertId()
- Personnel.Id = int(id)
- records.Records = Personnel
- response.Json(r, 0, "", records)
- }
- }
- // 更新
- func (c *Controller) UpdatePersonnel(r *ghttp.Request) {
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- Personnel := new(personnel.Entity)
- if err := r.Parse(Personnel); err != nil {
- // 数据验证错误
- if v, ok := err.(*gvalid.Error); ok {
- response.Json(r, 1, v.FirstString())
- r.ExitAll()
- }
- // 其他错误
- response.Json(r, 1, err.Error())
- r.ExitAll()
- }
- realName := r.GetParamVar("realname").String()
- userId := r.GetParamVar("userid").Int()
- currentTime := gtime.Now()
- Personnel.ModifiedOn = currentTime
- Personnel.ModifiedBy = realName
- Personnel.ModifiedUserId = userId
- // 初始化service
- service, err := service.NewPersonnelService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- // 修改
- code, msg := service.UpdatePersonnelById(Personnel)
- if code {
- response.Json(r, 0, msg)
- } else {
- response.Json(r, -1, msg)
- }
- }
- // 删除
- func (c *Controller) DeletePersonnel(r *ghttp.Request) {
- id := r.GetInt("id")
- if _, err := personnel.Delete(fmt.Sprintf("Id=%v", id)); err != nil {
- response.Json(r, 1, err.Error())
- r.ExitAll()
- } else {
- response.Json(r, 0, "该记录已删除!")
- }
- }
|