Пример #1
0
        public decimal QueryCommissionTotalAmt(QueryFilter.PO.CommissionQueryFilter queryFilter)
        {
            DataTable         dt          = new DataTable();
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("SearchCommissionTotalAmt");

            string whereSql = "WHERE 1=1";

            if (queryFilter.SysNo.HasValue)
            {
                dataCommand.AddInputParameter("@SysNo", DbType.Int32, queryFilter.SysNo.Value);
                whereSql += " AND commMaster.SysNo = @SysNo";
            }

            if (queryFilter.VendorSysNo.HasValue)
            {
                dataCommand.AddInputParameter("@VendorSysNo", DbType.Int32, queryFilter.VendorSysNo.Value);
                whereSql += " AND commMaster.MerchantSysNo = @VendorSysNo";
            }

            //InDate
            if (queryFilter.InDateBegin.HasValue)
            {
                whereSql += " AND commMaster.InDate >= @InDateBegin";
                dataCommand.AddInputParameter("@InDateBegin", DbType.DateTime, queryFilter.InDateBegin.Value);
            }
            if (queryFilter.InDateEnd.HasValue)
            {
                whereSql += " AND commMaster.InDate <= @InDateEnd";
                dataCommand.AddInputParameter("@InDateEnd", DbType.DateTime, queryFilter.InDateEnd.Value.AddDays(1));
            }
            //OutListDate出单时间
            if (queryFilter.OutListDateBegin.HasValue)
            {
                whereSql += " AND commMaster.EndDate >= @OutListDateBegin";
                dataCommand.AddInputParameter("@OutListDateBegin", DbType.DateTime, queryFilter.OutListDateBegin.Value);
            }
            if (queryFilter.OutListDateEnd.HasValue)
            {
                whereSql += " AND commMaster.EndDate <= @OutListDateEnd";
                dataCommand.AddInputParameter("@OutListDateEnd", DbType.DateTime, queryFilter.OutListDateEnd.Value.AddDays(1));
            }
            if (!string.IsNullOrEmpty(queryFilter.CompanyCode))
            {
                whereSql += " AND commMaster.CompanyCode = @CompanyCode ";
                dataCommand.AddInputParameter("@CompanyCode", DbType.String, queryFilter.CompanyCode);
            }
            if (queryFilter.PageInfo != null)
            {
                dataCommand.AddOutParameter("@TotalCount", DbType.Int32, 4);
                dataCommand.AddOutParameter("@TotalAmt", DbType.String, 10);
            }

            dataCommand.CommandText = dataCommand.CommandText.Replace("#StrWhere#", whereSql);

            EnumColumnList list = new EnumColumnList();

            list.Add("Status", typeof(VendorCommissionMasterStatus));
            dataCommand.ExecuteScalar();

            decimal totalAmt = Convert.ToDecimal(dataCommand.GetParameterValue("@TotalAmt"));

            return(totalAmt);
        }
Пример #2
0
        public DataTable FinanceQuery(FinanceQueryFilter filter, out int totalCount, out double totalPayAmt)
        {
            string sqlName  = string.Empty;
            string orderStr = "SysNo DESC";

            if (filter.IsGroupByVendor == true)
            {
                sqlName = "Invoice_Query_FinanceGroupByVendor";
            }
            else
            {
                sqlName = "Invoice_Query_Finance";
                if (!string.IsNullOrEmpty(filter.PagingInfo.SortBy))
                {
                    orderStr = filter.PagingInfo.SortBy;
                }
            }
            CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig(sqlName);

            using (DynamicQuerySqlBuilder sb = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, HelpDA.ToPagingInfo(filter.PagingInfo), orderStr))
            {
                cmd.CommandText = sb.BuildQuerySql();
                if (filter.IsGroupByVendor == true)
                {
                    AddFinanceParametersGroupByVendor(cmd, filter);
                }
                else
                {
                    AddFinanceParameters(filter, cmd);
                }

                //合计已到应付总额
                cmd.AddOutParameter("@TotalPayableAmt", DbType.Double, 12);
                DataTable dt = cmd.ExecuteDataTable();

                EnumColumnList         enumColList     = new EnumColumnList();
                CodeNamePairColumnList codeNameColList = new CodeNamePairColumnList();
                if (filter.IsGroupByVendor == false ||
                    filter.IsGroupByVendor == null)
                {
                    enumColList.Add("AuditStatus", typeof(PayableAuditStatus));
                    //codeNameColList.Add("OrderType", "Invoice", "OrderType");
                    enumColList.Add("OrderType", typeof(PayableOrderType));
                    //codeNameColList.Add("OrderStatus", "Invoice", "OrderStatus");
                    codeNameColList.Add("InvoiceStatus", "Invoice", "InvoiceStatus");
                    codeNameColList.Add("IsConsign", "Invoice", "VendorType");
                }
                else
                {
                    codeNameColList.Add("IsConsign", "Invoice", "VendorType");
                }
                cmd.ConvertColumn(dt, enumColList, codeNameColList);

                totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));
                var totalPayableAmtParam = cmd.GetParameterValue("@TotalPayableAmt");
                if (totalPayableAmtParam != DBNull.Value)
                {
                    totalPayAmt = Convert.ToDouble(totalPayableAmtParam);
                }
                else
                {
                    totalPayAmt = 0.0;
                }

                return(dt);
            }
        }
