Example #1
0
        private void btn_del_Click(object sender, EventArgs e)
        {
            int    dgrow    = dgv1.RowCount;
            string checkstr = "";

            for (int i = 0; i < dgrow; i++)
            {
                if (dgv1.Rows[i].Cells[0].Value.ToString() == "1")
                {
                    string partid = dgv1.Rows[i].Cells[3].Value.ToString();
                    checkstr = "checked";
                }
            }

            if (checkstr == "")
            {
                MessageBox.Show("您还没有选择数据!");
                return;
            }
            int seqNo = Convert.ToInt32(lbl_seqno.Text.ToString());

            if (PartParameter.Delete(seqNo) > 0)
            {
                lbl_seqno.Text = string.Empty;
                MessageBox.Show("删除成功!");
            }
            else
            {
                MessageBox.Show("删除失败!");
            }
            QuerydataBind();
        }
Example #2
0
        private void 确认上传ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (dgv1.RowCount == 0)
            {
                return;
            }
            DialogResult dgresult = MessageBox.Show("确定要将选中的预估结果进行确认吗?", "操作确认", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

            if (dgresult == DialogResult.No)
            {
                return;
            }
            int    confirmcount = dgv1.RowCount;
            string sequenceList = "";

            for (int i = 0; i < confirmcount; i++)
            {
                if (dgv1.Rows[i].Cells["confirmflag"].EditedFormattedValue != null)
                {
                    if (dgv1.Rows[i].Cells["confirmflag"].EditedFormattedValue.ToString() == "True")
                    {
                        string sequenceid = dgv1.Rows[i].Cells["sequence_id"].Value.ToString();
                        sequenceList += "," + sequenceid;
                    }
                }
            }
            PartParameter.DeleteEstimate(sequenceList.Substring(1));
            MessageBox.Show("所选材料的预估结果确认成功", "操作提示");
        }
        public void listviewBindpara(string sql)
        {
            //更改并设置列名称以及属性
            dgv1.AutoGenerateColumns = false;
            ds = PartParameter.QueryPartPara(sql);
            dgv1.DataSource = ds.Tables[0].DefaultView;

            //DataGridViewComboBoxColumn dgvcom = new DataGridViewComboBoxColumn();
            //DataSet blockds = PartParameter.QueryPartPara("select block_id,description from project_block_tab where project_id=" + ecprojectid.ToString() + " order by description");
            //DataRow rowdim = blockds.Tables[0].NewRow();
            //rowdim[0] = 1;
            //blockds.Tables[0].Rows.InsertAt(rowdim, 0);
            //dgvcom.DataSource = blockds.Tables[0].DefaultView;
            //dgvcom.DisplayMember = "description";
            //dgvcom.ValueMember = "description";
            //dgvcom.HeaderText = "分段";
            //dgvcom.Name = "分段";
            //dgvcom.ReadOnly = false;
            //CalendarColumn dgvcal = new CalendarColumn();
            //dgvcal.HeaderText = "预估日期";
            //dgvcal.Name = "预估日期";

            ////DateColumn dgvcaln = new DateColumn();
            ////dgvcaln.HeaderText = "日期新";
            //if (!dgv1.Columns.Contains("预估日期"))
            //{
            //    //dgv1.Columns.Add(dgvcom);
            //    dgv1.Columns.Add(dgvcal);
            //    //dgv1.Columns.Add(dgvcaln);
            //    dgv1.Columns["预估日期"].Width = 200;
            //}
        }
Example #4
0
        private void button2_Click(object sender, EventArgs e)
        {
            string sqlSelect = " order by t.createdate";

            //string wheresql = sb.ToString();
            ds = PartParameter.QueryPartPara(sqlSelect);
            dgv1.DataSource = ds.Tables[0];
            SetrowStyle();
        }
Example #5
0
        private void frmPartInventory_Load(object sender, EventArgs e)
        {
            ProjectCmbBind();

            partnocmb = this.cmb_partno;
            //MessageBox.Show(site);
            DataSet unitds = PartParameter.QueryPartPara("select name from mm_unit_tab");

            SiteCmbBind();
            //GridViewTitleBind();
        }
Example #6
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (dgv1.RowCount == 0)
            {
                return;
            }
            pb1.Visible = true;
            bool restr = PartParameter.ExportToTxt(dgv1, pb1);

            pb1.Visible = false;
        }
        /// <summary>
        /// 对ComboBox控件进行数据绑定
        /// </summary>
        /// <param name="M_str_sqlstr">SQL语句</param>
        /// <param name="M_str_table">表名</param>
        /// <param name="M_str_tbMember">数据表中字段名</param>
        /// <param name="cbox">ComboBox控件ID</param>
        public static void cboxBind(string M_str_sqlstr, string M_str_tbValue, string M_str_tbMember, ComboBox cbox)
        {
            DataSet myds   = PartParameter.QueryPartPara(M_str_sqlstr);
            DataRow rowdim = myds.Tables[0].NewRow();

            rowdim[0] = 0;
            myds.Tables[0].Rows.InsertAt(rowdim, 0);
            cbox.DataSource    = myds.Tables[0].DefaultView;
            cbox.DisplayMember = M_str_tbMember;
            cbox.ValueMember   = M_str_tbValue;
        }
Example #8
0
        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            string fdate = this.dateTimePicker1.Value.ToString("yyyy-MM-dd");
            //DateTime tdate =  Convert.ToDateTime(this.dateTimePicker1.Value.AddDays(1).ToString("yyyy-MM-dd"));
            string datesr    = "to_char(createdate,'yyyy-mm-dd')='" + fdate + "'";
            string sqlSelect = " order by t.createdate";

            ds = PartParameter.QueryPartPara(sqlSelect);
            dgv1.DataSource = ds.Tables[0];
            SetrowStyle();
        }
        private void MaterialDetail_Load(object sender, EventArgs e)
        {
            string  sqlstr = "select t.matr_seq_no 申请流水号,t.site 域,(select description from IFSAPP.SUB_PROJECT qq where qq.project_id= t.project_id and  qq.sub_project_id =(select sub_project_id from IFSAPP.ACTIVITY_SUM_DETAIL p where p.activity_seq = 100086998)) 专业, (select description from IFSAPP.ACTIVITY_SUM_DETAIL pp where pp.activity_seq = t.activity_seq ) 材料种类,t.part_no 零件号,'" + part_name + "' as 零件描述 ,t.p_requisition_no MEO号,t.p_order_no 采购订单号,t.dt_issued 下发日期,t.request_date 需求日期,t.request_qty 需求数量,IFSAPP.PROJ_PROCU_RATION_API.Get_Accu_Ration_Qty(MATR_SEQ_NO) as 已下发数量,t.request_qty -IFSAPP.PROJ_PROCU_RATION_API.Get_Accu_Ration_Qty(MATR_SEQ_NO) as 可用数量,t.user_cre 操作人,t.reason_code 申请原因,t.design_code 范围,t.c_partial_info 范围 from IFSAPP.PROJECT_MISC_PROCUREMENT t where  design_code like '%" + design_code + "%' and  PROJECT_ID = '" + project_no + "' and site = '" + site_no + "' and issue_from_inv = 0 and PART_NO ='" + part_no + "' and (select state from ifsapp.purchase_req_line_part q where q.requisition_no =p_requisition_no and q.part_no=t.part_no) <>'Cancelled'";
            DataSet ds     = PartParameter.QueryPartERPInventory(sqlstr);

            dgv_meo.DataSource = ds.Tables[0].DefaultView;
            string  sprojectname = project_no.Substring(project_no.Length - 3, 3);
            string  sqlstrnew    = "select tt.part_no 零件号,tt.part_desc 零件描述,tt.qty_onhand 预留数量,tt.qty_reserved 已用数量,tt.req_dept 预留标识  from ifsapp.yr_inv_on_hand_vw tt WHERE tt.part_no ='" + part_no + "'   and tt.contract = '" + site_no + "'   and  tt.req_dept like 'YL" + sprojectname + "%'";
            DataSet dsnew        = PartParameter.QueryPartERPInventory(sqlstrnew);

            dgv_reserved.DataSource = dsnew.Tables[0].DefaultView;
        }
