|
|
using System;
|
|
|
using System.Data;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Text;
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouchersGlInvoiceEntity;
|
|
|
using DSWeb.MvcShipping.Models.MsCwAccitemsGl;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
using HcUtility.Comm;
|
|
|
using System.Data.SqlClient;
|
|
|
using DSWeb.DataAccess;
|
|
|
using HcUtility.Core;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
|
|
using DSWeb.Areas.Account.Models.MsCwVouchersGl3;
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouchersGl;
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouitemsGl;
|
|
|
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysParamSet;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.DAL.MsCwVouchersGlInvoiceDAL
|
|
|
{
|
|
|
public class MsCwVouchersGlInvoiceDAL
|
|
|
{
|
|
|
#region 按业务_查询、导出、打印
|
|
|
static public List<MsCwVouchersGlInvoiceEntity> GetDataList(string strCondition, string companyid, string strUSERID, string sort = null)
|
|
|
{
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUSERID);
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT GID,INVOICENO,BILLNO,CUSTOMERNAME,ACTUALCUSTOMERNAME,INVOICECUSTNAME,INVOICEMAKETIME,BANK,ACCOUNT,BSNO,VESSELVOYAGE,ETD,POL,POD");
|
|
|
strSql.Append(" ,FEEITEM,AMOUNT,INVAMOUNT,AMOUNTCAPITAL,OTCURRAMOUNT,CURRENCY,REMARK,APPLICANT,APPLYTIME,OPERATOR,LICENSECODE,TAXCODE,INVOICETYPE,BILLSTATUS");
|
|
|
strSql.Append(" ,ISNEEDPRINT,ISNEEDFEE,OPERATETIME,MBLNO,EXCHANGERATE,PRINTCAPITAL,PRINTAMOUNT,PRINTTITLE,COMPANYID,VOUCHERNO ");
|
|
|
strSql.Append(" ,CUSTRATENO,CUSTADDRTEL,CUSTBANK,INVOICECATEGORY,ISDELETE,DELETEOPERATOR,DELETETIME,PTORRED,SETRED ");
|
|
|
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97008 and EnumValueID=cm.INVOICECATEGORY) as INVOICECATEGORYREF");
|
|
|
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97009 and EnumValueID=cm.INVOICETYPE) as INVOICETYPEREF");
|
|
|
strSql.Append(",(case cm.billstatus when 1 then '已锁定' else '未锁定' end) as BILLSTATUSREF");
|
|
|
strSql.Append(",(select ShowName from [user] where GID=cm.OPERATOR) as OPERATORNAME");
|
|
|
strSql.Append(",(select ShowName from [user] where GID=cm.DELETEOPERATOR) as DELOPERATORNAME");
|
|
|
strSql.Append(",dbo.GetFeeNoStlByInvNo(cm.BILLNO) as NOSTL,FEEAMOUNT ");
|
|
|
strSql.Append(",VOUNO=(select top 1 VOUALLNO from cw_vouno_bs_gl WITH(NOLOCK) where BSGID=cm.GID and BSTABLENAME='ch_fee_invoice' and STARTGID='" + strCwSTARTGID + "')");
|
|
|
strSql.Append(" FROM ch_fee_invoice cm where 1=1 ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" and " + strCondition);
|
|
|
}
|
|
|
//
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by CURRENCY,OPERATETIME DESC");
|
|
|
}
|
|
|
return SetData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<MsCwVouchersGlInvoiceEntity> SetData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<MsCwVouchersGlInvoiceEntity>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsCwVouchersGlInvoiceEntity data = new MsCwVouchersGlInvoiceEntity();
|
|
|
#region Set DB data to Object
|
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
|
data.BILLNO = Convert.ToString(reader["BILLNO"]);
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
|
data.ACTUALCUSTOMERNAME = Convert.ToString(reader["ACTUALCUSTOMERNAME"]);
|
|
|
if (reader["CURRENCY"] != DBNull.Value)
|
|
|
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
|
|
|
data.INVOICENO = Convert.ToString(reader["INVOICENO"]);
|
|
|
data.INVOICECUSTNAME = Convert.ToString(reader["INVOICECUSTNAME"]);
|
|
|
data.INVOICECATEGORY = Convert.ToString(reader["INVOICECATEGORY"]);
|
|
|
data.INVOICECATEGORYREF = Convert.ToString(reader["INVOICECATEGORYREF"]);
|
|
|
if (reader["INVOICETYPE"] != DBNull.Value)
|
|
|
data.INVOICETYPE = Convert.ToInt32(reader["INVOICETYPE"]);
|
|
|
data.INVOICETYPEREF = Convert.ToString(reader["INVOICETYPEREF"]);
|
|
|
|
|
|
if (reader["BILLSTATUS"] != DBNull.Value)
|
|
|
data.BILLSTATUS = Convert.ToInt32(reader["BILLSTATUS"]);
|
|
|
data.BILLSTATUSREF = Convert.ToString(reader["BILLSTATUSREF"]);
|
|
|
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
|
data.MBLNO = Convert.ToString(reader["MBLNO"]);
|
|
|
data.VESSELVOYAGE = Convert.ToString(reader["VESSELVOYAGE"]);
|
|
|
data.ETD = Convert.ToString(reader["ETD"]);
|
|
|
data.POL = Convert.ToString(reader["POL"]);
|
|
|
data.POD = Convert.ToString(reader["POD"]);
|
|
|
|
|
|
if (reader["AMOUNT"] != DBNull.Value)
|
|
|
data.AMOUNT = Convert.ToDecimal(reader["AMOUNT"]);
|
|
|
if (reader["INVAMOUNT"] != DBNull.Value)
|
|
|
data.INVAMOUNT = Convert.ToDecimal(reader["INVAMOUNT"]);
|
|
|
data.AMOUNTCAPITAL = Convert.ToString(reader["AMOUNTCAPITAL"]);
|
|
|
if (reader["OTCURRAMOUNT"] != DBNull.Value)
|
|
|
data.OTCURRAMOUNT = Convert.ToDecimal(reader["OTCURRAMOUNT"]);
|
|
|
if (reader["EXCHANGERATE"] != DBNull.Value)
|
|
|
data.EXCHANGERATE = Convert.ToDecimal(reader["EXCHANGERATE"]);
|
|
|
else
|
|
|
data.EXCHANGERATE = 0;
|
|
|
data.APPLICANT = Convert.ToString(reader["APPLICANT"]);
|
|
|
// data.APPLICANTNAME = Convert.ToString(reader["APPLICANTNAME"]);
|
|
|
if (reader["APPLYTIME"] != DBNull.Value)
|
|
|
data.APPLYTIME = Convert.ToDateTime(reader["APPLYTIME"]);
|
|
|
|
|
|
if (reader["INVOICEMAKETIME"] != DBNull.Value)
|
|
|
data.INVOICEMAKETIME = Convert.ToDateTime(reader["INVOICEMAKETIME"]).ToString("yyyy-MM-dd");
|
|
|
|
|
|
data.OPERATOR = Convert.ToString(reader["OPERATOR"]);
|
|
|
data.OPERATORNAME = Convert.ToString(reader["OPERATORNAME"]);
|
|
|
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
data.COMPANYID = Convert.ToString(reader["COMPANYID"]);
|
|
|
|
|
|
data.CUSTRATENO = Convert.ToString(reader["CUSTRATENO"]);
|
|
|
data.CUSTADDRTEL = Convert.ToString(reader["CUSTADDRTEL"]);
|
|
|
data.CUSTBANK = Convert.ToString(reader["CUSTBANK"]);
|
|
|
if (reader["ISNEEDPRINT"] != DBNull.Value)
|
|
|
data.ISNEEDPRINT = Convert.ToString(reader["ISNEEDPRINT"]);
|
|
|
if (reader["ISNEEDFEE"] != DBNull.Value)
|
|
|
data.ISNEEDFEE = Convert.ToString(reader["ISNEEDFEE"]);
|
|
|
if (reader["ISDELETE"] != DBNull.Value)
|
|
|
data.ISDELETE = Convert.ToString(reader["ISDELETE"]);
|
|
|
data.DELETEOPERATOR = Convert.ToString(reader["DELETEOPERATOR"]);
|
|
|
data.DELOPERATORNAME = Convert.ToString(reader["DELOPERATORNAME"]);
|
|
|
if (reader["DELETETIME"] != DBNull.Value)
|
|
|
data.DELETETIME = Convert.ToDateTime(reader["DELETETIME"]);
|
|
|
|
|
|
data.NOSTL = Convert.ToString(reader["NOSTL"]);
|
|
|
data.FEEAMOUNT = Convert.ToString(reader["FEEAMOUNT"]);
|
|
|
data.VOUNO = (reader["VOUNO"] == null ? "" : Convert.ToString(reader["VOUNO"]));
|
|
|
data.SETRED = Convert.ToString(reader["SETRED"]);
|
|
|
data.PTORRED = Convert.ToString(reader["PTORRED"]);
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
//查询、导出
|
|
|
static public string GetDataListSQL(string strCondition, string companyid, string strUSERID)
|
|
|
{
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUSERID);
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" SELECT GID,INVOICENO,BILLNO,CUSTOMERNAME,ACTUALCUSTOMERNAME,INVOICECUSTNAME,INVOICEMAKETIME,BANK,ACCOUNT,BSNO,VESSELVOYAGE,ETD,POL,POD");
|
|
|
strSql.Append(" ,FEEITEM,AMOUNT,INVAMOUNT,AMOUNTCAPITAL,OTCURRAMOUNT,CURRENCY,REMARK,APPLICANT,APPLYTIME,OPERATOR,LICENSECODE,TAXCODE,INVOICETYPE,BILLSTATUS");
|
|
|
strSql.Append(" ,ISNEEDPRINT,ISNEEDFEE,OPERATETIME,MBLNO,EXCHANGERATE,PRINTCAPITAL,PRINTAMOUNT,PRINTTITLE,COMPANYID,VOUCHERNO ");
|
|
|
strSql.Append(" ,CUSTRATENO,CUSTADDRTEL,CUSTBANK,INVOICECATEGORY,ISDELETE,DELETEOPERATOR,DELETETIME,PTORRED,SETRED ");
|
|
|
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97008 and EnumValueID=cm.INVOICECATEGORY) as INVOICECATEGORYREF");
|
|
|
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97009 and EnumValueID=cm.INVOICETYPE) as INVOICETYPEREF");
|
|
|
strSql.Append(",(case cm.billstatus when 1 then '已锁定' else '未锁定' end) as BILLSTATUSREF");
|
|
|
strSql.Append(",(select ShowName from [user] where GID=cm.OPERATOR) as OPERATORNAME");
|
|
|
strSql.Append(",(select ShowName from [user] where GID=cm.DELETEOPERATOR) as DELOPERATORNAME");
|
|
|
strSql.Append(",dbo.GetFeeNoStlByInvNo(cm.BILLNO) as NOSTL,FEEAMOUNT ");
|
|
|
strSql.Append(",VOUNO=(select top 1 VOUALLNO from cw_vouno_bs_gl WITH(NOLOCK) where BSGID=cm.GID and BSTABLENAME='ch_fee_invoice' and STARTGID='" + strCwSTARTGID + "')");
|
|
|
strSql.Append(" FROM ch_fee_invoice cm where 1=1 ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" and " + strCondition);
|
|
|
}
|
|
|
return strSql.ToString();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 生成结转凭证
|
|
|
#region 币别列表
|
|
|
static public List<MsCwVouchersGl4> GetCodeCurrencyList(string strGids, string companyid, string strUserID)
|
|
|
{
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUserID);
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(strUserID);
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("select CURRENCY,(select top 1 BEGRATE from cw_currency_rate where ACCDATE='" + strCwACCDATE + "' and STARTGID='" + strCwSTARTGID + "' and LINKGID in (select GID from code_currency where CODENAME=v_ch_fee_invoice_pz.CURRENCY)) as FCYEXRATE from v_ch_fee_invoice_pz where CURRENCY<>'RMB'");
|
|
|
if (!string.IsNullOrEmpty(strGids))
|
|
|
{
|
|
|
strSql.Append(strGids);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" and 1<0");
|
|
|
}
|
|
|
strSql.Append(" group by CURRENCY order by CURRENCY");
|
|
|
return SetCodeCurrencyData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<MsCwVouchersGl4> SetCodeCurrencyData(StringBuilder strSql)
|
|
|
{
|
|
|
var headList = new List<MsCwVouchersGl4>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsCwVouchersGl4 data = new MsCwVouchersGl4();
|
|
|
#region Set DB data to Object
|
|
|
data.CURR = (reader["CURRENCY"] == null ? "" : Convert.ToString(reader["CURRENCY"]));
|
|
|
data.FCYEXRATE = (reader["FCYEXRATE"] == null ? "" : Convert.ToString(reader["FCYEXRATE"]));
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 按费用_判断是否生成
|
|
|
public static DBResult onIsCwVouchers(string strGids, string strUserID)
|
|
|
{
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUserID);
|
|
|
var result = new DBResult();
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
|
|
|
strGids = "'" + strGids.Trim().Replace(",", "','") + "'";
|
|
|
string sSQL = "SELECT count(*) as iNum From VW_ch_fee_invoice WHERE 1=1 and GID in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and STARTGID='" + strCwSTARTGID + "') and GID in (" + strGids.Trim() + ")";
|
|
|
int iNum = int.Parse(T_ALL_DA.GetStrSQL("iNum", sSQL));
|
|
|
result.Success = true;
|
|
|
result.Message = "";
|
|
|
if (iNum > 0)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "有已经生成凭证的数据,不允许重复生成,请重新选择!";
|
|
|
return result;
|
|
|
}
|
|
|
result.Success = true;
|
|
|
result.Message = "";
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
public static DBResult onAddCwVouchers(string strGids, MsCwVouchersGl3 headData, List<MsCwVouchersGl4> bodyList, string strUserID, string strSHOWNAME, string companyid)
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var result = new DBResult();
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUserID);
|
|
|
string sSQL = "";
|
|
|
int iResult = 0;
|
|
|
string zt = "";
|
|
|
string sError = "操作完成!";
|
|
|
string sAndGids = " and GID in ('" + strGids.Trim().Replace(",", "','") + "')";
|
|
|
|
|
|
var CWSTARTUSING = MsSysParamSetDAL.GetData("PARAMNAME='CWSTARTUSING'");
|
|
|
if (CWSTARTUSING.PARAMVALUE != "")
|
|
|
{
|
|
|
if (strCwSTARTGID != CWSTARTUSING.PARAMVALUE)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "当前账套不是设置的账套,不能生成凭证!";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
var VOUAUTOCHECK = MsSysParamSetDAL.GetData("PARAMNAME='VOUAUTOCHECK'").PARAMVALUE;
|
|
|
|
|
|
#region 生成前的判断
|
|
|
//帐套设置
|
|
|
sSQL = "SELECT top 1 * from cw_design_gl where [STARTGID]='" + strCwSTARTGID + "' and AR<>'' and ARFC<>'' and MBINCOME<>'' and TMFCI<>'' and OUTPUTTAX<>''";// and CORPID='"+companyid+"'
|
|
|
DataSet dsCwDesign = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
if (dsCwDesign == null)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "请先设置帐套信息!" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
//帐套设置_核算科目
|
|
|
sSQL = "SELECT [GID],[LINKGID],[ITEMGID],[OPTYPE],[MODIFIEDUSER],[MODIFIEDTIME],[MODIFIEDUSERNAME]=(select top 1 SHOWNAME from [user] where gid=[cw_design_gl_item].MODIFIEDUSER),[ITEMCODE]=(SELECT top 1 ITEMCODE from cw_item where GID=[cw_design_gl_item].[ITEMGID]),[ITEMNAME]=(SELECT top 1 ITEMNAME from cw_item where GID=[cw_design_gl_item].[ITEMGID]) FROM [cw_design_gl_item] WITH(NOLOCK) where LINKGID in (SELECT top 1 GID from cw_design_gl WITH(NOLOCK) where [STARTGID]='" + strCwSTARTGID + "') ORDER BY [ITEMCODE]";
|
|
|
DataSet dsCwDesignItem = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//判断总账科目是否完全配置好
|
|
|
//科目设置 应收USD
|
|
|
sSQL = "SELECT count(CURRENCY) as inum From VW_ch_fee_invoice WHERE 1=1 and GID not in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and STARTGID='" + strCwSTARTGID + "')" + sAndGids + " and CURRENCY<>'RMB' and CURRENCY not in (SELECT CURRENCY from cw_accitems_currency where LINKGID in (SELECT GID from cw_accitems_gl where [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim() + "')) GROUP BY CURRENCY ORDER BY CURRENCY";
|
|
|
string sNum = T_ALL_DA.GetStrSQL("inum", sSQL);
|
|
|
if (sNum != "" && sNum != "0")
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "请先设置应收账款外币科目(" + dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim() + ")的币别信息!" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
//判断是否有核算项目的科目
|
|
|
if (dsCwDesignItem == null)
|
|
|
{
|
|
|
sSQL = "SELECT COUNT(*) as inum from cw_accitems_gl where [STARTGID]='" + strCwSTARTGID + "' and ISITEMACC=1 and ACCID in ('" + dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() + "','" + dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim() + "','" + dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() + "','" + dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim() + "','" + dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim() + "','" + dsCwDesign.Tables[0].Rows[0]["INPUTTAX"].ToString().Trim() + "')";
|
|
|
sNum = T_ALL_DA.GetStrSQL("inum", sSQL);
|
|
|
if (sNum != "" && sNum != "0")
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "请先设置帐套信息中的核算项目匹配设置!" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
//合并生成发票开出凭证凭证
|
|
|
string[] itemsGID = strGids.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCTGCIC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
#region 合并生成发票开出凭证凭证
|
|
|
#region 提前生成凭证号
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(strUserID);
|
|
|
string sACCDATE = headData.VOUDATE.Substring(0, 7);
|
|
|
if (DateTime.Parse(sACCDATE + "-01") < DateTime.Parse(strCwACCDATE + "-01"))
|
|
|
{
|
|
|
sACCDATE = strCwACCDATE;
|
|
|
}
|
|
|
string strBPVW = dsCwDesign.Tables[0].Rows[0]["TVW"].ToString().Trim();
|
|
|
string strVOUNOhj = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(strBPVW, sACCDATE, strUserID);
|
|
|
string[] items = strVOUNOhj.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
string strVOUNO = items[3].ToString().Trim();
|
|
|
string sACCMONTH = DateTime.Parse(headData.VOUDATE.ToString()).Month.ToString();//月
|
|
|
if (sACCMONTH.ToString().Length == 1)
|
|
|
{
|
|
|
sACCMONTH = "0" + sACCMONTH.ToString();//月
|
|
|
}
|
|
|
string cfVOUALLNO = strBPVW + DateTime.Parse(headData.VOUDATE.ToString()).Year.ToString() + sACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
#endregion
|
|
|
|
|
|
DBResult result2 = onIsCwVouchers(strGids, strUserID);//判断是否有已经生成凭证的数据
|
|
|
if (!result2.Success)
|
|
|
{
|
|
|
sError = result.Message;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//把凭证号更新到ch_fee_invoice
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='" + cfVOUALLNO + "' where 1=1 and GID not in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and STARTGID='" + strCwSTARTGID + "')" + sAndGids + " and '" + cfVOUALLNO + "' NOT in (select VOUNO from ch_fee_invoice where VOUNO<>'' and VOUNO is not NULL)";
|
|
|
//把凭证号和业务GID插入到凭证生成的关系表
|
|
|
string blSQL = "INSERT INTO [cw_vouno_bs_gl]([GID],[BSTABLENAME],[BSGID],[VOUALLNO],[ORDNO],[STARTGID],[CREATEUSER],[CREATETIME])"
|
|
|
+ "select newid() as [GID],'ch_fee_invoice' as [BSTABLENAME],GID as [BSGID],'" + cfVOUALLNO + "' as [VOUALLNO],'' as [ORDNO],'" + strCwSTARTGID + "' as [STARTGID],'" + strUserID + "' as [CREATEUSER],getdate() as [CREATETIME]"
|
|
|
+ " from ch_fee_invoice where 1=1" + sAndGids + " and gid not in (select BSGID from cw_vouno_bs_gl WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "')";
|
|
|
int iCount = db.ExecuteNonQuery(CommandType.Text, blSQL);
|
|
|
//
|
|
|
if (iCount != 0)
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISINVRATESELF"].ToString().Trim() == "True")
|
|
|
iResult = getInvSC(dsCwDesign, dsCwDesignItem, sAndGids.Trim(), headData, bodyList, strUserID, companyid, cfVOUALLNO, VOUAUTOCHECK);
|
|
|
else iResult = getHxtSC(dsCwDesign, dsCwDesignItem, sAndGids.Trim(), headData, bodyList, strUserID, companyid, cfVOUALLNO, VOUAUTOCHECK);
|
|
|
zt += "," + iResult;
|
|
|
if (zt.IndexOf("-") > 0)
|
|
|
{
|
|
|
sError = "共" + itemsGID.Length + "票发票单,生成0条凭证,失败1条凭证!";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sError = "共" + itemsGID.Length + "票发票单,生成1条凭证,失败0条凭证!";
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sError = "共" + itemsGID.Length + "票发票单,生成1条凭证,失败0条凭证!";
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 不 合并生成发票开出凭证凭证
|
|
|
int n = 0;
|
|
|
if (itemsGID.Length > 0)
|
|
|
{
|
|
|
for (int k = 0; k < itemsGID.Length; k++)
|
|
|
{
|
|
|
//按业务
|
|
|
sAndGids = " and GID in ('" + itemsGID[k].ToString().Trim() + "')";
|
|
|
|
|
|
#region 提前生成凭证号
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(strUserID);
|
|
|
string sACCDATE = headData.VOUDATE.Substring(0, 7);
|
|
|
if (DateTime.Parse(sACCDATE + "-01") < DateTime.Parse(strCwACCDATE + "-01"))
|
|
|
{
|
|
|
sACCDATE = strCwACCDATE;
|
|
|
}
|
|
|
string strBPVW = dsCwDesign.Tables[0].Rows[0]["TVW"].ToString().Trim();
|
|
|
string strVOUNOhj = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(strBPVW, sACCDATE, strUserID);
|
|
|
string[] items2 = strVOUNOhj.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
string strVOUNO = items2[3].ToString().Trim();
|
|
|
string sACCMONTH = DateTime.Parse(headData.VOUDATE.ToString()).Month.ToString();//月
|
|
|
if (sACCMONTH.ToString().Length == 1)
|
|
|
{
|
|
|
sACCMONTH = "0" + sACCMONTH.ToString();//月
|
|
|
}
|
|
|
string cfVOUALLNO = strBPVW + DateTime.Parse(headData.VOUDATE.ToString()).Year.ToString() + sACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
#endregion
|
|
|
|
|
|
//把凭证号更新到ch_fee_invoice
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='" + cfVOUALLNO + "' where 1=1 and GID not in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and STARTGID='" + strCwSTARTGID + "')" + sAndGids + " and '" + cfVOUALLNO + "' NOT in (select VOUNO from ch_fee_invoice where VOUNO<>'' and VOUNO is not NULL)";
|
|
|
//把凭证号和业务GID插入到凭证生成的关系表
|
|
|
string blSQL = "INSERT INTO [cw_vouno_bs_gl]([GID],[BSTABLENAME],[BSGID],[VOUALLNO],[ORDNO],[STARTGID],[CREATEUSER],[CREATETIME])"
|
|
|
+ "select newid() as [GID],'ch_fee_invoice' as [BSTABLENAME],GID as [BSGID],'" + cfVOUALLNO + "' as [VOUALLNO],'' as [ORDNO],'" + strCwSTARTGID + "' as [STARTGID],'" + strUserID + "' as [CREATEUSER],getdate() as [CREATETIME]"
|
|
|
+ " from ch_fee_invoice where 1=1" + sAndGids + " and gid not in (select BSGID from cw_vouno_bs_gl WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "')";
|
|
|
int iCount = db.ExecuteNonQuery(CommandType.Text, blSQL);
|
|
|
//
|
|
|
if (iCount != 0)
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISINVRATESELF"].ToString().Trim() == "True")
|
|
|
iResult = getInvSC(dsCwDesign, dsCwDesignItem, sAndGids.Trim(), headData, bodyList, strUserID, companyid, cfVOUALLNO, VOUAUTOCHECK);
|
|
|
else
|
|
|
iResult = getHxtSC(dsCwDesign, dsCwDesignItem, sAndGids, headData, bodyList, strUserID, companyid, cfVOUALLNO, VOUAUTOCHECK);
|
|
|
zt += "," + iResult;
|
|
|
if (zt.IndexOf("-") < 0)
|
|
|
{
|
|
|
n++;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sError = "有已经生成凭证的数据,不允许重复生成,请重新选择!";
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
sError = "共" + itemsGID.Length + "票发票单,生成" + n + "条凭证,失败" + (itemsGID.Length - n) + "条凭证!";
|
|
|
#endregion
|
|
|
}
|
|
|
//
|
|
|
//if (zt.IndexOf("-") > 0)
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "操作出错" + result.Message;//部分凭证生成
|
|
|
// return result;
|
|
|
//}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = sError;//"操作完成!";
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 生成凭证
|
|
|
/// </summary>
|
|
|
/// <param name="ds">帐套设置数据集</param>
|
|
|
/// <param name="sGids">gid业务编号</param>
|
|
|
/// <returns></returns>
|
|
|
///
|
|
|
|
|
|
/* 按原币生成凭证*/
|
|
|
protected static int getHxtSC(DataSet dsCwDesign, DataSet dsCwDesignItem, string sAndGids, MsCwVouchersGl3 headData, List<MsCwVouchersGl4> bodyList, string strUserID, string strCompanyID, string cfVOUALLNO, string VOUAUTOCHECK)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
#region 基本变量
|
|
|
//全部
|
|
|
string sSQL = "";
|
|
|
string strEXPLAN = "";
|
|
|
string strFCY = "RMB";
|
|
|
Decimal dEXCHANGERATE = 0;
|
|
|
//应收应付账款
|
|
|
Decimal iAMTDR = 0;
|
|
|
Decimal iAMTCR = 0;
|
|
|
//差额主营业务收入
|
|
|
Decimal dRMBS = 0;
|
|
|
Decimal dRMBF = 0;
|
|
|
Decimal dUSDS = 0;
|
|
|
Decimal dUSDF = 0;
|
|
|
//总合计
|
|
|
//Decimal strJie = 0;
|
|
|
//Decimal strDai = 0;
|
|
|
string strBPVW = dsCwDesign.Tables[0].Rows[0]["TVW"].ToString().Trim();
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(strUserID);
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUserID);
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置
|
|
|
//科目设置 应收RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() + "'";
|
|
|
DataSet dsAR = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//科目设置 应收USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim() + "'";
|
|
|
DataSet dsARFC = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//主营业务收入 收入RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() + "'";
|
|
|
DataSet dsMBINCOME = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//主营收入外币 收入USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim() + "'";
|
|
|
DataSet dsTMFCI = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//销项税
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim() + "'";
|
|
|
DataSet dsOUTPUTTAX = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
#endregion
|
|
|
|
|
|
string DREXPLAN = dsCwDesign.Tables[0].Rows[0]["INVDREXPLAN"].ToString().Trim();
|
|
|
string CREXPLAN = dsCwDesign.Tables[0].Rows[0]["INVCREXPLAN"].ToString().Trim();
|
|
|
string MBINCOMEEXPLAN = dsCwDesign.Tables[0].Rows[0]["INVMBINCOMEEXPLAN"].ToString().Trim();
|
|
|
string MBSPENDINGEXPLAN = dsCwDesign.Tables[0].Rows[0]["INVMBSPENDINGEXPLAN"].ToString().Trim();
|
|
|
|
|
|
#region 摘要
|
|
|
string strISEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",CUSTOMERNAME";//是否收付客户名称CUSTOMERNAME
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",MBLNO";//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",SALE";//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",VESSEL";//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",VOYNO";//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",BSSOURCE";//是否业务来源
|
|
|
//}
|
|
|
|
|
|
string strISEXPLANnull = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",CUSTOMERNAME";//是否收付客户名称CUSTOMERNAME
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",MBLNO";//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",SALE";//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",VESSEL";//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",VOYNO";//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",BSSOURCE";//是否业务来源
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBILLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",BILLNO_ACAD";//是否申请单号
|
|
|
//}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 票号
|
|
|
if (strISEXPLAN.IndexOf(dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim()) < 0)
|
|
|
{
|
|
|
strISEXPLAN += "," + dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf(dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim()) < 0)
|
|
|
{
|
|
|
strISEXPLANnull += "," + dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 核算科目_分录
|
|
|
//string sqlItemAR = "";
|
|
|
//string sqlItemARFC = "";
|
|
|
//string sqlItemMBINCOME = "";
|
|
|
//string sqlItemTMFCI = "";
|
|
|
#endregion
|
|
|
|
|
|
#region 基本数据集
|
|
|
string strORDNO = getGid();
|
|
|
string sqlAR = "";
|
|
|
string sqlARFC = "";
|
|
|
string sqlMBINCOME = "";
|
|
|
string sqlTMFCI = "";
|
|
|
string sqlOUTPUTTAX = "";
|
|
|
string sqlOUTPUTTAXUSD = "";
|
|
|
IList<MsCwVouitemsGl> CwVouitemsEntities = new List<MsCwVouitemsGl>();
|
|
|
string strCondition = sAndGids + " and GID in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and VOUALLNO='" + cfVOUALLNO + "' and STARTGID='" + strCwSTARTGID + "')";
|
|
|
|
|
|
//是否按照系统录入汇率
|
|
|
if (headData.ISRATE == true)
|
|
|
{
|
|
|
#region 科目设置:应收RMB dsAR、应收USD dsARFC
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim())
|
|
|
{
|
|
|
#region 应收RMB==应收USD
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsAR.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " GROUP BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlAR += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
//
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " GROUP BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlAR += " GROUP BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 应收RMB!=应收USD
|
|
|
//应收RMB
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " GROUP BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
|
|
|
//应收USD
|
|
|
#region 核算项目
|
|
|
sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " GROUP BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:主营业务收入RMB dsMBINCOME、主营收入外币USD dsTMFCI
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim())
|
|
|
{
|
|
|
#region 主营业务收入RMB==主营收入外币USD
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
//
|
|
|
sqlTMFCI = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 主营业务收入RMB!=主营收入外币USD
|
|
|
//主营业务收入RMB
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
//主营收入外币USD
|
|
|
sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlTMFCI = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 提取费率
|
|
|
string tbRATE = "";
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
if (bodyList.Count > 0)
|
|
|
{
|
|
|
for (int i = 0; i < bodyList.Count; i++)
|
|
|
{
|
|
|
tbRATE += " WHEN CURRENCY='" + bodyList[i].CURR.ToString().Trim() + "' THEN " + bodyList[i].FCYEXRATE.ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:应收RMB dsAR、应收USD dsARFC
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim())
|
|
|
{
|
|
|
#region 应收RMB==应收USD
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsAR.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
//
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " group BY INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlAR += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 应收RMB!=应收USD
|
|
|
//应收RMB
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
|
|
|
//应收USD
|
|
|
#region 核算项目
|
|
|
sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " group BY INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:主营业务收入RMB dsMBINCOME、主营收入外币USD dsTMFCI
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim())
|
|
|
{
|
|
|
#region 主营业务收入RMB==主营收入外币USD
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
//
|
|
|
sqlTMFCI = "SELECT INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 主营业务收入RMB!=主营收入外币USD
|
|
|
//主营业务收入RMB
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
//主营收入外币USD
|
|
|
sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlTMFCI = "SELECT INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceAR = T_ALL_DA.GetAllSQL(sqlAR);
|
|
|
DataSet dsVWChFeeInvoiceARFC = null;
|
|
|
if (sqlARFC.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceARFC = T_ALL_DA.GetAllSQL(sqlARFC);
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceMBINCOME = T_ALL_DA.GetAllSQL(sqlMBINCOME);
|
|
|
DataSet dsVWChFeeInvoiceTMFCI = null;
|
|
|
if (sqlTMFCI.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceTMFCI = T_ALL_DA.GetAllSQL(sqlTMFCI);
|
|
|
}
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
sqlARFC = "SELECT * from ch_fee_invoice WHERE 1=1" + strCondition + " and NOT EXISTS (SELECT 1 FROM CH_FEE_DO D WHERE D.BILLNO=ch_fee_invoice.BILLNO) ";
|
|
|
DataSet dsVWChFeeAR = T_ALL_DA.GetAllSQL(sqlARFC);
|
|
|
Decimal strJie = 0;
|
|
|
Decimal strDai = 0;
|
|
|
if (dsVWChFeeInvoiceAR != null || dsVWChFeeInvoiceARFC != null)
|
|
|
{
|
|
|
#region 明细表_实体类
|
|
|
#region 插入明细表:应收RMB dsAR
|
|
|
if (dsVWChFeeInvoiceAR != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceAR.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = DREXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[客户名称]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[主提单号]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[揽货人]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["SALE"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否收付船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币编号usd
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCNAME = dsAR.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsAR.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceAR.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsAR.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
dEXCHANGERATE = 1;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
if (strBLNONAME.Trim() != "")
|
|
|
{
|
|
|
MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceAR.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:应收外币 dsARFC
|
|
|
if (dsVWChFeeInvoiceARFC != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceARFC.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = DREXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[客户名称]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("主提单号]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("揽货人]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["SALE"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否收付船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否收付航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
MsCwVouitemsGl.FCYDR = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["je"].ToString().Trim());//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCNAME = dsARFC.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsARFC.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceARFC.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsARFC.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
dEXCHANGERATE = MsCwVouitemsGl.FCYEXRATE;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
if (strBLNONAME.Trim() != "")
|
|
|
{
|
|
|
MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:主营业务收入
|
|
|
Decimal dRMB = dRMBS - dRMBF;
|
|
|
Decimal dUSD = dUSDS - dUSDF;
|
|
|
//收入\成本 生成 全额\差额
|
|
|
strJie = dRMBS + dUSDS * dEXCHANGERATE;
|
|
|
strDai = dRMBF + dUSDF * dEXCHANGERATE;
|
|
|
//
|
|
|
#region 全额
|
|
|
if (dsVWChFeeInvoiceMBINCOME != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceMBINCOME.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = MBINCOMEEXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[客户名称]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[主提单号]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["MBLNO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[揽货人]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["SALE"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
else {
|
|
|
strEXPLAN = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsMBINCOME.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsMBINCOME.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (dsVWChFeeInvoiceTMFCI != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceTMFCI.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = MBINCOMEEXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[客户名称]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[主提单号]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["MBLNO"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ISEXPLAN)
|
|
|
strEXPLAN = strEXPLAN.Replace("[揽货人]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["SALE"].ToString().Trim());
|
|
|
else
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
strEXPLAN = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入_外币
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["je"].ToString().Trim());//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsTMFCI.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceTMFCI.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsTMFCI.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
if (dsVWChFeeAR != null)
|
|
|
{
|
|
|
|
|
|
for (int i = 0; i < dsVWChFeeAR.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = DREXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeAR.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else {
|
|
|
strEXPLAN += "开票 " + dsVWChFeeAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
|
|
|
if (dsVWChFeeAR.Tables[0].Rows[i]["OTCURRAMOUNT"].ToString().Trim() == "0")
|
|
|
{
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币编号usd
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.ACCNAME = dsAR.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsAR.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = true;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeAR.Tables[0].Rows[i]["RECVCURR"].ToString();//外币编号usd
|
|
|
MsCwVouitemsGl.FCYDR = Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["OTCURRAMOUNT"].ToString().Trim());//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.ACCNAME = dsARFC.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsARFC.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
dEXCHANGERATE = 1;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
//string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
//if (strBLNONAME.Trim() != "")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeAR.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
if (dsVWChFeeAR.Tables[0].Rows[i]["OTCURRAMOUNT"].ToString().Trim() == "0")
|
|
|
{
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsAR.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsARFC.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
|
|
|
Decimal dRMB = dRMBS - dRMBF;
|
|
|
Decimal dUSD = dUSDS - dUSDF;
|
|
|
//收入\成本 生成 全额\差额
|
|
|
strJie = dRMBS + dUSDS * dEXCHANGERATE;
|
|
|
strDai = dRMBF + dUSDF * dEXCHANGERATE;
|
|
|
|
|
|
for (int i = 0; i < dsVWChFeeAR.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = MBINCOMEEXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeAR.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strEXPLAN += "开票 " + dsVWChFeeAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + " 发票抬头:" + dsVWChFeeAR.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString();
|
|
|
}
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 收入
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeAR.Tables[0].Rows[i]["INVAMOUNT"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsMBINCOME.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsMBINCOME.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
if (CwVouitemsEntities.Count == 0)
|
|
|
{
|
|
|
//删除ch_fee_invoice中未生成的凭证号
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='' where VOUNO='" + cfVOUALLNO + "'" + sAndGids.Trim();
|
|
|
//删除凭证生成关系表中的ch_fee_invoice的GID数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "delete from [cw_vouno_bs_gl] where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
return -3;//结算无明细数据
|
|
|
}
|
|
|
else {
|
|
|
|
|
|
#region 插入主表
|
|
|
MsCwVouchersGl MsCwVouchersGl = new MsCwVouchersGl();
|
|
|
MsCwVouchersGl.ORDNO = strORDNO.Trim();//唯一编码 newid() varchar (36)
|
|
|
MsCwVouchersGl.VOUDATE = headData.VOUDATE;//凭证日期
|
|
|
|
|
|
//strY + "~" + strM + "~" + sVOUNO + "~" + strVOUNO + "~" + strVOUDATE + "~" + strACCDATE;
|
|
|
//string sACCDATE = headData.VOUDATE.Substring(0, 7);
|
|
|
//if (DateTime.Parse(sACCDATE + "-01") < DateTime.Parse(strACCDATE + "-01"))
|
|
|
//{
|
|
|
// sACCDATE = strACCDATE;
|
|
|
//}
|
|
|
//string strVOUNOhj = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(strBPVW.Trim(), sACCDATE);
|
|
|
//string[] items = strVOUNOhj.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
//string sVOUNO = items[2].ToString().Trim();
|
|
|
//string strVOUNO = items[3].ToString().Trim();
|
|
|
MsCwVouchersGl.VOUNO = int.Parse(cfVOUALLNO.Substring(cfVOUALLNO.Length - 4)).ToString();//sVOUNO;//月初清零 varchar (16)
|
|
|
|
|
|
MsCwVouchersGl.ACCYEAR = DateTime.Parse(headData.VOUDATE.ToString()).Year.ToString();//年
|
|
|
MsCwVouchersGl.ACCMONTH = DateTime.Parse(headData.VOUDATE.ToString()).Month.ToString();//月
|
|
|
if (MsCwVouchersGl.ACCMONTH.ToString().Length == 1)
|
|
|
{
|
|
|
MsCwVouchersGl.ACCMONTH = "0" + MsCwVouchersGl.ACCMONTH.ToString();//月
|
|
|
}
|
|
|
MsCwVouchersGl.VKNO = strBPVW.Trim();//凭证字
|
|
|
//MsCwVouchersGl.VOUALLNO = MsCwVouchersGl.VKNO + MsCwVouchersGl.ACCYEAR + MsCwVouchersGl.ACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
MsCwVouchersGl.VOUALLNO = cfVOUALLNO.Replace("记", strBPVW.Trim());//年+月+自动生成编号=凭证号
|
|
|
MsCwVouchersGl.ATTACHS = 1;// int.Parse(dsCwDesign.Tables[0].Rows[0]["AFFIXNO"].ToString().Trim());//附件(单据)数
|
|
|
MsCwVouchersGl.AMTDR = strJie;// iAMTDR;//本位币借方
|
|
|
MsCwVouchersGl.AMTCR = strDai;//iAMTDR;// iAMTCR;//本位币贷方
|
|
|
MsCwVouchersGl.FCY = strFCY;//是否含有外币科目
|
|
|
MsCwVouchersGl.QTY = "";//是否含有数量科目
|
|
|
MsCwVouchersGl.VOUPROP = "";//凭证属性
|
|
|
MsCwVouchersGl.PREPARED = headData.PREPARED.ToString().Trim();//制单人
|
|
|
MsCwVouchersGl.CHECKED = "";//审核人
|
|
|
MsCwVouchersGl.ENTERED = "";//记账人
|
|
|
MsCwVouchersGl.ERRMSG = "";//错误信息
|
|
|
MsCwVouchersGl.ISDELETE = false;//是否废除
|
|
|
MsCwVouchersGl.DELETEUSER = "";//废除操作人
|
|
|
MsCwVouchersGl.STARTGID = strCwSTARTGID;
|
|
|
MsCwVouchersGl.DbOperationType = DbOperationType.DbotIns;
|
|
|
MsCwVouchersGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouchersGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouchersGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouchersGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
MsCwVouchersGl.ISAUTO = true;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 生成入库
|
|
|
var modb = new ModelObjectDB();
|
|
|
result = modb.Save(MsCwVouchersGl);
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
int n = 1;
|
|
|
foreach (var enumValue in CwVouitemsEntities)
|
|
|
{
|
|
|
enumValue.GID = Guid.NewGuid().ToString();
|
|
|
enumValue.ITEMNO = n;
|
|
|
enumValue.DbOperationType = DbOperationType.DbotIns;
|
|
|
var modb2 = new ModelObjectDB();
|
|
|
DBResult result2 = modb2.Save(enumValue);
|
|
|
n++;
|
|
|
}
|
|
|
|
|
|
//更新凭证生成关系表中的ORDNO数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "update [cw_vouno_bs_gl] set ORDNO='" + MsCwVouchersGl.ORDNO + "' where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
|
|
|
blSQL = "update code_fill_serialno set ISDELETE=1,DELETEUSER='" + strUserID + "',DELETETIME=GETDATE() where TABLENAME='cw_vouchers_gl' and SERIALNO='" + cfVOUALLNO + "' and STARTGID='" + strCwSTARTGID + "'";
|
|
|
bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
|
|
|
if (VOUAUTOCHECK == "1")
|
|
|
{
|
|
|
string blSQL2 = "update cw_vouchers_gl set ISCHECKED=1,CHECKED='" + strUserID + "',CHECKEDTIME=getdate() where VOUALLNO='" + cfVOUALLNO + "' and [STARTGID]='" + strCwSTARTGID + "'";
|
|
|
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(blSQL2);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//result.Success = false;
|
|
|
//result.Message = result.Message;
|
|
|
//return result;
|
|
|
|
|
|
//删除ch_fee_invoice中未生成的凭证号
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='' where VOUNO='" + cfVOUALLNO + "'" + sAndGids.Trim();
|
|
|
//删除凭证生成关系表中的ch_fee_invoice的GID数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "delete from [cw_vouno_bs_gl] where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
return -2;//重复数据
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//result.Success = true;
|
|
|
//result.Message = result.Message;
|
|
|
//return result;
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
protected static int getInvSC(DataSet dsCwDesign, DataSet dsCwDesignItem, string sAndGids, MsCwVouchersGl3 headData, List<MsCwVouchersGl4> bodyList, string strUserID, string strCompanyID, string cfVOUALLNO, string VOUAUTOCHECK)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
#region 基本变量
|
|
|
//全部
|
|
|
string sSQL = "";
|
|
|
string strEXPLAN = "";
|
|
|
string strFCY = "RMB";
|
|
|
Decimal dEXCHANGERATE = 0;
|
|
|
//应收应付账款
|
|
|
Decimal iAMTDR = 0;
|
|
|
Decimal iAMTCR = 0;
|
|
|
//差额主营业务收入
|
|
|
Decimal dRMBS = 0;
|
|
|
Decimal dRMBF = 0;
|
|
|
Decimal dUSDS = 0;
|
|
|
Decimal dUSDF = 0;
|
|
|
//总合计
|
|
|
//Decimal strJie = 0;
|
|
|
//Decimal strDai = 0;
|
|
|
string strBPVW = dsCwDesign.Tables[0].Rows[0]["TVW"].ToString().Trim();
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(strUserID);
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUserID);
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置
|
|
|
//科目设置 应收RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() + "'";
|
|
|
DataSet dsAR = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//科目设置 应收USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim() + "'";
|
|
|
DataSet dsARFC = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//主营业务收入 收入RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() + "'";
|
|
|
DataSet dsMBINCOME = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//主营收入外币 收入USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim() + "'";
|
|
|
DataSet dsTMFCI = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//销项税
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim() + "'";
|
|
|
DataSet dsOUTPUTTAX = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
#endregion
|
|
|
|
|
|
#region 摘要
|
|
|
|
|
|
|
|
|
string DREXPLAN = dsCwDesign.Tables[0].Rows[0]["INVDREXPLAN"].ToString().Trim();
|
|
|
string CREXPLAN = dsCwDesign.Tables[0].Rows[0]["INVCREXPLAN"].ToString().Trim();
|
|
|
string MBINCOMEEXPLAN = dsCwDesign.Tables[0].Rows[0]["INVMBINCOMEEXPLAN"].ToString().Trim();
|
|
|
string MBSPENDINGEXPLAN = dsCwDesign.Tables[0].Rows[0]["INVMBSPENDINGEXPLAN"].ToString().Trim();
|
|
|
|
|
|
|
|
|
string strISEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",CUSTOMERNAME";//是否收付客户名称CUSTOMERNAME
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",MBLNO";//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",SALE";//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISINVEXPLANONRATE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",INVRATE,INVOICENO";//是否主提单号
|
|
|
}else
|
|
|
{
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",VESSEL";//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",VOYNO";//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",BSSOURCE";//是否业务来源
|
|
|
//}
|
|
|
|
|
|
string strISEXPLANnull = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",CUSTOMERNAME";//是否收付客户名称CUSTOMERNAME
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",MBLNO";//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",SALE";//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",VESSEL";//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",VOYNO";//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",BSSOURCE";//是否业务来源
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBILLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",BILLNO_ACAD";//是否申请单号
|
|
|
//}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 票号
|
|
|
if (strISEXPLAN.IndexOf(dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim()) < 0)
|
|
|
{
|
|
|
strISEXPLAN += "," + dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf(dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim()) < 0)
|
|
|
{
|
|
|
strISEXPLANnull += "," + dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 核算科目_分录
|
|
|
//string sqlItemAR = "";
|
|
|
//string sqlItemARFC = "";
|
|
|
//string sqlItemMBINCOME = "";
|
|
|
//string sqlItemTMFCI = "";
|
|
|
#endregion
|
|
|
|
|
|
#region 基本数据集
|
|
|
string strORDNO = getGid();
|
|
|
string sqlAR = "";
|
|
|
string sqlARFC = "";
|
|
|
string sqlMBINCOME = "";
|
|
|
string sqlTMFCI = "";
|
|
|
string sqlOUTPUTTAX = "";
|
|
|
string sqlOUTPUTTAXUSD = "";
|
|
|
IList<MsCwVouitemsGl> CwVouitemsEntities = new List<MsCwVouitemsGl>();
|
|
|
string strCondition = sAndGids + " and GID in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and VOUALLNO='" + cfVOUALLNO + "' and STARTGID='" + strCwSTARTGID + "')";
|
|
|
|
|
|
//是否按照系统录入汇率
|
|
|
if (headData.ISRATE == true)
|
|
|
{
|
|
|
#region 科目设置:应收RMB dsAR、应收USD dsARFC
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim())
|
|
|
{
|
|
|
#region 应收RMB==应收USD
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsAR.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " GROUP BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlAR += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
//
|
|
|
sqlARFC = "SELECT EXCHANGERATE,CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " GROUP BY EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,'RMB' CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlAR += " GROUP BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 应收RMB!=应收USD
|
|
|
//应收RMB
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " GROUP BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
|
|
|
//应收USD
|
|
|
#region 核算项目
|
|
|
sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " GROUP BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;//
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:主营业务收入RMB dsMBINCOME、主营收入外币USD dsTMFCI
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim())
|
|
|
{
|
|
|
#region 主营业务收入RMB==主营收入外币USD
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
sISEXPLAN += ",INVOICECUSTNAME";//是否核算项目
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
//
|
|
|
sqlTMFCI = "SELECT EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT (SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 主营业务收入RMB!=主营收入外币USD
|
|
|
//主营业务收入RMB
|
|
|
string sISEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlMBINCOME = "SELECT INVOICECUSTNAME,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
//主营收入外币USD
|
|
|
sISEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlTMFCI = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:销项税 dsOUTPUTTAX
|
|
|
#region 核算项目
|
|
|
string ssISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
ssISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlOUTPUTTAX = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From v_ch_fee_invoice_pz WHERE 1=1 and TAX<>0" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlOUTPUTTAX += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
//
|
|
|
sqlOUTPUTTAXUSD = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAXUSD += " From v_ch_fee_invoice_pz WHERE 1=1 and TAX<>0" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlOUTPUTTAXUSD += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAXUSD += " ORDER BY CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlOUTPUTTAX = "SELECT INVOICECUSTNAME,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From v_ch_fee_invoice_pz WHERE 1=1 and TAX<>0" + strCondition;
|
|
|
sqlOUTPUTTAX += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 提取费率
|
|
|
string tbRATE = "";
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
if (bodyList.Count > 0)
|
|
|
{
|
|
|
for (int i = 0; i < bodyList.Count; i++)
|
|
|
{
|
|
|
tbRATE += " WHEN CURRENCY='" + bodyList[i].CURR.ToString().Trim() + "' THEN " + bodyList[i].FCYEXRATE.ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:应收RMB dsAR、应收USD dsARFC
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim())
|
|
|
{
|
|
|
#region 应收RMB==应收USD
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsAR.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,EXCHANGERATE,CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " group BY INVOICECUSTNAME,EXCHANGERATE,CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
//
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " group BY INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlAR += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 应收RMB!=应收USD
|
|
|
//应收RMB
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlAR = "SELECT INVOICECUSTNAME,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
|
|
|
//应收USD
|
|
|
#region 核算项目
|
|
|
sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlARFC = "SELECT INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,MAX(GOODSNAME) AS GOODSNAME,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " group BY INVOICECUSTNAME,(CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:主营业务收入RMB dsMBINCOME、主营收入外币USD dsTMFCI
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim())
|
|
|
{
|
|
|
#region 主营业务收入RMB==主营收入外币USD
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
sISEXPLAN += ",INVOICECUSTNAME";//是否核算项目
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
|
|
|
sqlMBINCOME = "SELECT SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + "";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 主营业务收入RMB!=主营收入外币USD
|
|
|
//主营业务收入RMB
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
sISEXPLAN += ",INVOICECUSTNAME";//是否核算项目
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlMBINCOME = "SELECT SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
//主营收入外币USD
|
|
|
sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("SALE") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
sISEXPLAN += ",INVOICECUSTNAME";//是否核算项目
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlTMFCI = "SELECT (CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,SUM(AMOUNT) AS je,SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From v_ch_fee_invoice_pz WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY (CASE" + tbRATE + " ELSE EXCHANGERATE END),CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:销项税 dsOUTPUTTAX
|
|
|
#region 核算项目
|
|
|
string ssISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
ssISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
sqlOUTPUTTAX = "SELECT INVOICECUSTNAME,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From v_ch_fee_invoice_pz WHERE 1=1 and TAX<>0" + strCondition + "";
|
|
|
sqlOUTPUTTAX += " group BY INVOICECUSTNAME,VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
DataSet dsVWChFeeInvoiceAR = T_ALL_DA.GetAllSQL(sqlAR);
|
|
|
DataSet dsVWChFeeInvoiceARFC = null;
|
|
|
if (sqlARFC.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceARFC = T_ALL_DA.GetAllSQL(sqlARFC);
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceMBINCOME = T_ALL_DA.GetAllSQL(sqlMBINCOME);
|
|
|
DataSet dsVWChFeeInvoiceTMFCI = null;
|
|
|
if (sqlTMFCI.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceTMFCI = T_ALL_DA.GetAllSQL(sqlTMFCI);
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceOUTPUTTAX = T_ALL_DA.GetAllSQL(sqlOUTPUTTAX);
|
|
|
DataSet dsVWChFeeInvoiceOUTPUTTAXUSD = null;
|
|
|
if (sqlOUTPUTTAXUSD.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceOUTPUTTAXUSD = T_ALL_DA.GetAllSQL(sqlOUTPUTTAXUSD);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (dsVWChFeeInvoiceAR != null || dsVWChFeeInvoiceARFC != null)
|
|
|
{
|
|
|
#region 明细表_实体类
|
|
|
#region 插入明细表:应收RMB dsAR
|
|
|
if (dsVWChFeeInvoiceAR != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceAR.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = DREXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISINVEXPLANONRATE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceAR.Tables[0].Rows[i]["GOODSNAME"].ToString().Trim() == "仓储费")
|
|
|
{
|
|
|
strEXPLAN += " 应收仓储费(" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (Convert.ToDecimal(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVRATE"].ToString()) == 0)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() == "RMB")
|
|
|
{
|
|
|
strEXPLAN += " 应收代理运杂费(" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
else if (dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() == "USD")
|
|
|
{
|
|
|
strEXPLAN += " 应收代理海运费(" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
}
|
|
|
else if (Convert.ToDecimal(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVRATE"].ToString()) == 6)
|
|
|
{
|
|
|
strEXPLAN += " 应收代理杂费(" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
else if (Convert.ToDecimal(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVRATE"].ToString()) == 10)
|
|
|
{
|
|
|
strEXPLAN += " 应收陆运费(" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否收付船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币编号usd
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCNAME = dsAR.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsAR.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceAR.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsAR.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
dEXCHANGERATE = 1;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
if (strBLNONAME.Trim() != "")
|
|
|
{
|
|
|
MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceAR.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:应收外币 dsARFC
|
|
|
if (dsVWChFeeInvoiceARFC != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceARFC.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = DREXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISINVEXPLANONRATE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["GOODSNAME"].ToString().Trim() == "仓储费")
|
|
|
{
|
|
|
strEXPLAN += " 应收仓储费(" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
if (Convert.ToDecimal(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVRATE"].ToString()) == 0)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() == "RMB")
|
|
|
{
|
|
|
strEXPLAN += " 应收代理运杂费(" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
else if (dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() == "USD")
|
|
|
{
|
|
|
strEXPLAN += " 应收代理海运费(" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
}
|
|
|
else if (Convert.ToDecimal(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVRATE"].ToString()) == 6)
|
|
|
{
|
|
|
strEXPLAN += " 应收代理杂费(" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
else if (Convert.ToDecimal(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVRATE"].ToString()) == 10)
|
|
|
{
|
|
|
strEXPLAN += " 应收陆运费(" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim() + ")";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否收付船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否收付航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
MsCwVouitemsGl.FCYDR = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["je"].ToString().Trim());//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCNAME = dsARFC.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsARFC.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceARFC.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsARFC.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
dEXCHANGERATE = MsCwVouitemsGl.FCYEXRATE;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
if (strBLNONAME.Trim() != "")
|
|
|
{
|
|
|
MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:主营业务收入
|
|
|
Decimal dRMB = dRMBS - dRMBF;
|
|
|
Decimal dUSD = dUSDS - dUSDF;
|
|
|
//收入\成本 生成 全额\差额
|
|
|
Decimal strJie = dRMBS + dUSDS * dEXCHANGERATE;
|
|
|
Decimal strDai = dRMBF + dUSDF * dEXCHANGERATE;
|
|
|
//
|
|
|
#region 全额
|
|
|
if (dsVWChFeeInvoiceMBINCOME != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceMBINCOME.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = MBINCOMEEXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
|
|
|
//else
|
|
|
//{
|
|
|
// strEXPLAN = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim();
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsMBINCOME.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsMBINCOME.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (dsVWChFeeInvoiceTMFCI != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceTMFCI.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = MBINCOMEEXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISSALE"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["SALE"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
//else
|
|
|
//{
|
|
|
// strEXPLAN = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim();
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入_外币
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["je"].ToString().Trim());//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsTMFCI.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceTMFCI.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsTMFCI.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:销项税
|
|
|
if (dsVWChFeeInvoiceOUTPUTTAX != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
strEXPLAN = MBINCOMEEXPLAN;
|
|
|
var ISEXPLAN = false;
|
|
|
if (strEXPLAN != "") ISEXPLAN = true;
|
|
|
if (ISEXPLAN)
|
|
|
{
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票抬头]", dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["INVOICECUSTNAME"].ToString().Trim());
|
|
|
strEXPLAN = strEXPLAN.Replace("[发票号]", dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["INVOICENO"].ToString().Trim());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsOUTPUTTAX.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsOUTPUTTAX.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 插入主表
|
|
|
MsCwVouchersGl MsCwVouchersGl = new MsCwVouchersGl();
|
|
|
MsCwVouchersGl.ORDNO = strORDNO.Trim();//唯一编码 newid() varchar (36)
|
|
|
MsCwVouchersGl.VOUDATE = headData.VOUDATE;//凭证日期
|
|
|
MsCwVouchersGl.ISAUTO = true;
|
|
|
|
|
|
//strY + "~" + strM + "~" + sVOUNO + "~" + strVOUNO + "~" + strVOUDATE + "~" + strACCDATE;
|
|
|
//string sACCDATE = headData.VOUDATE.Substring(0, 7);
|
|
|
//if (DateTime.Parse(sACCDATE + "-01") < DateTime.Parse(strACCDATE + "-01"))
|
|
|
//{
|
|
|
// sACCDATE = strACCDATE;
|
|
|
//}
|
|
|
//string strVOUNOhj = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(strBPVW.Trim(), sACCDATE);
|
|
|
//string[] items = strVOUNOhj.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
//string sVOUNO = items[2].ToString().Trim();
|
|
|
//string strVOUNO = items[3].ToString().Trim();
|
|
|
MsCwVouchersGl.VOUNO = int.Parse(cfVOUALLNO.Substring(cfVOUALLNO.Length - 4)).ToString();//sVOUNO;//月初清零 varchar (16)
|
|
|
|
|
|
MsCwVouchersGl.ACCYEAR = DateTime.Parse(headData.VOUDATE.ToString()).Year.ToString();//年
|
|
|
MsCwVouchersGl.ACCMONTH = DateTime.Parse(headData.VOUDATE.ToString()).Month.ToString();//月
|
|
|
if (MsCwVouchersGl.ACCMONTH.ToString().Length == 1)
|
|
|
{
|
|
|
MsCwVouchersGl.ACCMONTH = "0" + MsCwVouchersGl.ACCMONTH.ToString();//月
|
|
|
}
|
|
|
MsCwVouchersGl.VKNO = strBPVW.Trim();//凭证字
|
|
|
//MsCwVouchersGl.VOUALLNO = MsCwVouchersGl.VKNO + MsCwVouchersGl.ACCYEAR + MsCwVouchersGl.ACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
MsCwVouchersGl.VOUALLNO = cfVOUALLNO.Replace("记", strBPVW.Trim());//年+月+自动生成编号=凭证号
|
|
|
MsCwVouchersGl.ATTACHS = 1;// int.Parse(dsCwDesign.Tables[0].Rows[0]["AFFIXNO"].ToString().Trim());//附件(单据)数
|
|
|
MsCwVouchersGl.AMTDR = strJie;// iAMTDR;//本位币借方
|
|
|
MsCwVouchersGl.AMTCR = strDai;//iAMTDR;// iAMTCR;//本位币贷方
|
|
|
MsCwVouchersGl.FCY = strFCY;//是否含有外币科目
|
|
|
MsCwVouchersGl.QTY = "";//是否含有数量科目
|
|
|
MsCwVouchersGl.VOUPROP = "";//凭证属性
|
|
|
MsCwVouchersGl.PREPARED = headData.PREPARED.ToString().Trim();//制单人
|
|
|
MsCwVouchersGl.CHECKED = "";//审核人
|
|
|
MsCwVouchersGl.ENTERED = "";//记账人
|
|
|
MsCwVouchersGl.ERRMSG = "";//错误信息
|
|
|
MsCwVouchersGl.ISDELETE = false;//是否废除
|
|
|
MsCwVouchersGl.DELETEUSER = "";//废除操作人
|
|
|
MsCwVouchersGl.STARTGID = strCwSTARTGID;
|
|
|
MsCwVouchersGl.DbOperationType = DbOperationType.DbotIns;
|
|
|
MsCwVouchersGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouchersGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouchersGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouchersGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
|
|
|
#region 生成入库
|
|
|
var modb = new ModelObjectDB();
|
|
|
result = modb.Save(MsCwVouchersGl);
|
|
|
var strexplan = "";
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
int n = 1;
|
|
|
foreach (var enumValue in CwVouitemsEntities)
|
|
|
{
|
|
|
if (!string.IsNullOrEmpty(enumValue.EXPLAN)) strexplan = enumValue.EXPLAN;
|
|
|
else {
|
|
|
if (!string.IsNullOrEmpty(strexplan)) enumValue.EXPLAN = strexplan;
|
|
|
else enumValue.EXPLAN = "发票";
|
|
|
|
|
|
}
|
|
|
enumValue.GID = Guid.NewGuid().ToString();
|
|
|
enumValue.ITEMNO = n;
|
|
|
enumValue.DbOperationType = DbOperationType.DbotIns;
|
|
|
var modb2 = new ModelObjectDB();
|
|
|
DBResult result2 = modb2.Save(enumValue);
|
|
|
n++;
|
|
|
}
|
|
|
|
|
|
//更新凭证生成关系表中的ORDNO数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "update [cw_vouno_bs_gl] set ORDNO='" + MsCwVouchersGl.ORDNO + "' where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
|
|
|
blSQL = "update code_fill_serialno set ISDELETE=1,DELETEUSER='" + strUserID + "',DELETETIME=GETDATE() where TABLENAME='cw_vouchers_gl' and SERIALNO='" + cfVOUALLNO + "' and STARTGID='" + strCwSTARTGID + "'";
|
|
|
bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
if (VOUAUTOCHECK == "1")
|
|
|
{
|
|
|
string blSQL2 = "update cw_vouchers_gl set ISCHECKED=1,CHECKED='" + strUserID + "',CHECKEDTIME=getdate() where VOUALLNO='" + cfVOUALLNO + "' and [STARTGID]='" + strCwSTARTGID + "'";
|
|
|
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(blSQL2);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//result.Success = false;
|
|
|
//result.Message = result.Message;
|
|
|
//return result;
|
|
|
|
|
|
//删除ch_fee_invoice中未生成的凭证号
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='' where VOUNO='" + cfVOUALLNO + "'" + sAndGids.Trim();
|
|
|
//删除凭证生成关系表中的ch_fee_invoice的GID数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "delete from [cw_vouno_bs_gl] where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
return -2;//重复数据
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//删除ch_fee_invoice中未生成的凭证号
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='' where VOUNO='" + cfVOUALLNO + "'" + sAndGids.Trim();
|
|
|
//删除凭证生成关系表中的ch_fee_invoice的GID数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "delete from [cw_vouno_bs_gl] where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
return -3;//结算无明细数据
|
|
|
}
|
|
|
//result.Success = true;
|
|
|
//result.Message = result.Message;
|
|
|
//return result;
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
protected static int getSC(DataSet dsCwDesign, DataSet dsCwDesignItem, string sAndGids, MsCwVouchersGl3 headData, List<MsCwVouchersGl4> bodyList, string strUserID, string strCompanyID, string cfVOUALLNO)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
#region 基本变量
|
|
|
//全部
|
|
|
string sSQL = "";
|
|
|
string strEXPLAN = "";
|
|
|
string strFCY = "RMB";
|
|
|
Decimal dEXCHANGERATE = 0;
|
|
|
//应收应付账款
|
|
|
Decimal iAMTDR = 0;
|
|
|
Decimal iAMTCR = 0;
|
|
|
//差额主营业务收入
|
|
|
Decimal dRMBS = 0;
|
|
|
Decimal dRMBF = 0;
|
|
|
Decimal dUSDS = 0;
|
|
|
Decimal dUSDF = 0;
|
|
|
//总合计
|
|
|
//Decimal strJie = 0;
|
|
|
//Decimal strDai = 0;
|
|
|
string strBPVW = dsCwDesign.Tables[0].Rows[0]["TVW"].ToString().Trim();
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(strUserID);
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUserID);
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置
|
|
|
//科目设置 应收RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() + "'";
|
|
|
DataSet dsAR = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//科目设置 应收USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim() + "'";
|
|
|
DataSet dsARFC = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//主营业务收入 收入RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() + "'";
|
|
|
DataSet dsMBINCOME = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//主营收入外币 收入USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim() + "'";
|
|
|
DataSet dsTMFCI = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
|
|
|
//销项税
|
|
|
sSQL = "SELECT top 1 * from cw_accitems_gl where [YEAR]=SUBSTRING('" + strCwACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' and ACCID='" + dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim() + "'";
|
|
|
DataSet dsOUTPUTTAX = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
#endregion
|
|
|
|
|
|
#region 摘要
|
|
|
string strISEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",CUSTOMERNAME";//是否收付客户名称CUSTOMERNAME
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",MBLNO";//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",VESSEL";//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",VOYNO";//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += ",BSSOURCE";//是否业务来源
|
|
|
//}
|
|
|
|
|
|
string strISEXPLANnull = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",CUSTOMERNAME";//是否收付客户名称CUSTOMERNAME
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",INVOICENO";//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLANnull += ",MBLNO";//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",VESSEL";//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",VOYNO";//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",BSSOURCE";//是否业务来源
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBILLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLANnull += ",BILLNO_ACAD";//是否申请单号
|
|
|
//}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 票号
|
|
|
if (strISEXPLAN.IndexOf(dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim()) < 0)
|
|
|
{
|
|
|
strISEXPLAN += "," + dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf(dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim()) < 0)
|
|
|
{
|
|
|
strISEXPLANnull += "," + dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 核算科目_分录
|
|
|
//string sqlItemAR = "";
|
|
|
//string sqlItemARFC = "";
|
|
|
//string sqlItemMBINCOME = "";
|
|
|
//string sqlItemTMFCI = "";
|
|
|
#endregion
|
|
|
|
|
|
#region 基本数据集
|
|
|
string strORDNO = getGid();
|
|
|
string sqlAR = "";
|
|
|
string sqlARFC = "";
|
|
|
string sqlMBINCOME = "";
|
|
|
string sqlTMFCI = "";
|
|
|
string sqlOUTPUTTAX = "";
|
|
|
string sqlOUTPUTTAXUSD = "";
|
|
|
IList<MsCwVouitemsGl> CwVouitemsEntities = new List<MsCwVouitemsGl>();
|
|
|
string strCondition = sAndGids + " and GID in (select [BSGID] from [cw_vouno_bs_gl] WITH(NOLOCK) where BSTABLENAME='ch_fee_invoice' and VOUALLNO='" + cfVOUALLNO + "' and STARTGID='" + strCwSTARTGID + "')";
|
|
|
|
|
|
//是否按照系统录入汇率
|
|
|
if (headData.ISRATE == true)
|
|
|
{
|
|
|
#region 科目设置:应收RMB dsAR、应收USD dsARFC
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim())
|
|
|
{
|
|
|
#region 应收RMB==应收USD
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsAR.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlAR = "SELECT EXCHANGERATE,CURRENCY,AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
//
|
|
|
sqlARFC = "SELECT EXCHANGERATE,CURRENCY,AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlAR = "SELECT AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + "";
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 应收RMB!=应收USD
|
|
|
//应收RMB
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlAR = "SELECT AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
|
|
|
//应收USD
|
|
|
#region 核算项目
|
|
|
sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlARFC = "SELECT EXCHANGERATE,CURRENCY,AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:主营业务收入RMB dsMBINCOME、主营收入外币USD dsTMFCI
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim())
|
|
|
{
|
|
|
#region 主营业务收入RMB==主营收入外币USD
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
//
|
|
|
sqlTMFCI = "SELECT EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT (SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + "";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 主营业务收入RMB!=主营收入外币USD
|
|
|
//主营业务收入RMB
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlMBINCOME = "SELECT (SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
//主营收入外币USD
|
|
|
sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlTMFCI = "SELECT EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:销项税 dsOUTPUTTAX
|
|
|
#region 核算项目
|
|
|
string ssISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
ssISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlOUTPUTTAX = "SELECT EXCHANGERATE,CURRENCY,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From VW_ch_fee_invoice WHERE 1=1 and TAX<>0" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlOUTPUTTAX += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
//
|
|
|
sqlOUTPUTTAXUSD = "SELECT EXCHANGERATE,CURRENCY,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAXUSD += " From VW_ch_fee_invoice WHERE 1=1 and TAX<>0" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlOUTPUTTAXUSD += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAXUSD += " ORDER BY CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlOUTPUTTAX = "SELECT SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From VW_ch_fee_invoice WHERE 1=1 and TAX<>0" + strCondition;
|
|
|
sqlOUTPUTTAX += " group BY VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 提取费率
|
|
|
string tbRATE = "";
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
if (bodyList.Count > 0)
|
|
|
{
|
|
|
for (int i = 0; i < bodyList.Count; i++)
|
|
|
{
|
|
|
tbRATE += " WHEN CURRENCY='" + bodyList[i].CURR.ToString().Trim() + "' THEN " + bodyList[i].FCYEXRATE.ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:应收RMB dsAR、应收USD dsARFC
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim())
|
|
|
{
|
|
|
#region 应收RMB==应收USD
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsAR.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlAR = "SELECT EXCHANGERATE,CURRENCY,AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
//
|
|
|
sqlARFC = "SELECT (CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlAR = "SELECT AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + "";
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 应收RMB!=应收USD
|
|
|
//应收RMB
|
|
|
#region 核算项目
|
|
|
string sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlAR = "SELECT AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlAR += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlAR += " ORDER BY VOUNO" + strISEXPLAN + sISEXPLAN;
|
|
|
|
|
|
//应收USD
|
|
|
#region 核算项目
|
|
|
sISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLAN.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlARFC = "SELECT (CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,AMOUNT AS je,Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END))) AS hj " + strISEXPLAN + sISEXPLAN;
|
|
|
sqlARFC += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlARFC += " ORDER BY CURRENCY" + strISEXPLAN + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:主营业务收入RMB dsMBINCOME、主营收入外币USD dsTMFCI
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim() == dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim())
|
|
|
{
|
|
|
#region 主营业务收入RMB==主营收入外币USD
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
//
|
|
|
sqlTMFCI = "SELECT (CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END))))-SUM(Convert(decimal(18,2),(TAX*(CASE" + tbRATE + " ELSE EXCHANGERATE END))))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlMBINCOME = "SELECT (SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END))))-SUM(Convert(decimal(18,2),(TAX*(CASE" + tbRATE + " ELSE EXCHANGERATE END))))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + "";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 主营业务收入RMB!=主营收入外币USD
|
|
|
//主营业务收入RMB
|
|
|
string sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlMBINCOME = "SELECT (SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*EXCHANGERATE)))-SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE)))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlMBINCOME += " group BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlMBINCOME += " ORDER BY VOUNO" + strISEXPLANnull + sISEXPLAN;
|
|
|
|
|
|
//主营收入外币USD
|
|
|
sISEXPLAN = "";
|
|
|
#region 核算项目
|
|
|
//是否核算客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
sISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
sISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币,因 应收RMB!=应收USD,所以此处不需核算外币
|
|
|
sqlTMFCI = "SELECT (CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,(SUM(AMOUNT)-SUM(TAX)) AS je,(SUM(Convert(decimal(18,2),(AMOUNT*(CASE" + tbRATE + " ELSE EXCHANGERATE END))))-SUM(Convert(decimal(18,2),(TAX*(CASE" + tbRATE + " ELSE EXCHANGERATE END))))) AS hj " + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " From VW_ch_fee_invoice WHERE 1=1" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlTMFCI += " group BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
sqlTMFCI += " ORDER BY CURRENCY" + strISEXPLANnull + sISEXPLAN;
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 科目设置:销项税 dsOUTPUTTAX
|
|
|
#region 核算项目
|
|
|
string ssISEXPLAN = "";
|
|
|
//是否核算客户
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() != "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否发票单位
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (strISEXPLANnull.IndexOf("CUSTOMERNAME") < 0)
|
|
|
{
|
|
|
ssISEXPLAN += ",CUSTOMERNAME";//是否委托单位
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//是否核算人员
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",SALE";//是否揽货人
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
ssISEXPLAN += ",DEPTGID";//是否揽货人的部门
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
ssISEXPLAN += ",OPLBNAME";//是否核算项目
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//ISFCY 是否核算外币
|
|
|
if (dsOUTPUTTAX.Tables[0].Rows[0]["ISFCY"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sqlOUTPUTTAX = "SELECT EXCHANGERATE,CURRENCY,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*EXCHANGERATE))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From VW_ch_fee_invoice WHERE 1=1 and TAX<>0" + strCondition + " and CURRENCY='RMB'";
|
|
|
sqlOUTPUTTAX += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
//
|
|
|
sqlOUTPUTTAXUSD = "SELECT (CASE" + tbRATE + " ELSE EXCHANGERATE END) as EXCHANGERATE,CURRENCY,SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAXUSD += " From VW_ch_fee_invoice WHERE 1=1 and TAX<>0" + strCondition + " and CURRENCY<>'RMB'";
|
|
|
sqlOUTPUTTAXUSD += " group BY EXCHANGERATE,CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAXUSD += " ORDER BY CURRENCY" + strISEXPLANnull + ssISEXPLAN;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sqlOUTPUTTAX = "SELECT SUM(TAX) AS je,SUM(Convert(decimal(18,2),(TAX*(CASE" + tbRATE + " ELSE EXCHANGERATE END)))) AS hj " + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " From VW_ch_fee_invoice WHERE 1=1 and TAX<>0" + strCondition + "";
|
|
|
sqlOUTPUTTAX += " group BY VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
sqlOUTPUTTAX += " ORDER BY VOUNO" + strISEXPLANnull + ssISEXPLAN;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceAR = T_ALL_DA.GetAllSQL(sqlAR);
|
|
|
DataSet dsVWChFeeInvoiceARFC = null;
|
|
|
if (sqlARFC.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceARFC = T_ALL_DA.GetAllSQL(sqlARFC);
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceMBINCOME = T_ALL_DA.GetAllSQL(sqlMBINCOME);
|
|
|
DataSet dsVWChFeeInvoiceTMFCI = null;
|
|
|
if (sqlTMFCI.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceTMFCI = T_ALL_DA.GetAllSQL(sqlTMFCI);
|
|
|
}
|
|
|
DataSet dsVWChFeeInvoiceOUTPUTTAX = T_ALL_DA.GetAllSQL(sqlOUTPUTTAX);
|
|
|
DataSet dsVWChFeeInvoiceOUTPUTTAXUSD = null;
|
|
|
if (sqlOUTPUTTAXUSD.Trim() != "")
|
|
|
{
|
|
|
dsVWChFeeInvoiceOUTPUTTAXUSD = T_ALL_DA.GetAllSQL(sqlOUTPUTTAXUSD);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (dsVWChFeeInvoiceAR != null || dsVWChFeeInvoiceARFC != null)
|
|
|
{
|
|
|
#region 明细表_实体类
|
|
|
#region 插入明细表:应收RMB dsAR
|
|
|
if (dsVWChFeeInvoiceAR != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceAR.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否收付船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["AR"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币编号usd
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeInvoiceAR.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCNAME = dsAR.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsAR.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsAR.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsAR.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsAR.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceAR.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsAR.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceAR.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsAR.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
dEXCHANGERATE = 1;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
if (strBLNONAME.Trim() != "")
|
|
|
{
|
|
|
MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceAR.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceAR.Tables[0].Rows[i]["MBLNO"].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:应收外币 dsARFC
|
|
|
if (dsVWChFeeInvoiceARFC != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceARFC.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
strEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否收付船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否收付航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表 应收账款
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;// 行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
#region 应收账款
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["ARFC"].ToString().Trim();//应收账款科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = 0;//本位币贷方金额(互斥)
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
MsCwVouitemsGl.FCYDR = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["je"].ToString().Trim());//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
//
|
|
|
MsCwVouitemsGl.ACCNAME = dsARFC.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsARFC.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
//是否核算客户
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";//客户(系统)
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsARFC.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceARFC.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsARFC.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要
|
|
|
MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
dEXCHANGERATE = MsCwVouitemsGl.FCYEXRATE;//汇率
|
|
|
MsCwVouitemsGl.BLNO = "";
|
|
|
string strBLNONAME = dsCwDesign.Tables[0].Rows[0]["PiaoHao"].ToString().Trim();
|
|
|
if (strBLNONAME.Trim() != "")
|
|
|
{
|
|
|
MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i][strBLNONAME].ToString().Trim();
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// MsCwVouitemsGl.BLNO = dsVWChFeeInvoiceARFC.Tables[0].Rows[i]["MBLNO"].ToString().Trim();
|
|
|
//}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
#endregion
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 插入明细表:主营业务收入
|
|
|
Decimal dRMB = dRMBS - dRMBF;
|
|
|
Decimal dUSD = dUSDS - dUSDF;
|
|
|
//收入\成本 生成 全额\差额
|
|
|
Decimal strJie = dRMBS + dUSDS * dEXCHANGERATE;
|
|
|
Decimal strDai = dRMBF + dUSDF * dEXCHANGERATE;
|
|
|
//
|
|
|
#region 全额
|
|
|
if (dsVWChFeeInvoiceMBINCOME != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceMBINCOME.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["MBINCOME"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = "RMB";//外币
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsMBINCOME.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsMBINCOME.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceMBINCOME.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsMBINCOME.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (dsVWChFeeInvoiceTMFCI != null)
|
|
|
{
|
|
|
for (int i = 0; i < dsVWChFeeInvoiceTMFCI.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
#region 摘要内容
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
{
|
|
|
strEXPLAN = "";
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
}
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
//}
|
|
|
//if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
//}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 收入_外币
|
|
|
MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
//MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["TMFCI"].ToString().Trim();//主营业务收入科目贷码
|
|
|
MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
MsCwVouitemsGl.FCYCR = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["je"].ToString().Trim());//外币贷方金额
|
|
|
MsCwVouitemsGl.ACCNAME = dsTMFCI.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
}
|
|
|
//
|
|
|
string strACCALL = "";
|
|
|
MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
}
|
|
|
//是否核算人员_揽货人
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.SALE = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
}
|
|
|
//是否核算部门
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
strACCALL += "▁" + dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
}
|
|
|
//是否核算项目
|
|
|
if (dsTMFCI.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = "";
|
|
|
if (dsCwDesignItem != null)
|
|
|
{
|
|
|
for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
if (dsVWChFeeInvoiceTMFCI.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
{
|
|
|
MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsTMFCI.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceTMFCI.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
MsCwVouitemsGl.BLNO = "";//
|
|
|
MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
//#region 插入明细表:销项税
|
|
|
//if (dsVWChFeeInvoiceOUTPUTTAX != null)
|
|
|
//{
|
|
|
// for (int i = 0; i < dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows.Count; i++)
|
|
|
// {
|
|
|
// #region 摘要内容
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
// {
|
|
|
// strEXPLAN = "";
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
// }
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
// }
|
|
|
// //if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
// //{
|
|
|
// // strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
// //}
|
|
|
// //if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
// //{
|
|
|
// // strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
// //}
|
|
|
// //if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
// //{
|
|
|
// // strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
// //}
|
|
|
// }
|
|
|
// #endregion
|
|
|
|
|
|
// #region 收入
|
|
|
// MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
// //MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
// MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
// MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
// MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
// MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
// MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
// MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim();//主营业务收入科目贷码
|
|
|
// MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
// MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
// strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
// MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
// MsCwVouitemsGl.FCYNO = "RMB";//外币
|
|
|
// MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
// MsCwVouitemsGl.FCYCR = 0;//外币贷方金额
|
|
|
// MsCwVouitemsGl.ACCNAME = dsOUTPUTTAX.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
// MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
// MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
// MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
// MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.DC = "D";//借方向
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
// }
|
|
|
// //
|
|
|
// string strACCALL = "";
|
|
|
// MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
// MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
// MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
// strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
// }
|
|
|
// //是否核算人员_揽货人
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.SALE = dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
// strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
// }
|
|
|
// //是否核算部门
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
// strACCALL += "▁" + dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// //是否核算项目
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ITEMGID = "";
|
|
|
// if (dsCwDesignItem != null)
|
|
|
// {
|
|
|
// for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
// {
|
|
|
// if (dsVWChFeeInvoiceOUTPUTTAX.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
// strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsOUTPUTTAX.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
// MsCwVouitemsGl.FCYEXRATE = 1;//汇率
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
// }
|
|
|
// MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
// MsCwVouitemsGl.BLNO = "";//
|
|
|
// MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
// MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
// MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
// MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
// MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
// MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
// MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
// MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
// MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
// MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
// MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
// MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
// MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
// MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
// MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
// MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
// MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
// MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
// MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
// MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
// MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
// MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
// MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
// MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
// #endregion
|
|
|
// CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
//if (dsVWChFeeInvoiceOUTPUTTAXUSD != null)
|
|
|
//{
|
|
|
// for (int i = 0; i < dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows.Count; i++)
|
|
|
// {
|
|
|
// #region 摘要内容
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISMBINCOME"].ToString().Trim() == "False")//是否合并生成发票开出凭证中的主营业务科目
|
|
|
// {
|
|
|
// strEXPLAN = "";
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISCLIENTNAME"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISCUSTNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["INVOICENO"].ToString().Trim();//是否委托编号CUSTNO//发票号
|
|
|
// }
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISMBLNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["MBLNO"].ToString().Trim();//是否主提单号
|
|
|
// }
|
|
|
// //if (dsCwDesign.Tables[0].Rows[0]["ISVESSEL"].ToString().Trim() == "True")
|
|
|
// //{
|
|
|
// // strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["VESSEL"].ToString().Trim();//是否船名
|
|
|
// //}
|
|
|
// //if (dsCwDesign.Tables[0].Rows[0]["ISVOYNO"].ToString().Trim() == "True")
|
|
|
// //{
|
|
|
// // strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["VOYNO"].ToString().Trim();//是否航次
|
|
|
// //}
|
|
|
// //if (dsCwDesign.Tables[0].Rows[0]["ISBSSOURCE"].ToString().Trim() == "True")
|
|
|
// //{
|
|
|
// // strEXPLAN += " " + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["BSSOURCE"].ToString().Trim();//是否业务来源
|
|
|
// //}
|
|
|
// }
|
|
|
// #endregion
|
|
|
|
|
|
// #region 收入_外币
|
|
|
// MsCwVouitemsGl MsCwVouitemsGl = new MsCwVouitemsGl();
|
|
|
// //MsCwVouitemsGl.GID 唯一编码 newid()
|
|
|
// MsCwVouitemsGl.ORDNO = strORDNO.Trim();
|
|
|
// MsCwVouitemsGl.ITEMNO = 0;//行号
|
|
|
// MsCwVouitemsGl.PACCID = "";//父级科目贷码
|
|
|
// MsCwVouitemsGl.PROPERTY = 0;//科目属性
|
|
|
// MsCwVouitemsGl.GRADE = 0;//科目级别
|
|
|
// MsCwVouitemsGl.ACCID = dsCwDesign.Tables[0].Rows[0]["OUTPUTTAX"].ToString().Trim();//主营业务收入科目贷码
|
|
|
// MsCwVouitemsGl.AMTDR = 0;//本位币借方金额(互斥)
|
|
|
// MsCwVouitemsGl.AMTCR = Decimal.Parse(dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
// strDai = strDai + MsCwVouitemsGl.AMTCR;
|
|
|
// MsCwVouitemsGl.ISFCY = false;//是否外币
|
|
|
// MsCwVouitemsGl.FCYNO = dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["CURRENCY"].ToString().Trim();//外币
|
|
|
// strFCY = MsCwVouitemsGl.FCYNO;
|
|
|
// MsCwVouitemsGl.FCYDR = 0;//外币借方金额
|
|
|
// MsCwVouitemsGl.FCYCR = Decimal.Parse(dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["je"].ToString().Trim());//外币贷方金额
|
|
|
// MsCwVouitemsGl.ACCNAME = dsOUTPUTTAX.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
// MsCwVouitemsGl.ISDEPTACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
// MsCwVouitemsGl.ISEMPLACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
// MsCwVouitemsGl.ISCORPACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
// MsCwVouitemsGl.ISITEMACC = Boolean.Parse(dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.DC = "D";//借方向
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// MsCwVouitemsGl.DC = "C";//贷方向
|
|
|
// }
|
|
|
// //
|
|
|
// string strACCALL = "";
|
|
|
// MsCwVouitemsGl.CORPID = "";// strEMPLID;//人员(系统)本来应该放客户
|
|
|
// MsCwVouitemsGl.CUSTOMERNAME = "";// strSALE;//人员(系统)本来应该放客户
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.CORPID = "";//客户(系统)
|
|
|
// MsCwVouitemsGl.CUSTOMERNAME = dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
// strACCALL += "▁" + MsCwVouitemsGl.CUSTOMERNAME;
|
|
|
// }
|
|
|
// //是否核算人员_揽货人
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.SALE = dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["SALE"].ToString().Trim();//人员名称
|
|
|
// strACCALL += "▁" + MsCwVouitemsGl.SALE;
|
|
|
// }
|
|
|
// //是否核算部门
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.DEPTGID = dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["DEPTGID"].ToString().Trim();//揽货人的部门
|
|
|
// strACCALL += "▁" + dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["DEPTNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// //是否核算项目
|
|
|
// if (dsOUTPUTTAX.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ITEMGID = "";
|
|
|
// if (dsCwDesignItem != null)
|
|
|
// {
|
|
|
// for (int j = 0; j < dsCwDesignItem.Tables[0].Rows.Count; j++)
|
|
|
// {
|
|
|
// if (dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim() == dsCwDesignItem.Tables[0].Rows[j]["OPTYPE"].ToString().Trim())
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ITEMGID = dsCwDesignItem.Tables[0].Rows[j]["ITEMGID"].ToString().Trim();//是否核算项目
|
|
|
// strACCALL += "▁" + dsCwDesignItem.Tables[0].Rows[j]["ITEMNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// MsCwVouitemsGl.ACCALL = BasicDataRefDAL.setCAGA(dsOUTPUTTAX.Tables[0].Rows[0]["PACCGID"].ToString(), MsCwVouitemsGl.ACCNAME.ToString().Trim()) + strACCALL;
|
|
|
// MsCwVouitemsGl.FCYEXRATE = Decimal.Parse(dsVWChFeeInvoiceOUTPUTTAXUSD.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
// if (dsCwDesign.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ISSYS = false;//是否手动录入
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// MsCwVouitemsGl.ISSYS = true;//是否手动录入
|
|
|
// }
|
|
|
// MsCwVouitemsGl.EXPLAN = strEXPLAN;//摘要,规则生成 "转运费" +
|
|
|
// MsCwVouitemsGl.BLNO = "";//
|
|
|
// MsCwVouitemsGl.QTYUNIT = "";//数量包装单位
|
|
|
// MsCwVouitemsGl.QTYDR = 0;//借方数量
|
|
|
// MsCwVouitemsGl.QTYCR = 0;//贷方数量
|
|
|
// MsCwVouitemsGl.DEPTID = "";//部门(系统)
|
|
|
// MsCwVouitemsGl.EMPLID = "";//人员(系统)
|
|
|
// MsCwVouitemsGl.PITEMID = 0;//父级项目编号
|
|
|
// MsCwVouitemsGl.ITEMID = "";//项目编号
|
|
|
// MsCwVouitemsGl.FIELD1 = "";//预留字段1
|
|
|
// MsCwVouitemsGl.FIELD2 = "";//预留字段2
|
|
|
// MsCwVouitemsGl.FIELD3 = "";//预留字段3
|
|
|
// MsCwVouitemsGl.FIELD4 = "";//预留字段4
|
|
|
// MsCwVouitemsGl.FIELD5 = "";//预留字段5
|
|
|
// MsCwVouitemsGl.FIELD6 = "";//预留字段6
|
|
|
// MsCwVouitemsGl.FIELD7 = "";//预留字段7
|
|
|
// MsCwVouitemsGl.FIELD8 = "";//预留字段8
|
|
|
// MsCwVouitemsGl.FIELD9 = "";//预留字段9
|
|
|
// MsCwVouitemsGl.FIELD10 = "";//预留字段10
|
|
|
// MsCwVouitemsGl.FSETTLCODE = "";//结算方式
|
|
|
// MsCwVouitemsGl.FSETTLENO = "";//财务辅助编号
|
|
|
// MsCwVouitemsGl.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
// MsCwVouitemsGl.CREATEUSER = strUserID;//创建人
|
|
|
// MsCwVouitemsGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
// MsCwVouitemsGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
// MsCwVouitemsGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
// #endregion
|
|
|
// CwVouitemsEntities.Add(MsCwVouitemsGl);
|
|
|
// }
|
|
|
//}
|
|
|
//#endregion
|
|
|
#endregion
|
|
|
|
|
|
#region 插入主表
|
|
|
MsCwVouchersGl MsCwVouchersGl = new MsCwVouchersGl();
|
|
|
MsCwVouchersGl.ORDNO = strORDNO.Trim();//唯一编码 newid() varchar (36)
|
|
|
MsCwVouchersGl.VOUDATE = headData.VOUDATE;//凭证日期
|
|
|
|
|
|
//strY + "~" + strM + "~" + sVOUNO + "~" + strVOUNO + "~" + strVOUDATE + "~" + strACCDATE;
|
|
|
//string sACCDATE = headData.VOUDATE.Substring(0, 7);
|
|
|
//if (DateTime.Parse(sACCDATE + "-01") < DateTime.Parse(strACCDATE + "-01"))
|
|
|
//{
|
|
|
// sACCDATE = strACCDATE;
|
|
|
//}
|
|
|
//string strVOUNOhj = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(strBPVW.Trim(), sACCDATE);
|
|
|
//string[] items = strVOUNOhj.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
//string sVOUNO = items[2].ToString().Trim();
|
|
|
//string strVOUNO = items[3].ToString().Trim();
|
|
|
MsCwVouchersGl.VOUNO = int.Parse(cfVOUALLNO.Substring(cfVOUALLNO.Length-4)).ToString();//sVOUNO;//月初清零 varchar (16)
|
|
|
|
|
|
MsCwVouchersGl.ACCYEAR = DateTime.Parse(headData.VOUDATE.ToString()).Year.ToString();//年
|
|
|
MsCwVouchersGl.ACCMONTH = DateTime.Parse(headData.VOUDATE.ToString()).Month.ToString();//月
|
|
|
if (MsCwVouchersGl.ACCMONTH.ToString().Length == 1)
|
|
|
{
|
|
|
MsCwVouchersGl.ACCMONTH = "0" + MsCwVouchersGl.ACCMONTH.ToString();//月
|
|
|
}
|
|
|
MsCwVouchersGl.VKNO = strBPVW.Trim();//凭证字
|
|
|
//MsCwVouchersGl.VOUALLNO = MsCwVouchersGl.VKNO + MsCwVouchersGl.ACCYEAR + MsCwVouchersGl.ACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
MsCwVouchersGl.VOUALLNO = cfVOUALLNO.Replace("记", strBPVW.Trim());//年+月+自动生成编号=凭证号
|
|
|
MsCwVouchersGl.ATTACHS = 1;// int.Parse(dsCwDesign.Tables[0].Rows[0]["AFFIXNO"].ToString().Trim());//附件(单据)数
|
|
|
MsCwVouchersGl.AMTDR = strJie;// iAMTDR;//本位币借方
|
|
|
MsCwVouchersGl.AMTCR = strDai;//iAMTDR;// iAMTCR;//本位币贷方
|
|
|
MsCwVouchersGl.FCY = strFCY;//是否含有外币科目
|
|
|
MsCwVouchersGl.QTY = "";//是否含有数量科目
|
|
|
MsCwVouchersGl.VOUPROP = "";//凭证属性
|
|
|
MsCwVouchersGl.PREPARED = headData.PREPARED.ToString().Trim();//制单人
|
|
|
MsCwVouchersGl.CHECKED = "";//审核人
|
|
|
MsCwVouchersGl.ENTERED = "";//记账人
|
|
|
MsCwVouchersGl.ERRMSG = "";//错误信息
|
|
|
MsCwVouchersGl.ISDELETE = false;//是否废除
|
|
|
MsCwVouchersGl.DELETEUSER = "";//废除操作人
|
|
|
MsCwVouchersGl.STARTGID = strCwSTARTGID;
|
|
|
MsCwVouchersGl.DbOperationType = DbOperationType.DbotIns;
|
|
|
MsCwVouchersGl.CREATEUSER = strUserID;//创建人
|
|
|
MsCwVouchersGl.CREATETIME = DateTime.Now;//创建时间
|
|
|
MsCwVouchersGl.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
MsCwVouchersGl.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
MsCwVouchersGl.ISAUTO = true;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 生成入库
|
|
|
var modb = new ModelObjectDB();
|
|
|
result = modb.Save(MsCwVouchersGl);
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
int n = 1;
|
|
|
foreach (var enumValue in CwVouitemsEntities)
|
|
|
{
|
|
|
enumValue.GID = Guid.NewGuid().ToString();
|
|
|
enumValue.ITEMNO = n;
|
|
|
enumValue.DbOperationType = DbOperationType.DbotIns;
|
|
|
var modb2 = new ModelObjectDB();
|
|
|
DBResult result2 = modb2.Save(enumValue);
|
|
|
n++;
|
|
|
}
|
|
|
|
|
|
//更新凭证生成关系表中的ORDNO数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "update [cw_vouno_bs_gl] set ORDNO='" + MsCwVouchersGl.ORDNO + "' where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
|
|
|
blSQL = "update code_fill_serialno set ISDELETE=1,DELETEUSER='" + strUserID + "',DELETETIME=GETDATE() where TABLENAME='cw_vouchers_gl' and SERIALNO='" + cfVOUALLNO + "' and STARTGID='" + strCwSTARTGID + "'";
|
|
|
bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//result.Success = false;
|
|
|
//result.Message = result.Message;
|
|
|
//return result;
|
|
|
|
|
|
//删除ch_fee_invoice中未生成的凭证号
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='' where VOUNO='" + cfVOUALLNO + "'" + sAndGids.Trim();
|
|
|
//删除凭证生成关系表中的ch_fee_invoice的GID数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "delete from [cw_vouno_bs_gl] where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
return -2;//重复数据
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//删除ch_fee_invoice中未生成的凭证号
|
|
|
//string blSQL = "update ch_fee_invoice set VOUNO='' where VOUNO='" + cfVOUALLNO + "'" + sAndGids.Trim();
|
|
|
//删除凭证生成关系表中的ch_fee_invoice的GID数据
|
|
|
string strLS = sAndGids.Replace("GID", "BSGID");
|
|
|
string blSQL = "delete from [cw_vouno_bs_gl] where VOUALLNO='" + cfVOUALLNO + "' and BSTABLENAME='ch_fee_invoice' and [STARTGID]='" + strCwSTARTGID + "'" + strLS;
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blSQL);
|
|
|
return -3;//结算无明细数据
|
|
|
}
|
|
|
//result.Success = true;
|
|
|
//result.Message = result.Message;
|
|
|
//return result;
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
public static String getGid()
|
|
|
{
|
|
|
string strgid = Guid.NewGuid().ToString();
|
|
|
strgid = strgid.Replace("-", "");
|
|
|
strgid = "VOU" + strgid;
|
|
|
return strgid;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|