f_check_pf_flag.srf 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. $PBExportHeader$f_check_pf_flag.srf
  2. global type f_check_pf_flag from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_check_pf_flag (long arg_mtrlid, string arg_pfcode, integer arg_flagtype, ref string arg_msg)
  6. end prototypes
  7. global function integer f_check_pf_flag (long arg_mtrlid, string arg_pfcode, integer arg_flagtype, ref string arg_msg);Int rslt = 1
  8. Int li_flag,li_affirmflag
  9. String ls_mtrlcode
  10. SELECT mtrlcode INTO :ls_mtrlcode
  11. FROM u_mtrldef
  12. Where mtrlid = :arg_mtrlid;
  13. IF sqlca.SQLCode <> 0 THEN
  14. arg_msg = '查询物料编码失败,'+sqlca.SQLErrText
  15. rslt = 0
  16. GOTO ext
  17. END IF
  18. SELECT flag,affirmflag INTO :li_flag,:li_affirmflag
  19. FROM u_mtrl_pf
  20. WHERE mtrlid = :arg_mtrlid
  21. AND pfcode = :arg_pfcode;
  22. IF sqlca.SQLCode <> 0 THEN
  23. rslt = 0
  24. arg_msg = '查询:'+ls_mtrlcode+'物料清单:'+arg_pfcode+',是否已审核失败,操作失败'
  25. GOTO ext
  26. END IF
  27. IF arg_flagtype = 1 THEN //检查是否已审
  28. IF li_flag = 1 THEN
  29. rslt = 0
  30. arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'已审核'
  31. GOTO ext
  32. END IF
  33. ELSEIF arg_flagtype = 0 THEN //检查是否未审
  34. IF li_flag = 0 THEN
  35. rslt = 0
  36. arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'未审核'
  37. GOTO ext
  38. END IF
  39. ELSEIF arg_flagtype = 2 THEN //检查是否已确认
  40. IF li_affirmflag = 1 THEN
  41. rslt = 0
  42. arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'已确认'
  43. GOTO ext
  44. END IF
  45. ELSEIF arg_flagtype = 3 THEN //检查是否未确认
  46. IF li_affirmflag = 0 THEN
  47. rslt = 0
  48. arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'未确认'
  49. GOTO ext
  50. END IF
  51. END IF
  52. ext:
  53. RETURN rslt
  54. end function