212 lines
7.9 KiB
Go
212 lines
7.9 KiB
Go
package erp
|
|
|
|
import (
|
|
"context"
|
|
"git.kumo.work/shama/service/client"
|
|
factory2 "git.kumo.work/shama/service/erp/factory"
|
|
"git.kumo.work/shama/service/lib/bean"
|
|
"time"
|
|
)
|
|
|
|
type factory struct {
|
|
factory2.Factory
|
|
}
|
|
type ArgsFactoryList struct {
|
|
Page bean.Page
|
|
Search FactorySearch
|
|
}
|
|
type FactorySearch struct {
|
|
Name string // 工厂名称
|
|
CreatedStaffIds []int64 // 录入人
|
|
CreatedAtStart *time.Time // 录入开始时间
|
|
CreatedAtEnd *time.Time // 录入结束时间
|
|
Origin string // 工厂来源
|
|
City string // 所在城市
|
|
BanFlag int64 // 禁用标记 1=禁用 2=正常
|
|
}
|
|
type ReplyFactoryList struct {
|
|
List []FactoryItem `json:"list"`
|
|
Total int64 `json:"total"`
|
|
}
|
|
|
|
type FactoryItem struct {
|
|
Id int64 `json:"id"`
|
|
Serial string `json:"serial"`
|
|
Name string `json:"name"`
|
|
ShortName string `json:"shortName"`
|
|
EngName string `json:"engName"`
|
|
City string `json:"city"`
|
|
Address string `json:"address"`
|
|
EngAddress string `json:"engAddress"`
|
|
ZipCode string `json:"zipCode"`
|
|
DomesticSupply string `json:"domesticSupply"`
|
|
Origin string `json:"origin"`
|
|
TradeScope string `json:"tradeScope"`
|
|
CreditRank string `json:"creditRank"`
|
|
TeamRank string `json:"teamRank"`
|
|
PayWay string `json:"payWay"`
|
|
Bank string `json:"bank"`
|
|
BankAccount string `json:"bankAccount"`
|
|
BankAddress string `json:"bankAddress"`
|
|
TaxNumber string `json:"taxNumber"`
|
|
Info string `json:"info"`
|
|
LegalPerson string `json:"legalPerson"`
|
|
RegCapital string `json:"regCapital"`
|
|
RegAddress string `json:"regAddress"`
|
|
RegOffice string `json:"regOffice"`
|
|
YearSale string `json:"yearSale"`
|
|
Contact string `json:"contact"`
|
|
OpStartAt *time.Time `json:"opStartAt"`
|
|
OpEndAt *time.Time `json:"opEndAt"`
|
|
LicenseFilePath string `json:"licenseFilePath"`
|
|
LicenseStartAt *time.Time `json:"licenseStartAt"`
|
|
LicenseEndAt *time.Time `json:"licenseEndAt"`
|
|
ReportFilePath string `json:"reportFilePath"`
|
|
ReportStartAt *time.Time `json:"reportStartAt"`
|
|
ReportEndAt *time.Time `json:"reportEndAt"`
|
|
ImgFilePaths []string `json:"imgFilePaths"`
|
|
BanFlag int64 `json:"banFlag"`
|
|
MaterialQuality string `json:"materialQuality"`
|
|
InvoiceType string `json:"invoiceType"`
|
|
Status *int64 `json:"status"`
|
|
CreatedStaffId int64 `json:"createdStaffId"`
|
|
CreatedAt *time.Time `json:"createdAt"`
|
|
UpdatedAt *time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
// List @TITLE 工厂列表
|
|
func (f *factory) List(ctx context.Context, args ArgsFactoryList) (reply ReplyFactoryList, err error) {
|
|
xClient, err := client.GetClient(f)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = xClient.Call(ctx, "List", args, &reply)
|
|
return
|
|
}
|
|
|
|
type ArgsFactoryAdd struct {
|
|
StaffId int64
|
|
FactoryAdd
|
|
}
|
|
|
|
type FactoryAdd struct {
|
|
Serial string // 工厂编号
|
|
ImgFilePaths []string // 图片地址
|
|
Name string // 工厂名称
|
|
ShortName string // 工厂简称
|
|
EngName string // 英文名称
|
|
Origin string // 工厂来源
|
|
MaterialQuality string // 材质
|
|
InvoiceType string // 发票
|
|
BanFlag int64 // 禁用标记 1=禁用 2=正常
|
|
City string // 所在城市
|
|
Address string // 工厂地址
|
|
EngAddress string // 英文地址
|
|
ZipCode string // 邮编
|
|
DomesticSupply string // 境内货源地
|
|
TradeScope string // 工厂业务范围
|
|
CreditRank string // 信用等级
|
|
TeamRank string // 合作等级
|
|
PayWay string // 结算方式
|
|
Bank string // 开户银行
|
|
BankAccount string // 银行账号
|
|
BankAddress string // 银行地址
|
|
TaxNumber string // 工厂税号
|
|
Info string // 备注说明
|
|
LegalPerson string // 法人
|
|
RegCapital string // 注册资金
|
|
RegAddress string // 注册地址
|
|
RegOffice string // 注册机关
|
|
YearSale string // 年销售额
|
|
Contact string // 联系方式
|
|
LicenseFilePath string // 营业执照图片
|
|
ReportFilePath string // 验厂报告图片
|
|
OpStartAt *time.Time // 营业期限 起
|
|
OpEndAt *time.Time // 营业期限 止
|
|
LicenseStartAt *time.Time // 营业执照 起
|
|
LicenseEndAt *time.Time // 营业执照 止
|
|
ReportStartAt *time.Time // 验厂报告 起
|
|
ReportEndAt *time.Time // 验厂报告 止
|
|
Contacts []factory2.ContactAdd // 联系人
|
|
}
|
|
|
|
// Add @TITLE 添加工厂
|
|
func (f *factory) Add(ctx context.Context, args ArgsFactoryAdd) (factoryId int64, err error) {
|
|
xClient, err := client.GetClient(f)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = xClient.Call(ctx, "Add", args, &factoryId)
|
|
return
|
|
}
|
|
|
|
type ReplyFactoryInfo struct {
|
|
Id int64 `json:"id"`
|
|
Serial string `json:"serial"`
|
|
Name string `json:"name"`
|
|
ShortName string `json:"shortName"`
|
|
EngName string `json:"engName"`
|
|
City string `json:"city"`
|
|
Address string `json:"address"`
|
|
EngAddress string `json:"engAddress"`
|
|
ZipCode string `json:"zipCode"`
|
|
DomesticSupply string `json:"domesticSupply"`
|
|
Origin string `json:"origin"`
|
|
TradeScope string `json:"tradeScope"`
|
|
CreditRank string `json:"creditRank"`
|
|
TeamRank string `json:"teamRank"`
|
|
PayWay string `json:"payWay"`
|
|
Bank string `json:"bank"`
|
|
BankAccount string `json:"bankAccount"`
|
|
BankAddress string `json:"bankAddress"`
|
|
TaxNumber string `json:"taxNumber"`
|
|
Info string `json:"info"`
|
|
LegalPerson string `json:"legalPerson"`
|
|
RegCapital string `json:"regCapital"`
|
|
RegAddress string `json:"regAddress"`
|
|
RegOffice string `json:"regOffice"`
|
|
YearSale string `json:"yearSale"`
|
|
Contact string `json:"contact"`
|
|
OpStartAt *time.Time `json:"opStartAt"`
|
|
OpEndAt *time.Time `json:"opEndAt"`
|
|
LicenseFilePath string `json:"licenseFilePath"`
|
|
LicenseStartAt *time.Time `json:"licenseStartAt"`
|
|
LicenseEndAt *time.Time `json:"licenseEndAt"`
|
|
ReportFilePath string `json:"reportFilePath"`
|
|
ReportStartAt *time.Time `json:"reportStartAt"`
|
|
ReportEndAt *time.Time `json:"reportEndAt"`
|
|
ImgFilePaths []string `json:"imgFilePaths"`
|
|
BanFlag int64 `json:"banFlag"`
|
|
MaterialQuality string `json:"materialQuality"`
|
|
InvoiceType string `json:"invoiceType"`
|
|
Status *int64 `json:"status"`
|
|
CreatedStaffId int64 `json:"createdStaffId"`
|
|
CreatedAt *time.Time `json:"createdAt"`
|
|
UpdatedAt *time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
// Info @TITLE 工厂详情
|
|
func (f *factory) Info(ctx context.Context, factoryId int64) (reply ReplyFactoryInfo, err error) {
|
|
xClient, err := client.GetClient(f)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = xClient.Call(ctx, "Info", factoryId, &reply)
|
|
return
|
|
}
|
|
|
|
type ArgsFactoryEdit struct {
|
|
FactoryId int64
|
|
FactoryAdd
|
|
}
|
|
|
|
// Edit @TITLE 编辑工厂
|
|
func (f *factory) Edit(ctx context.Context, args ArgsFactoryEdit) (err error) {
|
|
xClient, err := client.GetClient(f)
|
|
if err != nil {
|
|
return
|
|
}
|
|
reply := 0
|
|
return xClient.Call(ctx, "Edit", args, &reply)
|
|
}
|