|
|
@@ -134,7 +134,7 @@ func (r *ErmcpDGFactoryItem) GetData() (interface{}, error) {
|
|
|
type Ermcp3Brand struct {
|
|
|
BRANDID int64 `json:"brandid"` // 品牌id
|
|
|
BRANDNAME string `json:"brandname"` // 品牌名称
|
|
|
- DELIVERYGOODSID int32 `json:"deliverygoodsid"` // 品种ID
|
|
|
+ DELIVERYGOODSID int64 `json:"deliverygoodsid"` // 品种ID
|
|
|
AREAUSERID int64 `json:"areauserid"` // 用户id
|
|
|
}
|
|
|
|
|
|
@@ -146,7 +146,7 @@ func (r *Ermcp3Brand) GetDataEx() (interface{}, error) {
|
|
|
// GetData 获取品牌数据
|
|
|
func (r *Ermcp3Brand) GetData() ([]Ermcp3Brand, error) {
|
|
|
m := ErmcpDGFactoryItem{
|
|
|
- DELIVERYGOODSID: r.DELIVERYGOODSID,
|
|
|
+ DELIVERYGOODSID: int32(r.DELIVERYGOODSID),
|
|
|
DGFACTORYITEMTYPEID: 2,
|
|
|
ORDERINDEX: 1,
|
|
|
}
|
|
|
@@ -155,7 +155,7 @@ func (r *Ermcp3Brand) GetData() ([]Ermcp3Brand, error) {
|
|
|
if dgLst, ok := d.([]ErmcpDGFactoryItem); ok {
|
|
|
for _, val := range dgLst {
|
|
|
sData = append(sData, Ermcp3Brand{BRANDID: val.DGFACTORYITEMID, AREAUSERID: val.AREAUSERID,
|
|
|
- BRANDNAME: val.DGFACTORYITEMVALUE, DELIVERYGOODSID: val.DELIVERYGOODSID})
|
|
|
+ BRANDNAME: val.DGFACTORYITEMVALUE, DELIVERYGOODSID: int64(val.DELIVERYGOODSID)})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -224,7 +224,7 @@ func (r *ErmcpDeliveryGoodsDetail) addGmList(lst []Ermcp3Wrstandard) {
|
|
|
|
|
|
func (r *ErmcpDeliveryGoodsDetail) addGbList(lst []Ermcp3Brand) {
|
|
|
for i := range lst {
|
|
|
- if lst[i].DELIVERYGOODSID == r.Data.DELIVERYGOODSID {
|
|
|
+ if lst[i].DELIVERYGOODSID == int64(r.Data.DELIVERYGOODSID) {
|
|
|
r.GbList = append(r.GbList, lst[i])
|
|
|
}
|
|
|
}
|
|
|
@@ -250,7 +250,7 @@ func (r *ErmcpDeliveryGoodsDetail) GetData() ([]ErmcpDeliveryGoodsDetail, error)
|
|
|
}
|
|
|
//品类/品牌/套保信息
|
|
|
gm := Ermcp3Wrstandard{AREAUSERID: r.Data.AREAUSERID, DELIVERYGOODSID: r.Data.DELIVERYGOODSID, ISVALID: 1}
|
|
|
- gb := Ermcp3Brand{DELIVERYGOODSID: r.Data.DELIVERYGOODSID}
|
|
|
+ gb := Ermcp3Brand{DELIVERYGOODSID: int64(r.Data.DELIVERYGOODSID)}
|
|
|
gmLst, _ := gm.GetDataEx()
|
|
|
gbLst, _ := gb.GetData()
|
|
|
|
|
|
@@ -2327,3 +2327,229 @@ func (r *Ermcp3PaAreaAuditCfg) GetDataEx() (interface{}, error) {
|
|
|
}
|
|
|
return sData, err
|
|
|
}
|
|
|
+
|
|
|
+// XHDeliveryGoods 商品信息-现货品种
|
|
|
+type XHDeliveryGoods struct {
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"'AREAUSERID'" form:"areauserid"` // 所属机构
|
|
|
+ DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"'DELIVERYGOODSID'" form:"deliverygoodsid"` // 现货品种ID(SEQ_DELIVERYGOODS)
|
|
|
+ DELIVERYGOODSCODE string `json:"deliverygoodscode" xorm:"'DELIVERYGOODSCODE'"` // 现货品种代码
|
|
|
+ DELIVERYGOODSNAME string `json:"deliverygoodsname" xorm:"'DELIVERYGOODSNAME'"` // 现货品种名称
|
|
|
+ ISVALID int32 `json:"isvalid" xorm:"'ISVALID'"` // 是否有效 - 0:无效 1:有效
|
|
|
+ DGSTATUS int32 `json:"dgstatus" xorm:"'DGSTATUS'"` // 品种状态 - 作废 - 0:未激活 1:正常
|
|
|
+ REMARK string `json:"remark" xorm:"'REMARK'"` // 备注
|
|
|
+
|
|
|
+ WDLST []XHWrstandard `json:"wdlst"` // 品类(现货商品)列表
|
|
|
+ BDLST []XHBRAND `json:"bdlst"` // 品牌列表
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHDeliveryGoods) calc() {
|
|
|
+ if r.WDLST == nil {
|
|
|
+ r.WDLST = make([]XHWrstandard, 0)
|
|
|
+ r.BDLST = make([]XHBRAND, 0)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHDeliveryGoods) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+SELECT t.AREAUSERID,
|
|
|
+ t.DELIVERYGOODSID,
|
|
|
+ t.DELIVERYGOODSCODE,
|
|
|
+ t.DELIVERYGOODSNAME,
|
|
|
+ t.ISVALID,
|
|
|
+ t.DGSTATUS,
|
|
|
+ t.REMARK
|
|
|
+ FROM DELIVERYGOODS t
|
|
|
+ WHERE 1 = 1
|
|
|
+`
|
|
|
+ sqlId.AndEx("t.AREAUSERID", r.AREAUSERID, r.AREAUSERID > 0)
|
|
|
+ sqlId.AndEx("t.DELIVERYGOODSID", r.DELIVERYGOODSID, r.DELIVERYGOODSID > 0)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取商品信息-现货品种
|
|
|
+func (r *XHDeliveryGoods) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]XHDeliveryGoods, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(sData) > 0 {
|
|
|
+ // 获取品类列表
|
|
|
+ m1 := XHWrstandard{AREAUSERID: r.AREAUSERID, DELIVERYGOODSID: r.DELIVERYGOODSID}
|
|
|
+ if d1, err := m1.GetDataEx(); err == nil {
|
|
|
+ lstWd := d1.([]XHWrstandard)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].addWdlst(lstWd)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取品牌列表
|
|
|
+ m2 := XHBRAND{DELIVERYGOODSID: r.DELIVERYGOODSID, AREAUSERID: r.AREAUSERID}
|
|
|
+ if d2, err := m2.GetDataEx(); err == nil {
|
|
|
+ lstBrand := d2.([]XHBRAND)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].addBrandlst(lstBrand)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+// 增加品类列表
|
|
|
+func (r *XHDeliveryGoods) addWdlst(lstWd []XHWrstandard) {
|
|
|
+ for i := range lstWd {
|
|
|
+ if lstWd[i].DELIVERYGOODSID == r.DELIVERYGOODSID {
|
|
|
+ r.WDLST = append(r.WDLST, lstWd[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 增加品牌列表
|
|
|
+func (r *XHDeliveryGoods) addBrandlst(lstBrand []XHBRAND) {
|
|
|
+ for i := range lstBrand {
|
|
|
+ if lstBrand[i].DELIVERYGOODSID == r.DELIVERYGOODSID {
|
|
|
+ r.BDLST = append(r.BDLST, lstBrand[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// XHBRAND 现货品种/品牌
|
|
|
+type XHBRAND struct {
|
|
|
+ BRANDID int64 `json:"brandid"` // 品牌id
|
|
|
+ BRANDNAME string `json:"brandname"` // 品牌名称
|
|
|
+ DELIVERYGOODSID int64 `json:"-"` // 品种ID
|
|
|
+ AREAUSERID int64 `json:"-"` // 用户id
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取现货品种/品牌
|
|
|
+func (r *XHBRAND) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]XHBRAND, 0)
|
|
|
+ m := Ermcp3Brand{AREAUSERID: r.AREAUSERID, DELIVERYGOODSID: r.DELIVERYGOODSID}
|
|
|
+ d, err := m.GetData()
|
|
|
+ if err == nil {
|
|
|
+ for _, v := range d {
|
|
|
+ sData = append(sData, XHBRAND{DELIVERYGOODSID: v.DELIVERYGOODSID, BRANDID: v.BRANDID, BRANDNAME: v.BRANDNAME})
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+// XHWrstandard 现货品种/品类
|
|
|
+type XHWrstandard struct {
|
|
|
+ AREAUSERID int64 `json:"-" xorm:"'AREAUSERID'" form:"areauserid"` // 所属机构
|
|
|
+ DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"'DELIVERYGOODSID'" form:"deliverygoodsid"` // 品种ID
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"'WRSTANDARDID'"` // 现货商品ID(SEQ_WRSTANDARD)
|
|
|
+ WRSTANDARDCODE string `json:"wrstandardcode" xorm:"'WRSTANDARDCODE'"` // 现货商品代码
|
|
|
+ WRSTANDARDNAME string `json:"wrstandardname" xorm:"'WRSTANDARDNAME'"` // 现货商品名称
|
|
|
+ VATRATE float64 `json:"vatrate" xorm:"'VATRATE'"` // 增值税率
|
|
|
+ ENUMDICNAME string `json:"enumdicname" xorm:"'ENUMDICNAME'"` // 单位名称
|
|
|
+
|
|
|
+ MGLST []XHMiddleGoods `json:"mglst"` // 套保品列表
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHWrstandard) calc() {
|
|
|
+ if r.MGLST == nil {
|
|
|
+ r.MGLST = make([]XHMiddleGoods, 0)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHWrstandard) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+select t.areauserid,
|
|
|
+ t.deliverygoodsid,
|
|
|
+ t.wrstandardid,
|
|
|
+ t.wrstandardcode,
|
|
|
+ t.wrstandardname,
|
|
|
+ t.vatrate,
|
|
|
+ e.enumdicname
|
|
|
+ from wrstandard t
|
|
|
+ left join enumdicitem e
|
|
|
+ on t.unitid = e.enumitemname
|
|
|
+ and e.enumdiccode = 'goodsunit'
|
|
|
+ where 1 = 1
|
|
|
+`
|
|
|
+ sqlId.AndEx("t.AREAUSERID", r.AREAUSERID, r.AREAUSERID > 0)
|
|
|
+ sqlId.AndEx("t.DELIVERYGOODSID", r.DELIVERYGOODSID, r.DELIVERYGOODSID > 0)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取现货品种/品类
|
|
|
+func (r *XHWrstandard) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]XHWrstandard, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(sData) > 0 {
|
|
|
+ // 获取套保品列表
|
|
|
+ m := XHMiddleGoods{AREAUSERID: r.AREAUSERID, WRSTANDARDID: r.WRSTANDARDID}
|
|
|
+ if d, err := m.GetDataEx(); err == nil {
|
|
|
+ lstMidd := d.([]XHMiddleGoods)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].addMgLst(lstMidd)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHWrstandard) addMgLst(midd []XHMiddleGoods) {
|
|
|
+ for i := range midd {
|
|
|
+ if r.WRSTANDARDID == midd[i].WRSTANDARDID {
|
|
|
+ r.MGLST = append(r.MGLST, midd[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// XHMiddleGoods 现货品种/品类/套保品
|
|
|
+type XHMiddleGoods struct {
|
|
|
+ AREAUSERID int64 `json:"-" xorm:"'AREAUSERID'" form:"areauserid"` // 所属机构
|
|
|
+ WRSTANDARDID int64 `json:"-" xorm:"'WRSTANDARDID'" form:"wrstandardid"` // 现货商品ID(SEQ_WRSTANDARD)
|
|
|
+ CONVERTRATIO float64 `json:"convertratio" xorm:"'CONVERTRATIO'"` // 拆算系数
|
|
|
+ MIDDLEGOODSID int64 `json:"middlegoodsid" xorm:"'MIDDLEGOODSID'"` // 套保品种id
|
|
|
+ MIDDLEGOODSCODE string `json:"middlegoodscode" xorm:"'MIDDLEGOODSCODE'"` // 套保品种代码
|
|
|
+ MIDDLEGOODSNAME string `json:"middlegoodsname" xorm:"'MIDDLEGOODSNAME'"` // 套保品种名称
|
|
|
+ ENUMDICNAME string `json:"enumdicname" xorm:"'ENUMDICNAME'"` // 单位名称
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHMiddleGoods) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *XHMiddleGoods) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+select w.wrstandardid,
|
|
|
+ c.convertratio,
|
|
|
+ m.areauserid,
|
|
|
+ m.middlegoodsid,
|
|
|
+ m.middlegoodscode,
|
|
|
+ m.middlegoodsname,
|
|
|
+ e.enumdicname
|
|
|
+ from wrstandard w
|
|
|
+ inner join erms2_wrsconvertdetail c
|
|
|
+ on w.wrstandardid = c.wrstandardid
|
|
|
+ inner join erms_middlegoods m
|
|
|
+ on c.middlegoodsid = m.middlegoodsid
|
|
|
+ left join enumdicitem e
|
|
|
+ on m.goodsunitid = e.enumitemname
|
|
|
+ and e.enumdiccode = 'goodsunit'
|
|
|
+ where 1 = 1 and w.isvalid = 1
|
|
|
+`
|
|
|
+ sqlId.AndEx("m.areauserid", r.AREAUSERID, r.AREAUSERID > 0)
|
|
|
+ sqlId.AndEx("w.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取现货品种/品类/套保品
|
|
|
+func (r *XHMiddleGoods) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]XHMiddleGoods, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|