示例#1
0
        public List <RMARegisterInfo> QueryByRequestSysNo(int requestSysNo)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("LoadRegisterByRequestSysNo");

            cmd.SetParameterValue("@RequestSysNo", requestSysNo);

            List <RMARegisterInfo> list = cmd.ExecuteEntityList <RMARegisterInfo>();
            var reasons = CodeNamePairManager.GetList("RMA", "RMAReason");

            list.ForEach(p =>
            {
                if (p.BasicInfo.SOItemType == SOProductType.ExtendWarranty)
                {
                    //entity.BasicInfo.ProductInfo.ProductCommonInfo.ProductBasicInfo.ProductName = GetExWarrantyProductName(requestSysNo, entity.BasicInfo.ProductSysNo.Value.ToString());
                    p.BasicInfo.ProductName = GetExWarrantyProductName(requestSysNo, p.BasicInfo.ProductSysNo.Value.ToString());
                }
                var pair = reasons.FirstOrDefault(k => k.Code == p.BasicInfo.RMAReason.ToString());
                if (pair != null && !string.IsNullOrEmpty(pair.Code))
                {
                    p.BasicInfo.RMAReasonDesc = pair.Name;
                }
            });

            return(list);
        }
示例#2
0
        //从CodeNamePair配置中读取页面类型
        private List <CodeNamePair> GetPageTypeFromConfig(string companyCode, string channelID, string moduleType)
        {
            string key    = string.Format(PageType_CodeNamePair_KeyFormat, companyCode, channelID, moduleType);
            var    kvList = CodeNamePairManager.GetList("MKT", key);

            return(kvList);
        }
        public virtual List <CodeNamePair> GetProductRecommendPosition(string pageTypeID)
        {
            int pageType         = int.Parse(pageTypeID);
            var presentationType = PageTypeUtil.ResolvePresentationType(ModuleType.ProductRecommend, pageTypeID);
            //if (presentationType == PageTypePresentationType.Brand)
            //{
            //    //当PageType为专卖店时返回空,专卖店有特殊的加载位置信息的逻辑
            //    return new List<CodeNamePair>();
            //}

            //商品推荐位置Key格式:ProductRecommend+[PageTypeID],比如ProductRecommend0代表首页的推荐位
            var positionConfigKey = ModuleType.ProductRecommend.ToString();

            //if (pageType > 100)
            //{
            //    //PageTypeID>100表示是首页domain馆
            //    positionConfigKey += "-DomainList";
            //}
            //else
            //{
            positionConfigKey += pageType.ToString();
            //}

            var result = CodeNamePairManager.GetList("MKT", positionConfigKey);

            return(result);
        }
示例#4
0
        private void ConvertColumnFromRow(DataRow row, EnumColumnList enumColumns, CodeNamePairColumnList codeNamePairColunms)
        {
            if (enumColumns != null && enumColumns.Count > 0)
            {
                foreach (var entry in enumColumns)
                {
                    Type enumType = entry.EnumType;
                    if (!enumType.IsEnum)
                    {
                        throw new ArgumentException("The type '" + enumType.AssemblyQualifiedName + "' is not enum.", "enumColumns");
                    }
                    int columnIndex = entry.ColumnIndex.HasValue ? entry.ColumnIndex.Value : row.Table.Columns.IndexOf(entry.ColumnName + "_ECCentral_Auto_Removed_820319");
                    if (columnIndex < 0)
                    {
                        continue;
                    }
                    if (row[columnIndex] == null || row[columnIndex] == DBNull.Value)
                    {
                        row[entry.NewColumnIndex] = DBNull.Value;
                        continue;
                    }
                    object orignalData = row[columnIndex];
                    object tmp;
                    if (orignalData == null || orignalData == DBNull.Value || orignalData.ToString().Trim().Length <= 0)
                    {
                        row[entry.NewColumnIndex] = DBNull.Value;
                    }
                    else if (EnumCodeMapper.TryGetEnum(orignalData, enumType, out tmp))
                    {
                        row[entry.NewColumnIndex] = tmp;
                    }
                    else
                    {
                        row[entry.NewColumnIndex] = Enum.Parse(enumType, orignalData.ToString(), true);
                    }
                }
            }

            if (codeNamePairColunms != null && codeNamePairColunms.Count > 0)
            {
                foreach (var entry in codeNamePairColunms)
                {
                    int columnIndex = entry.ColumnIndex.HasValue ? entry.ColumnIndex.Value : row.Table.Columns.IndexOf(entry.ColumnName + "_ECCentral_Auto_Removed_820319");
                    if (row[columnIndex] == null || row[columnIndex] == DBNull.Value)
                    {
                        row[entry.NewColumnIndex] = DBNull.Value;
                        continue;
                    }
                    List <CodeNamePair> list = CodeNamePairManager.GetList(entry.DomainName, entry.Key);
                    string       code        = row[columnIndex].ToString();
                    CodeNamePair option      = list.Find(x => x.Code == code);
                    if (option != null)
                    {
                        row[entry.NewColumnIndex] = option.Name;
                    }
                }
            }
        }
示例#5
0
        private List <WebPage> GetApplePage(string companyCode, string channelID, PageTypePresentationType presentationType)
        {
            string         key    = string.Format(Page_CodeNamePair_KeyFormat, companyCode, channelID, presentationType.ToString());
            var            kvList = CodeNamePairManager.GetList("MKT", key);
            List <WebPage> result = new List <WebPage>(kvList.Count);

            kvList.ForEach((kv) => result.Add(new WebPage {
                ID = int.Parse(kv.Code), PageName = kv.Name
            }));
            return(result);
        }
        /// <summary>
        /// 获取首页排行的位置
        /// </summary>
        /// <param name="companyCode">公司编号</param>
        /// <param name="channelID">渠道编号</param>
        /// <param name="pageType">页面类型</param>
        /// <returns>位置列表</returns>
        public List <CodeNamePair> GetPosition(string companyCode, string channelID, int pageType)
        {
            var kvList = CodeNamePairManager.GetList("MKT", "HotSale" + pageType.ToString());

            if (pageType == 0)
            {
                //如果页面类型是首页,还需要附加首页Domain馆
                var sections = ObjectFactory <IHomePageSectionQueryDA> .Instance.GetDomainCodeNames(companyCode, channelID);

                kvList.AddRange(sections);
            }

            return(kvList);
        }
示例#7
0
        public virtual Dictionary <int, string> GetFloorAllPageCodeList(string companyCode, string channelID)
        {
            Dictionary <int, string> result = new Dictionary <int, string>();
            var specialPageCodeList         = CodeNamePairManager.GetList("MKT", "FloorSpecialPageCode");

            if (specialPageCodeList != null && specialPageCodeList.Count > 0)
            {
                foreach (var item in specialPageCodeList)
                {
                    result.Add(int.Parse(item.Code), item.Name);
                }
            }
            return(result);

            //return ObjectFactory<FloorAppService>.Instance.GetFloorAllPageCodeList();
        }
示例#8
0
        public DataTable QueryStockShiftConfig(StockShiftConfigFilter filter, out int totalCount)
        {
            totalCount = 0;
            if (filter == null)
            {
                return(null);
            }
            PagingInfoEntity pagingEntity = PageInfoToEntity(filter.PagingInfo);

            pagingEntity.SortField = ShiftConfigSortFieldMapping(pagingEntity.SortField);
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("Inventory_Query_StockShiftConfig");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingEntity, "a.SysNo DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CompanyCode",
                                                             DbType.Int32, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.StockASysno",
                                                             DbType.Int32, "@WarehouseASysNumber", QueryConditionOperatorType.Equal, filter.OutStockSysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.StockBSysno",
                                                             DbType.Int32, "@WarehouseBSysNumber", QueryConditionOperatorType.Equal, filter.InStockSysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ShiftType",
                                                             DbType.Int32, "@TransferType", QueryConditionOperatorType.Equal, filter.ShiftType);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SPLTimeInterval",
                                                             DbType.Int32, "@SPLInterval", QueryConditionOperatorType.Equal, filter.SPLInterval);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ShipTimeInterval",
                                                             DbType.Int32, "@ShipInterval", QueryConditionOperatorType.Equal, filter.ShipInterval);
                dataCommand.CommandText = sqlBuilder.BuildQuerySql();

                DataTable dt = dataCommand.ExecuteDataTable();
                if (null != dt && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["ShiftTypeString"] = CodeNamePairManager.GetName("Inventory", "StockShiftConfigShippingType", dr["ShiftType"].ToString());
                    }
                }

                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }
示例#9
0
        private static RefundResult ProcessNetWorkRefund(SOIncomeInfo entity, SOInfo soInfo)
        {
            var           result      = new RefundResult();
            List <string> payTypeList = CodeNamePairManager.GetList("Inventory", "ChinaPayPayTypeList").Select(p => p.Code).ToList();

            if (payTypeList.Contains(soInfo.Payment.PayTypeID.ToString()))
            {
                var biz          = new IPSPayUtils();
                var refundEntity = new RefundEntity
                {
                    SOSysNo     = soInfo.SOSysNo,
                    RefundSysNo = entity.OrderSysNo.Value,
                    RefundAmt   = Math.Abs(entity.IncomeAmt.Value),
                    CompanyCode = entity.CompanyCode,
                    OrderDate   = soInfo.OrderDate.Value
                };
                refundEntity.ProductAmount = Math.Abs(entity.IncomeAmt.Value)
                                             - soInfo.Amount.ShipPrice
                                             - soInfo.TariffAmt;
                refundEntity.TaxFeeAmount      = soInfo.TariffAmt;
                refundEntity.ShippingFeeAmount = soInfo.Amount.ShipPrice;


                if (soInfo.Payment.PayTypeID >= 200 && soInfo.Payment.PayTypeID < 300)
                {
                    result = biz.Refund(refundEntity);
                }
                else
                {
                    throw new BusinessException("未实现此支付方式");
                }
            }
            else
            {
                result.Result = false;

                result.Message = ("支付方式" + soInfo.Payment.PayTypeName + "不支持网关直退。");
            }
            return(result);
        }
示例#10
0
        public DataTable QueryVirtualInventoryLastVerifiedRequest(VirtualRequestQueryFilter queryFilter)
        {
            DataTable dt = new DataTable();

            if (queryFilter.ProductSysNo.HasValue)
            {
                DataCommand dataCommand = DataCommandManager.GetDataCommand("GetLastVerifiedRequest");

                dataCommand.SetParameterValue("@ProductSysNo", queryFilter.ProductSysNo.Value);
                dataCommand.SetParameterValue("@CompanyCode", queryFilter.CompanyCode);
                EnumColumnList list = new EnumColumnList();
                list.Add("Status", typeof(VirtualRequestStatus));
                dt = dataCommand.ExecuteDataTable(list);
                if (null != dt && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["VirtualTypeString"] = CodeNamePairManager.GetName("Inventory", "VirtualRequestType", dr["VirtualType"].ToString());
                    }
                }
            }
            return(dt);
        }
示例#11
0
        /// <summary>
        /// 现金转积分 的 积分历史记录
        /// </summary>
        /// <param name="queryCriteria"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        private DataTable QueryCustomerPointLogByForOther(ECCentral.QueryFilter.Customer.CustomerPointLogQueryFilter queryCriteria, out int totalCount)
        {
            totalCount = 0;
            var customCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryOtherPointLog");

            PagingInfoEntity pagingInfo = new PagingInfoEntity();

            pagingInfo.SortField     = queryCriteria.PagingInfo.SortBy;
            pagingInfo.StartRowIndex = queryCriteria.PagingInfo.PageIndex * queryCriteria.PagingInfo.PageSize;
            pagingInfo.MaximumRows   = queryCriteria.PagingInfo.PageSize;

            using (var sqlBuilder = new DynamicQuerySqlBuilder(customCommand.CommandText, customCommand,
                                                               pagingInfo,
                                                               "a.SysNo asc"))
            {
                if (queryCriteria.CustomerSysNo.HasValue && queryCriteria.CustomerSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "a.CustomerSysNo",
                        DbType.Int32,
                        "@CustomerSysNo",
                        QueryConditionOperatorType.Equal,
                        queryCriteria.CustomerSysNo);
                }

                if (queryCriteria.PointType.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "ObtainType",
                        DbType.Int32,
                        "@ObtainType",
                        QueryConditionOperatorType.Equal,
                        queryCriteria.PointType);
                }

                if (queryCriteria.IsUseCreateDate)
                {
                    if (queryCriteria.CreateTimeFrom.HasValue)
                    {
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                     "a.Indate", DbType.DateTime, "@CreateTimeFrom",
                                                                     QueryConditionOperatorType.MoreThanOrEqual,
                                                                     queryCriteria.CreateTimeFrom);
                    }

                    if (queryCriteria.CreateTimeTo.HasValue)
                    {
                        //选择的DateTime只有日期部分,查询包含当日的信息所以日期加1
                        //2012-1-1 --- 2012-1-2  则为 >= 2012-1-1 0:0:0  and  < 2012-1-3 0:0:0
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                     "a.Indate", DbType.DateTime, "@CreateTimeTo",
                                                                     QueryConditionOperatorType.LessThan,
                                                                     queryCriteria.CreateTimeTo.Value);
                    }
                }

                //现金转积分
                sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, @"
                    (([ObtainType] = 19 
			        AND (memo ='客户多汇款转积分' 
					        OR memo = '客户多付款-产品调价' 
					        OR memo = '客户多付款-拆单/运费转积分' 
					        OR memo = '客户多付款-客户作废/更改订单需要转积分')) 
			        OR [ObtainType] IN (39,37,44)) "            );

                //if (!string.IsNullOrEmpty(queryCriteria.CompanyCode))
                //{
                //    sqlBuilder.ConditionConstructor.AddCondition(
                //        QueryConditionRelationType.AND,
                //        "a.CompanyCode",
                //        DbType.AnsiStringFixedLength,
                //        "@CompanyCode",
                //        QueryConditionOperatorType.Equal,
                //        queryCriteria.CompanyCode);
                //}

                customCommand.CommandText = sqlBuilder.BuildQuerySql();
                DataTable dt = customCommand.ExecuteDataTable();
                if (null != dt && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["PointLogTypeName"] = CodeNamePairManager.GetName("Customer", "AdjustPointType", dr["pointlogtype"].ToString());
                    }
                }
                totalCount = int.Parse(customCommand.GetParameterValue("TotalCount").ToString());
                return(dt);
            }
        }
示例#12
0
        /// <summary>
        /// 积分历史记录
        /// </summary>
        /// <param name="queryCriteria"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        private DataTable QueryCustomerPointLogForAuto(ECCentral.QueryFilter.Customer.CustomerPointLogQueryFilter queryCriteria, out int totalCount)
        {
            totalCount = 0;
            CustomDataCommand customCommand = null;
            string            orderField    = string.Empty;

            if (queryCriteria.ResultType == 1)
            {
                //获取历史
                customCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryPointObtainLog");
                orderField    = "a.SysNo asc";
            }
            else
            {
                //消费历史
                customCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryPointConsumeLog");
                orderField    = "a.SysNo desc";
            }

            PagingInfoEntity pagingInfo = new PagingInfoEntity();

            pagingInfo.SortField     = queryCriteria.PagingInfo.SortBy;
            pagingInfo.StartRowIndex = queryCriteria.PagingInfo.PageIndex * queryCriteria.PagingInfo.PageSize;
            pagingInfo.MaximumRows   = queryCriteria.PagingInfo.PageSize;



            using (var sqlBuilder = new DynamicQuerySqlBuilder(customCommand.CommandText, customCommand,
                                                               pagingInfo,
                                                               orderField))
            {
                if (queryCriteria.CustomerSysNo.HasValue && queryCriteria.CustomerSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "a.CustomerSysNo",
                        DbType.Int32,
                        "@CustomerSysNo",
                        QueryConditionOperatorType.Equal,
                        queryCriteria.CustomerSysNo);
                }

                if (queryCriteria.OrderSysNo.HasValue && queryCriteria.OrderSysNo > 0)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        "a.SoSysNo",
                        DbType.Int32,
                        "@SoSysNo",
                        QueryConditionOperatorType.Equal,
                        queryCriteria.OrderSysNo);
                }

                if (queryCriteria.PointType.HasValue)
                {
                    string fieldName     = queryCriteria.ResultType == 1 ? "a.ObtainType" : "a.ConsumeType";
                    string parameterName = queryCriteria.ResultType == 1 ? "@ObtainType" : "@ConsumeType";
                    sqlBuilder.ConditionConstructor.AddCondition(
                        QueryConditionRelationType.AND,
                        fieldName,
                        DbType.Int32,
                        parameterName,
                        QueryConditionOperatorType.Equal,
                        queryCriteria.PointType);
                }
                if (queryCriteria.IsUseCreateDate)
                {
                    if (queryCriteria.CreateTimeFrom.HasValue)
                    {
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                     "a.Indate", DbType.DateTime, "@CreateTimeFrom",
                                                                     QueryConditionOperatorType.MoreThanOrEqual,
                                                                     queryCriteria.CreateTimeFrom);
                    }

                    if (queryCriteria.CreateTimeTo.HasValue)
                    {
                        //选择的DateTime只有日期部分,查询包含当日的信息所以日期加1
                        //2012-1-1 --- 2012-1-2  则为 >= 2012-1-1 0:0:0  and  < 2012-1-3 0:0:0
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                     "a.Indate", DbType.DateTime, "@CreateTimeTo",
                                                                     QueryConditionOperatorType.LessThan,
                                                                     queryCriteria.CreateTimeTo.Value);
                    }
                }

                //if (!string.IsNullOrEmpty(queryCriteria.CompanyCode))
                //{
                //    sqlBuilder.ConditionConstructor.AddCondition(
                //        QueryConditionRelationType.AND,
                //        "a.CompanyCode",
                //        DbType.AnsiStringFixedLength,
                //        "@CompanyCode",
                //        QueryConditionOperatorType.Equal,
                //        queryCriteria.CompanyCode);
                //}

                customCommand.CommandText = sqlBuilder.BuildQuerySql();

                DataTable dt = customCommand.ExecuteDataTable();
                if (null != dt && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["PointLogTypeName"] = CodeNamePairManager.GetName("Customer", "AdjustPointType", dr["pointlogtype"].ToString());
                    }
                }

                totalCount = int.Parse(customCommand.GetParameterValue("TotalCount").ToString());
                return(dt);
            }
        }
示例#13
0
 /// <summary>
 /// 获得返修状态
 /// </summary>
 /// <returns></returns>
 public static List <CodeNamePair> GetRMARevertStatus()
 {
     return(CodeNamePairManager.GetList("RMA", "RMARevertStatus"));
 }
示例#14
0
 /// <summary>
 /// 获得售后请求
 /// </summary>
 /// <returns></returns>
 public static List <CodeNamePair> GetRequests()
 {
     return(CodeNamePairManager.GetList("RMA", "Request"));
 }
示例#15
0
 /// <summary>
 /// 获得申请理由
 /// </summary>
 /// <returns></returns>
 public static List <CodeNamePair> GetRMAReasons()
 {
     return(CodeNamePairManager.GetList("RMA", "RMAReason"));
 }
