/// <summary> /// /// </summary> /// <param name="model"></param> /// <param name="personnelInfo"></param> /// <param name="flag">true:有手续费;false:无手续费;</param> /// <returns></returns> public CostReckoningInfo AddCostReckoningInfo(CostReportInfo model, PersonnelInfo personnelInfo, bool flag) { var description = String.Format("[费用申报单据号:{0}][费用申报完成打款][{1}]", model.ReportNo, model.ReportName); if (flag && model.Poundage > 0) { description += "[手续费:" + model.Poundage + "]"; } description = char.ConvertFromUtf32(10) + description + " [" + personnelInfo.RealName + ": " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]"; var costReckoningInfo = new CostReckoningInfo { ReckoningId = Guid.NewGuid(), FilialeId = model.ReportFilialeId, AssumeFilialeId = model.AssumeFilialeId, CompanyId = model.CompanyId, TradeCode = _codeManager.GetCode(CodeType.PY), DateCreated = DateTime.Now, Description = description, AccountReceivable = model.RealityCost, NonceTotalled = _costReckoningDao.GetTotalled(model.CompanyId), ReckoningType = model.RealityCost > 0 ? (int)ReckoningType.Income : (int)ReckoningType.Defray, ReckoningState = (int)ReckoningStateType.Currently, IsChecked = 0, AuditingState = (int)AuditingState.Yes }; costReckoningInfo.NonceTotalled += costReckoningInfo.AccountReceivable; return(costReckoningInfo); }
// Begin add by tianys at 2009-05-25 /// <summary> /// 按日期,账单类型获取往来账 /// </summary> /// <param name="companyId">往来单位编号</param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <param name="receiptType"></param> /// <param name="auditingState"></param> /// <param name="filialeId"></param> /// <param name="branchId"></param> /// <param name="assumeFilialeId">结算公司id</param> /// <returns></returns> public IList <CostReckoningInfo> GetReckoningList(Guid companyId, DateTime startDate, DateTime endDate, int receiptType, float auditingState, Guid filialeId, Guid branchId, Guid assumeFilialeId) { var parms = new[] { new SqlParameter(PARM_FILIALE_ID, SqlDbType.UniqueIdentifier) { Value = filialeId }, new SqlParameter(PARM_BRANCH_ID, SqlDbType.UniqueIdentifier) { Value = branchId } }; var sqlStr = new StringBuilder(); sqlStr.Append("SELECT ReckoningId,FilialeId,AssumeFilialeId,CompanyId,TradeCode,DateCreated,Description,AccountReceivable,NonceTotalled,ReckoningType,ReckoningState,IsChecked,AuditingState FROM lmShop_CostReckoning"); sqlStr.Append(" WHERE CompanyId='").Append(companyId).Append("'"); sqlStr.Append(@"and companyid in (select CompanyId from CostPermission where FilialeId=@FilialeId and BranchId=@BranchId) "); if (startDate != DateTime.MinValue) { sqlStr.Append(" AND DateCreated >= '").Append(startDate).Append("'"); } if (endDate != DateTime.MinValue) { sqlStr.Append(" AND DateCreated <= '").Append(endDate).Append("'"); } if (receiptType != -1) { sqlStr.Append(" AND ReckoningType = ").Append(receiptType); } sqlStr.Append(" AND AuditingState =").Append(auditingState); if (assumeFilialeId != Guid.Empty) { sqlStr.Append(" AND AssumeFilialeId ='").Append(assumeFilialeId).Append("'"); } sqlStr.Append(" ORDER BY DateCreated DESC;"); IList <CostReckoningInfo> reckoningList = new List <CostReckoningInfo>(); using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, sqlStr.ToString(), parms)) { while (rdr.Read()) { var reckoningInfo = new CostReckoningInfo(rdr.GetGuid(0), rdr.GetGuid(1), rdr.GetGuid(2), rdr.GetGuid(3), rdr.GetString(4), rdr.GetDateTime(5), rdr.GetString(6), rdr.GetDecimal(7), rdr.GetDecimal(8), rdr.GetInt32(9), rdr.GetInt32(10), rdr[11] == DBNull.Value ? 0 : rdr.GetInt32(11), rdr.GetInt32(12)); reckoningList.Add(reckoningInfo); } } return(reckoningList); }
/// <summary> /// 获取往来账 /// </summary> /// <param name="companyId">往来单位编号</param> /// <returns></returns> public IList <CostReckoningInfo> GetReckoningList(Guid companyId) { var parm = new SqlParameter(PARM_COMPANYID, SqlDbType.UniqueIdentifier) { Value = companyId }; IList <CostReckoningInfo> reckoningList = new List <CostReckoningInfo>(); using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, SQL_SELECT_RECKONING_LIST, parm)) { while (rdr.Read()) { var reckoningInfo = new CostReckoningInfo(rdr.GetGuid(0), rdr.GetGuid(1), rdr.GetGuid(2), rdr.GetGuid(3), rdr.GetString(4), rdr.GetDateTime(5), rdr.GetString(6), rdr.GetDecimal(7), rdr.GetDecimal(8), rdr.GetInt32(9), rdr.GetInt32(10), rdr[11] == DBNull.Value ? 0 : rdr.GetInt32(11), rdr.GetInt32(12)); reckoningList.Add(reckoningInfo); } } return(reckoningList); }
// End add /// <summary> /// 添加帐务记录数据 /// </summary> /// <param name="reckoning">帐务记录条目类</param> public int Insert(CostReckoningInfo reckoning) { var parms = new[] { new SqlParameter(PARM_RECKONINGID, SqlDbType.UniqueIdentifier), new SqlParameter(PARM_FILIALEID, SqlDbType.UniqueIdentifier), new SqlParameter(PARM_COMPANYID, SqlDbType.UniqueIdentifier), new SqlParameter(PARM_TRADECODE, SqlDbType.VarChar, 32), new SqlParameter(PARM_DATECREATED, SqlDbType.DateTime), new SqlParameter(PARM_DESCRIPTION, SqlDbType.VarChar, 256), new SqlParameter(PARM_ACCOUNTRECEIVABLE, SqlDbType.Float), new SqlParameter(PARM_NONCETOTALLED, SqlDbType.Float), new SqlParameter(PARM_RECKONINGTYPE, SqlDbType.Int), new SqlParameter(PARM_RECKONINGSTATE, SqlDbType.Int), new SqlParameter(PARM_AUDITINGSTATE, SqlDbType.Int), new SqlParameter("@AssumeFilialeId", reckoning.AssumeFilialeId) }; parms[0].Value = reckoning.ReckoningId; parms[1].Value = reckoning.FilialeId; parms[2].Value = reckoning.CompanyId; parms[3].Value = reckoning.TradeCode; parms[4].Value = reckoning.DateCreated; parms[5].Value = reckoning.Description; parms[6].Value = Math.Round(reckoning.AccountReceivable, 2); //硬性转换2位小数位 parms[7].Value = Math.Round(reckoning.NonceTotalled, 2); //硬性转换2位小数位 parms[8].Value = reckoning.ReckoningType; parms[9].Value = reckoning.ReckoningState; parms[10].Value = reckoning.AuditingState; try { return(SqlHelper.ExecuteNonQuery(GlobalConfig.ERP_DB_NAME, false, SQL_INSERT_RECKONING, parms)); } catch (Exception ex) { throw new ApplicationException(ex.Message); } }