Пример #3
0
        public System.Data.DataTable QueryCommission(QueryFilter.PO.CommissionQueryFilter queryFilter, out int totalCount, out decimal totalAmt)
        {
            DataTable         dt          = new DataTable();
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("SearchCommission");
            PagingInfoEntity  pagingInfo  = new PagingInfoEntity()
            {
                SortField     = queryFilter.PageInfo.SortBy,
                StartRowIndex = queryFilter.PageInfo.PageIndex * queryFilter.PageInfo.PageSize,
                MaximumRows   = queryFilter.PageInfo.PageSize
            };

            string whereSql = "WHERE 1=1";

            if (queryFilter.SysNo.HasValue)
            {
                dataCommand.AddInputParameter("@SysNo", DbType.Int32, queryFilter.SysNo.Value);
                whereSql += " AND commMaster.SysNo = @SysNo";
            }

            if (queryFilter.VendorSysNo.HasValue)
            {
                dataCommand.AddInputParameter("@VendorSysNo", DbType.Int32, queryFilter.VendorSysNo.Value);
                whereSql += " AND commMaster.MerchantSysNo = @VendorSysNo";
            }

            //InDate
            if (queryFilter.InDateBegin.HasValue)
            {
                whereSql += " AND commMaster.InDate >= @InDateBegin";
                dataCommand.AddInputParameter("@InDateBegin", DbType.DateTime, queryFilter.InDateBegin.Value);
            }
            if (queryFilter.InDateEnd.HasValue)
            {
                whereSql += " AND commMaster.InDate <= @InDateEnd";
                dataCommand.AddInputParameter("@InDateEnd", DbType.DateTime, queryFilter.InDateEnd.Value.AddDays(1));
            }
            //OutListDate出单时间
            if (queryFilter.OutListDateBegin.HasValue)
            {
                whereSql += " AND commMaster.EndDate >= @OutListDateBegin";
                dataCommand.AddInputParameter("@OutListDateBegin", DbType.DateTime, queryFilter.OutListDateBegin.Value);
            }
            if (queryFilter.OutListDateEnd.HasValue)
            {
                whereSql += " AND commMaster.EndDate <= @OutListDateEnd";
                dataCommand.AddInputParameter("@OutListDateEnd", DbType.DateTime, queryFilter.OutListDateEnd.Value.AddDays(1));
            }
            if (!string.IsNullOrEmpty(queryFilter.CompanyCode))
            {
                whereSql += " AND commMaster.CompanyCode = @CompanyCode ";
                dataCommand.AddInputParameter("@CompanyCode", DbType.String, queryFilter.CompanyCode);
            }
            if (queryFilter.PageInfo != null)
            {
                dataCommand.AddInputParameter("@StartNumber", DbType.Int32, queryFilter.PageInfo.PageSize * queryFilter.PageInfo.PageIndex);
                dataCommand.AddInputParameter("@EndNumber", DbType.Int32, queryFilter.PageInfo.PageSize * queryFilter.PageInfo.PageIndex + queryFilter.PageInfo.PageSize);
                dataCommand.AddOutParameter("@TotalCount", DbType.Int32, 4);
                dataCommand.AddOutParameter("@TotalAmt", DbType.String, 10);
            }

            dataCommand.CommandText = dataCommand.CommandText.Replace("#StrWhere#", whereSql);

            EnumColumnList list = new EnumColumnList();

            list.Add("Status", typeof(VendorCommissionMasterStatus));
            dt = dataCommand.ExecuteDataTable(list);

            totalAmt   = Convert.ToDecimal(dataCommand.GetParameterValue("@TotalAmt"));
            totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount"));
            return(dt);
        }