Example #10
0
        private void frmParaLog_Load(object sender, EventArgs e)
        {
            //StringBuilder sb = new StringBuilder();

            //string spec_namestr = PartParameter.GetSpecName(activity);
            string sqlSelect = "SELECT * from MM_PART_PARAMETER_TAB where projectid='" + ProjectId + "' and part_no=" + Part_No + "  and discipline =" + DisciplineId + "order by createdate";;

            //string wheresql = sb.ToString();
            ds = PartParameter.QueryPartPara(sqlSelect);
            dgv1.DataSource = ds.Tables[0].DefaultView;
            SetrowStyle();
        }
        /// <summary>
        /// 取得预估重量
        /// </summary>
        public decimal GetParaqty(int partid, string pid)
        {
            //partNo=cmb_partno.SelectedValue.ToString();
            //Site = cmb_site.SelectedValue.ToString();
            //string isInv = InventoryPart.GetIsInventory(Site, partNo);
            //if (isInv == "1")
            //    checkBox1.Checked = true;
            //else
            //    checkBox1.Checked = false;
            decimal invQty = PartParameter.FindPartParaSum(partid, pid);

            return(invQty);
        }
Example #12
0
        private void frmPartAdd_Load(object sender, EventArgs e)
        {
            ProjectCmbBind();
            AddMaterialTree();
            partnocmb = this.cmb_partno;
            //MessageBox.Show(site);
            DataSet unitds = PartParameter.QueryPartPara("select name from mm_unit_tab");

            tb_unit.DataSource    = unitds.Tables[0].DefaultView;
            tb_unit.DisplayMember = "name";
            tb_unit.ValueMember   = "name";
            SiteCmbBind();
            //GridViewTitleBind();
            gboxheight = btn_del.Top;
        }
Example #13
0
        public void listviewBindInter(string sql)
        {
            this.dgv1.AutoGenerateColumns = false;
            //this.dgv1.Rows.Clear();
            DataSet  ds = MEOsub.QueryPartMiscProcListEPR(sql);
            DataView dv = ds.Tables[0].DefaultView;

            dgv1.DataSource = dv;
            //方法一:逐行比对ERP中申请的数据然后返回比对结果;
            if (dgv1.RowCount > 0)
            {
                for (int i = 0; i < dgv1.RowCount; i++)
                {
                    string  part_no    = dgv1.Rows[i].Cells["part_no"].Value.ToString();
                    string  requir_qty = dgv1.Rows[i].Cells["require_qty"].Value.ToString();
                    string  meo_no     = dgv1.Rows[i].Cells["meo_erp"].Value.ToString();
                    string  sqlstr     = "select  t.p_requisition_no MEO号,t.request_qty as 申请数量 from IFSAPP.PROJECT_MISC_PROCUREMENT t where PROJECT_ID = '" + Projectid + "' and site = '" + mSite + "' and issue_from_inv = 0 and PART_NO ='" + part_no + "'and p_requisition_no =" + meo_no + " and (select state from ifsapp.purchase_req_line_part q where q.requisition_no =p_requisition_no and q.part_no=t.part_no) <>'Cancelled'";
                    DataSet dsnew      = PartParameter.QueryPartERPInventory(sqlstr);
                    if (dsnew.Tables[0].Rows.Count != 0)
                    {
                        dgv1.Rows[i].Cells["ISEXISTED"].Value = "存在";
                        string  req_qty = dsnew.Tables[0].Rows[i]["申请数量"].ToString();
                        decimal ecqty   = decimal.Parse(requir_qty);
                        decimal erpqty  = decimal.Parse(req_qty);
                        if (decimal.Round(ecqty, 2) == decimal.Round(erpqty, 2))
                        {
                            dgv1.Rows[i].Cells["ERP_QTY"].Value        = erpqty;
                            dgv1.Rows[i].Cells["compare_result"].Value = "数量一致";
                        }
                        else
                        {
                            dgv1.Rows[i].Cells["ERP_QTY"].Value        = erpqty;
                            dgv1.Rows[i].Cells["compare_result"].Value = "数量不一致";
                        }
                    }
                    else
                    {
                        dgv1.Rows[i].Cells["ISEXISTED"].Value = "不存在";
                    }
                }
            }
            //方法二:将符合域与项目条件的所有ERP申请数据整合到DataSet中去,然后遍历比对数据
        }
Example #14
0
        public void ImportParaData()
        {
            #region 逐行导入预估结果
            for (int i = 0; i < dgv2.Rows.Count - 1; i++)
            {
                string        partno          = dgv2.Rows[i].Cells[4].Value.ToString().Trim();
                string        quyu            = dgv2.Rows[i].Cells[1].Value.ToString().Trim();
                string        zhuanye         = DisciplineId;
                string        parttype        = dgv2.Rows[i].Cells[3].Value.ToString().Trim();
                string        partname        = dgv2.Rows[i].Cells[5].Value.ToString().Trim();
                string        predict_qty     = dgv2.Rows[i].Cells[6].Value.ToString().Trim();
                string        firstbatchqty   = dgv2.Rows[i].Cells[7].Value.ToString().Trim();
                string        firstbatchdate  = dgv2.Rows[i].Cells[8].Value.ToString().Trim();
                string        secondbatchqty  = dgv2.Rows[i].Cells[9].Value.ToString().Trim();
                string        secondbatchdate = dgv2.Rows[i].Cells[10].Value.ToString().Trim();
                string        unit_meas       = dgv2.Rows[i].Cells[11].Value.ToString().Trim();
                string        predict_date    = dgv2.Rows[i].Cells[12].Value.ToString().Trim();
                string        predict_person  = dgv2.Rows[i].Cells[13].Value.ToString().Trim();
                PartParameter predictset      = new PartParameter();
                predictset.OPERATOR             = User.cur_user;
                predictset.PREDICT_DATE         = Convert.ToDateTime(predict_date);
                predictset.PREDICT_CREATOR      = predict_person;
                predictset.PREDICTION_QTY       = string.IsNullOrEmpty(predict_qty) == true ? 0 : decimal.Parse(predict_qty);
                predictset.PART_NO              = partno;
                predictset.PROJECT_ZONE         = quyu;
                predictset.DISCIPLINE           = zhuanye;
                predictset.PART_TYPE            = parttype;
                predictset.DESCRIPTION          = partname;
                predictset.CONTRACT             = mSite;
                predictset.LAST_FLAG            = 1;
                predictset.FIRSTBATCH_QTY       = string.IsNullOrEmpty(firstbatchqty) == true ? 0 : decimal.Parse(firstbatchqty);
                predictset.FIRSTBATCH_DATE      = Convert.ToDateTime(firstbatchdate);
                predictset.SECONDBATCH_QTY      = string.IsNullOrEmpty(secondbatchqty) == true ? 0 : decimal.Parse(secondbatchqty);
                predictset.SECONDBATCH_DATE     = Convert.ToDateTime(secondbatchdate);
                predictset.FINAL_PREDICTION_QTY = string.IsNullOrEmpty(predict_qty) == true ? 0 : decimal.Parse(predict_qty);
                predictset.UNIT        = unit_meas;
                predictset.ECPROJECTID = ProjectSystem.FindProjectid(ProjectId);;
                predictset.PROJECTID   = ProjectId;
                int count = predictset.Add();
            }

            #endregion
        }
