f_qjl_dsr_barcode_chaifen.srf 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. $PBExportHeader$f_qjl_dsr_barcode_chaifen.srf
  2. global type f_qjl_dsr_barcode_chaifen from function_object
  3. end type
  4. forward prototypes
  5. global function string f_qjl_dsr_barcode_chaifen (long arg_scid, string arg_taskcode, long arg_printrow, long arg_top)
  6. global function string f_qjl_dsr_barcode_chaifen (long arg_scid, long arg_getbarid)
  7. end prototypes
  8. global function string f_qjl_dsr_barcode_chaifen (long arg_scid, string arg_taskcode, long arg_printrow, long arg_top);String createsql_string = ''
  9. string ls_handtype=''
  10. createsql_string = ''
  11. createsql_string = createsql_string + "Create table u_temp(scid int,TaskID int,printid int ,username varchar(500))"
  12. EXECUTE IMMEDIATE :createsql_string;
  13. COMMIT;
  14. //messagebox('',pos(arg_taskcode,"'" + ' ' + "'"))
  15. //arg_taskcode=of_globalreplace(arg_taskcode,"'" + ' ' + "'", ',' )
  16. //arg_taskcode=of_globalreplace(arg_taskcode,"'" , ' ')
  17. //messagebox('',string(arg_taskcode))
  18. long ll_cnt,i,j,ll_scid,ll_taskid,ll_printid,ll_orderqty
  19. //select count(*) into :ll_cnt from u_saletask inner join u_saletaskmx on u_saletaskmx.scid=u_saletask.scid and u_saletaskmx.taskid=u_saletask.taskid
  20. //where
  21. // :arg_taskcode like '%' + LTRIM(RTRIM(u_SaleTask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid)) + '%';
  22. datastore ds
  23. ds = Create datastore
  24. ds.DataObject = "dw_rp_saletask_sc_mx_edit_xmy_temp"
  25. ds.SetTransObject(sqlca)
  26. ll_cnt = ds.Retrieve(arg_scid,arg_taskcode,arg_printrow,arg_top)
  27. delete u_temp where username=:publ_operator;
  28. for i=1 to ds.rowcount()
  29. ll_orderqty=0
  30. ll_scid=ds.object.u_saletaskmx_scid[i]
  31. ll_taskid=ds.object.u_saletaskmx_taskid[i]
  32. ll_printid=ds.object.u_saletaskmx_printid[i]
  33. ls_handtype=ds.object.u_mtrldef_handtype[i]
  34. if pos(ls_handtype,'自制成品>>床头柜')>0 or pos(ls_handtype,'外购成品>>床头柜')>0 then
  35. ll_orderqty=1
  36. else
  37. ll_orderqty=int(ds.object.sumorderqty[i])
  38. end if
  39. for j=1 to ll_orderqty
  40. insert into u_temp(scid,taskid,printid,username) values (:ll_scid,:ll_taskid,:ll_printid,:publ_operator);
  41. next
  42. next
  43. commit;
  44. //
  45. //messagebox('xx',string(ll_cnt))
  46. return publ_operator
  47. // LTRIM(RTRIM(u_SaleTask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid)) in (:aaa);
  48. // LTRIM(RTRIM(u_SaleTask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid))
  49. //'SG1501140031','SG1501140032'
  50. end function
  51. global function string f_qjl_dsr_barcode_chaifen (long arg_scid, long arg_getbarid);String createsql_string = ''
  52. string ls_handtype=''
  53. createsql_string = ''
  54. createsql_string = createsql_string + "Create table u_temp(barcode varchar(500) ,username varchar(500))"
  55. EXECUTE IMMEDIATE :createsql_string;
  56. COMMIT;
  57. //messagebox('',pos(arg_taskcode,"'" + ' ' + "'"))
  58. //arg_taskcode=of_globalreplace(arg_taskcode,"'" + ' ' + "'", ',' )
  59. //arg_taskcode=of_globalreplace(arg_taskcode,"'" , ' ')
  60. //messagebox('',string(arg_taskcode))
  61. long ll_cnt,i,j,ll_qty
  62. string ls_barcode
  63. datastore ds
  64. ds = Create datastore
  65. ds.DataObject = "dw_getbarmx_edit"
  66. ds.SetTransObject(sqlca)
  67. ll_cnt = ds.Retrieve(arg_scid,arg_getbarid)
  68. delete u_temp where username=:publ_operator;
  69. for i=1 to ds.rowcount()
  70. ls_barcode=string(ds.Object.u_mtrlware_mx_barcode[i])
  71. ll_qty=ds.Object.u_mtrlware_mx_qty[i]
  72. for j=1 to ll_qty
  73. insert into u_temp(barcode,username) values (:ls_barcode,:publ_operator);
  74. next
  75. next
  76. commit;
  77. return publ_operator
  78. end function