w_saletask_fx_cp.srw 91 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161
  1. $PBExportHeader$w_saletask_fx_cp.srw
  2. $PBExportComments$分销系统--销售订单页
  3. forward
  4. global type w_saletask_fx_cp from w_publ_base_style
  5. end type
  6. type dw_saletask_list from u_dw_rbtnfilter within w_saletask_fx_cp
  7. end type
  8. type dw_saletask from datawindow within w_saletask_fx_cp
  9. end type
  10. type tab_1 from tab within w_saletask_fx_cp
  11. end type
  12. type tabpage_1 from userobject within tab_1
  13. end type
  14. type cb_7 from commandbutton within tabpage_1
  15. end type
  16. type dw_saletaskmx from u_dw_rbtnfilter within tabpage_1
  17. end type
  18. type tabpage_1 from userobject within tab_1
  19. cb_7 cb_7
  20. dw_saletaskmx dw_saletaskmx
  21. end type
  22. type tabpage_2 from userobject within tab_1
  23. end type
  24. type cb_1 from commandbutton within tabpage_2
  25. end type
  26. type dw_fx_outware_badqc from u_dw_rbtnfilter within tabpage_2
  27. end type
  28. type dw_outware_log from u_dw_rbtnfilter within tabpage_2
  29. end type
  30. type tabpage_2 from userobject within tab_1
  31. cb_1 cb_1
  32. dw_fx_outware_badqc dw_fx_outware_badqc
  33. dw_outware_log dw_outware_log
  34. end type
  35. type tabpage_3 from userobject within tab_1
  36. end type
  37. type cb_qty_ready_copy from commandbutton within tabpage_3
  38. end type
  39. type cb_quit_qty_ready from commandbutton within tabpage_3
  40. end type
  41. type cb_edit_qty_ready from commandbutton within tabpage_3
  42. end type
  43. type st_split from u_lbs_stsplitbar within tabpage_3
  44. end type
  45. type cb_quit_jd from commandbutton within tabpage_3
  46. end type
  47. type cb_delrow from commandbutton within tabpage_3
  48. end type
  49. type cb_addrow from commandbutton within tabpage_3
  50. end type
  51. type cb_edit_jd from commandbutton within tabpage_3
  52. end type
  53. type dw_jd from u_dw_rbtnfilter within tabpage_3
  54. end type
  55. type dw_jd_ordermx from u_dw_rbtnfilter within tabpage_3
  56. end type
  57. type tabpage_3 from userobject within tab_1
  58. cb_qty_ready_copy cb_qty_ready_copy
  59. cb_quit_qty_ready cb_quit_qty_ready
  60. cb_edit_qty_ready cb_edit_qty_ready
  61. st_split st_split
  62. cb_quit_jd cb_quit_jd
  63. cb_delrow cb_delrow
  64. cb_addrow cb_addrow
  65. cb_edit_jd cb_edit_jd
  66. dw_jd dw_jd
  67. dw_jd_ordermx dw_jd_ordermx
  68. end type
  69. type tabpage_4 from userobject within tab_1
  70. end type
  71. type dw_barcode from u_dw_rbtnfilter within tabpage_4
  72. end type
  73. type tabpage_4 from userobject within tab_1
  74. dw_barcode dw_barcode
  75. end type
  76. type tab_1 from tab within w_saletask_fx_cp
  77. tabpage_1 tabpage_1
  78. tabpage_2 tabpage_2
  79. tabpage_3 tabpage_3
  80. tabpage_4 tabpage_4
  81. end type
  82. type st_1 from statictext within w_saletask_fx_cp
  83. end type
  84. type ddlb_status from dropdownlistbox within w_saletask_fx_cp
  85. end type
  86. type st_2 from statictext within w_saletask_fx_cp
  87. end type
  88. type em_datea from editmask within w_saletask_fx_cp
  89. end type
  90. type st_3 from statictext within w_saletask_fx_cp
  91. end type
  92. type em_datez from editmask within w_saletask_fx_cp
  93. end type
  94. type st_4 from statictext within w_saletask_fx_cp
  95. end type
  96. type sle_likestr from u_sleedit within w_saletask_fx_cp
  97. end type
  98. type cb_toppage from uo_imflatbutton within w_saletask_fx_cp
  99. end type
  100. type cb_page_ch from uo_imflatbutton within w_saletask_fx_cp
  101. end type
  102. type em_pagesize from editmask within w_saletask_fx_cp
  103. end type
  104. type cb_outware from uo_imflatbutton within w_saletask_fx_cp
  105. end type
  106. type cb_retrieve from uo_imflatbutton within w_saletask_fx_cp
  107. end type
  108. type cb_print from uo_imflatbutton within w_saletask_fx_cp
  109. end type
  110. type cb_2 from uo_imflatbutton within w_saletask_fx_cp
  111. end type
  112. type cb_file from uo_imflatbutton within w_saletask_fx_cp
  113. end type
  114. type st_5 from statictext within w_saletask_fx_cp
  115. end type
  116. type cb_3 from commandbutton within w_saletask_fx_cp
  117. end type
  118. type cb_4 from commandbutton within w_saletask_fx_cp
  119. end type
  120. type cb_5 from uo_imflatbutton within w_saletask_fx_cp
  121. end type
  122. type cb_6 from uo_imflatbutton within w_saletask_fx_cp
  123. end type
  124. type cbx_all from checkbox within w_saletask_fx_cp
  125. end type
  126. type cb_8 from uo_imflatbutton within w_saletask_fx_cp
  127. end type
  128. end forward
  129. global type w_saletask_fx_cp from w_publ_base_style
  130. integer width = 4713
  131. integer height = 2756
  132. string title = "成品采购订单"
  133. boolean maxbox = true
  134. boolean resizable = true
  135. long backcolor = 16777215
  136. string icon = "graphics\chain_link_128px.ico"
  137. event ue_preview_all ( )
  138. event ue_preview_choice ( )
  139. event ue_print_all ( )
  140. event ue_print_choice ( )
  141. dw_saletask_list dw_saletask_list
  142. dw_saletask dw_saletask
  143. tab_1 tab_1
  144. st_1 st_1
  145. ddlb_status ddlb_status
  146. st_2 st_2
  147. em_datea em_datea
  148. st_3 st_3
  149. em_datez em_datez
  150. st_4 st_4
  151. sle_likestr sle_likestr
  152. cb_toppage cb_toppage
  153. cb_page_ch cb_page_ch
  154. em_pagesize em_pagesize
  155. cb_outware cb_outware
  156. cb_retrieve cb_retrieve
  157. cb_print cb_print
  158. cb_2 cb_2
  159. cb_file cb_file
  160. st_5 st_5
  161. cb_3 cb_3
  162. cb_4 cb_4
  163. cb_5 cb_5
  164. cb_6 cb_6
  165. cbx_all cbx_all
  166. cb_8 cb_8
  167. end type
  168. global w_saletask_fx_cp w_saletask_fx_cp
  169. type variables
  170. long ins_cur_pageNum = 1 // 用于记录当前页码
  171. long ins_totalPages = 1 // 用于记录总页数
  172. datawindow dw_saletaskmx // 订单明细
  173. datawindow dw_barcode // 条码明细
  174. datawindow dw_jd_ordermx // 工组进度左表
  175. datawindow dw_jd // 工组进度右表
  176. datawindow dw_outware_log, dw_fx_outware_badqc // 发货记录
  177. datastore ins_ds_jd
  178. boolean edit_jd = false // 工组进度编辑状态
  179. boolean edit_qty_ready = false // 已分配数编辑状态
  180. s_fx_wrkgrp_jd ins_s_jds_del // 用于存放需要删除的进度ID
  181. end variables
  182. forward prototypes
  183. public function integer wf_retrieve_saletask ()
  184. public function integer wf_retrieve_saletaskmx (readonly long arg_taskid)
  185. public function integer wf_retrieve_jd ()
  186. public function integer wf_save_jd ()
  187. public function integer wf_retrieve_outwarelog ()
  188. public subroutine wf_face ()
  189. public subroutine wf_init_split ()
  190. public function integer wf_save_qty_ready ()
  191. public subroutine wf_copy_qty_ready (long a_mode)
  192. public subroutine wf_retrieve_badqc ()
  193. public function integer wf_retrieve_barcode ()
  194. end prototypes
  195. event ue_preview_all();String ls_barcode,arg_msg
  196. Long ls_row,i,ll_taskid,ll_mx_row
  197. ls_row = dw_saletask_list.GetRow()
  198. If ls_row <= 0 Then
  199. MessageBox('no','没有打印目标单据!')
  200. Return
  201. End If
  202. ll_taskid = dw_saletask_list.Object.taskid[ls_row]
  203. ll_mx_row = dw_barcode.RowCount()
  204. If ll_mx_row <= 0 Then
  205. MessageBox('no','目标单据没有条码明细!')
  206. Return
  207. End If
  208. datastore ds_barcode
  209. ds_barcode = Create datastore
  210. ds_barcode.DataObject = 'dw_rp_barcode_bill_data'
  211. Long mx_row
  212. For i = 1 To ll_mx_row
  213. If dw_barcode.Object.taskid[i] <> ll_taskid Then Continue
  214. mx_row = ds_barcode.InsertRow(0)
  215. ds_barcode.Object.taskid[mx_row] = dw_barcode.Object.taskid[i]
  216. ds_barcode.Object.printid[mx_row] = dw_barcode.Object.printid[i]
  217. ds_barcode.Object.barcode[mx_row] = '*' + dw_barcode.Object.barcode[i] + '*'
  218. ds_barcode.Object.taskcode[mx_row] = dw_barcode.Object.taskcode[i]
  219. ds_barcode.Object.mtrlcode[mx_row] = dw_barcode.Object.mtrlcode[i]
  220. ds_barcode.Object.mtrlname[mx_row] = dw_barcode.Object.mtrlname[i]
  221. ds_barcode.Object.mtrlmode[mx_row] = dw_barcode.Object.mtrlmode[i]
  222. ds_barcode.Object.status[mx_row] = dw_barcode.Object.status[i]
  223. ds_barcode.Object.woodcode[mx_row] = dw_barcode.Object.woodcode[i]
  224. ds_barcode.Object.pcode[mx_row] = dw_barcode.Object.pcode[i]
  225. ds_barcode.Object.qty[mx_row] = dw_barcode.Object.qty[i]
  226. ds_barcode.Object.packqty[mx_row] = dw_barcode.Object.packqty[i]
  227. ds_barcode.Object.printnum[mx_row] = dw_barcode.Object.printnum[i]
  228. Next
  229. S_print_MSG LS_PRMSG
  230. LS_PRMSG.obj_dwNAME = 'dw_rp_barcode_bill'
  231. LS_PRMSG.SHARE_DW = ds_barcode
  232. LS_PRMSG.TAG_TEXT = '成品采购订单条码'
  233. LS_PRMSG.SETUP_FLAG = 0
  234. LS_PRMSG.PAGECH_FLAG = 1
  235. OpenWithParm(w_publ_preview,LS_PRMSG)
  236. printnum = Message.DoubleParm
  237. oleobject lo_request,lo_mx,mxItem
  238. int li_row
  239. lo_mx = FXAppCom.CreArrOfPbDictionary()
  240. For li_row = 1 To ll_mx_row
  241. mxItem = FXAppcom.CreatePbDictionary()
  242. mxItem.SetInt('taskid', dw_barcode.Object.taskid[li_row])
  243. mxItem.SetInt('printid', dw_barcode.Object.printid[li_row])
  244. mxItem.SetString('barcode', dw_barcode.Object.barcode[li_row])
  245. mxItem.SetInt('printnum', printnum)
  246. lo_mx.Add(mxItem)
  247. next
  248. lo_request = FXAppCom.CreatePbDictionary()
  249. lo_request.SetObject("barcodeList", lo_mx)
  250. lo_request.SetString("token", app_token_fx)
  251. oleobject lo_rsp
  252. lo_rsp = FXAppCom.DoExecute("UpdateFxSaletaskBuyBarcodePrintnum", lo_request)
  253. arg_msg = lo_rsp.GetString("ErrMsg")
  254. If arg_msg <> '' Then
  255. arg_msg = '更新条码打印次数失败:' + arg_msg
  256. MessageBox('提示', arg_msg)
  257. Else
  258. wf_retrieve_barcode()
  259. If printnum > 0 Then
  260. MessageBox('系统提示','打印成功' + String(printnum) + '次')
  261. End If
  262. End If
  263. end event
  264. event ue_preview_choice();String ls_barcode,arg_msg
  265. Long ls_row,i,ll_taskid,ll_mx_row
  266. ls_row = dw_saletask_list.GetRow()
  267. If ls_row <= 0 Then
  268. MessageBox('no','没有打印目标单据!')
  269. Return
  270. End If
  271. ll_taskid = dw_saletask_list.Object.taskid[ls_row]
  272. ll_mx_row = dw_barcode.RowCount()
  273. If ll_mx_row <= 0 Then
  274. MessageBox('no','目标单据没有条码明细!')
  275. Return
  276. End If
  277. Long ll_i,cnt
  278. cnt = 0
  279. For ll_i = 1 To ll_mx_row
  280. If dw_barcode.Object.ch[ll_i] <> 0 Then
  281. cnt ++
  282. End If
  283. Next
  284. If cnt <= 0 Then
  285. MessageBox('no','目标单据没有选中条码明细!')
  286. Return
  287. End If
  288. datastore ds_barcode
  289. ds_barcode = Create datastore
  290. ds_barcode.DataObject = 'dw_rp_barcode_bill_data'
  291. Long mx_row,if_ch
  292. For i = 1 To ll_mx_row
  293. If dw_barcode.Object.taskid[i] <> ll_taskid Then Continue
  294. If dw_barcode.Object.ch[i] <> 1 Then Continue
  295. mx_row = ds_barcode.InsertRow(0)
  296. ds_barcode.Object.taskid[mx_row] = dw_barcode.Object.taskid[i]
  297. ds_barcode.Object.printid[mx_row] = dw_barcode.Object.printid[i]
  298. ds_barcode.Object.barcode[mx_row] = '*' + dw_barcode.Object.barcode[i] + '*'
  299. ds_barcode.Object.taskcode[mx_row] = dw_barcode.Object.taskcode[i]
  300. ds_barcode.Object.mtrlcode[mx_row] = dw_barcode.Object.mtrlcode[i]
  301. ds_barcode.Object.mtrlname[mx_row] = dw_barcode.Object.mtrlname[i]
  302. ds_barcode.Object.mtrlmode[mx_row] = dw_barcode.Object.mtrlmode[i]
  303. ds_barcode.Object.status[mx_row] = dw_barcode.Object.status[i]
  304. ds_barcode.Object.woodcode[mx_row] = dw_barcode.Object.woodcode[i]
  305. ds_barcode.Object.pcode[mx_row] = dw_barcode.Object.pcode[i]
  306. ds_barcode.Object.qty[mx_row] = dw_barcode.Object.qty[i]
  307. ds_barcode.Object.packqty[mx_row] = dw_barcode.Object.packqty[i]
  308. ds_barcode.Object.printnum[mx_row] = dw_barcode.Object.printnum[i]
  309. Next
  310. S_print_MSG LS_PRMSG
  311. LS_PRMSG.obj_dwNAME = 'dw_rp_barcode_bill'
  312. LS_PRMSG.SHARE_DW = ds_barcode
  313. LS_PRMSG.TAG_TEXT = '成品采购订单条码'
  314. LS_PRMSG.SETUP_FLAG = 0
  315. LS_PRMSG.PAGECH_FLAG = 1
  316. OpenWithParm(w_publ_preview,LS_PRMSG)
  317. printnum = Message.DoubleParm
  318. oleobject lo_request,lo_mx,mxItem
  319. int li_row
  320. lo_mx = FXAppCom.CreArrOfPbDictionary()
  321. For li_row = 1 To ll_mx_row
  322. If dw_barcode.Object.ch[li_row] <> 1 Then Continue
  323. mxItem = FXAppcom.CreatePbDictionary()
  324. mxItem.SetInt('taskid', dw_barcode.Object.taskid[li_row])
  325. mxItem.SetInt('printid', dw_barcode.Object.printid[li_row])
  326. mxItem.SetString('barcode', dw_barcode.Object.barcode[li_row])
  327. mxItem.SetInt('printnum', printnum)
  328. lo_mx.Add(mxItem)
  329. next
  330. lo_request = FXAppCom.CreatePbDictionary()
  331. lo_request.SetObject("barcodeList", lo_mx)
  332. lo_request.SetString("token", app_token_fx)
  333. oleobject lo_rsp
  334. lo_rsp = FXAppCom.DoExecute("UpdateFxSaletaskBuyBarcodePrintnum", lo_request)
  335. arg_msg = lo_rsp.GetString("ErrMsg")
  336. If arg_msg <> '' Then
  337. MessageBox('提示', arg_msg)
  338. Else
  339. wf_retrieve_barcode()
  340. If printnum > 0 Then
  341. MessageBox('系统提示','打印成功' + String(printnum) + '次')
  342. End If
  343. End If
  344. end event
  345. event ue_print_all();String ls_barcode,arg_msg
  346. Long ls_row,i,ll_taskid,ll_mx_row
  347. uo_print_preview uo_print
  348. If MessageBox ("if","是否确定要打印当前单据所有条码吗?",question!,yesno! ) = 2 Then Return
  349. ls_row = dw_saletask_list.GetRow()
  350. If ls_row <= 0 Then
  351. MessageBox('no','没有打印目标单据!')
  352. Return
  353. End If
  354. ll_taskid = dw_saletask_list.Object.taskid[ls_row]
  355. ll_mx_row = dw_barcode.RowCount()
  356. If ll_mx_row <= 0 Then
  357. MessageBox('no','目标单据没有条码明细!')
  358. Return
  359. End If
  360. datastore ds_barcode
  361. ds_barcode = Create datastore
  362. ds_barcode.DataObject = 'dw_rp_barcode_bill_data'
  363. Long mx_row
  364. For i = 1 To ll_mx_row
  365. If dw_barcode.Object.taskid[i] <> ll_taskid Then Continue
  366. mx_row = ds_barcode.InsertRow(0)
  367. ds_barcode.Object.taskid[mx_row] = dw_barcode.Object.taskid[i]
  368. ds_barcode.Object.printid[mx_row] = dw_barcode.Object.printid[i]
  369. ds_barcode.Object.barcode[mx_row] = '*' + dw_barcode.Object.barcode[i] + '*'
  370. ds_barcode.Object.taskcode[mx_row] = dw_barcode.Object.taskcode[i]
  371. ds_barcode.Object.mtrlcode[mx_row] = dw_barcode.Object.mtrlcode[i]
  372. ds_barcode.Object.mtrlname[mx_row] = dw_barcode.Object.mtrlname[i]
  373. ds_barcode.Object.mtrlmode[mx_row] = dw_barcode.Object.mtrlmode[i]
  374. ds_barcode.Object.status[mx_row] = dw_barcode.Object.status[i]
  375. ds_barcode.Object.woodcode[mx_row] = dw_barcode.Object.woodcode[i]
  376. ds_barcode.Object.pcode[mx_row] = dw_barcode.Object.pcode[i]
  377. ds_barcode.Object.qty[mx_row] = dw_barcode.Object.qty[i]
  378. ds_barcode.Object.packqty[mx_row] = dw_barcode.Object.packqty[i]
  379. ds_barcode.Object.printnum[mx_row] = dw_barcode.Object.printnum[i]
  380. Next
  381. S_print_MSG LS_PRMSG
  382. LS_PRMSG.obj_dwNAME = 'dw_rp_barcode_bill'
  383. LS_PRMSG.SHARE_DW = ds_barcode
  384. LS_PRMSG.TAG_TEXT = '成品采购订单条码'
  385. LS_PRMSG.SETUP_FLAG = 0
  386. LS_PRMSG.PAGECH_FLAG = 1
  387. uo_print.fact_print_msg = LS_PRMSG
  388. If uo_print.uof_print_begin(arg_msg) = 0 Then
  389. MessageBox("系统提示",arg_msg)
  390. Return
  391. End If
  392. uo_print.ds_print()
  393. printnum = 1
  394. oleobject lo_request,lo_mx,mxItem
  395. int li_row
  396. lo_mx = FXAppCom.CreArrOfPbDictionary()
  397. For li_row = 1 To ll_mx_row
  398. mxItem = FXAppcom.CreatePbDictionary()
  399. mxItem.SetInt('taskid', dw_barcode.Object.taskid[li_row])
  400. mxItem.SetInt('printid', dw_barcode.Object.printid[li_row])
  401. mxItem.SetString('barcode', dw_barcode.Object.barcode[li_row])
  402. mxItem.SetInt('printnum', printnum)
  403. lo_mx.Add(mxItem)
  404. next
  405. lo_request = FXAppCom.CreatePbDictionary()
  406. lo_request.SetObject("barcodeList", lo_mx)
  407. lo_request.SetString("token", app_token_fx)
  408. oleobject lo_rsp
  409. lo_rsp = FXAppCom.DoExecute("UpdateFxSaletaskBuyBarcodePrintnum", lo_request)
  410. arg_msg = lo_rsp.GetString("ErrMsg")
  411. If arg_msg <> '' Then
  412. arg_msg = '更新条码打印次数失败:' + arg_msg
  413. MessageBox('提示', arg_msg)
  414. Else
  415. wf_retrieve_barcode()
  416. If printnum > 0 Then
  417. MessageBox('系统提示','打印成功' + String(printnum) + '次')
  418. End If
  419. End If
  420. end event
  421. event ue_print_choice();String ls_barcode,arg_msg
  422. Long ls_row,i,ll_taskid,ll_mx_row
  423. uo_print_preview uo_print
  424. If MessageBox ("if","是否确定要打印当前单据所选条码吗?",question!,yesno! ) = 2 Then Return
  425. ls_row = dw_saletask_list.GetRow()
  426. If ls_row <= 0 Then
  427. MessageBox('no','没有打印目标单据!')
  428. Return
  429. End If
  430. ll_taskid = dw_saletask_list.Object.taskid[ls_row]
  431. ll_mx_row = dw_barcode.RowCount()
  432. If ll_mx_row <= 0 Then
  433. MessageBox('no','目标单据没有条码明细!')
  434. Return
  435. End If
  436. Long ll_i,cnt
  437. cnt = 0
  438. For ll_i = 1 To ll_mx_row
  439. If dw_barcode.Object.ch[ll_i] <> 0 Then
  440. cnt ++
  441. End If
  442. Next
  443. If cnt <= 0 Then
  444. MessageBox('no','目标单据没有选中条码明细!')
  445. Return
  446. End If
  447. datastore ds_barcode
  448. ds_barcode = Create datastore
  449. ds_barcode.DataObject = 'dw_rp_barcode_bill_data'
  450. Long mx_row,if_ch
  451. For i = 1 To ll_mx_row
  452. If dw_barcode.Object.taskid[i] <> ll_taskid Then Continue
  453. If dw_barcode.Object.ch[i] <> 1 Then Continue
  454. mx_row = ds_barcode.InsertRow(0)
  455. ds_barcode.Object.taskid[mx_row] = dw_barcode.Object.taskid[i]
  456. ds_barcode.Object.printid[mx_row] = dw_barcode.Object.printid[i]
  457. ds_barcode.Object.barcode[mx_row] = '*' + dw_barcode.Object.barcode[i] + '*'
  458. ds_barcode.Object.taskcode[mx_row] = dw_barcode.Object.taskcode[i]
  459. ds_barcode.Object.mtrlcode[mx_row] = dw_barcode.Object.mtrlcode[i]
  460. ds_barcode.Object.mtrlname[mx_row] = dw_barcode.Object.mtrlname[i]
  461. ds_barcode.Object.mtrlmode[mx_row] = dw_barcode.Object.mtrlmode[i]
  462. ds_barcode.Object.status[mx_row] = dw_barcode.Object.status[i]
  463. ds_barcode.Object.woodcode[mx_row] = dw_barcode.Object.woodcode[i]
  464. ds_barcode.Object.pcode[mx_row] = dw_barcode.Object.pcode[i]
  465. ds_barcode.Object.qty[mx_row] = dw_barcode.Object.qty[i]
  466. ds_barcode.Object.packqty[mx_row] = dw_barcode.Object.packqty[i]
  467. ds_barcode.Object.printnum[mx_row] = dw_barcode.Object.printnum[i]
  468. Next
  469. S_print_MSG LS_PRMSG
  470. LS_PRMSG.obj_dwNAME = 'dw_rp_barcode_bill'
  471. LS_PRMSG.SHARE_DW = ds_barcode
  472. LS_PRMSG.TAG_TEXT = '成品采购订单条码'
  473. LS_PRMSG.SETUP_FLAG = 0
  474. LS_PRMSG.PAGECH_FLAG = 1
  475. uo_print.fact_print_msg = LS_PRMSG
  476. If uo_print.uof_print_begin(arg_msg) = 0 Then
  477. MessageBox("系统提示",arg_msg)
  478. Return
  479. End If
  480. uo_print.ds_print()
  481. printnum = 1
  482. oleobject lo_request,lo_mx,mxItem
  483. Int li_row
  484. lo_mx = FXAppCom.CreArrOfPbDictionary()
  485. For li_row = 1 To ll_mx_row
  486. If dw_barcode.Object.ch[li_row] <> 1 Then Continue
  487. mxItem = FXAppCom.CreatePbDictionary()
  488. mxItem.SetInt('taskid', dw_barcode.Object.taskid[li_row])
  489. mxItem.SetInt('printid', dw_barcode.Object.printid[li_row])
  490. mxItem.SetString('barcode', dw_barcode.Object.barcode[li_row])
  491. mxItem.SetInt('printnum', printnum)
  492. lo_mx.Add(mxItem)
  493. Next
  494. lo_request = FXAppCom.CreatePbDictionary()
  495. lo_request.SetObject("barcodeList", lo_mx)
  496. lo_request.SetString("token", app_token_fx)
  497. oleobject lo_rsp
  498. lo_rsp = FXAppCom.DoExecute("UpdateFxSaletaskBuyBarcodePrintnum", lo_request)
  499. arg_msg = lo_rsp.GetString("ErrMsg")
  500. If arg_msg <> '' Then
  501. arg_msg = '更新条码打印次数失败:' + arg_msg
  502. MessageBox('提示', arg_msg)
  503. Else
  504. wf_retrieve_barcode()
  505. If printnum > 0 Then
  506. MessageBox('系统提示','打印成功' + String(printnum) + '次')
  507. End If
  508. End If
  509. end event
  510. public function integer wf_retrieve_saletask ();int rslt = 1
  511. string arg_msg
  512. long pageSize
  513. pageSize = long(em_pagesize.Text)
  514. if (pageSize <= 0) then
  515. rslt = 0
  516. arg_msg = '每页显示行数必须大于0'
  517. em_pagesize.SetFocus( )
  518. em_pagesize.SelectText(1, Len(em_pagesize.Text))
  519. goto ext
  520. end if
  521. long pageNum
  522. pageNum = ins_cur_pageNum
  523. long status
  524. long ll_pos
  525. ll_pos = Pos(ddlb_status.Text, '[')
  526. if (ll_pos <= 0) then
  527. status = -1
  528. else
  529. status = Long(Mid(ddlb_status.Text, ll_pos + 1, Len(ddlb_status.Text) - ll_pos - 1))
  530. end if
  531. datetime dateA, dateZ
  532. dateA = DateTime(Date(em_dateA.Text), Time(0))
  533. dateZ = DateTime(Date(em_dateZ.Text), Time('23:59:59'))
  534. string likeStr
  535. likeStr = Trim(sle_likestr.Text)
  536. oleobject obj,request
  537. //obj = FXAppCom.GetSaletask(app_token_fx, pageSize, pageNum, status, String(dateA), String(dateZ), likeStr, ref arg_msg)
  538. request = FXAppCom.CreatePbDictionary()
  539. request.SetString('token', app_token_fx)
  540. request.SetInt('pageSize', pageSize)
  541. request.SetInt('pageNum', pageNum)
  542. request.SetInt('status', status)
  543. request.SetString('dateA', String(dateA))
  544. request.SetString('dateZ', String(dateZ))
  545. request.SetString('likeStr', likeStr)
  546. request.SetInt('billtype', 1) //成品采购订单
  547. obj = FXAppCom.DoExecute('GetSaletask', request)
  548. arg_msg = obj.GetString('ErrMsg')
  549. if (arg_msg <> '') then
  550. rslt = 0
  551. goto ext
  552. end if
  553. dw_saletask_list.Reset( )
  554. dw_saletask.Reset( )
  555. dw_saletaskmx.Reset( )
  556. dw_saletask_list.SetRedraw(false)
  557. long i, row
  558. any moddate, replyrqdate, replydate, accomplishdate,erpConfirmDate
  559. ins_totalPages = obj.GetInt('totalPages')
  560. oleobject list, item
  561. list = obj.GetArrOfPBDictionary('saletasks')
  562. for i = 1 to list.Count
  563. item = list.GetItem(i - 1)
  564. row = dw_saletask_list.InsertRow(0)
  565. long taskidd
  566. taskidd = item.GetInt('taskid')
  567. dw_saletask_list.Object.taskid[row] = item.GetInt('taskid') // 订单ID int
  568. dw_saletask_list.Object.cuscomid[row] = item.GetInt('cuscomid') // cuscomid int
  569. dw_saletask_list.Object.tid[row] = item.GetString('tid') // 云端订单编号 varchar(50)
  570. dw_saletask_list.Object.taskdate[row] = item.GetDateTime('taskdate') // 下单日期 datetime
  571. dw_saletask_list.Object.cus_rep[row] = item.GetString('cus_rep') // 收货人 varchar(30)
  572. dw_saletask_list.Object.cus_tele[row] = item.GetString('cus_tele') // 联系电话 varchar(100)
  573. dw_saletask_list.Object.cus_address[row] = item.GetString('cus_address') // 收货地址 varchar(255)
  574. dw_saletask_list.Object.freight[row] = item.GetString('freight') // 货运部 varchar(50)
  575. dw_saletask_list.Object.freight_tele[row] = item.GetString('freight_tele') // 货运部电话 varchar(50)
  576. dw_saletask_list.Object.opemp[row] = item.GetString('opemp') // 建立人 varchar(255)
  577. dw_saletask_list.Object.opdate[row] = item.GetDateTime('opdate') // 建立时间 datetime
  578. dw_saletask_list.Object.modemp[row] = item.GetString('modemp') // 修改人 varchar(255)
  579. moddate = item.GetDateTime('moddate') // 修改时间 datetime
  580. if (not IsNull(moddate)) then
  581. dw_saletask_list.Object.moddate[row] = moddate
  582. end if
  583. dw_saletask_list.Object.buyer_name[row] = item.GetString('buyer_name') // 客户名称 varchar(30)
  584. dw_saletask_list.Object.buyer_tele[row] = item.GetString('buyer_tele') // 客户电话 varchar(100)
  585. dw_saletask_list.Object.requiredate[row] = item.GetDateTime('requiredate') // 要求交期 datetime
  586. dw_saletask_list.Object.temp1[row] = item.GetString('temp1') // 备注 dscrp varchar(255)
  587. dw_saletask_list.Object.temp2[row] = item.GetString('temp2') // 生产备注 dscrp2 varchar(255)
  588. dw_saletask_list.Object.temp3[row] = item.GetString('temp3') // 辅助备注 dscrp3 varchar(255)
  589. dw_saletask_list.Object.temp4[row] = item.GetString('temp4') // 自定义4 varchar(255)
  590. dw_saletask_list.Object.temp5[row] = item.GetString('temp5') // 自定义5 varchar(255)
  591. dw_saletask_list.Object.temp6[row] = item.GetString('temp6') // 自定义6 varchar(255)
  592. dw_saletask_list.Object.price_emp[row] = item.GetString('price_emp') // 报价人 varchar(255)
  593. replyrqdate = item.GetDateTime('replyrqdate') // 回复交期 datetime
  594. if (not IsNull(replyrqdate)) then
  595. dw_saletask_list.Object.replyrqdate[row] = replyrqdate
  596. end if
  597. dw_saletask_list.Object.replydscrp[row] = item.GetString('replydscrp') // 审核意见 varchar(255)
  598. replydate = item.GetDateTime('replydate') // 回复时间 datetime
  599. if (not IsNull(replydate)) then
  600. dw_saletask_list.Object.replydate[row] = item.GetDateTime('replydate')
  601. end if
  602. dw_saletask_list.Object.confirmemp[row] = item.GetString('confirmemp') // 下单人 varchar(255)
  603. dw_saletask_list.Object.confirmdate[row] = item.GetDateTime('confirmdate') // 下单时间 datetime
  604. dw_saletask_list.Object.status[row] = item.GetInt('status') // 订单状态 tinyint
  605. dw_saletask_list.Object.taskcode[row] = item.GetString('taskcode') // ERP订单编号 varchar(30)
  606. dw_saletask_list.Object.outwarecode[row] = item.GetString('outwarecode') // ERP发货单编号 varchar(30)
  607. dw_saletask_list.Object.fstatus[row] = item.GetInt('fstatus') // 工厂进度 int
  608. dw_saletask_list.Object.myrelcode[row] = item.GetString('relcode') // 分销企业在ERP企业内的编号
  609. dw_saletask_list.Object.daynum[row] = item.GetInt('daynum')//延期列
  610. accomplishdate = item.GetDateTime('accomplishdate')
  611. if (not isNull(accomplishdate)) then
  612. dw_saletask_list.Object.accomplishdate[row] = item.GetDateTime('accomplishdate') // 完成时间 datetime
  613. end if
  614. dw_saletask_list.Object.erpConfirmEmp[row] = item.GetString('erpConfirmEmp') // 接收人
  615. erpConfirmDate = item.GetDateTime('erpConfirmDate')
  616. if (not isNull(erpConfirmDate)) then
  617. dw_saletask_list.Object.erpConfirmDate[row] = erpConfirmDate // 接收时间 datetime
  618. end if
  619. dw_saletask_list.Object.mtfj_status[row] = item.GetString('mtfj_status') // 唛头附件状态
  620. next
  621. dw_saletask_list.SetRedraw(true)
  622. //if (arg_msg <> '') then
  623. // rslt = 0
  624. // goto ext
  625. //end if
  626. if dw_saletask_list.RowCount() > 0 then
  627. wf_retrieve_barcode()
  628. end if
  629. ext:
  630. if (rslt = 1) then
  631. if (dw_saletask_list.RowCount() > 0) then
  632. dw_saletask_list.SelectRow(0, false)
  633. dw_saletask_list.SelectRow(1, true)
  634. dw_saletask_list.SetRow(1)
  635. dw_saletask_list.post event RowFocusChanged(1)
  636. end if
  637. else
  638. MessageBox('提示', arg_msg)
  639. end if
  640. return rslt
  641. end function
  642. public function integer wf_retrieve_saletaskmx (readonly long arg_taskid);int rslt = 1
  643. if (IsNull(arg_taskid)) then return 0
  644. string arg_msg = ''
  645. oleobject list,request,response
  646. request = FXAppCom.CreatePbDictionary()
  647. request.SetString("token",app_token_fx)
  648. request.SetInt("taskid",arg_taskid)
  649. response = FXAppCom.DoExecute("GetSaletaskmx", request)
  650. if (arg_msg <> '') then
  651. rslt = 0
  652. MessageBox('提示', '获取订单明细有误:' + arg_msg)
  653. goto ext
  654. end if
  655. list = response.GetArrOfPBDictionary('mxs')
  656. // 订单明细
  657. dw_saletaskmx.Reset( )
  658. dw_saletaskmx.SetRedraw(false)
  659. long i
  660. any requiredate
  661. oleobject item
  662. IF ISNULL(list) THEN
  663. return rslt
  664. END IF
  665. for i = 1 to list.Count
  666. item = list.GetItem(i - 1)
  667. dw_saletaskmx.Object.taskid[i] = item.GetInt('taskid')
  668. dw_saletaskmx.Object.printid[i] = item.GetInt('printid')
  669. dw_saletaskmx.Object.mxcode[i] = item.GetString('mxcode')
  670. dw_saletaskmx.Object.fxmtrlid[i] = item.GetInt('fxmtrlid')
  671. dw_saletaskmx.Object.mtrlid[i] = item.GetInt('mtrlid')
  672. dw_saletaskmx.Object.mtrlcode[i] = item.GetString('mtrlcode')
  673. dw_saletaskmx.Object.mtrlname[i] = item.GetString('mtrlname')
  674. dw_saletaskmx.Object.mtrlmode[i] = item.GetString('mtrlmode')
  675. dw_saletaskmx.Object.status[i] = item.GetString('status')
  676. dw_saletaskmx.Object.woodcode[i] = item.GetString('woodcode')
  677. dw_saletaskmx.Object.pcode[i] = item.GetString('pcode')
  678. dw_saletaskmx.Object.qty[i] = item.GetDouble('qty')
  679. dw_saletaskmx.Object.qty_wait[i] = item.GetDouble('qtyWait')
  680. dw_saletaskmx.Object.cus_receiveqty[i] = item.GetDouble('cus_receiveqty')
  681. dw_saletaskmx.Object.price[i] = item.GetDouble('price')
  682. dw_saletaskmx.Object.mxdscrp[i] = item.GetString('mxdscrp')
  683. dw_saletaskmx.Object.mxdscrp2[i] = item.GetString('mxdscrp2')
  684. dw_saletaskmx.Object.mtrlcuscode[i] = item.GetString('mtrlcuscode')
  685. dw_saletaskmx.Object.plancode[i] = item.GetString('plancode')
  686. dw_saletaskmx.Object.cus_mtrldef_senddays[i] = item.GetDouble('cus_mtrldef_senddays')
  687. dw_saletaskmx.SetItem(i, 'earliestsenddate', item.GetDateTime('earliestSendDate'))
  688. requiredate = item.GetDateTime('requiredate')
  689. if (not IsNull(requiredate)) then
  690. dw_saletaskmx.Object.requiredate[i] = requiredate
  691. end if
  692. dw_saletaskmx.Object.qty_ready[i] = item.GetDouble('qty_ready')
  693. dw_saletaskmx.Object.sptflagstr[i] = item.GetString('sptFlagStr')
  694. dw_saletaskmx.Object.date_confirm_flag[i] = item.GetInt('date_confirm_flag')
  695. dw_saletaskmx.Object.stopQty[i] = item.GetDouble('stopQty')
  696. dw_saletaskmx.Object.stopEmp[i] = item.GetString('stopEmp')
  697. IF NOT IsNull(item.GetDateTime('stopDate')) THEN
  698. dw_saletaskmx.Object.stopDate[i] = item.GetDateTime('stopDate')
  699. END IF
  700. dw_saletaskmx.Object.stopReason[i] = item.GetString('stopReason')
  701. dw_saletaskmx.Object.gydscrp[i] = item.GetString('gydscrp')
  702. dw_saletaskmx.Object.order_mtrlname_str[i] = item.GetString('order_mtrlname_str')
  703. dw_saletaskmx.Object.saletask_mxid[i] = item.GetInt('saletask_mxid')
  704. dw_saletaskmx.Object.finishqty[i] = item.GetDouble('finishqty')
  705. dw_saletaskmx.Object.nofinishqty[i] = item.GetDouble('nofinishqty')
  706. dw_saletaskmx.Object.check_passqty[i] = item.GetDouble('check_passqty')
  707. dw_saletaskmx.Object.checktype_fxstr[i] = item.GetString('checktype_fxStr')
  708. dw_saletaskmx.Object.checktype_fx[i] = item.GetInt('checktype_fx')
  709. dw_saletaskmx.Object.address[i] = item.GetString('address')
  710. dw_saletaskmx.Object.l1unit[i] = item.GetString('L1unit')
  711. next
  712. dw_saletaskmx.AcceptText()
  713. dw_saletaskmx.SetSort('printid')
  714. dw_saletaskmx.Sort()
  715. dw_saletaskmx.SetRedraw(true)
  716. // 工组进度 左侧dw
  717. dw_jd_ordermx.Reset()
  718. dw_jd_ordermx.SetRedraw(false)
  719. for i = 1 to dw_saletaskmx.RowCount()
  720. dw_jd_ordermx.Object.taskid[i] = dw_saletaskmx.Object.taskid[i]
  721. dw_jd_ordermx.Object.printid[i] = dw_saletaskmx.Object.printid[i]
  722. dw_jd_ordermx.Object.mtrlcode[i] = dw_saletaskmx.Object.mtrlcode[i]
  723. dw_jd_ordermx.Object.mtrlname[i] = dw_saletaskmx.Object.mtrlname[i]
  724. dw_jd_ordermx.Object.qty[i] = dw_saletaskmx.Object.qty[i]
  725. dw_jd_ordermx.Object.qty_ready[i] = dw_saletaskmx.Object.qty_ready[i]
  726. dw_jd_ordermx.Object.mtrlcuscode[i] = dw_saletaskmx.Object.mtrlcuscode[i]
  727. dw_jd_ordermx.Object.plancode[i] = dw_saletaskmx.Object.plancode[i]
  728. next
  729. if (dw_jd_ordermx.RowCount() > 0) then
  730. dw_jd_ordermx.SelectRow(0, false)
  731. dw_jd_ordermx.SelectRow(1, true)
  732. end if
  733. dw_jd_ordermx.SetRedraw(true)
  734. if (f_find_fx_user_power(31, ref arg_msg) <> 1) then // 31-采购订单查看(单价)
  735. dw_saletaskmx.Modify('destroy price_t ~r~n destroy price ~r~n')
  736. end if
  737. ext:
  738. return rslt
  739. end function
  740. public function integer wf_retrieve_jd ();int rslt = 1
  741. if tab_1.control[tab_1.SelectedTab].text <> '进度' then goto ext // 当前tab不是工组进度,跳出
  742. dw_jd.Reset()
  743. string arg_msg
  744. long row, taskid
  745. row = dw_saletask_list.GetRow()
  746. if IsNull(row) then goto ext
  747. if (row <= 0) then goto ext
  748. taskid = dw_saletask_list.Object.taskid[row]
  749. if IsNull(taskid) then goto ext
  750. // 获取工组进度(按订单获取,不区分明细)
  751. if (ins_ds_jd.RowCount() <= 0) then
  752. if (row <= 0) then
  753. rslt = 0
  754. MessageBox('提示', '当前没有订单,获取工组进度失败')
  755. goto ext
  756. end if
  757. if (taskid <= 0) then goto ext
  758. oleobject list, item
  759. list = FXAppCom.GetWrkgrpJdByTaskid(app_token_fx, taskid, ref arg_msg)
  760. if (arg_msg <> '') then
  761. rslt = 0
  762. MessageBox('提示', '获取工组进度失败:' + arg_msg)
  763. goto ext
  764. end if
  765. for row = 1 to list.Count
  766. item = list.GetItem(row - 1)
  767. ins_ds_jd.Object.taskid[row] = item.GetInt('taskid')
  768. ins_ds_jd.Object.printid[row] = item.GetInt('printid')
  769. ins_ds_jd.Object.jdprintid[row] = item.GetInt('jdprintid')
  770. ins_ds_jd.Object.wrkgrpname[row] = item.GetString('wrkgrpname')
  771. ins_ds_jd.Object.orderqty[row] = item.GetDouble('orderqty')
  772. ins_ds_jd.Object.taskqty[row] = item.GetDouble('taskqty')
  773. ins_ds_jd.Object.finishqty[row] = item.GetDouble('finishqty')
  774. ins_ds_jd.Object.username[row] = item.GetString('username')
  775. ins_ds_jd.Object.editdate[row] = item.GetDateTime('editdate')
  776. next
  777. end if
  778. if (ins_ds_jd.RowCount() <= 0) then goto ext
  779. row = dw_jd_ordermx.GetRow()
  780. if not dw_jd_ordermx.IsSelected(row) then goto ext // 工组进度左侧dw没有选中明细,跳出
  781. long printid
  782. printid = dw_jd_ordermx.Object.printid[row]
  783. dw_jd.SetRedraw(false)
  784. long indexA = 1, indexZ
  785. string findstr
  786. findstr = 'taskid=' + string(taskid) + ' and printid=' + string(printid)
  787. indexZ = ins_ds_jd.RowCount()
  788. indexA = ins_ds_jd.Find(findstr, indexA, indexZ)
  789. do while indexA > 0
  790. row = dw_jd.InsertRow(0)
  791. dw_jd.Object.taskid[row] = ins_ds_jd.Object.taskid[indexA]
  792. dw_jd.Object.printid[row] = ins_ds_jd.Object.printid[indexA]
  793. dw_jd.Object.jdprintid[row] = ins_ds_jd.Object.jdprintid[indexA]
  794. dw_jd.Object.wrkgrpname[row] = ins_ds_jd.Object.wrkgrpname[indexA]
  795. dw_jd.Object.orderqty[row] = ins_ds_jd.Object.orderqty[indexA]
  796. dw_jd.Object.taskqty[row] = ins_ds_jd.Object.taskqty[indexA]
  797. dw_jd.Object.finishqty[row] = ins_ds_jd.Object.finishqty[indexA]
  798. dw_jd.Object.username[row] = ins_ds_jd.Object.username[indexA]
  799. dw_jd.Object.editdate[row] = ins_ds_jd.Object.editdate[indexA]
  800. if (indexA + 1 <= indexZ) then
  801. indexA = ins_ds_jd.Find(findstr, indexA + 1, indexZ)
  802. else
  803. exit
  804. end if
  805. loop
  806. dw_jd.SetRedraw(true)
  807. ext:
  808. return rslt
  809. end function
  810. public function integer wf_save_jd ();int rslt = 1
  811. if not edit_jd then return 0
  812. if dw_jd.RowCount() <= 0 then
  813. rslt = 0
  814. MessageBox('提示', '没有需要保存的内容')
  815. goto ext
  816. end if
  817. long i = 0, temp_row = 0
  818. long rows[]
  819. do
  820. temp_row = dw_jd.GetNextModified(temp_row, Primary!) // 获取增/改部分
  821. if (temp_row > 0) then
  822. i ++
  823. rows[i] = temp_row
  824. end if
  825. loop while temp_row > 0
  826. if (UpperBound(rows) <= 0) then
  827. rslt = 0
  828. MessageBox('提示', '没有更改,或点击"放弃"返回')
  829. goto ext
  830. end if
  831. for i = 1 to dw_jd.RowCount()
  832. if Trim(dw_jd.Object.wrkgrpname[i]) = '' then
  833. rslt = 0
  834. MessageBox('提示', '工组名称不能为空')
  835. goto ext
  836. end if
  837. if (dw_jd.Object.taskqty[i] < 0) then
  838. rslt = 0
  839. MessageBox('提示', '已派工数不能小于0')
  840. goto ext
  841. end if
  842. if (dw_jd.Object.finishqty[i] < 0) then
  843. rslt = 0
  844. MessageBox('提示', '已完工数不能小于0')
  845. goto ext
  846. end if
  847. next
  848. oleobject list, item
  849. list = FXAppCom.CreArrOfPbDictionary()
  850. for i = 1 to UpperBound(rows)
  851. item = FXAppCom.CreatePbDictionary()
  852. item.SetInt('taskid', dw_jd.Object.taskid[rows[i]])
  853. item.SetInt('printid', dw_jd.Object.printid[rows[i]])
  854. item.SetInt('jdprintid', dw_jd.Object.jdprintid[rows[i]])
  855. item.SetString('wrkgrpname', dw_jd.Object.wrkgrpname[rows[i]])
  856. item.SetDouble('orderqty', dw_jd.Object.orderqty[rows[i]])
  857. item.SetDouble('taskqty', dw_jd.Object.taskqty[rows[i]])
  858. item.SetDouble('finishqty', dw_jd.Object.finishqty[rows[i]])
  859. list.Add(item)
  860. next
  861. string arg_msg
  862. FXAppCom.AddWrkgrpJd(app_token_fx, list, ref arg_msg)
  863. if (arg_msg <> '') then
  864. rslt = 0
  865. MessageBox('提示', '修改工组进度失败:' + arg_msg)
  866. goto ext
  867. end if
  868. if (UpperBound(ins_s_jds_del.jdprintid) > 0) then // 删除部分
  869. list = FXAppCom.CreArrOfPbDictionary()
  870. for i = 1 to UpperBound(ins_s_jds_del.jdprintid)
  871. item = FXAppCom.CreatePbDictionary()
  872. item.SetInt('taskid', ins_s_jds_del.taskid[i])
  873. item.SetInt('printid', ins_s_jds_del.printid[i])
  874. item.SetInt('jdprintid', ins_s_jds_del.jdprintid[i])
  875. list.Add(item)
  876. next
  877. FXAppCom.DelWrkgrpJd(app_token_fx, list, ref arg_msg)
  878. if (arg_msg <> '') then
  879. rslt = 0
  880. MessageBox('提示', '删除工组进度失败:' + arg_msg)
  881. goto ext
  882. end if
  883. end if
  884. ext:
  885. if rslt = 1 then
  886. ins_ds_jd.Reset()
  887. wf_retrieve_jd()
  888. MessageBox('提示', '保存成功')
  889. end if
  890. return rslt
  891. end function
  892. public function integer wf_retrieve_outwarelog ();int rslt = 1
  893. if tab_1.control[tab_1.SelectedTab].text <> '发货记录' then goto ext // 当前tab不是发货记录,跳出
  894. if (dw_outware_log.RowCount() > 0) then goto ext // 当前已有记录,跳出
  895. dw_outware_log.Reset()
  896. string arg_msg
  897. long row, taskid
  898. row = dw_saletask_list.GetRow()
  899. if IsNull(row) then goto ext
  900. if (row <= 0) then goto ext
  901. taskid = dw_saletask_list.Object.taskid[row]
  902. if IsNull(taskid) then goto ext
  903. oleobject request, response
  904. oleobject list, item
  905. request = FXAppCom.CreatePbDictionary()
  906. request.SetString('token', app_token_fx)
  907. request.SetInt('taskid', taskid)
  908. response = FXAppCom.DoExecute('GetOutwareLogByTaskid', request)
  909. arg_msg = response.GetString('ErrMsg')
  910. if (arg_msg <> '') then
  911. rslt = 0
  912. MessageBox('提示', '获取发货记录失败:' + arg_msg)
  913. goto ext
  914. end if
  915. list = response.GetPBArray('logs')
  916. datetime dt
  917. any acceptdate, outwaredate
  918. dt = datetime(date('1899-12-30'), time('00:00:00'))
  919. dw_outware_log.SetRedraw(false)
  920. long i
  921. for i = 1 to list.Count
  922. item = list.GetPBDictionary(i - 1)
  923. row = dw_outware_log.InsertRow(0)
  924. dw_outware_log.SetItem(row, 'logid', item.GetInt('logid'))
  925. dw_outware_log.SetItem(row, 'taskid', item.GetInt('taskid'))
  926. dw_outware_log.SetItem(row, 'printid', item.GetInt('printid'))
  927. dw_outware_log.SetItem(row, 'mxcode', item.GetString('mxcode'))
  928. dw_outware_log.SetItem(row, 'qty', item.GetDouble('qty'))
  929. dw_outware_log.SetItem(row, 'userid', item.GetInt('userid'))
  930. dw_outware_log.SetItem(row, 'username', item.GetString('username'))
  931. dw_outware_log.SetItem(row, 'outwaredate', item.GetDateTime('outwaredate'))
  932. dw_outware_log.SetItem(row, 'outwarecode', item.GetString('outwarecode'))
  933. dw_outware_log.SetItem(row, 'acceptQty', item.GetDouble('acceptQty'))
  934. dw_outware_log.SetItem(row, 'logStatus', item.GetInt('logStatus'))
  935. dw_outware_log.SetItem(row, 'acceptUserName', item.GetString('acceptUserName'))
  936. dw_outware_log.SetItem(row, 'acceptdate', item.GetDateTime('acceptdate'))
  937. dw_outware_log.SetItem(row, 'inwarecode_erp', item.GetString('inwarecode_erp'))
  938. dw_outware_log.SetItem(row, 'tmpacceptqty', item.GetDouble('tmpacceptqty'))
  939. dw_outware_log.SetItem(row, 'tmpacceptemp', item.GetString('tmpacceptemp'))
  940. dw_outware_log.SetItem(row, 'checkqty', item.GetDouble('checkqty'))
  941. dw_outware_log.SetItem(row, 'goodqty', item.GetDouble('goodqty'))
  942. dw_outware_log.SetItem(row, 'badqty', item.GetDouble('badqty'))
  943. dw_outware_log.SetItem(row, 'goodinqty', item.GetDouble('goodinqty'))
  944. dw_outware_log.SetItem(row, 'badinqty', item.GetDouble('badinqty'))
  945. dw_outware_log.SetItem(row, 'autocode', item.GetString('autocode'))
  946. dw_outware_log.SetItem(row, 'mtrlcode', item.GetString('mtrlcode'))
  947. dw_outware_log.SetItem(row, 'mtrlname', item.GetString('mtrlname'))
  948. dw_outware_log.SetItem(row, 'mtrlmode', item.GetString('mtrlmode'))
  949. dw_outware_log.SetItem(row, 'unit', item.GetString('unit'))
  950. next
  951. dw_outware_log.SetRedraw(true)
  952. wf_retrieve_badqc()
  953. ext:
  954. return rslt
  955. end function
  956. public subroutine wf_face ();string arg_msg
  957. if edit_jd or edit_qty_ready then
  958. cb_retrieve.Enabled = false
  959. cb_outware.Enabled = false
  960. cb_exit.Enabled = false
  961. em_pagesize.Enabled = false
  962. cb_toppage.Enabled = false
  963. cb_page_ch.Enabled = false
  964. cb_print.Enabled = false
  965. ddlb_status.Enabled = false
  966. em_datea.Enabled = false
  967. em_datez.Enabled = false
  968. sle_likestr.Enabled = false
  969. if (edit_jd) then
  970. tab_1.tabpage_3.cb_addrow.Enabled = true
  971. tab_1.tabpage_3.cb_delrow.Enabled = true
  972. tab_1.tabpage_3.cb_quit_jd.Enabled = true
  973. tab_1.tabpage_3.cb_edit_qty_ready.Enabled = false
  974. dw_jd.SetTabOrder('wrkgrpname', 10)
  975. dw_jd.SetTabOrder('taskqty', 20)
  976. dw_jd.SetTabOrder('finishqty', 30)
  977. tab_1.tabpage_3.cb_edit_jd.Text = '保存'
  978. elseif (edit_qty_ready) then
  979. tab_1.tabpage_3.cb_quit_qty_ready.Enabled = true
  980. tab_1.tabpage_3.cb_qty_ready_copy.Enabled = true
  981. tab_1.tabpage_3.cb_edit_jd.Enabled = false
  982. dw_jd_ordermx.SetTabOrder('qty_ready', 10)
  983. tab_1.tabpage_3.cb_edit_qty_ready.Text = '保存'
  984. end if
  985. else
  986. cb_retrieve.Enabled = true
  987. if (f_find_fx_user_power(31, ref arg_msg) = 1) then // 31-销售订单发货
  988. cb_outware.Enabled = true
  989. end if
  990. cb_exit.Enabled = true
  991. em_pagesize.Enabled = true
  992. cb_toppage.Enabled = true
  993. cb_page_ch.Enabled = true
  994. if (f_find_fx_user_power(27, ref arg_msg) = 1) then // 27-销售订单数据发送
  995. cb_print.Enabled = true
  996. end if
  997. ddlb_status.Enabled = true
  998. em_datea.Enabled = true
  999. em_datez.Enabled = true
  1000. sle_likestr.Enabled = true
  1001. tab_1.tabpage_3.cb_addrow.Enabled = false
  1002. tab_1.tabpage_3.cb_delrow.Enabled = false
  1003. tab_1.tabpage_3.cb_quit_jd.Enabled = false
  1004. dw_jd.SetTabOrder('wrkgrpname', 0)
  1005. dw_jd.SetTabOrder('taskqty', 0)
  1006. dw_jd.SetTabOrder('finishqty', 0)
  1007. tab_1.tabpage_3.cb_edit_jd.Text = '修改工组进度'
  1008. tab_1.tabpage_3.cb_quit_qty_ready.Enabled = false
  1009. tab_1.tabpage_3.cb_qty_ready_copy.Enabled = false
  1010. dw_jd_ordermx.SetTabOrder('qty_ready', 0)
  1011. tab_1.tabpage_3.cb_edit_qty_ready.Text = '修改分配数'
  1012. if (f_find_fx_user_power(38, ref arg_msg) = 1) then // 38-采购订单工组进度修改
  1013. tab_1.tabpage_3.cb_edit_jd.Enabled = true
  1014. tab_1.tabpage_3.cb_edit_qty_ready.Enabled = true
  1015. end if
  1016. if (f_find_fx_user_power(36, ref arg_msg) = 1) then // 36-采购订单数据发送
  1017. cb_print.Enabled = true
  1018. end if
  1019. end if
  1020. end subroutine
  1021. public subroutine wf_init_split ();// 将所有该分割条的上下的object都进行注册
  1022. tab_1.tabpage_3.st_split.of_Reset()
  1023. tab_1.tabpage_3.st_split.of_Register(tab_1.tabpage_3.dw_jd_ordermx, tab_1.tabpage_3.st_split.LEFT) // LEFT/RIGHT
  1024. tab_1.tabpage_3.st_split.of_Register(tab_1.tabpage_3.dw_jd, tab_1.tabpage_3.st_split.RIGHT)
  1025. // 定位拖动条--以tv_1为位移基准
  1026. tab_1.tabpage_3.st_split.uf_possplitbar(tab_1.tabpage_3.dw_jd_ordermx)
  1027. end subroutine
  1028. public function integer wf_save_qty_ready ();int rslt = 1
  1029. if (not edit_qty_ready) then return 0
  1030. if (dw_jd_ordermx.RowCount() <= 0) then
  1031. rslt = 0
  1032. MessageBox('提示', '没有需要保存的内容')
  1033. goto ext
  1034. end if
  1035. long i
  1036. oleobject list, item, parm
  1037. list = FXAppCom.NewPBArray()
  1038. for i = 1 to dw_jd_ordermx.RowCount()
  1039. item = FXAppCom.CreatePbDictionary()
  1040. item.SetInt('taskid', dw_jd_ordermx.Object.taskid[i])
  1041. item.SetInt('printid', dw_jd_ordermx.Object.printid[i])
  1042. item.SetDouble('qty_ready', dw_jd_ordermx.Object.qty_ready[i])
  1043. list.AddObject(item)
  1044. next
  1045. parm = FXAppCom.CreatePbDictionary()
  1046. parm.SetString('token', app_token_fx)
  1047. parm.SetObject('list', list)
  1048. string arg_msg
  1049. FXAppCom.EditSaletaskmxQtyReady(parm, ref arg_msg)
  1050. if (arg_msg <> '') then
  1051. rslt = 0
  1052. MessageBox('提示', '修改分配数失败:' + arg_msg)
  1053. goto ext
  1054. end if
  1055. ext:
  1056. if (rslt = 1) then
  1057. MessageBox('提示', '保存成功')
  1058. end if
  1059. return rslt
  1060. end function
  1061. public subroutine wf_copy_qty_ready (long a_mode);// 修改/保存/放弃 编辑分配数使用
  1062. // a_mode:
  1063. // 1 - 从tabpage_1的复制到tabpage_3的
  1064. // 3 - 从tabpage_3的复制到tabpage_1的
  1065. dw_saletaskmx.SetFilter('')
  1066. dw_saletaskmx.Filter()
  1067. dw_jd_ordermx.SetFilter('')
  1068. dw_jd_ordermx.Filter()
  1069. long i
  1070. long tmp_taskid, tmp_printid, findRow
  1071. decimal tmp_qty_ready
  1072. string findStr
  1073. if (a_mode = 1) then // 从tabpage_1的复制到tabpage_3的 失败/放弃的时候
  1074. for i = 1 to dw_saletaskmx.RowCount()
  1075. tmp_taskid = dw_saletaskmx.Object.taskid[i]
  1076. tmp_printid = dw_saletaskmx.Object.printid[i]
  1077. tmp_qty_ready = dw_saletaskmx.Object.qty_ready[i]
  1078. findStr = 'taskid = ' + string(tmp_taskid) + ' and printid = ' + string(tmp_printid)
  1079. findRow = dw_jd_ordermx.Find(findStr, 1, dw_jd_ordermx.RowCount())
  1080. if (findRow > 0) then
  1081. dw_jd_ordermx.Object.qty_ready[findRow] = tmp_qty_ready
  1082. end if
  1083. next
  1084. elseif (a_mode = 3) then // 从tabpage_3的复制到tabpage_1的 修改成功的时候
  1085. for i = 1 to dw_jd_ordermx.RowCount()
  1086. tmp_taskid = dw_jd_ordermx.Object.taskid[i]
  1087. tmp_printid = dw_jd_ordermx.Object.printid[i]
  1088. tmp_qty_ready = dw_jd_ordermx.Object.qty_ready[i]
  1089. findStr = 'taskid = ' + string(tmp_taskid) + ' and printid = ' + string(tmp_printid)
  1090. findRow = dw_saletaskmx.Find(findStr, 1, dw_saletaskmx.RowCount())
  1091. if (findRow > 0) then
  1092. dw_saletaskmx.Object.qty_ready[findRow] = tmp_qty_ready
  1093. end if
  1094. next
  1095. end if
  1096. dw_saletaskmx.AcceptText()
  1097. dw_jd_ordermx.AcceptText()
  1098. end subroutine
  1099. public subroutine wf_retrieve_badqc ();Long ll_row
  1100. String arg_msg
  1101. Int rslt = 1
  1102. dw_fx_outware_badqc.Reset()
  1103. ll_row = dw_outware_log.GetRow()
  1104. IF ll_row <= 0 THEN RETURN
  1105. Long ll_logid
  1106. ll_logid = dw_outware_log.Object.LogID[ll_row]
  1107. IF ll_logid <= 0 THEN RETURN
  1108. oleobject req, rsp
  1109. req = FXAppCom.CreatePbDictionary()
  1110. req.SetString('token', app_token_fx)
  1111. req.SetInt('logid', ll_logid)
  1112. rsp = FXAppCom.DoExecute('GetFxOutwareBadQc', req)
  1113. arg_msg = rsp.GetString('ErrMsg')
  1114. If (arg_msg <> '') THEN
  1115. rslt = 0
  1116. MessageBox('提示', '获取发货记录的质检进度失败:' + arg_msg)
  1117. GOTO ext
  1118. END IF
  1119. oleobject list, Item
  1120. list = rsp.GetPBArray('badQcList')
  1121. dw_fx_outware_badqc.SetRedraw(False)
  1122. Long i, row
  1123. FOR i = 1 To list.Count
  1124. Item = list.GetPBDictionary(i - 1)
  1125. row = dw_fx_outware_badqc.InsertRow(0)
  1126. dw_fx_outware_badqc.SetItem(row, 'logid', Item.GetInt('logid'))
  1127. dw_fx_outware_badqc.SetItem(row, 'printid', Item.GetInt('printid'))
  1128. dw_fx_outware_badqc.SetItem(row, 'itemname', Item.GetString('itemname'))
  1129. dw_fx_outware_badqc.SetItem(row, 'badqty', Item.GetDouble('badqty'))
  1130. dw_fx_outware_badqc.SetItem(row, 'goodqty', Item.GetDouble('goodqty'))
  1131. dw_fx_outware_badqc.SetItem(row, 'mxdscrp', Item.GetString('mxdscrp'))
  1132. dw_fx_outware_badqc.SetItem(row, 'checkemp', Item.GetString('checkemp'))
  1133. dw_fx_outware_badqc.SetItem(row, 'QcResult', Item.GetString('QcResult'))
  1134. dw_fx_outware_badqc.SetItem(row, 'Environmen', Item.GetString('Environmen'))
  1135. dw_fx_outware_badqc.SetItem(row, 'Method', Item.GetString('Method'))
  1136. dw_fx_outware_badqc.SetItem(row, 'Basis', Item.GetString('Basis'))
  1137. dw_fx_outware_badqc.SetItem(row, 'Equipment', Item.GetString('Equipment'))
  1138. dw_fx_outware_badqc.SetItem(row, 'Standard', Item.GetString('Standard'))
  1139. dw_fx_outware_badqc.SetItem(row, 'checkqty', Item.GetDouble('checkqty'))
  1140. NEXT
  1141. dw_fx_outware_badqc.SetRedraw(True)
  1142. ext:
  1143. end subroutine
  1144. public function integer wf_retrieve_barcode ();Int rslt = 1
  1145. If tab_1.Control[tab_1.SelectedTab].Text = '条码明细' Then
  1146. cb_3.Visible = False
  1147. cb_4.Visible = False
  1148. End If
  1149. dw_barcode.Reset()
  1150. String arg_msg
  1151. Long ll_row, taskid
  1152. ll_row = dw_saletask_list.GetRow()
  1153. If IsNull(ll_row) Then Goto ext
  1154. If (ll_row <= 0) Then Goto ext
  1155. taskid = dw_saletask_list.Object.taskid[ll_row]
  1156. If IsNull(taskid) Then Goto ext
  1157. oleobject req, rsp
  1158. req = FXAppCom.CreatePbDictionary()
  1159. req.SetString('token', app_token_fx)
  1160. req.SetInt('taskid', taskid)
  1161. rsp = FXAppCom.DoExecute('GetFxSaletaskBuyBarcode', req)
  1162. arg_msg = rsp.GetString('ErrMsg')
  1163. If (arg_msg <> '') Then
  1164. rslt = 0
  1165. MessageBox('提示', '获取成品采购订单条码失败:' + arg_msg)
  1166. Goto ext
  1167. End If
  1168. oleobject list, Item
  1169. list = rsp.GetPBArray('barcodeList')
  1170. dw_barcode.SetRedraw(False)
  1171. Long i, row
  1172. For i = 1 To list.Count
  1173. Item = list.GetPBDictionary(i - 1)
  1174. row = dw_barcode.InsertRow(0)
  1175. dw_barcode.SetItem(row, 'taskid', Item.GetInt('taskid'))
  1176. dw_barcode.SetItem(row, 'printid', Item.GetInt('printid'))
  1177. dw_barcode.SetItem(row, 'barcode', Item.GetString('barcode'))
  1178. dw_barcode.SetItem(row, 'taskcode', Item.GetString('taskcode'))
  1179. dw_barcode.SetItem(row, 'mtrlcode', Item.GetString('mtrlcode'))
  1180. dw_barcode.SetItem(row, 'mtrlname', Item.GetString('mtrlname'))
  1181. dw_barcode.SetItem(row, 'mtrlmode', Item.GetString('mtrlmode'))
  1182. dw_barcode.SetItem(row, 'status', Item.GetString('status'))
  1183. dw_barcode.SetItem(row, 'woodcode', Item.GetString('woodcode'))
  1184. dw_barcode.SetItem(row, 'pcode', Item.GetString('pcode'))
  1185. dw_barcode.SetItem(row, 'qty', Item.GetInt('qty'))
  1186. dw_barcode.SetItem(row, 'printnum', Item.GetInt('printnum'))
  1187. dw_barcode.SetItem(row, 'packqty', Item.GetDouble('packqty'))
  1188. Next
  1189. dw_barcode.SetRedraw(True)
  1190. ext:
  1191. Return rslt
  1192. end function
  1193. on w_saletask_fx_cp.create
  1194. int iCurrent
  1195. call super::create
  1196. this.dw_saletask_list=create dw_saletask_list
  1197. this.dw_saletask=create dw_saletask
  1198. this.tab_1=create tab_1
  1199. this.st_1=create st_1
  1200. this.ddlb_status=create ddlb_status
  1201. this.st_2=create st_2
  1202. this.em_datea=create em_datea
  1203. this.st_3=create st_3
  1204. this.em_datez=create em_datez
  1205. this.st_4=create st_4
  1206. this.sle_likestr=create sle_likestr
  1207. this.cb_toppage=create cb_toppage
  1208. this.cb_page_ch=create cb_page_ch
  1209. this.em_pagesize=create em_pagesize
  1210. this.cb_outware=create cb_outware
  1211. this.cb_retrieve=create cb_retrieve
  1212. this.cb_print=create cb_print
  1213. this.cb_2=create cb_2
  1214. this.cb_file=create cb_file
  1215. this.st_5=create st_5
  1216. this.cb_3=create cb_3
  1217. this.cb_4=create cb_4
  1218. this.cb_5=create cb_5
  1219. this.cb_6=create cb_6
  1220. this.cbx_all=create cbx_all
  1221. this.cb_8=create cb_8
  1222. iCurrent=UpperBound(this.Control)
  1223. this.Control[iCurrent+1]=this.dw_saletask_list
  1224. this.Control[iCurrent+2]=this.dw_saletask
  1225. this.Control[iCurrent+3]=this.tab_1
  1226. this.Control[iCurrent+4]=this.st_1
  1227. this.Control[iCurrent+5]=this.ddlb_status
  1228. this.Control[iCurrent+6]=this.st_2
  1229. this.Control[iCurrent+7]=this.em_datea
  1230. this.Control[iCurrent+8]=this.st_3
  1231. this.Control[iCurrent+9]=this.em_datez
  1232. this.Control[iCurrent+10]=this.st_4
  1233. this.Control[iCurrent+11]=this.sle_likestr
  1234. this.Control[iCurrent+12]=this.cb_toppage
  1235. this.Control[iCurrent+13]=this.cb_page_ch
  1236. this.Control[iCurrent+14]=this.em_pagesize
  1237. this.Control[iCurrent+15]=this.cb_outware
  1238. this.Control[iCurrent+16]=this.cb_retrieve
  1239. this.Control[iCurrent+17]=this.cb_print
  1240. this.Control[iCurrent+18]=this.cb_2
  1241. this.Control[iCurrent+19]=this.cb_file
  1242. this.Control[iCurrent+20]=this.st_5
  1243. this.Control[iCurrent+21]=this.cb_3
  1244. this.Control[iCurrent+22]=this.cb_4
  1245. this.Control[iCurrent+23]=this.cb_5
  1246. this.Control[iCurrent+24]=this.cb_6
  1247. this.Control[iCurrent+25]=this.cbx_all
  1248. this.Control[iCurrent+26]=this.cb_8
  1249. end on
  1250. on w_saletask_fx_cp.destroy
  1251. call super::destroy
  1252. destroy(this.dw_saletask_list)
  1253. destroy(this.dw_saletask)
  1254. destroy(this.tab_1)
  1255. destroy(this.st_1)
  1256. destroy(this.ddlb_status)
  1257. destroy(this.st_2)
  1258. destroy(this.em_datea)
  1259. destroy(this.st_3)
  1260. destroy(this.em_datez)
  1261. destroy(this.st_4)
  1262. destroy(this.sle_likestr)
  1263. destroy(this.cb_toppage)
  1264. destroy(this.cb_page_ch)
  1265. destroy(this.em_pagesize)
  1266. destroy(this.cb_outware)
  1267. destroy(this.cb_retrieve)
  1268. destroy(this.cb_print)
  1269. destroy(this.cb_2)
  1270. destroy(this.cb_file)
  1271. destroy(this.st_5)
  1272. destroy(this.cb_3)
  1273. destroy(this.cb_4)
  1274. destroy(this.cb_5)
  1275. destroy(this.cb_6)
  1276. destroy(this.cbx_all)
  1277. destroy(this.cb_8)
  1278. end on
  1279. event open;dw_saletaskmx = tab_1.tabpage_1.dw_saletaskmx
  1280. dw_barcode = tab_1.tabpage_4.dw_barcode
  1281. dw_jd_ordermx = tab_1.tabpage_3.dw_jd_ordermx
  1282. dw_jd = tab_1.tabpage_3.dw_jd
  1283. dw_outware_log = tab_1.tabpage_2.dw_outware_log
  1284. dw_fx_outware_badqc = tab_1.tabpage_2.dw_fx_outware_badqc
  1285. // 因为resize内对dw使用了以上缩写,父类open事件首先触发resize,会造成null object问题
  1286. this.triggerevent('ue_before_open')
  1287. wf_movetocenter()
  1288. wf_init_split()
  1289. string arg_msg // 30-采购订单 31-采购订单查看(单价)
  1290. if (f_find_fx_user_power(30, ref arg_msg) <> 1 &
  1291. and f_find_fx_user_power(31, ref arg_msg) <> 1) then
  1292. MessageBox('权限提示', arg_msg)
  1293. Close(this)
  1294. return
  1295. end if
  1296. em_datea.Text = String(RelativeDate(Today(), - 30))
  1297. em_datez.Text = String(Today())
  1298. ddlb_status.SelectItem(6)
  1299. ins_ds_jd = create datastore
  1300. ins_ds_jd.DataObject = 'dw_fx_wrkgrp_jd'
  1301. ins_ds_jd.Reset()
  1302. wf_retrieve_saletask( )
  1303. //dw_saletaskmx.Modify("cus_receiveqty_t.Text = '已发货数'")
  1304. //dw_saletaskmx.Modify("destroy mxcode_t~n destroy mxcode~n")
  1305. //dw_jd_ordermx.Modify("destroy mxcode_t~n destroy mxcode~n")
  1306. //dw_jd_ordermx.Modify("destroy mtrlmode_t~n destroy mtrlmode~n")
  1307. //dw_jd_ordermx.Modify("destroy qty_wait_t~n destroy qty_wait~n")
  1308. //dw_jd_ordermx.Modify("destroy cus_receiveqty_t~n destroy cus_receiveqty~n")
  1309. //dw_jd_ordermx.Modify("destroy requiredate_t~n destroy requiredate~n")
  1310. //dw_jd_ordermx.Modify("destroy price_t~n destroy price~n")
  1311. //dw_jd_ordermx.Modify("destroy mtrlcuscode_t~n destroy mtrlcuscode~n")
  1312. //dw_jd_ordermx.Modify("destroy mxdscrp_t~n destroy mxdscrp~n")
  1313. //dw_jd_ordermx.Modify("destroy mxdscrp2_t~n destroy mxdscrp2~n")
  1314. //dw_jd_ordermx.Modify("destroy status_t~n destroy status~n")
  1315. //dw_jd_ordermx.Modify("destroy woodcode_t~n destroy woodcode~n")
  1316. //dw_jd_ordermx.Modify("destroy pcode_t~n destroy pcode~n")
  1317. //dw_jd_ordermx.Modify("mxcode_t.visible=false~r~n mxcode.visible=false~r~n")
  1318. //dw_jd_ordermx.Modify("mtrlmode_t.visible=false~r~n mtrlmode.visible=false~r~n")
  1319. //dw_jd_ordermx.Modify("qty_wait_t.visible=false~r~n qty_wait.visible=false~r~n")
  1320. //dw_jd_ordermx.Modify("cus_receiveqty_t.visible=false~r~n cus_receiveqty.visible=false~r~n")
  1321. //dw_jd_ordermx.Modify("requiredate_t.visible=false~r~n requiredate.visible=false~r~n")
  1322. //dw_jd_ordermx.Modify("price_t.visible=false~r~n price.visible=false~r~n")
  1323. //dw_jd_ordermx.Modify("mtrlcuscode_t.visible=false~r~n mtrlcuscode.visible=false~r~n")
  1324. //dw_jd_ordermx.Modify("mxdscrp_t.visible=false~r~n mxdscrp.visible=false~r~n")
  1325. //dw_jd_ordermx.Modify("mxdscrp2_t.visible=false~r~n mxdscrp2.visible=false~r~n")
  1326. //dw_jd_ordermx.Modify("status_t.visible=false~r~n status.visible=false~r~n")
  1327. //dw_jd_ordermx.Modify("woodcode_t.visible=false~r~n woodcode.visible=false~r~n")
  1328. //dw_jd_ordermx.Modify("pcode_t.visible=false~r~n pcode.visible=false~r~n")
  1329. if (f_find_fx_user_power(36, ref arg_msg) <> 1) then // 36-采购订单数据发送
  1330. cb_print.Enabled = false
  1331. end if
  1332. if (f_find_fx_user_power(37, ref arg_msg) <> 1) then // 37-采购订单工组进度查看
  1333. tab_1.tabpage_3.Visible = false
  1334. elseif (f_find_fx_user_power(38, ref arg_msg) <> 1) then // 38-采购订单工组进度修改
  1335. tab_1.tabpage_3.cb_edit_jd.Enabled = false
  1336. tab_1.tabpage_3.cb_edit_qty_ready.Enabled = false
  1337. end if
  1338. if (f_find_fx_user_power(39, ref arg_msg) <> 1) then // 39-采购订单发货记录查看
  1339. tab_1.tabpage_2.Visible = false
  1340. end if
  1341. if (f_find_fx_user_power(40, ref arg_msg) <> 1) then // 40-采购订单发货
  1342. cb_outware.Enabled = false
  1343. end if
  1344. end event
  1345. event resize;call super::resize;if (this.Width < 4100) then this.Width = 4100
  1346. if (this.Height < 2600) then this.Height = 2600
  1347. dw_saletask_list.Width = this.workspacewidth( ) - dw_saletask.Width - 10
  1348. tab_1.Width = this.workspacewidth( )
  1349. tab_1.Height = this.workspaceheight( ) - tab_1.Y
  1350. // 按钮靠右
  1351. cb_exit.X = this.workspacewidth( ) - cb_exit.Width
  1352. cb_page_ch.X = cb_exit.X - cb_page_ch.Width - 5
  1353. cb_toppage.X = cb_page_ch.X - cb_toppage.Width - 5
  1354. em_pagesize.X = cb_toppage.X - em_pagesize.Width - 5
  1355. // 订单明细
  1356. dw_saletaskmx.Width = tab_1.Width - 20
  1357. dw_saletaskmx.Height = tab_1.Height - 200
  1358. // 条码明细
  1359. dw_barcode.Width = tab_1.Width - 20
  1360. dw_barcode.Height = tab_1.Height - 200
  1361. // 发货记录
  1362. dw_outware_log.Width = tab_1.Width - 20 - dw_fx_outware_badqc.width
  1363. dw_outware_log.Height = tab_1.Height - (876 - 772) - dw_outware_log.Y
  1364. dw_fx_outware_badqc.X = dw_outware_log.X + dw_outware_log.Width
  1365. dw_fx_outware_badqc.Height = dw_outware_log.Height + dw_outware_log.Y
  1366. // 工组进度
  1367. dw_jd_ordermx.Height = tab_1.Height - 200
  1368. if (dw_jd_ordermx.Width + 200 >= tab_1.tabpage_3.Width) then
  1369. dw_jd_ordermx.Width = tab_1.tabpage_3.Width / 2 * 1
  1370. end if
  1371. dw_jd.Width = tab_1.Width - dw_jd_ordermx.Width - 55
  1372. dw_jd.Height = dw_jd_ordermx.Height
  1373. // 工组进度-分割条
  1374. tab_1.tabpage_3.st_split.Y = dw_jd_ordermx.Y
  1375. tab_1.tabpage_3.st_split.X = dw_jd_ordermx.X + dw_jd_ordermx.Width
  1376. tab_1.tabpage_3.st_split.Height = dw_jd_ordermx.Height
  1377. // 工组进度-按钮
  1378. dw_jd.X = tab_1.tabpage_3.st_split.X + tab_1.tabpage_3.st_split.Width
  1379. tab_1.tabpage_3.cb_edit_jd.X = dw_jd.X
  1380. tab_1.tabpage_3.cb_quit_jd.X = tab_1.tabpage_3.cb_edit_jd.X + tab_1.tabpage_3.cb_edit_jd.Width + 5
  1381. tab_1.tabpage_3.cb_addrow.X = tab_1.tabpage_3.cb_quit_jd.X + tab_1.tabpage_3.cb_quit_jd.Width + 5
  1382. tab_1.tabpage_3.cb_delrow.X = tab_1.tabpage_3.cb_addrow.X + tab_1.tabpage_3.cb_addrow.Width + 5
  1383. end event
  1384. event closequery;call super::closequery;if edit_jd or edit_qty_ready then return 1
  1385. end event
  1386. type cb_func from w_publ_base_style`cb_func within w_saletask_fx_cp
  1387. boolean visible = false
  1388. integer x = 2469
  1389. integer taborder = 0
  1390. boolean enabled = false
  1391. end type
  1392. type cb_exit from w_publ_base_style`cb_exit within w_saletask_fx_cp
  1393. integer x = 3735
  1394. integer taborder = 20
  1395. end type
  1396. type ln_bar from w_publ_base_style`ln_bar within w_saletask_fx_cp
  1397. end type
  1398. type ln_bar2 from w_publ_base_style`ln_bar2 within w_saletask_fx_cp
  1399. end type
  1400. type r_bar from w_publ_base_style`r_bar within w_saletask_fx_cp
  1401. integer x = 526
  1402. integer height = 76
  1403. end type
  1404. type dw_saletask_list from u_dw_rbtnfilter within w_saletask_fx_cp
  1405. integer x = 2126
  1406. integer y = 280
  1407. integer width = 1947
  1408. integer height = 1328
  1409. integer taborder = 120
  1410. boolean bringtotop = true
  1411. boolean titlebar = true
  1412. string title = "订单列表"
  1413. string dataobject = "dw_fx_saletask"
  1414. boolean controlmenu = true
  1415. boolean maxbox = true
  1416. boolean hscrollbar = true
  1417. boolean vscrollbar = true
  1418. boolean resizable = true
  1419. boolean border = false
  1420. boolean hsplitscroll = true
  1421. boolean rbutton_filter_use = true
  1422. boolean rbutton_setposition_use = true
  1423. boolean titleclick_sort_use = true
  1424. end type
  1425. event rowfocuschanged;call super::rowfocuschanged;if edit_jd or edit_qty_ready then return
  1426. if IsNull(currentrow) then
  1427. IF THIS.rowcount() > 0 then
  1428. THIS.SelectRow(0,FALSE)
  1429. THIS.SelectRow(1,TRUE)
  1430. THIS.setrow(1)
  1431. currentrow =1
  1432. end if
  1433. end if
  1434. if IsNull(currentrow) then return
  1435. if (currentrow <= 0) then return
  1436. this.SelectRow(0, false)
  1437. this.SelectRow(currentrow, true)
  1438. // 根据单据状态 控制按钮
  1439. long status
  1440. status = this.Object.status[currentrow]
  1441. if (status = 3 or status = 6 or status = 7) then // 已下单 进行中 完成
  1442. string arg_msg
  1443. if (f_find_fx_user_power(40, ref arg_msg) = 1) then // 40-采购订单发货
  1444. cb_outware.Enabled = true
  1445. end if
  1446. else
  1447. cb_outware.Enabled = false
  1448. end if
  1449. // 指定提货地址按钮控制
  1450. if status = 6 then
  1451. tab_1.tabpage_1.cb_7.Enabled = true
  1452. else
  1453. tab_1.tabpage_1.cb_7.Enabled = false
  1454. end if
  1455. dw_saletask.Reset( )
  1456. this.RowsCopy(currentrow, currentrow, Primary!, dw_saletask, 1, Primary!)
  1457. long taskid
  1458. taskid = this.Object.taskid[currentrow]
  1459. wf_retrieve_saletaskmx(taskid)
  1460. wf_retrieve_barcode()
  1461. ins_ds_jd.Reset() // 切换新的订单,清空工组进度ds
  1462. dw_outware_log.ReSet() // 切换新的订单,清空发货记录
  1463. // 切换新的订单,根据当前tab页是否停留在"工组进度"进行获取进度信息
  1464. //if tab_1.control[ tab_1.SelectedTab].text = '工组进度' then wf_retrieve_jd()
  1465. // 切换新的订单,根据当前tab页是否停留在"发货记录"进行获取发货记录信息
  1466. //if tab_1.control[ tab_1.SelectedTab].text = '发货记录' then wf_retrieve_jd()
  1467. string tabText
  1468. tabText = tab_1.control[tab_1.SelectedTab].text
  1469. choose case tabText
  1470. case '发货记录'
  1471. wf_retrieve_outwarelog()
  1472. case '进度'
  1473. wf_retrieve_jd()
  1474. case '条码明细'
  1475. // cb_3.visible = false
  1476. // cb_4.visible = false
  1477. case else
  1478. cb_3.visible = true
  1479. cb_4.visible = true
  1480. end choose
  1481. end event
  1482. type dw_saletask from datawindow within w_saletask_fx_cp
  1483. integer x = 9
  1484. integer y = 288
  1485. integer width = 2117
  1486. integer height = 1316
  1487. integer taborder = 110
  1488. boolean bringtotop = true
  1489. string title = "none"
  1490. string dataobject = "dw_fx_saletask_ff"
  1491. boolean livescroll = true
  1492. borderstyle borderstyle = stylelowered!
  1493. end type
  1494. type tab_1 from tab within w_saletask_fx_cp
  1495. integer x = 5
  1496. integer y = 1612
  1497. integer width = 3840
  1498. integer height = 856
  1499. integer taborder = 130
  1500. boolean bringtotop = true
  1501. integer textsize = -9
  1502. integer weight = 400
  1503. fontcharset fontcharset = gb2312charset!
  1504. fontpitch fontpitch = variable!
  1505. string facename = "宋体"
  1506. long backcolor = 16777215
  1507. boolean raggedright = true
  1508. boolean focusonbuttondown = true
  1509. integer selectedtab = 1
  1510. tabpage_1 tabpage_1
  1511. tabpage_2 tabpage_2
  1512. tabpage_3 tabpage_3
  1513. tabpage_4 tabpage_4
  1514. end type
  1515. on tab_1.create
  1516. this.tabpage_1=create tabpage_1
  1517. this.tabpage_2=create tabpage_2
  1518. this.tabpage_3=create tabpage_3
  1519. this.tabpage_4=create tabpage_4
  1520. this.Control[]={this.tabpage_1,&
  1521. this.tabpage_2,&
  1522. this.tabpage_3,&
  1523. this.tabpage_4}
  1524. end on
  1525. on tab_1.destroy
  1526. destroy(this.tabpage_1)
  1527. destroy(this.tabpage_2)
  1528. destroy(this.tabpage_3)
  1529. destroy(this.tabpage_4)
  1530. end on
  1531. event selectionchanged;string tabText
  1532. tabText = control[newindex].text
  1533. choose case tabText
  1534. case '发货记录'
  1535. wf_retrieve_outwarelog()
  1536. case '进度'
  1537. wf_retrieve_jd()
  1538. case '条码明细'
  1539. wf_retrieve_barcode()
  1540. case else
  1541. cb_3.visible = true
  1542. cb_4.visible = true
  1543. end choose
  1544. end event
  1545. event selectionchanging;if edit_jd or edit_qty_ready then
  1546. MessageBox('提示', '修改状态不能切换当前操作页面')
  1547. return 1
  1548. end if
  1549. end event
  1550. type tabpage_1 from userobject within tab_1
  1551. integer x = 18
  1552. integer y = 96
  1553. integer width = 3803
  1554. integer height = 744
  1555. long backcolor = 16777215
  1556. string text = "订单明细"
  1557. long tabtextcolor = 33554432
  1558. long tabbackcolor = 16777215
  1559. long picturemaskcolor = 536870912
  1560. cb_7 cb_7
  1561. dw_saletaskmx dw_saletaskmx
  1562. end type
  1563. on tabpage_1.create
  1564. this.cb_7=create cb_7
  1565. this.dw_saletaskmx=create dw_saletaskmx
  1566. this.Control[]={this.cb_7,&
  1567. this.dw_saletaskmx}
  1568. end on
  1569. on tabpage_1.destroy
  1570. destroy(this.cb_7)
  1571. destroy(this.dw_saletaskmx)
  1572. end on
  1573. type cb_7 from commandbutton within tabpage_1
  1574. integer x = 654
  1575. integer y = 4
  1576. integer width = 384
  1577. integer height = 84
  1578. integer taborder = 40
  1579. integer textsize = -9
  1580. integer weight = 400
  1581. fontcharset fontcharset = gb2312charset!
  1582. fontpitch fontpitch = variable!
  1583. string facename = "宋体"
  1584. string text = "修改明细信息"
  1585. end type
  1586. event clicked;long row, ll_taskid
  1587. row = dw_saletask_list.getRow()
  1588. ll_taskid = dw_saletask_list.Object.taskid[row]
  1589. OpenWithParm(w_fx_saletaskmx_address,ll_taskid)
  1590. wf_retrieve_saletaskmx(ll_taskid)
  1591. end event
  1592. type dw_saletaskmx from u_dw_rbtnfilter within tabpage_1
  1593. integer y = 88
  1594. integer width = 3237
  1595. integer height = 648
  1596. integer taborder = 20
  1597. string dataobject = "dw_fx_saletaskmx"
  1598. boolean hscrollbar = true
  1599. boolean vscrollbar = true
  1600. boolean hsplitscroll = true
  1601. boolean rbutton_filter_use = true
  1602. boolean rbutton_setposition_use = true
  1603. boolean titleclick_sort_use = true
  1604. end type
  1605. event clicked;call super::clicked;if dw_edit_mode then return
  1606. if (row > 0) then
  1607. this.SelectRow(0, false)
  1608. this.SelectRow(row, true)
  1609. end if
  1610. end event
  1611. event doubleclicked;call super::doubleclicked;//If (dwo.Name = "u_saletaskmx_status" AND row > 0 Then
  1612. long dw_row
  1613. dw_row = dw_saletask_list.GetROW()
  1614. if This.Object.fxmtrlid[row] > 0 then
  1615. s_edit_index_tran s_mtrl
  1616. s_mtrl.d_string = '物料质检项目[' + This.Object.mtrlname[row] + ']'
  1617. s_mtrl.d_long = This.Object.fxmtrlid[row]
  1618. s_mtrl.e_long = dw_saletask_list.Object.cuscomid[dw_row]
  1619. OpenWithParm(w_fx_checkitem_bymtrl,s_mtrl)
  1620. end if
  1621. end event
  1622. type tabpage_2 from userobject within tab_1
  1623. integer x = 18
  1624. integer y = 96
  1625. integer width = 3803
  1626. integer height = 744
  1627. long backcolor = 16777215
  1628. string text = "发货记录"
  1629. long tabtextcolor = 33554432
  1630. long tabbackcolor = 16777215
  1631. long picturemaskcolor = 536870912
  1632. cb_1 cb_1
  1633. dw_fx_outware_badqc dw_fx_outware_badqc
  1634. dw_outware_log dw_outware_log
  1635. end type
  1636. on tabpage_2.create
  1637. this.cb_1=create cb_1
  1638. this.dw_fx_outware_badqc=create dw_fx_outware_badqc
  1639. this.dw_outware_log=create dw_outware_log
  1640. this.Control[]={this.cb_1,&
  1641. this.dw_fx_outware_badqc,&
  1642. this.dw_outware_log}
  1643. end on
  1644. on tabpage_2.destroy
  1645. destroy(this.cb_1)
  1646. destroy(this.dw_fx_outware_badqc)
  1647. destroy(this.dw_outware_log)
  1648. end on
  1649. type cb_1 from commandbutton within tabpage_2
  1650. integer width = 439
  1651. integer height = 96
  1652. integer taborder = 30
  1653. integer textsize = -9
  1654. integer weight = 400
  1655. fontcharset fontcharset = gb2312charset!
  1656. fontpitch fontpitch = variable!
  1657. string facename = "宋体"
  1658. string text = "打印收货通知单"
  1659. end type
  1660. event clicked;long ll_row
  1661. ll_row = dw_outware_log.GetRow()
  1662. if ll_row <= 0 then
  1663. MessageBox('提示', '请选择打印对象')
  1664. return
  1665. end if
  1666. string ls_autocode
  1667. ls_autocode = dw_outware_log.Object.autocode[ll_row]
  1668. datastore ds_report
  1669. ds_report = create datastore
  1670. ds_report.dataobject = 'dw_print_outware_fx_mx_data'
  1671. long mx_row, i
  1672. for i = 1 to dw_outware_log.rowcount()
  1673. if dw_outware_log.Object.autocode[i] <> ls_autocode then continue
  1674. mx_row = ds_report.InsertRow(0)
  1675. ds_report.Object.tid[mx_row] = dw_saletask_list.Object.tid[dw_saletask_list.GetRow()]
  1676. ds_report.Object.taskcode[mx_row] = dw_saletask_list.Object.taskcode[dw_saletask_list.GetRow()]
  1677. ds_report.Object.outwarecode[mx_row] = dw_outware_log.Object.outwarecode[i]
  1678. ds_report.Object.username[mx_row] = dw_outware_log.Object.username[i]
  1679. ds_report.Object.outwaredate[mx_row] = dw_outware_log.Object.outwaredate[i]
  1680. ds_report.Object.autocode[mx_row] = dw_outware_log.Object.autocode[i]
  1681. ds_report.Object.mtrlcode[mx_row] = dw_outware_log.Object.mtrlcode[i]
  1682. ds_report.Object.mtrlname[mx_row] = dw_outware_log.Object.mtrlname[i]
  1683. ds_report.Object.mtrlmode[mx_row] = dw_outware_log.Object.mtrlmode[i]
  1684. ds_report.Object.unit[mx_row] = dw_outware_log.Object.unit[i]
  1685. ds_report.Object.qty[mx_row] = dw_outware_log.Object.qty[i]
  1686. ds_report.Object.mxcode[mx_row] = dw_outware_log.Object.mxcode[i]
  1687. next
  1688. S_print_MSG LS_PRMSG
  1689. LS_PRMSG.obj_dwNAME='dw_print_outware_fx_mx'
  1690. LS_PRMSG.SHARE_DW=ds_report
  1691. LS_PRMSG.TAG_TEXT='收货通知单'
  1692. LS_PRMSG.SETUP_FLAG=0
  1693. LS_PRMSG.PAGECH_FLAG=1
  1694. Openwithparm(w_publ_preview,LS_PRMSG)
  1695. end event
  1696. type dw_fx_outware_badqc from u_dw_rbtnfilter within tabpage_2
  1697. integer x = 2318
  1698. integer width = 1472
  1699. integer height = 772
  1700. integer taborder = 30
  1701. string dataobject = "dw_fx_outware_badqc"
  1702. boolean hscrollbar = true
  1703. boolean vscrollbar = true
  1704. boolean hsplitscroll = true
  1705. boolean rbutton_filter_use = true
  1706. boolean rbutton_setposition_use = true
  1707. boolean titleclick_sort_use = true
  1708. end type
  1709. event clicked;call super::clicked;if dw_edit_mode then return
  1710. if (row > 0) then
  1711. this.SelectRow(0, false)
  1712. this.SelectRow(row, true)
  1713. end if
  1714. end event
  1715. type dw_outware_log from u_dw_rbtnfilter within tabpage_2
  1716. integer y = 96
  1717. integer width = 2295
  1718. integer height = 672
  1719. integer taborder = 20
  1720. string dataobject = "dw_fx_outware_log"
  1721. boolean hscrollbar = true
  1722. boolean vscrollbar = true
  1723. boolean hsplitscroll = true
  1724. boolean rbutton_filter_use = true
  1725. boolean rbutton_setposition_use = true
  1726. boolean titleclick_sort_use = true
  1727. end type
  1728. event clicked;call super::clicked;if dw_edit_mode then return
  1729. if (row > 0) then
  1730. this.SelectRow(0, false)
  1731. this.SelectRow(row, true)
  1732. end if
  1733. end event
  1734. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
  1735. IF currentrow > 0 THEN
  1736. This.SelectRow(currentrow, True)
  1737. END IF
  1738. wf_retrieve_badqc()
  1739. end event
  1740. type tabpage_3 from userobject within tab_1
  1741. integer x = 18
  1742. integer y = 96
  1743. integer width = 3803
  1744. integer height = 744
  1745. long backcolor = 16777215
  1746. string text = "进度"
  1747. long tabtextcolor = 33554432
  1748. long tabbackcolor = 16777215
  1749. long picturemaskcolor = 536870912
  1750. cb_qty_ready_copy cb_qty_ready_copy
  1751. cb_quit_qty_ready cb_quit_qty_ready
  1752. cb_edit_qty_ready cb_edit_qty_ready
  1753. st_split st_split
  1754. cb_quit_jd cb_quit_jd
  1755. cb_delrow cb_delrow
  1756. cb_addrow cb_addrow
  1757. cb_edit_jd cb_edit_jd
  1758. dw_jd dw_jd
  1759. dw_jd_ordermx dw_jd_ordermx
  1760. end type
  1761. on tabpage_3.create
  1762. this.cb_qty_ready_copy=create cb_qty_ready_copy
  1763. this.cb_quit_qty_ready=create cb_quit_qty_ready
  1764. this.cb_edit_qty_ready=create cb_edit_qty_ready
  1765. this.st_split=create st_split
  1766. this.cb_quit_jd=create cb_quit_jd
  1767. this.cb_delrow=create cb_delrow
  1768. this.cb_addrow=create cb_addrow
  1769. this.cb_edit_jd=create cb_edit_jd
  1770. this.dw_jd=create dw_jd
  1771. this.dw_jd_ordermx=create dw_jd_ordermx
  1772. this.Control[]={this.cb_qty_ready_copy,&
  1773. this.cb_quit_qty_ready,&
  1774. this.cb_edit_qty_ready,&
  1775. this.st_split,&
  1776. this.cb_quit_jd,&
  1777. this.cb_delrow,&
  1778. this.cb_addrow,&
  1779. this.cb_edit_jd,&
  1780. this.dw_jd,&
  1781. this.dw_jd_ordermx}
  1782. end on
  1783. on tabpage_3.destroy
  1784. destroy(this.cb_qty_ready_copy)
  1785. destroy(this.cb_quit_qty_ready)
  1786. destroy(this.cb_edit_qty_ready)
  1787. destroy(this.st_split)
  1788. destroy(this.cb_quit_jd)
  1789. destroy(this.cb_delrow)
  1790. destroy(this.cb_addrow)
  1791. destroy(this.cb_edit_jd)
  1792. destroy(this.dw_jd)
  1793. destroy(this.dw_jd_ordermx)
  1794. end on
  1795. type cb_qty_ready_copy from commandbutton within tabpage_3
  1796. integer x = 571
  1797. integer width = 233
  1798. integer height = 84
  1799. integer taborder = 30
  1800. integer textsize = -9
  1801. integer weight = 400
  1802. fontcharset fontcharset = gb2312charset!
  1803. fontpitch fontpitch = variable!
  1804. string facename = "宋体"
  1805. boolean enabled = false
  1806. string text = "齐货"
  1807. end type
  1808. event clicked;long i
  1809. for i = 1 to dw_jd_ordermx.RowCount()
  1810. dw_jd_ordermx.Object.qty_ready[i] = dw_jd_ordermx.Object.qty[i]
  1811. next
  1812. dw_jd_ordermx.AcceptText()
  1813. end event
  1814. type cb_quit_qty_ready from commandbutton within tabpage_3
  1815. integer x = 334
  1816. integer width = 233
  1817. integer height = 84
  1818. integer taborder = 30
  1819. integer textsize = -9
  1820. integer weight = 400
  1821. fontcharset fontcharset = gb2312charset!
  1822. fontpitch fontpitch = variable!
  1823. string facename = "宋体"
  1824. boolean enabled = false
  1825. string text = "放弃"
  1826. end type
  1827. event clicked;//page1复制到page3
  1828. wf_copy_qty_ready(1)
  1829. edit_qty_ready = false
  1830. wf_face()
  1831. end event
  1832. type cb_edit_qty_ready from commandbutton within tabpage_3
  1833. integer width = 329
  1834. integer height = 84
  1835. integer taborder = 40
  1836. integer textsize = -9
  1837. integer weight = 400
  1838. fontcharset fontcharset = gb2312charset!
  1839. fontpitch fontpitch = variable!
  1840. string facename = "宋体"
  1841. string text = "修改分配数"
  1842. end type
  1843. event clicked;dw_jd_ordermx.SetFilter('')
  1844. dw_jd_ordermx.Filter()
  1845. dw_jd_ordermx.AcceptText()
  1846. long row
  1847. row = dw_saletask_list.GetRow()
  1848. if (row <= 0) then
  1849. MessageBox('提示', '没有选中的订单')
  1850. return
  1851. end if
  1852. if (edit_qty_ready) then // 保存
  1853. if (wf_save_qty_ready() = 0) then
  1854. return // 保存失败
  1855. else
  1856. //复制到page1 wf_copy_qty_ready(1)
  1857. wf_copy_qty_ready(3)
  1858. end if
  1859. else // 修改
  1860. end if
  1861. edit_qty_ready = not edit_qty_ready
  1862. wf_face()
  1863. end event
  1864. type st_split from u_lbs_stsplitbar within tabpage_3
  1865. integer x = 2304
  1866. integer y = 92
  1867. integer width = 14
  1868. integer height = 660
  1869. end type
  1870. event clicked;call super::clicked;parent.GetParent().GetParent().postevent('resize')
  1871. end event
  1872. type cb_quit_jd from commandbutton within tabpage_3
  1873. integer x = 2711
  1874. integer width = 233
  1875. integer height = 84
  1876. integer taborder = 60
  1877. integer textsize = -9
  1878. integer weight = 400
  1879. fontcharset fontcharset = gb2312charset!
  1880. fontpitch fontpitch = variable!
  1881. string facename = "宋体"
  1882. boolean enabled = false
  1883. string text = "放弃"
  1884. end type
  1885. event clicked;wf_retrieve_jd()
  1886. edit_jd = false
  1887. wf_face()
  1888. end event
  1889. type cb_delrow from commandbutton within tabpage_3
  1890. integer x = 3186
  1891. integer width = 233
  1892. integer height = 84
  1893. integer taborder = 50
  1894. integer textsize = -9
  1895. integer weight = 400
  1896. fontcharset fontcharset = gb2312charset!
  1897. fontpitch fontpitch = variable!
  1898. string facename = "宋体"
  1899. boolean enabled = false
  1900. string text = "删明细"
  1901. end type
  1902. event clicked;long row
  1903. row = dw_jd.GetRow()
  1904. if (row <= 0) then return
  1905. if not dw_jd.IsSelected(row) then
  1906. MessageBox('提示', '请选中需要删除的明细项')
  1907. return
  1908. end if
  1909. long index
  1910. if (dw_jd.Object.jdprintid[row] > 0) then
  1911. index = UpperBound(ins_s_jds_del.jdprintid) + 1
  1912. ins_s_jds_del.taskid[index] = dw_jd.Object.taskid[row]
  1913. ins_s_jds_del.printid[index] = dw_jd.Object.printid[row]
  1914. ins_s_jds_del.jdprintid[index] = dw_jd.Object.jdprintid[row]
  1915. end if
  1916. dw_jd.DeleteRow(row)
  1917. if (row - 1 > 0 and row - 1 <= dw_jd.RowCount()) then
  1918. dw_jd.SelectRow(0, false)
  1919. dw_jd.SelectRow(row - 1, true)
  1920. dw_jd.SetRow(row - 1)
  1921. end if
  1922. end event
  1923. type cb_addrow from commandbutton within tabpage_3
  1924. integer x = 2949
  1925. integer width = 233
  1926. integer height = 84
  1927. integer taborder = 40
  1928. integer textsize = -9
  1929. integer weight = 400
  1930. fontcharset fontcharset = gb2312charset!
  1931. fontpitch fontpitch = variable!
  1932. string facename = "宋体"
  1933. boolean enabled = false
  1934. string text = "增明细"
  1935. end type
  1936. event clicked;long row, taskid
  1937. row = dw_saletask_list.GetRow()
  1938. taskid = dw_saletask_list.Object.taskid[row]
  1939. if (taskid <= 0) then return
  1940. row = dw_jd_ordermx.GetRow()
  1941. if not dw_jd_ordermx.IsSelected(row) then return
  1942. long printid
  1943. printid = dw_jd_ordermx.Object.printid[row]
  1944. if (printid <= 0) then return
  1945. row = dw_jd.InsertRow(0)
  1946. dw_jd.Object.taskid[row] = taskid
  1947. dw_jd.Object.printid[row] = printid
  1948. dw_jd.Object.jdprintid[row] = 0
  1949. dw_jd.Object.wrkgrpname[row] = ''
  1950. dw_jd.Object.orderqty[row] = dw_jd_ordermx.Object.qty[dw_jd_ordermx.GetRow()]
  1951. dw_jd.Object.taskqty[row] = 0
  1952. dw_jd.Object.finishqty[row] = 0
  1953. dw_jd.Object.username[row] = ''
  1954. dw_jd.Object.editdate[row] = Today()
  1955. end event
  1956. type cb_edit_jd from commandbutton within tabpage_3
  1957. integer x = 2322
  1958. integer width = 384
  1959. integer height = 84
  1960. integer taborder = 30
  1961. integer textsize = -9
  1962. integer weight = 400
  1963. fontcharset fontcharset = gb2312charset!
  1964. fontpitch fontpitch = variable!
  1965. string facename = "宋体"
  1966. string text = "修改工组进度"
  1967. end type
  1968. event clicked;dw_jd.AcceptText()
  1969. long row
  1970. row = dw_saletask_list.GetRow()
  1971. if (row <= 0) then
  1972. MessageBox('提示', '没有选中的订单')
  1973. return
  1974. end if
  1975. if edit_jd then // 保存
  1976. if (wf_save_jd() = 0) then
  1977. return // 保存失败
  1978. else
  1979. ins_ds_jd.Reset()
  1980. end if
  1981. else // 修改
  1982. s_fx_wrkgrp_jd s_empty
  1983. ins_s_jds_del = s_empty // 进入修改模式,将存放待删的列表清空
  1984. end if
  1985. edit_jd = not edit_jd
  1986. wf_face()
  1987. end event
  1988. type dw_jd from u_dw_rbtnfilter within tabpage_3
  1989. integer x = 2322
  1990. integer y = 92
  1991. integer width = 2098
  1992. integer height = 752
  1993. integer taborder = 20
  1994. string dataobject = "dw_fx_wrkgrp_jd"
  1995. boolean hscrollbar = true
  1996. boolean vscrollbar = true
  1997. boolean rbutton_setposition_use = true
  1998. end type
  1999. event clicked;call super::clicked;if (row <= 0) then return
  2000. dw_jd.SelectRow(0, false)
  2001. dw_jd.SelectRow(row, true)
  2002. dw_jd.SetRow(row)
  2003. end event
  2004. event itemfocuschanged;call super::itemfocuschanged;if (row > 0) then
  2005. this.SelectRow(0, false)
  2006. this.SelectRow(row, true)
  2007. this.SetRow(row)
  2008. string colName
  2009. colName = this.GetColumnName()
  2010. if (colName = 'wrkgrpname' or colName = 'taskqty' or colName = 'finishqty') then
  2011. this.SelectText(1, Len(this.GetText()))
  2012. end if
  2013. end if
  2014. end event
  2015. type dw_jd_ordermx from u_dw_rbtnfilter within tabpage_3
  2016. integer y = 92
  2017. integer width = 2304
  2018. integer height = 676
  2019. integer taborder = 20
  2020. string dataobject = "dw_fx_saletaskmx_jd"
  2021. boolean hscrollbar = true
  2022. boolean vscrollbar = true
  2023. boolean hsplitscroll = true
  2024. boolean rbutton_filter_use = true
  2025. boolean rbutton_setposition_use = true
  2026. boolean titleclick_sort_use = true
  2027. end type
  2028. event clicked;call super::clicked;if edit_jd then return
  2029. if (row <= 0) then return
  2030. this.SelectRow(0, false)
  2031. this.SelectRow(row, true)
  2032. this.SetRow(row)
  2033. end event
  2034. event rowfocuschanged;call super::rowfocuschanged;if edit_jd then return
  2035. if IsNUll(currentrow) then return
  2036. this.SelectRow(0, false)
  2037. this.SelectRow(currentrow, true)
  2038. this.SetRow(currentrow)
  2039. wf_retrieve_jd()
  2040. end event
  2041. type tabpage_4 from userobject within tab_1
  2042. integer x = 18
  2043. integer y = 96
  2044. integer width = 3803
  2045. integer height = 744
  2046. long backcolor = 16777215
  2047. string text = "条码明细"
  2048. long tabtextcolor = 33554432
  2049. long tabbackcolor = 16777215
  2050. long picturemaskcolor = 536870912
  2051. dw_barcode dw_barcode
  2052. end type
  2053. on tabpage_4.create
  2054. this.dw_barcode=create dw_barcode
  2055. this.Control[]={this.dw_barcode}
  2056. end on
  2057. on tabpage_4.destroy
  2058. destroy(this.dw_barcode)
  2059. end on
  2060. type dw_barcode from u_dw_rbtnfilter within tabpage_4
  2061. integer y = 92
  2062. integer width = 3237
  2063. integer height = 648
  2064. integer taborder = 30
  2065. string dataobject = "dw_fx_saletask_buy_barcode"
  2066. boolean hscrollbar = true
  2067. boolean vscrollbar = true
  2068. boolean hsplitscroll = true
  2069. boolean rbutton_filter_use = true
  2070. boolean rbutton_setposition_use = true
  2071. boolean titleclick_sort_use = true
  2072. end type
  2073. event clicked;call super::clicked;if dw_edit_mode then return
  2074. if (row > 0) then
  2075. this.SelectRow(0, false)
  2076. this.SelectRow(row, true)
  2077. end if
  2078. end event
  2079. type st_1 from statictext within w_saletask_fx_cp
  2080. integer x = 5
  2081. integer y = 204
  2082. integer width = 288
  2083. integer height = 48
  2084. boolean bringtotop = true
  2085. integer textsize = -9
  2086. integer weight = 400
  2087. fontcharset fontcharset = gb2312charset!
  2088. fontpitch fontpitch = variable!
  2089. string facename = "宋体"
  2090. long textcolor = 33554432
  2091. long backcolor = 16777215
  2092. string text = "订单状态"
  2093. alignment alignment = center!
  2094. boolean focusrectangle = false
  2095. end type
  2096. type ddlb_status from dropdownlistbox within w_saletask_fx_cp
  2097. integer x = 279
  2098. integer y = 184
  2099. integer width = 320
  2100. integer height = 496
  2101. integer taborder = 70
  2102. boolean bringtotop = true
  2103. integer textsize = -9
  2104. integer weight = 400
  2105. fontcharset fontcharset = gb2312charset!
  2106. fontpitch fontpitch = variable!
  2107. string facename = "宋体"
  2108. long textcolor = 33554432
  2109. boolean sorted = false
  2110. boolean vscrollbar = true
  2111. string item[] = {"全部","待接收","已终止","已拒绝","待回复","在进行","完成"}
  2112. borderstyle borderstyle = stylelowered!
  2113. end type
  2114. event selectionchanged;wf_retrieve_saletask( )
  2115. end event
  2116. type st_2 from statictext within w_saletask_fx_cp
  2117. integer x = 613
  2118. integer y = 204
  2119. integer width = 288
  2120. integer height = 48
  2121. boolean bringtotop = true
  2122. integer textsize = -9
  2123. integer weight = 400
  2124. fontcharset fontcharset = gb2312charset!
  2125. fontpitch fontpitch = variable!
  2126. string facename = "宋体"
  2127. long textcolor = 33554432
  2128. long backcolor = 16777215
  2129. string text = "订单日期从"
  2130. alignment alignment = center!
  2131. boolean focusrectangle = false
  2132. end type
  2133. type em_datea from editmask within w_saletask_fx_cp
  2134. integer x = 905
  2135. integer y = 188
  2136. integer width = 389
  2137. integer height = 84
  2138. integer taborder = 80
  2139. boolean bringtotop = true
  2140. integer textsize = -9
  2141. integer weight = 400
  2142. fontcharset fontcharset = gb2312charset!
  2143. fontpitch fontpitch = variable!
  2144. string facename = "宋体"
  2145. long textcolor = 33554432
  2146. string text = "0000-00-00"
  2147. borderstyle borderstyle = stylelowered!
  2148. maskdatatype maskdatatype = datemask!
  2149. string mask = "yyyy-mm-dd"
  2150. boolean spin = true
  2151. end type
  2152. type st_3 from statictext within w_saletask_fx_cp
  2153. integer x = 1298
  2154. integer y = 204
  2155. integer width = 96
  2156. integer height = 48
  2157. boolean bringtotop = true
  2158. integer textsize = -9
  2159. integer weight = 400
  2160. fontcharset fontcharset = gb2312charset!
  2161. fontpitch fontpitch = variable!
  2162. string facename = "宋体"
  2163. long textcolor = 33554432
  2164. long backcolor = 16777215
  2165. string text = "到"
  2166. alignment alignment = center!
  2167. boolean focusrectangle = false
  2168. end type
  2169. type em_datez from editmask within w_saletask_fx_cp
  2170. integer x = 1390
  2171. integer y = 188
  2172. integer width = 389
  2173. integer height = 84
  2174. integer taborder = 90
  2175. boolean bringtotop = true
  2176. integer textsize = -9
  2177. integer weight = 400
  2178. fontcharset fontcharset = gb2312charset!
  2179. fontpitch fontpitch = variable!
  2180. string facename = "宋体"
  2181. long textcolor = 33554432
  2182. string text = "0000-00-00"
  2183. borderstyle borderstyle = stylelowered!
  2184. maskdatatype maskdatatype = datemask!
  2185. string mask = "yyyy-mm-dd"
  2186. boolean spin = true
  2187. end type
  2188. type st_4 from statictext within w_saletask_fx_cp
  2189. integer x = 1829
  2190. integer y = 204
  2191. integer width = 224
  2192. integer height = 48
  2193. boolean bringtotop = true
  2194. integer textsize = -9
  2195. integer weight = 400
  2196. fontcharset fontcharset = gb2312charset!
  2197. fontpitch fontpitch = variable!
  2198. string facename = "宋体"
  2199. long textcolor = 33554432
  2200. long backcolor = 16777215
  2201. string text = "单号含"
  2202. alignment alignment = center!
  2203. boolean focusrectangle = false
  2204. end type
  2205. type sle_likestr from u_sleedit within w_saletask_fx_cp
  2206. integer x = 2034
  2207. integer y = 188
  2208. integer height = 84
  2209. integer taborder = 100
  2210. boolean bringtotop = true
  2211. end type
  2212. event keydown;call super::keydown;if (key = KeyEnter!) then
  2213. ins_cur_pageNum = 1
  2214. wf_retrieve_saletask( )
  2215. end if
  2216. end event
  2217. type cb_toppage from uo_imflatbutton within w_saletask_fx_cp
  2218. integer x = 3488
  2219. integer width = 151
  2220. integer height = 164
  2221. integer taborder = 40
  2222. boolean bringtotop = true
  2223. string text = "首页"
  2224. boolean border = false
  2225. end type
  2226. event clicked;call super::clicked;ins_cur_pageNum = 1
  2227. wf_retrieve_saletask( )
  2228. end event
  2229. type cb_page_ch from uo_imflatbutton within w_saletask_fx_cp
  2230. integer x = 3643
  2231. integer width = 82
  2232. integer height = 164
  2233. integer taborder = 50
  2234. boolean bringtotop = true
  2235. string text = "▼"
  2236. toolbaralignment pic_align = alignattop!
  2237. boolean border = false
  2238. end type
  2239. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2240. string menustr
  2241. menustr="Text=下页~tEvent=ue_page_next"
  2242. menustr = menustr + "|" + "Text=上页~tEvent=ue_page_before"
  2243. menustr = menustr + "|" + "Text=末页~tEvent=ue_page_end"
  2244. if len(trim(menustr))<>0 then
  2245. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  2246. dmPopupMenu.mf_BuildMenu(This, menustr)
  2247. dmPopupMenu.mf_PopMenu()
  2248. Destroy dmPopupMenu
  2249. end if
  2250. end event
  2251. type em_pagesize from editmask within w_saletask_fx_cp
  2252. integer x = 3177
  2253. integer y = 44
  2254. integer width = 306
  2255. integer height = 84
  2256. integer taborder = 30
  2257. boolean bringtotop = true
  2258. integer textsize = -9
  2259. integer weight = 400
  2260. fontcharset fontcharset = gb2312charset!
  2261. fontpitch fontpitch = variable!
  2262. string facename = "宋体"
  2263. long textcolor = 33554432
  2264. string text = "100"
  2265. alignment alignment = right!
  2266. borderstyle borderstyle = stylelowered!
  2267. string mask = "#####0"
  2268. boolean spin = true
  2269. double increment = 1
  2270. string minmax = "1~~"
  2271. end type
  2272. type cb_outware from uo_imflatbutton within w_saletask_fx_cp
  2273. boolean visible = false
  2274. integer x = 155
  2275. integer width = 151
  2276. integer height = 164
  2277. boolean bringtotop = true
  2278. string text = "发货"
  2279. string normalpicname = "graphics\fn1146.bmp"
  2280. integer picsize = 16
  2281. toolbaralignment pic_align = alignattop!
  2282. boolean border = false
  2283. end type
  2284. event clicked;call super::clicked;if (edit_jd or edit_qty_ready) then return
  2285. string arg_msg
  2286. if (f_find_fx_user_power(40, ref arg_msg) <> 1) then // 40-采购订单发货
  2287. MessageBox('权限提示', arg_msg)
  2288. return
  2289. end if
  2290. long row
  2291. row = dw_saletask_list.GetRow()
  2292. if (row <= 0) then
  2293. MessageBox('提示', '请选择需要发货的订单')
  2294. return
  2295. end if
  2296. dw_saletaskmx.SetFilter('')
  2297. dw_saletaskmx.Filter()
  2298. long cnt
  2299. cnt = dw_saletaskmx.RowCount()
  2300. if (cnt <= 0) then
  2301. MessageBox('提示', '订单没有明细内容')
  2302. return
  2303. end if
  2304. datastore ds
  2305. ds = create datastore
  2306. ds.DataObject = 'dw_fx_saletaskmx'
  2307. ds.Object.Data = dw_saletaskmx.Object.Data
  2308. OpenWithParm(w_outware_fx, ds)
  2309. long ret
  2310. ret = Message.DoubleParm
  2311. if not IsNull(ret) then
  2312. if (ret = 1) then // 发货成功
  2313. dw_outware_log.ReSet()
  2314. wf_retrieve_outwarelog()
  2315. end if
  2316. end if
  2317. end event
  2318. type cb_retrieve from uo_imflatbutton within w_saletask_fx_cp
  2319. integer width = 151
  2320. integer height = 164
  2321. integer taborder = 10
  2322. boolean bringtotop = true
  2323. string text = "刷新"
  2324. string normalpicname = "refresh.bmp"
  2325. integer picsize = 16
  2326. toolbaralignment pic_align = alignattop!
  2327. boolean border = false
  2328. end type
  2329. event clicked;call super::clicked;wf_retrieve_saletask( )
  2330. end event
  2331. type cb_print from uo_imflatbutton within w_saletask_fx_cp
  2332. boolean visible = false
  2333. integer x = 311
  2334. integer width = 151
  2335. integer height = 164
  2336. integer taborder = 60
  2337. boolean bringtotop = true
  2338. integer weight = 700
  2339. string text = "打印"
  2340. string normalpicname = "print.BMP"
  2341. integer picsize = 16
  2342. toolbaralignment pic_align = alignattop!
  2343. boolean border = false
  2344. end type
  2345. event clicked;call super::clicked;if (edit_jd or edit_qty_ready) then return
  2346. string arg_msg
  2347. if (f_find_fx_user_power(36, ref arg_msg) <> 1) then // 36-采购订单数据发送
  2348. MessageBox('权限提示', arg_msg)
  2349. return
  2350. end if
  2351. long row
  2352. row = dw_saletask_list.GetRow()
  2353. if (row <= 0) then return
  2354. if (not dw_saletask_list.IsSelected(row)) then return
  2355. if (dw_saletaskmx.RowCount() <= 0) then return
  2356. datastore ds_report
  2357. ds_report = create datastore
  2358. ds_report.dataobject = 'dw_fx_print_saletask_qc'
  2359. //long i
  2360. //s_fx_saletaskmx mx[]
  2361. //for i = 1 to dw_saletaskmx.RowCount()
  2362. // mx[i].printid = dw_saletaskmx.Object.printid[i]
  2363. // mx[i].mtrlcode = dw_saletaskmx.Object.mtrlcode[i]
  2364. // mx[i].mtrlname = dw_saletaskmx.Object.mtrlname[i]
  2365. // mx[i].status = dw_saletaskmx.Object.status[i]
  2366. // mx[i].woodcode = dw_saletaskmx.Object.woodcode[i]
  2367. // mx[i].pcode = dw_saletaskmx.Object.pcode[i]
  2368. // mx[i].qty = dw_saletaskmx.Object.qty[i]
  2369. // mx[i].price = dw_saletaskmx.Object.price[i]
  2370. // mx[i].mxdscrp = dw_saletaskmx.Object.mxdscrp[i]
  2371. // mx[i].mxdscrp2 = dw_saletaskmx.Object.mxdscrp2[i]
  2372. // mx[i].mtrlcuscode = dw_saletaskmx.Object.mtrlcuscode[i]
  2373. // mx[i].mtrlmode = dw_saletaskmx.Object.mtrlmode[i]
  2374. // mx[i].requiredate = dw_saletaskmx.Object.requiredate[i]
  2375. //next
  2376. //
  2377. //s_fx_saletask s_tran
  2378. //s_tran.tid = dw_saletask_list.Object.tid[row]
  2379. //s_tran.requiredate = dw_saletask_list.Object.requiredate[row]
  2380. //s_tran.cus_rep = dw_saletask_list.Object.cus_rep[row]
  2381. //s_tran.cus_tele = dw_saletask_list.Object.cus_tele[row]
  2382. //s_tran.cus_address = dw_saletask_list.Object.cus_address[row]
  2383. //s_tran.freight = dw_saletask_list.Object.freight[row]
  2384. //s_tran.freight_tele = dw_saletask_list.Object.freight_tele[row]
  2385. //s_tran.buyer_name = dw_saletask_list.Object.buyer_name[row]
  2386. //s_tran.buyer_tele = dw_saletask_list.Object.buyer_tele[row]
  2387. //s_tran.temp1 = dw_saletask_list.Object.temp1[row]
  2388. //s_tran.temp2 = dw_saletask_list.Object.temp2[row]
  2389. //s_tran.temp3 = dw_saletask_list.Object.temp3[row]
  2390. //s_tran.taskcode = dw_saletask_list.Object.taskcode[row]
  2391. //s_tran.mx = mx
  2392. //OpenWithParm(w_print_saletask_fx, s_tran)
  2393. long i, ll_row
  2394. for i = 1 to dw_saletaskmx.RowCount()
  2395. ll_row = ds_report.InsertRow(0)
  2396. ds_report.Object.taskcode[ll_row] = dw_saletask_list.Object.taskcode[row]
  2397. ds_report.Object.mtrlcode[ll_row] = dw_saletaskmx.Object.mtrlcode[i]
  2398. ds_report.Object.mtrlname[ll_row] = dw_saletaskmx.Object.mtrlname[i]
  2399. ds_report.Object.mtrlmode[ll_row] = dw_saletaskmx.Object.mtrlmode[i]
  2400. ds_report.Object.status[ll_row] = dw_saletaskmx.Object.status[i]
  2401. ds_report.Object.qty[ll_row] = dw_saletaskmx.Object.qty[i]
  2402. ds_report.Object.requiredate[ll_row] = dw_saletaskmx.Object.requiredate[i]
  2403. next
  2404. S_print_MSG LS_PRMSG
  2405. LS_PRMSG.obj_dwNAME='dw_fx_print_saletask_qc'
  2406. LS_PRMSG.SHARE_DW=ds_report
  2407. LS_PRMSG.TAG_TEXT='销售发货单'
  2408. LS_PRMSG.SETUP_FLAG=0
  2409. LS_PRMSG.PAGECH_FLAG=1
  2410. Openwithparm(w_publ_preview,LS_PRMSG)
  2411. //s_tran.taskdate = dw_saletask_list.Object.taskdate[i]
  2412. //s_tran.opemp = dw_saletask_list.Object.opemp[i]
  2413. //s_tran.opdate = dw_saletask_list.Object.opdate[i]
  2414. //s_tran.modemp = dw_saletask_list.Object.modemp[i]
  2415. //s_tran.moddate = dw_saletask_list.Object.moddate[i]
  2416. //s_tran.temp4 = dw_saletask_list.Object.temp4[i]
  2417. //s_tran.temp5 = dw_saletask_list.Object.temp5[i]
  2418. //s_tran.temp6 = dw_saletask_list.Object.temp6[i]
  2419. //s_tran.price_emp = dw_saletask_list.Object.price_emp[i]
  2420. //s_tran.replyrqdate = dw_saletask_list.Object.replyrqdate[i]
  2421. //s_tran.replydscrp = dw_saletask_list.Object.replydscrp[i]
  2422. //s_tran.replydate = dw_saletask_list.Object.replydate[i]
  2423. //s_tran.confirmemp = dw_saletask_list.Object.confirmemp[i]
  2424. //s_tran.confirmdate = dw_saletask_list.Object.confirmdate[i]
  2425. //s_tran.status = dw_saletask_list.Object.status[i]
  2426. //s_tran.taskcode = dw_saletask_list.Object.taskcode[i]
  2427. //s_tran.outwarecode = dw_saletask_list.Object.outwarecode[i]
  2428. //s_tran.fstatus = dw_saletask_list.Object.fstatus[i]
  2429. end event
  2430. type cb_2 from uo_imflatbutton within w_saletask_fx_cp
  2431. boolean visible = false
  2432. integer x = 1262
  2433. integer width = 549
  2434. integer height = 164
  2435. integer taborder = 40
  2436. boolean bringtotop = true
  2437. boolean enabled = false
  2438. string text = "采购订单明细跟踪表"
  2439. string normalpicname = "graphics\p1.jpg"
  2440. integer picsize = 16
  2441. toolbaralignment pic_align = alignattop!
  2442. boolean border = false
  2443. end type
  2444. event clicked;call super::clicked;s_edit_index_tran s_tran
  2445. openwithparm(w_saletaskmx_tracking,s_tran)
  2446. end event
  2447. type cb_file from uo_imflatbutton within w_saletask_fx_cp
  2448. integer x = 155
  2449. integer height = 164
  2450. integer taborder = 40
  2451. boolean bringtotop = true
  2452. string text = "附件管理"
  2453. string normalpicname = "fj.bmp"
  2454. integer picsize = 16
  2455. toolbaralignment pic_align = alignattop!
  2456. boolean border = false
  2457. end type
  2458. event clicked;call super::clicked;long currentrow
  2459. string ls_taskcode,ls_mtfj_status
  2460. currentrow = dw_saletask_list.GetRow()
  2461. IF currentrow <= 0 THEN
  2462. MessageBox('提示', '请先选择权限!')
  2463. RETURN
  2464. END IF
  2465. ls_taskcode = dw_saletask_list.Object.taskcode[currentrow]
  2466. ls_mtfj_status = dw_saletask_list.Object.mtfj_status[currentrow]
  2467. s_edit_index_tran s_pic
  2468. s_pic.d_string = '附件管理[' + ls_taskcode + ']'
  2469. s_pic.e_string = ls_mtfj_status
  2470. s_pic.d_long = 401
  2471. s_pic.e_long = dw_saletask_list.Object.taskid[currentrow]
  2472. s_pic.f_long = 0
  2473. OpenWithParm(w_fj_manage_saletask,s_pic)
  2474. end event
  2475. type st_5 from statictext within w_saletask_fx_cp
  2476. integer x = 1065
  2477. integer y = 1640
  2478. integer width = 864
  2479. integer height = 48
  2480. boolean bringtotop = true
  2481. integer textsize = -9
  2482. integer weight = 400
  2483. fontcharset fontcharset = gb2312charset!
  2484. fontpitch fontpitch = variable!
  2485. string facename = "宋体"
  2486. long textcolor = 33554432
  2487. long backcolor = 16777215
  2488. string text = "*双击订单明细可查看物料质检项目"
  2489. long bordercolor = 16777215
  2490. boolean focusrectangle = false
  2491. end type
  2492. type cb_3 from commandbutton within w_saletask_fx_cp
  2493. integer x = 37
  2494. integer y = 1712
  2495. integer width = 315
  2496. integer height = 84
  2497. integer taborder = 140
  2498. boolean bringtotop = true
  2499. integer textsize = -9
  2500. integer weight = 400
  2501. fontcharset fontcharset = gb2312charset!
  2502. fontpitch fontpitch = variable!
  2503. string facename = "宋体"
  2504. string text = "录入完工"
  2505. end type
  2506. event clicked;long row
  2507. row = dw_saletask_list.getrow()
  2508. IF row <= 0 THEN RETURN
  2509. s_edit_index_tran s_tran
  2510. s_tran.b_long = dw_saletask_list.object.taskid[row]
  2511. s_tran.b_string = dw_saletask_list.object.outwarecode[row]
  2512. openwithparm(w_saletask_fx_finish_edit,s_tran)
  2513. end event
  2514. type cb_4 from commandbutton within w_saletask_fx_cp
  2515. integer x = 357
  2516. integer y = 1712
  2517. integer width = 315
  2518. integer height = 84
  2519. integer taborder = 150
  2520. boolean bringtotop = true
  2521. integer textsize = -9
  2522. integer weight = 400
  2523. fontcharset fontcharset = gb2312charset!
  2524. fontpitch fontpitch = variable!
  2525. string facename = "宋体"
  2526. string text = "删除完工"
  2527. end type
  2528. event clicked;long row
  2529. row = dw_saletask_list.getrow()
  2530. IF row <= 0 THEN RETURN
  2531. s_edit_index_tran s_tran
  2532. s_tran.b_long = dw_saletask_list.object.taskid[row]
  2533. s_tran.b_string = dw_saletask_list.object.outwarecode[row]
  2534. openwithparm(w_saletask_fx_finish_edit_del,s_tran)
  2535. end event
  2536. type cb_5 from uo_imflatbutton within w_saletask_fx_cp
  2537. integer x = 462
  2538. integer width = 151
  2539. integer height = 164
  2540. integer taborder = 120
  2541. boolean bringtotop = true
  2542. string text = "预览"
  2543. string normalpicname = "print.bmp"
  2544. integer picsize = 16
  2545. toolbaralignment pic_align = alignattop!
  2546. boolean border = false
  2547. end type
  2548. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2549. string menustr
  2550. menustr="Text=预览整单条码~tEvent=ue_preview_all"
  2551. menustr = menustr + "|" + "Text=预览选中条码~tEvent=ue_preview_choice"
  2552. if len(trim(menustr))<>0 then
  2553. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  2554. dmPopupMenu.mf_BuildMenu(This, menustr)
  2555. dmPopupMenu.mf_PopMenu()
  2556. Destroy dmPopupMenu
  2557. end if
  2558. end event
  2559. type cb_6 from uo_imflatbutton within w_saletask_fx_cp
  2560. integer x = 617
  2561. integer width = 151
  2562. integer height = 164
  2563. integer taborder = 30
  2564. boolean bringtotop = true
  2565. string text = "打印"
  2566. string normalpicname = "print.bmp"
  2567. integer picsize = 16
  2568. toolbaralignment pic_align = alignattop!
  2569. boolean border = false
  2570. end type
  2571. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2572. string menustr
  2573. menustr="Text=打印整单条码~tEvent=ue_print_all"
  2574. menustr = menustr + "|" + "Text=打印选中条码~tEvent=ue_print_choice"
  2575. if len(trim(menustr))<>0 then
  2576. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  2577. dmPopupMenu.mf_BuildMenu(This, menustr)
  2578. dmPopupMenu.mf_PopMenu()
  2579. Destroy dmPopupMenu
  2580. end if
  2581. end event
  2582. type cbx_all from checkbox within w_saletask_fx_cp
  2583. integer x = 37
  2584. integer y = 1728
  2585. integer width = 261
  2586. integer height = 60
  2587. boolean bringtotop = true
  2588. integer textsize = -9
  2589. integer weight = 400
  2590. fontcharset fontcharset = gb2312charset!
  2591. fontpitch fontpitch = variable!
  2592. string facename = "宋体"
  2593. long textcolor = 33554432
  2594. long backcolor = 16777215
  2595. string text = "全选"
  2596. end type
  2597. event clicked;Long ll_i
  2598. dw_barcode.SetRedraw(FALSE)
  2599. FOR ll_i = 1 TO dw_barcode.RowCount()
  2600. IF THIS.Checked THEN
  2601. dw_barcode.Object.ch[ll_i] = 1
  2602. ELSE
  2603. dw_barcode.Object.ch[ll_i] = 0
  2604. END IF
  2605. NEXT
  2606. dw_barcode.SetRedraw(TRUE)
  2607. end event
  2608. type cb_8 from uo_imflatbutton within w_saletask_fx_cp
  2609. boolean visible = false
  2610. integer x = 462
  2611. integer height = 164
  2612. integer taborder = 80
  2613. boolean bringtotop = true
  2614. boolean enabled = false
  2615. string text = "修改信息"
  2616. string normalpicname = "update.bmp"
  2617. integer picsize = 16
  2618. toolbaralignment pic_align = alignattop!
  2619. boolean border = false
  2620. end type
  2621. event clicked;call super::clicked;long row
  2622. row = dw_saletask_list.getrow()
  2623. IF row = 0 THEN
  2624. messagebox("提示","请选择单据")
  2625. return
  2626. END IF
  2627. IF dw_saletaskmx.rowcount() = 0 THEN
  2628. messagebox("提示","没有订单明细,操作取消")
  2629. return
  2630. END IF
  2631. s_edit_index_tran s_tran
  2632. s_tran.arg_dw = dw_saletaskmx
  2633. s_tran.b_long = dw_saletask_list.object.tid[row]
  2634. s_tran.c_long = dw_saletask_list.object.taskid[row]
  2635. openwithparm(w_saletask_fx_cp_edit,s_tran)
  2636. end event