Example #15
0
        private string GetPartMEONO(string part_no, string needqty)
        {
            string  MEO_NO = "";
            decimal avalQty = 0, reqQty = 0;

            reqQty = Convert.ToDecimal(needqty);
            string  sqlstr = "select  t.p_requisition_no MEO号,t.request_qty -IFSAPP.PROJ_PROCU_RATION_API.Get_Accu_Ration_Qty(MATR_SEQ_NO) as 可用数量 from IFSAPP.PROJECT_MISC_PROCUREMENT t where PROJECT_ID = '" + ProjectId + "' and site = '" + Site + "' and issue_from_inv = 0 and PART_NO ='" + part_no + "'";
            DataSet ds     = PartParameter.QueryPartERPInventory(sqlstr);

            if (ds != null)
            {
                int p = ds.Tables[0].Rows.Count;
                for (int i = 0; i < p; i++)
                {
                    avalQty = Convert.ToDecimal(ds.Tables[0].Rows[i][1].ToString());
                    string TempMEONo = ds.Tables[0].Rows[i][0].ToString();
                    if (avalQty > 0)
                    {
                        if (Convert.ToDecimal(reqQty) > avalQty)
                        {
                            MEO_NO = MEO_NO + TempMEONo + ";";
                            reqQty = reqQty - avalQty;
                        }
                        else
                        {
                            MEO_NO = MEO_NO + TempMEONo + ";";
                            reqQty = 0;
                            break;
                        }
                    }
                }
                if (reqQty > 0)
                {
                    MEO_NO = MEO_NO + GetPartReserveNO(part_no, reqQty.ToString());
                }
                return(MEO_NO.Contains(';') ? MEO_NO.Substring(0, MEO_NO.Length - 1) : MEO_NO);
            }
            else
            {
                return(GetPartReserveNO(part_no, reqQty.ToString()));
            }
        }
        private void dgv1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (this.dgv1.RowCount == 0)
            {
                return;
            }
            string partid = dgv1.CurrentRow.Cells["part_no"].Value.ToString();
            string dpid   = dgv1.CurrentRow.Cells["discipline"].Value.ToString();

            if (PartParameter.GetPartParaCou(partid, dpid, ProjectId) == 0)
            {
                MessageBox.Show("无此材料的预估记录!");
                return;
            }
            frmParaLog frm = new frmParaLog();

            frm.ProjectId    = ProjectId;
            frm.Part_No      = partid;
            frm.DisciplineId = dpid;
            frm.Show();
        }
Example #17
0
        private string GetPartReserveNO(string part_no, string needqty)
        {
            string  sprojectname = ProjectId.Substring(ProjectId.Length - 3, 3);
            string  MEO_NO = "";
            string  sqlstrnew = "select (tt.qty_onhand - tt.qty_reserved) 可用数量,tt.req_dept 预留标识  from ifsapp.yr_inv_on_hand_vw tt WHERE tt.part_no ='" + part_no + "'   and tt.contract = '" + Site + "'   and  tt.req_dept like 'YL" + sprojectname + "%'";
            DataSet dsnew = PartParameter.QueryPartERPInventory(sqlstrnew);
            decimal avalQty = 0, reqQty = 0;

            reqQty = Convert.ToDecimal(needqty);
            if (dsnew != null)
            {
                int p = dsnew.Tables[0].Rows.Count;
                for (int i = 0; i < p; i++)
                {
                    avalQty = Convert.ToDecimal(dsnew.Tables[0].Rows[i][0].ToString());
                    string TempMEONo = dsnew.Tables[0].Rows[i][1].ToString();
                    if (avalQty > 0)
                    {
                        if (Convert.ToDecimal(reqQty) > avalQty)
                        {
                            MEO_NO = MEO_NO + TempMEONo + ";";
                            reqQty = reqQty - avalQty;
                        }
                        else
                        {
                            MEO_NO = MEO_NO + TempMEONo + ";";
                            reqQty = 0;
                            break;
                        }
                    }
                }
                return(MEO_NO);
            }
            else
            {
                return(MEO_NO);
            }
        }
