public IList <MM_LOTS_NAMEPLATE> QueryNamePlate(string saporderid)
        {
            string             assyRule      = sM_CONFIG_KEYBO.GetConfigKey("DepartAssy").sValue;
            POM_TEMP_ERP_ORDER erpOrderModel = new POM_TEMP_ERP_ORDER();

            erpOrderModel.SapOrderID = saporderid;
            IList <POM_TEMP_ERP_ORDER> chkList = orderBO.GetEntities(erpOrderModel);

            if (chkList.Count != 0)
            {
                if (!assyRule.Contains(chkList[0].DepartID))
                {
                    return(null);
                }
            }

            MM_LOTS_NAMEPLATE namePlateModel = new MM_LOTS_NAMEPLATE();

            namePlateModel.SapOrderID = saporderid;

            IList <MM_LOTS_NAMEPLATE> namePlateList = namePlateBO.GetMMEntites(namePlateModel);

            return(namePlateList);
        }
        public string CreateNamePlate(POM_TEMP_ERP_ORDER param)
        {
            try
            {
                if (param == null)
                {
                    return("请选择ERP工单");
                }
                //1.查询数量是否超过限定数量
                IList <MM_LOTS_NAMEPLATE> entities = namePlateBO.GetEntities(param);
                if (entities.Count >= param.Quantity)
                {
                    return("局号已经足够,不允许生成局号");
                }

                string namePlatePro = param.Attribute05 + param.Attribute06; //前置值+后置值
                string PlateStart   = param.Attribute05;                     //前置值
                string PlateEnd     = param.Attribute06;                     //后置值
                string serialNumber = param.Attribute04;                     //流水号
                int    status       = 0;
                if (param.Attribute07 == "流水号前置")
                {
                    status = 1;
                }
                else if (param.Attribute07 == "流水号后置")
                {
                    status = 2;
                }

                if (status == 0 || PlateStart == "" || PlateEnd == "" || serialNumber == "")
                {
                    return("接收信息不全(前置、后置、流水号、类型都不允许为空),请重新操作");
                }

                //2.调存储过程,修改规则
                string sqlRule = @" DECLARE	@return_value int,
		                            @Message nvarchar(255)
                                    EXEC	@return_value = [dbo].[CP_BARCOCODE_NAMEPLATE_CONFIG]
		                            @Status = {0},
		                            @PartStart = N'{1}',
		                            @PartEnd = N'{2}',
		                            @Serial = N'{3}',
		                            @Message = @Message OUTPUT
                                    SELECT	@Message as N'@Message'"    ;
                sqlRule = string.Format(sqlRule, status, PlateStart, PlateEnd, serialNumber);
                DataTable message = co_BSC_BO.GetDataTableBySql(sqlRule);
                if (message.Rows[0][0].ToString() != "")
                {
                    return(message.Rows[0][0].ToString());
                }

                //3.生成局号插入表中
                IList <string> Code;
                Code = pom_ORDER_EXTBO.CreateNameplate((int)param.Quantity, PlateStart, PlateEnd, param.Attribute07);

                DateTime dtLot = SSGlobalConfig.Now;

                //保存到表MM_LOTS_NAMEPLATE
                List <MM_LOTS_NAMEPLATE> list = new List <MM_LOTS_NAMEPLATE>();
                for (int i = 0; i < Code.Count; i++)
                {
                    MM_LOTS_NAMEPLATE entity = new MM_LOTS_NAMEPLATE();
                    entity.NamePlate  = Code[i];
                    entity.Sequence   = i + 1;
                    entity.SapOrderID = param.SapOrderID;
                    entity.CreatedBy  = param.Attribute08;
                    entity.CreatedOn  = dtLot;
                    entity.UpdatedBy  = param.Attribute08;
                    entity.UpdatedOn  = entity.CreatedOn;
                    //namePlateBO.Insert(entity);
                    list.Add(entity);
                }
                if (list == null || list.Count == 0)
                {
                    //do nothing
                }
                else
                {
                    co_BSC_BO.ExcuteSqlTranction(list, "MM_LOTS_NAMEPLATE"); //批量插入
                }

                //修改POM_TEMP_ERP_ORDER状态
                param.IsGenerated = true;
                orderBO.UpdateSome(param);
                return("生成流水号成功");
            }
            catch (Exception ex)
            {
                return(ex.Message.ToString());
            }
        }