📄 rulesfix.cs
字号:
//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 + -