You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
8.5 KiB
C#
177 lines
8.5 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
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.Xml;
|
|
|
|
namespace DSWeb.Invoice
|
|
{
|
|
public partial class InvoiceMakeOutEdit : System.Web.UI.Page
|
|
{
|
|
private string strInvoiceGID;//已开发票GID
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (Request.QueryString["id"] != null)
|
|
{
|
|
strInvoiceGID = Request.QueryString["id"].ToString();
|
|
h_invoiceid.Value = strInvoiceGID;
|
|
}
|
|
|
|
if (strInvoiceGID != null)
|
|
{
|
|
GetInvoiceInfo(strInvoiceGID);
|
|
InvoiceDA invoiceDA = new InvoiceDA();
|
|
|
|
//string strSql = " (SELECT BSNO,CASE WHEN BSSTATUS = 1 THEN '锁定' ELSE '未锁定' END as BSSTATUS,MBLNO,HBLNO,CUSTNO,INPUTBY,CREATETIME "
|
|
// + " FROM op_seae WHERE BSNO IN (SELECT DISTINCT B.BSNO FROM ch_fee_invoice as A INNER JOIN ch_fee_do as B ON A.BILLNO = B.BILLNO WHERE A.GID = '" + strInvoiceGID + "'))";
|
|
//strSql += " UNION ALL ";
|
|
//strSql += " (SELECT BSNO,CASE WHEN BSSTATUS = 1 THEN '锁定' ELSE '未锁定' END as BSSTATUS,MBLNO,HBLNO,CUSTNO,INPUTBY,CREATETIME "
|
|
// + " FROM op_seai WHERE BSNO IN (SELECT DISTINCT B.BSNO FROM ch_fee_invoice as A INNER JOIN ch_fee_do as B ON A.BILLNO = B.BILLNO WHERE A.GID = '" + strInvoiceGID + "'))";
|
|
|
|
//2013-02-05 修改
|
|
string strSql = " (SELECT BSNO,CASE WHEN BSSTATUS = 1 THEN '锁定' ELSE '未锁定' END as BSSTATUS,MBLNO,HBLNO,CUSTNO,INPUTBY,CREATETIME "
|
|
+ " FROM VW_Settlement WHERE BSNO IN (SELECT DISTINCT B.BSNO FROM ch_fee_invoice as A INNER JOIN ch_fee_do as B ON A.BILLNO = B.BILLNO WHERE A.GID = '" + strInvoiceGID + "'))";
|
|
|
|
DataTable sourceTable = new DataTable();
|
|
|
|
sourceTable = invoiceDA.GetExcuteSql(strSql).Tables[0];
|
|
|
|
StringBuilder sourceBuilder = new StringBuilder();
|
|
sourceBuilder.Append("{");
|
|
sourceBuilder.Append("opinfo:[");
|
|
string strBuilder = "";
|
|
for (int i = 0; i < sourceTable.Rows.Count; i++)
|
|
{
|
|
sourceBuilder.Append("{bsno:\"" + sourceTable.Rows[i][0].ToString() + "\",");
|
|
sourceBuilder.Append("\"bsstatus\":\"" + sourceTable.Rows[i][1].ToString() + "\",");
|
|
sourceBuilder.Append("\"mblno\":\"" + sourceTable.Rows[i][2].ToString() + "\",");
|
|
//string strETD = "";
|
|
//if (!sourceTable.Rows[i][3].ToString().Trim().Equals(""))
|
|
//{
|
|
// strETD = DateTime.Parse(sourceTable.Rows[i][3].ToString()).ToString("yyyy-MM-dd");
|
|
//}
|
|
//sourceBuilder.Append("\"etd\":\"" + strETD + "\",");
|
|
sourceBuilder.Append("\"hblno\":\"" + sourceTable.Rows[i][3].ToString() + "\",");
|
|
sourceBuilder.Append("\"custno\":\"" + sourceTable.Rows[i][4].ToString() + "\",");
|
|
sourceBuilder.Append("\"inputby\":\"" + sourceTable.Rows[i][5].ToString() + "\",");
|
|
sourceBuilder.Append("\"ctime\":\"" + sourceTable.Rows[i][6].ToString() + "\"},");
|
|
}
|
|
InvoiceEntity invoiceEntity = new InvoiceEntity();
|
|
invoiceEntity = invoiceDA.GetInvoiceByGID(strInvoiceGID);
|
|
|
|
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
|
|
|
|
if (invoiceEntity != null)
|
|
{
|
|
if (invoiceEntity.GID != null)
|
|
{
|
|
UserDA userDA = new UserDA();
|
|
UserEntity userEntity = new UserEntity();
|
|
|
|
userEntity = userDA.GetUserAllByID(invoiceEntity.Operator);
|
|
|
|
feeDoEntities = GetFeeDoXml(invoiceEntity.FeeItem);
|
|
if (invoiceEntity.FeeItem.Trim() != "")
|
|
{
|
|
foreach (FeeDoEntity feeDoEntity in feeDoEntities)
|
|
{
|
|
if (feeDoEntity.Orig == 2)
|
|
{
|
|
sourceBuilder.Append("{bsno:\"handmakeout\",");
|
|
sourceBuilder.Append("\"bsstatus\":\"直开票\",");
|
|
sourceBuilder.Append("\"mblno\":\"\",");
|
|
sourceBuilder.Append("\"hblno\":\"\",");
|
|
sourceBuilder.Append("\"custno\":\"\",");
|
|
sourceBuilder.Append("\"inputby\":\"" + userEntity.ShowName + "\",");
|
|
sourceBuilder.Append("\"ctime\":\"" + invoiceEntity.InvoiceMakeTime + "\"}");
|
|
sourceBuilder.Append(",");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (sourceBuilder.ToString().Trim().EndsWith(","))
|
|
{
|
|
strBuilder = sourceBuilder.ToString().Trim().Substring(0, sourceBuilder.ToString().Trim().Length - 1);
|
|
}
|
|
|
|
StringBuilder endBuilder = new StringBuilder();
|
|
endBuilder.Append(strBuilder);
|
|
endBuilder.Append("]");
|
|
endBuilder.Append("}");
|
|
|
|
this.h_opcache.Value = endBuilder.ToString();
|
|
}
|
|
}
|
|
|
|
private void GetInvoiceInfo(string tempInvoiceGID)
|
|
{
|
|
InvoiceEntity invoiceEntity = new InvoiceDA().GetInvoiceByGID(tempInvoiceGID);
|
|
|
|
if (invoiceEntity.GID != null)
|
|
{
|
|
this.txt_invoiceno.Value = invoiceEntity.InvoiceNO;
|
|
this.txt_custno.Value = invoiceEntity.CustomerName;
|
|
this.txt_vesselvoyage.Value = invoiceEntity.VesselVoyage;
|
|
this.txt_makeouttime.Value = invoiceEntity.InvoiceMakeTime.ToString("yyyy-MM-dd hh:mm:ss");
|
|
this.txt_custno.Value = invoiceEntity.BSNO;
|
|
//this.txt_mblno.Value = invoiceEntity.
|
|
this.txt_pod.Value = invoiceEntity.POD;
|
|
this.txt_pol.Value = invoiceEntity.POL;
|
|
|
|
this.h_account.Value = invoiceEntity.Account;
|
|
this.h_bank.Value = invoiceEntity.Bank;
|
|
this.h_currency.Value = invoiceEntity.Currency;
|
|
this.h_invoicecus.Value = invoiceEntity.InvoiceCustName;
|
|
|
|
this.ck_isfee.Checked = invoiceEntity.IsDelete;
|
|
this.ck_isfee.Checked = invoiceEntity.IsNeedFee;
|
|
this.ck_isprint.Checked = invoiceEntity.IsNeedPrint;
|
|
|
|
this.h_billno.Value = invoiceEntity.BillNO;
|
|
}
|
|
}
|
|
|
|
private IList<FeeDoEntity> GetFeeDoXml(string strXml)
|
|
{
|
|
XmlDocument xmlFeeDoDoc = new XmlDocument();
|
|
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
|
|
|
|
try
|
|
{
|
|
xmlFeeDoDoc.LoadXml(strXml);
|
|
|
|
for (int i = 0; i < xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes.Count; i++)
|
|
{
|
|
FeeDoEntity feeDoEntity = new FeeDoEntity();
|
|
feeDoEntity.FeeID = xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[0].InnerText.Trim();
|
|
feeDoEntity.FeeName = xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[1].InnerText.Trim();
|
|
feeDoEntity.DoAmount = decimal.Parse(xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[2].InnerText.Trim());
|
|
feeDoEntity.Category = int.Parse(xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[3].InnerText.Trim());
|
|
feeDoEntity.FeeType = int.Parse(xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[4].InnerText.Trim());
|
|
feeDoEntity.Orig = int.Parse(xmlFeeDoDoc.ChildNodes[0].ChildNodes[0].ChildNodes[i].ChildNodes[5].InnerText.Trim());
|
|
|
|
feeDoEntities.Add(feeDoEntity);
|
|
}
|
|
}
|
|
catch (Exception error)
|
|
{
|
|
throw (error);
|
|
}
|
|
|
|
return feeDoEntities;
|
|
}
|
|
}
|
|
}
|