private void btn_Update_Click(object sender, EventArgs e) { DateTime dt1 = Convert.ToDateTime(dateTimePicker1.Text); DateTime dt = dt1.AddDays(1); string strSql = "SELECT DISTINCT b.O_SecGoodsCode,b.O_SecGoodsName FROM Mes_OrgResHead AS a LEFT JOIN dbo.Mes_OrgResDetail AS b ON a.O_OrgResNo = b.O_OrgResNo WHERE a.O_StockCode = '" + Globels.strStockCode + "' AND a.O_UploadDate > '" + dt1 + "' and a.O_UploadDate < '" + dt + "'"; DataSet ds = new DataSet(); Mes_ConvertBLL ConvertBLL = new Mes_ConvertBLL(); ds = ConvertBLL.GetList(strSql); //cmbGoodsName.Items.Clear(); listView1.Items.Clear(); int nLen = ds.Tables[0].Rows.Count; this.listView1.BeginUpdate(); for (int i = 0; i < nLen; i++) { //cmbGoodsName.Items.Add(ds.Tables[0].Rows[i]["O_SecGoodsName"].ToString()); //DateTime dt = DateTime.Now.Date.AddDays(-1); strSql = "SELECT SUM(O_Qty) as O_Qty,SUM(O_SecQty) as O_SecQty,O_GoodsName,a.O_OrgResNo,b.O_Batch FROM Mes_OrgResHead AS a LEFT JOIN dbo.Mes_OrgResDetail AS b ON a.O_OrgResNo = b.O_OrgResNo WHERE a.O_StockCode = '" + Globels.strStockCode + "' AND a.O_UploadDate > '" + dt1 + "' and a.O_UploadDate < '" + dt + "' and O_SecGoodsName = '" + ds.Tables[0].Rows[i]["O_SecGoodsName"].ToString() + "' group by O_GoodsName,a.O_OrgResNo,b.O_Batch"; DataSet ds2 = new DataSet(); ds2 = ConvertBLL.GetList(strSql); int nLen2 = ds2.Tables[0].Rows.Count; if (nLen2 > 0) { List <string> OrderNoList = new List <string>(); //txtGoodsName.Text = ds2.Tables[0].Rows[0]["O_GoodsName"].ToString(); decimal dQty = 0; decimal dQtySec = 0; for (int j = 0; j < nLen2; j++) { if (!OrderNoList.Contains(ds2.Tables[0].Rows[j]["O_OrgResNo"].ToString())) { OrderNoList.Add(ds2.Tables[0].Rows[j]["O_OrgResNo"].ToString()); dQtySec = dQtySec + Convert.ToDecimal(ds2.Tables[0].Rows[j]["O_SecQty"].ToString()); } dQty = dQty + Convert.ToDecimal(ds2.Tables[0].Rows[j]["O_Qty"].ToString()); } txtQty.Text = dQty.ToString(); txtQtySec.Text = dQtySec.ToString(); decimal dConvert = dQtySec / dQty; dConvert = Math.Round(dConvert, 6); txtConvert.Text = dConvert.ToString(); ListViewItem lvi = new ListViewItem(ds2.Tables[0].Rows[0]["O_GoodsName"].ToString()); lvi.SubItems.Add(dQty.ToString()); lvi.SubItems.Add(ds.Tables[0].Rows[i]["O_SecGoodsName"].ToString()); lvi.SubItems.Add(dQtySec.ToString()); lvi.SubItems.Add(dConvert.ToString()); this.listView1.Items.Add(lvi); } } this.listView1.EndUpdate(); }
//private void cmbGoodsName_DrawItem(object sender, DrawItemEventArgs e) //{ // if (e.Index < 0) // { // return; // } // e.DrawBackground(); // e.DrawFocusRectangle(); // e.Graphics.DrawString(cmbGoodsName.GetItemText(cmbGoodsName.Items[e.Index]).ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 0); //} private void frmWorkShopWeightList_Load(object sender, EventArgs e) { List <string> insertList = new List <string>(); MesInventoryBLL InventoryBLL = new MesInventoryBLL(); this.listView1.Items.Clear(); this.listView1.BeginUpdate(); var Scan_rows = InventoryBLL.GetData(" where I_StockCode = '" + Globels.strStockCode + "' and I_Qty > 0 order by I_GoodsCode"); for (int i = 0; i < Scan_rows.Count; i++) { string strGoodsCode = Scan_rows[i].I_GoodsCode; Mes_ConvertBLL ConvertBLL = new Mes_ConvertBLL(); var Convert_rows = ConvertBLL.GetList_Mes_Convert(" where C_Code = '" + strGoodsCode + "' and C_ProNo = '" + Globels.strProce + "' order by C_SecName"); for (int j = 0; j < Convert_rows.Count; j++) { if (!insertList.Contains(Convert_rows[j].C_SecName)) { insertList.Add(Convert_rows[j].C_SecName); ListViewItem lvi = new ListViewItem(Convert_rows[j].C_SecName); this.listView1.Items.Add(lvi); } //if (!cmbGoodsName.Items.Contains(Convert_rows[j].C_SecName)) //{ // cmbGoodsName.Items.Add(Convert_rows[j].C_SecName); //} } } this.listView1.EndUpdate(); }
/// <summary> /// 判断单个物料是否是否匹配 /// </summary> /// <param name="strGoods"></param> /// <param name="strSecGoods"></param> /// <returns></returns> private bool Jud(string strGoods, string strSecGoods) { Mes_ConvertBLL ConvertBLL = new Mes_ConvertBLL(); var row = ConvertBLL.GetList_Mes_Convert("where C_Code = '" + strGoods + "' and C_SecCode = '" + strSecGoods + "'"); if (row.Count > 0) { return(true); } else { return(false); } }
private void btn_Update_Click(object sender, EventArgs e) { DateTime dt1 = Convert.ToDateTime(dateTimePicker1.Text); DateTime dt = dt1.AddDays(1); string strSql = "SELECT * FROM Mes_Barcode WHERE B_WorkShopCode = '" + Globels.strWorkShop + "' AND B_Ptime > '" + dt1 + "' and B_Ptime < '" + dt + "' order by B_Ptime"; DataSet ds = new DataSet(); Mes_ConvertBLL ConvertBLL = new Mes_ConvertBLL(); ds = ConvertBLL.GetList(strSql); //cmbGoodsName.Items.Clear(); listView1.Items.Clear(); int nLen = ds.Tables[0].Rows.Count; this.listView1.BeginUpdate(); //decimal sumQty = 0; for (int i = 0; i < nLen; i++) { ListViewItem lvi = new ListViewItem(ds.Tables[0].Rows[i]["B_Code"].ToString()); lvi.SubItems.Add(ds.Tables[0].Rows[i]["B_Name"].ToString()); lvi.SubItems.Add(ds.Tables[0].Rows[i]["B_Qty"].ToString()); if (ds.Tables[0].Rows[i]["B_Status"].ToString() == "1") { lvi.SubItems.Add("已生成"); } else { lvi.SubItems.Add("已入库"); } lvi.SubItems.Add(ds.Tables[0].Rows[i]["B_Remark"].ToString()); this.listView1.Items.Add(lvi); //sumQty += Convert.ToDecimal(ds.Tables[0].Rows[i]["B_Qty"].ToString()); } //DataRow dr = ds.Tables[0].NewRow(); //dr["B_Name"] = "合计:"; //dr["B_Qty"] = sumQty.ToString(); //ListViewItem lvi1 = new ListViewItem(); //lvi1.SubItems.Add(dr["B_Name"].ToString()); //lvi1.SubItems.Add(dr["B_Qty"].ToString()); //this.listView1.Items.Add(lvi1); txtNum.Text = nLen.ToString(); this.listView1.EndUpdate(); }
/// <summary> /// 判断生成品是否由几个商品生成的数量 /// </summary> /// <param name="strGoods"></param> /// <param name="strSecGoods"></param> /// <returns></returns> private bool Jud2(int nKind, string strSecGoods) { Mes_ConvertBLL ConvertBLL = new Mes_ConvertBLL(); var row = ConvertBLL.GetList_Mes_Convert("where C_SecCode = '" + strSecGoods + "'"); if (row.Count > 0) { if (nKind == row.Count) { return(true); } else { return(false); } } else { return(false); } }
private void btn_upload_Click(object sender, EventArgs e) { if (MessageBox.Show("是否要提交", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes) { try { if (cmbTeam.Text == "") { lblTS.Text = "系统提示:先选择班组"; return; } Mes_WorkShopScanBLL WorkShopScanBLL = new Mes_WorkShopScanBLL(); Mes_WorkShopWeightBLL WorkShopWeightBL = new Mes_WorkShopWeightBLL(); List <string> insertList = new List <string>(); string strSecGoods = ""; string strSecPc = ""; string strSecName = ""; string strSecUnit = ""; decimal dSecQty = 0; int nLen2 = dataGridView2.Rows.Count; for (int i = 0; i < nLen2; i++) { object obj = dataGridView2.Rows[i].Cells["选择2"].Value; if (Convert.ToString(obj) == "True" || Convert.ToString(obj) == "1") { strSecGoods = dataGridView2.Rows[i].Cells["物料2"].Value.ToString(); strSecPc = dataGridView2.Rows[i].Cells["批次2"].Value.ToString(); strSecName = dataGridView2.Rows[i].Cells["物料名称2"].Value.ToString(); strSecUnit = dataGridView2.Rows[i].Cells["单位2"].Value.ToString(); string strSecQty = dataGridView2.Rows[i].Cells["数量2"].Value.ToString(); string strTemp = dataGridView2.Rows[i].Cells["物料2"].Value.ToString() + "," + dataGridView2.Rows[i].Cells["批次2"].Value.ToString() + "," + dataGridView2.Rows[i].Cells["数量2"].Value.ToString(); if (insertList.Count > 0) { string[] str = insertList[0].ToString().Split(','); if (str[0].ToString() == strSecGoods) { if (str[1].ToString() == strSecPc) { dSecQty = dSecQty + Convert.ToDecimal(strSecQty); } else { lblTS.Text = "系统提示:生成的物料只允许同一物料,同一批次"; return; } } else { lblTS.Text = "系统提示:生成的物料只允许同一物料,同一批次"; return; } } else { dSecQty = dSecQty + Convert.ToDecimal(strSecQty); insertList.Add(strTemp); } } } List <string> Goods = new List <string>(); List <string> strOldGoods = new List <string>(); int nKind = 0; //计算有几种原物料 int nLen = dataGridView1.Rows.Count; for (int i = 0; i < nLen; i++) { object obj = dataGridView1.Rows[i].Cells["选择"].Value; if (Convert.ToString(obj) == "True" || Convert.ToString(obj) == "1") { string strGoods = dataGridView1.Rows[i].Cells["物料"].Value.ToString(); string strQty = dataGridView1.Rows[i].Cells["实用数量"].Value.ToString(); string strYLQty = dataGridView1.Rows[i].Cells["数量"].Value.ToString(); string strPc = dataGridView1.Rows[i].Cells["批次"].Value.ToString(); string strPrice = dataGridView1.Rows[i].Cells["价格"].Value.ToString(); string strName = dataGridView1.Rows[i].Cells["物料名称"].Value.ToString(); string strUnit = dataGridView1.Rows[i].Cells["单位"].Value.ToString(); if (Jud(strGoods, strSecGoods)) { if (strOldGoods.Contains(strGoods)) { } else { nKind = nKind + 1; strOldGoods.Add(strGoods); } bool bRet = false; for (int j = 0; j < Goods.Count; j++) { string strTemp = Goods[j].ToString(); string[] str = strTemp.Split(','); string strTempGoods = str[0].ToString(); string strTempPc = str[2].ToString(); string strTempQty = str[3].ToString(); if (strTempGoods == strGoods && strTempPc == strPc) { decimal dQty = Convert.ToDecimal(strQty) + Convert.ToDecimal(strTempQty); Goods[j] = strGoods + "," + dQty.ToString() + "," + strPc + "," + strPrice + "," + strName + "," + strUnit; bRet = true; } } if (bRet == false) { Goods.Add(strGoods + "," + strQty + "," + strPc + "," + strPrice + "," + strName + "," + strUnit); } } else { lblTS.Text = "系统提示:选择的物料生成不了下一个物料,请核对"; return; } } } if (!Jud2(nKind, strSecGoods)) { lblTS.Text = "系统提示:选择的转换前的物料不够"; return; } if (insertList.Count == 0 || Goods.Count == 0) { lblTS.Text = "系统提示:请选择物料"; return; } Mes_OrgResHeadBLL OrgResHeadBLL = new Mes_OrgResHeadBLL(); Mes_OrgResDetailBLL OrgResDetailBLL = new Mes_OrgResDetailBLL(); Mes_OrgResHeadEntity OrgResHeadEntity = new Mes_OrgResHeadEntity(); Mes_OrgResDetailEntity OrgResDetailEntity = new Mes_OrgResDetailEntity(); string strIn_No = ""; MesMaterInHeadBLL MaterInHeadBLL = new MesMaterInHeadBLL(); strIn_No = MaterInHeadBLL.GetDH("组装与拆分单"); OrgResHeadEntity.O_OrgResNo = strIn_No; OrgResHeadEntity.O_OrderNo = comOrderNo.Text; OrgResHeadEntity.O_CreateBy = Globels.strUser; OrgResHeadEntity.O_CreateDate = DateTime.Now; OrgResHeadEntity.O_OrderDate = txtOrderDate.Text; OrgResHeadEntity.O_Remark = ""; OrgResHeadEntity.O_Status = 1; OrgResHeadEntity.O_WorkShopCode = cmbWorkShop.Text; OrgResHeadEntity.O_WorkShopName = cmbWorkShopName.Text; OrgResHeadEntity.O_Record = cmbRecord.Text; OrgResHeadEntity.O_ProCode = cmbProce.Text; OrgResHeadEntity.O_TeamCode = cmbTeam.Text; OrgResHeadEntity.O_TeamName = cmbTeamName.Text; int nRow = OrgResHeadBLL.SaveEntity("", OrgResHeadEntity); decimal dSecPrice = 0; decimal dTotal = 0; for (int i = 0; i < Goods.Count; i++) { string[] strTemp = Goods[i].ToString().Split(','); dTotal = dTotal + (Convert.ToDecimal(strTemp[3].ToString()) * Convert.ToDecimal(strTemp[1].ToString())); } dSecPrice = dTotal / dSecQty; for (int i = 0; i < Goods.Count; i++) { OrgResDetailEntity.O_OrgResNo = strIn_No; OrgResDetailEntity.O_SecGoodsCode = strSecGoods; OrgResDetailEntity.O_SecGoodsName = strSecName; OrgResDetailEntity.O_SecPrice = 0; OrgResDetailEntity.O_SecQty = dSecQty; OrgResDetailEntity.O_SecUnit = strSecUnit; OrgResDetailEntity.O_SecBatch = strSecPc; string[] strTemp = Goods[i].ToString().Split(','); string strGoodsCode = strTemp[0].ToString(); Mes_ConvertBLL ConvertBLL = new Mes_ConvertBLL(); var Convert_rows = ConvertBLL.GetList_Mes_Convert(" where C_SecCode = '" + strGoodsCode + "'"); string strC_GoodsCode = ""; if (Convert_rows.Count > 0) { strC_GoodsCode = Convert_rows[0].C_Code; } OrgResDetailEntity.O_GoodsCode = strTemp[0].ToString(); OrgResDetailEntity.O_GoodsName = strTemp[4].ToString(); OrgResDetailEntity.O_Price = Convert.ToDecimal(strTemp[3].ToString()); OrgResDetailEntity.O_Qty = Convert.ToDecimal(strTemp[1].ToString()); OrgResDetailEntity.O_Unit = strTemp[5].ToString(); OrgResDetailEntity.O_Batch = strTemp[2].ToString(); OrgResDetailEntity.O_SecPrice = dSecPrice; nRow = OrgResDetailBLL.SaveEntity("", OrgResDetailEntity); } Upload(strIn_No); MessageBox.Show("保存成功"); lblTS.Text = ""; //UpdatePrice(strSecGoods, dSecPrice); 已经在存储过程中处理 Delete(); UpdateGoods(); } catch (Exception ex) { lblTS.Text = "系统提示:" + ex.ToString(); } } }