Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        //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();
        }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        /// <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);
            }
        }
Esempio n. 6
0
        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();
                }
            }
        }