84 lines
4.3 KiB
C#
84 lines
4.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace ReplaceView
|
|
{
|
|
public partial class MainForm : Form
|
|
{
|
|
static string strServer = ConfigurationManager.AppSettings["Server"].ToString();
|
|
static string strPort = ConfigurationManager.AppSettings["Port"].ToString();
|
|
static string strName = ConfigurationManager.AppSettings["Name"].ToString();
|
|
static string strUserName = ConfigurationManager.AppSettings["UserName"].ToString();
|
|
static string strUserPwd = ConfigurationManager.AppSettings["UserPwd"].ToString();
|
|
static OracleHelper _OracleHelper = new OracleHelper(strServer, strPort, strName, strUserName, strUserPwd);
|
|
|
|
public MainForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void BtnReplace_Click(object sender, EventArgs e)
|
|
{
|
|
List<string> SQLStringList = new List<string>();
|
|
DataTable _DataTable = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT * FROM SYS.DBA_TABLES A
|
|
WHERE A.OWNER = 'HIGHWAY_EXCHANGE' AND A.TABLE_NAME LIKE 'T_SELLDATA_EXTRA_%' AND
|
|
A.TABLE_NAME NOT IN ('T_SELLDATA_EXTRA_COPY')").Tables[0];
|
|
foreach (DataRow _DataRow in _DataTable.Rows)
|
|
{
|
|
string SQLString = string.Format(@"CREATE OR REPLACE VIEW HIGHWAY_EXCHANGE.{0}
|
|
(SELLDATA_EXTRA_ID,SELLDATA_TYPE,SELLDATA_DATE,PROVINCE_CODE,SERVERPART_ID,
|
|
SERVERPART_NAME,SERVERPARTCODE,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,
|
|
MACHINECODE,TICKETCODE,SELLCOUNT,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC,
|
|
TAXFEE,LIQUIDATION_AMOUNT,SHARE_PROFIT,DEDUCTION_RATE,COST_RATE,FIELDENUM_VALUE)
|
|
AS
|
|
SELECT
|
|
SELLDATA_EXTRA_ID,SELLDATA_TYPE,SELLDATA_DATE,PROVINCE_CODE,SERVERPART_ID,
|
|
SERVERPART_NAME,SERVERPARTCODE,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,MACHINECODE,
|
|
TICKETCODE,SELLCOUNT,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC,
|
|
TAXFEE,LIQUIDATION_AMOUNT,SHARE_PROFIT,DEDUCTION_RATE,COST_RATE,FIELDENUM_VALUE
|
|
FROM
|
|
(
|
|
SELECT
|
|
SELLDATA_ID AS SELLDATA_EXTRA_ID,SELLDATA_TYPE,SELLDATA_DATE,PROVINCE_CODE,SERVERPART_ID,
|
|
SERVERPART_NAME,SERVERPARTCODE,SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,MACHINECODE,
|
|
TICKETCODE,SELLCOUNT,SELLPRICE,OFFPRICE,FACTAMOUNT,LINENUM,FLAG,SELLDATA_EXTRA_DESC,
|
|
HIGHWAY_STORAGE.FUNC_SETTLE_AMOUNT(SELLDATA_DATE,PROVINCE_CODE,
|
|
SERVERPARTCODE,SHOPCODE,FACTAMOUNT,LINENUM,1) AS TAXFEE,
|
|
HIGHWAY_STORAGE.FUNC_SETTLE_AMOUNT(SELLDATA_DATE,PROVINCE_CODE,
|
|
SERVERPARTCODE,SHOPCODE,FACTAMOUNT,LINENUM,3) AS LIQUIDATION_AMOUNT,
|
|
HIGHWAY_STORAGE.FUNC_SETTLE_AMOUNT(SELLDATA_DATE,PROVINCE_CODE,
|
|
SERVERPARTCODE,SHOPCODE,FACTAMOUNT,LINENUM,2) AS SHARE_PROFIT,
|
|
HIGHWAY_STORAGE.FUNC_GETRATE(SELLDATA_DATE,PROVINCE_CODE,
|
|
SERVERPARTCODE,SHOPCODE,LINENUM) * 1000 AS DEDUCTION_RATE,
|
|
CASE LINENUM WHEN 1005 THEN 2.1 ELSE 2.5 END AS COST_RATE,B.FIELDENUM_VALUE,
|
|
ROW_NUMBER()OVER(PARTITION BY TICKETCODE ORDER BY SELLDATA_ID) AS COLNUM
|
|
FROM
|
|
HIGHWAY_EXCHANGE.{1} A,
|
|
PLATFORM_DICTIONARY.T_FIELDENUM@HWS B
|
|
WHERE
|
|
A.SELLDATA_TYPE IN ('ALIPAY','WECHAT') AND
|
|
A.PROVINCE_CODE = B.FIELDENUM_ID AND
|
|
SELLDATA_EXTRA_DESC LIKE 'SUCCESS%'
|
|
)
|
|
WHERE
|
|
COLNUM = 1", _DataRow["TABLE_NAME"].ToString().Replace("T_SELLDATA_EXTRA", "V_SELLDATA_EXTRA"),
|
|
_DataRow["TABLE_NAME"].ToString());
|
|
|
|
SQLStringList.Add(SQLString);
|
|
}
|
|
|
|
if (SQLStringList.Count > 0)
|
|
{
|
|
_OracleHelper.ExecuteSqlTran(SQLStringList);
|
|
}
|
|
}
|
|
}
|
|
}
|