|
|
@@ -832,7 +832,7 @@ type Ermcp3AreaSpotPLReport struct {
|
|
|
CURRENCYID int32 `json:"currencyid" xorm:"CURRENCYID"` // 结算币种ID【原值】
|
|
|
BIZTYPE int32 `json:"biztype" xorm:"BIZTYPE"` // 业务类型 - 1:套保 2:套利
|
|
|
DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
|
|
|
- WRSTANDARDID string `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货品类ID
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货品类ID
|
|
|
SPOTGOODSBRANDID int32 `json:"spotgoodsbrandid" xorm:"SPOTGOODSBRANDID"` // 现货品牌ID
|
|
|
ORIBUYQTY float64 `json:"oribuyqty" xorm:"ORIBUYQTY"` // 期初采购总量
|
|
|
ORIBUYAMOUNT float64 `json:"oribuyamount" xorm:"ORIBUYAMOUNT"` // 期初采购总额
|
|
|
@@ -889,12 +889,75 @@ func (r *Ermcp3AreaSpotPLReport) calc() {
|
|
|
func (r *Ermcp3AreaSpotPLReport) buildSql() string {
|
|
|
if r.QueryType == 1 || r.QueryType == 3 {
|
|
|
return r.buildSqlDay()
|
|
|
+ } else if r.QueryType == 4 {
|
|
|
+ return r.buildSqlDayDetail()
|
|
|
}
|
|
|
return r.buildSqlCycle()
|
|
|
}
|
|
|
|
|
|
-// buildSqlDay 日报表查询语句
|
|
|
+// buildSqlDay 现货日报表查询语句
|
|
|
func (r *Ermcp3AreaSpotPLReport) buildSqlDay() string {
|
|
|
+ var sqlId utils.SQLVal = "select a.*," +
|
|
|
+ " g.deliverygoodscode," +
|
|
|
+ " g.deliverygoodsname," +
|
|
|
+ " g.goodsunitid," +
|
|
|
+ " w.wrstandardcode," +
|
|
|
+ " w.wrstandardname," +
|
|
|
+ " w.unitid" +
|
|
|
+ " from (SELECT t.RECKONDATE," +
|
|
|
+ " t.AREAUSERID," +
|
|
|
+ " t.CURRENCYID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID," +
|
|
|
+ " sum(t.ORIBUYQTY) ORIBUYQTY," +
|
|
|
+ " sum(t.ORIBUYAMOUNT) ORIBUYAMOUNT," +
|
|
|
+ " sum(t.ORISELLQTY) ORISELLQTY," +
|
|
|
+ " sum(t.ORISELLAMOUNT) ORISELLAMOUNT," +
|
|
|
+ " sum(t.ORIQTY) ORIQTY," +
|
|
|
+ " sum(t.ORIAVERAGEPRICE) ORIAVERAGEPRICE," +
|
|
|
+ " sum(t.ORIAMOUNT) ORIAMOUNT," +
|
|
|
+ " sum(t.TODAYBUYQTY) TODAYBUYQTY," +
|
|
|
+ " sum(t.TODAYBUYAMOUNT) TODAYBUYAMOUNT," +
|
|
|
+ " sum(t.TODAYBUYAVERAGEPRICE) TODAYBUYAVERAGEPRICE," +
|
|
|
+ " sum(t.TODAYSELLQTY) TODAYSELLQTY," +
|
|
|
+ " sum(t.TODAYSELLAMOUNT) TODAYSELLAMOUNT," +
|
|
|
+ " sum(t.TODAYSELLAVERAGEPRICE) TODAYSELLAVERAGEPRICE," +
|
|
|
+ " sum(t.CURBUYQTY) CURBUYQTY," +
|
|
|
+ " sum(t.CURBUYAMOUNT) CURBUYAMOUNT," +
|
|
|
+ " sum(t.CURSELLQTY) CURSELLQTY," +
|
|
|
+ " sum(t.CURSELLAMOUNT) CURSELLAMOUNT," +
|
|
|
+ " sum(t.CURQTY) CURQTY," +
|
|
|
+ " sum(t.CURAVERAGEPRICE) CURAVERAGEPRICE," +
|
|
|
+ " sum(t.CURAMOUNT) CURAMOUNT," +
|
|
|
+ " sum(t.CURSPOTPRICE) CURSPOTPRICE," +
|
|
|
+ " sum(t.CURMARKETVALUE) CURMARKETVALUE," +
|
|
|
+ " sum(t.ACTUALPL) ACTUALPL," +
|
|
|
+ " sum(t.FLOATPL) FLOATPL," +
|
|
|
+ " sum(t.TODAYINQTY) TODAYINQTY," +
|
|
|
+ " sum(t.TODAYOUTQTY) TODAYOUTQTY" +
|
|
|
+ " FROM RECKON_ERMCP_AREASPOTPL t" +
|
|
|
+ " WHERE 1=1 %v" +
|
|
|
+ " GROUP BY t.RECKONDATE," +
|
|
|
+ " t.AREAUSERID," +
|
|
|
+ " t.CURRENCYID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID) a" +
|
|
|
+ " LEFT JOIN DELIVERYGOODS g" +
|
|
|
+ " on a.deliverygoodsid = g.deliverygoodsid" +
|
|
|
+ " LEFT JOIN WRSTANDARD w" +
|
|
|
+ " on a.wrstandardid = w.wrstandardid"
|
|
|
+ var sqlParam utils.SQLVal
|
|
|
+ sqlParam.And("t.AREAUSERID", r.AREAUSERID)
|
|
|
+ if r.QueryType == 1 {
|
|
|
+ sqlParam.And("t.RECKONDATE", r.RECKONDATE)
|
|
|
+ } else if r.QueryType == 3 {
|
|
|
+ sqlParam.Join(fmt.Sprintf(" and t.RECKONDATE >= '%v' and t.RECKONDATE <= '%v' ", r.BeginDate, r.EndDate))
|
|
|
+ }
|
|
|
+ sqlId.FormatParam(sqlParam.String())
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp3AreaSpotPLReport) buildSqlDayDetail() string {
|
|
|
var sqlId utils.SQLVal = "SELECT t.RECKONDATE," +
|
|
|
" t.AREAUSERID," +
|
|
|
" t.ACCOUNTID," +
|
|
|
@@ -944,68 +1007,72 @@ func (r *Ermcp3AreaSpotPLReport) buildSqlDay() string {
|
|
|
" LEFT JOIN DGFACTORYITEM dg on t.spotgoodsbrandid=dg.dgfactoryitemid" +
|
|
|
" WHERE 1 = 1"
|
|
|
sqlId.And("t.AREAUSERID", r.AREAUSERID)
|
|
|
- if r.QueryType == 1 {
|
|
|
- sqlId.And("t.RECKONDATE", r.RECKONDATE)
|
|
|
- } else if r.QueryType == 3 {
|
|
|
- sqlId.Join(fmt.Sprintf(" and t.RECKONDATE >= '%v' and t.RECKONDATE <= '%v' ", r.BeginDate, r.EndDate))
|
|
|
- }
|
|
|
+ sqlId.And("t.RECKONDATE", r.RECKONDATE)
|
|
|
+ sqlId.And("t.CURRENCYID", r.CURRENCYID)
|
|
|
+ sqlId.And("t.DELIVERYGOODSID", r.DELIVERYGOODSID)
|
|
|
+ sqlId.And("t.WRSTANDARDID", r.WRSTANDARDID)
|
|
|
+
|
|
|
return sqlId.String()
|
|
|
}
|
|
|
|
|
|
// buildSqlCycle 周期报表查询语句
|
|
|
func (r *Ermcp3AreaSpotPLReport) buildSqlCycle() string {
|
|
|
- var sqlId utils.SQLVal = "SELECT t.Cycletype," +
|
|
|
- " t.Cycletime," +
|
|
|
- " t.AREAUSERID," +
|
|
|
- " t.ACCOUNTID," +
|
|
|
- " t.WRFACTORTYPEID," +
|
|
|
- " t.CURRENCYID," +
|
|
|
- " t.BIZTYPE," +
|
|
|
- " t.DELIVERYGOODSID," +
|
|
|
- " t.WRSTANDARDID," +
|
|
|
- " t.SPOTGOODSBRANDID," +
|
|
|
- " t.ORIBUYQTY," +
|
|
|
- " t.ORIBUYAMOUNT," +
|
|
|
- " t.ORISELLQTY," +
|
|
|
- " t.ORISELLAMOUNT," +
|
|
|
- " t.ORIQTY," +
|
|
|
- " t.ORIAVERAGEPRICE," +
|
|
|
- " t.ORIAMOUNT," +
|
|
|
- " t.TODAYBUYQTY," +
|
|
|
- " t.TODAYBUYAMOUNT," +
|
|
|
- " t.TODAYBUYAVERAGEPRICE," +
|
|
|
- " t.TODAYSELLQTY," +
|
|
|
- " t.TODAYSELLAMOUNT," +
|
|
|
- " t.TODAYSELLAVERAGEPRICE," +
|
|
|
- " t.CURBUYQTY," +
|
|
|
- " t.CURBUYAMOUNT," +
|
|
|
- " t.CURSELLQTY," +
|
|
|
- " t.CURSELLAMOUNT," +
|
|
|
- " t.CURQTY," +
|
|
|
- " t.CURAVERAGEPRICE," +
|
|
|
- " t.CURAMOUNT," +
|
|
|
- " t.CURSPOTPRICE," +
|
|
|
- " t.CURMARKETVALUE," +
|
|
|
- " t.ACTUALPL," +
|
|
|
- " t.FLOATPL," +
|
|
|
- " to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME," +
|
|
|
- " t.TODAYINQTY," +
|
|
|
- " t.TODAYOUTQTY," +
|
|
|
+ var sqlId utils.SQLVal = "select a.*," +
|
|
|
" g.deliverygoodscode," +
|
|
|
" g.deliverygoodsname," +
|
|
|
" g.goodsunitid," +
|
|
|
" w.wrstandardcode," +
|
|
|
" w.wrstandardname," +
|
|
|
- " w.unitid," +
|
|
|
- " dg.dgfactoryitemvalue brandName" +
|
|
|
- " FROM REPORT_ERMCP_AREASPOTPL t" +
|
|
|
- " LEFT JOIN DELIVERYGOODS g on t.deliverygoodsid=g.deliverygoodsid" +
|
|
|
- " LEFT JOIN WRSTANDARD w on t.wrstandardid = w.wrstandardid" +
|
|
|
- " LEFT JOIN DGFACTORYITEM dg on t.spotgoodsbrandid=dg.dgfactoryitemid" +
|
|
|
- " WHERE 1 = 1"
|
|
|
- sqlId.And("t.AREAUSERID", r.AREAUSERID)
|
|
|
- sqlId.And("t.Cycletype", r.CYCLETYPE)
|
|
|
- sqlId.And("t.CYCLETIME", r.CYCLETIME)
|
|
|
+ " w.unitid" +
|
|
|
+ " from (SELECT t.cycletype," +
|
|
|
+ " t.cycletime," +
|
|
|
+ " t.AREAUSERID," +
|
|
|
+ " t.CURRENCYID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID," +
|
|
|
+ " sum(t.ORIBUYQTY) ORIBUYQTY," +
|
|
|
+ " sum(t.ORIBUYAMOUNT) ORIBUYAMOUNT," +
|
|
|
+ " sum(t.ORISELLQTY) ORISELLQTY," +
|
|
|
+ " sum(t.ORISELLAMOUNT) ORISELLAMOUNT," +
|
|
|
+ " sum(t.ORIQTY) ORIQTY," +
|
|
|
+ " sum(t.ORIAVERAGEPRICE) ORIAVERAGEPRICE," +
|
|
|
+ " sum(t.ORIAMOUNT) ORIAMOUNT," +
|
|
|
+ " sum(t.TODAYBUYQTY) TODAYBUYQTY," +
|
|
|
+ " sum(t.TODAYBUYAMOUNT) TODAYBUYAMOUNT," +
|
|
|
+ " sum(t.TODAYBUYAVERAGEPRICE) TODAYBUYAVERAGEPRICE," +
|
|
|
+ " sum(t.TODAYSELLQTY) TODAYSELLQTY," +
|
|
|
+ " sum(t.TODAYSELLAMOUNT) TODAYSELLAMOUNT," +
|
|
|
+ " sum(t.TODAYSELLAVERAGEPRICE) TODAYSELLAVERAGEPRICE," +
|
|
|
+ " sum(t.CURBUYQTY) CURBUYQTY," +
|
|
|
+ " sum(t.CURBUYAMOUNT) CURBUYAMOUNT," +
|
|
|
+ " sum(t.CURSELLQTY) CURSELLQTY," +
|
|
|
+ " sum(t.CURSELLAMOUNT) CURSELLAMOUNT," +
|
|
|
+ " sum(t.CURQTY) CURQTY," +
|
|
|
+ " sum(t.CURAVERAGEPRICE) CURAVERAGEPRICE," +
|
|
|
+ " sum(t.CURAMOUNT) CURAMOUNT," +
|
|
|
+ " sum(t.CURSPOTPRICE) CURSPOTPRICE," +
|
|
|
+ " sum(t.CURMARKETVALUE) CURMARKETVALUE," +
|
|
|
+ " sum(t.ACTUALPL) ACTUALPL," +
|
|
|
+ " sum(t.FLOATPL) FLOATPL," +
|
|
|
+ " sum(t.TODAYINQTY) TODAYINQTY," +
|
|
|
+ " sum(t.TODAYOUTQTY) TODAYOUTQTY" +
|
|
|
+ " FROM REPORT_ERMCP_AREASPOTPL t" +
|
|
|
+ " WHERE 1=1 %v" +
|
|
|
+ " GROUP BY t.AREAUSERID," +
|
|
|
+ " t.cycletype," +
|
|
|
+ " t.cycletime," +
|
|
|
+ " t.CURRENCYID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID) a" +
|
|
|
+ " LEFT JOIN DELIVERYGOODS g" +
|
|
|
+ " on a.deliverygoodsid = g.deliverygoodsid" +
|
|
|
+ " LEFT JOIN WRSTANDARD w" +
|
|
|
+ " on a.wrstandardid = w.wrstandardid"
|
|
|
+ var sqlParam utils.SQLVal
|
|
|
+ sqlParam.And("t.AREAUSERID", r.AREAUSERID)
|
|
|
+ sqlParam.And("t.Cycletype", r.CYCLETYPE)
|
|
|
+ sqlParam.And("t.CYCLETIME", r.CYCLETIME)
|
|
|
+ sqlId.FormatParam(sqlParam.String())
|
|
|
return sqlId.String()
|
|
|
}
|
|
|
|
|
|
@@ -1048,6 +1115,11 @@ type Ermcp3FinanceReport struct {
|
|
|
DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
|
|
|
WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
|
|
|
SPOTGOODSBRANDID int32 `json:"spotgoodsbrandid" xorm:"SPOTGOODSBRANDID"` // 现货品牌ID
|
|
|
+ DELIVERYGOODSCODE string `json:"deliverygoodscode" xorm:"'DELIVERYGOODSCODE'"` // 现货品种代码
|
|
|
+ DELIVERYGOODSNAME string `json:"deliverygoodsname" xorm:"'DELIVERYGOODSNAME'"` // 现货品种名称
|
|
|
+ WRSTANDARDCODE string `json:"wrstandardcode" xorm:"'WRSTANDARDCODE'"` // 品类代码
|
|
|
+ WRSTANDARDNAME string `json:"wrstandardname" xorm:"'WRSTANDARDNAME'"` // 品类名称
|
|
|
+ BRANDNAME string `json:"brandname" xorm:"'BRANDNAME'"` // 品牌名称
|
|
|
|
|
|
CURRENCYNAME string `json:"currencyname"` // 币种名称
|
|
|
QueryType int32 `json:"-"` // 查询类型 1-日报表 2-周期报表 3-日报表(范围,[开始日期,结束日期])
|
|
|
@@ -1128,8 +1200,16 @@ func (r *Ermcp3FinanceReport) buildSqlDayDetail() string {
|
|
|
" t.SELLUNINVOICEDAMOUNT," +
|
|
|
" t.TODAYRECEIVESUM," +
|
|
|
" t.TODAYPAYSUM," +
|
|
|
- " to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME" +
|
|
|
+ " to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME," +
|
|
|
+ " g.deliverygoodscode," +
|
|
|
+ " g.deliverygoodsname," +
|
|
|
+ " w.wrstandardcode," +
|
|
|
+ " w.wrstandardname," +
|
|
|
+ " dg.dgfactoryitemvalue brandName" +
|
|
|
" FROM RECKON_ERMCP_AFINANCESUB t" +
|
|
|
+ " LEFT JOIN DELIVERYGOODS g on t.deliverygoodsid=g.deliverygoodsid" +
|
|
|
+ " LEFT JOIN WRSTANDARD w on t.wrstandardid=w.wrstandardid" +
|
|
|
+ " LEFT JOIN DGFACTORYITEM dg on t.spotgoodsbrandid=dg.dgfactoryitemid" +
|
|
|
" WHERE 1 = 1"
|
|
|
sqlId.And("t.AREAUSERID", r.AREAUSERID)
|
|
|
sqlId.And("t.RECKONDATE", r.RECKONDATE)
|
|
|
@@ -1231,6 +1311,59 @@ func (r *Ermcp3AreaStockReport) buildSql() string {
|
|
|
}
|
|
|
|
|
|
func (r *Ermcp3AreaStockReport) buildSqlDay() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT a.*," +
|
|
|
+ " w.wrstandardname," +
|
|
|
+ " w.wrstandardcode," +
|
|
|
+ " w.unitid," +
|
|
|
+ " gb.dgfactoryitemvalue brandname," +
|
|
|
+ " g.deliverygoodsid," +
|
|
|
+ " g.deliverygoodscode," +
|
|
|
+ " g.deliverygoodsname," +
|
|
|
+ " g.goodsunitid" +
|
|
|
+ " from (SELECT t.RECKONDATE," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID," +
|
|
|
+ " t.SPOTGOODSBRANDID," +
|
|
|
+ " sum(t.ORISTOCK) ORISTOCK," +
|
|
|
+ " sum(t.CURSTOCK) CURSTOCK," +
|
|
|
+ " sum(t.TODAYBUYINQTY) TODAYBUYINQTY," +
|
|
|
+ " sum(t.TODAYPRODUCEINQTY) TODAYPRODUCEINQTY," +
|
|
|
+ " sum(t.TODAYSELLOUTQTY) TODAYSELLOUTQTY," +
|
|
|
+ " sum(t.TODAYPRODUCEOUTQTY) TODAYPRODUCEOUTQTY" +
|
|
|
+ " FROM RECKON_ERMCP_AREASTOCK t" +
|
|
|
+ " WHERE 1 = 1 %v" +
|
|
|
+ " GROUP BY t.RECKONDATE," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID," +
|
|
|
+ " t.SPOTGOODSBRANDID) a" +
|
|
|
+ " LEFT JOIN WRSTANDARD w" +
|
|
|
+ " on a.wrstandardid = w.wrstandardid" +
|
|
|
+ " LEFT JOIN dgfactoryitem gb" +
|
|
|
+ " on a.spotgoodsbrandid = gb.dgfactoryitemid" +
|
|
|
+ " LEFT JOIN deliverygoods g" +
|
|
|
+ " on a.deliverygoodsid = g.deliverygoodsid"
|
|
|
+
|
|
|
+ var sqlParam utils.SQLVal
|
|
|
+ sqlParam.And("t.USERID", r.USERID)
|
|
|
+ if r.QueryType == 1 {
|
|
|
+ sqlParam.And("t.RECKONDATE", r.RECKONDATE)
|
|
|
+ } else if r.QueryType == 3 {
|
|
|
+ sqlParam.Join(fmt.Sprintf(" and t.RECKONDATE >= '%v' and t.RECKONDATE <= '%v' ", r.BeginDate, r.EndDate))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 现货商品id
|
|
|
+ sqlParam.AndEx("t.DELIVERYGOODSID", r.DELIVERYGOODSID, r.DELIVERYGOODSID > 0)
|
|
|
+ // 品类id
|
|
|
+ sqlParam.AndEx("t.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
|
|
|
+ // 品牌id
|
|
|
+ sqlParam.AndEx("t.SPOTGOODSBRANDID", r.SPOTGOODSBRANDID, r.SPOTGOODSBRANDID > 0)
|
|
|
+ sqlId.FormatParam(sqlParam.String())
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp3AreaStockReport) buildSqlDayDetail() string {
|
|
|
var sqlId utils.SQLVal = "SELECT t.TODAYBUYINQTY," +
|
|
|
" t.TODAYPRODUCEINQTY," +
|
|
|
" t.reckondate," +
|
|
|
@@ -1278,58 +1411,56 @@ func (r *Ermcp3AreaStockReport) buildSqlDay() string {
|
|
|
sqlId.AndEx("t.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
|
|
|
// 品牌id
|
|
|
sqlId.AndEx("t.SPOTGOODSBRANDID", r.SPOTGOODSBRANDID, r.SPOTGOODSBRANDID > 0)
|
|
|
- // 仓库id
|
|
|
- sqlId.AndEx("t.WAREHOUSEINFOID", r.WAREHOUSEINFOID, len(r.WAREHOUSEINFOID) > 0)
|
|
|
return sqlId.String()
|
|
|
}
|
|
|
|
|
|
func (r *Ermcp3AreaStockReport) buildSqlCycle() string {
|
|
|
- var sqlId utils.SQLVal = "SELECT t.TODAYBUYINQTY," +
|
|
|
- " t.TODAYPRODUCEINQTY," +
|
|
|
- " t.CYCLETIME," +
|
|
|
- " t.CYCLETYPE," +
|
|
|
- " t.TODAYSELLOUTQTY," +
|
|
|
- " t.TODAYPRODUCEOUTQTY," +
|
|
|
- " to_char(t.UPDATETIME, 'yyyy-mm-dd hh24:mi:ss') UPDATETIME," +
|
|
|
- " t.USERID," +
|
|
|
- " t.WRSTANDARDID," +
|
|
|
- " t.SPOTGOODSBRANDID," +
|
|
|
- " t.WAREHOUSEINFOID," +
|
|
|
- " t.ORISTOCK," +
|
|
|
- " t.CURSTOCK," +
|
|
|
+ var sqlId utils.SQLVal = "SELECT a.*," +
|
|
|
" w.wrstandardname," +
|
|
|
" w.wrstandardcode," +
|
|
|
" w.unitid," +
|
|
|
" gb.dgfactoryitemvalue brandname," +
|
|
|
- " h.warehousename," +
|
|
|
- " h.warehousecode," +
|
|
|
- " h.warehousetype," +
|
|
|
" g.deliverygoodsid," +
|
|
|
" g.deliverygoodscode," +
|
|
|
" g.deliverygoodsname," +
|
|
|
" g.goodsunitid" +
|
|
|
- " FROM REPORT_ERMCP_AREASTOCK t" +
|
|
|
+ " from (SELECT t.cycletype," +
|
|
|
+ " t.cycletime," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID," +
|
|
|
+ " t.SPOTGOODSBRANDID," +
|
|
|
+ " sum(t.ORISTOCK) ORISTOCK," +
|
|
|
+ " sum(t.CURSTOCK) CURSTOCK," +
|
|
|
+ " sum(t.TODAYBUYINQTY) TODAYBUYINQTY," +
|
|
|
+ " sum(t.TODAYPRODUCEINQTY) TODAYPRODUCEINQTY," +
|
|
|
+ " sum(t.TODAYSELLOUTQTY) TODAYSELLOUTQTY," +
|
|
|
+ " sum(t.TODAYPRODUCEOUTQTY) TODAYPRODUCEOUTQTY" +
|
|
|
+ " FROM REPORT_ERMCP_AREASTOCK t" +
|
|
|
+ " WHERE 1 = 1 %v" +
|
|
|
+ " GROUP BY t.cycletype," +
|
|
|
+ " t.cycletime," +
|
|
|
+ " t.USERID," +
|
|
|
+ " t.DELIVERYGOODSID," +
|
|
|
+ " t.WRSTANDARDID," +
|
|
|
+ " t.SPOTGOODSBRANDID) a" +
|
|
|
" LEFT JOIN WRSTANDARD w" +
|
|
|
- " on t.wrstandardid = w.wrstandardid" +
|
|
|
+ " on a.wrstandardid = w.wrstandardid" +
|
|
|
" LEFT JOIN dgfactoryitem gb" +
|
|
|
- " on t.spotgoodsbrandid = gb.dgfactoryitemid" +
|
|
|
+ " on a.spotgoodsbrandid = gb.dgfactoryitemid" +
|
|
|
" LEFT JOIN deliverygoods g" +
|
|
|
- " on t.deliverygoodsid = g.deliverygoodsid" +
|
|
|
- " LEFT JOIN WAREHOUSEINFO h" +
|
|
|
- " on t.warehouseinfoid = h.autoid" +
|
|
|
- " WHERE 1 = 1"
|
|
|
-
|
|
|
- sqlId.And("t.USERID", r.USERID)
|
|
|
- sqlId.And("t.cycletype", r.CYCLETYPE)
|
|
|
- sqlId.And("t.cycletime", r.CYCLETIME)
|
|
|
+ " on a.deliverygoodsid = g.deliverygoodsid"
|
|
|
+ var sqlParam utils.SQLVal
|
|
|
+ sqlParam.And("t.USERID", r.USERID)
|
|
|
+ sqlParam.And("t.cycletype", r.CYCLETYPE)
|
|
|
+ sqlParam.And("t.cycletime", r.CYCLETIME)
|
|
|
// 现货商品id
|
|
|
- sqlId.AndEx("t.DELIVERYGOODSID", r.DELIVERYGOODSID, r.DELIVERYGOODSID > 0)
|
|
|
+ sqlParam.AndEx("t.DELIVERYGOODSID", r.DELIVERYGOODSID, r.DELIVERYGOODSID > 0)
|
|
|
// 品类id
|
|
|
- sqlId.AndEx("t.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
|
|
|
+ sqlParam.AndEx("t.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
|
|
|
// 品牌id
|
|
|
- sqlId.AndEx("t.SPOTGOODSBRANDID", r.SPOTGOODSBRANDID, r.SPOTGOODSBRANDID > 0)
|
|
|
- // 仓库id
|
|
|
- sqlId.AndEx("t.WAREHOUSEINFOID", r.WAREHOUSEINFOID, len(r.WAREHOUSEINFOID) > 0)
|
|
|
+ sqlParam.AndEx("t.SPOTGOODSBRANDID", r.SPOTGOODSBRANDID, r.SPOTGOODSBRANDID > 0)
|
|
|
+ sqlId.FormatParam(sqlParam.String())
|
|
|
return sqlId.String()
|
|
|
}
|
|
|
|