/// <summary>
        /// 提交
        /// </summary>
        /// <param name="rowsKeyValues"></param>
        /// <param name="loginUser"></param>
        /// <returns></returns>
        public bool SubmitInfos(List <string> rowsKeyValues, string loginUser)
        {
            ///状态必须已创建
            List <PackageInboundInfo> info = dal.GetList("[ID] IN (" + string.Join(",", rowsKeyValues) + ")", string.Empty);

            if (info.Count == 0)
            {
                throw new Exception("MC:0x00000084");///数据有误
            }
            string sql = string.Empty;
            List <PackageInboundDetailInfo> inboundDetailInfos = new PackageInboundDetailDAL().GetList(" [ORDER_FID] IN ('" + string.Join("','", info.Select(d => d.Fid).ToArray()) + "')", string.Empty);
            List <PackageApplianceInfo>     PackageAppliance   = new PackageApplianceDAL().GetList("[PACKAGE_NO] IN ('" + string.Join("','", inboundDetailInfos.Select(d => d.PackageModel).ToArray()) + "')", string.Empty);
            List <PartsStockInfo>           partsStocks        = new PartsStockDAL().GetList("[INBOUND_PACKAGE_MODEL] IN ('" + string.Join("','", inboundDetailInfos.Select(d => d.PackageModel).ToArray()) + "')", string.Empty);

            foreach (var item in info)
            {
                if (item == null)
                {
                    throw new Exception("MC:0x00000084");///数据有误
                }
                if (item.Status != (int)PackageInboundStatusConstants.Created)
                {
                    throw new Exception("MC:0x00000128");///状态为10.已创建时可以进行提交,更新状态为20.已提交
                }
                List <PackageInboundDetailInfo> packageInboundDetails = inboundDetailInfos.Where(d => d.OrderFid == item.Fid).ToList();

                sql += "update [LES].[TT_PCM_PACKAGE_INBOUND] set [STATUS] = " + (int)PackageInboundStatusConstants.Published + " where [ID] = " + item.Id + ";";
                ///根据器具入库单明细生成包装器具交易记录
                foreach (var items in packageInboundDetails)
                {
                    string packageCname        = string.Empty;
                    PackageApplianceInfo infos = PackageAppliance.FirstOrDefault(d => d.PackageNo == items.PackageModel);
                    if (infos == null)
                    {
                        packageCname = "NULL";
                    }
                    else
                    {
                        packageCname = infos.PackageCname;
                    }

                    PartsStockInfo stockInfo      = partsStocks.FirstOrDefault(d => d.InboundPackageModel == items.PackageModel);
                    string         inboundPackage = string.Empty;
                    if (stockInfo == null)
                    {
                        inboundPackage = "NULL";
                    }
                    else
                    {
                        inboundPackage = stockInfo.InboundPackage.ToString();
                    }

                    sql += "insert into [LES].[TT_PCM_PACKAGE_TRAN_DETAIL] ([FID],[PLANT],[TRAN_NO],[TRAN_TYPE],[PACKAGE_CNAME],[PACKAGE],[SUPPLIER_NUM],[PACKAGE_NO],[WM_NO],[ZONE_NO],[DLOC],[TARGET_WM],[TARGET_ZONE],[TARGET_DLOC],[PACKAGE_QTY],[STATUS],[COMMENTS],[VALID_FLAG],[CREATE_USER],[CREATE_DATE])"
                           + "VALUES(newid(),"
                           + "N'" + item.Plant + "',"
                           + "N'" + item.OrderNo + "',"
                           + (int)PackageTranTypeConstants.EmptyInbound + ","
                           + "N'" + packageCname + "',"
                           + inboundPackage + ","
                           + "N'" + items.SupplierNum + "',"
                           + "N'" + items.PackageModel + "',"
                           + "N'" + items.SWmNo + "',"
                           + "N'" + items.SZoneNo + "',"
                           + "N'" + items.SDloc + "',"
                           + "N'" + items.TWmNo + "',"
                           + "N'" + items.TZoneNo + "',"
                           + "N'" + items.TDloc + "',"
                           + "N'" + items.PackageQty + "',"
                           + "N'" + items.PackageStatus + "',"
                           + "N'" + items.Comments + "',"
                           + "1,"
                           + "N'" + loginUser + "',"
                           + "GETDATE()"
                           + ");";
                }
            }
            using (TransactionScope trans = new TransactionScope())
            {
                CommonDAL.ExecuteNonQueryBySql(sql);
                trans.Complete();
            }
            return(true);
        }