0825
博客专区 > aimr0215 的博客 > 博客详情
0825
aimr0215 发表于3个月前
0825
  • 发表于 3个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

从数据库查询PDF(RD_AUTO_PDF_HIST)  ————开关(T_SENDAUTOPDF_CONFIG) ————日志(PDFSendLog)————发送邮箱

    
  当invoice变为特定状态(ICT:printed状态,CCT/UCT:settled状态invoice type为I:printed及settled状态,invoice type为C、U、D:settled状态)时,invoice-pdf自动生成,并自动发送给对应收件邮箱

开关:1.从数据库RD_AUTO_PDF_HIST查询数据 custno 和invno      

      2.parno 等于 custno,根据parno到数据库 T_SENDAUTOPDF_CONFIG 查询数据 ,  有数据说明parno 有值,不发送PDF 到日志表中,没数据是执行  barno  查询

      3.barno 等于 parno数据的前六位,根据barno到数据库 T_SENDAUTOPDF_CONFIG 查询,查询有数据进行下列判断  A ,   没数据 执行gmaxno 查询 
          


      4,根据 Gmaxno  到数据 T_SENDAUTOPDF_CONFIG 查询数据  ,有数据进行下列判断   A  , 没数据 直接发送PDF

      5, A 的逻辑 为查到数据的判断 逻辑如下:查到的数据 写出 PRODUCTTYPE,INVTYPE,INVPREFIX,INVNOPRICE,

        当  PRODUCTTYPE,INVTYPE,INVPREFIX 为空, INVNOPRICE 为0   不发送PDF   (注:INVNOPRICE 的只有两个值  1 和 0)反之
         
          说明 PRODUCTTYPE,INVTYPE,INVPREFIX,INVNOPRICE 其中一个或全部有数据 ,


     
     6. INVPREFIX 等于 invno 数据的前四位,  INVTYPE 等于 invno数据的第二位;根据 invno 为条件到数据库 arinvgrp 查询  PRODUCTTYPE  ,
       
         sql语句:   select PRODUCTTYPE from arinvgrp where invno='invno'  查询的 PRODUCTTYPE 有一个或多个值
   
    
      
     7. 判断  根据 第5点得到  PRODUCTTYPE,INVTYPE,INVPREFIX 和 第6点 ,INVPREFIX  ,INVTYPE ,PRODUCTTYPE 一一对应比较,


       当 第5点的 INVPREFIX  ,INVTYPE ,PRODUCTTYPE 和第6点  通过invno截取得到的值  INVTYPE,INVPREFIX  和 sql语句查出的 PRODUCTTYPE 比较,第6点的值 不包含在第5点的各个值中 进行下面判断 B ,
       
      反之 不发送。

   8,  B 判断 当INVNOPRICE  为 0 时 发送PDF 为1时 继续判断 , 根据invno 查询金额sql:  select sum(BILLINVAMT) as amt from  ARINV where invno ='"+invno+"'";

         当金额 >0 发送PDF  反之 不发送PDF
       

           
 

共有 人打赏支持
粉丝 2
博文 20
码字总数 26728
×
aimr0215
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: