<--#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 ################################################# ##############################################
%>