665 lines
43 KiB
C#
665 lines
43 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web.UI.WebControls;
|
|
using System.Windows.Forms;
|
|
using CheckCommodityReSet.AppCode;
|
|
namespace CheckCommodityReSet
|
|
{
|
|
public partial class ManinForm : Form
|
|
{
|
|
public ManinForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
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);
|
|
private void ManinForm_Load(object sender, EventArgs e)
|
|
{
|
|
this.dtpStarTime.Text = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
|
|
this.dtpEndTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
|
|
BindDate();
|
|
}
|
|
|
|
private void BindDate()
|
|
{
|
|
cbServerPart.Items.Clear();
|
|
foreach (DataRow item in _OracleHelper.ExcuteSqlGetDataSet(
|
|
@"SELECT
|
|
SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE,SERVERPART_NAME,SERVERPART_ID
|
|
FROM HIGHWAY_STORAGE.T_SERVERPART A
|
|
WHERE EXISTS(SELECT 1 FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
|
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND B.ISVALID = 1 AND B.STATISTICS_TYPE LIKE '%3010%')
|
|
ORDER BY A.SERVERPART_INDEX ASC").Tables[0].Rows)
|
|
{
|
|
cbServerPart.Items.Add(new ListItem(item["SERVERPART_NAME"].ToString(), item["SERVERPART_ID"].ToString()));
|
|
}
|
|
cbServerPart.SelectedIndex = 0;
|
|
}
|
|
|
|
private void cbServerPart_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
if (!string.IsNullOrEmpty(((System.Web.UI.WebControls.ListItem)cbServerPart.SelectedItem).Value))
|
|
{
|
|
cbShopID.Items.Clear();
|
|
cbShopID.Items.Add(new ListItem("请选择", ""));
|
|
foreach (DataRow item in _OracleHelper.ExcuteSqlGetDataSet(
|
|
@"SELECT
|
|
distinct SERVERPARTSHOP_ID,SHOPNAME,SHOPCODE,SERVERPART_ID
|
|
FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP WHERE STATISTICS_TYPE LIKE '%3010%' AND SERVERPART_ID =" +
|
|
((System.Web.UI.WebControls.ListItem)cbServerPart.SelectedItem).Value
|
|
+ " AND ISVALID = 1 ").Tables[0].Rows)
|
|
{
|
|
cbShopID.Items.Add(new ListItem(item["SHOPNAME"].ToString(), item["SERVERPARTSHOP_ID"].ToString()));
|
|
}
|
|
cbShopID.SelectedIndex = 0;
|
|
}
|
|
|
|
}
|
|
|
|
private void btnSearch_Click(object sender, EventArgs e)
|
|
{
|
|
string sql_where = " WHERE CHECK_STATE = 1 ";
|
|
if (!string.IsNullOrEmpty(dtpStarTime.Text))
|
|
{
|
|
sql_where += " AND CHECKDATE >= TO_DATE('" + Convert.ToDateTime(dtpStarTime.Value).ToString("yyyy-MM-dd") + "','YYYY/MM/DD')";
|
|
}
|
|
if (!string.IsNullOrEmpty(dtpEndTime.Text))
|
|
{
|
|
sql_where += " AND CHECKDATE < TO_DATE('" + Convert.ToDateTime(dtpEndTime.Value).ToString("yyyy-MM-dd") + "','YYYY/MM/DD')+1";
|
|
}
|
|
if (!string.IsNullOrEmpty(((System.Web.UI.WebControls.ListItem)cbServerPart.SelectedItem).Value))
|
|
{
|
|
sql_where += " AND SERVERPART_ID = " + ((System.Web.UI.WebControls.ListItem)cbServerPart.SelectedItem).Value;
|
|
}
|
|
if (!string.IsNullOrEmpty(((System.Web.UI.WebControls.ListItem)cbShopID.SelectedItem).Value))
|
|
{
|
|
sql_where += " AND SERVERPARTSHOP_ID = " + ((System.Web.UI.WebControls.ListItem)cbShopID.SelectedItem).Value;
|
|
}
|
|
string sql = @"SELECT
|
|
CHECKCOMMODITY_ID,CHECKPERSON,CHECKDATE,CHECKCOMMODITY_DESC,CHECK_TYPE,SERVERPART_CODE,
|
|
SERVERPART_NAME,SHOPCODE,SHOPNAME,STAFF_NAME,OPERATE_DATE
|
|
FROM SALESTORE_STORAGE.T_CHECKCOMMODITY " + sql_where;
|
|
dgvList.AutoGenerateColumns = false;
|
|
dgvList.DataSource = _OracleHelper.ExcuteSqlGetDataSet(sql).Tables[0];
|
|
|
|
}
|
|
|
|
|
|
|
|
private void dgvList_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
//点击button按钮事件
|
|
if (dgvList.Columns[e.ColumnIndex].Name == "btnSubmitInsales" && e.RowIndex >= 0)
|
|
{
|
|
string _CHECKCOMMODITY_ID = Convert.ToString(dgvList.CurrentRow.Cells[0].Value);
|
|
|
|
WriteMsg("操作功能:重新生成固化数据" + Environment.NewLine +
|
|
"操作时间:" + DateTime.Now + Environment.NewLine);
|
|
bool bFalse = true; string strMsg = string.Empty;
|
|
ReSetInsales(_CHECKCOMMODITY_ID, out bFalse, out strMsg);
|
|
if (bFalse)
|
|
{
|
|
MessageBox.Show("生成固化数据成功!");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("生成固化数据失败!" + strMsg);
|
|
}
|
|
}
|
|
else if (dgvList.Columns[e.ColumnIndex].Name == "btnSubmitInsalesStatistic" && e.RowIndex >= 0)
|
|
{
|
|
string _CHECKCOMMODITY_ID = Convert.ToString(dgvList.CurrentRow.Cells[0].Value);
|
|
//查询盘存信息
|
|
DataTable _Data_CHECKCOMMODITY = _OracleHelper.ExcuteSqlGetDataSet(
|
|
"SELECT * FROM SALESTORE_STORAGE.T_CHECKCOMMODITY WHERE CHECKCOMMODITY_ID=" + _CHECKCOMMODITY_ID).Tables[0];
|
|
if (_Data_CHECKCOMMODITY != null && _Data_CHECKCOMMODITY.Rows.Count > 0 && _Data_CHECKCOMMODITY.Rows[0][0] != null)
|
|
{
|
|
DataTable _Data_INSALES = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
|
|
@"SELECT * FROM SALESTORE_STORAGE.T_CHECKCOMMODITYDETAIL_{0} A
|
|
WHERE CHECKCOMMODITY_ID = {1} AND NOT EXISTS(SELECT 1 FROM SALESTORE_STORAGE.T_INSALES B
|
|
WHERE A.CHECKCOMMODITY_ID = B.CHECKCOMMODITY_ID AND A.COMMODITY_ID = B.COMMODITY_ID)",
|
|
_Data_CHECKCOMMODITY.Rows[0]["SERVERPART_ID"], _CHECKCOMMODITY_ID)).Tables[0];
|
|
if (_Data_INSALES != null && _Data_INSALES.Rows.Count > 0 && _Data_INSALES.Rows[0][0] != null)
|
|
{
|
|
MessageBox.Show("结存信息未生成完全,请等待生成完毕后点击完成盘存!");
|
|
}
|
|
else
|
|
{
|
|
#region 新方法
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A SET (
|
|
PURCHASE_COUNT,PURCHASE_TOTALTAXPRICE,PURCHASE_TOTALPRICE,
|
|
SELL_COUNT,SELL_TOTALTAXPRICE,SELL_TOTALPRICE,
|
|
TRANSFER_COUNT,TRANSFER_AMOUNT,TRANSFER_PRICE,
|
|
RECEIVE_COUNT,RECEIVE_AMOUNT,RECEIVE_PRICE,
|
|
BACK_COUNT,BACK_AMOUNT,BACK_PRICE,
|
|
GROUPPURCHASE_COUNT,GROUPPURCHASE_AMOUNT,GROUPPURCHASE_PRICE,
|
|
PROCESSORDER_COUNT,PROCESSORDER_AMOUNT,PROCESSORDER_PRICE,
|
|
LOSSPROFIT_CHECKCOUNT,LOSSPROFIT_CHECKAMOUNT,LOSSPROFIT_CHECKPRICE) =
|
|
(SELECT B.PURCHASE_COUNT,B.PURCHASE_TOTALTAXPRICE,B.PURCHASE_TOTALPRICE,
|
|
B.SELL_COUNT,B.SELL_TOTALTAXPRICE,B.SELL_TOTALPRICE,
|
|
B.TRANSFER_COUNT,B.TRANSFER_AMOUNT,B.TRANSFER_PRICE,
|
|
B.RECEIVE_COUNT,B.RECEIVE_AMOUNT,B.RECEIVE_PRICE,
|
|
B.BACK_COUNT,B.BACK_AMOUNT,B.BACK_PRICE,
|
|
B.GROUPPURCHASE_COUNT,B.GROUPPURCHASE_AMOUNT,B.GROUPPURCHASE_PRICE,
|
|
B.PROCESSORDER_COUNT,B.PROCESSORDER_AMOUNT,B.PROCESSORDER_PRICE,
|
|
B.LOSSPROFIT_CHECKCOUNT,B.LOSSPROFIT_CHECKAMOUNT,B.LOSSPROFIT_CHECKPRICE
|
|
FROM SALESTORE_STORAGE.T_INSALES B,
|
|
SALESTORE_STORAGE.T_CHECKCOMMODITYDETAIL_{0} C,
|
|
SALESTORE_STORAGE.T_CHECKCOMMODITY D
|
|
WHERE A.CHECKDATE = C.CHECKDATE AND B.CHECKCOMMODITY_ID = C.CHECKCOMMODITY_ID AND
|
|
A.SERVERPARTSHOP_ID = D.SERVERPARTSHOP_ID AND B.COMMODITY_ID = C.COMMODITY_ID AND
|
|
A.COMMODITY_ID = B.COMMODITY_ID AND B.CHECKCOMMODITY_ID = D.CHECKCOMMODITY_ID)
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_INSALES B,SALESTORE_STORAGE.T_CHECKCOMMODITY D
|
|
WHERE A.CHECKDATE = D.CHECKDATE AND B.CHECKCOMMODITY_ID = D.CHECKCOMMODITY_ID AND
|
|
A.SERVERPARTSHOP_ID = D.SERVERPARTSHOP_ID AND A.COMMODITY_ID = B.COMMODITY_ID AND
|
|
D.CHECKCOMMODITY_ID = {1})", _Data_CHECKCOMMODITY.Rows[0]["SERVERPART_ID"], _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A
|
|
SET A.LOSSPROFIT_COUNT = NVL(A.OVERPLUSCOUNT,0) - (NVL(A.LAST_OVERPLUSCOUNT,0) +
|
|
NVL(A.PURCHASE_COUNT,0) - NVL(A.SELL_COUNT,0) - NVL(A.BACK_COUNT,0) -
|
|
NVL(A.TRANSFER_COUNT,0) - NVL(A.RECEIVE_COUNT,0) - NVL(A.GROUPPURCHASE_COUNT,0) -
|
|
NVL(A.PROCESSORDER_COUNT,0) + NVL(A.LOSSPROFIT_CHECKCOUNT,0))
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_CHECKCOMMODITY B
|
|
WHERE A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND A.CHECKDATE = B.CHECKDATE AND
|
|
B.CHECKCOMMODITY_ID IN ({0}))", _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A
|
|
SET A.LOSSPROFIT_AMOUNT = ROUND(A.LOSSPROFIT_COUNT * A.PURCHASE_TAXPRICE,2),
|
|
A.LOSSPROFIT_PRICE = ROUND(A.LOSSPROFIT_COUNT * A.PURCHASE_PRICE,2)
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_CHECKCOMMODITY B
|
|
WHERE A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND A.CHECKDATE = B.CHECKDATE AND
|
|
|
|
B.CHECKCOMMODITY_ID IN ({0}))", _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A
|
|
SET A.SELL_COST = NVL(LAST_OVERPLUSAMOUNT,0) + NVL(PURCHASE_TOTALTAXPRICE,0) - NVL(BACK_AMOUNT,0) -
|
|
NVL(TRANSFER_AMOUNT,0) - NVL(RECEIVE_AMOUNT,0) - NVL(OVERPLUS_AMOUNT,0) + NVL(LOSSPROFIT_AMOUNT,0) -
|
|
NVL(GROUPPURCHASE_COST,0) - NVL(PROCESSORDER_AMOUNT,0) + NVL(LOSSPROFIT_CHECKAMOUNT,0),
|
|
A.SELL_COSTPRICE = NVL(LAST_OVERPLUSPRICE,0) + NVL(PURCHASE_TOTALPRICE,0) - NVL(BACK_PRICE,0) -
|
|
NVL(TRANSFER_PRICE,0) - NVL(RECEIVE_PRICE,0) - NVL(OVERPLUS_PRICE,0) + NVL(LOSSPROFIT_PRICE,0) -
|
|
NVL(GROUPPURCHASE_COSTPRICE,0) - NVL(PROCESSORDER_PRICE,0) + NVL(LOSSPROFIT_CHECKPRICE,0)
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_CHECKCOMMODITY B
|
|
WHERE A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND A.CHECKDATE = B.CHECKDATE AND
|
|
B.CHECKCOMMODITY_ID IN ({0}))", _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A
|
|
SET A.GROSS_PROFIT = A.SELL_TOTALTAXPRICE - A.SELL_COST,
|
|
A.GROSS_PROFITPRICE = A.SELL_TOTALPRICE - A.SELL_COSTPRICE
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_CHECKCOMMODITY B
|
|
WHERE A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND A.CHECKDATE = B.CHECKDATE AND
|
|
B.CHECKCOMMODITY_ID IN ({0}))", _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A
|
|
SET A.TOTAL_PROFIT = A.GROSS_PROFIT,A.TOTAL_PROFITPRICE = A.GROSS_PROFITPRICE
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_CHECKCOMMODITY B
|
|
WHERE A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND A.CHECKDATE = B.CHECKDATE AND
|
|
B.CHECKCOMMODITY_ID IN ({0}))", _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql(string.Format(@"UPDATE SALESTORE_STORAGE.T_INSALES_STATISTIC A
|
|
SET A.TOTAL_PROFIT = A.GROSS_PROFIT,A.TOTAL_PROFITPRICE = A.GROSS_PROFITPRICE
|
|
WHERE EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_CHECKCOMMODITY B
|
|
WHERE A.SERVERPARTSHOP_ID = B.SERVERPARTSHOP_ID AND A.CHECKDATE = B.CHECKDATE AND
|
|
B.CHECKCOMMODITY_ID IN ({0}))", _CHECKCOMMODITY_ID));
|
|
|
|
_OracleHelper.ExcuteSql("DELETE FROM SALESTORE_STORAGE.T_INSALES WHERE CHECKCOMMODITY_ID = " + _CHECKCOMMODITY_ID);
|
|
#endregion
|
|
MessageBox.Show("重新生成进销存数据成功!");
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("未找到盘点单");
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public void ReSetInsales(string _CHECKCOMMODITY_ID, out bool bFalse, out string strMsg)
|
|
{
|
|
|
|
bFalse = false;
|
|
strMsg = string.Empty;
|
|
//删除进销存临时表数据
|
|
_OracleHelper.ExcuteSql("DELETE FROM SALESTORE_STORAGE.T_INSALES WHERE CHECKCOMMODITY_ID = " +_CHECKCOMMODITY_ID);
|
|
|
|
//查询盘存信息
|
|
DataTable _Data_CHECKCOMMODITY = _OracleHelper.ExcuteSqlGetDataSet(
|
|
"SELECT * FROM SALESTORE_STORAGE.T_CHECKCOMMODITY WHERE CHECKCOMMODITY_ID="+ _CHECKCOMMODITY_ID).Tables[0];
|
|
|
|
|
|
|
|
if (_Data_CHECKCOMMODITY != null && _Data_CHECKCOMMODITY.Rows.Count > 0 && _Data_CHECKCOMMODITY.Rows[0][0] != null)
|
|
{
|
|
string _SERVERPART_ID = _Data_CHECKCOMMODITY.Rows[0]["SERVERPART_ID"].ToString();
|
|
string _SERVERPARTSHOP_ID = _Data_CHECKCOMMODITY.Rows[0]["SERVERPARTSHOP_ID"].ToString();
|
|
DataTable CHECKCOMMODITYDETAILTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
|
|
@"SELECT * FROM SALESTORE_STORAGE.T_CHECKCOMMODITYDETAIL_{0} A WHERE CHECKCOMMODITY_ID = {1} AND
|
|
NOT EXISTS(SELECT 1 FROM SALESTORE_STORAGE.T_INSALES B WHERE A.CHECKCOMMODITY_ID = B.CHECKCOMMODITY_ID AND
|
|
A.COMMODITY_ID = B.COMMODITY_ID) ORDER BY CHECKCOMMODITYDETAIL_ID", _SERVERPART_ID, _CHECKCOMMODITY_ID)).Tables[0];
|
|
int num = 0;
|
|
if (CHECKCOMMODITYDETAILTable.Rows.Count > 0)
|
|
{
|
|
//查询门店信息
|
|
DataTable _Data_SERVERPARTSHOP = _OracleHelper.ExcuteSqlGetDataSet(
|
|
"SELECT * FROM HIGHWAY_STORAGE.T_SERVERPARTSHOP WHERE SERVERPARTSHOP_ID=" + _SERVERPARTSHOP_ID).Tables[0];
|
|
|
|
//查询服务区信息
|
|
DataTable _Data_SERVERPART = _OracleHelper.ExcuteSqlGetDataSet(
|
|
"SELECT * FROM HIGHWAY_STORAGE.T_SERVERPART WHERE SERVERPART_ID=" + _SERVERPART_ID).Tables[0];
|
|
|
|
if (_Data_SERVERPARTSHOP!=null && _Data_SERVERPARTSHOP.Rows.Count>0 && _Data_SERVERPARTSHOP.Rows[0][0]!=null
|
|
&& _Data_SERVERPART!=null && _Data_SERVERPART.Rows.Count>0 && _Data_SERVERPART.Rows[0][0]!=null)
|
|
{
|
|
string _SERVERPART_CODE = _Data_SERVERPART.Rows[0]["SERVERPART_CODE"].ToString();
|
|
string _SHOPCODE = _Data_SERVERPARTSHOP.Rows[0]["SHOPCODE"].ToString();
|
|
string _PROVINCE_CODE = _Data_SERVERPART.Rows[0]["PROVINCE_CODE"].ToString();
|
|
#region 存储销售数据
|
|
string SQLString = string.Format(@"SELECT SERVERPARTCODE,SHOPCODE,COMMODITY_CODE,
|
|
COMMODITY_ID,SUM(TOTALCOUNT) AS TOTALCOUNT,SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT
|
|
FROM (SELECT B.COMMODITY_ID,A.ENDDATE,A.SERVERPARTCODE,A.SHOPCODE,
|
|
A.COMMODITY_CODE,A.TOTALCOUNT,A.TOTALSELLAMOUNT
|
|
FROM
|
|
HIGHWAY_EXCHANGE.T_COMMODITYSALE A,
|
|
HIGHWAY_STORAGE.V_WHOLE_COMMODITY B
|
|
WHERE
|
|
A.COMMODITY_CODE = B.COMMODITY_CODE AND
|
|
A.SERVERPARTCODE = '{0}' AND A.SHOPCODE = '{1}' AND
|
|
A.ENDDATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
A.ENDDATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND
|
|
B.PROVINCE_CODE = {4}
|
|
UNION ALL
|
|
SELECT
|
|
B.COMMODITY_ID,A.SELLDATA_DATE,A.SERVERPARTCODE,A.SHOPCODE,
|
|
A.COMMODITY_CODE,A.SELLCOUNT,A.FACTAMOUNT
|
|
FROM
|
|
HIGHWAY_SELLDATA.T_SUPPLEMENT A,
|
|
HIGHWAY_STORAGE.V_WHOLE_COMMODITY B
|
|
WHERE
|
|
A.COMMODITY_ID = B.COMMODITY_ID AND
|
|
A.SERVERPARTCODE = '{0}' AND A.SHOPCODE = '{1}' AND
|
|
A.SELLDATA_DATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
A.SELLDATA_DATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS'))
|
|
GROUP BY COMMODITY_ID,SERVERPARTCODE,SHOPCODE,COMMODITY_CODE",
|
|
_SERVERPART_CODE, _SHOPCODE,
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString(),
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString(), _PROVINCE_CODE);
|
|
|
|
_OracleHelper.ExcuteSql("DELETE FROM HIGHWAY_SELLDATA.T_SELLDATA_INSALES WHERE CHECKCOMMODITY_ID = "+ _CHECKCOMMODITY_ID);
|
|
foreach (DataRow _DataRow in _OracleHelper.ExcuteSqlGetDataSet(SQLString).Tables[0].Rows)
|
|
{
|
|
_OracleHelper.ExcuteSql(string.Format(
|
|
@"INSERT INTO HIGHWAY_SELLDATA.T_SELLDATA_INSALES (
|
|
CHECKCOMMODITY_ID,SERVERPARTSTOCK_ID,SERVERPARTSHOP_ID,SHOPCODE,
|
|
COMMODITY_ID,SELL_COUNT,SELL_TOTALTAXPRICE)
|
|
VALUES ({0},NULL,{1},'{2}',{3},{4},{5})", _CHECKCOMMODITY_ID,
|
|
_SERVERPARTSHOP_ID, _SHOPCODE, _DataRow["COMMODITY_ID"].ToString(),
|
|
_DataRow["TOTALCOUNT"].ToString(), _DataRow["TOTALSELLAMOUNT"].ToString()));
|
|
}
|
|
|
|
DataTable T_SELLDATA_INSALES = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT * FROM HIGHWAY_SELLDATA.T_SELLDATA_INSALES
|
|
WHERE CHECKCOMMODITY_ID = " + _CHECKCOMMODITY_ID).Tables[0];
|
|
|
|
#endregion
|
|
|
|
#region 存储业务数据
|
|
DataTable BACKCOMMODITYTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT
|
|
COMMODITY_ID,NVL(SUM(BACK_COUNT),0),NVL(SUM(BACKTAXPRICE),0),NVL(SUM(BACKPRICE),0)
|
|
FROM SALESTORE_STORAGE.V_BACKCOMMODITY
|
|
WHERE SERVERPARTSHOP_ID = {0} AND SERVERPART_ID = {1} AND
|
|
BACK_DATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
BACK_DATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS')
|
|
GROUP BY COMMODITY_ID",
|
|
_SERVERPARTSHOP_ID, _SERVERPART_ID,
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString(),
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString())).Tables[0];
|
|
|
|
DataTable PREPARECOMMODITYOutTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT
|
|
B.COMMODITY_ID,NVL(SUM(A.PREPARECOUNT),0),
|
|
NVL(SUM(ROUND(NVL(A.TRANSFERTAXPRICE,A.PREPARECOUNT * A.PURCHASE_TAXPRICE),2)),0),
|
|
NVL(SUM(ROUND(NVL(A.TRANSFERPRICE,A.PREPARECOUNT * A.PURCHASE_PRICE),2)),0)
|
|
FROM SALESTORE_STORAGE.T_PREPARECOMMODITY A,
|
|
SALESTORE_STORAGE.T_SERVERPARTSTOCK B
|
|
WHERE A.SERVERPARTSTOCK_ID = B.SERVERPARTSTOCK_ID AND
|
|
B.SERVERPARTSHOP_ID = {0} AND B.SERVERPART_ID = {1} AND
|
|
A.PREPAREDATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
A.PREPAREDATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS')
|
|
GROUP BY B.COMMODITY_ID",
|
|
_SERVERPARTSHOP_ID, _SERVERPART_ID,
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString(),
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString())).Tables[0];
|
|
|
|
DataTable PREPARECOMMODITYInTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT
|
|
COMMODITY_ID,NVL(SUM(PREPARECOUNT),0),
|
|
NVL(SUM(ROUND(NVL(TRANSFERTAXPRICE,PREPARECOUNT * PURCHASE_TAXPRICE),2)),0),
|
|
NVL(SUM(ROUND(NVL(TRANSFERPRICE,PREPARECOUNT * PURCHASE_PRICE),2)),0)
|
|
FROM SALESTORE_STORAGE.T_PREPARECOMMODITY
|
|
WHERE TARGETSHOP_ID = {0} AND TARGETSERVERPART_ID = {1} AND
|
|
PREPAREDATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
PREPAREDATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS')
|
|
GROUP BY COMMODITY_ID",
|
|
_SERVERPARTSHOP_ID, _SERVERPART_ID,
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString(),
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString())).Tables[0];
|
|
|
|
DataTable RECEIVECOMMODITYTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(@"SELECT
|
|
B.COMMODITY_ID,NVL(SUM(A.RECEIVE_COUNT),0),
|
|
NVL(SUM(ROUND(NVL(A.RECEIVETAXPRICE,A.RECEIVE_COUNT * A.PURCHASE_TAXPRICE),2)),0),
|
|
NVL(SUM(ROUND(NVL(A.RECEIVEPRICE,A.RECEIVE_COUNT * A.PURCHASE_PRICE),2)),0)
|
|
FROM SALESTORE_STORAGE.T_RECEIVECOMMODITY A,
|
|
SALESTORE_STORAGE.T_SERVERPARTSTOCK B
|
|
WHERE A.SERVERPARTSTOCK_ID = B.SERVERPARTSTOCK_ID AND
|
|
B.SERVERPARTSHOP_ID = {0} AND B.SERVERPART_ID = {1} AND
|
|
A.RECEIVE_DATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
A.RECEIVE_DATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS')
|
|
GROUP BY B.COMMODITY_ID",
|
|
_SERVERPARTSHOP_ID, _SERVERPART_ID,
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString(),
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString())).Tables[0];
|
|
#endregion
|
|
|
|
#region 存储入库数据
|
|
|
|
|
|
DataTable RECEIVESERVERPARTTable = _OracleHelper.ExcuteSqlGetDataSet(string.Format(
|
|
@"SELECT B.COMMODITY_ID,NVL(SUM(NVL(B.DELIVERCOUNT,B.UNITCOUNT * B.DELIVERCOUNT)),0),
|
|
NVL(SUM(ROUND(NVL(B.RECEIVE_TOTALPRICE,B.DELIVERCOUNT * B.UNITCOUNT * B.PURCHASE_TAXPRICE),2)),0),
|
|
NVL(SUM(NVL(ROUND(NVL(B.RECEIVE_TOTALAMOUNT,B.DELIVERCOUNT * B.UNITCOUNT * B.PURCHASE_PRICE),2),
|
|
ROUND(NVL(B.RECEIVE_TOTALPRICE,B.DELIVERCOUNT * B.UNITCOUNT * B.PURCHASE_TAXPRICE / 1.13),2))),0)
|
|
FROM
|
|
SALESTORE_STORAGE.T_RECEIVESERVERPART A,
|
|
SALESTORE_STORAGE.T_RECEIVEDETAILSERVERPART_{0} B
|
|
WHERE
|
|
A.RECEIVESERVERPART_ID = B.RECEIVESERVERPART_ID AND
|
|
NVL(B.SERVERPARTSHOP_ID,A.SERVERPARTSHOP_ID) = {1} AND
|
|
A.RECEIVECENTER_DATE > TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS') AND
|
|
A.RECEIVECENTER_DATE <= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND
|
|
EXISTS (SELECT 1 FROM SALESTORE_STORAGE.T_STORAGEBILL C
|
|
WHERE A.RECEIVESERVERPART_ID = C.RECEIVESERVERPART_ID)
|
|
GROUP BY B.COMMODITY_ID", _SERVERPART_ID,
|
|
_SERVERPARTSHOP_ID,
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString(),
|
|
CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString())).Tables[0];
|
|
#endregion
|
|
|
|
#region 团购
|
|
DataTable GROUPPURCHASE_DataTable = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT NVL(SUM(A.GROUPPURCHASE_COUNT),0),
|
|
ROUND(NVL(SUM(A.TOTAL_TAXSELLPRICE),0),2),ROUND(NVL(SUM(A.TOTAL_TAXPRICE),0),2) ,COMMODITY_ID
|
|
FROM
|
|
SALESTORE_STORAGE.T_GROUPPURCHASEDETAIL A ,SALESTORE_STORAGE.T_GROUPPURCHASE B
|
|
WHERE
|
|
A.GROUPPURCHASE_ID = B.GROUPPURCHASE_ID AND B.GROUPPURCHASE_STATE = 1090 AND
|
|
B.GROUPPURCHASE_DATE BETWEEN TO_DATE('" + CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString() +
|
|
"','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('" + CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString() +
|
|
"','YYYY-MM-DD HH24:MI:SS') AND B.SERVERPARTSHOP_ID = " + _SERVERPARTSHOP_ID +
|
|
" GROUP BY A.COMMODITY_ID").Tables[0];
|
|
#endregion
|
|
|
|
#region 加工单
|
|
DataTable PROCESSORDER_DataTable = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT
|
|
SUM((CASE WHEN A.PROCESSORDER_TYPE IN (1000,2010) THEN -1 ELSE 1 END)
|
|
* NVL(A.PROCESSORDER_COUNT,0)),
|
|
SUM((CASE WHEN A.PROCESSORDER_TYPE IN (1000,2010) THEN -1 ELSE 1 END)
|
|
* NVL(A.TOTAL_TAXPRICE,A.PROCESSORDER_COUNT * A.PROCESSORDER_TAXPRICE)),
|
|
SUM((CASE WHEN A.PROCESSORDER_TYPE IN (1000,2010) THEN -1 ELSE 1 END)
|
|
* NVL(A.TOTAL_PRICE,A.PROCESSORDER_COUNT * A.PROCESSORDER_PRICE)),COMMODITY_ID
|
|
FROM
|
|
SALESTORE_STORAGE.T_PROCESSORDERDETAIL A ,SALESTORE_STORAGE.T_PROCESSORDER B
|
|
WHERE
|
|
A.PROCESSORDER_ID = B.PROCESSORDER_ID AND B.PROCESSORDER_STATE = 1090 AND
|
|
B.PROCESSORDER_DATE BETWEEN TO_DATE('" + CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString() +
|
|
"','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('" + CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString() +
|
|
"','YYYY-MM-DD HH24:MI:SS') AND B.SERVERPARTSHOP_ID = " + _SERVERPARTSHOP_ID +
|
|
" GROUP BY A.COMMODITY_ID").Tables[0];
|
|
#endregion
|
|
|
|
#region 本期报损溢
|
|
DataTable LOSSPROFITGOODS_DataTable = _OracleHelper.ExcuteSqlGetDataSet(@"SELECT NVL(SUM(LOSSPROFIT_COUNT),0),
|
|
NVL(SUM(ROUND(NVL(LOSSPROFIT_TAXPRICE,LOSSPROFIT_COUNT * PURCHASE_TAXPRICE),2)),0),
|
|
NVL(SUM(ROUND(NVL(LOSSPROFIT_PRICE,LOSSPROFIT_COUNT * PURCHASE_PRICE),2)),0),COMMODITY_ID
|
|
FROM
|
|
SALESTORE_STORAGE.T_LOSSPROFITGOODS
|
|
WHERE
|
|
LOSSPROFIT_DATE BETWEEN TO_DATE('" + CHECKCOMMODITYDETAILTable.Rows[0]["START_DATE"].ToString() +
|
|
"','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('" + CHECKCOMMODITYDETAILTable.Rows[0]["END_DATE"].ToString() +
|
|
"','YYYY-MM-DD HH24:MI:SS') AND SERVERPARTSHOP_ID = " + _SERVERPARTSHOP_ID +
|
|
" GROUP BY COMMODITY_ID").Tables[0];
|
|
#endregion
|
|
|
|
|
|
DataTable SERVERPARTSTOCKTable = _OracleHelper.ExcuteSqlGetDataSet(
|
|
"SELECT * FROM SALESTORE_STORAGE.T_SERVERPARTSTOCK " +
|
|
"WHERE SERVERPARTSHOP_ID = " + _SERVERPARTSHOP_ID + " ORDER BY OPERATE_STATE").Tables[0];
|
|
|
|
foreach (DataRow _DataRow in CHECKCOMMODITYDETAILTable.Rows)
|
|
{
|
|
|
|
double M_PURCHASE_COUNT = 0, M_PURCHASE_TOTALTAXPRICE = 0, M_PURCHASE_TOTALPRICE = 0,
|
|
M_SELL_COUNT = 0, M_SELL_TOTALTAXPRICE = 0, M_SELL_TOTALPRICE = 0,
|
|
M_TRANSFER_COUNT = 0, M_TRANSFER_AMOUNT = 0, M_TRANSFER_PRICE = 0,
|
|
M_RECEIVE_COUNT = 0, M_RECEIVE_AMOUNT = 0, M_RECEIVE_PRICE = 0,
|
|
M_BACK_COUNT = 0, M_BACK_AMOUNT = 0, M_BACK_PRICE = 0;
|
|
|
|
double _GROUPPURCHASE_COUNT = 0, _GROUPPURCHASE_AMOUNT = 0, _GROUPPURCHASE_COST = 0,
|
|
_PROCESSORDER_COUNT = 0, _PROCESSORDER_AMOUNT = 0, _PROCESSORDER_PRICE = 0,
|
|
_LOSSPROFIT_CHECKCOUNT = 0, _LOSSPROFIT_CHECKAMOUNT = 0, _LOSSPROFIT_CHECKPRICE = 0;
|
|
|
|
if (SERVERPARTSTOCKTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString()).Length > 0)
|
|
{
|
|
DataRow SERVERPARTSTOCK = SERVERPARTSTOCKTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString())[0];
|
|
|
|
#region 销售数据
|
|
DataRow[] _T_SELLDATA_DataRow = T_SELLDATA_INSALES.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_T_SELLDATA_DataRow.Length > 0)
|
|
{
|
|
M_SELL_COUNT = Convert.ToDouble(_T_SELLDATA_DataRow[0]["SELL_COUNT"] == null ?
|
|
0 : _T_SELLDATA_DataRow[0]["SELL_COUNT"]);
|
|
M_SELL_TOTALTAXPRICE = Convert.ToDouble(_T_SELLDATA_DataRow[0]["SELL_TOTALTAXPRICE"] == null ?
|
|
0 : _T_SELLDATA_DataRow[0]["SELL_TOTALTAXPRICE"]);
|
|
M_SELL_TOTALPRICE = (M_SELL_TOTALTAXPRICE / 1.13);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 入库数据
|
|
DataRow[] _RECEIVESERVERPART_DataRow = RECEIVESERVERPARTTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_RECEIVESERVERPART_DataRow.Length > 0)
|
|
{
|
|
M_PURCHASE_COUNT = Convert.ToDouble(_RECEIVESERVERPART_DataRow[0][1]);
|
|
M_PURCHASE_TOTALTAXPRICE = Convert.ToDouble(_RECEIVESERVERPART_DataRow[0][2]);
|
|
M_PURCHASE_TOTALPRICE = Convert.ToDouble(_RECEIVESERVERPART_DataRow[0][3]);
|
|
}
|
|
#endregion
|
|
|
|
#region 退货数据
|
|
DataRow[] _BACKCOMMODITY_DataRow = BACKCOMMODITYTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_BACKCOMMODITY_DataRow.Length > 0)
|
|
{
|
|
M_BACK_COUNT = Convert.ToDouble(_BACKCOMMODITY_DataRow[0][1]);
|
|
M_BACK_AMOUNT = Convert.ToDouble(_BACKCOMMODITY_DataRow[0][2]);
|
|
M_BACK_PRICE = Convert.ToDouble(_BACKCOMMODITY_DataRow[0][3]);
|
|
}
|
|
#endregion
|
|
|
|
#region 调拨数据
|
|
DataRow[] _PREPARECOMMODITY_Out_DataRow = PREPARECOMMODITYOutTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_PREPARECOMMODITY_Out_DataRow.Length > 0)
|
|
{
|
|
M_TRANSFER_COUNT = Convert.ToDouble(_PREPARECOMMODITY_Out_DataRow[0][1]);
|
|
M_TRANSFER_AMOUNT = Convert.ToDouble(_PREPARECOMMODITY_Out_DataRow[0][2]);
|
|
M_TRANSFER_PRICE = Convert.ToDouble(_PREPARECOMMODITY_Out_DataRow[0][3]);
|
|
}
|
|
|
|
DataRow[] _PREPARECOMMODITY_In_DataRow = PREPARECOMMODITYInTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
|
|
if (_PREPARECOMMODITY_In_DataRow.Length > 0)
|
|
{
|
|
M_TRANSFER_COUNT = M_TRANSFER_COUNT - Convert.ToDouble(_PREPARECOMMODITY_In_DataRow[0][1]);
|
|
M_TRANSFER_AMOUNT = M_TRANSFER_AMOUNT - Convert.ToDouble(_PREPARECOMMODITY_In_DataRow[0][2]);
|
|
M_TRANSFER_PRICE = M_TRANSFER_PRICE - Convert.ToDouble(_PREPARECOMMODITY_In_DataRow[0][3]);
|
|
}
|
|
#endregion
|
|
|
|
#region 领用数据
|
|
DataRow[] _RECEIVECOMMODITY_DataRow = RECEIVECOMMODITYTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
|
|
if (_RECEIVECOMMODITY_DataRow.Length > 0)
|
|
{
|
|
M_RECEIVE_COUNT = Convert.ToDouble(_RECEIVECOMMODITY_DataRow[0][1]);
|
|
M_RECEIVE_AMOUNT = Convert.ToDouble(_RECEIVECOMMODITY_DataRow[0][2]);
|
|
M_RECEIVE_PRICE = Convert.ToDouble(_RECEIVECOMMODITY_DataRow[0][3]);
|
|
}
|
|
#endregion
|
|
|
|
#region 团购
|
|
DataRow[] _GROUPPURCHASE_DataRow = GROUPPURCHASE_DataTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_GROUPPURCHASE_DataRow.Length > 0)
|
|
{
|
|
_GROUPPURCHASE_COUNT = Convert.ToDouble(_GROUPPURCHASE_DataRow[0][0]);
|
|
_GROUPPURCHASE_AMOUNT = Convert.ToDouble(_GROUPPURCHASE_DataRow[0][1]);
|
|
_GROUPPURCHASE_COST = Convert.ToDouble(_GROUPPURCHASE_DataRow[0][2]);
|
|
}
|
|
#endregion
|
|
|
|
#region 加工
|
|
DataRow[] _PROCESSORDER_DataRow = PROCESSORDER_DataTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_PROCESSORDER_DataRow.Length > 0)
|
|
{
|
|
_PROCESSORDER_COUNT = Convert.ToDouble(_PROCESSORDER_DataRow[0][0]);
|
|
_PROCESSORDER_AMOUNT = Convert.ToDouble(_PROCESSORDER_DataRow[0][1]);
|
|
_PROCESSORDER_PRICE = Convert.ToDouble(_PROCESSORDER_DataRow[0][2]);
|
|
}
|
|
#endregion
|
|
|
|
#region 报损益流程
|
|
DataRow[] _LOSSPROFITGOODS_DataRow = LOSSPROFITGOODS_DataTable.Select("COMMODITY_ID = " +
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
if (_LOSSPROFITGOODS_DataRow.Length > 0)
|
|
{
|
|
_LOSSPROFIT_CHECKCOUNT = Convert.ToDouble(_LOSSPROFITGOODS_DataRow[0][0]);
|
|
_LOSSPROFIT_CHECKAMOUNT = Convert.ToDouble(_LOSSPROFITGOODS_DataRow[0][1]);
|
|
_LOSSPROFIT_CHECKPRICE = Convert.ToDouble(_LOSSPROFITGOODS_DataRow[0][2]);
|
|
}
|
|
#endregion
|
|
|
|
|
|
SQLString = string.Format(@"INSERT INTO SALESTORE_STORAGE.T_INSALES (
|
|
COMMODITYTYPE_NAME,COMMODITY_NAME,CHECKCOMMODITY_ID,CHECKCOMMODITYDETAIL_ID,COMMODITY_ID,COMMODITY_TYPE,COMMODITY_BARCODE,
|
|
PURCHASE_COUNT,PURCHASE_TOTALTAXPRICE,PURCHASE_TOTALPRICE,
|
|
SELL_COUNT,SELL_TOTALTAXPRICE,SELL_TOTALPRICE,
|
|
TRANSFER_COUNT,TRANSFER_AMOUNT,TRANSFER_PRICE,
|
|
RECEIVE_COUNT,RECEIVE_AMOUNT,RECEIVE_PRICE,
|
|
BACK_COUNT,BACK_AMOUNT,BACK_PRICE,
|
|
PROCESSORDER_COUNT,PROCESSORDER_AMOUNT,PROCESSORDER_PRICE,
|
|
GROUPPURCHASE_COUNT,GROUPPURCHASE_AMOUNT,GROUPPURCHASE_PRICE,
|
|
LOSSPROFIT_CHECKCOUNT,LOSSPROFIT_CHECKAMOUNT,LOSSPROFIT_CHECKPRICE
|
|
)
|
|
SELECT
|
|
B.COMMODITYTYPE_NAME,A.COMMODITY_NAME,{0},{1},COMMODITY_ID,COMMODITY_TYPE,COMMODITY_BARCODE,
|
|
{2},{3},{4},
|
|
{5},{6},{7},
|
|
{8},{9},{10},
|
|
{11},{12},{13},
|
|
{14},{15},{16},
|
|
{17},{18},{19},
|
|
{20},{21},{22},
|
|
{23},{24},{25}
|
|
FROM
|
|
HIGHWAY_STORAGE.V_WHOLE_COMMODITY A,
|
|
HIGHWAY_STORAGE.T_COMMODITYTYPE B
|
|
WHERE
|
|
A.COMMODITY_TYPE = B.COMMODITYTYPE_ID AND
|
|
A.COMMODITY_ID = {26}", _CHECKCOMMODITY_ID, _DataRow["CHECKCOMMODITYDETAIL_ID"].ToString(),
|
|
M_PURCHASE_COUNT, M_PURCHASE_TOTALTAXPRICE, M_PURCHASE_TOTALPRICE,
|
|
M_SELL_COUNT, M_SELL_TOTALTAXPRICE, M_SELL_TOTALPRICE,
|
|
M_TRANSFER_COUNT, M_TRANSFER_AMOUNT, M_TRANSFER_PRICE,
|
|
M_RECEIVE_COUNT, M_RECEIVE_AMOUNT, M_RECEIVE_PRICE,
|
|
M_BACK_COUNT, M_BACK_AMOUNT, M_BACK_PRICE,
|
|
_PROCESSORDER_COUNT, _PROCESSORDER_AMOUNT, _PROCESSORDER_PRICE,
|
|
_GROUPPURCHASE_COUNT, _GROUPPURCHASE_AMOUNT, _GROUPPURCHASE_COST,
|
|
_LOSSPROFIT_CHECKCOUNT, _LOSSPROFIT_CHECKAMOUNT, _LOSSPROFIT_CHECKPRICE,
|
|
_DataRow["COMMODITY_ID"].ToString());
|
|
|
|
try
|
|
{
|
|
_OracleHelper.ExcuteSql(SQLString);
|
|
num++;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WriteErrorMsg(ex.ToString());
|
|
throw new Exception("数据生成失败!可能的原因:" + ex.Message);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (num == CHECKCOMMODITYDETAILTable.Rows.Count)
|
|
{
|
|
bFalse = true;
|
|
}
|
|
else
|
|
{
|
|
strMsg = "数据生成失败";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
#region 方法 -> 日志记录
|
|
void WriteMsg(string strMsg)
|
|
{
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + @"CheckCommodityReSet_Log\";
|
|
if (!Directory.Exists(filePath))
|
|
Directory.CreateDirectory(filePath);
|
|
FileStream stream = new FileStream(filePath + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".txt", FileMode.Append, FileAccess.Write);//fileMode指定是读取还是写入
|
|
StreamWriter writer = new StreamWriter(stream, System.Text.Encoding.UTF8);
|
|
writer.WriteLine(strMsg);//写入一行,写完后会自动换行
|
|
writer.Close();//释放内存
|
|
stream.Close();//释放内存
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 日志记录
|
|
void WriteErrorMsg(string strMsg)
|
|
{
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + @"Error_Log\";
|
|
if (!Directory.Exists(filePath))
|
|
Directory.CreateDirectory(filePath);
|
|
FileStream stream = new FileStream(filePath + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".txt", FileMode.Append, FileAccess.Write);//fileMode指定是读取还是写入
|
|
StreamWriter writer = new StreamWriter(stream, System.Text.Encoding.UTF8);
|
|
writer.WriteLine(DateTime.Now+Environment.NewLine+ strMsg);//写入一行,写完后会自动换行
|
|
writer.Close();//释放内存
|
|
stream.Close();//释放内存
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
}
|