/// <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); } } }