w_buytask_receive_ljfieb.srw 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566
  1. $PBExportHeader$w_buytask_receive_ljfieb.srw
  2. forward
  3. global type w_buytask_receive_ljfieb from w_publ_base
  4. end type
  5. type dw_uc from datawindow within w_buytask_receive_ljfieb
  6. end type
  7. type dw_child from u_dw_rbtnfilter within w_buytask_receive_ljfieb
  8. end type
  9. type mle_1 from multilineedit within w_buytask_receive_ljfieb
  10. end type
  11. type st_1 from statictext within w_buytask_receive_ljfieb
  12. end type
  13. type st_2 from statictext within w_buytask_receive_ljfieb
  14. end type
  15. type sle_scname from singlelineedit within w_buytask_receive_ljfieb
  16. end type
  17. type cb_accept from uo_imflatbutton within w_buytask_receive_ljfieb
  18. end type
  19. type cb_feedback from uo_imflatbutton within w_buytask_receive_ljfieb
  20. end type
  21. type cb_reject from uo_imflatbutton within w_buytask_receive_ljfieb
  22. end type
  23. type mle_2 from multilineedit within w_buytask_receive_ljfieb
  24. end type
  25. type st_3 from statictext within w_buytask_receive_ljfieb
  26. end type
  27. type cb_1 from uo_imflatbutton within w_buytask_receive_ljfieb
  28. end type
  29. type ln_bar from line within w_buytask_receive_ljfieb
  30. end type
  31. type ln_bar2 from line within w_buytask_receive_ljfieb
  32. end type
  33. type ln_1 from line within w_buytask_receive_ljfieb
  34. end type
  35. type ln_2 from line within w_buytask_receive_ljfieb
  36. end type
  37. type r_bar from rectangle within w_buytask_receive_ljfieb
  38. end type
  39. end forward
  40. global type w_buytask_receive_ljfieb from w_publ_base
  41. integer width = 3611
  42. integer height = 2380
  43. string title = "客户采购订单"
  44. boolean minbox = false
  45. windowtype windowtype = response!
  46. windowstate windowstate = maximized!
  47. dw_uc dw_uc
  48. dw_child dw_child
  49. mle_1 mle_1
  50. st_1 st_1
  51. st_2 st_2
  52. sle_scname sle_scname
  53. cb_accept cb_accept
  54. cb_feedback cb_feedback
  55. cb_reject cb_reject
  56. mle_2 mle_2
  57. st_3 st_3
  58. cb_1 cb_1
  59. ln_bar ln_bar
  60. ln_bar2 ln_bar2
  61. ln_1 ln_1
  62. ln_2 ln_2
  63. r_bar r_bar
  64. end type
  65. global w_buytask_receive_ljfieb w_buytask_receive_ljfieb
  66. type variables
  67. Transaction tr_eb_sqlca
  68. s_packet_ljfieb s_inscust
  69. long ins_scid
  70. string ins_sn
  71. long ins_cusid
  72. uo_saletask obj_saletask
  73. uo_cusprice uo_price
  74. uo_ljfieb uo_fieb
  75. long ins_sendid,ins_receid
  76. string ins_sendsccode,ins_reccesccode
  77. string ins_RelatedCode
  78. datetime ins_addtime
  79. string ins_adduser
  80. string ins_returncode
  81. end variables
  82. forward prototypes
  83. public function integer wf_retrieve (string arg_sn, long arg_sendcuscommid, string arg_sendsccode, ref string arg_msg)
  84. public function integer wf_importnewbj (long arg_cusid, long arg_moneyid, long arg_mtrlid, string arg_status, string arg_woodcode, string arg_pcode, ref decimal arg_price, ref decimal arg_rebate, ref string arg_msg)
  85. public function integer wf_importnewprice (long arg_cusid, long arg_moneyid, long arg_mtrlid, string arg_status, string arg_woodcode, string arg_pcode, ref decimal arg_price, ref decimal arg_rebate, ref string arg_msg)
  86. end prototypes
  87. public function integer wf_retrieve (string arg_sn, long arg_sendcuscommid, string arg_sendsccode, ref string arg_msg);Int rslt = 1
  88. String ls_cuscode
  89. Long uc_row
  90. Long ll_i, ll_rowcnt,ll_row
  91. Long ll_moneyid,ll_banktypeid
  92. Int li_CusType
  93. Decimal ls_1stnewprice,ls_1stzqrate
  94. s_mtrldef_array arg_s_mtrl
  95. datastore ds_mx
  96. ds_mx = Create datastore
  97. ds_mx.DataObject = 'ds_buytaskmx_receive_ljfieb'
  98. ds_mx.SetTransObject(tr_eb_sqlca)
  99. SELECT CusCode,CusType
  100. INTO :ls_cuscode,:li_CusType
  101. FROM LJFIEB_CusComm
  102. Where CusCommID = :arg_sendcuscommid Using tr_eb_sqlca;
  103. IF tr_eb_sqlca.SQLCode <> 0 THEN
  104. ls_cuscode = ''
  105. END IF
  106. IF li_CusType = 5 THEN
  107. SELECT cuscode INTO :ls_cuscode
  108. FROM u_cust
  109. Where cusid = :ins_cusid Using sqlca;
  110. IF sqlca.SQLCode <> 0 THEN
  111. ls_cuscode = ''
  112. END IF
  113. END IF
  114. IF Trim(ls_cuscode) = '' THEN
  115. rslt = 0
  116. arg_msg = '客户信息不明确,请检查'
  117. GOTO ext
  118. END IF
  119. Long cusid
  120. String CusCode, Name, tele, tele1, rep, upname, freight, freight_tele, Address, CusType, faxno, simplename
  121. SELECT cusid,
  122. cuscode,
  123. name,
  124. tele,
  125. tele1,
  126. rep,
  127. upname,
  128. freight,
  129. freight_tele,
  130. address,
  131. custype,
  132. faxno,
  133. simplename
  134. INTO
  135. :cusid,
  136. :cuscode,
  137. :Name,
  138. :tele,
  139. :tele1,
  140. :rep,
  141. :upname,
  142. :freight,
  143. :freight_tele,
  144. :Address,
  145. :custype,
  146. :faxno,
  147. :simplename
  148. FROM u_cust
  149. WHERE (commcode = :ls_cuscode AND commsccode = :arg_SendSCcode AND :li_CusType <> 5
  150. Or CusCode = :ls_cuscode And :li_CusType = 5 ) Using sqlca;
  151. IF sqlca.SQLCode <> 0 THEN
  152. rslt = 0
  153. arg_msg = '查询客户信息失败,请检查通信设置是否正确,'+sqlca.SQLErrText
  154. GOTO ext
  155. END IF
  156. String TaskCode, moneyname
  157. Decimal mrate
  158. DateTime requiredate
  159. Decimal billamt
  160. String train, banktypename, Dscrp
  161. String Opemp,Modemp,Permit_Emp
  162. DateTime opdate,moddate,Permit_date
  163. DateTime ldt_requiredate_mx
  164. String dscrp2, station_name, station_tel, shouhuoren,shouhuoren_tel, shouhuoren_address
  165. Int li_status_task
  166. SELECT TaskCode,
  167. moneyname,
  168. mrate,
  169. requiredate,
  170. billamt,
  171. train,
  172. banktypename,
  173. Dscrp,
  174. Opemp,
  175. opdate,
  176. Modemp,
  177. moddate,
  178. Permit_Emp,
  179. Permit_date,
  180. dscrp2,
  181. station_name,
  182. station_tel,
  183. shouhuoren,
  184. shouhuoren_tel,
  185. shouhuoren_address,
  186. status
  187. INTO :TaskCode,
  188. :moneyname,
  189. :mrate,
  190. :requiredate,
  191. :billamt,
  192. :train,
  193. :banktypename,
  194. :Dscrp,
  195. :Opemp,
  196. :opdate,
  197. :Modemp,
  198. :moddate,
  199. :Permit_Emp,
  200. :Permit_date,
  201. :dscrp2,
  202. :station_name,
  203. :station_tel,
  204. :shouhuoren,
  205. :shouhuoren_tel,
  206. :shouhuoren_address,
  207. :li_status_task
  208. FROM LJFIEB_tempbuyTask
  209. Where serialnum = :arg_sn Using tr_eb_sqlca;
  210. IF tr_eb_sqlca.SQLCode <> 0 THEN
  211. rslt = 0
  212. arg_msg = '查询临时采购订单内容失败,'+tr_eb_sqlca.SQLErrText
  213. GOTO ext
  214. END IF
  215. dw_uc.Reset()
  216. uc_row = dw_uc.InsertRow(0)
  217. datawindowchild childdwmx
  218. dw_uc.SetTransObject (sqlca)
  219. dw_uc.GetChild("u_saletask_banktypeid",childdwmx)
  220. childdwmx.SetTransObject (sqlca)
  221. IF childdwmx.Retrieve() = 0 THEN
  222. childdwmx.InsertRow(0)
  223. END IF
  224. datawindowchild childdwmx_s
  225. dw_uc.SetTransObject (sqlca)
  226. dw_uc.GetChild("u_saletask_typeid",childdwmx_s)
  227. childdwmx_s.SetTransObject (sqlca)
  228. IF childdwmx_s.Retrieve() = 0 THEN
  229. childdwmx_s.InsertRow(0)
  230. END IF
  231. dw_uc.Object.cusid[uc_row] = cusid
  232. dw_uc.Object.u_cust_name[uc_row] = Name
  233. dw_uc.Object.u_cust_tele1[uc_row] = tele1
  234. dw_uc.Object.u_cust_cuscode[uc_row] = CusCode
  235. dw_uc.Object.assign_emp[uc_row] = CusType
  236. dw_uc.Object.u_saletask_upname[uc_row] = upname
  237. dw_uc.Object.u_saletask_cus_fax[uc_row] = faxno
  238. dw_uc.Object.u_cust_simplename[uc_row] = simplename
  239. dw_uc.Object.TaskCode[uc_row] = TaskCode
  240. dw_uc.Object.cw_currency_name[uc_row] = moneyname
  241. dw_uc.Object.u_saletask_mrate[uc_row] = mrate
  242. dw_uc.Object.u_saletask_taskdate[uc_row] = opdate
  243. dw_uc.Object.u_saletask_msttakeamt[uc_row] = billamt
  244. dw_uc.Object.u_saletask_paytype[uc_row] = train
  245. dw_uc.Object.cw_banktype_banktypename[uc_row] = banktypename
  246. dw_uc.Object.Dscrp[uc_row] = Dscrp
  247. dw_uc.Object.Opemp[uc_row] = Opemp
  248. dw_uc.Object.opdate[uc_row] = opdate
  249. dw_uc.Object.u_saletask_modemp[uc_row] = Modemp
  250. dw_uc.Object.u_saletask_moddate[uc_row] = moddate
  251. dw_uc.Object.Permit_Emp[uc_row] = Permit_Emp
  252. dw_uc.Object.u_saletask_permit_date[uc_row] = Permit_date
  253. dw_uc.Object.status_task[uc_row] = li_status_task
  254. IF station_name <> '' THEN
  255. dw_uc.Object.u_saletask_freight[uc_row] = station_name
  256. ELSE
  257. dw_uc.Object.u_saletask_freight[uc_row] = freight
  258. END IF
  259. IF station_tel <> '' THEN
  260. dw_uc.Object.u_saletask_freight_tele[uc_row] = station_tel
  261. ELSE
  262. dw_uc.Object.u_saletask_freight_tele[uc_row] = freight_tele
  263. END IF
  264. IF shouhuoren_address <> '' THEN
  265. dw_uc.Object.u_saletask_cus_address[uc_row] = shouhuoren_address
  266. ELSE
  267. dw_uc.Object.u_saletask_cus_address[uc_row] = Address
  268. END IF
  269. IF shouhuoren_tel <> '' THEN
  270. dw_uc.Object.u_saletask_cus_tele[uc_row] = shouhuoren_tel
  271. ELSE
  272. dw_uc.Object.u_saletask_cus_tele[uc_row] = tele
  273. END IF
  274. IF shouhuoren <> '' THEN
  275. dw_uc.Object.u_saletask_rel_rep[uc_row] = shouhuoren
  276. ELSE
  277. dw_uc.Object.u_saletask_rel_rep[uc_row] = rep
  278. END IF
  279. dw_uc.Object.u_saletask_dscrp2[uc_row] = dscrp2
  280. dw_uc.Object.spt_dscrp[uc_row] = Dscrp
  281. dw_uc.Object.spt_dscrp2[uc_row] = dscrp2
  282. SELECT moneyid
  283. INTO :ll_moneyid
  284. FROM cw_currency
  285. Where Name = :moneyname Using sqlca;
  286. IF sqlca.SQLCode <> 0 THEN
  287. rslt = 0
  288. arg_msg = '查询币种信息失败,'+sqlca.SQLErrText
  289. GOTO ext
  290. END IF
  291. SELECT top 1 banktypeid
  292. INTO :ll_banktypeid
  293. FROM cw_banktype
  294. WHERE banktypename = :banktypename
  295. And banktype = 0 Using sqlca;
  296. IF sqlca.SQLCode <> 0 THEN
  297. SELECT top 1 banktypeid
  298. INTO :ll_banktypeid
  299. FROM cw_banktype
  300. Where banktype = 0 Using sqlca;
  301. IF sqlca.SQLCode <> 0 THEN
  302. ll_banktypeid = 0
  303. END IF
  304. END IF
  305. dw_uc.Object.u_saletask_moneyid[uc_row] = ll_moneyid
  306. dw_uc.Object.u_saletask_banktypeid[uc_row] = ll_banktypeid
  307. //IF UpperBound(sys_user_saletype) > 0 THEN
  308. // dw_uc.Object.u_saletask_typeid[uc_row] = sys_user_saletype[1]
  309. //END IF
  310. Long ll_status
  311. String ls_ConfirmUser
  312. DateTime ld_ConfirmTime
  313. SELECT Status, ConfirmTime, ConfirmUser
  314. INTO :ll_status,:ld_ConfirmTime,:ls_ConfirmUser
  315. FROM LJFIEB_packet
  316. Where serialnum = :arg_sn Using tr_eb_sqlca;
  317. IF tr_eb_sqlca.SQLCode <> 0 THEN
  318. rslt = 0
  319. arg_msg = '查询通信记录信息失败,'+tr_eb_sqlca.SQLErrText
  320. GOTO ext
  321. END IF
  322. dw_uc.Object.status_flag[uc_row] = ll_status
  323. dw_uc.Object.dealrep[uc_row] = ls_ConfirmUser
  324. dw_uc.Object.dealtime[uc_row] = ld_ConfirmTime
  325. ll_rowcnt = ds_mx.Retrieve(arg_sn)
  326. IF ll_rowcnt = 0 THEN
  327. rslt = 0
  328. arg_msg = '没有正确的明细内容'
  329. GOTO ext
  330. END IF
  331. String ls_mtrlcode_cus
  332. Long ll_mtrlid_local
  333. String ls_mtrlcode_local,ls_mtrlname_local,ls_mtrlmode_local
  334. dw_child.Reset()
  335. FOR ll_i = 1 To ll_rowcnt
  336. ll_row = dw_child.InsertRow(0)
  337. dw_child.Object.u_saletaskmx_printid[ll_row] = ds_mx.Object.printid[ll_i]
  338. dw_child.Object.u_mtrldef_mtrlcode[ll_row] = ds_mx.Object.sptmtrlcode[ll_i]
  339. dw_child.Object.mtrlname[ll_row] = ds_mx.Object.sptmtrlname[ll_i]
  340. dw_child.Object.u_mtrldef_mtrlmode[ll_row] = ds_mx.Object.sptmtrlmode[ll_i]
  341. dw_child.Object.saleqty[ll_row] = ds_mx.Object.uqty[ll_i]
  342. dw_child.Object.u_saletaskmx_spt_uqty[ll_row] = ds_mx.Object.uqty[ll_i]
  343. dw_child.Object.u_mtrldef_unit[ll_row] = ds_mx.Object.unit[ll_i]
  344. dw_child.Object.u_saletaskmx_enprice[ll_row] = ds_mx.Object.enprice[ll_i]
  345. dw_child.Object.u_saletaskmx_spt_enprice[ll_row] = ds_mx.Object.enprice[ll_i]
  346. dw_child.Object.u_saletaskmx_rebate[ll_row] = ds_mx.Object.rebate[ll_i]
  347. dw_child.Object.u_saletaskmx_taxrate[ll_row] = ds_mx.Object.tax[ll_i]
  348. dw_child.Object.u_saletaskmx_requiredate[ll_row] = ds_mx.Object.requiredate[ll_i]
  349. dw_child.Object.u_saletaskmx_spt_requiredate[ll_row] = ds_mx.Object.requiredate[ll_i]
  350. dw_child.Object.u_saletaskmx_fprice[ll_row] = ds_mx.Object.uprice[ll_i]
  351. dw_child.Object.u_saletaskmx_status[ll_row] = ds_mx.Object.status[ll_i]
  352. dw_child.Object.spt_status[ll_row] = ds_mx.Object.status[ll_i]
  353. dw_child.Object.u_saletaskmx_woodcode[ll_row] = ds_mx.Object.woodcode[ll_i]
  354. dw_child.Object.spt_woodcode[ll_row] = ds_mx.Object.woodcode[ll_i]
  355. dw_child.Object.u_saletaskmx_pcode[ll_row] = ds_mx.Object.pcode[ll_i]
  356. dw_child.Object.spt_pcode[ll_row] = ds_mx.Object.pcode[ll_i]
  357. dw_child.Object.u_saletaskmx_mxdscrp[ll_row] = ds_mx.Object.Dscrp[ll_i]
  358. dw_child.Object.spt_dscrp[ll_row] = ds_mx.Object.Dscrp[ll_i]
  359. dw_child.Object.bateprice[ll_row] = ds_mx.Object.enprice[ll_i] * ds_mx.Object.rebate[ll_i]
  360. dw_child.Object.enprice_tax[ll_row] = ds_mx.Object.enprice[ll_i] / (1 + ds_mx.Object.tax[ll_i] )
  361. dw_child.Object.bateprice_tax[ll_row] = (ds_mx.Object.enprice[ll_i] * ds_mx.Object.rebate[ll_i]) / (1 + ds_mx.Object.tax[ll_i] )
  362. dw_child.Object.taxamt[ll_row] = (ds_mx.Object.enprice[ll_i] * ds_mx.Object.rebate[ll_i] * ds_mx.Object.uqty[ll_i]) / (1 + ds_mx.Object.tax[ll_i] ) * ds_mx.Object.tax[ll_i]
  363. dw_child.Object.enamt_tax[ll_row] = (ds_mx.Object.uqty[ll_i] * ds_mx.Object.enprice[ll_i] * ds_mx.Object.rebate[ll_i]) / (1 + ds_mx.Object.tax[ll_i] )
  364. dw_child.Object.fprice_tax[ll_row] = ds_mx.Object.uprice[ll_i] / ( 1 + ds_mx.Object.tax[ll_i] )
  365. dw_child.Object.famt_tax[ll_row] = (ds_mx.Object.uqty[ll_i] * ds_mx.Object.rebate[ll_i] * ds_mx.Object.uprice[ll_i]) / (1 + ds_mx.Object.tax[ll_i] )
  366. dw_child.Object.cus_mtrlcode[ll_row] = ds_mx.Object.mtrlcode[ll_i]
  367. dw_child.Object.cus_mtrlmode[ll_row] = ds_mx.Object.mtrlmode[ll_i]
  368. dw_child.Object.cus_mtrlname[ll_row] = ds_mx.Object.mtrlname[ll_i]
  369. ls_mtrlcode_cus = dw_child.Object.cus_mtrlcode[ll_row]
  370. ll_mtrlid_local = 0
  371. SELECT mtrlid
  372. INTO :ll_mtrlid_local
  373. FROM u_cusmtrlname
  374. WHERE cusid = :cusid
  375. And cusmtrlcode = :ls_mtrlcode_cus Using sqlca;
  376. IF sqlca.SQLCode <> 0 THEN
  377. ll_mtrlid_local = 0
  378. END IF
  379. IF ll_mtrlid_local > 0 THEN
  380. SELECT mtrlcode, mtrlname, mtrlmode
  381. INTO :ls_mtrlcode_local,:ls_mtrlname_local,:ls_mtrlmode_local
  382. FROM u_mtrldef
  383. Where mtrlid = :ll_mtrlid_local Using sqlca;
  384. IF sqlca.SQLCode = 0 THEN
  385. dw_child.Object.u_mtrldef_mtrlcode[ll_row] = ls_mtrlcode_local
  386. dw_child.Object.mtrlname[ll_row] = ls_mtrlname_local
  387. dw_child.Object.u_mtrldef_mtrlmode[ll_row] = ls_mtrlmode_local
  388. END IF
  389. END IF
  390. IF f_find_mtrl_ljfieb(dw_child.Object.u_mtrldef_mtrlcode[ll_row],arg_s_mtrl) = 1 THEN
  391. dw_child.Object.u_mtrldef_mtrlsectype[ll_row] = arg_s_mtrl.mtrlsectype[1]
  392. dw_child.Object.u_mtrldef_zxmtrlmode[ll_row] = arg_s_mtrl.zxmtrlmode[1]
  393. dw_child.Object.u_mtrldef_usermtrlmode[ll_row] = arg_s_mtrl.usermtrlmode[1]
  394. dw_child.Object.sumnetweight[ll_row] = ds_mx.Object.uqty[ll_i] * arg_s_mtrl.net_weight[1]
  395. dw_child.Object.sumgrossweight[ll_row] = ds_mx.Object.uqty[ll_i] * arg_s_mtrl.gross_weight[1]
  396. dw_child.Object.sumcubage[ll_row] = ds_mx.Object.uqty[ll_i] * arg_s_mtrl.cubage[1]
  397. dw_child.Object.u_mtrldef_prdpackcode[ll_row] = arg_s_mtrl.prdpackcode[1]
  398. dw_child.Object.u_mtrldef_packqty[ll_row] = arg_s_mtrl.packqty[1]
  399. // dw_child.Object.u_mtrldef_expday[ll_row] = arg_s_mtrl.expday[1]
  400. dw_child.Object.mtrlid[ll_row] = arg_s_mtrl.mtrlid[1]
  401. // dw_child.Object.u_saletaskmx_scidprice[ll_row] = arg_s_mtrl.scidprice[1]
  402. dw_child.Object.u_mtrldef_statusflag[ll_row] = arg_s_mtrl.statusflag[1]
  403. dw_child.Object.u_mtrldef_statustype[ll_row] = arg_s_mtrl.statustype[1]
  404. dw_child.Object.u_mtrldef_woodcodeflag[ll_row] = arg_s_mtrl.woodcodeflag[1]
  405. dw_child.Object.u_mtrldef_woodcodetype[ll_row] = arg_s_mtrl.woodcodetype[1]
  406. dw_child.Object.u_mtrldef_pcodeflag[ll_row] = arg_s_mtrl.pcodeflag[1]
  407. dw_child.Object.u_mtrldef_pcodetype[ll_row] = arg_s_mtrl.pcodetype[1]
  408. dw_child.AcceptText()
  409. // IF uo_price.uof_getmtrlcusprice(ll_moneyid,arg_s_mtrl.mtrlid[1],cusid,ls_1stnewprice,ls_1stzqrate,&
  410. // Trim(dw_child.Object.u_saletaskmx_status[ll_row]),Trim(dw_child.Object.u_saletaskmx_woodcode[ll_row]),&
  411. // Trim(dw_child.Object.u_saletaskmx_pcode[ll_row]),dw_child.Object.saleqty[ll_row],arg_msg) <> 1 THEN
  412. //
  413. dw_child.Object.u_saletaskmx_nprice[ll_row] = 0
  414. // ELSE
  415. // dw_child.Object.u_saletaskmx_nprice[ll_row] = ls_1stnewprice
  416. // END IF
  417. IF ldt_requiredate_mx < ds_mx.Object.requiredate[ll_i] THEN
  418. ldt_requiredate_mx = ds_mx.Object.requiredate[ll_i]
  419. END IF
  420. END IF
  421. NEXT
  422. dw_uc.Object.requiredate[uc_row] = ldt_requiredate_mx
  423. This.TriggerEvent('ue_allowedit')
  424. ext:
  425. RETURN rslt
  426. end function
  427. public function integer wf_importnewbj (long arg_cusid, long arg_moneyid, long arg_mtrlid, string arg_status, string arg_woodcode, string arg_pcode, ref decimal arg_price, ref decimal arg_rebate, ref string arg_msg);Int rslt = 1
  428. IF arg_moneyid = 0 THEN
  429. rslt = 0
  430. arg_msg = '请先选择币种'
  431. GOTO ext
  432. END IF
  433. IF IsNull(arg_cusid) THEN arg_cusid = 0
  434. IF arg_cusid = 0 THEN
  435. rslt = 0
  436. arg_msg = "请选择销售客户!"
  437. GOTO ext
  438. END IF
  439. SELECT u_cus_price.fprice_bj,u_cus_price.zqrate_bj
  440. INTO :arg_price,:arg_rebate
  441. FROM u_cus_price
  442. WHERE ( u_cus_price.cusid = :arg_cusid ) AND
  443. ( u_cus_price.mtrlid = :arg_mtrlid ) AND
  444. ( u_cus_price.status = :arg_status ) AND
  445. ( u_cus_price.pcode = :arg_pcode ) AND
  446. ( u_cus_price.woodcode = :arg_woodcode ) and
  447. ( u_cus_price.moneyid = :arg_moneyid);
  448. IF sqlca.SQLCode <> 0 THEN
  449. rslt = 0
  450. arg_msg = "没有最新销售价!"
  451. GOTO ext
  452. END IF
  453. ext:
  454. IF rslt = 0 THEN
  455. arg_price = 0
  456. arg_rebate = 0
  457. END IF
  458. RETURN rslt
  459. end function
  460. public function integer wf_importnewprice (long arg_cusid, long arg_moneyid, long arg_mtrlid, string arg_status, string arg_woodcode, string arg_pcode, ref decimal arg_price, ref decimal arg_rebate, ref string arg_msg);Int rslt = 1
  461. IF arg_moneyid = 0 THEN
  462. rslt = 0
  463. arg_msg = '请先选择币种'
  464. GOTO ext
  465. END IF
  466. IF IsNull(arg_cusid) THEN arg_cusid = 0
  467. IF arg_cusid = 0 THEN
  468. rslt = 0
  469. arg_msg = "请选择销售客户!"
  470. GOTO ext
  471. END IF
  472. SELECT u_cus_price.fprice,u_cus_price.zqrate
  473. INTO :arg_price,:arg_rebate
  474. FROM u_cus_price
  475. WHERE ( u_cus_price.cusid = :arg_cusid ) AND
  476. ( u_cus_price.mtrlid = :arg_mtrlid ) AND
  477. ( u_cus_price.status = :arg_status ) AND
  478. ( u_cus_price.pcode = :arg_pcode ) AND
  479. ( u_cus_price.woodcode = :arg_woodcode ) and
  480. ( u_cus_price.moneyid = :arg_moneyid);
  481. IF sqlca.SQLCode <> 0 THEN
  482. rslt = 0
  483. arg_msg = "没有最新销售价!"
  484. GOTO ext
  485. END IF
  486. ext:
  487. IF rslt = 0 THEN
  488. arg_price = 0
  489. arg_rebate = 0
  490. END IF
  491. RETURN rslt
  492. end function
  493. on w_buytask_receive_ljfieb.create
  494. int iCurrent
  495. call super::create
  496. this.dw_uc=create dw_uc
  497. this.dw_child=create dw_child
  498. this.mle_1=create mle_1
  499. this.st_1=create st_1
  500. this.st_2=create st_2
  501. this.sle_scname=create sle_scname
  502. this.cb_accept=create cb_accept
  503. this.cb_feedback=create cb_feedback
  504. this.cb_reject=create cb_reject
  505. this.mle_2=create mle_2
  506. this.st_3=create st_3
  507. this.cb_1=create cb_1
  508. this.ln_bar=create ln_bar
  509. this.ln_bar2=create ln_bar2
  510. this.ln_1=create ln_1
  511. this.ln_2=create ln_2
  512. this.r_bar=create r_bar
  513. iCurrent=UpperBound(this.Control)
  514. this.Control[iCurrent+1]=this.dw_uc
  515. this.Control[iCurrent+2]=this.dw_child
  516. this.Control[iCurrent+3]=this.mle_1
  517. this.Control[iCurrent+4]=this.st_1
  518. this.Control[iCurrent+5]=this.st_2
  519. this.Control[iCurrent+6]=this.sle_scname
  520. this.Control[iCurrent+7]=this.cb_accept
  521. this.Control[iCurrent+8]=this.cb_feedback
  522. this.Control[iCurrent+9]=this.cb_reject
  523. this.Control[iCurrent+10]=this.mle_2
  524. this.Control[iCurrent+11]=this.st_3
  525. this.Control[iCurrent+12]=this.cb_1
  526. this.Control[iCurrent+13]=this.ln_bar
  527. this.Control[iCurrent+14]=this.ln_bar2
  528. this.Control[iCurrent+15]=this.ln_1
  529. this.Control[iCurrent+16]=this.ln_2
  530. this.Control[iCurrent+17]=this.r_bar
  531. end on
  532. on w_buytask_receive_ljfieb.destroy
  533. call super::destroy
  534. destroy(this.dw_uc)
  535. destroy(this.dw_child)
  536. destroy(this.mle_1)
  537. destroy(this.st_1)
  538. destroy(this.st_2)
  539. destroy(this.sle_scname)
  540. destroy(this.cb_accept)
  541. destroy(this.cb_feedback)
  542. destroy(this.cb_reject)
  543. destroy(this.mle_2)
  544. destroy(this.st_3)
  545. destroy(this.cb_1)
  546. destroy(this.ln_bar)
  547. destroy(this.ln_bar2)
  548. destroy(this.ln_1)
  549. destroy(this.ln_2)
  550. destroy(this.r_bar)
  551. end on
  552. event open;call super::open;tr_eb_sqlca = sys_email_sqlca // 电子商务连接
  553. IF sys_email_sqlca.DBHandle() = 0 THEN
  554. MessageBox('Error','电子商务数据库连接失败,请检查')
  555. RETURN
  556. END IF
  557. obj_saletask = Create uo_saletask
  558. obj_saletask.commit_transaction = sqlca
  559. uo_price = Create uo_cusprice
  560. uo_fieb = Create uo_ljfieb
  561. uo_fieb.commit_transaction = tr_eb_sqlca
  562. s_inscust = Message.PowerObjectParm
  563. ins_sn = s_inscust.serialnum
  564. ins_sendid = s_inscust.sendcuscommid
  565. ins_receid = s_inscust.receivecuscommid
  566. ins_sendsccode = s_inscust.sendsccode
  567. ins_reccesccode = s_inscust.receivesccode
  568. ins_RelatedCode = s_inscust.RelatedCode
  569. ins_addtime = s_inscust.addtime
  570. ins_adduser = s_inscust.adduser
  571. String ls_sccode,ls_scname
  572. String arg_msg
  573. Long ll_status
  574. ls_sccode = s_inscust.receivesccode
  575. SELECT scid,scname
  576. INTO :ins_scid,:ls_scname
  577. FROM u_scdef
  578. Where sccode = :ls_sccode;
  579. IF sqlca.SQLCode <> 0 THEN
  580. MessageBox('Error','查询分部信息失败,'+sqlca.SQLErrText)
  581. RETURN
  582. END IF
  583. sle_scname.Text = ls_scname
  584. mle_1.Text = s_inscust.postscript
  585. mle_2.Text = s_inscust.remark
  586. SELECT status,cusid INTO :ll_status,:ins_cusid
  587. FROM LJFIEB_packet
  588. Where serialnum = :ins_sn Using tr_eb_sqlca;
  589. IF tr_eb_sqlca.SQLCode <> 0 THEN
  590. MessageBox('Error','查询通信数据失败,'+sqlca.SQLErrText)
  591. RETURN
  592. END IF
  593. IF ll_status <> 5 THEN
  594. cb_accept.Enabled = False
  595. cb_feedback.Enabled = False
  596. cb_reject.Enabled = False
  597. END IF
  598. IF wf_retrieve(ins_sn,ins_sendid,ins_sendsccode,arg_msg) = 0 THEN
  599. MessageBox('Error',arg_msg)
  600. RETURN
  601. END IF
  602. //更新对方状态-已打开
  603. String ls_SerialNum
  604. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  605. From u_user Using sqlca;
  606. IF sqlca.SQLCode <> 0 THEN
  607. RETURN
  608. END IF
  609. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  610. IF ls_SerialNum = '' THEN
  611. RETURN
  612. END IF
  613. IF uo_fieb.add_packet(ls_SerialNum,'',ins_receid,ins_reccesccode,ins_sendid,ins_sendsccode,5,'打开消息','','',ins_sn,'',0,arg_msg,True) = 0 THEN
  614. RETURN
  615. END IF
  616. end event
  617. event resize;call super::resize;ln_bar.endx = this.width
  618. ln_bar2.endx = this.width
  619. r_bar.width = this.width
  620. ln_1.endx = this.width
  621. ln_2.endx = this.width
  622. dw_child.width = this.WorkSpaceWidth() - 10
  623. mle_1.width = dw_child.width - dw_uc.width - 4
  624. mle_2.width = mle_1.width
  625. dw_child.height = this.workspaceheight() - dw_child.y - 30
  626. end event
  627. event close;call super::close;destroy uo_fieb
  628. destroy obj_saletask
  629. destroy uo_price
  630. closewithreturn(this,ins_returncode)
  631. end event
  632. type cb_func from w_publ_base`cb_func within w_buytask_receive_ljfieb
  633. boolean visible = false
  634. end type
  635. type cb_exit from w_publ_base`cb_exit within w_buytask_receive_ljfieb
  636. integer x = 1207
  637. integer width = 183
  638. integer height = 164
  639. integer picsize = 16
  640. toolbaralignment pic_align = alignattop!
  641. boolean border = false
  642. end type
  643. type dw_uc from datawindow within w_buytask_receive_ljfieb
  644. integer y = 296
  645. integer width = 2373
  646. integer height = 1184
  647. integer taborder = 30
  648. boolean bringtotop = true
  649. string title = "none"
  650. string dataobject = "dw_saletask_input_ljfieb"
  651. boolean livescroll = true
  652. borderstyle borderstyle = stylelowered!
  653. end type
  654. type dw_child from u_dw_rbtnfilter within w_buytask_receive_ljfieb
  655. integer y = 1488
  656. integer width = 3584
  657. integer height = 768
  658. integer taborder = 20
  659. boolean bringtotop = true
  660. boolean titlebar = true
  661. string title = "单据明细内容"
  662. string dataobject = "dw_saletaskmx_ljfieb"
  663. boolean maxbox = true
  664. boolean hscrollbar = true
  665. boolean vscrollbar = true
  666. boolean hsplitscroll = true
  667. end type
  668. event rowfocuschanged;call super::rowfocuschanged; IF currentrow <= 0 THEN RETURN
  669. THIS.SelectRow(0,FALSE)
  670. THIS.SelectRow(currentrow,TRUE)
  671. this.setrow(currentrow)
  672. end event
  673. event clicked;call super::clicked; IF row <= 0 THEN RETURN
  674. THIS.SelectRow(0,FALSE)
  675. THIS.SelectRow(row,TRUE)
  676. this.setrow(row)
  677. end event
  678. event rbuttondown;call super::rbuttondown;Long ll_row,ll_column
  679. ll_row = This.GetRow()
  680. ll_column = This.GetColumn()
  681. IF ll_row <= 0 THEN RETURN
  682. IF ll_column <= 0 THEN RETURN
  683. IF Left( This.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  684. s_calender_arg s_calender
  685. s_calender.PointerX = This.PointerX()
  686. s_calender.PointerY = This.PointerY()
  687. s_calender.X = This.X + Parent.X
  688. s_calender.Y = This.Y + Parent.Y
  689. OpenWithParm(w_calendar,s_calender)
  690. This.SetItem(ll_row,ll_column,id_date_selected)
  691. END IF
  692. end event
  693. type mle_1 from multilineedit within w_buytask_receive_ljfieb
  694. integer x = 2377
  695. integer y = 356
  696. integer width = 1193
  697. integer height = 704
  698. integer taborder = 40
  699. boolean bringtotop = true
  700. integer textsize = -9
  701. integer weight = 400
  702. fontcharset fontcharset = gb2312charset!
  703. fontpitch fontpitch = variable!
  704. string facename = "宋体"
  705. long textcolor = 33554432
  706. boolean vscrollbar = true
  707. boolean autovscroll = true
  708. boolean displayonly = true
  709. borderstyle borderstyle = stylelowered!
  710. end type
  711. type st_1 from statictext within w_buytask_receive_ljfieb
  712. integer x = 2386
  713. integer y = 300
  714. integer width = 142
  715. integer height = 56
  716. boolean bringtotop = true
  717. integer textsize = -9
  718. integer weight = 400
  719. fontcharset fontcharset = gb2312charset!
  720. fontpitch fontpitch = variable!
  721. string facename = "宋体"
  722. long textcolor = 33554432
  723. long backcolor = 134217739
  724. string text = "附言"
  725. boolean focusrectangle = false
  726. end type
  727. type st_2 from statictext within w_buytask_receive_ljfieb
  728. integer x = 23
  729. integer y = 204
  730. integer width = 155
  731. integer height = 48
  732. boolean bringtotop = true
  733. integer textsize = -9
  734. integer weight = 400
  735. fontcharset fontcharset = gb2312charset!
  736. fontpitch fontpitch = variable!
  737. string facename = "宋体"
  738. long textcolor = 33554432
  739. long backcolor = 134217739
  740. string text = "分部"
  741. alignment alignment = right!
  742. boolean focusrectangle = false
  743. end type
  744. type sle_scname from singlelineedit within w_buytask_receive_ljfieb
  745. integer x = 210
  746. integer y = 188
  747. integer width = 443
  748. integer height = 84
  749. integer taborder = 30
  750. boolean bringtotop = true
  751. integer textsize = -9
  752. integer weight = 400
  753. fontcharset fontcharset = gb2312charset!
  754. fontpitch fontpitch = variable!
  755. string facename = "宋体"
  756. long textcolor = 33554432
  757. boolean displayonly = true
  758. borderstyle borderstyle = stylelowered!
  759. end type
  760. type cb_accept from uo_imflatbutton within w_buytask_receive_ljfieb
  761. integer width = 274
  762. integer height = 164
  763. integer taborder = 30
  764. boolean bringtotop = true
  765. string text = "接受"
  766. string normalpicname = "ok.bmp"
  767. integer picsize = 16
  768. toolbaralignment pic_align = alignattop!
  769. boolean border = false
  770. end type
  771. event clicked;call super::clicked;IF Not f_power_ind(5) THEN
  772. MessageBox(publ_operator,sys_msg_pow)
  773. RETURN
  774. END IF
  775. IF MessageBox('询问','确定要接受当前订单,转为正式销售订单吗?',question!,yesno!) = 2 THEN RETURN
  776. String arg_msg
  777. Long uc_row
  778. DateTime ld_requiredate
  779. Long i,ll_typeid
  780. Long arr_org_printid[]
  781. uc_row = dw_uc.GetRow()
  782. IF uc_row <= 0 THEN
  783. MessageBox('系统提示','没有可保存的内容')
  784. RETURN
  785. END IF
  786. FOR i = 1 To dw_child.RowCount()
  787. IF ld_requiredate < dw_child.Object.u_saletaskmx_requiredate[i] THEN
  788. ld_requiredate = dw_child.Object.u_saletaskmx_requiredate[i]
  789. END IF
  790. NEXT
  791. IF obj_saletask.newbegin(ins_scid,arg_msg) = 0 THEN
  792. MessageBox('error!',arg_msg)
  793. RETURN
  794. END IF
  795. dw_uc.AcceptText()
  796. dw_child.AcceptText()
  797. IF dw_uc.Object.u_saletask_banktypeid[uc_row] = 0 THEN
  798. MessageBox('系统提示','请先选择本厂结算方式')
  799. dw_uc.SetFocus()
  800. dw_uc.SetColumn("u_saletask_banktypeid")
  801. RETURN
  802. END IF
  803. //IF dw_uc.Object.u_saletask_typeid[uc_row] = 0 THEN
  804. // MessageBox('系统提示','请先选择销售订单分类')
  805. // dw_uc.SetFocus()
  806. // dw_uc.SetColumn("u_saletask_typeid")
  807. // RETURN
  808. //END IF
  809. obj_saletask.requiredate = ld_requiredate
  810. obj_saletask.assign_emp = dw_uc.Object.assign_emp[uc_row]
  811. //obj_saletask.upname = dw_uc.Object.u_saletask_upname[uc_row]
  812. obj_saletask.Kind = 1
  813. obj_saletask.cusid = dw_uc.Object.cusid[uc_row]
  814. obj_saletask.dscrp = dw_uc.Object.dscrp[uc_row]
  815. obj_saletask.dscrp2 = dw_uc.Object.u_saletask_dscrp2[uc_row]
  816. obj_saletask.taskdate = dw_uc.Object.u_saletask_taskdate[uc_row]
  817. obj_saletask.banktypeid = dw_uc.Object.u_saletask_banktypeid[uc_row]
  818. obj_saletask.moneyid = dw_uc.Object.u_saletask_moneyid[uc_row]
  819. obj_saletask.damt = 0
  820. obj_saletask.otheramt = dw_uc.Object.u_saletask_otheramt[uc_row]
  821. obj_saletask.relcode = ins_RelatedCode
  822. obj_saletask.paytype = dw_uc.Object.u_saletask_paytype[uc_row]
  823. obj_saletask.freight = dw_uc.Object.u_saletask_freight[uc_row]
  824. obj_saletask.freight_tele = dw_uc.Object.u_saletask_freight_tele[uc_row]
  825. obj_saletask.cus_address = dw_uc.Object.u_saletask_cus_address[uc_row]
  826. obj_saletask.cus_tele = dw_uc.Object.u_saletask_cus_tele[uc_row]
  827. obj_saletask.cus_fax = dw_uc.Object.u_saletask_cus_fax[uc_row]
  828. obj_saletask.mrate = dw_uc.Object.u_saletask_mrate[uc_row]
  829. //obj_saletask.typeid = dw_uc.Object.u_saletask_typeid[uc_row]
  830. obj_saletask.rel_rep = dw_uc.Object.u_saletask_rel_rep[uc_row]
  831. //obj_saletask.Level = 2
  832. obj_saletask.sendTime = ins_addtime
  833. obj_saletask.sendUser = ins_adduser
  834. obj_saletask.fiebrelcode = ins_RelatedCode
  835. FOR i = 1 To dw_child.RowCount()
  836. IF dw_child.Object.mtrlid[i] > 0 THEN
  837. IF obj_saletask.acceptmx(dw_child.Object.mtrlid[i],&
  838. dw_child.Object.saleqty[i],&
  839. 0,0,&
  840. dw_child.Object.u_saletaskmx_enprice[i],&
  841. dw_child.Object.u_saletaskmx_rebate[i],&
  842. 0,&
  843. dw_child.Object.u_saletaskmx_mxdscrp[i],&
  844. dw_child.Object.u_mtrldef_mtrlcode[i],&
  845. dw_child.Object.u_saletaskmx_status[i],&
  846. dw_child.Object.u_saletaskmx_woodcode[i],&
  847. dw_child.Object.u_saletaskmx_pcode[i],&
  848. dw_child.Object.u_saletaskmx_mtrlcuscode[i],&
  849. dw_child.Object.pid[i],&
  850. 0,&
  851. ref arg_msg,&
  852. dw_child.Object.u_mtrldef_unit[i],&
  853. 1,&
  854. '',&
  855. 0,&
  856. dw_child.Object.u_saletaskmx_mxdscrp2[i],&
  857. 0,&
  858. '',&
  859. 0) = 0 THEN
  860. MessageBox('error!','第'+String(i)+'行,'+arg_msg)
  861. RETURN
  862. END IF
  863. arr_org_printid[UpperBound(arr_org_printid)+1] = dw_child.Object.u_saletaskmx_printid[i]
  864. END IF
  865. NEXT
  866. IF obj_saletask.savesubmit(publ_operator,arg_msg,True) = 0 THEN
  867. MessageBox('error!',arg_msg)
  868. RETURN
  869. END IF
  870. //更新本地通信记录
  871. UPDATE LJFIEB_packet
  872. SET status = 6,
  873. Complete = 1,
  874. ConfirmTime = getdate(),
  875. ConfirmUser = :publ_operator
  876. Where SerialNum = :ins_sn Using tr_eb_sqlca;
  877. IF tr_eb_sqlca.SQLCode <> 0 THEN
  878. ROLLBACK Using tr_eb_sqlca;
  879. MessageBox('Error','更新本地通信记录失败,'+tr_eb_sqlca.SQLErrText)
  880. RETURN
  881. END IF
  882. // DONE: 获取附件并保存
  883. //====================================================================
  884. // 保存附件
  885. //====================================================================
  886. uo_fj_mng_billtype ls_uo_btfj
  887. ls_uo_btfj = Create uo_fj_mng_billtype
  888. Long ll_classid = 0, ll_fileid, ll_cnt = 0
  889. s_fileinfo s_file
  890. datastore ds_file
  891. ds_file = Create datastore
  892. ds_file.DataObject = 'ds_ljfieb_file_receive'
  893. ds_file.SetTransObject(tr_eb_sqlca)
  894. Long ll_scid, ll_taskid, ll_j
  895. SELECT scid,TaskID
  896. INTO :ll_scid, :ll_taskid
  897. FROM LJFIEB_tempbuyTask
  898. WHERE SerialNum = :ins_sn
  899. Using tr_eb_sqlca;
  900. IF tr_eb_sqlca.SQLCode <> 0 THEN
  901. ROLLBACK Using tr_eb_sqlca;
  902. MessageBox('Error','更新本地通信记录失败,'+tr_eb_sqlca.SQLErrText)
  903. RETURN
  904. END IF
  905. // DONE: 获取销售订单附件分类
  906. SELECT TOP 1 ClassID
  907. INTO :ll_classid
  908. FROM U_FileClass WHERE billtype = 102;
  909. IF sqlca.SQLCode <> 0 THEN
  910. MessageBox('Error','查询销售订单附件分类失败,'+sqlca.SQLErrText)
  911. RETURN
  912. END IF
  913. //====================================================================
  914. // 保存附件
  915. //====================================================================
  916. // DONE: 采购订单附件billtype
  917. ds_file.Retrieve(ins_sn, 401,ll_scid, ll_taskid, 0)
  918. FOR ll_j = 1 To ds_file.RowCount()
  919. s_file.DisplayName = ds_file.Object.DisplayName[ll_j]
  920. s_file.Filename = ds_file.Object.Filename[ll_j]
  921. s_file.ClassID = ll_classid
  922. s_file.FileType = ds_file.Object.FileType[ll_j]
  923. s_file.dscrp = ds_file.Object.dscrp[ll_j]
  924. s_file.Opdate = ds_file.Object.Opdate[ll_j]
  925. s_file.Opemp = ds_file.Object.Opemp[ll_j]
  926. s_file.relid = obj_saletask.TaskID
  927. s_file.relid_mx = 0
  928. s_file.scid = ins_scid
  929. s_file.billtype = 102 // DONE: 销售订单附件billtype
  930. s_file.relcode = obj_saletask.taskcode
  931. s_file.relcode_mx = ''
  932. ll_fileid = ds_file.Object.fileid[ll_j]
  933. SelectBlob filedata
  934. Into :s_file.filedata
  935. From LJFIEB_file
  936. Where SerialNum = :ins_sn
  937. And fileid = :ll_fileid
  938. Using tr_eb_sqlca;
  939. IF tr_eb_sqlca.SQLCode <> 0 THEN
  940. ROLLBACK;
  941. MessageBox('Error','查询附件数据失败,'+tr_eb_sqlca.SQLErrText)
  942. RETURN
  943. END IF
  944. IF ls_uo_btfj.uf_save_fj( s_file, ll_fileid, sys_fileDB_sqlca , arg_msg ) <> 1 THEN
  945. ROLLBACK;
  946. MessageBox('Error','保存附件失败,'+arg_msg)
  947. RETURN
  948. END IF
  949. NEXT
  950. // DONE: 获取销售订单明细附件分类
  951. SELECT TOP 1 ClassID
  952. INTO :ll_classid
  953. FROM U_FileClass WHERE billtype = 9102;
  954. IF sqlca.SQLCode <> 0 THEN
  955. MessageBox('Error','查询销售订单明细附件分类失败,'+sqlca.SQLErrText)
  956. RETURN
  957. END IF
  958. //====================================================================
  959. // 保存明细附件
  960. //====================================================================
  961. FOR i = 1 To UpperBound(arr_org_printid)
  962. // DONE: 采购订单明细附件billtype
  963. ds_file.Retrieve(ins_sn, 9401,ll_scid, ll_taskid, arr_org_printid[i])
  964. FOR ll_j = 1 To ds_file.RowCount()
  965. s_file.DisplayName = ds_file.Object.DisplayName[ll_j]
  966. s_file.Filename = ds_file.Object.Filename[ll_j]
  967. s_file.ClassID = ll_classid
  968. s_file.FileType = ds_file.Object.FileType[ll_j]
  969. s_file.dscrp = ds_file.Object.dscrp[ll_j]
  970. s_file.Opdate = ds_file.Object.Opdate[ll_j]
  971. s_file.Opemp = ds_file.Object.Opemp[ll_j]
  972. s_file.relid = obj_saletask.TaskID
  973. s_file.relid_mx = ll_j
  974. s_file.scid = ins_scid
  975. s_file.billtype = 9102 // DONE: 销售订单附件billtype
  976. s_file.relcode = obj_saletask.taskcode
  977. s_file.relcode_mx = ''
  978. ll_fileid = ds_file.Object.fileid[ll_j]
  979. SelectBlob filedata
  980. Into :s_file.filedata
  981. From LJFIEB_file
  982. Where SerialNum = :ins_sn
  983. And fileid = :ll_fileid
  984. Using tr_eb_sqlca;
  985. IF tr_eb_sqlca.SQLCode <> 0 THEN
  986. ROLLBACK;
  987. MessageBox('Error','查询附件数据失败,'+tr_eb_sqlca.SQLErrText)
  988. RETURN
  989. END IF
  990. IF ls_uo_btfj.uf_save_fj( s_file, ll_fileid, sys_fileDB_sqlca , arg_msg ) <> 1 THEN
  991. ROLLBACK;
  992. MessageBox('Error','保存附件失败,'+arg_msg)
  993. RETURN
  994. END IF
  995. NEXT
  996. NEXT
  997. String ls_SerialNum
  998. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  999. From u_user Using sqlca;
  1000. IF sqlca.SQLCode <> 0 THEN
  1001. ROLLBACK Using sqlca;
  1002. MessageBox('Error','生成序列号失败,'+sqlca.SQLErrText)
  1003. RETURN
  1004. END IF
  1005. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  1006. IF ls_SerialNum = '' THEN
  1007. MessageBox('Error','错误的发送序列号')
  1008. RETURN
  1009. END IF
  1010. IF uo_fieb.add_packet(ls_SerialNum,'',ins_receid,ins_reccesccode,ins_sendid,ins_sendsccode,6,'接受订单','','',ins_sn,ins_RelatedCode,0,arg_msg,True) = 0 THEN
  1011. MessageBox('系统提示','发送确认指令失败 '+arg_msg)
  1012. RETURN
  1013. END IF
  1014. ins_returncode = obj_saletask.taskcode
  1015. IF MessageBox('系统提示','成功生成销售订单:'+ins_returncode+',是否马上打开?',question!,yesno!) = 2 THEN ins_returncode = ''
  1016. Close(Parent)
  1017. end event
  1018. type cb_feedback from uo_imflatbutton within w_buytask_receive_ljfieb
  1019. integer x = 293
  1020. integer width = 421
  1021. integer height = 164
  1022. integer taborder = 10
  1023. boolean bringtotop = true
  1024. string text = "反馈修改内容"
  1025. string normalpicname = "p1.BMP"
  1026. integer picsize = 16
  1027. toolbaralignment pic_align = alignattop!
  1028. boolean border = false
  1029. end type
  1030. event clicked;call super::clicked;IF Not f_power_ind(1576) THEN
  1031. MessageBox(publ_operator,sys_msg_pow)
  1032. RETURN
  1033. END IF
  1034. If dw_uc.GetRow() <= 0 Then Return
  1035. IF dw_child.RowCount() <= 0 THEN
  1036. MessageBox('系统提示','没有可反馈的明细内容')
  1037. RETURN
  1038. END IF
  1039. IF MessageBox('询问','确认要反馈此单据的修改内容吗?',question!,yesno!) = 2 THEN RETURN
  1040. s_buytaskmx_feedback_ljfieb arg_s_mx[]
  1041. Long ll_i
  1042. String arg_summary,arg_postscript,arg_remark
  1043. String arg_msg,ls_postscript,ls_postscript_mx
  1044. string ls_mtrlcode
  1045. s_packet_ljfieb s_pack,s_return
  1046. dw_child.AcceptText()
  1047. dw_uc.AcceptText()
  1048. For ll_i = 1 To dw_child.RowCount()
  1049. ls_postscript_mx = ''
  1050. If dw_child.Object.u_saletaskmx_spt_uqty[ll_i] <> dw_child.Object.saleqty[ll_i] Then
  1051. ls_postscript_mx = ls_postscript_mx + '回复数量'
  1052. ls_postscript_mx += '(' + string(dw_child.Object.saleqty[ll_i], '#,##0.##') + '->' + string(dw_child.Object.u_saletaskmx_spt_uqty[ll_i], '#,##0.##') + ')'
  1053. End If
  1054. If dw_child.Object.u_saletaskmx_spt_enprice[ll_i] <> dw_child.Object.u_saletaskmx_enprice[ll_i] Then
  1055. If Trim(ls_postscript_mx) = '' Then
  1056. ls_postscript_mx = ls_postscript_mx + '回复单价'
  1057. Else
  1058. ls_postscript_mx = ls_postscript_mx + ',回复单价'
  1059. End If
  1060. ls_postscript_mx += '(' + string(dw_child.Object.u_saletaskmx_enprice[ll_i], '#,##0.##') + '->' + string(dw_child.Object.u_saletaskmx_spt_enprice[ll_i], '#,##0.##') + ')'
  1061. End If
  1062. If dw_child.Object.u_saletaskmx_spt_requiredate[ll_i] <> dw_child.Object.u_saletaskmx_requiredate[ll_i] Then
  1063. If Trim(ls_postscript_mx) = '' Then
  1064. ls_postscript_mx = ls_postscript_mx + '回复交期'
  1065. Else
  1066. ls_postscript_mx = ls_postscript_mx + ',回复交期'
  1067. End If
  1068. ls_postscript_mx += '(' + string(dw_child.Object.u_saletaskmx_requiredate[ll_i], 'yyyy-MM-dd') + '->' + string(dw_child.Object.u_saletaskmx_spt_requiredate[ll_i], 'yyyy-MM-dd') + ')'
  1069. End If
  1070. If dw_child.Object.spt_status[ll_i] <> dw_child.Object.u_saletaskmx_status[ll_i] Then
  1071. If Trim(ls_postscript_mx) = '' Then
  1072. ls_postscript_mx = ls_postscript_mx + '回复'+sys_option_change_status
  1073. Else
  1074. ls_postscript_mx = ls_postscript_mx + ',回复'+sys_option_change_status
  1075. End If
  1076. ls_postscript_mx += '(' + dw_child.Object.u_saletaskmx_status[ll_i] + '->' + dw_child.Object.spt_status[ll_i] + ')'
  1077. End If
  1078. If dw_child.Object.spt_woodcode[ll_i] <> dw_child.Object.u_saletaskmx_woodcode[ll_i] Then
  1079. If Trim(ls_postscript_mx) = '' Then
  1080. ls_postscript_mx = ls_postscript_mx + '回复'+sys_option_change_woodcode
  1081. Else
  1082. ls_postscript_mx = ls_postscript_mx + ',回复'+sys_option_change_woodcode
  1083. End If
  1084. ls_postscript_mx += '(' + dw_child.Object.u_saletaskmx_woodcode[ll_i] + '->' + dw_child.Object.spt_woodcode[ll_i] + ')'
  1085. End If
  1086. If dw_child.Object.spt_pcode[ll_i] <> dw_child.Object.u_saletaskmx_pcode[ll_i] Then
  1087. If Trim(ls_postscript_mx) = '' Then
  1088. ls_postscript_mx = ls_postscript_mx + '回复'+sys_option_change_pcode
  1089. Else
  1090. ls_postscript_mx = ls_postscript_mx + ',回复'+sys_option_change_pcode
  1091. End If
  1092. ls_postscript_mx += '(' + dw_child.Object.u_saletaskmx_pcode[ll_i] + '->' + dw_child.Object.spt_pcode[ll_i] + ')'
  1093. End If
  1094. If dw_child.Object.spt_dscrp[ll_i] <> dw_child.Object.u_saletaskmx_mxdscrp[ll_i] Then
  1095. If Trim(ls_postscript_mx) = '' Then
  1096. ls_postscript_mx = ls_postscript_mx + '回复明细备注'
  1097. Else
  1098. ls_postscript_mx = ls_postscript_mx + ',回复明细备注'
  1099. End If
  1100. ls_postscript_mx += '(' + dw_child.Object.u_saletaskmx_mxdscrp[ll_i] + '->' + dw_child.Object.spt_dscrp[ll_i] + ')'
  1101. End If
  1102. If Trim(ls_postscript_mx) <> '' Then
  1103. ls_postscript_mx = '第'+String(ll_i)+'行,'+ls_postscript_mx+';'+'~r~n'
  1104. ls_postscript = ls_postscript + ls_postscript_mx
  1105. End If
  1106. Next
  1107. s_pack.summary = '订单:'+ins_RelatedCode+' 内容反馈'
  1108. s_pack.postscript = '订单:' + dw_uc.Object.taskcode[dw_uc.GetRow()] + '内容反馈' + '~r~n' + ls_postscript
  1109. OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
  1110. s_return = Message.PowerObjectParm
  1111. IF s_return.returnflag <> 1 THEN RETURN
  1112. arg_summary = s_return.summary
  1113. arg_postscript = s_return.postscript
  1114. arg_remark = s_return.remark
  1115. FOR ll_i = 1 To dw_child.RowCount()
  1116. arg_s_mx[ll_i].printid = dw_child.Object.u_saletaskmx_printid[ll_i]
  1117. arg_s_mx[ll_i].spt_uqty = dw_child.Object.u_saletaskmx_spt_uqty[ll_i]
  1118. arg_s_mx[ll_i].spt_enprice = dw_child.Object.u_saletaskmx_spt_enprice[ll_i]
  1119. arg_s_mx[ll_i].spt_Requiredate = dw_child.Object.u_saletaskmx_spt_requiredate[ll_i]
  1120. arg_s_mx[ll_i].spt_status = dw_child.Object.spt_status[ll_i]
  1121. arg_s_mx[ll_i].spt_woodcode = dw_child.Object.spt_woodcode[ll_i]
  1122. arg_s_mx[ll_i].spt_pcode = dw_child.Object.spt_pcode[ll_i]
  1123. arg_s_mx[ll_i].spt_dscrp = dw_child.Object.spt_dscrp[ll_i]
  1124. NEXT
  1125. IF uo_fieb.feedback_buytask(ins_sn,arg_s_mx,arg_summary,arg_postscript,arg_remark,arg_msg,True,dw_uc.Object.spt_dscrp[dw_uc.GetRow()], dw_uc.Object.spt_dscrp2[dw_uc.GetRow()]) = 0 THEN
  1126. MessageBox('Error',arg_msg)
  1127. RETURN
  1128. END IF
  1129. MessageBox('系统提示','反馈成功!')
  1130. Close(Parent)
  1131. end event
  1132. type cb_reject from uo_imflatbutton within w_buytask_receive_ljfieb
  1133. integer x = 731
  1134. integer width = 219
  1135. integer height = 164
  1136. integer taborder = 30
  1137. boolean bringtotop = true
  1138. string text = "拒绝"
  1139. string normalpicname = "DELETE.BMP"
  1140. integer picsize = 16
  1141. toolbaralignment pic_align = alignattop!
  1142. boolean border = false
  1143. end type
  1144. event clicked;call super::clicked;IF Not f_power_ind(1577) THEN
  1145. MessageBox(publ_operator,sys_msg_pow)
  1146. RETURN
  1147. END IF
  1148. String arg_summary,arg_postscript,arg_remark
  1149. s_packet_ljfieb s_pack,s_return
  1150. Int rslt = 1
  1151. String arg_msg
  1152. String ls_SerialNum
  1153. //s_pack.summary = '拒绝订单:'+ins_RelatedCode
  1154. OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
  1155. s_return = Message.PowerObjectParm
  1156. IF s_return.returnflag <> 1 THEN RETURN
  1157. //arg_summary = s_return.summary
  1158. arg_postscript = s_return.postscript
  1159. arg_remark = s_return.remark
  1160. //更新本地通信记录
  1161. UPDATE LJFIEB_packet
  1162. SET status = 10,
  1163. Complete = 1,
  1164. ConfirmTime = getdate(),
  1165. ConfirmUser = :publ_operator
  1166. Where SerialNum = :ins_sn Using tr_eb_sqlca;
  1167. IF tr_eb_sqlca.SQLCode <> 0 THEN
  1168. rslt = 0
  1169. arg_msg = '更新本地通信记录失败,'+tr_eb_sqlca.SQLErrText
  1170. GOTO ext
  1171. END IF
  1172. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  1173. From u_user Using sqlca;
  1174. IF sqlca.SQLCode <> 0 THEN
  1175. rslt = 0
  1176. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  1177. GOTO ext
  1178. END IF
  1179. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  1180. IF ls_SerialNum = '' THEN
  1181. rslt = 0
  1182. arg_msg = '错误的发送序列号'
  1183. GOTO ext
  1184. END IF
  1185. INSERT INTO LJFIEB_tempbuyTask
  1186. (scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate, finishemp,
  1187. Status, Opemp, Modemp, moddate, Assign_Emp, Permit_Emp, Permit_date, Dscrp,
  1188. opdate, stopemp, ctmint, printnum, relcode, banktypeid, train, reason, billtype,
  1189. firpermitemp, firpermitdate, billamt, moneyid, mrate, serialnum,banktypename,moneyname,cusid)
  1190. SELECT scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate,
  1191. finishemp, 11, Opemp, Modemp, moddate, Assign_Emp, Permit_Emp,
  1192. Permit_date, Dscrp, opdate, stopemp, ctmint, printnum, relcode, banktypeid, train,
  1193. reason, billtype, firpermitemp, firpermitdate, billamt, moneyid, mrate, :ls_SerialNum,banktypename,moneyname,cusid
  1194. FROM LJFIEB_tempbuyTask
  1195. Where SerialNum = :ins_sn Using tr_eb_sqlca;
  1196. IF tr_eb_sqlca.SQLCode <> 0 THEN
  1197. rslt = 0
  1198. arg_msg = '插入临时采购订单表失败,'+tr_eb_sqlca.SQLErrText
  1199. GOTO ext
  1200. END IF
  1201. IF uo_fieb.add_packet(ls_SerialNum,'LJFIEB_tempbuyTask',ins_receid,ins_reccesccode,ins_sendid,ins_sendsccode,11,arg_summary,arg_postscript,arg_remark,ins_sn,ins_RelatedCode,0,arg_msg,False) = 0 THEN
  1202. rslt = 0
  1203. arg_msg = '发送确认指令失败 '+arg_msg
  1204. GOTO ext
  1205. END IF
  1206. ext:
  1207. IF rslt = 1 THEN
  1208. COMMIT Using tr_eb_sqlca;
  1209. MessageBox('系统提示','操作成功')
  1210. Close(Parent)
  1211. ELSE
  1212. ROLLBACK Using tr_eb_sqlca;
  1213. MessageBox('系统提示',arg_msg)
  1214. END IF
  1215. end event
  1216. type mle_2 from multilineedit within w_buytask_receive_ljfieb
  1217. integer x = 2377
  1218. integer y = 1136
  1219. integer width = 1193
  1220. integer height = 336
  1221. integer taborder = 50
  1222. boolean bringtotop = true
  1223. integer textsize = -9
  1224. integer weight = 400
  1225. fontcharset fontcharset = gb2312charset!
  1226. fontpitch fontpitch = variable!
  1227. string facename = "宋体"
  1228. long textcolor = 33554432
  1229. boolean vscrollbar = true
  1230. boolean autovscroll = true
  1231. boolean displayonly = true
  1232. borderstyle borderstyle = stylelowered!
  1233. end type
  1234. type st_3 from statictext within w_buytask_receive_ljfieb
  1235. integer x = 2382
  1236. integer y = 1076
  1237. integer width = 137
  1238. integer height = 48
  1239. boolean bringtotop = true
  1240. integer textsize = -9
  1241. integer weight = 400
  1242. fontcharset fontcharset = gb2312charset!
  1243. fontpitch fontpitch = variable!
  1244. string facename = "宋体"
  1245. long textcolor = 33554432
  1246. long backcolor = 134217739
  1247. string text = "备注"
  1248. boolean focusrectangle = false
  1249. end type
  1250. type cb_1 from uo_imflatbutton within w_buytask_receive_ljfieb
  1251. integer x = 969
  1252. integer width = 219
  1253. integer height = 164
  1254. integer taborder = 40
  1255. boolean bringtotop = true
  1256. string text = "匹配"
  1257. string normalpicname = "update2.BMP"
  1258. integer picsize = 16
  1259. toolbaralignment pic_align = alignattop!
  1260. boolean border = false
  1261. end type
  1262. event clicked;call super::clicked;openwithparm(w_mtrl_receive_ljfieb, '')
  1263. string arg_msg
  1264. IF wf_retrieve(ins_sn,ins_sendid,ins_sendsccode,arg_msg) = 0 THEN
  1265. MessageBox('Error',arg_msg)
  1266. RETURN
  1267. END IF
  1268. end event
  1269. type ln_bar from line within w_buytask_receive_ljfieb
  1270. long linecolor = 268435456
  1271. integer linethickness = 4
  1272. integer beginy = 172
  1273. integer endx = 3200
  1274. integer endy = 172
  1275. end type
  1276. type ln_bar2 from line within w_buytask_receive_ljfieb
  1277. long linecolor = 16777215
  1278. integer linethickness = 4
  1279. integer beginx = 9
  1280. integer beginy = 176
  1281. integer endx = 3273
  1282. integer endy = 176
  1283. end type
  1284. type ln_1 from line within w_buytask_receive_ljfieb
  1285. long linecolor = 268435456
  1286. integer linethickness = 4
  1287. integer beginy = 284
  1288. integer endx = 3250
  1289. integer endy = 284
  1290. end type
  1291. type ln_2 from line within w_buytask_receive_ljfieb
  1292. long linecolor = 16777215
  1293. integer linethickness = 4
  1294. integer beginy = 288
  1295. integer endx = 3282
  1296. integer endy = 288
  1297. end type
  1298. type r_bar from rectangle within w_buytask_receive_ljfieb
  1299. long linecolor = 16777215
  1300. integer linethickness = 4
  1301. long fillcolor = 1073741824
  1302. integer x = 3351
  1303. integer width = 87
  1304. integer height = 68
  1305. end type
  1306. event constructor;this.fillcolor = 14215660
  1307. this.linecolor = 14215660
  1308. this.x = -1
  1309. this.y = -1
  1310. this.height = ln_bar.beginy - 5
  1311. end event