..
This commit is contained in:
@@ -11,15 +11,25 @@ namespace Project._Management
|
||||
{
|
||||
public partial class fImpEquipment : Form
|
||||
{
|
||||
DataTable dtExcel = new DataTable();
|
||||
|
||||
public fImpEquipment()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.FormClosed += fImpEquipment_FormClosed;
|
||||
}
|
||||
|
||||
void fImpEquipment_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
var form = this as Form;
|
||||
Pub.SetFormStatus(ref form, this.Name, false);
|
||||
}
|
||||
|
||||
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
OpenFileDialog od = new OpenFileDialog();
|
||||
od.Filter = "csv|*.csv|excel|*.xls|all files|*.*";
|
||||
od.Filter = "excel|*.xlsx|all files|*.*";
|
||||
od.InitialDirectory = Util.CurrentPath + "model";
|
||||
od.FilterIndex = 1;
|
||||
od.RestoreDirectory = true;
|
||||
if (od.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
|
||||
@@ -33,9 +43,9 @@ namespace Project._Management
|
||||
int c = 0;
|
||||
System.Text.StringBuilder sb = new StringBuilder();
|
||||
Boolean findCom = false;
|
||||
foreach(var ch in charlist)
|
||||
foreach (var ch in charlist)
|
||||
{
|
||||
if(ch == '"')
|
||||
if (ch == '"')
|
||||
{
|
||||
if (findCom == false)
|
||||
findCom = true;
|
||||
@@ -43,7 +53,7 @@ namespace Project._Management
|
||||
}
|
||||
else if (ch == ',')
|
||||
{
|
||||
if(findCom)
|
||||
if (findCom)
|
||||
{
|
||||
sb.Append(ch);
|
||||
}
|
||||
@@ -53,7 +63,7 @@ namespace Project._Management
|
||||
sb.Clear();
|
||||
findCom = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else sb.Append(ch);
|
||||
}
|
||||
@@ -62,70 +72,42 @@ namespace Project._Management
|
||||
System.Data.DataTable dt = new DataTable();
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
//데이터를 모두 읽어서 처리한다.
|
||||
|
||||
//엑셀파일을 읽어서 처리한다.
|
||||
if(textBox1.Text.EndsWith("CSV"))
|
||||
libxl.Book book;// = new libxl.BinBook();
|
||||
book = new libxl.XmlBook();
|
||||
book.setKey("Amkor Technology korea, Inc", "windows-282b2b0800c5e0016bb06a6fafjfd6o8");
|
||||
book.load(textBox1.Text);
|
||||
|
||||
var sheet = book.getSheet(0);
|
||||
var MaxRow = sheet.lastRow();
|
||||
var MinRow = sheet.firstRow();
|
||||
List<string> cols = new List<string>();
|
||||
for (int r = MinRow; r <= MaxRow; r++)
|
||||
{
|
||||
var lines = System.IO.File.ReadAllLines(textBox1.Text, System.Text.Encoding.Default);
|
||||
int rowNum = 0;
|
||||
foreach(var line in lines)
|
||||
DataRow dr = null;
|
||||
if (r > 0) dr = dtExcel.NewRow();
|
||||
|
||||
for (int c = sheet.firstCol(); c <= sheet.lastCol(); c++)
|
||||
{
|
||||
var buf = getCSVFormat(line);//.Split(',');
|
||||
if(rowNum == 0)
|
||||
var strVallue = sheet.readStr(r, c);
|
||||
if (r == 0)
|
||||
{
|
||||
foreach(var colname in buf)
|
||||
{
|
||||
dt.Columns.Add(colname);
|
||||
}
|
||||
cols.Add(strVallue);
|
||||
this.dtExcel.Columns.Add(strVallue);
|
||||
}
|
||||
else
|
||||
{
|
||||
var newdr = dt.NewRow();
|
||||
for(int c=0; c< buf.Length;c++)
|
||||
{
|
||||
if(c < dt.Columns.Count)
|
||||
newdr[c] = buf[c];
|
||||
|
||||
}
|
||||
dt.Rows.Add(newdr);
|
||||
}
|
||||
rowNum += 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
libxl.Book book;// = new libxl.BinBook();
|
||||
if (textBox1.Text.EndsWith("xlsx")) book = new libxl.XmlBook();
|
||||
else book = new libxl.BinBook();
|
||||
|
||||
book.load(textBox1.Text);
|
||||
|
||||
|
||||
var sheet = book.getSheet(0);
|
||||
for (int r = sheet.firstRow(); r <= sheet.lastRow(); r++)
|
||||
{
|
||||
for (int c = sheet.firstCol(); c <= sheet.lastCol(); c++)
|
||||
{
|
||||
var strVallue = sheet.readStr(r, c);
|
||||
// //var numValue = sheet.readNum(r, c);
|
||||
if (r == 0)
|
||||
{
|
||||
//column row
|
||||
dt.Columns.Add(strVallue);
|
||||
}
|
||||
if (!cols[c].isEmpty())
|
||||
dr[cols[c]] = strVallue;
|
||||
}
|
||||
}
|
||||
//
|
||||
book = null;
|
||||
if (dr != null) dtExcel.Rows.Add(dr);
|
||||
}
|
||||
|
||||
this.dataGridView1.DataSource = dt;
|
||||
|
||||
dtExcel.AcceptChanges();
|
||||
//
|
||||
book = null;
|
||||
|
||||
|
||||
|
||||
this.dataGridView1.DataSource = dtExcel;
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
@@ -134,12 +116,12 @@ namespace Project._Management
|
||||
var lineTd = ta.GetData();
|
||||
lineTd.AcceptChanges();
|
||||
//12,13
|
||||
foreach(DataRow dr in dt.Rows)
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
var linecode = dr[12].ToString();
|
||||
var linedesc = dr[13].ToString();
|
||||
var codeDrows = lineTd.Select("code='" + linecode + "'");
|
||||
if(codeDrows.Length == 0)
|
||||
if (codeDrows.Length == 0)
|
||||
{
|
||||
var newdr = lineTd.NewLineCodeRow();
|
||||
newdr.code = linecode;
|
||||
@@ -154,7 +136,7 @@ namespace Project._Management
|
||||
{
|
||||
newdr.team = linedesc;
|
||||
}
|
||||
|
||||
|
||||
newdr.wuid = Pub.Login.no;
|
||||
newdr.wdate = DateTime.Now;
|
||||
lineTd.AddLineCodeRow(newdr);
|
||||
@@ -163,40 +145,130 @@ namespace Project._Management
|
||||
ta.Update(lineTd);
|
||||
lineTd.AcceptChanges();
|
||||
Util.MsgE("test");
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
dsMSSQLTableAdapters.EquipmentTableAdapter ta = new dsMSSQLTableAdapters.EquipmentTableAdapter();
|
||||
var lineTd = ta.GetData();
|
||||
lineTd.AcceptChanges();
|
||||
//12,13
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
if(radB.Checked==false && radE.Checked==false && radF.Checked==false)
|
||||
{
|
||||
Util.MsgE("파일형태를 선택하세요(bump/bold&eol/fol)");
|
||||
return;
|
||||
}
|
||||
|
||||
//라인코드를 읽어서 값을 기록해준다.
|
||||
var taLine = new dsMSSQLTableAdapters.LineCodeTableAdapter();
|
||||
var lineTd = taLine.GetData();
|
||||
lineTd.AcceptChanges();
|
||||
|
||||
var dateStr = this.dateTimePicker1.Value.ToShortDateString();
|
||||
|
||||
|
||||
DataTable dt = null;
|
||||
if (radB.Checked) dt = new dsEQ.EquipmentBDataTable();
|
||||
else if (radE.Checked) dt = new dsEQ.EquipmentMEDataTable();
|
||||
else dt = new dsEQ.EquipmentFDataTable();
|
||||
|
||||
this.progressBar1.Value = 0;
|
||||
this.progressBar1.Maximum = dtExcel.Rows.Count;
|
||||
|
||||
//12,13
|
||||
foreach (DataRow dr in dtExcel.Rows)
|
||||
{
|
||||
this.progressBar1.Value +=1;
|
||||
|
||||
var linecode = dr[12].ToString();
|
||||
var linedesc = dr[13].ToString();
|
||||
var codeDrows = lineTd.Select("asset='" + dr[6].ToString() + "' and serial = '"+ dr[7].ToString() +"'");
|
||||
if (codeDrows.Length == 0)
|
||||
var lineT = string.Empty;
|
||||
var lineP = string.Empty;
|
||||
|
||||
//없는 라인코드는 추가
|
||||
var lineDrows = lineTd.Select("code='" + linecode + "'");
|
||||
if (lineDrows.Length == 0)
|
||||
{
|
||||
var newdr = lineTd.NewEquipmentRow();
|
||||
newdr.pdate = DateTime.Now.ToShortDateString();
|
||||
newdr.asset = dr[6].ToString();
|
||||
newdr.grp = dr[0].ToString();
|
||||
newdr.type = dr[2].ToString();
|
||||
newdr.model = dr[3].ToString();
|
||||
newdr.linecode = linecode;
|
||||
newdr.serial = dr[7].ToString();
|
||||
newdr.manu = dr[9].ToString();
|
||||
newdr.primary = true;
|
||||
newdr.wuid = Pub.Login.no;
|
||||
newdr.wdate = DateTime.Now;
|
||||
lineTd.AddEquipmentRow(newdr);
|
||||
var linebuf = linedesc.Split('-');
|
||||
if (linebuf.Length > 1)
|
||||
{
|
||||
lineT = linebuf[0];
|
||||
lineP = linebuf[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
lineT = linedesc;
|
||||
lineP = string.Empty;
|
||||
}
|
||||
|
||||
|
||||
var newli = lineTd.NewLineCodeRow();
|
||||
newli.code = linecode;
|
||||
newli.team = lineT;
|
||||
newli.part = lineP;
|
||||
newli.memo = linedesc;
|
||||
newli.except = false;
|
||||
newli.wuid = Pub.Login.no;
|
||||
newli.wdate = DateTime.Now;
|
||||
lineTd.AddLineCodeRow(newli);
|
||||
}
|
||||
else
|
||||
{
|
||||
var lineDr = lineDrows[0] as dsMSSQL.LineCodeRow;
|
||||
lineT = lineDr.team;
|
||||
lineP = lineDr.part;
|
||||
}
|
||||
|
||||
//데이터추가
|
||||
var newdr = dt.NewRow();
|
||||
newdr["pdate"] = dateTimePicker1.Value.ToShortDateString();
|
||||
newdr["asset"] = dr[6].ToString();
|
||||
newdr["grp"] = dr[0].ToString();
|
||||
newdr["type"] = dr[2].ToString();
|
||||
newdr["model"] = dr[3].ToString();
|
||||
newdr["linecode"] = linecode;
|
||||
newdr["lineT"] = lineT;
|
||||
newdr["lineP"] = lineP;
|
||||
newdr["serial"] = dr[7].ToString();
|
||||
newdr["manu"] = dr[9].ToString();
|
||||
newdr["primary"] = true;
|
||||
newdr["wuid"] = Pub.Login.no;
|
||||
newdr["wdate"] = DateTime.Now;
|
||||
newdr["except"] = false;
|
||||
newdr["memo"] = string.Empty;
|
||||
if (radB.Checked) newdr["param1"] = "8\"";
|
||||
else newdr["param1"] = string.Empty;
|
||||
dt.Rows.Add(newdr);
|
||||
}
|
||||
ta.Update(lineTd);
|
||||
|
||||
taLine.Update(lineTd);
|
||||
lineTd.AcceptChanges();
|
||||
|
||||
if(radE.Checked)
|
||||
{
|
||||
var taE = new dsEQTableAdapters.EquipmentMETableAdapter();
|
||||
taE.DeleteData(dateStr);
|
||||
taE.Update((dsEQ.EquipmentMEDataTable)dt);
|
||||
}
|
||||
else if (radF.Checked)
|
||||
{
|
||||
var taF = new dsEQTableAdapters.EquipmentFTableAdapter();
|
||||
taF.DeleteData(dateStr);
|
||||
taF.Update((dsEQ.EquipmentFDataTable)dt);
|
||||
}
|
||||
else
|
||||
{
|
||||
var taB = new dsEQTableAdapters.EquipmentBTableAdapter();
|
||||
taB.DeleteData(dateStr);
|
||||
taB.Update((dsEQ.EquipmentBDataTable)dt);
|
||||
}
|
||||
dt.AcceptChanges();
|
||||
Util.MsgE("test");
|
||||
}
|
||||
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
var form = this as Form;
|
||||
Pub.SetFormStatus(ref form, this.Name , true);
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user