yangle
2023-08-03 0fb2957ffd729c1f09b51a73aa2af1c3d39fdcad
WorkM/Á÷ת¿¨¹ÜÀí/MES_StationOutBill.cs
@@ -87,6 +87,8 @@
                txtHEmpID.Tag = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"]);
                txtHEmpName.Text = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HName"]);
            }
            txtHPersonNums.Text = "1";
            txtHMachineNums.Text = "1";
        }
        //出站按钮
        private void cmdOK_Click(object sender, EventArgs e)
@@ -190,7 +192,8 @@
                    cmdBF.Enabled = true;
                    cmdXG.Enabled = true;
                    cmdCancel.Enabled = true;
                    cmdChecker.Enabled = true;
                    cmdChecker.Enabled = true;
                    cmdBFChecker.Enabled = true;
                    txtHBarCode.Enabled = false;
                    Sub_LrtextStatus(false);
                    break;
@@ -202,6 +205,7 @@
                    cmdXG.Enabled = false;
                    cmdCancel.Enabled = true;
                    cmdChecker.Enabled = false;
                    cmdBFChecker.Enabled = false;
                    Sub_LrtextStatus(true);
                    break;
                case DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify:
@@ -212,6 +216,7 @@
                    cmdXG.Enabled = false;
                    cmdCancel.Enabled = true;
                    cmdChecker.Enabled = false;
                    cmdBFChecker.Enabled = false;
                    Sub_LrtextStatus(true);
                    break;
            }
@@ -425,6 +430,8 @@
            this.txtHWorkTimes.Text = BillOld.omodel.HWorkTimes.ToString();
            this.txtHMouldNum.Text = BillOld.omodel.HMouldNum.ToString();
            this.txtHSourceNameList.Text = BillOld.omodel.HSourceNameList.ToString();
            this.txtHPersonNums.Text = BillOld.omodel.HPersonNums.ToString();
            this.txtHMachineNums.Text = BillOld.omodel.HMachineNums.ToString();
            //加载表体
            initGrid();
            initGrid_Sub();
