package main

type mul_sp_2_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Plan       []sp_2 `json:"data"`
}

type update_sp_2_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Plan       sp_2   `json:"data"`
}

type get_sp_2_resp struct {
	Data  []sp_2 `json:"data"`
	Total int    `json:"total"`
}

type get_sp_2_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`

	Contract_id   int    `json:"contract_id"`   //合同号
	Supplier      string `json:"supplier"`      //供应商
	Contract_name string `json:"contract_name"` //合同名称
	Rdm           string `json:"rdm"`
	Buyer         string `json:"buyer"` //采购人员

	If_done bool `json:"if_done"`
}

type mul_sp_1_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Plan       []sp_1 `json:"data"`
}

type update_sp_1_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Plan       sp_1   `json:"data"`
}

type get_sp_1_resp struct {
	Data  []sp_1 `json:"data"`
	Total int    `json:"total"`
}

type get_sp_1_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`

	ID int `json:"id"` //序号

	Supplier      string `json:"supplier"`
	Applicant     string `json:"applicant"` //申请人
	Time          string `json:"time"`
	Contract_name string `json:"contract_name"` //合同名称
	Rdm           string `json:"rdm"`
	Amount        string `json:"amount"` //金额

	If_done bool   `json:"if_done"`
	State   string `json:"state"` //审批状态
}

type import_sp_1_Req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Plan       []sp_1 `json:"plan"`
}

type update_payment_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`

	Data payment_info `json:"data"`
}

type get_payment_by_id_resp struct {
	Data payment_info `json:"data"`
}

type get_payment_resp struct {
	Data  []payment_info `json:"data"`
	Total int            `json:"total"`
}

type payment_info struct {
	Pre_id int `json:"pre_id"` //父id
	ID     int `json:"id"`

	Supplier string `json:"supplier"` //供应商

	Code  string `json:"code"`  //编号
	Name  string `json:"name"`  //名称
	Spec  string `json:"spec"`  //规格
	Unit  string `json:"unit"`  //单位
	Num   string `json:"num"`   //数量
	Price string `json:"price"` //单价

	Payment_type string `json:"pt"` //付款方式

	Total_p string `json:"total_p"` //总计

	Paid string `json:"paid"` //已付

	Residual_p string `json:"rp"` //应付

	Payment_data []payment_month `json:"payment_data"`
}

type payment_month struct {
	Month        string `json:"payment_month"`
	Payment      string `json:"payment"`
	Payment_user string `json:"payment_user"`
}

type get_payment_by_id_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`

	ID int `json:"id"`
}

type get_payment_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`

	Index int `json:"index"`
	Count int `json:"count"`
	//ID         string `json:"id"`

	Code     string `json:"code"`     //编号
	Name     string `json:"name"`     //名称
	Supplier string `json:"supplier"` //供应商
}

type approve_ok_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`

	ID int `json:"id"`

	Data []approve_m_detail `json:"data"`
}

type del_approve_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`

	Data []approve_m_info `json:"ids"`
}

type import_approve_m_req struct {
	OpUser     string             `json:"opuser"`
	OpUserUuid string             `json:"opuser_uuid"`
	Data       []approve_m_detail `json:"data"`
}

type approve_m_detail struct {
	ID int `json:"id"`

	Supplier      string `json:"supplier"`      //供应商
	Supplier_code string `json:"supplier_code"` //供应商
	Payment_type  string `json:"pt"`            //付款方式

	Code        string `json:"code"`        //编号
	Name        string `json:"name"`        //名称
	Spec        string `json:"spec"`        //规格
	Unit        string `json:"unit"`        //单位
	Price       string `json:"price"`       //单价
	Update_date string `json:"update_date"` //更新日期

	Procurement_cycle string `json:"pc"` //采购周期

	Validity_period_of_quotation string `json:"vpoq"` //报价有效期

	Effective_time string `json:"effective_time"` //报价有效时间=更新时间-today+报价有效期

	Op_type    string `json:"op_type"`
	Price_span string `json:"price_span"`

	Last_price string `json:"last_price"`

	Factory      string `json:"factory"`      //生产厂家
	Factory_code string `json:"factory_code"` //厂家编号
	Qs           string `json:"qs"`           //质量标准
	As           string `json:"as"`           //验收标准
}

type get_approve_m_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`
	Applicant  string `json:"applicant"` //申请人
}

type get_approve_m_resp struct {
	Data  []approve_m_info `json:"data"`
	Total int              `json:"total"`
}

type approve_m_info struct {
	ID         int    `json:"id"`
	Applicant  string `json:"applicant"`
	Time       string `json:"time"`
	Record_cnt int    `json:"record_cnt"`
	Update_cnt int    `json:"update_cnt"`
	Add_cnt    int    `json:"add_cnt"`
	State      string `json:"state"`
	Data       string `json:"data"`
}

type get_material_resp struct {
	Data  []material_info `json:"data"`
	Total int             `json:"total"`
}

type material_info struct {
	ID int `json:"id"`

	Supplier      string `json:"supplier"`      //供应商
	Supplier_code string `json:"supplier_code"` //供应商
	Payment_type  string `json:"pt"`            //付款方式

	Code        string `json:"code"`        //编号
	Name        string `json:"name"`        //名称
	Spec        string `json:"spec"`        //规格
	Unit        string `json:"unit"`        //单位
	Price       string `json:"price"`       //单价
	Update_date string `json:"update_date"` //更新日期

	Procurement_cycle string `json:"pc"` //采购周期

	Validity_period_of_quotation string `json:"vpoq"` //报价有效期

	Effective_time string `json:"effective_time"` //报价有效时间=更新时间-today+报价有效期

	Price_2       string `json:"price_2"`       //单价
	Update_date_2 string `json:"update_date_2"` //更新日期

	Price_3       string `json:"price_3"`       //单价
	Update_date_3 string `json:"update_date_3"` //更新日期

	Price_4       string `json:"price_4"`       //单价
	Update_date_4 string `json:"update_date_4"` //更新日期

	Price_5       string `json:"price_5"`       //单价
	Update_date_5 string `json:"update_date_5"` //更新日期

	Price_arr []price_update_info `json:"price_arr"`

	Factory      string `json:"factory"`      //生产厂家
	Factory_code string `json:"factory_code"` //厂家编号
	Qs           string `json:"qs"`           //质量标准
	As           string `json:"as"`           //验收标准

	Del_time string `json:"del_time"`
	Del_user string `json:"del_user"`
}

type price_update_info struct {
	Price_       string `json:"price_"`       //单价
	Update_date_ string `json:"update_date_"` //更新日期
}

type get_material_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`
	//ID         string `json:"id"`

	Code     string `json:"code"`     //编号
	Name     string `json:"name"`     //名称
	Supplier string `json:"supplier"` //供应商
	Bt       string `json:"bt"`       //开始时间
	Et       string `json:"et"`       //结束时间

	If_del bool `json:"if_del"` //是否已删除
}

type post_rs_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	ID         int    `json:"id"`
	State      string `json:"rs"`
	Oper_type  int    `json:"oper_type"`
}

type get_rs_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	State      string `json:"state"`
}

type cal_completion_date_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Bt         string `json:"bt"`
	Days       string `json:"days"`
}

type remove_material_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	ID         []int  `json:"ids"`
}

type remove_ma_plan_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	ID         int    `json:"id"`
}

type get_ma_username_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
}

type get_p_name_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	P_id       string `json:"p_id"`
}

type get_p_id_options_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	P_like_id  string `json:"p_like_id"`
}

type mul_update_pp_plan_num_req struct {
	OpUser     string    `json:"opuser"`
	OpUserUuid string    `json:"opuser_uuid"`
	Plan       []pp_plan `json:"data"`
}

type update_ma_plan_req struct {
	OpUser     string  `json:"opuser"`
	OpUserUuid string  `json:"opuser_uuid"`
	Plan       pp_plan `json:"data"`
}

type get_single_plan_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	ID         []int  `json:"id"`
	If_done    bool   `json:"if_done"` //已处理
}

type get_single_plan_resp struct {
	Data []pp_plan `json:"data"`
}

type get_ma_plan_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`
	ID         string `json:"id"`
	RDM        string `json:"rdm"`
	Bt         string `json:"bt"`
	Et         string `json:"et"`
	Code       string `json:"code"`     //编号
	Name       string `json:"name"`     //名称
	Supplier   string `json:"supplier"` //供应方

	If_done bool `json:"if_done"` //已处理

	State string `json:"state"`

	Buyer string   `json:"buyer"` //采购人
	Codes []string `json:"codes"` //编号
}

type import_ma_plan_Req struct {
	OpUser     string    `json:"opuser"`
	OpUserUuid string    `json:"opuser_uuid"`
	Plan       []pp_plan `json:"plan"`
}

type del_process_req struct {
	OpUser     string         `json:"opuser"`
	OpUserUuid string         `json:"opuser_uuid"`
	Ids        []process_info `json:"ids"`
}

type update_process_req struct {
	OpUser     string       `json:"opuser"`
	OpUserUuid string       `json:"opuser_uuid"`
	Data       process_info `json:"data"`
}

type import_process_req struct {
	OpUser     string         `json:"opuser"`
	OpUserUuid string         `json:"opuser_uuid"`
	Data       []process_info `json:"data"`
}

type get_process_req struct {
	OpUser       string `json:"opuser"`
	OpUserUuid   string `json:"opuser_uuid"`
	P_id         string `json:"p_id"`
	Process_name string `json:"process_name"`
	Index        int    `json:"index"`
	Count        int    `json:"count"`
}

type import_p_Req struct {
	OpUser     string  `json:"opuser"`
	OpUserUuid string  `json:"opuser_uuid"`
	Data       []p_sap `json:"data"`
}

type del_p_req struct {
	OpUser     string  `json:"opuser"`
	OpUserUuid string  `json:"opuser_uuid"`
	Ids        []p_sap `json:"ids"`
}

type post_p_req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Id         int    `json:"id"`
	P_id       string `json:"p_id"`
	P_name     string `json:"p_name"`
	OperType   int    `json:"oper_type"`
}

type get_p_Req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	P_id       string `json:"p_id"`
	P_name     string `json:"p_name"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`
}

type download_template_file_Req struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
}

type getUserNamesReq struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
}

type PostUserReq struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Id         int    `json:"id"`
	Username   string `json:"username"`
	Password   string `json:"password"`
	Role       string `json:"role"`
	Department string `json:"department"`
	OperType   int    `json:"oper_type"`
	State      string `json:"state"`

	If_buyer int `json:"if_buyer"`
}

type getUsersReq struct {
	OpUser     string `json:"opuser"`
	OpUserUuid string `json:"opuser_uuid"`
	Id         string `json:"id"`
	Index      int    `json:"index"`
	Count      int    `json:"count"`
}

type GetMenuReq struct {
	UserName string `json:"username"`
	Uuid     string `json:"uuid"`
}

type LoginOutReq struct {
	Username string `json:"username"`
}

type RefreshUserReq struct {
	Uuid     string `json:"uuid"`
	Username string `json:"username"`
}

type LoginReq struct {
	Username string `json:"username"`
	Password string `json:"password"`
}