Пример #4
0
        public DataSet QueryTrackingInfo(TrackingInfoQueryFilter filter, out int totalCount)
        {
            DataSet           result     = null;
            PagingInfoEntity  pagingInfo = CreatePagingInfo(filter.PagingInfo);
            CustomDataCommand cmd        = DataCommandManager.CreateCustomDataCommandFromConfig("QueryTrackingInfo");

            using (DynamicQuerySqlBuilder builder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingInfo, "Temp.SysNo desc"))
            {
                if (!string.IsNullOrEmpty(filter.OrderSysNo))
                {
                    var orderSysNoList = filter.OrderSysNo.Split('.').ToList()
                                         .ConvertAll(x => Convert.ToInt32(x.Trim()));

                    builder.ConditionConstructor.AddInCondition <int>(QueryConditionRelationType.AND, "Temp.OrderSysNo", DbType.Int32, orderSysNoList);
                }

                var statusList = new List <string>();
                //业务跟进
                if (filter.HasStatusFollow)
                {
                    statusList.Add("A");
                }
                //提交报损
                if (filter.HasStatusSubmit)
                {
                    statusList.Add("S");
                }
                //核销完毕
                if (filter.HasStatusConfirm)
                {
                    statusList.Add("C");
                }

                //部分选择时再添加该条件
                if (statusList.Count > 0 && statusList.Count < 3)
                {
                    builder.ConditionConstructor.AddInCondition <string>(QueryConditionRelationType.AND, "Temp.Status", DbType.AnsiStringFixedLength, statusList);
                }

                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.OrderType", DbType.Int32, "@OrderType", QueryConditionOperatorType.Equal, filter.OrderType);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.IncomeStyle", DbType.Int32, "@IncomeStyle", QueryConditionOperatorType.Equal, filter.IncomeStyle);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.PayTypeSysNo", DbType.Int32, "@PayTypeSysNo", QueryConditionOperatorType.Equal, filter.PayTypeSysNo);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.OutDate", DbType.DateTime, "@OutFromDate", QueryConditionOperatorType.MoreThanOrEqual, filter.OutFromDate);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.OutDate", DbType.DateTime, "@OutToDate", QueryConditionOperatorType.LessThanOrEqual, filter.OutToDate);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.ShipTypeSysNo", DbType.Int32, "@ShipTypeSysNo", QueryConditionOperatorType.Equal, filter.ShipTypeSysNo);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.LossType", DbType.Int32, "@LossType", QueryConditionOperatorType.Equal, filter.LossType);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.ResponsibleUserName", DbType.String, "@ResponsibleUserName", QueryConditionOperatorType.Equal, filter.ResponsibleUserName);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.InType", DbType.Int32, "@InType", QueryConditionOperatorType.Equal, filter.InType);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);

                cmd.AddOutParameter("@OrderAmt", DbType.Double, 12);
                cmd.AddOutParameter("@PrepayAmt", DbType.Double, 12);
                cmd.AddOutParameter("@GiftCardPayAmt", DbType.Double, 12);
                cmd.AddOutParameter("@IncomeAmt", DbType.Double, 12);
                cmd.AddOutParameter("@UnpayedAmt", DbType.Double, 12);

                cmd.CommandText = builder.BuildQuerySql();

                result = ExecuteDataCommandForTrackingInfo(cmd, out totalCount);
            }
            return(result);
        }
