|
@@ -0,0 +1,244 @@
|
|
|
|
+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
|
|
|
|
+}
|