You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
3.3 KiB

4 years ago
package gysretreat
import (
mysql2 "git.oa00.com/go/mysql"
"github.com/gin-gonic/gin"
"recook/internal/back"
"recook/internal/libs/bean"
"recook/internal/v2/logic/manage/gysretreat"
"recook/internal/v2/model/gys/gys_retreat"
"recook/internal/v2/model/recook/manage"
"recook/tools"
)
type Retreat struct {
}
/*
*/
type addRes struct {
GysId uint `json:"gys_id"`
}
//新增供应商退驻
func (r Retreat) Add(c *gin.Context) {
var p addRes
if err := tools.Params(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
err := gysretreat.RetreatLogic.Add(p.GysId)
if err != nil {
back.Fail(c, err.Error())
return
}
back.Suc(c, "ok", nil)
}
type listRes struct {
GysName string `json:"gys_name"`
ContractNo string `json:"contract_no"`
GysCode string `json:"gys_code"`
StartTime string `json:"start_time"`
EndTime string `json:"end_time"`
State uint `json:"state"` //1待各部门2待管理部3成功
Page bean.Page `json:"page"`
}
//条件显示全部待退驻的供应商
func (r Retreat) List(c *gin.Context) {
var p listRes
if err := tools.Params(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
list, total, err := gysretreat.RetreatLogic.List(p.GysName, p.ContractNo, p.GysCode, p.StartTime, p.EndTime, p.Page, p.State)
if err != nil {
back.Fail(c, err.Error())
return
}
back.Suc(c, "ok", bean.ResultLists{
List: list,
Total: int(total),
})
}
type examined struct {
State uint `json:"state"` //1采购2财务3物流4客服5运营6管理部
UserId uint `json:"user_id"` //审核者id
Id uint `json:"id"` //审核的id
}
//审核(包含全部审核)
func (r Retreat) Examined(c *gin.Context) {
var p examined
if err := tools.Params(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
//mu, _ := common.GetManageUser(c)
err := gysretreat.RetreatLogic.Examined(p.State, p.UserId, p.Id)
if err != nil {
back.Fail(c, err.Error())
return
}
back.Suc(c, "ok", nil)
}
type getRoleRes struct {
UserId uint `json:"user_id"`
}
type role struct {
RoleId uint `json:"role_id"`
RoleName string `json:"role_name"`
}
func (r Retreat) GetRole(c *gin.Context) {
var p getRoleRes
if err := tools.Params(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
var user manage.RecookManageUserInfoModel
mysql2.Db.Table(user.TableName()).Where("id=?", p.UserId).First(&user)
if user.Id == 0 {
back.Fail(c, "请输入正确管理者id")
return
}
back.Suc(c, "ok", role{
user.RoleID,
user.RoleName,
})
}
type getNum struct {
AuditNum int64 `json:"audit_num"`
ManageAuditNUm int64 `json:"manage_audit_n_um"`
RetreatNum int64 `json:"retreat_num"`
}
func (r Retreat) GetNum(c *gin.Context) {
var adNum int64
var retm gys_retreat.GysRetreatModel
mysql2.Db.Table(retm.TableName()).Where("(procurement_audit+financial_audit+logistics_audit+customer_audit+operation_audit)<5").Count(&adNum)
var mANum int64
mysql2.Db.Table(retm.TableName()).Where("(procurement_audit+financial_audit+logistics_audit+customer_audit+operation_audit)=5 and management_audit=0").Count(&mANum)
var rtNum int64
mysql2.Db.Table(retm.TableName()).Where("end_type=1").Count(&rtNum)
back.Suc(c, "", getNum{
AuditNum: adNum,
ManageAuditNUm: mANum,
RetreatNum: rtNum,
})
}