Пример #5
0
        private void AddEIMSInvoiceParameters(EIMSInvoiceQueryFilter filter, DynamicQuerySqlBuilder sb, CustomDataCommand cmd)
        {
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "vendor.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);

            if (filter.VendorSysNo.HasValue)
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "vendor.SysNo",
                    DbType.String,
                    "@SysNo",
                    QueryConditionOperatorType.Equal,
                    filter.VendorSysNo);
            }
            if (!string.IsNullOrEmpty(filter.VendorName))
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "vendor.VendorName",
                    DbType.String,
                    "@VendorName",
                    QueryConditionOperatorType.Like,
                    filter.VendorName);
            }
            if (!string.IsNullOrEmpty(filter.RuleNo))
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "ruleMaster.AssignedCode",
                    DbType.String,
                    "@RuleNo",
                    QueryConditionOperatorType.Equal,
                    filter.RuleNo);
            }
            if (!string.IsNullOrEmpty(filter.InvoiceNo))
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "invoiceMaster.AssignedCode",
                    DbType.String,
                    "@InvoiceNo",
                    QueryConditionOperatorType.Equal,
                    filter.InvoiceNo);
            }
            if (!string.IsNullOrEmpty(filter.EIMSType))
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "invoiceMaster.EIMSType",
                    DbType.String,
                    "@EIMSType",
                    QueryConditionOperatorType.Equal,
                    filter.EIMSType);
            }
            if (!string.IsNullOrEmpty(filter.ReceivedType))
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "invoiceMaster.ReceiveType",
                    DbType.String,
                    "@ReceivedType",
                    QueryConditionOperatorType.Equal,
                    filter.ReceivedType);
            }
            if (filter.InvoiceApprovedStart.HasValue)
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "invoiceMaster.ApproveDate",
                    DbType.DateTime,
                    "@ApproveDateStart",
                    QueryConditionOperatorType.MoreThanOrEqual,
                    filter.InvoiceApprovedStart);
            }
            if (filter.InvocieApprovedEnd.HasValue)
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "invoiceMaster.ApproveDate",
                    DbType.DateTime,
                    "@ApproveDateEnd",
                    QueryConditionOperatorType.LessThanOrEqual,
                    filter.InvocieApprovedEnd);
            }
            if (!string.IsNullOrEmpty(filter.InvoiceStatus))
            {
                sb.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "invoiceMaster.Status",
                    DbType.String,
                    "@InvoiceStatus",
                    QueryConditionOperatorType.Equal,
                    filter.InvoiceStatus);
            }

            cmd.AddOutParameter("@SumNoReceivedAmount", DbType.Double, 50);
            object obj = cmd.GetParameterValue("@SumNoReceivedAmount");

            if (obj == null ||
                Convert.IsDBNull(obj))
            {
                obj = 0;
            }
            cmd.AddInputParameter("@PageSize", DbType.Int32, filter.PagingInfo.PageSize);
            cmd.AddInputParameter("@PageIndex", DbType.Int32, filter.PagingInfo.PageIndex);

            cmd.CommandText = sb.BuildQuerySql();
        }
