w_fx_check_bill_result.srw 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868
  1. $PBExportHeader$w_fx_check_bill_result.srw
  2. forward
  3. global type w_fx_check_bill_result from w_publ_base
  4. end type
  5. type cb_addware from uo_imflatbutton within w_fx_check_bill_result
  6. end type
  7. type dw_1 from datawindow within w_fx_check_bill_result
  8. end type
  9. type dw_2 from datawindow within w_fx_check_bill_result
  10. end type
  11. end forward
  12. global type w_fx_check_bill_result from w_publ_base
  13. integer width = 2839
  14. integer height = 2344
  15. string title = "录入质检结果"
  16. boolean minbox = false
  17. windowtype windowtype = response!
  18. boolean center = true
  19. event ue_f8 ( )
  20. event ue_f9 ( )
  21. event ue_allowedit ( )
  22. cb_addware cb_addware
  23. dw_1 dw_1
  24. dw_2 dw_2
  25. end type
  26. global w_fx_check_bill_result w_fx_check_bill_result
  27. type variables
  28. Long ins_billid
  29. Long ins_printid
  30. s_check_bill_mx s_mx //传递参数使用
  31. end variables
  32. forward prototypes
  33. public subroutine wf_init_dw1 ()
  34. end prototypes
  35. event ue_f9();
  36. //long uc_row
  37. //uc_row=dw_1.getrow()
  38. //dw_1.accepttext()
  39. //if not isvalid(W_cust_edit) then
  40. // s_edit_index_tran s_ch_tran //传递参数使用
  41. // s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  42. // s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  43. // s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  44. // //查询列(物料编码)部分内容,用于初步筛选
  45. // s_ch_tran.arg_string_code=upper(trim(dw_1.object.u_cust_cuscode[dw_1.getrow()]))
  46. //
  47. // OPENwithparm(W_cust_edit,s_ch_tran) //调用
  48. //
  49. // s_custom S_INSCUST
  50. // S_INSCUST=Message.PowerObjectParm //接受返回结构
  51. //
  52. // IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值
  53. // dw_1.setredraw(false)
  54. // dw_1.object.u_warepdb_sptid[uc_row]=S_INSCUST.cusid
  55. // dw_1.object.u_cust_name[uc_row]=S_INSCUST.name
  56. // dw_1.object.u_cust_cuscode[uc_row]=S_INSCUST.cuscode
  57. // dw_1.setredraw(true)
  58. //
  59. // END IF
  60. //end if
  61. //end event
  62. //
  63. //event ue_allowedit();Long Columns
  64. //Int i
  65. //String ls_modify_str
  66. //Long ll_row
  67. //Long ll_value
  68. //Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  69. //String ls_status,ls_woodcode,ls_pcode
  70. //
  71. //String ls_data_type
  72. //
  73. //ll_row = dw_1.GetRow()
  74. //IF ll_row <= 0 THEN RETURN
  75. //
  76. //Columns = Long(dw_1.Describe("DataWindow.Column.Count"))
  77. //
  78. //FOR i = 1 TO Columns
  79. // ls_modify_str = dw_1.Describe("#" + String(i) + ".name")
  80. // ls_modify_str = Lower(ls_modify_str)
  81. //
  82. // IF i = 1 THEN //第1个字段,约定物料ID
  83. // ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  84. // IF ls_data_type = "long" THEN
  85. // ll_value = dw_1.GetItemNumber(ll_row,ls_modify_str)
  86. // END IF
  87. // END IF
  88. //
  89. // IF Pos(ls_modify_str,'statusflag') > 0 THEN
  90. // ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  91. // IF ls_data_type = "long" THEN
  92. // ll_statusflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  93. // END IF
  94. // END IF
  95. //
  96. // IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
  97. // ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  98. // IF ls_data_type = "long" THEN
  99. // ll_woodcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  100. // END IF
  101. // END IF
  102. //
  103. // IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
  104. // ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  105. // IF ls_data_type = "long" THEN
  106. // ll_pcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  107. // END IF
  108. // END IF
  109. //
  110. // IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN
  111. // IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN
  112. // IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR &
  113. // Pos(ls_modify_str,'u_buytask_status') > 0 OR &
  114. // Pos(ls_modify_str,'u_order_ml_status') > 0 OR &
  115. // Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR &
  116. // Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
  117. // ls_status = ls_modify_str
  118. // END IF
  119. // END IF
  120. // END IF
  121. //
  122. // IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN
  123. // IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN
  124. // ls_woodcode = ls_modify_str
  125. // END IF
  126. // END IF
  127. //
  128. // IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN
  129. // IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN
  130. // ls_pcode = ls_modify_str
  131. // END IF
  132. // END IF
  133. //
  134. //NEXT
  135. //
  136. //IF ls_status <> '' THEN
  137. // IF ll_statusflag <> 0 OR ll_value = 0 THEN
  138. // dw_1.Modify(ls_status+".dddw.allowedit = no")
  139. // ELSE
  140. // dw_1.Modify(ls_status+".dddw.allowedit = yes")
  141. // END IF
  142. //END IF
  143. //
  144. //IF ls_woodcode <> '' THEN
  145. // IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
  146. // dw_1.Modify(ls_woodcode+".dddw.allowedit = no")
  147. // ELSE
  148. // dw_1.Modify(ls_woodcode+".dddw.allowedit = yes")
  149. // END IF
  150. //END IF
  151. //
  152. //IF ls_pcode <> '' THEN
  153. // IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
  154. // dw_1.Modify(ls_pcode+".dddw.allowedit = no")
  155. // ELSE
  156. // dw_1.Modify(ls_pcode+".dddw.allowedit = yes")
  157. // END IF
  158. //END IF
  159. end event
  160. public subroutine wf_init_dw1 ();//
  161. Long ll_row,i
  162. dw_1.Reset()
  163. ll_row = dw_1.InsertRow(0)
  164. dw_1.Object.billid[ll_row] = s_mx.billid
  165. dw_1.Object.printid[ll_row] = s_mx.printid
  166. dw_1.Object.taskcode[ll_row] = s_mx.taskcode
  167. dw_1.Object.reltaskid[ll_row] = s_mx.reltaskid
  168. dw_1.Object.relprintid[ll_row] = s_mx.relprintid
  169. dw_1.Object.forqty[ll_row] = s_mx.forqty
  170. dw_1.Object.passqty[ll_row] = s_mx.passqty
  171. dw_1.Object.checktype[ll_row] = s_mx.checktype
  172. dw_1.Object.checkqty[ll_row] = s_mx.checkqty
  173. dw_1.Object.goodqty[ll_row] = s_mx.goodqty
  174. dw_1.Object.badqty[ll_row] = s_mx.badqty
  175. dw_1.Object.finishflag[ll_row] = s_mx.finishflag
  176. dw_1.Object.checkemp[ll_row] = s_mx.checkemp
  177. dw_1.Object.checkdate[ll_row] = s_mx.checkdate
  178. dw_1.Object.mxdscrp[ll_row] = s_mx.mxdscrp
  179. dw_1.Object.mtrlcode[ll_row] = s_mx.mtrlcode
  180. dw_1.Object.mtrlname[ll_row] = s_mx.mtrlname
  181. dw_1.Object.mtrlmode[ll_row] = s_mx.mtrlmode
  182. dw_1.Object.status[ll_row] = s_mx.status
  183. dw_1.Object.woodcode[ll_row] = s_mx.woodcode
  184. dw_1.Object.pcode[ll_row] = s_mx.pcode
  185. dw_2.Reset()
  186. FOR i = 1 To UpperBound(s_mx.itemmx)
  187. ll_row = dw_2.InsertRow(0)
  188. dw_2.Object.fx_check_bill_itemmx_billid[ll_row] = s_mx.itemmx[i].billid
  189. dw_2.Object.fx_check_bill_itemmx_printid[ll_row] = s_mx.itemmx[i].printid
  190. dw_2.Object.fx_check_bill_itemmx_mxid[ll_row] = s_mx.itemmx[i].mxid
  191. dw_2.Object.fx_check_bill_itemmx_itemid_erp[ll_row] = s_mx.itemmx[i].itemid_erp
  192. dw_2.Object.fx_check_bill_itemmx_qcresult[ll_row] = s_mx.itemmx[i].qcresult
  193. dw_2.Object.fx_check_bill_itemmx_goodqty[ll_row] = s_mx.itemmx[i].goodqty
  194. dw_2.Object.fx_check_bill_itemmx_badqty[ll_row] = s_mx.itemmx[i].badqty
  195. dw_2.Object.fx_checkitem_itemname[ll_row] = s_mx.itemmx[i].itemname
  196. NEXT
  197. //s_mx
  198. end subroutine
  199. on w_fx_check_bill_result.create
  200. int iCurrent
  201. call super::create
  202. this.cb_addware=create cb_addware
  203. this.dw_1=create dw_1
  204. this.dw_2=create dw_2
  205. iCurrent=UpperBound(this.Control)
  206. this.Control[iCurrent+1]=this.cb_addware
  207. this.Control[iCurrent+2]=this.dw_1
  208. this.Control[iCurrent+3]=this.dw_2
  209. end on
  210. on w_fx_check_bill_result.destroy
  211. call super::destroy
  212. destroy(this.cb_addware)
  213. destroy(this.dw_1)
  214. destroy(this.dw_2)
  215. end on
  216. event open;call super::open;
  217. s_mx = Message.PowerObjectParm
  218. wf_init_dw1()
  219. //dw_1.SetTransObject(sqlca)
  220. //dw_2.SetTransObject(sqlca)
  221. //dw_1.retrieve(ins_billid,ins_printid)
  222. //dw_2.retrieve(ins_billid,ins_printid)
  223. end event
  224. type cb_func from w_publ_base`cb_func within w_fx_check_bill_result
  225. boolean visible = false
  226. integer x = 320
  227. integer y = 860
  228. end type
  229. type cb_exit from w_publ_base`cb_exit within w_fx_check_bill_result
  230. integer x = 1495
  231. integer y = 2116
  232. string text = "取消"
  233. end type
  234. type cb_addware from uo_imflatbutton within w_fx_check_bill_result
  235. integer x = 933
  236. integer y = 2116
  237. integer width = 311
  238. integer height = 96
  239. integer taborder = 130
  240. boolean bringtotop = true
  241. end type
  242. event clicked;call super::clicked;Int rslt = 1
  243. Long j
  244. String arg_msg
  245. If (dw_2.RowCount() <= 0) THEN
  246. rslt = 0
  247. arg_msg = '没有明细'
  248. GOTO ext
  249. END IF
  250. Long ll_getrow
  251. ll_getrow = dw_1.GetRow()
  252. //dw_1.Object.goodqty[dw_1.GetRow()] = Dec(dw_2.Describe("Evaluate('sum_goodqty',0)"))
  253. //dw_1.Object.badqty[dw_1.GetRow()] = Dec (dw_2.Describe("Evaluate('sum_badqty',0)"))
  254. String ls_dscrp
  255. DateTime ldt_billdate
  256. Date ld_tempdate
  257. dw_1.AcceptText()
  258. dw_2.AcceptText()
  259. oleobject mx , itemList , Item_1 ,filedatas
  260. mx = FXAppCom.CreatePbDictionary()
  261. IF IsNull(dw_1.Object.billid[ll_getrow]) THEN dw_1.Object.billid[ll_getrow] = 0
  262. IF IsNull(dw_1.Object.printid[ll_getrow]) THEN dw_1.Object.printid[ll_getrow] = 0
  263. IF IsNull(dw_1.Object.taskcode[ll_getrow]) THEN dw_1.Object.taskcode[ll_getrow] = ''
  264. IF IsNull(dw_1.Object.reltaskid[ll_getrow]) THEN dw_1.Object.reltaskid[ll_getrow] = 0
  265. IF IsNull(dw_1.Object.relprintid[ll_getrow]) THEN dw_1.Object.relprintid[ll_getrow] = 0
  266. IF IsNull(dw_1.Object.forqty[ll_getrow]) THEN dw_1.Object.forqty[ll_getrow] = 0
  267. IF IsNull(dw_1.Object.passqty[ll_getrow]) THEN dw_1.Object.passqty[ll_getrow] = 0
  268. IF IsNull(dw_1.Object.checktype[ll_getrow]) THEN dw_1.Object.checktype[ll_getrow] = 0
  269. IF IsNull(dw_1.Object.checkqty[ll_getrow]) THEN dw_1.Object.checkqty[ll_getrow] = 0
  270. IF IsNull(dw_1.Object.goodqty[ll_getrow]) THEN dw_1.Object.goodqty[ll_getrow] = 0
  271. IF IsNull(dw_1.Object.badqty[ll_getrow]) THEN dw_1.Object.badqty[ll_getrow] = 0
  272. IF IsNull(dw_1.Object.finishflag[ll_getrow]) THEN dw_1.Object.finishflag[ll_getrow] = 0
  273. IF IsNull(dw_1.Object.checkemp[ll_getrow]) THEN dw_1.Object.checkemp[ll_getrow] = ''
  274. IF IsNull(dw_1.Object.mxdscrp[ll_getrow]) THEN dw_1.Object.mxdscrp[ll_getrow] = ''
  275. //mx.SetString('printid', dw_1.Object.printid[ll_getrow])
  276. //mx.SetString('taskcode', dw_1.Object.taskcode[ll_getrow])
  277. //mx.SetInt('reltaskid', dw_1.Object.reltaskid[ll_getrow])
  278. //mx.SetInt('relprintid', dw_1.Object.relprintid[ll_getrow])
  279. //mx.SetDouble('forqty', dw_1.Object.forqty[ll_getrow])
  280. //mx.SetInt('checktype', dw_1.Object.checktype[ll_getrow])
  281. //mx.SetDouble('checkqty', dw_1.Object.checkqty[ll_getrow])
  282. //mx.SetDouble('passqty', dw_1.Object.passqty[ll_getrow])
  283. //mx.SetDouble('goodqty', dw_1.Object.goodqty[ll_getrow])
  284. //mx.SetDouble('badqty', dw_1.Object.badqty[ll_getrow])
  285. //mx.SetDouble('finishflag', dw_1.Object.finishflag[ll_getrow])
  286. //mx.SetString('checkemp', dw_1.Object.checkemp[ll_getrow])
  287. //mx.SetString('mxdscrp', dw_1.Object.mxdscrp[ll_getrow])
  288. Long billid
  289. Long printid
  290. Long checktype
  291. Decimal passqty
  292. Decimal checkqty
  293. Decimal goodqty
  294. Decimal badqty
  295. Long finishflag
  296. billid = dw_1.Object.billid[ll_getrow]
  297. printid = dw_1.Object.printid[ll_getrow]
  298. checktype = dw_1.Object.checktype[ll_getrow]
  299. passqty = dw_1.Object.passqty[ll_getrow]
  300. checkqty = dw_1.Object.checkqty[ll_getrow]
  301. goodqty = dw_1.Object.goodqty[ll_getrow]
  302. badqty = dw_1.Object.badqty[ll_getrow]
  303. finishflag = dw_1.Object.finishflag[ll_getrow]
  304. // 传入检查项目
  305. itemList = FXAppCom.CreArrOfPbDictionary()
  306. filedatas = FXAppCom.CreArrOfPbDictionary()
  307. FOR j = 1 To dw_2.RowCount()
  308. IF IsNull(dw_2.Object.fx_check_bill_itemmx_billid[j]) THEN dw_2.Object.fx_check_bill_itemmx_billid[j] = 0
  309. IF IsNull(dw_2.Object.fx_check_bill_itemmx_printid[j]) THEN dw_2.Object.fx_check_bill_itemmx_printid[j] = 0
  310. IF IsNull(dw_2.Object.fx_check_bill_itemmx_mxid[j]) THEN dw_2.Object.fx_check_bill_itemmx_mxid[j] = 0
  311. IF IsNull(dw_2.Object.fx_check_bill_itemmx_itemid_erp[j]) THEN dw_2.Object.fx_check_bill_itemmx_itemid_erp[j] = 0
  312. IF IsNull(dw_2.Object.fx_check_bill_itemmx_qcresult[j]) THEN dw_2.Object.fx_check_bill_itemmx_qcresult[j] = 0
  313. IF IsNull(dw_2.Object.fx_check_bill_itemmx_goodqty[j]) THEN dw_2.Object.fx_check_bill_itemmx_goodqty[j] = 0
  314. IF IsNull(dw_2.Object.fx_check_bill_itemmx_badqty[j]) THEN dw_2.Object.fx_check_bill_itemmx_badqty[j] = 0
  315. Item_1 = FXAppCom.CreatePbDictionary()
  316. Item_1.SetInt('billid', dw_2.Object.fx_check_bill_itemmx_billid[j])
  317. Item_1.SetInt('printid', dw_2.Object.fx_check_bill_itemmx_printid[j])
  318. Item_1.SetInt('mxid', dw_2.Object.fx_check_bill_itemmx_mxid[j])
  319. Item_1.SetInt('itemid_erp', dw_2.Object.fx_check_bill_itemmx_itemid_erp[j])
  320. Item_1.SetString('qcresult', dw_2.Object.fx_check_bill_itemmx_qcresult[j])
  321. Item_1.SetDouble('goodqty', dw_2.Object.fx_check_bill_itemmx_goodqty[j])
  322. Item_1.SetDouble('badqty', dw_2.Object.fx_check_bill_itemmx_badqty[j])
  323. itemList.Add(Item_1)
  324. NEXT
  325. oleobject request,response
  326. request = FXAppCom.CreatePbDictionary()
  327. request.SetString('token', app_token_fx)
  328. //request.SetObject('bill', outware)
  329. request.SetObject('billid', billid)
  330. request.SetObject('printid', printid)
  331. request.SetObject('checktype', checktype)
  332. request.SetObject('passqty', passqty)
  333. request.SetObject('checkqty', checkqty)
  334. request.SetObject('goodqty', goodqty)
  335. request.SetObject('badqty', badqty)
  336. request.SetObject('finishflag', finishflag)
  337. request.SetObject('itemList', itemList)
  338. request.SetObject('filedatas', filedatas)
  339. response = FXAppCom.DoExecute('SaveCheckbillItem', request)
  340. arg_msg = response.GetString('ErrMsg')
  341. If (arg_msg <> '') THEN
  342. rslt = 0
  343. GOTO ext
  344. END IF
  345. ext:
  346. IF rslt = 0 THEN
  347. MessageBox('提示',arg_msg)
  348. ELSE
  349. MessageBox('成功','录入成功')
  350. Close(Parent)
  351. END IF
  352. RETURN rslt
  353. //
  354. //ld_tempdate = Date(dw_fx_outware_free.Object.billdate[ll_getrow])
  355. //ldt_billdate = DateTime(ld_tempdate, Now())
  356. //
  357. //IF if_modify_mode THEN
  358. // ll_billid = dw_fx_outware_free.Object.billid[ll_getrow]
  359. //ELSE
  360. // ll_billid = 0
  361. //END IF
  362. //
  363. //IF IsNull(dw_fx_outware_free.Object.cuscomid[ll_getrow]) Or (dw_fx_outware_free.Object.cuscomid[ll_getrow]) = 0 THEN
  364. // rslt = 0
  365. // arg_msg = '请选择客户!'
  366. // GOTO ext
  367. //END IF
  368. //
  369. //
  370. //
  371. //dw_fx_outware_free.AcceptText()
  372. //dw_fx_outware_mx.AcceptText()
  373. //
  374. //dw_itemmx.SetFilter('')
  375. //dw_itemmx.Filter()
  376. //dw_itemmx.AcceptText()
  377. //
  378. //IF IsNull(ll_billid) THEN ll_billid = 0
  379. //IF IsNull( dw_fx_outware_free.Object.billcode[ll_getrow]) THEN dw_fx_outware_free.Object.billcode[ll_getrow] = ''
  380. //IF IsNull(ls_dscrp) THEN ls_dscrp = ''
  381. //IF IsNull(dw_fx_outware_free.Object.cuscomid[ll_getrow]) THEN dw_fx_outware_free.Object.cuscomid[ll_getrow] = 0
  382. //
  383. //
  384. //dw_fx_outware_free.AcceptText()
  385. //oleobject Item,Item_1, outware, mxs,fx_fileList,fileList,itemList
  386. //fx_fileList = FXAppCom.NewPBArray()
  387. //fileList = FXAppCom.NewPBArray()
  388. // // FXAppCom.NewPBArray()
  389. //
  390. //outware = FXAppCom.CreatePbDictionary()
  391. //outware.SetInt('billid', ll_billid)
  392. //outware.SetInt('billtype', 0) //质量自检单
  393. //outware.SetInt('flag', 0) //
  394. //outware.SetInt('sync_flag', 0) //
  395. //outware.SetString('opemp', '')
  396. //outware.SetString('modemp', '')
  397. //outware.SetString('auditemp', '')
  398. //outware.SetString('erp_affirmemp', '')
  399. //outware.SetString('cancel_emp', '')
  400. //
  401. //
  402. //outware.SetInt('billid', ll_billid)
  403. //outware.SetString('billcode', dw_fx_outware_free.Object.billcode[ll_getrow])
  404. //outware.SetString('dscrp', ls_dscrp)
  405. //outware.SetDateTime('billdate', ldt_billdate)
  406. //outware.SetInt('cuscomid',dw_fx_outware_free.Object.cuscomid[ll_getrow])
  407. //
  408. //mxs = FXAppCom.CreArrOfPbDictionary()
  409. ////mxitem = FXAppCom.CreArrOfPbDictionary()
  410. //Long i, cnt = 0
  411. //DateTime ld_now
  412. //ld_now = DateTime(Today(),Now())
  413. //FOR i = 1 To dw_fx_outware_mx.RowCount()
  414. //
  415. // IF IsNull(dw_fx_outware_mx.Object.billid[i]) THEN dw_fx_outware_mx.Object.billid[i] = 0
  416. // IF IsNull(dw_fx_outware_mx.Object.printid[i]) THEN dw_fx_outware_mx.Object.printid[i] = 0
  417. // IF IsNull(dw_fx_outware_mx.Object.taskcode[i]) THEN dw_fx_outware_mx.Object.taskcode[i] = ''
  418. // IF IsNull(dw_fx_outware_mx.Object.reltaskid[i]) THEN dw_fx_outware_mx.Object.reltaskid[i] = 0
  419. // IF IsNull(dw_fx_outware_mx.Object.relprintid[i]) THEN dw_fx_outware_mx.Object.relprintid[i] = 0
  420. // IF IsNull(dw_fx_outware_mx.Object.forqty[i]) THEN dw_fx_outware_mx.Object.forqty[i] = 0
  421. // IF IsNull(dw_fx_outware_mx.Object.passqty[i]) THEN dw_fx_outware_mx.Object.passqty[i] = 0
  422. // IF IsNull(dw_fx_outware_mx.Object.checktype[i]) THEN dw_fx_outware_mx.Object.checktype[i] = 0
  423. // IF IsNull(dw_fx_outware_mx.Object.checkqty[i]) THEN dw_fx_outware_mx.Object.checkqty[i] = 0
  424. // IF IsNull(dw_fx_outware_mx.Object.goodqty[i]) THEN dw_fx_outware_mx.Object.goodqty[i] = 0
  425. // IF IsNull(dw_fx_outware_mx.Object.badqty[i]) THEN dw_fx_outware_mx.Object.badqty[i] = 0
  426. // IF IsNull(dw_fx_outware_mx.Object.finishflag[i]) THEN dw_fx_outware_mx.Object.finishflag[i] = 0
  427. // IF IsNull(dw_fx_outware_mx.Object.checkemp[i]) THEN dw_fx_outware_mx.Object.checkemp[i] = ''
  428. // IF IsNull(dw_fx_outware_mx.Object.mxdscrp[i]) THEN dw_fx_outware_mx.Object.mxdscrp[i] = ''
  429. //
  430. //
  431. //
  432. //
  433. //
  434. //
  435. // If (dw_fx_outware_mx.Object.checkqty[i] <= 0) THEN CONTINUE
  436. //
  437. // If (dw_fx_outware_mx.Object.checkqty[i] > dw_fx_outware_mx.Object.forqty[i]) THEN
  438. // rslt = 0
  439. // arg_msg = "行:" + String(dw_fx_outware_mx.Object.compute_2[i]) + "检验数不能大于【代表批量】"
  440. // GOTO ext
  441. // END IF
  442. //
  443. // cnt ++
  444. // Item = FXAppCom.CreatePbDictionary()
  445. //
  446. // Item.SetInt('printid', cnt)
  447. // Item.SetString('taskcode', dw_fx_outware_mx.Object.taskcode[i])
  448. // Item.SetInt('reltaskid', dw_fx_outware_mx.Object.reltaskid[i])
  449. // Item.SetInt('relprintid', dw_fx_outware_mx.Object.relprintid[i])
  450. // Item.SetDouble('forqty', dw_fx_outware_mx.Object.forqty[i])
  451. // Item.SetInt('checktype', dw_fx_outware_mx.Object.checktype[i])
  452. // Item.SetDouble('checkqty', dw_fx_outware_mx.Object.checkqty[i])
  453. //
  454. // Item.SetDouble('passqty', dw_fx_outware_mx.Object.passqty[i])
  455. // Item.SetDouble('goodqty', dw_fx_outware_mx.Object.goodqty[i])
  456. // Item.SetDouble('badqty', dw_fx_outware_mx.Object.badqty[i])
  457. // Item.SetDouble('finishflag', dw_fx_outware_mx.Object.finishflag[i])
  458. // Item.SetString('checkemp', dw_fx_outware_mx.Object.checkemp[i])
  459. // Item.SetString('mxdscrp', dw_fx_outware_mx.Object.mxdscrp[i])
  460. // Item.SetObject('fx_fileList', fx_fileList)
  461. // Item.SetObject('fileList', fileList)
  462. //
  463. //
  464. //
  465. // // 传入检查项目
  466. // itemList = FXAppCom.CreArrOfPbDictionary()
  467. // FOR j = 1 To dw_itemmx.RowCount()
  468. //
  469. // IF dw_itemmx.Object.fx_check_bill_itemmx_printid[j] = dw_fx_outware_mx.Object.printid[i] THEN
  470. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_billid[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_billid[j] = 0
  471. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_printid[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_printid[j] = 0
  472. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_mxid[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_mxid[j] = 0
  473. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_itemid_erp[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_itemid_erp[j] = 0
  474. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_qcresult[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_qcresult[j] = 0
  475. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_goodqty[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_goodqty[j] = 0
  476. // IF IsNull(dw_itemmx.Object.fx_check_bill_itemmx_badqty[j]) THEN dw_itemmx.Object.fx_check_bill_itemmx_badqty[j] = 0
  477. //
  478. // Item_1 = FXAppCom.CreatePbDictionary()
  479. // Item_1.SetInt('billid', dw_itemmx.Object.fx_check_bill_itemmx_billid[j])
  480. // Item_1.SetInt('printid', dw_itemmx.Object.fx_check_bill_itemmx_printid[j])
  481. // Item_1.SetInt('mxid', dw_itemmx.Object.fx_check_bill_itemmx_mxid[j])
  482. // Item_1.SetInt('itemid_erp', dw_itemmx.Object.fx_check_bill_itemmx_itemid_erp[j])
  483. // Item_1.SetString('qcresult', dw_itemmx.Object.fx_check_bill_itemmx_qcresult[j])
  484. // Item_1.SetDouble('goodqty', dw_itemmx.Object.fx_check_bill_itemmx_goodqty[j])
  485. // Item_1.SetDouble('badqty', dw_itemmx.Object.fx_check_bill_itemmx_badqty[j])
  486. //
  487. // itemList.Add(Item_1)
  488. // END IF
  489. //
  490. // NEXT
  491. //
  492. //
  493. //
  494. // Item.SetObject('itemList', itemList)
  495. //
  496. //
  497. //
  498. //
  499. //
  500. // mxs.Add(Item)
  501. //
  502. //NEXT
  503. //
  504. //If (cnt <= 0) THEN
  505. // rslt = 0
  506. // arg_msg = '没有明细'
  507. // GOTO ext
  508. //END IF
  509. //
  510. //
  511. //
  512. //
  513. //
  514. //
  515. //
  516. //
  517. //
  518. //
  519. //
  520. //
  521. ////mxs.Add(fx_fileList)
  522. ////mxs.Add('fx_fileList', fx_fileList)
  523. ////mxs.SetObject('fx_fileList', fx_fileList)
  524. //
  525. //
  526. //oleobject request,response
  527. //
  528. //request = FXAppCom.CreatePbDictionary()
  529. //request.SetString('token', app_token_fx)
  530. //request.SetObject('bill', outware)
  531. //request.SetObject('mxList', mxs)
  532. //
  533. //
  534. //
  535. //response = FXAppCom.DoExecute('SaveCheckBill', request)
  536. //arg_msg = response.GetString('ErrMsg')
  537. //
  538. //If (arg_msg <> '') THEN
  539. // rslt = 0
  540. // GOTO ext
  541. //END IF
  542. //
  543. //ext:
  544. //RETURN rslt
  545. //
  546. //
  547. //
  548. //
  549. //
  550. end event
  551. type dw_1 from datawindow within w_fx_check_bill_result
  552. event key pbm_dwnkey
  553. event ue_dwndropdown pbm_dwndropdown
  554. integer width = 2816
  555. integer height = 928
  556. integer taborder = 10
  557. boolean bringtotop = true
  558. string title = "none"
  559. string dataobject = "dw_fx_check_bill_result"
  560. boolean livescroll = true
  561. borderstyle borderstyle = stylelowered!
  562. end type
  563. event key;//String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode
  564. //String ls_mtrlsectype,ls_zxmtrlmode
  565. //Int li_ifunit,li_ifmtrlcuscode
  566. //Long ls_mtrlid
  567. //Decimal ls_planprice,ls_packqty
  568. //Int li_statusflag,li_woodcodeflag,li_pcodeflag
  569. //Long ll_statustype,ll_woodcodetype,ll_pcodetype
  570. //
  571. //Long child_row
  572. //Long ls_null
  573. //SetNull(ls_null)
  574. //
  575. //If (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  576. // IF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  577. // THIS.AcceptText()
  578. // child_row = THIS.GetRow()
  579. //
  580. // ls_mtrlcode = THIS.Object.u_mtrldef_mtrlcode[child_row]
  581. //
  582. // SELECT u_mtrldef.mtrlid,
  583. // u_mtrldef.mtrlname,
  584. // u_mtrldef.unit,
  585. // u_mtrldef.planprice,
  586. // u_mtrldef.mtrlmode,
  587. // u_mtrldef.prdpackcode,
  588. // u_mtrldef.packqty,
  589. // u_mtrldef.statusflag,
  590. // u_mtrldef.statustype,
  591. // u_mtrldef.woodcodeflag,
  592. // u_mtrldef.woodcodetype,
  593. // u_mtrldef.pcodeflag,
  594. // u_mtrldef.pcodetype,
  595. // u_mtrldef.mtrlsectype,
  596. // u_mtrldef.zxmtrlmode,
  597. // u_mtrldef.ifunit,
  598. // u_mtrldef.ifmtrlcuscode
  599. // INTO :ls_mtrlid,
  600. // :ls_mtrlname,
  601. // :ls_unit,
  602. // :ls_planprice,
  603. // :ls_mtrlmode,
  604. // :ls_prdpackcode,
  605. // :ls_packqty,
  606. // :li_statusflag,
  607. // :ll_statustype,
  608. // :li_woodcodeflag,
  609. // :ll_woodcodetype,
  610. // :li_pcodeflag,
  611. // :ll_pcodetype,
  612. // :ls_mtrlsectype,
  613. // :ls_zxmtrlmode,
  614. // :li_ifunit,
  615. // :li_ifmtrlcuscode
  616. // FROM u_mtrldef
  617. // Where ( u_mtrldef.mtrlcode = :ls_mtrlcode);
  618. // IF sqlca.SQLCode = 100 THEN
  619. // PARENT.TriggerEvent('ue_f8')
  620. // RETURN
  621. // END IF
  622. //
  623. // THIS.Object.u_warepdb_mtrlid[child_row] = ls_mtrlid
  624. // THIS.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  625. // THIS.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  626. // THIS.Object.u_mtrldef_unit[child_row] = ls_unit
  627. // THIS.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  628. // THIS.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  629. // THIS.Object.u_mtrldef_ifunit[child_row] = li_ifunit
  630. // THIS.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  631. // THIS.Object.u_mtrldef_statustype[child_row] = ll_statustype
  632. // THIS.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  633. // THIS.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype
  634. // THIS.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  635. // THIS.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype
  636. // THIS.Object.u_mtrldef_ifmtrlcuscode[child_row] = li_ifmtrlcuscode
  637. //
  638. // PARENT.TriggerEvent('ue_allowedit')
  639. // IF Key = KeyEnter! THEN
  640. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  641. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  642. // RETURN 1
  643. // END IF
  644. // ELSEIF dw_1.GetColumnName ( ) = 'u_cust_cuscode' AND Key = KeyEnter! THEN
  645. // String ls_code,ls_name,ls_find_code
  646. // Long ls_cusid
  647. // Long cnt = 0
  648. // Boolean if_find = FALSE
  649. //
  650. // dw_1.AcceptText()
  651. // ls_code = Upper(Trim(dw_1.Object.u_cust_cuscode[dw_1.GetRow()]))
  652. // SELECT u_cust.cusid,
  653. // u_cust.name,
  654. // u_cust.cuscode
  655. // INTO :ls_cusid,:ls_name,:ls_code
  656. // FROM u_cust
  657. // Where ( cuscode = :ls_code OR Name = :ls_code );
  658. // IF sqlca.SQLCode <> 0 THEN
  659. // IF Pos(Trim(ls_code),'%') = 0 THEN
  660. // ls_find_code = '%'+ Trim(ls_code) + '%'
  661. // ELSE
  662. // ls_find_code = Trim(ls_code)
  663. // END IF
  664. //
  665. // SELECT count(*) INTO :cnt
  666. // FROM u_cust
  667. // Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  668. // IF sqlca.SQLCode <> 0 THEN
  669. // PARENT.TriggerEvent('ue_f9')
  670. // RETURN 1
  671. // END IF
  672. // IF cnt <> 1 THEN
  673. // PARENT.TriggerEvent('ue_f9')
  674. // RETURN 1
  675. // ELSE
  676. // SELECT u_cust.cusid,
  677. // u_cust.cuscode,
  678. // u_cust.name
  679. // INTO :ls_cusid,:ls_code,:ls_name
  680. // FROM u_cust
  681. // Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  682. // IF sqlca.SQLCode <> 0 THEN
  683. //
  684. // PARENT.TriggerEvent('ue_f9')
  685. // RETURN 1
  686. // ELSE
  687. // if_find = TRUE
  688. // END IF
  689. // END IF
  690. // ELSE
  691. // if_find = TRUE
  692. // END IF
  693. //
  694. // IF if_find THEN
  695. // dw_1.SetRedraw(FALSE)
  696. // dw_1.Object.u_warepdb_sptid[dw_1.GetRow()] = ls_cusid
  697. // dw_1.Object.u_cust_cuscode[dw_1.GetRow()] = ls_code
  698. // dw_1.Object.u_cust_name[dw_1.GetRow()] = ls_name
  699. // dw_1.SetRedraw(TRUE)
  700. // RETURN 1
  701. // END IF
  702. // ELSE
  703. // IF Key = KeyEnter! THEN
  704. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  705. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  706. // RETURN 1
  707. // END IF
  708. //
  709. // END IF
  710. //END IF
  711. //
  712. end event
  713. event ue_dwndropdown;//
  714. //String ls_col_pz,ls_col_mtrlid
  715. //String ls_pz_ch
  716. //Long ll_row,ll_mtrlid
  717. //s_pzwin_open arg_s_win
  718. //
  719. //ll_row = THIS.GetRow()
  720. //IF ll_row > 0 THEN
  721. // ls_col_mtrlid = THIS.Describe("#1.Name")
  722. //
  723. // IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  724. //
  725. // ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
  726. //
  727. // ls_col_pz = THIS.GetColumnName( )
  728. //
  729. // arg_s_win.arg_x = THIS.X + THIS.PointerX() + parent.x
  730. // arg_s_win.arg_y = THIS.Y + THIS.PointerY() + parent.y
  731. //
  732. // arg_s_win.arg_col = ls_col_pz
  733. // arg_s_win.arg_mtrlid = ll_mtrlid
  734. //
  735. // ls_pz_ch = f_mtrl_pz(arg_s_win)
  736. //
  737. // IF ls_pz_ch = '' THEN RETURN
  738. //
  739. // THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  740. //END IF
  741. //
  742. //
  743. end event
  744. event doubleclicked;//
  745. //CHOOSE CASE dwo.Name
  746. // CASE 'u_mtrldef_mtrlcode'
  747. // PARENT.TriggerEvent('ue_f8')
  748. // CASE 'u_cust_cuscode'
  749. // PARENT.TriggerEvent('ue_f9')
  750. //END CHOOSE
  751. //
  752. end event
  753. event constructor;//f_title_change(this)
  754. end event
  755. event buttonclicked;//
  756. //CHOOSE CASE dwo.Name
  757. // CASE 'b_mtrl'
  758. // PARENT.TriggerEvent('ue_f8')
  759. // CASE 'b_cust'
  760. // PARENT.TriggerEvent('ue_f9')
  761. //END CHOOSE
  762. //
  763. end event
  764. type dw_2 from datawindow within w_fx_check_bill_result
  765. integer y = 928
  766. integer width = 2816
  767. integer height = 1104
  768. integer taborder = 20
  769. boolean bringtotop = true
  770. string title = "none"
  771. string dataobject = "dw_fx_check_bill_result_mx"
  772. boolean hscrollbar = true
  773. boolean vscrollbar = true
  774. boolean hsplitscroll = true
  775. boolean livescroll = true
  776. borderstyle borderstyle = stylelowered!
  777. end type
  778. event itemchanged;IF dw_1.GetRow() > 0 THEN
  779. dw_1.Object.goodqty[dw_1.GetRow()] = dec(dw_2.Describe("Evaluate('sum_goodqty',0)"))
  780. dw_1.Object.badqty[dw_1.GetRow()] =dec (dw_2.Describe("Evaluate('sum_badqty',0)"))
  781. END IF
  782. end event