@@ -470,7 +477,7 @@
        //单据完整性判断          æœªå®Œæˆ
        private bool Sub_AllowSave()
        {
        {
            //判断该用户名是否有该工站权限
            //if (BillNew.CheckCenterIDByUser(DBUtility.ClsPub.isLong(txtHCenterID.Tag)) == false)
            //{
@@ -520,6 +527,133 @@
            //        return false;
            //    }
            //}
            //模穴号控制
            //if (DBUtility.ClsPub.isStrNull(txtHMaterID.Text) == "13000001197")
            //{
            //    string HMXH = "";
            //    string HZM = "";
            //    HMXH = DBUtility.ClsPub.isStrNull(txtHMouldNum.Text);
            //    HZM = HMXH.Substring(0, 1);
            //    if (HZM != "G")
            //    {
            //        MessageBox.Show("模穴号错误第一位请重新输入G");
            //        return false;
            //    }
            //}
            if (DBUtility.ClsPub.isStrNull(txtHMaterID.Text) == "3.01.0207" && DBUtility.ClsPub.isStrNull(txtHProcID.Text) == "成品检验")
            {
                string HMXH = "";
                string HZM = "";
                HMXH = DBUtility.ClsPub.isStrNull(txtHMouldNum.Text);
                HZM = HMXH.Substring(0, 1);
                if (HZM != "G")
                {
                    MessageBox.Show("模穴号错误第一位请重新输入G");
                    return false;
                }
            }
            if (DBUtility.ClsPub.isStrNull(txtHMaterID.Text) == "3.01.0268" && DBUtility.ClsPub.isStrNull(txtHProcID.Text) == "成品检验")
            {
                string HMXH = "";
                string HZM = "";
                HMXH = DBUtility.ClsPub.isStrNull(txtHMouldNum.Text);
                HZM = HMXH.Substring(0, 1);
                if (HZM != "X")
                {
                    MessageBox.Show("模穴号错误第一位请重新输入X");
                    return false;
                }
            }
            if (DBUtility.ClsPub.isStrNull(txtHMaterID.Text) == "3.01.0211" && DBUtility.ClsPub.isStrNull(txtHProcID.Text) == "成品检验")
            {
                string HMXH = "";
                string HZM = "";
                string HZM2 = "";
                string HZM3 = "";
                HMXH = DBUtility.ClsPub.isStrNull(txtHMouldNum.Text);
                HZM = HMXH.Substring(0, 1);
                HZM2 = HMXH.Substring(2, 1);
                HZM3 = HMXH.Substring(3, 1);
                if (HZM != "0")
                {
                    MessageBox.Show("模穴号错误第一位请重新输入0");
                    return false;
                }
                if (HZM2 != "0")
                {
                    MessageBox.Show("模穴号错误第三位请重新输入0");
                    return false;
                }
                if (HZM3 != "0")
                {
                    MessageBox.Show("模穴号错误第四位请重新输入0");
                    return false;
                }
            }
            if (DBUtility.ClsPub.isStrNull(txtHMaterID.Text) == "3.01.0266" && DBUtility.ClsPub.isStrNull(txtHProcID.Text) == "成品检验")
            {
                string HMXH = "";
                string HZM = "";
                string HZM2 = "";
                string HZM3 = "";
                HMXH = DBUtility.ClsPub.isStrNull(txtHMouldNum.Text);
                HZM = HMXH.Substring(0, 1);
                HZM2 = HMXH.Substring(2, 1);
                HZM3 = HMXH.Substring(3, 1);
                if (HZM != "0")
                {
                    MessageBox.Show("模穴号错误第一位请重新输入0");
                    return false;
                }
                if (HZM2 != "0")
                {
                    MessageBox.Show("模穴号错误第三位请重新输入0");
                    return false;
                }
                if (HZM3 != "0")
                {
                    MessageBox.Show("模穴号错误第四位请重新输入0");
                    return false;
                }
            }
            if (DBUtility.ClsPub.isStrNull(txtHMaterID.Text) == "3.01.0267" && DBUtility.ClsPub.isStrNull(txtHProcID.Text) == "成品检验")
            {
                string HMXH = "";
                string HZM = "";
                string HZM2 = "";
                string HZM3 = "";
                HMXH = DBUtility.ClsPub.isStrNull(txtHMouldNum.Text);
                HZM = HMXH.Substring(0, 1);
                HZM2 = HMXH.Substring(2, 1);
                HZM3 = HMXH.Substring(3, 1);
                if (HZM != "0")
                {
                    MessageBox.Show("模穴号错误第一位请重新输入0");
                    return false;
                }
                if (HZM2 != "0")
                {
                    MessageBox.Show("模穴号错误第三位请重新输入0");
                    return false;
                }
                if (HZM3 != "0")
                {
                    MessageBox.Show("模穴号错误第四位请重新输入0");
                    return false;
                }
            }
            //必输项目是否为空
            if (DBUtility.ClsPub.isLong(lngBillKey) <= 0)
@@ -573,11 +707,11 @@
                MessageBox.Show("操作员没有选择!", "提示");
                return false;
            }
            if (DBUtility.ClsPub.isLong(txtHQCCheckID.Tag) == 0)
            {
                MessageBox.Show("检验员没有选择!", "提示");
                return false;
            }
            //if (DBUtility.ClsPub.isLong(txtHQCCheckID.Tag) == 0)
            //{
            //    MessageBox.Show("检验员没有选择!", "提示");
            //    return false;
            //}
            if (DBUtility.ClsPub.isLong(txtHSourceID.Tag) == 0)
            {
                MessageBox.Show("生产资源没有选择!", "提示");
@@ -588,9 +722,26 @@
                MessageBox.Show("工作中心没有选择!", "提示");
                return false;
            }
            if (DBUtility.ClsPub.isDoule(txtHQty.Text) + DBUtility.ClsPub.isDoule(txtHWasterQty.Text) <= 0)
            if (DBUtility.ClsPub.isDoule(txtHQty.Text)
                + DBUtility.ClsPub.isDoule(txtHWasterQty.Text)
                + DBUtility.ClsPub.isDoule(txtHBadCount.Text)  <= 0)
            {
                MessageBox.Show("数量不能为0!", "提示");
                return false;
            }
            if (DBUtility.ClsPub.isDoule(txtHQty.Text.Trim()) < 0)
            {
                MessageBox.Show("合格个数不能小于0!", "提示");
                return false;
            }
            if (DBUtility.ClsPub.isDoule(txtHWasterQty.Text.Trim()) < 0)
            {
                MessageBox.Show("不合格数不能小于0!", "提示");
                return false;
            }
            if (DBUtility.ClsPub.isDoule(txtHBadCount.Text.Trim()) < 0)
            {
                MessageBox.Show("不良品数不能小于0!", "提示");
                return false;
            }
            if (DBUtility.ClsPub.isDoule(txtHWorkTimes.Text)   <= 0)
@@ -649,6 +800,35 @@
                MessageBox.Show("单据号重复!", "提示");
                return false;
            }
            //根据不同客户,对录入总工时与标准总工时进行对比判断
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            long sMaterID = DBUtility.ClsPub.isLong(this.txtHMaterID.Tag);
            long sProcID = DBUtility.ClsPub.isLong(this.txtHProcID.Tag);
            double sQty = DBUtility.ClsPub.isDoule(this.txtHQty.Text);
            double sBadCount = DBUtility.ClsPub.isDoule(this.txtHBadCount.Text);
            double sWasterQty = DBUtility.ClsPub.isDoule(this.txtHWasterQty.Text);
            double sWorkTimes = DBUtility.ClsPub.isSingle(this.txtHWorkTimes.Text);
            DataSet Ds;
            Ds = oCn.RunProcReturn("exec h_p_MES_StationOutBill_WorkTimesCtrl  " + sMaterID.ToString() + "," + sProcID.ToString() + "," + sQty.ToString() + "," + sBadCount.ToString() + "," + sWasterQty.ToString() + "," + sWorkTimes.ToString(), "h_p_MES_StationOutBill_WorkTimesCtrl");
            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
            {
                MessageBox.Show("录入总工时与标准总工时对比判断失败!", "提示");
                return false;
            }
            else
            {
                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
                {
                    MessageBox.Show(DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]));
                    return false;
                }
                else if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 2)
                {
                    MessageBox.Show(DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]));
                }
            }
            return true;
        }
        //保存单据
