/// <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); }
/// <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); } }
/// <summary> /// 插入往来账 /// </summary> /// <param name="info"></param> public void Insert(MediumReckoningInfo info) { _dao.Insert(info); }