zoukankan
html css js c++ java
server.transfer
function
transValue()
{
document.getElementById(
"
hidInvTitle
"
).value
=
document.getElementById(
"
txtTitle
"
).value;
//
开票抬头隐藏域,赋值
//
document.getElementById("hidInvDate").value=document.getElementById("PickDate_Qg").value;//开票日期隐藏域,赋值,在CS代码的“确定”事件的结尾
document.getElementById(
"
hidBankName
"
).value
=
document.form1.ddlBankName[document.form1.ddlBankName.selectedIndex].text;
//
开户行隐藏域,赋值
document.getElementById(
"
hidAccountNo
"
).value
=
document.form1.ddlBankName[document.form1.ddlBankName.selectedIndex].value;
//
开户账号隐藏域,右边用document.form1.txtAccountNo.text更好些
document.getElementById(
"
hidFeeItem
"
).value
=
document.form1.txtFeeItem.value;
//
收费内容
//
alert(document.getElementById("hidFeeItem").value);
document.getElementById(
"
hidAmount
"
).value
=
document.form1.txtAmount.value;
//
收费内容金额
document.getElementById(
"
hidRemark
"
).value
=
document.form1.txtRemark.value;
//
备注
//
alert(document.getElementById("hidRemark").value);
document.getElementById(
"
hidCurrency
"
).value
=
document.form1.txtCurrency.value;
//
货币种类
document.getElementById(
"
hidUpper
"
).value
=
document.form1.txtAmountUpper.value;
//
大写金额
document.getElementById(
"
hidLower
"
).value
=
document.form1.txtAmountTotal.value;
//
小写金额
document.getElementById(
"
hidDrawer
"
).value
=
document.form1.txtDrawer.value;
//
开票人
}
</
script
>
<
asp:Button
ID
="btnConfirm"
runat
="server"
CssClass
="btn"
Text
="确定"
OnClientClick
="transValue()"
OnClick
="btnConfirm_Click"
/>
protected
void
btnConfirm_Click(
object
sender, EventArgs e)
{
string
szdw_id
=
""
;
System.Guid guidSZDW
=
new
Guid();
//
如果ViewState中一直没有涉帐单位的ID,inv_main表中就可能插入新的不相关的ID,依据这个不相关ID在PD_COMPANY中找不到相关的COMPANY
if
(ViewState[
"
SZDW_ID
"
]
!=
null
)
{
szdw_id
=
ViewState[
"
SZDW_ID
"
].ToString();
guidSZDW
=
new
Guid(szdw_id);
}
//
隐含如果ViewState["SZDW_ID"] == null 则放System.Guid guidSZDE = new Guid();生成的GUID进INV_MAIN该GUID组成部分全为0-〉32个0
从ViewState中取值
#region
从ViewState中取值
string
strOP_CODE
=
""
;
//
可能要记录以后来作废这张发票的人的CODE,???????????????????????????????????????????
if
(ViewState[
"
OP_CODE
"
]
!=
null
)
{
strOP_CODE
=
ViewState[
"
OP_CODE
"
].ToString().Trim();
}
string
strCR_CODE
=
""
;
//
Session中保存的UserCode
if
(Session[
"
UserCode
"
]
!=
null
)
{
strCR_CODE
=
Session[
"
UserCode
"
].ToString().Trim();
}
DateTime dateETD
=
DateTime.Now;
if
(ViewState[
"
ETD
"
]
!=
null
)
//
JOB_SE中的字段ETD,通过ViewState从Page_Load中传过来,在本inv_main表中做"DATE_JOB"业务日期 ,如果JOB_SE中ETD为空,这里该取什么值
{
dateETD
=
Convert.ToDateTime(ViewState[
"
ETD
"
]);
}
#endregion
从ViewState中取值 END
string
strSqlInsert
=
@"
insert into inv_main
(ID ,INV_NO,INV_TITLE,COMPANY_ID,INV_DATE,INV_REN,CURRENCY,AMOUNT,DETAIL_FEE,DETAIL_AMOUNT,DETAIL_REMARK,BANK_NAME,ACCOUNT_NO,JOBNO,LPORT,DPORT,DEST,WTBH,DATE_JOB,AMOUNT_CHN,AMOUNT_HX,AMOUNT_WHX,CR_CODE,CR_TIME,OP_CODE,OP_TIME)
values
(@ID,@INV_NO,@INV_TITLE,@COMPANY_ID,@INV_DATE,@INV_REN,@CURRENCY,@AMOUNT,@DETAIL_FEE,@DETAIL_AMOUNT,@DETAIL_REMARK,@BANK_NAME,@ACCOUNT_NO,@JOBNO,@LPORT,@DPORT,@DEST,@WTBH,@DATE_JOB,@AMOUNT_CHN,@AMOUNT_HX,@AMOUNT_WHX,@CR_CODE,@CR_TIME,@OP_CODE,@OP_TIME)
"
;
try
{
insert inot inv_main new record
#region
insert inot inv_main new record
conn.Open();
SqlCommand comm
=
new
SqlCommand(strSqlInsert, conn);
SqlParameter spara
=
null
;
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@ID
"
, SqlDbType.UniqueIdentifier,
32
));
comm.Parameters[
"
@ID
"
].Value
=
System.Guid.NewGuid();
//
invoice_ID
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@INV_NO
"
, SqlDbType.NVarChar,
50
));
comm.Parameters[
"
@INV_NO
"
].Value
=
txtInvoiceNumber.Text.Trim();
//
发票号码,手工输入
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@INV_TITLE
"
, SqlDbType.NVarChar,
255
));
comm.Parameters[
"
@INV_TITLE
"
].Value
=
txtTitle.Text.Trim();
//
开票抬头,文本框
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@COMPANY_ID
"
, SqlDbType.UniqueIdentifier,
32
));
comm.Parameters[
"
@COMPANY_ID
"
].Value
=
guidSZDW;
//
有可能先输入了费用,又把该公司的信息从Company表中删除,导致此处为空,涉帐单位
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@INV_DATE
"
, SqlDbType.DateTime,
10
));
if
(PickDate_Qg.SelectedDates.Count
>
0
)
//
要先判断该日历控件有没有值
{
comm.Parameters[
"
@INV_DATE
"
].Value
=
PickDate_Qg.SelectedDate;
//
开票日期
}
else
{
comm.Parameters[
"
@INV_DATE
"
].Value
=
DBNull.Value;
//
取出来时也要先判断是否为空
}
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@INV_REN
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@INV_REN
"
].Value
=
txtDrawer.Text.Trim();
//
开票人
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@CURRENCY
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@CURRENCY
"
].Value
=
txtCurrency.Text.Trim();
//
币种
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@AMOUNT
"
, SqlDbType.Decimal,
52
));
//
---->数据库中的类型为decimal(18,2)
comm.Parameters[
"
@AMOUNT
"
].Value
=
txtAmountTotal.Text.Trim();
//
总金额,阿拉伯数字
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@DETAIL_FEE
"
, SqlDbType.VarChar,
500
));
comm.Parameters[
"
@DETAIL_FEE
"
].Value
=
txtFeeItem.Text.Trim();
//
收费内容\r\n这种换行怎么办,直接存进DB?
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@DETAIL_AMOUNT
"
, SqlDbType.VarChar,
500
));
comm.Parameters[
"
@DETAIL_AMOUNT
"
].Value
=
txtAmount.Text.Trim();
//
金额明细 \r\n这种换行怎么办,直接存进DB?
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@DETAIL_REMARK
"
, SqlDbType.VarChar,
500
));
comm.Parameters[
"
@DETAIL_REMARK
"
].Value
=
txtRemark.Text.Trim();
//
备注
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@BANK_NAME
"
, SqlDbType.VarChar,
100
));
//
开户行
comm.Parameters[
"
@BANK_NAME
"
].Value
=
ddlBankName.Items[ddlBankName.SelectedIndex].Text;
//
多个账户对应多个银行名
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@ACCOUNT_NO
"
, SqlDbType.VarChar,
50
));
//
开户帐号
comm.Parameters[
"
@ACCOUNT_NO
"
].Value
=
ddlBankName.Items[ddlBankName.SelectedIndex].Value;
//
多个账户对应多个银行名
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@JOBNO
"
, SqlDbType.VarChar,
500
));
comm.Parameters[
"
@JOBNO
"
].Value
=
txtJobNo.Text.Trim();
//
工作编号
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@LPORT
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@LPORT
"
].Value
=
txtLoadPort.Text.Trim();
//
装货港
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@DPORT
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@DPORT
"
].Value
=
txtDischargePort.Text.Trim();
//
卸货港
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@DEST
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@DEST
"
].Value
=
txtDestPort.Text.Trim();
//
目的地
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@WTBH
"
, SqlDbType.VarChar,
500
));
comm.Parameters[
"
@WTBH
"
].Value
=
txtCommissionNo.Text.Trim();
//
委托编号
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@DATE_JOB
"
, SqlDbType.DateTime,
10
));
comm.Parameters[
"
@DATE_JOB
"
].Value
=
dateETD;
//
业务日期 例如:海运出口为ETD
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@AMOUNT_CHN
"
, SqlDbType.VarChar,
100
));
comm.Parameters[
"
@AMOUNT_CHN
"
].Value
=
txtAmountUpper.Text.Trim();
//
总金额,中文大写
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@AMOUNT_HX
"
, SqlDbType.Decimal,
20
));
comm.Parameters[
"
@AMOUNT_HX
"
].Value
=
0.00m
;
//
核销金额,发票刚开出来,核销金额为0,还没开始核销
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@AMOUNT_WHX
"
, SqlDbType.Decimal,
20
));
comm.Parameters[
"
@AMOUNT_WHX
"
].Value
=
txtAmountTotal.Text.Trim();
//
未核销金额,发票刚开出来,全部金额,还没开始核销
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@CR_CODE
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@CR_CODE
"
].Value
=
strCR_CODE;
//
Session中保存的UserCode
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@CR_TIME
"
, SqlDbType.DateTime,
10
));
comm.Parameters[
"
@CR_TIME
"
].Value
=
DateTime.Now;
//
是本发票保存进数据库的时间 不是 JOB_SE表中的字段CR_TIME????dateCR_TIME,
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@OP_CODE
"
, SqlDbType.VarChar,
50
));
comm.Parameters[
"
@OP_CODE
"
].Value
=
strOP_CODE;
//
JOB_SE表中的字段OP_CODE
spara
=
comm.Parameters.Add(
new
SqlParameter(
"
@OP_TIME
"
, SqlDbType.DateTime,
10
));
comm.Parameters[
"
@OP_TIME
"
].Value
=
DateTime.Now;
//
不是JOB_SE表中的字段OP_TIME????dateOP_TIME
#endregion
comm.ExecuteNonQuery();
comm.Dispose();
/*从Page_Load中传strID过来,再次split成数组,ViweState好像不能存数组,更新fee_in或fee_out中的“已开票标志” flag_kp和 “发票号码” Invoice_No */
#region
/*从Page_Load中传strID过来,再次split成数组,ViweState好像不能存数组,更新fee_in或fee_out中的“已开票标志” flag_kp和 “发票号码” Invoice_No */
string
strID
=
null
;
if
(ViewState[
"
strID
"
]
!=
null
)
{
strID
=
ViewState[
"
strID
"
].ToString();
}
string
[] arrID
=
strID.Split(
'
,
'
);
string
strSqlUpdate
=
""
;
for
(
int
i
=
0
; i
<
arrID.Length
-
1
; i
++
)
//
arrID.Length - 1是因为string[] arrID = strID.Split(',')最后一个元素为空
{
strSqlUpdate
=
@"
set nocount on;update fee_in set flag_kp=1 where id= '
"
+
arrID[i]
+
"
'; update fee_out set flag_kp=1 where id='
"
+
arrID[i]
+
"
';
"
;
strSqlUpdate
+=
@"
update fee_in set INVOICE_NO='
"
+
txtInvoiceNumber.Text.Trim()
+
"
'where id='
"
+
arrID[i]
+
"
';update fee_out set INVOICE_NO='
"
+
txtInvoiceNumber.Text.Trim()
+
"
'where id='
"
+
arrID[i]
+
"
';
"
;
}
SqlCommand commUpdate
=
new
SqlCommand(strSqlUpdate, conn);
commUpdate.ExecuteNonQuery();
//
update delete
commUpdate.Dispose();
#endregion
string
invDateTemp
=
PickDate_Qg.SelectedDate.ToString(
"
d
"
);
//
不能通过隐藏域传递,现在通过QueryString传递
//
if (!this.IsClientScriptBlockRegistered("clientScript"))
//
{
//
String scriptString = @"<script language=JavaScript>window.showModalDialog('invoice_print.aspx?ID=" + strid.ToString() + "',window,'status:Modeless;edge:raised;unadorned:no;scroll=yes;resizable:yes;center=yes;help:no;dialog800px;dialogheight:600px');</script>";
//
this.RegisterClientScriptBlock("clientScript", scriptString);
//
注册客户端脚本块
//
}
//
Server.Transfer("invoice_print.aspx?ID=" + strID.ToString() + "");
Server.Transfer(
"
invoice_print.aspx?invDate=
"
+
invDateTemp
+
""
);
//
Response.Redirect("invoice_print.aspx?ID=" + strID.ToString() + "");
//
Response.Write("<script>"+"window.showModalDialog('invoice_print.aspx',window,'status:Modeless;edge:raised;unadorned:no;scroll=yes;resizable:yes;center=yes;help:no;dialog890px;dialogheight:620px');"+"</script>");
}
finally
{
//
Response.Write("<script>window.alert('Success invoiced!');</script>");
conn.Close();
//
Response.Write("<script>window.close()</script>");
}
}
查看全文
相关阅读:
c++笔记3
c++笔记2
c++笔记1
零点追踪(零点及量程补偿)
优秀软件:
Hart协议
RL_RTX函数
keil-rtx
电源模块选型
RTX51 Tiny
原文地址:https://www.cnblogs.com/simhare/p/848240.html
最新文章
13Spring_AOP编程(AspectJ)_后置通知
12Spring_AOP编程(AspectJ)_前置通知
11Spring_AOP编程(AspectJ)_概述
10Spring_AOP编程(传统编程)
09Spring_AOP介绍和java本身的动态代理以及cglib代理
08Spring_Spring和junit测试集成
07Spring_bean属性的依赖注入-重点@Autowriter
06Spring_使用注解配置bean对象
05Spring_Bean属性的集合类型的注入
错题726-java
热门文章
【Android】Android--Dialog
【Android】 ImageView.ScaleType设置图解
【Android】Android软件开发之ListView 详解
【Android】Android实现自定义带文字和图片的Button
【office2010】office2010安装问题的解决方案。
【Android】Android Theme的设置
【Android】Could not find XXX.apk!的解决方法
【Android】保存Bitmap到SD卡
【Android】安卓中常用的图片加载方法
【Android】Android 发送短信和打电话的方法
Copyright © 2011-2022 走看看