w_buytask_redate_ljfieb.srw 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889
  1. $PBExportHeader$w_buytask_redate_ljfieb.srw
  2. forward
  3. global type w_buytask_redate_ljfieb from w_publ_base
  4. end type
  5. type dw_uc from datawindow within w_buytask_redate_ljfieb
  6. end type
  7. type dw_child from u_dw_rbtnfilter within w_buytask_redate_ljfieb
  8. end type
  9. type mle_1 from multilineedit within w_buytask_redate_ljfieb
  10. end type
  11. type st_1 from statictext within w_buytask_redate_ljfieb
  12. end type
  13. type st_2 from statictext within w_buytask_redate_ljfieb
  14. end type
  15. type sle_scname from singlelineedit within w_buytask_redate_ljfieb
  16. end type
  17. type st_remark from statictext within w_buytask_redate_ljfieb
  18. end type
  19. type cb_ok from uo_imflatbutton within w_buytask_redate_ljfieb
  20. end type
  21. type cb_bill from uo_imflatbutton within w_buytask_redate_ljfieb
  22. end type
  23. type st_msg from statictext within w_buytask_redate_ljfieb
  24. end type
  25. type cb_1 from uo_imflatbutton within w_buytask_redate_ljfieb
  26. end type
  27. type ln_bar from line within w_buytask_redate_ljfieb
  28. end type
  29. type ln_bar2 from line within w_buytask_redate_ljfieb
  30. end type
  31. type ln_1 from line within w_buytask_redate_ljfieb
  32. end type
  33. type ln_2 from line within w_buytask_redate_ljfieb
  34. end type
  35. type r_bar from rectangle within w_buytask_redate_ljfieb
  36. end type
  37. end forward
  38. global type w_buytask_redate_ljfieb from w_publ_base
  39. integer width = 3611
  40. integer height = 2380
  41. string title = "采购订单供应商交期确认"
  42. boolean minbox = false
  43. windowtype windowtype = response!
  44. windowstate windowstate = maximized!
  45. dw_uc dw_uc
  46. dw_child dw_child
  47. mle_1 mle_1
  48. st_1 st_1
  49. st_2 st_2
  50. sle_scname sle_scname
  51. st_remark st_remark
  52. cb_ok cb_ok
  53. cb_bill cb_bill
  54. st_msg st_msg
  55. cb_1 cb_1
  56. ln_bar ln_bar
  57. ln_bar2 ln_bar2
  58. ln_1 ln_1
  59. ln_2 ln_2
  60. r_bar r_bar
  61. end type
  62. global w_buytask_redate_ljfieb w_buytask_redate_ljfieb
  63. type variables
  64. Transaction tr_eb_sqlca
  65. s_packet_ljfieb s_inscust
  66. uo_ljfieb uo_fieb
  67. long ins_scid
  68. string ins_sn
  69. long ins_sendid,ins_receid
  70. string ins_sendsccode,ins_reccesccode
  71. string ins_RelatedCode
  72. end variables
  73. forward prototypes
  74. public function integer wf_retrieve (string arg_sn, string arg_taskcode, ref string arg_msg)
  75. end prototypes
  76. public function integer wf_retrieve (string arg_sn, string arg_taskcode, ref string arg_msg);Int rslt = 1
  77. Long uc_row,ll_i,ll_rowcnt,ll_row
  78. Long ll_mtrlid
  79. String mtrlcode,mtrlname,mtrlmode,unit,mtrlsectype,zxmtrlmode,usermtrlmode
  80. String ls_sptmtrlcode
  81. Long ll_sptid
  82. String ls_commcode
  83. Long ll_scid,ll_taskid,ll_printid
  84. String ls_status,ls_woodcode,ls_pcode
  85. DateTime ldt_requiredate
  86. SELECT CusCode
  87. INTO :ls_commcode
  88. FROM LJFIEB_CusComm
  89. Where CusCommID = :ins_sendid Using tr_eb_sqlca;
  90. IF tr_eb_sqlca.SQLCode <> 0 THEN
  91. rslt = 0
  92. arg_msg = '查询发送者企业信息失败,'+tr_eb_sqlca.SQLErrText
  93. GOTO ext
  94. END IF
  95. SELECT sptid
  96. INTO :ll_sptid
  97. FROM u_spt
  98. WHERE commcode = :ls_commcode
  99. And commsccode = :ins_sendsccode Using sqlca;
  100. IF sqlca.SQLCode <> 0 THEN
  101. rslt = 0
  102. arg_msg = '查询供应商信息失败,'+sqlca.SQLErrText
  103. GOTO ext
  104. END IF
  105. dw_uc.Reset()
  106. dw_uc.Retrieve(arg_taskcode)
  107. IF dw_uc.RowCount() = 0 THEN
  108. st_msg.Text = '已无法查询单据:'+Trim(arg_taskcode)+' 的信息,可能已删除'
  109. st_msg.Visible = True
  110. ELSE
  111. st_msg.Visible = False
  112. END IF
  113. Long ll_status
  114. String ls_ConfirmUser
  115. DateTime ld_ConfirmTime
  116. SELECT status,ConfirmUser,ConfirmTime
  117. INTO :ll_status,:ls_ConfirmUser,:ld_ConfirmTime
  118. FROM LJFIEB_packet
  119. Where serialnum = :ins_sn Using tr_eb_sqlca;
  120. IF tr_eb_sqlca.SQLCode <> 0 THEN
  121. rslt = 0
  122. arg_msg = '查询通信信息失败'
  123. GOTO ext
  124. END IF
  125. dw_uc.Object.confirmflag[dw_uc.getrow()] = ll_status
  126. dw_uc.Object.u_buytask_confirmuser[dw_uc.getrow()] = ls_ConfirmUser
  127. dw_uc.Object.u_buytask_confirmtime[dw_uc.getrow()] = ld_ConfirmTime
  128. datastore ds_mx
  129. ds_mx = Create datastore
  130. ds_mx.DataObject = 'ds_buytaskmx_receive_ljfieb'
  131. ds_mx.SetTransObject(tr_eb_sqlca)
  132. ll_rowcnt = ds_mx.Retrieve(arg_sn)
  133. IF ll_rowcnt = 0 THEN
  134. rslt = 0
  135. arg_msg = '没有正确的明细内容'
  136. GOTO ext
  137. END IF
  138. FOR ll_i = 1 To ll_rowcnt
  139. ll_row = dw_child.InsertRow(0)
  140. dw_child.Object.u_buytaskmx_unit[ll_row] = ds_mx.Object.unit[ll_i]
  141. dw_child.Object.u_buytaskmx_status[ll_row] = ds_mx.Object.status[ll_i]
  142. dw_child.Object.u_buytaskmx_woodcode[ll_row] = ds_mx.Object.woodcode[ll_i]
  143. dw_child.Object.u_buytaskmx_pcode[ll_row] = ds_mx.Object.pcode[ll_i]
  144. dw_child.Object.Dscrp[ll_row] = ds_mx.Object.Dscrp[ll_i]
  145. dw_child.Object.u_buytaskmx_uqty[ll_row] = ds_mx.Object.spt_uqty[ll_i]
  146. dw_child.Object.u_buytaskmx_spt_requiredate[ll_row] = ds_mx.Object.spt_requiredate[ll_i]
  147. dw_child.Object.u_mtrldef_spt_mtrlcode[ll_row] = ds_mx.Object.sptmtrlcode[ll_i]
  148. dw_child.Object.u_mtrldef_spt_mtrlname[ll_row] = ds_mx.Object.sptmtrlname[ll_i]
  149. dw_child.Object.u_mtrldef_spt_mtrlmode[ll_row] = ds_mx.Object.sptmtrlmode[ll_i]
  150. dw_child.Object.u_buytaskmx_printid[ll_row] = ds_mx.Object.printid[ll_i]
  151. dw_child.Object.delayreason[ll_row] = ds_mx.Object.delayreason[ll_i]
  152. ls_sptmtrlcode = ds_mx.Object.sptmtrlcode[ll_i]
  153. ll_printid = ds_mx.Object.printid[ll_i]
  154. ls_status = ds_mx.Object.status[ll_i]
  155. ls_woodcode = ds_mx.Object.woodcode[ll_i]
  156. ls_pcode = ds_mx.Object.pcode[ll_i]
  157. SELECT mtrlid
  158. INTO :ll_mtrlid
  159. FROM u_sptmtrlname
  160. WHERE sptid = :ll_sptid
  161. And sptmtrlcode = :ls_sptmtrlcode Using sqlca;
  162. IF sqlca.SQLCode <> 0 THEN ll_mtrlid = 0
  163. dw_child.Object.mtrlid[ll_row] = ll_mtrlid
  164. IF ll_mtrlid > 0 THEN
  165. SELECT mtrlcode,
  166. mtrlname,
  167. mtrlmode,
  168. unit,
  169. mtrlsectype,
  170. zxmtrlmode,
  171. usermtrlmode
  172. INTO :mtrlcode,
  173. :mtrlname,
  174. :mtrlmode,
  175. :unit,
  176. :mtrlsectype,
  177. :zxmtrlmode,
  178. :usermtrlmode
  179. FROM u_mtrldef
  180. Where mtrlid = :ll_mtrlid ;
  181. IF sqlca.SQLCode = 0 THEN
  182. dw_child.Object.u_mtrldef_mtrlcode[ll_row] = mtrlcode
  183. dw_child.Object.mtrlname[ll_row] = mtrlname
  184. dw_child.Object.u_mtrldef_mtrlmode[ll_row] = mtrlmode
  185. dw_child.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype
  186. dw_child.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode
  187. dw_child.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode
  188. END IF
  189. //查询单据原要求交期
  190. IF dw_uc.GetRow() > 0 THEN
  191. ll_scid = dw_uc.Object.u_buytask_scid[dw_uc.GetRow()]
  192. ll_taskid = dw_uc.Object.taskid[dw_uc.GetRow()]
  193. SELECT requiredate
  194. INTO :ldt_requiredate
  195. FROM u_buytaskmx
  196. WHERE scid = :ll_scid
  197. AND taskid = :ll_taskid
  198. AND printid = :ll_printid
  199. AND mtrlid = :ll_mtrlid
  200. AND status = :ls_status
  201. AND woodcode = :ls_woodcode
  202. And pcode = :ls_pcode;
  203. IF sqlca.SQLCode = 0 THEN
  204. dw_child.Object.u_buytaskmx_requiredate[ll_row] = ldt_requiredate
  205. END IF
  206. END IF
  207. END IF
  208. NEXT
  209. ext:
  210. RETURN rslt
  211. end function
  212. on w_buytask_redate_ljfieb.create
  213. int iCurrent
  214. call super::create
  215. this.dw_uc=create dw_uc
  216. this.dw_child=create dw_child
  217. this.mle_1=create mle_1
  218. this.st_1=create st_1
  219. this.st_2=create st_2
  220. this.sle_scname=create sle_scname
  221. this.st_remark=create st_remark
  222. this.cb_ok=create cb_ok
  223. this.cb_bill=create cb_bill
  224. this.st_msg=create st_msg
  225. this.cb_1=create cb_1
  226. this.ln_bar=create ln_bar
  227. this.ln_bar2=create ln_bar2
  228. this.ln_1=create ln_1
  229. this.ln_2=create ln_2
  230. this.r_bar=create r_bar
  231. iCurrent=UpperBound(this.Control)
  232. this.Control[iCurrent+1]=this.dw_uc
  233. this.Control[iCurrent+2]=this.dw_child
  234. this.Control[iCurrent+3]=this.mle_1
  235. this.Control[iCurrent+4]=this.st_1
  236. this.Control[iCurrent+5]=this.st_2
  237. this.Control[iCurrent+6]=this.sle_scname
  238. this.Control[iCurrent+7]=this.st_remark
  239. this.Control[iCurrent+8]=this.cb_ok
  240. this.Control[iCurrent+9]=this.cb_bill
  241. this.Control[iCurrent+10]=this.st_msg
  242. this.Control[iCurrent+11]=this.cb_1
  243. this.Control[iCurrent+12]=this.ln_bar
  244. this.Control[iCurrent+13]=this.ln_bar2
  245. this.Control[iCurrent+14]=this.ln_1
  246. this.Control[iCurrent+15]=this.ln_2
  247. this.Control[iCurrent+16]=this.r_bar
  248. end on
  249. on w_buytask_redate_ljfieb.destroy
  250. call super::destroy
  251. destroy(this.dw_uc)
  252. destroy(this.dw_child)
  253. destroy(this.mle_1)
  254. destroy(this.st_1)
  255. destroy(this.st_2)
  256. destroy(this.sle_scname)
  257. destroy(this.st_remark)
  258. destroy(this.cb_ok)
  259. destroy(this.cb_bill)
  260. destroy(this.st_msg)
  261. destroy(this.cb_1)
  262. destroy(this.ln_bar)
  263. destroy(this.ln_bar2)
  264. destroy(this.ln_1)
  265. destroy(this.ln_2)
  266. destroy(this.r_bar)
  267. end on
  268. event open;call super::open;tr_eb_sqlca = sys_email_sqlca // 电子商务连接
  269. IF sys_email_sqlca.DBHandle() = 0 THEN
  270. MessageBox('Error','电子商务数据库连接失败,请检查')
  271. RETURN
  272. END IF
  273. uo_fieb = Create uo_ljfieb
  274. uo_fieb.commit_transaction = tr_eb_sqlca
  275. s_inscust = Message.PowerObjectParm
  276. ins_sn = s_inscust.serialnum
  277. ins_sendid = s_inscust.sendcuscommid
  278. ins_receid = s_inscust.receivecuscommid
  279. ins_sendsccode = s_inscust.sendsccode
  280. ins_reccesccode = s_inscust.receivesccode
  281. ins_RelatedCode = s_inscust.RelatedCode
  282. String ls_sccode,ls_scname
  283. String arg_msg
  284. dw_uc.settransobject(sqlca)
  285. ls_sccode = s_inscust.ReceiveSCcode
  286. SELECT scid,scname
  287. INTO :ins_scid,:ls_scname
  288. FROM u_scdef
  289. Where sccode = :ls_sccode;
  290. IF sqlca.SQLCode <> 0 THEN
  291. MessageBox('Error','查询分部信息失败,'+sqlca.SQLErrText)
  292. RETURN
  293. END IF
  294. sle_scname.Text = ls_scname
  295. st_remark.Text = '备注:'+s_inscust.remark
  296. mle_1.Text = s_inscust.postscript
  297. long ll_status
  298. SELECT status INTO :ll_status
  299. FROM LJFIEB_packet
  300. Where serialnum = :ins_sn Using tr_eb_sqlca;
  301. IF tr_eb_sqlca.SQLCode <> 0 THEN
  302. MessageBox('Error','查询通信数据失败,'+sqlca.SQLErrText)
  303. RETURN
  304. END IF
  305. if ll_status <> 5 then
  306. cb_ok.enabled = false
  307. cb_1.enabled = false
  308. end if
  309. IF wf_retrieve(ins_sn,ins_RelatedCode,arg_msg) = 0 THEN
  310. MessageBox('Error',arg_msg)
  311. RETURN
  312. END IF
  313. //更新对方状态-已打开
  314. string ls_SerialNum
  315. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  316. From u_user Using sqlca;
  317. IF sqlca.SQLCode <> 0 THEN
  318. return
  319. END IF
  320. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  321. IF ls_SerialNum = '' THEN
  322. return
  323. END IF
  324. IF uo_fieb.add_packet(ls_SerialNum,'',ins_receid,ins_reccesccode,ins_sendid,ins_sendsccode,5,'打开消息','','',ins_sn,'',0,arg_msg,True) = 0 THEN
  325. return
  326. END IF
  327. end event
  328. event resize;call super::resize;ln_bar.endx = this.width
  329. ln_bar2.endx = this.width
  330. r_bar.width = this.width
  331. ln_1.endx = this.width
  332. ln_2.endx = this.width
  333. dw_child.width = this.WorkSpaceWidth() - 10
  334. mle_1.width = dw_child.width - dw_uc.width - 4
  335. dw_child.height = this.workspaceheight() - dw_child.y - 30
  336. end event
  337. event close;call super::close;destroy uo_ljfieb
  338. end event
  339. type cb_func from w_publ_base`cb_func within w_buytask_redate_ljfieb
  340. boolean visible = false
  341. end type
  342. type cb_exit from w_publ_base`cb_exit within w_buytask_redate_ljfieb
  343. integer x = 768
  344. integer width = 169
  345. integer height = 164
  346. integer picsize = 16
  347. toolbaralignment pic_align = alignattop!
  348. boolean border = false
  349. end type
  350. type dw_uc from datawindow within w_buytask_redate_ljfieb
  351. integer y = 296
  352. integer width = 1920
  353. integer height = 1084
  354. integer taborder = 30
  355. boolean bringtotop = true
  356. string title = "none"
  357. string dataobject = "dw_buytask_rqdate_ljfieb"
  358. boolean livescroll = true
  359. borderstyle borderstyle = stylelowered!
  360. end type
  361. type dw_child from u_dw_rbtnfilter within w_buytask_redate_ljfieb
  362. integer y = 1384
  363. integer width = 3584
  364. integer height = 872
  365. integer taborder = 20
  366. boolean bringtotop = true
  367. boolean titlebar = true
  368. string title = "单据明细内容"
  369. string dataobject = "dw_buytaskmx_rqdate_ljfieb"
  370. boolean maxbox = true
  371. boolean hscrollbar = true
  372. boolean vscrollbar = true
  373. boolean hsplitscroll = true
  374. end type
  375. event rowfocuschanged;call super::rowfocuschanged; IF currentrow <= 0 THEN RETURN
  376. THIS.SelectRow(0,FALSE)
  377. THIS.SelectRow(currentrow,TRUE)
  378. this.setrow(currentrow)
  379. end event
  380. event clicked;call super::clicked; IF row <= 0 THEN RETURN
  381. THIS.SelectRow(0,FALSE)
  382. THIS.SelectRow(row,TRUE)
  383. this.setrow(row)
  384. end event
  385. type mle_1 from multilineedit within w_buytask_redate_ljfieb
  386. integer x = 1929
  387. integer y = 356
  388. integer width = 1193
  389. integer height = 1020
  390. integer taborder = 40
  391. boolean bringtotop = true
  392. integer textsize = -9
  393. integer weight = 400
  394. fontcharset fontcharset = gb2312charset!
  395. fontpitch fontpitch = variable!
  396. string facename = "宋体"
  397. long textcolor = 33554432
  398. boolean vscrollbar = true
  399. boolean autovscroll = true
  400. boolean displayonly = true
  401. borderstyle borderstyle = stylelowered!
  402. end type
  403. type st_1 from statictext within w_buytask_redate_ljfieb
  404. integer x = 1938
  405. integer y = 300
  406. integer width = 142
  407. integer height = 56
  408. boolean bringtotop = true
  409. integer textsize = -9
  410. integer weight = 400
  411. fontcharset fontcharset = gb2312charset!
  412. fontpitch fontpitch = variable!
  413. string facename = "宋体"
  414. long textcolor = 33554432
  415. long backcolor = 134217739
  416. string text = "附言"
  417. boolean focusrectangle = false
  418. end type
  419. type st_2 from statictext within w_buytask_redate_ljfieb
  420. integer x = 23
  421. integer y = 204
  422. integer width = 155
  423. integer height = 48
  424. boolean bringtotop = true
  425. integer textsize = -9
  426. integer weight = 400
  427. fontcharset fontcharset = gb2312charset!
  428. fontpitch fontpitch = variable!
  429. string facename = "宋体"
  430. long textcolor = 33554432
  431. long backcolor = 134217739
  432. string text = "分部"
  433. alignment alignment = right!
  434. boolean focusrectangle = false
  435. end type
  436. type sle_scname from singlelineedit within w_buytask_redate_ljfieb
  437. integer x = 210
  438. integer y = 188
  439. integer width = 443
  440. integer height = 84
  441. integer taborder = 30
  442. boolean bringtotop = true
  443. integer textsize = -9
  444. integer weight = 400
  445. fontcharset fontcharset = gb2312charset!
  446. fontpitch fontpitch = variable!
  447. string facename = "宋体"
  448. long textcolor = 33554432
  449. boolean displayonly = true
  450. borderstyle borderstyle = stylelowered!
  451. end type
  452. type st_remark from statictext within w_buytask_redate_ljfieb
  453. integer x = 727
  454. integer y = 200
  455. integer width = 2848
  456. integer height = 52
  457. boolean bringtotop = true
  458. integer textsize = -9
  459. integer weight = 400
  460. fontcharset fontcharset = gb2312charset!
  461. fontpitch fontpitch = variable!
  462. string facename = "宋体"
  463. long textcolor = 33554432
  464. long backcolor = 134217739
  465. string text = "备注:"
  466. boolean focusrectangle = false
  467. end type
  468. type cb_ok from uo_imflatbutton within w_buytask_redate_ljfieb
  469. integer width = 187
  470. integer height = 164
  471. integer taborder = 30
  472. boolean bringtotop = true
  473. string text = "接受"
  474. string normalpicname = "ok.bmp"
  475. integer picsize = 16
  476. toolbaralignment pic_align = alignattop!
  477. boolean border = false
  478. end type
  479. event clicked;call super::clicked;IF Not f_power_ind(1588) THEN
  480. MessageBox(publ_operator,sys_msg_pow)
  481. RETURN
  482. END IF
  483. IF MessageBox('询问','是否确定接受供应商的交期?(接受则会把供应商提出的交期更新到采购订单明细的供应商回复交期)',question!,yesno!) = 2 THEN RETURN
  484. Long ll_i
  485. Long ll_ucrow
  486. Long ll_scid,ll_taskid,ll_printid,ll_mtrlid
  487. String ls_status,ls_woodcode,ls_pcode
  488. Long cnt
  489. String arg_msg,arg_msg_tmp
  490. DateTime ld_sptbackdate,ld_sptbackdate_ori
  491. String ls_delayreason
  492. Long ll_max_pid,ll_cnt
  493. ll_ucrow = dw_uc.GetRow()
  494. IF ll_ucrow <= 0 THEN
  495. IF MessageBox('询问','已经无法查询单据:' + ins_RelatedCode +' 的信息,可以已删除,是否继续确认本通信记录?',question!,yesno!) = 2 THEN RETURN
  496. ELSE
  497. ll_scid = dw_uc.Object.u_buytask_scid[ll_ucrow]
  498. ll_taskid = dw_uc.Object.taskid[ll_ucrow]
  499. FOR ll_i = 1 To dw_child.RowCount()
  500. ll_printid = dw_child.Object.u_buytaskmx_printid[ll_i]
  501. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  502. ls_status = dw_child.Object.u_buytaskmx_status[ll_i]
  503. ls_woodcode = dw_child.Object.u_buytaskmx_woodcode[ll_i]
  504. ls_pcode = dw_child.Object.u_buytaskmx_pcode[ll_i]
  505. ld_sptbackdate = dw_child.Object.u_buytaskmx_spt_requiredate[ll_i]
  506. ls_delayreason = dw_child.Object.delayreason[ll_i]
  507. SELECT count(*)
  508. INTO :cnt
  509. FROM u_buytaskmx
  510. WHERE scid = :ll_scid
  511. AND taskid = :ll_taskid
  512. AND printid = :ll_printid
  513. AND mtrlid = :ll_mtrlid
  514. AND status = :ls_status
  515. AND woodcode = :ls_woodcode
  516. And pcode = :ls_pcode ;
  517. IF sqlca.SQLCode <> 0 THEN cnt = 0
  518. IF cnt = 0 THEN
  519. arg_msg = arg_msg + '第'+String(ll_i)+'行,'+String(dw_child.Object.u_mtrldef_mtrlcode[ll_i])+' 与采购订单明细不匹配,请手动录入供应商回复交期' + '~r~n'
  520. ELSE
  521. SELECT sptbackdate
  522. INTO :ld_sptbackdate_ori
  523. FROM u_buytaskmx
  524. WHERE scid = :ll_scid
  525. AND taskid = :ll_taskid
  526. And printid = :ll_printid;
  527. IF sqlca.SQLCode <> 0 THEN
  528. ROLLBACK;
  529. MessageBox('Error','第'+String(ll_i)+'行,查询原回复交期失败,'+sqlca.SQLErrText)
  530. RETURN
  531. END IF
  532. UPDATE u_buytaskmx
  533. SET sptbackdate = :ld_sptbackdate,
  534. delayreason = :ls_delayreason
  535. WHERE scid = :ll_scid
  536. AND taskid = :ll_taskid
  537. And printid = :ll_printid;
  538. IF sqlca.SQLCode <> 0 THEN
  539. ROLLBACK;
  540. MessageBox('Error','第'+String(ll_i)+'行,更新操作失败,'+sqlca.SQLErrText)
  541. RETURN
  542. END IF
  543. IF String(ld_sptbackdate_ori,'yyyy-mm-dd hh:mm') <> String(ld_sptbackdate,'yyyy-mm-dd hh:mm') THEN
  544. SELECT count(*) INTO :ll_cnt
  545. FROM u_sptbackdate_mx
  546. WHERE scid = :ll_scid
  547. AND taskid = :ll_taskid
  548. AND printid = :ll_printid
  549. And billtype = 0;
  550. IF sqlca.SQLCode <> 0 THEN
  551. ROLLBACK;
  552. MessageBox('Error','第'+String(ll_i)+'行,增加历史记录操作失败(01),'+sqlca.SQLErrText)
  553. RETURN
  554. END IF
  555. IF ll_cnt = 0 THEN
  556. ll_max_pid = 0
  557. ELSE
  558. SELECT max(pid)
  559. INTO :ll_max_pid
  560. FROM u_sptbackdate_mx
  561. WHERE scid = :ll_scid
  562. AND taskid = :ll_taskid
  563. AND printid = :ll_printid
  564. And billtype = 0;
  565. IF sqlca.SQLCode <> 0 THEN
  566. ROLLBACK;
  567. MessageBox('Error','第'+String(ll_i)+'行,增加历史记录操作失败(取最大Pid),'+sqlca.SQLErrText)
  568. RETURN
  569. END IF
  570. END IF
  571. ll_max_pid++
  572. INSERT INTO u_sptbackdate_mx
  573. (scid,
  574. taskid,
  575. printid,
  576. pid,
  577. sptbackdate,
  578. delayreason,
  579. opdate,
  580. billtype)
  581. VALUES (:ll_scid,
  582. :ll_taskid,
  583. :ll_printid,
  584. :ll_max_pid,
  585. :ld_sptbackdate,
  586. :ls_delayreason,
  587. getdate(),
  588. 0);
  589. IF sqlca.SQLCode <> 0 THEN
  590. ROLLBACK;
  591. MessageBox('Error','第'+String(ll_i)+'行,增加历史记录操作失败,'+sqlca.SQLErrText)
  592. RETURN
  593. END IF
  594. END IF
  595. END IF
  596. NEXT
  597. END IF
  598. UPDATE LJFIEB_packet
  599. SET Complete = 1 ,
  600. status = 6,
  601. ConfirmTime = getdate(),
  602. ConfirmUser = :publ_operator
  603. Where SerialNum = :ins_sn Using tr_eb_sqlca;
  604. IF tr_eb_sqlca.SQLCode <> 0 THEN
  605. ROLLBACK Using tr_eb_sqlca;
  606. MessageBox('Errr','更新通信记录状态失败,'+tr_eb_sqlca.SQLErrText)
  607. RETURN
  608. END IF
  609. COMMIT Using sqlca;
  610. COMMIT Using tr_eb_sqlca;
  611. MessageBox('系统提示','操作完成!')
  612. IF Trim(arg_msg) > '' THEN
  613. OpenWithParm(w_message_err,arg_msg)
  614. END IF
  615. Close(Parent)
  616. end event
  617. type cb_bill from uo_imflatbutton within w_buytask_redate_ljfieb
  618. integer x = 384
  619. integer width = 384
  620. integer height = 164
  621. integer taborder = 10
  622. boolean bringtotop = true
  623. string text = "打开采购订单"
  624. string normalpicname = "open.bmp"
  625. integer picsize = 16
  626. toolbaralignment pic_align = alignattop!
  627. boolean border = false
  628. end type
  629. event clicked;call super::clicked;long ll_row
  630. string ls_code
  631. ll_row = dw_uc.getrow()
  632. if ll_row <= 0 then return
  633. ls_code = dw_uc.object.taskcode[ll_row]
  634. f_open_win(ins_scid,ls_code)
  635. end event
  636. type st_msg from statictext within w_buytask_redate_ljfieb
  637. boolean visible = false
  638. integer x = 27
  639. integer y = 328
  640. integer width = 1842
  641. integer height = 76
  642. boolean bringtotop = true
  643. integer textsize = -12
  644. integer weight = 700
  645. fontcharset fontcharset = gb2312charset!
  646. fontpitch fontpitch = variable!
  647. string facename = "宋体"
  648. long textcolor = 255
  649. long backcolor = 16777215
  650. string text = "已无法查询单据信息,可以已删除掉"
  651. boolean focusrectangle = false
  652. end type
  653. type cb_1 from uo_imflatbutton within w_buytask_redate_ljfieb
  654. integer x = 192
  655. integer width = 187
  656. integer height = 164
  657. integer taborder = 10
  658. boolean bringtotop = true
  659. string text = "拒绝"
  660. string normalpicname = "DELETE.BMP"
  661. integer picsize = 16
  662. toolbaralignment pic_align = alignattop!
  663. boolean border = false
  664. end type
  665. event clicked;call super::clicked;IF Not f_power_ind(1589) THEN
  666. MessageBox(publ_operator,sys_msg_pow)
  667. RETURN
  668. END IF
  669. if messagebox('询问','是否确认拒绝此次供应商交期确认?',question!,yesno!) = 2 then return
  670. String arg_summary,arg_postscript,arg_remark
  671. String arg_msg
  672. string ls_SerialNum
  673. UPDATE LJFIEB_packet
  674. SET Complete = 1 ,
  675. status = 10,
  676. ConfirmTime = getdate(),
  677. ConfirmUser = :publ_operator
  678. Where SerialNum = :ins_sn Using tr_eb_sqlca;
  679. IF tr_eb_sqlca.SQLCode <> 0 THEN
  680. ROLLBACK Using tr_eb_sqlca;
  681. MessageBox('Errr','更新通信记录状态失败,'+tr_eb_sqlca.SQLErrText)
  682. RETURN
  683. END IF
  684. s_packet_ljfieb s_pack,s_return
  685. s_pack.summary = '拒绝交期:'+ins_RelatedCode
  686. OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
  687. s_return = Message.PowerObjectParm
  688. IF s_return.returnflag <> 1 THEN RETURN
  689. //arg_summary = s_return.summary
  690. arg_postscript = s_return.postscript
  691. arg_remark = s_return.remark
  692. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  693. From u_user Using sqlca;
  694. IF sqlca.SQLCode <> 0 THEN
  695. ROLLBACK Using sqlca;
  696. MessageBox('Error','生成序列号失败,'+sqlca.SQLErrText)
  697. RETURN
  698. END IF
  699. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  700. IF ls_SerialNum = '' THEN
  701. MessageBox('Error','错误的发送序列号')
  702. RETURN
  703. END IF
  704. IF uo_fieb.add_packet(ls_SerialNum,'',ins_receid,ins_reccesccode,ins_sendid,ins_sendsccode,11,arg_summary,arg_postscript,arg_remark,ins_sn,ins_RelatedCode,0,arg_msg,True) = 0 THEN
  705. MessageBox('系统提示','发送确认指令失败 '+arg_msg)
  706. RETURN
  707. END IF
  708. messagebox('系统提示','操作成功!')
  709. close(parent)
  710. end event
  711. type ln_bar from line within w_buytask_redate_ljfieb
  712. long linecolor = 268435456
  713. integer linethickness = 4
  714. integer beginy = 172
  715. integer endx = 3200
  716. integer endy = 172
  717. end type
  718. type ln_bar2 from line within w_buytask_redate_ljfieb
  719. long linecolor = 16777215
  720. integer linethickness = 4
  721. integer beginx = 9
  722. integer beginy = 176
  723. integer endx = 3273
  724. integer endy = 176
  725. end type
  726. type ln_1 from line within w_buytask_redate_ljfieb
  727. long linecolor = 268435456
  728. integer linethickness = 4
  729. integer beginy = 284
  730. integer endx = 3250
  731. integer endy = 284
  732. end type
  733. type ln_2 from line within w_buytask_redate_ljfieb
  734. long linecolor = 16777215
  735. integer linethickness = 4
  736. integer beginy = 288
  737. integer endx = 3282
  738. integer endy = 288
  739. end type
  740. type r_bar from rectangle within w_buytask_redate_ljfieb
  741. long linecolor = 16777215
  742. integer linethickness = 4
  743. long fillcolor = 1073741824
  744. integer x = 3351
  745. integer width = 87
  746. integer height = 68
  747. end type
  748. event constructor;this.fillcolor = 14215660
  749. this.linecolor = 14215660
  750. this.x = -1
  751. this.y = -1
  752. this.height = ln_bar.beginy - 5
  753. end event