@@ -671,8 +851,18 @@
            if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify)
                BillNew.omodel.HInterID = BillOld.omodel.HInterID;
            //主类赋值
            BillNew.omodel.HYear = 2011;
            BillNew.omodel.HPeriod = 1;
            //判断会计期是否合理
            string s = "";
            int sYear = 0;
            int sPeriod = 0;
            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DBUtility.ClsPub.isDate(this.txtHStationOutTime.Text), ref sYear, ref sPeriod, ref s) == false)
            {
                MessageBox.Show(s, "提示");
                return false;
            }
            //
            BillNew.omodel.HYear = sYear;
            BillNew.omodel.HPeriod = sPeriod;
            BillNew.omodel.HBillNo = this.txtHBillNo.Text.Trim();
            BillNew.omodel.HICMOBillNo = this.txtHICMOBillNo.Text.Trim();
            BillNew.omodel.HICMOInterID = DBUtility.ClsPub.isLong(this.txtHICMOBillNo.Tag);
@@ -718,6 +908,8 @@
            BillNew.omodel.HWorkTimes = DBUtility.ClsPub.isSingle(this.txtHWorkTimes.Text);
            BillNew.omodel.HQCCheckID = DBUtility.ClsPub.isLong(this.txtHQCCheckID.Tag);
            BillNew.omodel.HSourceNameList = DBUtility.ClsPub.isStrNull(this.txtHSourceNameList.Text);
            BillNew.omodel.HPersonNums = DBUtility.ClsPub.isLong(this.txtHPersonNums.Text);
            BillNew.omodel.HMachineNums = DBUtility.ClsPub.isLong(this.txtHMachineNums.Text);
            //明细类赋值
            BillNew.DetailColl = new List<Model.ClsSc_StationOutBillSub>();
            for (int i = 0; i <= grdSub.RowCount - 1; i++)
@@ -1217,6 +1409,7 @@
                    txtHEmpID.Tag = 0;
                    txtHEmpName.Text = "";
                }
                txtHQty.Focus();
            }
        }
@@ -1246,6 +1439,7 @@
                    txtHSourceID.Tag = 0;
                    txtHSourceName.Text = "";
                }
                txtHMouldNum.Focus();
            }
        }
