예제 #1
0
        /// <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);
        }
예제 #2
0
        // 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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        // 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);
            }
        }