From c584c8f022216be96b08ce69125676e749ea2c09 Mon Sep 17 00:00:00 2001
From: zzr99 <1940172413@qq.com>
Date: 星期二, 16 八月 2022 16:45:00 +0800
Subject: [PATCH] 设备履历+器具履历

---
 PayM/工资管理/Pay_SingleBalBill.cs | 2413 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,413 insertions(+), 0 deletions(-)

diff --git "a/PayM/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBill.cs" "b/PayM/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBill.cs"
new file mode 100644
index 0000000..577aff0
--- /dev/null
+++ "b/PayM/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBill.cs"
@@ -0,0 +1,2413 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using gregn6Lib;
+using Pub_Class;
+
+namespace PayM
+{
+    public partial class Pay_SingleBalBill : Form
+    {
+        public Pay_SingleBalBill()
+        {
+            InitializeComponent();
+        }
+        //瀹氫箟鍒�
+        public const Int16 HTagCol = 0;
+        public const Int16 HSnoCol = 1;
+        public const Int16 HMaterIDCol = 2;
+        public const Int16 HMaterNumberCol = 3;
+        public const Int16 HMaterNameCol = 4;
+        public const Int16 HMaterModelCol = 5;
+        public const Int16 HUnitIDCol = 6;
+        public const Int16 HUnitNameCol = 7;
+        public const Int16 HProcIDCol = 8;
+        public const Int16 HProcNumberCol = 9;
+        public const Int16 HProcNameCol = 10;
+        public const Int16 HSourceIDCol = 11;
+        public const Int16 HSourceNumberCol = 12;
+        public const Int16 HSourceNameCol = 13;
+        public const Int16 HEmpIDCol = 14;
+        public const Int16 HEmpNumberCol = 15;
+        public const Int16 HEmpNameCol = 16;
+        public const Int16 HTimesCol = 17;
+        public const Int16 HQtyCol = 18;
+        public const Int16 HPriceCol = 19;
+
+        public const Int16 HPriceRateCol = 20;
+        public const Int16 HSubsidyQtyCol = 21;
+        public const Int16 HSubsidyMoneyCol = 22;
+        public const Int16 HSubsidyTotalCol = 23;
+        public const Int16 HDeuctTotalCol = 24;
+
+        public const Int16 HPackQtyCol = 25;
+        public const Int16 HPackPriceCol = 26;
+        public const Int16 HPackMoneyCol = 27;
+        public const Int16 HPackMaterIDCol = 28;
+        public const Int16 HMoneyCol = 29;
+
+        public const Int16 HICMOInterIDCol = 30;
+        public const Int16 HICMOBillNoCol = 31;
+        public const Int16 HProcReportInterIDCol = 32;
+        public const Int16 HProcReportEntryIDCol = 33;
+        public const Int16 HProcReportBillNoCol = 34;
+        public const Int16 HProcPlanInterIDCol = 35;
+        public const Int16 HProcPlanEntryIDCol = 36;
+        public const Int16 HProcPlanBillNoCol = 37;
+        public const Int16 HRemarkCol = 38;
+        public const Int16 HSourceInterIDCol = 39;
+        public const Int16 HSourceEntryIDCol = 40;
+        public const Int16 HSourceBillNoCol = 41;
+        public const Int16 HSourceBillTypeCol = 42;
+        public const Int16 HRelationQtyCol = 43;
+        public const Int16 HRelationMoneyCol = 44;
+        public const Int16 HCloseManCol = 45;
+        public const Int16 HEntryCloseDateCol = 46;
+        public const Int16 HCloseTypeCol = 47;
+        public const Int16 HEntryIDCol = 48;
+        public const Int16 HSubsidyIDCol = 49;
+        public const Int16 HDeuctIDCol = 50;
+        public const Int16 HSqtyCol = 51;
+
+        //
+        public const string ModName = "2205";                   //鍗曟嵁绫诲瀷
+        public const string ModCaption = "宸ヨ祫缁撶畻鍗曪紙鍗曚汉锛�";          //鍗曟嵁鍚嶇О
+        public const string ModRightName = "Pay_SingleBalBill";
+        public const string ModRightNameEdit = ModRightName + "_Edit";
+        public const string ModRightNameCheck = ModRightName + "_Check";
+        public const string ModRightNameClose = ModRightName + "_Close";
+        public const string ModRightNameDelete = ModRightName + "_Delete";
+        public const string ModRightNameDrop = ModRightName + "_Drop";
+        public const string ModRightNameMoney = ModRightName + "_Money";
+        public const string ModRightNameQty = ModRightName + "_Qty";
+        public bool BillChange;                                 //鍗曟嵁淇敼鐘舵��
+        //
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;     //鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        public Int64 KeyID;                                     //鍗曟嵁涓诲唴鐮�
+        public bool grdStatus;                                 //缃戞牸鐘舵�侊紙涓嶅彲缂栬緫锛屽彲缂栬緫锛�
+        public DAL.ClsPay_SingleBalBill BillNew = new DAL.ClsPay_SingleBalBill();   //瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsPay_SingleBalBill BillOld = new DAL.ClsPay_SingleBalBill();   //瀵瑰簲鍗曟嵁绫�
+        ClsGridViewSum oSumGrid = new ClsGridViewSum();
+        //-------------------------------------------------------------------------
+
+        #region 鍥哄畾浠g爜
+
+
+        //娓呯┖鐣岄潰
+        public void Sub_ClearBill()
+        {
+            DBUtility.Xt_BaseBillFun.Sub_ClearBill(gbUp);
+            //
+            txtHMaker.Text = ClsPub.CurUserName;
+            txtHMakeDate.Text = "";
+            txtHChecker.Text = "";
+            txtHCheckDate.Text = "";
+            txtHCloseMan.Text = "";
+            txtHCloseDate.Text = "";
+            txtHDeleteMan.Text = "";
+            txtHDeleteDate.Text = "";
+            txtHUpDater.Text = "";
+            txtHUpDateDate.Text = "";
+            initGrid();
+        }
+        //缂栬緫鍗曟嵁
+        private void Sub_EditBill()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (BillOld.ShowBill(BillOld.omodel.HInterID, ref s) == false)
+            {
+                MessageBox.Show("姝ゅ崟鎹湁閿欒锛�", "鎻愮ず");
+                return;
+            }
+            //鍒ゆ柇鏄惁鍙紪杈�
+            if (BillOld.omodel.HChecker != "")
+            {
+                MessageBox.Show("姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼", "鎻愮ず");
+                return;
+            }
+            if (BillOld.omodel.HBillStatus > 1)
+            {
+                MessageBox.Show("姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀�", "鎻愮ず");
+                return;
+            }
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽淇敼", "鎻愮ず");
+                return;
+            }
+            //
+            this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+            this.Sub_OperStatus();//鍒锋柊TOOLBAR
+            //
+            txtHUpDater.Text = ClsPub.CurUserName;
+            txtHBillNo.Enabled = false; //鍗曟嵁鍙蜂笉鍏佽淇敼
+        }
+        //鍒犻櫎鍗曟嵁
+        private void Sub_DeleteBill()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameDelete, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (BillOld.ShowBill(BillOld.omodel.HInterID, ref s) == false)
+            {
+                MessageBox.Show("姝ゅ崟鎹湁閿欒锛�", "鎻愮ず");
+                return;
+            }
+            if (BillOld.omodel.HChecker != "")
+            {
+                MessageBox.Show("姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽鍒犻櫎", "鎻愮ず");
+                return;
+            }
+            if (BillOld.omodel.HBillStatus > 1)
+            {
+                MessageBox.Show("姝ゅ崟鎹浜庝笉鍙垹闄ょ姸鎬侊紝涓嶅厑璁稿垹闄�", "鎻愮ず");
+                return;
+            }
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽鍒犻櫎", "鎻愮ず");
+                return;
+            }
+            //
+            if (MessageBox.Show("纭畾瑕佸垹闄ゅ綋鍓嶅崟鎹紵", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
+            {
+                if (BillOld.DeleteBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) != true)
+                {
+                    BillChange = true;
+                    MessageBox.Show("鍒犻櫎澶辫触,鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+                    return;
+                }
+                MessageBox.Show("鍒犻櫎鎴愬姛", "鎻愮ず");
+                BillOld = new DAL.ClsPay_SingleBalBill();
+                this.Sub_Next();  //鏄剧ず涓嬩竴寮犲崟鎹�
+                if (BillOld.omodel.HInterID == 0)//鑻ユ壘涓嶅埌涓嬩竴寮狅紝鍒欐樉绀轰笂涓�寮�
+                {
+                    this.Sub_Prev();
+                }
+                if (BillOld.omodel.HInterID == 0)//鑻ユ壘涓嶅埌涓婁竴寮狅紝娓呯┖
+                {
+                    this.Sub_ClearBill();
+                }
+                BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+                this.Sub_OperStatus();
+            }
+
+        }
+        //淇濆瓨鍒楀
+        private void bclk_Click(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
+        }
+        //澧炶鎸夐挳  
+        private void AddRow_Click(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.AddRow(oSumGrid);
+        }
+        //鍒犺鎸夌航  
+        private void DelRow_Click(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.DelRow(oSumGrid);
+        }
+        private void mrlk_Click(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
+        }
+        ////绂诲紑鍗曞厓鏍�
+        //private void grdMain_LeaveCell(object sender, EventArgs e)
+        //{
+        //    oSumGrid.LeaveCell();
+        //}
+
+        ////缃戞牸鍗曞厓鏍煎彉鍖栦簨浠�
+        //private void grdMain_RowColChange(object sender, EventArgs e)
+        //{
+        //    //
+        //    if (!grdStatus)
+        //    {
+        //        return;
+        //    }
+        //    DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+        //    //
+        //    if (!CheckGridRow(oSumGrid.OldCell.Row))
+        //        return;
+
+        //}
+
+        //鏀惧純 缂栬緫
+        private void Sub_AbandonBill()
+        {
+            if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew || BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify)
+            {
+                if (MessageBox.Show("鍗曟嵁灏氭湭淇濆瓨,鏄惁鏀惧純锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
+                {
+                    //鏄剧ず绗竴寮犲崟鎹�
+                    this.Sub_First();
+                }
+            }
+        }
+        private void Pay_SingleBalBill_Paint(object sender, PaintEventArgs e)//鐢荤嚎
+        {
+            Graphics g = panel2.CreateGraphics();
+            Pen p = new Pen(Color.Gray);
+            p.Width = 1;
+            g.DrawLine(p, new Point(txtHMaker.Left, txtHMaker.Top + txtHMaker.Height), new Point(txtHMaker.Left + txtHMaker.Width, txtHMaker.Top + txtHMaker.Height));
+            g.DrawLine(p, new Point(txtHMakeDate.Left, txtHMakeDate.Top + txtHMakeDate.Height), new Point(txtHMakeDate.Left + txtHMakeDate.Width, txtHMakeDate.Top + txtHMakeDate.Height));
+            //
+            g.DrawLine(p, new Point(txtHChecker.Left, txtHChecker.Top + txtHChecker.Height), new Point(txtHChecker.Left + txtHChecker.Width, txtHChecker.Top + txtHChecker.Height));
+            g.DrawLine(p, new Point(txtHCheckDate.Left, txtHCheckDate.Top + txtHCheckDate.Height), new Point(txtHCheckDate.Left + txtHCheckDate.Width, txtHCheckDate.Top + txtHCheckDate.Height));
+            //
+            g.DrawLine(p, new Point(txtHCloseMan.Left, txtHCloseMan.Top + txtHCloseMan.Height), new Point(txtHCloseMan.Left + txtHCloseMan.Width, txtHCloseMan.Top + txtHCloseMan.Height));
+            g.DrawLine(p, new Point(txtHCloseDate.Left, txtHCloseDate.Top + txtHCloseDate.Height), new Point(txtHCloseDate.Left + txtHCloseDate.Width, txtHCloseDate.Top + txtHCloseDate.Height));
+            //
+            g.DrawLine(p, new Point(this.txtHDeleteMan.Left, txtHDeleteMan.Top + txtHDeleteMan.Height), new Point(txtHDeleteMan.Left + txtHDeleteMan.Width, txtHDeleteMan.Top + txtHDeleteMan.Height));
+            g.DrawLine(p, new Point(txtHDeleteDate.Left, txtHDeleteDate.Top + txtHDeleteDate.Height), new Point(txtHDeleteDate.Left + txtHDeleteDate.Width, txtHDeleteDate.Top + txtHDeleteDate.Height));
+            //
+            g.DrawLine(p, new Point(this.txtHUpDater.Left, txtHUpDater.Top + txtHUpDater.Height), new Point(txtHUpDater.Left + txtHUpDater.Width, txtHUpDater.Top + txtHUpDater.Height));
+            g.DrawLine(p, new Point(txtHUpDateDate.Left, txtHUpDateDate.Top + txtHUpDateDate.Height), new Point(txtHUpDateDate.Left + txtHUpDateDate.Width, txtHUpDateDate.Top + txtHUpDateDate.Height));
+            //鎺т欢浣嶇疆璁剧疆 
+        }
+        //鎺т欢浣嶇疆
+        private void Sub_ControlLocation()
+        {
+            //
+        }
+
+        //绐椾綋鍔犺浇
+        private void Pay_SingleBalBill_Load(object sender, EventArgs e)
+        {
+            //鎵撳嵃鍒濆鍖�        
+            oSumGrid.NoCol = HSnoCol;
+            oSumGrid.ogrdMain = grdMain;
+            oSumGrid.oGridsum = grdSum;
+            this.Text = ModCaption;     //鍛藉悕绐椾綋鏍囬
+            this.lblCaption.Text = ModCaption;//鍛藉悕鍗曟嵁鏍囬
+            BLL.ClsPub_BLL.GetBillSource(ModName, false, cmbSourceBillType);
+        }
+
+        //棣栧紶
+        private void Sub_First()
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+            BillOld = new DAL.ClsPay_SingleBalBill();
+            if (BillOld.GetFirstBill(ref  ClsPub.sExeReturnInfo))
+            {
+                this.Sub_ShowBill();
+            }
+            else  //娌℃湁鎵惧埌鍒� 鍙樹负鏂板鐘舵��
+            {
+                this.Sub_AddBill();
+            }
+        }
+
+        //涓婂紶
+        private void Sub_Prev()
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+            if (BillOld.GetPrevousBill(ref  ClsPub.sExeReturnInfo, txtHBillNo.Text))
+            {
+                this.Sub_ShowBill();
+            }
+        }
+
+        //涓嬪紶
+        private void Sub_Next()
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+            if (BillOld.GetNextBill(ref  ClsPub.sExeReturnInfo, txtHBillNo.Text))
+            {
+                this.Sub_ShowBill();
+            }
+        }
+
+        //鏈紶
+        private void Sub_Last()
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+            BillOld = new DAL.ClsPay_SingleBalBill();
+            if (BillOld.GetLastBill(ref  ClsPub.sExeReturnInfo))
+            {
+                this.Sub_ShowBill();
+            }
+        }
+
+        //瀹℃牳鍗曟嵁
+        private void Sub_CheckBill()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowCheckBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽瀹℃牳", "鎻愮ず");
+                return;
+            }
+            if (BillOld.CheckBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true)
+            {
+                BillChange = true;
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                MessageBox.Show("瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+            }
+        }
+        //鍙嶅鍗曟嵁
+        private void Sub_AbandonCheck()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameCheck, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowAbandonCheckBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽鍙嶅鏍�", "鎻愮ず");
+                return;
+            }
+            if (BillOld.AbandonCheck(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true)
+            {
+                BillChange = true;
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                MessageBox.Show("鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+            }
+        }
+        //鍏抽棴鍗曟嵁
+        private void Sub_CloseBill()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowCloseBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽鍏抽棴", "鎻愮ず");
+                return;
+            }
+            if (BillOld.CloseBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true)
+            {
+                BillChange = true;
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                MessageBox.Show("鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+            }
+        }
+        //鍙嶅叧闂崟鎹�
+        private void Sub_Cancel()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameClose, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowCancelBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽鎭㈠", "鎻愮ず");
+                return;
+            }
+            if (BillOld.CancelClose(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true)
+            {
+                BillChange = true;
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                MessageBox.Show("鎭㈠澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+            }
+        }
+        //浣滃簾鍗曟嵁
+        private void Sub_Cancelltion()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameDrop, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowCancelltionBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽浣滃簾", "鎻愮ず");
+                return;
+            }
+            if (BillOld.Cancelltion(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true)
+            {
+                BillChange = true;
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                MessageBox.Show("浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+            }
+        }
+        //鍙嶄綔搴�
+        private void Sub_AbandonCancelltion()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameDrop, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s1 = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s1) == false)
+            {
+                MessageBox.Show(s1, "鎻愮ず");
+                return;
+            }
+            //
+            string s = "";
+            if (!DBUtility.Xt_BaseBillFun.Fun_AllowAbandonCancelltionBill(BillOld, ref s))
+            {
+                MessageBox.Show(s + "锛屼笉鍏佽鎭㈠姝e父", "鎻愮ず");
+                return;
+            }
+            if (BillOld.AbandonCancelltion(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == true)
+            {
+                BillChange = true;
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                MessageBox.Show("浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+            }
+        }
+        //鏂板鎸夌航
+        private void xz_Click(object sender, EventArgs e)
+        {
+            this.Sub_AddBill();
+        }
+        //淇敼鎸夌航
+        private void xg_Click(object sender, EventArgs e)
+        {
+            this.Sub_EditBill();
+        }
+        //鍒犻櫎鎸夐挳
+        private void sc_Click(object sender, EventArgs e)
+        {
+            this.Sub_DeleteBill();
+        }
+        //淇濆瓨鎸夐挳
+        private void bc_Click(object sender, EventArgs e)
+        {
+            this.Sub_SaveBill();
+        }
+        //鏀惧純鎸夐挳
+        private void fq_Click(object sender, EventArgs e)
+        {
+            this.Sub_AbandonBill();
+        }
+        //瀹℃牳鎸夐挳
+        private void sh_Click(object sender, EventArgs e)
+        {
+            this.Sub_CheckBill();
+        }
+        //鏀惧純瀹℃牳鎸夐挳
+        private void qsh_Click(object sender, EventArgs e)
+        {
+            this.Sub_AbandonCheck();
+        }
+        //鍏抽棴鎸夐挳
+        private void gb_Click(object sender, EventArgs e)
+        {
+            this.Sub_CloseBill();
+        }
+        //鎭㈠鎸夐挳
+        private void hf_Click(object sender, EventArgs e)
+        {
+            this.Sub_Cancel();
+        }
+        //浣滃簾鎸夐挳
+        private void zf_Click(object sender, EventArgs e)
+        {
+            this.Sub_Cancelltion();
+        }
+        //鍙嶄綔搴熸寜閽�
+        private void zc_Click(object sender, EventArgs e)
+        {
+            this.Sub_AbandonCancelltion();
+        }
+        //棣栧紶鍗曟嵁鎸夐挳
+        private void sz_Click(object sender, EventArgs e)
+        {
+            this.Sub_First();
+        }
+        //涓婁竴寮犳寜閽�
+        private void syz_Click(object sender, EventArgs e)
+        {
+            this.Sub_Prev();
+        }
+        //涓嬩竴寮犳寜閽�
+        private void xyz_Click(object sender, EventArgs e)
+        {
+            this.Sub_Next();
+        }
+        //鏈紶鎸夐挳
+        private void mz_Click(object sender, EventArgs e)
+        {
+            this.Sub_Last();
+        }
+        //閫�鍑烘寜閽�
+        private void tc_Click(object sender, EventArgs e)
+        {
+            this.Close();
+        }
+
+        //鏍规嵁缂栬緫鐘舵�� 璁剧疆 鎺т欢鏄惁鍏佽褰曞叆    
+        private void Sub_LrtextStatus(bool TextEnabled)
+        {
+            if (TextEnabled == true)
+            {
+                //鎺т欢鍏ㄩ儴鏈夋晥
+                gbUp.Enabled = true;
+                grdMain.BackColor = ClsPub.EditColor;
+
+            }
+            else
+            {   //鎺т欢鍏ㄩ儴鏃犳晥
+                gbUp.Enabled = false;
+                grdMain.BackColor = ClsPub.ViewColor;
+            }
+        }
+        //澶嶅埗鍗曟嵁
+        private void Sub_CopyBill()
+        {
+            this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            this.Sub_OperStatus();//璁剧疆TOOLBAR
+            this.txtHBillNo.Text = ClsPub.CreateBillCode(BillNew.BillType, ref ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙� 
+            this.txtHBillNo.Enabled = true;
+            this.txtHBillNo.Focus();
+            this.txtHMaker.Text = ClsPub.CurUserName;
+            this.txtHMakeDate.Text = "";
+            this.txtHChecker.Text = "";
+            this.txtHCloseDate.Text = "";
+            this.txtHCloseMan.Text = "";
+            this.txtHCloseDate.Text = "";
+            this.txtHDeleteMan.Text = "";
+            this.txtHDeleteDate.Text = "";
+            this.txtHUpDater.Text = "";
+            this.txtHUpDateDate.Text = "";
+        }
+        //澶嶅埗鎸夐挳
+        private void fz_Click(object sender, EventArgs e)
+        {
+            Sub_CopyBill();
+        }
+        //timer
+        private void timer1_Tick(object sender, EventArgs e)
+        {
+            timer1.Enabled = false;
+            Sub_ControlLocation();
+            if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_View)
+            {
+                this.Sub_ShowBill();
+            }
+            else
+            {
+                this.Sub_AddBill();
+                DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+            }
+
+
+        }
+        //绐椾綋鍗歌浇
+        private void Pay_SingleBalBill_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
+        }
+        //鏂板鍗曟嵁
+        private void Sub_AddBill()
+        {
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return;
+            }
+            this.BillNew = new DAL.ClsPay_SingleBalBill();
+            this.BillOld = new DAL.ClsPay_SingleBalBill();
+            this.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            this.Sub_OperStatus();//璁剧疆TOOLBAR
+            this.Sub_ClearBill();//娓呯┖鐣岄潰
+            this.txtHBillNo.Text = ClsPub.CreateBillCode(BillNew.BillType, ref ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙�
+            this.txtHBillNo.Enabled = true;
+            this.txtHBillNo.Focus();
+        }
+        //TOOLBAR鐘舵��  鎸夐挳鏄惁鐏板害
+        public void Sub_OperStatus()
+        {
+            switch (BillStatus)
+            {
+                case DBUtility.ClsPub.Enum_BillStatus.BillStatus_View:
+                    //娴忚鐘舵��
+                    yl.Enabled = true;
+                    xz.Enabled = true;
+                    xg.Enabled = true;
+                    sc.Enabled = true;
+                    AddRow.Enabled = false;
+                    DelRow.Enabled = false;
+                    bc.Enabled = false;
+                    fq.Enabled = false;
+                    sz.Enabled = true;
+                    syz.Enabled = true;
+                    xyz.Enabled = true;
+                    mz.Enabled = true;
+                    tc.Enabled = true;
+                    fz.Enabled = true;
+                    //鏈鏍�
+                    if (txtHChecker.Text.Trim() == "")
+                    {
+                        sh.Enabled = true;
+                        qsh.Enabled = false;
+                        //gb.Enabled = false;
+                        //hf.Enabled = false;
+                        xg.Enabled = true;
+                        sc.Enabled = true;
+                        //鏈鏍�
+                        pic1.Visible = false;
+                        pic1.Image = null;
+                        //
+                    }
+                    else if (txtHCloseMan.Text.Trim() == "" && txtHChecker.Text.Trim() != "")//瀹℃牳鏈叧闂�
+                    {
+                        sh.Enabled = false;
+                        qsh.Enabled = true;
+                        //gb.Enabled = true;
+                        //hf.Enabled = false;
+                        xg.Enabled = false;
+                        sc.Enabled = false;
+                        //
+                        pic1.Visible = true;
+                        pic1.Image = System.Drawing.Image.FromFile(ClsPub.AppPath + @"/Pic/Checked.jpg");
+                        //
+                    }
+                    else//宸插叧闂�
+                    {
+                        sh.Enabled = false;
+                        qsh.Enabled = false;
+                        //gb.Enabled = false;
+                        //hf.Enabled = true;
+                        xg.Enabled = false;
+                        sc.Enabled = false;
+                        //
+                        pic1.Visible = true;
+                        pic1.Image = System.Drawing.Image.FromFile(ClsPub.AppPath + @"/Pic/Closed.jpg");
+                        //
+                    }
+                    if (txtHDeleteMan.Text.Trim() == "")
+                    {
+                        //zf.Enabled = true;
+                        //zc.Enabled = false;
+                    }
+                    else //宸蹭綔搴�
+                    {
+                        //zf.Enabled = false;
+                        //zc.Enabled = true;
+                        xg.Enabled = false;
+                        sc.Enabled = false;
+                        AddRow.Enabled = false;
+                        DelRow.Enabled = false;
+                        bc.Enabled = false;
+                        fq.Enabled = false;
+                        sh.Enabled = false;
+                        qsh.Enabled = false;
+                        //gb.Enabled = false;
+                        //hf.Enabled = false;
+                        //
+                        pic1.Visible = true;
+                        pic1.Image = System.Drawing.Image.FromFile(ClsPub.AppPath + @"/Pic/Deleted.jpg");
+                        //
+                    }
+                    Sub_LrtextStatus(false);
+                    grdStatus = false;
+                    break;
+                case DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew:
+                    //鏂板鐘舵��
+                    yl.Enabled = false;
+                    xz.Enabled = false;
+                    xg.Enabled = false;
+                    sc.Enabled = false;
+                    AddRow.Enabled = true;
+                    DelRow.Enabled = true;
+                    bc.Enabled = true;
+                    fq.Enabled = true;
+                    sh.Enabled = false;
+                    qsh.Enabled = false;
+                    //gb.Enabled = false;
+                    //hf.Enabled = false;
+                    //zf.Enabled = false;
+                    //zc.Enabled = false;
+                    sz.Enabled = false;
+                    syz.Enabled = false;
+                    xyz.Enabled = false;
+                    mz.Enabled = false;
+                    tc.Enabled = true;
+                    Sub_LrtextStatus(true);
+                    grdStatus = true;
+                    fz.Enabled = false;
+                    //鏈鏍�
+                    pic1.Visible = false;
+                    pic1.Image = null;
+                    //
+                    break;
+                case DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify:
+                    //淇敼鐘舵��
+                    yl.Enabled = false;
+                    xz.Enabled = false;
+                    xg.Enabled = false;
+                    sc.Enabled = false;
+                    AddRow.Enabled = true;
+                    DelRow.Enabled = true;
+                    bc.Enabled = true;
+                    fq.Enabled = true;
+                    sh.Enabled = false;
+                    qsh.Enabled = false;
+                    //gb.Enabled = false;
+                    //hf.Enabled = false;
+                    //zf.Enabled = false;
+                    //zc.Enabled = false;
+                    sz.Enabled = false;
+                    syz.Enabled = false;
+                    xyz.Enabled = false;
+                    mz.Enabled = false;
+                    tc.Enabled = true;
+                    Sub_LrtextStatus(true);
+                    grdStatus = true;
+                    fz.Enabled = false;
+                    //鏈鏍�
+                    pic1.Visible = false;
+                    pic1.Image = null;
+                    //
+                    break;
+            }
+
+        }
+        #endregion
+
+        #region  璇诲啓绫�
+        //鏄剧ず鍗曟嵁
+        public void Sub_ShowBill()
+        {
+            DAL.ClsGy_Group_View oGroup = new DAL.ClsGy_Group_View();
+            DAL.ClsGy_Department_View oDep = new DAL.ClsGy_Department_View();//K3閮ㄩ棬
+            DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
+            DAL.ClsGy_Material_View oMater = new DAL.ClsGy_Material_View(); //K3鐗╂枡
+            DAL.ClsGy_Process_View oProc = new DAL.ClsGy_Process_View();//宸ュ簭
+            DAL.ClsGy_Source_View oSource = new DAL.ClsGy_Source_View();//鐢熶骇璧勬簮
+            //鍒ゆ柇鏄惁瀛樺湪鍗曟嵁
+            if (BillOld.ShowBill(BillOld.omodel.HInterID, ref  ClsPub.sExeReturnInfo) == false)
+            {
+                MessageBox.Show(ClsPub.sExeReturnInfo, "鎻愮ず");
+                return;
+            }
+            //娓呯┖
+            Sub_ClearBill();
+            //鍔犺浇琛ㄥご
+            if (oGroup.GetInfoByID(BillOld.omodel.HGroupID))
+            {
+                this.txtHGroupID.Tag = oGroup.omodel.HItemID.ToString().Trim();
+                this.txtHGroupID.Text = oGroup.omodel.HName;
+            }
+            else
+            {
+                this.txtHGroupID.Text = "";
+            }
+            //
+
+            //
+            if (oDep.GetInfoByID(BillOld.omodel.HDeptID))
+            {
+                this.txtHDeptID.Text = oDep.omodel.HName;
+                this.txtHDeptID.Tag = oDep.omodel.HItemID.ToString().Trim();
+            }
+            else
+            {
+                this.txtHDeptID.Text = "";
+            }
+            //
+            if (oEmp.GetInfoByID(BillOld.omodel.HEmpID))
+            {
+                this.txtHEmpID.Text = oEmp.omodel.HName;
+                this.txtHEmpID.Tag = oEmp.omodel.HItemID.ToString().Trim();
+            }
+            else
+            {
+                this.txtHEmpID.Text = "";
+            }
+
+            //============================================================
+            //鍗曟嵁鍥哄畾璧嬪��
+            this.dtpHDate.Value = BillOld.omodel.HDate;
+            this.txtHBillNo.Text = BillOld.omodel.HBillNo;
+            this.txtHRemark.Text = BillOld.omodel.HRemark;
+            this.txtHMaker.Text = BillOld.omodel.HMaker;
+            this.txtHMakeDate.Text = BillOld.omodel.HMakeDate;
+            this.txtHChecker.Text = BillOld.omodel.HChecker;
+            this.txtHCheckDate.Text = BillOld.omodel.HCheckDate;
+            this.txtHCloseMan.Text = BillOld.omodel.HCloseMan;
+            this.txtHCloseDate.Text = BillOld.omodel.HCloseDate;
+            this.txtHDeleteMan.Text = BillOld.omodel.HDeleteMan;
+            this.txtHDeleteDate.Text = BillOld.omodel.HDeleteDate;
+            this.txtHUpDater.Text = BillOld.omodel.HUpDater;
+            this.txtHUpDateDate.Text = BillOld.omodel.HUpDateDate;
+            //
+            this.txtHPayType.Text = BillOld.omodel.HPayType.ToString();
+            this.txtHExplanation.Text = BillOld.omodel.HExplanation;
+            this.txtHInnerBillNo.Text = BillOld.omodel.HInnerBillNo;
+            //鍔犺浇琛ㄤ綋
+            int i = 0;
+            foreach (Model.ClsPay_SingleBalBillSub oSub in BillOld.DetailColl)
+            {
+                if (i >= grdMain.RowCount - 1)
+                    grdMain.Rows.Add();
+                //鍗曟嵁鍥哄畾璧嬪��
+                grdMain.Rows[i].Cells[HTagCol].Value = "*";
+                grdMain.Rows[i].Cells[HEntryIDCol].Value = oSub.HEntryID.ToString();
+                grdMain.Rows[i].Cells[HRemarkCol].Value = oSub.HRemark;
+                grdMain.Rows[i].Cells[HCloseManCol].Value = oSub.HCloseMan;
+                grdMain.Rows[i].Cells[HEntryCloseDateCol].Value = oSub.HEntryCloseDate;
+                grdMain.Rows[i].Cells[HCloseTypeCol].Value = oSub.HCloseType;
+                grdMain.Rows[i].Cells[HSourceBillNoCol].Value = oSub.HSourceBillNo;
+                grdMain.Rows[i].Cells[HSourceInterIDCol].Value = oSub.HSourceInterID.ToString();
+                grdMain.Rows[i].Cells[HSourceEntryIDCol].Value = oSub.HSourceEntryID.ToString();
+                grdMain.Rows[i].Cells[HSourceBillTypeCol].Value = oSub.HSourceBillType.Trim();
+                grdMain.Rows[i].Cells[HRelationQtyCol].Value = oSub.HRelationQty.ToString();
+                grdMain.Rows[i].Cells[HRelationMoneyCol].Value = oSub.HRelationMoney.ToString();
+                //======================================================================================
+                grdMain.Rows[i].Cells[HMaterIDCol].Value = oSub.HMaterID.ToString();
+                if (oMater.GetInfoByID(oSub.HMaterID))
+                {
+                    grdMain.Rows[i].Cells[HMaterNumberCol].Value = oMater.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HMaterNameCol].Value = oMater.omodel.HName;
+                    grdMain.Rows[i].Cells[HMaterModelCol].Value = oMater.omodel.HModel;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HMaterNumberCol].Value = "";
+                    grdMain.Rows[i].Cells[HMaterNameCol].Value = "";
+                    grdMain.Rows[i].Cells[HMaterModelCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HProcIDCol].Value = oSub.HProcID.ToString();
+                if (oProc.GetInfoByID(oSub.HProcID))
+                {
+                    grdMain.Rows[i].Cells[HProcNumberCol].Value = oProc.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HProcNameCol].Value = oProc.omodel.HName;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HProcNameCol].Value = "";
+                    grdMain.Rows[i].Cells[HProcNumberCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HSourceIDCol].Value = oSub.HSourceID.ToString();
+                if (oSource.GetInfoByID(oSub.HSourceID))
+                {
+                    grdMain.Rows[i].Cells[HSourceNumberCol].Value = oSource.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HSourceNameCol].Value = oSource.omodel.HName;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HSourceNumberCol].Value = "";
+                    grdMain.Rows[i].Cells[HSourceNameCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HEmpIDCol].Value = oSub.HEmpID.ToString();
+                if (oEmp.GetInfoByID(oSub.HEmpID))
+                {
+                    grdMain.Rows[i].Cells[HEmpNumberCol].Value = oEmp.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HEmpNameCol].Value = oEmp.omodel.HName;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HEmpNameCol].Value = "";
+                    grdMain.Rows[i].Cells[HEmpNumberCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HTimesCol].Value = oSub.HTimes.ToString();
+                grdMain.Rows[i].Cells[HQtyCol].Value = oSub.HQty.ToString();
+                grdMain.Rows[i].Cells[HPriceCol].Value = oSub.HPrice.ToString();
+                //
+                grdMain.Rows[i].Cells[HPriceRateCol].Value = oSub.HPriceRate.ToString();
+                grdMain.Rows[i].Cells[HSubsidyTotalCol].Value = oSub.HSubsidyTotal.ToString();
+                grdMain.Rows[i].Cells[HDeuctTotalCol].Value = oSub.HDeuctTotal.ToString();
+                //
+                grdMain.Rows[i].Cells[HSubsidyIDCol].Value = oSub.HSubsidyID.ToString();
+                grdMain.Rows[i].Cells[HDeuctIDCol].Value = oSub.HDeuctID.ToString();
+                //
+                grdMain.Rows[i].Cells[HMoneyCol].Value = oSub.HMoney.ToString();
+                grdMain.Rows[i].Cells[HICMOInterIDCol].Value = oSub.HICMOInterID.ToString();
+                grdMain.Rows[i].Cells[HICMOBillNoCol].Value = oSub.HICMOBillNo;
+                grdMain.Rows[i].Cells[HProcReportInterIDCol].Value = oSub.HProcReportInterID.ToString();
+                grdMain.Rows[i].Cells[HProcReportEntryIDCol].Value = oSub.HProcReportEntryID.ToString();
+                grdMain.Rows[i].Cells[HProcReportBillNoCol].Value = oSub.HProcReportBillNo;
+                grdMain.Rows[i].Cells[HProcPlanInterIDCol].Value = oSub.HProcPlanInterID.ToString();
+                grdMain.Rows[i].Cells[HProcPlanEntryIDCol].Value = oSub.HProcPlanEntryID.ToString();
+                grdMain.Rows[i].Cells[HProcPlanBillNoCol].Value = oSub.HProcPlanBillNo;
+
+                grdMain.Rows[i].Cells[HPackQtyCol].Value = oSub.HPackQty.ToString();
+                grdMain.Rows[i].Cells[HPackPriceCol].Value = oSub.HPackPrice.ToString();
+                grdMain.Rows[i].Cells[HPackMoneyCol].Value = oSub.HPackMoney.ToString();
+                grdMain.Rows[i].Cells[HPackMaterIDCol].Value = oSub.HPackMaterID.ToString();
+                grdMain.Rows[i].Cells[HSubsidyQtyCol].Value = oSub.HSubsidyQty.ToString();
+                grdMain.Rows[i].Cells[HSubsidyMoneyCol].Value = oSub.HSubsidyMoney.ToString();
+                grdMain.Rows[i].Cells[HSqtyCol].Value = oSub.HSqty.ToString();
+                i = i + 1;
+            }
+            //GRID鍏佽鍒锋柊 
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+            //
+            Sub_OperStatus();
+        }
+
+        //鍗曟嵁瀹屾暣鎬у垽鏂�          鏈畬鎴�
+        private bool Sub_AllowSave()
+        {
+            //蹇呰緭椤圭洰鏄惁涓虹┖
+            if (DBUtility.ClsPub.isLong(txtHGroupID.Tag) == 0)
+            {
+                MessageBox.Show("鐝粍娌℃湁閫夋嫨锛�", "鎻愮ず");
+                return false;
+            }
+            if (DBUtility.ClsPub.isLong(txtHDeptID.Tag) == 0)
+            {
+                MessageBox.Show("閮ㄩ棬娌℃湁閫夋嫨锛�", "鎻愮ず");
+                return false;
+            }
+            if (DBUtility.ClsPub.isLong(txtHEmpID.Tag) == 0)
+            {
+                MessageBox.Show("涓荤娌℃湁閫夋嫨锛�", "鎻愮ず");
+                return false;
+            }
+            //鍗曟嵁鍙锋槸鍚﹂噸澶�
+            if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, txtHBillNo.Text.Trim(), BillStatus, BillOld.omodel.HInterID))
+            {
+                MessageBox.Show("鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒", "鎻愮ず");
+                return false;
+            }
+            //鏄庣粏琛ㄦ槸鍚︿负闆惰
+            bool b = false;
+            for (int i = 0; i < grdMain.RowCount; i++)
+            {
+                if (!IsNullRow(i))
+                {
+                    b = true;
+                    break;
+                }
+            }
+            if (b == false)
+            {
+                MessageBox.Show("琛ㄤ綋鏄庣粏琛屼笉瀛樺湪锛佽褰曞叆锛�", "鎻愮ず");
+                return false;
+            }
+            return true;
+        }
+        //淇濆瓨鍗曟嵁
+        private bool Sub_SaveBill()
+        {
+            Model.ClsPay_SingleBalBillSub oBillSub = new Model.ClsPay_SingleBalBillSub();
+            //鍒ゆ柇鏉冮檺
+            if (!ClsPub.Security_Log(ModRightNameEdit, 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                return false;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(dtpHDate.Value, ref sYear, ref sPeriod, ref s) == false)
+            {
+                MessageBox.Show(s, "鎻愮ず");
+                return false;
+            }
+            //
+            Int32 i;
+            bool bResult;
+            BillNew = new DAL.ClsPay_SingleBalBill();
+            //澶卞幓鐒︾偣
+            lblCaption.Focus();
+            if (!Sub_AllowSave())//鍗曟嵁瀹屾暣鎬у垽鏂�
+                return false;
+            //璧嬪�糏D
+            if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify)
+                BillNew.omodel.HInterID = BillOld.omodel.HInterID;
+            else if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_UpdatePrice)
+                BillNew.omodel.HInterID = BillOld.omodel.HInterID;
+            //涓荤被璧嬪��
+            BillNew.omodel.HYear = sYear;
+            BillNew.omodel.HPeriod = sPeriod;
+            //鍥哄畾璧嬪��=================================
+            BillNew.omodel.HBillNo = this.txtHBillNo.Text.Trim();  //鍦ㄨ祴鍊肩被鍓嶅氨澶勭悊濂藉瓧绗︿覆鍜屾暟瀛�
+            BillNew.omodel.HDate = this.dtpHDate.Value;
+            BillNew.omodel.HRemark = this.txtHRemark.Text.Trim();
+            //====================================================
+            BillNew.omodel.HGroupID = ClsPub.isLong(this.txtHGroupID.Tag);
+            BillNew.omodel.HDeptID = ClsPub.isLong(this.txtHDeptID.Tag);
+            BillNew.omodel.HEmpID = ClsPub.isLong(this.txtHEmpID.Tag);
+            BillNew.omodel.HPayType = ClsPub.isLong(this.txtHPayType.Text);
+            BillNew.omodel.HExplanation = ClsPub.isStrNull(this.txtHExplanation.Text);
+            BillNew.omodel.HInnerBillNo = ClsPub.isStrNull(this.txtHInnerBillNo.Text);
+            //鏄庣粏绫昏祴鍊�
+            BillNew.DetailColl = new List<Model.ClsPay_SingleBalBillSub>();
+            for (i = 0; i <= grdMain.RowCount - 1; i++)
+            {
+                if (ClsPub.isLong(grdMain.Rows[i].Cells[HMaterIDCol].Value) != 0)
+                {
+                    Model.ClsPay_SingleBalBillSub oSub = new Model.ClsPay_SingleBalBillSub();
+                    //鍥哄畾璧嬪��========================================
+                    oSub.HEntryID = i + 1;
+                    oSub.HRemark = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HRemarkCol].Value);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HSourceInterIDCol].Value);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HSourceEntryIDCol].Value);
+                    oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HSourceBillTypeCol].Value);
+                    oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HSourceBillNoCol].Value);
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HRelationQtyCol].Value);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HRelationMoneyCol].Value);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HCloseManCol].Value);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(grdMain.Rows[i].Cells[HEntryCloseDateCol].Value);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(grdMain.Rows[i].Cells[HCloseTypeCol].Value);
+                    //=============================
+                    oSub.HMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HMaterIDCol].Value);
+                    oSub.HProcID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HProcIDCol].Value);
+                    oSub.HSourceID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HSourceIDCol].Value);
+                    oSub.HEmpID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HEmpIDCol].Value);
+                    if (oSub.HEmpID == 0)
+                    {
+                        MessageBox.Show("绗�" + ClsPub.isStrNull(i + 1) + "琛岋紝鑱屽憳涓嶈兘涓虹┖");
+                        return false;
+                    }
+                    oSub.HTimes = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HTimesCol].Value);
+                    //if (cmbSourceBillType.Text.Trim() == "鎵嬪伐褰曞叆")
+                    //{
+                        oSub.HQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value);
+                    //}
+                    //else
+                    //{
+                    //    if (ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value) > 0 && ClsPub.isDoule(grdMain.Rows[i].Cells[HSqtyCol].Value) > 0)
+                    //    {
+                    //        if (ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value) <= ClsPub.isDoule(grdMain.Rows[i].Cells[HSqtyCol].Value))
+                    //        {
+                    //            oSub.HQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value);
+                    //            if (oSub.HQty == 0)
+                    //            {
+                    //                MessageBox.Show("绗�" + ClsPub.isStrNull(i + 1) + "琛岋紝鏁伴噺涓嶈兘涓�0");
+                    //                return false;
+                    //            }
+                    //        }
+                    //        else
+                    //        {
+                    //            MessageBox.Show("绗�" + ClsPub.isStrNull(i + 1) + "琛岋紝鏁伴噺瓒呰繃鎬绘暟");
+                    //            return false;
+                    //        }
+                    //    }
+                    //    else if (ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value) < 0 && ClsPub.isDoule(grdMain.Rows[i].Cells[HSqtyCol].Value) < 0)
+                    //    {
+                    //        if (ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value) >= ClsPub.isDoule(grdMain.Rows[i].Cells[HSqtyCol].Value))
+                    //        {
+                    //            oSub.HQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HQtyCol].Value);
+                    //            if (oSub.HQty == 0)
+                    //            {
+                    //                MessageBox.Show("绗�" + ClsPub.isStrNull(i + 1) + "琛岋紝鏁伴噺涓嶈兘涓�0");
+                    //                return false;
+                    //            }
+                    //        }
+                    //        else
+                    //        {
+                    //            MessageBox.Show("绗�" + ClsPub.isStrNull(i + 1) + "琛岋紝鏁伴噺瓒呰繃鎬绘暟");
+                    //            return false;
+                    //        }
+                    //    }
+                    //}
+                    oSub.HPrice = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HPriceCol].Value);
+                    if (oSub.HPrice <= 0)
+                    {
+                        MessageBox.Show("绗�" + ClsPub.isStrNull(i + 1) + "琛岋紝宸ヤ环涓嶈兘涓�0");
+                        return false;
+                    }
+                    oSub.HPriceRate = DBUtility.ClsPub.isSingle(grdMain.Rows[i].Cells[HPriceRateCol].Value);
+                    if(DBUtility.ClsPub.isSingle(grdMain.Rows[i].Cells[HPriceRateCol].Value) ==0)
+                    {
+                        oSub.HPriceRate = 1;
+                    }
+                   
+                    oSub.HSubsidyTotal = DBUtility.ClsPub.isSingle(grdMain.Rows[i].Cells[HSubsidyTotalCol].Value);
+                    oSub.HDeuctTotal = DBUtility.ClsPub.isSingle(grdMain.Rows[i].Cells[HDeuctTotalCol].Value);
+                    //
+                    oSub.HSubsidyID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HSubsidyIDCol].Value);
+                    oSub.HDeuctID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HDeuctIDCol].Value);
+
+                    oSub.HMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HMoneyCol].Value);
+                    oSub.HICMOInterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HICMOInterIDCol].Value);
+                    oSub.HICMOBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HICMOBillNoCol].Value);
+                    oSub.HProcReportInterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HProcReportInterIDCol].Value);
+                    oSub.HProcReportEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HProcReportEntryIDCol].Value);
+                    oSub.HProcReportBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HProcReportBillNoCol].Value);
+                    oSub.HProcPlanInterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HProcPlanInterIDCol].Value);
+                    oSub.HProcPlanEntryID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HProcPlanEntryIDCol].Value);
+                    oSub.HProcPlanBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HProcPlanBillNoCol].Value);
+                    oSub.HPackQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HPackQtyCol].Value);
+                    oSub.HPackPrice = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HPackPriceCol].Value);
+                    oSub.HPackMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HPackMoneyCol].Value);
+                    oSub.HPackMaterID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HPackMaterIDCol].Value);
+                    oSub.HSubsidyQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HSubsidyQtyCol].Value);
+                    oSub.HSubsidyMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HSubsidyMoneyCol].Value);
+                    oSub.HSqty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HSqtyCol].Value);
+                    BillNew.DetailColl.Add(oSub);
+                }
+            }
+            //淇濆瓨瀹屾瘯鍚庡鐞�
+            if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
+            {
+                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
+            }
+            else
+            {
+                bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
+            }
+            //鎻愮ず
+            if (bResult == true)
+            {
+                BillChange = true;
+                MessageBox.Show("鍗曟嵁瀛樼洏瀹屾瘯!鍗曟嵁鍙�:" + this.txtHBillNo.Text.Trim(), "鎻愮ず");
+                if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+                    BillOld.omodel.HInterID = BillNew.omodel.HInterID;
+                    this.Sub_ShowBill();
+                }
+                else if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify)
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_View;
+                }
+                this.Sub_OperStatus();
+                return true;
+            }
+            else
+            {
+                MessageBox.Show("淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo, "鎻愮ず");
+                return false;
+            }
+        }
+        #endregion
+
+
+        #region 绐椾綋澶勭悊鏂规硶
+        //鍒濆鍖朑RID
+        private void initGrid()
+        {
+
+            //
+            grdMain.ColumnCount = 52;                       //鎬诲垪鏁�
+            DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name);
+            //=
+            //grdMain.Columns[HMaterIDCol].HeaderText = "鐗╂枡ID";
+            grdMain.Columns[HMaterNumberCol].HeaderText = "鐗╂枡浠g爜";
+            grdMain.Columns[HMaterNameCol].HeaderText = "鐗╂枡鍚嶇О";
+            grdMain.Columns[HMaterModelCol].HeaderText = "瑙勬牸鍨嬪彿";
+            //grdMain.Columns[HUnitIDCol].HeaderText = "璁¢噺鍗曚綅ID";
+            //grdMain.Columns[HUnitNameCol].HeaderText = "璁¢噺鍗曚綅";
+            //grdMain.Columns[HProcIDCol].HeaderText = "宸ュ簭ID";
+            grdMain.Columns[HProcNumberCol].HeaderText = "宸ュ簭浠g爜";
+            grdMain.Columns[HProcNameCol].HeaderText = "宸ュ簭鍚嶇О";
+            //grdMain.Columns[HSourceIDCol].HeaderText = "璧勬簮ID";
+            grdMain.Columns[HSourceNumberCol].HeaderText = "璧勬簮浠g爜";
+            grdMain.Columns[HSourceNameCol].HeaderText = "璧勬簮鍚嶇О";
+            //grdMain.Columns[HEmpIDCol].HeaderText = "鑱屽憳ID";
+            grdMain.Columns[HEmpNumberCol].HeaderText = "鑱屽憳浠g爜";
+            grdMain.Columns[HEmpNameCol].HeaderText = "鑱屽憳鍚嶇О";
+            grdMain.Columns[HTimesCol].HeaderText = "宸ユ椂";
+            grdMain.Columns[HQtyCol].HeaderText = "鏁伴噺";
+            grdMain.Columns[HPriceCol].HeaderText = "宸ヤ环";
+            //
+            grdMain.Columns[HPriceRateCol].HeaderText = "瀹氶娴姩姣旂巼";
+            grdMain.Columns[HSubsidyQtyCol].HeaderText = "琛ヨ创鏁伴噺";
+            grdMain.Columns[HSubsidyMoneyCol].HeaderText = "琛ヨ创閲戦";
+            grdMain.Columns[HSubsidyTotalCol].HeaderText = "琛ヨ创鍚堣";
+            grdMain.Columns[HDeuctTotalCol].HeaderText = "鎵f灏忚";
+            //
+            grdMain.Columns[HMoneyCol].HeaderText = "閲戦";
+            grdMain.Columns[HPackQtyCol].HeaderText = "鍖呰鏁伴噺";
+            grdMain.Columns[HPackPriceCol].HeaderText = "鍖呰鍗曚环";
+            grdMain.Columns[HPackMoneyCol].HeaderText = "鍖呰閲戦";
+            grdMain.Columns[HPackMaterIDCol].HeaderText = "鍖呰绫诲瀷";
+            grdMain.Columns[HICMOInterIDCol].HeaderText = "鐢熶骇浠诲姟鍗旾D";
+            grdMain.Columns[HICMOBillNoCol].HeaderText = "鐢熶骇浠诲姟鍗曞彿";
+            grdMain.Columns[HProcReportInterIDCol].HeaderText = "宸ュ簭姹囨姤鍗旾D";
+            grdMain.Columns[HProcReportEntryIDCol].HeaderText = "宸ュ簭姹囨姤鍗曞瓙ID";
+            grdMain.Columns[HProcReportBillNoCol].HeaderText = "宸ュ簭姹囨姤鍗曞彿";
+            grdMain.Columns[HProcPlanInterIDCol].HeaderText = "宸ュ簭璁″垝鍗旾D";
+            grdMain.Columns[HProcPlanEntryIDCol].HeaderText = "宸ュ簭璁″垝鍗曞瓙ID";
+            grdMain.Columns[HProcPlanBillNoCol].HeaderText = "宸ュ簭璁″垝鍗曞彿";
+            ////鍥哄畾璧嬪��=====================================================
+            grdMain.Columns[HSnoCol].HeaderText = "搴忓彿";
+            grdMain.Columns[HRemarkCol].HeaderText = "澶囨敞";
+            grdMain.Columns[HSourceInterIDCol].HeaderText = "婧愬崟涓诲唴鐮�";
+            grdMain.Columns[HSourceBillNoCol].HeaderText = "婧愬崟鍗曞彿";
+            grdMain.Columns[HSourceEntryIDCol].HeaderText = "婧愬崟瀛愬唴鐮�";
+            grdMain.Columns[HSourceBillTypeCol].HeaderText = "婧愬崟绫诲瀷";
+            grdMain.Columns[HRelationQtyCol].HeaderText = "鍏宠仈鏁伴噺";
+            grdMain.Columns[HRelationMoneyCol].HeaderText = "鍏宠仈閲戦";
+            grdMain.Columns[HCloseManCol].HeaderText = "琛屽叧闂汉";
+            grdMain.Columns[HEntryCloseDateCol].HeaderText = "鍏抽棴鏃堕棿";
+            grdMain.Columns[HCloseTypeCol].HeaderText = "鎵嬪伐鍏抽棴";
+            //=============================================================================
+            //鏍煎紡鍖� 
+            ////闅愯棌鍒�
+            grdMain.Columns[HTagCol].Visible = false;
+            grdMain.Columns[HEntryIDCol].Visible = false;
+            grdMain.Columns[HMaterIDCol].Visible = false;
+            grdMain.Columns[HUnitIDCol].Visible = false;
+            grdMain.Columns[HProcIDCol].Visible = false;
+            grdMain.Columns[HSourceIDCol].Visible = false;
+            grdMain.Columns[HEmpIDCol].Visible = false;
+            grdMain.Columns[HSubsidyIDCol].Visible = false;
+            grdMain.Columns[HDeuctIDCol].Visible = false;
+            grdMain.Columns[HUnitIDCol].Visible = false;
+            grdMain.Columns[HUnitNameCol].Visible = false;
+            grdMain.Columns[HSqtyCol].Visible = false;
+            //璁剧疆鍙紪杈戝垪
+            string sAllowCol = HQtyCol.ToString() +
+                            "," + HMaterNumberCol.ToString() +
+                            "," + HProcNumberCol.ToString() +
+                            "," + HSourceNumberCol.ToString() +
+                            "," + HEmpNumberCol.ToString() +
+                            "," + HTimesCol.ToString() +
+                            "," + HPriceCol.ToString() +
+
+                            "," + HPriceRateCol.ToString() +
+                            "," + HSubsidyQtyCol.ToString() +
+                            "," + HSubsidyMoneyCol.ToString() +
+                            "," + HSubsidyTotalCol.ToString() +
+                            "," + HDeuctTotalCol.ToString() +
+                            "," + HMoneyCol.ToString() +
+                            "," + HPackQtyCol.ToString() +
+                            "," + HPackPriceCol.ToString() +
+                            "," + HPackMoneyCol.ToString() +
+                            "," + HPackMaterIDCol.ToString() +
+                            "," + HICMOInterIDCol.ToString() +
+                            "," + HICMOBillNoCol.ToString() +
+                            "," + HProcReportInterIDCol.ToString() +
+                            "," + HProcReportEntryIDCol.ToString() +
+                            "," + HProcReportBillNoCol.ToString() +
+                            "," + HProcPlanInterIDCol.ToString() +
+                            "," + HProcPlanEntryIDCol.ToString() +
+                            "," + HProcPlanBillNoCol.ToString() +
+                            "," + HRemarkCol.ToString();
+            //璁剧疆鍚堣鍒�
+            string sTotalCol = HQtyCol.ToString() +
+                           "," + HTimesCol.ToString() +
+                           "," + HPriceCol.ToString() +
+                           "," + HSubsidyTotalCol.ToString() +
+                           "," + HDeuctTotalCol.ToString() +
+                           "," + HPackMoneyCol.ToString() +
+                           "," + HMoneyCol.ToString();
+            //鏍煎紡鍖栫綉鏍�
+            DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol, oSumGrid);
+        }
+
+        //鍏紡閲嶇畻
+        private void RowCount(int sRow, int sTag)
+        {
+            DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
+            DAL.ClsGy_Material_View oMater = new DAL.ClsGy_Material_View(); //K3鐗╂枡
+            DAL.ClsGy_Process_View oProc = new DAL.ClsGy_Process_View();//宸ュ簭
+            DAL.ClsGy_Source_View oSour = new DAL.ClsGy_Source_View();//鐢熶骇璧勬簮
+            int row = grdMain.CurrentCell.RowIndex;
+
+            //鐗╂枡
+            if (oMater.GetInfoByNumber(ClsPub.isStrNull(grdMain.Rows[row].Cells[HMaterNumberCol].Value)))
+            {
+                grdMain.Rows[row].Cells[HMaterNameCol].Value = oMater.omodel.HName;
+                grdMain.Rows[row].Cells[HMaterModelCol].Value = oMater.omodel.HModel;
+                grdMain.Rows[row].Cells[HUnitNameCol].Value = oMater.omodel.HUnitName;
+            }
+            else
+            {
+                grdMain.Rows[row].Cells[HMaterNameCol].Value = "";
+                grdMain.Rows[row].Cells[HMaterModelCol].Value = "";
+                grdMain.Rows[row].Cells[HUnitNameCol].Value = "";
+            }
+            //宸ュ簭
+            if (oProc.GetInfoByNumber(ClsPub.isStrNull(grdMain.Rows[row].Cells[HProcNumberCol].Value)))
+            {
+                grdMain.Rows[row].Cells[HProcNameCol].Value = oProc.omodel.HName;
+            }
+            else
+            {
+                grdMain.Rows[row].Cells[HProcNameCol].Value = "";
+            }
+            //璧勬簮
+            if (oSour.GetInfoByNumber(ClsPub.isStrNull(grdMain.Rows[row].Cells[HSourceNumberCol].Value)))
+            {
+                grdMain.Rows[row].Cells[HSourceNameCol].Value = oSour.omodel.HName;
+            }
+            else
+            {
+                grdMain.Rows[row].Cells[HSourceNameCol].Value = "";
+            }
+            //鑱屽憳
+            if (oEmp.GetInfoByNumber(ClsPub.isStrNull(grdMain.Rows[row].Cells[HEmpNumberCol].Value)))
+            {
+                grdMain.Rows[row].Cells[HEmpNameCol].Value = oEmp.omodel.HName;
+            }
+            else
+            {
+                grdMain.Rows[row].Cells[HEmpNameCol].Value = "";
+            }
+
+            if (sTag == 0)
+            {
+                //閲戦鍒�=鏁伴噺*鍗曚环
+                double pMoney = 0;
+                double bMoney = 0;
+                pMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPackPriceCol].Value) * DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPackQtyCol].Value);
+                grdMain.Rows[sRow].Cells[HPackMoneyCol].Value = pMoney.ToString();
+                bMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HSubsidyQtyCol].Value) * DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPriceCol].Value);
+                grdMain.Rows[sRow].Cells[HSubsidyMoneyCol].Value = bMoney.ToString();
+                double sMoney = 0;
+                if (DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPriceRateCol].Value) == 0)
+                {
+                    sMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPriceCol].Value) * DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HQtyCol].Value);
+                }
+                else
+                {
+                    sMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPriceCol].Value) * DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HQtyCol].Value) * DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HPriceRateCol].Value);
+                }
+                sMoney = sMoney + DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HSubsidyTotalCol].Value) - DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HDeuctTotalCol].Value) + pMoney + bMoney;
+                grdMain.Rows[sRow].Cells[HMoneyCol].Value = ClsPub.isDoule(sMoney, 2);                
+                grdMain.Rows[sRow].Cells[HQtyCol].Value = ClsPub.isDoule(grdMain.Rows[sRow].Cells[HQtyCol].Value, 4);
+                //sMoney = sMoney + ClsPub.isDoule(grdMain.get_TextMatrix(sRow, HSubsidyTotalCol)) - ClsPub.isDoule(grdMain.get_TextMatrix(sRow, HDeuctTotalCol));
+                //grdMain.set_TextMatrix(sRow, HMoneyCol, sMoney.ToString());
+            }
+            else
+            {
+                //鍗曚环鍒�=閲戦/鏁伴噺
+                double sMoney = 0;
+            }
+        }
+
+
+
+
+        //鏍稿閫夋嫨鐨勫唴瀹�
+        public bool CheckGridCell(Cell oCell)
+        {
+            int Row;
+            int Col;
+            Row = oCell.Row;
+            Col = oCell.Col;
+            //杈撳叆浠g爜寰楀埌淇℃伅
+            if (Col == HMaterNumberCol)  //鐗╂枡浠g爜鍒�
+            {
+
+                return false;
+            }
+            //else if (Col == HUnitNameCol)  //鍗曚綅 鍒�
+            //{
+
+            //        return false; 
+            //}
+            else //鍏朵粬鍒�
+            {
+            }
+            //  
+            oSumGrid.EditStatus = false;
+            return true;
+        }
+
+
+        //'鍒ゆ柇缃戞牸琛岀殑褰曞叆鏄惁姝g‘
+        private bool CheckGridRow(int Row)
+        {
+            Cell oCell = new Cell();
+            int c = 0;
+            //for (c = 0; c < grdMain.ColumnCount; c++)
+            //{
+            //    oCell.Row = Row;
+            //    oCell.Col = c;
+            //    //if (!CheckGridCell(oCell))
+            //    //    return false;
+
+            //}
+            return true;
+        }
+        //甯姪鍑芥暟
+        private void Sub_GridKey(int sKeyCode, int sRow, int sCol, DataGridViewTextBoxEditingControl oEdit)
+        {
+            DAL.ClsGy_Material_View oMater = new DAL.ClsGy_Material_View(); //K3鐗╂枡
+            DAL.ClsGy_Process_View oProc = new DAL.ClsGy_Process_View();//宸ュ簭
+            DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
+            if (!grdStatus)
+            {
+                return;
+            }
+            oSumGrid.EditStatus = true;
+            switch (sKeyCode)
+            {
+                case 118:          //F7
+                    {
+                        switch (sCol)
+                        {
+                            case HMaterNumberCol:
+                                //BLL.ClsBaseSelect_InterFace.SetGridByMater(grdMain, sRow, HMaterIDCol, HMaterNumberCol, HMaterNameCol, HMaterModelCol, HUnitIDCol, HUnitNameCol, HUnitNameCol);
+                                //oEdit.Text = grdMain.Rows[sRow].Cells[HMaterNumberCol].Value.ToString();
+                                oMater.WherePart = "";
+                                if (oMater.RefreshView())
+                                {
+                                    if (oMater.GetInfoByID(oMater.oModel.HItemID))
+                                    {
+                                        grdMain.Rows[sRow].Cells[HMaterIDCol].Value = oMater.omodel.HItemID.ToString();
+                                        grdMain.Rows[sRow].Cells[HMaterNumberCol].Value = oMater.omodel.HNumber;
+                                        grdMain.Rows[sRow].Cells[HMaterNameCol].Value = oMater.omodel.HName;
+                                        grdMain.Rows[sRow].Cells[HMaterModelCol].Value = oMater.omodel.HModel;
+                                        oEdit.Text = oMater.omodel.HNumber;
+                                    }
+                                    else
+                                    {
+                                        grdMain.Rows[sRow].Cells[HMaterIDCol].Value = 0;
+                                        grdMain.Rows[sRow].Cells[HMaterNumberCol].Value = "";
+                                        grdMain.Rows[sRow].Cells[HMaterNameCol].Value = "";
+                                        grdMain.Rows[sRow].Cells[HMaterModelCol].Value = "";
+                                    }
+                                }
+                                else
+                                {
+                                    grdMain.Rows[sRow].Cells[HMaterIDCol].Value = 0;
+                                    grdMain.Rows[sRow].Cells[HMaterNumberCol].Value = "";
+                                    grdMain.Rows[sRow].Cells[HMaterNameCol].Value = "";
+                                    grdMain.Rows[sRow].Cells[HMaterModelCol].Value = "";
+                                }
+                                Sub_LoadProcPrice(sRow);
+                                break;
+                            //
+                            case HProcNumberCol:
+                                BLL.ClsBaseSelect.SetGridByProc(grdMain, sRow, HProcIDCol, HProcNumberCol, HProcNameCol);
+                                oEdit.Text = grdMain.Rows[sRow].Cells[HProcNumberCol].Value.ToString();
+                                Sub_LoadProcPrice(sRow);
+                                break;
+                            //
+                            case HSourceNumberCol:
+                                BLL.ClsBaseSelect.SetGridBySource(grdMain, sRow, HSourceIDCol, HSourceNumberCol, HSourceNameCol);
+                                oEdit.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[sRow].Cells[HSourceNumberCol].Value);
+                                Sub_LoadProcPrice(sRow);
+                                break;
+                            //
+                            case HEmpNumberCol:
+                                BLL.ClsBaseSelect.SetGridByEmp(grdMain, sRow, HEmpIDCol, HEmpNumberCol, HEmpNameCol);
+                                oEdit.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[sRow].Cells[HEmpNumberCol].Value);
+                                break;
+                            case HSubsidyTotalCol:
+                                Pay_OtherMoney_Dlg oDlg = new Pay_OtherMoney_Dlg();
+                                oDlg.HBillType = "琛ヨ创";
+                                oDlg.HInterID = DBUtility.ClsPub.isLong(grdMain.Rows[sRow].Cells[HSubsidyIDCol].Value);
+                                oDlg.HMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HSubsidyTotalCol].Value);
+                                oDlg.ShowDialog();
+                                grdMain.Rows[sRow].Cells[HSubsidyTotalCol].Value = oDlg.HMoney.ToString();
+                                grdMain.Rows[sRow].Cells[HSubsidyIDCol].Value = oDlg.HInterID.ToString();
+                                oEdit.Text = oDlg.HMoney.ToString();
+                                break;
+                            case HDeuctTotalCol:
+                                Pay_OtherMoney_Dlg oDlg2 = new Pay_OtherMoney_Dlg();
+                                oDlg2.HBillType = "鎵f";
+                                oDlg2.HInterID = DBUtility.ClsPub.isLong(grdMain.Rows[sRow].Cells[HDeuctIDCol].Value);
+                                oDlg2.HMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[sRow].Cells[HDeuctTotalCol].Value);
+                                oDlg2.ShowDialog();
+                                grdMain.Rows[sRow].Cells[HDeuctTotalCol].Value = oDlg2.HMoney.ToString();
+                                grdMain.Rows[sRow].Cells[HDeuctIDCol].Value = oDlg2.HInterID.ToString();
+                                oEdit.Text = oDlg2.HMoney.ToString();
+                                break;
+                            default:
+                                break;
+                        }
+                        //鑾峰彇宸ヤ环
+
+                        //
+                        break;
+                    }
+                case 117:  //F6
+                    {
+                        switch (sCol)
+                        {
+                            default:
+                                break;
+                        }
+                        break;
+                    }
+                default:
+                    break;
+            }
+        }
+
+        #region  鍩烘湰涓嶅彉
+
+        //鏄惁鏄┖琛�
+        private bool IsNullRow(int Row)
+        {
+            return DBUtility.Xt_BaseBillFun.IsNullRow(Row, HMaterIDCol, grdMain);
+        }
+
+
+        //缃戞牸缂栬緫鍓嶅垽鏂�
+        private void grdMain_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
+        {
+            int i = grdMain.CurrentCell.ColumnIndex;
+            if (DBUtility.Xt_BaseBillFun.AllowEdit(grdStatus, oSumGrid, i))
+            {
+                e.Cancel = true;
+            }
+        }
+
+        private void grdMain_Scroll(object sender, ScrollEventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+            oSumGrid.DisplayCurRow();
+        }
+
+        //缃戞牸缂栬緫鍚庡鐞�
+        private void grdMain_CellEndEdit(object sender, DataGridViewCellEventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+            RowCount(e.RowIndex, 0);  //璁$畻 閲戦 鍗曚环
+            //
+            if (this.EditingControl != null)      //閲婃斁浜嬩欢
+            {
+                EditingControl.KeyDown -= new KeyEventHandler(this.EditingControl_KeyDown);
+                this.EditingControl = null;
+            }
+        }
+        DataGridViewTextBoxEditingControl EditingControl;
+
+        private void grdMain_CellLeave(object sender, DataGridViewCellEventArgs e)
+        {
+            //
+            if (!grdStatus)
+            {
+                return;
+            }
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+            // 
+            if (!CheckGridRow(oSumGrid.OldCell.Row))
+                return;
+        }
+
+        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+        }
+
+        private void grdMain_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
+        {
+            if (grdMain.CurrentCell != null)
+            {
+                if (e.Control is DataGridViewTextBoxEditingControl)
+                {
+                    this.EditingControl = (DataGridViewTextBoxEditingControl)e.Control;
+                    //澧炲姞濮旀墭澶勭悊 
+                    this.EditingControl.KeyDown += new KeyEventHandler(this.EditingControl_KeyDown);
+                }
+            }
+        }
+        private void EditingControl_KeyDown(object sender, KeyEventArgs e)
+        {
+            //涓氬姟澶勭悊 
+            Sub_GridKey(e.KeyValue, grdMain.CurrentRow.Index, grdMain.CurrentCell.ColumnIndex, EditingControl);
+        }
+        private void grdMain_RowHeadersWidthChanged(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+        }
+
+
+        #endregion
+
+        #endregion
+
+
+        #region  //鎵撳嵃璁剧疆
+
+        GridppReport Report;
+
+        //棰勮
+        private void yl_Click(object sender, EventArgs e)
+        {
+            //閫夋嫨鎵撳嵃妯℃澘
+            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
+            oFrm.sBillName = ModName;
+            oFrm.sBillModel = ModCaption;
+            oFrm.ShowDialog();
+            if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+            {
+                //
+                Sub_SetReport(oFrm.sOpenTmp);
+                Report.PrintPreview(true);
+            }
+        }
+        //鎵惧埌瀵瑰簲鎵撳嵃妯″潡
+        private void Sub_SetReport(string sOpenTmp)
+        {
+            //
+            Report = new GridppReport();
+            Report.LoadFromFile(ClsPub.AppPath + @"\" + sOpenTmp + ".grf");  //here .
+            Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord);
+            Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable);
+        }
+        //璧嬪�艰〃澶�
+        private void ReportBeforePostRecord()// 
+        {
+            Report.FieldByName("鍗曟嵁鍙�").AsString = txtHBillNo.Text;
+            Report.FieldByName("鏃ユ湡").AsString = dtpHDate.Value.ToString();
+            Report.FieldByName("閮ㄩ棬").AsString = txtHDeptID.Text;
+            Report.FieldByName("鑱屽憳").AsString = txtHEmpID.Text;
+            Report.FieldByName("琛ㄥご澶囨敞").AsString = txtHRemark.Text;
+        }
+        //璧嬪�艰〃浣�
+        private void ReportFetchRecordByDataTable()
+        {
+            BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, HMaterIDCol);
+        }
+        //鎵撳嵃璁剧疆
+        private void set_Click(object sender, EventArgs e)
+        {
+            // 
+            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
+            oFrm.sBillName = ModName;
+            oFrm.sBillModel = ModCaption;
+            oFrm.ShowDialog();
+        }
+        //鎵撳嵃
+        private void dy_Click(object sender, EventArgs e)
+        {
+            //閫夋嫨鎵撳嵃妯℃澘
+            BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
+            oFrm.sBillName = ModName;
+            oFrm.sBillModel = ModCaption;
+            oFrm.ShowDialog();
+            if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+            {
+                //
+                Sub_SetReport(oFrm.sOpenTmp);
+                Report.Print(true);
+            }
+        }
+
+        #endregion
+
+
+
+        #region  婧愬崟澶勭悊
+        //閫夊師鍗� 
+        private void cmdSourceBillNo_Click(object sender, EventArgs e)
+        {
+            if (cmbSourceBillType.Text.Trim() == "璋冩嫧鍗�")    //骞�
+            {
+                DAL.Cls_S_K3_MoveStockBill oK3_MoveStockBill = new DAL.Cls_S_K3_MoveStockBill();
+                if (oK3_MoveStockBill.Refresh(""))  //閫夋嫨鍘熷崟
+                {
+                    FillSelectData(oK3_MoveStockBill.oBillSelectColl);
+                }
+            }
+            else if (cmbSourceBillType.Text.Trim() == "浜у搧鍏ュ簱鍗�")    //骞�
+            {
+                DAL.Cls_S_K3_ProdInBillList oK3_ProdInBill = new DAL.Cls_S_K3_ProdInBillList();
+                if (oK3_ProdInBill.Refresh(""))  //閫夋嫨鍘熷崟
+                {
+                    FillSelectData(oK3_ProdInBill.oBillSelectColl);
+                }
+            }
+            else if (cmbSourceBillType.Text.Trim() == "浜у搧鍏ュ簱鍗�(绾㈠崟)")    //骞�
+            {
+                DAL.Cls_S_K3_ProdInBillList2 oK3_ProdInBill = new DAL.Cls_S_K3_ProdInBillList2();
+                if (oK3_ProdInBill.Refresh(""))  //閫夋嫨鍘熷崟
+                {
+                    FillSelectData(oK3_ProdInBill.oBillSelectColl);
+                }
+            }
+            else if (cmbSourceBillType.Text.Trim() == "宸ュ簭姹囨姤鍗�")    //骞�
+            {
+                DAL.Cls_S_Sc_ProcessReport oK3_ProdInBill = new DAL.Cls_S_Sc_ProcessReport();
+                if (oK3_ProdInBill.Refresh(""))  //閫夋嫨鍘熷崟
+                {
+                    FillSelectData(oK3_ProdInBill.oBillSelectColl);
+                }
+            }
+            else
+            {
+
+            }
+        }
+        //
+        private void FillSelectData(List<DBUtility.BillSelect> oList)
+        {
+            DataSet Ds;
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            oSumGrid.Changelock = true;
+            initGrid();
+            int i = -1;
+            foreach (DBUtility.BillSelect oSelectRow in oList)
+            {
+                i = i + 1;
+                //璋冩嫧鍗�
+                if (oSelectRow.BillType == "1243")
+                {
+                    grdMain.Rows.Add();
+                    Application.DoEvents();
+                    //寰楀埌淇℃伅
+                    Ds = oCn.RunProcReturn("select * from h_v_Kf_MoveStockBillList_K3 where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_Kf_MoveStockBillList_K3");
+                    //鍐欏叆淇℃伅
+                    Sub_WriteInForm(Ds.Tables[0], i);
+                    Application.DoEvents();
+                }
+                //浜у搧鍏ュ簱鍗�
+                if (oSelectRow.BillType == "1202")
+                {
+                    grdMain.Rows.Add();
+                    Application.DoEvents();
+                    //寰楀埌淇℃伅
+                    Ds = oCn.RunProcReturn("select * from h_v_Kf_ProductInBillList_K3 where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_Kf_ProductInBillList_K3");
+                    //鍐欏叆淇℃伅
+                    Sub_WriteInForm(Ds.Tables[0], i);
+                    Application.DoEvents();
+                }
+                //鐢熶骇浠诲姟鍗�
+                if (oSelectRow.BillType == "85")
+                {
+                    grdMain.Rows.Add();
+                    Application.DoEvents();
+                    //寰楀埌淇℃伅
+                    Ds = oCn.RunProcReturn("select * from h_v_Sc_ICMOBillList_K3 where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_Sc_ICMOBillList_K3");
+                    //鍐欏叆淇℃伅
+                    Sub_WriteInForm(Ds.Tables[0], i);
+                    Application.DoEvents();
+                }
+                //宸ュ簭姹囨姤鍗�
+                if (oSelectRow.BillType == "3714")
+                {
+                    grdMain.Rows.Add();
+                    Application.DoEvents();
+                    //寰楀埌淇℃伅
+                    Ds = oCn.RunProcReturn("select * from h_v_Sc_ProcessReportList_Source where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_Sc_ProcessReportList_Source");
+                    //鍐欏叆淇℃伅
+                    Sub_WriteInForm(Ds.Tables[0], i);
+                    Application.DoEvents();
+                }
+                //浠诲姟鍗曟眹鎶�
+                if (oSelectRow.BillType == "551")
+                {
+                    grdMain.Rows.Add();
+                    Application.DoEvents();
+                    //寰楀埌淇℃伅
+                    Ds = oCn.RunProcReturn("select * from h_v_Kf_ProductInBillList_K3 where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_Kf_ProductInBillList_K3");
+                    //鍐欏叆淇℃伅
+                    Sub_WriteInForm(Ds.Tables[0], i);
+                    Application.DoEvents();
+                }
+                
+                //
+            }
+            //
+            oSumGrid.Changelock = false;
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+        }
+        //鏍规嵁TABLE鍐欏叆鐣岄潰
+        private void Sub_WriteInForm(DataTable oTable, int i)
+        {
+            Int64 HMaterID = 0;
+            Int64 HProcID = 0;
+            Int64 HSourceID = 0;
+            HMaterID = ClsPub.isLong(oTable.Rows[0]["HMaterID"]);
+            HProcID = ClsPub.isLong(oTable.Rows[0]["HProcID"]);
+            HSourceID = ClsPub.isLong(oTable.Rows[0]["HSourceID"]);
+            DAL.ClsGy_ProcPrice_Ctl oProcPrice = new DAL.ClsGy_ProcPrice_Ctl();
+
+
+            ////鍔犺浇琛ㄥご
+            this.txtHDeptID.Tag = oTable.Rows[0]["HDeptID"].ToString();
+            this.txtHDeptID.Text = oTable.Rows[0]["閮ㄩ棬鍚嶇О"].ToString();
+            this.txtHGroupID.Tag = oTable.Rows[0]["HGroupID"].ToString();
+            this.txtHGroupID.Text = oTable.Rows[0]["鐝粍鍚嶇О"].ToString();
+            ////鍔犺浇琛ㄤ綋
+            grdMain.Rows[i].Cells[HTagCol].Value = "*";
+            grdMain.Rows[i].Cells[HMaterIDCol].Value = oTable.Rows[0]["HMaterID"].ToString();
+            grdMain.Rows[i].Cells[HMaterNumberCol].Value = oTable.Rows[0]["鐗╂枡浠g爜"].ToString();
+            grdMain.Rows[i].Cells[HMaterNameCol].Value = oTable.Rows[0]["鐗╂枡鍚嶇О"].ToString();
+            grdMain.Rows[i].Cells[HMaterModelCol].Value = oTable.Rows[0]["瑙勬牸鍨嬪彿"].ToString();
+            grdMain.Rows[i].Cells[HProcIDCol].Value = oTable.Rows[0]["HProcID"].ToString();
+            grdMain.Rows[i].Cells[HProcNumberCol].Value = oTable.Rows[0]["宸ュ簭浠g爜"].ToString();
+            grdMain.Rows[i].Cells[HProcNameCol].Value = oTable.Rows[0]["宸ュ簭鍚嶇О"].ToString();
+            grdMain.Rows[i].Cells[HSourceIDCol].Value = oTable.Rows[0]["HSourceID"].ToString();
+            grdMain.Rows[i].Cells[HSourceNumberCol].Value = oTable.Rows[0]["璧勬簮浠g爜"].ToString();
+            grdMain.Rows[i].Cells[HSourceNameCol].Value = oTable.Rows[0]["璧勬簮鍚嶇О"].ToString();
+            grdMain.Rows[i].Cells[HEmpIDCol].Value = oTable.Rows[0]["HWorkerID"].ToString();
+            grdMain.Rows[i].Cells[HEmpNumberCol].Value = oTable.Rows[0]["鎿嶄綔鍛樹唬鐮�"].ToString();
+            grdMain.Rows[i].Cells[HEmpNameCol].Value = oTable.Rows[0]["鎿嶄綔鍛樺悕绉�"].ToString();
+            grdMain.Rows[i].Cells[HUnitIDCol].Value = oTable.Rows[0]["HUnitID"].ToString();
+            grdMain.Rows[i].Cells[HUnitNameCol].Value = oTable.Rows[0]["璁¢噺鍗曚綅"].ToString();
+            grdMain.Rows[i].Cells[HTimesCol].Value = ClsPub.isDoule(oTable.Rows[0]["宸ユ椂"]);
+            grdMain.Rows[i].Cells[HQtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["鏁伴噺"]);
+            grdMain.Rows[i].Cells[HSqtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["鏁伴噺"]); 
+            grdMain.Rows[i].Cells[HPriceCol].Value = oProcPrice.LoadProcPrice(HMaterID, HProcID, HSourceID, true);// ClsPub.isDoule(oTable.Rows[0]["宸ヤ环"]);
+
+            grdMain.Rows[i].Cells[HMoneyCol].Value = ClsPub.isDoule(oTable.Rows[0]["鏁伴噺"]) * oProcPrice.LoadProcPrice(HMaterID, HProcID, HSourceID, true);
+            //grdMain.Rows[i].Cells[HICMOInterIDCol].Value = ClsPub.isLong(oTable.Rows[0]["鐢熶骇浠诲姟鍗旾D"]);
+            //grdMain.Rows[i].Cells[HICMOBillNoCol].Value = ClsPub.isStrNull(oTable.Rows[0]["鐢熶骇浠诲姟鍗曞彿"]);
+            //grdMain.Rows[i].Cells[HProcReportInterIDCol].Value = ClsPub.isLong(oTable.Rows[0]["宸ュ簭姹囨姤鍗旾D"]);
+            //grdMain.Rows[i].Cells[HProcReportEntryIDCol].Value = ClsPub.isLong(oTable.Rows[0]["宸ュ簭姹囨姤鍗曞瓙ID"]);
+            //grdMain.Rows[i].Cells[HProcReportBillNoCol].Value = ClsPub.isStrNull(oTable.Rows[0]["宸ュ簭姹囨姤鍗曞彿"]);
+            //grdMain.Rows[i].Cells[HProcPlanInterIDCol].Value = ClsPub.isLong(oTable.Rows[0]["宸ュ簭璁″垝鍗旾D"]);
+            //grdMain.Rows[i].Cells[HProcPlanEntryIDCol].Value = ClsPub.isLong(oTable.Rows[0]["宸ュ簭璁″垝鍗曞瓙ID"]);
+            //grdMain.Rows[i].Cells[HProcPlanBillNoCol].Value = ClsPub.isStrNull(oTable.Rows[0]["宸ュ簭璁″垝鍗曞彿"]);
+            grdMain.Rows[i].Cells[HSourceInterIDCol].Value = ClsPub.isLong(oTable.Rows[0]["hmainID"]);
+            grdMain.Rows[i].Cells[HSourceEntryIDCol].Value = ClsPub.isLong(oTable.Rows[0]["hsubid"]);
+            grdMain.Rows[i].Cells[HSourceBillNoCol].Value = ClsPub.isStrNull(oTable.Rows[0]["鍗曟嵁鍙�"]);
+            grdMain.Rows[i].Cells[HSourceBillTypeCol].Value = "2";
+
+        }
+
+        #endregion
+
+        private void cmdHGroupID_Click(object sender, EventArgs e)
+        {
+            //DAL.ClsGy_Group_View oGroup = new DAL.ClsGy_Group_View();
+            //if (oGroup.RefreshView())
+            //{
+            //    this.txtHGroupID.Text = oGroup.oModel.HName;
+            //    this.txtHGroupID.Tag = oGroup.oModel.HItemID.ToString();
+            //}
+            //else
+            //{
+            //    this.txtHGroupID.Text = "";
+            //}
+            //BLL.ClsBaseSelect.SetTextByGroup(txtHGroupID);
+            BLL.ClsBaseSelect.SetTextByGroup(txtHGroupID);
+        }
+
+        private void txtHGroupID_TextChanged(object sender, EventArgs e)
+        {
+            if (txtHGroupID.Text.Trim() == "")
+            {
+                txtHGroupID.Tag = "0";
+            }
+        }
+
+        private void cmdHDeptID_Click(object sender, EventArgs e)
+        {
+            //DAL.ClsGy_Department_View oDep = new DAL.ClsGy_Department_View();
+            //if (oDep.RefreshView())
+            //{
+            //    this.txtHDeptID.Text = oDep.oModel.HName;
+            //    this.txtHDeptID.Tag = oDep.oModel.HItemID.ToString();
+            //}
+            //else
+            //{
+            //    this.txtHDeptID.Text = "";
+            //}
+            //BLL.ClsBaseSelect.SetTextByDept(txtHDeptID, true);
+            BLL.ClsBaseSelect.SetTextByDept(txtHDeptID,false);
+        }
+
+        private void txtHDeptID_TextChanged(object sender, EventArgs e)
+        {
+            if (txtHDeptID.Text.Trim() == "")
+            {
+                txtHDeptID.Tag = "0";
+            }
+        }
+
+        private void cmdHEmpID_Click(object sender, EventArgs e)
+        {
+            //DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
+            //if (oEmp.RefreshView())
+            //{
+            //    this.txtHEmpID.Text = oEmp.oModel.HName;
+            //    this.txtHEmpID.Tag = oEmp.oModel.HItemID.ToString();
+            //}
+            //else
+            //{
+            //    this.txtHEmpID.Text = "";
+            //}
+            //BLL.ClsBaseSelect.SetTextByEmp_K3(txtHEmpID);
+            BLL.ClsBaseSelect.SetTextByEmp(txtHEmpID);
+        }
+
+        private void txtHEmpID_TextChanged(object sender, EventArgs e)
+        {
+            if (txtHEmpID.Text.Trim() == "")
+            {
+                txtHEmpID.Tag = "0";
+            }
+        }
+
+
+        #region  鍥炶溅 閫夋嫨鍩虹璧勬枡鍔熻兘
+
+        //閮ㄩ棬 鎸夐敭鏃堕棿
+        private void txtHDeptID_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                //鑾峰彇鎺т欢浣嶇疆
+                int x = 0; int y = 0;
+                BLL.ClsPub_BLL.SetXY(this, P1, gbUp, txtHDeptID, ref x, ref y);
+                //閫夋嫨鍩虹
+                BLL.ClsBaseDownSelect.SetTextByDept(txtHDeptID, x, y);
+            }
+        }
+        //鐝粍 鎸夐敭鏃堕棿
+        private void txtHGroupID_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                //鑾峰彇鎺т欢浣嶇疆
+                int x = 0; int y = 0;
+                BLL.ClsPub_BLL.SetXY(this, P1, gbUp, txtHGroupID, ref x, ref y);
+                //閫夋嫨鍩虹
+                BLL.ClsBaseDownSelect.SetTextByGroup(txtHGroupID, x, y);
+            }
+        }
+        //涓荤 鎸夐敭鏃堕棿
+        private void txtHEmpID_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                //鑾峰彇鎺т欢浣嶇疆
+                int x = 0; int y = 0;
+                BLL.ClsPub_BLL.SetXY(this, P1, gbUp, txtHEmpID, ref x, ref y);
+                //閫夋嫨鍩虹
+                BLL.ClsBaseDownSelect.SetTextByEmployee(txtHEmpID, x, y);
+            }
+        }
+
+        //涓嬫媺寮� 閫夋嫨妗�  GRID
+        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
+        {
+            DAL.ClsGy_Material_View oMater = new DAL.ClsGy_Material_View(); //K3鐗╂枡
+            DAL.ClsGy_Unit_View oUnit = new DAL.ClsGy_Unit_View();//K3璁¢噺鍗曚綅
+            DAL.ClsGy_Process_View oProc = new DAL.ClsGy_Process_View();//宸ュ簭
+            DAL.ClsGy_Source_View oSource = new DAL.ClsGy_Source_View();//鐢熶骇璧勬簮
+            DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
+            bool enterkey;
+            enterkey = false;
+            if (keyData == Keys.Enter)    //鐩戝惉鍥炶溅浜嬩欢              
+            {
+                if (this.grdMain.IsCurrentCellInEditMode)   //濡傛灉褰撳墠鍗曞厓鏍煎浜庣紪杈戞ā寮�                   
+                {
+                    enterkey = true;    //鎶婃槸鍚︾偣鍑绘寜閽缃负鐪�   
+                    if (grdMain.CurrentCell.RowIndex == grdMain.Rows.Count - 1)
+                    {
+                    }
+                    else
+                    {
+                    }
+                    if (grdMain.CurrentCell.ColumnIndex != grdMain.CurrentCell.ColumnIndex)
+                    {
+                        return true;
+                    }
+                    //鑾峰彇瀹氫綅
+                    int sh = 40;
+                    int ch = 40;
+                    for (int i = grdMain.CurrentCell.RowIndex; i > 0; i--)
+                    {
+                        if (grdMain.Rows[i].Displayed)
+                        {
+                            sh = sh + grdMain.Rows[i].Height;
+                        }
+                    }
+                    for (int i = grdMain.CurrentCell.ColumnIndex; i > 0; i--)
+                    {
+                        if (grdMain.Columns[i].Displayed)
+                        {
+                            ch = ch + grdMain.Columns[i].Width;
+                        }
+                    }
+                    int x = this.Location.X + this.grdMain.Location.X + ch;
+                    int y = this.Location.Y + this.grdMain.Location.Y + sh + 35;
+                    //------------------------------------
+                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[grdMain.CurrentCell.ColumnIndex].Value = EditingControl.Text;
+                    string sWhere = Pub_Class.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[grdMain.CurrentCell.ColumnIndex].Value);
+
+                    switch (grdMain.CurrentCell.ColumnIndex)
+                    {
+                        case HMaterNumberCol:
+                            //BLL.ClsBaseDownSelect.SetGridByMaterial(grdMain, sWhere, grdMain.CurrentRow.Index, HMaterIDCol, x, y);
+                            //if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HMaterIDCol].Value) != 0)
+                            //{
+                            //    if (oMater.GetInfoByID(DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HMaterIDCol].Value)))
+                            //    {
+                            //        grdMain.Rows[grdMain.CurrentRow.Index].Cells[HMaterNumberCol].Value = oMater.omodel.HNumber;
+                            //        grdMain.Rows[grdMain.CurrentRow.Index].Cells[HMaterNameCol].Value = oMater.omodel.HName;
+                            //        grdMain.Rows[grdMain.CurrentRow.Index].Cells[HMaterModelCol].Value = oMater.omodel.HModel;
+                            //        grdMain.Rows[grdMain.CurrentRow.Index].Cells[HUnitIDCol].Value = oMater.omodel.HUnitID.ToString();
+                            //        if (oUnit.GetInfoByID(oMater.omodel.HUnitID))
+                            //        {
+                            //            grdMain.Rows[grdMain.CurrentRow.Index].Cells[HUnitIDCol].Value = oUnit.omodel.HItemID;
+                            //            grdMain.Rows[grdMain.CurrentRow.Index].Cells[HUnitNameCol].Value = oUnit.omodel.HName;
+                            //        }
+                            //        EditingControl.Text = grdMain.Rows[grdMain.CurrentRow.Index].Cells[grdMain.CurrentCell.ColumnIndex].Value.ToString();
+                            //    }
+                            //}
+                            break;
+                        //
+                        case HProcNumberCol:
+                            BLL.ClsBaseDownSelect.SetGridByProc(grdMain, sWhere, grdMain.CurrentRow.Index, HProcIDCol, x, y);
+                            if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HProcIDCol].Value) != 0)
+                            {
+                                if (oProc.GetInfoByID(DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HProcIDCol].Value)))
+                                {
+                                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[HProcNumberCol].Value = oProc.omodel.HNumber;
+                                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[HProcNameCol].Value = oProc.omodel.HName;
+                                    EditingControl.Text = grdMain.Rows[grdMain.CurrentRow.Index].Cells[grdMain.CurrentCell.ColumnIndex].Value.ToString();
+                                }
+                            }
+                            break;
+                        //
+                        case HSourceNumberCol:
+                            BLL.ClsBaseDownSelect.SetGridBySource(grdMain, sWhere, grdMain.CurrentRow.Index, HSourceIDCol, x, y);
+                            if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HSourceIDCol].Value) != 0)
+                            {
+                                if (oSource.GetInfoByID(DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HSourceIDCol].Value)))
+                                {
+                                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[HSourceNumberCol].Value = oSource.omodel.HNumber;
+                                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[HSourceNameCol].Value = oSource.omodel.HName;
+                                    EditingControl.Text = grdMain.Rows[grdMain.CurrentRow.Index].Cells[grdMain.CurrentCell.ColumnIndex].Value.ToString();
+                                }
+                            }
+                            break;
+                        //
+                        case HEmpNumberCol:
+                            BLL.ClsBaseDownSelect.SetGridByEmp(grdMain, sWhere, grdMain.CurrentRow.Index, HEmpIDCol, x, y);
+                            if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HEmpIDCol].Value) != 0)
+                            {
+                                if (oEmp.GetInfoByID(DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HEmpIDCol].Value)))
+                                {
+                                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[HEmpNumberCol].Value = oEmp.omodel.HNumber;
+                                    grdMain.Rows[grdMain.CurrentRow.Index].Cells[HEmpNameCol].Value = oEmp.omodel.HName;
+                                    EditingControl.Text = grdMain.Rows[grdMain.CurrentRow.Index].Cells[grdMain.CurrentCell.ColumnIndex].Value.ToString();
+                                }
+                            }
+                            break;
+
+                        default:
+                            break;
+                    }
+                    //SendKeys.Send("{Right}");
+                    return true;
+                }
+            }
+            //缁х画鍘熸潵base.ProcessCmdKey涓殑澶勭悊               
+            return base.ProcessCmdKey(ref msg, keyData);
+        }
+
+
+        #endregion
+
+
+        //鏍规嵁鐗╂枡鍜屽伐搴忓姞杞藉伐浠�
+        private void Sub_LoadProcPrice(int i)
+        {
+            double sPrice = 0;
+            if (ClsPub.isLong(grdMain.Rows[i].Cells[HMaterIDCol].Value) != 0 && ClsPub.isLong(grdMain.Rows[i].Cells[HProcIDCol].Value) != 0)
+            {
+                DAL.ClsGy_ProcPrice_Ctl oProcPrice = new DAL.ClsGy_ProcPrice_Ctl();
+                sPrice = oProcPrice.LoadProcPrice(ClsPub.isLong(grdMain.Rows[i].Cells[HMaterIDCol].Value), ClsPub.isLong(grdMain.Rows[i].Cells[HProcIDCol].Value), ClsPub.isLong(grdMain.Rows[i].Cells[HSourceIDCol].Value), true);
+                grdMain.Rows[i].Cells[HPriceCol].Value = sPrice.ToString();
+            }
+            RowCount(i, 0);
+        }
+
+        //鐗╂枡+宸ュ簭 甯﹀嚭宸ュ簭宸ヤ环
+        private double FindProcPrice(Int64 HMaterID, Int64 HProcID, Int64 HSourceID, bool b)
+        {
+            DAL.ClsGy_ProcPrice_Ctl oProcPrice = new DAL.ClsGy_ProcPrice_Ctl();
+            return oProcPrice.LoadProcPrice(HMaterID, HProcID, HSourceID, b);
+        }
+    
+
+
+        private void 鍏抽棴ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            this.Sub_CloseBill();
+        }
+        private void 鍙嶅叧闂璗oolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            this.Sub_Cancel();
+        }
+        private void 瀹℃牳ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            this.Sub_CheckBill();
+        }
+        private void 鍙嶅鏍窽oolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            this.Sub_AbandonCheck();
+        }
+        private void 浣滃簾ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            this.Sub_Cancelltion();
+        }
+        private void 鎾ら攢浣滃簾ToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            this.Sub_AbandonCancelltion();
+        }
+        private void 闅愯棌鍒楄缃甌oolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            BLL.Gy_GridView_Hide oHide = new BLL.Gy_GridView_Hide();
+            oHide.KeyItem = this.Name;
+            oHide.oGrd = grdMain;
+            oHide.ShowDialog();
+            //
+            DBUtility.ClsPub.HideGridView(grdMain, Name, ClsPub.AppPath);//璁剧疆闅愯棌鍒�
+
+        }
+
+        public Pay_SingleBalBillDlg oDlg = new Pay_SingleBalBillDlg();
+        private void cx_Click(object sender, EventArgs e)
+        {
+            oDlg.ShowDialog();
+            if (oDlg.IsOk == 1)
+            {
+                grdMainData_CF(DBUtility.ClsPub.isInt(oDlg.txtHQ.Text));
+            }
+        }
+
+        private void grdMainData_CF(int HQty)
+        {
+            double hq = 0;
+            int Qty = HQty - 1;
+            int row = grdMain.CurrentCell.RowIndex;
+            grdMain.Rows.Insert(row + 1, Qty);
+            hq = DBUtility.ClsPub.isDoule(grdMain.Rows[row].Cells[HQtyCol].Value) / HQty;
+            grdMain.Rows[row].Cells[HQtyCol].Value = hq;
+            for (int i = 0; i < Qty; i++)
+            {
+                int r = i + 1;
+                grdMain.Rows[row + r].Cells[HMaterIDCol].Value = grdMain.Rows[row].Cells[HMaterIDCol].Value;
+                grdMain.Rows[row + r].Cells[HMaterNumberCol].Value = grdMain.Rows[row].Cells[HMaterNumberCol].Value;
+                grdMain.Rows[row + r].Cells[HMaterNameCol].Value = grdMain.Rows[row].Cells[HMaterNameCol].Value;
+                grdMain.Rows[row + r].Cells[HMaterModelCol].Value = grdMain.Rows[row].Cells[HMaterModelCol].Value;
+                grdMain.Rows[row + r].Cells[HUnitIDCol].Value = grdMain.Rows[row].Cells[HUnitIDCol].Value;
+                grdMain.Rows[row + r].Cells[HUnitNameCol].Value = grdMain.Rows[row].Cells[HUnitNameCol].Value;
+                grdMain.Rows[row + r].Cells[HProcIDCol].Value = grdMain.Rows[row].Cells[HProcIDCol].Value;
+                grdMain.Rows[row + r].Cells[HProcNumberCol].Value = grdMain.Rows[row].Cells[HProcNumberCol].Value;
+                grdMain.Rows[row + r].Cells[HProcNameCol].Value = grdMain.Rows[row].Cells[HProcNameCol].Value;
+                grdMain.Rows[row + r].Cells[HSourceIDCol].Value = grdMain.Rows[row].Cells[HSourceIDCol].Value;
+                grdMain.Rows[row + r].Cells[HSourceNumberCol].Value = grdMain.Rows[row].Cells[HSourceNumberCol].Value;
+                grdMain.Rows[row + r].Cells[HSourceNameCol].Value = grdMain.Rows[row].Cells[HSourceNameCol].Value;
+                grdMain.Rows[row + r].Cells[HEmpIDCol].Value = grdMain.Rows[row].Cells[HEmpIDCol].Value;
+                grdMain.Rows[row + r].Cells[HEmpNumberCol].Value = grdMain.Rows[row].Cells[HEmpNumberCol].Value;
+                grdMain.Rows[row + r].Cells[HEmpNameCol].Value = grdMain.Rows[row].Cells[HEmpNameCol].Value;
+                grdMain.Rows[row + r].Cells[HTimesCol].Value = grdMain.Rows[row].Cells[HTimesCol].Value;
+                grdMain.Rows[row + r].Cells[HPriceCol].Value = grdMain.Rows[row].Cells[HPriceCol].Value;
+                grdMain.Rows[row + r].Cells[HQtyCol].Value = DBUtility.ClsPub.isDoule(hq, 4);
+            }
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+        }
+
+        private void txtHGroupID_Leave(object sender, EventArgs e)
+        {
+            DAL.ClsGy_Group_View oGroup = new DAL.ClsGy_Group_View();
+            if (oGroup.GetInfoByNumber(ClsPub.isStrNull(txtHGroupID.Text)))
+            {
+                this.txtHGroupID.Text = oGroup.omodel.HName;                
+            }
+            else
+            {
+                this.txtHGroupID.Text = "";
+            }
+        }
+
+        private void txtHDeptID_Leave(object sender, EventArgs e)
+        {
+            DAL.ClsGy_Department_View oDep = new DAL.ClsGy_Department_View();//K3閮ㄩ棬
+            if (oDep.GetInfoByNumber(ClsPub.isStrNull(txtHDeptID.Text)))
+            {
+                this.txtHDeptID.Text = oDep.omodel.HName;
+            }
+            else
+            {
+                this.txtHDeptID.Text = "";
+            }
+        }
+
+        //#region  婧愬崟澶勭悊
+        ////閫夊師鍗� 
+        //private void cmdSourceBillNo_Click(object sender, EventArgs e)
+        //{
+        //    if (cmbSourceBillType.Text.Trim() == "浜у搧鍏ュ簱鍗�")    // 
+        //    {
+        //        string sWhere = " and 鏁伴噺>鍏ュ簱鏁伴噺";
+        //        DAL.Cls_S_K3_SeOutStockBillList oSeOutStockBillList = new DAL.Cls_S_K3_SeOutStockBillList();
+        //        if (oSeOutStockBillList.Refresh2(sWhere))  //閫夋嫨鍘熷崟
+        //        {
+        //            FillSelectData(oSeOutStockBillList.oBillSelectColl);
+        //        }
+        //    }
+        //    else
+        //    {
+
+        //    }
+        //}
+        ////
+        //private void FillSelectData(List<DBUtility.BillSelect> oList)
+        //{
+        //    DataSet Ds;
+        //    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        //    oSumGrid.Changelock = true;
+        //    initGrid();
+        //    int i = -1;
+        //    foreach (DBUtility.BillSelect oSelectRow in oList)
+        //    {
+        //        i = i + 1;
+        //        //鐢熶骇浠诲姟鍗�
+        //        if (oSelectRow.BillType == "1202")
+        //        {
+        //            grdMain.Rows.Add();
+        //            Application.DoEvents();
+        //            //寰楀埌淇℃伅
+        //            Ds = oCn.RunProcReturn("select * from h_v_Kf_ICStockBillList_Source where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_Kf_ICStockBillList_Source");
+        //            //鍐欏叆淇℃伅
+        //            Sub_WriteInForm(Ds.Tables[0], i);
+        //            Application.DoEvents();
+        //        }
+
+        //    }
+        //    //
+        //    oSumGrid.Changelock = false;
+        //    DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+        //}
+        ////鏍规嵁TABLE鍐欏叆鐣岄潰
+        //private void Sub_WriteInForm(DataTable oTable, int i)
+        //{
+        //    ////鍔犺浇琛ㄥご
+        //    //this.txtHGroupID.Tag = oTable.Rows[0]["HGroupID"].ToString();
+        //    //this.txtHGroupID.Text = oTable.Rows[0]["鐝粍鍚嶇О"].ToString();
+        //    this.txtHDeptID.Tag = oTable.Rows[0]["HDeptID"].ToString();
+        //    this.txtHDeptID.Text = oTable.Rows[0]["閮ㄩ棬鍚嶇О"].ToString();
+        //    ////鍔犺浇琛ㄤ綋
+        //    grdMain.Rows[i].Cells[HTagCol].Value = "*";
+
+
+        //    grdMain.Rows[i].Cells[HMaterIDCol].Value = oTable.Rows[0]["HMaterID"].ToString();
+        //    grdMain.Rows[i].Cells[HMaterNumberCol].Value = oTable.Rows[0]["鐗╂枡浠g爜"].ToString();
+        //    grdMain.Rows[i].Cells[HMaterNameCol].Value = oTable.Rows[0]["鐗╂枡鍚嶇О"].ToString();
+        //    grdMain.Rows[i].Cells[HMaterModelCol].Value = oTable.Rows[0]["瑙勬牸鍨嬪彿"].ToString();
+        //    grdMain.Rows[i].Cells[HUnitIDCol].Value = oTable.Rows[0]["HUnitID"].ToString();
+        //    grdMain.Rows[i].Cells[HUnitNumberCol].Value = oTable.Rows[0]["璁¢噺鍗曚綅浠g爜"].ToString();
+        //    grdMain.Rows[i].Cells[HUnitNameCol].Value = oTable.Rows[0]["璁¢噺鍗曚綅鍚嶇О"].ToString();
+        //    //grdMain.Rows[i].Cells[HProcIDCol].Value = oTable.Rows[0]["HProcID"].ToString();
+        //    //grdMain.Rows[i].Cells[HProcNumberCol].Value = oTable.Rows[0]["宸ュ簭浠g爜"].ToString();
+        //    //grdMain.Rows[i].Cells[HProcNameCol].Value = oTable.Rows[0]["宸ュ簭鍚嶇О"].ToString();
+        //    //grdMain.Rows[i].Cells[HSourceIDCol].Value = oTable.Rows[0]["HSourceID"].ToString();
+        //    //grdMain.Rows[i].Cells[HSourceNumberCol].Value = oTable.Rows[0]["璧勬簮浠g爜"].ToString();
+        //    //grdMain.Rows[i].Cells[HSourceNameCol].Value = oTable.Rows[0]["璧勬簮鍚嶇О"].ToString();
+        //    //grdMain.Rows[i].Cells[HTimesCol].Value = ClsPub.isDoule(oTable.Rows[0]["宸ユ椂"]);
+        //    grdMain.Rows[i].Cells[HQtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["鏁伴噺"]);
+        //    //grdMain.Rows[i].Cells[HPriceCol].Value = ClsPub.isDoule(oTable.Rows[0]["宸ヤ环"]);
+        //    //grdMain.Rows[i].Cells[HPOOrderInterIDCol].Value = ClsPub.isLong(oTable.Rows[0]["閲囪喘璁㈠崟涓诲唴鐮�"]);
+        //    //grdMain.Rows[i].Cells[HPOOrderEntryIDCol].Value = ClsPub.isLong(oTable.Rows[0]["閲囪喘璁㈠崟瀛愬唴鐮�"]);
+        //    //grdMain.Rows[i].Cells[HPOOrderBillNoCol].Value = ClsPub.isStrNull(oTable.Rows[0]["閲囪喘璁㈠崟鍙�"]);
+        //    //grdMain.Rows[i].Cells[HSeOrderInterIDCol].Value = ClsPub.isLong(oTable.Rows[0]["閿�鍞鍗曚富鍐呯爜"]);
+        //    //grdMain.Rows[i].Cells[HSeOrderEntryIDCol].Value = ClsPub.isLong(oTable.Rows[0]["閿�鍞鍗曞瓙鍐呯爜"]);
+        //    //grdMain.Rows[i].Cells[HSeOrderBillNoCol].Value = ClsPub.isStrNull(oTable.Rows[0]["閿�鍞鍗曞彿"]);
+        //}
+
+
+
+        //#endregion
+
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1