zoukankan      html  css  js  c++  java
  • LOTUS/DOMINO学习笔记之邮件发送程序

    本篇讲解一个图书订阅系统里的一个预定图书到期提醒的例子,就是用户可以预定书籍,到货后如果一个工作日内没有去领则自动取消您的预定。

        Dim session As New NotesSession    
        
    Dim db As NotesDatabase
        
    Dim memo As NotesDocument
        
    Dim view As NotesView
        
    Dim rtitem As NotesRichTextItem    
        
    Set db=session.CurrentDatabase
        
    Set memo=New NotesDocument (db)
        
    Set rtitem=New NotesRichTextItem(memo,"body")
        
    Dim doc As NotesDocument
        
    Dim doc2 As NotesDocument
        
    Dim colls As NotesDocumentCollection    
        
    Dim colls2 As NotesDocumentCollection
        
    Dim query As String    
        
    Dim query2 As String
        
    Dim i As Integer
        
    Dim BorrowName As String
        
    Dim eval As Variant
        
    Dim bdate As String
        
    Dim ldate As Variant    
        
    Dim wday As Variant
        
    Dim borrowavail As Integer
        query
    ="form={$borrow} & Borrow_Status=""预定"" & Borrow_BookMailDate<>"""" & Borrow_BookMail=""发送"""
        
    Set colls=db.Search(query,Nothing,0)    
        
    If colls.count=0 Then
            
    Exit Sub
        
    End If    
        
    Print "进入取消提醒"
        
    Set doc=colls.GetFirstDocument
        
    While Not (doc Is Nothing)                
            bdate
    =doc.GetItemValue("Borrow_BookMailDate")(0)
            ldate
    =Evaluate("@date(@now)")
            
    'eval=Evaluate("@Date(@Year(@totime({2008-10-12}));@month(@totime({2008-10-12}));@day(@totime({2008-10-12})))")
            'eval=Evaluate("@totime({" & ldate & "})")
            eval=Evaluate("(@totime({" & ldate(0& "})-@totime({" & bdate & "}))/86400")
            wday
    =Evaluate("@weekday(@now)")
            
    If eval(0)>=1 And wday(0)<7  Then '周六周天除开
                query2="form={$book} & Book_ComputerID={" & doc.GetItemValue("Borrow_ComputerID")(0& "}"
                
    Set colls2=db.Search(query2,Nothing,0)
                
    '更新该书的可借数量
                If colls2.Count>0 Then
                    
    Set doc2=colls2.GetFirstDocument
                    
    '取当前可借数量
                    eval=Evaluate("@texttonumber({" & doc2.GetItemValue("Book_AvailBorrow")(0& "})")
                    borrowavail
    =eval(0)
                    
    '取已经预定的数量
                    eval=Evaluate("@texttonumber({" & doc.GetItemValue("Borrow_Number")(0& "})")
                    borrowavail
    =borrowavail+eval(0)
                    doc2.RemoveItem(
    "Book_AvailBorrow")
                    
    Call doc2.AppendItemValue("Book_AvailBorrow",borrowavail)
                    
    If borrowavail>0 Then
                        doc2.RemoveItem(
    "Book_Status")
                        
    Call doc2.AppendItemValue("Book_Status","可借")
                    
    End If
                    
    Call doc2.Save(True,False)
                    
    '取消预定
                    doc.RemoveItem("Borrow_Status")
                    
    Call doc.AppendItemValue("Borrow_Status","取消预定")
                    
    Call doc.Save(True,False)
                    
    Print "CancelBookAlarm:取消预定" & doc.GetItemValue("Borrow_BookName")(0)
                
    End If
            
    Else
                
    Set memo=New NotesDocument (db)
                
    Set rtitem=New NotesRichTextItem(memo,"body")            
                
    Call rtitem.AppendText("您预定的<<" & doc.GetItemValue("Borrow_BookName")(0& ">>书已经到了" & Chr(13& "请尽快去管理员出领取,否则在今天将取消您的预定,谢谢")
                memo.subject
    ="您预定的<<" & doc.GetItemValue("Borrow_BookName")(0& ">>书已经到了"            
                eval
    =Evaluate("@DbLookup({};{hpserver/hwapu}:{book\\archivesmanagement.nsf};{$users};{" & doc.GetItemValue("Borrow_BorrowName")(0& "};2)")
                
    Print "CancelBookAlarm:" & eval(0& "您预定的<<" & doc.GetItemValue("Borrow_BookName")(0& ">>书已经到了"
                
    Call memo.Send(False,eval(0))                
                
    Set memo=Nothing
                
    Set rtitem=Nothing    
                
    Print "CancelBookAlarm:取消预定再次提醒" & doc.GetItemValue("Borrow_BookName")(0)
            
    End If
            
    Set doc=colls.GetNextDocument(doc)
        Wend
  • 相关阅读:
    1063. Set Similarity
    A1047. Student List for Course
    A1039. Course List for Student
    最大公约数、素数、分数运算、超长整数计算总结
    A1024. Palindromic Number
    A1023. Have Fun with Numbers
    A1059. Prime Factors
    A1096. Consecutive Factors
    A1078. Hashing
    A1015. Reversible Primes
  • 原文地址:https://www.cnblogs.com/ringwang/p/1330925.html
Copyright © 2011-2022 走看看