zoie 6 өдөр өмнө
parent
commit
f2a62a7c31

+ 3 - 3
controllers/ContractReview.go

@@ -11,11 +11,11 @@ import (
 	"ERP_storage/services"
 	"encoding/json"
 	"fmt"
+	beego "github.com/beego/beego/v2/server/web"
+	"github.com/xuri/excelize/v2"
 	natslibs "gogs.baozhida.cn/zoie/ERP_libs/Nats"
 	userlibs "gogs.baozhida.cn/zoie/ERP_libs/User"
 	"gogs.baozhida.cn/zoie/ERP_libs/lib"
-	beego "github.com/beego/beego/v2/server/web"
-	"github.com/xuri/excelize/v2"
 	"math"
 	"os"
 	"strconv"
@@ -307,7 +307,7 @@ func (c *ContractReviewController) Finance_List() {
 	return
 }
 
-// 合同评审-财务
+// 合同评审-管理员
 func (c *ContractReviewController) Manager_List() {
 	s := services.ContractReview{}
 	reqData := dto.ContractReviewPageReq{}

+ 41 - 4
controllers/Purchase.go

@@ -22,7 +22,7 @@ func (c *PurchaseController) Prepare() {
 	c.User = *Account.User_r
 }
 
-// 部门负责人查看的权限列表
+// 管理员
 func (c *PurchaseController) Purchase_List() {
 
 	// 分页参数 初始化
@@ -36,6 +36,7 @@ func (c *PurchaseController) Purchase_List() {
 	}
 
 	T_uuid := c.GetString("T_uuid")
+	T_dept := c.GetString("T_dept")
 
 	T_start_date := c.GetString("T_start_date") // 开始时间
 	T_end_date := c.GetString("T_end_date")     // 结束时间
@@ -46,7 +47,36 @@ func (c *PurchaseController) Purchase_List() {
 	Account.Read_User_All_Map(userList)
 
 	PurchaseDao := Purchase.NewPurchase(orm.NewOrm())
-	R_List, R_cnt := PurchaseDao.Read_Purchase_List(T_uuid, "", T_state, T_start_date, T_end_date, page, page_z)
+	R_List, R_cnt := PurchaseDao.Read_Purchase_List(T_dept, T_uuid, "", T_state, true, T_start_date, T_end_date, page, page_z)
+
+	var r_jsons lib.R_JSONS
+	r_jsons.Num = R_cnt
+	r_jsons.Data = R_List
+	r_jsons.Page = page
+	r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z)))
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
+	c.ServeJSON()
+	return
+}
+
+func (c *PurchaseController) Purchase_Audit_List() {
+
+	// 分页参数 初始化
+	page, _ := c.GetInt("page")
+	if page < 1 {
+		page = 1
+	}
+	page_z, _ := c.GetInt("page_z")
+	if page_z < 1 {
+		page_z = conf.Page_size
+	}
+
+	userList, _ := NatsServer.Read_User_List_All()
+	Account.Read_User_All_Map(userList)
+
+	PurchaseDao := Purchase.NewPurchase(orm.NewOrm())
+	R_List, R_cnt := PurchaseDao.Read_Purchase_List("", "", c.User.T_uuid, Purchase.WaitAudit, false, "", "", page, page_z)
 
 	var r_jsons lib.R_JSONS
 	r_jsons.Num = R_cnt
@@ -80,7 +110,7 @@ func (c *PurchaseController) Purchase_User_List() {
 	Account.Read_User_All_Map(userList)
 
 	PurchaseDao := Purchase.NewPurchase(orm.NewOrm())
-	R_List, R_cnt := PurchaseDao.Read_Purchase_List(c.User.T_uuid, "", T_state, T_start_date, T_end_date, page, page_z)
+	R_List, R_cnt := PurchaseDao.Read_Purchase_List("", c.User.T_uuid, "", T_state, false, T_start_date, T_end_date, page, page_z)
 
 	var r_jsons lib.R_JSONS
 	r_jsons.Num = R_cnt
@@ -122,15 +152,17 @@ func (c *PurchaseController) Purchase_Add() {
 	T_remark := c.GetString("T_remark")
 	T_detail := c.GetString("T_detail")
 	T_approver := c.GetString("T_approver")
+	T_dept := c.GetString("T_dept")
 
 	var_ := Purchase.Purchase{
+		T_dept:     T_dept,
 		T_uuid:     T_uuid,
 		T_submit:   c.User.T_uuid,
 		T_date:     T_date,
 		T_remark:   T_remark,
 		T_detail:   T_detail,
 		T_approver: T_approver,
-		T_State:    Purchase.WaitPurchase,
+		T_State:    Purchase.WaitAudit,
 	}
 
 	o := orm.NewOrm()
@@ -197,6 +229,7 @@ func (c *PurchaseController) Purchase_Edit() {
 	T_State, _ := c.GetInt("T_State")
 	T_detail := c.GetString("T_detail")
 	T_approver := c.GetString("T_approver")
+	T_dept := c.GetString("T_dept")
 
 	o := orm.NewOrm()
 	PurchaseDao := Purchase.NewPurchase(o)
@@ -220,6 +253,10 @@ func (c *PurchaseController) Purchase_Edit() {
 		clos = append(clos, "T_date")
 	}
 
+	if len(T_dept) > 0 {
+		purchase.T_dept = T_dept
+		clos = append(clos, "T_dept")
+	}
 	if len(T_remark) > 0 {
 		purchase.T_remark = T_remark
 		clos = append(clos, "T_remark")

+ 8 - 5
controllers/Validation.go

@@ -854,9 +854,10 @@ func (c *ValidationController) Operation_Excel() {
 	f.SetCellValue("Sheet1", "D1", "借出(归还)人")
 	f.SetCellValue("Sheet1", "E1", "关联项目")
 	f.SetCellValue("Sheet1", "F1", "备注")
-	f.SetCellValue("Sheet1", "G1", "SN")
+	f.SetCellValue("Sheet1", "G1", "设备数量")
+	f.SetCellValue("Sheet1", "H1", "SN")
 	// 这里设置表头
-	f.SetCellStyle("Sheet1", "A1", "G1", Style2)
+	f.SetCellStyle("Sheet1", "A1", "H1", Style2)
 	f.SetRowHeight("Sheet1", 2, 20)
 
 	// 设置列宽
@@ -866,7 +867,8 @@ func (c *ValidationController) Operation_Excel() {
 	f.SetColWidth("Sheet1", "D", "D", 15)
 	f.SetColWidth("Sheet1", "E", "E", 20)
 	f.SetColWidth("Sheet1", "F", "F", 20)
-	f.SetColWidth("Sheet1", "G", "G", 15)
+	f.SetColWidth("Sheet1", "G", "G", 12)
+	f.SetColWidth("Sheet1", "H", "H", 15)
 
 	line := 1
 	for i, v := range R_List {
@@ -892,10 +894,11 @@ func (c *ValidationController) Operation_Excel() {
 		f.SetCellValue("Sheet1", fmt.Sprintf("D%d", line), v.LendUser)
 		f.SetCellValue("Sheet1", fmt.Sprintf("E%d", line), v.T_project)
 		f.SetCellValue("Sheet1", fmt.Sprintf("F%d", line), v.T_remark)
-		f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), strings.Join(v.T_sn_List, "\r\n"))
+		f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), len(v.T_sn_List))
+		f.SetCellValue("Sheet1", fmt.Sprintf("H%d", line), strings.Join(v.T_sn_List, "\r\n"))
 	}
 
-	f.SetCellStyle("Sheet1", "A2", fmt.Sprintf("G%d", line), Style4)
+	f.SetCellStyle("Sheet1", "A2", fmt.Sprintf("H%d", line), Style4)
 
 	timeStr := time.Now().Format("20060102150405")
 	fileName := fmt.Sprintf("验证工具操作记录表%v.xlsx", timeStr)

+ 1 - 1
models/Basic/Depot.go

@@ -2,11 +2,11 @@ package Basic
 
 import (
 	"ERP_storage/logs"
-	"gogs.baozhida.cn/zoie/ERP_libs/lib"
 	_ "github.com/astaxie/beego/cache/redis"
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	_ "github.com/go-sql-driver/mysql"
+	"gogs.baozhida.cn/zoie/ERP_libs/lib"
 	"sync"
 	"time"
 )

+ 1 - 1
models/ContractReview/ContractReview.go

@@ -36,7 +36,7 @@ type ContractReview struct {
 	T_finance_approval_opinion string  `json:"T_finance_approval_opinion" gorm:"size:text"`     // 财务审批意见
 	T_manager_approval_opinion string  `json:"T_manager_approval_opinion" gorm:"size:text"`     // 总经理审批意见
 
-	ServiceItemList []ContractReviewServiceItem `json:"ServiceItemList" gorm:"->;foreignkey:T_contract_review_id;references:Id"` // 角色
+	ServiceItemList []ContractReviewServiceItem `json:"ServiceItemList" gorm:"->;foreignkey:T_contract_review_id;references:Id"` //
 
 	T_State    int     `json:"T_State" gorm:"column:t__state;size(2);default(1)"`                  // 0 删除(伪删除)   1 正常
 	CreateTime db.Time `json:"CreateTime" gorm:"column:create_time;autoCreateTime;comment:创建时间"`   // 创建时间

+ 1 - 1
models/ContractReview/ServiceType.go

@@ -7,7 +7,7 @@ import (
 // 服务类型
 type ServiceType struct {
 	Id         int     `json:"Id" gorm:"primaryKey;autoIncrement;comment:主键编码"`                    // 主键编码
-	T_name     string  `json:"T_name" gorm:"size:128" `                                            // 服务类型名称
+	T_name     string  `json:"T_name" gorm:"size:128"`                                             // 服务类型名称
 	T_State    int     `json:"T_State" gorm:"column:t__state;size(2);default(1)"`                  // 0 删除(伪删除)   1 正常
 	CreateTime db.Time `json:"CreateTime" gorm:"column:create_time;autoCreateTime;comment:创建时间"`   // 创建时间
 	UpdateTime db.Time `json:"UpdateTime" gorm:"column:update_time;autoUpdateTime;comment:最后更新时间"` // 最后更新时间

+ 17 - 4
models/Purchase/Purchase.go

@@ -13,8 +13,10 @@ import (
 
 const (
 	Delete            = iota
-	WaitPurchase      // 待审核
-	PurchaseCompleted // 进行中
+	WaitPurchase      // 待采购
+	PurchaseCompleted // 已采购
+	WaitAudit         // 待审核
+	NotPass           // 未通过
 
 )
 
@@ -22,6 +24,7 @@ const (
 type Purchase struct {
 	Id              int    `orm:"column(ID);size(11);auto;pk"`
 	T_uuid          string `orm:"index;size(32);null"` // 申请人
+	T_dept          string `orm:"index;size(32);null"` // 申请部门
 	T_submit        string `orm:"index;size(32);null"` // 提交人
 	T_date          string `orm:"size(256);null"`      // 申请时间
 	T_detail        string `orm:"type(text);null"`     // 明细
@@ -29,7 +32,7 @@ type Purchase struct {
 	T_approver      string `orm:"size(32);null"`       // 审批人
 	T_approver_date string `orm:"size(32);null"`       // 审批时间
 
-	T_State    int       `orm:"size(2);column(t_state);default(1)"`                    // 0 删除  1 待采购  2 已采购
+	T_State    int       `orm:"size(2);column(t_state);default(1)"`                    // 0 删除  1待采购  2已采购 3待审核 4未通过
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now 每次 model 保存时都会对时间自动更新
 }
@@ -53,6 +56,7 @@ func init() {
 
 type Purchase_R struct {
 	Id              int
+	T_dept          string // 申请部门
 	T_uuid          string // 申请人
 	T_uuid_name     string // 申请人名称
 	T_submit        string // 提交人
@@ -80,6 +84,7 @@ type PurchaseDetail_R struct {
 }
 type Purchase_Detail struct {
 	Id              int
+	T_dept          string // 申请部门
 	T_uuid          string // 申请人
 	T_uuid_name     string // 用户名称
 	T_submit        string // 提交人
@@ -97,6 +102,7 @@ type Purchase_Detail struct {
 func PurchaseToPurchase_R(t Purchase) (r Purchase_R) {
 
 	r.Id = t.Id
+	r.T_dept = t.T_dept
 	r.T_uuid = t.T_uuid
 	r.T_uuid_name = Account.Read_User_T_name_Get(t.T_uuid)
 	r.T_submit = t.T_submit
@@ -113,6 +119,7 @@ func PurchaseToPurchase_R(t Purchase) (r Purchase_R) {
 func PurchaseToPurchase_Detail(t Purchase) (r Purchase_Detail) {
 
 	r.Id = t.Id
+	r.T_dept = t.T_dept
 	r.T_uuid = t.T_uuid
 	r.T_uuid_name = Account.Read_User_T_name_Get(t.T_uuid)
 	r.T_submit = t.T_submit
@@ -214,7 +221,7 @@ func (dao *PurchaseDaoImpl) Delete_Purchase(m Purchase) (id int64, err error) {
 }
 
 // 获取列表
-func (dao *PurchaseDaoImpl) Read_Purchase_List(T_uid, T_approver string, T_state int, T_start_date, T_end_date string, page, page_z int) (r []Purchase_R, cnt int64) {
+func (dao *PurchaseDaoImpl) Read_Purchase_List(T_dept, T_uid, T_approver string, T_state int, isManager bool, T_start_date, T_end_date string, page, page_z int) (r []Purchase_R, cnt int64) {
 
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
@@ -229,10 +236,16 @@ func (dao *PurchaseDaoImpl) Read_Purchase_List(T_uid, T_approver string, T_state
 
 	cond := orm.NewCondition()
 	cond = cond.And("T_State__gt", Delete)
+	if isManager {
+		cond = cond.And("T_State__in", []int{WaitPurchase, PurchaseCompleted})
+	}
 	if len(T_uid) > 0 {
 		cond = cond.AndCond(cond.Or("T_uuid", T_uid).Or("T_submit", T_uid))
 	}
 	// 审批人
+	if len(T_dept) > 0 {
+		cond = cond.And("T_dept__icontains", T_dept)
+	}
 	if len(T_approver) > 0 {
 		cond = cond.And("T_approver", T_approver)
 	}

+ 8 - 7
routers/Purchase.go

@@ -8,13 +8,14 @@ import (
 func init() {
 
 	Purchase := beego.NewNamespace("/Purchase",
-		beego.NSRouter("/List", &controllers.PurchaseController{}, "*:Purchase_List"),           // 管理员列表
-		beego.NSRouter("/User_list", &controllers.PurchaseController{}, "*:Purchase_User_List"), // 用户列表
-		beego.NSRouter("/Add", &controllers.PurchaseController{}, "*:Purchase_Add"),             // 添加项目
-		beego.NSRouter("/Get", &controllers.PurchaseController{}, "*:Purchase_Get"),             // 项目详情
-		beego.NSRouter("/Edit", &controllers.PurchaseController{}, "*:Purchase_Edit"),           // 修改项目
-		beego.NSRouter("/Approval", &controllers.PurchaseController{}, "*:Purchase_Approval"),   // 项目审批
-		beego.NSRouter("/Del", &controllers.PurchaseController{}, "*:Purchase_Del"),             // 删除项目
+		beego.NSRouter("/List", &controllers.PurchaseController{}, "*:Purchase_List"),             // 管理员列表
+		beego.NSRouter("/Audit_List", &controllers.PurchaseController{}, "*:Purchase_Audit_List"), // 管理员列表
+		beego.NSRouter("/User_list", &controllers.PurchaseController{}, "*:Purchase_User_List"),   // 用户列表
+		beego.NSRouter("/Add", &controllers.PurchaseController{}, "*:Purchase_Add"),               // 添加项目
+		beego.NSRouter("/Get", &controllers.PurchaseController{}, "*:Purchase_Get"),               // 项目详情
+		beego.NSRouter("/Edit", &controllers.PurchaseController{}, "*:Purchase_Edit"),             // 修改项目
+		beego.NSRouter("/Approval", &controllers.PurchaseController{}, "*:Purchase_Approval"),     // 项目审批
+		beego.NSRouter("/Del", &controllers.PurchaseController{}, "*:Purchase_Del"),               // 删除项目
 	)
 	beego.AddNamespace(Purchase)
 }