⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rulesfix.cs

📁 这是一个系统中使用的判断功能尖
💻 CS
📖 第 1 页 / 共 4 页
字号:
            //p_Conn.Add(daoCard);
            //p_Conn.Add(daoAssetsDetail);
            //p_Conn.Add(daoAssetsTotal);
            //p_Conn.Add(daoVarBill);

            //string wherePart = " CAL_ISFIXEND = '0' ";
            
            return result;
        }

        #endregion

        #region 帐簿报表

        #region 构造固定资产清单列表数据集 CreateDsAssetsCard
        /// <summary>
        /// 构造固定资产清单列表数据集
        /// </summary>
        /// <param name="pDsAssetsCard"></param>
        public DataSet CreateDsAssetsCard(DataSet pDsAssetsCard)
        {
            DataSet _ResultDs = new DataSet();
            //数字类型的列名称
            string[] _ColumnName1 ={ "资产数量", "资产原值", "累计折旧", "净资产","使用年限"};
            //字符类型的列名称
            string[] _ColumnName2 ={ "增加方式", "折旧方法", "录入日期","卡片编号","资产类别","部门名称","资产编号",
                                    "资产名称","规格型号","计量单位","设备位号","开始使用日期"};

            //添加数字列--添加默认值目的是为运算过程中避免出错(DBNULL)
            foreach (string _colName in _ColumnName1)
            {
                DataColumn _newCol   = new DataColumn();
                _newCol.DataType     = typeof(decimal);
                _newCol.DefaultValue = 0;
                _newCol.ColumnName   = _colName;

                _ResultDs.Tables[0].Columns.Add(_newCol);
            }

            //添加字符类型的列
            foreach (string _colName in _ColumnName2)
            {
                _ResultDs.Tables[0].Columns.Add(_colName,typeof(string));
            }

            return _ResultDs;
            
        }
        #endregion

        #region 根据折旧方法编号获取对应的折旧名称 GetDeprMethodName
        /// <summary>
        /// 根据折旧方法编号获取对应的折旧名称
        /// </summary>
        /// <param name="pDeprMethodType">折旧方法编号</param>
        /// <returns></returns>
        public string GetDeprMethodName(string pDeprMethodType)
        {
            string _DeprMethType = "";

            switch (_DeprMethType)
            {
                case "01":
                    _DeprMethType = "不计提折旧";
                    break;
                case "02":
                    _DeprMethType = "平均年限法(依净资产计提折旧)";
                    break;
                case "03":
                    _DeprMethType = "平均年限法(依帐面原值计提折旧)";
                    break;
                case "04":
                    _DeprMethType = "工作量法";
                    break;
                case "05":
                    _DeprMethType = "固定折旧额折旧法";
                    break;
                case "06":
                    _DeprMethType = "年数总和法";
                    break;
                case "07":
                    _DeprMethType = "双倍余额法";
                    break;
            }

            return _DeprMethType;
        }
        #endregion

        #region 构造固定资产总帐列表数据集 CreateDsAssetsTotal
        /// <summary>
        /// 构造固定资产总帐列表数据集
        /// </summary>
        /// <param name="pDsAssetsTotal">原来资产汇总表</param>
        public DataSet CreateDsAssetsTotal(DataSet pDsAssetsTotal)
        {
            DataSet _ResultDs = new DataSet();
            //数字类型的列名称
            string[] _ColumnName1 ={ "会计期间", "期初资产原值", "资产原值借方", "资产原值贷方", "资产原值余额","期初累计折旧","累计折旧借方","累计折旧贷方","累计折旧余额","净资产" };


            //添加数字列--添加默认值目的是为运算过程中避免出错(DBNULL)
            foreach (string _colName in _ColumnName1)
            {
                DataColumn _newCol = new DataColumn();
                _newCol.DataType = typeof(decimal);
                _newCol.DefaultValue = 0;
                _newCol.ColumnName = _colName;

                _ResultDs.Tables[0].Columns.Add(_newCol);
            }

            return _ResultDs;

        }
        #endregion

        #region 构造固定资产明细列表数据集 CreateDsAssetsDetailList
        /// <summary>
        /// 构造固定资产明细列表数据集
        /// </summary>
        /// <param name="pDsAssetsTotal">原来资产汇总表</param>
        /// <param name="pIsOutPutTotal">判断是否添加合计行</param>
        public void CreateDsAssetsDetailList(DataSet pDsAssetsDetailList, bool pIsOutPutTotal)
        {           
            //数字类型的列名称
            string[] _ColumnName1 ={ "资产原值借方", "资产原值贷方", "资产原值余额", "累计折旧贷方", "累计折旧借方", "累计折旧余额", "净资产"};


            //添加数字列--添加默认值目的是为运算过程中避免出错(DBNULL)
            foreach (string _colName in _ColumnName1)
            {
                if (!pDsAssetsDetailList.Tables[0].Columns.Contains(_colName))
                {
                    DataColumn _newCol = new DataColumn();
                    _newCol.DataType = typeof(decimal);
                    _newCol.DefaultValue = 0;
                    _newCol.ColumnName = _colName;

                    pDsAssetsDetailList.Tables[0].Columns.Add(_newCol);
                }
            }

            if (pIsOutPutTotal)
            {
                //添加合计行(此目的是为了方便计算最后的合计)
                DataRow _newRowTotal = pDsAssetsDetailList.Tables[0].NewRow();
                _newRowTotal["VarBill_Period"] = 999;//临时使用( 代表最后行)
                pDsAssetsDetailList.Tables[0].Rows.Add(_newRowTotal);
            }

            pDsAssetsDetailList.AcceptChanges();

        }
        #endregion

        #region 设置合计行的数据 SetTotalRowData
        /// <summary>
        /// 设置合计行的数据
        /// </summary>
        /// <param name="pNewTotalRow">添加的统计合计行</param>
        /// <param name="pdsTatal">资产明细表数据集</param>
        public void SetTotalRowData(DataRow pNewTotalRow, DataSet pdsTatal)
        {
            //统计合计行的数据
            foreach (DataRow _TempRow in pdsTatal.Tables[0].Rows)
            {
                pNewTotalRow["Card_Code"] = "本期合计";

                decimal _DetailEndValue = Convert.ToDecimal(_TempRow["AssetsDetail_EndValue"]) - Convert.ToDecimal(_TempRow["AssetsDetail_StartValue"]);
                if (_DetailEndValue > 0)
                {
                    //累计添加
                    pNewTotalRow["资产原值借方"] = Convert.ToDecimal(pNewTotalRow["资产原值借方"]) + Math.Abs(_DetailEndValue);
                }
                else
                {
                    if (_DetailEndValue != 0)
                    {
                        pNewTotalRow["资产原值贷方"] = Math.Abs(_DetailEndValue);
                    }
                }

                pNewTotalRow["资产原值余额"] = Convert.ToDecimal(pNewTotalRow["资产原值余额"]) + Convert.ToDecimal(_TempRow["AssetsDetail_EndValue"]);

                //期末累计折旧-月折旧额 < 期初累计折旧
                if ((Convert.ToDecimal(_TempRow["AssetsDetail_EndDeprSum"]) - Convert.ToDecimal(_TempRow["AssetsDetail_MonthDepr"])) < Convert.ToDecimal(_TempRow["AssetsDetail_StartDeprSum"]))
                {
                    decimal _DetailDeprSum = Convert.ToDecimal(_TempRow["AssetsDetail_MonthDepr"]) + Convert.ToDecimal(_TempRow["AssetsDetail_StartDeprSum"]) - Convert.ToDecimal(_TempRow["AssetsDetail_EndDeprSum"]);
                    //累计添加
                    pNewTotalRow["累计折旧借方"] = Convert.ToDecimal(pNewTotalRow["累计折旧借方"]) + _DetailDeprSum;
                }

                if (Convert.ToDecimal(_TempRow["AssetsDetail_MonthDepr"]) > 0)
                {
                    //累计添加
                    pNewTotalRow["累计折旧贷方"] = Convert.ToDecimal(pNewTotalRow["累计折旧贷方"]) + Convert.ToDecimal(_TempRow["AssetsDetail_MonthDepr"]);
                }

                pNewTotalRow["累计折旧余额"] = Convert.ToDecimal(pNewTotalRow["累计折旧余额"]) + Convert.ToDecimal(_TempRow["AssetsDetail_EndDeprSum"]);
                pNewTotalRow["净资产"] = Convert.ToDecimal(pNewTotalRow["资产原值余额"]) - Convert.ToDecimal(pNewTotalRow["累计折旧余额"]);
            }
        }
        #endregion

        #region 设置资产明细表行的数据 SetRowData
        /// <summary>
        /// 设置资产明细表行的数据
        /// </summary>
        /// <param name="pDetailRow">资产明细表的数据行</param>        
        public void SetRowData(DataRow pDetailRow)
        {
            if (Convert.ToDecimal(pDetailRow["VarBill_After_OriValue"]) > Convert.ToDecimal(pDetailRow["VarBill_Before_OriValue"]))
            {
                pDetailRow["资产原值借方"] = Math.Abs(Convert.ToDecimal(pDetailRow["VarBill_After_OriValue"]) - Convert.ToDecimal(pDetailRow["VarBill_Before_OriValue"]));
            }
            else
            {
                pDetailRow["资产原值贷方"] = Math.Abs(Convert.ToDecimal(pDetailRow["VarBill_After_OriValue"]) - Convert.ToDecimal(pDetailRow["VarBill_Before_OriValue"]));
            }

            pDetailRow["资产原值余额"] = pDetailRow["VarBill_After_OriValue"];

            if (Convert.ToDecimal(pDetailRow["VarBill_After_DperSum"]) > Convert.ToDecimal(pDetailRow["VarBill_Before_DperSum"]))
            {
                pDetailRow["累计折旧贷方"] = Math.Abs(Convert.ToDecimal(pDetailRow["VarBill_After_DperSum"]) - Convert.ToDecimal(pDetailRow["VarBill_Before_DperSum"]));
            }
            else
            {
                pDetailRow["累计折旧借方"] = Math.Abs(Convert.ToDecimal(pDetailRow["VarBill_After_DperSum"]) - Convert.ToDecimal(pDetailRow["VarBill_Before_DperSum"]));
            }


            pDetailRow["累计折旧余额"] = pDetailRow["VarBill_After_DperSum"];
            pDetailRow["净资产"] = Convert.ToDecimal(pDetailRow["VarBill_After_OriValue"]) - Convert.ToDecimal(pDetailRow["VarBill_After_DperSum"]);
        }
        #endregion

        #endregion
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -