yangle
2022-10-08 b27cc0c7af4cb9f5b404c95f90c63be22668d0a6
WorkM/Á÷ת¿¨¹ÜÀí/MES_StationInBill.cs
@@ -17,6 +17,7 @@
        {
            InitializeComponent();
        }
        public DBUtility.frmBillQueryCondition_New frmCondition;
        public string ModName = "3790";
        public string ModCaption = "进站接收单";
        public const string ModRightName = "MES_StationInBill";
@@ -30,8 +31,9 @@
        public DAL.ClsSc_StationInBill BillNew = new DAL.ClsSc_StationInBill();
        public DAL.ClsSc_StationInBill BillOld = new DAL.ClsSc_StationInBill();
        public Int64 lngBillKey;
        public Int64 lngBillSubKey;
        public Int64 HInterID;//主内吗
        public Int64 lngBillKey; //流转卡ID
        public Int64 lngBillSubKey; //流转卡子ID
        public Int64 lngICMOEntryID;
        //-------------------------------------------------------------------------
@@ -42,7 +44,14 @@
        public void Sub_ClearBill()
        {
            DBUtility.Xt_BaseBillFun.Sub_ClearBill(gbUp);
            DBUtility.Xt_BaseBillFun.Sub_ClearBill1(tabPage1);
            DBUtility.Xt_BaseBillFun.Sub_ClearBill1(tabPage2);
            initGrid();
            txtHBarCode.Text = "";
            txtHProcExchBillNo.Enabled = true;
            txtHProcNo.Enabled = true;
            txtHBarCode.Enabled = true;
            tabControl1.SelectedIndex = 0;
            txtHBarCode.Focus();
            //得到接收人信息(进站接收人默认为登录人,根据登录人用户名,找到职员同名的记录,默认写入 æŽ¥æ”¶äºº æ–‡æœ¬æ¡†ï¼›å¦‚果没找到则为空;)
            DataSet Ds;
@@ -67,6 +76,7 @@
            DBUtility.Xt_BaseBillFun.initGridMESList(grdCardList, this.Name + "grdCardList");
            DBUtility.Xt_BaseBillFun.initGridList(grdSub, this.Name);
            grdSub.SelectionMode = DataGridViewSelectionMode.CellSelect;
            grdCardList.DataSource = null;
        }
        private void Display()
@@ -129,6 +139,7 @@
        //取消按钮
        private void cmdCancel_Click(object sender, EventArgs e)
        {
            ClsPub.SaveGridView(grdSub, Name+"grdSub", ClsPub.AppPath);//设置列宽
            this.Close();
        }
        //控件位置
@@ -142,6 +153,7 @@
        //窗体加载
        private void Sc_StationInBill_Load(object sender, EventArgs e)
        {
            frmCondition = new DBUtility.frmBillQueryCondition_New();
            //打印初始化       
            this.Text = ModCaption;
            this.lblCaption.Text = ModCaption;
@@ -169,7 +181,7 @@
        private void Sc_StationInBill_FormClosing(object sender, FormClosingEventArgs e)
        {
            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
            //DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
            //DBUtility.Xt_BaseBillFun.SaveGrid(grdSub, this.Name);
            DBUtility.Xt_BaseBillFun.SaveGrid(grdCardList, this.Name + "grdCardList");
        }
        //新增单据
@@ -183,11 +195,11 @@
            this.txtHStationInTime.Text = DBUtility.ClsPub.GetServerDate(-1);
            this.txtHBillNo.Text = ClsPub.CreateBillCode(BillNew.BillType, ref ClsPub.sExeReturnInfo, true);//得到新单号
            if (lngBillKey != 0 )
            {
                //LotShow();
            }
            this.HInterID = DBUtility.ClsPub.CreateBillID(this.ModName, ref DBUtility.ClsPub.sExeReturnInfo);
            //if (lngBillKey != 0 )
            //{
            //    //LotShow();
            //}
        }
        private void LotShow() //自动载入 æµè½¬å¡è¿›ç«™ç•Œé¢åŠŸèƒ½
@@ -403,6 +415,13 @@
            //
            txtHProcExchBillNo.Enabled = false;
            txtHProcNo.Enabled = false;
            //加载 é…ä»¶ç»‘定清单
            HInterID = BillOld.omodel.HInterID;
            DisplaySub();
        }
        //单据完整性判断          æœªå®Œæˆ
@@ -547,10 +566,26 @@
                return false;
            //赋值ID
            if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify)
            {
                BillNew.omodel.HInterID = BillOld.omodel.HInterID;
            }
            else
            {
                BillNew.omodel.HInterID = HInterID;
            }
            //主类赋值
            BillNew.omodel.HYear = 2011;
            BillNew.omodel.HPeriod = 1;
            //判断会计期是否合理
            string s = "";
            int sYear = 0;
            int sPeriod = 0;
            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DBUtility.ClsPub.isDate(this.txtHStationInTime.Text), ref sYear, ref sPeriod, ref s) == false)
            {
                MessageBox.Show(s, "提示");
                return false;
            }
            //
            BillNew.omodel.HYear = sYear;
            BillNew.omodel.HPeriod = sPeriod;
            BillNew.omodel.HBillNo = this.txtHBillNo.Text.Trim();
            BillNew.omodel.HICMOBillNo = this.txtHICMOBillNo.Text.Trim();
            BillNew.omodel.HICMOInterID =  DBUtility.ClsPub.isLong(this.txtHICMOBillNo.Tag);
@@ -954,6 +989,7 @@
                    txtHGroupID.Tag = 0;
                    txtHGroupName.Text = "";
                }
                txtHQty.Focus();
            }
        }
