purchase_input_master.inc

来自「物业管理和办公自动化系统」· INC 代码 · 共 351 行 · 第 1/2 页

INC
351
字号
				Paginate(sFileName, sFormParams, sSortParams, iCurrentPage, iTotalPages) & _
				"&nbsp;</td></tr>"
	TableRecords = _
	        sTemp & _
			"  <input type=""hidden"" name=""rowcount"" value=""" & rowCount & """>"
End Function
'*********************************************************************************************
Function InputAction()
    InputAction = _
            "<table cellspacing=0 cellpadding=3 width=""100%"" align=center border=0>" & vbLF & _
			"	<tr height=30 bgcolor=white>" & vbLF & _
		    "		<td align=center colspan=9>" & _
			"		<span style=""cursor:hand"" title=""设置清单细节,然后点击按钮入库"" onclick=""btnInput_OnClick();""><img border=0 src=""../images/arrowr.gif"" style=""vertical-align:middle"">生成入库单</span>" & _
			"		&nbsp;&nbsp;&nbsp;" & vbLF & _
			"		<span style=""cursor:hand"" title=""放弃入库!"" onclick=""btnCancel_OnClick();""><img border=0 src=""../images/delete.gif"" style=""vertical-align:middle"">放弃入库</span>" & _
			"		</td>" & _
			"	</tr>" & vbLF & _	
		    "	<tr height=10 bgcolor=white><td colspan=9></td></tr>" & vbLF & _
			"</table>" & _
			"</form>"
End Function
'*********************************************************************************************
Function DoInput()
	dim sSQL1,sSQL2,sSQL3,sql
	dim j, rowCount, sCargoID, sCargoName,sSheetID ,sModel, sUnit, sQuantity, sUnitPrice, sRemark
	dim sGoodsID,sGSheetID,sGQuantity,sGUnitPrice,sGoodsDesp,sIsEquip,sGoodsType,sMinQuantity,sBestBefore,sGRemark,sDepotID,sLocation,sKeeper
    dim sInputSheetID,sPurchaseTime,sSupplier
''-----------------------------------------------------------------------------
'' 将新建入库单抬头信息加入t_stock_master
''-----------------------------------------------------------------------------
	sql = "select depot_name from t_depot where depot_id =" & pDepotID
	sDepotID = DLookUp(conn,sql)

	sSQL1 = "insert into t_stock_master(optype,department,buyer,checker,keeper,sheet_status)" & _
		" values(1," & ToSQL(sDepotID,"text") & "," & ToSQL(pBuyer,"text") & _
		"," & ToSQL(pChecker,"text") & "," & ToSQL(pKeeper,"text") & ",0)"
	call Openrs(conn,sSQL1)

''-----------------------------------------------------------------------------
'' 将新入库物品信息加入库存t_goods
''-----------------------------------------------------------------------------
	rowCount = GetParam("rowcount")
	sql = "select Max(sheet_id) from t_stock_master"
	sGSheetID = DLookUp(conn,sql)

	for j = 1 to Cint(rowCount) step 1
			sCargoID = GetParam("cargo_id_" & Trim(j))
			sSQL2 = "select cargo_name,model,quantity,unit,unit_price,sheet_id from t_purchase_detail where cargo_id = " & sCargoID
			dim rs : set rs = Openrs(conn, sSQL2)
			if Not rs.EOF then
				sCargoName	= rs("cargo_name")
				sSheetID	= rs("sheet_id")
				sModel		= rs("model")
				sUnit		= rs("unit")
				sQuantity	= GetValue(rs,"quantity")
				sUnitPrice	= GetValue(rs,"unit_price")
			end if
			rs.Close()
	        set rs = nothing
			
			sql = "select goods_type from t_purchase_master where sheet_id =" & sSheetID
			sGoodsType = DLookUp(conn,sql)
			sql = "select purchase_time from t_purchase_master where sheet_id =" & sSheetID
			sPurchaseTime = DLookUp(conn,sql)
			sql = "select supplier from t_purchase_master where sheet_id =" & sSheetID
			sSupplier = DLookUp(conn,sql)
		
			'' 提醒状态分类,0不需提醒,1正常,2已提醒,3采购中
			sql = "select * from t_goods where goods_name =" & ToSQL(sCargoName,"text") & _
				" and model =" & ToSQL(sModel,"text") & _
				" and unit =" & ToSQL(sUnit,"text") & _
				" and remind_status = 3"
'			response.write sql :response.end
			
			set rs = Openrs(conn, sql)
	
			sMinQuantity	 = GetParam("min_quantity_" & Trim(j))
			sGRemark		 = GetParam("remark_" & Trim(j))
			sLocation		 = GetParam("location_" & Trim(j))
			
			'' 判断所采购物品是否在库中,是的话update,否则insert
			if Not rs.EOF then
				sGoodsID		 = GetValue(rs,"goods_id")
				
				sGQuantity		 = GetValue(rs,"quantity")
				sGUnitPrice		 = GetValue(rs,"unit_price")
				sGUnitPrice		 = (sUnitPrice * sQuantity + sGUnitPrice * sGQuantity)/(sGQuantity + sQuantity)
				sGQuantity		 = sGQuantity + sQuantity

				sSQL2 = "update t_goods set quantity =" & ToSQL(sGQuantity,"number") & _
					",unit_price =" & ToSQL(sGUnitPrice,"number") & _
					",min_quantity =" & ToSQL(sMinQuantity,"number") & _
					",remark =" & ToSQL(sGRemark,"text") & _
					",location =" & ToSQL(sLocation,"text") & _
					",remind_status = '1'" & _
					",current_status = 1" & _
					" where goods_id =" & ToSQL(sGoodsID,"number")	
				'response.write sSQL2 :response.end
				call Openrs(conn,sSQL2)
			else
				sSQL2 = "insert into t_goods(goods_name,model,unit,quantity" & _
					",goods_type,min_quantity,unit_price,remark,is_equip" & _
					",remind_status,depot_id,location,keeper,input_method,current_status)" & _
					" values(" & ToSQL(sCargoName,"text") & _
					"," & ToSQL(sModel,"text") & _
					"," & ToSQL(sUnit,"text") & _
					"," & ToSQL(sQuantity,"number") & _
					"," & ToSQL(sGoodsType,"number") & _
					"," & ToSQL(sMinQuantity,"number") & _
					"," & ToSQL(sUnitPrice,"number") & _
					"," & ToSQL(sGRemark,"text") & _
					"," & ToSQL(pIsEquip,"number") & _
					",'1'" & _
					"," & ToSQL(pDepotID,"number") & _
					"," & ToSQL(sLocation,"text") & _
					"," & ToSQL(pKeeper,"text") & _
					",1,1)"
				'response.write sSQL2 :response.end
				call Openrs(conn,sSQL2)
				sql = "select Max(goods_id) from t_goods"
				sGoodsID = DLookUp(conn,sql)
			end if
			rs.Close()
	        set rs = nothing
''-----------------------------------------------------------------------------
'' 将新入库物品信息加入t_stock_detail
''-----------------------------------------------------------------------------
			sql = "select Max(sheet_id) from t_stock_master"
			sInputSheetID = DLookUp(conn,sql)

			sSQL3 = "insert into t_stock_detail(goods_id,sheet_id,goods_name,model" & _
				",unit,quantity,unit_price,goods_type,depot,location,opdate,remark,purchase_date,supplier)" & _
				" values(" & ToSQL(sGoodsID,"number") & _
				"," & ToSQL(sInputSheetID,"number") & _
				"," & ToSQL(sCargoName,"text") & _
				"," & ToSQL(sModel,"text") & _
				"," & ToSQL(sUnit,"text") & _
				"," & ToSQL(sQuantity,"number") & _				
				"," & ToSQL(sUnitPrice,"number") & _
				"," & ToSQL(sGoodsType,"number") & _		
				"," & ToSQL(pDepotID,"number") & _
				"," & ToSQL(sLocation,"text") & _
				"," & ToSQL(pOpdate,"text") & _
				"," & ToSQL(sGRemark,"text") & _
				"," & ToSQL(sPurchaseTime,"text") & _
				"," & ToSQL(sSupplier,"number") & _
				")"
			'response.write sSQL3 :response.end
			call Openrs(conn,sSQL3)	
''-----------------------------------------------------------------------------
'' 将采购单上(t_purchase_detail)入库的物品状态设为"2"已入库
''-----------------------------------------------------------------------------
			sql = "update t_purchase_detail set is_input = 2 where cargo_id =" & sCargoID
			'response.write sql :response.end
			call Openrs(conn,sql)
			sql = "select * from t_purchase_detail where is_input = 0 and sheet_id =" & sSheetID
			set rs = Openrs(conn,sql)
			if rs.EOF then
			sql = "update t_purchase_master set sheet_status = '入库' where sheet_id =" & sSheetID
			call Openrs(conn,sql)
			end if
			rs.Close()
			set rs = nothing
	next

	response.redirect "sheet_goto.asp?sheet_id=" & sGSheetID
End Function
'******************************************************************************
Sub Cancel()
	dim sql
	sql = "update t_purchase_detail set is_input = 0 where is_input = 1"
	call Openrs(conn,sql)
	response.redirect "purchase_input.asp"
End Sub
%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?