示例#16
0
        //更新 订单投诉信息
        /// <summary>
        /// 更新 订单投诉信息
        /// </summary>
        /// <param name="info">请求的实体</param>
        /// <returns>修改后的订单</returns>
        public virtual SOComplaintInfo Update(SOComplaintInfo info)
        {
            if (!info.ProcessInfo.IsSure.HasValue &&
                (info.ProcessInfo.Status == SOComplainStatus.Review ||
                 info.ProcessInfo.Status == SOComplainStatus.Dealing ||
                 info.ProcessInfo.Status == SOComplainStatus.Complete))
            {
                BizExceptionHelper.Throw("SO_Complain_UpdateAuditError");
            }

            if (info.ProcessInfo.ReasonCodeSysNo.HasValue)
            {
                var reasonPath = ExternalDomainBroker.GetReasonCodePath(info.ProcessInfo.ReasonCodeSysNo.Value, info.ComplaintCotentInfo.CompanyCode);
                //spilt reasonPath
                var reasons = reasonPath.Split('>');
                if (reasons.Length > 1)
                {
                    //构造投诉大类
                    info.ProcessInfo.CSConfirmComplainType = reasons[1];
                    if (reasons.Length > 2)
                    {
                        //构造投诉类别
                        info.ProcessInfo.CSConfirmComplainTypeDetail = reasons[2];
                        if (reasons.Length > 3)
                        {
                            info.ProcessInfo.ResponsibleDepartment = CodeNamePairManager.GetCode(SOConst.DomainName, "ResponsibleDept", reasons[3]);
                        }
                    }
                }
            }

            //处理情况加入到投诉内容中
            if (!string.IsNullOrEmpty(info.ProcessInfo.ProcessedNote))
            {
                info.ComplaintCotentInfo.ComplainContent = info.ComplaintCotentInfo.ComplainContent
                                                           + "\r\n\r\n"
                                                           + ResourceHelper.Get("SO_Complain_ContentFormat"
                                                                                , DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                                                                                )
                                                           + "\r\n"
                                                           + info.ProcessInfo.ProcessedNote.Trim();
                info.ProcessInfo.ProcessedNote = null;
            }

            //复核审查
            if (info.ProcessInfo.Status == SOComplainStatus.Review)
            {
                //如果是复核状态
                info.ProcessInfo.ReopenCount++;
            }
            else if (info.ProcessInfo.Status == SOComplainStatus.Complete)
            {
                //如果是处理完毕,更新所用工时
                double worktime = CommonUtility.CalWorkMinute(info.ComplaintCotentInfo.ComplainTime.Value, DateTime.Now, 0);
                info.ProcessInfo.SpendHours = Convert.ToInt32(worktime / 60);
            }

            info = m_da.UpdateComplainMaster(info);

            AddHistory(info, ReplyOperatorType.Update);
            //重新获取日志
            info.ReplyHistory = m_da.GetHistory(info);

            //处理完毕和作废的最终状态通知客户
            if (info.ProcessInfo.Status == SOComplainStatus.Abandoned ||
                info.ProcessInfo.Status == SOComplainStatus.Complete)
            {
                //更新CallingStatus
                ExternalDomainBroker.CallingCustomStatus(info.SysNo.Value
                                                         , CallingReferenceType.Complain
                                                         , info.ProcessInfo.ComplainNote);
            }
            return(info);
        }