@@ -1254,50 +1448,72 @@
            if (e.KeyCode == Keys.Enter)
            {
             //   DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
                //   DAL.ClsGy_Employee_View oEmp = new DAL.ClsGy_Employee_View();
             //   Int64 HCenterID = Pub_Class.ClsPub.isLong(txtHCenterID.Tag);
             //   //获取控件位置
             //   int x = 0; int y = 0;
             //   BLL.ClsPub_BLL.SetXY(this, panel4, gbUp, txtHGroupID, ref x, ref y);
             //   //选择基础
             //   BLL.ClsBaseDownSelect.SetTextByGroup(txtHGroupID, HCenterID, x, y);
             //   Int64 HGroupID = Pub_Class.ClsPub.isLong(txtHGroupID.Tag.ToString());
             //   BillOld.ShowEmpByGroup(HGroupID, ref DBUtility.ClsPub.sExeReturnInfo, false);
             //   int i = 0;
             //   foreach (Model.ClsSc_StationOutBillSub oSub in BillOld.DetailColl)
             //   {
             //       if (i >= grdSub.RowCount - 1)
             //             grdSub.Rows.Add();
                //   Int64 HCenterID = Pub_Class.ClsPub.isLong(txtHCenterID.Tag);
                //   //获取控件位置
                //   int x = 0; int y = 0;
                //   BLL.ClsPub_BLL.SetXY(this, panel4, gbUp, txtHGroupID, ref x, ref y);
                //   //选择基础
                //   BLL.ClsBaseDownSelect.SetTextByGroup(txtHGroupID, HCenterID, x, y);
                //   Int64 HGroupID = Pub_Class.ClsPub.isLong(txtHGroupID.Tag.ToString());
                //   BillOld.ShowEmpByGroup(HGroupID, ref DBUtility.ClsPub.sExeReturnInfo, false);
             //       grdSub.Rows[i].Cells[HEmpIDCol].Value = oSub.HEmpID.ToString();
             //       if (oEmp.GetInfoByID(oSub.HEmpID))
             //       {
                //   int i = 0;
                //   foreach (Model.ClsSc_StationOutBillSub oSub in BillOld.DetailColl)
                //   {
                //       if (i >= grdSub.RowCount - 1)
                //             grdSub.Rows.Add();
             //           grdSub.Rows[i].Cells[HEmpNoCol].Value = oEmp.omodel.HNumber;
             //         //  grdSub.Rows[i].Cells[HEmpIDCol].Value = oEmp.oModel.HItemID;
             //           grdSub.Rows[i].Cells[HEmpNumberCol].Value = oEmp.omodel.HNumber;
             //           grdSub.Rows[i].Cells[HEmpNameCol].Value = oEmp.omodel.HName;
             //       }
             //       else
             //       {
             //           grdSub.Rows[i].Cells[HEmpNoCol].Value = "";
             //           //  grdSub.Rows[i].Cells[HEmpIDCol].Value = oEmp.oModel.HItemID;
             //           grdSub.Rows[i].Cells[HEmpNumberCol].Value = "";
             //           grdSub.Rows[i].Cells[HEmpNameCol].Value = "";
             //       }
             //       i = i + 1;
             //   }
             //   //GRID允许刷新
             ////   DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
             //   //
             //   //Sub_OperStatus();
                txtHQty.Select();
                //       grdSub.Rows[i].Cells[HEmpIDCol].Value = oSub.HEmpID.ToString();
                //       if (oEmp.GetInfoByID(oSub.HEmpID))
                //       {
                //           grdSub.Rows[i].Cells[HEmpNoCol].Value = oEmp.omodel.HNumber;
                //         //  grdSub.Rows[i].Cells[HEmpIDCol].Value = oEmp.oModel.HItemID;
                //           grdSub.Rows[i].Cells[HEmpNumberCol].Value = oEmp.omodel.HNumber;
                //           grdSub.Rows[i].Cells[HEmpNameCol].Value = oEmp.omodel.HName;
                //       }
                //       else
                //       {
                //           grdSub.Rows[i].Cells[HEmpNoCol].Value = "";
                //           //  grdSub.Rows[i].Cells[HEmpIDCol].Value = oEmp.oModel.HItemID;
                //           grdSub.Rows[i].Cells[HEmpNumberCol].Value = "";
                //           grdSub.Rows[i].Cells[HEmpNameCol].Value = "";
                //       }
                //       i = i + 1;
                //   }
                //   //GRID允许刷新
                ////   DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
                //   //
                //   //Sub_OperStatus();
                if (DBUtility.ClsPub.isStrNull(txtHGroupID.Text) != "")
                {
                    DAL.ClsGy_Group_View oGroup = new DAL.ClsGy_Group_View();
                    if (oGroup.GetInfoByNumber(DBUtility.ClsPub.isStrNull(txtHGroupID.Text)))
                    {
                        txtHGroupID.Text = oGroup.omodel.HNumber;
                        txtHGroupID.Tag = oGroup.omodel.HItemID;
                        txtHGroupName.Text = oGroup.omodel.HName;
                    }
                    else
                    {
                        txtHGroupID.Text = "";
                        txtHGroupID.Tag = 0;
                        txtHGroupName.Text = "";
                    }
                }
                else
                {
                    txtHGroupID.Text = "";
                    txtHGroupID.Tag = 0;
                    txtHGroupName.Text = "";
                }
                txtHEmpID.Focus();
            }
        }
