public void addWorkListHeads(List <TrackNoCustomRelation> TrackNoCustomRelationList, bool isGood, ref Dictionary <string, string> materialbomDic) { foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { WorkOrderHead init1 = new WorkOrderHead(); init1.wo_no = trackTemp.trackno; init1.wo_date = Untils.getCustomDate(trackTemp.date); init1.goods_nature = "E"; //if (isGood) //{ string temp = trackTemp.custom_materialNo; if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp;//此处要区分对待, 如果良品入库要用正常料号,不良品入库用71料号,之前已经改过,这里直接使用 //} //else //{ // init1.cop_g_no = materialbomDic[trackTemp.custom_materialNo]; //} init1.qty = "1"; init1.unit = Untils.getCustomCode(trackTemp.declare_unit); init1.emo_no = ems_no; workOrderHeadList.Add(init1); } }
public void addWorkListHeads(List <TrackNoCustomRelation> TrackNoCustomRelationList) { foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { WorkOrderHead init1 = new WorkOrderHead(); init1.wo_no = trackTemp.trackno; init1.wo_date = Untils.getCustomDate(trackTemp.date); init1.goods_nature = "E"; init1.cop_g_no = trackTemp.custom_materialNo; init1.qty = "1"; init1.unit = Untils.getCustomCode(trackTemp.declare_unit); init1.emo_no = ems_no; workOrderHeadList.Add(init1); } }
//Microsoft.Office.Interop.Excel.Application app = null;// new Microsoft.Office.Interop.Excel.Application(); //Microsoft.Office.Interop.Excel.Workbooks wbs = null;// app.Workbooks; private void uploadExcelButton_Click(object sender, EventArgs e) { //Dictionary<string, string> realMaterialNum = new Dictionary<string, string>(); //解析xml,并把所以的料号与数量对上,其他类似之前的做法 //try //{ // app = new Microsoft.Office.Interop.Excel.Application(); // wbs = app.Workbooks; // Microsoft.Office.Interop.Excel.Workbook wb = wbs.Open(pathTextBox.Text, 0, false, 5, string.Empty, string.Empty, // false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, // string.Empty, true, false, 0, true, 1, 0); // app.DisplayAlerts = false; // Microsoft.Office.Interop.Excel.Worksheet ws = wb.Worksheets["Sheet1"]; // int rowLength = ws.UsedRange.Rows.Count; // int columnLength = ws.UsedRange.Columns.Count; // for (int i = 2; i <= rowLength; i++) // { // string mpn = "", number = ""; // //有可能有空值 // mpn = ((Microsoft.Office.Interop.Excel.Range)ws.Cells[i, 1]).Value2.ToString(); // number = ((Microsoft.Office.Interop.Excel.Range)ws.Cells[i, 6]).Value2.ToString(); // if (mpn.Trim() == "" || number.Trim() == "") // { // MessageBox.Show("数量或料号有空值"); // break; // } // realMaterialNum.Add(mpn.Trim(), number.Trim()); // } //}catch(Exception ex) //{ // MessageBox.Show(ex.ToString()); //} //finally //{ // closeAndKillApp(); //} //下面把内容按之前的方式生成 DateTime time1 = Convert.ToDateTime(this.dateTimePickerstart.Value.Date.ToString("yyyy/MM/dd")); DateTime time2 = Convert.ToDateTime(this.dateTimePickerend.Value.Date.ToString("yyyy/MM/dd")); if (DateTime.Compare(time1, time2) > 0) //判断日期大小 { MessageBox.Show("开始日期大于结束"); return; } string startTime = this.dateTimePickerstart.Value.ToString("yyyy/MM/dd"); string endTime = this.dateTimePickerend.Value.ToString("yyyy/MM/dd"); OpeningStockClass openingstock = new OpeningStockClass(); List <StoreInit> storeInitList = new List <StoreInit>(); List <StockCheck> StockCheckList = new List <StockCheck>(); string seq_no = DateTime.Now.ToString("yyyyMMdd") + "2005" + "1"; //日期+类型+序号 string boxtype = "2005"; //代码 string flowstateg = ""; string trade_code = ""; string ems_no = ""; string status = "A"; try { SqlConnection mConn = new SqlConnection(Constlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; //查询71bom Dictionary <string, string> _71bomDic = new Dictionary <string, string>(); Dictionary <string, string> _71bomDescribeDic = new Dictionary <string, string>();//料号与描述对应 cmd.CommandText = "select distinct material_mpn,material_vendor_pn,_description from LCFC71BOM_table"; SqlDataReader querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (_71bomDic.ContainsKey(querySdr[0].ToString().Trim()) == false) { _71bomDic.Add(querySdr[0].ToString().Trim(), querySdr[1].ToString().Trim()); } if (_71bomDescribeDic.ContainsKey(querySdr[0].ToString().Trim()) == false) { _71bomDescribeDic.Add(querySdr[0].ToString().Trim(), querySdr[2].ToString().Trim()); } } querySdr.Close(); //查询物料对照表 Dictionary <string, string> materialbomDic = new Dictionary <string, string>(); cmd.CommandText = "select distinct custommaterialNo,vendormaterialNo from MBMaterialCompare"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (materialbomDic.ContainsKey(querySdr[0].ToString().Trim()) == false) { materialbomDic.Add(querySdr[0].ToString().Trim(), querySdr[1].ToString().Trim()); } } querySdr.Close(); cmd.CommandText = "select indentifier, book_number from company_fixed_table"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { trade_code = querySdr[0].ToString(); ems_no = querySdr[1].ToString(); } querySdr.Close(); Dictionary <string, int> receiveOrderDic = new Dictionary <string, int>(); //1 从收货表中查询信息 cmd.CommandText = "select custom_materialNo, receivedNum,returnNum,cid_number from receiveOrder where _status !='return'"; querySdr = cmd.ExecuteReader(); int receiveNum = 0, returnNum = 0, cidNum = 0; while (querySdr.Read()) { receiveNum = Int32.Parse(querySdr[1].ToString()); try { returnNum = Int32.Parse(querySdr[2].ToString()); } catch (Exception ex) { returnNum = 0; } try { cidNum = Int32.Parse(querySdr[3].ToString()); } catch (Exception ex) { cidNum = 0; } if (receiveOrderDic.ContainsKey(querySdr[0].ToString())) { //加上原来的数量 receiveOrderDic[querySdr[0].ToString()] = receiveOrderDic[querySdr[0].ToString()] + receiveNum - returnNum - cidNum; } else { receiveOrderDic.Add(querySdr[0].ToString(), receiveNum - returnNum - cidNum); } } querySdr.Close(); foreach (KeyValuePair <string, int> kvp in receiveOrderDic) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string temp = kvp.Key; if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp; //维修的板子,使用客户料号 init1.qty = kvp.Value.ToString(); init1.unit = "007"; //固定单位 init1.goods_nature = "I"; //代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); } //2 读取良品库房信息 Dictionary <string, string> mpn_unit = new Dictionary <string, string>(); cmd.CommandText = "select distinct mpn,declare_unit from stock_in_sheet where mpn !=''"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (mpn_unit.ContainsKey(querySdr[0].ToString()) == false) { mpn_unit.Add(querySdr[0].ToString(), querySdr[1].ToString()); } } querySdr.Close(); cmd.CommandText = "select mpn, number,house,place from store_house where mpn !='' and number !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string currentDeclear = ""; bool isMB = false; if (_71bomDic.ContainsKey(querySdr[0].ToString())) { currentDeclear = _71bomDic[querySdr[0].ToString()]; } else if (currentDeclear == "") { currentDeclear = querySdr[0].ToString();//buffer主板直接用71料号存储的 if (currentDeclear.Length == 10 && currentDeclear.StartsWith("000")) { currentDeclear = currentDeclear.Substring(3); isMB = true; } } init1.cop_g_no = currentDeclear;//因为报关原因,需要改成71料号(联想料号)TODO,包括材料与买的MB,物料对照表与71bom init1.qty = querySdr[1].ToString(); try { init1.unit = Untils.getCustomCode(mpn_unit[querySdr[0].ToString()]); } catch (Exception ex) { init1.unit = "007"; } init1.goods_nature = "I";//代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); } querySdr.Close(); //3 读取MB/SMT/BGA不良品信息,此处的MB是由CID过来的,所以直接用原始料号即可 cmd.CommandText = "select mpn, number,house,place from store_house_ng where mpn !='' and number !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string currentDeclear = ""; bool isMB = false; if (_71bomDic.ContainsKey(querySdr[0].ToString())) { currentDeclear = _71bomDic[querySdr[0].ToString()] + "-1";//海关要求料号不一样,加-1 } else if (currentDeclear == "") { currentDeclear = querySdr[0].ToString();//buffer主板直接用71料号存储的 if (currentDeclear.Length == 10 && currentDeclear.StartsWith("000")) { currentDeclear = currentDeclear.Substring(3); isMB = true; } } init1.cop_g_no = currentDeclear;//因为报关原因,需要改成71料号(联想料号)TODO init1.qty = querySdr[1].ToString(); try { init1.unit = Untils.getCustomCode(mpn_unit[querySdr[0].ToString()]); } catch (Exception ex) { init1.unit = "007"; } init1.goods_nature = "I";//代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); } querySdr.Close(); //3-1 读取MB Buffer不良品信息,此处的MB是由良品库过来的,所以直接用原始料号71即可 cmd.CommandText = "select mpn, number,house,place from store_house_ng_buffer_mb where mpn !='' and number !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string currentDeclear = querySdr[0].ToString().Trim(); init1.cop_g_no = currentDeclear;//因为报关原因,需要改成71料号(联想料号)TODO init1.qty = querySdr[1].ToString(); try { init1.unit = Untils.getCustomCode(mpn_unit[querySdr[0].ToString()]); } catch (Exception ex) { init1.unit = "007"; } init1.goods_nature = "I";//代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); } querySdr.Close(); //4 读取MB待维修库信息 cmd.CommandText = "select custom_materialNo,leftNumber from wait_repair_left_house_table where leftNumber !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string temp = querySdr[0].ToString(); if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp; //正常使用客户料号 init1.qty = querySdr[1].ToString(); init1.unit = "007"; //固定单位 init1.goods_nature = "I"; //代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); } querySdr.Close(); //5 读取MB良品库信息 cmd.CommandText = "select custom_materialNo, leftNumber from repaired_left_house_table where leftNumber !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string temp = querySdr[0].ToString(); if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp; //正常使用客户料号 init1.qty = querySdr[1].ToString(); init1.unit = "007"; //固定单位 init1.goods_nature = "I"; //代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); } querySdr.Close(); mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } openingstock.seq_no = seq_no; openingstock.boxtype = boxtype; openingstock.flowstateg = flowstateg; openingstock.trade_code = trade_code; openingstock.ems_no = ems_no; openingstock.status = status; openingstock.storeInitList = storeInitList; if (storeInitList.Count > 0) { Untils.createOpeningStockXML(openingstock, "D:\\STORE_INIT" + seq_no + ".xml"); MessageBox.Show("海关期初库存信息产生成功!"); } else { MessageBox.Show("没有期初库存信息!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void exportxmlbutton_Click(object sender, EventArgs e) { DateTime time1 = Convert.ToDateTime(this.dateTimePickerstart.Value.Date.ToString("yyyy/MM/dd")); DateTime time2 = Convert.ToDateTime(this.dateTimePickerend.Value.Date.ToString("yyyy/MM/dd")); if (DateTime.Compare(time1, time2) > 0) //判断日期大小 { MessageBox.Show("开始日期大于结束"); return; } string startTime = this.dateTimePickerstart.Value.ToString("yyyy/MM/dd"); string endTime = this.dateTimePickerend.Value.ToString("yyyy/MM/dd"); OpeningStockClass openingstock = new OpeningStockClass(); List <StoreInit> storeInitList = new List <StoreInit>(); List <StockCheck> StockCheckList = new List <StockCheck>(); string seq_no = DateTime.Now.ToString("yyyyMMdd") + "2005" + "1"; //日期+类型+序号 string boxtype = "2005"; //代码 string flowstateg = ""; string trade_code = ""; string ems_no = ""; string status = "A"; try { SqlConnection mConn = new SqlConnection(Constlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; //查询71bom Dictionary <string, string> _71bomDic = new Dictionary <string, string>(); Dictionary <string, string> _71bomDescribeDic = new Dictionary <string, string>();//料号与描述对应 cmd.CommandText = "select distinct material_mpn,material_vendor_pn,_description from LCFC71BOM_table"; SqlDataReader querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (_71bomDic.ContainsKey(querySdr[0].ToString().Trim()) == false) { _71bomDic.Add(querySdr[0].ToString().Trim(), querySdr[1].ToString().Trim()); } if (_71bomDescribeDic.ContainsKey(querySdr[0].ToString().Trim()) == false) { _71bomDescribeDic.Add(querySdr[0].ToString().Trim(), querySdr[2].ToString().Trim()); } } querySdr.Close(); //查询物料对照表 Dictionary <string, string> materialbomDic = new Dictionary <string, string>(); cmd.CommandText = "select distinct custommaterialNo,vendormaterialNo from MBMaterialCompare"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (materialbomDic.ContainsKey(querySdr[0].ToString().Trim()) == false) { materialbomDic.Add(querySdr[0].ToString().Trim(), querySdr[1].ToString().Trim()); } } querySdr.Close(); cmd.CommandText = "select indentifier, book_number from company_fixed_table"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { trade_code = querySdr[0].ToString(); ems_no = querySdr[1].ToString(); } querySdr.Close(); Dictionary <string, int> receiveOrderDic = new Dictionary <string, int>(); //1 从收货表中查询信息 cmd.CommandText = "select custom_materialNo, receivedNum,returnNum,cid_number from receiveOrder where _status !='return'"; querySdr = cmd.ExecuteReader(); int receiveNum = 0, returnNum = 0, cidNum = 0; while (querySdr.Read()) { receiveNum = Int32.Parse(querySdr[1].ToString()); try { returnNum = Int32.Parse(querySdr[2].ToString()); } catch (Exception ex) { returnNum = 0; } try { cidNum = Int32.Parse(querySdr[3].ToString()); } catch (Exception ex) { cidNum = 0; } if (receiveOrderDic.ContainsKey(querySdr[0].ToString())) { //加上原来的数量 receiveOrderDic[querySdr[0].ToString()] = receiveOrderDic[querySdr[0].ToString()] + receiveNum - returnNum - cidNum; } else { receiveOrderDic.Add(querySdr[0].ToString(), receiveNum - returnNum - cidNum); } } querySdr.Close(); foreach (KeyValuePair <string, int> kvp in receiveOrderDic) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string temp = kvp.Key; if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp; //维修的板子,使用客户料号 init1.qty = kvp.Value.ToString(); init1.unit = "007"; //固定单位 init1.goods_nature = "I"; //代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); StockCheck stockcheck = new StockCheck(); stockcheck.material_no = temp; stockcheck.num = kvp.Value.ToString(); stockcheck.house = "成品之前"; stockcheck.place = ""; stockcheck.describe = "维修中主板"; if (stockcheck.num != "0") { StockCheckList.Add(stockcheck); } } //2 读取良品库房信息 Dictionary <string, string> mpn_unit = new Dictionary <string, string>(); cmd.CommandText = "select distinct mpn,declare_unit from stock_in_sheet where mpn !=''"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (mpn_unit.ContainsKey(querySdr[0].ToString()) == false) { mpn_unit.Add(querySdr[0].ToString(), querySdr[1].ToString()); } } querySdr.Close(); cmd.CommandText = "select mpn, number,house,place from store_house where mpn !='' and number !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string currentDeclear = ""; bool isMB = false; if (_71bomDic.ContainsKey(querySdr[0].ToString())) { currentDeclear = _71bomDic[querySdr[0].ToString()]; } else if (currentDeclear == "") { currentDeclear = querySdr[0].ToString();//buffer主板直接用71料号存储的 if (currentDeclear.Length == 10 && currentDeclear.StartsWith("000")) { currentDeclear = currentDeclear.Substring(3); isMB = true; } } init1.cop_g_no = currentDeclear;//因为报关原因,需要改成71料号(联想料号)TODO,包括材料与买的MB,物料对照表与71bom init1.qty = querySdr[1].ToString(); try { init1.unit = Untils.getCustomCode(mpn_unit[querySdr[0].ToString()]); } catch (Exception ex) { init1.unit = "007"; } init1.goods_nature = "I";//代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); StockCheck stockcheck = new StockCheck(); stockcheck.material_no = isMB ? currentDeclear:querySdr[0].ToString(); stockcheck.num = querySdr[1].ToString(); stockcheck.house = querySdr[2].ToString(); stockcheck.place = querySdr[3].ToString(); if (_71bomDescribeDic.ContainsKey(stockcheck.material_no)) { stockcheck.describe = _71bomDescribeDic[stockcheck.material_no]; } if (stockcheck.num != "0") { StockCheckList.Add(stockcheck); } } querySdr.Close(); //3 读取MB/SMT/BGA不良品信息,此处的MB是由CID过来的,所以直接用原始料号即可 cmd.CommandText = "select mpn, number,house,place from store_house_ng where mpn !='' and number !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string currentDeclear = ""; bool isMB = false; if (_71bomDic.ContainsKey(querySdr[0].ToString())) { currentDeclear = _71bomDic[querySdr[0].ToString()] + "-1";//海关要求料号不一样,加-1 } else if (currentDeclear == "") { currentDeclear = querySdr[0].ToString();//buffer主板直接用71料号存储的 if (currentDeclear.Length == 10 && currentDeclear.StartsWith("000")) { currentDeclear = currentDeclear.Substring(3); isMB = true; } } init1.cop_g_no = currentDeclear;//因为报关原因,需要改成71料号(联想料号)TODO init1.qty = querySdr[1].ToString(); try { init1.unit = Untils.getCustomCode(mpn_unit[querySdr[0].ToString()]); } catch (Exception ex) { init1.unit = "007"; } init1.goods_nature = isMB? "E" :"I";//代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); StockCheck stockcheck = new StockCheck(); stockcheck.material_no = isMB ? currentDeclear : querySdr[0].ToString(); stockcheck.num = querySdr[1].ToString(); stockcheck.house = querySdr[2].ToString(); stockcheck.place = querySdr[3].ToString(); if (_71bomDescribeDic.ContainsKey(stockcheck.material_no)) { stockcheck.describe = _71bomDescribeDic[stockcheck.material_no]; } else { stockcheck.describe = isMB ? "不良品主板" : ""; } stockcheck.material_no += "_1";//区分良品与不良品信息 if (stockcheck.num != "0") { StockCheckList.Add(stockcheck); } } querySdr.Close(); //3-1 读取MB Buffer不良品信息,此处的MB是由良品库过来的,所以直接用原始料号71即可 cmd.CommandText = "select mpn, number,house,place from store_house_ng_buffer_mb where mpn !='' and number !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string currentDeclear = querySdr[0].ToString().Trim(); init1.cop_g_no = currentDeclear;//因为报关原因,需要改成71料号(联想料号)TODO init1.qty = querySdr[1].ToString(); try { init1.unit = Untils.getCustomCode(mpn_unit[querySdr[0].ToString()]); } catch (Exception ex) { init1.unit = "007"; } init1.goods_nature = "E";//代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); StockCheck stockcheck = new StockCheck(); stockcheck.material_no = currentDeclear; stockcheck.num = querySdr[1].ToString(); stockcheck.house = querySdr[2].ToString(); stockcheck.place = querySdr[3].ToString(); if (_71bomDescribeDic.ContainsKey(stockcheck.material_no)) { stockcheck.describe = _71bomDescribeDic[stockcheck.material_no]; } stockcheck.material_no += "_1";//区分良品与不良品信息 if (stockcheck.num != "0") { StockCheckList.Add(stockcheck); } } querySdr.Close(); //4 读取MB待维修库信息 cmd.CommandText = "select custom_materialNo,leftNumber from wait_repair_left_house_table where leftNumber !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string temp = querySdr[0].ToString(); if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp; //正常使用客户料号 init1.qty = querySdr[1].ToString(); init1.unit = "007"; //固定单位 init1.goods_nature = "I"; //代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); StockCheck stockcheck = new StockCheck(); stockcheck.material_no = temp; stockcheck.num = querySdr[1].ToString(); stockcheck.house = "待维修库"; stockcheck.place = ""; stockcheck.describe = "待维修主板"; if (stockcheck.num != "0") { StockCheckList.Add(stockcheck); } } querySdr.Close(); //5 读取MB良品库信息 cmd.CommandText = "select custom_materialNo, leftNumber from repaired_left_house_table where leftNumber !='0'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { StoreInit init1 = new StoreInit(); init1.ems_no = ems_no; string temp = querySdr[0].ToString(); if (temp.Length == 10 && temp.StartsWith("000")) { temp = temp.Substring(3); } init1.cop_g_no = temp; //正常使用客户料号 init1.qty = querySdr[1].ToString(); init1.unit = "007"; //固定单位 init1.goods_nature = "E"; //代码 init1.bom_version = ""; init1.check_date = Untils.getCustomCurrentDate(); init1.date_type = "C";//代码 init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeInitList.Add(init1); StockCheck stockcheck = new StockCheck(); stockcheck.material_no = temp; stockcheck.num = querySdr[1].ToString(); stockcheck.house = "良品库"; stockcheck.place = ""; stockcheck.describe = "维修后良品主板"; if (stockcheck.num != "0") { StockCheckList.Add(stockcheck); } } querySdr.Close(); mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } generateExcelToCheck(StockCheckList); openingstock.seq_no = seq_no; openingstock.boxtype = boxtype; openingstock.flowstateg = flowstateg; openingstock.trade_code = trade_code; openingstock.ems_no = ems_no; openingstock.status = status; openingstock.storeInitList = storeInitList; //导出xml的逻辑变成excel上传了 if (storeInitList.Count > 0) { Untils.createOpeningStockXML(openingstock, "D:\\STORE_INIT" + seq_no + "test.xml"); MessageBox.Show("海关期初库存信息产生成功!"); } else { MessageBox.Show("没有期初库存信息!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void addWorkOrderList() { try { List <MaterialCustomRelation> MaterialCustomRelationList = new List <MaterialCustomRelation>(); SqlConnection mConn = new SqlConnection(Conlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; Dictionary <string, string> bomDict = new Dictionary <string, string>(); cmd.CommandText = "select distinct LNV_PN,LCFC_PN from BOMCompare"; SqlDataReader querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { string key = querySdr[0].ToString().Trim(); if (key != "NULL" && key != "" && bomDict.ContainsKey(key) == false) { bomDict.Add(key, querySdr[1].ToString().Trim()); } } querySdr.Close(); //使用PackDate日期而不是采用维修日期,因为pack的日期确定了全部的使用材料 cmd.CommandText = "select NBID,COVERSN,BRZELSN,UPSN,LOWSN,KBSN,KBUPSN,BatterySN,BatterySN1,RADAPTER,OTHERSN,materials,RepairDate from NBShouLiao where PackDate between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (querySdr[1].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[1].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[2].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[2].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[3].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[3].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[4].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[4].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[5].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[5].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[6].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[6].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[7].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[7].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[8].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[8].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[9].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[9].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[10].ToString().Trim() != "") { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); string temp = querySdr[10].ToString().Trim(); temp = GetPartsNo(temp, 10); if (temp.Length != 11) { temp = bomDict[temp]; } MaterialCustomRelationTemp.mpn = temp; MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } if (querySdr[11].ToString().Trim() != "") { string content = querySdr[11].ToString().Trim(); string[] contentarray = content.Split(':'); Dictionary <string, string> material_num = new Dictionary <string, string>(); foreach (string temp in contentarray) { if (temp.Trim() != "") { material_num.Add(temp.Split(',')[0], temp.Split(',')[1]); } } // HG12S000100,1:HG0SA000I00,1:HG0ZJ000U00,1:HG0SI000E00,1:HG0TX000X00,1:HG0TS000J00,1:HK0SI000600,1:HK0ZQ000100,1:HE12D000100,2:HE169000210,1:HK0TV000100,1:HA105000100,1:HE105000100,1:HB10A000100,1: foreach (string key in material_num.Keys) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); MaterialCustomRelationTemp.mpn = key; MaterialCustomRelationTemp.num = "-" + material_num[key]; MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.date = querySdr[12].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } } } querySdr.Close(); foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { WorkOrderList init1 = new WorkOrderList(); init1.wo_no = materialTemp.id; init1.take_date = Untils.getCustomDate(materialTemp.date); init1.goods_nature = "I"; init1.cop_g_no = materialTemp.mpn; init1.qty = materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.emo_no = ems_no; workOrderList.Add(init1); } mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void exportxmlbutton_Click(object sender, EventArgs e) { DateTime time1 = Convert.ToDateTime(this.dateTimePickerstart.Value.Date.ToString("yyyy/MM/dd")); DateTime time2 = Convert.ToDateTime(this.dateTimePickerend.Value.Date.ToString("yyyy/MM/dd")); if (DateTime.Compare(time1, time2) > 0) //判断日期大小 { MessageBox.Show("开始日期大于结束"); return; } for (DateTime dt = time1; dt <= time2; dt = dt.AddDays(1)) { //MessageBox.Show(dt.ToString("yyyy/MM/dd")); //生成每天的数据 string startTime = dt.ToString("yyyy/MM/dd"); string endTime = dt.ToString("yyyy/MM/dd"); StockInOutClass stockinout = new StockInOutClass(); List <StoreTrans> storeTransList = new List <StoreTrans>(); GenerateWorkOrderHead generateWorkOrderHead = null; GenerateWorkOrderBody generateWorkOrderBody = null; string seq_no = dt.ToString("yyyyMMdd") + "4001" + "02"; //日期+类型,后面需要加入序号信息01代表维修, 02代表整机 string boxtype = "4001"; //代码 string flowstateg = ""; string trade_code = ""; string ems_no = ""; trade_code = "3401560011"; ems_no = "H33138000002"; string status = "A"; try { SqlConnection mConn = new SqlConnection(Conlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; generateWorkOrderHead = new GenerateWorkOrderHead(trade_code, ems_no, dt); generateWorkOrderBody = new GenerateWorkOrderBody(trade_code, ems_no, dt); Dictionary <string, string> nameDir = new Dictionary <string, string>(); cmd.CommandText = "select distinct SKU_LNO,SKU_NO from BOMCompare"; SqlDataReader querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { if (nameDir.ContainsKey(querySdr[0].ToString().Trim()) == false) { nameDir.Add(querySdr[0].ToString().Trim(), querySdr[1].ToString().Trim()); } } querySdr.Close(); //1 整机待维修入库 List <TrackNoCustomRelation> TrackNoCustomRelationList = new List <TrackNoCustomRelation>(); cmd.CommandText = "select NBID,SKU,declearNumber,receiveDate from NBShouLiao where receiveDate between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { TrackNoCustomRelation TrackNoCustomRelationTemp = new TrackNoCustomRelation(); TrackNoCustomRelationTemp.trackno = querySdr[0].ToString(); TrackNoCustomRelationTemp.custom_materialNo = nameDir[querySdr[1].ToString()];//正常使用客户料号 TrackNoCustomRelationTemp.declare_number = querySdr[2].ToString(); TrackNoCustomRelationTemp.date = querySdr[3].ToString(); TrackNoCustomRelationTemp.declare_unit = "台"; TrackNoCustomRelationList.Add(TrackNoCustomRelationTemp); } querySdr.Close(); if (TrackNoCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = trackTemp.trackno; init1.goods_nature = "I"; init1.io_date = Untils.getCustomDate(trackTemp.date); init1.cop_g_no = trackTemp.custom_materialNo; init1.qty = "1"; init1.unit = Untils.getCustomCode(trackTemp.declare_unit); init1.type = "I0002"; init1.chk_code = ""; init1.entry_id = trackTemp.declare_number; init1.gatejob_no = ""; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeTransList.Add(init1); } } //2 整机待维修出库信息,复用上面的信息 if (TrackNoCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = trackTemp.trackno; init1.goods_nature = "I"; init1.io_date = Untils.getCustomDate(trackTemp.date); init1.cop_g_no = trackTemp.custom_materialNo;//正常使用客户料号 init1.qty = "-1"; init1.unit = Untils.getCustomCode(trackTemp.declare_unit); init1.type = "E0003";//其他出库 init1.chk_code = ""; init1.entry_id = ""; init1.gatejob_no = ""; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeTransList.Add(init1); } } ////根据序列号查询Sku料号 //cmd.CommandText = "select SKU from NBShouLiao where NBSerial='" + NBSerial + "'"; //querySdr = cmd.ExecuteReader(); //string relatedSku = ""; //while (querySdr.Read()) //{ // relatedSku = querySdr[0].ToString(); // break; //} //querySdr.Close(); //3 整机良品入库信息 TrackNoCustomRelationList.Clear(); cmd.CommandText = "select NBID,NBSerial,rukudate from OUTNBRUKU where rukudate between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { TrackNoCustomRelation TrackNoCustomRelationTemp = new TrackNoCustomRelation(); TrackNoCustomRelationTemp.trackno = querySdr[0].ToString(); TrackNoCustomRelationTemp.custom_materialNo = nameDir[querySdr[1].ToString().Substring(2, 10)];//正常使用客户料号 TrackNoCustomRelationTemp.date = querySdr[2].ToString(); TrackNoCustomRelationTemp.declare_unit = "台"; TrackNoCustomRelationList.Add(TrackNoCustomRelationTemp); } querySdr.Close(); //转换从NBSerial转成SKU foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { cmd.CommandText = "select SKU from NBShouLiao where NBSerial='" + trackTemp.trackno + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { trackTemp.custom_materialNo = nameDir[querySdr[0].ToString()];//转换为海关料号 } querySdr.Close(); } if (TrackNoCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = trackTemp.trackno; init1.goods_nature = "E"; //成品 init1.io_date = Untils.getCustomDate(trackTemp.date); init1.cop_g_no = trackTemp.custom_materialNo; //正常使用客户料号 init1.qty = "1"; init1.unit = Untils.getCustomCode(trackTemp.declare_unit); init1.type = "I0003"; init1.chk_code = ""; init1.entry_id = ""; init1.gatejob_no = ""; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; // storeTransList.Add(init1); } generateWorkOrderHead.addWorkListHeads(TrackNoCustomRelationList); } //4. 整机良品出库,复用上面的信息,TODO 方案是采用excel上传的方式,比对条形码,料号,保证是今天上传的数据,然后读取上传的数据生成良品出库报文 TrackNoCustomRelationList.Clear(); cmd.CommandText = "select track_serial_no,custom_materialNo,declare_number,input_date from repaired_out_house_excel_table where input_date between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { TrackNoCustomRelation TrackNoCustomRelationTemp = new TrackNoCustomRelation(); TrackNoCustomRelationTemp.trackno = querySdr[0].ToString(); TrackNoCustomRelationTemp.custom_materialNo = nameDir[querySdr[1].ToString()] ; //正常使用客户料号 TrackNoCustomRelationTemp.declare_number = querySdr[2].ToString(); TrackNoCustomRelationTemp.date = querySdr[3].ToString(); TrackNoCustomRelationTemp.declare_unit = "台"; TrackNoCustomRelationList.Add(TrackNoCustomRelationTemp); } querySdr.Close(); if (TrackNoCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (TrackNoCustomRelation trackTemp in TrackNoCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = trackTemp.trackno; init1.goods_nature = "E"; init1.io_date = Untils.getCustomDate(trackTemp.date); init1.cop_g_no = trackTemp.custom_materialNo;//正常使用客户料号 init1.qty = "-1"; init1.unit = Untils.getCustomCode(trackTemp.declare_unit); init1.type = "E0002";//报关出库 init1.chk_code = ""; init1.entry_id = trackTemp.declare_number; init1.gatejob_no = ""; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeTransList.Add(init1); } } List <MaterialCustomRelation> MaterialCustomRelationList = new List <MaterialCustomRelation>(); //5 原材料入库 信息,todo 牵扯到区内流程的材料,只有申请单号,没有报关单号,todo, 也有报关单号的 cmd.CommandText = "select Id,partsno,qty,rukudate,delearNo from RuKu where rukudate between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); MaterialCustomRelationTemp.mpn = querySdr[1].ToString(); MaterialCustomRelationTemp.num = querySdr[2].ToString(); MaterialCustomRelationTemp.date = querySdr[3].ToString(); MaterialCustomRelationTemp.custom_request_number = querySdr[4].ToString(); MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.type = "I0001"; MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } querySdr.Close(); if (MaterialCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = materialTemp.id; init1.goods_nature = "I"; init1.io_date = Untils.getCustomDate(materialTemp.date); init1.cop_g_no = materialTemp.mpn;//因为报关原因,需要改成71料号(联想料号)->上面已经修改 init1.qty = materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.type = materialTemp.type; init1.chk_code = ""; init1.entry_id = ""; init1.gatejob_no = materialTemp.custom_request_number; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeTransList.Add(init1); } } //6 原材料出库 MaterialCustomRelationList.Clear(); cmd.CommandText = "select Id,partsno,qty,chukudate from ChuKu where chukudate between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); MaterialCustomRelationTemp.mpn = querySdr[1].ToString(); MaterialCustomRelationTemp.num = querySdr[2].ToString(); MaterialCustomRelationTemp.date = querySdr[3].ToString(); MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } querySdr.Close(); if (MaterialCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = materialTemp.id; init1.goods_nature = "I"; init1.io_date = Untils.getCustomDate(materialTemp.date); init1.cop_g_no = materialTemp.mpn; init1.qty = "-" + materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.type = "E0003"; init1.chk_code = ""; init1.entry_id = ""; init1.gatejob_no = ""; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; // storeTransList.Add(init1); } } //6 不良品材料入库 MaterialCustomRelationList.Clear(); cmd.CommandText = "select Id,materialNo,number,input_date from materialNgHouseRecord where input_date between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); MaterialCustomRelationTemp.mpn = querySdr[1].ToString(); MaterialCustomRelationTemp.num = querySdr[2].ToString(); MaterialCustomRelationTemp.date = querySdr[3].ToString(); MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } querySdr.Close(); if (MaterialCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = materialTemp.id; init1.goods_nature = "I"; init1.io_date = Untils.getCustomDate(materialTemp.date); init1.cop_g_no = materialTemp.mpn; init1.qty = materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.type = "I0003"; init1.chk_code = ""; init1.entry_id = ""; init1.gatejob_no = ""; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; // storeTransList.Add(init1); } } //6 不良品材料报关出库 MaterialCustomRelationList.Clear(); cmd.CommandText = "select Id,mpn,in_number,input_date,declare_unit,declare_number,custom_request_number from ng_out_house_table where input_date between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); MaterialCustomRelationTemp.mpn = querySdr[1].ToString(); MaterialCustomRelationTemp.num = querySdr[2].ToString(); MaterialCustomRelationTemp.date = querySdr[3].ToString(); MaterialCustomRelationTemp.declare_unit = "个"; MaterialCustomRelationTemp.declare_number = querySdr[5].ToString(); MaterialCustomRelationTemp.custom_request_number = querySdr[6].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } querySdr.Close(); if (MaterialCustomRelationList.Count > 0) { //信息完全,生成信息 foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { StoreTrans init1 = new StoreTrans(); init1.ems_no = ems_no; init1.io_no = materialTemp.id; init1.goods_nature = "I"; init1.io_date = Untils.getCustomDate(materialTemp.date); init1.cop_g_no = materialTemp.mpn; init1.qty = "-" + materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.type = "E0002"; init1.chk_code = ""; init1.entry_id = materialTemp.declare_number; init1.gatejob_no = materialTemp.custom_request_number; init1.whs_code = ""; init1.location_code = ""; init1.note = ""; storeTransList.Add(init1); } } mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } stockinout.seq_no = seq_no; stockinout.boxtype = boxtype; stockinout.flowstateg = flowstateg; stockinout.trade_code = trade_code; stockinout.ems_no = ems_no; stockinout.status = status; stockinout.storeTransList = storeTransList; if (storeTransList.Count > 0)//没有数据就不产生文件 { Untils.createStockInOutXML(stockinout, "D:\\WO_HCHX" + seq_no + ".xml"); MessageBox.Show(dt.ToString("yyyyMMdd") + "海关出入库信息产生成功!"); } else { MessageBox.Show(dt.ToString("yyyyMMdd") + "没有出入库信息!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (generateWorkOrderHead != null) { generateWorkOrderHead.doGenerate(); } if (generateWorkOrderBody != null) { generateWorkOrderBody.addWorkOrderList(); generateWorkOrderBody.doGenerate(); } } }
public void addWorkOrderList(List <TrackNoCustomRelation> TrackNoCustomRelationList, ref Dictionary <string, string> _71bomDic) { try { List <MaterialCustomRelation> MaterialCustomRelationList = new List <MaterialCustomRelation>(); SqlConnection mConn = new SqlConnection(Constlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; //for smt材料 cmd.CommandText = "select track_serial_no, material_mpn,thisNumber,input_date from fru_smt_used_record where input_date between '" + startTime + "' and '" + endTime + "'"; SqlDataReader querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); if (_71bomDic.ContainsKey(querySdr[1].ToString()) == false) { MessageBox.Show(querySdr[1].ToString() + "在bom表中不存在!"); } MaterialCustomRelationTemp.mpn = _71bomDic[querySdr[1].ToString()]; //因为报关原因,需要改成71料号(联想料号)done MaterialCustomRelationTemp.num = "-" + querySdr[2].ToString(); //海关要求表体为负数 MaterialCustomRelationTemp.date = querySdr[3].ToString(); MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } querySdr.Close(); if (MaterialCustomRelationList.Count > 0) { foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { cmd.CommandText = "select declare_unit from stock_in_sheet where mpn ='" + materialTemp.mpn + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { materialTemp.declare_unit = querySdr[0].ToString(); break;//只取一次信息即可 } querySdr.Close(); } } foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { WorkOrderList init1 = new WorkOrderList(); init1.wo_no = materialTemp.id; init1.take_date = Untils.getCustomDate(materialTemp.date); init1.goods_nature = "I"; init1.cop_g_no = materialTemp.mpn;//因为报关原因,需要改成71料号(联想料号)done init1.qty = materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.emo_no = ems_no; workOrderList.Add(init1); } //for bga材料 MaterialCustomRelationList.Clear(); cmd.CommandText = "select track_serial_no,BGAPN,repair_date from bga_repair_record_table where bga_repair_result!='BGA待换' and bga_repair_date between '" + startTime + "' and '" + endTime + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { MaterialCustomRelation MaterialCustomRelationTemp = new MaterialCustomRelation(); MaterialCustomRelationTemp.id = querySdr[0].ToString(); if (_71bomDic.ContainsKey(querySdr[1].ToString()) == false) { MessageBox.Show(querySdr[1].ToString() + "在bom表中不存在!"); } MaterialCustomRelationTemp.mpn = _71bomDic[querySdr[1].ToString()];//因为报关原因,需要改成71料号(联想料号)done MaterialCustomRelationTemp.date = querySdr[2].ToString(); MaterialCustomRelationTemp.num = "-1"; MaterialCustomRelationList.Add(MaterialCustomRelationTemp); } querySdr.Close(); if (MaterialCustomRelationList.Count > 0) { foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { cmd.CommandText = "select declare_unit from stock_in_sheet where mpn ='" + materialTemp.mpn + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { materialTemp.declare_unit = querySdr[0].ToString(); break;//只取一次信息即可 } querySdr.Close(); } } foreach (MaterialCustomRelation materialTemp in MaterialCustomRelationList) { WorkOrderList init1 = new WorkOrderList(); init1.wo_no = materialTemp.id; init1.take_date = Untils.getCustomDate(materialTemp.date); init1.goods_nature = "I"; init1.cop_g_no = materialTemp.mpn;//因为报关原因,需要改成71料号(联想料号)done init1.qty = materialTemp.num; init1.unit = Untils.getCustomCode(materialTemp.declare_unit); init1.emo_no = ems_no; workOrderList.Add(init1); } mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }