w_saletask_sc_card.srw 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173
  1. $PBExportHeader$w_saletask_sc_card.srw
  2. forward
  3. global type w_saletask_sc_card from w_pageretr_ch
  4. end type
  5. type cb_build from uo_imflatbutton within w_saletask_sc_card
  6. end type
  7. type cb_del from uo_imflatbutton within w_saletask_sc_card
  8. end type
  9. type cb_edit from uo_imflatbutton within w_saletask_sc_card
  10. end type
  11. type cb_print from uo_imflatbutton within w_saletask_sc_card
  12. end type
  13. type cb_viewprint from uo_imflatbutton within w_saletask_sc_card
  14. end type
  15. type cbx_2 from checkbox within w_saletask_sc_card
  16. end type
  17. type cb_add from uo_imflatbutton within w_saletask_sc_card
  18. end type
  19. type cb_audit from uo_imflatbutton within w_saletask_sc_card
  20. end type
  21. type cb_caudit from uo_imflatbutton within w_saletask_sc_card
  22. end type
  23. type ddlb_3 from dropdownlistbox within w_saletask_sc_card
  24. end type
  25. end forward
  26. global type w_saletask_sc_card from w_pageretr_ch
  27. integer width = 3611
  28. integer height = 2380
  29. string title = "流程卡"
  30. event ue_viewprint ( )
  31. event ue_print ( )
  32. cb_build cb_build
  33. cb_del cb_del
  34. cb_edit cb_edit
  35. cb_print cb_print
  36. cb_viewprint cb_viewprint
  37. cbx_2 cbx_2
  38. cb_add cb_add
  39. cb_audit cb_audit
  40. cb_caudit cb_caudit
  41. ddlb_3 ddlb_3
  42. end type
  43. global w_saletask_sc_card w_saletask_sc_card
  44. type variables
  45. int if_all
  46. long cur_scid
  47. long cur_taskid
  48. long cur_printid
  49. long cur_qty
  50. uo_order_ml obj_order
  51. string ins_sqlerrtext
  52. String ls_newname = ''
  53. Long ll_prownum
  54. Long ls_powerid
  55. Int li_auditprint
  56. String ls_rpname = ''
  57. Long ls_msgprintid_rpt = 0
  58. s_saletaskmx_card s_card_null[],s_card_temp[]
  59. boolean delete_all = false
  60. Long ll_cardrow
  61. Long cardid[],cardid_null[]
  62. long cur_flag = -1
  63. end variables
  64. forward prototypes
  65. public subroutine wf_facechange ()
  66. public function integer wf_retr (integer arg_flag, ref string arg_msg)
  67. end prototypes
  68. event ue_viewprint();IF NOT f_power_ind(1360) THEN
  69. MessageBox('提示','你没有使用权限!',information!,OK!)
  70. RETURN
  71. END IF
  72. Long LS_ROW,ll_mx
  73. String ls_ll_cardid
  74. String ls_msg
  75. Long ls_msgprintid
  76. String ls_parms[]
  77. Long ll_cardid[]
  78. ls_msgprintid = Message.LongParm
  79. SELECT dft_new_dwname,powerid,auditprint,prownum
  80. INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum
  81. FROM sys_dft_dwprint_dynamic
  82. Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca;
  83. IF sqlca.SQLCode <> 0 THEN
  84. ls_newname = ''
  85. ls_powerid = 0
  86. END IF
  87. ll_mx = 0
  88. ls_msg = ''
  89. dw_pageretr.AcceptText()
  90. FOR LS_ROW = 1 TO dw_pageretr.RowCount()
  91. IF dw_pageretr.Object.isselect[LS_ROW] = 1 THEN
  92. ll_mx ++
  93. ls_parms[ll_mx] = String(dw_pageretr.Object.cardid[LS_ROW])
  94. ll_cardid[ll_mx] = dw_pageretr.Object.cardid[LS_ROW]
  95. END IF
  96. NEXT
  97. IF ls_msg <> '' THEN
  98. MessageBox('错误',ls_msg,stopsign!,OK!)
  99. RETURN
  100. END IF
  101. S_print_MSG LS_PRMSG
  102. IF ls_newname <> '' THEN
  103. LS_PRMSG.obj_dwNAME = ls_newname
  104. ELSE
  105. LS_PRMSG.obj_dwNAME = 'dw_rp_saletaskmx_card_print'
  106. END IF
  107. LS_PRMSG.TAG_TEXT = '流程卡打印'
  108. LS_PRMSG.FILTER_STRING = ''
  109. LS_PRMSG.retr_pram_falg = 17
  110. LS_PRMSG.PAGECH_FLAG = 0
  111. LS_PRMSG.retr_scid = cur_scid
  112. LS_PRMSG.a_string_arr = ls_parms
  113. LS_PRMSG.rowcnt = ll_mx
  114. OpenWithParm(w_publ_preview,LS_PRMSG)
  115. String arg_msg
  116. printnum = Message.DoubleParm
  117. IF printnum > 0 THEN
  118. FOR LS_ROW = 1 TO ll_mx
  119. f_update_printnum('u_saletaskmx_card',printnum,cur_scid,ll_cardid[LS_ROW],'','',arg_msg,TRUE)
  120. NEXT
  121. CHOOSE CASE sys_option_saletask_sc_card2
  122. CASE 1
  123. IF MessageBox ("询问","打印是否成功?成功则确认当前选定流程卡",Question!,YesNo! ) = 1 THEN
  124. cb_audit.TriggerEvent(Clicked!)
  125. END IF
  126. CASE 2
  127. cb_audit.TriggerEvent(Clicked!)
  128. END CHOOSE
  129. END IF
  130. cb_refresh.TriggerEvent(Clicked!)
  131. end event
  132. event ue_print();IF NOT f_power_ind(1360) THEN
  133. MessageBox('提示','你没有使用权限!',information!,OK!)
  134. RETURN
  135. END IF
  136. Long LS_ROW,ll_cardid[]
  137. Long ll_sptid,printid
  138. String ls_taskcode
  139. String ls_printid
  140. String ls_parms[]
  141. String ls_msg
  142. Long ll_mx
  143. Long ls_msgprintid
  144. s_saletaskmx s_mx[]
  145. ls_msgprintid = Message.LongParm
  146. SELECT dft_new_dwname,powerid,auditprint,prownum
  147. INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum
  148. FROM sys_dft_dwprint_dynamic
  149. Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca;
  150. IF sqlca.SQLCode <> 0 THEN
  151. ls_newname = ''
  152. ls_powerid = 0
  153. END IF
  154. ll_mx = 0
  155. ls_msg = ''
  156. dw_pageretr.AcceptText()
  157. FOR LS_ROW = 1 TO dw_pageretr.RowCount()
  158. IF dw_pageretr.Object.isselect[LS_ROW] = 1 THEN
  159. ll_mx ++
  160. ls_parms[ll_mx] = String(dw_pageretr.Object.cardid[LS_ROW])
  161. ll_cardid[ll_mx] = dw_pageretr.Object.cardid[LS_ROW]
  162. END IF
  163. NEXT
  164. IF ls_msg <> '' THEN
  165. MessageBox('错误',ls_msg,stopsign!,OK!)
  166. RETURN
  167. END IF
  168. IF ll_mx = 0 THEN
  169. MessageBox('提示','请选择要打印的目标单据!',information!,OK!)
  170. RETURN
  171. END IF
  172. S_print_MSG LS_PRMSG
  173. IF ls_newname <> '' THEN
  174. LS_PRMSG.obj_dwNAME = ls_newname
  175. ELSE
  176. LS_PRMSG.obj_dwNAME = 'dw_rp_saletaskmx_card_print'
  177. END IF
  178. uo_print_preview uo_print
  179. LS_PRMSG.TAG_TEXT = '流程卡打印'
  180. LS_PRMSG.FILTER_STRING = ''
  181. LS_PRMSG.retr_pram_falg = 17
  182. LS_PRMSG.PAGECH_FLAG = 0
  183. LS_PRMSG.retr_scid = cur_scid
  184. LS_PRMSG.a_string_arr = ls_parms
  185. LS_PRMSG.rowcnt = ll_mx
  186. uo_print.FACT_PRINT_MSG = LS_PRMSG
  187. String arg_msg
  188. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  189. MessageBox("错误",arg_msg,stopsign!,OK!)
  190. RETURN
  191. END IF
  192. uo_print.ds_print()
  193. FOR LS_ROW = 1 TO ll_mx
  194. f_update_printnum('u_saletaskmx_card',1,cur_scid,ll_cardid[LS_ROW],'','',arg_msg,TRUE)
  195. NEXT
  196. CHOOSE CASE sys_option_saletask_sc_card2
  197. CASE 1
  198. IF MessageBox ("询问","打印是否成功?成功则确认当前选定流程卡",Question!,YesNo! ) = 1 THEN
  199. cb_audit.TriggerEvent(Clicked!)
  200. END IF
  201. CASE 2
  202. cb_audit.TriggerEvent(Clicked!)
  203. END CHOOSE
  204. cb_refresh.TriggerEvent(Clicked!)
  205. end event
  206. public subroutine wf_facechange ();
  207. IF dw_edit_mode THEN
  208. cb_refresh.Enabled = FALSE
  209. cb_build.Enabled = FALSE
  210. cb_del.Enabled = FALSE
  211. cb_print.Enabled = FALSE
  212. cb_viewprint.Enabled = FALSE
  213. cb_add.Enabled = TRUE
  214. dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
  215. dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关
  216. cb_edit.Text = "放弃&E"
  217. cb_edit.normalpicname = 'Undo.bmp'
  218. cb_audit.Enabled = FALSE
  219. cb_caudit.Enabled = FALSE
  220. ELSE
  221. cb_refresh.Enabled = TRUE
  222. cb_build.Enabled = TRUE
  223. cb_del.Enabled = TRUE
  224. cb_print.Enabled = TRUE
  225. cb_viewprint.Enabled = TRUE
  226. cb_add.Enabled = FALSE
  227. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  228. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  229. cb_edit.Text = "修改&E"
  230. cb_edit.normalpicname = 'OPEN.bmp'
  231. cb_audit.Enabled = TRUE
  232. cb_caudit.Enabled = TRUE
  233. END IF
  234. Long i
  235. IF dw_edit_mode THEN
  236. dw_pageretr.SetTabOrder (2,2*10 )
  237. ELSE
  238. dw_pageretr.SetTabOrder (2,0 )
  239. END IF
  240. cb_edit.of_init_draw()
  241. cb_edit.of_paint()
  242. cb_edit.TriggerEvent('ue_textchange')
  243. end subroutine
  244. public function integer wf_retr (integer arg_flag, ref string arg_msg);Int rslt = 1
  245. Long i,it_max,j,ll_row,NO_MXCHECK
  246. ll_cardrow = 0
  247. cardid = cardid_null
  248. FOR i = 1 TO UpperBound(s_tran.arr_long)
  249. //Restart:
  250. s_card_temp = s_card_null
  251. it_max = 1
  252. DECLARE CUR_INWAERMX CURSOR FOR
  253. SELECT
  254. u_saletaskmx_card.cardid
  255. FROM u_saletaskmx_card INNER JOIN
  256. u_SaleTaskMx ON u_saletaskmx_card.scid = u_SaleTaskMx.scid AND
  257. u_saletaskmx_card.taskid = u_SaleTaskMx.TaskID AND
  258. u_saletaskmx_card.mxprintid = u_SaleTaskMx.printid INNER JOIN
  259. u_mtrldef ON u_SaleTaskMx.MtrlID = u_mtrldef.mtrlid
  260. WHERE u_saletaskmx_card.scid = :s_tran.arr_long[i] AND
  261. u_saletaskmx_card.taskid = :s_tran.arr_long2[i] AND
  262. u_saletaskmx_card.mxprintid = :s_tran.arr_long3[i]
  263. Order By u_saletaskmx_card.cardid Desc;
  264. OPEN CUR_INWAERMX;
  265. FETCH CUR_INWAERMX INTO :s_card_temp[it_max].cardid;
  266. DO WHILE sqlca.SQLCode = 0
  267. it_max++
  268. FETCH CUR_INWAERMX INTO :s_card_temp[it_max].cardid;
  269. LOOP
  270. CLOSE CUR_INWAERMX;
  271. //检验明细是否读入完整
  272. SELECT COUNT(*) INTO :NO_MXCHECK
  273. FROM u_saletaskmx_card INNER JOIN
  274. u_SaleTaskMx ON u_saletaskmx_card.scid = u_SaleTaskMx.scid AND
  275. u_saletaskmx_card.taskid = u_SaleTaskMx.TaskID AND
  276. u_saletaskmx_card.mxprintid = u_SaleTaskMx.printid INNER JOIN
  277. u_mtrldef ON u_SaleTaskMx.MtrlID = u_mtrldef.mtrlid
  278. WHERE u_saletaskmx_card.scid = :s_tran.arr_long[i] AND
  279. u_saletaskmx_card.taskid = :s_tran.arr_long2[i] AND
  280. u_saletaskmx_card.mxprintid = :s_tran.arr_long3[i] ;
  281. IF sqlca.SQLCode <> 0 THEN
  282. rslt = 0
  283. arG_MSG = "查询操作失败,流程卡数量"
  284. GOTO ext
  285. END IF
  286. IF it_max <> (NO_MXCHECK+1) THEN
  287. rslt = 0
  288. arG_MSG = "查询操作失败,流程卡数量"
  289. GOTO ext
  290. END IF
  291. FOR j = 1 TO NO_MXCHECK
  292. ll_cardrow ++
  293. cardid[ll_cardrow] = s_card_temp[j].cardid
  294. NEXT
  295. NEXT
  296. IF IsNull(cardid) THEN
  297. dw_pageretr.reset()
  298. ELSE
  299. dw_pageretr.SetRedraw(FALSE)
  300. dw_pageretr.Retrieve(cardid, cur_flag)
  301. dw_pageretr.SetRedraw(TRUE)
  302. END IF
  303. ext:
  304. RETURN rslt
  305. end function
  306. on w_saletask_sc_card.create
  307. int iCurrent
  308. call super::create
  309. this.cb_build=create cb_build
  310. this.cb_del=create cb_del
  311. this.cb_edit=create cb_edit
  312. this.cb_print=create cb_print
  313. this.cb_viewprint=create cb_viewprint
  314. this.cbx_2=create cbx_2
  315. this.cb_add=create cb_add
  316. this.cb_audit=create cb_audit
  317. this.cb_caudit=create cb_caudit
  318. this.ddlb_3=create ddlb_3
  319. iCurrent=UpperBound(this.Control)
  320. this.Control[iCurrent+1]=this.cb_build
  321. this.Control[iCurrent+2]=this.cb_del
  322. this.Control[iCurrent+3]=this.cb_edit
  323. this.Control[iCurrent+4]=this.cb_print
  324. this.Control[iCurrent+5]=this.cb_viewprint
  325. this.Control[iCurrent+6]=this.cbx_2
  326. this.Control[iCurrent+7]=this.cb_add
  327. this.Control[iCurrent+8]=this.cb_audit
  328. this.Control[iCurrent+9]=this.cb_caudit
  329. this.Control[iCurrent+10]=this.ddlb_3
  330. end on
  331. on w_saletask_sc_card.destroy
  332. call super::destroy
  333. destroy(this.cb_build)
  334. destroy(this.cb_del)
  335. destroy(this.cb_edit)
  336. destroy(this.cb_print)
  337. destroy(this.cb_viewprint)
  338. destroy(this.cbx_2)
  339. destroy(this.cb_add)
  340. destroy(this.cb_audit)
  341. destroy(this.cb_caudit)
  342. destroy(this.ddlb_3)
  343. end on
  344. event ue_before_open;call super::ue_before_open;if_ue_retr=true
  345. if_ue_sort=true
  346. obj_order = create uo_order_ml
  347. obj_order.commit_transaction = sqlca
  348. end event
  349. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  350. if trim(sle_usual_query.text)<>'' then
  351. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  352. obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  353. ELSE
  354. obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "'+trim(sle_usual_query.text)+'" )'
  355. END IF
  356. end if
  357. dw_pageretr.setfilter(obj_expr)
  358. dw_pageretr.SetRedraw(False)
  359. dw_pageretr.filter()
  360. if dw_pageretr.rowcount()>=1 then
  361. dw_pageretr.selectrow(0,false)
  362. dw_pageretr.selectrow(1,true )
  363. end if
  364. dw_pageretr.SetRedraw(TRUE )
  365. end event
  366. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  367. ls_newselect=lower(ori_oldselect)
  368. if trim(sle_usual_query.text)<>'' then
  369. if pos(trim(sle_usual_query.text),'%')=0 then
  370. ls_querystrpart=" u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%'"
  371. else
  372. ls_querystrpart=" u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"'"
  373. end if
  374. if Pos(ls_newselect," where ") <> 0 then
  375. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  376. else
  377. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  378. end if
  379. end if
  380. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  381. this.triggerevent('retrieve_pageretr')
  382. end event
  383. event open;THIS.TriggerEvent('ue_before_open')
  384. wf_movetocenter()
  385. OLD_TITLE = THIS.Title
  386. s_tran = Message.PowerObjectParm
  387. IF NOT IsNull(s_tran) THEN
  388. retrieve_all = TRUE
  389. cur_scid = s_tran.b_long
  390. cur_taskid = s_tran.c_long
  391. cur_printid = s_tran.d_long
  392. cur_qty = s_tran.e_long
  393. END IF
  394. //dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  395. //dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  396. dw_pageretr.SetTransObject (sqlca)
  397. //pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  398. //
  399. //ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  400. //ls_newselect = ori_oldselect
  401. //ds_curquery = CREATE DATASTORE
  402. //ds_curquery.DataObject = 'd_extr_find'
  403. //ds_curquery.SetTransObject (sqlca)
  404. //
  405. //wf_editindex_lockf()
  406. String ls_msg
  407. IF wf_retr(1,ls_msg) = 0 THEN
  408. messagebox('错误',ls_msg)
  409. return
  410. END IF
  411. end event
  412. event close;call super::close;
  413. f_SetProfileString(sys_empid, "saletask_sc_card", "cur_flag", string(cur_flag))
  414. end event
  415. type cb_func from w_pageretr_ch`cb_func within w_saletask_sc_card
  416. boolean visible = false
  417. end type
  418. type cb_exit from w_pageretr_ch`cb_exit within w_saletask_sc_card
  419. integer x = 1682
  420. string text = "退出"
  421. end type
  422. event cb_exit::clicked;IF dw_edit_mode THEN
  423. IF MessageBox ("询问","是否先保存当前吗",Question!,YesNo! ) = 1 THEN RETURN
  424. END IF
  425. Close(PARENT)
  426. end event
  427. type sle_usual_query from w_pageretr_ch`sle_usual_query within w_saletask_sc_card
  428. boolean visible = false
  429. integer x = 197
  430. integer y = 184
  431. end type
  432. type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_saletask_sc_card
  433. boolean visible = false
  434. integer x = 1413
  435. end type
  436. type em_pagerowno from w_pageretr_ch`em_pagerowno within w_saletask_sc_card
  437. boolean visible = false
  438. integer x = 1115
  439. integer y = 32
  440. end type
  441. type dw_pageretr from w_pageretr_ch`dw_pageretr within w_saletask_sc_card
  442. integer y = 276
  443. integer width = 3547
  444. integer height = 1992
  445. string dataobject = "dw_saletaskmx_card_index1"
  446. boolean rbutton_filter_use = true
  447. boolean rbutton_setposition_use = true
  448. boolean titleclick_sort_use = true
  449. end type
  450. event dw_pageretr::dberror;call super::dberror;ins_sqlerrtext=sqlerrtext
  451. return 1
  452. end event
  453. type st_1 from w_pageretr_ch`st_1 within w_saletask_sc_card
  454. boolean visible = false
  455. integer x = 18
  456. end type
  457. type cb_nextpage from w_pageretr_ch`cb_nextpage within w_saletask_sc_card
  458. boolean visible = false
  459. integer x = 1563
  460. end type
  461. type cb_choice from w_pageretr_ch`cb_choice within w_saletask_sc_card
  462. boolean visible = false
  463. integer x = 814
  464. integer taborder = 120
  465. end type
  466. type cb_refresh from w_pageretr_ch`cb_refresh within w_saletask_sc_card
  467. end type
  468. event cb_refresh::clicked;String ls_msg
  469. IF wf_retr(0,ls_msg) = 0 THEN
  470. messagebox('错误',ls_msg)
  471. return
  472. END IF
  473. end event
  474. type cb_help from w_pageretr_ch`cb_help within w_saletask_sc_card
  475. integer x = 1531
  476. end type
  477. type ln_bar from w_pageretr_ch`ln_bar within w_saletask_sc_card
  478. end type
  479. type ln_bar2 from w_pageretr_ch`ln_bar2 within w_saletask_sc_card
  480. end type
  481. type r_bar from w_pageretr_ch`r_bar within w_saletask_sc_card
  482. integer x = 2949
  483. end type
  484. type ln_1 from w_pageretr_ch`ln_1 within w_saletask_sc_card
  485. boolean visible = false
  486. integer beginy = 252
  487. integer endy = 252
  488. end type
  489. type ln_2 from w_pageretr_ch`ln_2 within w_saletask_sc_card
  490. boolean visible = false
  491. integer beginy = 256
  492. integer endy = 256
  493. end type
  494. type cb_build from uo_imflatbutton within w_saletask_sc_card
  495. integer x = 151
  496. integer width = 155
  497. integer height = 164
  498. integer taborder = 40
  499. boolean bringtotop = true
  500. string text = "生成"
  501. string normalpicname = "imexport.BMP"
  502. integer picsize = 16
  503. toolbaralignment pic_align = alignattop!
  504. boolean border = false
  505. end type
  506. event clicked;call super::clicked;IF Not f_power_ind(1358) THEN
  507. MessageBox('提示','你没有使用权限!',information!,OK!)
  508. RETURN
  509. END IF
  510. IF dw_edit_mode THEN RETURN
  511. String ls_msg
  512. Long i,ll_cardid[]
  513. String ls_cardcode[]
  514. Long j
  515. IF dw_pageretr.RowCount() > 0 THEN
  516. IF MessageBox ("询问","已生成流程卡,重新生成将删除旧的流程卡,是否继续",Question!,YesNo! ) = 2 THEN RETURN
  517. delete_all = True
  518. cb_del.TriggerEvent(Clicked!)
  519. END IF
  520. IF Not delete_all THEN
  521. IF obj_order.uof_buildcard1(s_tran.arr_long,s_tran.arr_long2,s_tran.arr_long3,s_tran.arr_long4,publ_operator,ls_msg,True) = 0 THEN
  522. MessageBox('错误',ls_msg,StopSign!, OK! )
  523. RETURN
  524. ELSE
  525. MessageBox('提示','生成流程卡成功',information! , OK! )
  526. cb_refresh.TriggerEvent(Clicked!)
  527. END IF
  528. END IF
  529. end event
  530. type cb_del from uo_imflatbutton within w_saletask_sc_card
  531. integer x = 690
  532. integer width = 155
  533. integer height = 164
  534. integer taborder = 70
  535. boolean bringtotop = true
  536. string text = "删除"
  537. string normalpicname = "delete.bmp"
  538. integer picsize = 16
  539. toolbaralignment pic_align = alignattop!
  540. boolean border = false
  541. end type
  542. event clicked;call super::clicked;IF NOT f_power_ind(1361) THEN
  543. MessageBox('提示','你没有使用权限!',information!,OK!)
  544. RETURN
  545. END IF
  546. Long i,j,ll_cardid[],k,ll_row[]
  547. String ls_cardcode[],ls_msg
  548. j = 0
  549. IF dw_pageretr.RowCount() > 0 THEN
  550. FOR i = 1 TO dw_pageretr.RowCount()
  551. IF delete_all or dw_pageretr.Object.isselect[i] = 1 THEN
  552. j++
  553. ll_cardid[j] = dw_pageretr.Object.cardid[i]
  554. ls_cardcode[j] = dw_pageretr.Object.cardcode[i]
  555. FOR k = 1 TO UpperBound(s_tran.arr_long2)
  556. IF dw_pageretr.Object.scid[i] = s_tran.arr_long[k] AND &
  557. dw_pageretr.Object.taskid[i] = s_tran.arr_long2[k] AND &
  558. dw_pageretr.Object.printid[i] = s_tran.arr_long3[k] THEN
  559. ll_row[j] = k
  560. END IF
  561. NEXT
  562. END IF
  563. NEXT
  564. IF j > 0 THEN
  565. IF obj_order.uof_delcard1(ll_cardid,ls_cardcode,ll_row,s_tran.arr_long,s_tran.arr_long2,s_tran.arr_long3,ls_msg,TRUE) = 0 THEN
  566. MessageBox('错误',ls_msg,StopSign!, OK! )
  567. RETURN
  568. ELSE
  569. MessageBox('提示','删除流程卡成功!' )
  570. delete_all = false
  571. cb_refresh.TriggerEvent(Clicked!)
  572. RETURN
  573. END IF
  574. ELSE
  575. MessageBox('提示','没有选择删除对象!' )
  576. END IF
  577. END IF
  578. end event
  579. type cb_edit from uo_imflatbutton within w_saletask_sc_card
  580. integer x = 498
  581. integer width = 192
  582. integer height = 164
  583. integer taborder = 50
  584. boolean bringtotop = true
  585. string text = "修改&E"
  586. string normalpicname = "OPEN.bmp"
  587. integer picsize = 16
  588. toolbaralignment pic_align = alignattop!
  589. boolean border = false
  590. end type
  591. event clicked;call super::clicked;IF NOT f_power_ind(1359) THEN
  592. MessageBox('提示','你没有使用权限!',information!,OK!)
  593. RETURN
  594. END IF
  595. IF dw_edit_mode THEN
  596. cb_refresh.TriggerEvent(Clicked!)
  597. END IF
  598. dw_edit_mode = NOT dw_edit_mode
  599. wf_facechange()
  600. end event
  601. type cb_print from uo_imflatbutton within w_saletask_sc_card
  602. integer x = 1367
  603. integer width = 165
  604. integer height = 164
  605. integer taborder = 80
  606. boolean bringtotop = true
  607. string text = "打印"
  608. string normalpicname = "print.bmp"
  609. integer picsize = 16
  610. toolbaralignment pic_align = alignattop!
  611. boolean border = false
  612. end type
  613. event clicked;call super::clicked;String ls_dft_old_dwname, ls_dft_new_dwname,ls_chnname,ls_dwtype
  614. Long ls_dwprintid
  615. String ls_windowname
  616. Int ls_i
  617. Long ll_billid
  618. Int li_ifuse
  619. Long ll_row
  620. String Name,ll_rpname
  621. Long ll_RpID,ll_flag,ll_ifuse
  622. w_curwin = PARENT
  623. ls_windowname = PARENT.ClassName ( )
  624. SELECT billid,ifuse
  625. INTO :ll_billid,
  626. :li_ifuse
  627. FROM u_report_bill
  628. Where winName = :ls_windowname;
  629. IF sqlca.SQLCode <> 0 THEN
  630. li_ifuse = 0
  631. END IF
  632. li_ifuse = 0
  633. IF li_ifuse = 0 THEN
  634. DECLARE dft_dwprint CURSOR FOR
  635. SELECT dwprintid,dft_old_dwname, dft_new_dwname, chnname, dwtype
  636. FROM sys_dft_dwprint_dynamic
  637. WHERE dwtype = :ls_windowname
  638. AND ptype = 0 and ifuse = 1;
  639. OPEN dft_dwprint;
  640. FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
  641. IF sqlca.SQLCode <> 0 THEN
  642. PARENT.TriggerEvent('ue_print',0,0)
  643. ELSE
  644. m_dft_dwprint_item m_1
  645. m_1 = CREATE m_dft_dwprint_item
  646. ls_i = 1
  647. DO WHILE sqlca.SQLCode = 0
  648. f_add_menuitem_print_dft(m_1,ls_i,ls_chnname,String(ls_dwprintid))
  649. FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
  650. ls_i++
  651. LOOP
  652. CLOSE dft_dwprint;
  653. m_1.PopMenu(THIS.X+50,THIS.Y+50)
  654. END IF
  655. ELSE
  656. DECLARE rpt_dwprint CURSOR FOR
  657. SELECT RpID,RpName,Flag,Ifuse
  658. FROM U_report_list
  659. WHERE billid = :ll_billid
  660. Order By RpName;
  661. OPEN rpt_dwprint;
  662. FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
  663. IF sqlca.SQLCode <> 0 THEN
  664. PARENT.TriggerEvent('ue_print',0,0)
  665. ELSE
  666. m_rpt_dwprint_print_item m_2
  667. m_2 = CREATE m_rpt_dwprint_print_item
  668. ls_i = 1
  669. DO WHILE sqlca.SQLCode = 0
  670. IF ll_ifuse = 1 AND ll_flag = 1 AND f_pow_rpt(ll_RpID) THEN //需添加权限
  671. f_add_menuItem_print_rpt(m_2,ls_i,ll_rpname,String(ll_RpID))
  672. END IF
  673. FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
  674. ls_i++
  675. LOOP
  676. CLOSE rpt_dwprint;
  677. m_2.Item[1].Visible = FALSE
  678. m_2.PopMenu(THIS.X+50,THIS.Y+50)
  679. END IF
  680. END IF
  681. end event
  682. type cb_viewprint from uo_imflatbutton within w_saletask_sc_card
  683. integer x = 1202
  684. integer width = 165
  685. integer height = 164
  686. integer taborder = 90
  687. boolean bringtotop = true
  688. string text = "预览"
  689. string normalpicname = "preview.bmp"
  690. integer picsize = 16
  691. toolbaralignment pic_align = alignattop!
  692. boolean border = false
  693. end type
  694. event clicked;call super::clicked;String ls_dft_old_dwname, ls_dft_new_dwname,ls_chnname,ls_dwtype
  695. Long ls_dwprintid
  696. String ls_windowname
  697. Int ls_i
  698. Long ll_billid
  699. Int li_ifuse
  700. Long ll_row
  701. String Name,ll_rpname
  702. Long ll_RpID,ll_flag,ll_ifuse
  703. w_curwin = PARENT
  704. ls_windowname = PARENT.ClassName ( )
  705. SELECT billid,ifuse
  706. INTO :ll_billid,
  707. :li_ifuse
  708. FROM u_report_bill
  709. Where winName = :ls_windowname;
  710. IF sqlca.SQLCode <> 0 THEN
  711. li_ifuse = 0
  712. END IF
  713. li_ifuse = 0
  714. IF li_ifuse = 0 THEN
  715. DECLARE dft_dwprint CURSOR FOR
  716. SELECT dwprintid,dft_old_dwname, dft_new_dwname, chnname, dwtype
  717. FROM sys_dft_dwprint_dynamic
  718. WHERE dwtype = :ls_windowname
  719. AND ptype = 0 AND ifuse = 1;
  720. OPEN dft_dwprint;
  721. FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
  722. IF sqlca.SQLCode <> 0 THEN
  723. PARENT.TriggerEvent('ue_viewprint',0,0)
  724. ELSE
  725. m_dft_dwprint_item m_1
  726. m_1 = CREATE m_dft_dwprint_item
  727. ls_i = 1
  728. DO WHILE sqlca.SQLCode = 0
  729. f_add_menuItem_dft(m_1,ls_i,ls_chnname,String(ls_dwprintid))
  730. FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
  731. ls_i++
  732. LOOP
  733. CLOSE dft_dwprint;
  734. m_1.PopMenu(THIS.X+50,THIS.Y+50)
  735. END IF
  736. ELSE
  737. DECLARE rpt_dwprint CURSOR FOR
  738. SELECT RpID,RpName,Flag,Ifuse
  739. FROM U_report_list
  740. WHERE billid = :ll_billid
  741. Order By RpName;
  742. OPEN rpt_dwprint;
  743. FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
  744. IF sqlca.SQLCode <> 0 THEN
  745. PARENT.TriggerEvent('ue_rpt_viewprint',0,0)
  746. ELSE
  747. m_rpt_dwprint_item m_2
  748. m_2 = CREATE m_rpt_dwprint_item
  749. ls_i = 1
  750. DO WHILE sqlca.SQLCode = 0
  751. IF f_pow_rpt(ll_RpID) AND ll_ifuse = 1 AND ll_flag = 1 THEN //权限检查f_pow_rpt( )
  752. f_add_menuItem_rpt(m_2,ls_i,ll_rpname,String(ll_RpID))
  753. END IF
  754. FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
  755. ls_i++
  756. LOOP
  757. CLOSE rpt_dwprint;
  758. m_2.Item[1].Visible = FALSE
  759. m_2.PopMenu(THIS.X+50,THIS.Y+50)
  760. END IF
  761. END IF
  762. end event
  763. type cbx_2 from checkbox within w_saletask_sc_card
  764. integer x = 1998
  765. integer y = 92
  766. integer width = 256
  767. integer height = 60
  768. boolean bringtotop = true
  769. integer textsize = -9
  770. integer weight = 400
  771. fontcharset fontcharset = gb2312charset!
  772. fontpitch fontpitch = variable!
  773. string facename = "宋体"
  774. long textcolor = 33554432
  775. long backcolor = 67108864
  776. string text = "全选"
  777. boolean checked = true
  778. end type
  779. event clicked;if dw_edit_mode then return
  780. IF dw_pageretr.RowCount() = 0 THEN RETURN
  781. Long i
  782. dw_pageretr.SetRedraw(FALSE)
  783. FOR i = 1 TO dw_pageretr.RowCount()
  784. IF this.checked THEN
  785. dw_pageretr.Object.isselect[i] = 1
  786. ELSE
  787. dw_pageretr.Object.isselect[i] = 0
  788. END IF
  789. NEXT
  790. dw_pageretr.SetRedraw(TRUE)
  791. end event
  792. event constructor;this.backcolor = 14215660
  793. end event
  794. type cb_add from uo_imflatbutton within w_saletask_sc_card
  795. integer x = 306
  796. integer width = 192
  797. integer height = 164
  798. integer taborder = 60
  799. boolean bringtotop = true
  800. boolean enabled = false
  801. string text = "保存&S"
  802. string normalpicname = "Save.bmp"
  803. integer picsize = 16
  804. toolbaralignment pic_align = alignattop!
  805. boolean border = false
  806. end type
  807. event clicked;call super::clicked;String ls_errmsg
  808. IF dw_pageretr.Update() = -1 THEN
  809. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  810. ls_errmsg = "关键内容重复"
  811. ELSE
  812. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  813. END IF
  814. ROLLBACK;
  815. MessageBox ('提示',ls_errmsg+",保存操作失败!", Information!, OK! )
  816. RETURN
  817. END IF
  818. dw_edit_mode = NOT dw_edit_mode
  819. wf_facechange()
  820. end event
  821. type cb_audit from uo_imflatbutton within w_saletask_sc_card
  822. integer x = 846
  823. integer width = 165
  824. integer height = 164
  825. integer taborder = 80
  826. boolean bringtotop = true
  827. string text = "确认"
  828. string normalpicname = "audit.bmp"
  829. integer picsize = 16
  830. toolbaralignment pic_align = alignattop!
  831. boolean border = false
  832. end type
  833. event clicked;call super::clicked;IF NOT f_power_ind(1362) THEN
  834. MessageBox('提示','你没有使用权限!',information!,OK!)
  835. RETURN
  836. END IF
  837. Long i,j,ll_cardid[]
  838. String ls_cardcode[],ls_msg
  839. dw_pageretr.AcceptText()
  840. j = 0
  841. IF dw_pageretr.RowCount() > 0 THEN
  842. FOR i = 1 TO dw_pageretr.RowCount()
  843. IF dw_pageretr.Object.isselect[i] = 1 THEN
  844. j++
  845. ll_cardid[j] = dw_pageretr.Object.cardid[i]
  846. ls_cardcode[j] = dw_pageretr.Object.cardcode[i]
  847. IF dw_pageretr.Object.flag[i] = 1 THEN
  848. ls_msg = '第' + String(dw_pageretr.Object.row[i]) + '行,卡号' + dw_pageretr.Object.cardcode[i] + ',已经确认,不能再确认!'
  849. MessageBox('错误',ls_msg,StopSign!, OK! )
  850. RETURN
  851. END IF
  852. END IF
  853. NEXT
  854. IF j > 0 THEN
  855. IF obj_order.uof_auditcard(ll_cardid,ls_cardcode,ls_msg,TRUE) = 0 THEN
  856. MessageBox('错误',ls_msg,StopSign!, OK! )
  857. RETURN
  858. ELSE
  859. MessageBox('提示','确认流程卡成功!' )
  860. delete_all = FALSE
  861. cb_refresh.TriggerEvent(Clicked!)
  862. RETURN
  863. END IF
  864. ELSE
  865. MessageBox('提示','没有选择确认对象!' )
  866. END IF
  867. END IF
  868. end event
  869. type cb_caudit from uo_imflatbutton within w_saletask_sc_card
  870. integer x = 1010
  871. integer width = 192
  872. integer height = 164
  873. integer taborder = 90
  874. boolean bringtotop = true
  875. string text = "反确认"
  876. string normalpicname = "caudit.bmp"
  877. integer picsize = 16
  878. toolbaralignment pic_align = alignattop!
  879. boolean border = false
  880. end type
  881. event clicked;call super::clicked;IF NOT f_power_ind(1363) THEN
  882. MessageBox('提示','你没有使用权限!',information!,OK!)
  883. RETURN
  884. END IF
  885. Long i,j,ll_cardid[]
  886. String ls_cardcode[],ls_msg
  887. j = 0
  888. IF dw_pageretr.RowCount() > 0 THEN
  889. FOR i = 1 TO dw_pageretr.RowCount()
  890. IF dw_pageretr.Object.isselect[i] = 1 THEN
  891. j++
  892. ll_cardid[j] = dw_pageretr.Object.cardid[i]
  893. ls_cardcode[j] = dw_pageretr.Object.cardcode[i]
  894. IF dw_pageretr.Object.flag[i] = 0 THEN
  895. ls_msg = '第' + String(dw_pageretr.Object.row[i]) + '行,卡号' + dw_pageretr.Object.cardcode[i] + ',没有确认,不能反确认!'
  896. MessageBox('错误',ls_msg,StopSign!, OK! )
  897. RETURN
  898. END IF
  899. END IF
  900. NEXT
  901. IF j > 0 THEN
  902. IF obj_order.uof_cauditcard(ll_cardid,ls_cardcode,ls_msg,TRUE) = 0 THEN
  903. MessageBox('错误',ls_msg,StopSign!, OK! )
  904. RETURN
  905. ELSE
  906. MessageBox('提示','反确认流程卡成功!' )
  907. delete_all = FALSE
  908. cb_refresh.TriggerEvent(Clicked!)
  909. RETURN
  910. END IF
  911. ELSE
  912. MessageBox('提示','没有选择反确认对象!' )
  913. END IF
  914. END IF
  915. end event
  916. type ddlb_3 from dropdownlistbox within w_saletask_sc_card
  917. integer x = 18
  918. integer y = 184
  919. integer width = 302
  920. integer height = 300
  921. integer taborder = 130
  922. boolean bringtotop = true
  923. integer textsize = -9
  924. integer weight = 400
  925. fontcharset fontcharset = gb2312charset!
  926. fontpitch fontpitch = variable!
  927. string facename = "宋体"
  928. long textcolor = 33554432
  929. string text = "[全部]"
  930. boolean sorted = false
  931. string item[] = {"[全部]","未确认","已确认"}
  932. borderstyle borderstyle = stylelowered!
  933. end type
  934. event constructor;cur_flag = Long(f_ProfileString(sys_empid, "saletask_sc_card", "cur_flag", "-1"))
  935. CHOOSE CASE cur_flag
  936. CASE 0
  937. this.Text = "未确认"
  938. CASE 1
  939. this.Text = "已确认"
  940. CASE -1
  941. this.Text = "[全部]"
  942. END CHOOSE
  943. end event
  944. event selectionchanged;IF This.Text = '未确认' THEN
  945. cur_flag = 0
  946. ELSEIF This.Text = '已确认' THEN
  947. cur_flag = 1
  948. ELSE
  949. cur_flag = -1
  950. END IF
  951. cb_refresh.TriggerEvent(Clicked!)
  952. end event