@@ -1463,7 +1679,7 @@
            {
                //txtHWasterQty.Select();
                //cmdOK.Focus();
                txtHDSQty.Focus();
                txtHQCCheckID.Focus();
            }
        }
        private void txtHPieceQty_KeyDown(object sender, KeyEventArgs e)
@@ -1563,6 +1779,40 @@
            oBF.HMainSourceInterID = BillOld.omodel.HInterID;
            oBF.HProcExchInterID = lngBillKey;
            oBF.HProcExchEntryID = lngBillSubKey;
            oBF.HBillSubType = "不良评审";
            oBF.txtHLotNo.Text = txtHProcExchBillNo.Text;
            oBF.txtHOrderProcNo.Text = txtHOrderProcNO.Text;
            oBF.txtHMaterID.Text = txtHMaterName.Text;
            oBF.txtHMaterNumber.Text = txtHMaterID.Text;
            oBF.txtHModel.Text = txtHMaterModel.Text;
            oBF.txtHMaterID.Tag = txtHMaterID.Tag;
            oBF.txtHProcID.Tag = txtHProcID.Tag;
            oBF.txtHProcID.Text = txtHProcID.Text;
            oBF.txtHWorkCenterID.Text = txtHCenterID.Text;
            oBF.txtHWorkCenterID.Tag = txtHCenterID.Tag;
            oBF.txtHICMOInterID.Text = Pub_Class.ClsPub.isStrNull(txtHICMOBillNo.Tag);
            oBF.txtHICMOBillNo.Text = txtHICMOBillNo.Text;
            oBF.txtHProcExchQty.Text = ClsPub.isStrNull(ClsPub.isDoule(txtHPlanQty.Text));
            oBF.txtHPlanQty.Text = ClsPub.isStrNull(ClsPub.isDoule(txtHBadCount.Text));
            oBF.txtHPlanPNL.Text = ClsPub.isStrNull(ClsPub.isDoule(txtHBadPNL.Text));
            oBF.txtHBadPNL.Text = ClsPub.isStrNull(ClsPub.isDoule(txtHBadPNL.Text));
            oBF.txtHBadQty.Text = ClsPub.isStrNull(ClsPub.isDoule(txtHBadCount.Text));
            oBF.ShowDialog();
            if (oBF.BillChange)
            {
                this.Sub_ShowBill();
            }
        }
        //报废品质确认按钮
        private void cmdBFChecker_Click(object sender, EventArgs e)
        {
            QC_NoPassProdCheckBill oBF = new QC_NoPassProdCheckBill();
            oBF.BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
            oBF.HMainSourceInterID = BillOld.omodel.HInterID;
            oBF.HProcExchInterID = lngBillKey;
            oBF.HProcExchEntryID = lngBillSubKey;
            oBF.HBillSubType = "报废评审";
            oBF.txtHLotNo.Text = txtHProcExchBillNo.Text;
            oBF.txtHOrderProcNo.Text = txtHOrderProcNO.Text;
            oBF.txtHMaterID.Text = txtHMaterName.Text;
@@ -1584,7 +1834,7 @@
            if (oBF.BillChange)
            {
                this.Sub_ShowBill();
            }
            }
        }
        private void label20_Click(object sender, EventArgs e)
@@ -1621,7 +1871,7 @@
                {
                    Sub_WriteInForm_SM2(Ds.Tables[0], i);
                }
                txtHPayProcID.Focus();
                txtHSourceID.Focus();
                //如果是唯一 æ ¸ç®—工序则 é»˜è®¤å¸¦å‡º å¹¶è·³è‡³ èŒå‘˜
                //if (oProc.GetSubProcInfoByID(DBUtility.ClsPub.isLong(txtHProcID.Tag)))
                //{
@@ -2381,6 +2631,7 @@
                    txtHQCCheckID.Tag = 0;
                    txtHQCCheckName.Text = "";
                }
                txtHBadCount.Focus();
            }
        }
@@ -2499,5 +2750,29 @@
        {
        }
        private void txtHMouldNum_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                txtHGroupID.Focus();
            }
        }
        private void txtHBadCount_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                txtHWorkTimes.Focus();
            }
        }
        private void txtHWorkTimes_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                txtHWasterQty.Focus();
            }
        }
    }
}