Пример #6
0
        private void AddOldChangeNewParameters(OldChangeNewQueryFilter filter, CustomDataCommand cmd, DynamicQuerySqlBuilder sb)
        {
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.CompanyCode",
                                                 DbType.AnsiStringFixedLength,
                                                 "@CompanyCode",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.CompanyCode);
            sb.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "1=1");
            if (!string.IsNullOrEmpty(filter.OrderNoList))
            {
                filter.OrderNoList = filter.OrderNoList.Replace(" ", "");
                filter.OrderNoList = filter.OrderNoList.Replace(".", ",");
                sb.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, string.Format("rb.SoSysNo in ({0})", filter.OrderNoList));
            }
            else if (filter.OrderNo.HasValue)
            {
                sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                     "rb.SoSysNo",
                                                     DbType.Int32,
                                                     "@Sosysno",
                                                     QueryConditionOperatorType.Equal,
                                                     filter.OrderNo);
            }
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.TradeInId",
                                                 DbType.String,
                                                 "@TradeInId",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.ApplyID);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.Licence",
                                                 DbType.String,
                                                 "@Licence",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.CertificateNo);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "vm.CustomerSysNo",
                                                 DbType.Int32,
                                                 "@CustomerSysNo",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.CustomerNo);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "C.CustomerID",
                                                 DbType.String,
                                                 "@CustomerID",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.CustomerID);
            if (!string.IsNullOrEmpty(filter.ProductType))
            {
                sb.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, string.Format(@"EXISTS(
                    SELECT i.SoSysNo FROM ipp3.dbo.V_SO_Item i
                    INNER JOIN IPP3.dbo.Product p
                    ON p.SysNo=i.ProductSysNo 
                    WHERE p.C3SysNo IN({0}) AND i.SOSysNo=rb.SoSysNo)", filter.ProductType));
            }
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.InDate",
                                                 DbType.DateTime,
                                                 "@InDateFrom", QueryConditionOperatorType.MoreThanOrEqual,
                                                 filter.CreateDateFrom);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.InDate",
                                                 DbType.DateTime,
                                                 "@InDateTo",
                                                 QueryConditionOperatorType.LessThanOrEqual,
                                                 filter.CreateDateTo);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.ConfirmDate",
                                                 DbType.DateTime,
                                                 "@ConfirmDateFrom",
                                                 QueryConditionOperatorType.MoreThanOrEqual,
                                                 filter.CompleteDateFrom);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.ConfirmDate",
                                                 DbType.DateTime,
                                                 "@ConfirmDateTo",
                                                 QueryConditionOperatorType.LessThanOrEqual,
                                                 filter.CompleteDateTo);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.Status",
                                                 DbType.Int32,
                                                 "@Status",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.Status);
            sb.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                 "rb.ReferenceID",
                                                 DbType.String,
                                                 "@ReferenceID",
                                                 QueryConditionOperatorType.Equal,
                                                 filter.RefundCertificate);

            cmd.AddOutParameter("@TotalRebate", DbType.String, 50);
            cmd.AddOutParameter("@TotalReviseRebate", DbType.String, 50);
            cmd.AddOutParameter("@TotalPassReviseRebate", DbType.String, 50);
            cmd.AddOutParameter("@TotalReturnReviseRebate", DbType.String, 50);
            cmd.CommandText = sb.BuildQuerySql();
        }
Пример #7
0
        public int InsertProductShiftDetails(List <BizEntity.Invoice.ProductShiftDetailEntity> listProductShiftDetails, string groubText)
        {
            XmlDocument     xmldoc    = new XmlDocument();
            XmlProductShift xmlEntity = new XmlProductShift();

            if (listProductShiftDetails.Count > 0)
            {
                xmlEntity.InvoiceNode = new InvoiceNode
                {
                    OrderSysNo      = groubText,
                    OrderType       = "SHIFT",
                    WarehouseNumber = listProductShiftDetails[0].WarehouseNumber.ToString(),
                    ComputerNo      = 0,
                    Items           = new Items
                    {
                        Item = new List <ItemForProductShift>()
                    }
                };
            }

            var productShiftDetailEntitys = listProductShiftDetails.GroupBy(p => p.SysNo);

            CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("InsertProductShiftDetails");

            //            command.CommandText = @"
            //                EXEC WMS.dbo.UP_SendShiftInvoiceMessage
            //                @WarehouseNumber = @WarehouseNumber,
            //                @Body=@Body,
            //                @ReturnMsg= @ReturnMsg output
            //                ";

            foreach (ProductShiftDetailEntity entity in listProductShiftDetails)
            {
                xmlEntity.InvoiceNode.Items.Item.Add(
                    new ItemForProductShift(entity, groubText)
                    );
            }
            var serialResult    = "";
            int?whereHoseNumber = listProductShiftDetails[0].WarehouseNumber;

            if (whereHoseNumber == 50 || whereHoseNumber == 59)
            {
                whereHoseNumber = 51;
            }
            serialResult = SerializationUtility.XmlSerialize(xmlEntity, true);
            //serialResult = serialResult.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n", "");
            //command.AddInputParameter("@WarehouseNumber", DbType.Int32, whereHoseNumber);
            //command.AddInputParameter("@Body", DbType.String, serialResult);
            command.SetParameterValue("@WarehouseNumber", whereHoseNumber);
            command.SetParameterValue("@Body", serialResult);

            command.AddOutParameter("@ReturnMsg", DbType.String, 50);
            command.ExecuteNonQuery();
            string result = command.GetParameterValue("@ReturnMsg").ToString();

            if (!result.Equals("success", StringComparison.OrdinalIgnoreCase))
            {
                return(1);
                //try
                //{
                //    CommonService.SendMail(new MailBodyMsg
                //    {
                //        CreateDate = DateTime.Now,
                //        Subjuect = "导入金税失败",
                //        MailBody = serialResult,
                //        MailFrom = "OYSD Support",
                //        MailTo = " [email protected]; [email protected]; [email protected];[email protected];[email protected]",
                //        Status = 0
                //    });
                //}
                //catch
                //{
                //    throw new BusinessException("发送SSB消息失败!");
                //}
            }
            else
            {
                return(0);
            }
        }