示例#17
0
        /// <summary>
        /// 查询虚库申请单
        /// </summary>
        /// <returns></returns>
        public DataTable QueryVirtualRequest(VirtualRequestQueryFilter queryFilter, out int totalCount)
        {
            if (queryFilter == null)
            {
                totalCount = 0;
                return(null);
            }
            DataTable        dt         = new DataTable();
            PagingInfoEntity pagingInfo = new PagingInfoEntity()
            {
                SortField     = queryFilter.PagingInfo.SortBy,
                StartRowIndex = queryFilter.PagingInfo.PageIndex * queryFilter.PagingInfo.PageSize,
                MaximumRows   = queryFilter.PagingInfo.PageSize
            };
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("Inventory_QueryVirtualRequest");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText,
                                                                                  dataCommand, pagingInfo, "a.SysNo DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CompanyCode",
                                                             DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, queryFilter.CompanyCode);
                if (queryFilter.RequestStatus.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.Status",
                                                                 DbType.Int32, "@Status", QueryConditionOperatorType.Equal, (int)queryFilter.RequestStatus);
                }
                if (queryFilter.ProductSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ProductSysNo",
                                                                 DbType.Int32, "@ProductSysNo", QueryConditionOperatorType.Equal, queryFilter.ProductSysNo.Value);
                }
                if (queryFilter.SysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SysNo",
                                                                 DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, queryFilter.SysNo.Value);
                }
                if (queryFilter.StockSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.StockSysNo",
                                                                 DbType.Int32, "@StockSysNo", QueryConditionOperatorType.Equal, queryFilter.StockSysNo.Value);
                }
                if (queryFilter.CreateUserSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateUserSysNo",
                                                                 DbType.Int32, "@CreateUserSysNo", QueryConditionOperatorType.Equal, queryFilter.CreateUserSysNo.Value);
                }
                if (queryFilter.VirtualRequestType.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.VirtualType",
                                                                 DbType.Int32, "@VirtualType", QueryConditionOperatorType.Equal, (int)queryFilter.VirtualRequestType);
                }
                if (queryFilter.StartDate.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateTime",
                                                                 DbType.DateTime, "@DateFrom", QueryConditionOperatorType.MoreThanOrEqual, queryFilter.StartDate.Value);
                }
                if (queryFilter.EndDate.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateTime",
                                                                 DbType.DateTime, "@DateTo", QueryConditionOperatorType.LessThan, queryFilter.EndDate.Value.AddDays(1));
                }

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                EnumColumnList list = new EnumColumnList();
                list.Add("RequestStatus", typeof(VirtualRequestStatus));
                dt = dataCommand.ExecuteDataTable(list);
                if (null != dt && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["VirtualTypeString"] = CodeNamePairManager.GetName("Inventory", "VirtualRequestType", dr["VirtualType"].ToString());
                    }
                }
                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
            }
            return(dt);
        }
示例#18
0
        public DataTable QueryModifiedVirtualRequest(VirtualRequestQueryFilter queryCriteria, out int totalCount)
        {
            DataTable dt = new DataTable();

            if (queryCriteria == null)
            {
                totalCount = 0;
                return(null);
            }
            PagingInfoEntity pagingInfo = new PagingInfoEntity()
            {
                StartRowIndex = 0,
                MaximumRows   = int.MaxValue
            };

            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryVirtualRequest");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText,
                                                                                  dataCommand, null, "a.CreateTime DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CompanyCode",
                                                             DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, queryCriteria.CompanyCode);
                if (queryCriteria.RequestStatus.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.Status",
                                                                 DbType.Int32, "@Status", QueryConditionOperatorType.Equal, (int)queryCriteria.RequestStatus);
                }

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.ProductSysNo",
                                                             DbType.Int32, "@ProductSysNo", QueryConditionOperatorType.Equal, queryCriteria.ProductSysNo);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SysNo",
                                                             DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, queryCriteria.SysNo);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.StockSysNo",
                                                             DbType.Int32, "@StockSysNo", QueryConditionOperatorType.Equal, queryCriteria.StockSysNo);


                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateUserSysNo",
                                                             DbType.Int32, "@CreateUserSysNo", QueryConditionOperatorType.Equal, queryCriteria.CreateUserSysNo);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.VirtualType",
                                                             DbType.Int32, "@VirtualType", QueryConditionOperatorType.Equal, queryCriteria.VirtualRequestType);

                if (queryCriteria.StartDate.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateTime",
                                                                 DbType.DateTime, "@DateFrom", QueryConditionOperatorType.MoreThanOrEqual, queryCriteria.StartDate);
                }

                if (queryCriteria.EndDate.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.CreateTime",
                                                                 DbType.DateTime, "@DateTo", QueryConditionOperatorType.LessThan, queryCriteria.EndDate.Value.AddDays(1));
                }

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                dataCommand.CommandText = dataCommand.CommandText.Replace("#BY#", "CreateDate DESC");
                dt = dataCommand.ExecuteDataTable(new EnumColumnList()
                {
                    { "RequestStatus", typeof(ECCentral.BizEntity.Inventory.VirtualRequestStatus) }
                });

                if (null != dt && dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        dr["VirtualTypeString"] = CodeNamePairManager.GetName("Inventory", "VirtualRequestType", dr["VirtualType"].ToString());
                    }
                }

                totalCount = dt.Rows.Count;
            }
            return(dt);
        }
示例#19
0
 /// <summary>
 /// 获得作废订单的原因
 /// </summary>
 /// <returns></returns>
 public static List <CodeNamePair> GetToVoidedOrderReasons()
 {
     return(CodeNamePairManager.GetList("VoidedOrderReasons", "VoidedOrderReasons"));
 }
示例#20
0
 /// <summary>
 /// 获得寄回方式
 /// </summary>
 /// <returns></returns>
 public static List <CodeNamePair> GetShipTypes()
 {
     return(CodeNamePairManager.GetList("RMA", "ShipType"));
 }
        public DataTable QueryCardItemOrdersRelated(InventoryItemCardQueryFilter queryFilter, out int totalCount)
        {
            DataTable dt = new DataTable();

            if (queryFilter == null || queryFilter.ProductSysNo == null || !queryFilter.ProductSysNo.HasValue)
            {
                totalCount = 0;
                return(null);
            }
            PagingInfoEntity pagingInfo = new PagingInfoEntity()
            {
                SortField     = queryFilter.PagingInfo.SortBy,
                StartRowIndex = queryFilter.PagingInfo.PageIndex * queryFilter.PagingInfo.PageSize,
                MaximumRows   = queryFilter.PagingInfo.PageSize
            };
            CustomDataCommand dataCommand;

            if (queryFilter.StockSysNo.HasValue)
            {
                dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryItemsCardReLatedOrder");
                dataCommand.SetParameterValue("@WarehouseSysNo", queryFilter.StockSysNo.Value);
            }
            else
            {
                dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryItemsCardReLatedOrderWithOutWarehouseNumber");
            }

            dataCommand.SetParameterValue("@ItemSysNo", queryFilter.ProductSysNo.Value);

            if (queryFilter.RMAInventoryOnlineDate.HasValue)
            {
                dataCommand.AddInputParameter("@RevertTime", DbType.DateTime, queryFilter.RMAInventoryOnlineDate.Value);
            }

            dataCommand.SetParameterValue("@CompanyCode", "8601");//[Mark][Alan.X.Luo 硬编码]
            using (var sqlBuilder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingInfo, "OrderTime DESC"))
            {
                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                dt         = dataCommand.ExecuteDataTable();
                totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
            }

            #region 计算结存数量
            if (null != dt)
            {
                dt.Columns.Add("OrderThenQty", typeof(int));
            }
            var orderThenQty = 0;
            for (var i = dt.Rows.Count - 1; i >= 0; i--)
            {
                //OrderCodeFromDB=3 means po-调价(instock)(PO调价单)
                if (dt.Rows[i]["OrderCode"] != null && dt.Rows[i]["OrderCode"].ToString() != "3")
                {
                    orderThenQty += (dt.Rows[i]["OrderQty"] == null ? 0 : int.Parse(dt.Rows[i]["OrderQty"].ToString()));
                }
                dt.Rows[i]["OrderThenQty"] = orderThenQty;
            }
            #endregion

            if (null != dt && dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    dr["OrderNameString"] = CodeNamePairManager.GetName("Inventory", "InventoryCardOrderType", dr["OrderName"].ToString());
                }
            }

            return(dt);
        }
 public List <CodeNamePair> GetInvalidReasons()
 {
     return(CodeNamePairManager.GetList("MKT", "ProductPriceCompare_InvalidReason"));
 }