<--#include file=../__Inc/goperation.asp-->
<%
Dim intBillTotal, intBillType, intBillValue, dtaToday, i, strBillCode
Rem 单记录数(预备量)
intBillTotal= request.Form(bn)
intBillTotal= toNum(intBillTotal, 10)
intBillType= getOperType()
intBillValue= getOperValue()
dtaToday= Date()
Rem ###############################################################################################
Rem ## 操作单项目
Dim dtaBillDate, strBillUser, strBillCheckUser, strBillContent
Dim curBillCost, curBillCostAsp, intCustID, strCustName, strPayType, intTotalNum
Dim dtaBillYear, intBillID, intBillPlanID, strBillPlanNum
Rem ## dtaBillDate 单日期, strBillUser 填表人, strBillCheckUser 提货人, intBillID 单ID
Rem ## strBillContent 单备注, strBillCode 流水号, curBillCost 单总价(js), curBillCostAsp 单总价(asp)
Rem ## intCustID 客户ID, strCustName 客户名称, strPayType 付款方式, intTotalNum 单 行数量
Rem ## intBillType 单类型, intBillValue 单类型描述, intBillPlanID 计划单ID, strBillPlanNum 计划单号
Rem ## 操作单日期
dtaBillDate = RePlace(Trim(request.Form(BillDate)), ., -)
If Not IsDate(dtaBillDate) Then
oUser.gs_AddMessage 操作单日期为空
Else
dtaBillDate = CDate(dtaBillDate)
dtaBillYear = Year(dtaBillDate)
If (oSys.CheckYearOut(dtaBillYear)) Then
oUser.gs_AddMessage 操作单日期( & dtaBillYear & )超出范围
End If
Rem #############################################################################################
Rem ## 数据封存限制
Rem #############################################################################################
End If
Rem ## 填表人
strBillUser = Trim(request.Form(BillUser) & )
If strBillUser = Then
oUser.gs_AddMessage 填表人为空
End If
Rem ## 提货人
strBillCheckUser = Trim(request.Form(BillCheckUser) & )
If strBillCheckUser = Then
oUser.gs_AddMessage 提货人为空
End If
Rem ## 出错转向
oUser.gs_ShowMessage 1
Rem ## 其他项目
curBillCost= toCur(request.Form(totalprice) & , 0)
curBillCostAsp= 0
intCustID= toNum(request.Form(CustID) & , 0)
strCustName= request.Form(CustName)
strPayType= request.Form(PayType)
strBillContent= request.Form(BillContent)
intBillPlanID= toNum(request.Form(BillPlan) & , 0)
strBillPlanNum= getBillNuber(intBillPlanID)
Rem ###############################################################################################
Rem ###############################################################################################
Rem ## 获得用户输入的数据
Dim arrRecordInfo()
Dim intTempID, curTempPrice, curTempTotal, curTempCost, curTempAspC
Dim strTempCode, strTempName, strTempSpec, strTempUnit, intTempOut, strTempContent
Rem ## intTempID 临时产品ID, curTempPrice 单价, curTempTotal 数量, curTempCost 总价(js)
Rem ## curTempAspC 产品总价(asp), strTempCode 编码, strTempName 名称, strTempSpec 规格
Rem ## strTempUnit 单位, strTempContent 备注
ReDim arrRecordInfo(10, 0)
Rem ## 初始化 单 行数量为 0, 过滤掉的行数为 0
intTotalNum = 0
intTempOut= 0
Rem ## 初始化客户端提交的有用数据
For i = 1 to intBillTotal
intTempID= toNum(request.Form(fpid & i), 0)
curTempPrice= toCur(request.Form(fpprice & i), 0)
curTempTotal= toCur(request.Form(fptotal & i), 0)
curTempCost= toCur(request.Form(fpcost & i), 0)
curTempAspC= curTempPrice * curTempTotal
If ((curTempPrice >0) And (curTempTotal <>0) And (intTempID >0)) Then
Rem ## 可用数据
intTotalNum = intTotalNum + 1
curBillCostAsp = curBillCostAsp + curTempAspC
strTempCode= Trim(request.Form(fpmodel & i))
strTempName= Trim(request.Form(fpvalue & i))
strTempSpec= Trim(request.Form(fpspec & i))
strTempUnit= Trim(request.Form(fpunit & i))
strTempContent= Trim(request.Form(fpcontent & i))
ReDim Preserve arrRecordInfo(10, intTotalNum)
arrRecordInfo(0, intTotalNum) = intTempID
arrRecordInfo(1, intTotalNum) = strTempName
arrRecordInfo(2, intTotalNum) = strTempCode
arrRecordInfo(3, intTotalNum) = strTempSpec
arrRecordInfo(4, intTotalNum) = strTempUnit
arrRecordInfo(5, intTotalNum) = curTempPrice
arrRecordInfo(6, intTotalNum) = curTempTotal
arrRecordInfo(7, intTotalNum) = curTempCost
arrRecordInfo(8, intTotalNum) = curTempAspC
arrRecordInfo(9, intTotalNum) = strTempContent
ElseIf (intTempID >0) Then
intTempOut = intTempOut + 1
End If
Next
If intTotalNum < 1 Then
oUser.gs_AddMessage 操作单中无产品数据
oUser.gs_AddMessage 共有 & intTempOut & 条数据(产品单价为0、为空或负数, 数量为0或空)被过滤
oUser.gs_ShowMessage 1
End If
Rem ###############################################################################################
Rem ## 打开连接
f__OpenConn
Rem ###############################################################################################
Rem ## 检测表存在与否
Dim tblTableName
tblTableName = oUser.getBillTable(dtaBillYear)
Rem ###############################################################################################
Rem ###############################################################################################
Rem ## 构造单项目 SQL 语句 并保存
strBillCode= getOpeBill()
sql = SELECT * FROM [ & GBL__STR_TAB_INF_BILL & ]
Set rs = Server.CreateObject(Adodb.RecordSet)
rs.open sql, conn, 1, 3
rs.AddNew
rs(CustomerID)= intCustID
rs(CustomerName)= strCustName
rs(BitPlanID)= intBillPlanID
rs(BitPlanNum)= strBillPlanNum
rs(BitType)= intBillType
rs(BitName)= intBillValue
rs(BitCode)= strBillCode
rs(BitNum)= intTotalNum
rs(BitPrice)= curBillCost
rs(BitPriceAsp)= curBillCostAsp
rs(BitDate)= dtaBillDate
rs(BitPay)= strPayType
rs(BitContent)= strBillContent
rs(FillUser)= strBillUser
rs(SureUser)= strBillCheckUser
rs(UserID)= oUser.UID
rs(UserName)= oUser.UserName
rs.update
intBillID = rs(ID)
strBillCode = getBillNuber(intBillID)
rs(BitCode) = strBillCode
rs.update
rs.close
Rem ###############################################################################################
Rem ###############################################################################################
Rem ## 构造数据行 SQL 语句 并保存
For i = 1 to intTotalNum
sql = insert into [ & tblTableName & ] & _
(BitType, BitValue, BitID, BitCode, ProductID, ProductName, ProductCode, ProductSpec & _
, ProductUnit, ProductPrice, ProductNum, PriceCount, PriceAspC, BillDate, Content) & _
Values( & _
& intBillType & & _
, ' & toSqlr(intBillValue) & ' & _
, & intBillID & & _
, ' & toSqlr(strBillCode) & ' & _
, & arrRecordInfo(0, i) & & _
, ' & toSqlr(arrRecordInfo(1, i)) & ' & _
, ' & toSqlr(arrRecordInfo(2, i)) & ' & _
, ' & toSqlr(arrRecordInfo(3, i)) & ' & _
, ' & toSqlr(arrRecordInfo(4, i)) & ' & _
, & arrRecordInfo(5, i) & & _
, & arrRecordInfo(6, i) & & _
, & arrRecordInfo(7, i) & & _
, & arrRecordInfo(8, i) & & _
, # & dtaBillDate & # & _
, ' & toSqlr(arrRecordInfo(9, i)) & ' & _
)
conn.execute(sql)
Next
Rem ###############################################################################################
Rem ## 关闭连接
f__CloseConn
Rem ###############################################################################################
Rem ## 输出提示信息
oUser.gs_AddMessage 共有 & intTempOut & 条数据(产品单价为0、为空或负数, 数量为0或空)被过滤
oUser.gs_AddMessage 共有 & intTotalNum & 项数据保存入库, 总价格: & FormatNumber(curBillCost, 2, true) & ( & FormatNumber(curBillCostAsp, 2, true) & )
oUser.gs_AddMessage 查看此单( & strBillCode & )信息
oUser.gs_AddMessage 打印此单
oUser.gs_ShowMessage 0
Rem ###############################################################################################
%>