Пример #8
0
        public DataSet Query(BalanceAccountQueryFilter filter, out int totalCount)
        {
            DataSet          result     = null;
            PagingInfoEntity pagingInfo = new PagingInfoEntity();

            if (filter.PagingInfo != null)
            {
                MapSortField(filter);

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

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

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(
                       dataCommand.CommandText, dataCommand, pagingInfo, "CP.SysNo desc"))
            {
                StringBuilder t1 = new StringBuilder();
                StringBuilder t2 = new StringBuilder();
                StringBuilder t3 = new StringBuilder();

                t1.Append("WHERE PL.Status = @Status AND PL.CompanyCode = @CompanyCode ");
                t2.Append("WHERE PL.Status = @Status AND PL.CompanyCode = @CompanyCode ");
                t3.Append("WHERE PL.Status = @Status AND PL.CompanyCode = @CompanyCode ");

                if (filter.CustomerSysNo.HasValue)
                {
                    t1.Append(" AND PL.CustomerSysNo = @CustomerSysNo ");
                    t2.Append(" AND PL.CustomerSysNo = @CustomerSysNo ");
                    t3.Append(" AND PL.CustomerSysNo = @CustomerSysNo ");
                }

                if (!string.IsNullOrEmpty(filter.CustomerID))
                {
                    t1.Append(" AND C.CustomerID = @CustomerID ");
                    t2.Append(" AND C.CustomerID = @CustomerID ");
                    t3.Append(" AND C.CustomerID = @CustomerID ");
                }

                if (filter.CreateTimeFrom.HasValue)
                {
                    t1.Append(" AND PL.CreateTime < @CreateDateFrom ");
                    t3.Append(" AND PL.CreateTime > @CreateDateFrom ");
                }

                if (filter.CreateTimeTo.HasValue)
                {
                    t2.Append(" AND PL.CreateTime <= @CreateDateTo ");
                    t3.Append(" AND PL.CreateTime <= @CreateDateTo ");
                }

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CP.CustomerSysNo",
                                                             DbType.Int32, "@CustomerSysNo", QueryConditionOperatorType.Equal, filter.CustomerSysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "C.CustomerID",
                                                             DbType.String, "@CustomerID", QueryConditionOperatorType.Equal, filter.CustomerID);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CP.CreateTime",
                                                             DbType.DateTime, "@CreateDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CreateTimeFrom);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CP.CreateTime",
                                                             DbType.DateTime, "@CreateDateTo", QueryConditionOperatorType.LessThanOrEqual, filter.CreateTimeTo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CP.CompanyCode",
                                                             DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CP.Status",
                                                             DbType.AnsiStringFixedLength, "@Status", QueryConditionOperatorType.Equal, 'A');

                if (filter.DetailType.HasValue)
                {
                    if (filter.DetailType.Value > 0)
                    {
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "cp.PrepayAmt", DbType.Decimal, "@PrepayAmt", QueryConditionOperatorType.MoreThanOrEqual, 0);
                    }
                    else
                    {
                        sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "cp.PrepayAmt", DbType.Decimal, "@PrepayAmt", QueryConditionOperatorType.LessThan, 0);
                    }
                }

                dataCommand.AddOutParameter("@StartBalance", DbType.Double, 50);
                dataCommand.AddOutParameter("@EndBalance", DbType.Double, 50);
                dataCommand.AddOutParameter("@PayedIn", DbType.Double, 50);
                dataCommand.AddOutParameter("@PayedOut", DbType.Double, 50);

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                dataCommand.CommandText = dataCommand.CommandText.Replace("#ITWHERE01#", t1.ToString());
                dataCommand.CommandText = dataCommand.CommandText.Replace("#ITWHERE02#", t2.ToString());
                dataCommand.CommandText = dataCommand.CommandText.Replace("#ITWHERE03#", t3.ToString());

                result = ExecuteDataTable(dataCommand, filter, out totalCount);
            }
            return(result);
        }