|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Configuration;
|
|
|
using System.Data;
|
|
|
using System.Linq;
|
|
|
using System.Web;
|
|
|
using System.Web.Security;
|
|
|
using System.Web.UI;
|
|
|
using System.Web.UI.HtmlControls;
|
|
|
using System.Web.UI.WebControls;
|
|
|
using System.Web.UI.WebControls.WebParts;
|
|
|
using DSWeb.Models;
|
|
|
using DSWeb.EntityDA;
|
|
|
using System.Text;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Xml.Linq;
|
|
|
using JsonHelper;
|
|
|
using System.Xml;
|
|
|
|
|
|
namespace DSWeb.CW
|
|
|
{
|
|
|
public partial class CwVouchersAddDoGridSource : System.Web.UI.Page
|
|
|
{
|
|
|
private string strReadXmlType = "";//读取xml串方式 "init"-初始化获取所有账户信息;"add"-添加新的账户信息;"delete"-删除账户信息;"exist"查看是否有与委托相关账户
|
|
|
private int iShowCount;//每页显示数据量
|
|
|
|
|
|
//delete
|
|
|
private string strCwVouchersAddDoGid;//账户信息GID
|
|
|
private string strHandle;//账户操作说明
|
|
|
private const int iResult = -99;//参数错误
|
|
|
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
private string strRange = String.Empty;//权限可视范围
|
|
|
RangeDA RangeDA = new RangeDA();
|
|
|
public string strUserID;//用户GID
|
|
|
public string strORDNO;//
|
|
|
public string strGIDS;//
|
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
if (Session["USERID"] != null)
|
|
|
{
|
|
|
strUserID = Session["USERID"].ToString().Trim();
|
|
|
}
|
|
|
//
|
|
|
#region 判断参数是否正确
|
|
|
if (Request.QueryString["read"] != null)
|
|
|
{
|
|
|
strReadXmlType = Request.QueryString["read"].ToString().Trim();
|
|
|
}
|
|
|
if (Request.QueryString["showcount"] != null)
|
|
|
{
|
|
|
iShowCount = int.Parse(Request.QueryString["showcount"].ToString());
|
|
|
}
|
|
|
if (Request.QueryString["ordno"] != null)
|
|
|
{
|
|
|
strORDNO = Request.QueryString["ordno"].ToString();
|
|
|
}
|
|
|
if (Request.QueryString["gids"] != null)
|
|
|
{
|
|
|
strGIDS = Request.QueryString["gids"].ToString();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
/*
|
|
|
//权限可视范围
|
|
|
strRange = RangeDA.GetVISIBLERANGE(strUserID.Trim(), "modOrderManagement");
|
|
|
if (strRange.Trim().Equals("0"))//全部
|
|
|
{
|
|
|
strRange = "";
|
|
|
}
|
|
|
else if (strRange.Trim().Equals("1"))//分公司
|
|
|
{
|
|
|
strRange = " and BSNO in(" + RangeDA.GetOrderManagementCompany(strUserID.Trim()) + ")";
|
|
|
}
|
|
|
else if (strRange.Trim().Equals("2"))//部门
|
|
|
{
|
|
|
strRange = " and BSNO in(" + RangeDA.GetOrderManagementDEPT(strUserID.Trim()) + ")";
|
|
|
}
|
|
|
else if (strRange.Trim().Equals("3"))//个人
|
|
|
{
|
|
|
strRange = " and BSNO in(" + RangeDA.GetOrderManagementPerson(strUserID.Trim()) + ")";
|
|
|
}
|
|
|
else if (strRange.Trim().Equals("4"))//无
|
|
|
{
|
|
|
strRange = " and 1<0";
|
|
|
}
|
|
|
else//空
|
|
|
{
|
|
|
strRange = " and 1<0";
|
|
|
}
|
|
|
*/
|
|
|
|
|
|
//
|
|
|
if (!strReadXmlType.Equals(""))
|
|
|
{
|
|
|
if (strReadXmlType.Equals("delete") || strReadXmlType.Equals("recover"))
|
|
|
{
|
|
|
strCwVouchersAddDoGid = (String)Request.QueryString["gid"] as String;
|
|
|
strHandle = (String)Request.QueryString["read"] as String;
|
|
|
if (strCwVouchersAddDoGid == null || strHandle == null)
|
|
|
{
|
|
|
Response.Write(iResult);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
string strQuery = DoExcute(strCwVouchersAddDoGid, strHandle);
|
|
|
Response.Write(strQuery);
|
|
|
}
|
|
|
}
|
|
|
else if (strReadXmlType.Equals("isvouchers"))
|
|
|
{
|
|
|
string strQuery = setVouchers();
|
|
|
Response.Write(strQuery);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
string strOutputXml = "";
|
|
|
strOutputXml = GetCells(iShowCount, strReadXmlType);
|
|
|
//输出XML字符串
|
|
|
Response.ContentType = "text/xml";
|
|
|
strOutputXml.Replace("&", "&");
|
|
|
Response.Write(strOutputXml);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//访问参数不正确
|
|
|
Response.ContentType = "text/xml";
|
|
|
Response.Write("-2");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户提交的
|
|
|
/// </summary>
|
|
|
/// <param name="tempGid">账户GID</param>
|
|
|
/// <param name="tempHandle">操作类型 delete删除单条账户</param>
|
|
|
/// <returns>值1-删除成功;值-1 -删除操作异常 值-2 -回滚失败 值-3 -未获取相关账户信息</returns>
|
|
|
private string DoExcute(string tempGid, string tempHandle)
|
|
|
{
|
|
|
string strVal = "";
|
|
|
CwVouitemsDA CwVouitemsDA = new CwVouitemsDA();
|
|
|
|
|
|
//操作类型为删除
|
|
|
if (tempHandle == "delete")
|
|
|
{
|
|
|
int iResult = 0;
|
|
|
//先判断当前要删除的账户是否存在
|
|
|
if (!tempGid.Trim().Equals(""))
|
|
|
{
|
|
|
CwVouitemsEntity CwVouitemsEntity = new CwVouitemsEntity();
|
|
|
CwVouitemsEntity = CwVouitemsDA.GetModel(tempGid);
|
|
|
|
|
|
if (CwVouitemsEntity.GID != null)
|
|
|
{
|
|
|
iResult = CwVouitemsDA.Delete(CwVouitemsEntity.GID);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
iResult = -3; //未获取相关账户信息
|
|
|
}
|
|
|
}
|
|
|
strVal = iResult.ToString();
|
|
|
}
|
|
|
|
|
|
if (tempHandle == "recover")
|
|
|
{
|
|
|
if (!tempGid.Trim().Equals(""))
|
|
|
{
|
|
|
CwVouitemsEntity CwVouitemsEntity = new CwVouitemsEntity();
|
|
|
CwVouitemsEntity = CwVouitemsDA.GetModel(tempGid);
|
|
|
|
|
|
if (CwVouitemsEntity != null)
|
|
|
{
|
|
|
StringBuilder CwVouitemsBuilder = new StringBuilder();
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.GID + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.ITEMNO + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.EXPLAN + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.ACCID + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.ACCNAME + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.AMTDR + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.AMTCR + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.FCYDR + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.FCYCR + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.FCYEXRATE + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.CUSTOMERNAME + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.CORPID + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.SALE + ",");
|
|
|
CwVouitemsBuilder.Append(CwVouitemsEntity.BLNO);
|
|
|
strVal = CwVouitemsBuilder.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strVal = "-3";
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strVal = "-3";
|
|
|
}
|
|
|
}
|
|
|
return strVal;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取账户信息
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
private string GetCells(int iShowCount, string readXmlType)
|
|
|
{
|
|
|
CwVouitemsDA CwVouchersAddDoEntity = new CwVouitemsDA();
|
|
|
CwVouitemsDA CwVouitemsDA = new CwVouitemsDA();
|
|
|
|
|
|
if (!strReadXmlType.Equals("exist"))
|
|
|
{
|
|
|
//获取所有账户信息,用做Grid显示
|
|
|
DataTable CwVouchersAddDoTable = new DataTable();
|
|
|
|
|
|
//初始化
|
|
|
string strInitSql = " SELECT GID,ITEMNO,EXPLAN,ACCID,ACCNAME,AMTDR,AMTCR,FCYDR,FCYCR,FCYEXRATE,CUSTOMERNAME,CORPID,SALE,BLNO FROM cw_vouitems WHERE 1=1 and ORDNO='" + strORDNO.ToString().Trim() + "'" + strRange + " ORDER BY ITEMNO";
|
|
|
CwVouchersAddDoTable = getStatusNameTable(CwVouitemsDA.GetExcuteSql(strInitSql).Tables[0]);
|
|
|
|
|
|
//编排字符串 xml串
|
|
|
StringBuilder dataBuilder = new StringBuilder();
|
|
|
|
|
|
dataBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
|
|
dataBuilder.Append("<rows>");
|
|
|
|
|
|
int iCount = CwVouchersAddDoTable.Rows.Count;
|
|
|
|
|
|
for (int i = 0; i < iCount; i++)
|
|
|
{
|
|
|
int jCount = CwVouchersAddDoTable.Columns.Count;
|
|
|
dataBuilder.Append("<row id=\"" + CwVouchersAddDoTable.Rows[i]["GID"].ToString() + "\">");
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
for (int j = 1; j < jCount; j++)
|
|
|
{
|
|
|
switch (j)
|
|
|
{
|
|
|
case 1:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 2:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 3:
|
|
|
string xl = GetACCID(CwVouchersAddDoTable.Rows[i][j].ToString().Trim());
|
|
|
if (xl != "")
|
|
|
{
|
|
|
dataBuilder.Append(xl);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
}
|
|
|
break;
|
|
|
case 4:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 5:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 6:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 7:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 8:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 9:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 10:
|
|
|
xl = GetCRMClientCells(CwVouchersAddDoTable.Rows[i][j].ToString().Trim());
|
|
|
if (xl != "")
|
|
|
{
|
|
|
dataBuilder.Append(xl);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
}
|
|
|
break;
|
|
|
case 11:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
case 12:
|
|
|
xl = GetSALE(CwVouchersAddDoTable.Rows[i][j].ToString().Trim());
|
|
|
if (xl != "")
|
|
|
{
|
|
|
dataBuilder.Append(xl);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
}
|
|
|
break;
|
|
|
case 13:
|
|
|
dataBuilder.Append("<cell>" + CwVouchersAddDoTable.Rows[i][j].ToString() + "</cell>");
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
dataBuilder.Append("</row>");
|
|
|
}
|
|
|
dataBuilder.Append("</rows>");
|
|
|
|
|
|
return dataBuilder.ToString();
|
|
|
}
|
|
|
else if (strReadXmlType.Equals("exist"))
|
|
|
{
|
|
|
return "1";//存在账户
|
|
|
}
|
|
|
else if (strReadXmlType.Equals("add"))
|
|
|
{
|
|
|
StringBuilder dataBuilder = new StringBuilder();
|
|
|
dataBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
|
|
dataBuilder.Append("<rows>");
|
|
|
dataBuilder.Append("<row id=\"" + Guid.NewGuid().ToString() + "\">");
|
|
|
//
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
dataBuilder.Append("<cell>" + GetITEMNO() + "</cell>");
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
//
|
|
|
string strcb = GetACCID("");
|
|
|
if (strcb.Trim() == "")
|
|
|
{
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dataBuilder.Append(strcb);
|
|
|
}
|
|
|
//
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
|
//
|
|
|
strcb = GetCRMClientCells("");
|
|
|
if (strcb.Trim() == "")
|
|
|
{
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dataBuilder.Append(strcb);
|
|
|
}
|
|
|
//
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
//
|
|
|
strcb = GetSALE("");
|
|
|
if (strcb.Trim() == "")
|
|
|
{
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dataBuilder.Append(strcb);
|
|
|
}
|
|
|
//
|
|
|
dataBuilder.Append("<cell></cell>");
|
|
|
//
|
|
|
dataBuilder.Append("</row>");
|
|
|
dataBuilder.Append("</rows>");
|
|
|
return dataBuilder.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return "-3";//没有相关的账户
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取数据库顺序递增的行号
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
private string GetITEMNO()
|
|
|
{
|
|
|
CwVouitemsDA CwVouitemsDA = new CwVouitemsDA();
|
|
|
string strITEMNO = CwVouitemsDA.GetStrSQL("hh", "select isnull(max(ITEMNO),0)+1 as hh from Cw_Vouitems where ORDNO='" + strORDNO + "'");
|
|
|
return strITEMNO;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取科目信息下拉列表
|
|
|
/// </summary>
|
|
|
/// <param name="strClientValue">当前列表科目信息id值</param>
|
|
|
/// <returns></returns>
|
|
|
public string GetACCID(string strACCID)
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from cw_accitems order by ACCID");
|
|
|
if (ds != null)
|
|
|
{
|
|
|
StringBuilder clientBuilder = new StringBuilder();
|
|
|
clientBuilder.Append("<cell xmlcontent=\"1\" editable=\"1\">" + strACCID);
|
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
if (!ds.Tables[0].Rows[i]["ACCID"].ToString().Trim().Equals(""))
|
|
|
{
|
|
|
clientBuilder.Append("<option value=\"" + ds.Tables[0].Rows[i]["ACCID"].ToString() + "\">" + ds.Tables[0].Rows[i]["ACCID"].ToString() + " | " + ds.Tables[0].Rows[i]["ACCNAME"].ToString() + "</option>");
|
|
|
}
|
|
|
}
|
|
|
clientBuilder.Append("</cell>");
|
|
|
return clientBuilder.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取CRM系统客户信息下拉列表
|
|
|
/// </summary>
|
|
|
/// <param name="strClientValue">当前列表客户信息值</param>
|
|
|
/// <returns></returns>
|
|
|
public string GetCRMClientCells(string strClientValue)
|
|
|
{
|
|
|
CRMClientDA crmClientDA = new CRMClientDA();
|
|
|
DataTable clientTable = crmClientDA.GetCRMClientList().Tables[0];
|
|
|
if (clientTable != null)
|
|
|
{
|
|
|
StringBuilder clientBuilder = new StringBuilder();
|
|
|
clientBuilder.Append("<cell xmlcontent=\"1\" editable=\"1\">" + strClientValue);
|
|
|
for (int i = 0; i < clientTable.Rows.Count; i++)
|
|
|
{
|
|
|
if (!clientTable.Rows[i]["SHORTNAME"].ToString().Trim().Equals(""))
|
|
|
{
|
|
|
string ls = clientTable.Rows[i]["CODENAME"].ToString().ToUpper() + " | " + clientTable.Rows[i]["SHORTNAME"].ToString();
|
|
|
clientBuilder.Append("<option value=\"" + ls + "\">" + ls + "</option>");
|
|
|
}
|
|
|
}
|
|
|
clientBuilder.Append("</cell>");
|
|
|
return clientBuilder.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取揽货人信息下拉列表
|
|
|
/// </summary>
|
|
|
/// <param name="strClientValue">当前列表揽货人信息值</param>
|
|
|
/// <returns></returns>
|
|
|
public string GetSALE(string strClientValue)
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
DataSet ds = T_ALL_DA.GetOP(strUserID, "isSaleMan");
|
|
|
if (ds != null)
|
|
|
{
|
|
|
StringBuilder SALEBuilder = new StringBuilder();
|
|
|
SALEBuilder.Append("<cell xmlcontent=\"1\" editable=\"1\">" + strClientValue);
|
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
if (!ds.Tables[0].Rows[i]["CODENAME"].ToString().Trim().Equals(""))
|
|
|
{
|
|
|
string ls = ds.Tables[0].Rows[i]["CODENAME"].ToString().ToUpper() + " | " + ds.Tables[0].Rows[i]["SHOWNAME"].ToString();
|
|
|
SALEBuilder.Append("<option value=\"" + ls + "\">" + ls + "</option>");
|
|
|
}
|
|
|
}
|
|
|
SALEBuilder.Append("</cell>");
|
|
|
return SALEBuilder.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 将数据集表中账户状态CwVouchersAddDoStatus和应收应付类型CwVouchersAddDoType的数字状态位转换成文字
|
|
|
/// </summary>
|
|
|
/// <param name="tempTable">原数据源DataTable</param>
|
|
|
/// <returns>返回新数据源DataTable</returns>
|
|
|
private DataTable getStatusNameTable(DataTable tempTable)
|
|
|
{
|
|
|
DataTable sourceTable = tempTable;
|
|
|
DataTable cloneTable = new DataTable();
|
|
|
int iSwitch = 0;
|
|
|
for (int i = 0; i < sourceTable.Rows.Count; i++)
|
|
|
{
|
|
|
if (iSwitch == 0)
|
|
|
{
|
|
|
for (int j = 0; j < sourceTable.Columns.Count; j++)
|
|
|
{
|
|
|
DataColumn newColumn = new DataColumn();
|
|
|
newColumn.ColumnName = sourceTable.Columns[j].ColumnName;
|
|
|
newColumn.DataType = sourceTable.Columns[j].DataType;
|
|
|
cloneTable.Columns.Add(newColumn);
|
|
|
}
|
|
|
iSwitch = 1;
|
|
|
}
|
|
|
DataRow cloneRow = cloneTable.NewRow();
|
|
|
|
|
|
for (int k = 0; k < sourceTable.Columns.Count; k++)
|
|
|
{
|
|
|
cloneRow[sourceTable.Columns[k].ColumnName] = sourceTable.Rows[i][k];
|
|
|
}
|
|
|
cloneTable.Rows.Add(cloneRow);
|
|
|
}
|
|
|
return cloneTable;
|
|
|
}
|
|
|
|
|
|
|
|
|
protected String getgid()
|
|
|
{
|
|
|
string strgid = Guid.NewGuid().ToString();
|
|
|
strgid = strgid.Replace("-", "");
|
|
|
strgid = "VOU" + strgid;
|
|
|
return strgid;
|
|
|
}
|
|
|
|
|
|
protected String setVouchers()
|
|
|
{
|
|
|
string sSQL = "";
|
|
|
string sResult = "";
|
|
|
string zt = "";
|
|
|
//
|
|
|
if (strGIDS.Trim() != "")
|
|
|
{
|
|
|
//帐套设置
|
|
|
sSQL = "SELECT top 1 * from cw_design";
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
if (ds == null)
|
|
|
{
|
|
|
return "请先设置帐套信息!";
|
|
|
}
|
|
|
//
|
|
|
string sGids = strGIDS.Trim().Replace(",", "','");
|
|
|
sGids = "'" + sGids.Trim() + "'";
|
|
|
//合并生成结算凭证
|
|
|
if (ds.Tables[0].Rows[0]["ISMGSC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
sResult = getSC(ds, sGids.Trim(), "");//, strEXPLAN, ds5.Tables[0].Rows[0]["DEPTID"].ToString().Trim(), ds5.Tables[0].Rows[0]["EMPLID"].ToString().Trim(), ds5.Tables[0].Rows[0]["SALE"].ToString().Trim());
|
|
|
zt += sResult;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
string[] items = sGids.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
if (items.Length > 0)
|
|
|
{
|
|
|
for (int i = 0; i < items.Length; i++)
|
|
|
{
|
|
|
sResult = getSC(ds, items[i].ToString().Trim(), "");//, strEXPLAN, ds5.Tables[0].Rows[0]["DEPTID"].ToString().Trim(), ds5.Tables[0].Rows[0]["EMPLID"].ToString().Trim(), ds5.Tables[0].Rows[0]["SALE"].ToString().Trim());
|
|
|
zt += "," + sResult;
|
|
|
}
|
|
|
if (zt.Trim().Length > 0)
|
|
|
{
|
|
|
zt = zt.Trim().Substring(1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
if (zt.IndexOf("-") > 0)
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
}
|
|
|
return zt;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 生成凭证
|
|
|
/// </summary>
|
|
|
/// <param name="ds">帐套设置数据集</param>
|
|
|
/// <param name="sGids">gid业务编号</param>
|
|
|
/// <param name="strVESSEL">船名航次</param>
|
|
|
/// <param name="strEXPLAN">规则生成的摘要</param>
|
|
|
/// <returns></returns>
|
|
|
protected String getSC(DataSet ds, string sGids, string strVESSEL)//, string strEXPLAN, string strDEPTID, string strEMPLID, string strSALE)
|
|
|
{
|
|
|
//全部
|
|
|
string sSQL = "";
|
|
|
string strEXPLAN = "";
|
|
|
Decimal iAMTDR = 0;
|
|
|
Decimal iAMTCR = 0;
|
|
|
int iResult = 0;
|
|
|
//差额主营业务收入
|
|
|
Decimal dRMBS = 0;
|
|
|
Decimal dRMBF = 0;
|
|
|
Decimal dUSDS = 0;
|
|
|
Decimal dUSDF = 0;
|
|
|
int n = 0;
|
|
|
Decimal dEXCHANGERATE = 0;
|
|
|
|
|
|
//其他常用科目设置 应收RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems where ACCID='" + ds.Tables[0].Rows[0]["AR"].ToString().Trim() + "'";
|
|
|
DataSet ds2 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//其他常用科目设置 应付RMB
|
|
|
sSQL = "SELECT top 1 * from cw_accitems where ACCID='" + ds.Tables[0].Rows[0]["AP"].ToString().Trim() + "'";
|
|
|
DataSet ds3 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//其他常用科目设置 应收USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems where ACCID='" + ds.Tables[0].Rows[0]["ARFC"].ToString().Trim() + "'";
|
|
|
DataSet ds6 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//其他常用科目设置 应付USD
|
|
|
sSQL = "SELECT top 1 * from cw_accitems where ACCID='" + ds.Tables[0].Rows[0]["APFC"].ToString().Trim() + "'";
|
|
|
DataSet ds7 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//其他常用科目设置 付费结算借方默认科目代码
|
|
|
sSQL = "SELECT top 1 * from cw_accitems where ACCID='" + ds.Tables[0].Rows[0]["APMBSPENDING"].ToString().Trim() + "'";
|
|
|
DataSet ds8 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//其他常用科目设置 付费结算外币借方默认科目代码
|
|
|
sSQL = "SELECT top 1 * from cw_accitems where ACCID='" + ds.Tables[0].Rows[0]["APTMSFC"].ToString().Trim() + "'";
|
|
|
DataSet ds9 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//
|
|
|
//ISRPCLIENTNAME 是否收付客户名称
|
|
|
//ISRPCOTCODE 是否收付业务编号
|
|
|
//ISRPETD 是否收付航期
|
|
|
|
|
|
//ISRPMBLNO 是否收付主提单号
|
|
|
//ISRPCUSTNO 是否收付委托编号
|
|
|
//ISRPVESSEL 是否收付船名
|
|
|
//ISRPVOYNO 是否收付航次
|
|
|
|
|
|
string strISEXPLAN = "";
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPCLIENTNAME"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += " " + ds.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim();
|
|
|
//}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",CUSTNO";
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",MBLNO";
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPVESSEL"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",VESSEL";
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPVOYNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strISEXPLAN += ",VOYNO";
|
|
|
}
|
|
|
//
|
|
|
string strORDNO = getgid();
|
|
|
CwVouchersDA CwVouchersDA = new CwVouchersDA();
|
|
|
IList<CwVouitemsEntity> CwVouitemsEntities = new List<CwVouitemsEntity>();
|
|
|
//
|
|
|
//(CASE WHEN FEETYPE = 1 THEN '应收账款' ELSE '应付账款' END) as 类型
|
|
|
//,CUSTOMERNAME 客户名称
|
|
|
//,EXCHANGERATE 汇率
|
|
|
//,CURRENCY 币别`
|
|
|
//,ISADVANCEDPAY 是否垫付
|
|
|
//,SUM(AMOUNT) AS 金额
|
|
|
//,SUM(AMOUNT*EXCHANGERATE) AS 合计金额
|
|
|
sSQL = "SELECT (CASE WHEN FEETYPE = 1 THEN '应收账款' WHEN FEETYPE=2 THEN '应付账款' ELSE '' END) as FEETYPE";
|
|
|
sSQL += ",FAPCODE=(select top 1 FAPCODE from info_client where SHORTNAME=VW_ch_fee_settlement_do.CUSTOMERNAME)";
|
|
|
sSQL += ",FARCODE=(select top 1 FARCODE from info_client where SHORTNAME=VW_ch_fee_settlement_do.CUSTOMERNAME)";
|
|
|
sSQL += ",SETTLETYPE,CUSTOMERNAME,EXCHANGERATE=isnull(EXCHANGERATE,1),CURRENCY,SUM(AMOUNT) AS je,SUM(AMOUNT*isnull(EXCHANGERATE,1)) AS hj";
|
|
|
sSQL += ",ACCOUNTRMB,ACCOUNTUSD" + strISEXPLAN;
|
|
|
sSQL += " From VW_ch_fee_settlement_do WHERE 1=1 ";
|
|
|
sSQL += " and gid_s in (" + sGids.Trim() + ") " + strVESSEL;
|
|
|
sSQL += " GROUP BY FEETYPE,CUSTOMERNAME,EXCHANGERATE,CURRENCY,SETTLETYPE,ACCOUNTRMB,ACCOUNTUSD" + strISEXPLAN;//BILLNO,
|
|
|
sSQL += " ORDER BY FEETYPE desc,CURRENCY,CUSTOMERNAME" + strISEXPLAN;//BILLNO,
|
|
|
DataSet ds1 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
if (ds1 != null)
|
|
|
{
|
|
|
string strEXPLANALL = "";
|
|
|
string strBILLNOALL = "";
|
|
|
//插入明细表
|
|
|
for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
|
|
|
{
|
|
|
n = i;// +1;
|
|
|
CwVouitemsEntity CwVouitemsEntity = new CwVouitemsEntity();
|
|
|
//CwVouitemsEntity.GID 唯一编码 newid()
|
|
|
CwVouitemsEntity.ORDNO = strORDNO.Trim();
|
|
|
CwVouitemsEntity.ITEMNO = n;// 行号
|
|
|
CwVouitemsEntity.PACCID = "";//父级科目贷码
|
|
|
CwVouitemsEntity.PROPERTY = 0;//科目属性
|
|
|
CwVouitemsEntity.GRADE = 0;//科目级别
|
|
|
if (ds1.Tables[0].Rows[i]["FEETYPE"].ToString().Trim() == "应收账款")
|
|
|
{
|
|
|
iAMTDR = iAMTDR + Decimal.Parse(ds1.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
if (ds1.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() == "RMB")
|
|
|
{
|
|
|
CwVouitemsEntity.ACCID = ds.Tables[0].Rows[0]["AR"].ToString().Trim();//应收账款科目贷码
|
|
|
CwVouitemsEntity.AMTDR = 0;//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity.AMTCR = Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
CwVouitemsEntity.ISFCY = false;//是否外币
|
|
|
CwVouitemsEntity.FCYNO = "RMB";//外币编号usd
|
|
|
CwVouitemsEntity.FCYDR = 0;//外币借方金额
|
|
|
CwVouitemsEntity.FCYCR = 0;//外币贷方金额
|
|
|
dRMBS += Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
if (ds2 == null)
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = "";//科目名称
|
|
|
CwVouitemsEntity.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity.DC = "D";//贷方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = ds2.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
CwVouitemsEntity.ISDEPTACC = Boolean.Parse(ds2.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = Boolean.Parse(ds2.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISCORPACC = Boolean.Parse(ds2.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = Boolean.Parse(ds2.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (ds2.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (ds1.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() != "RMB")
|
|
|
{
|
|
|
CwVouitemsEntity.ACCID = ds.Tables[0].Rows[0]["ARFC"].ToString().Trim();//应收账款外币科目贷码
|
|
|
CwVouitemsEntity.AMTDR = 0;//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity.AMTCR = Decimal.Parse(ds1.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
CwVouitemsEntity.ISFCY = true;//是否外币
|
|
|
CwVouitemsEntity.FCYNO = "USD";//外币编号usd
|
|
|
CwVouitemsEntity.FCYDR = 0;//外币贷方金额
|
|
|
CwVouitemsEntity.FCYCR = Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//外币借方金额
|
|
|
dUSDS += Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
if (ds6 == null)
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = "";//科目名称
|
|
|
CwVouitemsEntity.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = ds6.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
CwVouitemsEntity.ISDEPTACC = Boolean.Parse(ds6.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = Boolean.Parse(ds6.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISCORPACC = Boolean.Parse(ds6.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = Boolean.Parse(ds6.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (ds6.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
CwVouitemsEntity.CORPID = ds1.Tables[0].Rows[i]["FAPCODE"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = ds1.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
}
|
|
|
else if (ds1.Tables[0].Rows[i]["FEETYPE"].ToString().Trim() == "应付账款")
|
|
|
{
|
|
|
iAMTCR = iAMTCR + Decimal.Parse(ds1.Tables[0].Rows[i]["hj"].ToString().Trim());
|
|
|
//
|
|
|
if (ds1.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() == "RMB")
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISAPMBSPENDING"].ToString().Trim() == "True")
|
|
|
{
|
|
|
CwVouitemsEntity.ACCID = ds.Tables[0].Rows[0]["APMBSPENDING"].ToString().Trim();//应付账款科目贷码
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCID = ds.Tables[0].Rows[0]["AP"].ToString().Trim();//应付账款科目贷码
|
|
|
}
|
|
|
CwVouitemsEntity.AMTDR = Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity.AMTCR = 0;//本位币借方金额(互斥)
|
|
|
CwVouitemsEntity.ISFCY = false;//是否外币
|
|
|
CwVouitemsEntity.FCYNO = "RMB";//外币编号usd
|
|
|
CwVouitemsEntity.FCYDR = 0;//外币借方金额
|
|
|
CwVouitemsEntity.FCYCR = 0;//外币贷方金额
|
|
|
dRMBF += Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
if (ds3 == null)
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = "";//科目名称
|
|
|
CwVouitemsEntity.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
CwVouitemsEntity.CORPID = "";//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = "";//客户(系统)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISAPMBSPENDING"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ds8 == null)
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = "";//科目名称
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = ds8.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
}
|
|
|
CwVouitemsEntity.CORPID = "";//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = "";//客户(系统)
|
|
|
CwVouitemsEntity.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = ds3.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
CwVouitemsEntity.CORPID = ds1.Tables[0].Rows[i]["FARCODE"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = ds1.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity.ISCORPACC = Boolean.Parse(ds3.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
}
|
|
|
CwVouitemsEntity.ISDEPTACC = Boolean.Parse(ds3.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = Boolean.Parse(ds3.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = Boolean.Parse(ds3.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (ds3.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (ds1.Tables[0].Rows[i]["CURRENCY"].ToString().Trim() != "RMB")
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISAPTMSFC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
CwVouitemsEntity.ACCID = ds.Tables[0].Rows[0]["APTMSFC"].ToString().Trim();//应付账款科目贷码
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCID = ds.Tables[0].Rows[0]["APFC"].ToString().Trim();//应付账款外币科目贷码
|
|
|
}
|
|
|
CwVouitemsEntity.AMTDR = Decimal.Parse(ds1.Tables[0].Rows[i]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity.AMTCR = 0;//本位币借方金额(互斥)
|
|
|
CwVouitemsEntity.ISFCY = true;//是否外币
|
|
|
CwVouitemsEntity.FCYNO = "USD";//外币编号usd
|
|
|
CwVouitemsEntity.FCYDR = Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//外币贷方金额
|
|
|
CwVouitemsEntity.FCYCR = 0;//外币借方金额
|
|
|
dUSDF += Decimal.Parse(ds1.Tables[0].Rows[i]["je"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
if (ds7 == null)
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = "";//科目名称
|
|
|
CwVouitemsEntity.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
CwVouitemsEntity.CORPID = "";//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = "";//客户(系统)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISAPTMSFC"].ToString().Trim() == "True")
|
|
|
{
|
|
|
if (ds9 == null)
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = "";//科目名称
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = ds9.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
}
|
|
|
CwVouitemsEntity.CORPID = "";//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = "";//客户(系统)
|
|
|
CwVouitemsEntity.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ACCNAME = ds7.Tables[0].Rows[0]["ACCNAME"].ToString().Trim();//科目名称
|
|
|
CwVouitemsEntity.CORPID = ds1.Tables[0].Rows[i]["FARCODE"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity.CUSTOMERNAME = ds1.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity.ISCORPACC = Boolean.Parse(ds7.Tables[0].Rows[0]["ISCORPACC"].ToString().Trim());//核算客户,按规则设置生成
|
|
|
}
|
|
|
CwVouitemsEntity.ISDEPTACC = Boolean.Parse(ds7.Tables[0].Rows[0]["ISDEPTACC"].ToString().Trim());//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity.ISEMPLACC = Boolean.Parse(ds7.Tables[0].Rows[0]["ISEMPLACC"].ToString().Trim());//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity.ISITEMACC = Boolean.Parse(ds7.Tables[0].Rows[0]["ISITEMACC"].ToString().Trim());//核算项目,按规则设置生成
|
|
|
if (ds7.Tables[0].Rows[0]["DC"].ToString().Trim() == "借")
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "D";//借方向
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.DC = "C";//贷方向
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//CwVouitemsEntity.CORPID = ds1.Tables[0].Rows[i]["FARCODE"].ToString().Trim();//客户(系统)
|
|
|
//CwVouitemsEntity.CUSTOMERNAME = ds1.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
}
|
|
|
CwVouitemsEntity.FCYEXRATE = Decimal.Parse(ds1.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
dEXCHANGERATE = Decimal.Parse(ds1.Tables[0].Rows[i]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
CwVouitemsEntity.QTYUNIT = "";//数量包装单位
|
|
|
CwVouitemsEntity.QTYDR = 0;//借方数量
|
|
|
CwVouitemsEntity.QTYCR = 0;//贷方数量
|
|
|
//
|
|
|
//ISRPCLIENTNAME 是否收付客户名称
|
|
|
//ISRPCOTCODE 是否收付业务编号
|
|
|
//ISRPETD 是否收付航期
|
|
|
|
|
|
//ISRPMBLNO 是否收付主提单号
|
|
|
//ISRPCUSTNO 是否收付委托编号
|
|
|
//ISRPVESSEL 是否收付船名
|
|
|
//ISRPVOYNO 是否收付航次
|
|
|
|
|
|
string strSelEXPLAN = "";
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPCLIENTNAME"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strISEXPLAN += " " + ds.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim();
|
|
|
//}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strSelEXPLAN += " and CUSTNO = '" + ds1.Tables[0].Rows[i]["CUSTNO"].ToString().Trim() + "'";
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strSelEXPLAN += " and MBLNO = '" + ds1.Tables[0].Rows[i]["MBLNO"].ToString().Trim() + "'";
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPVESSEL"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strSelEXPLAN += " and VESSEL = '" + ds1.Tables[0].Rows[i]["VESSEL"].ToString().Trim() + "'";
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPVOYNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strSelEXPLAN += " and VOYNO = '" + ds1.Tables[0].Rows[i]["VOYNO"].ToString().Trim() + "'";
|
|
|
}
|
|
|
//
|
|
|
sSQL = "select top 1 * from VW_ch_fee_settlement_do where gid_s in(" + sGids.Trim() + ") and CUSTOMERNAME='" + ds1.Tables[0].Rows[i]["CUSTOMERNAME"].ToString().Trim() + "'" + strSelEXPLAN;//BILLNO
|
|
|
DataSet ds5 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
if (ds5 != null)
|
|
|
{
|
|
|
//ISCLIENTNAME 是否客户名称
|
|
|
//ISCUSTNO 是否委托编号
|
|
|
//ISMBLNO 是否主提单号
|
|
|
//ISVESSEL 是否船名
|
|
|
//ISVOYNO 是否航次
|
|
|
|
|
|
//ISCOTCODE 是否业务编号
|
|
|
//ISETD 是否航期
|
|
|
|
|
|
strEXPLAN = "";
|
|
|
if (ds.Tables[0].Rows[0]["ISRPCLIENTNAME"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + ds5.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim();
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPCUSTNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + ds5.Tables[0].Rows[0]["CUSTNO"].ToString().Trim();
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + ds5.Tables[0].Rows[0]["MBLNO"].ToString().Trim();
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPVESSEL"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + ds5.Tables[0].Rows[0]["VESSEL"].ToString().Trim();
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISRPVOYNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
strEXPLAN += " " + ds5.Tables[0].Rows[0]["VOYNO"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
CwVouitemsEntity.EXPLAN = strEXPLAN;//摘要,规则生成
|
|
|
strEXPLANALL=strEXPLAN;
|
|
|
CwVouitemsEntity.DEPTID = "";//strDEPTID;//部门(系统)
|
|
|
CwVouitemsEntity.EMPLID = "";//strEMPLID;//人员(系统)
|
|
|
CwVouitemsEntity.SALE = "";//strSALE;//人员名称
|
|
|
CwVouitemsEntity.PITEMID = 0;//父级项目编号
|
|
|
CwVouitemsEntity.ITEMID = "0";//项目编号
|
|
|
CwVouitemsEntity.FIELD1 = "";//预留字段1
|
|
|
CwVouitemsEntity.FIELD2 = "";//预留字段2
|
|
|
CwVouitemsEntity.FIELD3 = "";//预留字段3
|
|
|
CwVouitemsEntity.FIELD4 = "";//预留字段4
|
|
|
CwVouitemsEntity.FIELD5 = "";//预留字段5
|
|
|
CwVouitemsEntity.FIELD6 = "";//预留字段6
|
|
|
CwVouitemsEntity.FIELD7 = "";//预留字段7
|
|
|
CwVouitemsEntity.FIELD8 = "";//预留字段8
|
|
|
CwVouitemsEntity.FIELD9 = "";//预留字段9
|
|
|
CwVouitemsEntity.FIELD10 = "";//预留字段10
|
|
|
if (ds.Tables[0].Rows[0]["ISVBM"].ToString().Trim() == "True")
|
|
|
{
|
|
|
CwVouitemsEntity.ISSYS = false;//是否手动录入
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
CwVouitemsEntity.ISSYS = true;//是否手动录入
|
|
|
}
|
|
|
CwVouitemsEntity.FSETTLCODE = ds1.Tables[0].Rows[i]["SETTLETYPE"].ToString().Trim();//结算方式
|
|
|
CwVouitemsEntity.FSETTLENO = "";//财务辅助编号
|
|
|
CwVouitemsEntity.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
CwVouitemsEntity.BLNO = "";//BILLNO
|
|
|
if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
{
|
|
|
CwVouitemsEntity.BLNO = ds1.Tables[0].Rows[i]["mblno"].ToString().Trim();//
|
|
|
}
|
|
|
strBILLNOALL = CwVouitemsEntity.BLNO.ToString().Trim();//
|
|
|
CwVouitemsEntities.Add(CwVouitemsEntity);
|
|
|
}
|
|
|
|
|
|
//现金、账户
|
|
|
Decimal dRMB = dRMBS - dRMBF;
|
|
|
Decimal dUSD = dUSDS - dUSDF;
|
|
|
//收入\成本 生成 全额\差额
|
|
|
Decimal strJie = dRMBS + dUSDS * dEXCHANGERATE;
|
|
|
Decimal strDai = dRMBF + dUSDF * dEXCHANGERATE;
|
|
|
//
|
|
|
string ls = "";
|
|
|
string strBPVW = "";
|
|
|
//插入明细表
|
|
|
//
|
|
|
//(CASE WHEN FEETYPE = 1 THEN '应收账款' ELSE '应付账款' END) as 类型
|
|
|
//,CUSTOMERNAME 客户名称
|
|
|
//,EXCHANGERATE 汇率
|
|
|
//,CURRENCY 币别`
|
|
|
//,ISADVANCEDPAY 是否垫付
|
|
|
//,SUM(AMOUNT) AS 金额
|
|
|
//,SUM(AMOUNT*EXCHANGERATE) AS 合计金额
|
|
|
sSQL = "SELECT BILLNO,(CASE WHEN FEETYPE = 1 THEN '应收账款' WHEN FEETYPE=2 THEN '应付账款' ELSE '' END) as FEETYPE";
|
|
|
//sSQL += ",FAPCODE=(select top 1 FAPCODE from info_client where SHORTNAME=VW_ch_fee_settlement_do.CUSTOMERNAME)";
|
|
|
//sSQL += ",FARCODE=(select top 1 FARCODE from info_client where SHORTNAME=VW_ch_fee_settlement_do.CUSTOMERNAME)";
|
|
|
sSQL += ",SETTLETYPE,EXCHANGERATE=isnull(EXCHANGERATE,1),CURRENCY,SUM(AMOUNT) AS je,SUM(AMOUNT*isnull(EXCHANGERATE,1)) AS hj"; //CUSTOMERNAME,
|
|
|
sSQL += ",ACCOUNTRMB,ACCOUNTUSD";// +strISEXPLAN;
|
|
|
sSQL += " From VW_ch_fee_settlement_do WHERE 1=1 ";
|
|
|
sSQL += " and gid_s in (" + sGids.Trim() + ") ";// +strVESSEL;
|
|
|
sSQL += " GROUP BY BILLNO,FEETYPE,EXCHANGERATE,CURRENCY,SETTLETYPE,ACCOUNTRMB,ACCOUNTUSD";//BILLNO,,CUSTOMERNAME + strISEXPLAN
|
|
|
sSQL += " ORDER BY BILLNO,FEETYPE desc,CURRENCY";//BILLNO,,CUSTOMERNAME + strISEXPLAN
|
|
|
DataSet ds10 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
if (ds10 != null)
|
|
|
{
|
|
|
for (int j = 0; j < ds10.Tables[0].Rows.Count; j++)
|
|
|
{
|
|
|
n = n + 1;
|
|
|
CwVouitemsEntity CwVouitemsEntity2 = new CwVouitemsEntity();
|
|
|
//CwVouitemsEntity2.GID 唯一编码 newid()
|
|
|
CwVouitemsEntity2.ORDNO = strORDNO.Trim();
|
|
|
CwVouitemsEntity2.ITEMNO = n;// 行号
|
|
|
CwVouitemsEntity2.PACCID = "";//父级科目贷码
|
|
|
CwVouitemsEntity2.PROPERTY = 0;//科目属性
|
|
|
CwVouitemsEntity2.GRADE = 0;//科目级别
|
|
|
if (ds10.Tables[0].Rows[j]["FEETYPE"].ToString().Trim() == "应收账款")
|
|
|
{
|
|
|
//iAMTDR = iAMTDR + Decimal.Parse(ds10.Tables[0].Rows[j]["hj"].ToString().Trim());
|
|
|
//
|
|
|
if (ds10.Tables[0].Rows[j]["CURRENCY"].ToString().Trim() == "RMB")
|
|
|
{
|
|
|
ls = "select FINANCESOFTCODE from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTRMB"].ToString().Trim() + "'";// in (select top 1 ACCOUNTRMB from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", ls);
|
|
|
if (strACCID.Trim() == "")
|
|
|
{
|
|
|
strACCID = "1001";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCID = strACCID.Trim();//科目贷码
|
|
|
ls = "select BANKNAME from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTRMB"].ToString().Trim() + "'";// in (select top 1 ACCOUNTRMB from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCNAME = T_ALL_DA.GetStrSQL("BANKNAME", ls);
|
|
|
if (strACCNAME.Trim() == "")
|
|
|
{
|
|
|
strACCNAME = "现金";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCNAME = strACCNAME.Trim();//科目名称
|
|
|
//
|
|
|
CwVouitemsEntity2.AMTDR = Decimal.Parse(ds10.Tables[0].Rows[j]["je"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity2.AMTCR = 0;//本位币借方金额(互斥)
|
|
|
strDai = strDai + Decimal.Parse(ds10.Tables[0].Rows[j]["je"].ToString().Trim());
|
|
|
CwVouitemsEntity2.ISFCY = false;//是否外币
|
|
|
CwVouitemsEntity2.FCYNO = "RMB";//外币编号usd
|
|
|
CwVouitemsEntity2.FCYDR = 0;//外币借方金额
|
|
|
CwVouitemsEntity2.FCYCR = 0;//外币贷方金额
|
|
|
CwVouitemsEntity2.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity2.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity2.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity2.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity2.DC = "D";//贷方向
|
|
|
}
|
|
|
else if (ds10.Tables[0].Rows[j]["CURRENCY"].ToString().Trim() != "RMB")
|
|
|
{
|
|
|
ls = "select FINANCESOFTCODE from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTUSD"].ToString().Trim() + "'";// in (select top 1 ACCOUNTUSD from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", ls);
|
|
|
if (strACCID.Trim() == "")
|
|
|
{
|
|
|
strACCID = "1001";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCID = strACCID.Trim();//科目贷码
|
|
|
ls = "select BANKNAME from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTUSD"].ToString().Trim() + "'";// in (select top 1 ACCOUNTUSD from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCNAME = T_ALL_DA.GetStrSQL("BANKNAME", ls);
|
|
|
if (strACCNAME.Trim() == "")
|
|
|
{
|
|
|
strACCNAME = "现金";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCNAME = strACCNAME.Trim();//科目名称
|
|
|
//
|
|
|
CwVouitemsEntity2.AMTDR = Decimal.Parse(ds10.Tables[0].Rows[j]["hj"].ToString().Trim());//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity2.AMTCR = 0;//本位币借方金额(互斥)
|
|
|
strDai = strDai + Decimal.Parse(ds10.Tables[0].Rows[j]["hj"].ToString().Trim());
|
|
|
CwVouitemsEntity2.ISFCY = true;//是否外币
|
|
|
CwVouitemsEntity2.FCYNO = "USD";//外币编号usd
|
|
|
CwVouitemsEntity2.FCYDR = Decimal.Parse(ds10.Tables[0].Rows[j]["je"].ToString().Trim());//外币借方金额
|
|
|
CwVouitemsEntity2.FCYCR = 0;//外币贷方金额
|
|
|
CwVouitemsEntity2.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity2.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity2.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity2.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity2.DC = "D";//借方向
|
|
|
}
|
|
|
CwVouitemsEntity2.CORPID = "";// ds10.Tables[0].Rows[j]["FAPCODE"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity2.CUSTOMERNAME = "";//ds10.Tables[0].Rows[j]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strBPVW = ds.Tables[0].Rows[0]["BRTW"].ToString().Trim();
|
|
|
}
|
|
|
else if (ds10.Tables[0].Rows[j]["FEETYPE"].ToString().Trim() == "应付账款")
|
|
|
{
|
|
|
//iAMTCR = iAMTCR + Decimal.Parse(ds10.Tables[0].Rows[j]["hj"].ToString().Trim());
|
|
|
//
|
|
|
if (ds10.Tables[0].Rows[j]["CURRENCY"].ToString().Trim() == "RMB")
|
|
|
{
|
|
|
ls = "select FINANCESOFTCODE from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTRMB"].ToString().Trim() + "'";// in (select top 1 ACCOUNTRMB from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", ls);
|
|
|
if (strACCID.Trim() == "")
|
|
|
{
|
|
|
strACCID = "1001";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCID = strACCID.Trim();//科目贷码
|
|
|
ls = "select BANKNAME from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTRMB"].ToString().Trim() + "'";// in (select top 1 ACCOUNTRMB from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCNAME = T_ALL_DA.GetStrSQL("BANKNAME", ls);
|
|
|
if (strACCNAME.Trim() == "")
|
|
|
{
|
|
|
strACCNAME = "现金";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCNAME = strACCNAME.Trim();//科目名称
|
|
|
//
|
|
|
CwVouitemsEntity2.AMTDR = 0;//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity2.AMTCR = Decimal.Parse(ds10.Tables[0].Rows[j]["je"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
strJie = strJie + Decimal.Parse(ds10.Tables[0].Rows[j]["je"].ToString().Trim());
|
|
|
CwVouitemsEntity2.ISFCY = false;//是否外币
|
|
|
CwVouitemsEntity2.FCYNO = "RMB";//外币编号usd
|
|
|
CwVouitemsEntity2.FCYDR = 0;//外币借方金额
|
|
|
CwVouitemsEntity2.FCYCR = 0;//外币贷方金额
|
|
|
CwVouitemsEntity2.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity2.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity2.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity2.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity2.DC = "C";//贷方向
|
|
|
}
|
|
|
else if (ds10.Tables[0].Rows[j]["CURRENCY"].ToString().Trim() != "RMB")
|
|
|
{
|
|
|
ls = "select FINANCESOFTCODE from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTUSD"].ToString().Trim() + "'";// in (select top 1 ACCOUNTUSD from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", ls);
|
|
|
if (strACCID.Trim() == "")
|
|
|
{
|
|
|
strACCID = "1001";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCID = strACCID.Trim();//科目贷码
|
|
|
ls = "select BANKNAME from sys_bank where gid='" + ds10.Tables[0].Rows[j]["ACCOUNTUSD"].ToString().Trim() + "'";// in (select top 1 ACCOUNTUSD from ch_fee_settlement where BILLNO='" + ds10.Tables[0].Rows[j]["BILLNO"].ToString().Trim() + "')";
|
|
|
string strACCNAME = T_ALL_DA.GetStrSQL("BANKNAME", ls);
|
|
|
if (strACCNAME.Trim() == "")
|
|
|
{
|
|
|
strACCNAME = "现金";
|
|
|
}
|
|
|
CwVouitemsEntity2.ACCNAME = strACCNAME.Trim();//科目名称
|
|
|
//
|
|
|
CwVouitemsEntity2.AMTDR = 0;//本位币贷方金额(互斥)
|
|
|
CwVouitemsEntity2.AMTCR = Decimal.Parse(ds10.Tables[0].Rows[j]["hj"].ToString().Trim());//本位币借方金额(互斥)
|
|
|
strJie = strJie + Decimal.Parse(ds10.Tables[0].Rows[j]["hj"].ToString().Trim());
|
|
|
CwVouitemsEntity2.ISFCY = true;//是否外币
|
|
|
CwVouitemsEntity2.FCYNO = "USD";//外币编号usd
|
|
|
CwVouitemsEntity2.FCYDR = 0;//外币借方金额
|
|
|
CwVouitemsEntity2.FCYCR = Decimal.Parse(ds10.Tables[0].Rows[j]["je"].ToString().Trim());//外币贷方金额
|
|
|
CwVouitemsEntity2.ISDEPTACC = false;//核算部门,按规则设置生成
|
|
|
CwVouitemsEntity2.ISEMPLACC = false;//核算人员,按规则设置生成
|
|
|
CwVouitemsEntity2.ISCORPACC = false;//核算客户,按规则设置生成
|
|
|
CwVouitemsEntity2.ISITEMACC = false;//核算项目,按规则设置生成
|
|
|
CwVouitemsEntity2.DC = "C";//贷方向
|
|
|
}
|
|
|
CwVouitemsEntity2.CORPID = "";//ds10.Tables[0].Rows[j]["FAPCODE"].ToString().Trim();//客户(系统)
|
|
|
CwVouitemsEntity2.CUSTOMERNAME = "";//ds10.Tables[0].Rows[j]["CUSTOMERNAME"].ToString().Trim();//客户(系统)
|
|
|
strBPVW = ds.Tables[0].Rows[0]["BPVW"].ToString().Trim();
|
|
|
}
|
|
|
CwVouitemsEntity2.FCYEXRATE = Decimal.Parse(ds10.Tables[0].Rows[j]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
dEXCHANGERATE = Decimal.Parse(ds10.Tables[0].Rows[j]["EXCHANGERATE"].ToString().Trim());//汇率
|
|
|
CwVouitemsEntity2.QTYUNIT = "";//数量包装单位
|
|
|
CwVouitemsEntity2.QTYDR = 0;//借方数量
|
|
|
CwVouitemsEntity2.QTYCR = 0;//贷方数量
|
|
|
//
|
|
|
//ISRPCLIENTNAME 是否收付客户名称
|
|
|
//ISRPCOTCODE 是否收付业务编号
|
|
|
//ISRPETD 是否收付航期
|
|
|
|
|
|
//ISRPMBLNO 是否收付主提单号
|
|
|
//ISRPCUSTNO 是否收付委托编号
|
|
|
//ISRPVESSEL 是否收付船名
|
|
|
//ISRPVOYNO 是否收付航次
|
|
|
|
|
|
//string strSelEXPLAN = "";
|
|
|
////if (ds.Tables[0].Rows[0]["ISRPCLIENTNAME"].ToString().Trim() == "True")
|
|
|
////{
|
|
|
//// strISEXPLAN += " " + ds.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim();
|
|
|
////}
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPCUSTNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strSelEXPLAN += " and CUSTNO = '" + ds1.Tables[0].Rows[j]["CUSTNO"].ToString().Trim() + "'";
|
|
|
//}
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strSelEXPLAN += " and MBLNO = '" + ds1.Tables[0].Rows[j]["MBLNO"].ToString().Trim() + "'";
|
|
|
//}
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPVESSEL"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strSelEXPLAN += " and VESSEL = '" + ds1.Tables[0].Rows[j]["VESSEL"].ToString().Trim() + "'";
|
|
|
//}
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPVOYNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// strSelEXPLAN += " and VOYNO = '" + ds1.Tables[0].Rows[j]["VOYNO"].ToString().Trim() + "'";
|
|
|
//}
|
|
|
////
|
|
|
//sSQL = "select top 1 * from VW_ch_fee_settlement_do where gid_s in(" + sGids.Trim() + ") and CUSTOMERNAME='" + ds1.Tables[0].Rows[j]["CUSTOMERNAME"].ToString().Trim() + "'" + strSelEXPLAN;//BILLNO
|
|
|
//DataSet ds4 = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
//if (ds4 != null)
|
|
|
//{
|
|
|
// //ISCLIENTNAME 是否客户名称
|
|
|
// //ISCUSTNO 是否委托编号
|
|
|
// //ISMBLNO 是否主提单号
|
|
|
// //ISVESSEL 是否船名
|
|
|
// //ISVOYNO 是否航次
|
|
|
|
|
|
// //ISCOTCODE 是否业务编号
|
|
|
// //ISETD 是否航期
|
|
|
|
|
|
// strEXPLAN = "";
|
|
|
// if (ds.Tables[0].Rows[0]["ISRPCLIENTNAME"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + ds4.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim();
|
|
|
// }
|
|
|
// if (ds.Tables[0].Rows[0]["ISRPCUSTNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + ds4.Tables[0].Rows[0]["CUSTNO"].ToString().Trim();
|
|
|
// }
|
|
|
// if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + ds4.Tables[0].Rows[0]["MBLNO"].ToString().Trim();
|
|
|
// }
|
|
|
// if (ds.Tables[0].Rows[0]["ISRPVESSEL"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + ds4.Tables[0].Rows[0]["VESSEL"].ToString().Trim();
|
|
|
// }
|
|
|
// if (ds.Tables[0].Rows[0]["ISRPVOYNO"].ToString().Trim() == "True")
|
|
|
// {
|
|
|
// strEXPLAN += " " + ds4.Tables[0].Rows[0]["VOYNO"].ToString().Trim();
|
|
|
// }
|
|
|
//}
|
|
|
//
|
|
|
CwVouitemsEntity2.EXPLAN = strEXPLANALL;//摘要,规则生成
|
|
|
CwVouitemsEntity2.DEPTID = "";//strDEPTID;//部门(系统)
|
|
|
CwVouitemsEntity2.EMPLID = "";//strEMPLID;//人员(系统)
|
|
|
CwVouitemsEntity2.SALE = "";//strSALE;//人员名称
|
|
|
CwVouitemsEntity2.PITEMID = 0;//父级项目编号
|
|
|
CwVouitemsEntity2.ITEMID = "0";//项目编号
|
|
|
CwVouitemsEntity2.FIELD1 = "";//预留字段1
|
|
|
CwVouitemsEntity2.FIELD2 = "";//预留字段2
|
|
|
CwVouitemsEntity2.FIELD3 = "";//预留字段3
|
|
|
CwVouitemsEntity2.FIELD4 = "";//预留字段4
|
|
|
CwVouitemsEntity2.FIELD5 = "";//预留字段5
|
|
|
CwVouitemsEntity2.FIELD6 = "";//预留字段6
|
|
|
CwVouitemsEntity2.FIELD7 = "";//预留字段7
|
|
|
CwVouitemsEntity2.FIELD8 = "";//预留字段8
|
|
|
CwVouitemsEntity2.FIELD9 = "";//预留字段9
|
|
|
CwVouitemsEntity2.FIELD10 = "";//预留字段10
|
|
|
CwVouitemsEntity2.ISSYS = true;//是否手动录入
|
|
|
CwVouitemsEntity2.FSETTLCODE = "";//结算方式
|
|
|
CwVouitemsEntity2.FSETTLENO = "";//财务辅助编号
|
|
|
CwVouitemsEntity2.MODIFIEDUSER = strUserID;//最后一次更新操作人
|
|
|
CwVouitemsEntity2.BLNO = strBILLNOALL;//BILLNO
|
|
|
//if (ds.Tables[0].Rows[0]["ISRPMBLNO"].ToString().Trim() == "True")
|
|
|
//{
|
|
|
// CwVouitemsEntity2.BLNO = ds1.Tables[0].Rows[j]["mblno"].ToString().Trim();//BILLNO
|
|
|
//}
|
|
|
CwVouitemsEntities.Add(CwVouitemsEntity2);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//插入主表
|
|
|
string rq = T_ALL_DA.GetStrSQL("rq", "select rq=getdate()");
|
|
|
CwVouchersEntity CwVouchersEntity = new CwVouchersEntity();
|
|
|
CwVouchersEntity.ORDNO = strORDNO.Trim();//唯一编码 newid() varchar (36)
|
|
|
CwVouchersEntity.VOUDATE = DateTime.Parse(rq.Trim());//凭证日期="";//datetime="";//
|
|
|
CwVouchersEntity.ACCYEAR = rq.Trim().Substring(0, 4);//年="";//int="";//
|
|
|
int iM1 = rq.Trim().IndexOf("-") + 1;
|
|
|
int iM2 = rq.Trim().LastIndexOf("-");
|
|
|
string strACCMONTH = "";
|
|
|
if (iM2 - iM1 == 1)
|
|
|
{
|
|
|
strACCMONTH = "0" + rq.Trim().Substring(iM1, iM2 - iM1);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strACCMONTH = rq.Trim().Substring(iM1, iM2 - iM1);
|
|
|
}
|
|
|
string strVOUNO = "";
|
|
|
strVOUNO = getVOUNO(rq.Trim().Substring(0, 4), strACCMONTH);
|
|
|
CwVouchersEntity.VOUNO = strVOUNO;//月初清零 varchar (16)
|
|
|
CwVouchersEntity.ACCMONTH = strACCMONTH;//月="";//int="";//
|
|
|
string strVOUALLNO = rq.Trim().Substring(0, 4) + strACCMONTH + strVOUNO;
|
|
|
CwVouchersEntity.VOUALLNO = strVOUALLNO;//月初清零 varchar (16)
|
|
|
CwVouchersEntity.VKNO = strBPVW.Trim();//凭证字="";//varchar="";//(8)
|
|
|
CwVouchersEntity.ATTACHS = int.Parse(ds.Tables[0].Rows[0]["AFFIXNO"].ToString().Trim());//附件(单据)数="";//int="";//
|
|
|
CwVouchersEntity.AMTDR = strJie;// iAMTDR;//本位币借方="";//numeric(18, 2)="";//
|
|
|
CwVouchersEntity.AMTCR = strDai;//iAMTDR;// iAMTCR;//本位币贷方="";//numeric(18, 2)="";//
|
|
|
CwVouchersEntity.FCY = "";//是否含有外币科目="";//varchar="";//(1)
|
|
|
CwVouchersEntity.QTY = "";//是否含有数量科目="";//varchar="";//(1)
|
|
|
CwVouchersEntity.VOUPROP = "";//凭证属性="";//varchar="";//(1)
|
|
|
//CwVouchersEntity.PREPARED = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", "select top 1 FINANCESOFTCODE from user_baseinfo where USERID in (select top 1 gid from [user] where SHOWNAME='" + this.hd_comboPREPARED.Value.Trim() + "' and ISDELETED=0)");//制单人="";//varchar="";//(10)
|
|
|
CwVouchersEntity.PREPARED = T_ALL_DA.GetStrSQL("SHOWNAME", "select SHOWNAME from [user] where gid='" + strUserID.Trim() + "' and ISDELETED=0"); ;//制单人="";//varchar="";//(10)
|
|
|
CwVouchersEntity.CHECKED = "";//审核人="";//varchar="";//(10)
|
|
|
CwVouchersEntity.ENTERED = "";//记账人="";//varchar="";//(10)
|
|
|
CwVouchersEntity.ERRMSG = "";//错误信息="";//varchar="";//(6)
|
|
|
CwVouchersEntity.ISDELETE = false;//是否废除="";//bit="";//Y
|
|
|
CwVouchersEntity.DELETEUSER = "";//废除操作人="";//Varchar(36)="";//Y
|
|
|
//CwVouchersEntity.DELETETIME="";//废除时间="";//Datetime="";//Y
|
|
|
//
|
|
|
//生成入库
|
|
|
string strSel = " and gid_s in(" + sGids + ") " + strVESSEL;
|
|
|
iResult = CwVouchersDA.setInsertAll(CwVouchersEntity, CwVouitemsEntities, "VW_ch_fee_settlement_do", strVOUALLNO, strSel, strUserID, 2);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return "-1";
|
|
|
}
|
|
|
return strORDNO.Trim();
|
|
|
}
|
|
|
|
|
|
protected String getVOUNO(string strY, string strM)
|
|
|
{
|
|
|
string sVOUNO = "";
|
|
|
string strVOUNO = "select top 1 VOUNO from cw_vouchers where ACCYEAR='" + strY + "' and ACCMONTH='" + strM + "' order by convert(decimal(10),VOUNO) desc";
|
|
|
strVOUNO = T_ALL_DA.GetStrSQL("VOUNO", strVOUNO);
|
|
|
if (strVOUNO.Trim() == "")
|
|
|
{
|
|
|
strVOUNO = "0001";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sVOUNO = (int.Parse(strVOUNO) + 1).ToString().Trim();
|
|
|
strVOUNO = sVOUNO;
|
|
|
for (int i = 0; i < 4 - sVOUNO.Length; i++)
|
|
|
{
|
|
|
strVOUNO = "0" + strVOUNO;
|
|
|
}
|
|
|
}
|
|
|
return strVOUNO;
|
|
|
}
|
|
|
}
|
|
|
}
|