2025-03-27 15:05:14 +08:00

234 lines
15 KiB
C#

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
}
}