434 lines
25 KiB
C#
434 lines
25 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
|
|
namespace MpseparateOrder
|
|
{
|
|
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 AppCode.OracleHelper _OracleHelper = new AppCode.OracleHelper(strServer, strPort, strName, strUserName, strUserPwd);
|
|
|
|
static string[] strPROVINCE_CODES = ConfigurationManager.AppSettings["PROVINCE_CODES"].ToString().Split(',');//配置省份
|
|
static int n_Hour = Convert.ToInt32( ConfigurationManager.AppSettings["Hour"].ToString());//定义生成
|
|
|
|
private bool b_False = false;
|
|
|
|
Thread thread = null;
|
|
public MainForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void MainForm_Load(object sender, EventArgs e)
|
|
{
|
|
this.dtpStarTime.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
|
|
}
|
|
|
|
|
|
private void BtnStar_Click(object sender, EventArgs e)
|
|
{
|
|
b_False = b_False ? false : true;
|
|
BtnStar.Text = b_False ? "停止" : "开始";
|
|
if (lvMessage.Items.Count > 5000)
|
|
{
|
|
lvMessage.Items.Clear();
|
|
}
|
|
if (b_False)
|
|
{
|
|
try
|
|
{
|
|
ParameterizedThreadStart threadStart = new ParameterizedThreadStart(StarDate);
|
|
thread = new Thread(threadStart);
|
|
thread.Start();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (thread != null)
|
|
{
|
|
try
|
|
{
|
|
thread.Abort();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
private void StarDate(object obj)
|
|
{
|
|
while (true)
|
|
{
|
|
this.Invoke(new Action(() => { this.dtpStarTime.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); this.lbMessage.Text = ""; }));
|
|
|
|
|
|
if (DateTime.Now.Hour == 1 && !b_False)
|
|
{
|
|
b_False = true;
|
|
}
|
|
if (DateTime.Now.Hour == n_Hour && b_False)
|
|
{
|
|
BeginMPSEPARATE(obj);
|
|
b_False = false;
|
|
}
|
|
Thread.Sleep(60000);
|
|
}
|
|
}
|
|
|
|
#region 方法 -> 生成数据
|
|
private void BeginMPSEPARATE(object obj)
|
|
{
|
|
string strTime = this.dtpStarTime.Value.ToString("yyyy-MM-dd");// Convert.ToDateTime(this.dtpStarTime.Text).AddDays(i).ToString("yyyy-MM-dd");
|
|
try
|
|
{
|
|
this.Invoke(new Action(() => { this.lbMessage.Text = ""; }));
|
|
//for (int i = 0; i < 10; i++)
|
|
//{
|
|
|
|
if (lvMessage.Items.Count > 5000)
|
|
{
|
|
lvMessage.Items.Clear();
|
|
}
|
|
string table_Name = "T_MPSEPARATE_ORDER" + "_" + Convert.ToDateTime(strTime).ToString("yyyyMM");
|
|
string up_table_Name= "T_MPSEPARATE_ORDER" + "_" + Convert.ToDateTime(strTime).AddMonths(-1).ToString("yyyyMM");
|
|
string seq_id = "SEQ_MPSEPARATE_ORDER"+ "_" + Convert.ToDateTime(strTime).ToString("yyyyMM");
|
|
|
|
#region 判断表和自增是否存在
|
|
DataTable _dt_Table = _OracleHelper.ExcuteSqlGetDataSet("select count(1) as num from all_tables where TABLE_NAME = upper('" + table_Name + "')").Tables[0];
|
|
if (_dt_Table != null && _dt_Table.Rows.Count > 0 && _dt_Table.Rows[0][0].ToString()=="0")
|
|
{
|
|
string sql_table = string.Format(@"CREATE TABLE HIGHWAY_EXCHANGE.{0}
|
|
(
|
|
MPSEPARATE_ORDER_ID NUMBER(9,0) NOT NULL,
|
|
MERCHANT_CODE VARCHAR2(100),
|
|
TICKET_CODE VARCHAR2(100),
|
|
FFTICKET_CODE VARCHAR2(100),
|
|
CENTERTICKET_CODE VARCHAR2(100),
|
|
ORITICKET_CODE VARCHAR2(100),
|
|
TRANSACTION_TRENCH VARCHAR2(50),
|
|
TRANSACTION_TYPE VARCHAR2(50),
|
|
TICKET_AMOUNT NUMBER(16,6) DEFAULT 0,
|
|
CURRENCY VARCHAR2(50),
|
|
DEDUCTION_RATE NUMBER(16,6) DEFAULT 0,
|
|
TAXFEE_AMOUNT NUMBER(16,6) DEFAULT 0,
|
|
SHARE_PROFIT NUMBER(16,6) DEFAULT 0,
|
|
TRADE_DATE DATE,
|
|
SERVERPART_CODE VARCHAR2(100),
|
|
SERVERPARTSHOP_CODE VARCHAR2(100),
|
|
MACHINECODE VARCHAR2(100),
|
|
CREATETIME DATE
|
|
)
|
|
PCTFREE 10
|
|
MAXTRANS 255
|
|
TABLESPACE HIGHWAY_EXCHANGE
|
|
STORAGE(INITIAL 10K MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POOL DEFAULT)
|
|
NOCACHE
|
|
LOGGING", table_Name);
|
|
_OracleHelper.ExcuteSql(sql_table);
|
|
|
|
sql_table = string.Format(@"CREATE SEQUENCE HIGHWAY_EXCHANGE.{0}
|
|
INCREMENT BY 1
|
|
START WITH 1
|
|
NOMAXVALUE
|
|
NOMINVALUE
|
|
NOCYCLE
|
|
CACHE 2
|
|
NOORDER ", seq_id);
|
|
_OracleHelper.ExcuteSql(sql_table);
|
|
}
|
|
#endregion
|
|
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "开始生成" + strTime + "号数据"); }));
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "正在删除" + strTime + "号数据"); }));
|
|
_OracleHelper.ExcuteSql(string.Format(@"DELETE FROM HIGHWAY_EXCHANGE.{1} A WHERE A.TRADE_DATE >= TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
and A.TRADE_DATE < TO_DATE('{0}', 'YYYY-MM-DD hh24:mi:ss') + 1", Convert.ToDateTime(strTime), table_Name));
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add("删除" + strTime + "号数据成功"); }));
|
|
|
|
#region 正常按服务区、门店编码、机器码生成的订单号规则数据
|
|
string sql = string.Format(@"
|
|
INSERT INTO HIGHWAY_EXCHANGE.{1}(MPSEPARATE_ORDER_ID,
|
|
MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,CENTERTICKET_CODE,ORITICKET_CODE,
|
|
TRANSACTION_TRENCH,TRANSACTION_TYPE,TICKET_AMOUNT,CURRENCY,
|
|
DEDUCTION_RATE,TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,
|
|
SERVERPART_CODE,SERVERPARTSHOP_CODE,MACHINECODE,CREATETIME)
|
|
SELECT HIGHWAY_EXCHANGE.{2}.NEXTVAL,MERCHANT_CODE,
|
|
TICKET_CODE,FFTICKET_CODE,CENTERTICKET_CODE,
|
|
ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,
|
|
TICKET_AMOUNT,CURRENCY,DEDUCTION_RATE,TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,
|
|
SERVERPART_CODE,SERVERPARTSHOP_CODE,MACHINECODE,SYSDATE FROM (
|
|
SELECT MERCHANT_CODE,
|
|
TICKET_CODE,FFTICKET_CODE,CENTERTICKET_CODE,
|
|
ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,
|
|
NVL(TICKET_AMOUNT,0) AS TICKET_AMOUNT,CURRENCY,NVL(DEDUCTION_RATE,0)AS DEDUCTION_RATE
|
|
,NVL(TAXFEE_AMOUNT,0)AS TAXFEE_AMOUNT,NVL(SHARE_PROFIT,0)AS SHARE_PROFIT,TRADE_DATE
|
|
,SUBSTR(A.TICKET_CODE,0,6) AS SERVERPART_CODE,
|
|
(
|
|
CASE WHEN LENGTH(A.TICKET_CODE) =28 THEN SUBSTR(A.TICKET_CODE,7,4) WHEN LENGTH(A.TICKET_CODE)=30
|
|
THEN SUBSTR(A.TICKET_CODE,7,6) END
|
|
) AS SERVERPARTSHOP_CODE
|
|
,
|
|
(
|
|
CASE WHEN LENGTH(A.TICKET_CODE) =28 THEN SUBSTR(A.TICKET_CODE,11,4) WHEN LENGTH(A.TICKET_CODE)=30
|
|
THEN SUBSTR(A.TICKET_CODE,13,4) END
|
|
) AS MACHINECODE
|
|
FROM HIGHWAY_EXCHANGE.T_MPSEPARATE A WHERE A.TICKET_TYPE = 0
|
|
AND A.TRADE_DATE >= TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
and A.TRADE_DATE < TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')+1
|
|
GROUP BY MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,
|
|
CENTERTICKET_CODE,ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,
|
|
TICKET_AMOUNT,CURRENCY,DEDUCTION_RATE,
|
|
TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE)T", Convert.ToDateTime(strTime), table_Name,seq_id);
|
|
_OracleHelper.ExcuteSql(sql);
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "生成正常规则订单号" + strTime + "号数据成功"); }));
|
|
#endregion
|
|
|
|
#region 非正常订单号规则数据
|
|
sql = string.Format(@"
|
|
INSERT INTO HIGHWAY_EXCHANGE.{1}(MPSEPARATE_ORDER_ID,
|
|
MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,CENTERTICKET_CODE,ORITICKET_CODE,
|
|
TRANSACTION_TRENCH,TRANSACTION_TYPE,TICKET_AMOUNT,CURRENCY,
|
|
DEDUCTION_RATE,TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,
|
|
SERVERPART_CODE,SERVERPARTSHOP_CODE,MACHINECODE,CREATETIME)
|
|
SELECT HIGHWAY_EXCHANGE.{2}.NEXTVAL,MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,
|
|
CENTERTICKET_CODE,ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,
|
|
TICKET_AMOUNT,CURRENCY,DEDUCTION_RATE,
|
|
TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE,
|
|
SYSDATE FROM (
|
|
SELECT MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,
|
|
CENTERTICKET_CODE,ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,
|
|
TICKET_AMOUNT,CURRENCY,DEDUCTION_RATE,
|
|
TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE
|
|
FROM (
|
|
SELECT A.MERCHANT_CODE,
|
|
A.TICKET_CODE,A.FFTICKET_CODE,A.CENTERTICKET_CODE,
|
|
A.ORITICKET_CODE,A.TRANSACTION_TRENCH,A.TRANSACTION_TYPE,
|
|
NVL(A.TICKET_AMOUNT,0) AS TICKET_AMOUNT,A.CURRENCY,NVL(A.DEDUCTION_RATE,0)AS DEDUCTION_RATE
|
|
,NVL(A.TAXFEE_AMOUNT,0)AS TAXFEE_AMOUNT,NVL(A.SHARE_PROFIT,0)AS SHARE_PROFIT,A.TRADE_DATE ,
|
|
NVL(B.SERVERPARTCODE,'331010') AS SERVERPARTCODE,NVL(B.SHOPCODE,011006) AS SHOPCODE,
|
|
NVL(B.MACHINECODE,'9994') AS MACHINECODE
|
|
FROM HIGHWAY_EXCHANGE.T_MPSEPARATE A
|
|
LEFT JOIN
|
|
HIGHWAY_SELLDATA.T_SELLDATA_EXTRA B
|
|
ON A.TICKET_CODE = B.TICKETCODE
|
|
WHERE A.TICKET_TYPE = 1 AND A.TRADE_DATE >= TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
and A.TRADE_DATE < TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')+1
|
|
) T
|
|
GROUP BY
|
|
MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,
|
|
CENTERTICKET_CODE,ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,
|
|
TICKET_AMOUNT,CURRENCY,DEDUCTION_RATE,
|
|
TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,SERVERPARTCODE,SHOPCODE,MACHINECODE
|
|
) R", Convert.ToDateTime(strTime), table_Name, seq_id);
|
|
_OracleHelper.ExcuteSql(sql);
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "生成非正常规则订单号" + strTime + "号数据成功"); }));
|
|
#endregion
|
|
|
|
#region T_MPSEPARATE 只保留最近半个月数据其他都移动历史表中
|
|
sql = string.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_MPSEPARATE_HIS(
|
|
MPSEPARATE_ID,MERCHANT_CODE,TICKET_CODE,FFTICKET_CODE,CENTERTICKET_CODE,
|
|
ORITICKET_CODE,TRANSACTION_TRENCH,TRANSACTION_TYPE,TICKET_AMOUNT,CURRENCY,DEDUCTION_RATE,
|
|
TAXFEE_AMOUNT,SHARE_PROFIT,TRADE_DATE,DOWNLOAD_DATE,TRANSFER_STATE,MPSEPARATE_DESC
|
|
)
|
|
SELECT
|
|
MPSEPARATE_ID, MERCHANT_CODE, TICKET_CODE, FFTICKET_CODE, CENTERTICKET_CODE,
|
|
ORITICKET_CODE, TRANSACTION_TRENCH, TRANSACTION_TYPE, TICKET_AMOUNT, CURRENCY, DEDUCTION_RATE,
|
|
TAXFEE_AMOUNT, SHARE_PROFIT, TRADE_DATE, DOWNLOAD_DATE, TRANSFER_STATE, MPSEPARATE_DESC
|
|
from HIGHWAY_EXCHANGE.T_MPSEPARATE A WHERE
|
|
A.TRADE_DATE < TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')",DateTime.Now.AddDays(-15).ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
_OracleHelper.ExcuteSql(sql);
|
|
|
|
sql = string.Format("DELETE FROM HIGHWAY_EXCHANGE.T_MPSEPARATE A WHERE A.TRADE_DATE < TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')",
|
|
DateTime.Now.AddDays(-15).ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
_OracleHelper.ExcuteSql(sql);
|
|
#endregion
|
|
|
|
#region 生成营收账单数据
|
|
foreach (var PROVINCE_CODE in strPROVINCE_CODES)
|
|
{
|
|
string strUrl = GetUrl(PROVINCE_CODE);
|
|
if (!string.IsNullOrEmpty(strUrl))
|
|
{
|
|
|
|
string strFrom = string.Format("action_type=GetAcountDetail&statDay={0},{0}&serverPartId=&shopIds=&StatisticsType=", Convert.ToDateTime(strTime).ToString("yyyy-MM-dd"));
|
|
AppCode.EndAcountResult endAcountResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AppCode.EndAcountResult>(AppCode.Common.HttpUrlPost(strFrom, strUrl));
|
|
if (endAcountResult != null)
|
|
{
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "获取接口" + strTime + "号数据成功"); }));
|
|
List<string> _list = new List<string>();
|
|
_OracleHelper.ExcuteSql(string.Format(@"DELETE FROM HIGHWAY_EXCHANGE.T_ENDACOUNTDATA A WHERE A.ENDACCOUNT_DATE >= TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
and A.ENDACCOUNT_DATE < TO_DATE('{0}', 'YYYY-MM-DD hh24:mi:ss') + 1 AND A.PROVINCE_CODE = '{1}'", Convert.ToDateTime(strTime), PROVINCE_CODE));
|
|
|
|
string _SQL = string.Format(@"SELECT TRANSACTION_TYPE,TICKET_AMOUNT,TAXFEE_AMOUNT,TRADE_DATE,SERVERPART_CODE,SERVERPARTSHOP_CODE,MACHINECODE
|
|
FROM HIGHWAY_EXCHANGE.{2} A WHERE A.TRADE_DATE >=TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
AND A.TRADE_DATE < TO_DATE('{1}','YYYY-MM-DD hh24:mi:ss')+1 ", Convert.ToDateTime(strTime).AddDays(-1), strTime, table_Name);
|
|
|
|
if (Convert.ToDateTime(strTime).Day == 1)//生成每月1号数据时需要用到上个月单品数据
|
|
{
|
|
_SQL = string.Format(@"SELECT TRANSACTION_TYPE,TICKET_AMOUNT,TAXFEE_AMOUNT,TRADE_DATE,SERVERPART_CODE,SERVERPARTSHOP_CODE,MACHINECODE
|
|
FROM HIGHWAY_EXCHANGE.{2} A WHERE A.TRADE_DATE >=TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
AND A.TRADE_DATE < TO_DATE('{1}','YYYY-MM-DD hh24:mi:ss')+1
|
|
UNION ALL
|
|
SELECT TRANSACTION_TYPE,TICKET_AMOUNT,TAXFEE_AMOUNT,TRADE_DATE,SERVERPART_CODE,SERVERPARTSHOP_CODE,MACHINECODE
|
|
FROM HIGHWAY_EXCHANGE.{3} A WHERE A.TRADE_DATE >=TO_DATE('{0}','YYYY-MM-DD hh24:mi:ss')
|
|
AND A.TRADE_DATE < TO_DATE('{1}','YYYY-MM-DD hh24:mi:ss')+1 ", Convert.ToDateTime(strTime).AddDays(-1), strTime, table_Name, up_table_Name);
|
|
}
|
|
|
|
DataTable _dt = _OracleHelper.ExcuteSqlGetDataSet(_SQL).Tables[0];
|
|
this.Invoke(new Action(() => {
|
|
this.lbMessage.Text = string.Format("省份编码:" + PROVINCE_CODE + ",接口数据总条数:{0},剩余条条数:{1}",
|
|
endAcountResult.list.Count, endAcountResult.list.Count);
|
|
}));
|
|
int num = 0;
|
|
|
|
foreach (AppCode.EndAcountData _EndAcountData in endAcountResult.list)
|
|
{
|
|
|
|
if (!string.IsNullOrEmpty(_EndAcountData.MACHINECODE))
|
|
{
|
|
DataRow[] _DataRow = _dt.Select(" TRADE_DATE>='" + _EndAcountData.ENDACCOUNT_STARTDATE + "' and TRADE_DATE<='" + _EndAcountData.ENDACCOUNT_DATE
|
|
+ "' and SERVERPART_CODE='" + _EndAcountData.SERVERPARTCODE + "' and SERVERPARTSHOP_CODE ='" + _EndAcountData.SHOPCODE
|
|
+ "' and MACHINECODE ='" + _EndAcountData.MACHINECODE.PadLeft(4, '0') + "'");
|
|
decimal _TICKET_AMOUNT = 0, _TAXFEE_AMOUNT = 0;
|
|
for (int i = 0; i < _DataRow.Length; i++)
|
|
{
|
|
if (_DataRow[i]["TRANSACTION_TYPE"] != null && _DataRow[i]["TRANSACTION_TYPE"].ToString() == "1000")
|
|
{
|
|
_TICKET_AMOUNT += Convert.ToDecimal(_DataRow[i]["TICKET_AMOUNT"]);
|
|
}
|
|
else
|
|
{
|
|
_TICKET_AMOUNT -= Convert.ToDecimal(_DataRow[i]["TICKET_AMOUNT"]);
|
|
}
|
|
|
|
if (_DataRow[i]["TRANSACTION_TYPE"] != null && _DataRow[i]["TRANSACTION_TYPE"].ToString() == "1000")
|
|
{
|
|
_TAXFEE_AMOUNT += Convert.ToDecimal(_DataRow[i]["TAXFEE_AMOUNT"]);
|
|
}
|
|
else
|
|
{
|
|
_TAXFEE_AMOUNT -= Convert.ToDecimal(_DataRow[i]["TAXFEE_AMOUNT"]);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
_EndAcountData.TICKET_AMOUNT = _TICKET_AMOUNT;
|
|
|
|
_EndAcountData.TAXFEE_AMOUNT = _TAXFEE_AMOUNT;
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
_EndAcountData.TICKET_AMOUNT = 0;
|
|
_EndAcountData.TAXFEE_AMOUNT = 0;
|
|
}
|
|
|
|
_SQL = String.Format(@"INSERT INTO HIGHWAY_EXCHANGE.T_ENDACOUNTDATA(
|
|
ENDACOUNTDATA_ID,SERVERPART_ID,SERVERPARTSHOP_ID,SERVERPART_CODE,SERVERPARTSHOP_CODE,
|
|
SERVERPART_NAME,SHOPNAME,SHOPSHORTNAME,SHOPREGION,MACHINECODE,CASHIER_NAME,
|
|
ENDACCOUNT_STARTDATE,ENDACCOUNT_DATE,
|
|
TICKETCOUNT,TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,
|
|
CASHPAY_DOWNLORD,MOBILEPAYMENT,COSTBILL,CASHPAY,TICKET_AMOUNT,TAXFEE_AMOUNT,PROVINCE_CODE,CREATETIME)
|
|
VALUES(HIGHWAY_EXCHANGE.SEQ_ENDACOUNTDATA.NEXTVAL,'{0}','{1}','{2}','{3}'
|
|
,'{4}','{5}','{6}','{7}','{8}','{9}'
|
|
,to_date('{10}','YYYY-MM-DD hh24:mi:ss'),to_date('{11}','YYYY-MM-DD hh24:mi:ss'),'{12}'
|
|
,'{13}','{14}','{15}','{16}'
|
|
,'{17}','{18}','{19}','{20}','{21}','{22}',to_date('{23}','YYYY-MM-DD hh24:mi:ss'))",
|
|
_EndAcountData.SERVERPART_ID, _EndAcountData.SERVERPARTSHOP_ID, _EndAcountData.SERVERPARTCODE, _EndAcountData.SHOPCODE,
|
|
_EndAcountData.SERVERPART_NAME, _EndAcountData.SHOPNAME, _EndAcountData.SHOPSHORTNAME, _EndAcountData.SHOPREGION,
|
|
_EndAcountData.MACHINECODE, _EndAcountData.CASHIER_NAME,
|
|
_EndAcountData.ENDACCOUNT_STARTDATE, _EndAcountData.ENDACCOUNT_DATE, _EndAcountData.TICKETCOUNT,
|
|
_EndAcountData.TOTALCOUNT, _EndAcountData.TOTALSELLAMOUNT, _EndAcountData.TOTALOFFAMOUNT,
|
|
_EndAcountData.CASHPAY_DOWNLORD, _EndAcountData.MOBILEPAYMENT, _EndAcountData.COSTBILL, _EndAcountData.CASHPAY,
|
|
_EndAcountData.TICKET_AMOUNT, _EndAcountData.TAXFEE_AMOUNT, PROVINCE_CODE,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
_list.Add(_SQL);
|
|
num++;
|
|
this.Invoke(new Action(() => {
|
|
this.lbMessage.Text = string.Format("省份编码:" + PROVINCE_CODE + ",接口数据总条数:{0},剩余条条数:{1}",
|
|
endAcountResult.list.Count, endAcountResult.list.Count - num);
|
|
}));
|
|
}
|
|
if (_list.Count > 0)
|
|
{
|
|
_OracleHelper.ExecuteSqlTran(_list.ToArray());
|
|
}
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "插入营收日结" + strTime + "号数据成功"); }));
|
|
}
|
|
else
|
|
{
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "获取接口" + strTime + "号数据失败"); }));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "[" + PROVINCE_CODE + "]获取配置文件接口地址失败"); }));
|
|
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "生成" + strTime + "号数据完成结束"); }));
|
|
//}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
this.Invoke(new Action(() => { lvMessage.Items.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "生成" + strTime + "号数据报错,报错信息:"+ex.Message); }));
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据服务区取数据URL
|
|
/// <summary>
|
|
/// 根据服务区取数据URL
|
|
/// </summary>
|
|
/// <param name="serverpartid"></param>
|
|
/// <returns></returns>
|
|
public static string GetUrl(string serverpartid)
|
|
{
|
|
try
|
|
{
|
|
string strUrl = string.Empty;
|
|
return System.Configuration.ConfigurationManager.AppSettings[serverpartid];
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
ParameterizedThreadStart threadStart = new ParameterizedThreadStart(BeginMPSEPARATE);
|
|
Thread threadSD = new Thread(threadStart);
|
|
threadSD.Start();
|
|
}
|
|
}
|
|
}
|