示例#1
0
        /// <summary>
        /// 获取对应对账记录的往来帐记录
        /// </summary>
        /// <param name="checkId"></param>
        /// <param name="handleType"></param>
        /// <param name="count">查询条数</param>
        /// <returns></returns>
        public IList <MediumReckoningInfo> GetList(Guid checkId, int handleType, int count)
        {
            var parms = new List <SqlParameter> {
                new SqlParameter(PARM_CHECKID, checkId)
            };
            var builder = new StringBuilder(@"
SELECT TOP {0} [ReckoningId],[FilialeId],[CompanyId],[TradeCode],[DateCreated],
					T.[Description],[AccountReceivable],[OriginalTradeCode],[CheckId],
					[HandleType],[DiffMoney],F.Name AS FilialeName,[IsOut]					
FROM lmShop_TempReckoning AS T
LEFT JOIN  Filiale F ON T.FilialeId=F.ID
WHERE CheckId=@CheckId");

            if (handleType != -1)
            {
                builder.Append(" AND HandleType=@HandleType ");
                parms.Add(new SqlParameter(PARM_HANDLETYPE, handleType));
            }
            builder.Append(" ORDER BY DateCreated ");
            string sql = count > 0 ? string.Format(builder.ToString(), count) : builder.ToString().Replace(" TOP {0} ", " ");
            IList <MediumReckoningInfo> reckoningList = new List <MediumReckoningInfo>();

            using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, sql, parms.ToArray()))
            {
                while (rdr.Read())
                {
                    var reckoning = new MediumReckoningInfo
                    {
                        ReckoningId       = rdr.GetGuid(0),
                        FilialeId         = rdr.GetGuid(1),
                        CompanyId         = rdr.GetGuid(2),
                        TradeCode         = rdr.GetString(3),
                        DateCreated       = rdr.GetDateTime(4),
                        Description       = rdr[5] == DBNull.Value ? "" : rdr.GetString(5),
                        AccountReceivable = rdr.GetDecimal(6),
                        OriginalTradeCode = rdr[7] == DBNull.Value ? "" : rdr.GetString(7),
                        CheckId           = rdr.GetGuid(8),
                        HandleType        = rdr.GetInt32(9),
                        DiffMoney         = rdr.GetDecimal(10),
                        IsOut             = rdr["IsOut"] != DBNull.Value && Convert.ToBoolean(rdr["IsOut"]),
                        FilialeName       = rdr["FilialeName"] == DBNull.Value ? string.Empty : rdr["FilialeName"].ToString()
                    };
                    reckoningList.Add(reckoning);
                }
            }
            return(reckoningList);
        }
示例#2
0
        /// <summary>
        /// 将往来帐插入临时往来帐表中
        /// </summary>
        /// <param name="info"></param>
        public void Insert(MediumReckoningInfo info)
        {
            var parms = new List <SqlParameter> {
                new SqlParameter(PARM_RECKONINGID, info.ReckoningId),
                new SqlParameter(PARM_FILIALEID, info.FilialeId),
                new SqlParameter(PARM_COMPANYID, info.CompanyId),
                new SqlParameter(PARM_TRADECODE, info.TradeCode),
                new SqlParameter(PARM_DATECREATED, DateTime.Now),
                new SqlParameter(PARM_DESCRIPTION, info.Description),
                new SqlParameter(PARM_ACCOUNTRECEIVABLE, Math.Round(info.AccountReceivable, 2)),
                new SqlParameter(PARM_RECKONINGTYPE, info.ReckoningType),
                new SqlParameter(PARM_RECKONINGSTATE, info.ReckoningState),
                new SqlParameter(PARM_AUDITINGSTATE, info.AuditingState),
                new SqlParameter(PARM_IS_CHECKED, info.IsChecked),
                new SqlParameter(PARM_ORIGINAL_TRADE_CODE, info.OriginalTradeCode),
                new SqlParameter(PARM_RECKONGCHECKTYPE, info.ReckoningCheckType == 0 ? (int)Enum.ReckoningCheckType.Other : info.ReckoningCheckType),
                new SqlParameter(PARM_CHECKID, info.CheckId),
                new SqlParameter(PARM_HANDLETYPE, info.HandleType),
                new SqlParameter(PARM_DIFFMONEY, info.DiffMoney),
                new SqlParameter("@IsOut", info.IsOut)
            };
            string sql = info.HandleType != 0 ? SQL_INSERT_DATA : SQL_INSERT;

            if (info.HandleType == 0)
            {
                parms.Add(new SqlParameter(PARM_NONCETOTALLED, info.NonceTotalled));
            }
            if (info.WarehouseId == Guid.Empty)
            {
                sql = sql.Replace(",[WarehouseId]", "").Replace(",@WarehouseId", "");
            }
            else
            {
                parms.Add(new SqlParameter(PARM_WAREHOUSEID, info.WarehouseId));
            }
            try
            {
                SqlHelper.ExecuteNonQuery(GlobalConfig.ERP_DB_NAME, false, sql, parms.ToArray());
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
        }
示例#3
0
 /// <summary>
 /// 插入往来账
 /// </summary>
 /// <param name="info"></param>
 public void Insert(MediumReckoningInfo info)
 {
     _dao.Insert(info);
 }