using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Web; using SuperMap.RealEstate.ServiceModel; using SuperMap.RealEstate.FrameWork.Business; using SRHSB = SuperMap.RealEstate.HighWay.SellData.Business; using Business = SuperMap.RealEstate.HighWay.Storage.Business; namespace SuperMap.RealEstate.HighWay.Handler.CommonInterface { public class RevenueData { #region 方法 -> 获取资金动态 public static string GetFundDynamics(Transaction _Transaction) { double FormatNumber, NextNumber, TotalFormatNumber = 0.00, TotalNextNumber = 0.00; string RetString = "", WhereRunningSql = "", WhereStorageSql = ""; string _ENDACCOUNT_ID = CommonHelper.Request("ENDACCOUNT_ID"); try { #region 合计信息 /*SRHSB.ENDACCOUNT _ENDACCOUNT = new SRHSB.ENDACCOUNT(_Transaction); SRHSB.ENDACCOUNT_TEMP _ENDACCOUNT_TEMP = new SRHSB.ENDACCOUNT_TEMP(_Transaction); if (CurrObject != null && CurrObject.PropertyObject != null && CurrObject.ENDACCOUNT_ID != null) { //单品合计 if (CurrObject.FACTAMOUNT_SALE == null) { dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT NVL(SUM(TRANSFER_THIRTEENTHDATAS),0), NVL(SUM(TRANSFER_FOURTEENTHDATAS),0),NVL(SUM(TRANSFER_FIFTEENTHDATAS),0) FROM (SELECT TRANSFER_THIRTEENTHDATAS,TRANSFER_FOURTEENTHDATAS,TRANSFER_FIFTEENTHDATAS FROM HIGHWAY_EXCHANGE.T_TRANSFER_SALE A WHERE A.SERVERPARTCODE = '{0}' AND A.SHOPCODE = '{1}' AND A.MACHINECODE = '{2}' AND A.MACHINECODE IS NOT NULL AND A.ENDDATE <= TO_DATE('{3}','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('{4}','YYYY-MM-DD HH24:MI:SS') UNION ALL SELECT TRANSFER_THIRTEENTHDATAS,TRANSFER_FOURTEENTHDATAS,TRANSFER_FIFTEENTHDATAS FROM HIGHWAY_EXCHANGE.T_TRANSFER_SALE A, HIGHWAY_SELLDATA.T_PERSONSELL B WHERE A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND A.SERVERPARTCODE = '{0}' AND A.SHOPCODE = '{1}' AND B.MACHINECODE = '{2}' AND A.MACHINECODE IS NULL AND A.ENDDATE <= TO_DATE('{3}','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('{4}','YYYY-MM-DD HH24:MI:SS'))", CurrObject.SERVERPARTCODE, CurrObject.SHOPCODE, CurrObject.MACHINECODE, CurrObject.ENDACCOUNT_DATE, CurrObject.ENDACCOUNT_STARTDATE)); if (dt.Rows.Count > 0) { TICKETCODE_SALE.Text = dt.Rows[0][0].ToString(); SELLCOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][1].ToString()) + (string.IsNullOrEmpty(_SALE_SELLCOUNT) ? 0 : decimal.Parse(_SALE_SELLCOUNT))).ToString(); FACTAMOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][2].ToString()) + (string.IsNullOrEmpty(_SALE_SUPPLEMENT) ? 0 : decimal.Parse(_SALE_SUPPLEMENT))).ToString(); } else { #region 单品报表数据 try { dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT NVL(SUM(TICKETCOUNT),0),NVL(SUM(TOTALCOUNT),0),NVL(SUM(TOTALSELLAMOUNT),0) FROM (SELECT A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT FROM HIGHWAY_EXCHANGE.{0} A WHERE A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND A.MACHINECODE = '{3}' AND A.MACHINECODE IS NOT NULL AND A.ENDDATE <= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('{6}','YYYY-MM-DD HH24:MI:SS') UNION ALL SELECT A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT FROM HIGHWAY_EXCHANGE.{0} A, HIGHWAY_SELLDATA.T_PERSONSELL B WHERE A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND B.MACHINECODE = '{3}' AND A.MACHINECODE IS NULL AND B.SELL_ENDDATE <= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS') AND B.SELL_STARTDATE >= TO_DATE('{6}','YYYY-MM-DD HH24:MI:SS'))", Flag ? "T_COMMODITYSALE_TEMP" : "T_COMMODITYSALE", CurrObject.SERVERPARTCODE, CurrObject.SHOPCODE, CurrObject.MACHINECODE, CurrObject.ENDACCOUNT_DATE, CurrObject.ENDACCOUNT_STARTDATE)); } catch { dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT NVL(SUM(TICKETCOUNT),0),NVL(SUM(TOTALCOUNT),0),NVL(SUM(TOTALSELLAMOUNT),0) FROM HIGHWAY_EXCHANGE.{0} A, HIGHWAY_SELLDATA.T_PERSONSELL B WHERE A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND B.MACHINECODE = '" + CurrObject.MACHINECODE + "' AND A.ENDDATE <= TO_DATE('" + CurrObject.ENDACCOUNT_DATE + "','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('" + CurrObject.ENDACCOUNT_STARTDATE + "','YYYY-MM-DD HH24:MI:SS') AND B.SERVERPART_ID = " + CurrObject.SERVERPART_ID + " AND A.SHOPCODE = '" + CurrObject.SHOPCODE + "'", Flag ? "T_COMMODITYSALE_TEMP" : "T_COMMODITYSALE")); } if (dt.Rows.Count > 0) { TICKETCODE_SALE.Text = dt.Rows[0][0].ToString(); SELLCOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][1].ToString()) + (string.IsNullOrEmpty(_SALE_SELLCOUNT) ? 0 : decimal.Parse(_SALE_SELLCOUNT))).ToString(); FACTAMOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][2].ToString()) + (string.IsNullOrEmpty(_SALE_SUPPLEMENT) ? 0 : decimal.Parse(_SALE_SUPPLEMENT))).ToString(); } #endregion } } else { if (!string.IsNullOrEmpty(Request["SELLCOUNT_SALE"])) { TICKETCODE_SALE.Text = Request["SELLCOUNT_SALE"].ToDecrypt(); } if (!string.IsNullOrEmpty(Request["FACTAMOUNT_SALE"])) { FACTAMOUNT_SALE.Text = Request["FACTAMOUNT_SALE"].ToDecrypt(); } } SALEAMOUNT.Text = FACTAMOUNT_SALE.Text; //香烟合计 if (CurrObject.TICKETCODE_CIGARETTE == null) { string _COMMODITY_TYPE = "", _COMMODITYTYPE_ID = ""; foreach (Storage.Business.COMMODITYTYPE _COMMODITYTYPE in new Storage.Business.COMMODITYTYPE(CurrObject).FillCollection( "WHERE COMMODITYTYPE_CODE IN (" + CigaretteType + ")")) { _COMMODITY_TYPE += (_COMMODITY_TYPE == "" ? "" : ",") + "'" + _COMMODITYTYPE.COMMODITYTYPE_NAME + "'"; _COMMODITYTYPE_ID += (_COMMODITYTYPE_ID == "" ? "" : ",") + _COMMODITYTYPE.COMMODITYTYPE_ID; } if (!string.IsNullOrEmpty(_COMMODITY_TYPE) && new Storage.Business.COMMODITY(Transaction).FillCollection( "WHERE SERVERPART_ID IN (" + CurrObject.SERVERPART_ID + "," + _UmiformCommodity.Split('|')[0] + ") AND COMMODITY_STATE = 1 AND PROVINCE_CODE = " + CurrObject.PROVINCE_CODE + " AND BUSINESSTYPE IN (SELECT SHOPTRADE FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP WHERE SERVERPART_ID = " + CurrObject.SERVERPART_ID + " AND SHOPCODE = '" + CurrObject.SHOPCODE + "' AND COMMODITY_TYPE IN (" + _COMMODITYTYPE_ID + "))").Count > 0) { #region 香烟报表数据 try { dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT NVL(SUM(TICKETCOUNT),0),NVL(SUM(TOTALCOUNT),0),NVL(SUM(TOTALSELLAMOUNT),0) FROM (SELECT A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT FROM HIGHWAY_EXCHANGE.{0} A WHERE A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND A.MACHINECODE = '{3}' AND A.COMMODITY_TYPE IN ({4}) AND A.ENDDATE <= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('{6}','YYYY-MM-DD HH24:MI:SS') AND A.MACHINECODE IS NOT NULL UNION ALL SELECT A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT FROM HIGHWAY_EXCHANGE.{0} A, HIGHWAY_SELLDATA.T_PERSONSELL B WHERE A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND B.MACHINECODE = '{3}' AND A.COMMODITY_TYPE IN ({4}) AND B.SELL_ENDDATE <= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS') AND B.SELL_STARTDATE >= TO_DATE('{6}','YYYY-MM-DD HH24:MI:SS') AND A.MACHINECODE IS NULL)", Flag ? "T_COMMODITYSALE_TEMP" : "T_COMMODITYSALE", CurrObject.SERVERPARTCODE, CurrObject.SHOPCODE, CurrObject.MACHINECODE, _COMMODITY_TYPE, CurrObject.ENDACCOUNT_DATE, CurrObject.ENDACCOUNT_STARTDATE)); } catch { dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT NVL(SUM(A.TICKETCOUNT),0),NVL(SUM(A.TOTALCOUNT),0),NVL(SUM(A.TOTALSELLAMOUNT),0) FROM HIGHWAY_EXCHANGE.{0} A, HIGHWAY_SELLDATA.T_PERSONSELL B WHERE A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND B.MACHINECODE = '" + CurrObject.MACHINECODE + "' AND A.ENDDATE <= TO_DATE('" + CurrObject.ENDACCOUNT_DATE + "','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('" + CurrObject.ENDACCOUNT_STARTDATE + "','YYYY-MM-DD HH24:MI:SS') AND B.SERVERPART_ID = " + CurrObject.SERVERPART_ID + " AND A.SHOPCODE = '" + CurrObject.SHOPCODE + "' AND COMMODITY_TYPE IN (" + _COMMODITY_TYPE + ")", Flag ? "T_COMMODITYSALE_TEMP" : "T_COMMODITYSALE")); } #endregion TICKETCODE_CIGARETTE.Text = dt.Rows[0][0].ToString(); SELLCOUNT_CIGARETTE.Text = (decimal.Parse(dt.Rows[0][1].ToString()) + (string.IsNullOrEmpty(_CIGARETTE_SELLCOUNT) ? 0 : decimal.Parse(_CIGARETTE_SELLCOUNT))).ToString(); FACTAMOUNT_CIGARETTE.Text = (decimal.Parse(dt.Rows[0][2].ToString()) + (string.IsNullOrEmpty(_CIGARETTE_SUPPLEMENT) ? 0 : decimal.Parse(_CIGARETTE_SUPPLEMENT))).ToString(); } else { TICKETCODE_CIGARETTE.Text = "0"; SELLCOUNT_CIGARETTE.Text = "0"; FACTAMOUNT_CIGARETTE.Text = "0"; } } else { if (!string.IsNullOrEmpty(Request["SELLCOUNT_CIGARETTE"])) { TICKETCODE_SALE.Text = Request["SELLCOUNT_CIGARETTE"].ToDecrypt(); } if (!string.IsNullOrEmpty(Request["FACTAMOUNT_CIGARETTE"])) { FACTAMOUNT_CIGARETTE.Text = Request["FACTAMOUNT_CIGARETTE"].ToDecrypt(); } } CIGARETTEAMOUNT.Text = FACTAMOUNT_CIGARETTE.Text; }*/ #endregion RetString += '|' + TotalFormatNumber.ToString("N") + '|' + TotalNextNumber.ToString("N") + '|' + (TotalFormatNumber + TotalNextNumber).ToString("N"); } catch (Exception ex) { SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex); } return RetString; } #endregion } }