Example #18
0
        private void btn_save_Click(object sender, EventArgs e)
        {
            //string projectid = cmb_project.SelectedValue.ToString();

            if (ProjectId == string.Empty)
            {
                MessageBox.Show("请选择项目!");
                return;
            }
            if (dgv1.RowCount == 0)
            {
                MessageBox.Show("请选择数据!");
                return;
            }
            string site = cmb_site.SelectedValue.ToString();
            int    kqrow;

            kqrow = dgv1.RowCount - 1;
            try
            {
                DataSet unitds = PartParameter.QueryPartPara("select name from mm_unit_tab");
                #region 循环表,保存数据
                for (int i = 0; i <= kqrow; i++)
                {
                    string partno = dgv1.Rows[i].Cells["零件号"].Value.ToString().Trim();
                    int    partid = int.Parse(dgv1.Rows[i].Cells["序号"].Value.ToString());
                    if (Part.Exist(partno, partid))
                    {
                        MessageBox.Show("第" + partid.ToString() + "行编码重复,请检查!");
                        return;
                    }
                    Part   ppn = new Part();
                    string partspec = dgv1.Rows[i].Cells["零件规格"].Value.ToString().Trim();
                    string parttype = dgv1.Rows[i].Cells["零件类别"].Value.ToString().Trim();
                    string partmat = dgv1.Rows[i].Cells["材质"].Value.ToString().Trim();
                    string partlevel = dgv1.Rows[i].Cells["等级"].Value.ToString().Trim();
                    string partcert = dgv1.Rows[i].Cells["证书"].Value.ToString().Trim();
                    string partpurchase = dgv1.Rows[i].Cells["采购周期"].Value.ToString().Trim();
                    string destinyunit = dgv1.Rows[i].Cells["密度单位"].Value.ToString().Trim();
                    string replacecode = dgv1.Rows[i].Cells["替代码"].Value.ToString().Trim();
                    string spec1 = "", spec2 = "", spec3 = "", spec4 = "";
                    if (lspec1.Visible == true)
                    {
                        spec1 = dgv1.Rows[i].Cells[lspec1.Text].Value.ToString().Trim();
                    }
                    if (lspec2.Visible == true)
                    {
                        spec2 = dgv1.Rows[i].Cells[lspec2.Text].Value.ToString().Trim();
                    }
                    if (lspec3.Visible == true)
                    {
                        spec3 = dgv1.Rows[i].Cells[lspec3.Text].Value.ToString().Trim();
                    }
                    if (lspec4.Visible == true)
                    {
                        spec4 = dgv1.Rows[i].Cells[lspec4.Text].Value.ToString().Trim();
                    }
                    string partunit        = dgv1.Rows[i].Cells["单位"].Value.ToString().Trim();
                    string partunitdestiny = dgv1.Rows[i].Cells["单位密度"].Value.ToString().Trim();
                    ppn.PART_NO   = partno;
                    ppn.CONTRACT  = site;
                    ppn.PARENTID  = int.Parse(activity);
                    ppn.PART_CERT = partcert;
                    decimal temaa = decimal.Parse(partunitdestiny);
                    //temaa = decimal.Round(decimal.Parse("0.3333333"), 2);
                    ppn.PART_UNITDENSITY = decimal.Round(temaa, 2);
                    ppn.PART_LEVEL       = partlevel;
                    ppn.PART_SPEC        = partspec;
                    ppn.PART_SPEC1       = spec1;
                    ppn.PART_SPEC2       = spec2;
                    ppn.PART_SPEC3       = spec3;
                    ppn.PART_SPEC4       = spec4;
                    ppn.PART_DENSITYUNIT = destinyunit;
                    ppn.PART_UNIT        = partunit;
                    ppn.PART_MAT         = partmat;
                    ppn.PART_TYPE        = parttype;
                    ppn.UPDATEDATE       = DateTime.Today;
                    ppn.UPDATER          = LoginUser;
                    ppn.REPLACE_CODE     = replacecode;
                    if (partpurchase != string.Empty)
                    {
                        ppn.SUPPLYCIRCLE = int.Parse(partpurchase);
                    }
                    else
                    {
                        ppn.SUPPLYCIRCLE = 10;
                    }
                    ppn.ID = int.Parse(dgv1.Rows[i].Cells["序号"].Value.ToString());
                    #region 判断Unit是否是合格格式
                    if (dgv1.Rows[i].Cells["单位"].Value != null && dgv1.Rows[i].Cells["单位"].Value.ToString() != string.Empty)
                    {
                        string    punit = dgv1.Rows[i].Cells["单位"].Value.ToString().Trim().ToLower();
                        DataRow[] pone  = unitds.Tables[0].Select("name ='" + punit + "'");
                        if (pone.Length != 0)
                        {
                            ppn.PART_UNIT = punit;
                        }
                        else
                        {
                            MessageBox.Show("第" + (i + 1) + "行单位名称不规范,请检查!", "错误提示");
                            dgv1.Rows[i].Selected = true;
                            return;
                        }
                    }
                    #endregion
                    int count = ppn.Update();
                    if (count == 0)
                    {
                        MessageBox.Show("第" + partid.ToString() + "行更新失败");
                    }
                }
                #endregion

                MessageBox.Show("保存成功!! ", "温馨提示!");
            }
            catch (Exception err)
            {
                MessageBox.Show("错误原因:" + err.Message, "错误提示信息",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            QuerydataBind();
        }
Example #19
0
        public void listviewBind(string sql)
        {
            //更改并设置列名称以及属性

            ds = PartParameter.QueryPartPara(sql);
            dgv1.DataSource = ds.Tables[0].DefaultView;
            DataGridViewComboBoxColumn dgvcom = new DataGridViewComboBoxColumn();
            DataSet blockds = PartParameter.QueryPartPara("select block_id,description from project_block_tab where project_id=" + ecprojectid.ToString() + " order by description");
            DataRow rowdim  = blockds.Tables[0].NewRow();

            rowdim[0] = 1;
            blockds.Tables[0].Rows.InsertAt(rowdim, 0);
            dgvcom.DataSource    = blockds.Tables[0].DefaultView;
            dgvcom.DisplayMember = "description";
            dgvcom.ValueMember   = "description";
            dgvcom.HeaderText    = "分段";
            dgvcom.Name          = "分段";
            dgvcom.ReadOnly      = false;
            CalendarColumn dgvcal = new CalendarColumn();

            dgvcal.HeaderText = "预估日期";
            dgvcal.Name       = "预估日期";

            //DateColumn dgvcaln = new DateColumn();
            //dgvcaln.HeaderText = "日期新";
            if (!dgv1.Columns.Contains("预估日期"))
            {
                //dgv1.Columns.Add(dgvcom);
                //dgv1.Columns.Add(dgvcal);
                //dgv1.Columns.Add(dgvcaln);
                //dgv1.Columns["预估日期"].Width = 200;
            }
            dgv1.Columns["预估量"].Width = 100;
            //dgv1.Columns["分段"].Width = 100;
            dgv1.Columns["预估量"].ValueType    = typeof(double);
            dgv1.Columns["域"].ReadOnly       = true;
            dgv1.Columns["序号"].ReadOnly      = true;
            dgv1.Columns["零件号"].ReadOnly     = true;
            dgv1.Columns["零件类别"].ReadOnly    = true;
            dgv1.Columns["零件规格"].ReadOnly    = true;
            dgv1.Columns["材质"].ReadOnly      = true;
            dgv1.Columns["证书"].ReadOnly      = true;
            dgv1.Columns["单位"].ReadOnly      = true;
            dgv1.Columns["密度单位"].ReadOnly    = true;
            dgv1.Columns["等级"].ReadOnly      = true;
            dgv1.Columns["单位密度"].ReadOnly    = true;
            dgv1.Columns["parentid"].Visible = false;
            #region 设置列的只读性
            //int specnum = PartParameter.GetSpecCou(activity);
            //if (specnum != 0)
            //{
            //    if (specnum > 0)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "1").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //    if (specnum > 1)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "2").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //    if (specnum > 2)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "3").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //    if (specnum > 3)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "4").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //}
            #endregion

            #region 将已设置过的预估值填入表格
            //if (dgv1.RowCount != 0)
            //{
            //    List<PartParameter> pp = PartParameter.FindPartList(systemid,mmtypeid, ProjectId,LoginUser,1);
            //    //if (pp.Count != 0)
            //    // {
            //    for (int i = 0; i < dgv1.Rows.Count; i++)
            //    {

            //        int partid = int.Parse(dgv1.Rows[i].Cells["序号"].Value.ToString());
            //        PartParameter pone = pp.Find(delegate(PartParameter bb) { return bb.ID == partid; });
            //        if (pone != null)
            //        {
            //            dgv1.Rows[i].Cells["预估量"].Value = pone.PREDICTION_QTY;
            //            //DataGridViewComboBoxCell combo = new DataGridViewComboBoxCell();

            //            dgv1.Rows[i].Cells["预警系数"].Value = pone.PREDICTION_ALERT;
            //            if (pone.BLOCKID != "0")
            //            {
            //                dgv1.Rows[i].Cells["日期"].Value = pone.CREATEDATE;
            //                dgv1.Rows[i].Cells["分段"].Value = pone.BLOCKID;
            //                //DataGridViewComboBoxCell combo = dgv1.Rows[i].Cells["分段"] as DataGridViewComboBoxCell;
            //                //combo.DataSource = blockds.Tables[0];
            //                //combo.DisplayMember = "description";
            //                //combo.ValueMember = "block_id";
            //                //combo.Value = pone.BLOCKID;
            //            }
            //        }
            //        else
            //        {
            //            dgv1.Rows[i].Cells["预估量"].Value = 0;
            //            dgv1.Rows[i].Cells["预警系数"].Value = 0;
            //        }

            //    }
            //    //}
            //}
            #endregion
        }
Example #20
0
        public void listviewBind(string sql)
        {
            //更改并设置列名称以及属性
            DataSet ds = PartParameter.QueryPartERPInventory(sql);

            // dgv1.DataSource = ds.Tables[0];
            //DataGridViewComboBoxColumn dgvcom = new DataGridViewComboBoxColumn();
            //dgvcom.DataSource = PartParameter.QueryPartPara("select name from mm_unit_tab").Tables[0].DefaultView;;
            //dgvcom.DisplayMember = "name";
            //dgvcom.ValueMember = "name";
            ////dgv1.Columns.Insert(1, dgvcom);
            //dgv1.GridColumnStyles[1]=dgvcom;
            //dgv1.Columns["零件认证"].Width = 100;
            //dgv1.Columns["单位密度"].ValueType = typeof();
            //dgv1.Columns["零件材质"].ValueType = typeof(float);
            if (ds != null)
            {
                this.dgv1.AutoGenerateColumns = false;
                this.dgv1.Rows.Clear();
                this.dgv1.Columns.Clear();
                this.dgv1.Columns.Add("Id", "序号");
                this.dgv1.Columns.Add("域", "域");
                this.dgv1.Columns.Add("零件号", "零件号");
                this.dgv1.Columns.Add("零件描述", "零件描述");
                this.dgv1.Columns.Add("申请数量", "申请数量");
                this.dgv1.Columns.Add("已下发数量", "已下发数量");
                this.dgv1.Columns.Add("余下申请数量", "余下申请数量");
                this.dgv1.Columns.Add("项目预留可用", "项目预留可用");
                this.dgv1.Columns.Add("项目总的数量", "项目总的数量");
                this.dgv1.Columns.Add("单位", "单位");
                dgv1.Columns["Id"].ReadOnly     = true;
                dgv1.Columns["域"].ReadOnly      = true;
                dgv1.Columns["零件号"].ReadOnly    = true;
                dgv1.Columns["申请数量"].ReadOnly   = true;
                dgv1.Columns["已下发数量"].ReadOnly  = true;
                dgv1.Columns["余下申请数量"].ReadOnly = true;
                dgv1.Columns["项目预留可用"].ReadOnly = true;
                dgv1.Columns["项目总的数量"].ReadOnly = true;
                dgv1.Columns["单位"].ReadOnly     = true;
                //dgv1.Columns["单位"].ReadOnly = true;

                dgv1.Columns["零件描述"].ReadOnly = true;

                DataView dv = ds.Tables[0].DefaultView;
                int      i  = 1;
                foreach (DataRow dr in dv.Table.Rows)
                {
                    DataGridViewRow r = new DataGridViewRow();
                    r.CreateCells(dgv1);
                    r.Cells[0].Value = i.ToString();
                    r.Cells[1].Value = dr[0].ToString();
                    r.Cells[2].Value = dr[1].ToString();
                    r.Cells[3].Value = dr[2].ToString();
                    r.Cells[4].Value = dr[5].ToString();
                    r.Cells[5].Value = dr[6].ToString();
                    r.Cells[6].Value = dr[7].ToString();
                    r.Cells[7].Value = dr[4].ToString();
                    r.Cells[8].Value = Convert.ToDecimal(dr[4].ToString()) + Convert.ToDecimal(dr[7].ToString());
                    r.Cells[9].Value = dr[3].ToString();
                    if (Convert.ToDecimal(dr[5].ToString()) + Convert.ToDecimal(dr[8].ToString()) != 0)
                    {
                        this.dgv1.Rows.Add(r);
                        i++;
                    }
                }
            }
        }
Example #21
0
        private void btn_save_Click(object sender, EventArgs e)
        {
            // string projectid = cmb_project.SelectedValue.ToString();
            string site = cmb_site.SelectedValue.ToString();

            decimal singleWeight = 0;
            //decimal fpreAlert = 0;
            decimal fcoe = 0;

            //decimal.TryParse(sigleWeight, out singleWeight);
            //decimal.TryParse(preAlert, out fpreAlert);
            //decimal.TryParse(coe, out fcoe);
            if (ProjectId == string.Empty)
            {
                MessageBox.Show("请选择项目!");
                return;
            }
            if (dgv1.RowCount == 0)
            {
                MessageBox.Show("请选择数据!");
                return;
            }
            int kqrow;

            kqrow = dgv1.RowCount - 1;
            try
            {
                //DataSet unitds=PartParameter.QueryPartPara("select name from mm_unit_tab");
                #region 循环表,保存数据
                for (int i = 0; i <= kqrow; i++)
                {
                    string        partno = dgv1.Rows[i].Cells["零件号"].Value.ToString().Trim();
                    PartParameter pp     = PartParameter.Find(int.Parse(activity), ProjectId, partno, site, LoginUser);
                    PartParameter ppn    = new PartParameter();
                    ppn.PART_NO       = partno;
                    ppn.CONTRACT      = site;
                    ppn.PROJECTID     = ProjectId;
                    ppn.WEIGHT_SINGLE = singleWeight;
                    string  preQty  = dgv1.Rows[i].Cells["预估量"].Value.ToString().Trim();
                    decimal fpreQty = string.IsNullOrEmpty(preQty) == true ? 0 : decimal.Parse(preQty);
                    ppn.PREDICTION_QTY = decimal.Round(fpreQty, 2);
                    string preAlert = dgv1.Rows[i].Cells["预警系数"].Value.ToString().Trim();
                    //decimal fpreAlert = decimal.Parse(preAlert);
                    //ppn.PREDICTION_ALERT = decimal.Round(fpreAlert, 2);
                    //ppn.PREDICTION_ALERT = fpreAlert;
                    //ppn.COEFFICIENT_ERP = fcoe;
                    ppn.DESCRIPTION     = "";
                    ppn.PREDICT_CREATOR = LoginUser;
                    ppn.ECPROJECTID     = ecprojectid;
                    ppn.SYSTEMID        = int.Parse(activity);
                    //if (dgv1.Rows[i].Cells["分段"].Value != null)
                    //    ppn.BLOCKID = dgv1.Rows[i].Cells["分段"].Value.ToString();
                    ppn.PARTID = int.Parse(dgv1.Rows[i].Cells["序号"].Value.ToString());
                    #region 判断Unit是否是合格格式
                    //if (dgv1.Rows[i].Cells[2].Value != null)
                    //{
                    //    string punit = dgv1.Rows[i].Cells[2].Value.ToString().Trim().ToLower();
                    //    DataRow[] pone = unitds.Tables[0].Select("name ='"+punit+"'");
                    //    if (pone.Length != 0)
                    //    {
                    //        ppn.UNIT = punit;
                    //    }
                    //    else
                    //    {
                    //        MessageBox.Show("第"+(i+1)+"行单位名称不规范,请检查!","错误提示");
                    //        dgv1.Rows[i].Selected=true;
                    //        return;
                    //    }
                    //}
                    #endregion
                    if (pp != null)
                    {
                        if (dgv1.Rows[i].Cells["checkbox"].Value != null)
                        {
                            if (fpreQty > 0 || dgv1.Rows[i].Cells["checkbox"].Value.ToString() == "1")
                            {
                                DateTime cdate = pp.CREATEDATE;
                                int      count = ppn.Update();
                                ppn.LAST_FLAG        = 0;
                                ppn.PREDICTION_QTY   = pp.PREDICTION_QTY;
                                ppn.PREDICTION_ALERT = pp.PREDICTION_ALERT;
                                ppn.CREATEDATE       = cdate;
                                int countnew = 0;
                                if (pp.PREDICTION_QTY != fpreQty)
                                {
                                    countnew = ppn.Add();
                                }
                                if (count == 0)
                                {
                                    MessageBox.Show("更新失败");
                                }
                            }
                        }
                    }
                    else
                    {
                        if (dgv1.Rows[i].Cells["checkbox"].Value != null)
                        {
                            if (fpreQty > 0 || dgv1.Rows[i].Cells["checkbox"].Value.ToString() == "1")
                            {
                                ppn.CREATEDATE = DateTime.Today;
                                ppn.LAST_FLAG  = 1;
                                int count = ppn.Add();
                                if (count == 0)
                                {
                                    MessageBox.Show("添加失败");
                                }
                            }
                        }
                    }
                }
                #endregion

                MessageBox.Show("保存材料预估量成功!! ", "温馨提示!");
            }
            catch (Exception err)
            {
                MessageBox.Show("错误原因:" + err.Message, "错误提示信息",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            QuerydataBindpara();
        }
        public void listviewBind(string sql)
        {
            this.dgv1.AutoGenerateColumns = false;
            this.dgv1.Rows.Clear();
            DataSet  ds = MEOsub.QueryPartMiscProcListEPR(sql);
            DataView dv = ds.Tables[0].DefaultView;
            int      i  = 1;

            foreach (DataRow dr in dv.Table.Rows)
            {
                string        projectid = dr[1].ToString();
                string        partno    = dr[2].ToString();
                string        site      = dr[0].ToString();
                PartParameter pp        = PartParameter.Find(0, projectid, partno, site, "weijun.qu");
                decimal       preQty    = 0;
                decimal       singleW   = 0;
                decimal       preAlert  = 0;
                if (pp != null)
                {
                    preQty   = pp.PREDICTION_QTY;
                    singleW  = pp.WEIGHT_SINGLE;
                    preAlert = pp.PREDICTION_ALERT;
                }
                PartRelative pr = new PartRelative();
                pr.ERP_PART_NO = partno;
                pr.STA_PART_NO = partno;
                pr.SITE        = site;
                pr.PROJECTID   = projectid;
                pr.ACTIVITYSEQ = Convert.ToInt32(Str_activity);
                string isStandPart = "";
                string isMerged    = "";
                if (pr.IFStandardPart())
                {
                    isStandPart = "是";
                }
                if (pr.IFmerged1())
                {
                    isMerged = "是";
                }
                string          StnPartno = PartRelative.FindRelativeStnPartno(partno, projectid, Convert.ToInt32(Str_activity), site);
                DataGridViewRow r         = new DataGridViewRow();
                r.CreateCells(dgv1);
                r.Cells[1].Value             = i.ToString();
                r.Cells[2].Value             = dr[0].ToString();
                r.Cells[3].Value             = dr[2].ToString();
                r.Cells[4].Value             = dr[3].ToString();
                r.Cells[5].Value             = dr[4].ToString();
                dgv1.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                r.Cells[6].Value             = pp == null ? string.Empty : pp.PREDICTION_QTY.ToString();
                r.Cells[7].Value             = pp == null ? string.Empty : pp.WEIGHT_SINGLE.ToString();
                r.Cells[8].Value             = isMerged;
                r.Cells[9].Value             = isStandPart;
                r.Cells[10].Value            = StnPartno;
                //r.Cells[8].Value = MeoNo;
                //r.Cells[9].Value = MeoQty.ToString();
                //r.Cells[10].Value = Str_MeoPcs;

                //r.Cells[11].Value = Str_Meotime;
                //r.Cells[12].Value = restQty.ToString();
                //r.Cells[13].Value = MssQty.ToString();

                this.dgv1.Rows.Add(r);
                i++;
            }
        }
Example #23
0
        /// <summary>
        /// 查找材料以及库存
        /// </summary>
        public void QuerydataBind()
        {
            //string ProjectId = cmb_project.SelectedValue.ToString();
            site = cmb_site.SelectedValue.ToString();
            string partno    = cmb_partno.Text.Trim().ToString();
            string PartName  = cmb_partname.Text.Trim().ToString();
            string parttype  = tb_type.Text.Trim().ToString();
            string partmat   = tb_mat.Text.Trim().ToString();
            string partlevel = tb_level.Text.Trim().ToString();
            string partcert  = tb_cert.Text.Trim().ToString();
            //string spec4 = tb_spec4.Text.Trim().ToString();
            string        spec1        = tb_spec1.Text.Trim().ToString();
            string        spec2        = tb_spec2.Text.Trim().ToString();
            string        spec3        = tb_spec3.Text.Trim().ToString();
            string        spec4        = tb_spec4.Text.Trim().ToString();
            StringBuilder sb           = new StringBuilder();
            string        spec_namestr = PartParameter.GetSpecName(activity);
            string        pluscolum    = string.Empty;

            //if (cb_showqty.Checked == true)
            //    pluscolum = ",'' 项目可用库存量,'' 项目采购数量,'' 项目预留数量";
            //if (ProjectId != string.Empty) sb.Append(" AND PROJECTID = '" + ProjectId + "'");
            if (site != string.Empty)
            {
                sb.Append(" AND CONTRACT = '" + site + "'");
            }
            if (partno != string.Empty)
            {
                sb.Append(" AND part_no like '%" + partno + "%'");
            }
            if (PartName != string.Empty)
            {
                sb.Append(" AND part_spec like'%" + PartName + "%'");
            }
            if (parttype != string.Empty)
            {
                sb.Append(" AND part_type like'%" + parttype + "%'");
            }
            if (spec1 != string.Empty)
            {
                sb.Append(" AND part_spec1 like '%" + spec1 + "%'");
            }
            if (spec2 != string.Empty)
            {
                sb.Append(" AND part_spec2 like '%" + spec2 + "%'");
            }
            if (spec3 != string.Empty)
            {
                sb.Append(" AND part_spec3 like'%" + spec3 + "%'");
            }
            if (spec4 != string.Empty)
            {
                sb.Append(" AND part_spec4 like'%" + spec4 + "%'");
            }
            if (partmat != string.Empty)
            {
                sb.Append(" AND part_mat like '%" + partmat + "%'");
            }
            if (partcert != string.Empty)
            {
                sb.Append(" AND part_cert like'%" + partcert + "%'");
            }
            if (partlevel != string.Empty)
            {
                sb.Append(" AND part_level like'%" + partlevel + "%'");
            }
            //string sqlSelect = "SELECT '','',pp.*,'' FROM  PLM.MM_PART_TAB pp WHERE 1=1 and parentid= " + activity;
            string sqlSelect = "select t.ID 序号,t.part_no 零件号,t.part_type 零件类别,t.part_spec 零件规格," + spec_namestr +
                               "t.part_mat 材质,t.part_cert 证书,t.part_unit 单位,t.part_unitdensity 单位密度,t.part_densityunit 密度单位,t.part_level 等级,t.parentid,t.contract 域" +
                               ",t.supplycircle 采购周期,t.replace_code 替代码" + pluscolum + " from mm_part_tab t WHERE 1=1 and parentid= " + activity;
            string wheresql = sb.ToString();

            sqlSelect = sqlSelect + wheresql + " order by t.parentid,t.part_type";
            listviewBind(sqlSelect);
        }
Example #24
0
        private void tvMType_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            #region 根据不同材料设置不同的材料属性
            if (e.Node.Name == "activity")
            {
                activity = e.Node.Tag.ToString();
                int specnum = PartParameter.GetSpecCou(activity);
                if (specnum != 0)
                {
                    if (specnum > 0)
                    {
                        lspec1.Visible   = true;
                        tb_spec1.Visible = true;
                        lspec2.Visible   = false;
                        tb_spec2.Visible = false;
                        lspec3.Visible   = false;
                        tb_spec3.Visible = false;
                        lspec4.Visible   = false;
                        tb_spec4.Visible = false;
                        lspec1.Text      = PartParameter.GetSpecName(activity, "1").Trim();
                        //relocation();
                    }
                    if (specnum > 1)
                    {
                        lspec2.Visible   = true;
                        tb_spec2.Visible = true;
                        lspec3.Visible   = false;
                        tb_spec3.Visible = false;
                        lspec4.Visible   = false;
                        tb_spec4.Visible = false;
                        lspec2.Text      = PartParameter.GetSpecName(activity, "2").Trim();
                        //relocation();
                    }
                    if (specnum > 2)
                    {
                        lspec3.Visible   = true;
                        tb_spec3.Visible = true;
                        lspec4.Visible   = false;
                        tb_spec4.Visible = false;
                        lspec3.Text      = PartParameter.GetSpecName(activity, "3").Trim();
                        //relocation();
                    }
                    if (specnum > 3)
                    {
                        lspec4.Visible = true; tb_spec4.Visible = true; lspec4.Text = PartParameter.GetSpecName(activity, "4").Trim();
                    }
                }
                else
                {
                    lspec1.Visible   = false;
                    tb_spec1.Visible = false;
                    lspec2.Visible   = false;
                    tb_spec2.Visible = false;
                    lspec3.Visible   = false;
                    tb_spec3.Visible = false;
                    lspec4.Visible   = false;
                    tb_spec4.Visible = false;
                    //relocation();
                }



                //BindPartNobyAct();
                //cmb_partno.Text = site;
                //if (sub2pro == "")
                //{
                //    sub2pro = "03";
                //}
                //cmb_site.SelectedValue = sub2pro;
                //QuerydataBind();
            }
            #endregion
        }
        /// <summary>
        /// 根据货物所占百分比画饼图
        /// </summary>
        /// <param name="objgraphics">Graphics类对象</param>
        /// <param name="M_str_sqlstr">SQL语句</param>
        /// <param name="M_str_table">表名</param>
        /// <param name="M_str_Num">数据表中货物数</param>
        /// <param name="M_str_tbGName">数据表中货物名称</param>
        /// <param name="M_str_title">饼图标题</param>
        public void drawPic(Graphics objgraphics, string M_str_sqlstr, string M_str_table, string M_str_Num, string M_str_tbGName, string M_str_title)
        {
            DataSet myds = PartParameter.QueryPartPara(M_str_sqlstr);
            float   M_flt_total = 0.0f, M_flt_tmp;
            int     M_int_iloop;

            for (M_int_iloop = 0; M_int_iloop < myds.Tables[0].Rows.Count; M_int_iloop++)
            {
                M_flt_tmp    = Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num]);
                M_flt_total += M_flt_tmp;
            }
            Font      fontlegend = new Font("verdana", 9), fonttitle = new Font("verdana", 10, FontStyle.Bold); //设置字体
            int       M_int_width        = 275;                                                                 //白色背景宽
            const int Mc_int_bufferspace = 15;
            int       M_int_legendheight = fontlegend.Height * (myds.Tables[0].Rows.Count + 1) + Mc_int_bufferspace;
            int       M_int_titleheight  = fonttitle.Height + Mc_int_bufferspace;
            int       M_int_height       = M_int_width + M_int_legendheight + M_int_titleheight + Mc_int_bufferspace;//白色背景高
            int       M_int_pieheight    = M_int_width;
            Rectangle pierect            = new Rectangle(0, M_int_titleheight, M_int_width, M_int_pieheight);
            //加上各种随机色
            Bitmap objbitmap = new Bitmap(M_int_width, M_int_height);//创建一个bitmap实例

            objgraphics = Graphics.FromImage(objbitmap);
            ArrayList colors = new ArrayList();
            Random    rnd    = new Random();

            for (M_int_iloop = 0; M_int_iloop < myds.Tables[0].Rows.Count; M_int_iloop++)
            {
                colors.Add(new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255))));
            }
            objgraphics.FillRectangle(new SolidBrush(Color.White), 0, 0, M_int_width, M_int_height); //画一个白色背景
            objgraphics.FillRectangle(new SolidBrush(Color.LightYellow), pierect);                   //画一个亮黄色背景
            //以下为画饼图(有几行row画几个)
            float M_flt_currentdegree = 0.0f;

            for (M_int_iloop = 0; M_int_iloop < myds.Tables[0].Rows.Count; M_int_iloop++)
            {
                objgraphics.FillPie((SolidBrush)colors[M_int_iloop], pierect, M_flt_currentdegree,
                                    Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num]) / M_flt_total * 360);
                M_flt_currentdegree += Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num]) / M_flt_total * 360;
            }
            //以下为生成主标题
            SolidBrush   blackbrush   = new SolidBrush(Color.Black);
            StringFormat stringFormat = new StringFormat();

            stringFormat.Alignment     = StringAlignment.Center;
            stringFormat.LineAlignment = StringAlignment.Center;
            objgraphics.DrawString(M_str_title, fonttitle, blackbrush, new Rectangle(0, 0, M_int_width, M_int_titleheight), stringFormat);
            objgraphics.DrawRectangle(new Pen(Color.Black, 2), 0, M_int_height - M_int_legendheight, M_int_width, M_int_legendheight);
            for (M_int_iloop = 0; M_int_iloop < myds.Tables[0].Rows.Count; M_int_iloop++)
            {
                objgraphics.FillRectangle((SolidBrush)colors[M_int_iloop], 5, M_int_height - M_int_legendheight + fontlegend.Height * M_int_iloop + 5, 10, 10);
                objgraphics.DrawString(((String)myds.Tables[0].Rows[M_int_iloop][M_str_tbGName]) + " —— "
                                       + Convert.ToString(Convert.ToSingle(myds.Tables[0].Rows[M_int_iloop][M_str_Num]) * 100 / M_flt_total) + "%", fontlegend, blackbrush,
                                       20, M_int_height - M_int_legendheight + fontlegend.Height * M_int_iloop + 1);
            }
            objgraphics.DrawString("总货物数是:" + Convert.ToString(M_flt_total), fontlegend, blackbrush, 5, M_int_height - fontlegend.Height);
            string P_str_imagePath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0,
                                                                                                            Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));

            P_str_imagePath += @"\Image\image\" + DateTime.Now.ToString("yyyyMMddhhmss") + ".jpg";
            objbitmap.Save(P_str_imagePath, ImageFormat.Jpeg);
            objgraphics.Dispose();
            objbitmap.Dispose();
        }
