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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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,
})
}