using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace QMAPP.FJC.TRACING.CodeGenerators { public class ProductCodeGenerator:DAInterface.ICodeGenerator { public string Generate(string materialcode, DateTime time, dynamic parameters) { MD.DAL.MaterialDAL mdal = new MD.DAL.MaterialDAL(); var material= mdal.Get(new MD.Entity.Material { MATERIAL_CODE = materialcode }); if (material == null) { throw new Exception("查找物料信息失败!"); } DAL.Basic.MaterialCodeInitDAL mcdal = new DAL.Basic.MaterialCodeInitDAL(); var materialinit= mcdal.GetByCondition(new Entity.Basic.MaterialCodeInit{ MATERIAL_TYPE=material.MATERIAL_TYPE_CODE}); string prefix=""; if(materialinit!=null) { prefix=materialinit.PRODUCT_TYPES; } var productdal=new DAL.Produce.ProductDAL(); string maxcode=productdal.GetMaxCode(material.MATERIAL_TYPE_CODE,time); string newcode = "1"; if (!string.IsNullOrEmpty(maxcode)) { newcode = (Convert.ToInt32(maxcode) + 1) + ""; } newcode = prefix+time.ToString("yyyyMMdd") + newcode.PadLeft(6, '0'); return newcode; } } }