批量数据录入, 辅助输入数据, 以及相关检测(ASP 服务器端)

类别:Asp 点击:0 评论:0 推荐:

作者: 萧月痕

相关链接: 批量数据录入, 辅助输入数据, 以及相关检测(JScript 客户端)(原创)

<!--#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 "<a href=""../Erp/Bill_View.asp?bt=" & intBillType & "&id=" & intBillID & """>查看此单(" & strBillCode & ")信息</a>" oUser.gs_AddMessage "<a href=""../Erp/Bill_View.asp?bt=" & intBillType & "&id=" & intBillID & "&pt=1"">打印此单</a>" oUser.gs_ShowMessage 0 Rem ############################################################################################### %>

本文地址:http://com.8s8s.com/it/it7408.htm