114 lines
5.7 KiB
C#
114 lines
5.7 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
using System.Configuration;
|
||
|
||
namespace BARCODELIBRARY
|
||
{
|
||
public partial class Update : Form
|
||
{
|
||
WaiteFrom _WaitForm;
|
||
public static string _Helper = ConfigurationManager.AppSettings["OracleHelper"].ToString();
|
||
OracleHelper _OracleHelper = new OracleHelper(_Helper.Split('|')[0], _Helper.Split('|')[1], _Helper.Split('|')[2], _Helper.Split('|')[3]);
|
||
public Update()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
private void Update_Load(object sender, EventArgs e)
|
||
{
|
||
this.Text = "基础库信息更新";
|
||
}
|
||
|
||
private void BT_Update_Click(object sender, EventArgs e)
|
||
{
|
||
ShowWaiteForm();
|
||
_WaitForm.ShowMessage("正在更新...");
|
||
//更新基础库数据
|
||
string insert_SQL = @"INSERT INTO HIGHWAY_EXCHANGE.T_BARCODELIBRARY
|
||
(BARCODELIBRARY_ID,COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
||
COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE,ADDTIME,COMMODITY_STATE)
|
||
(SELECT HIGHWAY_EXCHANGE.SEQ_BARCODELIBRARY.NEXTVAL,A.COMMODITY_TYPE,
|
||
lpad(to_char(HIGHWAY_EXCHANGE.SEQ_BARCODELIBRARY.NEXTVAL), 8, '0'),
|
||
A.COMMODITY_NAME,A.COMMODITY_BARCODE,A.COMMODITY_EN,A.COMMODITY_UNIT,
|
||
A.COMMODITY_RULE,A.COMMODITY_RETAILPRICE,SYSDATE,1
|
||
FROM (SELECT COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
||
COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE
|
||
FROM (SELECT COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
||
COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE,
|
||
ROW_NUMBER() OVER (PARTITION BY COMMODITY_BARCODE ORDER BY COMMODITYEX_ID) AS RK
|
||
FROM HIGHWAY_EXCHANGE.T_COMMODITYEX) WHERE RK = 1) A
|
||
WHERE NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_BARCODELIBRARY B
|
||
WHERE A.COMMODITY_BARCODE = B.COMMODITY_BARCODE) AND COMMODITY_RETAILPRICE < 1000000 AND
|
||
LENGTH(COMMODITY_BARCODE) > 8 AND COMMODITY_NAME != '未知商品' AND
|
||
not regexp_like(COMMODITY_BARCODE,'[[:alpha:]]')) ";
|
||
string sql = @"UPDATE HIGHWAY_EXCHANGE.T_BARCODELIBRARY SET COMMODITY_CODE = LPAD(BARCODELIBRARY_ID,8,'0')
|
||
WHERE COMMODITY_CODE IS NULL";
|
||
_OracleHelper.ExcuteSql(sql);
|
||
if (_OracleHelper.ExcuteSql(insert_SQL) > 0)
|
||
{
|
||
MessageBox.Show("更新成功!");
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("暂无需更新的数据!");
|
||
}
|
||
dataGridView1.DataSource = getdate();
|
||
label3.Text = dataGridView1.Rows.Count.ToString();
|
||
_WaitForm.Close();
|
||
_WaitForm.Dispose();
|
||
}
|
||
|
||
private void Update_FormClosing(object sender, FormClosingEventArgs e)
|
||
{
|
||
this.DialogResult = DialogResult.OK;
|
||
}
|
||
|
||
public void ShowWaiteForm()
|
||
{
|
||
_WaitForm = WaiteFrom.GetInstance();
|
||
//设置WaitForm的父窗体为当前窗体,以便在WaitForm中使用父窗体对象
|
||
_WaitForm.Owner = this;
|
||
_WaitForm.ShowMessage("加载中......");
|
||
_WaitForm.Show();
|
||
Application.DoEvents();
|
||
_WaitForm.Refresh();
|
||
}
|
||
|
||
public DataTable getdate()
|
||
{
|
||
//查询需要更新的数据
|
||
string sql = @"SELECT A.COMMODITY_TYPE AS 商品类型,A.COMMODITY_CODE AS 商品编码,A.COMMODITY_NAME AS 商品名称,
|
||
A.COMMODITY_BARCODE AS 商品条码,A.COMMODITY_EN 商品简称,A.COMMODITY_UNIT AS 商品单位,
|
||
A.COMMODITY_RULE AS 商品规格,A.COMMODITY_RETAILPRICE AS 商品零售价,A.COMMODITY_MEMBERPRICE AS 会员价
|
||
FROM (SELECT COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
||
COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE,COMMODITY_MEMBERPRICE
|
||
FROM (SELECT COMMODITY_TYPE,COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,
|
||
COMMODITY_EN,COMMODITY_UNIT,COMMODITY_RULE,COMMODITY_RETAILPRICE,COMMODITY_MEMBERPRICE,
|
||
ROW_NUMBER() OVER (PARTITION BY COMMODITY_BARCODE ORDER BY COMMODITYEX_ID) AS RK
|
||
FROM HIGHWAY_EXCHANGE.T_COMMODITYEX) WHERE RK = 1) A
|
||
WHERE NOT EXISTS(SELECT 1 FROM HIGHWAY_EXCHANGE.T_BARCODELIBRARY B
|
||
WHERE A.COMMODITY_BARCODE = B.COMMODITY_BARCODE) AND COMMODITY_RETAILPRICE < 1000000 AND
|
||
LENGTH(COMMODITY_BARCODE) > 8 and COMMODITY_NAME != '未知商品' AND
|
||
not regexp_like(COMMODITY_BARCODE,'[[:alpha:]]')";
|
||
return _OracleHelper.ExcuteSqlGetDataSet(sql).Tables[0];
|
||
}
|
||
|
||
private void BT_Search_Click(object sender, EventArgs e)
|
||
{
|
||
ShowWaiteForm();
|
||
_WaitForm.ShowMessage("正在搜索...");
|
||
dataGridView1.DataSource = getdate();
|
||
label3.Text = dataGridView1.Rows.Count.ToString();
|
||
_WaitForm.Close();
|
||
_WaitForm.Dispose();
|
||
}
|
||
}
|
||
}
|