1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361 |
- $PBExportHeader$uo_mtrldef.sru
- forward
- global type uo_mtrldef from nonvisualobject
- end type
- end forward
- global type uo_mtrldef from nonvisualobject
- end type
- global uo_mtrldef uo_mtrldef
- type variables
- Long uo_mtrlid
- int uo_option_use_suliao,uo_option_use_machining_ll
- string uo_option_change_status,uo_option_change_woodcode,uo_option_change_pcode
- int uo_option_inout_type
- end variables
- forward prototypes
- public function integer uof_del_mtrl (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uo_add_mtrl_storage (long arg_mtrlid, long arg_storageid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_code_find (long arg_id, string arg_code, ref string arg_msg)
- public function integer uof_update_configure2 (long arg_mtrlid, s_mtrl_configure_array arg_s_config, boolean arg_ifcommit, ref string arg_msg)
- public function integer uof_add_skmtrl (long arg_mtrlid, string arg_mtrlcode, string arg_mtrlname, string arg_usermtrlmode, string arg_mtrlmode, long arg_sk_mtrltypeid, decimal arg_period, string arg_zxmtrlmode, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_tech_del (long arg_mtrlid, boolean arg_ifcommit, ref string arg_msg)
- public function integer uof_tech_update (long arg_mtrlid, s_addon_techdef arg_s_tech, boolean arg_ifcommit, ref string arg_msg)
- public function integer uof_skmtrl_add (long arg_mtrlid, long arg_skmtrlid, decimal arg_period, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_qc_update (s_mtrl_qc arg_s_qc, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_qc_del (long arg_mtrlid, long arg_qcid, ref string arg_msg)
- public function integer uof_zb_update (s_mtrl_zb arg_s_zb, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_zb_del (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_jgdscrp_update (long arg_mtrlid, s_mtrljgdscrp_array s_mtrjgdscrp, boolean arg_ifcommit, ref string arg_msg)
- public function integer uof_audit (long arg_mtrlid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_c_audit (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_c_secaudit (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_secaudit (long arg_mtrlid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_mtrl (s_mtrldef arg_s_mtrl, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_update_ban (long arg_mtrlid, s_mtrldef_ban arg_s_ban, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_update_ppqty (long arg_mtrlid, s_mtrldef arg_s_mtrl, ref string arg_msg)
- public function integer uof_update_pzdftflag (long arg_flag, long arg_typeid, string arg_config, ref string arg_msg)
- public function integer uof_get_pztype (integer arg_type, string arg_pzname, ref long arg_pzid, ref string arg_msg)
- end prototypes
- public function integer uof_del_mtrl (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- cnt = 0
- Select count(*) Into :cnt
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- //申购单汇总明细
- cnt = 0
- Select count(*) Into :cnt
- From u_requestbuymx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(申购单汇总明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于申购单汇总明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //申购单汇总明细
- cnt = 0
- Select count(*) Into :cnt
- From u_requestbuymxmx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(申购单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于申购单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协申请单明细
- cnt = 0
- Select count(*) Into :cnt
- From u_request_wfjgmxmx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协申请单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协申请单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协申请单汇总明细
- cnt = 0
- Select count(*) Into :cnt
- From u_request_wfjgMx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协申请单汇总明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协申请单汇总明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协申请单汇总明细
- cnt = 0
- Select count(*) Into :cnt
- From u_request_wfjgMx_out Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协申请单发出明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协申请单发出明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //采购订单明细
- cnt = 0
- Select count(*) Into :cnt
- From u_buytaskmx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(采购订单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于采购订单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协订单明细
- cnt = 0
- Select count(*) Into :cnt
- From u_order_wfjgMx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协订单收货明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协订单收货明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协订单发出明细
- cnt = 0
- Select count(*) Into :cnt
- From u_order_wfjgMx_out Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协订单发出明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协订单发出明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //销售订单明细
- cnt = 0
- Select count(*) Into :cnt
- From u_saletaskmx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(销售订单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于销售订单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //生产计划
- cnt = 0
- Select count(*) Into :cnt
- From u_Order_ml Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(生产计划)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于生产计划,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //进仓明细
- cnt = 0
- Select count(*) Into :cnt
- From u_inwaremx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(进仓明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于仓库进仓,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //出仓明细
- cnt = 0
- Select count(*) Into :cnt
- From u_outwaremx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(出仓明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于仓库出仓,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //出仓明细mx
- cnt = 0
- Select count(*) Into :cnt
- From u_outwaremx_mx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(出仓明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于仓库出仓,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协收货单明细
- cnt = 0
- Select count(*) Into :cnt
- From ow_wfjgmx_in_aft Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协收货单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协收货单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //外协发出单明细
- cnt = 0
- Select count(*) Into :cnt
- From ow_wfjgmx_out Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(外协发出单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于外协发出单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //供应商询价单明细
- cnt = 0
- Select count(*) Into :cnt
- From u_spt_price_changemx Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(供应商询价单明细)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于供应商询价单明细,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //库存
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_mtrlware Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(仓库库存)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于仓库库存,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //物料清单
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_PrdPF Where sonmtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(物料清单)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
- If cnt > 0 Then
- arg_msg = "该资料已经使用于物料清单,不可以删除!"
- rslt = 0
- Goto ext
- End If
- If Not f_power_ind(3673,sys_msg_pow) Then
- //价格表明细
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_sale_price_mx Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(价格表)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该资料已经使用于价格表,不可以删除!"
- rslt = 0
- Goto ext
- End If
-
- //物料清单
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_PrdPF Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(物料清单)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该资料已经使用于物料清单,不可以删除!"
- rslt = 0
- Goto ext
- End If
-
- //生产流程
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_mtrl_wkp Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(物料生产流程)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该资料已经使用于物料生产流程,不可以删除!"
- rslt = 0
- Goto ext
- End If
-
- //工价表
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_sc_workprice Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(工价表)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该资料已经使用于物料工价表,不可以删除!"
- rslt = 0
- Goto ext
- End If
-
- //工艺路线
- cnt = 0
- Select COUNT(*) Into :cnt
- From u_mtrl_wkp_tech Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = "数据(工价表)查询操作失败!(请重试!)"
- rslt = 0
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该资料已经使用于物料工价表,不可以删除!"
- rslt = 0
- Goto ext
- End If
- //
-
- Int li_issuliao,li_issuliao_sk
- Long ll_sk_mtrlid
- Select issuliao Into :li_issuliao
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料塑料属性失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
- If li_issuliao = 2 Then
- Select count(*) Into :cnt
- From u_mtrldef_sl
- Where sk_mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询水口料是否已被使用失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该水口料已经使用于物料资料,不可以删除!"
- rslt = 0
- Goto ext
- End If
- End If
- End If
- //
- //_del:
- /////// //
- Delete From u_mtrl_storage Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料存放仓库资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrldef_ban Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料板件信息失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrldef Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrl_pf Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料清单失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrl_wkp_tech Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料工艺路线失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_sc_workprice Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料工价表失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrl_wkp Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料工组流程失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrldef_sl Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料水口料失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_PrdPF Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料清单失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_sale_price_mx Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '删除价格表明细失败,原因:'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Delete From u_mtrl_configure2
- Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '删除物料包件配置资料操作失败:'+sqlca.SQLErrText
- Goto ext
- End If
- Delete From u_mtrldef_planprice
- Where mtrlid = :arg_mtrlid ;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '删除物料计划成本价资料操作失败:'+sqlca.SQLErrText
- Goto ext
- End If
- Long ll_ConnectionID
- If f_get_outerconnection(ll_ConnectionID,arg_msg) = 1 Then
- Delete From U_File
- Where relid = :arg_mtrlid
- And (billtype = 201 or billtype = 202) Using sys_fileDB_sqlca ;
- If sys_fileDB_sqlca.SQLCode <> 0 Then
- arg_msg = '删除物料图片失败,原因:'+sys_fileDB_sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- Commit Using sys_fileDB_sqlca;
- End If
- Return rslt
- end function
- public function integer uo_add_mtrl_storage (long arg_mtrlid, long arg_storageid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- INSERT INTO u_mtrl_storage(mtrlid,storageid)
- Values(:arg_mtrlid,:arg_storageid);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "物料指定默认仓库失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_code_find (long arg_id, string arg_code, ref string arg_msg);Int rslt = 1
- long cnt
- SELECT count(*) INTO :cnt
- FROM u_mtrldef
- WHERE mtrlid <> :arg_id
- AND mtrlcode = :arg_code;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询物料编码:'+arg_code+',是否已用失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = '查询物料编码:'+arg_code+',已用,请重新输入'
- rslt = 0
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer uof_update_configure2 (long arg_mtrlid, s_mtrl_configure_array arg_s_config, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
- IF arg_mtrlid <= 0 THEN
- rslt = 0
- arg_msg = '错误的物料ID'
- GOTO ext
- END IF
- DELETE FROM u_mtrl_configure2
- Where mtrlid = :arg_mtrlid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '删除物料包件配置资料操作失败:'+sqlca.SQLErrText
- GOTO ext
- END IF
- Long ls_i
- String ls_pzcode,ls_name,ls_pzcodemx,ls_namemx
- Long ls_printid,ls_pzid
- Long ll_pzflag = 0
- FOR ls_i = 1 TO UpperBound(arg_s_config.pzid)
- ls_pzid = arg_s_config.pzid[ls_i]
- ls_pzcode = arg_s_config.pzcode[ls_i]
- ls_name = arg_s_config.pzname[ls_i]
- ls_pzcodemx = arg_s_config.pzcodemx[ls_i]
- ls_namemx = arg_s_config.pznamemx[ls_i]
- ls_printid = arg_s_config.printid[ls_i]
-
- INSERT INTO u_mtrl_configure2
- (mtrlid, pzid, printid, pzcode, pzname, pzcodemx, pznamemx)
- Values(:arg_mtrlid,:ls_pzid,:ls_printid,:ls_pzcode,:ls_name,:ls_pzcodemx,:ls_namemx) USING sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '插入物料包件配置资料操作失败:'+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
- ext:
- IF rslt = 0 THEN
- ROLLBACK ;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT ;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_skmtrl (long arg_mtrlid, string arg_mtrlcode, string arg_mtrlname, string arg_usermtrlmode, string arg_mtrlmode, long arg_sk_mtrltypeid, decimal arg_period, string arg_zxmtrlmode, ref string arg_msg, boolean arg_ifcommit);//2011-11-09 起, 停用本函数,代码作备用保留//
- Int rslt = 1
- Long cnt
- Long ll_sk_mtrlid
- String sk_handtype
- String ls_code,ls_name
- String ls_mtrlmode
- SELECT sk_mtrlid INTO :ll_sk_mtrlid
- FROM u_mtrldef_sl
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode = -1 THEN
- rslt = 0
- arg_msg = '查询物料是否已有相关水口料失败,'+sqlca.SQLErrText
- GOTO ext
- ELSEIF sqlca.SQLCode = 100 THEN
- ll_sk_mtrlid = 0
- END IF
- SELECT count(*) INTO :cnt
- FROM u_mtrldef_sl
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询塑料资料失败'
- GOTO ext
- END IF
- SELECT handtype INTO :sk_handtype
- FROM u_mtrltype
- Where mtrltypeid = :arg_sk_mtrltypeid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询水口料详细类别失败!'
- GOTO ext
- END IF
- IF ll_sk_mtrlid = 0 THEN
- ll_sk_mtrlid = f_sys_scidentity(0,"u_mtrldef","mtrlid",arg_msg,TRUE,id_sqlca)
- IF ll_sk_mtrlid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- ls_code = arg_mtrlcode + '~~'+'(skl)'
- ls_name = arg_mtrlname + '~~'+'(水口料)'
-
- INSERT INTO u_mtrldef
- (mtrlid,
- mtrlname,
- mtrlcode,
- mtrltypeid,
- handtype,
- unit,
- issuliao,
- usermtrlmode,
- mtrlorigin,
- mtrlmode,
- mtrlprp,
- zxmtrlmode)
- VALUES
- (:ll_sk_mtrlid,
- :ls_name,
- :ls_code,
- :arg_sk_mtrltypeid,
- :sk_handtype,
- '公斤',
- 2,
- :arg_usermtrlmode,
- 2,
- :arg_mtrlmode,
- 2,
- :arg_zxmtrlmode) ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '插入相关水口料信息失败!'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF cnt = 0 THEN
- INSERT INTO u_mtrldef_sl
- (mtrlid,
- sk_mtrlid,
- sk_mtrlname,
- sk_mtrltypeid,
- period)
- VALUES
- (:arg_mtrlid,
- :ll_sk_mtrlid,
- :ls_name,
- :arg_sk_mtrltypeid,
- :arg_period);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '插入相关水口料信息失败!'+sqlca.SQLErrText
- GOTO ext
- END IF
- ELSE
- UPDATE u_mtrldef_sl
- SET sk_mtrlid = :ll_sk_mtrlid,
- sk_mtrlname = :ls_name,
- sk_mtrltypeid = :arg_sk_mtrltypeid,
- period = :arg_period
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新物料相关水口料信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- END IF
-
- ELSE
- SELECT sk_mtrlid INTO :ll_sk_mtrlid
- FROM u_mtrldef_sl
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询物料相关水口料信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- ls_code = arg_mtrlcode + '~~'+'(skl)'
- ls_name = arg_mtrlname + '~~'+'(水口料)'
- UPDATE u_mtrldef
- SET mtrltypeid = :arg_sk_mtrltypeid,
- handtype = :sk_handtype,
- usermtrlmode = :arg_usermtrlmode,
- mtrlmode = :arg_mtrlmode,
- mtrlcode = :ls_code,
- mtrlname = :ls_name,
- zxmtrlmode = :arg_zxmtrlmode
- Where mtrlid = :ll_sk_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新物料相关水口料信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- UPDATE u_mtrldef_sl
- SET sk_mtrltypeid = :arg_sk_mtrltypeid,
- period = :arg_period
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新物料相关水口料信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_tech_del (long arg_mtrlid, boolean arg_ifcommit, ref string arg_msg);Int rslt = 1
- DELETE FROM u_mtrl_tech Where mtrlid = :arg_mtrlid using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除物料工艺明细失败,原因:'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- if rslt = 0 then
- rollback using sqlca;
- elseif rslt = 1 and arg_ifcommit then
- commit using sqlca;
- end if
- return rslt
- end function
- public function integer uof_tech_update (long arg_mtrlid, s_addon_techdef arg_s_tech, boolean arg_ifcommit, ref string arg_msg);long rslt = 1
- if arg_mtrlid<=0 then
- rslt = 0
- arg_msg = '错误的物料ID'
- goto ext
- end if
- delete from u_mtrl_tech
- where mtrlid = :arg_mtrlid using sqlca;
- if sqlca.sqlcode<>0 then
- rslt = 0
- arg_msg = '删除操作失败:'+sqlca.sqlerrtext
- goto ext
- end if
- long ls_i
- for ls_i=1 to UpperBound(arg_s_tech.techid)
-
- if arg_s_tech.techid[ls_i]>0 then
-
- insert into u_mtrl_tech
- (mtrlid, techdefid,qty,unit,dscrp,width, len, heightdegree)
- values(:arg_mtrlid,:arg_s_tech.techid[ls_i],:arg_s_tech.qty[ls_i],:arg_s_tech.unit[ls_i],:arg_s_tech.dscrp[ls_i],
- :arg_s_tech.width[ls_i], :arg_s_tech.len[ls_i], :arg_s_tech.heightdegree[ls_i]) using sqlca;
- if sqlca.sqlcode<>0 then
- rslt = 0
- arg_msg = '删除操作失败:'+sqlca.sqlerrtext
- goto ext
- end if
-
- end if
- next
- ext:
- if rslt = 0 then
- rollback using sqlca;
- elseif rslt = 1 and arg_ifcommit then
- commit using sqlca;
- end if
- return rslt
- end function
- public function integer uof_skmtrl_add (long arg_mtrlid, long arg_skmtrlid, decimal arg_period, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- String ls_skmtrlname
- Long ll_skmtrltypeid
- Long cnt
- SELECT mtrlname,mtrltypeid
- INTO :ls_skmtrlname,:ll_skmtrltypeid
- FROM u_mtrldef
- Where mtrlid = :arg_skmtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询水口料信息失败 '+sqlca.SQLErrText
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_mtrldef_sl
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询塑料资料失败 '+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt = 0 THEN
- INSERT INTO u_mtrldef_sl
- (mtrlid,
- sk_mtrlid,
- sk_mtrlname,
- sk_mtrltypeid,
- period)
- VALUES
- (:arg_mtrlid,
- :arg_skmtrlid,
- :ls_skmtrlname,
- :ll_skmtrltypeid,
- :arg_period);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '插入相关水口料信息失败!'+sqlca.SQLErrText
- GOTO ext
- END IF
- ELSE
- UPDATE u_mtrldef_sl
- SET sk_mtrlid = :arg_skmtrlid,
- sk_mtrlname = :ls_skmtrlname,
- sk_mtrltypeid = :ll_skmtrltypeid,
- period = :arg_period
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新物料相关水口料信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_qc_update (s_mtrl_qc arg_s_qc, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long ll_qcid
- IF arg_s_qc.mtrlid = 0 THEN
- rslt = 0
- arg_msg = "物料ID错误"
- GOTO ext
- END IF
- IF arg_s_qc.dftflag = 1 THEN
- UPDATE u_mtrldef_qc
- SET dftflag = 0
- WHERE mtrlid = :arg_s_qc.mtrlid
- And qcid <> :arg_s_qc.qcid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更新默认质检组合失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- END IF
- IF arg_s_qc.qcid = 0 THEN //新增
- ll_qcid = f_sys_scidentity(0,"u_mtrldef_qc","qcid",arg_msg,True,id_sqlca)
- IF ll_qcid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_mtrldef_qc
- (mtrlid,
- qcid,
- qcname,
- dftflag,
- inuse)
- VALUES
- (:arg_s_qc.mtrlid,
- :ll_qcid,
- :arg_s_qc.qcname,
- :arg_s_qc.dftflag,
- :arg_s_qc.inuse);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "新建质检组合资料失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- ELSE //修改
- UPDATE u_mtrldef_qc
- SET qcname = :arg_s_qc.qcname,
- dftflag = :arg_s_qc.dftflag,
- inuse = :arg_s_qc.inuse
- WHERE mtrlid = :arg_s_qc.mtrlid
- And qcid = :arg_s_qc.qcid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更新质检组合资料失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_qc_del (long arg_mtrlid, long arg_qcid, ref string arg_msg);Int rslt = 1
- DELETE FROM u_mtrldef_qcmx
- WHERE mtrlid = :arg_mtrlid
- And qcid = :arg_qcid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除质检项目明细失败'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_mtrldef_qc
- WHERE mtrlid = :arg_mtrlid
- And qcid = :arg_qcid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除质检组合失败'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_zb_update (s_mtrl_zb arg_s_zb, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long ll_sonmtrlid
- IF arg_s_zb.mtrlid = 0 THEN
- rslt = 0
- arg_msg = "物料ID错误"
- GOTO ext
- END IF
- //IF arg_s_zb.sonmtrlid = 0 THEN
- // rslt = 0
- // arg_msg = "纸板ID错误,请选择纸板"
- // GOTO ext
- //END IF
- IF arg_s_zb.zxtypeid = 0 THEN
- rslt = 0
- arg_msg = "纸箱类别ID错误,请选择纸箱类别"
- GOTO ext
- END IF
- UPDATE u_mtrldef_add_property
- SET exp = :arg_s_zb.exp,
- dscrp = :arg_s_zb.dscrp,
- sonmtrlid = :arg_s_zb.sonmtrlid,
- zxtypeid = :arg_s_zb.zxtypeid,
- modemp = :publ_operator,
- moddate = getdate()
- Where mtrlid = :arg_s_zb.mtrlid;
- IF sqlca.SQLCode = 0 THEN
-
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO u_mtrldef_add_property
- (mtrlid,
- sonmtrlid,
- zxtypeid,
- exp,
- dscrp,
- opemp,
- opdate)
- VALUES
- (:arg_s_zb.mtrlid,
- :arg_s_zb.sonmtrlid,
- :arg_s_zb.zxtypeid,
- :arg_s_zb.exp,
- :arg_s_zb.dscrp,
- :publ_operator,
- getdate());
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "新建纸板资料失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
- END IF
- ELSE
- rslt = 0
- arg_msg = "更新纸板资料失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_zb_del (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- DELETE FROM u_mtrldef_add_property
- WHERE mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除纸板失败'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEif arg_ifcommit then
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_jgdscrp_update (long arg_mtrlid, s_mtrljgdscrp_array s_mtrjgdscrp, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
- IF arg_mtrlid <= 0 THEN
- rslt = 0
- arg_msg = '错误的物料ID'
- GOTO ext
- END IF
- DELETE FROM u_mtrl_jgdscrp
- Where mtrlid = :arg_mtrlid USING sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '删除操作失败:'+sqlca.SQLErrText
- GOTO ext
- END IF
- Long ls_i
- String ls_jgdscrpcode,ls_jgdscrpname,ls_jgdscrpmxcode,ls_jgdscrpmxname
- Long ls_jgdscrpmxid
- String ls_jgdscrp
- FOR ls_i = 1 TO UpperBound(s_mtrjgdscrp.jgdscrpmxid)
- ls_jgdscrpmxid = s_mtrjgdscrp.jgdscrpmxid[ls_i]
- ls_jgdscrpcode = s_mtrjgdscrp.jgdscrpcode[ls_i]
- ls_jgdscrpname = s_mtrjgdscrp.jgdscrpname[ls_i]
- ls_jgdscrpmxname = s_mtrjgdscrp.jgdscrpmxname[ls_i]
- ls_jgdscrpmxcode = s_mtrjgdscrp.jgdscrpmxcode[ls_i]
- ls_jgdscrp = ls_jgdscrp +ls_jgdscrpcode+ls_jgdscrpname+ls_jgdscrpmxcode+ls_jgdscrpmxname +' '
-
- INSERT INTO u_mtrl_jgdscrp
- (mtrlid, jgdscrpmxid)
- Values(:arg_mtrlid,:ls_jgdscrpmxid) USING sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '插入操作失败:'+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
- UPDATE u_mtrldef
- SET jgdscrp = :ls_jgdscrp
- Where mtrlid = :arg_mtrlid USING sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新工艺说明操作失败:'+sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK USING sqlca;
-
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT USING sqlca;
- END IF
- RETURN rslt
- end function
- public function integer uof_audit (long arg_mtrlid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- Select flag
- Into :li_flag
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 0 Then
- rslt = 0
- arg_msg = '物料不是在待审核状态,不能审核'
- Goto ext
- End If
- Update u_mtrldef
- Set flag = 1 ,
- auditemp = :arg_emp,
- auditdate = getdate()
- Where mtrlid = :arg_mtrlid
- And flag = 0 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '物料正在审核,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '物料审核失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_c_audit (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- datetime ld_nulldt
- setnull(ld_nulldt)
- Select flag
- Into :li_flag
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 1 Then
- rslt = 0
- arg_msg = '物料不是在待终审状态,不能撤初审'
- Goto ext
- End If
- Update u_mtrldef
- Set flag = 0 ,
- auditemp = '',
- auditdate = :ld_nulldt
- Where mtrlid = :arg_mtrlid
- And flag = 1 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '物料正在撤审,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '物料撤初审失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_c_secaudit (long arg_mtrlid, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- datetime ld_nulldt
- setnull(ld_nulldt)
- Select flag
- Into :li_flag
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 2 Then
- rslt = 0
- arg_msg = '物料不是在终审状态,不能撤终审'
- Goto ext
- End If
- Update u_mtrldef
- Set flag = 1 ,
- secauditemp = '',
- secauditdate = :ld_nulldt
- Where mtrlid = :arg_mtrlid
- And flag = 2 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '物料正在撤审,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '物料撤终审失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_secaudit (long arg_mtrlid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- Select flag
- Into :li_flag
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 1 Then
- rslt = 0
- arg_msg = '物料不是在待终审状态,不能终审'
- Goto ext
- End If
- Update u_mtrldef
- Set flag = 2 ,
- secauditemp = :arg_emp,
- secauditdate = getdate()
- Where mtrlid = :arg_mtrlid
- And flag = 1 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '物料正在审核,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '物料审核失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_add_mtrl (s_mtrldef arg_s_mtrl, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_mtrlid,ll_i
- String ls_mtrltype,ls_handtype
- Long ll_scid_wrkGrpid
- Int li_ifunit
- Int li_issuliao_ori
- Long ll_sk_mtrlid
- String ls_barcode
- If uo_option_use_suliao = -1000 Then
- rslt = 0
- arg_msg = '选项:[159]启用注塑模块,读取初始默认值失败,操作取消!'
- Goto ext
- End If
- If uo_option_use_machining_ll = -1000 Then
- rslt = 0
- arg_msg = '选项:[170]启用来料加工模块,读取初始默认值失败,操作取消!'
- Goto ext
- End If
- If uo_option_change_status = '-1000' Then
- rslt = 0
- arg_msg = '选项:[029]配置标题文本,读取初始默认值失败,操作取消!'
- Goto ext
- End If
- If uo_option_change_woodcode = '-1000' Then
- rslt = 0
- arg_msg = '选项:[027]配置1标题文本,读取初始默认值失败,操作取消!'
- Goto ext
- End If
- If uo_option_change_pcode = '-1000' Then
- rslt = 0
- arg_msg = '选项:[028]配置2标题文本,读取初始默认值失败,操作取消!'
- Goto ext
- End If
- If uo_option_inout_type = -1000 Then
- rslt = 0
- arg_msg = '选项:[142]进出仓高级选项,读取初始默认值失败,操作取消!'
- Goto ext
- End If
- If IsNull(arg_s_mtrl.mtrlid) Then arg_s_mtrl.mtrlid = 0
- If IsNull(arg_s_mtrl.mtrlcode) Then arg_s_mtrl.mtrlcode = ''
- If IsNull(arg_s_mtrl.mtrlname) Then arg_s_mtrl.mtrlname = ''
- If IsNull(arg_s_mtrl.mtrlsectype) Then arg_s_mtrl.mtrlsectype = ''
- If IsNull(arg_s_mtrl.mtrlmode) Then arg_s_mtrl.mtrlmode = ''
- If IsNull(arg_s_mtrl.unit) Then arg_s_mtrl.unit = ''
- If IsNull(arg_s_mtrl.dscrp) Then arg_s_mtrl.dscrp = ''
- If IsNull(arg_s_mtrl.lmbuyprice) Then arg_s_mtrl.lmbuyprice = 0
- If IsNull(arg_s_mtrl.lmsaleprice) Then arg_s_mtrl.lmsaleprice = 0
- If IsNull(arg_s_mtrl.prdpackcode) Then arg_s_mtrl.prdpackcode = ''
- If IsNull(arg_s_mtrl.packqty) Then arg_s_mtrl.packqty = 0
- If IsNull(arg_s_mtrl.zxmtrlmode) Then arg_s_mtrl.zxmtrlmode = ''
- If IsNull(arg_s_mtrl.unit_buy) Then arg_s_mtrl.unit_buy = ''
- If IsNull(arg_s_mtrl.rate_buy) Then arg_s_mtrl.rate_buy = 0
- If IsNull(arg_s_mtrl.unit_scll) Then arg_s_mtrl.unit_scll = ''
- If IsNull(arg_s_mtrl.rate_scll) Then arg_s_mtrl.rate_scll = 0
- If IsNull(arg_s_mtrl.unit_sale) Then arg_s_mtrl.unit_sale = ''
- If IsNull(arg_s_mtrl.rate_sale) Then arg_s_mtrl.rate_sale = 0
- If IsNull(arg_s_mtrl.orderdays) Then arg_s_mtrl.orderdays = 0
- If IsNull(arg_s_mtrl.buydays) Then arg_s_mtrl.buydays = 0
- If IsNull(arg_s_mtrl.wfjgdays) Then arg_s_mtrl.wfjgdays = 0
- If IsNull(arg_s_mtrl.minbuyqty) Then arg_s_mtrl.minbuyqty = 0
- If IsNull(arg_s_mtrl.aheaddays) Then arg_s_mtrl.aheaddays = 0
- If IsNull(arg_s_mtrl.ifselforder) Then arg_s_mtrl.ifselforder = 0
- If IsNull(arg_s_mtrl.mprice) Then arg_s_mtrl.mprice = 0
- If IsNull(arg_s_mtrl.mtrlorigin) Then arg_s_mtrl.mtrlorigin = 0
- If IsNull(arg_s_mtrl.mtrlkind) Then arg_s_mtrl.mtrlkind = 0
- If IsNull(arg_s_mtrl.lspacklimit) Then arg_s_mtrl.lspacklimit = 0
- If IsNull(arg_s_mtrl.maxqty) Then arg_s_mtrl.maxqty = 0
- If IsNull(arg_s_mtrl.minqty) Then arg_s_mtrl.minqty = 0
- If IsNull(arg_s_mtrl.isuse) Then arg_s_mtrl.isuse = 1
- If IsNull(arg_s_mtrl.mtrltypeid) Then arg_s_mtrl.mtrltypeid = 0
- If IsNull(arg_s_mtrl.barcode) Then arg_s_mtrl.barcode = ''
- If IsNull(arg_s_mtrl.net_weight) Then arg_s_mtrl.net_weight = 0
- If IsNull(arg_s_mtrl.gross_weight) Then arg_s_mtrl.gross_weight = 0
- If IsNull(arg_s_mtrl.cubage) Then arg_s_mtrl.cubage = 0
- If IsNull(arg_s_mtrl.mtrlengname) Then arg_s_mtrl.mtrlengname = ''
- If IsNull(arg_s_mtrl.scllflag) Then arg_s_mtrl.scllflag = 0
- If IsNull(arg_s_mtrl.dftwrkGrpid) Then arg_s_mtrl.dftwrkGrpid = 0
- If IsNull(arg_s_mtrl.dftsptid) Then arg_s_mtrl.dftsptid = 0
- If IsNull(arg_s_mtrl.scid) Then arg_s_mtrl.scid = 0
- If IsNull(arg_s_mtrl.ifscid) Then arg_s_mtrl.ifscid = 0
- If IsNull(arg_s_mtrl.mtrlprp) Then arg_s_mtrl.mtrlprp = 0
- If IsNull(arg_s_mtrl.uprate) Then arg_s_mtrl.uprate = 0
- If IsNull(arg_s_mtrl.upqty) Then arg_s_mtrl.upqty = 0
- If IsNull(arg_s_mtrl.ordertype) Then arg_s_mtrl.ordertype = 0
- If IsNull(arg_s_mtrl.statusflag) Then arg_s_mtrl.statusflag = 0
- If IsNull(arg_s_mtrl.statustype) Then arg_s_mtrl.statustype = 0
- If IsNull(arg_s_mtrl.woodcodeflag) Then arg_s_mtrl.woodcodeflag = 0
- If IsNull(arg_s_mtrl.woodcodetype) Then arg_s_mtrl.woodcodetype = 0
- If IsNull(arg_s_mtrl.pcodeflag) Then arg_s_mtrl.pcodeflag = 0
- If IsNull(arg_s_mtrl.pcodetype) Then arg_s_mtrl.pcodetype = 0
- If IsNull(arg_s_mtrl.mtrlarea) Then arg_s_mtrl.mtrlarea = 0
- If IsNull(arg_s_mtrl.mtrlarea1) Then arg_s_mtrl.mtrlarea1 = 0
- If IsNull(arg_s_mtrl.mtrlarea2) Then arg_s_mtrl.mtrlarea2 = 0
- If IsNull(arg_s_mtrl.configcode) Then arg_s_mtrl.configcode = ''
- If IsNull(arg_s_mtrl.configname) Then arg_s_mtrl.configname = ''
- If IsNull(arg_s_mtrl.ifpack) Then arg_s_mtrl.ifpack = 0
- If IsNull(arg_s_mtrl.ifpackpro) Then arg_s_mtrl.ifpackpro = 0
- If IsNull(arg_s_mtrl.autoinstall) Then arg_s_mtrl.autoinstall = 0
- If IsNull(arg_s_mtrl.iflimitprice) Then arg_s_mtrl.iflimitprice = 0
- If IsNull(arg_s_mtrl.mtrlcolor) Then arg_s_mtrl.mtrlcolor = ''
- If IsNull(arg_s_mtrl.configcodetype) Then arg_s_mtrl.configcodetype = 0
- If IsNull(arg_s_mtrl.ifautodd) Then arg_s_mtrl.ifautodd = 0
- If IsNull(arg_s_mtrl.iflljg) Then arg_s_mtrl.iflljg = 0
- If IsNull(arg_s_mtrl.ifunit) Then arg_s_mtrl.ifunit = 0
- If IsNull(arg_s_mtrl.ifpackpz) Then arg_s_mtrl.ifpackpz = 0
- If IsNull(arg_s_mtrl.ifpacktype) Then arg_s_mtrl.ifpacktype = 0
- If IsNull(arg_s_mtrl.scllrate) Then arg_s_mtrl.scllrate = 0
- If IsNull(arg_s_mtrl.cmpqty) Then arg_s_mtrl.cmpqty = 1
- If IsNull(arg_s_mtrl.usermtrlmode) Then arg_s_mtrl.usermtrlmode = ''
- If IsNull(arg_s_mtrl.storagetype) Then arg_s_mtrl.storagetype = 0
- If IsNull(arg_s_mtrl.ifmtrlcuscode) Then arg_s_mtrl.ifmtrlcuscode = 0
- If IsNull(arg_s_mtrl.mrptype) Then arg_s_mtrl.mrptype = 0
- If IsNull(arg_s_mtrl.mrparg) Then arg_s_mtrl.mrparg = 0
- If IsNull(arg_s_mtrl.updownprice) Then arg_s_mtrl.updownprice = 0
- If IsNull(arg_s_mtrl.outtype) Then arg_s_mtrl.outtype = 0
- If IsNull(arg_s_mtrl.ifpricepack) Then arg_s_mtrl.ifpricepack = 0
- If IsNull(arg_s_mtrl.gydscrp) Then arg_s_mtrl.gydscrp = ''
- If IsNull(arg_s_mtrl.downrate) Then arg_s_mtrl.downrate = 0
- If IsNull(arg_s_mtrl.ifcustom) Then arg_s_mtrl.ifcustom = 0
- If IsNull(arg_s_mtrl.buyunit) Then arg_s_mtrl.buyunit = 0
- If IsNull(arg_s_mtrl.wfjgunit) Then arg_s_mtrl.wfjgunit = 0
- If IsNull(arg_s_mtrl.scllunit) Then arg_s_mtrl.scllunit = 0
- If IsNull(arg_s_mtrl.saleunit) Then arg_s_mtrl.saleunit = 0
- If IsNull(arg_s_mtrl.buydec) Then arg_s_mtrl.buydec = 5
- If IsNull(arg_s_mtrl.wfjgdec) Then arg_s_mtrl.wfjgdec = 5
- If IsNull(arg_s_mtrl.sclldec) Then arg_s_mtrl.sclldec = 5
- If IsNull(arg_s_mtrl.saledec) Then arg_s_mtrl.saledec = 5
- If IsNull(arg_s_mtrl.issuliao) Then arg_s_mtrl.issuliao = 0
- If IsNull(arg_s_mtrl.period) Then arg_s_mtrl.period = 0
- If IsNull(arg_s_mtrl.skmtrlid) Then arg_s_mtrl.skmtrlid = 0
- If IsNull(arg_s_mtrl.ifenough) Then arg_s_mtrl.ifenough = 0
- If IsNull(arg_s_mtrl.capacity) Then arg_s_mtrl.capacity = 0
- If IsNull(arg_s_mtrl.expday) Then arg_s_mtrl.expday = 0
- If IsNull(arg_s_mtrl.capaparm) Then arg_s_mtrl.capaparm = 1
- If IsNull(arg_s_mtrl.sctaskqty) Then arg_s_mtrl.sctaskqty = 0
- If IsNull(arg_s_mtrl.minarg) Then arg_s_mtrl.minarg = 0
- If IsNull(arg_s_mtrl.maxarg) Then arg_s_mtrl.maxarg = 0
- If IsNull(arg_s_mtrl.status_check) Then arg_s_mtrl.status_check = 0
- If IsNull(arg_s_mtrl.woodcode_check) Then arg_s_mtrl.woodcode_check = 0
- If IsNull(arg_s_mtrl.pcode_check) Then arg_s_mtrl.pcode_check = 0
- If IsNull(arg_s_mtrl.maxdays) Then arg_s_mtrl.maxdays = 0
- If IsNull(arg_s_mtrl.mindays) Then arg_s_mtrl.mindays = 0
- If IsNull(arg_s_mtrl.ifmrppackpf) Then arg_s_mtrl.ifmrppackpf = 0
- If IsNull(arg_s_mtrl.maxzjday) Then arg_s_mtrl.maxzjday = 0
- If IsNull(arg_s_mtrl.eoq) Then arg_s_mtrl.eoq = 0
- If IsNull(arg_s_mtrl.splitrate) Then arg_s_mtrl.splitrate = 0
- If IsNull(arg_s_mtrl.mrp_unit) Then arg_s_mtrl.mrp_unit = 0
- If IsNull(arg_s_mtrl.rebuytype) Then arg_s_mtrl.rebuytype = 0
- If IsNull(arg_s_mtrl.rebuylot) Then arg_s_mtrl.rebuylot = 0
- If IsNull(arg_s_mtrl.ifsendlot) Then arg_s_mtrl.ifsendlot = 0
- If IsNull(arg_s_mtrl.upddrate) Then arg_s_mtrl.upddrate = 0
- If IsNull(arg_s_mtrl.upddqty) Then arg_s_mtrl.upddqty = 0
- If IsNull(arg_s_mtrl.upsalerate) Then arg_s_mtrl.upsalerate = 0
- If IsNull(arg_s_mtrl.upsaleqty) Then arg_s_mtrl.upsaleqty = 0
- If IsNull(arg_s_mtrl.status_config) Then arg_s_mtrl.status_config = ''
- If IsNull(arg_s_mtrl.woodcode_config) Then arg_s_mtrl.woodcode_config = ''
- If IsNull(arg_s_mtrl.pcode_config) Then arg_s_mtrl.pcode_config = ''
- If IsNull(arg_s_mtrl.pricepztype) Then arg_s_mtrl.pricepztype = 0
- If IsNull(arg_s_mtrl.useday) Then arg_s_mtrl.useday = 0
- If arg_s_mtrl.rebuytype <> 2 Then arg_s_mtrl.rebuylot = 0
- If IsNull(arg_s_mtrl.ifusedeliqty) Then arg_s_mtrl.ifusedeliqty = 0
- If IsNull(arg_s_mtrl.equiptype) Then arg_s_mtrl.equiptype = 0
- If IsNull(arg_s_mtrl.ifpackpro2) Then arg_s_mtrl.ifpackpro2 = 0
- If IsNull(arg_s_mtrl.ifkl) Then arg_s_mtrl.ifkl = 0
- If IsNull(arg_s_mtrl.ifturn) Then arg_s_mtrl.ifturn = 0
- If IsNull(arg_s_mtrl.iffp) Then arg_s_mtrl.iffp = 0
- If IsNull(arg_s_mtrl.scllqty) Then arg_s_mtrl.scllqty = 0
- If IsNull(arg_s_mtrl.if_hourpay) Then arg_s_mtrl.if_hourpay = 0
- If IsNull(arg_s_mtrl.ifmrp) Then arg_s_mtrl.ifmrp = 1
- If IsNull(arg_s_mtrl.if_inherit) Then arg_s_mtrl.if_inherit = 0
- If arg_s_mtrl.statusflag <> 4 And arg_s_mtrl.statusflag <> 5 And arg_s_mtrl.statusflag <> 1 Or arg_s_mtrl.statustype <= 0 Then arg_s_mtrl.status_config = ''
- If arg_s_mtrl.woodcodeflag <> 4 And arg_s_mtrl.woodcodeflag <> 5 And arg_s_mtrl.woodcodeflag <> 1 Or arg_s_mtrl.woodcodetype <= 0 Then arg_s_mtrl.woodcode_config = ''
- If arg_s_mtrl.pcodeflag <> 4 And arg_s_mtrl.pcodeflag <> 5 And arg_s_mtrl.pcodeflag <> 1 Or arg_s_mtrl.pcodetype <= 0 Then arg_s_mtrl.pcode_config = ''
- If arg_s_mtrl.statusflag <> 4 And arg_s_mtrl.statusflag <> 5 And arg_s_mtrl.statusflag <> 1 Then arg_s_mtrl.status_spc = 0
- If arg_s_mtrl.woodcodeflag <> 4 And arg_s_mtrl.woodcodeflag <> 5 And arg_s_mtrl.woodcodeflag <> 1 Then arg_s_mtrl.woodcode_spc = 0
- If arg_s_mtrl.pcodeflag <> 4 And arg_s_mtrl.pcodeflag <> 5 And arg_s_mtrl.pcodeflag <> 1 Then arg_s_mtrl.pcode_spc = 0
- If IsNull(arg_s_mtrl.status_spc) Then arg_s_mtrl.status_spc = 0
- If IsNull(arg_s_mtrl.woodcode_spc) Then arg_s_mtrl.woodcode_spc = 0
- If IsNull(arg_s_mtrl.pcode_spc) Then arg_s_mtrl.pcode_spc = 0
- If arg_s_mtrl.ifkl = 0 Then arg_s_mtrl.ifturn = 0
- If IsNull(arg_s_mtrl.groupstr) Then arg_s_mtrl.groupstr = ''
- If IsNull(arg_s_mtrl.groupday) Then arg_s_mtrl.groupday = 0
- If IsNull(arg_s_mtrl.aps_capacity_type) Then arg_s_mtrl.aps_capacity_type = ''
- If IsNull(arg_s_mtrl.scllplan_mode) Then arg_s_mtrl.scllplan_mode = 0
- If IsNull(arg_s_mtrl.ifcheck) Then arg_s_mtrl.ifcheck = 0
- If IsNull(arg_s_mtrl.checkrate) Then arg_s_mtrl.checkrate = 0
- If IsNull(arg_s_mtrl.chkpassrate) Then arg_s_mtrl.chkpassrate = 0
- If IsNull(arg_s_mtrl.dftcusid) Then arg_s_mtrl.dftcusid = 0
- If IsNull(arg_s_mtrl.sendtype) Then arg_s_mtrl.sendtype = 0
- If IsNull(arg_s_mtrl.mb_mtrlid) Then arg_s_mtrl.mb_mtrlid = 0
- If IsNull(arg_s_mtrl.buy_ceiling) Then arg_s_mtrl.buy_ceiling = 0
- If IsNull(arg_s_mtrl.scll_ceiling) Then arg_s_mtrl.scll_ceiling = 0
- If IsNull(arg_s_mtrl.wfjg_ceiling) Then arg_s_mtrl.wfjg_ceiling = 0
- If IsNull(arg_s_mtrl.sale_ceiling) Then arg_s_mtrl.sale_ceiling = 0
- If IsNull(arg_s_mtrl.material) Then arg_s_mtrl.material = ''
- If IsNull(arg_s_mtrl.adddec) Then arg_s_mtrl.adddec = 0
- If IsNull(arg_s_mtrl.ifbarcodefp) Then arg_s_mtrl.ifbarcodefp = 0
- If IsNull(arg_s_mtrl.stoppqty) Then arg_s_mtrl.stoppqty = 0
- If IsNull(arg_s_mtrl.buy_autoday) Then arg_s_mtrl.buy_autoday = 0
- If IsNull(arg_s_mtrl.upbuyrate) Then arg_s_mtrl.upbuyrate = 0
- If IsNull(arg_s_mtrl.upbuyqty) Then arg_s_mtrl.upbuyqty = 0
- If IsNull(arg_s_mtrl.ifrebuypack) Then arg_s_mtrl.ifrebuypack = 0
- If IsNull(arg_s_mtrl.protype) Then arg_s_mtrl.protype = 0
- If IsNull(arg_s_mtrl.buydays_bx) Then arg_s_mtrl.buydays_bx = 0
- If IsNull(arg_s_mtrl.wfjgdays_bx) Then arg_s_mtrl.wfjgdays_bx = 0
- If IsNull(arg_s_mtrl.multqty) Then arg_s_mtrl.multqty = 0
- If IsNull(arg_s_mtrl.buyer) Then arg_s_mtrl.buyer = ''
- If IsNull(arg_s_mtrl.multtype) Then arg_s_mtrl.multtype = 0
- If IsNull(arg_s_mtrl.bantype) Then arg_s_mtrl.bantype = 0
- If IsNull(arg_s_mtrl.midu) Then arg_s_mtrl.midu = 0
- If IsNull(arg_s_mtrl.BalcCmplNotUpdate) Then arg_s_mtrl.BalcCmplNotUpdate = 0
- If arg_s_mtrl.ifpack = 1 And arg_s_mtrl.mtrlorigin <> 2 And arg_s_mtrl.ifselforder = 0 Then
- rslt = 0
- arg_msg = '非采购包件,生产属性不能设无,请重新选择'
- Goto ext
- End If
- If arg_s_mtrl.ifpack <> 0 And arg_s_mtrl.ifmrp = 0 Then
- rslt = 0
- arg_msg = '包件必须使用参加物料运算,请重新选择'
- Goto ext
- End If
- If arg_s_mtrl.ifpackpro = 1 And uo_option_inout_type <> 0 And arg_s_mtrl.outtype = 0 Then
- rslt = 0
- arg_msg = '系统选项设置了包件出仓或条码出仓,包件产品必须设包件出仓或条码出仓,请检查'
- Goto ext
- End If
- Int li_sonflag
- Select sonflag
- Into :li_sonflag
- From u_mtrltype
- Where mtrltypeid = :arg_s_mtrl.mtrltypeid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料类别是否最下级失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_sonflag = 0 Then
- rslt = 0
- arg_msg = '所选的物料类别不是最下级物料类别,请重新选择'
- Goto ext
- End If
- If uo_option_use_suliao = 1 Then
- If arg_s_mtrl.issuliao = 1 And arg_s_mtrl.skmtrlid = 0 Then
- arg_msg = '塑料件必须先指定对应水口料的物料类别'
- rslt = 0
- Goto ext
- End If
-
- If arg_s_mtrl.issuliao = 1 And arg_s_mtrl.net_weight = 0 Then
- arg_msg = '塑料件必须指定净重'
- rslt = 0
- Goto ext
- End If
-
- End If
- If arg_s_mtrl.mtrlid <> 0 Then
- Select issuliao Into :li_issuliao_ori
- From u_mtrldef
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料塑料属性失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
- If li_issuliao_ori = 1 And arg_s_mtrl.issuliao <> 1 Then
- Select sk_mtrlid Into :ll_sk_mtrlid
- From u_mtrldef_sl
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- ll_sk_mtrlid = 0
- End If
-
- If ll_sk_mtrlid > 0 Then
- Update u_mtrldef_sl
- Set sk_mtrlid = 0,
- sk_mtrltypeid = 0,
- sk_mtrlname = ''
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '清除物料相关水口料信息失败'
- Goto ext
- End If
- End If
- End If
-
-
- If li_issuliao_ori = 2 And arg_s_mtrl.issuliao <> 2 Then
- Select count(*) Into :cnt
- From u_mtrldef_sl
- Where sk_mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询水口料是否已被使用失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
- If cnt > 0 Then
- arg_msg = "该水口料已经使用于物料资料,不可以更改属性!"
- rslt = 0
- Goto ext
- End If
- End If
-
- End If
- If arg_s_mtrl.mtrlcode = '' Then
- arg_msg = '请输入物料编码!'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.mtrlname = '' Then
- arg_msg = '请输入物料名称!'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.mtrltypeid = 0 Then
- arg_msg = '请选择物料类别!'
- rslt = 0
- Goto ext
- End If
- Select mtrltype,handtype
- Into :ls_mtrltype,
- :ls_handtype
- From u_mtrltype
- Where mtrltypeid = :arg_s_mtrl.mtrltypeid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料类别失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.mtrlorigin < 0 Then
- arg_msg = '请选择物料来源'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.mtrlorigin = 2 Then arg_s_mtrl.ifselforder = 0
- If uo_option_use_machining_ll = 0 And arg_s_mtrl.mtrlorigin = 6 Then
- arg_msg = '系统选项设为不启用来料加工,不能建立来料加工的物料'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.iflljg = 1 And arg_s_mtrl.mtrlorigin <> 0 Then
- arg_msg = '来源不是自制[0]的物料,不能设为来料自制,请检查'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.mtrlid > 0 Then
- Select ifunit Into :li_ifunit
- From u_mtrldef
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料是否使用库存双数量失败'+sqlca.SQLErrText
- Goto ext
- End If
-
- If li_ifunit <> arg_s_mtrl.ifunit Then
- Select count(*) Into :cnt
- From u_mtrlware
- Where mtrlid = :arg_s_mtrl.mtrlid
- And noallocqty <> 0;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料相关库存信息失败'+sqlca.SQLErrText
- Goto ext
- End If
-
- If cnt > 0 Then
- rslt = 0
- arg_msg = '变更库存双数量核算属性前,必须先把物料相关的库存数清零,请检查'
- Goto ext
- End If
- End If
-
-
-
- End If
- If arg_s_mtrl.ifunit = 1 And (arg_s_mtrl.unit_buy = '' Or arg_s_mtrl.rate_buy = 0 ) Then
- arg_msg = '使用库存双数量核算必须同时设定辅单位1及其转换率'
- rslt = 0
- Goto ext
- End If
- Choose Case arg_s_mtrl.mtrlorigin
- Case 6
- If arg_s_mtrl.mtrlprp = 1 Then
- arg_msg = '来源为来料加工的物料,物料属性不能设置为半产品,请重新选择物料属性'
- rslt = 0
- Goto ext
- End If
-
- If arg_s_mtrl.mtrlprp = 0 Then
- arg_msg = '来源为来料加工的物料,物料属性不能设置为成品[0],请重新选择物料属性'
- rslt = 0
- Goto ext
- End If
-
-
- If arg_s_mtrl.ifselforder <> 0 Then
- arg_msg = '来源为来料加工的物料,生产属性只能设置为无[0],请重新选择生产属性'
- rslt = 0
- Goto ext
- End If
- Case 2
- If arg_s_mtrl.ifselforder <> 0 Then
- arg_msg = '来源为采购[2]的物料,生产属性只能设置为无[0],请重新选择生产属性'
- rslt = 0
- Goto ext
- End If
- Case 3
- If arg_s_mtrl.ifselforder <> 0 Then
- If arg_s_mtrl.dftwrkGrpid = 0 Then
- arg_msg = '请选择生产车间'
- rslt = 0
- Goto ext
- End If
-
- Select scid Into :ll_scid_wrkGrpid
- From u_sc_wkp
- Where wrkGrpid = :arg_s_mtrl.dftwrkGrpid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询生产车间所属分部失败'
- rslt = 0
- Goto ext
- End If
-
- If ll_scid_wrkGrpid <> arg_s_mtrl.scid Then
- arg_msg = '生产车间所属分部与生产分部不相符,请检查'
- rslt = 0
- Goto ext
- End If
- End If
-
- Case 0
- If arg_s_mtrl.dftwrkGrpid = 0 Then
- arg_msg = '请选择生产车间'
- rslt = 0
- Goto ext
- End If
-
- Select scid Into :ll_scid_wrkGrpid
- From u_sc_wkp
- Where wrkGrpid = :arg_s_mtrl.dftwrkGrpid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询生产车间所属分部失败'
- rslt = 0
- Goto ext
- End If
-
- If ll_scid_wrkGrpid <> arg_s_mtrl.scid Then
- arg_msg = '生产车间所属分部与生产分部不相符,请检查'
- rslt = 0
- Goto ext
- End If
- End Choose
- If arg_s_mtrl.mtrlprp < 0 Then
- arg_msg = '请选择物料属性'
- rslt = 0
- Goto ext
- End If
- Choose Case arg_s_mtrl.mtrlprp
- Case 0
- If arg_s_mtrl.ifpackpro <> 0 Then
- If arg_s_mtrl.ifpackpz = 1 Then
- arg_msg = '下级包件可使用上级包件产品配置属性只能设在包件上,不能设在全包件成品上,请检查'
- rslt = 0
- Goto ext
- End If
-
- If arg_s_mtrl.statusflag = 2 And (arg_s_mtrl.ifpackpro <> 3 And arg_s_mtrl.ifpackpro <> 4) Then
- arg_msg = '包件产品'+uo_option_change_status+'类型只能使用自由选填或严格选择或不使用,请检查'
- rslt = 0
- Goto ext
- End If
-
- if arg_s_mtrl.ifpackpro = 5 and not (arg_s_mtrl.statusflag = 0 or arg_s_mtrl.statusflag = 1) then
- arg_msg = '全订制板式家具包件产品'+uo_option_change_status+'类型只能使用自由选填或严格选择,请检查'
- rslt = 0
- Goto ext
- end if
-
- if arg_s_mtrl.ifpackpro = 5 and not (arg_s_mtrl.woodcodeflag = 0 or arg_s_mtrl.woodcodeflag = 1) then
- arg_msg = '全订制板式家具包件产品'+uo_option_change_woodcode+'类型只能使用自由选填或严格选择,请检查'
- rslt = 0
- Goto ext
- end if
- // IF arg_s_mtrl.statusflag = 4 THEN
- // arg_msg = '包件产品'+uo_option_change_status+'类型只能使用自由选填或严格选择或不使用,请检查'
- // rslt = 0
- // GOTO ext
- // END IF
-
- // IF arg_s_mtrl.woodcodeflag = 4 THEN
- // arg_msg = '包件产品'+uo_option_change_woodcode+'类型只能使用自由选填或严格选择或不使用,请检查'
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // IF arg_s_mtrl.pcodeflag = 4 THEN
- // arg_msg = '包件产品'+uo_option_change_pcode+'类型只能使用自由选填或严格选择或不使用,请检查'
- // rslt = 0
- // GOTO ext
- // END IF
- Else
- // IF arg_s_mtrl.ifmrppackpf = 1 THEN
- // arg_msg = '物料不是包件产品,不能使用包件产品MRP运算考虑包件类型清单属性,请检查'
- // rslt = 0
- // GOTO ext
- // END IF
-
-
- End If
-
- Case Else
- If arg_s_mtrl.ifpackpro <> 0 Then
- arg_msg = '物料属性不为成品,包件产品分类不能设置为包件成品,请检查'
- rslt = 0
- Goto ext
- End If
-
- If arg_s_mtrl.autoinstall = 1 Then
- arg_msg = '物料属性不为成品,包件配置不能设置为自动组装,请检查'
- rslt = 0
- Goto ext
- End If
-
- End Choose
- If arg_s_mtrl.statusflag = 2 Then arg_s_mtrl.capacity = 0
- If arg_s_mtrl.ifpackpro <> 0 And arg_s_mtrl.ifpack <> 0 Then
- rslt = 0
- arg_msg = '物料不能同时设为全包件产品及包件,请检查'
- Goto ext
- End If
- //IF arg_s_mtrl.ifpackpro = 1 And arg_s_mtrl.ifpackpro2 = 1 THEN
- // arg_msg = '包件产品与组合配置包件产品不能同时设置,请检查'
- // rslt = 0
- // GOTO ext
- //END IF
- If arg_s_mtrl.ifpackpro = 3 And arg_s_mtrl.statusflag <> 2 Then
- arg_msg = '组合配置包件产品必须使用组合配置,请检查'
- rslt = 0
- Goto ext
- End If
- //IF arg_s_mtrl.ifpackpro = 0 And arg_s_mtrl.ifpricepack = 1 THEN
- // arg_msg = '价格表按包件产品属性只能设在包件产品上,请检查'
- // rslt = 0
- // GOTO ext
- //END IF
- If arg_s_mtrl.ifpackpro = 3 And arg_s_mtrl.ordertype <> 0 Then
- rslt = 0
- arg_msg = '组合配置散排散进包件产品只能设置“指令单合并”'
- Goto ext
- End If
- If arg_s_mtrl.ifpackpro = 2 And arg_s_mtrl.ordertype <> 1 Then
- rslt = 0
- arg_msg = '个性包件产品只能设置“指令单分离”'
- Goto ext
- End If
- If arg_s_mtrl.ifpack = 0 And arg_s_mtrl.ifpackpz = 1 Then
- rslt = 0
- arg_msg = '下级包件可使用上级包件产品配置属性只能设在包件上,请检查'
- Goto ext
- End If
- If arg_s_mtrl.ifmtrlcuscode = 0 And (arg_s_mtrl.ifpackpro = 2 Or arg_s_mtrl.ifpackpro = 4) Then
- rslt = 0
- arg_msg = '个性包件产品和组合配置整排散进包件产品必须使用产品批号,请检查'
- Goto ext
- End If
- If arg_s_mtrl.unit = '' Then
- arg_msg = '请输入物料计量单位!'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.unit_buy <> '' And arg_s_mtrl.rate_buy <= 0 Then
- arg_msg = '不合理的转换率1'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.unit_buy = '' And arg_s_mtrl.rate_buy <> 0 Then
- arg_msg = '必须输入辅单位1才能设定转换率1'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.unit_scll <> '' And arg_s_mtrl.rate_scll <= 0 Then
- arg_msg = '不合理的转换率2'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.unit_scll = '' And arg_s_mtrl.rate_scll <> 0 Then
- arg_msg = '必须输入辅单位2才能设定转换率2'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.unit_sale <> '' And arg_s_mtrl.rate_sale <= 0 Then
- arg_msg = '不合理的转换率3'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.unit_sale = '' And arg_s_mtrl.rate_sale <> 0 Then
- arg_msg = '必须输入辅单位3才能设定转换率3'
- rslt = 0
- Goto ext
- End If
- string ls_pzname
- long ll_pzid
- if arg_s_mtrl.statusflag = 1 or arg_s_mtrl.statusflag = 4 or arg_s_mtrl.statusflag = 5 then
- if arg_s_mtrl.status_spc = 1 then //自动查找或新建分类
- ll_pzid = 0
- ls_pzname = trim(arg_s_mtrl.mtrlcode)+' '+uo_option_change_status
- if uof_get_pztype(arg_s_mtrl.statusflag, ls_pzname, ll_pzid, arg_msg) = 0 then
- arg_msg = uo_option_change_status+',查找对应专用配置类型失败,'+arg_msg
- rslt = 0
- Goto ext
- end if
- arg_s_mtrl.statustype = ll_pzid
- end if
- end if
- if arg_s_mtrl.woodcodeflag = 1 or arg_s_mtrl.woodcodeflag = 4 or arg_s_mtrl.woodcodeflag = 5 then
- if arg_s_mtrl.woodcode_spc = 1 then //自动查找或新建分类
- ll_pzid = 0
- ls_pzname = trim(arg_s_mtrl.mtrlcode)+' '+uo_option_change_woodcode
- if uof_get_pztype(arg_s_mtrl.woodcodeflag, ls_pzname, ll_pzid, arg_msg) = 0 then
- arg_msg = uo_option_change_woodcode+',查找对应专用配置类型失败,'+arg_msg
- rslt = 0
- Goto ext
- end if
- arg_s_mtrl.woodcodetype = ll_pzid
- end if
- end if
- if arg_s_mtrl.pcodeflag = 1 or arg_s_mtrl.pcodeflag = 4 or arg_s_mtrl.pcodeflag = 5 then
- if arg_s_mtrl.pcode_spc = 1 then //自动查找或新建分类
- ll_pzid = 0
- ls_pzname = trim(arg_s_mtrl.mtrlcode)+' '+uo_option_change_pcode
- if uof_get_pztype(arg_s_mtrl.pcodeflag, ls_pzname, ll_pzid, arg_msg) = 0 then
- arg_msg = uo_option_change_pcode+',查找对应专用配置类型失败,'+arg_msg
- rslt = 0
- Goto ext
- end if
- arg_s_mtrl.pcodetype = ll_pzid
- end if
- end if
- If arg_s_mtrl.statusflag = 1 And arg_s_mtrl.statustype = 0 Then
- arg_msg = uo_option_change_status+' 类型为严格选择,必须选定一个待选类别'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.woodcodeflag = 1 And arg_s_mtrl.woodcodetype = 0 Then
- arg_msg = uo_option_change_woodcode+' 类型为严格选择,必须选定一个待选类别'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.pcodeflag = 1 And arg_s_mtrl.pcodetype = 0 Then
- arg_msg = uo_option_change_pcode+' 类型为严格选择,必须选定一个待选类别'
- rslt = 0
- Goto ext
- End If
- If (arg_s_mtrl.statusflag = 4 or arg_s_mtrl.statusflag = 5) And arg_s_mtrl.statustype = 0 Then
- arg_msg = uo_option_change_status+' 类型为部件选配,必须选定一个待选类别'
- rslt = 0
- Goto ext
- End If
- If (arg_s_mtrl.woodcodeflag = 4 or arg_s_mtrl.woodcodeflag = 5) And arg_s_mtrl.woodcodetype = 0 Then
- arg_msg = uo_option_change_woodcode+' 类型为部件选配,必须选定一个待选类别'
- rslt = 0
- Goto ext
- End If
- If (arg_s_mtrl.pcodeflag = 4 or arg_s_mtrl.pcodeflag = 5) And arg_s_mtrl.pcodetype = 0 Then
- arg_msg = uo_option_change_pcode+' 类型为部件选配,必须选定一个待选类别'
- rslt = 0
- Goto ext
- End If
- If (arg_s_mtrl.statusflag <> 4 and arg_s_mtrl.statusflag <> 5) Then arg_s_mtrl.status_check = 0
- If (arg_s_mtrl.woodcodeflag <> 4 and arg_s_mtrl.woodcodeflag <> 5) Then arg_s_mtrl.woodcode_check = 0
- If (arg_s_mtrl.pcodeflag <> 4 and arg_s_mtrl.pcodeflag <> 5) Then arg_s_mtrl.pcode_check = 0
- If arg_s_mtrl.buydec < 0 Then
- arg_msg = '不合理的默认采购单位小数位数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.wfjgdec < 0 Then
- arg_msg = '不合理的默认外协单位小数位数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.sclldec < 0 Then
- arg_msg = '不合理的默认领料单位小数位数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.saledec < 0 Then
- arg_msg = '不合理的默认销售单位小数位数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.cmpqty <= 0 Then
- arg_msg = '不合理的物料清单基数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.maxarg < 0 Then
- arg_msg = '不合理的库存上限系数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.minarg < 0 Then
- arg_msg = '不合理的库存下限系数'
- rslt = 0
- Goto ext
- End If
- //If arg_s_mtrl.mrptype = 1 Then
- // arg_s_mtrl.mrparg = 0
- //End If
- If arg_s_mtrl.mrparg < 0 Or arg_s_mtrl.mrparg > 10 Then
- arg_msg = '不合理的物料运算精度,精度范围:0至10'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.capacity < 0 Then
- arg_msg = '不合理的产能参数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.expday < 0 Then
- arg_msg = '不合理的经验生产周期'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.sctaskqty < 0 Then
- arg_msg = '不合理的工序派工基数'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.maxzjday < 0 Then
- arg_msg = '不合理的自制周期上限'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.eoq < 0 Then
- arg_msg = '不合理的经济批量'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.splitrate < 0 Then
- arg_msg = '不合理的分拆极限百分比'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.iffp = 1 And arg_s_mtrl.mtrlkind <> 0 Then
- arg_msg = '使用库存分配,领料属性必须是严格按计划'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.scllrate < 0 Then
- arg_msg = '不合理的超领比例'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.scllqty < 0 Then
- arg_msg = '不合理的附加超领数量'
- rslt = 0
- Goto ext
- End If
- If arg_s_mtrl.adddec < 0 Then
- arg_msg = '不合理的申购误差'
- rslt = 0
- Goto ext
- End If
- If Trim(arg_s_mtrl.barcode) <> '' Then
- ls_barcode = Trim(arg_s_mtrl.barcode)
-
- Select count(*)
- Into :cnt
- From u_mtrldef
- Where barcode = :ls_barcode
- And mtrlid <> :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询条码是否已被使用失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
- If cnt > 0 Then
- rslt = 0
- arg_msg = '条形码已被其他物料资料使用,请重新输入条形码'
- Goto ext
- End If
-
- End If
- String ls_simplename
- If arg_s_mtrl.dftcusid > 0 Then
- Select simplename
- Into :ls_simplename
- From u_cust
- Where cusid = :arg_s_mtrl.dftcusid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询默认客户的简称失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
- arg_s_mtrl.simplename = ls_simplename
-
- End If
- If arg_s_mtrl.ifbarcodefp = 1 And arg_s_mtrl.outtype <> 2 Then
- rslt = 0
- arg_msg = '使用库存条码指定分配订单必须同时使用条码进出仓'
- Goto ext
- End If
- //如果状态是无效,检查有在进行的主计划,指令单,有采购未到货数,外协未到货数,则不允许设成将物料的状态设为无效,需提示只能设“待停产”状态
- If arg_s_mtrl.mtrlid <> 0 And arg_s_mtrl.isuse = 0 Then
- cnt = 0
-
- Select count(*)
- Into :cnt
- From u_order_ml
- Where mtrlid = :arg_s_mtrl.mtrlid
- And status = 1;
- If sqlca.SQLCode <> 0 Then cnt = 0
-
- If cnt > 0 Then
- rslt = 0
- arg_msg = '物料有在进行的主生产计划或指令单,不能设为无效(停产),只能设为待停产'
- Goto ext
- End If
-
- cnt = 0
-
- Select count(*)
- Into :cnt
- From uv_materiel_willfinish_buytask
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then cnt = 0
-
- If cnt > 0 Then
- rslt = 0
- arg_msg = '物料有有采购未到货数,不能设为无效(停产),只能设为待停产'
- Goto ext
- End If
-
- cnt = 0
-
- Select count(*)
- Into :cnt
- From uv_materiel_willfinish_wfjg
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then cnt = 0
-
- If cnt > 0 Then
- rslt = 0
- arg_msg = '物料有有外协未到货数,不能设为无效(停产),只能设为待停产'
- Goto ext
- End If
- End If
- If arg_s_mtrl.mtrlid = 0 Then
- ll_mtrlid = f_sys_scidentity(0,"u_mtrldef","mtrlid",arg_msg,True,id_sqlca)
- If ll_mtrlid <= 0 Then
- rslt = 0
- Goto ext
- End If
-
- Insert Into u_mtrldef
- (mtrlid,
- mtrlcode,
- mtrlname,
- mtrltype,
- mtrlsectype,
- mtrlmode,
- Mtrlorigin,
- unit,
- lspacklimit,
- LMsaleprice,
- lmbuyprice,
- dscrp,
- MaxQTY,
- MinQTY,
- isuse,
- packqty,
- prdpackcode,
- opdate,
- opemp,
- mtrltypeid,
- handtype,
- barcode,
- mtrlkind,
- net_weight,
- gross_weight,
- cubage,
- mtrlengname,
- zxmtrlmode,
- unit_scll,
- unit_buy,
- rate_buy,
- rate_scll,
- rate_sale,
- unit_sale,
- scllflag,
- dftwrkGrpid,
- orderdays,
- buydays,
- wfjgdays,
- ifselforder,
- minbuyqty,
- aheaddays,
- mprice,
- dftsptid,
- scid,
- ifscid,
- mtrlprp,
- uprate,
- upqty,
- ordertype,
- statusflag,
- statustype,
- woodcodeflag,
- woodcodetype,
- pcodeflag,
- pcodetype,
- mtrlarea,
- mtrlarea1,
- mtrlarea2,
- configcode,
- configname,
- ifpack,
- ifpackpro,
- autoinstall,
- iflimitprice,
- mtrlcolor,
- configcodetype,
- ifautodd,
- iflljg,
- ifunit,
- ifpackpz,
- ifpacktype,
- scllrate,
- cmpqty,
- usermtrlmode,
- storagetype,
- ifmtrlcuscode,
- mrptype,
- mrparg,
- updownprice,
- outtype,
- ifpricepack,
- gydscrp,
- downrate,
- ifcustom,
- buyunit,
- wfjgunit,
- scllunit,
- saleunit,
- buydec,
- wfjgdec,
- sclldec,
- saledec,
- issuliao,
- ifenough,
- capacity,
- expday,
- capaparm,
- sctaskqty,
- minarg,
- maxarg,
- status_check,
- woodcode_check,
- pcode_check,
- maxdays,
- mindays,
- ifmrppackpf,
- maxzjday,
- eoq,
- splitrate,
- mrp_unit,
- rebuytype,
- rebuylot,
- ifsendlot,
- upddrate,
- upddqty,
- upsalerate,
- upsaleqty,
- ifusedeliqty,
- status_config,
- woodcode_config,
- pcode_config,
- pricepztype,
- useday,
- equiptype,
- ifpackpro2,
- ifkl,
- ifturn,
- iffp,
- scllqty,
- piccode,
- dftscllwkpid,
- if_hourpay,
- ifmrp,
- if_inherit,
- groupstr,
- groupday,
- aps_capacity_type,
- ifcheck,
- checkrate,
- scllplan_mode,
- chkpassrate,
- dftcusid,
- simplename,
- sendtype,
- mb_mtrlid,
- buy_ceiling,
- wfjg_ceiling,
- scll_ceiling,
- sale_ceiling,
- material,
- adddec,
- ifbarcodefp,
- stoppqty,
- buy_autoday,
- upbuyrate,
- upbuyqty,
- ifrebuypack,
- protype,
- buydays_bx,
- wfjgdays_bx,
- multqty,
- buyer,
- multtype,
- bantype,
- midu,
- BalcCmplNotUpdate,
- status_spc,
- woodcode_spc,
- pcode_spc)
- Values(:ll_mtrlid,
- :arg_s_mtrl.mtrlcode,
- :arg_s_mtrl.mtrlname,
- :ls_mtrltype,
- :arg_s_mtrl.mtrlsectype,
- :arg_s_mtrl.mtrlmode,
- :arg_s_mtrl.Mtrlorigin,
- :arg_s_mtrl.unit,
- :arg_s_mtrl.lspacklimit,
- :arg_s_mtrl.LMsaleprice,
- :arg_s_mtrl.lmbuyprice,
- :arg_s_mtrl.dscrp,
- :arg_s_mtrl.MaxQTY,
- :arg_s_mtrl.MinQTY,
- :arg_s_mtrl.isuse,
- :arg_s_mtrl.packqty,
- :arg_s_mtrl.prdpackcode,
- getdate(),
- :arg_opemp,
- :arg_s_mtrl.mtrltypeid,
- :ls_handtype,
- :arg_s_mtrl.barcode,
- :arg_s_mtrl.mtrlkind,
- :arg_s_mtrl.net_weight,
- :arg_s_mtrl.gross_weight,
- :arg_s_mtrl.cubage,
- :arg_s_mtrl.mtrlengname,
- :arg_s_mtrl.zxmtrlmode,
- :arg_s_mtrl.unit_scll,
- :arg_s_mtrl.unit_buy,
- :arg_s_mtrl.rate_buy,
- :arg_s_mtrl.rate_scll,
- :arg_s_mtrl.rate_sale,
- :arg_s_mtrl.unit_sale,
- :arg_s_mtrl.scllflag,
- :arg_s_mtrl.dftwrkGrpid,
- :arg_s_mtrl.orderdays,
- :arg_s_mtrl.buydays,
- :arg_s_mtrl.wfjgdays,
- :arg_s_mtrl.ifselforder,
- :arg_s_mtrl.minbuyqty,
- :arg_s_mtrl.aheaddays,
- :arg_s_mtrl.mprice,
- :arg_s_mtrl.dftsptid,
- :arg_s_mtrl.scid,
- :arg_s_mtrl.ifscid,
- :arg_s_mtrl.mtrlprp,
- :arg_s_mtrl.uprate,
- :arg_s_mtrl.upqty,
- :arg_s_mtrl.ordertype,
- :arg_s_mtrl.statusflag,
- :arg_s_mtrl.statustype,
- :arg_s_mtrl.woodcodeflag,
- :arg_s_mtrl.woodcodetype,
- :arg_s_mtrl.pcodeflag,
- :arg_s_mtrl.pcodetype,
- :arg_s_mtrl.mtrlarea,
- :arg_s_mtrl.mtrlarea1,
- :arg_s_mtrl.mtrlarea2,
- :arg_s_mtrl.configcode,
- :arg_s_mtrl.configname,
- :arg_s_mtrl.ifpack,
- :arg_s_mtrl.ifpackpro,
- :arg_s_mtrl.autoinstall,
- :arg_s_mtrl.iflimitprice,
- :arg_s_mtrl.mtrlcolor,
- :arg_s_mtrl.configcodetype,
- :arg_s_mtrl.ifautodd,
- :arg_s_mtrl.iflljg,
- :arg_s_mtrl.ifunit,
- :arg_s_mtrl.ifpackpz,
- :arg_s_mtrl.ifpacktype,
- :arg_s_mtrl.scllrate,
- :arg_s_mtrl.cmpqty,
- :arg_s_mtrl.usermtrlmode,
- :arg_s_mtrl.storagetype,
- :arg_s_mtrl.ifmtrlcuscode,
- :arg_s_mtrl.mrptype,
- :arg_s_mtrl.mrparg,
- :arg_s_mtrl.updownprice,
- :arg_s_mtrl.outtype,
- :arg_s_mtrl.ifpricepack,
- :arg_s_mtrl.gydscrp,
- :arg_s_mtrl.downrate,
- :arg_s_mtrl.ifcustom,
- :arg_s_mtrl.buyunit,
- :arg_s_mtrl.wfjgunit,
- :arg_s_mtrl.scllunit,
- :arg_s_mtrl.saleunit,
- :arg_s_mtrl.buydec,
- :arg_s_mtrl.wfjgdec,
- :arg_s_mtrl.sclldec,
- :arg_s_mtrl.saledec,
- :arg_s_mtrl.issuliao,
- :arg_s_mtrl.ifenough,
- :arg_s_mtrl.capacity,
- :arg_s_mtrl.expday,
- :arg_s_mtrl.capaparm,
- :arg_s_mtrl.sctaskqty,
- :arg_s_mtrl.minarg,
- :arg_s_mtrl.maxarg,
- :arg_s_mtrl.status_check,
- :arg_s_mtrl.woodcode_check,
- :arg_s_mtrl.pcode_check,
- :arg_s_mtrl.maxdays,
- :arg_s_mtrl.mindays,
- :arg_s_mtrl.ifmrppackpf,
- :arg_s_mtrl.maxzjday,
- :arg_s_mtrl.eoq,
- :arg_s_mtrl.splitrate,
- :arg_s_mtrl.mrp_unit,
- :arg_s_mtrl.rebuytype,
- :arg_s_mtrl.rebuylot,
- :arg_s_mtrl.ifsendlot,
- :arg_s_mtrl.upddrate,
- :arg_s_mtrl.upddqty,
- :arg_s_mtrl.upsalerate,
- :arg_s_mtrl.upsaleqty,
- :arg_s_mtrl.ifusedeliqty,
- :arg_s_mtrl.status_config,
- :arg_s_mtrl.woodcode_config,
- :arg_s_mtrl.pcode_config,
- :arg_s_mtrl.pricepztype,
- :arg_s_mtrl.useday,
- :arg_s_mtrl.equiptype,
- :arg_s_mtrl.ifpackpro2,
- :arg_s_mtrl.ifkl,
- :arg_s_mtrl.ifturn,
- :arg_s_mtrl.iffp,
- :arg_s_mtrl.scllqty,
- :arg_s_mtrl.piccode,
- :arg_s_mtrl.dftscllwkpid,
- :arg_s_mtrl.if_hourpay,
- :arg_s_mtrl.ifmrp,
- :arg_s_mtrl.if_inherit,
- :arg_s_mtrl.groupstr,
- :arg_s_mtrl.groupday,
- :arg_s_mtrl.aps_capacity_type,
- :arg_s_mtrl.ifcheck,
- :arg_s_mtrl.checkrate,
- :arg_s_mtrl.scllplan_mode,
- :arg_s_mtrl.chkpassrate,
- :arg_s_mtrl.dftcusid,
- :arg_s_mtrl.simplename,
- :arg_s_mtrl.sendtype,
- :arg_s_mtrl.mb_mtrlid,
- :arg_s_mtrl.buy_ceiling,
- :arg_s_mtrl.wfjg_ceiling,
- :arg_s_mtrl.scll_ceiling,
- :arg_s_mtrl.sale_ceiling,
- :arg_s_mtrl.material,
- :arg_s_mtrl.adddec,
- :arg_s_mtrl.ifbarcodefp,
- :arg_s_mtrl.stoppqty,
- :arg_s_mtrl.buy_autoday,
- :arg_s_mtrl.upbuyrate,
- :arg_s_mtrl.upbuyqty,
- :arg_s_mtrl.ifrebuypack,
- :arg_s_mtrl.protype,
- :arg_s_mtrl.buydays_bx,
- :arg_s_mtrl.wfjgdays_bx,
- :arg_s_mtrl.multqty,
- :arg_s_mtrl.buyer,
- :arg_s_mtrl.multtype,
- :arg_s_mtrl.bantype,
- :arg_s_mtrl.midu,
- :arg_s_mtrl.BalcCmplNotUpdate,
- :arg_s_mtrl.status_spc,
- :arg_s_mtrl.woodcode_spc,
- :arg_s_mtrl.pcode_spc);
- If sqlca.SQLCode <> 0 Then
- arg_msg = '建立物料资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
- Update u_mtrldef_planprice
- Set planprice = 0
- Where mtrlid = :ll_mtrlid;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
-
- Insert Into u_mtrldef_planprice
- (mtrlid,planprice)
- Values
- (:ll_mtrlid,0);
- If sqlca.SQLCode <> 0 Then
- arg_msg = '建立物料计划成本价资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- End If
- End If
-
- uo_mtrlid = ll_mtrlid
- Else
- Update u_mtrldef
- Set mtrlcode = :arg_s_mtrl.mtrlcode,
- mtrlname = :arg_s_mtrl.mtrlname,
- mtrltype = :ls_mtrltype,
- mtrlsectype = :arg_s_mtrl.mtrlsectype,
- mtrlmode = :arg_s_mtrl.mtrlmode,
- Mtrlorigin = :arg_s_mtrl.Mtrlorigin,
- unit = :arg_s_mtrl.unit,
- lspacklimit = :arg_s_mtrl.lspacklimit,
- LMsaleprice = :arg_s_mtrl.LMsaleprice,
- lmbuyprice = :arg_s_mtrl.lmbuyprice,
- dscrp = :arg_s_mtrl.dscrp,
- MaxQTY = :arg_s_mtrl.MaxQTY,
- MinQTY = :arg_s_mtrl.MinQTY,
- isuse = :arg_s_mtrl.isuse,
- packqty = :arg_s_mtrl.packqty,
- prdpackcode = :arg_s_mtrl.prdpackcode,
- mtrltypeid = :arg_s_mtrl.mtrltypeid,
- handtype = :ls_handtype,
- barcode = :arg_s_mtrl.barcode,
- mtrlkind = :arg_s_mtrl.mtrlkind,
- net_weight = :arg_s_mtrl.net_weight,
- gross_weight = :arg_s_mtrl.gross_weight,
- cubage = :arg_s_mtrl.cubage,
- mtrlengname = :arg_s_mtrl.mtrlengname,
- zxmtrlmode = :arg_s_mtrl.zxmtrlmode,
- unit_scll = :arg_s_mtrl.unit_scll,
- unit_buy = :arg_s_mtrl.unit_buy,
- rate_buy = :arg_s_mtrl.rate_buy,
- rate_scll = :arg_s_mtrl.rate_scll,
- rate_sale = :arg_s_mtrl.rate_sale,
- unit_sale = :arg_s_mtrl.unit_sale,
- scllflag = :arg_s_mtrl.scllflag,
- dftwrkGrpid = :arg_s_mtrl.dftwrkGrpid,
- orderdays = :arg_s_mtrl.orderdays,
- buydays = :arg_s_mtrl.buydays,
- wfjgdays = :arg_s_mtrl.wfjgdays,
- ifselforder = :arg_s_mtrl.ifselforder,
- minbuyqty = :arg_s_mtrl.minbuyqty,
- aheaddays = :arg_s_mtrl.aheaddays,
- mprice = :arg_s_mtrl.mprice,
- dftsptid = :arg_s_mtrl.dftsptid,
- scid = :arg_s_mtrl.scid,
- ifscid = :arg_s_mtrl.ifscid,
- mtrlprp = :arg_s_mtrl.mtrlprp,
- moddate = getdate(),
- modemp = :arg_opemp,
- uprate = :arg_s_mtrl.uprate,
- upqty = :arg_s_mtrl.upqty,
- ordertype = :arg_s_mtrl.ordertype,
- statusflag = :arg_s_mtrl.statusflag,
- statustype = :arg_s_mtrl.statustype,
- woodcodeflag = :arg_s_mtrl.woodcodeflag,
- woodcodetype = :arg_s_mtrl.woodcodetype,
- pcodeflag = :arg_s_mtrl.pcodeflag,
- pcodetype = :arg_s_mtrl.pcodetype,
- mtrlarea = :arg_s_mtrl.mtrlarea,
- mtrlarea1 = :arg_s_mtrl.mtrlarea1,
- mtrlarea2 = :arg_s_mtrl.mtrlarea2,
- configcode = :arg_s_mtrl.configcode,
- configname = :arg_s_mtrl.configname,
- ifpack = :arg_s_mtrl.ifpack,
- ifpackpro = :arg_s_mtrl.ifpackpro,
- autoinstall = :arg_s_mtrl.autoinstall,
- iflimitprice = :arg_s_mtrl.iflimitprice,
- mtrlcolor = :arg_s_mtrl.mtrlcolor,
- configcodetype = :arg_s_mtrl.configcodetype,
- ifautodd = :arg_s_mtrl.ifautodd,
- iflljg = :arg_s_mtrl.iflljg,
- ifunit = :arg_s_mtrl.ifunit,
- ifpackpz = :arg_s_mtrl.ifpackpz,
- ifpacktype = :arg_s_mtrl.ifpacktype,
- scllrate = :arg_s_mtrl.scllrate,
- cmpqty = :arg_s_mtrl.cmpqty,
- usermtrlmode = :arg_s_mtrl.usermtrlmode,
- storagetype = :arg_s_mtrl.storagetype,
- ifmtrlcuscode = :arg_s_mtrl.ifmtrlcuscode,
- mrptype = :arg_s_mtrl.mrptype,
- mrparg = :arg_s_mtrl.mrparg,
- updownprice = :arg_s_mtrl.updownprice,
- outtype = :arg_s_mtrl.outtype,
- ifpricepack = :arg_s_mtrl.ifpricepack,
- gydscrp = :arg_s_mtrl.gydscrp,
- downrate = :arg_s_mtrl.downrate,
- ifcustom = :arg_s_mtrl.ifcustom,
- buyunit = :arg_s_mtrl.buyunit,
- wfjgunit = :arg_s_mtrl.wfjgunit,
- scllunit = :arg_s_mtrl.scllunit,
- saleunit = :arg_s_mtrl.saleunit,
- buydec = :arg_s_mtrl.buydec,
- wfjgdec = :arg_s_mtrl.wfjgdec,
- sclldec = :arg_s_mtrl.sclldec,
- saledec = :arg_s_mtrl.saledec,
- issuliao = :arg_s_mtrl.issuliao,
- ifenough = :arg_s_mtrl.ifenough,
- capacity = :arg_s_mtrl.capacity,
- expday = :arg_s_mtrl.expday,
- capaparm = :arg_s_mtrl.capaparm,
- sctaskqty = :arg_s_mtrl.sctaskqty,
- minarg = :arg_s_mtrl.minarg,
- maxarg = :arg_s_mtrl.maxarg,
- status_check = :arg_s_mtrl.status_check,
- woodcode_check = :arg_s_mtrl.woodcode_check,
- pcode_check = :arg_s_mtrl.pcode_check,
- maxdays = :arg_s_mtrl.maxdays,
- mindays = :arg_s_mtrl.mindays,
- ifmrppackpf = :arg_s_mtrl.ifmrppackpf,
- maxzjday = :arg_s_mtrl.maxzjday,
- eoq = :arg_s_mtrl.eoq,
- splitrate = :arg_s_mtrl.splitrate,
- mrp_unit = :arg_s_mtrl.mrp_unit,
- rebuytype = :arg_s_mtrl.rebuytype,
- rebuylot = :arg_s_mtrl.rebuylot,
- ifsendlot = :arg_s_mtrl.ifsendlot,
- upddrate = :arg_s_mtrl.upddrate,
- upddqty = :arg_s_mtrl.upddqty,
- upsalerate = :arg_s_mtrl.upsalerate,
- upsaleqty = :arg_s_mtrl.upsaleqty,
- ifusedeliqty = :arg_s_mtrl.ifusedeliqty,
- status_config = :arg_s_mtrl.status_config,
- woodcode_config = :arg_s_mtrl.woodcode_config,
- pcode_config = :arg_s_mtrl.pcode_config,
- pricepztype = :arg_s_mtrl.pricepztype,
- useday = :arg_s_mtrl.useday,
- equiptype = :arg_s_mtrl.equiptype,
- ifpackpro2 = :arg_s_mtrl.ifpackpro2,
- ifkl = :arg_s_mtrl.ifkl,
- ifturn = :arg_s_mtrl.ifturn,
- iffp = :arg_s_mtrl.iffp,
- scllqty = :arg_s_mtrl.scllqty,
- piccode = :arg_s_mtrl.piccode,
- dftscllwkpid = :arg_s_mtrl.dftscllwkpid,
- if_hourpay = :arg_s_mtrl.if_hourpay,
- ifmrp = :arg_s_mtrl.ifmrp,
- if_inherit = :arg_s_mtrl.if_inherit,
- groupstr = :arg_s_mtrl.groupstr,
- groupday = :arg_s_mtrl.groupday,
- aps_capacity_type = :arg_s_mtrl.aps_capacity_type,
- ifcheck = :arg_s_mtrl.ifcheck,
- checkrate = :arg_s_mtrl.checkrate,
- scllplan_mode = :arg_s_mtrl.scllplan_mode,
- chkpassrate = :arg_s_mtrl.chkpassrate,
- dftcusid = :arg_s_mtrl.dftcusid,
- simplename = :arg_s_mtrl.simplename,
- sendtype = :arg_s_mtrl.sendtype,
- mb_mtrlid = :arg_s_mtrl.mb_mtrlid,
- buy_ceiling = :arg_s_mtrl.buy_ceiling,
- wfjg_ceiling = :arg_s_mtrl.wfjg_ceiling,
- scll_ceiling = :arg_s_mtrl.scll_ceiling,
- sale_ceiling = :arg_s_mtrl.sale_ceiling,
- material = :arg_s_mtrl.material,
- adddec = :arg_s_mtrl.adddec,
- ifbarcodefp = :arg_s_mtrl.ifbarcodefp,
- stoppqty = :arg_s_mtrl.stoppqty,
- buy_autoday = :arg_s_mtrl.buy_autoday,
- upbuyrate = :arg_s_mtrl.upbuyrate,
- upbuyqty = :arg_s_mtrl.upbuyqty,
- ifrebuypack = :arg_s_mtrl.ifrebuypack,
- protype = :arg_s_mtrl.protype,
- buydays_bx = :arg_s_mtrl.buydays_bx,
- wfjgdays_bx = :arg_s_mtrl.wfjgdays_bx,
- multqty = :arg_s_mtrl.multqty ,
- buyer = :arg_s_mtrl.buyer,
- multtype = :arg_s_mtrl.multtype,
- bantype = :arg_s_mtrl.bantype,
- midu = :arg_s_mtrl.midu,
- BalcCmplNotUpdate = :arg_s_mtrl.BalcCmplNotUpdate,
- status_spc = :arg_s_mtrl.status_spc,
- woodcode_spc = :arg_s_mtrl.woodcode_spc,
- pcode_spc = :arg_s_mtrl.pcode_spc
- Where mtrlid = :arg_s_mtrl.mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '更新物料资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
- uo_mtrlid = arg_s_mtrl.mtrlid
- End If
- If uo_option_use_suliao = 1 And arg_s_mtrl.issuliao = 1 Then
- If uof_skmtrl_add(uo_mtrlid,arg_s_mtrl.skmtrlid,arg_s_mtrl.period,arg_msg,False) = 0 Then
- rslt = 0
- Goto ext
- End If
- End If
- //增加检查,如果系部件选配,设置了默认值,且分类唯一应用在当前物料,更新部件选配默认值的标准标记
- IF uof_update_ppqty(uo_mtrlid,arg_s_mtrl, arg_msg) = 0 THEN
- rslt = 0
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_update_ban (long arg_mtrlid, s_mtrldef_ban arg_s_ban, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- If arg_mtrlid <= 0 Then
- rslt = 0
- arg_msg = '不合理的物料ID'
- Goto ext
- End If
- If IsNull(arg_s_ban.promode) Then arg_s_ban.promode = ''
- If IsNull(arg_s_ban.wenli) Then arg_s_ban.wenli = ''
- If IsNull(arg_s_ban.fengbian) Then arg_s_ban.fengbian = ''
- If IsNull(arg_s_ban.paikong) Then arg_s_ban.paikong = ''
- If IsNull(arg_s_ban.luoji) Then arg_s_ban.luoji = ''
- If IsNull(arg_s_ban.penyou) Then arg_s_ban.penyou = ''
- If IsNull(arg_s_ban.gydscrp) Then arg_s_ban.gydscrp = ''
- If IsNull(arg_s_ban.direction) Then arg_s_ban.direction = 0
- If IsNull(arg_s_ban.pfklmode) Then arg_s_ban.pfklmode = ''
- Update u_mtrldef_ban
- Set promode = :arg_s_ban.promode,
- wenli = :arg_s_ban.wenli,
- fengbian = :arg_s_ban.fengbian,
- paikong = :arg_s_ban.paikong,
- luoji = :arg_s_ban.luoji,
- penyou = :arg_s_ban.penyou,
- gydscrp = :arg_s_ban.gydscrp,
- direction = :arg_s_ban.direction,
- pfklmode = :arg_s_ban.pfklmode
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- Insert Into u_mtrldef_ban
- (mtrlid,
- promode,
- wenli,
- fengbian,
- paikong,
- luoji,
- penyou,
- gydscrp,
- direction,
- pfklmode)
- Values (:arg_mtrlid,
- :arg_s_ban.promode,
- :arg_s_ban.wenli,
- :arg_s_ban.fengbian,
- :arg_s_ban.paikong,
- :arg_s_ban.luoji,
- :arg_s_ban.penyou,
- :arg_s_ban.gydscrp,
- :arg_s_ban.direction,
- :arg_s_ban.pfklmode);
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '插入物料板件信息失败,'+sqlca.SQLErrText
- Goto ext
- End If
- End If
- Else
- rslt = 0
- arg_msg = '更新物料板件信息失败,'+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_update_ppqty (long arg_mtrlid, s_mtrldef arg_s_mtrl, ref string arg_msg);//更新相应部件选配类型的匹配数量(ppqty)
- Long rslt = 1
- //If arg_s_mtrl.statusflag = 1 And arg_s_mtrl.statustype = 0 Then
- // arg_msg = uo_option_change_status+' 类型为严格选择,必须选定一个待选类别'
- // rslt = 0
- // Goto ext
- //End If
- //
- //If arg_s_mtrl.woodcodeflag = 1 And arg_s_mtrl.woodcodetype = 0 Then
- // arg_msg = uo_option_change_woodcode+' 类型为严格选择,必须选定一个待选类别'
- // rslt = 0
- // Goto ext
- //End If
- //
- //If arg_s_mtrl.pcodeflag = 1 And arg_s_mtrl.pcodetype = 0 Then
- // arg_msg = uo_option_change_pcode+' 类型为严格选择,必须选定一个待选类别'
- // rslt = 0
- // Goto ext
- //End If
- //
- IF uof_update_pzdftflag(arg_s_mtrl.statusflag, arg_s_mtrl.statustype, arg_s_mtrl.status_config, arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF uof_update_pzdftflag(arg_s_mtrl.woodcodeflag, arg_s_mtrl.woodcodetype, arg_s_mtrl.woodcode_config, arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF uof_update_pzdftflag(arg_s_mtrl.pcodeflag, arg_s_mtrl.pcodetype, arg_s_mtrl.pcode_config, arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer uof_update_pzdftflag (long arg_flag, long arg_typeid, string arg_config, ref string arg_msg);Int rslt = 1
- Long i, ll_start, ll_i, cnt
- String ls_name[], ls_namemx[]
- Long ll_printid
- IF arg_flag = 4 THEN
- SELECT cnt
- INTO :cnt
- FROM uv_configure_type_ppqty
- Where pzid = :arg_typeid;
- IF sqlca.SQLCode <> 0 THEN
- cnt = 0
- END IF
-
- IF cnt = 1 And arg_config <> '' THEN
- //更新标准标记
- IF Right(arg_config,1) <> "|" THEN
- arg_config += "|"
- END IF
-
- i = 0
- ll_start = Pos(arg_config, "|")
- DO WHILE ll_start > 0 And arg_config <> "|"
- i++
- ls_name[i] = Left(arg_config, Pos(arg_config,":") - 1)
- ls_namemx[i] = Left(arg_config, ll_start - 1)
- ls_namemx[i] = Mid(ls_namemx[i],Pos(ls_namemx[i],':') + 1)
- arg_config = Mid(arg_config, ll_start + 1)
- ll_start = Pos(arg_config, "|")
- LOOP
-
-
- FOR ll_i = 1 To UpperBound(ls_name)
-
- UPDATE u_configure_codemx
- SET ifdft = 1
- FROM u_configure_code INNER JOIN
- u_configure_codemx ON u_configure_code.pzid = u_configure_codemx.pzid
- WHERE u_configure_code.typeid = :arg_typeid
- AND u_configure_code.name = :ls_name[ll_i]
- And u_configure_codemx.namemx = :ls_namemx[ll_i];
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更新配置标准值失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- NEXT
-
- ELSE
- //取消标准标记
- UPDATE u_configure_codemx
- SET ifdft = 0
- FROM u_configure_code INNER JOIN
- u_configure_codemx ON u_configure_code.pzid = u_configure_codemx.pzid
- Where u_configure_code.typeid = :arg_typeid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "取消配置标准值失败,"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- //rollback;
- ELSE
-
- END IF
- RETURN rslt
- end function
- public function integer uof_get_pztype (integer arg_type, string arg_pzname, ref long arg_pzid, ref string arg_msg);Int rslt = 1
- Long ll_cnt
- Long ll_newid
- IF arg_type = 1 THEN
- SELECT count(*)
- INTO :ll_cnt
- FROM u_pztype_def
- Where typename = :arg_pzname;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询新配置类型名称是否重复失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- IF ll_cnt > 0 THEN
- SELECT typeid
- INTO :ll_newid
- FROM u_pztype_def
- Where typename = :arg_pzname;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询新配置类型名称失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- //arg_pzid = ll_newid
- //RETURN 1
- END IF
-
- IF ll_newid = 0 THEN
- ll_newid = f_sys_scidentity(0,"u_pztype_def","typeid",arg_msg,True,id_sqlca)
- IF ll_newid <= 0 THEN
- arg_msg = '获取新ID失败,'+arg_msg
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_pztype_def
- (typeid, typename)
- Values ( :ll_newid, :arg_pzname);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '新建严格选择配置类型:'+arg_pzname+'失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- ELSE
- SELECT count(*)
- INTO :ll_cnt
- FROM u_configure_type
- Where contfigtypename = :arg_pzname;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询新部件选配类型名称是否重复失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- IF ll_cnt > 0 THEN
- SELECT contfigtypeid
- INTO :ll_newid
- FROM u_configure_type
- Where contfigtypename = :arg_pzname;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询新部件选配类型名称失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- // arg_pzid = ll_newid
- // RETURN 1
- END IF
-
- IF ll_newid = 0 THEN
- ll_newid = f_sys_scidentity(0,"u_configure_type","contfigtypeid",arg_msg,True,id_sqlca)
- IF ll_newid <= 0 THEN
- arg_msg = '获取新ID失败,'+arg_msg
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_configure_type
- (contfigtypeid, contfigtypename)
- Values ( :ll_newid, :arg_pzname);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '新建部件选配类型:'+arg_pzname+'失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- END IF
- arg_pzid = ll_newid
- ext:
- RETURN rslt
- end function
- on uo_mtrldef.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_mtrldef.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
- event constructor;String str_optionvalue,arg_msg
- f_get_sys_option_value('159',str_optionvalue,arg_msg)
- uo_option_use_suliao = Long(str_optionvalue)
- f_get_sys_option_value('170',str_optionvalue,arg_msg)
- uo_option_use_machining_ll = Long(str_optionvalue)
- f_get_sys_option_value('029',str_optionvalue,arg_msg)
- uo_option_change_status = str_optionvalue
- f_get_sys_option_value('027',str_optionvalue,arg_msg)
- uo_option_change_woodcode = str_optionvalue
- f_get_sys_option_value('028',str_optionvalue,arg_msg)
- uo_option_change_pcode = str_optionvalue
- f_get_sys_option_value('142',str_optionvalue,arg_msg)
- uo_option_inout_type = Long(str_optionvalue)
- end event
|