/// <summary>
        /// 生成条形码
        /// </summary>
        /// <param name="productCode">产品代码</param>
        /// <param name="productAmount">本班次生产的产品数量,直接影响生成的条码数</param>
        /// <param name="dateTimeValue">日期</param>
        /// <param name="barcodes">生成的条形码信息</param>
        private void BuildBarcode(string productCode, int productAmount, DateTime dateTimeValue, AssemblyManagementBarcode barcodes)
        {
            barcodes.BuildRule = barcodes.BuildRule.ToUpper();

            for (int i = 0; i < productAmount; i++)
            {
                barcodes.SourceData[5] = barcodes.SerialNumber++;

                if (productCode == "RDC15FK-1500000" ||
                    productCode == "RDC18FC-1500000" ||
                    productCode == "RDC18FC-A")
                {
                    DepotManagementDataContext ctx = CommentParameter.DepotDataContext;
                    barcodes.BuildRule     = ctx.Fun_get_ProductCode_DongFengXiaoKang(dateTimeValue);
                    barcodes.SourceData[9] = barcodes.BuildRule;
                    ctx.SubmitChanges();

                    #region 夏石友 2016-11-18 修改

                    barcodes.Barcode[i] = string.Format("{0} {1}{2:D5}",
                                                        productCode, barcodes.BuildRule, barcodes.SourceData[5]);

                    //barcodes.Barcode[i] = string.Format("{0} {1}{2:D5}",
                    //    productCode.Substring(0, productCode.IndexOf("-")), barcodes.BuildRule, barcodes.SourceData[5]);

                    #endregion
                }
                else
                {
                    if (barcodes.BuildRule.Contains("[YYYYMM]"))
                    {
                        barcodes.BuildRule     = barcodes.BuildRule.Replace("[YYYYMM]", "{0}");
                        barcodes.SourceData[0] = dateTimeValue.ToString("yyyyMM");
                        barcodes.SourceData[9] = barcodes.BuildRule;
                    }
                    else if (barcodes.BuildRule.Contains("[YYMM]"))
                    {
                        barcodes.BuildRule     = barcodes.BuildRule.Replace("[YYMM]", "{0}");
                        barcodes.SourceData[0] = dateTimeValue.ToString("yyMM");
                        barcodes.SourceData[9] = barcodes.BuildRule;
                    }
                    else if (barcodes.BuildRule.Contains("[YYMMDD]"))
                    {
                        barcodes.BuildRule     = barcodes.BuildRule.Replace("[YYMMDD]", "{0}");
                        barcodes.SourceData[0] = dateTimeValue.ToString("yyMMdd");
                        barcodes.SourceData[9] = barcodes.BuildRule;
                    }

                    barcodes.Barcode[i] = string.Format(barcodes.BuildRule, barcodes.SourceData);
                }
            }
        }