@@ -1008,7 +1044,17 @@
                {
                    Sub_WriteInForm_SM2(Ds.Tables[0], i);
                }
                txtHQty.Focus();
                //如果系统参数启用了 è¿›ç«™å•绑定配件清单则 ä»Žç”Ÿäº§ç”¨æ–™æ¸…单中获取工序BOM写入 ä¸´æ—¶è¡¨ï¼Œå¹¶åŠ è½½è¡¨æ ¼
                Pub_Class.ClsXt_SystemParameter oParam = new ClsXt_SystemParameter();
                string sIsBingLine = oParam.GetSingleSystemParameter("MES_StationInBill_LineBindCtl",ref DBUtility.ClsPub.sExeReturnInfo );
                if (sIsBingLine.Trim() == "Y")
                {
                    oCn.RunProc("exec h_p_MES_StationInBillSubBindSource_Insert " + lngBillKey.ToString() + " , " + lngBillSubKey.ToString() + "," + HInterID.ToString() + " ");
                    //刷新表体网格数据
                    DisplaySub();
                }
                //
                txtHGroupID.Focus();
            }
        }
@@ -1418,5 +1464,133 @@
        {
            this.Sub_AddBill();
        }
        //配件条形码 å›žè½¦äº‹ä»¶
        private void txtHBarCode_Mater_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode == Keys.Return)
                {
                    if (txtHBarCode_Mater.Text.Trim() == "")
                    {
                        MessageBox.Show("请输入条形码!");
                        return;
                    }
                    string sBarCode = txtHBarCode_Mater.Text.Trim();
                    txtHBarCode_Mater.Text = "";
                    //判断条形码是否在条码档案中,判断条形码是否合理
                    //先判断 ä¸´æ—¶è¡¨ä¸­æ˜¯å¦æœ‰æ•°æ®ï¼Œæ¡å½¢ç çš„物料是否在清单中,写入 æ‰«ç è®°å½•表
                    //得到信息
                    SQLHelper.ClsCN oCn = new ClsCN();
                    DataSet Ds;
                    Ds = oCn.RunProcReturn("exec h_p_MES_StationInBillSub_BindBarCode   " + HInterID.ToString() + " ,'" + sBarCode + "'", "h_p_MES_StationInBillSub_BindBarCode");
                    //写入信息
                    if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                    {
                        MessageBox.Show("未查询到条形码信息!");
                        return;
                    }
                    else if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 2)
                    {
                        MessageBox.Show("错误!" + DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]));
                        return;
                    }
                    //刷新表体网格数据(最好颜色显示)
                    DisplaySub();
                }
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.Message + "txtHBarCode_Mater_KeyDown");
            }
        }
        private void DisplaySub()
        {
            try
            {
                SQLHelper.ClsCN oCn = new ClsCN();
                DataSet Dsplay;
                Dsplay = oCn.RunProcReturn("exec h_p_MES_StationInBillSub_BindDisplay   " + HInterID.ToString() + "  ", "h_p_MES_StationInBillSub_BindDisplay");
                //写入信息
                if (Dsplay == null )
                {
                    MessageBox.Show("刷新失败!");
                    return;
                }
                else if(Dsplay.Tables[0].Rows.Count == 0)
                {
                    return;
                }
                else
                {
                    //释放冻结
                    DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdSub);
                    //
                    grdSub.DataSource = Dsplay.Tables[0].DefaultView;
                    //设置合计列
                    //string sTotalCol = "";
                    //sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet);
                    //string[] sT;
                    //sT = sTotalCol.Split(Convert.ToChar(","));
                    //oSumGrid.BuildTotalCols(sT);
                    //
                    //冻结
                    int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text);
                    string s = frmCondition.cmbHComplete.Text;
                    DBUtility.Xt_BaseBillFun.DisplayGrid(grdSub, this.Name, s, FrCol);
                    //画线
                    GraphLine();
                    //冻结
                    //int FrCol = 0;
                    //string s = "是";
                    //DBUtility.Xt_BaseBillFun.DisplayGrid(grdSub, this.Name + "grdSub", s, FrCol);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message + "DisplaySub");
            }
        }
        private void GraphLine()
        {
            int MainIDCol = 0;
            int SubIDCol = 0;
            string s = frmCondition.cmbHComplete.Text;
            long n = 0;
            DBUtility.Xt_BaseBillFun.GraphLine(grdSub, MainIDCol, SubIDCol, s, ref n);
        }
        private void cmdDelLine_Click(object sender, EventArgs e)
        {
            try
            {
                //根据选择的条形码 æ¥åˆ é™¤
                if (grdSub.CurrentRow == null)
                    return;
                string sBarCode = DBUtility.ClsPub.isStrNull(grdSub.Rows[grdSub.CurrentRow.Index].Cells[Fun_GetCol("条形码")].Value);
                SQLHelper.ClsCN oCn = new ClsCN();
                oCn.RunProc(" delete from Sc_StationInBillSub_BindBarCodeTemp " +
                    "Where  HInterID = "+ HInterID.ToString() +" and HBarCode = '"+ sBarCode + "'");
                DisplaySub();
            }
            catch (Exception e1)
            {
                MessageBox.Show("删除行失败!"+e1.Message);
            }
        }
        private void cmdHbclk_Click(object sender, EventArgs e)
        {
            //保存列宽
            DBUtility.Xt_BaseBillFun.SaveGrid(grdSub, this.Name);
        }
        private void cmdHmrlk_Click(object sender, EventArgs e)
        {
            DBUtility.Xt_BaseBillFun.DefaultGridView(grdSub, this.Name);
        }
    }
}