181210 chi NR구매등록시 이미지 표시 및 추가 기능
NR구매목록에서 권한 없는 사람이 더블클릭으로 편집할 수 있는 버그 수정
This commit is contained in:
@@ -1,392 +1,539 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace FCOMMON
|
||||
{
|
||||
public static partial class DBM
|
||||
{
|
||||
public static SqlConnection getCn()
|
||||
{
|
||||
string cs = FCOMMON.info.CS;
|
||||
SqlConnection cn = new SqlConnection();
|
||||
cn.ConnectionString = cs;
|
||||
return cn;
|
||||
}
|
||||
|
||||
public struct sItemInfo
|
||||
{
|
||||
public int idx;
|
||||
public string sid;
|
||||
public string model;
|
||||
public string supply;
|
||||
public string name;
|
||||
public string unit;
|
||||
public float scale;
|
||||
public string price;
|
||||
public int supplyidx;
|
||||
public string project;
|
||||
public int qty;
|
||||
}
|
||||
|
||||
public static Boolean setImageData(System.Drawing.Image img, string table, string field, int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
Boolean retval = false;
|
||||
string sql = "update " + table + " set " + field + " = @data" + " where idx = @idx";
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
|
||||
System.IO.MemoryStream sm = new System.IO.MemoryStream();
|
||||
img.Save(sm, System.Drawing.Imaging.ImageFormat.Jpeg);
|
||||
var buffer = sm.GetBuffer();
|
||||
sm.Dispose();
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("idx", idx));
|
||||
cmd.Parameters.Add(new SqlParameter("data", buffer));
|
||||
try
|
||||
{
|
||||
cmd.ExecuteNonQuery();
|
||||
retval = true;
|
||||
}catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static System.Drawing.Image GetImageData(string table,string field,int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
|
||||
string sql = "select " + field + " from "+table+" where idx = " + idx.ToString();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var data = cmd.ExecuteScalar() as byte[];
|
||||
System.Drawing.Bitmap bmp = null;
|
||||
if(data != null)
|
||||
{
|
||||
System.IO.MemoryStream ms = new System.IO.MemoryStream(data);
|
||||
bmp = new System.Drawing.Bitmap(ms, true);
|
||||
ms.Dispose();
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return bmp;
|
||||
}
|
||||
|
||||
public static sItemInfo getLastPurchaseInfo(int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
var retval = new sItemInfo();
|
||||
retval.idx = -1;
|
||||
|
||||
string sql = "select isnull(max(idx),-1) from Purchase where pumidx = " + idx.ToString();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
int maxidx = int.Parse(cmd.ExecuteScalar().ToString());
|
||||
if (maxidx == -1) return retval;
|
||||
|
||||
cmd.CommandText = "select * from Purchase where idx = " + maxidx.ToString();
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.idx = (int)rdr["idx"];
|
||||
if (rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString();
|
||||
if (rdr["pumscale"] != DBNull.Value) retval.model = rdr["pumscale"].ToString();
|
||||
if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString();
|
||||
if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
else retval.supplyidx = -1;
|
||||
|
||||
if (rdr["pumname"] != DBNull.Value) retval.name = rdr["pumname"].ToString();
|
||||
if (rdr["pumunit"] != DBNull.Value) retval.unit = rdr["pumunit"].ToString();
|
||||
if (rdr["project"] != DBNull.Value) retval.project = rdr["project"].ToString();
|
||||
|
||||
if (rdr["pumprice"] != DBNull.Value) retval.price = rdr["pumprice"].ToString();
|
||||
else retval.price = "0";
|
||||
|
||||
if (rdr["pumqty"] != DBNull.Value) retval.qty = int.Parse(rdr["pumqty"].ToString());
|
||||
else retval.qty = 0;
|
||||
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
public static sItemInfo getItemInfo(int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
var retval = new sItemInfo();
|
||||
retval.idx = -1;
|
||||
|
||||
string sql = "select * from Items where idx = " + idx.ToString();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while(rdr.Read())
|
||||
{
|
||||
retval.idx = (int)rdr["idx"];
|
||||
if(rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString();
|
||||
if (rdr["model"] != DBNull.Value) retval.model = rdr["model"].ToString();
|
||||
if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString();
|
||||
if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
|
||||
if (rdr["name"] != DBNull.Value) retval.name = rdr["name"].ToString();
|
||||
if (rdr["unit"] != DBNull.Value) retval.unit = rdr["unit"].ToString();
|
||||
if (rdr["scale"] != DBNull.Value) retval.scale = float.Parse(rdr["scale"].ToString());
|
||||
if (rdr["price"] != DBNull.Value) retval.price = rdr["price"].ToString();
|
||||
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static int addItemInfo(sItemInfo info)
|
||||
{
|
||||
int retval = -1;
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
string sql = "insert into Items" +
|
||||
" ([cate],[sid],[model],[supply],[supplyidx],[name],[unit],[scale],[price],[wuid],[wdate])" +
|
||||
" values " +
|
||||
" (@cate,@sid,@model,@supply,@supplyidx,@name,@unit,@scale,@price,@wuid,@wdate)";
|
||||
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
cmd.Parameters.Add(new SqlParameter("@cate", "etc"));
|
||||
cmd.Parameters.Add(new SqlParameter("@sid", info.sid));
|
||||
cmd.Parameters.Add(new SqlParameter("@model", info.model));
|
||||
cmd.Parameters.Add(new SqlParameter("@supply", info.supply));
|
||||
cmd.Parameters.Add(new SqlParameter("@supplyidx", info.supplyidx));
|
||||
cmd.Parameters.Add(new SqlParameter("@name", info.name));
|
||||
cmd.Parameters.Add(new SqlParameter("@unit", info.unit));
|
||||
cmd.Parameters.Add(new SqlParameter("@scale", info.scale));
|
||||
cmd.Parameters.Add(new SqlParameter("@price", info.price));
|
||||
cmd.Parameters.Add(new SqlParameter("@wuid", FCOMMON.info.Login.no));
|
||||
cmd.Parameters.Add(new SqlParameter("@wdate", DateTime.Now));
|
||||
|
||||
var iCnt = cmd.ExecuteNonQuery();
|
||||
if(iCnt == 1)
|
||||
{
|
||||
cmd.CommandText = "select isnull(idx,-1) from Items where [sid] = @sid";
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Parameters.Add(new SqlParameter("sid", info.sid));
|
||||
retval = (int)cmd.ExecuteScalar();
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static sItemInfo getItemInfo(string sid)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
var retval = new sItemInfo();
|
||||
retval.idx = -1;
|
||||
|
||||
string sql = "select * from Items where [sid] = '" + sid + "'";
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.idx = (int)rdr["idx"];
|
||||
if (rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString();
|
||||
if (rdr["model"] != DBNull.Value) retval.model = rdr["model"].ToString();
|
||||
if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString();
|
||||
if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
|
||||
if (rdr["name"] != DBNull.Value) retval.name = rdr["name"].ToString();
|
||||
if (rdr["unit"] != DBNull.Value) retval.unit = rdr["unit"].ToString();
|
||||
if (rdr["scale"] != DBNull.Value) retval.scale = float.Parse(rdr["scale"].ToString());
|
||||
if (rdr["price"] != DBNull.Value) retval.price = rdr["price"].ToString();
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static Dictionary<string,string> getUserList(int baseLevel = 1)
|
||||
{
|
||||
string where = "isnull(level,0) >= " + baseLevel.ToString();
|
||||
return getTwoColumnList("Users", "id", "name", where, "name");
|
||||
|
||||
}
|
||||
public static System.Data.DataTable getUserTable(int baseLevel = 1)
|
||||
{
|
||||
var list = getUserList(baseLevel);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
|
||||
private static Dictionary<string,string> MakeDataTable(List<string> list)
|
||||
{
|
||||
var retval = new Dictionary<string, string>();
|
||||
foreach (var item in list)
|
||||
retval.Add(item, item);
|
||||
return retval;
|
||||
}
|
||||
private static System.Data.DataTable MakeDataTable(Dictionary<string,string> list)
|
||||
{
|
||||
System.Data.DataTable dt = new System.Data.DataTable();
|
||||
dt.Columns.Add("Key");
|
||||
dt.Columns.Add("Value");
|
||||
dt.Columns.Add("KeyValue");
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
dt.Rows.Add(new string[] { item.Key, item.Value, string.Format("[{0}] {1}", item.Key, item.Value) });
|
||||
}
|
||||
dt.AcceptChanges();
|
||||
return dt;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string> getProjectList(string StateCode = "")
|
||||
{
|
||||
string where = "status = '{0}'";
|
||||
if (StateCode != "") where = string.Format(where, StateCode);
|
||||
else where = string.Empty;
|
||||
|
||||
return getTwoColumnList("Projects", "idx", "name", where, "status,name");
|
||||
}
|
||||
public static System.Data.DataTable getProjectData(string StateCode = "")
|
||||
{
|
||||
var list = getProjectList(StateCode);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
public static Dictionary<string,string> getCodeList(string GroupCode="99")
|
||||
{
|
||||
string where = "Grp = '{0}'";
|
||||
where = string.Format(where, GroupCode);
|
||||
return getTwoColumnList("Common", "code", "memo", where, "code");
|
||||
}
|
||||
public static string getCodeSavlue(string GroupCode, string code)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select isnull(SValue,'')" +
|
||||
" from Common" +
|
||||
" where Grp = '{0}' and code = '{1}'";
|
||||
|
||||
sql = string.Format(sql, GroupCode, code);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var data = cmd.ExecuteScalar();
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return data.ToString();
|
||||
|
||||
}
|
||||
public static System.Data.DataTable getCodeTable(string GroupCode = "99")
|
||||
{
|
||||
var list = getCodeList(GroupCode);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
private static Dictionary<string, string> getTwoColumnList(string table,string col1,string col2,string where="",string order="")
|
||||
{
|
||||
Dictionary<string, string> retval = new Dictionary<string, string>();
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select isnull({1},''),isnull({2},'')" +
|
||||
" from {0}";
|
||||
if (where != "") sql += " where " + where;
|
||||
if (order != "") sql += " order by " + order;
|
||||
sql = string.Format(sql,table, col1, col2);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.Add(rdr[0].ToString(), rdr[1].ToString());
|
||||
}
|
||||
rdr.Close();
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
|
||||
}
|
||||
public static Dictionary<string,string> getGroupTable(string GroupColumn, string table, string where = "", Boolean desc = false)
|
||||
{
|
||||
var list = getGroupList(GroupColumn, table, where, desc);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 데이터중 첫번째 자료를 반환 합니다.
|
||||
/// </summary>
|
||||
/// <param name="column"></param>
|
||||
/// <param name="table"></param>
|
||||
/// <param name="where"></param>
|
||||
/// <param name="order"></param>
|
||||
/// <returns></returns>
|
||||
public static String getFirstValue(string column,string table,string where="",string order="")
|
||||
{
|
||||
string retval = string.Empty;
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select {0} " +
|
||||
" from {1} " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
if (where != "") sql += " and " + where;
|
||||
if (order != "") sql += " order by " + order;
|
||||
|
||||
sql = string.Format(sql, "[" + column + "]", table);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
if (rdr[0] != null) retval = rdr[0].ToString();
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static List<String> getGroupList(string GroupColumn, string table, string where = "",Boolean desc=false)
|
||||
{
|
||||
List<string> retval = new List<string>();
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select {0} " +
|
||||
" from {1} " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
if (where != "") sql += " and " + where;
|
||||
|
||||
sql += " group by {0} " +
|
||||
" order by {0} ";
|
||||
if (desc) sql += " desc";
|
||||
|
||||
sql = string.Format(sql, "[" + GroupColumn + "]", table);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.Add(rdr[0].ToString());
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static List<String> getDateList(string table, string where = "",Boolean desc =false)
|
||||
{
|
||||
return getGroupList("pdate", table, where,desc);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace FCOMMON
|
||||
{
|
||||
public static partial class DBM
|
||||
{
|
||||
public static SqlConnection getCn()
|
||||
{
|
||||
string cs = FCOMMON.info.CS;
|
||||
SqlConnection cn = new SqlConnection();
|
||||
cn.ConnectionString = cs;
|
||||
return cn;
|
||||
}
|
||||
|
||||
public struct sItemInfo
|
||||
{
|
||||
public int idx;
|
||||
public string sid;
|
||||
public string model;
|
||||
public string supply;
|
||||
public string name;
|
||||
public string unit;
|
||||
public float scale;
|
||||
public string price;
|
||||
public int supplyidx;
|
||||
public string project;
|
||||
public int qty;
|
||||
}
|
||||
|
||||
public static byte[] getImagByteArray(System.Drawing.Image img)
|
||||
{
|
||||
if (img == null || img.Width < 1 || img.Height < 1) return null;
|
||||
System.IO.MemoryStream sm = new System.IO.MemoryStream();
|
||||
img.Save(sm, System.Drawing.Imaging.ImageFormat.Jpeg);
|
||||
var buffer = sm.GetBuffer();
|
||||
sm.Dispose();
|
||||
return buffer;
|
||||
}
|
||||
|
||||
public static Boolean setImageData(System.Drawing.Image img, string table, string field, int idx)
|
||||
{
|
||||
if (img == null || img.Width < 1||img.Height < 1) return false;
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
Boolean retval = false;
|
||||
string sql = "update " + table + " set " + field + " = @data" + " where idx = @idx";
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
|
||||
System.IO.MemoryStream sm = new System.IO.MemoryStream();
|
||||
img.Save(sm, System.Drawing.Imaging.ImageFormat.Jpeg);
|
||||
var buffer = sm.GetBuffer();
|
||||
sm.Dispose();
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("idx", idx));
|
||||
cmd.Parameters.Add(new SqlParameter("data", buffer));
|
||||
try
|
||||
{
|
||||
cmd.ExecuteNonQuery();
|
||||
retval = true;
|
||||
}catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static System.Drawing.Image GetImageData(string table,string field,int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
|
||||
string sql = "select " + field + " from "+table+" where idx = " + idx.ToString();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var data = cmd.ExecuteScalar() as byte[];
|
||||
System.Drawing.Bitmap bmp = null;
|
||||
if(data != null)
|
||||
{
|
||||
System.IO.MemoryStream ms = new System.IO.MemoryStream(data);
|
||||
bmp = new System.Drawing.Bitmap(ms, true);
|
||||
ms.Dispose();
|
||||
}
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return bmp;
|
||||
}
|
||||
|
||||
public static sItemInfo getLastPurchaseInfo(int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
var retval = new sItemInfo();
|
||||
retval.idx = -1;
|
||||
|
||||
string sql = "select isnull(max(idx),-1) from Purchase where pumidx = " + idx.ToString();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
int maxidx = int.Parse(cmd.ExecuteScalar().ToString());
|
||||
if (maxidx == -1) return retval;
|
||||
|
||||
cmd.CommandText = "select * from Purchase where idx = " + maxidx.ToString();
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.idx = (int)rdr["idx"];
|
||||
if (rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString();
|
||||
if (rdr["pumscale"] != DBNull.Value) retval.model = rdr["pumscale"].ToString();
|
||||
if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString();
|
||||
if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
else retval.supplyidx = -1;
|
||||
|
||||
if (rdr["pumname"] != DBNull.Value) retval.name = rdr["pumname"].ToString();
|
||||
if (rdr["pumunit"] != DBNull.Value) retval.unit = rdr["pumunit"].ToString();
|
||||
if (rdr["project"] != DBNull.Value) retval.project = rdr["project"].ToString();
|
||||
|
||||
if (rdr["pumprice"] != DBNull.Value) retval.price = rdr["pumprice"].ToString();
|
||||
else retval.price = "0";
|
||||
|
||||
if (rdr["pumqty"] != DBNull.Value) retval.qty = int.Parse(rdr["pumqty"].ToString());
|
||||
else retval.qty = 0;
|
||||
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
public static sItemInfo getItemInfo(int idx)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
var retval = new sItemInfo();
|
||||
retval.idx = -1;
|
||||
|
||||
string sql = "select * from Items where idx = " + idx.ToString();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while(rdr.Read())
|
||||
{
|
||||
retval.idx = (int)rdr["idx"];
|
||||
if(rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString();
|
||||
if (rdr["model"] != DBNull.Value) retval.model = rdr["model"].ToString();
|
||||
if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString();
|
||||
if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
|
||||
if (rdr["name"] != DBNull.Value) retval.name = rdr["name"].ToString();
|
||||
if (rdr["unit"] != DBNull.Value) retval.unit = rdr["unit"].ToString();
|
||||
if (rdr["scale"] != DBNull.Value) retval.scale = float.Parse(rdr["scale"].ToString());
|
||||
if (rdr["price"] != DBNull.Value) retval.price = rdr["price"].ToString();
|
||||
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static int addItemInfo(sItemInfo info)
|
||||
{
|
||||
int retval = -1;
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
string sql = "insert into Items" +
|
||||
" ([cate],[sid],[model],[supply],[supplyidx],[name],[unit],[scale],[price],[wuid],[wdate])" +
|
||||
" values " +
|
||||
" (@cate,@sid,@model,@supply,@supplyidx,@name,@unit,@scale,@price,@wuid,@wdate)";
|
||||
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
cmd.Parameters.Add(new SqlParameter("@cate", "etc"));
|
||||
cmd.Parameters.Add(new SqlParameter("@sid", info.sid));
|
||||
cmd.Parameters.Add(new SqlParameter("@model", info.model));
|
||||
cmd.Parameters.Add(new SqlParameter("@supply", info.supply));
|
||||
cmd.Parameters.Add(new SqlParameter("@supplyidx", info.supplyidx));
|
||||
cmd.Parameters.Add(new SqlParameter("@name", info.name));
|
||||
cmd.Parameters.Add(new SqlParameter("@unit", info.unit));
|
||||
cmd.Parameters.Add(new SqlParameter("@scale", info.scale));
|
||||
cmd.Parameters.Add(new SqlParameter("@price", info.price));
|
||||
cmd.Parameters.Add(new SqlParameter("@wuid", FCOMMON.info.Login.no));
|
||||
cmd.Parameters.Add(new SqlParameter("@wdate", DateTime.Now));
|
||||
|
||||
var iCnt = cmd.ExecuteNonQuery();
|
||||
if(iCnt == 1)
|
||||
{
|
||||
cmd.CommandText = "select isnull(idx,-1) from Items where [sid] = @sid";
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Parameters.Add(new SqlParameter("sid", info.sid));
|
||||
retval = (int)cmd.ExecuteScalar();
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static sItemInfo getItemInfo(string sid)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
var retval = new sItemInfo();
|
||||
retval.idx = -1;
|
||||
|
||||
string sql = "select * from Items where [sid] = '" + sid + "'";
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.idx = (int)rdr["idx"];
|
||||
if (rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString();
|
||||
if (rdr["model"] != DBNull.Value) retval.model = rdr["model"].ToString();
|
||||
if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString();
|
||||
if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
|
||||
if (rdr["name"] != DBNull.Value) retval.name = rdr["name"].ToString();
|
||||
if (rdr["unit"] != DBNull.Value) retval.unit = rdr["unit"].ToString();
|
||||
if (rdr["scale"] != DBNull.Value) retval.scale = float.Parse(rdr["scale"].ToString());
|
||||
if (rdr["price"] != DBNull.Value) retval.price = rdr["price"].ToString();
|
||||
}
|
||||
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static Dictionary<string,string> getUserList(int baseLevel = 1)
|
||||
{
|
||||
string where = "isnull(level,0) >= " + baseLevel.ToString();
|
||||
return getTwoColumnList("Users", "id", "name", where, "name");
|
||||
|
||||
}
|
||||
public static System.Data.DataTable getUserTable(int baseLevel = 1)
|
||||
{
|
||||
var list = getUserList(baseLevel);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
|
||||
private static Dictionary<string,string> MakeDataTable(List<string> list)
|
||||
{
|
||||
var retval = new Dictionary<string, string>();
|
||||
foreach (var item in list)
|
||||
retval.Add(item, item);
|
||||
return retval;
|
||||
}
|
||||
private static System.Data.DataTable MakeDataTable(Dictionary<string,string> list)
|
||||
{
|
||||
System.Data.DataTable dt = new System.Data.DataTable();
|
||||
dt.Columns.Add("Key");
|
||||
dt.Columns.Add("Value");
|
||||
dt.Columns.Add("KeyValue");
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
dt.Rows.Add(new string[] { item.Key, item.Value, string.Format("[{0}] {1}", item.Key, item.Value) });
|
||||
}
|
||||
dt.AcceptChanges();
|
||||
return dt;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string> getProjectList(string StateCode = "")
|
||||
{
|
||||
string where = "status = '{0}'";
|
||||
if (StateCode != "") where = string.Format(where, StateCode);
|
||||
else where = string.Empty;
|
||||
|
||||
return getTwoColumnList("Projects", "idx", "name", where, "status,name");
|
||||
}
|
||||
public static System.Data.DataTable getProjectData(string StateCode = "")
|
||||
{
|
||||
var list = getProjectList(StateCode);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
public static Dictionary<string,string> getCodeList(string GroupCode="99")
|
||||
{
|
||||
string where = "Grp = '{0}'";
|
||||
where = string.Format(where, GroupCode);
|
||||
return getTwoColumnList("Common", "code", "memo", where, "code");
|
||||
}
|
||||
public static string getCodeSavlue(string GroupCode, string code)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select isnull(SValue,'')" +
|
||||
" from Common" +
|
||||
" where Grp = '{0}' and code = '{1}'";
|
||||
|
||||
sql = string.Format(sql, GroupCode, code);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var data = cmd.ExecuteScalar();
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return data.ToString();
|
||||
|
||||
}
|
||||
public static System.Data.DataTable getCodeTable(string GroupCode = "99")
|
||||
{
|
||||
var list = getCodeList(GroupCode);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
private static Dictionary<string, string> getTwoColumnList(string table,string col1,string col2,string where="",string order="")
|
||||
{
|
||||
Dictionary<string, string> retval = new Dictionary<string, string>();
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select isnull({1},''),isnull({2},'')" +
|
||||
" from {0}";
|
||||
if (where != "") sql += " where " + where;
|
||||
if (order != "") sql += " order by " + order;
|
||||
sql = string.Format(sql,table, col1, col2);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.Add(rdr[0].ToString(), rdr[1].ToString());
|
||||
}
|
||||
rdr.Close();
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
|
||||
}
|
||||
public static Dictionary<string,string> getGroupTable(string GroupColumn, string table, string where = "", Boolean desc = false)
|
||||
{
|
||||
var list = getGroupList(GroupColumn, table, where, desc);
|
||||
return MakeDataTable(list);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 데이터중 첫번째 자료를 반환 합니다.
|
||||
/// </summary>
|
||||
/// <param name="column"></param>
|
||||
/// <param name="table"></param>
|
||||
/// <param name="where"></param>
|
||||
/// <param name="order"></param>
|
||||
/// <returns></returns>
|
||||
public static String getFirstValue(string column,string table,string where="",string order="")
|
||||
{
|
||||
string retval = string.Empty;
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select {0} " +
|
||||
" from {1} " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
if (where != "") sql += " and " + where;
|
||||
if (order != "") sql += " order by " + order;
|
||||
|
||||
sql = string.Format(sql, "[" + column + "]", table);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
if (rdr[0] != null) retval = rdr[0].ToString();
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static int addItem(string pumname,string sid, string model, decimal price, string supply ,int supplyidx = -1,byte[] pic = null)
|
||||
{
|
||||
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
|
||||
int retval = -1;
|
||||
var cmd2 = new SqlCommand("", cn);
|
||||
|
||||
cmd2.CommandText = "select count(*) from Items where name ='" + pumname + "'";
|
||||
var cnt = int.Parse(cmd2.ExecuteScalar().ToString());
|
||||
if (cnt == 0)
|
||||
{
|
||||
DateTime wdate = DateTime.Now;
|
||||
|
||||
if(pic == null)
|
||||
{
|
||||
cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" +
|
||||
"values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)";
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,image,wuid,wdate)" +
|
||||
"values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@image,@wuid,@wdate)";
|
||||
}
|
||||
|
||||
|
||||
|
||||
cmd2.Parameters.Clear();
|
||||
cmd2.Parameters.Add(new SqlParameter("cate", "--"));
|
||||
cmd2.Parameters.Add(new SqlParameter("name", pumname));
|
||||
cmd2.Parameters.Add(new SqlParameter("sid", sid));
|
||||
cmd2.Parameters.Add(new SqlParameter("model", model));
|
||||
cmd2.Parameters.Add(new SqlParameter("scale", 1.0));
|
||||
cmd2.Parameters.Add(new SqlParameter("unit", "EA"));
|
||||
cmd2.Parameters.Add(new SqlParameter("supply", supply));
|
||||
if (pic != null) cmd2.Parameters.Add(new SqlParameter("image", pic));
|
||||
cmd2.Parameters.Add(new SqlParameter("supplyidx", supplyidx));
|
||||
cmd2.Parameters.Add(new SqlParameter("price", price));
|
||||
cmd2.Parameters.Add(new SqlParameter("wuid", FCOMMON.info.Login.no));
|
||||
cmd2.Parameters.Add(new SqlParameter("wdate", wdate));
|
||||
retval += cmd2.ExecuteNonQuery();
|
||||
|
||||
if (retval == 0)
|
||||
{
|
||||
cmd2.CommandText = "select idx from Items where name = @name and sid = @sid and model = @model and wuid = @wuid and wdate = @wdate";
|
||||
retval = int.Parse(cmd2.ExecuteScalar().ToString());
|
||||
}
|
||||
else retval = -1;
|
||||
}
|
||||
|
||||
cmd2.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static List<String> getGroupList(string GroupColumn, string table, string where = "",Boolean desc=false)
|
||||
{
|
||||
List<string> retval = new List<string>();
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select {0} " +
|
||||
" from {1} " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
if (where != "") sql += " and " + where;
|
||||
|
||||
sql += " group by {0} " +
|
||||
" order by {0} ";
|
||||
if (desc) sql += " desc";
|
||||
|
||||
sql = string.Format(sql, "[" + GroupColumn + "]", table);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.Add(rdr[0].ToString());
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static List<String> getDateList(string table, string where = "",Boolean desc =false)
|
||||
{
|
||||
return getGroupList("pdate", table, where,desc);
|
||||
}
|
||||
|
||||
public static int UpdateItemIndexbySID()
|
||||
{
|
||||
int retval = 0;
|
||||
var cn1 = getCn();
|
||||
cn1.Open();
|
||||
|
||||
var cn2 = getCn();
|
||||
cn2.Open();
|
||||
|
||||
var sql = "select idx, " +
|
||||
" isnull(pumname,'') as pumname, " +
|
||||
" isnull([sid],'') as [sid], " +
|
||||
" isnull(pumscale,'') as pummodel, " +
|
||||
" isnull(pumunit,'EA') as pumunit, " +
|
||||
" isnull(pumprice,0) as pumprice, " +
|
||||
" isnull(supply,'') as supply, " +
|
||||
" isnull(supplyidx,-1) as supplyidx" +
|
||||
" from purchase " +
|
||||
" where isnull(sid,'') <> '' and " +
|
||||
" isnull(sid,'') <> '신규'" +
|
||||
" and isnull(pumidx,-1) = -1 " +
|
||||
" and len(sid) = 9" +
|
||||
" and isnull(pumname,'') <> ''";
|
||||
|
||||
var cmd2 = new SqlCommand("", cn2);
|
||||
var cmd = new SqlCommand(sql, cn1);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
var pumname = rdr["pumname"].ToString();
|
||||
var pummodel = rdr["pummodel"].ToString();
|
||||
var pumunit = rdr["pumunit"].ToString();
|
||||
var pumprice = decimal.Parse(rdr["pumprice"].ToString());
|
||||
var supply = rdr["supply"].ToString();
|
||||
var supplyidx = int.Parse(rdr["supplyidx"].ToString());
|
||||
|
||||
var sid = rdr["sid"].ToString();
|
||||
var idx = int.Parse(rdr["idx"].ToString());
|
||||
|
||||
//아이템정보에서 이 sid 가 1개 존재한다면 그것에 연결한다.
|
||||
var sql2 = "select isnull(idx,-1) from Items where [sid] = '"+sid+"'";
|
||||
cmd2.CommandText = sql2;
|
||||
|
||||
var itemdata = cmd2.ExecuteScalar();
|
||||
if(itemdata != null && itemdata.ToString() != "-1")
|
||||
{
|
||||
cmd2.CommandText = "update purchase set pumidx = " + itemdata.ToString() + " where idx=" + idx.ToString();
|
||||
retval += cmd2.ExecuteNonQuery();
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" +
|
||||
"values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)";
|
||||
cmd2.Parameters.Clear();
|
||||
cmd2.Parameters.Add(new SqlParameter("cate", "--"));
|
||||
cmd2.Parameters.Add(new SqlParameter("name", pumname));
|
||||
cmd2.Parameters.Add(new SqlParameter("sid", sid));
|
||||
cmd2.Parameters.Add(new SqlParameter("model", pummodel));
|
||||
cmd2.Parameters.Add(new SqlParameter("scale",1.0));
|
||||
cmd2.Parameters.Add(new SqlParameter("unit", pumunit));
|
||||
cmd2.Parameters.Add(new SqlParameter("supply", supply));
|
||||
cmd2.Parameters.Add(new SqlParameter("supplyidx", supplyidx));
|
||||
cmd2.Parameters.Add(new SqlParameter("price", pumprice));
|
||||
cmd2.Parameters.Add(new SqlParameter("wuid", "dev"));
|
||||
cmd2.Parameters.Add(new SqlParameter("wdate", DateTime.Now));
|
||||
retval += cmd2.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
cmd2.Dispose();
|
||||
cmd.Dispose();
|
||||
cn1.Close();
|
||||
cn1.Dispose();
|
||||
|
||||
cn2.Close();
|
||||
cn2.Dispose();
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user