Example #26
0
        public void CheckImportData()
        {
            #region 首先检查要导入的Excel数据中ERP代码是否在ERP系统中存在
            string       txtfilename = System.Windows.Forms.Application.StartupPath + "\\错误信息.txt";
            StreamWriter sw          = new StreamWriter(txtfilename, false, Encoding.GetEncoding("gb2312"));
            int          flag        = 0;
            try
            {
                for (int i = 0; i < dgv2.Rows.Count - 1; i++)
                {
                    string partno = dgv2.Rows[i].Cells[4].Value.ToString();
                    if (!string.IsNullOrEmpty(partno))
                    {
                        InventoryPart invpartnew = InventoryPart.FindInvInfor(partno, mSite);
                        if (invpartnew == null)
                        {
                            System.Diagnostics.Trace.WriteLine("第" + (i + 1) + "行材料编码 " + partno + " 在ERP中所选择域无此材料编码,请联系ERP操作员,在ERP中添加。");
                            sw.WriteLine("第" + (i + 1) + "行材料编码 " + partno + " 在ERP中所选择域无此材料编码,请联系ERP操作员,在ERP中添加。", "温馨提示");
                            flag = 1;
                        }
                    }
                    else
                    {
                        System.Diagnostics.Trace.WriteLine("第" + (i + 1) + "行材料编码 " + partno + " 在没有填写,在ERP中添加活查询后填写。");
                        sw.WriteLine("第" + (i + 1) + "行材料编码 " + partno + " 在没有填写,在ERP中添加活查询后填写。", "温馨提示");
                        flag = 1;
                    }
                    if (!string.IsNullOrEmpty(dgv2.Rows[i].Cells[6].Value.ToString()))
                    {
                        string rqty = dgv2.Rows[i].Cells[6].Value.ToString();
                        if (BaseClass.validateNum(rqty) == false)
                        {
                            System.Diagnostics.Trace.WriteLine("请确认第" + (i + 1) + "行" + partno + " 预估数量输入数字!!!");
                            sw.WriteLine("请确认第" + (i + 1) + "行" + partno + " 预估数量输入数字!!!", "温馨提示");
                            flag = 1;
                        }
                    }
                    if (!string.IsNullOrEmpty(dgv2.Rows[i].Cells[7].Value.ToString()))
                    {
                        string rqty = dgv2.Rows[i].Cells[7].Value.ToString();
                        if (BaseClass.validateNum(rqty) == false)
                        {
                            System.Diagnostics.Trace.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第一批生产需求数量输入数字!!!");
                            sw.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第一批生产需求数量输入数字!!!", "温馨提示");
                            flag = 1;
                        }
                    }
                    else
                    {
                        System.Diagnostics.Trace.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第一批生产需求数量没有输入数字!!!");
                        sw.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第一批生产需求数量没有输入数字!!!", "温馨提示");
                        flag = 1;
                    }
                    if (!string.IsNullOrEmpty(dgv2.Rows[i].Cells[9].Value.ToString()))
                    {
                        string rqty = dgv2.Rows[i].Cells[9].Value.ToString();
                        if (BaseClass.validateNum(rqty) == false)
                        {
                            System.Diagnostics.Trace.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第一批生产需求数量输入数字!!!");
                            sw.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第一批生产需求数量输入数字!!!", "温馨提示");
                            flag = 1;
                        }
                    }
                    else
                    {
                        System.Diagnostics.Trace.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第二批生产需求数量没有输入数字!!!");
                        sw.WriteLine("请确认第" + (i + 1) + "行 " + partno + " 第二批生产需求数量没有输入数字!!!", "温馨提示");
                        flag = 1;
                    }
                }
                if (flag == 1)
                {
                    sw.Close();
                    MessageBox.Show("要导入的预估文件数据有误,请检查!");
                    System.Diagnostics.Process.Start("explorer.exe", txtfilename);
                    return;
                }
                #endregion
                DialogResult dgresult = MessageBox.Show("确定要将预估结果进行导入吗?", "操作确认", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (dgresult == DialogResult.No)
                {
                    return;
                }
                #region 首先将上次的预估结果保存为历史记录(按照预估人,专业,区域进行覆盖)

                PartParameter.DeleteEstimate(mSite, ProjectId, DisciplineId);
                #endregion
                ImportDataHanlder ImportData = new ImportDataHanlder(ImportParaData);
                ImportData.BeginInvoke(null, null);
            }
            catch (Exception et) { MessageBox.Show(et.Message); }
            finally { MessageBox.Show("预估数据导入成功!!!", "操作提示"); }
        }
Example #27
0
        public void listviewBind(string sql)
        {
            //更改并设置列名称以及属性
            DataSet ds = PartParameter.QueryPartPara(sql);

            dgv1.DataSource = ds.Tables[0];
            //DataGridViewComboBoxColumn dgvcom = new DataGridViewComboBoxColumn();
            //dgvcom.DataSource = PartParameter.QueryPartPara("select name from mm_unit_tab").Tables[0].DefaultView;;
            //dgvcom.DisplayMember = "name";
            //dgvcom.ValueMember = "name";
            ////dgv1.Columns.Insert(1, dgvcom);
            //dgv1.GridColumnStyles[1]=dgvcom;
            //dgv1.Columns["零件认证"].Width = 100;
            //dgv1.Columns["单位密度"].ValueType = typeof();
            //dgv1.Columns["零件材质"].ValueType = typeof(float);
            dgv1.Columns["域"].ReadOnly   = true;
            dgv1.Columns["序号"].ReadOnly  = true;
            dgv1.Columns["零件号"].ReadOnly = true;
            //dgv1.Columns["零件类别"].ReadOnly = true;
            //dgv1.Columns["零件规格"].ReadOnly = true;
            //dgv1.Columns["材质"].ReadOnly = true;
            //dgv1.Columns["证书"].ReadOnly = true;
            //dgv1.Columns["单位"].ReadOnly = true;

            dgv1.Columns["parentid"].Visible = false;
            #region 将库存值填入表格
            if (cb_showqty.Checked == true)
            {
                dgv1.Columns["项目预留数量"].ReadOnly  = true;
                dgv1.Columns["项目采购数量"].ReadOnly  = true;
                dgv1.Columns["项目可用库存量"].ReadOnly = true;
                if (dgv1.RowCount != 0)
                {
                    ProjectCmbItem item = (ProjectCmbItem)cmb_project.SelectedItem;
                    if (item == null)
                    {
                        MessageBox.Show("请选择所查询的项目");
                        return;
                    }
                    string projectname = item.Value;

                    for (int i = 0; i < dgv1.Rows.Count; i++)
                    {
                        string        partno     = dgv1.Rows[i].Cells["零件号"].Value.ToString();
                        InventoryPart part_kucun = InventoryPart.GetOnhandqty(site, partno, projectname.Substring(projectname.Length - 3, 3));;
                        if (part_kucun != null)
                        {
                            dgv1.Rows[i].Cells["项目可用库存量"].Value = part_kucun.qty_onhand;
                            dgv1.Rows[i].Cells["项目采购数量"].Value  = Convert.ToDecimal(part_kucun.qty_onhand) - Convert.ToDecimal(part_kucun.qty_reserved);
                            dgv1.Rows[i].Cells["项目预留数量"].Value  = part_kucun.qty_reserved;
                        }
                        else
                        {
                            dgv1.Rows[i].Cells["预估量"].Value = 0;
                            //dgv1.Rows[i].Cells[2].Value = "M";
                        }
                    }
                    //}
                }
            }
            #endregion

            //#region 设置列的只读性
            //int specnum = PartParameter.GetSpecCou(activity);
            //if (specnum != 0)
            //{
            //    if (specnum > 0)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "1").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //    if (specnum > 1)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "2").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //    if (specnum > 2)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "3").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //    if (specnum > 3)
            //    {
            //        string colstr = PartParameter.GetSpecName(activity, "4").Trim();
            //        dgv1.Columns[colstr].ReadOnly = true;
            //    }
            //}
            //#endregion

            #region 将已设置过的预估值填入表格
            //if (dgv1.RowCount != 0)
            //{
            //    List<PartParameter> pp = PartParameter.FindPartList(activity, ProjectId,LoginUser,1);
            //    //if (pp.Count != 0)
            //    // {
            //    for (int i = 0; i < dgv1.Rows.Count; i++)
            //    {

            //        int partid = int.Parse(dgv1.Rows[i].Cells["序号"].Value.ToString());
            //        PartParameter pone = pp.Find(delegate(PartParameter bb) { return bb.ID == partid; });
            //        if (pone != null)
            //        {
            //            dgv1.Rows[i].Cells["预估量"].Value = pone.PREDICTION_QTY;
            //            //dgv1.Rows[i].Cells[2].Value = pone.UNIT;
            //        }
            //        else
            //        {
            //            dgv1.Rows[i].Cells["预估量"].Value = 0;
            //            //dgv1.Rows[i].Cells[2].Value = "M";
            //        }

            //    }
            //    //}
            //}
            #endregion
        }
Example #28
0
        private void button4_Click(object sender, EventArgs e)
        {
            string site            = cmb_site.SelectedValue.ToString();
            string partno          = cmb_partno.Text.Trim().ToString();
            string partspec        = cmb_partname.Text.Trim().ToString();
            string parttype        = tb_type.Text.Trim().ToString();
            string partmat         = tb_mat.Text.Trim().ToString();
            string partlevel       = tb_level.Text.Trim().ToString();
            string partcert        = tb_cert.Text.Trim().ToString();
            string purchasec       = tb_pc.Text.Trim().ToString();
            string spec1           = tb_spec1.Text.Trim().ToString();
            string spec2           = tb_spec2.Text.Trim().ToString();
            string spec3           = tb_spec3.Text.Trim().ToString();
            string spec4           = tb_spec4.Text.Trim().ToString();
            string partunit        = tb_unit.Text.Trim().ToString();
            string partunitdestiny = tb_unitdestiny.Text.Trim().ToString();
            string partdestinyunit = txt_destinyunit.Text.Trim().ToString();

            //if (ProjectId == string.Empty)
            //{
            //    MessageBox.Show("请选择项目!");
            //    return;
            //}
            if (partno == string.Empty)
            {
                MessageBox.Show("请填写零件编号!");
                return;
            }
            if (Part.Exist(partno))
            {
                MessageBox.Show("此零件编号已经存在,请检查!");
                return;
            }
            if (partspec == string.Empty)
            {
                MessageBox.Show("请填写零件规格!");
                return;
            }
            if (parttype == string.Empty)
            {
                MessageBox.Show("请填写零件类型!");
                return;
            }
            if (partmat == string.Empty)
            {
                MessageBox.Show("请填写零件材质!");
                return;
            }
            if (partcert == string.Empty)
            {
                MessageBox.Show("请填写零件证书!");
                return;
            }
            if (partlevel == string.Empty)
            {
                MessageBox.Show("请填写零件等级!");
                return;
            }
            try
            {
                DataSet unitds = PartParameter.QueryPartPara("select name from mm_unit_tab");
                //string partno = dgv1.Rows[i].Cells["零件号"].Value.ToString().Trim();
                //PartParameter pp = PartParameter.Find(ProjectId, partno, site, LoginUser);
                Part ppn = new Part();
                ppn.PART_NO   = partno;
                ppn.CONTRACT  = site;
                ppn.PARENTID  = int.Parse(activity);
                ppn.PART_CERT = partcert;
                if (partunitdestiny != string.Empty)
                {
                    ppn.PART_UNITDENSITY = decimal.Parse(partunitdestiny);
                }
                if (partdestinyunit != string.Empty)
                {
                    ppn.PART_DENSITYUNIT = partdestinyunit;
                }
                ppn.PART_LEVEL = partlevel;
                ppn.PART_SPEC  = partspec;
                ppn.PART_SPEC1 = spec1;
                ppn.PART_SPEC2 = spec2;
                ppn.PART_SPEC3 = spec3;
                ppn.PART_SPEC4 = spec4;
                ppn.CREATOR    = LoginUser;
                ppn.PART_UNIT  = partunit;
                ppn.PART_MAT   = partmat;
                ppn.PART_TYPE  = parttype;
                if (purchasec != string.Empty)
                {
                    ppn.SUPPLYCIRCLE = int.Parse(purchasec);
                }
                else
                {
                    ppn.SUPPLYCIRCLE = 10;
                }
                #region 判断Unit是否是合格格式

                DataRow[] pone = unitds.Tables[0].Select("name ='" + partunit + "'");
                if (pone.Length != 0)
                {
                    ppn.PART_UNIT = partunit;
                }
                else
                {
                    MessageBox.Show("单位名称不规范,请检查!", "错误提示");
                    tb_unit.Focus();
                    return;
                }

                #endregion
                int count = ppn.Add();
                if (count == 0)
                {
                    MessageBox.Show("添加失败");
                    return;
                }
                MessageBox.Show("保存零件成功!! ", "温馨提示!");
                QuerydataBind();
                #region
                //int cou = PartParameter.GetSpecCou(activity);
                //DataGridViewRow newrow = new DataGridViewRow();
                //dgv1.Rows.Insert(0, newrow);

                //newrow.CreateCells(dgv1);
                //newrow.Cells[11 + cou].Value = site;
                //if (cou > 0)
                //{
                //    newrow.Cells[4].Value = spec1;
                //}
                //if (cou > 1)
                //{
                //    newrow.Cells[5].Value = spec2;
                //}
                //if (cou > 2)
                //{
                //    newrow.Cells[6].Value = spec3;
                //}
                //if (cou > 3)
                //{
                //    newrow.Cells[7].Value = spec4;
                //}

                //newrow.Cells[2].Value = parttype;
                //newrow.Cells[3].Value = partspec;
                //newrow.Cells[4+cou].Value = partmat;
                //newrow.Cells[5 + cou].Value = partcert;
                //newrow.Cells[6 + cou].Value = partunit;
                ////newrow.Cells["密度单位"].Value = partunit;
                //newrow.Cells[9 + cou].Value = partlevel;
                //newrow.Cells[7 + cou].Value = partunitdestiny;
                //newrow.Cells[10 + cou].Value = activity;
                //dgv1.Rows.Add(newrow);
                #endregion
            }
            catch (Exception err)
            {
                MessageBox.Show("错误原因:" + err.Message, "错误提示信息",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }