xu пре 7 месеци
родитељ
комит
edbe7a5273

+ 11 - 0
server/api/v1/admin/expenses.go

@@ -77,6 +77,17 @@ func (ea *ExpensesApi) QueryExpensesSumByPeople(c *gin.Context) {
 	}, "获取成功", c)
 }
 
+func (ea *ExpensesApi) QueryExpensesById(c *gin.Context) {
+	id, _ := strconv.Atoi(c.Param("id"))
+	expense, err := expensesService.QueryExpensesById(id)
+	if err != nil {
+		response.FailWithMessage("失败", c)
+		global.GVA_LOG.Error("QueryExpensesById ====== " + err.Error())
+		return
+	}
+	response.OkWithData(expense, c)
+}
+
 func (ea *ExpensesApi) QuerySurplus(c *gin.Context) {
 	surplus, err := expensesService.QuerySurplus()
 	if err != nil {

+ 13 - 0
server/api/v1/admin/project.go

@@ -246,6 +246,19 @@ func (pa *ProjectApi) QueryProjectSum(c *gin.Context) {
 	response.OkWithData(sum, c)
 }
 
+func (pa *ProjectApi) QueryProjectById(c *gin.Context) {
+	id := c.Query("id")
+	projectId, _ := strconv.Atoi(id)
+
+	project, err := projectService.QueryProjectById(projectId)
+	if err != nil {
+		response.FailWithMessage("失败", c)
+		global.GVA_LOG.Error("QueryProjectById ====== " + err.Error())
+		return
+	}
+	response.OkWithData(project, c)
+}
+
 func (pa *ProjectApi) CreateProject(c *gin.Context) {
 	form, err := c.MultipartForm()
 	files := form.File["file"]

+ 1 - 1
server/api/v1/workflow/node.go

@@ -44,7 +44,7 @@ func (na *NodeApi) QueryNodeList(c *gin.Context) {
 }
 
 func (na *NodeApi) QueryNodeByApproverId(c *gin.Context) {
-	id := c.Param("approverId")
+	id := c.Query("approverId")
 	approverId, err := strconv.Atoi(id)
 	if err != nil {
 		response.FailWithMessage("参数错误", c)

+ 2 - 2
server/api/v1/workflow/process.go

@@ -43,7 +43,7 @@ func (pa *ProcessApi) QueryProcessList(c *gin.Context) {
 }
 
 func (pa *ProcessApi) CreateProcess(c *gin.Context) {
-	var process dao.Process
+	var process request.CreateProcess
 	err := c.ShouldBindJSON(&process)
 	if err != nil {
 		response.FailWithMessage("参数解析失败", c)
@@ -60,7 +60,7 @@ func (pa *ProcessApi) CreateProcess(c *gin.Context) {
 }
 
 func (pa *ProcessApi) UpdateProcess(c *gin.Context) {
-	var process dao.Process
+	var process request.CreateProcess
 	err := c.ShouldBindJSON(&process)
 	if err != nil {
 		response.FailWithMessage("参数解析失败", c)

+ 52 - 0
server/dao/commodity.go

@@ -1 +1,53 @@
 package dao
+
+import "server/global"
+
+type Commodity struct {
+	global.GVA_MODEL
+	Name           string         `json:"name" form:"name" gorm:"comment:商品名称"`
+	SupplierId     int            `json:"supplierId" form:"supplierId" gorm:"comment:商品id"`
+	Supplier       Supplier       `json:"supplier" form:"supplier" gorm:"foreignKey:SupplierId;references:id;"`
+	Genre          int            `json:"genre" form:"genre" gorm:"comment:商品类型id"`
+	CommodityGenre CommodityGenre `json:"commodityGenre" form:"commodityGenre" gorm:"foreignKey:Genre;references:id;"`
+	UnitPrice      float64        `json:"unitPrice" form:"unitPrice" gorm:"comment:单价"`
+	Remark         string         `json:"remark" form:"remark" gorm:"comment:备注"`
+}
+
+func (Commodity) TableName() string {
+	return "commodity"
+}
+
+func QueryAllCommodity() (commodities []Commodity, err error) {
+	err = global.GVA_DB.Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
+	return commodities, err
+}
+
+func QueryCommodityList(limit, offset int) (commodities []Commodity, total int64, err error) {
+	// 创建db
+	db := global.GVA_DB.Model(&Commodity{})
+	// 如果有条件搜索 下方会自动创建搜索语句
+
+	err = db.Count(&total).Error
+	if err != nil {
+		return
+	}
+	err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
+	return commodities, total, err
+}
+
+func QueryCommodityByGenre(genre int) (commodities []Commodity, err error) {
+	err = global.GVA_DB.Where("genre =?", genre).Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
+	return commodities, err
+}
+
+func (c Commodity) CreateCommodity() error {
+	return global.GVA_DB.Create(&c).Error
+}
+
+func (c Commodity) UpdateCommodity() error {
+	return global.GVA_DB.Select("*").Omit("created_at").Where("id = ?", c.ID).Updates(&c).Error
+}
+
+func (c Commodity) DeleteCommodity() error {
+	return global.GVA_DB.Unscoped().Delete(&c).Error
+}

+ 29 - 0
server/dao/commodityGenre.go

@@ -0,0 +1,29 @@
+package dao
+
+import "server/global"
+
+type CommodityGenre struct {
+	global.GVA_MODEL
+	Name string `json:"name" form:"name" gorm:"comment:商品类目名称"`
+}
+
+func (CommodityGenre) TableName() string {
+	return "commodity_genre"
+}
+
+func QueryAllCommodityGenres() (commodityGenres []CommodityGenre, err error) {
+	err = global.GVA_DB.Find(&commodityGenres).Error
+	return commodityGenres, err
+}
+
+func (cg CommodityGenre) CreateCommodityGenre() error {
+	return global.GVA_DB.Create(&cg).Error
+}
+
+func (cg CommodityGenre) UpdateCommodityGenre() error {
+	return global.GVA_DB.Select("*").Omit("created_at").Where("id = ?", cg.ID).Updates(&cg).Error
+}
+
+func (cg CommodityGenre) DeleteCommodityGenre() error {
+	return global.GVA_DB.Unscoped().Delete(&cg).Error
+}

+ 6 - 1
server/dao/expenses.go

@@ -55,7 +55,7 @@ func QueryExpensesList(limit, offset, genre, name int, dayTime, monthTime, yearT
 	if err != nil {
 		return
 	}
-	err = db.Order("id desc").Limit(limit).Offset(offset).Preload("SysUser").Preload("Department").Preload("ExpensesGenre").Find(&expenses).Error
+	err = db.Order("fee_time desc").Limit(limit).Offset(offset).Preload("SysUser").Preload("Department").Preload("ExpensesGenre").Find(&expenses).Error
 	return expenses, total, err
 }
 
@@ -107,6 +107,11 @@ func QueryExpensesByProjectId(projectId int) (expenses []Expenses, err error) {
 	return expenses, err
 }
 
+func QueryExpensesById(id int) (expenses Expenses, err error) {
+	err = global.GVA_DB.Where("id =?", id).Preload("SysUser").Preload("Department").Preload("ExpensesGenre").First(&expenses).Error
+	return expenses, err
+}
+
 func (e Expenses) CreateExpenses() error {
 	return global.GVA_DB.Create(&e).Error
 }

+ 8 - 2
server/dao/node.go

@@ -1,13 +1,14 @@
 package dao
 
-import "server/global"
+import (
+	"server/global"
+)
 
 type Node struct {
 	global.GVA_MODEL
 	NodeName        string     `json:"nodeName" form:"nodeName" gorm:"comment:审批节点名称"`
 	ApproverId      int        `json:"approverId" form:"approverId" gorm:"comment:审批人id"`
 	Approver        SysUser    `json:"approver" form:"approver" gorm:"foreignKey:ApproverId;references:id;"`
-	NodeOrder       int        `json:"nodeOrder" form:"nodeOrder" gorm:"comment:节点顺序"`
 	NodeDescription string     `json:"nodeDescription" form:"nodeDescription" gorm:"comment:节点描述"`
 	Processes       []*Process `json:"processes" form:"processes" gorm:"many2many:process_nodes;"`
 }
@@ -43,6 +44,11 @@ func QueryNodeByApproverId(approverId int) (nodes []Node, err error) {
 	return nodes, err
 }
 
+func QueryNodeAndProcess(id int) (processId []int, err error) {
+	err = global.GVA_DB.Table("process_nodes").Where("node_id = ?", id).Find(&processId).Error
+	return processId, err
+}
+
 func (n Node) CreateNode() error {
 	return global.GVA_DB.Create(&n).Error
 }

+ 11 - 0
server/dao/nodeProcess.go

@@ -0,0 +1,11 @@
+package dao
+
+type ProcessNodes struct {
+	NodeId    int `json:"nodeId" form:"nodeId" gorm:"comment:节点id"`
+	ProcessId int `json:"processId" form:"processId" gorm:"comment:审批流程id;"`
+	NodeOrder int `json:"nodeOrder" form:"nodeOrder" gorm:"comment:节点顺序"`
+}
+
+func (ProcessNodes) TableName() string {
+	return "process_nodes"
+}

+ 35 - 12
server/dao/process.go

@@ -1,6 +1,9 @@
 package dao
 
-import "server/global"
+import (
+	"gorm.io/gorm"
+	"server/global"
+)
 
 type Process struct {
 	global.GVA_MODEL
@@ -36,19 +39,39 @@ func QueryProcessById(id int) (process Process, err error) {
 	return process, err
 }
 
-func (p Process) CreateProcess() error {
-	err := global.GVA_DB.Create(&p).Error
-	return err
+func CreateProcess(process Process, nodes []ProcessNodes) error {
+	return global.GVA_DB.Transaction(func(tx *gorm.DB) error {
+		txErr := tx.Model(&Process{}).Create(&process).Error
+		if txErr != nil {
+			return txErr
+		}
+		for i, _ := range nodes {
+			nodes[i].ProcessId = int(process.ID)
+		}
+		txErr = tx.Model(&ProcessNodes{}).Create(&nodes).Error
+		if txErr != nil {
+			return txErr
+		}
+		return nil
+	})
 }
 
-func (p Process) UpdateProcess() error {
-	// 清除现有的节点
-	err := global.GVA_DB.Model(&p).Association("Nodes").Clear()
-
-	// 添加新的节点
-	err = global.GVA_DB.Model(&p).Association("Nodes").Append(p.Nodes)
-	err = global.GVA_DB.Where("id = ?", p.ID).Updates(&p).Error
-	return err
+func UpdateProcess(process Process, nodes []ProcessNodes) error {
+	return global.GVA_DB.Transaction(func(tx *gorm.DB) error {
+		txErr := tx.Model(&Process{}).Select("*").Omit("created_at").Where("id = ?", process.ID).Updates(&process).Error
+		if txErr != nil {
+			return txErr
+		}
+		txErr = tx.Model(&ProcessNodes{}).Unscoped().Where("process_id = ?", process.ID).Delete(&ProcessNodes{}).Error
+		if txErr != nil {
+			return txErr
+		}
+		txErr = tx.Model(&ProcessNodes{}).Create(&nodes).Error
+		if txErr != nil {
+			return txErr
+		}
+		return nil
+	})
 }
 
 func (p Process) DeleteProcess() error {

+ 6 - 0
server/dao/project.go

@@ -79,6 +79,12 @@ func QueryProjectByCode(code string) (project Project, err error) {
 	return
 }
 
+func QueryProjectById(id int) (project Project, err error) {
+	err = global.GVA_DB.Model(&Project{}).Where("id =?", id).Preload("Principal").Preload("ProjectState").First(&project).Error
+	project.SecondPrincipalName = project.Principal.NickName
+	return
+}
+
 // QueryAllProject 查询所以项目
 func QueryAllProject() (projects []Project, err error) {
 	err = global.GVA_DB.Model(&Project{}).Find(&projects).Error

+ 1 - 1
server/dao/projectFee.go

@@ -75,7 +75,7 @@ func QueryReserveBalance() (reserve Reserve, err error) {
 		if txErr != nil {
 			return txErr
 		}
-		txErr = tx.Model(&Expenses{}).Select("SUM(expenditure_amount) as reserve_amount").Where("genre = ?", 7).First(&reserve).Error
+		txErr = tx.Model(&Expenses{}).Select("SUM(expenditure_amount) as reserve_amount").Where("genre = ?", 10).First(&reserve).Error
 		if txErr != nil {
 			return txErr
 		}

+ 4 - 4
server/dao/project_process.go

@@ -5,10 +5,9 @@ import "server/global"
 type ProjectProcess struct {
 	global.GVA_MODEL
 	ProjectProcessName string        `json:"projectProcessName" form:"projectProcessName" gorm:"comment:项目审批名称"`
-	ProjectId          int           `json:"projectId" form:"projectId" gorm:"comment:项目id"`
-	Project            Project       `json:"project" form:"project" gorm:"foreignKey:ProjectId;references:id;"`
 	Applicant          int           `json:"applicant" form:"applicant" gorm:"comment:申请人"`
 	User               SysUser       `json:"user" form:"user" gorm:"foreignKey:Applicant;references:id;"`
+	ProjectId          int           `json:"projectId" form:"projectId" gorm:"comment:项目id"`
 	CurrentNodeOrder   int           `json:"currentNodeOrder" form:"currentNodeOrder" gorm:"comment:当前审批节点id"`
 	Node               Node          `json:"node" form:"node" gorm:"foreignKey:CurrentNodeOrder;references:id;"`
 	ProcessApprovalId  int           `json:"processApprovalId" form:"processApprovalId" gorm:"comment:当前审批流程id"`
@@ -32,7 +31,8 @@ func QueryProjectApplicantList(limit, offset, applicant int) (projectProcesses [
 	if err != nil {
 		return
 	}
-	err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Project").Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
+	err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
+
 	return projectProcesses, total, err
 }
 
@@ -44,7 +44,7 @@ func QueryProjectProcessList(limit, offset, applicant int) (projectProcesses []P
 	if err != nil {
 		return
 	}
-	err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Project").Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
+	err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Preload("Node").Preload("Process").Preload("Descriptions").Find(&projectProcesses).Error
 	return projectProcesses, total, err
 }
 

+ 13 - 0
server/dao/purchase.go

@@ -29,6 +29,19 @@ func QueryPurchase(code string) (purchase []Purchase, err error) {
 	return purchase, err
 }
 
+func QueryPurchaseList(limit, offset int) (purchase []Purchase, total int64, err error) {
+	// 创建db
+	db := global.GVA_DB.Model(&Purchase{})
+	// 如果有条件搜索 下方会自动创建搜索语句
+
+	err = db.Count(&total).Error
+	if err != nil {
+		return
+	}
+	err = db.Order("id desc").Limit(limit).Offset(offset).Find(&purchase).Error
+	return purchase, total, err
+}
+
 // TODO:采购新增
 
 // CreatePurchase 新建采购

+ 49 - 0
server/dao/supplier.go

@@ -0,0 +1,49 @@
+package dao
+
+import "server/global"
+
+type Supplier struct {
+	global.GVA_MODEL
+	Name        string `json:"name" form:"name" gorm:"comment:供应商名称"`
+	City        string `json:"city" form:"city" gorm:"comment:所在城市"`
+	Address     string `json:"address" form:"address" gorm:"comment:详细地址"`
+	ContactName string `json:"contactName" form:"contactName" gorm:"comment:联系人"`
+	Email       string `json:"email" form:"email" gorm:"comment:Email"`
+	Phone       string `json:"phone" form:"phone" gorm:"comment:联系电话"`
+	Remarks     string `json:"remarks" form:"remarks" gorm:"comment:备注"`
+}
+
+func (Supplier) TableName() string {
+	return "supplier"
+}
+
+func QueryAllSupplier() ([]Supplier, error) {
+	var suppliers []Supplier
+	err := global.GVA_DB.Find(&suppliers).Error
+	return suppliers, err
+}
+
+func QuerySupplierList(limit, offset int) (suppliers []Supplier, total int64, err error) {
+	// 创建db
+	db := global.GVA_DB.Model(&Supplier{})
+	// 如果有条件搜索 下方会自动创建搜索语句
+
+	err = db.Count(&total).Error
+	if err != nil {
+		return
+	}
+	err = db.Order("id desc").Limit(limit).Offset(offset).Find(&suppliers).Error
+	return suppliers, total, err
+}
+
+func (s Supplier) CreateSupplier() error {
+	return global.GVA_DB.Create(&s).Error
+}
+
+func (s Supplier) UpdateSupplier() error {
+	return global.GVA_DB.Model(&s).Select("*").Omit("created_at").Updates(&s).Error
+}
+
+func (s Supplier) DeleteSupplier() error {
+	return global.GVA_DB.Unscoped().Delete(&s).Error
+}

+ 45 - 0
server/dao/warehouse.go

@@ -0,0 +1,45 @@
+package dao
+
+import "server/global"
+
+type Warehouse struct {
+	global.GVA_MODEL
+	Name     string `json:"name" form:"name" gorm:"comment:库房名称"`
+	Location string `json:"location" form:"location" gorm:"comment:库房位置"`
+	Head     string `json:"head" form:"head" gorm:"comment:负责人"`
+	Remarks  string `json:"remarks" form:"remarks" gorm:"comment:备注"`
+}
+
+func (Warehouse) TableName() string {
+	return "storehouse"
+}
+
+func QueryAllWarehouse() (warehouse []Warehouse, err error) {
+	err = global.GVA_DB.Model(&Warehouse{}).Find(&warehouse).Error
+	return warehouse, err
+}
+
+func QueryWarehouseList(limit, offset int) (warehouse []Warehouse, total int64, err error) {
+	// 创建db
+	db := global.GVA_DB.Model(&Warehouse{})
+	// 如果有条件搜索 下方会自动创建搜索语句
+
+	err = db.Count(&total).Error
+	if err != nil {
+		return
+	}
+	err = db.Order("id desc").Limit(limit).Offset(offset).Find(&warehouse).Error
+	return warehouse, total, err
+}
+
+func (w Warehouse) CreateWarehouse() error {
+	return global.GVA_DB.Create(&w).Error
+}
+
+func (w Warehouse) UpdateWarehouse() error {
+	return global.GVA_DB.Where("id = ?", w.ID).Updates(&w).Error
+}
+
+func (w Warehouse) DeleteWarehouse() error {
+	return global.GVA_DB.Unscoped().Delete(&w).Error
+}

+ 1 - 0
server/initialize/gorm.go

@@ -73,6 +73,7 @@ func RegisterTables() {
 		dao.Process{},
 		dao.Description{},
 		dao.ProjectProcess{},
+		dao.ProcessNodes{},
 	)
 	if err != nil {
 		global.GVA_LOG.Error("register table failed", zap.Error(err))

+ 7 - 0
server/model/common/request/common.go

@@ -1,5 +1,7 @@
 package request
 
+import "server/dao"
+
 // PageInfo Paging common input parameter structure
 type PageInfo struct {
 	Page     int    `json:"page" form:"page"`         // 页码
@@ -96,4 +98,9 @@ type SearchProjectProcess struct {
 	UserId   int      `json:"userId" form:"userId"`
 }
 
+type CreateProcess struct {
+	Process      dao.Process        `json:"process" form:"process"`
+	ProcessNodes []dao.ProcessNodes `json:"processNodes" form:"processNodes"`
+}
+
 type Empty struct{}

+ 1 - 0
server/router/admin/expenses.go

@@ -28,5 +28,6 @@ func (s *DepartmentRouter) InitExpensesRouter(Router *gin.RouterGroup) {
 		expensesRouterWithoutRecord.GET("querySurplus", expensesApi.QuerySurplus)
 		expensesRouterWithoutRecord.GET("queryProjectMonthFee", expensesApi.QueryProjectMonthFee)
 		expensesRouterWithoutRecord.GET("queryMonthExpenses", expensesApi.QueryMonthExpenses)
+		expensesRouterWithoutRecord.GET("queryExpensesById", expensesApi.QueryExpensesById)
 	}
 }

+ 1 - 0
server/router/admin/project.go

@@ -50,5 +50,6 @@ func (s *ProjectRouter) InitProjectRouter(Router *gin.RouterGroup) {
 		projectRouterWithoutRecord.POST("projectFilesDownload", projectApi.ProjectFilesDownload)
 		projectRouterWithoutRecord.GET("queryProjectState", projectApi.QueryProjectState)
 		projectRouterWithoutRecord.GET("queryProjectSum", projectApi.QueryProjectSum)
+		projectRouterWithoutRecord.GET("queryProjectById", projectApi.QueryProjectById)
 	}
 }

+ 4 - 0
server/service/admin/expenses.go

@@ -48,6 +48,10 @@ func (es *ExpensesService) QueryExpensesSumByPeople(info request.SearchExpenses)
 	return expenses, total, err
 }
 
+func (es *ExpensesService) QueryExpensesById(id int) (dao.Expenses, error) {
+	return dao.QueryExpensesById(id)
+}
+
 func (es *ExpensesService) QuerySurplus() (interface{}, error) {
 	return dao.QuerySurplus()
 }

+ 4 - 0
server/service/admin/project.go

@@ -134,6 +134,10 @@ func (ps *ProjectService) QueryProjectSum(code string) (dao.ProjectSum, error) {
 	return dao.QueryProjectSum(code)
 }
 
+func (ps *ProjectService) QueryProjectById(id int) (dao.Project, error) {
+	return dao.QueryProjectById(id)
+}
+
 func (ps *ProjectService) CreateProject(project dao.Project) error {
 	return project.CreateProject()
 }

+ 30 - 0
server/service/storehouse/commodity.go

@@ -0,0 +1,30 @@
+package storehouse
+
+import (
+	"server/dao"
+	"server/model/common/request"
+)
+
+type CommodityService struct{}
+
+func (cs *CommodityService) QueryAllCommodity() ([]dao.Commodity, error) {
+	return dao.QueryAllCommodity()
+}
+
+func (cs *CommodityService) QueryCommodityList(info request.PageInfo) (list interface{}, total int64, err error) {
+	limit := info.PageSize
+	offset := info.PageSize * (info.Page - 1)
+	return dao.QueryCommodityList(limit, offset)
+}
+
+func (cs *CommodityService) CreateCommodity(commodity dao.Commodity) error {
+	return commodity.CreateCommodity()
+}
+
+func (cs *CommodityService) UpdateCommodity(commodity dao.Commodity) error {
+	return commodity.UpdateCommodity()
+}
+
+func (cs *CommodityService) DeleteCommodity(commodity dao.Commodity) error {
+	return commodity.DeleteCommodity()
+}

+ 32 - 0
server/service/storehouse/commodityGenre.go

@@ -0,0 +1,32 @@
+package storehouse
+
+import (
+	"fmt"
+	"server/dao"
+)
+
+type CommodityGenreService struct{}
+
+func (cgs *CommodityGenreService) QueryAllCommodityGenre() ([]dao.CommodityGenre, error) {
+	return dao.QueryAllCommodityGenres()
+}
+
+func (cgs *CommodityGenreService) CreateCommodityGenre(cg dao.CommodityGenre) error {
+	return cg.CreateCommodityGenre()
+}
+
+func (cgs *CommodityGenreService) UpdateCommodityGenre(cg dao.CommodityGenre) error {
+	return cg.UpdateCommodityGenre()
+}
+
+func (cgs *CommodityGenreService) DeleteCommodityGenre(cg dao.CommodityGenre) error {
+	commodity, err := dao.QueryCommodityByGenre(int(cg.ID))
+	if err != nil {
+		return err
+	}
+	if len(commodity) > 0 {
+		return fmt.Errorf("数据已被使用")
+	}
+
+	return cg.DeleteCommodityGenre()
+}

+ 7 - 0
server/service/storehouse/enter.go

@@ -0,0 +1,7 @@
+package storehouse
+
+type ServiceGroup struct {
+	CommodityService
+	SupplierService
+	CommodityGenreService
+}

+ 32 - 0
server/service/storehouse/supplier.go

@@ -0,0 +1,32 @@
+package storehouse
+
+import (
+	"server/dao"
+	"server/model/common/request"
+)
+
+type SupplierService struct {
+}
+
+func (ss *SupplierService) QueryAllSupplier() ([]dao.Supplier, error) {
+	return dao.QueryAllSupplier()
+}
+
+func (ss *SupplierService) QuerySupplierList(info request.PageInfo) (list interface{}, total int64, err error) {
+	limit := info.PageSize
+	offset := info.PageSize * (info.Page - 1)
+	suppliers, total, err := dao.QuerySupplierList(limit, offset)
+	return suppliers, total, err
+}
+
+func (ss *SupplierService) CreateSupplier(supplier dao.Supplier) error {
+	return supplier.CreateSupplier()
+}
+
+func (ss *SupplierService) UpdateSupplier(supplier dao.Supplier) error {
+	return supplier.UpdateSupplier()
+}
+
+func (ss *SupplierService) DeleteSupplier(supplier dao.Supplier) error {
+	return supplier.DeleteSupplier()
+}

+ 31 - 0
server/service/storehouse/warehouse.go

@@ -0,0 +1,31 @@
+package storehouse
+
+import (
+	"server/dao"
+	"server/model/common/request"
+)
+
+type WarehouseService struct{}
+
+func (ws *WarehouseService) QueryAllWarehouse() ([]dao.Warehouse, error) {
+	return dao.QueryAllWarehouse()
+}
+
+func (ws *WarehouseService) QueryWarehouseList(info request.PageInfo) (list interface{}, total int64, err error) {
+	limit := info.PageSize
+	offset := info.PageSize * (info.Page - 1)
+	warehouse, total, err := dao.QueryWarehouseList(limit, offset)
+	return warehouse, total, err
+}
+
+func (ws *WarehouseService) CreateWarehouse(warehouse dao.Warehouse) error {
+	return warehouse.CreateWarehouse()
+}
+
+func (ws *WarehouseService) UpdateWarehouse(warehouse dao.Warehouse) error {
+	return warehouse.UpdateWarehouse()
+}
+
+func (ws *WarehouseService) DeleteWarehouse(warehouse dao.Warehouse) error {
+	return warehouse.DeleteWarehouse()
+}

+ 2 - 2
server/service/workflow/approver.go

@@ -25,7 +25,7 @@ func (as *ApproverService) CreateApprover(approver dao.Approver) error {
 }
 
 func (as *ApproverService) UpdateApprover(approver dao.Approver) error {
-	nodes, err := dao.QueryNodeByApproverId(int(approver.ID))
+	nodes, err := dao.QueryNodeAndProcess(int(approver.ID))
 	if err != nil {
 		return err
 	}
@@ -37,7 +37,7 @@ func (as *ApproverService) UpdateApprover(approver dao.Approver) error {
 }
 
 func (as *ApproverService) DeleteApprover(approver dao.Approver) error {
-	nodes, err := dao.QueryNodeByApproverId(int(approver.ID))
+	nodes, err := dao.QueryNodeAndProcess(int(approver.ID))
 	if err != nil {
 		return err
 	}

+ 2 - 2
server/service/workflow/node.go

@@ -32,7 +32,7 @@ func (ns *NodeService) CreateNode(node dao.Node) error {
 }
 
 func (ns *NodeService) UpdateNode(node dao.Node) error {
-	nodes, err := ns.QueryNodeByApproverId(int(node.ID))
+	nodes, err := dao.QueryNodeAndProcess(int(node.ID))
 	if err != nil {
 		return err
 	}
@@ -43,7 +43,7 @@ func (ns *NodeService) UpdateNode(node dao.Node) error {
 }
 
 func (ns *NodeService) DeleteNode(node dao.Node) error {
-	nodes, err := ns.QueryNodeByApproverId(int(node.ID))
+	nodes, err := dao.QueryNodeAndProcess(int(node.ID))
 	if err != nil {
 		return err
 	}

+ 4 - 4
server/service/workflow/process.go

@@ -18,12 +18,12 @@ func (ps *ProcessService) QueryProcessList(info request.PageInfo) (list interfac
 	return processes, total, err
 }
 
-func (ps *ProcessService) CreateProcess(process dao.Process) error {
-	return process.CreateProcess()
+func (ps *ProcessService) CreateProcess(process request.CreateProcess) error {
+	return dao.CreateProcess(process.Process, process.ProcessNodes)
 }
 
-func (ps *ProcessService) UpdateProcess(process dao.Process) error {
-	return process.UpdateProcess()
+func (ps *ProcessService) UpdateProcess(process request.CreateProcess) error {
+	return dao.UpdateProcess(process.Process, process.ProcessNodes)
 }
 
 func (ps *ProcessService) DeleteProcess(process dao.Process) error {