w_mtrlware_propel_rule.srw 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611
  1. $PBExportHeader$w_mtrlware_propel_rule.srw
  2. forward
  3. global type w_mtrlware_propel_rule from w_publ_1ton_share_detail
  4. end type
  5. type st_13 from statictext within w_mtrlware_propel_rule
  6. end type
  7. type ddlb_retrstatus from dropdownlistbox within w_mtrlware_propel_rule
  8. end type
  9. type ddlb_scid from uo_ddlb_scid within w_mtrlware_propel_rule
  10. end type
  11. type st_2 from statictext within w_mtrlware_propel_rule
  12. end type
  13. type cb_propel from uo_imflatbutton within w_mtrlware_propel_rule
  14. end type
  15. end forward
  16. global type w_mtrlware_propel_rule from w_publ_1ton_share_detail
  17. string title = "库存推送策略"
  18. boolean maxbox = true
  19. windowstate windowstate = maximized!
  20. event insert_childrow ( )
  21. st_13 st_13
  22. ddlb_retrstatus ddlb_retrstatus
  23. ddlb_scid ddlb_scid
  24. st_2 st_2
  25. cb_propel cb_propel
  26. end type
  27. global w_mtrlware_propel_rule w_mtrlware_propel_rule
  28. type variables
  29. Int cur_status = 0
  30. Int cur_flag = -1
  31. Long cur_scid
  32. uo_mtrlware_propel_rule uo_rule
  33. long cur_kind = 0
  34. Transaction tr_eb_sqlca
  35. end variables
  36. forward prototypes
  37. public function integer wf_statusbtn_fc ()
  38. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
  39. public function integer wf_refresh_curuc (long arg_ruleid)
  40. end prototypes
  41. event insert_childrow();Long li_row
  42. li_row = dw_child.InsertRow(0)
  43. dw_child.ScrollToRow(li_row)
  44. dw_child.SetColumn ('u_mtrlware_propel_rule_mx_ifmatch')
  45. end event
  46. public function integer wf_statusbtn_fc ();//wf_statusbtn_fc
  47. //IF dw_edit_mode THEN
  48. // cb_auditing_cancel.Enabled = FALSE
  49. // cb_auditing.Enabled = FALSE
  50. // RETURN 0
  51. //END IF
  52. //Long ls_row,status
  53. //ls_row = dw_pageretr.GetRow()
  54. //
  55. //IF NOT ls_row > 0 THEN
  56. // cb_auditing_cancel.Enabled = FALSE
  57. // cb_auditing.Enabled = FALSE
  58. // RETURN 0
  59. //END IF
  60. //status = dw_pageretr.Object.u_order_wfjg_status[ls_row]
  61. //CHOOSE CASE status
  62. // CASE 0
  63. // cb_auditing_cancel.Enabled = FALSE
  64. // cb_auditing.Enabled = TRUE
  65. // CASE 1
  66. // cb_auditing_cancel.Enabled = TRUE
  67. // cb_auditing.Enabled = FALSE
  68. // CASE 2,3,4,5,6
  69. // cb_auditing_cancel.Enabled = FALSE
  70. // cb_auditing.Enabled = FALSE
  71. // CASE ELSE
  72. // cb_auditing_cancel.Enabled = FALSE
  73. // cb_auditing.Enabled = FALSE
  74. //END CHOOSE
  75. RETURN 0
  76. end function
  77. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
  78. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  79. //------------------------------------------------------------------------------
  80. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  81. //------------------------------------------------------------------------------
  82. Long LS_ROW,ll_id,i,ll_scid
  83. LS_ROW = dw_pageretr.GetRow()
  84. IF LS_ROW <= 0 THEN
  85. arg_msg = '没有目标单据!'
  86. RETURN 0
  87. END IF
  88. //修改点:获取 指定retriev参数
  89. ll_id = dw_pageretr.Object.#1[LS_ROW]
  90. ll_scid = dw_pageretr.Object.u_order_wfjg_scid[LS_ROW]
  91. ////可选设置///
  92. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  93. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  94. boolean xls_locked
  95. xls_locked = not (sys_option_xls_lock = 1)
  96. /// Excel 的可选设置
  97. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  98. return 0
  99. end if
  100. for i = 1 to arg_str_billlist.count
  101. ////可选操作///
  102. arg_str_billlist.bill[i].ds_data = create datastore //
  103. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  104. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  105. //修改点:注意retrieve 参数与上文对应
  106. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  107. next
  108. return 1
  109. end function
  110. public function integer wf_refresh_curuc (long arg_ruleid);//wf_refresh_curuc
  111. Int rslt = 1
  112. IF arg_ruleid <= 0 Or IsNull(arg_ruleid) THEN
  113. rslt = 0
  114. GOTO ext
  115. END IF
  116. Long uc_row
  117. uc_row = dw_pageretr.GetRow()
  118. IF uc_row <= 0 THEN
  119. rslt = 0
  120. GOTO ext
  121. END IF
  122. String rulename
  123. String dscrp
  124. String rulestr
  125. DateTime opdate
  126. String opemp
  127. DateTime moddate
  128. String modemp
  129. Long storageid
  130. DateTime propeltime
  131. String storagename,filterstr
  132. long isrunning
  133. datetime nextexectime
  134. long timertype
  135. string timerparm
  136. datetime lastexectime
  137. SELECT u_mtrlware_propel_rule.rulename,
  138. u_mtrlware_propel_rule.dscrp,
  139. u_mtrlware_propel_rule.rulestr,
  140. u_mtrlware_propel_rule.opdate,
  141. u_mtrlware_propel_rule.opemp,
  142. u_mtrlware_propel_rule.moddate,
  143. u_mtrlware_propel_rule.modemp,
  144. u_mtrlware_propel_rule.storageid,
  145. u_mtrlware_propel_rule.propeltime,
  146. u_storage.storagename,
  147. case ltrim(rtrim(u_mtrlware_propel_rule.handtypestr)) when '' then ltrim(rtrim(u_mtrlware_propel_rule.rulestr)) else ltrim(rtrim(u_mtrlware_propel_rule.rulestr)) + ' 物料类别包含:'+ltrim(rtrim(u_mtrlware_propel_rule.handtypestr)) end as filterstr,
  148. isrunning,
  149. nextexectime,
  150. timertype,
  151. timerparm,
  152. lastexectime
  153. INTO :rulename,
  154. :dscrp,
  155. :rulestr,
  156. :opdate,
  157. :opemp,
  158. :moddate,
  159. :modemp,
  160. :storageid,
  161. :propeltime,
  162. :storagename,
  163. :filterstr,
  164. :isrunning,
  165. :nextexectime,
  166. :timertype,
  167. :timerparm,
  168. :lastexectime
  169. FROM u_mtrlware_propel_rule LEFT OUTER JOIN
  170. u_storage ON u_mtrlware_propel_rule.storageid = u_storage.storageid
  171. Where ( u_mtrlware_propel_rule.ruleid = :arg_ruleid );
  172. IF sqlca.SQLCode <> 0 THEN
  173. MessageBox('系统提示',"查询操作失败(错误外加工计划唯一码)")
  174. rslt = 0
  175. GOTO ext
  176. END IF
  177. dw_pageretr.Object.ruleid[uc_row] = arg_ruleid
  178. dw_pageretr.Object.rulename[uc_row] = rulename
  179. dw_pageretr.Object.rulestr[uc_row] = rulestr
  180. dw_pageretr.Object.dscrp[uc_row] = dscrp
  181. dw_pageretr.Object.opdate[uc_row] = opdate
  182. dw_pageretr.Object.opemp[uc_row] = opemp
  183. dw_pageretr.Object.moddate[uc_row] = moddate
  184. dw_pageretr.Object.modemp[uc_row] = modemp
  185. dw_pageretr.Object.storageid[uc_row] = storageid
  186. dw_pageretr.Object.propeltime[uc_row] = propeltime
  187. dw_pageretr.Object.u_storage_storagename[uc_row] = storagename
  188. dw_pageretr.Object.filterstr[uc_row] = filterstr
  189. dw_pageretr.Object.isrunning[uc_row] = isrunning
  190. dw_pageretr.Object.nextexectime[uc_row] = nextexectime
  191. dw_pageretr.Object.timertype[uc_row] = timertype
  192. dw_pageretr.Object.timerparm[uc_row] = timerparm
  193. dw_pageretr.Object.lastexectime[uc_row] = lastexectime
  194. dw_uc.Reset()
  195. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  196. dw_uc.ResetUpdate()
  197. dw_uc.SetRedraw(True)
  198. This.PostEvent('retrieve_childdw')
  199. ext:
  200. wf_statusbtn_fc()
  201. RETURN rslt
  202. end function
  203. on w_mtrlware_propel_rule.create
  204. int iCurrent
  205. call super::create
  206. this.st_13=create st_13
  207. this.ddlb_retrstatus=create ddlb_retrstatus
  208. this.ddlb_scid=create ddlb_scid
  209. this.st_2=create st_2
  210. this.cb_propel=create cb_propel
  211. iCurrent=UpperBound(this.Control)
  212. this.Control[iCurrent+1]=this.st_13
  213. this.Control[iCurrent+2]=this.ddlb_retrstatus
  214. this.Control[iCurrent+3]=this.ddlb_scid
  215. this.Control[iCurrent+4]=this.st_2
  216. this.Control[iCurrent+5]=this.cb_propel
  217. end on
  218. on w_mtrlware_propel_rule.destroy
  219. call super::destroy
  220. destroy(this.st_13)
  221. destroy(this.ddlb_retrstatus)
  222. destroy(this.ddlb_scid)
  223. destroy(this.st_2)
  224. destroy(this.cb_propel)
  225. end on
  226. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  227. Boolean cb_func_enabled,cb_retrieve_enabled
  228. cb_nextpage_enabled = cb_nextpage.Enabled
  229. cb_retrieveall_enabled = cb_retrieveall.Enabled
  230. cb_func_enabled = cb_func.Enabled
  231. cb_nextpage.Enabled = FALSE
  232. cb_retrieveall.Enabled = FALSE
  233. cb_func.Enabled = FALSE
  234. dw_uc.retrieve()
  235. dw_pageretr.Retrieve(cur_kind)
  236. IF dw_pageretr.RowCount() > 0 THEN
  237. dw_pageretr.SetRow(1)
  238. dw_pageretr.TriggerEvent(RowFocusChanged!)
  239. END IF
  240. wf_statusbtn_fc()
  241. THIS.TriggerEvent('retrieve_childdw')
  242. cb_nextpage.Enabled = cb_nextpage_enabled
  243. cb_retrieveall.Enabled = cb_retrieveall_enabled
  244. cb_func.Enabled = cb_func_enabled
  245. end event
  246. event open;call super::open;uc_column_int = 4 //uc dw前5列可以编辑
  247. child_column_int = 1 //子 dw前3列可以编辑
  248. uo_rule = create uo_mtrlware_propel_rule
  249. end event
  250. event ue_f8;call super::ue_f8;IF NOT dw_edit_mode THEN RETURN
  251. Long uc_row,ls_j
  252. Long child_row,ll_receivecuscommid
  253. IF Not IsValid(w_cust_comm_ch) THEN
  254. s_edit_index_tran s_open //传递参数使用
  255. s_open.if_select_any = True
  256. s_open.b_string = ''
  257. This.Enabled = False
  258. OpenWithParm(w_cust_comm_ch,s_open)
  259. This.Enabled = True
  260. s_custom_arr s_inscust
  261. s_inscust = Message.PowerObjectParm //接受返回结构
  262. dw_child.SetRedraw(False)
  263. FOR ls_j = 1 To UpperBound(s_inscust.cusid)
  264. IF s_inscust.cusid[ls_j] > 0 THEN //正常返回值则可以取以下值
  265. IF dw_child.Find("u_mtrlware_propel_rule_mx_cusid =" + String(s_inscust.cusid[ls_j]), 1, dw_child.RowCount()) > 0 THEN CONTINUE
  266. IF dw_child.GetRow() > 0 THEN
  267. IF dw_child.Object.cusid[dw_child.GetRow()] <> 0 THEN
  268. child_row = dw_child.InsertRow (0)
  269. ELSE
  270. child_row = dw_child.GetRow()
  271. END IF
  272. ELSE
  273. child_row = dw_child.InsertRow (0)
  274. END IF
  275. dw_child.Object.u_mtrlware_propel_rule_mx_cusid[child_row] = s_inscust.cusid[ls_j]
  276. dw_child.Object.cuscode[child_row] = s_inscust.cuscode[ls_j]
  277. dw_child.Object.Name[child_row] = s_inscust.Name[ls_j]
  278. dw_child.Object.cusareaname[child_row] = s_inscust.cusareaname[ls_j]
  279. dw_child.Object.commcode[child_row] = s_inscust.commcode[ls_j]
  280. dw_child.Object.commsccode[child_row] = s_inscust.commsccode[ls_j]
  281. END IF
  282. NEXT
  283. dw_child.SetRedraw(True)
  284. END IF
  285. end event
  286. event refresh_interface;call super::refresh_interface;ddlb_retrstatus.Enabled = NOT dw_edit_mode
  287. ddlb_scid.Enabled = NOT dw_edit_mode
  288. wf_statusbtn_fc()
  289. end event
  290. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid
  291. row = dw_pageretr.GetRow()
  292. IF row > 0 THEN
  293. uc_relid = dw_pageretr.Object.ruleid[row]
  294. dw_child.SetRedraw (False)
  295. dw_child.Retrieve(uc_relid)
  296. dw_child.SetRedraw (True)
  297. IF dw_child.RowCount() > 0 THEN
  298. dw_child.SelectRow(0,False)
  299. dw_child.SelectRow(1,True)
  300. dw_child.SetRow(1)
  301. END IF
  302. ELSE
  303. dw_child.Reset()
  304. END IF
  305. end event
  306. event close;f_SetProfileString(sys_empid, "wfjg", "status", String(cur_status))
  307. end event
  308. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  309. if trim(sle_usual_query.text)<>'' then
  310. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  311. obj_expr=obj_expr+'( u_order_wfjg_taskcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  312. ELSE
  313. obj_expr=obj_expr+'( u_order_wfjg_taskcode LIKE "'+trim(sle_usual_query.text)+'" )'
  314. END IF
  315. end if
  316. dw_pageretr.setfilter(obj_expr)
  317. dw_pageretr.SetRedraw(False)
  318. dw_pageretr.filter()
  319. if dw_pageretr.rowcount()>=1 then
  320. dw_pageretr.selectrow(0,false)
  321. dw_pageretr.selectrow(1,true)
  322. end if
  323. dw_pageretr.SetRedraw(TRUE)
  324. end event
  325. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  326. ls_newselect=lower(ori_oldselect)
  327. if trim(sle_usual_query.text)<>'' then
  328. if pos(trim(sle_usual_query.text),'%')=0 then
  329. ls_querystrpart="(u_order_wfjg.taskcode like '%"+trim(sle_usual_query.text)+"%')"
  330. else
  331. ls_querystrpart="(u_order_wfjg.taskcode like '"+trim(sle_usual_query.text)+"')"
  332. end if
  333. if Pos(ls_newselect," where ") <> 0 then
  334. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  335. else
  336. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  337. end if
  338. end if
  339. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  340. this.triggerevent('retrieve_pageretr')
  341. end event
  342. event ue_viewprint;call super::ue_viewprint;//Long LS_ROW
  343. //LS_ROW = dw_pageretr.GetRow()
  344. //IF LS_ROW <= 0 THEN
  345. // MessageBox('NO','没有打印目标单据!')
  346. // RETURN
  347. //END IF
  348. //
  349. //S_print_MSG LS_PRMSG
  350. //
  351. //
  352. //IF ls_newname <> '' THEN
  353. // IF Not uo_power_spi.uf_power_ind(ls_powerid,sys_msg_pow) THEN
  354. // MessageBox(publ_operator,sys_msg_pow)
  355. // RETURN
  356. //END IF
  357. //
  358. //
  359. // IF li_auditprint = 1 THEN
  360. // IF dw_pageretr.Object.u_order_wfjg_status[dw_pageretr.GetRow()] = 0 THEN
  361. // MessageBox('NO','目标单据还未审核,不能打印!')
  362. // RETURN
  363. // END IF
  364. // END IF
  365. // LS_PRMSG.obj_dwNAME = ls_newname
  366. //ELSE
  367. //
  368. // IF NOT uo_power_spi.uf_power_ind(391,sys_msg_pow) THEN
  369. // MessageBox(publ_operator,sys_msg_pow)
  370. // RETURN
  371. //END IF
  372. //
  373. //
  374. // LS_PRMSG.obj_dwNAME = 'dw_rp_order_wfjg_print'
  375. //END IF
  376. //
  377. //IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  378. //
  379. //LS_PRMSG.printrow = ll_prownum
  380. //LS_PRMSG.TAG_TEXT = '外加工计划'
  381. //LS_PRMSG.retr_pram_falg = 15
  382. //LS_PRMSG.PAGECH_FLAG = 0
  383. //LS_PRMSG.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[LS_ROW]
  384. //LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[LS_ROW]
  385. //LS_PRMSG.rowcnt = dw_mtrlmx.RowCount()
  386. //OpenWithParm(w_publ_preview,LS_PRMSG)
  387. //
  388. ////更新打印次数
  389. //String arg_msg
  390. //printnum = Message.DoubleParm
  391. //
  392. //Long ll_scid
  393. //String ls_code
  394. //
  395. //ll_scid = dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()]
  396. //ls_code = dw_pageretr.Object.u_order_wfjg_taskcode[dw_pageretr.GetRow()]
  397. //
  398. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  399. end event
  400. event ue_print;call super::ue_print;////--直接打印
  401. //
  402. //uo_print_preview uo_print
  403. //IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  404. //S_print_MSG LS_PRMSG
  405. //
  406. //Long LS_ROW
  407. //LS_ROW = dw_uc.GetRow()
  408. //IF LS_ROW <= 0 THEN
  409. // MessageBox('NO','没有打印目标单据!')
  410. // RETURN
  411. //END IF
  412. //
  413. //IF ls_newname <> '' THEN
  414. // IF NOT uo_power_spi.uf_power_ind(ls_powerid,sys_msg_pow) THEN
  415. // MessageBox(publ_operator,sys_msg_pow)
  416. // RETURN
  417. //END IF
  418. //
  419. //
  420. // IF li_auditprint = 1 THEN
  421. // IF dw_uc.Object.u_order_wfjg_status[dw_uc.GetRow()] = 0 THEN
  422. // MessageBox('NO','目标单据还未审核,不能打印!')
  423. // RETURN
  424. // END IF
  425. // END IF
  426. // LS_PRMSG.obj_dwNAME = ls_newname
  427. //ELSE
  428. //
  429. // IF NOT uo_power_spi.uf_power_ind(391,sys_msg_pow) THEN
  430. // MessageBox(publ_operator,sys_msg_pow)
  431. // RETURN
  432. //END IF
  433. //
  434. // LS_PRMSG.obj_dwNAME = 'dw_rp_order_wfjg_print'
  435. //END IF
  436. //
  437. //IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  438. //
  439. //LS_PRMSG.printrow = ll_prownum
  440. //LS_PRMSG.retr_pram_falg = 15
  441. //LS_PRMSG.TAG_TEXT = '外加工计划'
  442. //LS_PRMSG.FILTER_STRING = ''
  443. //LS_PRMSG.PAGECH_FLAG = 0
  444. //LS_PRMSG.retr_scid = dw_uc.Object.u_order_wfjg_scid[dw_uc.GetRow()]
  445. //LS_PRMSG.retr_pramnmb = dw_uc.Object.u_order_wfjg_wfjgid[dw_uc.GetRow()]
  446. //LS_PRMSG.rowcnt = dw_mtrlmx.RowCount()
  447. //uo_print.FACT_PRINT_MSG = LS_PRMSG
  448. //
  449. //String arg_msg
  450. //IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  451. // MessageBox("系统提示",arg_msg)
  452. // RETURN
  453. //END IF
  454. //uo_print.ds_print()
  455. //
  456. ////更新打印次数
  457. //printnum = 1
  458. //
  459. //Long ll_scid
  460. //String ls_code
  461. //
  462. //ll_scid = dw_uc.Object.u_order_wfjg_scid[dw_uc.GetRow()]
  463. //ls_code = dw_uc.Object.u_order_wfjg_taskcode[dw_uc.GetRow()]
  464. //
  465. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  466. //
  467. //
  468. //
  469. //
  470. //
  471. end event
  472. event resize;ln_bar.EndX = THIS.Width
  473. ln_bar2.EndX = THIS.Width
  474. ln_1.EndX = THIS.Width
  475. ln_2.EndX = THIS.Width
  476. r_bar.Width = THIS.Width
  477. Long w_width,w_height
  478. w_width = 3602
  479. w_height = 2300
  480. IF newwidth < w_width THEN THIS.Width = w_width
  481. IF newheight < w_height THEN THIS.Height = w_height
  482. dw_child.Width = THIS.Width - (w_width - dw_child_w)
  483. dw_child.Height = THIS.Height - (w_height - dw_child_h)
  484. dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
  485. //==============================================================================
  486. //YYX081007
  487. //==============================================================================
  488. IF uc_width > 0 THEN
  489. dw_uc.Width = uc_width
  490. END IF
  491. IF uc_height > 0 THEN
  492. dw_uc.Height = uc_height
  493. END IF
  494. dw_pageretr.X = dw_uc.X + dw_uc.Width
  495. dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40
  496. dw_pageretr.Height = dw_uc.Height
  497. this.triggerevent('resize_p')
  498. end event
  499. event ue_addzy;call super::ue_addzy;//if uo_power_spi.unot f_power_ind(40) then
  500. // messagebox(publ_operator,'你没有使用权限!')
  501. // return
  502. //end if
  503. //
  504. //if dw_edit_mode then return
  505. //
  506. //string arg_msg='',LS_STR
  507. //long uc_row
  508. //s_inputbox S_SREU
  509. //
  510. //uc_row=dw_pageretr.getrow()
  511. //if uc_row<=0 then
  512. // messagebox('系统提示','请选定当前目标订单!')
  513. // return
  514. //end if
  515. //S_SREU.TITLE='请输入要补充到备注的内容'
  516. //S_SREU.OLD_TEXT=''
  517. //openwithparm(w_inputbox,S_SREU)
  518. //LS_STR=Message.StringParm
  519. //if trim(LS_STR)='' or isnull(LS_STR) then return
  520. //
  521. //if uo_wfjg.add_dscrp(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row],LS_STR,arg_msg,true)=0 then
  522. // messagebox('Error!',arg_msg)
  523. // return
  524. //else
  525. // messagebox(publ_operator,'添加备注操作成功!')
  526. // wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row])
  527. //end if
  528. //
  529. end event
  530. event ue_rpt_viewprint;call super::ue_rpt_viewprint;//
  531. //Long row,uc_relid,ll_scid
  532. //row = dw_pageretr.GetRow()
  533. //IF row = 0 THEN RETURN
  534. //
  535. //
  536. //IF ls_rpname = '' THEN RETURN
  537. //
  538. //IF li_auditprint = 1 THEN
  539. // IF dw_pageretr.Object.u_order_wfjg_status[row] = 0 THEN
  540. // MessageBox('NO','目标单据还未审核,不能打印!')
  541. // RETURN
  542. // END IF
  543. //END IF
  544. //
  545. //s_rpt_print_msg s_print
  546. //s_print.retr_pram_falg = 15
  547. //s_print.rpid = ls_msgprintid_rpt
  548. //s_print.retr_flag = TRUE
  549. //s_print.tag_text = THIS.Title
  550. //
  551. //s_print.rpname = ls_rpname
  552. //s_print.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  553. //s_print.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[row]
  554. //s_print.rowcnt = dw_mtrlmx.RowCount()
  555. //OpenWithParm(w_rpt_preview,s_print)
  556. //
  557. ////**更新打印次料
  558. //String arg_msg
  559. //printnum = Message.DoubleParm
  560. //
  561. //String ls_code
  562. //
  563. //ll_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  564. //ls_code = dw_pageretr.Object.u_order_wfjg_taskcode[row]
  565. //
  566. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  567. end event
  568. event ue_rpt_print;call super::ue_rpt_print;//Long row,uc_relid,ll_scid
  569. //row = dw_pageretr.GetRow()
  570. //IF row = 0 THEN RETURN
  571. //
  572. //
  573. //uo_rpt_print_preview uo_print
  574. //S_rpt_print_MSG LS_PRMSG
  575. //
  576. //IF dw_pageretr.RowCount() = 0 THEN
  577. // MessageBox('系统信息','没有可打印的单据!')
  578. // RETURN
  579. //END IF
  580. //
  581. //IF ls_rpname = '' THEN RETURN
  582. //
  583. //IF li_auditprint = 1 THEN
  584. // IF dw_pageretr.Object.u_order_wfjg_status[row] = 0 THEN
  585. // MessageBox('NO','目标单据还未审核,不能打印!')
  586. // RETURN
  587. // END IF
  588. //END IF
  589. //
  590. //IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  591. //
  592. //LS_PRMSG.retr_pram_falg = 15
  593. //LS_PRMSG.TAG_TEXT = THIS.Title
  594. //LS_PRMSG.rpname = ls_rpname
  595. //LS_PRMSG.FILTER_STRING = ''
  596. //
  597. //LS_PRMSG.PAGECH_FLAG = 0
  598. //LS_PRMSG.rpid = ls_msgprintid_rpt
  599. //LS_PRMSG.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  600. //LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[row]
  601. //LS_PRMSG.rowcnt = dw_mtrlmx.RowCount()
  602. //
  603. //
  604. //uo_print.FACT_PRINT_MSG = LS_PRMSG
  605. //
  606. //String arg_msg
  607. //IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  608. // MessageBox("系统提示",arg_msg)
  609. // RETURN
  610. //END IF
  611. //uo_print.ds_print()
  612. //
  613. //
  614. ////**更新打印次料
  615. //printnum = Message.DoubleParm
  616. //
  617. //String ls_code
  618. //
  619. //ll_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  620. //ls_code = dw_pageretr.Object.u_order_wfjg_taskcode[row]
  621. //
  622. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  623. end event
  624. event ue_news_add;call super::ue_news_add;Long ll_row_p
  625. s_admsg s_msg
  626. dw_pageretr.AcceptText()
  627. ll_row_p = dw_pageretr.GetRow()
  628. IF ll_row_p <= 0 THEN RETURN
  629. s_msg.billcode = dw_pageretr.Object.u_order_wfjg_taskcode[ll_row_p]
  630. OpenWithParm(w_new_admsg,s_msg)
  631. end event
  632. event ue_news_rel;call super::ue_news_rel;Long ll_row_p
  633. String ls_billcode
  634. dw_pageretr.AcceptText()
  635. ll_row_p = dw_pageretr.GetRow()
  636. IF ll_row_p <= 0 THEN RETURN
  637. ls_billcode = dw_pageretr.Object.u_order_wfjg_taskcode[ll_row_p]
  638. OpenWithParm(w_msg_billcode_rel,ls_billcode)
  639. end event
  640. event ue_f9;call super::ue_f9;IF Not dw_edit_mode THEN RETURN
  641. Long ll_ucrow
  642. String ls_rulestr,ls_handtypestr ,ls_filterstr
  643. Long ll_storageid
  644. s_mtrlware_filter_ch s_return
  645. dw_uc.AcceptText()
  646. ll_ucrow = dw_uc.GetRow()
  647. IF ll_ucrow <= 0 THEN
  648. MessageBox('系统提示','请先选择换料策略')
  649. RETURN
  650. END IF
  651. ll_storageid = dw_uc.Object.u_mtrlware_propel_rule_storageid[ll_ucrow]
  652. IF ll_storageid = 0 THEN
  653. MessageBox('系统提示','请先选择仓库')
  654. RETURN
  655. END IF
  656. OpenWithParm(w_ware_mtrlware_filter_ch,ll_storageid)
  657. s_return = Message.PowerObjectParm
  658. IF s_return.returnflag = 0 THEN RETURN
  659. dw_uc.Object.u_mtrlware_propel_rule_rulestr[ll_ucrow] = s_return.rulestr
  660. dw_uc.Object.u_mtrlware_propel_rule_handtypestr[ll_ucrow] = s_return.handtypestr
  661. IF s_return.handtypestr = '' THEN
  662. ls_filterstr = s_return.rulestr
  663. ELSE
  664. ls_filterstr = s_return.rulestr + ' 物料类别包含:'+s_return.handtypestr
  665. END IF
  666. dw_uc.Object.filterstr[ll_ucrow] = ls_filterstr
  667. dw_uc.AcceptText()
  668. end event
  669. event ue_f6;call super::ue_f6;//IF NOT dw_edit_mode THEN RETURN
  670. //
  671. //Long ll_row
  672. //String ls_rule_if,ls_rule_then
  673. //String ls_rule_if_re,ls_rule_then_re
  674. //int li_repeattype,li_repeattype_re
  675. //
  676. //
  677. //dw_mx.AcceptText()
  678. //ll_row = dw_mx.GetRow()
  679. //
  680. //IF ll_row = 0 THEN
  681. // ll_row = dw_mx.InsertRow(0)
  682. //END IF
  683. //
  684. //ls_rule_if = dw_mx.Object.rule_if[ll_row]
  685. //ls_rule_then = dw_mx.Object.rule_then[ll_row]
  686. //li_repeattype = dw_mx.Object.repeattype[ll_row]
  687. //
  688. //s_mtrl_change_rule_mx s_rulemx,s_return
  689. //
  690. //s_rulemx.rule_if = ls_rule_if
  691. //s_rulemx.rule_then = ls_rule_then
  692. //s_rulemx.kind = cur_kind
  693. //s_rulemx.repeattype = li_repeattype
  694. //
  695. //IF cur_kind = 0 or cur_kind = 2 THEN
  696. // OpenWithParm(w_mtrl_change_rule_edit_mx,s_rulemx)
  697. //ELSEIF cur_kind = 1 THEN
  698. // OpenWithParm(w_mtrl_change_rule_del_edit_mx,s_rulemx)
  699. //END IF
  700. //
  701. //s_return = Message.PowerObjectParm
  702. //
  703. //ls_rule_if_re = s_return.rule_if
  704. //ls_rule_then_re = s_return.rule_then
  705. //li_repeattype_re = s_return.repeattype
  706. //
  707. //dw_mx.Object.rule_if[ll_row] = ls_rule_if_re
  708. //dw_mx.Object.rule_then[ll_row] = ls_rule_then_re
  709. //dw_mx.Object.repeattype[ll_row] = li_repeattype_re
  710. //
  711. //dw_mx.AcceptText()
  712. //
  713. //
  714. end event
  715. event ue_f10;call super::ue_f10;IF Not dw_edit_mode THEN RETURN
  716. Long ll_ucrow
  717. dw_uc.AcceptText()
  718. ll_ucrow = dw_uc.GetRow()
  719. IF ll_ucrow <= 0 THEN
  720. MessageBox('系统提示','请先选择换料策略')
  721. RETURN
  722. END IF
  723. s_ljfieb_timer_ch s_parm
  724. s_parm.isrunning = dw_uc.Object.isrunning[ll_ucrow]
  725. s_parm.nextexectime = dw_uc.Object.nextexectime[ll_ucrow]
  726. s_parm.timertype = dw_uc.Object.timertype[ll_ucrow]
  727. s_parm.timerparm = dw_uc.Object.timerparm[ll_ucrow]
  728. OpenWithParm(w_ljfieb_timer_ch, s_parm)
  729. s_parm = Message.PowerObjectParm
  730. IF s_parm.ifchange THEN
  731. dw_uc.Object.isrunning[ll_ucrow] = s_parm.isrunning
  732. dw_uc.Object.nextexectime[ll_ucrow] = s_parm.nextexectime
  733. dw_uc.Object.timertype[ll_ucrow] = s_parm.timertype
  734. dw_uc.Object.timerparm[ll_ucrow] = s_parm.timerparm
  735. END IF
  736. end event
  737. type cb_func from w_publ_1ton_share_detail`cb_func within w_mtrlware_propel_rule
  738. end type
  739. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_mtrlware_propel_rule
  740. integer x = 1079
  741. integer width = 142
  742. integer taborder = 250
  743. end type
  744. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_mtrlware_propel_rule
  745. boolean visible = false
  746. integer x = 224
  747. integer width = 539
  748. end type
  749. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_mtrlware_propel_rule
  750. integer x = 1545
  751. integer width = 142
  752. integer taborder = 230
  753. end type
  754. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_mtrlware_propel_rule
  755. integer x = 1243
  756. integer taborder = 200
  757. end type
  758. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_mtrlware_propel_rule
  759. integer x = 1970
  760. integer y = 184
  761. integer width = 1568
  762. integer height = 1000
  763. string title = "推送策略摘要内容"
  764. string dataobject = "dw_mtrlware_propel_rule_index"
  765. end type
  766. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_statusbtn_fc()
  767. IF currentrow <= 0 THEN
  768. dw_child.Reset()
  769. END IF
  770. end event
  771. event dw_pageretr::retrieveend;wf_statusbtn_fc()
  772. end event
  773. type st_1 from w_publ_1ton_share_detail`st_1 within w_mtrlware_propel_rule
  774. boolean visible = false
  775. integer width = 192
  776. alignment alignment = right!
  777. end type
  778. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_mtrlware_propel_rule
  779. integer x = 1687
  780. integer taborder = 240
  781. end type
  782. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_mtrlware_propel_rule
  783. integer y = 184
  784. integer width = 1966
  785. integer height = 1012
  786. integer taborder = 130
  787. string dataobject = "dw_mtrlware_propel_rule_edit"
  788. end type
  789. event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
  790. IF Key = KeyDownArrow! THEN RETURN 1
  791. IF dw_edit_mode THEN
  792. IF Key = KeyEnter! THEN //
  793. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  794. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  795. RETURN 1
  796. END IF
  797. END IF
  798. end event
  799. event dw_uc::buttonclicked;call super::buttonclicked;IF dw_edit_mode And row > 0 and dwo.name = 'b_ch' THEN
  800. Parent.TriggerEvent('ue_f9')
  801. elseIF dw_edit_mode And row > 0 and dwo.name = 'b_timer' THEN
  802. Parent.TriggerEvent('ue_f10')
  803. END IF
  804. end event
  805. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_mtrlware_propel_rule
  806. integer x = 329
  807. integer y = 396
  808. integer width = 425
  809. integer height = 336
  810. integer taborder = 90
  811. string text = "详细内容"
  812. end type
  813. type dw_child from w_publ_1ton_share_detail`dw_child within w_mtrlware_propel_rule
  814. integer y = 1196
  815. integer width = 3543
  816. integer height = 1060
  817. integer taborder = 170
  818. string title = "推送对象列表(双击选择)"
  819. string dataobject = "dw_mtrlware_propel_rule_mx_edit"
  820. end type
  821. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_mtrlware_propel_rule
  822. boolean visible = false
  823. integer x = 1568
  824. integer taborder = 50
  825. end type
  826. type cb_print from w_publ_1ton_share_detail`cb_print within w_mtrlware_propel_rule
  827. boolean visible = false
  828. integer x = 1376
  829. integer taborder = 160
  830. end type
  831. type cb_add from w_publ_1ton_share_detail`cb_add within w_mtrlware_propel_rule
  832. integer taborder = 210
  833. end type
  834. event cb_add::clicked;IF Not uo_power_spi.uf_power_ind(3356,sys_msg_pow) THEN
  835. MessageBox(publ_operator,sys_msg_pow)
  836. RETURN
  837. END IF
  838. String arg_msg = ''
  839. Long uc_row,i,j
  840. Long cnt_mx
  841. s_mtrlware_propel_rule arg_s_rule
  842. IF dw_edit_mode THEN
  843. dw_uc.AcceptText()
  844. dw_child.AcceptText()
  845. uc_row = dw_uc.GetRow()
  846. IF uc_row <= 0 THEN
  847. MessageBox('系统提示','请选定当前目标内容!')
  848. RETURN
  849. END IF
  850. IF Not Len(String(dw_uc.Object.u_mtrlware_propel_rule_rulename[uc_row])) > 0 THEN
  851. MessageBox('系统提示','请填写策略名称!')
  852. dw_uc.SetFocus()
  853. dw_uc.SetColumn("u_mtrlware_propel_rule_rulename")
  854. RETURN
  855. END IF
  856. if dw_uc.object.u_mtrlware_propel_rule_storageid[uc_row] = 0 then
  857. MessageBox('系统提示','请选择仓库!')
  858. dw_uc.SetFocus()
  859. dw_uc.SetColumn("u_mtrlware_propel_rule_storageid")
  860. RETURN
  861. END IF
  862. // IF Not Len(String(dw_uc.Object.u_mtrlware_propel_rule_rulestr[uc_row])) > 0 THEN
  863. // MessageBox('系统提示','请选择筛选条件!')
  864. // dw_uc.SetFocus()
  865. // RETURN
  866. // END IF
  867. arg_s_rule.ruleid = dw_uc.Object.u_mtrlware_propel_rule_ruleid[uc_row]
  868. arg_s_rule.rulename = dw_uc.Object.u_mtrlware_propel_rule_rulename[uc_row]
  869. arg_s_rule.rulestr = dw_uc.Object.u_mtrlware_propel_rule_rulestr[uc_row]
  870. arg_s_rule.handtypestr = dw_uc.Object.u_mtrlware_propel_rule_handtypestr[uc_row]
  871. arg_s_rule.dscrp = dw_uc.Object.u_mtrlware_propel_rule_dscrp[uc_row]
  872. arg_s_rule.storageid = dw_uc.Object.u_mtrlware_propel_rule_storageid[uc_row]
  873. arg_s_rule.isrunning = dw_uc.Object.isrunning[uc_row]
  874. arg_s_rule.nextexectime = dw_uc.Object.nextexectime[uc_row]
  875. arg_s_rule.timertype = dw_uc.Object.timertype[uc_row]
  876. arg_s_rule.timerparm = dw_uc.Object.timerparm[uc_row]
  877. FOR i = 1 To dw_child.RowCount()
  878. IF dw_child.Object.u_mtrlware_propel_rule_mx_cusid[i] > 0 THEN
  879. cnt_mx++
  880. arg_s_rule.arg_s_mx[cnt_mx].cusid = dw_child.Object.u_mtrlware_propel_rule_mx_cusid[i]
  881. arg_s_rule.arg_s_mx[cnt_mx].ifmatch = dw_child.Object.u_mtrlware_propel_rule_mx_ifmatch[i]
  882. END IF
  883. NEXT
  884. IF uo_rule.Save(arg_s_rule,arg_msg,True) = 0 THEN
  885. MessageBox('Error!',arg_msg)
  886. RETURN
  887. END IF
  888. MessageBox(publ_operator,'保存操作成功!')
  889. Long ll_row
  890. ll_row = dw_pageretr.GetRow()
  891. dw_pageretr.SelectRow(0,False)
  892. dw_pageretr.SelectRow(ll_row,True)
  893. wf_refresh_curuc(uo_rule.uo_ruleid) //刷新uc
  894. END IF
  895. IF Not dw_edit_mode THEN
  896. Int li_row
  897. li_row = dw_pageretr.InsertRow (1)
  898. dw_pageretr.ScrollToRow(li_row)
  899. dw_child.Reset()
  900. dw_uc.Reset()
  901. dw_uc.SetFocus()
  902. dw_pageretr.RowsCopy(li_row,li_row, Primary!, dw_uc, 1, Primary!)
  903. END IF
  904. dw_edit_mode = Not dw_edit_mode
  905. wf_refresh_interface()
  906. IF dw_edit_mode THEN
  907. Parent.TriggerEvent("insert_childrow")
  908. dw_uc.SetFocus()
  909. dw_uc.SetColumn("u_mtrlware_propel_rule_rulename")
  910. ELSE
  911. Parent.TriggerEvent("retrieve_childdw")
  912. END IF
  913. end event
  914. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_mtrlware_propel_rule
  915. integer taborder = 60
  916. end type
  917. event cb_edit::clicked;IF Not uo_power_spi.uf_power_ind(3356,sys_msg_pow) THEN
  918. MessageBox(publ_operator,sys_msg_pow)
  919. RETURN
  920. END IF
  921. String arg_msg = ''
  922. Long uc_row
  923. uc_row = dw_pageretr.GetRow()
  924. IF uc_row <= 0 THEN
  925. MessageBox('系统提示','请选定当前目标单据!')
  926. RETURN
  927. END IF
  928. IF NOT dw_edit_mode THEN
  929. wf_refresh_curuc(dw_pageretr.Object.ruleid[uc_row])
  930. PARENT.TriggerEvent("retrieve_childdw")
  931. END IF
  932. CALL SUPER::Clicked
  933. end event
  934. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_mtrlware_propel_rule
  935. integer width = 142
  936. integer taborder = 180
  937. end type
  938. event cb_delet::clicked;call super::clicked;IF NOT uo_power_spi.uf_power_ind(3357,sys_msg_pow) THEN
  939. MessageBox(publ_operator,sys_msg_pow)
  940. RETURN
  941. END IF
  942. IF dw_edit_mode THEN RETURN
  943. String arg_msg = ''
  944. Long uc_row
  945. uc_row = dw_pageretr.GetRow()
  946. IF uc_row <= 0 THEN
  947. MessageBox('系统提示','请选定要删除的推送策略')
  948. RETURN
  949. END IF
  950. IF MessageBox ("IF","是否确定要删除当前的推送策略?",Question!,YesNo! ) = 2 THEN RETURN
  951. IF uo_rule.del(dw_pageretr.Object.ruleid[uc_row],arg_msg,TRUE) = 0 THEN
  952. MessageBox('Error!',arg_msg)
  953. ELSE
  954. //日志
  955. Long ls_id
  956. String ls_code
  957. ls_id = dw_pageretr.Object.ruleid[uc_row]
  958. ls_code = dw_pageretr.Object.rulename[uc_row]
  959. f_setsysoplog('库存推送策略','库存推送策略删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  960. //--
  961. MessageBox(publ_operator,'删除库存推送策略'+String(dw_pageretr.Object.rulename[uc_row])+'成功!')
  962. dw_pageretr.DeleteRow(uc_row)
  963. dw_pageretr.TriggerEvent(RowFocusChanged!)
  964. END IF
  965. end event
  966. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_mtrlware_propel_rule
  967. boolean visible = false
  968. integer x = 827
  969. integer width = 297
  970. integer taborder = 190
  971. end type
  972. event cb_addzy::clicked;call super::clicked;IF dw_pageretr.GetRow() <= 0 THEN RETURN
  973. m_Dfc_Control_PopupMenu dmPopupMenu
  974. String menustr
  975. IF NOT dw_edit_mode THEN
  976. menustr = "Text=增加备注~tEvent=ue_addzy"
  977. END IF
  978. IF Len(Trim(menustr)) <> 0 THEN
  979. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  980. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  981. dmPopupMenu.mf_PopMenu()
  982. DESTROY dmPopupMenu
  983. END IF
  984. end event
  985. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_mtrlware_propel_rule
  986. boolean visible = false
  987. integer x = 827
  988. integer taborder = 220
  989. string text = "审批&F"
  990. end type
  991. event cb_auditing::clicked;call super::clicked;//
  992. //
  993. //IF dw_edit_mode THEN RETURN
  994. //String arg_msg = ''
  995. //Long pagerert_row
  996. //
  997. //pagerert_row = dw_pageretr.GetRow()
  998. //IF pagerert_row <= 0 THEN
  999. // MessageBox('系统提示','请选定当前目标外加工计划!')
  1000. // RETURN
  1001. //END IF
  1002. //
  1003. //
  1004. //IF MessageBox ("IF","是否确定要对当前外加工计划作审核吗?",Question!,YesNo! ) = 2 THEN RETURN
  1005. //
  1006. //IF dw_pageretr.Object.u_order_wfjg_billtype[pagerert_row] = 0 THEN
  1007. // IF NOT uo_power_spi.uf_power_ind(41) THEN
  1008. // MessageBox(publ_operator,'你没有使用权限!')
  1009. // RETURN
  1010. // END IF
  1011. //ELSE
  1012. // IF NOT uo_power_spi.uf_power_ind(795) THEN
  1013. // MessageBox(publ_operator,'你没有使用权限!')
  1014. // RETURN
  1015. // END IF
  1016. //END IF
  1017. //
  1018. //
  1019. //IF uo_wfjg.firstpermit(dw_pageretr.Object.u_order_wfjg_scid[pagerert_row],dw_pageretr.Object.u_order_wfjg_wfjgid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN
  1020. // MessageBox('Error!',arg_msg)
  1021. //ELSE
  1022. // MessageBox(publ_operator,'外加工计划审核成功!')
  1023. // IF cur_status <> -1 THEN
  1024. // dw_pageretr.DeleteRow(pagerert_row)
  1025. // dw_pageretr.TriggerEvent(RowFocusChanged!)
  1026. // ELSE
  1027. // wf_refresh_curuc(dw_pageretr.Object.u_order_wfjg_scid[pagerert_row],dw_pageretr.Object.u_order_wfjg_wfjgid[pagerert_row])
  1028. // END IF
  1029. //END IF
  1030. //
  1031. //
  1032. end event
  1033. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_mtrlware_propel_rule
  1034. boolean visible = false
  1035. integer x = 827
  1036. integer taborder = 70
  1037. end type
  1038. event cb_xm::clicked;call super::clicked;//is_mx_menustr = ''
  1039. //
  1040. //IF dw_edit_mode THEN
  1041. // is_mx_menustr = is_mx_menustr + "|" + "Text=批设定收入仓库~tEvent=ue_p_storageid_in"
  1042. //END IF
  1043. //
  1044. //CALL SUPER::Clicked
  1045. end event
  1046. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_mtrlware_propel_rule
  1047. integer taborder = 140
  1048. end type
  1049. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_mtrlware_propel_rule
  1050. boolean visible = false
  1051. integer x = 1760
  1052. integer taborder = 150
  1053. end type
  1054. type cb_help from w_publ_1ton_share_detail`cb_help within w_mtrlware_propel_rule
  1055. boolean visible = false
  1056. integer x = 1376
  1057. integer taborder = 100
  1058. end type
  1059. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_mtrlware_propel_rule
  1060. boolean visible = false
  1061. integer x = 1019
  1062. integer taborder = 110
  1063. end type
  1064. type p_msg from w_publ_1ton_share_detail`p_msg within w_mtrlware_propel_rule
  1065. boolean visible = false
  1066. end type
  1067. type p_help from w_publ_1ton_share_detail`p_help within w_mtrlware_propel_rule
  1068. boolean visible = false
  1069. end type
  1070. type p_encl from w_publ_1ton_share_detail`p_encl within w_mtrlware_propel_rule
  1071. boolean visible = false
  1072. end type
  1073. type p_other from w_publ_1ton_share_detail`p_other within w_mtrlware_propel_rule
  1074. boolean visible = false
  1075. end type
  1076. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_mtrlware_propel_rule
  1077. integer taborder = 120
  1078. end type
  1079. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_mtrlware_propel_rule
  1080. end type
  1081. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_mtrlware_propel_rule
  1082. end type
  1083. type r_bar from w_publ_1ton_share_detail`r_bar within w_mtrlware_propel_rule
  1084. integer x = 2665
  1085. end type
  1086. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_mtrlware_propel_rule
  1087. boolean visible = false
  1088. end type
  1089. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_mtrlware_propel_rule
  1090. boolean visible = false
  1091. end type
  1092. type st_13 from statictext within w_mtrlware_propel_rule
  1093. boolean visible = false
  1094. integer x = 1431
  1095. integer y = 204
  1096. integer width = 151
  1097. integer height = 48
  1098. integer textsize = -9
  1099. integer weight = 400
  1100. fontcharset fontcharset = gb2312charset!
  1101. fontpitch fontpitch = variable!
  1102. string facename = "宋体"
  1103. long textcolor = 33554432
  1104. long backcolor = 134217739
  1105. boolean enabled = false
  1106. string text = "状态"
  1107. alignment alignment = right!
  1108. boolean focusrectangle = false
  1109. end type
  1110. type ddlb_retrstatus from dropdownlistbox within w_mtrlware_propel_rule
  1111. boolean visible = false
  1112. integer x = 1595
  1113. integer y = 192
  1114. integer width = 347
  1115. integer height = 856
  1116. integer taborder = 80
  1117. boolean bringtotop = true
  1118. integer textsize = -9
  1119. integer weight = 400
  1120. fontcharset fontcharset = gb2312charset!
  1121. fontpitch fontpitch = variable!
  1122. string facename = "宋体"
  1123. long textcolor = 33554432
  1124. string text = "待审核"
  1125. boolean sorted = false
  1126. boolean vscrollbar = true
  1127. string item[] = {"待审核","在进行","已暂停","已终止","自动完成","手动完成","[所有]"}
  1128. borderstyle borderstyle = stylelowered!
  1129. end type
  1130. event selectionchanged;choose case index
  1131. case 1 //待采购审批
  1132. cur_status=0
  1133. case 2 //在进行
  1134. cur_status=1
  1135. case 3 //'已暂停'
  1136. cur_status=2
  1137. case 4 //'已终止'
  1138. cur_status=3
  1139. case 5 //'自动完成'
  1140. cur_status=5
  1141. case 6 //'手动完成'
  1142. cur_status=6
  1143. case else
  1144. cur_status= -1
  1145. end choose
  1146. parent.triggerevent("retrieve_pageretr")
  1147. end event
  1148. event constructor;cur_status=long(f_ProfileString(sys_empid, "wfjg", "status", "-1"))
  1149. choose case cur_status
  1150. case 0
  1151. ddlb_retrstatus.text="待审核"
  1152. case 1
  1153. ddlb_retrstatus.text="在进行"
  1154. case 2
  1155. ddlb_retrstatus.text="已暂停"
  1156. case 3
  1157. ddlb_retrstatus.text="已终止"
  1158. case 5
  1159. ddlb_retrstatus.text="自动完成"
  1160. case 6
  1161. ddlb_retrstatus.text="手动完成"
  1162. case -1
  1163. ddlb_retrstatus.text="[所有]"
  1164. end choose
  1165. end event
  1166. type ddlb_scid from uo_ddlb_scid within w_mtrlware_propel_rule
  1167. boolean visible = false
  1168. integer x = 914
  1169. integer y = 192
  1170. integer width = 539
  1171. integer height = 620
  1172. integer taborder = 20
  1173. boolean bringtotop = true
  1174. end type
  1175. event constructor;call super::constructor;cur_scid=this.uo_scid
  1176. end event
  1177. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1178. parent.triggerevent("retrieve_pageretr")
  1179. end event
  1180. type st_2 from statictext within w_mtrlware_propel_rule
  1181. boolean visible = false
  1182. integer x = 750
  1183. integer y = 204
  1184. integer width = 151
  1185. integer height = 48
  1186. integer textsize = -9
  1187. integer weight = 400
  1188. fontcharset fontcharset = gb2312charset!
  1189. fontpitch fontpitch = variable!
  1190. string facename = "宋体"
  1191. long textcolor = 33554432
  1192. long backcolor = 134217739
  1193. string text = "分部"
  1194. alignment alignment = right!
  1195. boolean focusrectangle = false
  1196. end type
  1197. type cb_propel from uo_imflatbutton within w_mtrlware_propel_rule
  1198. integer x = 827
  1199. integer width = 251
  1200. integer height = 164
  1201. integer taborder = 210
  1202. boolean bringtotop = true
  1203. string text = "推送"
  1204. string normalpicname = "update.BMP"
  1205. integer picsize = 16
  1206. toolbaralignment pic_align = alignattop!
  1207. boolean border = false
  1208. end type
  1209. event clicked;call super::clicked;If Not uo_power_spi.uf_power_ind(3358,sys_msg_pow) Then
  1210. MessageBox(publ_operator,sys_msg_pow)
  1211. Return
  1212. End If
  1213. If dw_edit_mode Then
  1214. MessageBox('系统提示','编辑状态下不能推送')
  1215. Return
  1216. End If
  1217. If MessageBox('确定','是否确定要按当前选中的策略推送库存?',question!,yesno!) = 2 Then Return
  1218. Long ll_row
  1219. Long ll_storageid,ll_ruleid
  1220. String ls_handtypestr,ls_rulestr
  1221. Long ll_i,ll_j
  1222. Long ll_cusid,ll_ifmatch
  1223. String ls_commcode,ls_commsccode
  1224. Long ll_receivecuscommid,ll_sendcuscommid
  1225. Long ll_cnt_ware
  1226. s_mtrlware_ljfieb s_mtrlware[]
  1227. String arg_msg_tmp,arg_msg
  1228. String ls_cuscode
  1229. Long ll_fail,ll_suc
  1230. int li_custype
  1231. ll_row = dw_pageretr.GetRow()
  1232. If ll_row <= 0 Then
  1233. MessageBox('系统提示','请先选择推送策略')
  1234. Return
  1235. End If
  1236. ll_ruleid = dw_pageretr.Object.ruleid[ll_row]
  1237. ll_storageid = dw_pageretr.Object.storageid[ll_row]
  1238. ls_handtypestr = dw_pageretr.Object.u_mtrlware_propel_rule_handtypestr[ll_row]
  1239. ls_rulestr = dw_pageretr.Object.rulestr[ll_row]
  1240. tr_eb_sqlca = sys_email_sqlca // 电子商务连接
  1241. uo_ljfieb uo_fieb
  1242. uo_fieb = Create uo_ljfieb
  1243. uo_fieb.commit_transaction = tr_eb_sqlca
  1244. datastore ds_mtrlware
  1245. ds_mtrlware = Create datastore
  1246. ds_mtrlware.DataObject = 'ds_mtrlware_propel_list'
  1247. ds_mtrlware.SetTransObject(sqlca)
  1248. datastore ds_rulemx
  1249. ds_rulemx = Create datastore
  1250. ds_rulemx.DataObject = 'dw_mtrlware_propel_rule_mx_edit'
  1251. ds_rulemx.SetTransObject(sqlca)
  1252. Select CusCommID
  1253. Into :ll_sendcuscommid
  1254. From LJFIEB_CusComm
  1255. Where CusType = 0 Using tr_eb_sqlca;
  1256. If tr_eb_sqlca.SQLCode <> 0 Then
  1257. MessageBox('Error','查询本公司企业编号失败,'+tr_eb_sqlca.SQLErrText)
  1258. Return
  1259. End If
  1260. ds_rulemx.Retrieve(ll_ruleid)
  1261. For ll_i = 1 To ds_rulemx.RowCount()
  1262. ll_cusid = ds_rulemx.Object.cusid[ll_i]
  1263. ll_ifmatch = ds_rulemx.Object.u_mtrlware_propel_rule_mx_ifmatch[ll_i]
  1264. ls_commcode = ds_rulemx.Object.commcode[ll_i]
  1265. ls_commsccode = ds_rulemx.Object.commsccode[ll_i]
  1266. ls_cuscode = ds_rulemx.Object.cuscode[ll_i]
  1267. Select CusCommID,custype
  1268. Into :ll_receivecuscommid,:li_custype
  1269. From LJFIEB_CusComm
  1270. Where cuscode = :ls_commcode Using tr_eb_sqlca;
  1271. If tr_eb_sqlca.SQLCode <> 0 Then
  1272. ll_receivecuscommid = 0
  1273. End If
  1274. if li_custype = 5 then
  1275. ll_ifmatch = 0
  1276. end if
  1277. if ds_mtrlware.Retrieve(ll_storageid,ls_handtypestr,ll_cusid,ll_ifmatch) < 0 then
  1278. arg_msg = arg_msg + '第'+String(ll_i)+'行,客户:'+ls_cuscode+',查询库存数据失败~r~n'
  1279. ll_fail++
  1280. Continue
  1281. end if
  1282. ds_mtrlware.SetFilter(ls_rulestr)
  1283. ds_mtrlware.Filter()
  1284. ll_cnt_ware = 0
  1285. For ll_j = 1 To ds_mtrlware.RowCount()
  1286. ll_cnt_ware++
  1287. s_mtrlware[ll_cnt_ware].scid = ds_mtrlware.Object.u_mtrlware_scid[ll_j]
  1288. s_mtrlware[ll_cnt_ware].mtrlwareid = ds_mtrlware.Object.u_mtrlware_mtrlwareid[ll_j]
  1289. s_mtrlware[ll_cnt_ware].mtrlid = ds_mtrlware.Object.u_mtrlware_mtrlid[ll_j]
  1290. s_mtrlware[ll_cnt_ware].storagename = ds_mtrlware.Object.u_storage_storagename[ll_j]
  1291. s_mtrlware[ll_cnt_ware].status = ds_mtrlware.Object.u_mtrlware_status[ll_j]
  1292. s_mtrlware[ll_cnt_ware].woodcode = ds_mtrlware.Object.u_mtrlware_woodcode[ll_j]
  1293. s_mtrlware[ll_cnt_ware].pcode = ds_mtrlware.Object.u_mtrlware_pcode[ll_j]
  1294. s_mtrlware[ll_cnt_ware].plancode = ds_mtrlware.Object.u_mtrlware_plancode[ll_j]
  1295. // s_mtrlware[ll_cnt_ware].mtrlcuscode = ds_mtrlware.Object.u_mtrlware_mtrlcuscode[ll_j]
  1296. // s_mtrlware[ll_cnt_ware].Location = ds_mtrlware.Object.u_mtrlware_location[ll_j]
  1297. // s_mtrlware[ll_cnt_ware].notauditnoallocqty = ds_mtrlware.Object.notauditnoallocqty[ll_j]
  1298. s_mtrlware[ll_cnt_ware].mtrlcode = ds_mtrlware.Object.u_mtrldef_mtrlcode[ll_j]
  1299. s_mtrlware[ll_cnt_ware].mtrlname = ds_mtrlware.Object.u_mtrldef_mtrlname[ll_j]
  1300. Next
  1301. If ll_cnt_ware > 0 Then
  1302. If uo_fieb.send_mtrlware(ll_sendcuscommid,'',ll_receivecuscommid,ls_commsccode,s_mtrlware,arg_msg_tmp,True) = 0 Then
  1303. arg_msg = arg_msg + '第'+String(ll_i)+'行,客户:'+ls_cuscode+',提交库存数据失败,'+arg_msg_tmp + '~r~n'
  1304. ll_fail++
  1305. Continue
  1306. End If
  1307. ELSE
  1308. arg_msg = arg_msg + '第'+String(ll_i)+'行,客户:'+ls_cuscode+',没有库存数据~r~n'
  1309. ll_fail++
  1310. Continue
  1311. End If
  1312. ll_suc++
  1313. Next
  1314. Destroy uo_fieb
  1315. Destroy ds_mtrlware
  1316. Destroy ds_rulemx
  1317. MessageBox(publ_operator,'提交资料完成!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  1318. If ll_fail > 0 Then
  1319. OpenWithParm(w_message_err,arg_msg)
  1320. End If
  1321. end event