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

            if (info.Count == 0)
            {
                throw new Exception("MC:0x00000084");///数据有误
            }
            List <PackageOutboundDetailInfo> packages = new PackageOutboundDetailDAL().GetList("[ORDER_FID] in ('" + string.Join("','", info.Select(d => d.Fid.GetValueOrDefault()).ToArray()) + "')", string.Empty);

            foreach (var item in info)
            {
                if (item == null)
                {
                    throw new Exception("MC:0x00000084");///数据有误
                }
                List <PackageOutboundDetailInfo> infos = packages.Where(d => d.OrderFid == item.Fid).ToList();
                if (infos == null || infos.Count() == 0)
                {
                    throw new Exception("MC:0x00000442");///明细中至少有一条有效数据时允许提交
                }
                if (item.Status != (int)PackageBarcodeStatusConstants.Created)
                {
                    throw new Exception("MC:0x00000128");///状态为10.已创建时可以进行提交,更新状态为20.已提交
                }
            }
            string sql = "update [LES].[TT_PCM_PACKAGE_OUTBOUND] set [STATUS] = " + (int)WmmOrderStatusConstants.Published + ",[MODIFY_DATE] = GETDATE(),[MODIFY_USER] = N'" + loginUser + "' where [ID] IN (" + string.Join(",", rowsKeyValues) + ")";

            return(CommonDAL.ExecuteNonQueryBySql(sql));;
        }
        /// <summary>
        /// 完成
        /// </summary>
        /// <param name="rowsKeyValues"></param>
        /// <param name="loginUser"></param>
        /// <returns></returns>
        public bool CompleteInfos(List <string> rowsKeyValues, string loginUser)
        {
            if (dal.GetList("[ID] in (" + string.Join(",", rowsKeyValues.ToArray()) + ") and [STATUS] = " + (int)WmmOrderStatusConstants.Published, "[ID]").Count() != rowsKeyValues.Count())
            {
                throw new Exception("MC:0x00000446");///	状态为20.已发布时可以进行完成操作,更新状态为30.已完成
            }
            List <PackageOutboundInfo> packageBarcodes = dal.GetList("[ID] in (" + string.Join(",", rowsKeyValues.ToArray()) + ")", "[ID]");

            if (packageBarcodes == null || packageBarcodes.Count() == 0)
            {
                throw new Exception("MC:0x00000084");///数据错误
            }
            List <PackageOutboundDetailInfo> packageBarcodeDetails = new PackageOutboundDetailDAL().GetList("[ORDER_FID] in ('" + string.Join("','", packageBarcodes.Select(d => d.Fid.GetValueOrDefault()).ToArray()) + "')", string.Empty);
            StringBuilder stringBuilder = new StringBuilder();

            foreach (var item in packageBarcodeDetails)
            {
                PackageOutboundInfo info = packageBarcodes.Where(d => d.Fid == item.OrderFid).FirstOrDefault();
                stringBuilder.Append("insert into [LES].[TT_PCM_PACKAGE_TRAN_DETAIL]([FID],[TRAN_NO],[TRAN_TYPE],[BARCODE_DATA],[PART_NO],[PLANT],[ASSEMBLY_LINE],[SUPPLIER_NUM],[WM_NO],[ZONE_NO],[DLOC],[TARGET_WM],[TARGET_ZONE],[TARGET_DLOC],[PACKAGE_NO],[PACKAGE_CNAME],[PACKAGE_ENAME],[PACKAGE],[PACKAGE_QTY],[STATUS],[VALID_FLAG],[CREATE_USER],[CREATE_DATE])values(");
                int TranType = new int();
                if (string.IsNullOrEmpty(item.TWmNo) && string.IsNullOrEmpty(item.TZoneNo))
                {
                    TranType = (int)PackageTranTypeConstants.EmptyOutbound;
                }
                else
                {
                    TranType = (int)PackageTranTypeConstants.EmptyMovement;
                }

                stringBuilder.Append("newid(),N'" + info.OrderNo + "',N'" + TranType + "',NULL,NULL,N'" + info.Plant + "',NULL,N'" + item.SupplierNum + "',N'" + item.SWmNo + "',N'" + item.SZoneNo + "',N'" + item.SDloc + "',N'" + item.TWmNo + "',N'" + item.TZoneNo + "',N'" + item.TDloc + "',N'" + item.PackageModel + "',N'" + item.PackageCname + "',NULL,NULL,N'" + item.PackageQty + "'," + (int)PackageTranStateConstants.UNTREATED + ",1,N'" + loginUser + "',GETDATE()");
                stringBuilder.Append(")");
            }
            stringBuilder.Append("update [LES].[TT_PCM_PACKAGE_OUTBOUND] set [STATUS] = N'" + (int)WmmOrderStatusConstants.Completed + "', [MODIFY_DATE] = GETDATE(),[MODIFY_USER] = N'" + loginUser + "'  where [ID] in (" + string.Join(",", rowsKeyValues.ToArray()) + ")");
            using (TransactionScope trans = new TransactionScope())
            {
                if (!string.IsNullOrEmpty(stringBuilder.ToString()))
                {
                    CommonDAL.ExecuteNonQueryBySql(stringBuilder.ToString());
                }
                trans.Complete();
            }
            return(true);
        }