This commit is contained in:
chikyun.kim
2018-09-14 17:40:26 +09:00
parent 695d53aae7
commit 6cdd8d4c03
49 changed files with 10960 additions and 2165 deletions

View File

@@ -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();
}
}
}