..
This commit is contained in:
@@ -20,6 +20,7 @@ using FarPoint.Win.Spread.CellType;
|
||||
using FCM0000;
|
||||
using GrapeCity.Win.Spread.InputMan.CellType;
|
||||
using NetOffice.OutlookApi;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace FEQ0000
|
||||
{
|
||||
@@ -829,7 +830,7 @@ namespace FEQ0000
|
||||
newdr.bigo = string.Empty;
|
||||
newdr.bigo2 = string.Empty;
|
||||
newdr.purchase_manager = string.Empty;
|
||||
|
||||
newdr.chkremark = string.Empty;
|
||||
newdr.request = FCOMMON.info.Login.no;
|
||||
newdr.receive = "";// FCOMMON.info.Login.nameK;
|
||||
newdr.sc = string.Empty;
|
||||
@@ -1488,8 +1489,110 @@ namespace FEQ0000
|
||||
var dlg = FCOMMON.Util.MsgQ("구매내역에서 품목정보를 생성합니다, 중복되는 sid는 업데이트 되지 않습니다\n" +
|
||||
"완료메시지 나올떄까지 기다려주세요");
|
||||
if (dlg != DialogResult.Yes) return;
|
||||
ta.PurchaseDataToItemsNR(FCOMMON.info.Login.gcode);
|
||||
FCOMMON.Util.MsgI("업데이트 완료");
|
||||
//ta.PurchaseDataToItemsNR(FCOMMON.info.Login.gcode);
|
||||
|
||||
//connect to db
|
||||
var cn = DBM.getCn();
|
||||
cn.Open();
|
||||
|
||||
var cn2 = DBM.getCn();
|
||||
cn2.Open();
|
||||
|
||||
var purchasetable = "Purchase";
|
||||
var sql1 = $"select pumname as name,[sid],pumscale as model,pumunit as unit, supply, supplyidx, pumprice as price from {purchasetable} WITH(NOLOCK) where gcode = @gcode and len(sid) = 9 and isnull(UpdateToItem,0) = 0 order by wdate";
|
||||
var sql2 = $"select count(*) from items WITH(NOLOCK) where gcode = @gcode and sid = @sid";
|
||||
var sqlI = $"insert into items(gcode, [name],[sid],model,manu,scale,unit,supply,supplyidx,price,memo,wuid,wdate,import,disable) " +
|
||||
$"values(@gcode,@name,@sid,@model,'',1,'',@supply,@supplyidx,@price,'','{FCOMMON.info.Login.no}',GETDATE(),1,0)";
|
||||
|
||||
var cmd = new System.Data.SqlClient.SqlCommand(sql1, cn);
|
||||
var cmd2 = new System.Data.SqlClient.SqlCommand(sql2, cn2);
|
||||
var cmdI = new System.Data.SqlClient.SqlCommand(sqlI, cn2);
|
||||
var cmdU = new System.Data.SqlClient.SqlCommand("", cn2);
|
||||
|
||||
cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
cmd2.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
cmd2.Parameters.Add("sid", SqlDbType.VarChar).Value = "";
|
||||
|
||||
cmdI.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
cmdI.Parameters.Add("name", SqlDbType.VarChar);
|
||||
cmdI.Parameters.Add("sid", SqlDbType.VarChar);
|
||||
cmdI.Parameters.Add("model", SqlDbType.VarChar);
|
||||
cmdI.Parameters.Add("supply", SqlDbType.VarChar);
|
||||
cmdI.Parameters.Add("supplyidx", SqlDbType.Int);
|
||||
cmdI.Parameters.Add("price", SqlDbType.Decimal);
|
||||
|
||||
|
||||
var dar = cmd.ExecuteReader();
|
||||
var cntI = 0;
|
||||
var cntU = 0;
|
||||
var cnt = 0;
|
||||
while (dar.Read())
|
||||
{
|
||||
var data = new
|
||||
{
|
||||
name = dar[0],
|
||||
sid = dar[1].ToString(),
|
||||
model = dar[2],
|
||||
unit = dar[3],
|
||||
supply = dar[4],
|
||||
supplyidx = dar[5],
|
||||
price = dar[6],
|
||||
};
|
||||
|
||||
|
||||
cmd2.Parameters["sid"].Value = data.sid;
|
||||
|
||||
var datacnt = (int)cmd2.ExecuteScalar();
|
||||
var sql = "";
|
||||
if (datacnt > 0)
|
||||
{
|
||||
//있으면 업데이트
|
||||
if (data.price != null)
|
||||
{
|
||||
var price = (decimal)data.price;
|
||||
sql = $"update items set price = {price}";
|
||||
sql += $" where gcode='{FCOMMON.info.Login.gcode}' and sid='{data.sid}' and isnull(price,0) < {price}";
|
||||
cmdU.CommandText = sql;
|
||||
cntU += cmdU.ExecuteNonQuery();
|
||||
}
|
||||
Console.WriteLine($"{cnt}:update sid:{data.sid},price={data.price},totalupdate:{cntU}");
|
||||
}
|
||||
else
|
||||
{
|
||||
//없으면추가
|
||||
cmdI.Parameters["name"].Value = data.name;
|
||||
cmdI.Parameters["sid"].Value = data.sid;
|
||||
cmdI.Parameters["model"].Value = data.model;
|
||||
cmdI.Parameters["supply"].Value = data.supply;
|
||||
cmdI.Parameters["supplyidx"].Value = data.supplyidx;
|
||||
cmdI.Parameters["price"].Value = data.price;
|
||||
cntI += cmdI.ExecuteNonQuery();
|
||||
Console.WriteLine($"{cnt}:uinsert sid:{data.sid},price={data.price},totalupdate:{cntI}");
|
||||
}
|
||||
|
||||
sql = $"update {purchasetable} set UpdateToItem = 1 where gcode = '{FCOMMON.info.Login.gcode}' and sid = '{data.sid}' and isnull(UpdateToItem,0) = 0";
|
||||
cmdU.CommandText = sql;
|
||||
cmdU.ExecuteNonQuery();
|
||||
|
||||
cnt += 1;
|
||||
//if ((cnt) % 10 == 0)
|
||||
{
|
||||
this.Text = $"품목업데이트 수량(I:{cntI}/U:{cntU})";
|
||||
|
||||
}
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
System.Threading.Thread.Sleep(500);
|
||||
}
|
||||
|
||||
|
||||
//close db
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
|
||||
cn2.Close();
|
||||
cn2.Dispose();
|
||||
|
||||
FCOMMON.Util.MsgI($"업데이트 완료(I:{cntI}/U:{cntU})");
|
||||
}
|
||||
|
||||
private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user