|
|
using System;
|
|
|
using System.Data;
|
|
|
using System.Data.SqlClient;
|
|
|
using WebSqlHelper;
|
|
|
using DSWeb.Models;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
namespace DSWeb.EntityDA
|
|
|
{
|
|
|
public class FeeDoDA
|
|
|
{
|
|
|
private string PARM_FEE_DO_GID = "@gid";
|
|
|
private string PARM_FEE_DO_BILL_NO = "@bill_no";
|
|
|
private string PARM_FEE_DO_BSNO = "@bsno";
|
|
|
private string PARM_FEE_DO_MBL_NO = "@mbl_no";
|
|
|
private string PARM_FEE_DO_HBL_NO = "@nbl_no";
|
|
|
private string PARM_FEE_DO_CUSTOMER_NAME = "@customer_name";
|
|
|
private string PARM_FEE_DO_BSTYPE = "@bs_type";
|
|
|
private string PARM_FEE_DO_FEE_ID = "@fee_id";
|
|
|
private string PARM_FEE_DO_FEE_NAME = "@fee_name";
|
|
|
private string PARM_FEE_DO_CURRENCY = "@currency";
|
|
|
private string PARM_FEE_DO_AMOUNT = "@amount";
|
|
|
private string PARM_FEE_DO_DO_AMOUNT = "@do_amount";
|
|
|
private string PARM_FEE_DO_FEE_TYPE = "@fee_type";
|
|
|
private string PARM_FEE_DO_CATEGORY = "@category";
|
|
|
private string PARM_FEE_DO_BILL_STATUS = "@bill_status";
|
|
|
private string PARM_FEE_DO_REMARK = "@remark";
|
|
|
//private string PARM_FEE_DO_IS_DELETE = "@is_delete";
|
|
|
//private string PARM_FEE_DO_DELETE_USER = "@delete_user";
|
|
|
//private string PARM_FEE_DO_DELETE_TIME = "@delete_time";
|
|
|
private string PARM_FEE_DO_INVOICE_SETTLE_NO = "@invoice_settle_no";
|
|
|
|
|
|
private string PARM_FEE_SETTLEMENT_GID = "@gid";
|
|
|
private string PARM_FEE_SETTLEMENT_BILL_NO = "@bill_no";
|
|
|
//private string PARM_FEE_SETTLEMENT_BILL_DATE = "@bill_date";
|
|
|
private string PARM_FEE_SETTLEMENT_SETTLE_MODE = "@settle_mode";
|
|
|
private string PARM_FEE_SETTLEMENT_CUSTOMER_NAME = "@customer_name";
|
|
|
private string PARM_FEE_SETTLEMENT_SETTLE_TYPE = "@settle_type";
|
|
|
private string PARM_FEE_SETTLEMENT_AMOUNT_RMB = "@amount_rmb";
|
|
|
private string PARM_FEE_SETTLEMENT_ACCOUNT_RMB = "@account_rmb";
|
|
|
private string PARM_FEE_SETTLEMENT_RATE = "@rate";
|
|
|
private string PARM_FEE_SETTLEMENT_AMOUNT_USD = "@amount_usd";
|
|
|
private string PARM_FEE_SETTLEMENT_ACCOUNT_USD = "@account_usd";
|
|
|
private string PARM_FEE_SETTLEMENT_BILL_TYPE = "@bill_type";
|
|
|
private string PARM_FEE_SETTLEMENT_VOUCHER_NO = "@voucher_no";
|
|
|
private string PARM_FEE_SETTLEMENT_SETTLE_USER = "@settle_user";
|
|
|
//private string PARM_FEE_SETTLEMENT_SETTLE_TIME = "@settle_time";
|
|
|
//private string PARM_FEE_SETTLEMENT_AUDIT_USER = "@audit_user";
|
|
|
//private string PARM_FEE_SETTLEMENT_AUDIT_TIME = "@audit_time";
|
|
|
private string PARM_FEE_SETTLEMENT_IS_EXPORT = "@is_export";
|
|
|
private string PARM_FEE_SETTLEMENT_FINANCIAL_VOUCHER = "@financial_voucher";
|
|
|
private string PARM_FEE_SETTLEMENT_BILL_STATUS = "@bill_status";
|
|
|
private string PARM_FEE_SETTLEMENT_REMARK = "@remark";
|
|
|
|
|
|
//private string PARM_FEE_GID = "@gid";
|
|
|
//private string PARM_FEE_STATUS = "@fee_status";
|
|
|
private string PARM_FEE_SETTLEMENT = "@settlement";
|
|
|
private string PARM_FEE_CHEQUE_NUM = "@cheque_num";
|
|
|
|
|
|
//ch_fee_invoice
|
|
|
private const string PARM_INVOICE_GID = "@gid";
|
|
|
private const string PARM_INVOICE_IS_NEED_FEE = "@is_need_fee";
|
|
|
//ch_fee_recvamount
|
|
|
private const string PARM_RECEIVE_AMOUNT_GID = "@gid";
|
|
|
private const string PARM_RECEIVE_AMOUNT_DO_AMOUNT = "@do_amount";
|
|
|
private const string PARM_RECEIVE_AMOUNT_SETTLE_USER = "@settle_user";
|
|
|
|
|
|
//ch_fee_verification
|
|
|
private const string PARM_VERIFICATION_GID = "@gid";
|
|
|
private const string PARM_VERIFICATION_BILL_NO = "@bill_no";
|
|
|
private const string PARM_VERIFICATION_SETTLE_TIME = "@settle_time";
|
|
|
private const string PARM_VERIFICATION_RECV_AMOUNT_ID = "@recvamount_id";
|
|
|
private const string PARM_VERIFICATION_SETTLE_USER = "@settle_user";
|
|
|
|
|
|
//private string SQL_SELECT_FEE_DO = "";
|
|
|
|
|
|
private string SQL_SELECT_GETDATE = "SELECT GETDATE()";
|
|
|
private string SQL_INSERT_FEE_DO = " INSERT INTO ch_fee_do(GID,BILLNO,BSNO,MBLNO,HBLNO,CUSTOMERNAME,BSTYPE,FEEID,FEENAME,CURRENCY,AMOUNT,DOAMOUNT,FEETYPE,CATEGORY,BILLSTATUS,REMARK,INVOICESETTLENO) "
|
|
|
+ " VALUES(@gid,@bill_no,@bsno,@mbl_no,@nbl_no,@customer_name,@bs_type,@fee_id,@fee_name,@currency,@amount,@do_amount,@fee_type,@category,@bill_status,@remark,@invoice_settle_no) ";
|
|
|
|
|
|
private string SQL_SELECT_FEE_DO_BY_BILLNO = "SELECT GID,BILLNO,BSNO,MBLNO,HBLNO,CUSTOMERNAME,BSTYPE,FEEID,FEENAME,CURRENCY,AMOUNT,DOAMOUNT,FEETYPE,CATEGORY,BILLSTATUS,REMARK,ORIGCURRENCY,EXCHANGERATE,ISDELETED,INVOICESETTLENO,COMPANYID,ORIGAMOUNT FROM ch_fee_do WHERE BILLNO = @bill_no AND CATEGORY <> 7 order by bsno,feename";//申请发票
|
|
|
|
|
|
private string SQL_SELECT_FEE_DO_BY_BILLNO2 = "SELECT GID,BILLNO,BSNO,MBLNO,HBLNO,CUSTOMERNAME,BSTYPE,FEEID,FEENAME,CURRENCY,AMOUNT,DOAMOUNT,FEETYPE,CATEGORY,BILLSTATUS,REMARK,ORIGCURRENCY,EXCHANGERATE,ISDELETED,INVOICESETTLENO,COMPANYID,ORIGAMOUNT FROM ch_fee_do WHERE BILLNO = @bill_no AND CATEGORY = 7";//自由发票
|
|
|
|
|
|
//private string SQL_UPDATE_FEE = "UPDATE ch_fee SET SETTLEMENT = @settlement,FEESTATUS = @fee_status WHERE GID = @gid";
|
|
|
|
|
|
private string SQL_UPDATE_FEE = " UPDATE ch_fee SET ch_fee.SETTLEMENT = ch_fee.SETTLEMENT+@settlement,ch_fee.FEESTATUS = C.FEESTATUS,ch_fee.CHEQUENUM = @cheque_num "
|
|
|
+ " FROM "
|
|
|
+ " (SELECT A.GID,CASE WHEN B.AMOUNT < A.AMOUNT THEN CASE WHEN B.AMOUNT+A.SETTLEMENT = A.AMOUNT THEN 9 ELSE 8 END ELSE "
|
|
|
+ " CASE WHEN B.AMOUNT = A.AMOUNT THEN 9 END END as FEESTATUS FROM ch_fee as A INNER JOIN ch_fee_do as B ON A.GID = B.FEEID WHERE B.GID = @gid) as C "
|
|
|
+ " WHERE C.GID = ch_fee.GID ";
|
|
|
private string SQL_UPDATE_INVOICE = "UPDATE ch_fee_invoice SET ISNEEDFEE = @is_need_fee WHERE GID = @gid";
|
|
|
|
|
|
private string SQL_UPDATE_RECEIVE_AMOUNT = " UPDATE ch_fee_recvamount SET DOAMOUNT = ISNULL(DOAMOUNT,0)+@do_amount,SETTLETIME = GETDATE(),SETTLEUSER = @settle_user WHERE GID = @gid ";
|
|
|
|
|
|
private string SQL_UPDATE_RECEIVE_AMOUNT_FINISH = " UPDATE ch_fee_recvamount SET ISFINISH = A.ISFINISH FROM (SELECT GID,CASE WHEN ISNULL(RECVAMOUNT,0) = ISNULL(DOAMOUNT,0) THEN 1 ELSE 0 END AS ISFINISH "
|
|
|
+ " FROM ch_fee_recvamount WHERE GID = @gid) as A WHERE ch_fee_recvamount.GID = A.GID ";
|
|
|
|
|
|
private string SQL_INSERT_CH_FEE_VERIFICATION = " INSERT INTO ch_fee_verification(GID,BILLNO,SETTLETIME,RECVAMOUNTID,SETTLEUSER) VALUES(@gid,@bill_no,GETDATE(),@recvamount_id,@settle_user)";
|
|
|
public DateTime getServerDateTime()
|
|
|
{
|
|
|
DateTime nowDateTime = new DateTime();
|
|
|
|
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_GETDATE, null))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
while (sqlRead.Read())
|
|
|
{
|
|
|
if (!sqlRead.IsDBNull(0))
|
|
|
{
|
|
|
nowDateTime = sqlRead.GetDateTime(0);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception execError)
|
|
|
{
|
|
|
throw execError;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return nowDateTime;
|
|
|
}
|
|
|
|
|
|
public DataSet GetExcuteSql(string strSql)
|
|
|
{
|
|
|
DataSet tempSet = new DataSet();
|
|
|
|
|
|
tempSet = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql);
|
|
|
return tempSet;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// (去掉已结算的)chFeeDo
|
|
|
/// </summary>
|
|
|
/// <param name="tempBillNO"></param>
|
|
|
/// <returns></returns>
|
|
|
public IList<FeeDoEntity> GetFeeDoByBillNO_DelCRDR(string tempBillNO)
|
|
|
{
|
|
|
//初始化返回变量
|
|
|
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
|
|
|
string SQL_SELECT_FEE_DO_BY_BILLNO_DelCRDR = "SELECT GID,BILLNO,BSNO,MBLNO,HBLNO,CUSTOMERNAME,BSTYPE,FEEID,FEENAME,CURRENCY,AMOUNT,DOAMOUNT,FEETYPE,CATEGORY,BILLSTATUS,REMARK,ORIGCURRENCY,EXCHANGERATE,ISDELETED,INVOICESETTLENO,COMPANYID,ORIGAMOUNT FROM ch_fee_do WHERE BILLNO = '" + tempBillNO + "' AND CATEGORY <> 7 "
|
|
|
//+ " and feeid not in (select feeid from ch_fee_do where (billno like '%CR%' or billno like '%DR%') and (ISDELETED is null or ISDELETED=0) and AMOUNT=DOAMOUNT) "
|
|
|
+ " and feeid not in (select f.gid from (select feeid,sum(AMOUNT) as AMOUNT from (select feeid,AMOUNT from ch_fee_do where (billno like '%CR%' or billno like '%DR%') and (ISDELETED is null or ISDELETED=0) and AMOUNT=DOAMOUNT ) as a group by a.feeid) as d LEFT OUTER JOIN ch_fee as f on f.gid=d.feeid where f.AMOUNT=d.AMOUNT) "//2014-03-03修改
|
|
|
+ " order by bsno,feename";//申请发票
|
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_FEE_DO_BY_BILLNO_DelCRDR, null))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
//读取字段值
|
|
|
while (sqlRead.Read())
|
|
|
{
|
|
|
FeeDoEntity feeDoEntity = new FeeDoEntity();
|
|
|
if (!sqlRead.IsDBNull(0))
|
|
|
{
|
|
|
feeDoEntity.GID = sqlRead.GetString(0);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(1))
|
|
|
{
|
|
|
feeDoEntity.BillNO = sqlRead.GetString(1);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(2))
|
|
|
{
|
|
|
feeDoEntity.BSNO = sqlRead.GetString(2);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(3))
|
|
|
{
|
|
|
feeDoEntity.MBLNO = sqlRead.GetString(3);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(4))
|
|
|
{
|
|
|
feeDoEntity.HBLNO = sqlRead.GetString(4);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(5))
|
|
|
{
|
|
|
feeDoEntity.CustomerName = sqlRead.GetString(5);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(6))
|
|
|
{
|
|
|
feeDoEntity.BSType = sqlRead.GetInt32(6);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(7))
|
|
|
{
|
|
|
feeDoEntity.FeeID = sqlRead.GetString(7);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(8))
|
|
|
{
|
|
|
feeDoEntity.FeeName = sqlRead.GetString(8);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(9))
|
|
|
{
|
|
|
feeDoEntity.Currency = sqlRead.GetString(9);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(10))
|
|
|
{
|
|
|
feeDoEntity.Amount = sqlRead.GetDecimal(10);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(11))
|
|
|
{
|
|
|
feeDoEntity.DoAmount = sqlRead.GetDecimal(11);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(12))
|
|
|
{
|
|
|
feeDoEntity.FeeType = sqlRead.GetInt32(12);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(13))
|
|
|
{
|
|
|
feeDoEntity.Category = sqlRead.GetInt32(13);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(14))
|
|
|
{
|
|
|
feeDoEntity.BillStatus = sqlRead.GetInt32(14);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(15))
|
|
|
{
|
|
|
feeDoEntity.Remark = sqlRead.GetString(15);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(16))
|
|
|
{
|
|
|
feeDoEntity.OrigCurrency = sqlRead.GetString(16);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(17))
|
|
|
{
|
|
|
feeDoEntity.ExchangeRate = sqlRead.GetDecimal(17);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(18))
|
|
|
{
|
|
|
feeDoEntity.IsDeleted = sqlRead.GetBoolean(18);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(19))
|
|
|
{
|
|
|
feeDoEntity.InvoiceSettleNO = sqlRead.GetString(19);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(20))
|
|
|
{
|
|
|
feeDoEntity.CompanyID = sqlRead.GetString(20);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(21))
|
|
|
{
|
|
|
feeDoEntity.OriginalFeeCSTL = sqlRead.GetDecimal(21);//ORIGAMOUNT
|
|
|
}
|
|
|
//,DELETEUSER,DELETETIME,,
|
|
|
feeDoEntities.Add(feeDoEntity);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception exceError)
|
|
|
{
|
|
|
//抛出异常
|
|
|
throw exceError;
|
|
|
}
|
|
|
}
|
|
|
return feeDoEntities;
|
|
|
}
|
|
|
|
|
|
public IList<FeeDoEntity> GetFeeDoByBillNO(string tempBillNO)
|
|
|
{
|
|
|
//初始化返回变量
|
|
|
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
|
|
|
//初始化参数并赋值
|
|
|
SqlParameter parm = new SqlParameter(PARM_FEE_DO_BILL_NO, SqlDbType.VarChar, 20);
|
|
|
parm.Value = tempBillNO;
|
|
|
|
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_FEE_DO_BY_BILLNO, parm))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
//读取字段值
|
|
|
while (sqlRead.Read())
|
|
|
{
|
|
|
FeeDoEntity feeDoEntity = new FeeDoEntity();
|
|
|
if (!sqlRead.IsDBNull(0))
|
|
|
{
|
|
|
feeDoEntity.GID = sqlRead.GetString(0);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(1))
|
|
|
{
|
|
|
feeDoEntity.BillNO = sqlRead.GetString(1);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(2))
|
|
|
{
|
|
|
feeDoEntity.BSNO = sqlRead.GetString(2);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(3))
|
|
|
{
|
|
|
feeDoEntity.MBLNO = sqlRead.GetString(3);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(4))
|
|
|
{
|
|
|
feeDoEntity.HBLNO = sqlRead.GetString(4);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(5))
|
|
|
{
|
|
|
feeDoEntity.CustomerName = sqlRead.GetString(5);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(6))
|
|
|
{
|
|
|
feeDoEntity.BSType = sqlRead.GetInt32(6);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(7))
|
|
|
{
|
|
|
feeDoEntity.FeeID = sqlRead.GetString(7);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(8))
|
|
|
{
|
|
|
feeDoEntity.FeeName = sqlRead.GetString(8);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(9))
|
|
|
{
|
|
|
feeDoEntity.Currency = sqlRead.GetString(9);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(10))
|
|
|
{
|
|
|
feeDoEntity.Amount = sqlRead.GetDecimal(10);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(11))
|
|
|
{
|
|
|
feeDoEntity.DoAmount = sqlRead.GetDecimal(11);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(12))
|
|
|
{
|
|
|
feeDoEntity.FeeType = sqlRead.GetInt32(12);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(13))
|
|
|
{
|
|
|
feeDoEntity.Category = sqlRead.GetInt32(13);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(14))
|
|
|
{
|
|
|
feeDoEntity.BillStatus = sqlRead.GetInt32(14);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(15))
|
|
|
{
|
|
|
feeDoEntity.Remark = sqlRead.GetString(15);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(16))
|
|
|
{
|
|
|
feeDoEntity.OrigCurrency = sqlRead.GetString(16);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(17))
|
|
|
{
|
|
|
feeDoEntity.ExchangeRate = sqlRead.GetDecimal(17);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(18))
|
|
|
{
|
|
|
feeDoEntity.IsDeleted = sqlRead.GetBoolean(18);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(19))
|
|
|
{
|
|
|
feeDoEntity.InvoiceSettleNO = sqlRead.GetString(19);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(20))
|
|
|
{
|
|
|
feeDoEntity.CompanyID = sqlRead.GetString(20);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(21))
|
|
|
{
|
|
|
feeDoEntity.OriginalFeeCSTL = sqlRead.GetDecimal(21);//ORIGAMOUNT
|
|
|
}
|
|
|
//,DELETEUSER,DELETETIME,,
|
|
|
feeDoEntities.Add(feeDoEntity);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception exceError)
|
|
|
{
|
|
|
//抛出异常
|
|
|
throw exceError;
|
|
|
}
|
|
|
}
|
|
|
return feeDoEntities;
|
|
|
}
|
|
|
|
|
|
public IList<FeeDoEntity> GetFeeDoByBillNO2(string tempBillNO)
|
|
|
{
|
|
|
//初始化返回变量
|
|
|
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
|
|
|
//初始化参数并赋值
|
|
|
SqlParameter parm = new SqlParameter(PARM_FEE_DO_BILL_NO, SqlDbType.VarChar, 20);
|
|
|
parm.Value = tempBillNO;
|
|
|
|
|
|
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_FEE_DO_BY_BILLNO2, parm))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
//读取字段值
|
|
|
while (sqlRead.Read())
|
|
|
{
|
|
|
FeeDoEntity feeDoEntity = new FeeDoEntity();
|
|
|
if (!sqlRead.IsDBNull(0))
|
|
|
{
|
|
|
feeDoEntity.GID = sqlRead.GetString(0);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(1))
|
|
|
{
|
|
|
feeDoEntity.BillNO = sqlRead.GetString(1);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(2))
|
|
|
{
|
|
|
feeDoEntity.BSNO = sqlRead.GetString(2);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(3))
|
|
|
{
|
|
|
feeDoEntity.MBLNO = sqlRead.GetString(3);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(4))
|
|
|
{
|
|
|
feeDoEntity.HBLNO = sqlRead.GetString(4);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(5))
|
|
|
{
|
|
|
feeDoEntity.CustomerName = sqlRead.GetString(5);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(6))
|
|
|
{
|
|
|
feeDoEntity.BSType = sqlRead.GetInt32(6);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(7))
|
|
|
{
|
|
|
feeDoEntity.FeeID = sqlRead.GetString(7);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(8))
|
|
|
{
|
|
|
feeDoEntity.FeeName = sqlRead.GetString(8);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(9))
|
|
|
{
|
|
|
feeDoEntity.Currency = sqlRead.GetString(9);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(10))
|
|
|
{
|
|
|
feeDoEntity.Amount = sqlRead.GetDecimal(10);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(11))
|
|
|
{
|
|
|
feeDoEntity.DoAmount = sqlRead.GetDecimal(11);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(12))
|
|
|
{
|
|
|
feeDoEntity.FeeType = sqlRead.GetInt32(12);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(13))
|
|
|
{
|
|
|
feeDoEntity.Category = sqlRead.GetInt32(13);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(14))
|
|
|
{
|
|
|
feeDoEntity.BillStatus = sqlRead.GetInt32(14);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(15))
|
|
|
{
|
|
|
feeDoEntity.Remark = sqlRead.GetString(15);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(16))
|
|
|
{
|
|
|
feeDoEntity.OrigCurrency = sqlRead.GetString(16);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(17))
|
|
|
{
|
|
|
feeDoEntity.ExchangeRate = sqlRead.GetDecimal(17);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(18))
|
|
|
{
|
|
|
feeDoEntity.IsDeleted = sqlRead.GetBoolean(18);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(19))
|
|
|
{
|
|
|
feeDoEntity.InvoiceSettleNO = sqlRead.GetString(19);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(20))
|
|
|
{
|
|
|
feeDoEntity.CompanyID = sqlRead.GetString(20);
|
|
|
}
|
|
|
if (!sqlRead.IsDBNull(21))
|
|
|
{
|
|
|
feeDoEntity.OriginalFeeCSTL = sqlRead.GetDecimal(21);//ORIGAMOUNT
|
|
|
}
|
|
|
//,DELETEUSER,DELETETIME,,
|
|
|
feeDoEntities.Add(feeDoEntity);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception exceError)
|
|
|
{
|
|
|
//抛出异常
|
|
|
throw exceError;
|
|
|
}
|
|
|
}
|
|
|
return feeDoEntities;
|
|
|
}
|
|
|
|
|
|
public int InsertFeeDo(IList<FeeDoEntity> tempFeeDoEntities, IList<FeeSettlementEntity> tempFeeSettlementEntities)
|
|
|
{
|
|
|
int iResult = 0;
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
foreach (FeeDoEntity feeDoEntity in tempFeeDoEntities)
|
|
|
{
|
|
|
SqlParameter[] parms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSNO, SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_MBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_HBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSTYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_ID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_NAME,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_CURRENCY,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_CATEGORY,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_INVOICE_SETTLE_NO,SqlDbType.VarChar,20)
|
|
|
};
|
|
|
|
|
|
parms[0].Value = feeDoEntity.GID;
|
|
|
parms[1].Value = feeDoEntity.BillNO;
|
|
|
parms[2].Value = feeDoEntity.BSNO;
|
|
|
parms[3].Value = feeDoEntity.MBLNO;
|
|
|
parms[4].Value = feeDoEntity.HBLNO;
|
|
|
parms[5].Value = feeDoEntity.CustomerName;
|
|
|
parms[6].Value = feeDoEntity.BSType;
|
|
|
parms[7].Value = feeDoEntity.FeeID;
|
|
|
parms[8].Value = feeDoEntity.FeeName;
|
|
|
parms[9].Value = feeDoEntity.Currency;
|
|
|
parms[10].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
parms[11].Value = feeDoEntity.DoAmount;
|
|
|
parms[12].Value = feeDoEntity.FeeType;
|
|
|
parms[13].Value = feeDoEntity.Category;
|
|
|
parms[14].Value = feeDoEntity.BillStatus;
|
|
|
parms[15].Value = feeDoEntity.Remark;
|
|
|
parms[16].Value = "";
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_DO, parms);
|
|
|
|
|
|
SqlParameter[] feeParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_CHEQUE_NUM,SqlDbType.VarChar,200)
|
|
|
};
|
|
|
|
|
|
feeParms[0].Value = feeDoEntity.GID;
|
|
|
feeParms[1].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
feeParms[2].Value = tempFeeSettlementEntities[0].ChequeNo;
|
|
|
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE, feeParms);
|
|
|
|
|
|
}
|
|
|
|
|
|
foreach (FeeSettlementEntity tempFeeSettlementEntity in tempFeeSettlementEntities)
|
|
|
{
|
|
|
SqlParameter[] settleParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_MODE, SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_RMB,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_RMB,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_RATE,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_USD,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_USD,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_VOUCHER_NO,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_USER,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_IS_EXPORT,SqlDbType.Bit),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_FINANCIAL_VOUCHER,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter("@ACCOUNTS_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ACCOUNTS_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ACCOUNTS_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@PREPAY_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@AHSR_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@FINANCIAL_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ADVANCE_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_MONEY", SqlDbType.Decimal,9)
|
|
|
};
|
|
|
|
|
|
settleParms[0].Value = tempFeeSettlementEntity.GID;
|
|
|
settleParms[1].Value = tempFeeSettlementEntity.BillNO;
|
|
|
settleParms[2].Value = tempFeeSettlementEntity.SettleMode;
|
|
|
settleParms[3].Value = tempFeeSettlementEntity.CustomerName;
|
|
|
settleParms[4].Value = tempFeeSettlementEntity.SettleType;
|
|
|
settleParms[5].Value = tempFeeSettlementEntity.AmountRMB;
|
|
|
settleParms[6].Value = tempFeeSettlementEntity.AccountRMB;
|
|
|
settleParms[7].Value = tempFeeSettlementEntity.Rate;
|
|
|
settleParms[8].Value = tempFeeSettlementEntity.AmountUSD;
|
|
|
settleParms[9].Value = tempFeeSettlementEntity.AccountUSD;
|
|
|
settleParms[10].Value = tempFeeSettlementEntity.BillType;
|
|
|
settleParms[11].Value = tempFeeSettlementEntity.VoucherNO;
|
|
|
settleParms[12].Value = tempFeeSettlementEntity.SettleUser;
|
|
|
settleParms[13].Value = tempFeeSettlementEntity.IsExport;
|
|
|
settleParms[14].Value = tempFeeSettlementEntity.FinancialVoucher;
|
|
|
settleParms[15].Value = tempFeeSettlementEntity.BillStatus;
|
|
|
settleParms[16].Value = tempFeeSettlementEntity.Remark;
|
|
|
settleParms[17].Value = tempFeeSettlementEntity.ACCOUNTS_CURRENCY;//记账资料_币别
|
|
|
settleParms[18].Value = tempFeeSettlementEntity.ACCOUNTS_RATE;//记账资料_汇率
|
|
|
settleParms[19].Value = tempFeeSettlementEntity.ACCOUNTS_MONEY;//记账资料_金额
|
|
|
settleParms[20].Value = tempFeeSettlementEntity.PREPAY_CURRENCY;//预付支资料_币别
|
|
|
settleParms[21].Value = tempFeeSettlementEntity.PREPAY_RATE;//预付支资料_汇率
|
|
|
settleParms[22].Value = tempFeeSettlementEntity.PREPAY_MONEY;//预付支资料_金额
|
|
|
settleParms[23].Value = tempFeeSettlementEntity.AHSR_CURRENCY;//实付支资料_币别
|
|
|
settleParms[24].Value = tempFeeSettlementEntity.AHSR_RATE;//实付支资料_汇率
|
|
|
settleParms[25].Value = tempFeeSettlementEntity.AHSR_MONEY;//实付支资料_金额
|
|
|
settleParms[26].Value = tempFeeSettlementEntity.FINANCIAL_CURRENCY;//财务费用_币别
|
|
|
settleParms[27].Value = tempFeeSettlementEntity.FINANCIAL_RATE;//财务费用_汇率
|
|
|
settleParms[28].Value = tempFeeSettlementEntity.FINANCIAL_MONEY;//财务费用_金额
|
|
|
settleParms[29].Value = tempFeeSettlementEntity.ADVANCE_CURRENCY;//预付支取用资料_币别
|
|
|
settleParms[30].Value = tempFeeSettlementEntity.ADVANCE_RATE;//预付支取用资料_汇率
|
|
|
settleParms[31].Value = tempFeeSettlementEntity.ADVANCE_MONEY;//预付支取用资料_金额
|
|
|
//settleParms[17].Value = tempFeeSettlementEntity.SettleTime;
|
|
|
|
|
|
string SETTLETIME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "getdate()," : "'" + tempFeeSettlementEntity.SettleTime.ToString() + "',";
|
|
|
string SETTLETIME_NAME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "SETTLETIME," : "SETTLETIME,";
|
|
|
|
|
|
string SQL_INSERT_FEE_SETTLEMENT = string.Format("INSERT INTO ch_fee_settlement(GID, BILLNO, BILLDATE, SETTLEMODE, CUSTOMERNAME, SETTLETYPE, AMOUNTRMB, ACCOUNTRMB, RATE, AMOUNTUSD, ACCOUNTUSD, BILLTYPE, VOUCHERNO, SETTLEUSER, {0} ISEXPORT, FINANCIALVOUCHER, BILLSTATUS, REMARK,ACCOUNTS_CURRENCY,ACCOUNTS_RATE,ACCOUNTS_MONEY,PREPAY_CURRENCY,PREPAY_RATE,PREPAY_MONEY,AHSR_CURRENCY,AHSR_RATE,AHSR_MONEY,FINANCIAL_CURRENCY,FINANCIAL_RATE,FINANCIAL_MONEY,ADVANCE_CURRENCY,ADVANCE_RATE,ADVANCE_MONEY)"
|
|
|
+ " VALUES(@gid,@bill_no,GETDATE(),@settle_mode,@customer_name,@settle_type,@amount_rmb,@account_rmb,@rate,@amount_usd,@account_usd,@bill_type,@voucher_no,@settle_user,{1}@is_export,@financial_voucher,@bill_status,@remark,@ACCOUNTS_CURRENCY,@ACCOUNTS_RATE,@ACCOUNTS_MONEY,@PREPAY_CURRENCY,@PREPAY_RATE,@PREPAY_MONEY,@AHSR_CURRENCY,@AHSR_RATE,@AHSR_MONEY,@FINANCIAL_CURRENCY,@FINANCIAL_RATE,@FINANCIAL_MONEY,@ADVANCE_CURRENCY,@ADVANCE_RATE,@ADVANCE_MONEY)", SETTLETIME_NAME, SETTLETIME);
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_SETTLEMENT, settleParms);
|
|
|
}
|
|
|
//事务提交
|
|
|
sqlTran.Commit();
|
|
|
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
}
|
|
|
catch (Exception execError)
|
|
|
{
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
sqlTran.Rollback();
|
|
|
iResult = -2;//插入异常,事务已回滚成功
|
|
|
throw execError;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return iResult;
|
|
|
}
|
|
|
|
|
|
public int DoVerifyRecvAmountByRecvSettle(IList<FeeDoEntity> tempFeeDoEntities, IList<FeeSettlementEntity> tempFeeSettlementEntities, IList<ReceiveAmountEntity> recvAmountEntities, IList<VerificationEntity> verificationEntities)
|
|
|
{
|
|
|
int iResult = 0;
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
foreach (FeeDoEntity feeDoEntity in tempFeeDoEntities)
|
|
|
{
|
|
|
SqlParameter[] parms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSNO, SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_MBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_HBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSTYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_ID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_NAME,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_CURRENCY,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_CATEGORY,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_INVOICE_SETTLE_NO,SqlDbType.VarChar,20)
|
|
|
};
|
|
|
|
|
|
parms[0].Value = feeDoEntity.GID;
|
|
|
parms[1].Value = feeDoEntity.BillNO;
|
|
|
parms[2].Value = feeDoEntity.BSNO;
|
|
|
parms[3].Value = feeDoEntity.MBLNO;
|
|
|
parms[4].Value = feeDoEntity.HBLNO;
|
|
|
parms[5].Value = feeDoEntity.CustomerName;
|
|
|
parms[6].Value = feeDoEntity.BSType;
|
|
|
parms[7].Value = feeDoEntity.FeeID;
|
|
|
parms[8].Value = feeDoEntity.FeeName;
|
|
|
parms[9].Value = feeDoEntity.Currency;
|
|
|
parms[10].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
parms[11].Value = feeDoEntity.DoAmount;
|
|
|
parms[12].Value = feeDoEntity.FeeType;
|
|
|
parms[13].Value = feeDoEntity.Category;
|
|
|
parms[14].Value = feeDoEntity.BillStatus;
|
|
|
parms[15].Value = feeDoEntity.Remark;
|
|
|
parms[16].Value = "";
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_DO, parms);
|
|
|
|
|
|
SqlParameter[] feeParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_CHEQUE_NUM,SqlDbType.VarChar,200)
|
|
|
};
|
|
|
|
|
|
feeParms[0].Value = feeDoEntity.GID;
|
|
|
feeParms[1].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
feeParms[2].Value = tempFeeSettlementEntities[0].ChequeNo;
|
|
|
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE, feeParms);
|
|
|
|
|
|
//实收核销FeeDo
|
|
|
parms[0].Value = Guid.NewGuid().ToString();
|
|
|
parms[1].Value = verificationEntities[0].BillNO;
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_DO, parms);
|
|
|
|
|
|
}
|
|
|
|
|
|
foreach (FeeSettlementEntity tempFeeSettlementEntity in tempFeeSettlementEntities)
|
|
|
{
|
|
|
SqlParameter[] settleParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_MODE, SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_RMB,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_RMB,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_RATE,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_USD,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_USD,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_VOUCHER_NO,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_USER,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_IS_EXPORT,SqlDbType.Bit),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_FINANCIAL_VOUCHER,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter("@ACCOUNTS_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ACCOUNTS_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ACCOUNTS_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@PREPAY_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@AHSR_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@FINANCIAL_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ADVANCE_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_MONEY", SqlDbType.Decimal,9)
|
|
|
};
|
|
|
|
|
|
settleParms[0].Value = tempFeeSettlementEntity.GID;
|
|
|
settleParms[1].Value = tempFeeSettlementEntity.BillNO;
|
|
|
settleParms[2].Value = tempFeeSettlementEntity.SettleMode;
|
|
|
settleParms[3].Value = tempFeeSettlementEntity.CustomerName;
|
|
|
settleParms[4].Value = tempFeeSettlementEntity.SettleType;
|
|
|
settleParms[5].Value = tempFeeSettlementEntity.AmountRMB;
|
|
|
settleParms[6].Value = tempFeeSettlementEntity.AccountRMB;
|
|
|
settleParms[7].Value = tempFeeSettlementEntity.Rate;
|
|
|
settleParms[8].Value = tempFeeSettlementEntity.AmountUSD;
|
|
|
settleParms[9].Value = tempFeeSettlementEntity.AccountUSD;
|
|
|
settleParms[10].Value = tempFeeSettlementEntity.BillType;
|
|
|
settleParms[11].Value = tempFeeSettlementEntity.VoucherNO;
|
|
|
settleParms[12].Value = tempFeeSettlementEntity.SettleUser;
|
|
|
settleParms[13].Value = tempFeeSettlementEntity.IsExport;
|
|
|
settleParms[14].Value = tempFeeSettlementEntity.FinancialVoucher;
|
|
|
settleParms[15].Value = tempFeeSettlementEntity.BillStatus;
|
|
|
settleParms[16].Value = tempFeeSettlementEntity.Remark;
|
|
|
settleParms[17].Value = tempFeeSettlementEntity.ACCOUNTS_CURRENCY;//记账资料_币别
|
|
|
settleParms[18].Value = tempFeeSettlementEntity.ACCOUNTS_RATE;//记账资料_汇率
|
|
|
settleParms[19].Value = tempFeeSettlementEntity.ACCOUNTS_MONEY;//记账资料_金额
|
|
|
settleParms[20].Value = tempFeeSettlementEntity.PREPAY_CURRENCY;//预付支资料_币别
|
|
|
settleParms[21].Value = tempFeeSettlementEntity.PREPAY_RATE;//预付支资料_汇率
|
|
|
settleParms[22].Value = tempFeeSettlementEntity.PREPAY_MONEY;//预付支资料_金额
|
|
|
settleParms[23].Value = tempFeeSettlementEntity.AHSR_CURRENCY;//实付支资料_币别
|
|
|
settleParms[24].Value = tempFeeSettlementEntity.AHSR_RATE;//实付支资料_汇率
|
|
|
settleParms[25].Value = tempFeeSettlementEntity.AHSR_MONEY;//实付支资料_金额
|
|
|
settleParms[26].Value = tempFeeSettlementEntity.FINANCIAL_CURRENCY;//财务费用_币别
|
|
|
settleParms[27].Value = tempFeeSettlementEntity.FINANCIAL_RATE;//财务费用_汇率
|
|
|
settleParms[28].Value = tempFeeSettlementEntity.FINANCIAL_MONEY;//财务费用_金额
|
|
|
settleParms[29].Value = tempFeeSettlementEntity.ADVANCE_CURRENCY;//预付支取用资料_币别
|
|
|
settleParms[30].Value = tempFeeSettlementEntity.ADVANCE_RATE;//预付支取用资料_汇率
|
|
|
settleParms[31].Value = tempFeeSettlementEntity.ADVANCE_MONEY;//预付支取用资料_金额
|
|
|
//
|
|
|
string SETTLETIME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "getdate()," : "'" + tempFeeSettlementEntity.SettleTime.ToString() + "',";
|
|
|
string SETTLETIME_NAME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "SETTLETIME," : "SETTLETIME,";
|
|
|
//
|
|
|
string SQL_INSERT_FEE_SETTLEMENT = string.Format("INSERT INTO ch_fee_settlement(GID, BILLNO, BILLDATE, SETTLEMODE, CUSTOMERNAME, SETTLETYPE, AMOUNTRMB, ACCOUNTRMB, RATE, AMOUNTUSD, ACCOUNTUSD, BILLTYPE, VOUCHERNO, SETTLEUSER, {0} ISEXPORT, FINANCIALVOUCHER, BILLSTATUS, REMARK,ACCOUNTS_CURRENCY,ACCOUNTS_RATE,ACCOUNTS_MONEY,PREPAY_CURRENCY,PREPAY_RATE,PREPAY_MONEY,AHSR_CURRENCY,AHSR_RATE,AHSR_MONEY,FINANCIAL_CURRENCY,FINANCIAL_RATE,FINANCIAL_MONEY,ADVANCE_CURRENCY,ADVANCE_RATE,ADVANCE_MONEY)"
|
|
|
+ " VALUES(@gid,@bill_no,GETDATE(),@settle_mode,@customer_name,@settle_type,@amount_rmb,@account_rmb,@rate,@amount_usd,@account_usd,@bill_type,@voucher_no,@settle_user,{1}@is_export,@financial_voucher,@bill_status,@remark,@ACCOUNTS_CURRENCY,@ACCOUNTS_RATE,@ACCOUNTS_MONEY,@PREPAY_CURRENCY,@PREPAY_RATE,@PREPAY_MONEY,@AHSR_CURRENCY,@AHSR_RATE,@AHSR_MONEY,@FINANCIAL_CURRENCY,@FINANCIAL_RATE,@FINANCIAL_MONEY,@ADVANCE_CURRENCY,@ADVANCE_RATE,@ADVANCE_MONEY)", SETTLETIME_NAME, SETTLETIME);
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_SETTLEMENT, settleParms);
|
|
|
}
|
|
|
|
|
|
foreach (ReceiveAmountEntity recvAmountEntity in recvAmountEntities)
|
|
|
{
|
|
|
SqlParameter[] updateRecvParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_DO_AMOUNT,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_SETTLE_USER,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_GID,SqlDbType.VarChar,36)
|
|
|
};
|
|
|
|
|
|
updateRecvParms[0].Value = recvAmountEntity.DoAmount;
|
|
|
updateRecvParms[1].Value = recvAmountEntity.SettleUser;
|
|
|
updateRecvParms[2].Value = recvAmountEntity.GID;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_RECEIVE_AMOUNT, updateRecvParms);
|
|
|
|
|
|
SqlParameter[] updateRecvFinishParms = new SqlParameter[] {
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_GID,SqlDbType.VarChar,36)
|
|
|
};
|
|
|
|
|
|
updateRecvFinishParms[0].Value = recvAmountEntity.GID;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_RECEIVE_AMOUNT_FINISH, updateRecvFinishParms);
|
|
|
}
|
|
|
|
|
|
foreach (VerificationEntity verificationEntity in verificationEntities)
|
|
|
{
|
|
|
SqlParameter[] InsertVerificationParms = new SqlParameter[] {
|
|
|
new SqlParameter(PARM_VERIFICATION_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_VERIFICATION_BILL_NO,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_VERIFICATION_RECV_AMOUNT_ID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_VERIFICATION_SETTLE_USER,SqlDbType.VarChar,36)
|
|
|
};
|
|
|
|
|
|
InsertVerificationParms[0].Value = verificationEntity.GID;
|
|
|
InsertVerificationParms[1].Value = verificationEntity.BillNO;
|
|
|
InsertVerificationParms[2].Value = verificationEntity.RecvAmountGID;
|
|
|
InsertVerificationParms[3].Value = verificationEntity.SettleUser;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_CH_FEE_VERIFICATION, InsertVerificationParms);
|
|
|
}
|
|
|
//事务提交
|
|
|
sqlTran.Commit();
|
|
|
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
}
|
|
|
catch (Exception execError)
|
|
|
{
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
sqlTran.Rollback();
|
|
|
iResult = -2;//插入异常,事务已回滚成功
|
|
|
throw execError;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return iResult;
|
|
|
}
|
|
|
public int SettleInvoice(IList<FeeDoEntity> tempFeeDoEntities, IList<FeeSettlementEntity> tempFeeSettlementEntities,string tempInvoicID,string tempInvoiceNum)
|
|
|
{
|
|
|
int iResult = 0;
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
foreach (FeeDoEntity feeDoEntity in tempFeeDoEntities)
|
|
|
{
|
|
|
SqlParameter[] parms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSNO, SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_MBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_HBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSTYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_ID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_NAME,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_CURRENCY,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_CATEGORY,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_INVOICE_SETTLE_NO,SqlDbType.VarChar,20)
|
|
|
};
|
|
|
|
|
|
parms[0].Value = feeDoEntity.GID;
|
|
|
parms[1].Value = feeDoEntity.BillNO;
|
|
|
parms[2].Value = feeDoEntity.BSNO;
|
|
|
parms[3].Value = feeDoEntity.MBLNO;
|
|
|
parms[4].Value = feeDoEntity.HBLNO;
|
|
|
parms[5].Value = feeDoEntity.CustomerName;
|
|
|
parms[6].Value = feeDoEntity.BSType;
|
|
|
parms[7].Value = feeDoEntity.FeeID;
|
|
|
parms[8].Value = feeDoEntity.FeeName;
|
|
|
parms[9].Value = feeDoEntity.Currency;
|
|
|
parms[10].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
parms[11].Value = feeDoEntity.DoAmount;
|
|
|
parms[12].Value = feeDoEntity.FeeType;
|
|
|
parms[13].Value = feeDoEntity.Category;
|
|
|
parms[14].Value = feeDoEntity.BillStatus;
|
|
|
parms[15].Value = feeDoEntity.Remark;
|
|
|
parms[16].Value = feeDoEntity.InvoiceSettleNO;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_DO, parms);
|
|
|
|
|
|
SqlParameter[] feeParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_CHEQUE_NUM,SqlDbType.VarChar,200)
|
|
|
};
|
|
|
|
|
|
feeParms[0].Value = feeDoEntity.GID;
|
|
|
feeParms[1].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
feeParms[2].Value = tempInvoiceNum;
|
|
|
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE, feeParms);
|
|
|
|
|
|
}
|
|
|
|
|
|
foreach (FeeSettlementEntity tempFeeSettlementEntity in tempFeeSettlementEntities)
|
|
|
{
|
|
|
SqlParameter[] settleParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_MODE, SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_RMB,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_RMB,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_RATE,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_USD,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_USD,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_VOUCHER_NO,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_USER,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_IS_EXPORT,SqlDbType.Bit),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_FINANCIAL_VOUCHER,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter("@ACCOUNTS_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ACCOUNTS_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ACCOUNTS_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@PREPAY_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@AHSR_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@FINANCIAL_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ADVANCE_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_MONEY", SqlDbType.Decimal,9)
|
|
|
};
|
|
|
|
|
|
settleParms[0].Value = tempFeeSettlementEntity.GID;
|
|
|
settleParms[1].Value = tempFeeSettlementEntity.BillNO;
|
|
|
settleParms[2].Value = tempFeeSettlementEntity.SettleMode;
|
|
|
settleParms[3].Value = tempFeeSettlementEntity.CustomerName;
|
|
|
settleParms[4].Value = tempFeeSettlementEntity.SettleType;
|
|
|
settleParms[5].Value = tempFeeSettlementEntity.AmountRMB;
|
|
|
settleParms[6].Value = tempFeeSettlementEntity.AccountRMB;
|
|
|
settleParms[7].Value = tempFeeSettlementEntity.Rate;
|
|
|
settleParms[8].Value = tempFeeSettlementEntity.AmountUSD;
|
|
|
settleParms[9].Value = tempFeeSettlementEntity.AccountUSD;
|
|
|
settleParms[10].Value = tempFeeSettlementEntity.BillType;
|
|
|
settleParms[11].Value = tempFeeSettlementEntity.VoucherNO;
|
|
|
settleParms[12].Value = tempFeeSettlementEntity.SettleUser;
|
|
|
settleParms[13].Value = tempFeeSettlementEntity.IsExport;
|
|
|
settleParms[14].Value = tempFeeSettlementEntity.FinancialVoucher;
|
|
|
settleParms[15].Value = tempFeeSettlementEntity.BillStatus;
|
|
|
settleParms[16].Value = tempFeeSettlementEntity.Remark;
|
|
|
settleParms[17].Value = tempFeeSettlementEntity.ACCOUNTS_CURRENCY;//记账资料_币别
|
|
|
settleParms[18].Value = tempFeeSettlementEntity.ACCOUNTS_RATE;//记账资料_汇率
|
|
|
settleParms[19].Value = tempFeeSettlementEntity.ACCOUNTS_MONEY;//记账资料_金额
|
|
|
settleParms[20].Value = tempFeeSettlementEntity.PREPAY_CURRENCY;//预付支资料_币别
|
|
|
settleParms[21].Value = tempFeeSettlementEntity.PREPAY_RATE;//预付支资料_汇率
|
|
|
settleParms[22].Value = tempFeeSettlementEntity.PREPAY_MONEY;//预付支资料_金额
|
|
|
settleParms[23].Value = tempFeeSettlementEntity.AHSR_CURRENCY;//实付支资料_币别
|
|
|
settleParms[24].Value = tempFeeSettlementEntity.AHSR_RATE;//实付支资料_汇率
|
|
|
settleParms[25].Value = tempFeeSettlementEntity.AHSR_MONEY;//实付支资料_金额
|
|
|
settleParms[26].Value = tempFeeSettlementEntity.FINANCIAL_CURRENCY;//财务费用_币别
|
|
|
settleParms[27].Value = tempFeeSettlementEntity.FINANCIAL_RATE;//财务费用_汇率
|
|
|
settleParms[28].Value = tempFeeSettlementEntity.FINANCIAL_MONEY;//财务费用_金额
|
|
|
settleParms[29].Value = tempFeeSettlementEntity.ADVANCE_CURRENCY;//预付支取用资料_币别
|
|
|
settleParms[30].Value = tempFeeSettlementEntity.ADVANCE_RATE;//预付支取用资料_汇率
|
|
|
settleParms[31].Value = tempFeeSettlementEntity.ADVANCE_MONEY;//预付支取用资料_金额
|
|
|
|
|
|
string SETTLETIME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "getdate()," : "'" + tempFeeSettlementEntity.SettleTime.ToString() + "',";
|
|
|
string SETTLETIME_NAME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "SETTLETIME," : "SETTLETIME,";
|
|
|
|
|
|
string SQL_INSERT_FEE_SETTLEMENT = string.Format("INSERT INTO ch_fee_settlement(GID, BILLNO, BILLDATE, SETTLEMODE, CUSTOMERNAME, SETTLETYPE, AMOUNTRMB, ACCOUNTRMB, RATE, AMOUNTUSD, ACCOUNTUSD, BILLTYPE, VOUCHERNO, SETTLEUSER, {0} ISEXPORT, FINANCIALVOUCHER, BILLSTATUS, REMARK,ACCOUNTS_CURRENCY,ACCOUNTS_RATE,ACCOUNTS_MONEY,PREPAY_CURRENCY,PREPAY_RATE,PREPAY_MONEY,AHSR_CURRENCY,AHSR_RATE,AHSR_MONEY,FINANCIAL_CURRENCY,FINANCIAL_RATE,FINANCIAL_MONEY,ADVANCE_CURRENCY,ADVANCE_RATE,ADVANCE_MONEY)"
|
|
|
+ " VALUES(@gid,@bill_no,GETDATE(),@settle_mode,@customer_name,@settle_type,@amount_rmb,@account_rmb,@rate,@amount_usd,@account_usd,@bill_type,@voucher_no,@settle_user,{1}@is_export,@financial_voucher,@bill_status,@remark,@ACCOUNTS_CURRENCY,@ACCOUNTS_RATE,@ACCOUNTS_MONEY,@PREPAY_CURRENCY,@PREPAY_RATE,@PREPAY_MONEY,@AHSR_CURRENCY,@AHSR_RATE,@AHSR_MONEY,@FINANCIAL_CURRENCY,@FINANCIAL_RATE,@FINANCIAL_MONEY,@ADVANCE_CURRENCY,@ADVANCE_RATE,@ADVANCE_MONEY)", SETTLETIME_NAME, SETTLETIME);
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_SETTLEMENT, settleParms);
|
|
|
}
|
|
|
|
|
|
SqlParameter[] updateInvoicParms = new SqlParameter[] {
|
|
|
new SqlParameter(PARM_INVOICE_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_INVOICE_IS_NEED_FEE,SqlDbType.Bit)
|
|
|
};
|
|
|
|
|
|
updateInvoicParms[0].Value = tempInvoicID;
|
|
|
updateInvoicParms[1].Value = 1;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_INVOICE, updateInvoicParms);
|
|
|
//事务提交
|
|
|
sqlTran.Commit();
|
|
|
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
}
|
|
|
catch (Exception execError)
|
|
|
{
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
sqlTran.Rollback();
|
|
|
iResult = -2;//插入异常,事务已回滚成功
|
|
|
throw execError;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return iResult;
|
|
|
}
|
|
|
|
|
|
|
|
|
public int SettleInvoiceForRecvAmount(IList<FeeDoEntity> tempFeeDoEntities, IList<FeeSettlementEntity> tempFeeSettlementEntities, string tempInvoicID, string tempInvoiceNum, IList<ReceiveAmountEntity> recviveAmountEntities, IList<VerificationEntity> verificationEntities)
|
|
|
{
|
|
|
int iResult = 0;
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
foreach (FeeDoEntity feeDoEntity in tempFeeDoEntities)
|
|
|
{
|
|
|
SqlParameter[] parms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSNO, SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_MBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_HBL_NO,SqlDbType.VarChar,30),
|
|
|
new SqlParameter(PARM_FEE_DO_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_BSTYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_ID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_NAME,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_CURRENCY,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_DO_AMOUNT,SqlDbType.Decimal,40),
|
|
|
new SqlParameter(PARM_FEE_DO_FEE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_CATEGORY,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_DO_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter(PARM_FEE_DO_INVOICE_SETTLE_NO,SqlDbType.VarChar,20)
|
|
|
};
|
|
|
|
|
|
parms[0].Value = feeDoEntity.GID;
|
|
|
parms[1].Value = feeDoEntity.BillNO;
|
|
|
parms[2].Value = feeDoEntity.BSNO;
|
|
|
parms[3].Value = feeDoEntity.MBLNO;
|
|
|
parms[4].Value = feeDoEntity.HBLNO;
|
|
|
parms[5].Value = feeDoEntity.CustomerName;
|
|
|
parms[6].Value = feeDoEntity.BSType;
|
|
|
parms[7].Value = feeDoEntity.FeeID;
|
|
|
parms[8].Value = feeDoEntity.FeeName;
|
|
|
parms[9].Value = feeDoEntity.Currency;
|
|
|
parms[10].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
parms[11].Value = feeDoEntity.DoAmount;
|
|
|
parms[12].Value = feeDoEntity.FeeType;
|
|
|
parms[13].Value = feeDoEntity.Category;
|
|
|
parms[14].Value = feeDoEntity.BillStatus;
|
|
|
parms[15].Value = feeDoEntity.Remark;
|
|
|
parms[16].Value = feeDoEntity.InvoiceSettleNO;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_DO, parms);
|
|
|
|
|
|
SqlParameter[] feeParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_DO_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_CHEQUE_NUM,SqlDbType.VarChar,200)
|
|
|
};
|
|
|
|
|
|
feeParms[0].Value = feeDoEntity.GID;
|
|
|
feeParms[1].Value = feeDoEntity.OriginalFeeCSTL;
|
|
|
feeParms[2].Value = tempInvoiceNum;
|
|
|
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE, feeParms);
|
|
|
|
|
|
//实收核销FeeDo
|
|
|
parms[0].Value = Guid.NewGuid().ToString();
|
|
|
parms[1].Value = verificationEntities[0].BillNO;
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_DO, parms);
|
|
|
}
|
|
|
|
|
|
foreach (FeeSettlementEntity tempFeeSettlementEntity in tempFeeSettlementEntities)
|
|
|
{
|
|
|
SqlParameter[] settleParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_GID, SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_NO, SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_MODE, SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_CUSTOMER_NAME,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_RMB,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_RMB,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_RATE,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_AMOUNT_USD,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_ACCOUNT_USD,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_TYPE,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_VOUCHER_NO,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_SETTLE_USER,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_IS_EXPORT,SqlDbType.Bit),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_FINANCIAL_VOUCHER,SqlDbType.VarChar,50),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_BILL_STATUS,SqlDbType.Int),
|
|
|
new SqlParameter(PARM_FEE_SETTLEMENT_REMARK,SqlDbType.VarChar,100),
|
|
|
new SqlParameter("@ACCOUNTS_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ACCOUNTS_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ACCOUNTS_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@PREPAY_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@PREPAY_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@AHSR_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@AHSR_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@FINANCIAL_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@FINANCIAL_MONEY", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_CURRENCY", SqlDbType.VarChar,20) ,
|
|
|
new SqlParameter("@ADVANCE_RATE", SqlDbType.Decimal,9) ,
|
|
|
new SqlParameter("@ADVANCE_MONEY", SqlDbType.Decimal,9)
|
|
|
};
|
|
|
|
|
|
settleParms[0].Value = tempFeeSettlementEntity.GID;
|
|
|
settleParms[1].Value = tempFeeSettlementEntity.BillNO;
|
|
|
settleParms[2].Value = tempFeeSettlementEntity.SettleMode;
|
|
|
settleParms[3].Value = tempFeeSettlementEntity.CustomerName;
|
|
|
settleParms[4].Value = tempFeeSettlementEntity.SettleType;
|
|
|
settleParms[5].Value = tempFeeSettlementEntity.AmountRMB;
|
|
|
settleParms[6].Value = tempFeeSettlementEntity.AccountRMB;
|
|
|
settleParms[7].Value = tempFeeSettlementEntity.Rate;
|
|
|
settleParms[8].Value = tempFeeSettlementEntity.AmountUSD;
|
|
|
settleParms[9].Value = tempFeeSettlementEntity.AccountUSD;
|
|
|
settleParms[10].Value = tempFeeSettlementEntity.BillType;
|
|
|
settleParms[11].Value = tempFeeSettlementEntity.VoucherNO;
|
|
|
settleParms[12].Value = tempFeeSettlementEntity.SettleUser;
|
|
|
settleParms[13].Value = tempFeeSettlementEntity.IsExport;
|
|
|
settleParms[14].Value = tempFeeSettlementEntity.FinancialVoucher;
|
|
|
settleParms[15].Value = tempFeeSettlementEntity.BillStatus;
|
|
|
settleParms[16].Value = tempFeeSettlementEntity.Remark;
|
|
|
settleParms[17].Value = tempFeeSettlementEntity.ACCOUNTS_CURRENCY;//记账资料_币别
|
|
|
settleParms[18].Value = tempFeeSettlementEntity.ACCOUNTS_RATE;//记账资料_汇率
|
|
|
settleParms[19].Value = tempFeeSettlementEntity.ACCOUNTS_MONEY;//记账资料_金额
|
|
|
settleParms[20].Value = tempFeeSettlementEntity.PREPAY_CURRENCY;//预付支资料_币别
|
|
|
settleParms[21].Value = tempFeeSettlementEntity.PREPAY_RATE;//预付支资料_汇率
|
|
|
settleParms[22].Value = tempFeeSettlementEntity.PREPAY_MONEY;//预付支资料_金额
|
|
|
settleParms[23].Value = tempFeeSettlementEntity.AHSR_CURRENCY;//实付支资料_币别
|
|
|
settleParms[24].Value = tempFeeSettlementEntity.AHSR_RATE;//实付支资料_汇率
|
|
|
settleParms[25].Value = tempFeeSettlementEntity.AHSR_MONEY;//实付支资料_金额
|
|
|
settleParms[26].Value = tempFeeSettlementEntity.FINANCIAL_CURRENCY;//财务费用_币别
|
|
|
settleParms[27].Value = tempFeeSettlementEntity.FINANCIAL_RATE;//财务费用_汇率
|
|
|
settleParms[28].Value = tempFeeSettlementEntity.FINANCIAL_MONEY;//财务费用_金额
|
|
|
settleParms[29].Value = tempFeeSettlementEntity.ADVANCE_CURRENCY;//预付支取用资料_币别
|
|
|
settleParms[30].Value = tempFeeSettlementEntity.ADVANCE_RATE;//预付支取用资料_汇率
|
|
|
settleParms[31].Value = tempFeeSettlementEntity.ADVANCE_MONEY;//预付支取用资料_金额
|
|
|
//
|
|
|
string SETTLETIME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "getdate()," : "'" + tempFeeSettlementEntity.SettleTime.ToString() + "',";
|
|
|
string SETTLETIME_NAME = tempFeeSettlementEntity.SettleTime.ToString().IndexOf("0001") > -1 ? "SETTLETIME," : "SETTLETIME,";
|
|
|
//
|
|
|
string SQL_INSERT_FEE_SETTLEMENT = string.Format("INSERT INTO ch_fee_settlement(GID, BILLNO, BILLDATE, SETTLEMODE, CUSTOMERNAME, SETTLETYPE, AMOUNTRMB, ACCOUNTRMB, RATE, AMOUNTUSD, ACCOUNTUSD, BILLTYPE, VOUCHERNO, SETTLEUSER, {0} ISEXPORT, FINANCIALVOUCHER, BILLSTATUS, REMARK,ACCOUNTS_CURRENCY,ACCOUNTS_RATE,ACCOUNTS_MONEY,PREPAY_CURRENCY,PREPAY_RATE,PREPAY_MONEY,AHSR_CURRENCY,AHSR_RATE,AHSR_MONEY,FINANCIAL_CURRENCY,FINANCIAL_RATE,FINANCIAL_MONEY,ADVANCE_CURRENCY,ADVANCE_RATE,ADVANCE_MONEY)"
|
|
|
+ " VALUES(@gid,@bill_no,GETDATE(),@settle_mode,@customer_name,@settle_type,@amount_rmb,@account_rmb,@rate,@amount_usd,@account_usd,@bill_type,@voucher_no,@settle_user,{1}@is_export,@financial_voucher,@bill_status,@remark,@ACCOUNTS_CURRENCY,@ACCOUNTS_RATE,@ACCOUNTS_MONEY,@PREPAY_CURRENCY,@PREPAY_RATE,@PREPAY_MONEY,@AHSR_CURRENCY,@AHSR_RATE,@AHSR_MONEY,@FINANCIAL_CURRENCY,@FINANCIAL_RATE,@FINANCIAL_MONEY,@ADVANCE_CURRENCY,@ADVANCE_RATE,@ADVANCE_MONEY)", SETTLETIME_NAME, SETTLETIME);
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_SETTLEMENT, settleParms);
|
|
|
}
|
|
|
|
|
|
SqlParameter[] updateInvoicParms = new SqlParameter[] {
|
|
|
new SqlParameter(PARM_INVOICE_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_INVOICE_IS_NEED_FEE,SqlDbType.Bit)
|
|
|
};
|
|
|
|
|
|
updateInvoicParms[0].Value = tempInvoicID;
|
|
|
updateInvoicParms[1].Value = 1;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_INVOICE, updateInvoicParms);
|
|
|
|
|
|
foreach (ReceiveAmountEntity recvAmountEntity in recviveAmountEntities)
|
|
|
{
|
|
|
SqlParameter[] updateRecvParms = new SqlParameter[]{
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_DO_AMOUNT,SqlDbType.Decimal,20),
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_SETTLE_USER,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_GID,SqlDbType.VarChar,36)
|
|
|
};
|
|
|
|
|
|
updateRecvParms[0].Value = recvAmountEntity.DoAmount;
|
|
|
updateRecvParms[1].Value = recvAmountEntity.SettleUser;
|
|
|
updateRecvParms[2].Value = recvAmountEntity.GID;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_RECEIVE_AMOUNT, updateRecvParms);
|
|
|
|
|
|
SqlParameter[] updateRecvFinishParms = new SqlParameter[] {
|
|
|
new SqlParameter(PARM_RECEIVE_AMOUNT_GID,SqlDbType.VarChar,36)
|
|
|
};
|
|
|
|
|
|
updateRecvFinishParms[0].Value = recvAmountEntity.GID;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_RECEIVE_AMOUNT_FINISH, updateRecvFinishParms);
|
|
|
}
|
|
|
|
|
|
foreach (VerificationEntity verificationEntity in verificationEntities)
|
|
|
{
|
|
|
SqlParameter[] InsertVerificationParms = new SqlParameter[] {
|
|
|
new SqlParameter(PARM_VERIFICATION_GID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_VERIFICATION_BILL_NO,SqlDbType.VarChar,20),
|
|
|
new SqlParameter(PARM_VERIFICATION_RECV_AMOUNT_ID,SqlDbType.VarChar,36),
|
|
|
new SqlParameter(PARM_VERIFICATION_SETTLE_USER,SqlDbType.VarChar,36)
|
|
|
};
|
|
|
|
|
|
InsertVerificationParms[0].Value = verificationEntity.GID;
|
|
|
InsertVerificationParms[1].Value = verificationEntity.BillNO;
|
|
|
InsertVerificationParms[2].Value = verificationEntity.RecvAmountGID;
|
|
|
InsertVerificationParms[3].Value = verificationEntity.SettleUser;
|
|
|
|
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_CH_FEE_VERIFICATION, InsertVerificationParms);
|
|
|
}
|
|
|
//事务提交
|
|
|
sqlTran.Commit();
|
|
|
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
}
|
|
|
catch (Exception execError)
|
|
|
{
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
sqlTran.Rollback();
|
|
|
iResult = -2;//插入异常,事务已回滚成功
|
|
|
throw execError;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return iResult;
|
|
|
}
|
|
|
}
|
|
|
}
|