package controllers import ( "ERP_storage/Nats/NatsServer" "ERP_storage/conf" "ERP_storage/models/Account" "ERP_storage/models/ProjectFiling" "fmt" "github.com/beego/beego/v2/adapter/orm" beego "github.com/beego/beego/v2/server/web" userlibs "gogs.baozhida.cn/zoie/ERP_libs/User" "gogs.baozhida.cn/zoie/ERP_libs/lib" "math" "strconv" ) type ProjectFilingController struct { beego.Controller User userlibs.User } func (c *ProjectFilingController) Prepare() { c.User = *Account.User_r } // 项目备案 func (c *ProjectFilingController) ProjectFiling_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 } // 查询 T_sales_personnel := c.GetString("T_sales_personnel") T_customers := c.GetString("T_customers") R_List, R_cnt := ProjectFiling.Read_ProjectFiling_List("", T_sales_personnel, T_customers, 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 *ProjectFilingController) ProjectFiling_User_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 } // 查询 T_sales_personnel := c.GetString("T_sales_personnel") T_customers := c.GetString("T_customers") R_List, R_cnt := ProjectFiling.Read_ProjectFiling_List(c.User.T_uuid, T_sales_personnel, T_customers, 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 *ProjectFilingController) ProjectFiling_Add() { T_date := c.GetString("T_date") T_sales_personnel := c.GetString("T_sales_personnel") T_customers := c.GetString("T_customers") T_customers_type := c.GetString("T_customers_type") T_service_type := c.GetString("T_service_type") T_content := c.GetString("T_content") T_estimate_contract_amount := c.GetString("T_estimate_contract_amount") T_sign_bill_time := c.GetString("T_sign_bill_time") T_prepare_content := c.GetString("T_prepare_content") T_remark := c.GetString("T_remark") var_ := ProjectFiling.ProjectFiling{ T_date: T_date, T_sales_personnel: T_sales_personnel, T_customers: T_customers, T_customers_type: T_customers_type, T_service_type: T_service_type, T_content: T_content, T_estimate_contract_amount: T_estimate_contract_amount, T_sign_bill_time: T_sign_bill_time, T_prepare_content: T_prepare_content, T_remark: T_remark, T_state: 1, T_uuid: c.User.T_uuid, } ProjectFiling_r, err := ProjectFiling.Read_ProjectFiling_ByT_customers(T_customers) if err != nil && err.Error() != orm.ErrNoRows.Error() { c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"} c.ServeJSON() return } if ProjectFiling_r.Id > 0 { c.Data["json"] = lib.JSONS{Code: 203, Msg: fmt.Sprintf("【%s】客户已存在", T_customers)} c.ServeJSON() return } Id, err := ProjectFiling.Add_ProjectFiling(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "项目备案", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id} c.ServeJSON() return } func (c *ProjectFilingController) ProjectFiling_Edit() { T_id, _ := c.GetInt("T_id") T_date := c.GetString("T_date") T_sales_personnel := c.GetString("T_sales_personnel") T_customers := c.GetString("T_customers") T_customers_type := c.GetString("T_customers_type") T_service_type := c.GetString("T_service_type") T_content := c.GetString("T_content") T_estimate_contract_amount := c.GetString("T_estimate_contract_amount") T_sign_bill_time := c.GetString("T_sign_bill_time") T_prepare_content := c.GetString("T_prepare_content") T_remark := c.GetString("T_remark") ProjectFiling_r, err := ProjectFiling.Read_ProjectFiling_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_id Err!"} c.ServeJSON() return } ProjectFiling_r2, err := ProjectFiling.Read_ProjectFiling_ByT_customers(T_customers) if err != nil && err.Error() != orm.ErrNoRows.Error() { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } if ProjectFiling_r2.Id != ProjectFiling_r.Id && ProjectFiling_r2.Id > 0 { c.Data["json"] = lib.JSONS{Code: 203, Msg: fmt.Sprintf("【%s】客户已存在", T_customers)} c.ServeJSON() return } cols := []string{} if len(T_date) > 0 { ProjectFiling_r.T_date = T_date cols = append(cols, "T_date") } if len(T_sales_personnel) > 0 { ProjectFiling_r.T_sales_personnel = T_sales_personnel cols = append(cols, "T_sales_personnel") } if len(T_customers) > 0 { ProjectFiling_r.T_customers = T_customers cols = append(cols, "T_customers") } if len(T_customers_type) > 0 { ProjectFiling_r.T_customers_type = T_customers_type cols = append(cols, "T_customers_type") } if len(T_service_type) > 0 { ProjectFiling_r.T_service_type = T_service_type cols = append(cols, "T_service_type") } if len(T_content) > 0 { ProjectFiling_r.T_content = T_content cols = append(cols, "T_content") } if len(T_estimate_contract_amount) > 0 { ProjectFiling_r.T_estimate_contract_amount = T_estimate_contract_amount cols = append(cols, "T_estimate_contract_amount") } if len(T_sign_bill_time) > 0 { ProjectFiling_r.T_sign_bill_time = T_sign_bill_time cols = append(cols, "T_sign_bill_time") } if len(T_prepare_content) > 0 { ProjectFiling_r.T_prepare_content = T_prepare_content cols = append(cols, "T_prepare_content") } if len(T_remark) > 0 { ProjectFiling_r.T_remark = T_remark cols = append(cols, "T_remark") } if err = ProjectFiling.Update_ProjectFiling(ProjectFiling_r, cols...); err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "项目备案", "修改", ProjectFiling_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *ProjectFilingController) ProjectFiling_Del() { T_id, _ := c.GetInt("T_id") ProjectFiling_r, err := ProjectFiling.Read_ProjectFiling_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } if err = ProjectFiling.Delete_ProjectFiling(ProjectFiling_r); err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "项目备案", "删除", strconv.Itoa(T_id)) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return }