using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using log4net;
using System.IO;
using System.Net;
using System.Text;
using DSWeb.Common.DB;
namespace DSWeb.Common.DB
{
public class ChFeeHelper
{
///
/// 获取一个新的费用对象
///
/// BSNO
/// 结算对象
/// 收付方向
/// 费用名称
/// 金额
/// 数量
///
public static ch_fee_md getChFee(string USERID, string BSNO, string CUSTOMERNAME, int FEETYPE, string FEENAME, decimal AMOUNT, string UNIT, decimal QUANTITY = 1, string SALE = "", string remark = "",string FEEGROUP="")
{
var result = getNewChfee();
result.BSNO = BSNO;
result.CUSTOMERNAME = CUSTOMERNAME;
result.FEETYPE = FEETYPE;
result.AMOUNT = AMOUNT;
result.QUANTITY = QUANTITY;
result.FEENAME = FEENAME;
result.ENTEROPERATOR = USERID;
result.ENTERDATE = DateTime.Now;
result.MODIFIEDUSER = USERID;
result.MODIFIEDTIME = DateTime.Now;
result.CURRENCY = "RMB";
result.LOCALCURR = "RMB";
result.EXCHANGERATE = 1M;
result.UNIT = UNIT;
result.MANAGER = SALE;
result.REMARK = remark;
result.FEEGROUP = FEEGROUP;
CommonDataContext cdc = new CommonDataContext();
var codefeelist = cdc.code_fee.Where(x => 1 == 1).ToList();
result.setTax(codefeelist);
return result;
}
public static ch_fee_md getchfeeHelper()
{
var feeShou = new ch_fee_md();
//2021-12-31,要求下列字段不能为空,填写0或false
feeShou.COMMISSIONRATE = 0;
feeShou.AUDITSTATUS = 0;
feeShou.LINENUM = 0;
feeShou.ISDEBIT = false;
feeShou.ISOPEN = false;
feeShou.ACCTAXRATE = 0;
feeShou.ISVOU = false;
feeShou.TAX = 0;
feeShou.PREAMOUNT = 0;
feeShou.ISACC = false;
feeShou.CUSTDUI = false;
feeShou.SETTLEMENT = 0;
feeShou.ORDERAMOUNT = 0;
feeShou.ORDERINVOICE = 0;
feeShou.ORDERINVSETTLEMENT = 0;
feeShou.ORDERSETTLEMENT = 0;
feeShou.INVOICE = 0;
feeShou.TAXRATE = 0;
feeShou.ISADVANCEDPAY = false;
feeShou.ISINVOICE = false;
feeShou.ISCRMORDERFEE = false;
feeShou.TAXUNITPRICE = 0;//2021-12-29,于菲:同样赋值单价和金额
feeShou.NOTAXAMOUNT = 0;//2021-12-29,于菲:同样赋值单价和金额
feeShou.FEESTATUS = 1;
return feeShou;
}
public static ch_fee_md getNewChfee()
{
var result = getchfeeHelper();
result.GID = Guid.NewGuid().ToString();
result.WMSOUTBSNO = "";
return result;
}
public static void setTax(ref ch_fee_md ch_fee)
{
var taxrateb = 1 + ch_fee.TAXRATE / 100;
ch_fee.NOTAXAMOUNT = ch_fee.AMOUNT / taxrateb;
ch_fee.TAX = ch_fee.AMOUNT - ch_fee.NOTAXAMOUNT;
if (ch_fee.QUANTITY > 0)
{
//ch_fee.UNITPRICE = Math.Round((decimal)(ch_fee.NOTAXAMOUNT / ch_fee.QUANTITY),2);
//ch_fee.TAXUNITPRICE = Math.Round((decimal)(ch_fee.AMOUNT / ch_fee.QUANTITY),2);
ch_fee.UNITPRICE = ch_fee.NOTAXAMOUNT / ch_fee.QUANTITY;
ch_fee.TAXUNITPRICE = ch_fee.AMOUNT / ch_fee.QUANTITY;
}
else
{
ch_fee.UNITPRICE = ch_fee.NOTAXAMOUNT;
ch_fee.TAXUNITPRICE = ch_fee.AMOUNT;
}
if (ch_fee.ACCTAXRATE == null)
{
ch_fee.ACCTAXRATE = ch_fee.TAXRATE;
}
}
}
}