| | |
| | | id, err = model.NewFollowRecordSearch().MaxAutoIncr() |
| | | case constvar.CodeStandardTypeQuotation: |
| | | id, err = model.NewQuotationSearch(nil).MaxAutoIncr() |
| | | //报价单是否必须关联销售机会 |
| | | first, err := model.NewSystemSetSearch().SetName("报价单是否必须关联销售机会").First() |
| | | if err == nil { |
| | | if first.Value == "是" { |
| | | c.Writer.Header().Set("Xsjh", "yes") |
| | | } else { |
| | | c.Writer.Header().Set("Xsjh", "no") |
| | | } |
| | | } |
| | | case constvar.CodeStandardTypeSaleTotalOrder: |
| | | id, err = model.NewMasterOrderSearch().MaxAutoIncr() |
| | | case constvar.CodeStandardTypeSaleSuborder: |
| | | id, err = model.NewSubOrderSearch(nil).MaxAutoIncr() |
| | | case constvar.CodeStandardTypeSaleDetail: |
| | | id, err = model.NewSalesDetailsSearch().MaxAutoIncr() |
| | | //销售明细单是否必须关联报价单 |
| | | first, err := model.NewSystemSetSearch().SetName("销售明细单是否必须关联报价单").First() |
| | | if err == nil { |
| | | if first.Value == "是" { |
| | | c.Writer.Header().Set("Bjd", "yes") |
| | | } else { |
| | | c.Writer.Header().Set("Bjd", "no") |
| | | } |
| | | } |
| | | //销售明细单是否必须关联业务机会 |
| | | first, err = model.NewSystemSetSearch().SetName("销售明细单是否必须关联业务机会").First() |
| | | if err == nil { |
| | | if first.Value == "是" { |
| | | c.Writer.Header().Set("Ywjh", "yes") |
| | | } else { |
| | | c.Writer.Header().Set("Ywjh", "no") |
| | | } |
| | | } |
| | | case constvar.CodeStandardTypeSaleReturnGoods: |
| | | id, err = model.NewSalesReturnSearch().MaxAutoIncr() |
| | | case constvar.CodeStandardTypeSaleRefund: |
| | |
| | | } |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // UseSystemSet |
| | | // |
| | | // @Tags 系统设置 |
| | | // @Summary 使用系统设置 |
| | | // @Produce application/json |
| | | // @Param modeType path string true "查询参数" |
| | | // @Success 200 {object} response.ListResponse |
| | | // @Router /api/system/useSystemSet/{modeType} [get] |
| | | func (slf *SystemSetApi) UseSystemSet(c *gin.Context) { |
| | | ctx, ok := contextx.NewContext(c, nil) |
| | | if !ok { |
| | | return |
| | | } |
| | | modeType := c.Param("modeType") |
| | | if modeType == "" { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "参数错误") |
| | | return |
| | | } |
| | | switch constvar.ModeType(modeType) { |
| | | case constvar.BjdMode: |
| | | all, err := model.NewSystemSetSearch().SetModeType(modeType).FindAll() |
| | | if err == nil { |
| | | for _, set := range all { |
| | | //报价单是否必须关联销售机会 |
| | | if set.Name == "报价单是否必须关联销售机会" { |
| | | if set.Value == "是" { |
| | | c.Writer.Header().Set("Xsjh", "yes") |
| | | } else { |
| | | c.Writer.Header().Set("Xsjh", "no") |
| | | } |
| | | } |
| | | } |
| | | } |
| | | case constvar.XsmxMode: |
| | | all, err := model.NewSystemSetSearch().SetModeType(modeType).FindAll() |
| | | if err == nil { |
| | | for _, set := range all { |
| | | //销售明细单是否必须关联报价单 |
| | | if set.Name == "销售明细单是否必须关联报价单" { |
| | | if set.Value == "是" { |
| | | c.Writer.Header().Set("Bjd", "yes") |
| | | } else { |
| | | c.Writer.Header().Set("Bjd", "no") |
| | | } |
| | | } |
| | | //销售明细单是否必须关联业务机会 |
| | | if set.Name == "销售明细单是否必须关联业务机会" { |
| | | if set.Value == "是" { |
| | | c.Writer.Header().Set("Ywjh", "yes") |
| | | } else { |
| | | c.Writer.Header().Set("Ywjh", "no") |
| | | } |
| | | } |
| | | } |
| | | } |
| | | default: |
| | | ctx.FailWithMsg(ecode.UnknownErr, "参数错误") |
| | | return |
| | | } |
| | | ctx.Ok() |
| | | } |
| | |
| | | SystemType = 2 |
| | | ) |
| | | |
| | | // ModeType 模块类型 |
| | | type ModeType string |
| | | |
| | | const ( |
| | | BjdMode ModeType = "bjd" |
| | | XsmxMode ModeType = "xsmx" |
| | | ) |
| | | |
| | | var SystemSet = map[string]interface{}{ |
| | | "CRM": map[string]interface{}{ |
| | | "报价单是否必须关联销售机会": map[string]interface{}{ |
| | |
| | | "1": "是", |
| | | "2": "否", |
| | | }, |
| | | "modeType": "bjd", |
| | | }, |
| | | "销售明细单是否必须关联报价单": map[string]interface{}{ |
| | | "value": "是", |
| | |
| | | "1": "是", |
| | | "2": "否", |
| | | }, |
| | | "modeType": "xsmx", |
| | | }, |
| | | "销售明细单是否必须关联业务机会": map[string]interface{}{ |
| | | "value": "是", |
| | |
| | | "1": "是", |
| | | "2": "否", |
| | | }, |
| | | "modeType": "xsmx", |
| | | }, |
| | | }, |
| | | } |
| | |
| | | |
| | | type ( |
| | | SystemSet struct { |
| | | Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"` |
| | | Name string `json:"name" gorm:"type:varchar(255);comment:名称"` |
| | | Value string `json:"value" gorm:"type:varchar(255);comment:值"` |
| | | SystemType string `json:"systemType" gorm:"type:varchar(255);comment:系统类型"` |
| | | Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"` |
| | | Name string `json:"name" gorm:"type:varchar(255);comment:名称"` |
| | | Value string `json:"value" gorm:"type:varchar(255);comment:值"` |
| | | ModeType string `json:"modeType" gorm:"type:varchar(255);comment:模块类型"` |
| | | } |
| | | SystemSetSearch struct { |
| | | SystemSet |
| | |
| | | slf.Name = name |
| | | return slf |
| | | } |
| | | func (slf *SystemSetSearch) SetModeType(modeType string) *SystemSetSearch { |
| | | slf.ModeType = modeType |
| | | return slf |
| | | } |
| | | |
| | | func (slf *SystemSetSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Table(slf.TableName()) |
| | |
| | | if slf.Name != "" { |
| | | db = db.Where("name = ?", slf.Name) |
| | | } |
| | | if slf.ModeType != "" { |
| | | db = db.Where("mode_type = ?", slf.ModeType) |
| | | } |
| | | |
| | | return db |
| | | } |
| | |
| | | { |
| | | systemSetGroup.GET("getSystemSet", systemSetApi.GetSystemSet) |
| | | systemSetGroup.POST("saveSystemSet", systemSetApi.SaveSystemSet) |
| | | systemSetGroup.GET("useSystemSet/:modeType", systemSetApi.UseSystemSet) |
| | | } |
| | | |
| | | return Router |
| | |
| | | } |
| | | crmMap := constvar.SystemSet[`CRM`].(map[string]interface{}) |
| | | for _, set := range all { |
| | | if set.SystemType == "CRM" { |
| | | if _, ok := crmMap[set.Name]; ok { |
| | | crmMap[set.Name].(map[string]interface{})["value"] = set.Value |
| | | } |
| | | if _, ok := crmMap[set.Name]; ok { |
| | | crmMap[set.Name].(map[string]interface{})["value"] = set.Value |
| | | } |
| | | } |
| | | return crmMap, nil |