/// <summary> /// get asset depre list /// <summary> /// <param name=accname>accname</param> /// <param name=out emsg>return error message</param> ///<returns>get a record detail of assetlist</returns> public BindingCollection <modAssetDepreList> GetDepreList(out string emsg) { try { BindingCollection <modAssetDepreList> modellist = new BindingCollection <modAssetDepreList>(); //Execute a query to read the categories string sql = "select acc_name,asset_id,asset_name,depre_method,depre_unit,net_mny,depre_mny,depre_qty,net_qty,remark,update_user,update_time from asset_depre_list order by asset_id, acc_name"; using (SqlDataReader rdr = SqlHelper.ExecuteReader(sql)) { while (rdr.Read()) { modAssetDepreList model = new modAssetDepreList(); model.AccName = dalUtility.ConvertToString(rdr["acc_name"]); model.AssetId = dalUtility.ConvertToString(rdr["asset_id"]); model.AssetName = dalUtility.ConvertToString(rdr["asset_name"]); model.DepreMethod = dalUtility.ConvertToString(rdr["depre_method"]); model.DepreUnit = dalUtility.ConvertToString(rdr["depre_unit"]); model.NetMny = dalUtility.ConvertToDecimal(rdr["net_mny"]); model.DepreMny = dalUtility.ConvertToDecimal(rdr["depre_mny"]); model.DepreQty = dalUtility.ConvertToDecimal(rdr["depre_qty"]); model.NetQty = dalUtility.ConvertToDecimal(rdr["net_qty"]); model.Remark = dalUtility.ConvertToString(rdr["remark"]); model.UpdateUser = dalUtility.ConvertToString(rdr["update_user"]); model.UpdateTime = dalUtility.ConvertToDateTime(rdr["update_time"]); modellist.Add(model); } } emsg = null; return(modellist); } catch (Exception ex) { emsg = dalUtility.ErrorMessage(ex.Message); return(null); } }
/// <summary> /// get asset depre list /// <summary> /// <param name=accname>accname</param> /// <param name=out emsg>return error message</param> ///<returns>get a record detail of assetlist</returns> public BindingCollection <modAssetDepreList> GetWaitDepreList(string accname, out string emsg) { try { BindingCollection <modAssetDepreList> modellist = new BindingCollection <modAssetDepreList>(); //Execute a query to read the categories string sql = "select asset_id,asset_name,depre_method,raw_qty,raw_mny,(raw_mny-last_mny) ttl_mny,depre_unit from asset_list where status<=1 order by asset_id"; using (SqlDataReader rdr = SqlHelper.ExecuteReader(sql)) { while (rdr.Read()) { modAssetDepreList model = new modAssetDepreList(); model.AccName = accname; model.AssetId = dalUtility.ConvertToString(rdr["asset_id"]); model.AssetName = dalUtility.ConvertToString(rdr["asset_name"]); model.DepreMethod = dalUtility.ConvertToString(rdr["depre_method"]); model.NetMny = Convert.ToDecimal(rdr["raw_mny"]) - GetDepreMny(model.AssetId, string.Empty); model.DepreUnit = dalUtility.ConvertToString(rdr["depre_unit"]); switch (model.DepreMethod) { case "平均年限法": model.NetQty = dalUtility.ConvertToDecimal(rdr["raw_qty"]); if (model.NetQty > 0) { model.DepreQty = 1; model.DepreMny = decimal.Round(Convert.ToDecimal(rdr["ttl_mny"]) / model.NetQty, 2); } break; case "双倍余额递减法": model.NetQty = dalUtility.ConvertToDecimal(rdr["raw_qty"]); if (model.NetQty > 0) { model.DepreMny = decimal.Round(Convert.ToDecimal(rdr["ttl_mny"]) * 2 / model.NetQty, 2); if (Convert.ToDecimal(rdr["ttl_mny"]) > 0) { model.DepreQty = decimal.Round(model.DepreMny * model.NetQty / Convert.ToDecimal(rdr["ttl_mny"]), 2); } } break; case "工作量法": dalAssetWorkQty dalwork = new dalAssetWorkQty(); modAssetWorkQty modwork = dalwork.GetItem(model.AssetId, model.AccName, out emsg); if (modwork == null) { emsg = model.AssetName + "未做工量设置"; return(null); } else { model.NetQty = dalUtility.ConvertToDecimal(rdr["raw_qty"]); if (model.NetQty > 0) { model.DepreQty = modwork.WorkQty; model.DepreMny = decimal.Round(Convert.ToDecimal(rdr["ttl_mny"]) * modwork.WorkQty / model.NetQty, 2); } } break; default: emsg = model.AssetName + "未设置折旧方法"; return(null); } if (model.DepreMny > model.NetMny) { model.DepreMny = model.NetMny; } modellist.Add(model); } } emsg = null; return(modellist); } catch (Exception ex) { emsg = dalUtility.ErrorMessage(ex.Message); return(null); } }