f_update_printnum.srf 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. $PBExportHeader$f_update_printnum.srf
  2. global type f_update_printnum from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_update_printnum (string arg_tablename, long arg_printnum, long arg_1_num, long arg_2_num, string arg_1_str, string arg_2_str, ref string arg_msg, boolean arg_ifcommit)
  6. end prototypes
  7. global function integer f_update_printnum (string arg_tablename, long arg_printnum, long arg_1_num, long arg_2_num, string arg_1_str, string arg_2_str, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  8. CHOOSE CASE arg_tablename
  9. CASE 'u_buytask' //**采购订单
  10. UPDATE u_buytask SET printnum = printnum + :arg_printnum
  11. Where scid = :arg_1_num AND taskid = :arg_2_num;
  12. CASE 'u_inware' //**进仓单
  13. UPDATE u_inware SET printnum = printnum + :arg_printnum
  14. Where scid = :arg_1_num AND inwareid = :arg_2_num;
  15. CASE 'u_outware' //**出仓单
  16. UPDATE u_outware SET printnum = printnum + :arg_printnum
  17. Where scid = :arg_1_num AND outwareid = :arg_2_num;
  18. CASE 'u_gz_award_punish' //**奖罚单
  19. UPDATE u_gz_award_punish SET printnum = printnum + :arg_printnum
  20. Where billid = :arg_2_num;
  21. CASE 'u_gz_cwork' //**考勤单
  22. UPDATE u_gz_cwork SET printnum = printnum + :arg_printnum
  23. Where billid = :arg_2_num;
  24. CASE 'u_gz_loanwage' //**借支单
  25. UPDATE u_gz_loanwage SET printnum = printnum + :arg_printnum
  26. Where billid = :arg_2_num;
  27. // case 'u_order_ml' //**生产计划
  28. // update u_order_ml set printnum = printnum + :arg_printnum
  29. // where scid =:arg_1_num and orderid =:arg_2_num;
  30. CASE 'u_order_wfjg' //**外加工计划
  31. UPDATE u_order_wfjg SET printnum = printnum + :arg_printnum
  32. Where scid = :arg_1_num AND wfjgid = :arg_2_num;
  33. CASE 'u_saletask' //**销售订单
  34. UPDATE u_saletask SET printnum = printnum + :arg_printnum
  35. Where scid = :arg_1_num AND taskid = :arg_2_num;
  36. // case 'u_sc_abnormity_bill' //**返工返修赔偿单
  37. // update u_sc_abnormity_bill set printnum = printnum + :arg_printnum
  38. // where billid =:arg_2_num;
  39. CASE 'u_oppose' //**投诉单
  40. UPDATE u_oppose SET printnum = printnum + :arg_printnum
  41. Where billid = :arg_2_num;
  42. CASE 'u_spt_price_change' //**调价单
  43. UPDATE u_spt_price_change SET printnum = printnum + :arg_printnum
  44. Where billid = :arg_2_num;
  45. CASE 'u_spt_amerce' //**罚款单
  46. UPDATE u_spt_amerce SET printnum = printnum + :arg_printnum
  47. Where scid = :arg_1_num AND billid = :arg_2_num;
  48. CASE 'u_spt_amerce' //**损耗单
  49. UPDATE u_order_wfjg_waste SET printnum = printnum + :arg_printnum
  50. Where scid = :arg_1_num AND wasteid = :arg_2_num;
  51. CASE 'u_incase' //**装箱单
  52. UPDATE u_incase SET printnum = printnum + :arg_printnum
  53. Where scid = :arg_1_num AND incaseid = :arg_2_num;
  54. CASE 'u_quote' //**报价单
  55. UPDATE u_quote SET printnum = printnum + :arg_printnum
  56. Where scid = :arg_1_num AND quoteid = :arg_2_num;
  57. CASE 'u_cusamt' //客户收款单
  58. UPDATE u_cusamt SET printnum = printnum + :arg_printnum
  59. Where scid = :arg_1_num AND cusmonid = :arg_2_num;
  60. CASE 'ow_wfjg_in' //外协收货单
  61. UPDATE ow_wfjg_in SET printnum = printnum + :arg_printnum
  62. Where scid = :arg_1_num AND inwareid = :arg_2_num;
  63. CASE 'ow_wfjg_out' //外协发出单
  64. UPDATE ow_wfjg_out SET printnum = printnum + :arg_printnum
  65. Where scid = :arg_1_num AND outwareid = :arg_2_num;
  66. CASE 'u_saletaskmx_card' //流程卡
  67. UPDATE u_saletaskmx_card SET printnum = printnum + :arg_printnum
  68. Where scid = :arg_1_num AND cardid = :arg_2_num;
  69. CASE 'u_saletaskmx'
  70. UPDATE u_SaleTaskMx SET u_SaleTaskMx.printnum = u_SaleTaskMx.printnum + :arg_printnum
  71. FROM u_SaleTask,
  72. u_SaleTaskMx
  73. WHERE ( u_SaleTask.TaskID = u_SaleTaskMx.TaskID ) AND
  74. ( u_SaleTask.scid = u_SaleTaskMx.scid ) AND
  75. ((LTRIM(RTRIM(u_saletask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid)) = :arg_1_str ) );
  76. CASE 'u_rap_money_transfer'
  77. UPDATE u_rap_money_transfer SET printnum = printnum + :arg_printnum
  78. Where billid = :arg_2_num;
  79. CASE 'u_sc_taskwork'
  80. UPDATE u_sc_taskwork SET printnum = printnum + :arg_printnum
  81. Where scid = :arg_1_num AND billid = :arg_2_num;
  82. CASE 'u_scwg_taskwork_2' //个人产品计件单
  83. UPDATE u_scwg_taskwork_2 SET printnum = printnum + :arg_printnum
  84. Where scid = :arg_1_num AND billid = :arg_2_num;
  85. CASE 'u_sc_abnormity' //个人工序计件单
  86. UPDATE u_sc_abnormity SET printnum = printnum + :arg_printnum
  87. Where scid = :arg_1_num AND billid = :arg_2_num;
  88. CASE 'u_outware_move'
  89. UPDATE u_outware_move SET printnum = printnum + :arg_printnum
  90. Where outwareid = :arg_2_num;
  91. END CHOOSE
  92. IF sqlca.SQLCode <> 0 THEN
  93. arg_msg = '更新表:'+arg_tablename+'打印次数失败'
  94. rslt = 0
  95. GOTO ext
  96. END IF
  97. ext:
  98. IF rslt = 0 THEN
  99. ROLLBACK;
  100. ELSEIF rslt = 1 AND arg_ifcommit THEN
  101. COMMIT;
  102. END IF
  103. RETURN rslt
  104. end function