zrg
2024-05-09 8fe3e47aeda2f957aa521766a2ec22a9dbbfdb8c
WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill_automaticallyByPLC_New.cs
@@ -351,6 +351,9 @@
            //grdMain.Rows[i].Cells[HSourceNumberCol].Value = oTable.Rows[0]["生产线代码"].ToString();
            grdMain.Rows[i].Cells[HSourceNameCol].Value = oTable.Rows[0]["生产线"].ToString();
            grdMain.Rows[i].Cells[HEndDateCol].Value = oTable.Rows[0]["计划完工日期"].ToString();//博日 ç”Ÿäº§è®¢å• å¤±æ•ˆæ—¥æœŸ
            grdMain.Rows[i].Cells[HAuxPropIDCol].Value = oTable.Rows[0]["HAuxPropID"].ToString();
            if (cmbHBarCodeType.Text == "仪器外购件条码容器规则")
            {
                grdMain.Rows[i].Cells[HMinQtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["未生成条码数量"]);
@@ -847,6 +850,15 @@
                            HBatchNo2 = getBatchNo();
                        }
                        HBarCode = ClsPub.isStrNull(grdSub.Rows[i].Cells[HMaterModel2Col].Value) + getHBarCode_MaxNo();
                        long HSourceID = 0;
                        string sql = "select * from Gy_Source where HName = '" + comboBox_SourceNameParams.Text + "' ";
                        DataSet ds = oCn.RunProcReturn(sql, "Gy_Source");
                        if (ds != null && ds.Tables[0].Rows.Count > 0)
                        {
                            HSourceID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HItemID"].ToString());
                        }
                        oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
@@ -857,7 +869,7 @@
                                    ",HGiveAwayFlag,HSeOrderSEQ,HInitSourceEntryID " +
                                    ",HProduceDate,HExpiryDate " +
                                    ",HISKFPERIOD,HEXPUNIT,HEXPPERIOD " +
                                    ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
                                    ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo,HSourceID " +
                                    ") values ("
                                    + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
                                    + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'" + ClsPub.CurUserName + "',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
@@ -868,7 +880,8 @@
                                    + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag) + "," + HSeOrderSEQ.ToString() + "," + HSourceEntryID.ToString()
                                    + ", " + (HProduceDate == "" ? "NULL" : "'" + HProduceDate + "'") + "," + (HExpiryDate == "" ? "NULL" : "'" + HExpiryDate + "'")
                                    + ", " + DBUtility.ClsPub.BoolToString(HISKFPERIOD) + ",'" + HEXPUNIT + "'," + HEXPPERIOD.ToString()
                                    + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "')");
                                    + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "'," + HSourceID +
                                    ")");
                    }
                }
                //增加 æ¡ç è¶…过未生成功能控制
@@ -906,7 +919,7 @@
                string LIU = "";
                int LEN = 4;
                DataSet ds;
                string sql = "select * from h_v_IF_BarCodeBillList Where æºå•单号 ='" + grdMain.Rows[0].Cells[HSourceBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),条码日期, 23) = '" + HDate + "' order by æ‰¹å· desc";
                string sql = "select * from h_v_IF_BarCodeBillList Where HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),条码日期, 23) = '" + HDate + "' order by æ‰¹å· desc";
                ds = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList");
                if (ds != null)
                {
@@ -933,6 +946,69 @@
            return HBatchNo;
        }
        //生成当天产品条码的流水号
        private string getHBarCode_MaxNo()
        {
            string HBarCode_MaxNo = "";
            //日期获取方式
            string sDate = dtpHDate.Value.ToShortDateString();                                                                                   //
            string sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
            string sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString();
            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
            string sDay = "0" + ClsPub.isDate(sDate).Day.ToString();
            sDay = sDay.Substring(sDay.Length - 2, 2);
            string HDate = "20" + sYear + "-" + sPeriod + "-" + sDay;
            //获取流水号:四位,该物料当天生成的条码数
            string LIU = "";
            int LEN = 4;
            //获取产品条码备份表中当日本产品条码编号最大的记录
            long HMaxNo_Bak = 0;                //记录产品条码备份表中当日本产品条码编号最大的记录的条码编号的流水号
            DataSet ds1;
            string sql1 = "select * from Gy_BarCodeBill_SWELL_SubBarCodeBill Where HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),HBarCodeDate, 23) = '" + HDate + "' and HInterID <>0 order by HBarCode desc";
            ds1 = oCn.RunProcReturn(sql1, "Gy_BarCodeBill_SWELL_SubBarCodeBill");
            if (ds1 != null && ds1.Tables[0].Rows.Count>0)
            {
                string HBarCodeMaxNo = ds1.Tables[0].Rows[0]["HBarCode"].ToString();
                HBarCodeMaxNo = HBarCodeMaxNo.Substring(HBarCodeMaxNo.Length - LEN, LEN);
                HMaxNo_Bak = ClsPub.isLong(HBarCodeMaxNo);
            }
            ////获取条码档案中当日本产品条码编号最大的记录
            long HMaxNo = 0;                //记录条码档案中当日本产品条码编号最大的记录的条码编号的流水号
            DataSet ds;
            string sql = "select * from h_v_IF_BarCodeBillList Where HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),条码日期, 23) = '" + HDate + "' and HInterID <> 0 order by æ¡ç ç¼–号 desc";
            ds = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList");
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                string HBarCodeMaxNo = ds.Tables[0].Rows[0]["条码编号"].ToString();
                HBarCodeMaxNo = HBarCodeMaxNo.Substring(HBarCodeMaxNo.Length - LEN, LEN);
                HMaxNo = ClsPub.isLong(HBarCodeMaxNo);
            }
            //获取当日本产品 åœ¨æ¡ç æ¡£æ¡ˆå’Œäº§å“æ¡ç å¤‡ä»½è¡¨ä¸­ æœ€å¤§çš„æµæ°´å·
            long count = 0;
            count = HMaxNo >= HMaxNo_Bak ? HMaxNo : HMaxNo_Bak;
            //为流水号前面补零
            LIU += count + 1;
            while (LIU.Length < LEN)  //如果流水号小于6位数前面补0
            {
                LIU = "0" + LIU;
            }
            //拼接批号
            HBarCode_MaxNo = sYear + sPeriod + sDay + LIU;
            return HBarCode_MaxNo;
        }
        #endregion
        #endregion
        #region ç›‘听通讯
@@ -1125,7 +1201,8 @@
                sDate = "20" + sYear + "-" + sPeriod + "-" + sDay;
                //设置工单条码选项卡表格数据
                string sql = "select * from h_v_IF_BarCodeBillList Where æºå•单号 = '" + grdMain.Rows[0].Cells[HBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),条码日期, 23) = '" + sDate + "' order by æ¡ç ç¼–号";
                //string sql = "select * from h_v_IF_BarCodeBillList Where æºå•单号 = '" + grdMain.Rows[0].Cells[HBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),条码日期, 23) = '" + sDate + "' order by æ¡ç ç¼–号";
                string sql = "select * from h_v_IF_BarCodeBillList Where æºå•单号 = '" + grdMain.Rows[0].Cells[HBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and CONVERT(varchar(100),条码日期, 23) = '" + sDate + "' order by æ¡ç ç¼–号";
                DataSet DSet1 = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList", ref DBUtility.ClsPub.sExeReturnInfo);
                //生成首行标题
                if (DSet1 == null)
@@ -1264,7 +1341,7 @@
            //设置产线 ä¸‹æ‹‰åˆ—表
            DataSet DsSource = oCn.RunProcReturn("select * from Gy_Source where HUSEORGID =" + ClsPub.HOrgID, "Gy_Source");
            DataSet DsSource = oCn.RunProcReturn("select * from Gy_Source", "Gy_Source");
            comboBox_SourceNameParams.Items.Add("");
            if (DsSource != null)
            {
@@ -1700,7 +1777,6 @@
        {
            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdList);
        }
        #endregion
        #endregion