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>");
}
}
查看全文
相关阅读:
SQL 2008R2问题:用户、组或角色'XXX'在当前数据库中已存在?
修改sqlserver 2008 R2 实例名称
keepalived vip做网关
Django(HttpResponse、render,、redirect)的用法
Linux脚本中$#、$0、$1、$@、$*、$$、$?
linux定时删除历史日志文件实现方式--shell脚本
Long转换为date
java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
2016年新年伊始
linux下环境搭建
原文地址:https://www.cnblogs.com/simhare/p/848240.html
最新文章
Javascript实现信息滚动效果的方法
js实现放大镜特效的实现方法
Oracle启动和禁用约束及删除违反约束的记录
未加星标 ajax三级联动的实现方法
Vue表单验证插件的制作过程
Oracle查询表里的重复数据方法
oracle导入数据库报错:IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACLE 错误 12899
win10 chrome 调试
SQL SERVER 2005 Express版, 精简版 下载
SQL SREVER, ORACLE数据库连接字符串
热门文章
VS 无法调试 IIS
fiddler Android下https抓包全攻略
VMware虚拟机NAT模式的具体配置
fiddler 代理不成功调试
国内有哪些 开发牛人
VS开发工具 不会在异常的地方停止的问题.
详解 Nginx 服务器的六种负载均衡策略
用 Keepalived+HAProxy 实现高可用负载均衡的配置方法
Zabbix监控windows系统中文件是否存在/文件大小
对已经发布订阅的sqlserver进行修改-添加新的表
Copyright © 2011-2022 走看看