123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819 |
- $PBExportHeader$w_mtrldef_prdpf_padd.srw
- forward
- global type w_mtrldef_prdpf_padd from w_publ_base
- end type
- type dw_1 from u_dw_rbtnfilter within w_mtrldef_prdpf_padd
- end type
- type st_2 from statictext within w_mtrldef_prdpf_padd
- end type
- type st_mtrl from statictext within w_mtrldef_prdpf_padd
- end type
- type cb_mod_bcp from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_save_bcp from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_other_bom from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_save from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type st_1 from statictext within w_mtrldef_prdpf_padd
- end type
- type st_mtrl_pf from statictext within w_mtrldef_prdpf_padd
- end type
- type cb_delmx from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type mle_log from multilineedit within w_mtrldef_prdpf_padd
- end type
- type dw_2 from u_dw_rbtnfilter within w_mtrldef_prdpf_padd
- end type
- type cb_addmx_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_delmx_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_save_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_edit_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type dw_copy from datawindow within w_mtrldef_prdpf_padd
- end type
- type cb_cmpl_pfklmode from commandbutton within w_mtrldef_prdpf_padd
- end type
- type st_arg from statictext within w_mtrldef_prdpf_padd
- end type
- type em_arg from editmask within w_mtrldef_prdpf_padd
- end type
- type cbx_cmp_qty from checkbox within w_mtrldef_prdpf_padd
- end type
- type cb_re_mtrl from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cbx_pfgroup from checkbox within w_mtrldef_prdpf_padd
- end type
- type cb_import from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_1 from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_moban from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_change from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_print from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cbx_save_close from checkbox within w_mtrldef_prdpf_padd
- end type
- type rb_1 from radiobutton within w_mtrldef_prdpf_padd
- end type
- type rb_2 from radiobutton within w_mtrldef_prdpf_padd
- end type
- type dw_3 from u_dw_rbtnfilter within w_mtrldef_prdpf_padd
- end type
- type dw_copy_wkp from datawindow within w_mtrldef_prdpf_padd
- end type
- type dw_copy_main from datawindow within w_mtrldef_prdpf_padd
- end type
- type cb_copy_paste from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_bom from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_tmp_save from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_tmp_read from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_templet_ch from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type dw_buffer from datawindow within w_mtrldef_prdpf_padd
- end type
- type cb_pack from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_all_ch from commandbutton within w_mtrldef_prdpf_padd
- end type
- type cb_fan_ch from commandbutton within w_mtrldef_prdpf_padd
- end type
- type cbx_ifreset from checkbox within w_mtrldef_prdpf_padd
- end type
- type cb_autocode from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cbx_wp_pack from checkbox within w_mtrldef_prdpf_padd
- end type
- type cb_2 from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cb_fj_edit from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type cbx_wp_add from checkbox within w_mtrldef_prdpf_padd
- end type
- type cb_old_to_new from commandbutton within w_mtrldef_prdpf_padd
- end type
- type cb_add_mtrl from uo_imflatbutton within w_mtrldef_prdpf_padd
- end type
- type ln_bar from line within w_mtrldef_prdpf_padd
- end type
- type ln_bar2 from line within w_mtrldef_prdpf_padd
- end type
- type r_bar from rectangle within w_mtrldef_prdpf_padd
- end type
- type ln_7 from line within w_mtrldef_prdpf_padd
- end type
- type ln_8 from line within w_mtrldef_prdpf_padd
- end type
- type ln_1 from line within w_mtrldef_prdpf_padd
- end type
- type ln_2 from line within w_mtrldef_prdpf_padd
- end type
- type ln_3 from line within w_mtrldef_prdpf_padd
- end type
- type ln_4 from line within w_mtrldef_prdpf_padd
- end type
- type ln_5 from line within w_mtrldef_prdpf_padd
- end type
- type ln_6 from line within w_mtrldef_prdpf_padd
- end type
- type ln_9 from line within w_mtrldef_prdpf_padd
- end type
- type ln_10 from line within w_mtrldef_prdpf_padd
- end type
- type ln_11 from line within w_mtrldef_prdpf_padd
- end type
- type ln_12 from line within w_mtrldef_prdpf_padd
- end type
- end forward
- global type w_mtrldef_prdpf_padd from w_publ_base
- integer width = 5879
- integer height = 2396
- string title = "物料清单辅助建立"
- boolean maxbox = true
- windowstate windowstate = maximized!
- boolean clientedge = true
- event ue_retrieve_workprice ( )
- event ue_wp_status ( )
- event ue_wp_procode ( )
- event ue_cmp_pfklmode ( )
- event ue_cmp_pfgroupmode ( )
- event ue_allowedit ( )
- event ue_import_xls ( )
- event ue_import_xls_2 ( )
- event ue_import_xls_3 ( )
- event user_key ( )
- event ue_add_same ( )
- event ue_add_next ( )
- event ue_viewprint_dy ( )
- event ue_viewprint_gy ( )
- event ue_viewprint_tree ( )
- event ue_viewprint_yl ( )
- event ue_viewprint_yl_wrk ( )
- event ue_retrieve_wkp ( )
- event ue_gydscrp ( )
- event ue_copy_mx ( )
- event ue_paste_mx ( )
- event ue_copy_mx_this ( )
- event ue_paste_mx_same ( )
- event ue_templet_ch ( )
- event ue_wp_u_workqtystr ( )
- event ue_wp_workqtystr ( )
- event ue_wp_u_pricestr ( )
- event ue_wp_pricestr ( )
- event ue_import_xls_4 ( )
- event ue_import_xls_5 ( )
- event ue_import_xls_6 ( )
- event ue_cmp_packinfo ( )
- event ue_old_to_new ( )
- event ue_import_xls_7 ( )
- event ue_del_ch ( )
- event ue_del_this ( )
- event ue_add_up ( )
- dw_1 dw_1
- st_2 st_2
- st_mtrl st_mtrl
- cb_mod_bcp cb_mod_bcp
- cb_save_bcp cb_save_bcp
- cb_other_bom cb_other_bom
- cb_save cb_save
- st_1 st_1
- st_mtrl_pf st_mtrl_pf
- cb_delmx cb_delmx
- mle_log mle_log
- dw_2 dw_2
- cb_addmx_wp cb_addmx_wp
- cb_delmx_wp cb_delmx_wp
- cb_save_wp cb_save_wp
- cb_edit_wp cb_edit_wp
- dw_copy dw_copy
- cb_cmpl_pfklmode cb_cmpl_pfklmode
- st_arg st_arg
- em_arg em_arg
- cbx_cmp_qty cbx_cmp_qty
- cb_re_mtrl cb_re_mtrl
- cbx_pfgroup cbx_pfgroup
- cb_import cb_import
- cb_1 cb_1
- cb_moban cb_moban
- cb_change cb_change
- cb_print cb_print
- cbx_save_close cbx_save_close
- rb_1 rb_1
- rb_2 rb_2
- dw_3 dw_3
- dw_copy_wkp dw_copy_wkp
- dw_copy_main dw_copy_main
- cb_copy_paste cb_copy_paste
- cb_bom cb_bom
- cb_tmp_save cb_tmp_save
- cb_tmp_read cb_tmp_read
- cb_templet_ch cb_templet_ch
- dw_buffer dw_buffer
- cb_pack cb_pack
- cb_all_ch cb_all_ch
- cb_fan_ch cb_fan_ch
- cbx_ifreset cbx_ifreset
- cb_autocode cb_autocode
- cbx_wp_pack cbx_wp_pack
- cb_2 cb_2
- cb_fj_edit cb_fj_edit
- cbx_wp_add cbx_wp_add
- cb_old_to_new cb_old_to_new
- cb_add_mtrl cb_add_mtrl
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- ln_7 ln_7
- ln_8 ln_8
- ln_1 ln_1
- ln_2 ln_2
- ln_3 ln_3
- ln_4 ln_4
- ln_5 ln_5
- ln_6 ln_6
- ln_9 ln_9
- ln_10 ln_10
- ln_11 ln_11
- ln_12 ln_12
- end type
- global w_mtrldef_prdpf_padd w_mtrldef_prdpf_padd
- type variables
- s_edit_index_tran s_tran
- Long ins_mtrlid,ins_mtrlid_pf
- String ins_pfdscrp
- String ins_pfcode
- String ins_mtrlcode,ins_mtrlname
- Boolean ins_ifmod = False
- Boolean ins_ifmod_wp = False
- String ins_mtrlcode_ori = ''
- String ins_mtrlname_ori = ''
- String ins_mtrlmode_ori = ''
- String ins_unit_ori = ''
- String ins_mtrlsectype_ori = ''
- String ins_zxmtrlmode_ori = ''
- String ins_usermtrlmode_ori = ''
- Long ins_mtrltypeid_ori = 0
- Long ins_scid_ori = 0
- Long ins_dftwrkgrpid_ori = 0
- Decimal ins_orderdays_ori = 0
- Decimal ins_buydays_ori = 0
- Decimal ins_wfjgdays_ori = 0
- String ins_mb_mtrlcode = ''
- uo_mtrldef uo_mtrl
- uo_mtrl_pf uo_pf
- uo_workpricetable u_wrkprice
- Long ins_cnt = 0
- Int ins_if_saletask
- Long ins_scid,ins_taskid,ins_printid
- Int ins_copy_type = 0 //复制类型 0 - 复制下级 1-复制本级及下级
- end variables
- forward prototypes
- public function integer wf_face ()
- public function integer wf_checkrand (ref string arg_msg)
- public function integer wf_save (ref string arg_msg)
- public function integer wf_addmx (long arg_mtrlid, string arg_pfcode, long arg_lp, decimal arg_qty, ref string arg_msg)
- public function integer wf_addmx_row (long arg_mtrlid, string arg_pfcode, long arg_lp, long arg_row, decimal arg_qty, ref string arg_msg)
- public function integer wf_face_wp ()
- public subroutine wf_re_mtrl (integer arg_if_addmx)
- public function integer wf_cmpprdpf (long arg_mtrlid, string arg_pfcode)
- public function integer wf_check_wkp (ref string arg_msg)
- public function integer wf_add_row (long arg_mtrlid, string arg_pfcode, long arg_lp, decimal arg_qty, ref string arg_msg, ref long arg_row)
- public function integer wf_add_row_null (string arg_mtrlname, long arg_lp, decimal arg_qty, ref string arg_msg, ref long arg_row)
- public function integer wf_auto_wp (boolean arg_ifwpadd, ref string arg_msg)
- public function integer wf_addmx_up (long arg_mtrlid, string arg_pfcode, long arg_pmtrlid, long arg_lp, long arg_row, ref string arg_msg)
- public function integer wf_addmx_next (long arg_mtrlid, string arg_pfcode, long arg_pmtrlid, long arg_lp, long arg_row, ref string arg_msg, decimal arg_qty, decimal arg_pfgroupqty)
- end prototypes
- event ue_retrieve_workprice();Long ll_row
- Long ll_mtrlid
- Long ll_dftwrkgrpid
- Long ll_i,ll_j,ll_row_copy
- String ls_mtrlcode
- Long ll_mb_mtrlid
- string ls_wpcode
- ll_j = 0
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- ll_dftwrkgrpid = 0
- ELSE
- ll_dftwrkgrpid = dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row]
- END IF
- //只显未产品默认制造车间相关的工组
- datawindowchild childdw
- dw_2.SetTransObject (sqlca)
- dw_2.GetChild("wrkgrpid",childdw)
- childdw.SetTransObject (sqlca)
- IF childdw.Retrieve(ll_dftwrkgrpid) = 0 THEN
- childdw.InsertRow(0)
- END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- IF ll_row <= 0 THEN
- dw_2.Reset()
- ELSE
- IF dw_1.Object.ifmod_wp[ll_row] = 0 THEN
- ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[ll_row]
- ll_mb_mtrlid = dw_1.Object.mb_mtrlid[ll_row]
-
- IF ll_mb_mtrlid > 0 THEN
- ls_wpcode = f_get_dft_wp(ll_mb_mtrlid)
- dw_2.Retrieve(ll_mb_mtrlid,ls_wpcode)
- ELSE
- ls_wpcode = f_get_dft_wp(ll_mtrlid)
- dw_2.Retrieve(ll_mtrlid,ls_wpcode)
- END IF
- ELSE
- dw_2.setredraw(false)
- dw_2.Reset()
- dw_copy.SetFilter("u_mtrldef_mtrlcode = '"+ls_mtrlcode + "'")
- dw_copy.Filter()
- FOR ll_i = 1 To dw_copy.RowCount()
- // ll_row_copy = dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode + "'", ll_i, ll_i)
- // IF ll_row_copy > 0 THEN
- // ll_j++
- dw_copy.RowsCopy (ll_i,ll_i,Primary!,dw_2,ll_i,Primary!)
- // END IF
- NEXT
- dw_2.setredraw(true)
- END IF
- END IF
- end event
- event ue_wp_status();IF NOT ins_ifmod_wp THEN RETURN
- Long uc_row,ll_mtrlid,child_row
- string ls_status
- uc_row = dw_1.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请先选择产品')
- RETURN
- END IF
- child_row = dw_2.getrow()
- if child_row <= 0 then
- MessageBox('系统提示','请选择明细')
- RETURN
- END IF
- dw_1.AcceptText()
- dw_2.AcceptText()
- ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[uc_row]
- IF NOT IsValid(w_configure_ch_zj) THEN
- s_edit_index_tran s_ch_tran
- s_ch_tran.c_long = ll_mtrlid
-
- OpenWithParm(w_configure_ch_zj,s_ch_tran) //调用
- ls_status = Message.StringParm //接受返回结构
- dw_2.SetRedraw(FALSE)
- IF len(trim(ls_status)) > 0 THEN
- if ls_status = '[清空配置]' then ls_status = ''
- dw_2.Object.u_sc_workprice_status[child_row] = ls_status
- dw_2.SetFocus()
- dw_2.SetColumn('dscrp')
- END IF
- dw_2.SetRedraw(TRUE)
- END IF
- end event
- event ue_wp_procode();IF NOT ins_ifmod_wp THEN RETURN
- Long ll_row
- Long child_row
- string ls_mtrlcode
- long ll_mtrlid
- ll_row = dw_1.GetRow()
- child_row = dw_2.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','没有正确的物料内容')
- RETURN
- END IF
- IF dw_1.Object.u_mtrldef_mtrlorigin[ll_row] <> 0 THEN
- MessageBox('系统提示','只有自制来源的产品及半成品才能编辑工价表明细,请检查')
- RETURN
- END IF
- ls_mtrlcode = dw_1.object.u_mtrldef_mtrlcode[ll_row]
- s_edit_index_tran s_ch_tran
- s_ch_tran.if_retrieve_all = TRUE
- s_ch_tran.work_mode = 1
- s_ch_tran.arg_pkid = 0
- s_ch_tran.b_long = 0
- s_ch_tran.if_select_all = TRUE
- IF child_row > 0 THEN s_ch_tran.arg_string_code = dw_2.Object.procode[child_row]
- Long ls_j
- IF NOT IsValid(w_sc_workprocedure) THEN
- OpenWithParm(w_sc_workprocedure,s_ch_tran) //调用
-
- s_workprocedure S_INSCUST
- S_INSCUST = Message.PowerObjectParm //接受返回结构
- FOR ls_j = 1 TO UpperBound(S_INSCUST.wrkproid)
- IF S_INSCUST.wrkproid[ls_j] > 0 THEN //正常返回值则可以取以下值
- IF dw_2.Find('proid='+String(S_INSCUST.wrkproid[ls_j]),1,dw_2.RowCount()) = 0 THEN
- IF dw_2.GetRow() > 0 THEN
- IF dw_2.Object.proid[child_row] <> 0 THEN
- child_row = dw_2.InsertRow (0)
- ELSE
- child_row = dw_2.GetRow()
- END IF
- ELSE
- child_row = dw_2.InsertRow (0)
- END IF
- END IF
-
- dw_2.Object.proid[child_row] = S_INSCUST.wrkproid[ls_j]
- dw_2.Object.procode[child_row] = S_INSCUST.wrkprocode[ls_j]
- dw_2.Object.u_sc_workprice_proname[child_row] = S_INSCUST.wrkproname[ls_j]
- dw_2.Object.worklevel[child_row] = S_INSCUST.worklevel[ls_j]
- dw_2.Object.techlevel[child_row] = S_INSCUST.techlevel[ls_j]
- dw_2.Object.workhour[child_row] = S_INSCUST.workhour[ls_j]
- dw_2.Object.wrkgrpid[child_row] = S_INSCUST.wrkgrid[ls_j]
- dw_2.Object.workprice[child_row] = S_INSCUST.workprice[ls_j]
-
- dw_2.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
-
- IF child_row > 1 THEN
- dw_2.Object.proorder[child_row] = dw_2.Object.proorder[child_row - 1] + 1
- END IF
- END IF
- NEXT
-
- dw_2.SetRow(child_row)
- dw_2.ScrollToRow(child_row)
- dw_2.SetFocus()
- IF UpperBound(S_INSCUST.wrkproid) > 0 THEN
- dw_2.SetColumn("workprice")
- END IF
- END IF
- dw_2.SetRedraw(TRUE)
- dw_2.SetFocus()
- end event
- event ue_cmp_pfklmode();IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i,ll_j,ll_k
- String ls_pfklmode
- String arg_msg
- Decimal ld_sonscale
- dw_1.AcceptText()
- Long ll_length,j
- String ls_code,ls_pfklmode_cmpl
- Decimal ld_pfgroupqty
- Decimal ld_arg
- Decimal ld_qty_p
- Long ll_lp
- Decimal ld_sonscale_ori
- ld_arg = Dec(em_arg.Text)
- IF IsNull(ld_arg) Or ld_arg = 0 THEN
- MessageBox('系统提示','请输入正确的参数')
- RETURN
- END IF
- dw_1.SetRedraw(False)
- FOR ll_i = 1 To dw_1.RowCount()
- ls_pfklmode = Trim(dw_1.Object.u_prdpf_pfklmode[ll_i])
- ld_pfgroupqty = dw_1.Object.u_prdpf_pfgroupqty[ll_i]
-
- IF dw_1.Object.iflock[ll_i] = 1 THEN CONTINUE
- IF ls_pfklmode = '' THEN CONTINUE
-
-
- ls_pfklmode_cmpl = ls_pfklmode
-
- ll_length = Len(ls_pfklmode_cmpl)
-
- ls_pfklmode = ''
- j = 0
- j++
- DO WHILE ll_length >= j
- ls_code = Mid(ls_pfklmode_cmpl,j,1)
- IF Not Asc(ls_code) > 127 THEN
- ls_pfklmode += ls_code
- END IF
- j++
- LOOP
-
- IF f_cmpl_pfklmode(ls_pfklmode,ld_sonscale,arg_msg) = 0 THEN
- dw_1.SetRedraw(True)
- MessageBox('提示','行:'+String(ll_i)+','+arg_msg)
- RETURN
- END IF
-
- IF dw_1.Object.lp[ll_i] = 1 THEN
- ld_qty_p = 1
- ELSEIF dw_1.Object.lp[ll_i] > 1 THEN
- FOR ll_j = ll_i To 1 Step -1
- IF dw_1.Object.lp[ll_j] = dw_1.Object.lp[ll_i] - 1 THEN
- ld_qty_p = dw_1.Object.u_prdpf_sonscale[ll_j]
- EXIT
- END IF
- NEXT
- END IF
-
- IF cbx_cmp_qty.Checked THEN
- dw_1.Object.u_prdpf_sonscale[ll_i] = Round(ld_sonscale / ld_arg * ld_pfgroupqty * ld_qty_p ,sys_option_produce_dec)
- ELSE
- dw_1.Object.u_prdpf_sonscale[ll_i] = Round(ld_sonscale / ld_arg * ld_qty_p,sys_option_produce_dec)
- END IF
-
- dw_1.AcceptText()
-
- ll_lp = dw_1.Object.lp[ll_i]
- ld_sonscale_ori = dw_1.Object.u_prdpf_sonscale_ori[ll_i]
- ld_sonscale = dw_1.Object.u_prdpf_sonscale[ll_i]
-
- FOR ll_k = ll_i + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_k] <= ll_lp THEN EXIT
-
- dw_1.Object.u_prdpf_sonscale[ll_k] = dw_1.Object.u_prdpf_sonscale_ori[ll_k] * (ld_sonscale / ld_sonscale_ori )
-
- NEXT
-
- ll_i = ll_k - 1
-
- NEXT
- dw_1.SetRedraw(True)
- end event
- event ue_cmp_pfgroupmode();IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i,ll_j,ll_k,ll_lp
- String ls_pfgroupmode
- String arg_msg
- Decimal ld_sonscale,ld_sonscale_ori
- dw_1.AcceptText()
- Long ll_length,j
- String ls_code,ls_pfgroupmode_cmpl
- Decimal ld_pfgroupqty
- Decimal ld_arg,ld_qty_p
- ld_arg = Dec(em_arg.Text)
- IF IsNull(ld_arg) Or ld_arg = 0 THEN
- MessageBox('系统提示','请输入正确的参数')
- RETURN
- END IF
- dw_1.SetRedraw(False)
- FOR ll_i = 1 To dw_1.RowCount()
- ls_pfgroupmode = Trim(dw_1.Object.u_prdpf_pfgroupmode[ll_i])
- ld_pfgroupqty = dw_1.Object.u_prdpf_pfgroupqty[ll_i]
-
- IF dw_1.Object.iflock[ll_i] = 1 THEN CONTINUE
- IF ls_pfgroupmode = '' THEN CONTINUE
-
-
- ls_pfgroupmode_cmpl = ls_pfgroupmode
-
- ll_length = Len(ls_pfgroupmode_cmpl)
-
- ls_pfgroupmode = ''
- j = 0
- j++
- DO WHILE ll_length >= j
- ls_code = Mid(ls_pfgroupmode_cmpl,j,1)
- IF Not Asc(ls_code) > 127 THEN
- ls_pfgroupmode += ls_code
- END IF
- j++
- LOOP
-
- IF f_cmpl_pfklmode(ls_pfgroupmode,ld_sonscale,arg_msg) = 0 THEN
- dw_1.SetRedraw(True)
- MessageBox('提示','行:'+String(ll_i)+','+arg_msg)
- RETURN
- END IF
-
- IF dw_1.Object.lp[ll_i] = 1 THEN
- ld_qty_p = 1
- ELSEIF dw_1.Object.lp[ll_i] > 1 THEN
- FOR ll_j = ll_i To 1 Step -1
- IF dw_1.Object.lp[ll_j] = dw_1.Object.lp[ll_i] - 1 THEN
- ld_qty_p = dw_1.Object.u_prdpf_sonscale[ll_j]
- EXIT
- END IF
- NEXT
- END IF
-
- IF cbx_cmp_qty.Checked THEN
- dw_1.Object.u_prdpf_sonscale[ll_i] = Round(ld_sonscale / ld_arg * ld_pfgroupqty * ld_qty_p,sys_option_produce_dec)
- ELSE
- dw_1.Object.u_prdpf_sonscale[ll_i] = Round(ld_sonscale / ld_arg * ld_qty_p,sys_option_produce_dec)
- END IF
-
- ll_lp = dw_1.Object.lp[ll_i]
- ld_sonscale_ori = dw_1.Object.u_prdpf_sonscale_ori[ll_i]
- ld_sonscale = dw_1.Object.u_prdpf_sonscale[ll_i]
-
- FOR ll_k = ll_i + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_k] <= ll_lp THEN EXIT
-
- dw_1.Object.u_prdpf_sonscale[ll_k] = dw_1.Object.u_prdpf_sonscale_ori[ll_k] * (ld_sonscale / ld_sonscale_ori )
-
- NEXT
-
- ll_i = ll_k - 1
-
-
- NEXT
- dw_1.SetRedraw(True)
- end event
- event ue_allowedit();Long Columns
- Int i
- String ls_modify_str
- Long ll_row
- Long ll_value
- Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
- String ls_status,ls_woodcode,ls_pcode
- String ls_data_type
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN RETURN
- dw_1.accepttext()
- Columns = Long(dw_1.Describe("DataWindow.Column.Count"))
- FOR i = 1 TO Columns
- ls_modify_str = dw_1.Describe("#" + String(i) + ".name")
- ls_modify_str = Lower(ls_modify_str)
-
- IF i = 1 THEN //第1个字段,约定物料ID
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_value = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'statusflag') > 0 THEN
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_statusflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_woodcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_pcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN
- IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN
- IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR &
- Pos(ls_modify_str,'u_buytask_status') > 0 OR &
- Pos(ls_modify_str,'u_order_ml_status') > 0 OR &
- Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR &
- Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
- ls_status = ls_modify_str
- END IF
- END IF
- END IF
-
- IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN
- IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN
- ls_woodcode = ls_modify_str
- END IF
- END IF
-
- IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN
- IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN
- ls_pcode = ls_modify_str
- END IF
- END IF
-
- NEXT
- ll_value = dw_1.object.u_prdpf_sonmtrlid[ll_row]
- IF ls_status <> '' THEN
- IF ll_statusflag <> 0 OR ll_value = 0 THEN
- dw_1.Modify(ls_status+".dddw.allowedit = no")
- ELSE
- dw_1.Modify(ls_status+".dddw.allowedit = yes")
- END IF
- END IF
- IF ls_woodcode <> '' THEN
- IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
- dw_1.Modify(ls_woodcode+".dddw.allowedit = no")
- ELSE
- dw_1.Modify(ls_woodcode+".dddw.allowedit = yes")
- END IF
- END IF
- IF ls_pcode <> '' THEN
- IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
- dw_1.Modify(ls_pcode+".dddw.allowedit = no")
- ELSE
- dw_1.Modify(ls_pcode+".dddw.allowedit = yes")
- END IF
- END IF
- end event
- event ue_import_xls();// 导入Excel
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- dw_1.SetRedraw(False)
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_lp
- Long ll_row
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale
- Long ll_wrkgrpid_scll
- Long ll_newrow
- For ll_row = 2 To ds_col30.RowCount() //第2行开始才是清单
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,1)) = '' Then Exit
-
- ll_lp = Long(Trim(ds_col30.GetItemString(ll_row,1)))
- ls_mtrlcode_p = Trim(ds_col30.GetItemString(ll_row,3))
- ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,5))
-
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where barcode = :ls_mtrlcode_p;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- If li_Mtrlorigin = 0 Then
- If ll_dftwrkgrpid = 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码资料的默认生产车间未设置,请检查'
- Goto ext
- Else
- Select top 1 wrkgrpid Into :ll_wrkgrpid_scll
- From u_sc_workgroup
- Where storageid = :ll_dftwrkgrpid
- Order By wrkgrpcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码资料默认生产车间第1工组失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
- End If
- End If
-
- If ll_lp = 1 Then
- If ll_mtrlid_p <> ins_mtrlid Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码与当前编辑的产品ID不相符,操作取消'
- Goto ext
- End If
- End If
-
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where barcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行子代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- ls_pfcode = f_get_dft_pf(ll_mtrlid)
- If ls_pfcode = '' Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行子代码默认清单未定义,请检查'
- Goto ext
- End If
- Next
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- wf_re_mtrl(0)
- End If
- For ll_row = 2 To ds_col30.RowCount()
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,1)) = '' Then Exit
-
- ll_lp = Long(Trim(ds_col30.GetItemString(ll_row,1)))
- ls_mtrlcode_p = Trim(ds_col30.GetItemString(ll_row,3))
- ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,5))
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,10)))
-
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where barcode = :ls_mtrlcode_p;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- If li_Mtrlorigin = 0 Then
- If ll_dftwrkgrpid = 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码资料的默认生产车间未设置,请检查'
- Goto ext
- Else
- Select top 1 wrkgrpid Into :ll_wrkgrpid_scll
- From u_sc_workgroup
- Where storageid = :ll_dftwrkgrpid
- Order By wrkgrpcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码资料默认生产车间第1工组失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
- End If
- End If
-
- Select u_mtrldef.mtrlid,
- u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname,
- u_mtrldef.mtrlprp,
- u_mtrldef.mtrlmode,
- u_mtrldef.unit,
- u_mtrldef.zxmtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.scid,
- u_mtrldef.mtrltypeid,
- isnull(u_sc_wkp.wrkGrpName,'')
- Into :ll_mtrlid,
- :ls_mtrlcode,
- :ls_mtrlname,
- :li_mtrlprp,
- :ls_mtrlmode,
- :ls_unit,
- :ls_zxmtrlmode,
- :ls_mtrlsectype,
- :li_statusflag,
- :li_statustype,
- :li_woodcodeflag,
- :li_woodcodetype,
- :li_pcodeflag,
- :li_pcodetype,
- :ls_usermtrlmode,
- :li_Mtrlorigin,
- :ll_dftwrkgrpid,
- :ll_scid,
- :ll_mtrltypeid,
- :ls_wrkGrpName
- From u_mtrldef left Outer join u_sc_wkp on
- u_mtrldef.dftwrkgrpid = u_sc_wkp.wrkgrpid
- Where u_mtrldef.barcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行子代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- ll_newrow = dw_1.InsertRow(0)
- dw_1.Object.u_mtrldef_mtrlcode[ll_newrow] = ls_mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_newrow] = li_mtrlprp
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = ll_wrkgrpid_scll
- dw_1.Object.u_PrdPF_Sonscale[ll_newrow] = ld_sonscale
- dw_1.Object.u_PrdPF_SonLoss[ll_newrow] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_newrow] = 0
- dw_1.Object.u_PrdPF_status[ll_newrow] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_pcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_newrow] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_newrow] = ls_mtrlname
- dw_1.Object.u_mtrldef_unit[ll_newrow] = ls_unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_newrow] = ls_mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_newrow] = ls_mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_newrow] = ls_zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_newrow] = ls_wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_newrow] = li_statusflag
- dw_1.Object.u_mtrldef_statustype[ll_newrow] = li_statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_newrow] = li_woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_newrow] = li_woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_newrow] = li_pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_newrow] = li_pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_newrow] = ls_usermtrlmode
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_newrow] = li_Mtrlorigin
- dw_1.Object.lp[ll_newrow] = ll_lp
- dw_1.Object.iflock[ll_newrow] = 1
-
- dw_1.Object.u_mtrldef_mtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.pmtrlid[ll_newrow] = ll_mtrlid_p
- dw_1.Object.u_prdpf_printid[ll_newrow] = ll_newrow
- dw_1.Object.u_prdpf_sonpfcode[ll_newrow] = f_get_dft_pf(ll_mtrlid)
-
- dw_1.Object.u_prdpf_pfgroup[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfgroupqty[ll_newrow] = 0
- dw_1.Object.u_prdpf_pfgroupmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfklmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_dscrp[ll_newrow] = ''
- dw_1.Object.u_prdpf_baseqty[ll_newrow] = 1
- dw_1.Object.u_prdpf_scllloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_sclldecloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_ifover[ll_newrow] = 0
- dw_1.Object.u_prdpf_dipztype[ll_newrow] = 0
- dw_1.Object.u_prdpf_buyarg[ll_newrow] = 0
- dw_1.Object.u_mtrldef_orderdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_buydays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_wfjgdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_newrow] = ll_dftwrkgrpid
-
- dw_1.Object.u_mtrldef_scid[ll_newrow] = ll_scid
- dw_1.Object.u_mtrldef_mtrltypeid[ll_newrow] = ll_mtrltypeid
- Next
- ext:
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event ue_import_xls_2();// 导入Excel
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- dw_1.SetRedraw(False)
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_lp
- Long ll_row,ll_row_new
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- String ls_col10, ls_col11
- Long ll_newrow
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- //插入产品
- wf_re_mtrl(0)
- End If
- For ll_row = 7 To ds_col30.RowCount()
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,8)) = '' Then Exit
-
- ls_mtrlcode_p = Trim(ds_col30.GetItemString(ll_row,3))
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,8))
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,15)))
- lde_qty = Dec(Trim(ds_col30.GetItemString(ll_row,7)))
-
- ls_col10 = Trim(ds_col30.GetItemString(ll_row,10))
- ls_col11 = Trim(ds_col30.GetItemString(ll_row,11))
-
- If lde_qty <> 0 Then
- ld_sonscale = ld_sonscale / lde_qty
- End If
-
- If ls_mtrlcode_p <> "" Then
-
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where (mtrlcode = :ls_mtrlcode_p)
- And (mtrlorigin = 0);
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_p + ',部件查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_p + ',部件资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode_p;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- If ll_dftwrkgrpid = 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码资料的默认生产车间未设置,请检查'
- Goto ext
- Else
- Select top 1 wrkgrpid Into :ll_wrkgrpid_scll
- From u_sc_workgroup
- Where storageid = :ll_dftwrkgrpid
- Order By wrkgrpcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码资料默认生产车间第1工组失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
- End If
- //插入部件
- wf_add_row(ll_mtrlid_p, '', 1, lde_qty, arg_msg,ll_row_new)
- ElseIf cnt = 0 Then //插入新行-部件
- //插入部件
- wf_add_row_null(ls_mtrlname, 1, lde_qty, arg_msg,ll_row_new)
- End If
-
- End If //ls_mtrlcode_p <> ""
-
-
- //插入新行
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where u_mtrldef.mtrlname = :ls_mtrlname;
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If ls_col10 = '' And ls_col11 = '' Then
- ll_lp = 1
- Else
- ll_lp = 2
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlname = :ls_mtrlname;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入材料
- wf_add_row(ll_mtrlid, '', ll_lp, ld_sonscale, arg_msg,ll_row_new)
- ElseIf cnt = 0 Then //插入新行-部件
- //插入材料
- wf_add_row_null(ls_mtrlname, ll_lp, ld_sonscale, arg_msg,ll_row_new)
- End If
-
-
- Next
- ext:
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event ue_import_xls_3();// 导入Excel
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_i,cnt,ll_j
- Long ll_lp
- Long ll_row
- Long ll_mtrlid_p
- String ls_mtrlcode_p,ls_pfgroup,ls_mtrlmode_p
- String ls_pfcode
- Decimal ld_pfgroupqty,ld_sonloss
- String ls_pfklmode
- Long ll_mtrlid
- String ls_mtrlcode,ls_mtrlmode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale
- Long ll_dftscllwkpid,ll_scllwkpid,ll_wkpid_find
- String ls_mb_mtrlcode
- Long ll_newrow
- Int li_ifadd
- String ls_printstr
- Long ll_lp_cnt
- String ls_piccode
- String ls_wrkGrpName_exl
- String unit_f,mtrlsectype_f,zxmtrlmode_f,usermtrlmode_f,piccode_f
- Long mtrltypeid_f,ifselforder_f,ordertype_f,scid_f,dftwrkgrpid_f
- Decimal orderdays_f,buydays_f,wfjgdays_f
- Long mtrlid_f,dftscllwkpid_f
- Int li_ifselforder,li_ordertype
- For ll_row = 1 To 5
- ds_col30.Object.col1[ll_row] = ''
- Next
- ds_col30.SetSort('col1 A')
- ds_col30.Sort()
- For ll_row = 6 To ds_col30.RowCount() //第6行开始才是清单
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,1)) = '' Then Exit
-
- If Trim(ds_col30.GetItemString(ll_row,2)) = '是' Then
- li_ifadd = 1
- Else
- li_ifadd = 0
- End If
-
- ll_lp = Long(Trim(ds_col30.GetItemString(ll_row,1)))
- ls_mtrlcode_p = Trim(ds_col30.GetItemString(ll_row,4))
- ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,11))
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,12))
- ls_mtrlmode = Trim(ds_col30.GetItemString(ll_row,13))
-
- If ls_mtrlcode = '' And li_ifadd = 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '必须填写材料编码,请检查'
- Goto ext
- End If
-
- If ls_mtrlcode <> '' Then
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- ll_mtrlid = 0
- End If
-
- If ll_mtrlid = 0 Then
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where mtrlname = :ls_mtrlname;
- If sqlca.SQLCode <> 0 Then
- ll_mtrlid = 0
- End If
- End If
-
- If ll_mtrlid = 0 Then
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where mtrlname = :ls_mtrlname And mtrlmode = :ls_mtrlmode;
- If sqlca.SQLCode <> 0 Then
- ll_mtrlid = 0
- End If
- End If
-
- If ll_mtrlid > 0 Then
- ls_pfcode = f_get_dft_pf(ll_mtrlid)
- If ls_pfcode = '' Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行物料编码:'+ls_mtrlcode+',默认清单未定义,请检查'
- Goto ext
- End If
- End If
- End If
- Next
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- wf_re_mtrl(0)
- End If
- dw_1.SetRedraw(False)
- For ll_row = 6 To ds_col30.RowCount()
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,1)) = '' Then Exit
-
- If Trim(ds_col30.GetItemString(ll_row,2)) = '是' Then
- li_ifadd = 1
- Else
- li_ifadd = 0
- End If
-
- ls_printstr = Trim(ds_col30.GetItemString(ll_row,1))
-
- ll_lp_cnt = 0
- Do While Pos(ls_printstr,'.') > 0
- ll_lp_cnt++
- ls_printstr = Mid(ls_printstr,Pos(ls_printstr,'.') + 1)
- Loop
-
- ls_mb_mtrlcode = Trim(ds_col30.GetItemString(ll_row,3))
-
- ll_lp = ll_lp_cnt + 1
-
- ls_pfgroup = Trim(ds_col30.GetItemString(ll_row,4))
-
- ls_mtrlmode_p = ''
-
- If Trim(ds_col30.GetItemString(ll_row,6)) <> '' Then
- ls_mtrlmode_p = Trim(ds_col30.GetItemString(ll_row,6))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,7)) <> '' Then
- If Trim(ls_mtrlmode_p) = '' Then
- ls_mtrlmode_p = Trim(ds_col30.GetItemString(ll_row,7))
- Else
- ls_mtrlmode_p = ls_mtrlmode_p + '*' + Trim(ds_col30.GetItemString(ll_row,7))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,8)) <> '' Then
- If Trim(ls_mtrlmode_p) = '' Then
- ls_mtrlmode_p = Trim(ds_col30.GetItemString(ll_row,8))
- Else
- ls_mtrlmode_p = ls_mtrlmode_p + '*' + Trim(ds_col30.GetItemString(ll_row,8))
- End If
- End If
-
- ld_pfgroupqty = Dec(Trim(ds_col30.GetItemString(ll_row,9)))
-
- ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,11))
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,12))
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,19)))
- ld_sonloss = Dec(Trim(ds_col30.GetItemString(ll_row,20)))
-
- ls_piccode = Trim(ds_col30.GetItemString(ll_row,5))
-
-
- ls_wrkGrpName_exl = Trim(ds_col30.GetItemString(ll_row,10))
-
-
- ls_pfklmode = ''
-
- If Trim(ds_col30.GetItemString(ll_row,14)) <> '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,14))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,15)) <> '' Then
- If Trim(ls_pfklmode) = '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,15))
- Else
- ls_pfklmode = ls_pfklmode + '*' + Trim(ds_col30.GetItemString(ll_row,15))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,16)) <> '' Then
- If Trim(ls_pfklmode) = '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16))
- Else
- ls_pfklmode = ls_pfklmode + '*' + Trim(ds_col30.GetItemString(ll_row,16))
- End If
- End If
-
-
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- ll_mtrlid = 0
- End If
-
- If ll_mtrlid = 0 Then
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where mtrlname = :ls_mtrlname;
- If sqlca.SQLCode <> 0 Then
- ll_mtrlid = 0
- End If
- End If
-
- If ll_mtrlid = 0 Then
- Select mtrlid Into :ll_mtrlid From u_mtrldef Where mtrlname = :ls_mtrlname And mtrlmode = :ls_mtrlmode;
- If sqlca.SQLCode <> 0 Then
- ll_mtrlid = 0
- End If
- End If
-
- If li_ifadd = 1 Then
- ll_newrow = dw_1.InsertRow(0)
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_newrow] = ls_mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_newrow] = 1
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = 0
- dw_1.Object.u_PrdPF_Sonscale[ll_newrow] = ld_pfgroupqty
- dw_1.Object.u_prdpf_sonscale_ori[ll_newrow] = ld_pfgroupqty
- dw_1.Object.u_PrdPF_SonLoss[ll_newrow] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_newrow] = 0
- dw_1.Object.u_PrdPF_status[ll_newrow] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_pcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_newrow] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_newrow] = ls_pfgroup
- dw_1.Object.u_mtrldef_unit[ll_newrow] = ''
- dw_1.Object.u_mtrldef_mtrlmode[ll_newrow] = ls_mtrlmode_p
- dw_1.Object.u_mtrldef_mtrlsectype[ll_newrow] = ''
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_newrow] = ''
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_newrow] = ''
- dw_1.Object.u_mtrldef_statusflag[ll_newrow] = 0
- dw_1.Object.u_mtrldef_statustype[ll_newrow] = 0
- dw_1.Object.u_mtrldef_woodcodeflag[ll_newrow] = 0
- dw_1.Object.u_mtrldef_woodcodetype[ll_newrow] = 0
- dw_1.Object.u_mtrldef_pcodeflag[ll_newrow] = 0
- dw_1.Object.u_mtrldef_pcodetype[ll_newrow] = 0
- dw_1.Object.u_mtrldef_usermtrlmode[ll_newrow] = ''
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_newrow] = 0
- dw_1.Object.lp[ll_newrow] = ll_lp
-
- If ll_lp = 1 Then
- dw_1.Object.iflock[ll_newrow] = 0
- Else
- dw_1.Object.iflock[ll_newrow] = 1
- End If
-
- dw_1.Object.u_mtrldef_mtrlid[ll_newrow] = 0
- dw_1.Object.u_prdpf_sonmtrlid[ll_newrow] = 0
- dw_1.Object.pmtrlid[ll_newrow] = ll_mtrlid_p
- dw_1.Object.u_prdpf_printid[ll_newrow] = ll_newrow
- dw_1.Object.u_prdpf_sonpfcode[ll_newrow] = '[常规]'
-
-
- dw_1.Object.u_prdpf_promode[ll_newrow] = ls_piccode
- dw_1.Object.u_mtrldef_piccode[ll_newrow] = ls_piccode
-
- dw_1.Object.u_prdpf_pfgroup[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfgroupqty[ll_newrow] = 0
- dw_1.Object.u_prdpf_pfgroupmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfklmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_dscrp[ll_newrow] = ''
- dw_1.Object.u_prdpf_baseqty[ll_newrow] = 1
- dw_1.Object.u_prdpf_scllloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_sclldecloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_ifover[ll_newrow] = 0
- dw_1.Object.u_prdpf_dipztype[ll_newrow] = 0
- dw_1.Object.u_prdpf_buyarg[ll_newrow] = 0
- dw_1.Object.u_mtrldef_orderdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_buydays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_wfjgdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_newrow] = 0
-
- dw_1.Object.u_mtrldef_scid[ll_newrow] = 0
- dw_1.Object.u_mtrldef_mtrltypeid[ll_newrow] = 0
-
- dw_1.Object.ifnewadd[ll_newrow] = 0
- dw_1.Object.ifmod[ll_newrow] = 0
-
-
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- mtrlid,
- dftscllwkpid
- Into :unit_f,
- :mtrltypeid_f,
- :mtrlsectype_f,
- :zxmtrlmode_f,
- :usermtrlmode_f,
- :piccode_f,
- :ifselforder_f,
- :ordertype_f,
- :scid_f,
- :dftwrkgrpid_f,
- :orderdays_f,
- :buydays_f,
- :wfjgdays_f,
- :mtrlid_f,
- :dftscllwkpid_f
- From u_mtrldef
- Where mtrlcode = :ls_mb_mtrlcode;
- If sqlca.SQLCode = 0 Then
- dw_1.Object.u_mtrldef_unit[ll_newrow] = unit_f
- dw_1.Object.u_mtrldef_mtrltypeid[ll_newrow] = mtrltypeid_f
- dw_1.Object.u_mtrldef_mtrlsectype[ll_newrow] = mtrlsectype_f
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_newrow] = zxmtrlmode_f
- dw_1.Object.u_mtrldef_usermtrlmode[ll_newrow] = usermtrlmode_f
- dw_1.Object.u_mtrldef_piccode[ll_newrow] = piccode_f
- dw_1.Object.u_mtrldef_ifselforder[ll_newrow] = ifselforder_f
- dw_1.Object.u_mtrldef_ordertype[ll_newrow] = ordertype_f
- dw_1.Object.u_mtrldef_scid[ll_newrow] = scid_f
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_newrow] = dftwrkgrpid_f
-
- dw_1.Object.u_mtrldef_orderdays[ll_newrow] = orderdays_f
- dw_1.Object.u_mtrldef_buydays[ll_newrow] = buydays_f
- dw_1.Object.u_mtrldef_wfjgdays[ll_newrow] = wfjgdays_f
-
- dw_1.Object.mb_mtrlcode[ll_newrow] = ls_mb_mtrlcode
- dw_1.Object.mb_mtrlid[ll_newrow] = mtrlid_f
- End If
-
- Select wrkgrpid
- Into :ll_wkpid_find
- From u_sc_workgroup
- Where wrkGrpName = :ls_wrkGrpName_exl;
- If sqlca.SQLCode <> 0 Then ll_wkpid_find = 0
-
- If ll_wkpid_find = 0 Then
- ll_scllwkpid = dftscllwkpid_f
- Else
- ll_scllwkpid = ll_wkpid_find
- End If
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = ll_scllwkpid
-
- End If
-
- If ll_mtrlid > 0 Then
- Select u_mtrldef.mtrlid,
- u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname,
- u_mtrldef.mtrlprp,
- u_mtrldef.mtrlmode,
- u_mtrldef.unit,
- u_mtrldef.zxmtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.scid,
- u_mtrldef.mtrltypeid,
- isnull(u_sc_wkp.wrkGrpName,''),
- u_mtrldef.dftscllwkpid,
- u_mtrldef.ifselforder,
- u_mtrldef.ordertype
- Into :ll_mtrlid,
- :ls_mtrlcode,
- :ls_mtrlname,
- :li_mtrlprp,
- :ls_mtrlmode,
- :ls_unit,
- :ls_zxmtrlmode,
- :ls_mtrlsectype,
- :li_statusflag,
- :li_statustype,
- :li_woodcodeflag,
- :li_woodcodetype,
- :li_pcodeflag,
- :li_pcodetype,
- :ls_usermtrlmode,
- :li_Mtrlorigin,
- :ll_dftwrkgrpid,
- :ll_scid,
- :ll_mtrltypeid,
- :ls_wrkGrpName,
- :ll_dftscllwkpid,
- :li_ifselforder,
- :li_ordertype
- From u_mtrldef left Outer join u_sc_wkp on
- u_mtrldef.dftwrkgrpid = u_sc_wkp.wrkgrpid
- Where u_mtrldef.mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行子代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
- Else
- ll_mtrlid = 0
- li_mtrlprp = 2
- ls_mtrlmode = ''
- ls_unit = ''
- ls_zxmtrlmode = ''
- ls_mtrlsectype = ''
- li_statusflag = 0
- li_statustype = 0
- li_woodcodeflag = 0
- li_woodcodetype = 0
- li_pcodeflag = 0
- li_pcodetype = 0
- ls_usermtrlmode = ''
- li_Mtrlorigin = 2
- ll_dftwrkgrpid = 0
- ll_scid = 0
- ll_mtrltypeid = 0
- ls_wrkGrpName = ''
- ll_dftscllwkpid = 0
- End If
-
- Select wrkgrpid
- Into :ll_wkpid_find
- From u_sc_workgroup
- Where wrkGrpName = :ls_wrkGrpName_exl;
- If sqlca.SQLCode <> 0 Then ll_wkpid_find = 0
-
- If ll_wkpid_find = 0 Then
- ll_scllwkpid = ll_dftscllwkpid
- Else
- ll_scllwkpid = ll_wkpid_find
- End If
-
- If ll_mtrlid > 0 Or li_ifadd = 0 And ls_mtrlcode <> '' And ls_mtrlname <> '' Then
- ll_newrow = dw_1.InsertRow(0)
- dw_1.Object.u_mtrldef_mtrlcode[ll_newrow] = ls_mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_newrow] = li_mtrlprp
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = ll_scllwkpid
- dw_1.Object.u_PrdPF_Sonscale[ll_newrow] = ld_sonscale
- dw_1.Object.u_prdpf_sonscale_ori[ll_newrow] = ld_sonscale
- dw_1.Object.u_PrdPF_SonLoss[ll_newrow] = ld_sonloss
- dw_1.Object.u_PrdPF_SonDECLosS[ll_newrow] = 0
- dw_1.Object.u_PrdPF_status[ll_newrow] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_pcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_newrow] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_newrow] = ls_mtrlname
- dw_1.Object.u_mtrldef_unit[ll_newrow] = ls_unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_newrow] = ls_mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_newrow] = ls_mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_newrow] = ls_zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_newrow] = ls_wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_newrow] = li_statusflag
- dw_1.Object.u_mtrldef_statustype[ll_newrow] = li_statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_newrow] = li_woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_newrow] = li_woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_newrow] = li_pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_newrow] = li_pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_newrow] = ls_usermtrlmode
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_newrow] = li_Mtrlorigin
-
- dw_1.Object.u_mtrldef_ifselforder[ll_newrow] = li_ifselforder
- dw_1.Object.u_mtrldef_ordertype[ll_newrow] = li_ordertype
-
- If li_ifadd = 1 Then
- dw_1.Object.lp[ll_newrow] = ll_lp + 1
- dw_1.Object.u_prdpf_pfgroup[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfgroupqty[ll_newrow] = 0
- dw_1.Object.u_prdpf_pfgroupmode[ll_newrow] = ''
- Else
- dw_1.Object.lp[ll_newrow] = ll_lp
- dw_1.Object.u_prdpf_pfgroup[ll_newrow] = ls_pfgroup
- dw_1.Object.u_prdpf_pfgroupqty[ll_newrow] = ld_pfgroupqty
- dw_1.Object.u_prdpf_pfgroupmode[ll_newrow] = ls_mtrlmode_p
- End If
-
- If ll_lp = 1 Then
- dw_1.Object.iflock[ll_newrow] = 0
- Else
- dw_1.Object.iflock[ll_newrow] = 1
- End If
-
- dw_1.Object.u_mtrldef_mtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.pmtrlid[ll_newrow] = ll_mtrlid_p
- dw_1.Object.u_prdpf_printid[ll_newrow] = ll_newrow
- dw_1.Object.u_prdpf_sonpfcode[ll_newrow] = f_get_dft_pf(ll_mtrlid)
-
-
- dw_1.Object.u_prdpf_promode[ll_newrow] = ls_piccode
- dw_1.Object.u_mtrldef_piccode[ll_newrow] = ls_piccode
-
- dw_1.Object.u_prdpf_pfklmode[ll_newrow] = ls_pfklmode
- dw_1.Object.u_prdpf_dscrp[ll_newrow] = ''
- dw_1.Object.u_prdpf_baseqty[ll_newrow] = 1
- dw_1.Object.u_prdpf_scllloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_sclldecloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_ifover[ll_newrow] = 0
- dw_1.Object.u_prdpf_dipztype[ll_newrow] = 0
- dw_1.Object.u_prdpf_buyarg[ll_newrow] = 0
- dw_1.Object.u_mtrldef_orderdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_buydays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_wfjgdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_newrow] = ll_dftwrkgrpid
-
- dw_1.Object.u_mtrldef_scid[ll_newrow] = ll_scid
- dw_1.Object.u_mtrldef_mtrltypeid[ll_newrow] = ll_mtrltypeid
-
- dw_1.Object.ifnewadd[ll_newrow] = 0
- dw_1.Object.ifmod[ll_newrow] = 0
-
- If ll_mtrlid = 0 Then
- dw_1.Object.error_msg[ll_newrow] = '系统中没有此物料的信息,请检查'
- End If
- End If
- Next
- //如果需要新建的资料信息齐全,自动加上"新建"标记
- For ll_i = 2 To dw_1.RowCount()
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 And dw_1.Object.u_mtrldef_mtrlprp[ll_i] = 1 Then
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i]
- ll_dftwrkgrpid = dw_1.Object.u_mtrldef_dftwrkgrpid[ll_i]
- ll_mtrltypeid = dw_1.Object.u_mtrldef_mtrltypeid[ll_i]
-
- If Trim(ls_mtrlcode) = '' Then
- dw_1.Object.error_msg[ll_i] = '请输入物料编码'
- Continue
- End If
-
- Select count(*) Into :cnt
- From u_mtrldef
- Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- dw_1.Object.error_msg[ll_i] = '查询新编码是否已存在失败'
- Continue
- End If
-
- If cnt > 0 Then
- dw_1.Object.error_msg[ll_i] = '新输入的编码已在系统中存在,请重新输入'
- Continue
- End If
-
- If Trim(dw_1.Object.u_mtrldef_unit[ll_i]) = '' Then
- dw_1.Object.error_msg[ll_i] = '请输入库存单位'
- Continue
- End If
-
- If dw_1.Object.u_mtrldef_mtrltypeid[ll_i] = 0 Then
- dw_1.Object.error_msg[ll_i] = '请选择类别'
- Continue
- End If
-
- Select count(*) Into :cnt
- From u_mtrltype
- Where mtrltypeid = :ll_mtrltypeid;
- If sqlca.SQLCode <> 0 Then
- dw_1.Object.error_msg[ll_i] = '查询物料类别是否已存在失败'
- Continue
- End If
-
- If cnt = 0 Then
- dw_1.Object.error_msg[ll_i] = '物料类别在系统中不存在,请重新选择'
- Continue
- End If
-
-
- If dw_1.Object.u_mtrldef_dftwrkgrpid[ll_i] = 0 Then
- dw_1.Object.error_msg[ll_i] = '请选择默认制造车间'
- Continue
- End If
-
- Select count(*) Into :cnt
- From u_sc_wkp
- Where wrkgrpid = :ll_dftwrkgrpid;
- If sqlca.SQLCode <> 0 Then
- dw_1.Object.error_msg[ll_i] = '查询默认制造车间是否已存在失败'
- Continue
- End If
-
-
- If cnt = 0 Then
- dw_1.Object.error_msg[ll_i] = '默认制造车间在系统中不存在,请重新选择'
- Continue
- End If
-
- ll_lp = dw_1.Object.lp[ll_i]
- dw_1.Object.ifnewadd[ll_i] = 1
- For ll_j = ll_i + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_j] = ll_lp + 1 Then //And dw_1.Object.pmtrlid[ll_i] = ll_mtrlid THEN
- dw_1.Object.iflock[ll_j] = 0
- End If
-
- If dw_1.Object.lp[ll_j] <= ll_lp Then Exit
- Next
- End If
-
- Next
- ext:
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event user_key();
- IF KeyDown(KeyF7!) THEN
- This.TriggerEvent('ue_add_same')
- ELSEIF KeyDown(KeyF8!) THEN
- This.TriggerEvent('ue_add_next')
- END IF
- end event
- event ue_add_same();IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i
- String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg
- Long ll_row,ll_row_add
- Long ll_pmtrlid,ll_lp
- Long ll_mtrlid_pf
- String arg_msg_str
- ll_row = dw_1.GetRow()
- IF ll_row > 0 THEN
- ll_pmtrlid = dw_1.Object.pmtrlid[ll_row]
- ll_lp = dw_1.Object.lp[ll_row]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
-
- IF ll_lp = 0 THEN
- MessageBox('系统提示','主产品不能增同级')
- RETURN
- END IF
-
- IF ll_lp <> 1 THEN
- FOR ll_i = ll_row To 1 Step -1
- IF dw_1.Object.lp[ll_i] = ll_lp - 1 THEN
- IF dw_1.Object.u_mtrldef_mtrlid[ll_i] <> 0 THEN
- MessageBox('系统提示','上级物料不是新建立的物料,不能执行增同级操作')
- RETURN
- ELSE
- EXIT
- END IF
- END IF
- NEXT
- END IF
-
- ELSE
- ll_pmtrlid = ins_mtrlid
- ll_lp = 0
- END IF
- IF ll_row = dw_1.RowCount() THEN
- ll_row_add = ll_row
- ELSE
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN
- ll_row_add = ll_i - 1
- EXIT
- END IF
- NEXT
-
- IF ll_row_add = 0 THEN
- ll_row_add = dw_1.RowCount()
- END IF
- END IF
- IF Not IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = true
- s_ch_tran.b_long = 0
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 1
-
- This.Enabled = False
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- This.Enabled = True
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- dw_1.SetRedraw(False)
- FOR ll_i = 1 To UpperBound(s_inscust.mtrlid)
- ll_mtrlid_pf = s_inscust.mtrlid[ll_i]
-
- IF ll_mtrlid_pf > 0 THEN
- ls_pfcode = f_get_dft_pf(ll_mtrlid_pf)
-
- IF wf_addmx_next(ll_mtrlid_pf,ls_pfcode,ll_pmtrlid,ll_lp,ll_row_add + 1 ,arg_msg,1,0) = 0 THEN
- arg_msg_str = arg_msg_str + arg_msg +'~r~n'
- CONTINUE
- END IF
-
- ins_cnt++
- IF ls_mtrlcode <> '' THEN
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.对 '+ls_mtrlcode+' 增加同级物料 '+s_inscust.mtrlcode[ll_i]
- ELSE
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.增加物料 '+s_inscust.mtrlcode[ll_i]
- END IF
-
- END IF
- NEXT
- dw_1.SetRedraw(True)
-
- IF Trim(arg_msg_str) <> '' THEN
- MessageBox('Error',arg_msg_str)
- END IF
-
- END IF
- this.setfocus()
- end event
- event ue_add_next();IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i
- String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg,arg_msg_str
- Long ll_row,ll_row_add
- Long ll_pmtrlid,ll_lp
- Long ll_mtrlid
- Long ll_mtrlid_pf
- int li_mtrlorigin
- ll_row = dw_1.GetRow()
- IF ll_row > 0 THEN
- ll_pmtrlid = dw_1.Object.pmtrlid[ll_row]
- ll_lp = dw_1.Object.lp[ll_row]
- ll_mtrlid = dw_1.Object.u_mtrldef_mtrlid[ll_row]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
-
- li_mtrlorigin = dw_1.Object.u_mtrldef_mtrlorigin[ll_row]
- ELSE
- ll_pmtrlid = ins_mtrlid
- ll_lp = 0
- li_mtrlorigin = 0
- END IF
- //IF ll_mtrlid <> 0 And ll_lp <> 0 THEN
- // MessageBox('系统提示','只能在新建立的物料上或主产品上进行增下级操作')
- // RETURN
- //END IF
- if li_mtrlorigin = 2 then
- MessageBox('系统提示','不能在采购物料上进行增下级操作')
- RETURN
- END IF
- IF ll_row = dw_1.RowCount() THEN
- ll_row_add = ll_row
- ELSE
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN
- ll_row_add = ll_i - 1
- EXIT
- END IF
- NEXT
-
- IF ll_row_add = 0 THEN
- ll_row_add = dw_1.RowCount()
- END IF
- END IF
- IF Not IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = True
- s_ch_tran.b_long = 0
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 1
-
- This.Enabled = False
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- This.Enabled = True
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- dw_1.SetRedraw(False)
-
- FOR ll_i = 1 To UpperBound(s_inscust.mtrlid)
-
- ll_mtrlid_pf = s_inscust.mtrlid[ll_i]
-
- IF ll_mtrlid_pf > 0 THEN
- ls_pfcode = f_get_dft_pf(ll_mtrlid_pf)
-
-
- IF wf_addmx_next(ll_mtrlid_pf,ls_pfcode,ll_pmtrlid,ll_lp + 1 ,ll_row_add + 1 ,arg_msg,1,0) = 0 THEN
- arg_msg_str = arg_msg_str + arg_msg + '~r~n'
- END IF
-
- ins_cnt++
- IF ls_mtrlcode <> '' THEN
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.对 '+ls_mtrlcode+' 增加下级物料 '+s_inscust.mtrlcode[ll_i]
- ELSE
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.增加物料 '+s_inscust.mtrlcode[ll_i]
- END IF
-
- END IF
- NEXT
- dw_1.SetRedraw(True)
-
- IF Trim(arg_msg_str) <> '' THEN
- MessageBox('Error',arg_msg_str)
- END IF
-
- END IF
- this.setfocus()
- end event
- event ue_viewprint_dy();S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = 'w_mtrl_structure'
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct_dy'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品加工说明书'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 14
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = ins_mtrlid
- LS_PRMSG.retr_pramstr = ins_pfcode
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_viewprint_gy();
- wf_cmpprdpf(ins_mtrlid,ins_pfcode)
- S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = 'w_mtrl_structure'
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品物料明细表[工艺]'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 14
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = ins_mtrlid
- LS_PRMSG.retr_pramstr = ins_pfcode
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_viewprint_tree();
- wf_cmpprdpf(ins_mtrlid,ins_pfcode)
- S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = 'w_mtrl_structure'
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct_tree'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品物料明细表[树型结构]'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 14
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = ins_mtrlid
- LS_PRMSG.retr_pramstr = ins_pfcode
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_viewprint_yl();
- wf_cmpprdpf(ins_mtrlid,ins_pfcode)
- S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = 'w_mtrl_structure'
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct_yl'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品物料明细表[用料]'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 14
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = ins_mtrlid
- LS_PRMSG.retr_pramstr = ins_pfcode
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_viewprint_yl_wrk();
- wf_cmpprdpf(ins_mtrlid,ins_pfcode)
- S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = 'w_mtrl_structure'
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct_yl_wrk'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品物料明细表[车间]'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 14
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = ins_mtrlid
- LS_PRMSG.retr_pramstr = ins_pfcode
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_retrieve_wkp();Long ll_row
- Long ll_mtrlid
- Long ll_dftwrkgrpid
- Long ll_i,ll_j,ll_row_copy
- String ls_mtrlcode
- Long ll_mb_mtrlid
- ll_j = 0
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- ll_dftwrkgrpid = 0
- ELSE
- ll_dftwrkgrpid = dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row]
- END IF
- //只显未产品默认制造车间相关的工组
- datawindowchild childdw
- dw_3.SetTransObject (sqlca)
- dw_3.GetChild("swkpid",childdw)
- childdw.SetTransObject (sqlca)
- IF childdw.Retrieve(ll_dftwrkgrpid) = 0 THEN
- childdw.InsertRow(0)
- END IF
- datawindowchild childdwo
- dw_3.SetTransObject (sqlca)
- dw_3.GetChild("owkpid",childdwo)
- childdwo.SetTransObject (sqlca)
- IF childdwo.Retrieve(ll_dftwrkgrpid) = 0 THEN
- childdwo.InsertRow(0)
- END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- IF ll_row <= 0 THEN
- dw_3.Reset()
- ELSE
- IF dw_1.Object.ifmod_wkp[ll_row] = 0 THEN
- ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[ll_row]
- ll_mb_mtrlid = dw_1.Object.mb_mtrlid[ll_row]
-
- IF ll_mb_mtrlid > 0 THEN
- dw_3.Retrieve(ll_mb_mtrlid)
- ELSE
- dw_3.Retrieve(ll_mtrlid)
- END IF
- ELSE
- dw_3.Reset()
- dw_copy_wkp.SetFilter("u_mtrldef_mtrlcode = '"+ls_mtrlcode + "'")
- dw_copy_wkp.Filter()
- FOR ll_i = 1 To dw_copy_wkp.RowCount()
- dw_copy_wkp.RowsCopy (ll_i,ll_i,Primary!,dw_3,ll_i,Primary!)
- NEXT
- END IF
- END IF
- end event
- event ue_gydscrp();IF dw_3.GetRow() <= 0 THEN
- MessageBox('系统提示','请先选择明细行')
- RETURN
- END IF
- s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_3.AcceptText()
- ls_dscrp = dw_3.Object.gydscrp[dw_3.GetRow()]
- s_view.Title = '产品生产流程工艺说明'
- s_view.dscrp = ls_dscrp
- s_view.editmode = ins_ifmod_wp
- OpenWithParm(w_mtrlwkp_gydscrp_edit,s_view)
- IF ins_ifmod_wp THEN
- s_return = Message.PowerObjectParm
- IF s_return.returnflag = 1 THEN RETURN
- dw_3.Object.gydscrp[dw_3.GetRow()] = s_return.dscrp
- dw_3.Object.gydscrplen[dw_3.GetRow()] = lena(s_return.dscrp)
- END IF
- end event
- event ue_copy_mx();IF ins_ifmod THEN
- MessageBox('系统提示','编辑状态下不能使用复制功能')
- RETURN
- END IF
- IF ins_ifmod_wp THEN
- MessageBox('系统提示','编辑明细状态下不能使用复制功能')
- RETURN
- END IF
- Long ll_lp,ll_row,ll_i,ll_j
- string ls_mtrlcode
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要复制清单的半成品')
- return
- END IF
- ll_lp = dw_1.Object.lp[ll_row]
- IF ll_lp = 0 THEN
- MessageBox('系统提示','主产品不能使用复制功能')
- RETURN
- END IF
- ls_mtrlcode = dw_1.object.u_mtrldef_mtrlcode[ll_row]
- dw_copy_main.Reset()
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN EXIT
-
- ll_j++
- dw_1.RowsCopy (ll_i,ll_i,Primary!,dw_copy_main,ll_j,Primary!)
-
- NEXT
- ins_copy_type = 0
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.复制 '+ ls_mtrlcode +' 下级组成物料'
- MessageBox('系统提示','复制成功')
- end event
- event ue_paste_mx();IF ins_ifmod THEN
- MessageBox('系统提示','编辑状态下不能使用粘贴功能')
- RETURN
- END IF
- IF ins_ifmod_wp THEN
- MessageBox('系统提示','编辑明细状态下不能使用粘贴功能')
- RETURN
- END IF
- Long ll_lp,ll_row,ll_i,ll_j,ll_lp_ds,ll_row_add
- String ls_mtrlcode
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要粘贴清单的半成品')
- return
- END IF
- ll_lp = dw_1.Object.lp[ll_row]
- IF ll_lp <> 0 THEN
- IF dw_1.Object.ifnewadd[ll_row] <> 1 THEN
- MessageBox('系统提示','只能在新建的资料或主产品上使用粘贴功能')
- RETURN
- END IF
- END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- IF dw_copy_main.RowCount() = 0 THEN
- MessageBox('系统提示','没有可粘贴的内容')
- RETURN
- END IF
- IF ll_row = dw_1.RowCount() THEN
- ll_row_add = ll_row
- ELSE
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN
- ll_row_add = ll_i - 1
- EXIT
- END IF
- NEXT
-
- IF ll_row_add = 0 THEN
- ll_row_add = dw_1.RowCount()
- END IF
- END IF
- ll_lp_ds = dw_copy_main.Object.lp[1]
- dw_copy_main.AcceptText()
- FOR ll_i = 1 To dw_copy_main.RowCount()
-
- IF ins_copy_type = 0 THEN
- dw_copy_main.Object.lp[ll_i] = dw_copy_main.Object.lp[ll_i] + (ll_lp_ds - 1 - ll_lp)
- ELSEIF ins_copy_type = 1 THEN
- dw_copy_main.Object.lp[ll_i] = dw_copy_main.Object.lp[ll_i] + (ll_lp - ll_lp_ds + 1)
- END IF
- dw_copy_main.Object.iflock[ll_i] = 0
-
- NEXT
- dw_copy_main.AcceptText()
- dw_1.SetRedraw(False)
- FOR ll_i = 1 To dw_copy_main.RowCount()
-
- dw_copy_main.RowsCopy (ll_i,ll_i,Primary!,dw_1,ll_row_add + ll_i,Primary!)
-
- NEXT
- dw_1.SetRedraw(True)
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.对 '+ ls_mtrlcode +' 粘贴已复制的组成物料'
- end event
- event ue_copy_mx_this();IF ins_ifmod THEN
- MessageBox('系统提示','编辑状态下不能使用复制功能')
- RETURN
- END IF
- IF ins_ifmod_wp THEN
- MessageBox('系统提示','编辑明细状态下不能使用复制功能')
- RETURN
- END IF
- Long ll_lp,ll_row,ll_i,ll_j
- String ls_mtrlcode
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要复制清单的半成品')
- RETURN
- END IF
- ll_lp = dw_1.Object.lp[ll_row]
- IF ll_lp = 0 THEN
- MessageBox('系统提示','主产品不能使用复制功能')
- RETURN
- END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- dw_copy_main.Reset()
- FOR ll_i = ll_row To dw_1.RowCount()
- IF ll_i <> ll_row THEN
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN EXIT
- END IF
-
- ll_j++
- dw_1.RowsCopy (ll_i,ll_i,Primary!,dw_copy_main,ll_j,Primary!)
-
- NEXT
- ins_copy_type = 1
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.复制 '+ ls_mtrlcode +' 及其下级组成物料'
- MessageBox('系统提示','复制成功')
- end event
- event ue_paste_mx_same();IF ins_ifmod THEN
- MessageBox('系统提示','编辑状态下不能使用粘贴功能')
- RETURN
- END IF
- IF ins_ifmod_wp THEN
- MessageBox('系统提示','编辑明细状态下不能使用粘贴功能')
- RETURN
- END IF
- Long ll_lp,ll_row,ll_i,ll_j,ll_lp_ds,ll_row_add
- String ls_mtrlcode
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要粘贴清单的半成品')
- return
- END IF
- ll_lp = dw_1.Object.lp[ll_row]
- if ll_lp = 0 then
- MessageBox('系统提示','主产品上不能使用本功能')
- RETURN
- END IF
- //IF ll_lp <> 0 THEN
- // IF dw_1.Object.ifnewadd[ll_row] <> 1 THEN
- // MessageBox('系统提示','只能在新建的资料或主产品上使用粘贴功能')
- // RETURN
- // END IF
- //END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- IF dw_copy_main.RowCount() = 0 THEN
- MessageBox('系统提示','没有可粘贴的内容')
- RETURN
- END IF
- IF ll_row = dw_1.RowCount() THEN
- ll_row_add = ll_row
- ELSE
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN
- ll_row_add = ll_i - 1
- EXIT
- END IF
- NEXT
-
- IF ll_row_add = 0 THEN
- ll_row_add = dw_1.RowCount()
- END IF
- END IF
- ll_lp_ds = dw_copy_main.Object.lp[1]
- dw_copy_main.AcceptText()
- FOR ll_i = 1 To dw_copy_main.RowCount()
-
- // IF ins_copy_type = 0 THEN
- dw_copy_main.Object.lp[ll_i] = dw_copy_main.Object.lp[ll_i] + (ll_lp - ll_lp_ds)
- // ELSEIF ins_copy_type = 1 THEN
- // dw_copy_main.Object.lp[ll_i] = dw_copy_main.Object.lp[ll_i] + (ll_lp - ll_lp_ds + 1)
- // END IF
- dw_copy_main.Object.iflock[ll_i] = 0
-
- NEXT
- dw_copy_main.AcceptText()
- dw_1.SetRedraw(False)
- FOR ll_i = 1 To dw_copy_main.RowCount()
-
- dw_copy_main.RowsCopy (ll_i,ll_i,Primary!,dw_1,ll_row_add + ll_i,Primary!)
-
- NEXT
- dw_1.SetRedraw(True)
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.对 '+ ls_mtrlcode +' 同级粘贴已复制的组成物料'
- end event
- event ue_templet_ch();IF Not ins_ifmod_wp THEN RETURN
- Long ll_row
- Long child_row
- String ls_mtrlcode
- Long ll_mtrlid
- ll_row = dw_1.GetRow()
- child_row = dw_2.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','没有正确的物料内容')
- RETURN
- END IF
- IF dw_1.Object.u_mtrldef_mtrlorigin[ll_row] <> 0 THEN
- MessageBox('系统提示','只有自制来源的产品及半成品才能编辑工价表明细,请检查')
- RETURN
- END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- Long ls_j
- IF Not IsValid(w_mtrl_workprice_templet_ch) THEN
- Open(w_mtrl_workprice_templet_ch)
-
- s_workpricetable_array s_ch
- s_ch = Message.PowerObjectParm
-
- dw_2.reset()
-
- FOR ls_j = 1 To UpperBound(s_ch.proid)
- IF s_ch.proid[ls_j] > 0 THEN //正常返回值则可以取以下值
-
- child_row = dw_2.InsertRow(0)
-
- dw_2.Object.proid[child_row] = s_ch.proid[ls_j]
- dw_2.Object.procode[child_row] = s_ch.procode[ls_j]
- dw_2.Object.u_sc_workprice_proname[child_row] = s_ch.proname[ls_j]
- dw_2.Object.worklevel[child_row] = s_ch.worklevel[ls_j]
- dw_2.Object.techlevel[child_row] = s_ch.techlevel[ls_j]
- dw_2.Object.workhour[child_row] = s_ch.workhour[ls_j]
- dw_2.Object.wrkgrpid[child_row] = s_ch.wrkgrpid[ls_j]
- dw_2.Object.workprice[child_row] = s_ch.workprice[ls_j]
-
- dw_2.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
-
-
- IF child_row > 1 THEN
- dw_2.Object.proorder[child_row] = dw_2.Object.proorder[child_row - 1] + 1
- END IF
- END IF
- NEXT
-
- dw_2.SetRow(child_row)
- dw_2.ScrollToRow(child_row)
- dw_2.SetFocus()
- IF UpperBound(s_ch.proid) > 0 THEN
- dw_2.SetColumn("workprice")
- END IF
- END IF
- dw_2.SetRedraw(True)
- dw_2.SetFocus()
- end event
- event ue_wp_u_workqtystr();IF Not ins_ifmod_wp THEN RETURN
- dw_2.AcceptText()
- String ls_workqtystr
- Long ll_row
- s_edit_index_tran s_tran_str
- ll_row = dw_2.GetRow()
- IF ll_row <= 0 THEN RETURN
- ls_workqtystr = dw_2.Object.u_sc_workprice_u_workqtystr[ll_row]
- s_tran_str.b_long = 1 // 0-工价,1-数量
- s_tran_str.b_string = ls_workqtystr
- OpenWithParm(w_mtrl_workpricestr_compute_edit,s_tran_str)
- ls_workqtystr = Message.StringParm
- dw_2.Object.u_sc_workprice_u_workqtystr[ll_row] = ls_workqtystr
- dw_2.AcceptText()
- end event
- event ue_wp_workqtystr();IF Not ins_ifmod_wp THEN RETURN
- dw_2.AcceptText()
- String ls_workqtystr
- Long ll_row
- s_edit_index_tran s_tran_str
- ll_row = dw_2.GetRow()
- IF ll_row <= 0 THEN RETURN
- ls_workqtystr = dw_2.Object.u_sc_workprice_workqtystr[ll_row]
- s_tran_str.b_long = 1 // 0-工价,1-数量
- s_tran_str.b_string = ls_workqtystr
- OpenWithParm(w_mtrl_workpricestr_compute_edit,s_tran_str)
- ls_workqtystr = Message.StringParm
- dw_2.Object.u_sc_workprice_workqtystr[ll_row] = ls_workqtystr
- dw_2.AcceptText()
- end event
- event ue_wp_u_pricestr();IF Not ins_ifmod_wp THEN RETURN
- dw_2.AcceptText()
- String ls_pricestr
- Long ll_row
- s_edit_index_tran s_tran_str
- ll_row = dw_2.GetRow()
- IF ll_row <= 0 THEN RETURN
- ls_pricestr = dw_2.Object.u_sc_workprice_u_pricestr[ll_row]
- s_tran_str.b_long = 0 // 0-工价,1-数量
- s_tran_str.b_string = ls_pricestr
- OpenWithParm(w_mtrl_workpricestr_compute_edit,s_tran_str)
- ls_pricestr = Message.StringParm
- dw_2.Object.u_sc_workprice_u_pricestr[ll_row] = ls_pricestr
- dw_2.AcceptText()
- end event
- event ue_wp_pricestr();IF Not ins_ifmod_wp THEN RETURN
- dw_2.AcceptText()
- String ls_pricestr
- Long ll_row
- s_edit_index_tran s_tran_str
- ll_row = dw_2.GetRow()
- IF ll_row <= 0 THEN RETURN
- ls_pricestr = dw_2.Object.u_sc_workprice_pricestr[ll_row]
- s_tran_str.b_long = 0 // 0-工价,1-数量
- s_tran_str.b_string = ls_pricestr
- OpenWithParm(w_mtrl_workpricestr_compute_edit,s_tran_str)
- ls_pricestr = Message.StringParm
- dw_2.Object.u_sc_workprice_pricestr[ll_row] = ls_pricestr
- dw_2.AcceptText()
- end event
- event ue_import_xls_4();// 导入Excel
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_lp
- Long ll_row,ll_row_new
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- String ls_col16, ls_col17
- Long ll_newrow
- String ls_promode,ls_pfgroup,ls_pfgroupmode,ls_pfklmode
- Decimal ld_pfgroupqty,lde_qty_mx
- String ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou
- string ls_dscrp
- Long ll_modleid
- String ls_modlename
- String ls_pfgroup_p
- Select count(*)
- Into :cnt
- From u_mtrl_wkp_tech_modle;
- If sqlca.SQLCode <> 0 Then cnt = 0
- If cnt = 1 Then
- Select top 1 modleid,
- modlename
- Into :ll_modleid,
- :ls_modlename
- From u_mtrl_wkp_tech_modle;
- If sqlca.SQLCode <> 0 Then
- ll_modleid = 0
- ls_modlename = ''
- End If
- End If
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- //插入产品
- wf_re_mtrl(0)
- End If
- dw_1.SetRedraw(False)
- For ll_row = 7 To ds_col30.RowCount()
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,14)) = '' And Trim(ds_col30.GetItemString(ll_row,2)) = '' Then Exit
-
- ls_mtrlcode_p = Trim(ds_col30.GetItemString(ll_row,13))
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,15))
- ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,14))
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,21)))
- lde_qty = Dec(Trim(ds_col30.GetItemString(ll_row,7))) //部件数量
- lde_qty_mx = Dec(Trim(ds_col30.GetItemString(ll_row,19))) //
-
- If IsNull(ld_sonscale) Then ld_sonscale = 0
-
- If ld_sonscale = 0 Then
- If lde_qty = 0 Then
- ld_sonscale = lde_qty_mx
- Else
- ld_sonscale = lde_qty
- End If
- End If
-
- ls_promode = Trim(ds_col30.GetItemString(ll_row,3))
- ls_pfgroup = Trim(ds_col30.GetItemString(ll_row,2))
- // ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5)) + '*'+Trim(ds_col30.GetItemString(ll_row,6))+'*'+Trim(ds_col30.GetItemString(ll_row,7))
- // ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16)) + '*'+Trim(ds_col30.GetItemString(ll_row,17))+'*'+Trim(ds_col30.GetItemString(ll_row,18))
-
- ls_pfgroupmode = ''
- ls_pfklmode = ''
-
- If Trim(ds_col30.GetItemString(ll_row,4)) <> '' Then
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,4))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,5)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,5))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,6)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,6))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,6))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,16)) <> '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,17)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,17))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,17))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,18)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,18))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,18))
- End If
- End If
-
- ls_wenli = Trim(ds_col30.GetItemString(ll_row,8))
- ls_fengbian = Trim(ds_col30.GetItemString(ll_row,9))
- ls_paikong = Trim(ds_col30.GetItemString(ll_row,10))
- ls_luoji = Trim(ds_col30.GetItemString(ll_row,11))
- ls_penyou = Trim(ds_col30.GetItemString(ll_row,12))
-
- ls_dscrp = Trim(ds_col30.GetItemString(ll_row,27))
-
- ls_col16 = Trim(ds_col30.GetItemString(ll_row,16))
- ls_col17 = Trim(ds_col30.GetItemString(ll_row,17))
-
- If ls_pfgroup = '' Then
- ls_pfgroup = ls_pfgroup_p + '封边带'
- Else
- ls_pfgroup_p = ls_pfgroup
- End If
-
-
-
- // If lde_qty <> 0 Then
- // ld_sonscale = ld_sonscale / lde_qty
- // End If
-
- // If ls_mtrlcode_p <> "" Then
- //
- // cnt = 0
- // Select COUNT(*)
- // Into :cnt
- // From u_mtrldef
- // Where (mtrlcode = :ls_mtrlcode_p)
- // And (mtrlorigin = 0);
- // If sqlca.SQLCode = -1 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_p + ',部件查询资料定义表失败,' + sqlca.SQLErrText
- // Goto ext
- // ElseIf sqlca.SQLCode = 100 Then
- // cnt = 0
- // End If
- //
- // If cnt > 1 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_p + ',部件资料定义有' + String(cnt) + '条重复记录'
- // Goto ext
- // ElseIf cnt = 1 Then //插入部件
- // Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- // From u_mtrldef Where mtrlcode = :ls_mtrlcode_p;
- // If sqlca.SQLCode <> 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- // Goto ext
- // End If
- //
- // If ll_dftwrkgrpid = 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码资料的默认生产车间未设置,请检查'
- // Goto ext
- // Else
- // Select top 1 wrkgrpid Into :ll_wrkgrpid_scll
- // From u_sc_workgroup
- // Where storageid = :ll_dftwrkgrpid
- // Order By wrkgrpcode;
- // If sqlca.SQLCode <> 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码资料默认生产车间第1工组失败,可能资料未定义' + sqlca.SQLErrText
- // Goto ext
- // End If
- // End If
- // //插入部件
- // wf_add_row(ll_mtrlid_p, '', 1, 1, arg_msg,ll_row_new)
- // ElseIf cnt = 0 Then //插入新行-部件
- // //插入部件
- // wf_add_row_null(ls_mtrlcode_p, 1, 1, arg_msg,ll_row_new)
- // End If
- //
- // If ll_row_new > 0 Then
- // dw_1.Object.u_prdpf_sonpfcode[ll_row_new] = ins_pfcode
- // dw_1.Object.u_prdpf_dipztype[ll_row_new] = 3
- // dw_1.Object.u_prdpf_ifover[ll_row_new] = 1
- // End If
- //
- // End If //ls_mtrlcode_p <> ""
- //
-
- //插入新行
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where u_mtrldef.mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- // If ls_col16 = '' And ls_col17 = '' Then
- ll_lp = 1
- // Else
- // ll_lp = 2
- // End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入材料
- wf_add_row(ll_mtrlid, '', ll_lp, ld_sonscale, arg_msg,ll_row_new)
-
- If wf_addmx_row(ll_mtrlid,'',ll_lp + 1,ll_row_new + 1 ,ld_sonscale,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- ElseIf cnt = 0 Then //插入新行-部件
- //插入材料
- wf_add_row_null(ls_mtrlname, ll_lp, ld_sonscale, arg_msg,ll_row_new)
- End If
-
- If ll_row_new > 0 Then
- dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_pfgroup
- dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
- // If ll_lp = 1 Then
- // dw_1.Object.u_prdpf_dipztype[ll_row_new] = 3
- // dw_1.Object.u_prdpf_ifover[ll_row_new] = 1
- // else
- dw_1.Object.u_prdpf_dipztype[ll_row_new] = -1
- dw_1.Object.u_prdpf_ifover[ll_row_new] = 0
- // End If
-
- If lde_qty > 0 Then
- dw_1.Object.u_prdpf_modleid[ll_row_new] = ll_modleid
- dw_1.Object.u_prdpf_modlename[ll_row_new] = ls_modlename
- End If
-
- End If
-
- Next
- ext:
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event ue_import_xls_5();// 导入Excel
- If ins_mtrlid = 0 Then
- MessageBox('系统提示','请先选择产品')
- Return
- End If
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_lp
- Long ll_row,ll_row_new,ll_row_newmx
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- String ls_col16, ls_col17
- Long ll_newrow
- String ls_promode,ls_pfgroup,ls_pfgroupmode,ls_pfklmode
- Decimal ld_pfgroupqty,lde_qty_mx
- String ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou
- String ls_dscrp
- Long ll_modleid
- String ls_modlename
- String ls_pfgroup_p
- String ls_mtrlcode_ban,ls_mtrlname_ban
- Long ll_lp_add,ll_lp_add_p //用于记录增加胚板/后段板后,对应增加的层级数
- String unit_f,mtrlsectype_f,zxmtrlmode_f,usermtrlmode_f,piccode_f
- Long mtrltypeid_f,ifselforder_f,ordertype_f,scid_f,dftwrkgrpid_f,mtrlprp_f
- Decimal orderdays_f,buydays_f,wfjgdays_f
- Long mtrlid_f,dftscllwkpid_f,outtype_f
- String unit_a,mtrlsectype_a,zxmtrlmode_a,usermtrlmode_a,piccode_a
- Long mtrltypeid_a,ifselforder_a,ordertype_a,scid_a,dftwrkgrpid_a,mtrlprp_a
- Decimal orderdays_a,buydays_a,wfjgdays_a
- Long mtrlid_a,dftscllwkpid_a,outtype_a
- String ls_mb_mtrlcode,ls_wpcode
- Boolean lb_ifmb = False //是否有模板编码及是否成功读取模板编码资料
- Boolean lb_ifmb_a = False //后段板 是否有模板编码及是否读取数据成功
- Long ll_k,ll_row_f,ll_l,ll_j
- String ls_procode
- String ls_mb_mtrlcode_p //胚板模板
- String ls_mb_mtrlcode_a //后段板模板
- String ls_promode_lit
- Int li_ifyb_mode = 0 //压板模式
- String ls_yb_name = '' //压板名称
- Long ll_row_r,ll_cnt_r
- Long ll_lp_yb = 0,ll_lp_yb_add = 0
- DataStore ds_repeat
- ds_repeat = Create DataStore
- ds_repeat.DataObject = 'ds_mtrl_prdpf_check_repeat'
- s_workpricetable arg_s_mx[],arg_s_empty[]
- Select count(*)
- Into :cnt
- From u_mtrl_wkp_tech_modle;
- If sqlca.SQLCode <> 0 Then cnt = 0
- If cnt = 1 Then
- Select top 1 modleid,
- modlename
- Into :ll_modleid,
- :ls_modlename
- From u_mtrl_wkp_tech_modle;
- If sqlca.SQLCode <> 0 Then
- ll_modleid = 0
- ls_modlename = ''
- End If
- End If
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- //插入产品
- wf_re_mtrl(0)
- dw_copy.Reset()
- End If
- dw_1.SetRedraw(False)
- For ll_row = 7 To ds_col30.RowCount()
- //明细终止标记
- If Trim(ds_col30.GetItemString(ll_row,14)) = '' And Trim(ds_col30.GetItemString(ll_row,15)) = '' And Trim(ds_col30.GetItemString(ll_row,2)) = '' Then Exit
-
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,15))
- ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,14))
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,21)))
- lde_qty = Dec(Trim(ds_col30.GetItemString(ll_row,7))) //部件数量
- lde_qty_mx = Dec(Trim(ds_col30.GetItemString(ll_row,19))) //
-
- ls_mb_mtrlcode = Trim(ds_col30.GetItemString(ll_row,13))
-
-
-
- If IsNull(ld_sonscale) Then ld_sonscale = 0
-
- If ld_sonscale = 0 Then
- If lde_qty = 0 Then
- ld_sonscale = lde_qty_mx
- Else
- ld_sonscale = lde_qty
- End If
- End If
-
- ls_promode = Trim(ds_col30.GetItemString(ll_row,3))
-
- If Pos(ls_promode,'-') > 0 Then
- ls_promode_lit = Mid(ls_promode,Pos(ls_promode,'-') + 1)
- Else
- ls_promode_lit = ls_promode
- End If
-
-
- ls_pfgroup = Trim(ds_col30.GetItemString(ll_row,2))
- // ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5)) + '*'+Trim(ds_col30.GetItemString(ll_row,6))+'*'+Trim(ds_col30.GetItemString(ll_row,7))
- // ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16)) + '*'+Trim(ds_col30.GetItemString(ll_row,17))+'*'+Trim(ds_col30.GetItemString(ll_row,18))
-
- ls_pfgroupmode = ''
- ls_pfklmode = ''
-
- If Trim(ds_col30.GetItemString(ll_row,4)) <> '' Then
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,4))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,5)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,5))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,6)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,6))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,6))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,16)) <> '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,17)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,17))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,17))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,18)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,18))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,18))
- End If
- End If
-
- ls_wenli = Trim(ds_col30.GetItemString(ll_row,8))
- ls_fengbian = Trim(ds_col30.GetItemString(ll_row,9))
- ls_paikong = Trim(ds_col30.GetItemString(ll_row,10))
- ls_luoji = Trim(ds_col30.GetItemString(ll_row,11))
- ls_penyou = Trim(ds_col30.GetItemString(ll_row,12))
-
- ls_dscrp = Trim(ds_col30.GetItemString(ll_row,27))
-
- ls_col16 = Trim(ds_col30.GetItemString(ll_row,16))
- ls_col17 = Trim(ds_col30.GetItemString(ll_row,17))
-
- //读取模板编码资料
- If Pos(ls_mb_mtrlcode,'+') = 0 Then
- //如果模板编码不含+号,ls_mb_mtrlcode属于胚板模块编码
- ls_mb_mtrlcode_p = ls_mb_mtrlcode
-
- Else
- //如果含+号,+号前是后段板模板编码,+号后是胚板编码
- ls_mb_mtrlcode_a = Mid(ls_mb_mtrlcode , 1 , Pos(ls_mb_mtrlcode , '+') - 1 )
- ls_mb_mtrlcode_p = Mid(ls_mb_mtrlcode , Pos(ls_mb_mtrlcode , '+') + 1)
-
- End If
-
- //读取胚板模板编码信息
- lb_ifmb = False
- If ls_mb_mtrlcode_p <> '' Then
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- mtrlid,
- dftscllwkpid,
- mtrlprp,
- outtype
- Into :unit_f,
- :mtrltypeid_f,
- :mtrlsectype_f,
- :zxmtrlmode_f,
- :usermtrlmode_f,
- :piccode_f,
- :ifselforder_f,
- :ordertype_f,
- :scid_f,
- :dftwrkgrpid_f,
- :orderdays_f,
- :buydays_f,
- :wfjgdays_f,
- :mtrlid_f,
- :dftscllwkpid_f,
- :mtrlprp_f,
- :outtype_f
- From u_mtrldef
- Where mtrlcode = :ls_mb_mtrlcode_p;
- If sqlca.SQLCode <> 0 Then
- lb_ifmb = False
- Else
- lb_ifmb = True
- End If
- End If
-
- //读取后段板模板编码信息
- lb_ifmb_a = False
- If ls_mb_mtrlcode_a <> '' Then
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- mtrlid,
- dftscllwkpid,
- mtrlprp,
- outtype
- Into :unit_a,
- :mtrltypeid_a,
- :mtrlsectype_a,
- :zxmtrlmode_a,
- :usermtrlmode_a,
- :piccode_a,
- :ifselforder_a,
- :ordertype_a,
- :scid_a,
- :dftwrkgrpid_a,
- :orderdays_a,
- :buydays_a,
- :wfjgdays_a,
- :mtrlid_a,
- :dftscllwkpid_a,
- :mtrlprp_a,
- :outtype_a
- From u_mtrldef
- Where mtrlcode = :ls_mb_mtrlcode_a;
- If sqlca.SQLCode <> 0 Then
- lb_ifmb_a = False
- Else
- lb_ifmb_a = True
- End If
- End If
-
-
-
-
- //
-
-
- //增加胚板/后段板
- //在圆方导入的excel如果<封边信息>栏有录入信息则为加工板
- //如果<封边信息>栏无录入信息且在<喷油(吸塑)信息>栏录入了喷油则为喷油板
- //如果<封边信息>栏无录入信息且在<喷油(吸塑)信息>栏录入了吸塑则为吸塑板
- //喷油板,吸塑板 均为后段板
-
- //编码规则:
- //后段板编码:包件编码+部件代号
- //胚板编码:包件编码+部件代号+特殊标识号
-
-
-
-
-
- ll_lp_add = 0
- If ls_pfgroup <> '' Then //And (ls_fengbian <> '' Or ls_fengbian = '' And ls_penyou <> '' ) Then
-
- If li_ifyb_mode = 1 Then
- //如果进入压板模式,对比本行部件名称是否与压板名称匹配
- If Left(ls_pfgroup,Len(ls_yb_name)) = ls_yb_name Then
- //如匹配,本行部件是压板组料,属于压板下级
- ll_lp_yb_add = ll_lp_yb
- Else
- //如果不匹配,退出压板模式
- li_ifyb_mode = 0
- ll_lp_yb_add = 0
- End If
-
- Else
- ll_lp_yb_add = 0
-
- End If
-
-
- //新需求:压板均为胚板 20150310
- If Not (ls_fengbian = '' And ls_penyou <> '') or (ls_mtrlcode = '' And ls_mtrlname = '压板') Then //ls_fengbian <> '' Then
- //胚板(只增加一层)
- ll_lp_add = 1 + ll_lp_yb_add
-
- If ls_mtrlcode = '' And ls_mtrlname = '压板' Then
- //本物料为压板, 下级相关组料层级归到本物料下
- li_ifyb_mode = 1
- ls_yb_name = ls_pfgroup
- ll_lp_yb = 1
- End If
- Else
- //后段板(增加后段板-胚板,两层)
- ll_lp_add = 2 + ll_lp_yb_add
-
- //新需求:压板均为胚板 20150310 这段不会再执行
- If ls_mtrlcode = '' And ls_mtrlname = '压板' Then
- //本物料为压板, 下级相关组料层级归到本物料下
- li_ifyb_mode = 1
- ls_yb_name = ls_pfgroup
- ll_lp_yb = 2
- End If
- ///
-
- //增加后段板代码
- ls_mtrlcode_ban = ins_mtrlcode + '_' + ls_promode_lit //ls_promode ////需求变更:物料清单导入界面生成的板件编码不用型号,只取部件代号'-'后面部分【优适】 dyy 20141110
- ls_mtrlname_ban = ls_pfgroup + '(后段)'
-
- //检查相同部件编号但不同板件材料的情况
- If ds_repeat.Find('mtrlcode_ban = "'+ls_mtrlcode_ban+'" and mtrlcode = "'+ls_mtrlcode+'"',1,ds_repeat.RowCount()) = 0 Then
- ll_row_r = ds_repeat.InsertRow(0)
- ds_repeat.Object.mtrlcode_ban[ll_row_r] = ls_mtrlcode_ban
- ds_repeat.Object.mtrlcode[ll_row_r] = ls_mtrlcode
- End If
-
- ds_repeat.SetFilter('mtrlcode_ban = "'+ls_mtrlcode_ban+'"')
- ds_repeat.Filter()
-
- ll_cnt_r = ds_repeat.RowCount()
-
- If ll_cnt_r > 1 Then
- ls_mtrlcode_ban = ls_mtrlcode_ban + '('+String(ll_cnt_r)+')'
- End If
-
- ds_repeat.SetFilter('')
- ds_repeat.Filter()
-
- //// //
-
- If ls_mtrlcode_ban <> "" Then
-
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where (mtrlcode = :ls_mtrlcode_ban)
- And (mtrlorigin = 0);
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode_ban;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- // If ll_dftwrkgrpid = 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码资料的默认生产车间未设置,请检查'
- // Goto ext
- // Else
- // Select top 1 wrkgrpid Into :ll_wrkgrpid_scll
- // From u_sc_workgroup
- // Where storageid = :ll_dftwrkgrpid
- // Order By wrkgrpcode;
- // If sqlca.SQLCode <> 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码资料默认生产车间第1工组失败,可能资料未定义' + sqlca.SQLErrText
- // Goto ext
- // End If
- // End If
- //插入部件
- wf_add_row(ll_mtrlid_p, '', 1, lde_qty, arg_msg,ll_row_new)
- ElseIf cnt = 0 Then //插入新行-部件
- //插入部件
- wf_add_row_null(ls_mtrlname_ban, 1, lde_qty, arg_msg,ll_row_new)
-
- If ll_row_new > 0 Then
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_new] = ls_mtrlcode_ban
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_new] = 0
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = 0
- dw_1.Object.u_mtrldef_unit[ll_row_new] = '块'
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_mtrlname_ban
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_sonpfcode[ll_row_new] = '[常规]'
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_mtrldef_ban_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row_new] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row_new] = ls_dscrp
- dw_1.Object.u_mtrldef_ban_promode[ll_row_new] = ls_promode
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
-
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = 2
-
- dw_1.Object.ifnewadd[ll_row_new] = 1
- dw_1.Object.u_mtrldef_bantype[ll_row_new] = 2
- //套用模板编码资料信息
- If lb_ifmb_a Then
- dw_1.Object.u_mtrldef_unit[ll_row_new] = unit_a
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row_new] = mtrltypeid_a
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row_new] = mtrlsectype_a
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row_new] = zxmtrlmode_a
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row_new] = usermtrlmode_a
- dw_1.Object.u_mtrldef_piccode[ll_row_new] = piccode_a
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = ifselforder_a
- dw_1.Object.u_mtrldef_ordertype[ll_row_new] = ordertype_a
- dw_1.Object.u_mtrldef_scid[ll_row_new] = scid_a
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row_new] = dftwrkgrpid_a
-
- dw_1.Object.u_mtrldef_orderdays[ll_row_new] = orderdays_a
- dw_1.Object.u_mtrldef_buydays[ll_row_new] = buydays_a
- dw_1.Object.u_mtrldef_wfjgdays[ll_row_new] = wfjgdays_a
-
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = mtrlprp_a
- dw_1.Object.u_mtrldef_outtype[ll_row_new] = outtype_a
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row_new] = dftscllwkpid_a
-
- dw_1.Object.mb_mtrlcode[ll_row_new] = ls_mb_mtrlcode_a
- dw_1.Object.mb_mtrlid[ll_row_new] = mtrlid_a
-
-
- End If
-
- End If
-
- //处理工价表_后段(如果有模板编码,使用模板编码的工价表,并按[cbx_wp_pack 按清单说明自动生成包件工价表]决定是否解释清单备注到工价表)
- dw_2.Reset()
- If lb_ifmb Then
- ls_wpcode = f_get_dft_wp(mtrlid_a)
- dw_2.Retrieve(mtrlid_a,ls_wpcode)
- End If
-
- If cbx_wp_pack.Checked Then
- If Trim(ls_dscrp) <> '' Then
- arg_s_mx = arg_s_empty
- f_cmp_proname(ls_dscrp,arg_s_mx)
-
- For ll_k = 1 To UpperBound(arg_s_mx)
- cnt++
-
- // ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode + '_' + ls_promode+'"',1,dw_2.RowCount())
- ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode+'"',1,dw_2.RowCount())
-
- If ll_row_f = 0 Then
- //2014-09-15 需求变更: 模板工价表没有的工序,即使备注有,也不插入(优适), 屏蔽以下代码
- //2014-09-20 需求再变更: 旧模式要插入,新模式不插入,所以增加cbx由用户自由控制,解除屏蔽以下代码
- //2014-10-28 增加需求:如果工序有定义工价公式的,导入时将默认工式导入到工价表的工价公式
- If cbx_wp_add.Checked Then
- ll_row_newmx = dw_2.InsertRow(0)
-
- dw_2.Object.proorder[ll_row_newmx] = cnt
- dw_2.Object.procode[ll_row_newmx] = arg_s_mx[ll_k].procode // + '_' + ls_promode
- dw_2.Object.u_sc_workprice_proname[ll_row_newmx] = arg_s_mx[ll_k].proname // + '_' + ls_pfgroup
- dw_2.Object.wrkgrpid[ll_row_newmx] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_newmx] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_newmx] = 0
- Else
- dw_2.Object.workprice[ll_row_newmx] = arg_s_mx[ll_k].workprice
- End If
- dw_2.Object.workqty[ll_row_newmx] = 1
- dw_2.Object.lsxtype[ll_row_newmx] = 1
- End If
- Else
- dw_2.Object.wrkgrpid[ll_row_f] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_f] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_f] = 0
- Else
- dw_2.Object.workprice[ll_row_f] = arg_s_mx[ll_k].workprice
- End If
- End If
-
- Next
-
- End If
- End If
-
- ll_j = 0
- For ll_l = 1 To dw_2.RowCount()
- ls_procode = dw_2.Object.procode[ll_l]
- dw_2.Object.u_mtrldef_mtrlcode[ll_l] = ls_mtrlcode_ban
- dw_2.AcceptText()
-
- If dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_ban + "' and procode = '"+ls_procode+"'", 1, dw_copy.RowCount()) > 0 Then Continue
-
- ll_j++
- dw_2.RowsCopy (ll_l,ll_l,Primary!,dw_copy,ll_j,Primary!)
- Next
- dw_1.Object.ifmod_wp[ll_row_new] = 1
- //处理工价表_后段(完)
-
- End If
- End If
- //增加后段板代码(完)
-
- End If
-
- //增加胚板代码
- ls_mtrlcode_ban = ins_mtrlcode + '_' + ls_promode_lit + '_P' //ls_promode + '_P' ////需求变更:物料清单导入界面生成的板件编码不用型号,只取部件代号'-'后面部分【优适】 dyy 20141110
- ls_mtrlname_ban = ls_pfgroup
-
- //检查相同部件编号但不同板件材料的情况
- If ds_repeat.Find('mtrlcode_ban = "'+ls_mtrlcode_ban+'" and mtrlcode = "'+ls_mtrlcode+'"',1,ds_repeat.RowCount()) = 0 Then
- ll_row_r = ds_repeat.InsertRow(0)
- ds_repeat.Object.mtrlcode_ban[ll_row_r] = ls_mtrlcode_ban
- ds_repeat.Object.mtrlcode[ll_row_r] = ls_mtrlcode
- End If
-
- ds_repeat.SetFilter('mtrlcode_ban = "'+ls_mtrlcode_ban+'"')
- ds_repeat.Filter()
-
- ll_cnt_r = ds_repeat.RowCount()
-
- If ll_cnt_r > 1 Then
- ls_mtrlcode_ban = ls_mtrlcode_ban + '('+String(ll_cnt_r)+')'
- End If
-
- ds_repeat.SetFilter('')
- ds_repeat.Filter()
-
- //// //
-
- If ls_mtrlcode_ban <> "" Then
-
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where (mtrlcode = :ls_mtrlcode_ban)
- And (mtrlorigin = 0);
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode_ban;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- // If ll_dftwrkgrpid = 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码资料的默认生产车间未设置,请检查'
- // Goto ext
- // Else
- // Select top 1 wrkgrpid Into :ll_wrkgrpid_scll
- // From u_sc_workgroup
- // Where storageid = :ll_dftwrkgrpid
- // Order By wrkgrpcode;
- // If sqlca.SQLCode <> 0 Then
- // rslt = 0
- // arg_msg = '第' + String(ll_row) + '行父代码资料默认生产车间第1工组失败,可能资料未定义' + sqlca.SQLErrText
- // Goto ext
- // End If
- // End If
- //插入部件
- wf_add_row(ll_mtrlid_p, '', ll_lp_add, lde_qty, arg_msg,ll_row_new)
- ElseIf cnt = 0 Then //插入新行-部件
- //插入部件
- wf_add_row_null(ls_mtrlname_ban, ll_lp_add, lde_qty, arg_msg,ll_row_new)
-
- If ll_row_new > 0 Then
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_new] = ls_mtrlcode_ban
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_new] = 0
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = 0
- dw_1.Object.u_mtrldef_unit[ll_row_new] = '块'
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_mtrlname_ban
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_sonpfcode[ll_row_new] = '[常规]'
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_mtrldef_ban_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row_new] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row_new] = ls_dscrp
- dw_1.Object.u_mtrldef_ban_promode[ll_row_new] = ls_promode
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
-
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = 2
-
- dw_1.Object.ifnewadd[ll_row_new] = 1
- dw_1.Object.u_mtrldef_bantype[ll_row_new] = 1
- //套用模板编码资料信息
- If lb_ifmb Then
- dw_1.Object.u_mtrldef_unit[ll_row_new] = unit_f
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row_new] = mtrltypeid_f
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row_new] = mtrlsectype_f
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row_new] = zxmtrlmode_f
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row_new] = usermtrlmode_f
- dw_1.Object.u_mtrldef_piccode[ll_row_new] = piccode_f
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = ifselforder_f
- dw_1.Object.u_mtrldef_ordertype[ll_row_new] = ordertype_f
- dw_1.Object.u_mtrldef_scid[ll_row_new] = scid_f
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row_new] = dftwrkgrpid_f
-
- dw_1.Object.u_mtrldef_orderdays[ll_row_new] = orderdays_f
- dw_1.Object.u_mtrldef_buydays[ll_row_new] = buydays_f
- dw_1.Object.u_mtrldef_wfjgdays[ll_row_new] = wfjgdays_f
-
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = mtrlprp_f
- dw_1.Object.u_mtrldef_outtype[ll_row_new] = outtype_f
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row_new] = dftscllwkpid_f
-
- dw_1.Object.mb_mtrlcode[ll_row_new] = ls_mb_mtrlcode_p
- dw_1.Object.mb_mtrlid[ll_row_new] = mtrlid_f
- End If
-
- End If
-
- //处理工价表(如果有模板编码,使用模板编码的工价表,并按[cbx_wp_pack 按清单说明自动生成包件工价表]决定是否解释清单备注到工价表)
- dw_2.Reset()
- If lb_ifmb Then
- ls_wpcode = f_get_dft_wp(mtrlid_f)
- dw_2.Retrieve(mtrlid_f,ls_wpcode)
- End If
-
- If cbx_wp_pack.Checked Then
- If Trim(ls_dscrp) <> '' Then
- arg_s_mx = arg_s_empty
- f_cmp_proname(ls_dscrp,arg_s_mx)
-
- For ll_k = 1 To UpperBound(arg_s_mx)
- cnt++
-
- // ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode + '_' + ls_promode+'"',1,dw_2.RowCount())
- ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode+'"',1,dw_2.RowCount())
-
- If ll_row_f = 0 Then
- //2014-09-15 需求变更: 模板工价表没有的工序,即使备注有,也不插入(优适), 屏蔽以下代码
- //2014-09-20 需求再变更: 旧模式要插入,新模式不插入,所以增加cbx由用户自由控制,解除屏蔽以下代码
- //2014-10-28 增加需求:如果工序有定义工价公式的,导入时将默认工式导入到工价表的工价公式
- If cbx_wp_add.Checked Then
- ll_row_newmx = dw_2.InsertRow(0)
-
- dw_2.Object.proorder[ll_row_newmx] = cnt
- dw_2.Object.procode[ll_row_newmx] = arg_s_mx[ll_k].procode // + '_' + ls_promode
- dw_2.Object.u_sc_workprice_proname[ll_row_newmx] = arg_s_mx[ll_k].proname // + '_' + ls_pfgroup
- dw_2.Object.wrkgrpid[ll_row_newmx] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_newmx] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_newmx] = 0
- Else
- dw_2.Object.workprice[ll_row_newmx] = arg_s_mx[ll_k].workprice
- End If
- dw_2.Object.workqty[ll_row_newmx] = 1
- dw_2.Object.lsxtype[ll_row_newmx] = 1
- End If
- Else
- dw_2.Object.wrkgrpid[ll_row_f] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_f] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_f] = 0
- Else
- dw_2.Object.workprice[ll_row_f] = arg_s_mx[ll_k].workprice
- End If
- End If
-
- Next
-
- End If
- End If
-
- ll_j = 0
- For ll_l = 1 To dw_2.RowCount()
- ls_procode = dw_2.Object.procode[ll_l]
- dw_2.Object.u_mtrldef_mtrlcode[ll_l] = ls_mtrlcode_ban
- dw_2.AcceptText()
-
- If dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_ban + "' and procode = '"+ls_procode+"'", 1, dw_copy.RowCount()) > 0 Then Continue
-
- ll_j++
- dw_2.RowsCopy (ll_l,ll_l,Primary!,dw_copy,ll_j,Primary!)
- Next
- dw_1.Object.ifmod_wp[ll_row_new] = 1
- //处理工价表(完)
- End If
- End If
- //增加胚板代码(完)
-
-
- End If
-
-
- If ls_pfgroup = '' Then
- ls_pfgroup = ls_pfgroup_p + '封边带'
- ll_lp_add = ll_lp_add_p
- Else
- ls_pfgroup_p = ls_pfgroup
- ll_lp_add_p = ll_lp_add
- End If
-
- If Not (ls_mtrlcode = '' And ls_mtrlname = '压板') Then
- //插入新行
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where u_mtrldef.mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- ll_lp = ll_lp_add + 1
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入材料
- wf_add_row(ll_mtrlid, '', ll_lp, ld_sonscale, arg_msg,ll_row_new)
-
- If wf_addmx_row(ll_mtrlid,'',ll_lp + 1,ll_row_new + 1 ,ld_sonscale,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- ElseIf cnt = 0 Then //插入新行-部件
- //插入材料
- wf_add_row_null(ls_mtrlname, ll_lp, ld_sonscale, arg_msg,ll_row_new)
- End If
-
- If ll_row_new > 0 Then
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_pfgroup
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
- // If ll_lp = 1 Then
- // dw_1.Object.u_prdpf_dipztype[ll_row_new] = 3
- // dw_1.Object.u_prdpf_ifover[ll_row_new] = 1
- // else
- dw_1.Object.u_prdpf_dipztype[ll_row_new] = -1
- dw_1.Object.u_prdpf_ifover[ll_row_new] = 0
- // End If
-
- If lde_qty > 0 Then
- dw_1.Object.u_prdpf_modleid[ll_row_new] = ll_modleid
- dw_1.Object.u_prdpf_modlename[ll_row_new] = ls_modlename
- End If
-
- End If
- End If
-
- Next
- ext:
- Destroy ds_repeat
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event ue_import_xls_6();// 导入Excel
- If ins_mtrlid = 0 Then
- MessageBox('系统提示','请先选择产品')
- Return
- End If
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_lp
- Long ll_row,ll_row_new,ll_row_newmx
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- String ls_col16, ls_col17
- Long ll_newrow
- String ls_promode,ls_pfgroup,ls_pfgroupmode,ls_pfklmode
- Decimal ld_pfgroupqty,lde_qty_mx
- String ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou
- String ls_dscrp
- Long ll_modleid
- String ls_modlename
- String ls_pfgroup_p
- String ls_mtrlcode_ban,ls_mtrlname_ban
- Long ll_lp_add,ll_lp_add_p //用于记录增加胚板/后段板后,对应增加的层级数
- String unit_f,mtrlsectype_f,zxmtrlmode_f,usermtrlmode_f,piccode_f
- Long mtrltypeid_f,ifselforder_f,ordertype_f,scid_f,dftwrkgrpid_f,mtrlprp_f
- Decimal orderdays_f,buydays_f,wfjgdays_f
- Long mtrlid_f,dftscllwkpid_f,outtype_f
- String unit_a,mtrlsectype_a,zxmtrlmode_a,usermtrlmode_a,piccode_a
- Long mtrltypeid_a,ifselforder_a,ordertype_a,scid_a,dftwrkgrpid_a,mtrlprp_a
- Decimal orderdays_a,buydays_a,wfjgdays_a
- Long mtrlid_a,dftscllwkpid_a,outtype_a
- String ls_mb_mtrlcode,ls_wpcode
- Boolean lb_ifmb = False //是否有模板编码及是否成功读取模板编码资料
- Boolean lb_ifmb_a = False //后段板 是否有模板编码及是否读取数据成功
- Long ll_k,ll_row_f,ll_l,ll_j
- String ls_procode
- String ls_mb_mtrlcode_p //胚板模板
- String ls_mb_mtrlcode_a //后段板模板
- String ls_direction //摆放方向(文本)
- Int li_direction //摆放方向(数值 0 -横 1-竖)
- String ls_pid //序号(文本)
- Decimal ld_midu,ld_cubage,ld_cubage_cl,ld_length,ld_width,ld_length_cl,ld_width_cl
- string ls_dscrp_mtrl
- s_workpricetable arg_s_mx[],arg_s_empty[]
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- //插入产品
- wf_re_mtrl(0)
- End If
- dw_1.SetRedraw(False)
- For ll_row = 8 To ds_col30.RowCount()
- //明细终止标记(部件名称及材料名称都为空)
- If Trim(ds_col30.GetItemString(ll_row,9)) = '' And Trim(ds_col30.GetItemString(ll_row,2)) = '' Then Exit
-
- ls_pid = Trim(ds_col30.GetItemString(ll_row,1))
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,9))
- // ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,14))
-
- Select mtrlcode,midu Into :ls_mtrlcode,:ld_midu
- From u_mtrldef
- Where mtrlname = :ls_mtrlname;
- If sqlca.SQLCode <> 0 Then ls_mtrlcode = ''
-
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,16)))
- lde_qty = Dec(Trim(ds_col30.GetItemString(ll_row,7))) //部件数量
- lde_qty_mx = Dec(Trim(ds_col30.GetItemString(ll_row,16))) //
-
- ld_cubage = (Dec(Trim(ds_col30.GetItemString(ll_row,4))) * Dec(Trim(ds_col30.GetItemString(ll_row,5))) * Dec(Trim(ds_col30.GetItemString(ll_row,6))) ) / 1000000000
- ld_cubage_cl = (Dec(Trim(ds_col30.GetItemString(ll_row,13))) * Dec(Trim(ds_col30.GetItemString(ll_row,14))) * Dec(Trim(ds_col30.GetItemString(ll_row,15))) ) / 1000000000
-
- ld_length = Dec(Trim(ds_col30.GetItemString(ll_row,4)))
- ld_width = Dec(Trim(ds_col30.GetItemString(ll_row,5)))
-
- ld_length_cl = Dec(Trim(ds_col30.GetItemString(ll_row,13)))
- ld_width_cl = Dec(Trim(ds_col30.GetItemString(ll_row,14)))
-
- ls_dscrp_mtrl = Trim(ds_col30.GetItemString(ll_row,17))
-
- ls_direction = Trim(ds_col30.GetItemString(ll_row,12))
-
- If ls_direction = '竖' Then
- li_direction = 1
- Else
- li_direction = 0
- End If
-
- //模板编码
- ls_mb_mtrlcode = Trim(ds_col30.GetItemString(ll_row,18))
-
- If IsNull(ld_sonscale) Then ld_sonscale = 0
-
- If ld_sonscale = 0 Then
- If lde_qty = 0 Then
- ld_sonscale = lde_qty_mx
- Else
- ld_sonscale = lde_qty
- End If
- End If
-
- ls_promode = Trim(ds_col30.GetItemString(ll_row,3))
- ls_pfgroup = Trim(ds_col30.GetItemString(ll_row,2))
- // ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5)) + '*'+Trim(ds_col30.GetItemString(ll_row,6))+'*'+Trim(ds_col30.GetItemString(ll_row,7))
- // ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16)) + '*'+Trim(ds_col30.GetItemString(ll_row,17))+'*'+Trim(ds_col30.GetItemString(ll_row,18))
-
- ls_pfgroupmode = ''
- ls_pfklmode = ''
-
- If Trim(ds_col30.GetItemString(ll_row,4)) <> '' Then
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,4))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,5)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,5))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,6)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,6))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,6))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,13)) <> '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,13))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,14)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,14))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,14))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,15)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,15))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,15))
- End If
- End If
-
- ls_fengbian = Trim(ds_col30.GetItemString(ll_row,11))
-
- ls_dscrp = Trim(ds_col30.GetItemString(ll_row,17))
-
- //读取胚板模板编码信息
- lb_ifmb = False
- If ls_mb_mtrlcode <> '' Then
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- mtrlid,
- dftscllwkpid,
- mtrlprp,
- outtype
- Into :unit_f,
- :mtrltypeid_f,
- :mtrlsectype_f,
- :zxmtrlmode_f,
- :usermtrlmode_f,
- :piccode_f,
- :ifselforder_f,
- :ordertype_f,
- :scid_f,
- :dftwrkgrpid_f,
- :orderdays_f,
- :buydays_f,
- :wfjgdays_f,
- :mtrlid_f,
- :dftscllwkpid_f,
- :mtrlprp_f,
- :outtype_f
- From u_mtrldef
- Where mtrlcode = :ls_mb_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- lb_ifmb = False
- Else
- lb_ifmb = True
- End If
- End If
-
-
- If ls_pfgroup <> '' Then
-
- ll_lp_add = 1
-
- //增加胚板代码
- If ls_promode <> '' Then
- ls_mtrlcode_ban = ins_mtrlcode + '_' + ls_promode
- Else
- ls_mtrlcode_ban = ins_mtrlcode + '_part' +ls_pid
- End If
-
- ls_mtrlname_ban = ls_pfgroup
-
- If ls_mtrlcode_ban <> "" Then
-
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where (mtrlcode = :ls_mtrlcode_ban)
- And (mtrlorigin = 0);
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode_ban;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入部件
- wf_add_row(ll_mtrlid_p, '', ll_lp_add, lde_qty, arg_msg,ll_row_new)
- dw_1.Object.u_mtrldef_bantype[ll_row_new] = 1
-
- dw_1.Object.u_mtrldef_midu[ll_row_new] = ld_midu
- dw_1.Object.cubage[ll_row_new] = ld_cubage
-
- dw_1.Object.Length[ll_row_new] = ld_length
- dw_1.Object.Width[ll_row_new] = ld_width
- ElseIf cnt = 0 Then //插入新行-部件
- //插入部件
- wf_add_row_null(ls_mtrlname_ban, ll_lp_add, lde_qty, arg_msg,ll_row_new)
-
- If ll_row_new > 0 Then
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_new] = ls_mtrlcode_ban
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_new] = 0
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = 0
- dw_1.Object.u_mtrldef_unit[ll_row_new] = '块'
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_mtrlname_ban
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_sonpfcode[ll_row_new] = '[常规]'
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_mtrldef_ban_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row_new] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row_new] = ls_dscrp
- dw_1.Object.u_mtrldef_ban_promode[ll_row_new] = ls_promode
- dw_1.Object.u_mtrldef_ban_direction[ll_row_new] = li_direction
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
-
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = 2
-
- dw_1.Object.ifnewadd[ll_row_new] = 1
- dw_1.Object.u_mtrldef_bantype[ll_row_new] = 1
-
- dw_1.Object.u_mtrldef_midu[ll_row_new] = ld_midu
- dw_1.Object.cubage[ll_row_new] = ld_cubage
-
- dw_1.Object.Length[ll_row_new] = ld_length
- dw_1.Object.Width[ll_row_new] = ld_width
-
- dw_1.Object.u_mtrldef_dscrp[ll_row_new] = ls_dscrp_mtrl
-
- //套用模板编码资料信息
- If lb_ifmb Then
- dw_1.Object.u_mtrldef_unit[ll_row_new] = unit_f
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row_new] = mtrltypeid_f
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row_new] = mtrlsectype_f
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row_new] = zxmtrlmode_f
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row_new] = usermtrlmode_f
- dw_1.Object.u_mtrldef_piccode[ll_row_new] = piccode_f
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = ifselforder_f
- dw_1.Object.u_mtrldef_ordertype[ll_row_new] = ordertype_f
- dw_1.Object.u_mtrldef_scid[ll_row_new] = scid_f
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row_new] = dftwrkgrpid_f
-
- dw_1.Object.u_mtrldef_orderdays[ll_row_new] = orderdays_f
- dw_1.Object.u_mtrldef_buydays[ll_row_new] = buydays_f
- dw_1.Object.u_mtrldef_wfjgdays[ll_row_new] = wfjgdays_f
-
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = mtrlprp_f
- dw_1.Object.u_mtrldef_outtype[ll_row_new] = outtype_f
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row_new] = dftscllwkpid_f
-
- dw_1.Object.mb_mtrlcode[ll_row_new] = ls_mb_mtrlcode
- dw_1.Object.mb_mtrlid[ll_row_new] = mtrlid_f
- End If
- End If
-
-
- End If
- End If
- //增加胚板代码(完)
-
-
- End If
-
-
- ls_pfgroup_p = ls_pfgroup
- ll_lp_add_p = ll_lp_add
-
- //插入新行
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where u_mtrldef.mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- ll_lp = ll_lp_add + 1
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入材料
- wf_add_row(ll_mtrlid, '', ll_lp, ld_sonscale, arg_msg,ll_row_new)
-
- If wf_addmx_row(ll_mtrlid,'',ll_lp + 1,ll_row_new + 1 ,ld_sonscale,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- ElseIf cnt = 0 Then //插入新行-部件
- //插入材料
- wf_add_row_null(ls_mtrlname, ll_lp, ld_sonscale, arg_msg,ll_row_new)
- End If
-
- If ll_row_new > 0 Then
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_pfgroup
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_mtrldef_midu[ll_row_new] = ld_midu
- dw_1.Object.cubage[ll_row_new] = ld_cubage_cl
-
- dw_1.Object.Length[ll_row_new] = ld_length_cl
- dw_1.Object.Width[ll_row_new] = ld_width_cl
-
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
- // If ll_lp = 1 Then
- // dw_1.Object.u_prdpf_dipztype[ll_row_new] = 3
- // dw_1.Object.u_prdpf_ifover[ll_row_new] = 1
- // else
- dw_1.Object.u_prdpf_dipztype[ll_row_new] = -1
- dw_1.Object.u_prdpf_ifover[ll_row_new] = 0
- // End If
-
- End If
-
- Next
- ext:
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event ue_cmp_packinfo();If ins_ifmod = True Then
- MessageBox('系统提示','编辑状态下不能操作')
- Return
- End If
- If dw_1.Find('lp = 1 and u_mtrldef_ifpack > 0',1,dw_1.RowCount()) = 0 Then
- MessageBox('系统提示','产品直接下级没有包件,不能使用本功能')
- Return
- End If
- Long ll_i,ll_j,cnt
- Decimal ld_cubage,ld_weight,ld_length,ld_width,ld_qty
- s_edit_index_tran arg_s_tran
- cnt = 0
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] = 1 And dw_1.Object.u_mtrldef_ifpack[ll_i] > 0 Then
- cnt++
- arg_s_tran.arr_string[cnt] = dw_1.Object.u_mtrldef_mtrlcode[ll_i] //包件编码
- arg_s_tran.arr_string2[cnt] = dw_1.Object.u_mtrldef_mtrlname[ll_i] //包件名称
-
- ld_cubage = 0
- ld_weight = 0
- ld_length = 0
- ld_width = 0
- ld_qty = 0
-
- For ll_j = ll_i + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_j] <= 1 Then Exit
- If dw_1.Object.lp[ll_j] <> 2 Then Continue //只考虑包件的直接下级,即板件
-
- ld_cubage = ld_cubage + dw_1.Object.cubage[ll_j] * dw_1.Object.u_prdpf_sonscale[ll_j]
- ld_weight = ld_weight + dw_1.Object.weight_cmp[ll_j] * dw_1.Object.u_prdpf_sonscale[ll_j]
- ld_qty = ld_qty + dw_1.Object.u_prdpf_sonscale[ll_j]
-
- ld_length = Max(ld_length,dw_1.Object.Length[ll_j])
- ld_width = Max(ld_width,dw_1.Object.Width[ll_j])
- Next
-
- arg_s_tran.arr_dec[cnt] = ld_cubage
- arg_s_tran.arr_dec2[cnt] = ld_weight
- arg_s_tran.arr_dec3[cnt] = ld_length
- arg_s_tran.arr_dec4[cnt] = ld_width
- arg_s_tran.arr_dec5[cnt] = ld_qty
-
-
- End If
- Next
- If cnt > 0 Then
- OpenWithParm(w_prdpf_padd_packinfo,arg_s_tran)
- End If
- end event
- event ue_old_to_new();Long ll_i,ll_j,ll_k,ll_l,ll_m
- Long ll_row,ll_row_h
- String ls_promode,ls_pfgroup,ls_fengbian,ls_penyou,ls_wenli,ls_paikong,ls_luoji,ls_pfklmode
- Boolean lb_ifhou = False
- Int li_lp_add = 0
- Long cnt
- Long ll_mtrlid_mb
- String unit_a,mtrlsectype_a,zxmtrlmode_a,usermtrlmode_a,piccode_a,mtrlcode_a
- Long mtrltypeid_a,ifselforder_a,ordertype_a,scid_a,dftwrkgrpid_a,mtrlprp_a
- Decimal orderdays_a,buydays_a,wfjgdays_a
- Long mtrlid_a,dftscllwkpid_a,outtype_a
- String ls_dscrp
- Decimal ld_qty
- String ls_wpcode,ls_procode
- Long ll_row_f,ll_row_newmx
- String ls_mtrlcode_ban
- String ls_pfgroupmode
- String ls_promode_lit,ls_promode_all
- String ls_promode_lit_arr[],ls_promode_all_arr[]
- Long ll_mxbt
- s_workpricetable arg_s_mx[],arg_s_empty[]
- s_edit_index_tran arg_s_tran,arg_s_return
- dw_1.AcceptText()
- cnt = 0
- arg_s_tran.b_string = ins_mtrlcode
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <> 1 Or dw_1.Object.u_prdpf_promode[ll_i] = '' Then Continue
-
- cnt++
- arg_s_tran.arr_string[cnt] = dw_1.Object.u_prdpf_promode[ll_i]
- arg_s_tran.arr_string2[cnt] = dw_1.Object.u_prdpf_pfgroup[ll_i]
- arg_s_tran.arr_string3[cnt] = dw_1.Object.u_prdpf_fengbian[ll_i]
- arg_s_tran.arr_string4[cnt] = dw_1.Object.u_prdpf_penyou[ll_i]
-
- ls_promode_all = dw_1.Object.u_prdpf_promode[ll_i]
-
- If Pos(ls_promode_all,'-') > 0 Then
- ls_promode_lit = Mid(ls_promode_all,Pos(ls_promode_all,'-') + 1)
- Else
- ls_promode_lit = ls_promode_all
- End If
-
- For ll_j = 1 To ll_mxbt
- If ls_promode_lit_arr[ll_j] = ls_promode_lit Then
- MessageBox('系统提示',ls_promode_all+' 与 '+ls_promode_all_arr[ll_j]+' "-"后面部分相同,会导致重复,请先修改')
- Return
- End If
- // If ls_promode_all_arr[ll_j] <> ls_promode_all And ls_promode_lit_arr[ll_j] = ls_promode_lit Then
- // MessageBox('系统提示',ls_promode_all+' 与 '+ls_promode_all_arr[ll_j]+' "-"后面部分相同,会导致重复,请先修改')
- // Return
- // End If
- Next
-
- ll_mxbt++
- ls_promode_all_arr[ll_mxbt] = ls_promode_all
- ls_promode_lit_arr[ll_mxbt] = ls_promode_lit
-
- arg_s_tran.arr_string5[cnt] = ls_promode_lit
-
- Next
- If cnt = 0 Then
- MessageBox('系统提示','没有符合条件的数据(第1层并且部件代号不为空)')
- Return
- End If
- OpenWithParm(w_old_to_new_mtrl,arg_s_tran)
- arg_s_return = Message.PowerObjectParm
- If arg_s_return.b_long = 0 Then Return
- dw_1.SetRedraw(False)
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <> 1 Or dw_1.Object.u_prdpf_promode[ll_i] = '' Then Continue
-
- ls_promode = dw_1.Object.u_prdpf_promode[ll_i]
- ls_pfgroup = dw_1.Object.u_prdpf_pfgroup[ll_i]
-
- ls_fengbian = dw_1.Object.u_prdpf_fengbian[ll_i]
- ls_penyou = dw_1.Object.u_prdpf_penyou[ll_i]
- ls_wenli = dw_1.Object.u_prdpf_wenli[ll_i]
- ls_paikong = dw_1.Object.u_prdpf_paikong[ll_i]
- ls_luoji = dw_1.Object.u_prdpf_luoji[ll_i]
- ls_pfklmode = dw_1.Object.u_prdpf_pfklmode[ll_i]
- ls_pfgroupmode = dw_1.Object.u_prdpf_pfgroupmode[ll_i]
-
- ld_qty = dw_1.Object.u_prdpf_pfgroupqty[ll_i]
- ls_dscrp = dw_1.Object.u_prdpf_dscrp[ll_i]
-
-
- //判断是否有后段板
- If ls_fengbian = '' And ls_penyou <> '' Then
- lb_ifhou = True
- li_lp_add = 2
- Else
- lb_ifhou = False
- li_lp_add = 1
- End If
-
-
- For ll_j = ll_i To dw_1.RowCount()
- If dw_1.Object.lp[ll_j] = 1 And Pos(dw_1.Object.u_prdpf_pfgroup[ll_j],ls_pfgroup) = 0 Then Exit
- If dw_1.Object.lp[ll_j] = 1 And dw_1.Object.u_prdpf_pfgroup[ll_j] <> ls_pfgroup And Pos(dw_1.Object.u_prdpf_pfgroup[ll_j],'封边') = 0 Then Exit
-
-
-
- dw_1.Object.lp[ll_j] = dw_1.Object.lp[ll_j] + li_lp_add
-
- If dw_1.Object.u_prdpf_pfgroupqty[ll_j] > 0 Then
- dw_1.Object.u_prdpf_pfgroupqty[ll_j] = 1
- End If
-
- dw_1.Object.u_prdpf_fengbian[ll_j] = ''
- dw_1.Object.u_prdpf_penyou[ll_j] = ''
- dw_1.Object.u_prdpf_wenli[ll_j] = ''
- dw_1.Object.u_prdpf_paikong[ll_j] = ''
- dw_1.Object.u_prdpf_luoji[ll_j] = ''
- dw_1.Object.u_prdpf_pfklmode[ll_j] = ''
- dw_1.Object.u_prdpf_pfgroupmode[ll_j] = ''
- Next
-
- ll_row = dw_1.InsertRow(ll_i)
-
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = 0
- dw_1.Object.ifnewadd[ll_row] = 1
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = '[常规]'
-
- dw_1.Object.iflock[ll_row] = 0
- If lb_ifhou Then
- dw_1.Object.lp[ll_row] = 2
- Else
- dw_1.Object.lp[ll_row] = 1
- End If
-
- ls_mtrlcode_ban = ins_mtrlcode + '_' + ls_promode+'_P'
-
- // dw_1.Object.u_mtrldef_mtrlcode[ll_row] = ls_mtrlcode_ban //ins_mtrlcode + '_' + ls_promode+'_P'
- // dw_1.Object.u_mtrldef_mtrlname[ll_row] = ls_pfgroup
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = ls_pfgroupmode
- dw_1.Object.u_mtrldef_bantype[ll_row] = 1
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row] = 0
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = 0
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = 2
- dw_1.Object.u_prdpf_pfgroupqty[ll_row] = ld_qty
- dw_1.Object.u_prdpf_sonscale[ll_row] = ld_qty
- dw_1.Object.u_prdpf_dscrp[ll_row] = ls_dscrp
-
- dw_1.Object.u_mtrldef_ban_wenli[ll_row] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row] = ls_dscrp
- dw_1.Object.u_mtrldef_ban_promode[ll_row] = ls_promode
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row] = ls_pfklmode
-
- // 查询模板编码
- ll_mtrlid_mb = 0
- For ll_k = 1 To UpperBound(arg_s_return.arr_string)
- If ls_promode = arg_s_return.arr_string[ll_k] And ls_pfgroup = arg_s_return.arr_string2[ll_k] And arg_s_return.arr_long2[ll_k] = 0 Then
- ll_mtrlid_mb = arg_s_return.arr_long[ll_k]
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = arg_s_return.arr_string3[ll_k]
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = arg_s_return.arr_string4[ll_k]
- End If
- Next
-
- If ll_mtrlid_mb > 0 Then
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- dftscllwkpid,
- mtrlprp,
- outtype,
- mtrlcode
- Into :unit_a,
- :mtrltypeid_a,
- :mtrlsectype_a,
- :zxmtrlmode_a,
- :usermtrlmode_a,
- :piccode_a,
- :ifselforder_a,
- :ordertype_a,
- :scid_a,
- :dftwrkgrpid_a,
- :orderdays_a,
- :buydays_a,
- :wfjgdays_a,
- :dftscllwkpid_a,
- :mtrlprp_a,
- :outtype_a,
- :mtrlcode_a
- From u_mtrldef
- Where mtrlid = :ll_mtrlid_mb;
- If sqlca.SQLCode = 0 Then
- dw_1.Object.u_mtrldef_unit[ll_row] = unit_a
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = mtrltypeid_a
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype_a
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode_a
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode_a
- dw_1.Object.u_mtrldef_piccode[ll_row] = piccode_a
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = ifselforder_a
- dw_1.Object.u_mtrldef_ordertype[ll_row] = ordertype_a
- dw_1.Object.u_mtrldef_scid[ll_row] = scid_a
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = dftwrkgrpid_a
-
- dw_1.Object.u_mtrldef_orderdays[ll_row] = orderdays_a
- dw_1.Object.u_mtrldef_buydays[ll_row] = buydays_a
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = wfjgdays_a
-
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = mtrlprp_a
- dw_1.Object.u_mtrldef_outtype[ll_row] = outtype_a
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = dftscllwkpid_a
-
- dw_1.Object.mb_mtrlcode[ll_row] = mtrlcode_a
- dw_1.Object.mb_mtrlid[ll_row] = ll_mtrlid_mb
-
- End If
- End If
-
- //处理工价表(如果有模板编码,使用模板编码的工价表,并按[cbx_wp_pack 按清单说明自动生成包件工价表]决定是否解释清单备注到工价表)
- dw_2.Reset()
- If ll_mtrlid_mb > 0 Then
- ls_wpcode = f_get_dft_wp(ll_mtrlid_mb)
- dw_2.Retrieve(ll_mtrlid_mb,ls_wpcode)
- End If
-
- If cbx_wp_pack.Checked Then
- If Trim(ls_dscrp) <> '' Then
- arg_s_mx = arg_s_empty
- f_cmp_proname(ls_dscrp,arg_s_mx)
-
- For ll_k = 1 To UpperBound(arg_s_mx)
- cnt++
-
- // ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode + '_' + ls_promode+'"',1,dw_2.RowCount())
- ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode+'"',1,dw_2.RowCount())
-
- If ll_row_f = 0 Then
- //2014-09-15 需求变更: 模板工价表没有的工序,即使备注有,也不插入(优适), 屏蔽以下代码
- //2014-09-20 需求再变更: 旧模式要插入,新模式不插入,所以增加cbx由用户自由控制,解除屏蔽以下代码
- //2014-10-28 增加需求:如果工序有定义工价公式的,导入时将默认工式导入到工价表的工价公式
- If cbx_wp_add.Checked Then
- ll_row_newmx = dw_2.InsertRow(0)
-
- dw_2.Object.proorder[ll_row_newmx] = cnt
- dw_2.Object.procode[ll_row_newmx] = arg_s_mx[ll_k].procode // + '_' + ls_promode
- dw_2.Object.u_sc_workprice_proname[ll_row_newmx] = arg_s_mx[ll_k].proname // + '_' + ls_pfgroup
- dw_2.Object.wrkgrpid[ll_row_newmx] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_newmx] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_newmx] = 0
- Else
- dw_2.Object.workprice[ll_row_newmx] = arg_s_mx[ll_k].workprice
- End If
- dw_2.Object.workqty[ll_row_newmx] = 1
- dw_2.Object.lsxtype[ll_row_newmx] = 1
- End If
- Else
- dw_2.Object.wrkgrpid[ll_row_f] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_f] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_f] = 0
- Else
- dw_2.Object.workprice[ll_row_f] = arg_s_mx[ll_k].workprice
- End If
- End If
-
- Next
-
- End If
-
- End If
-
- ll_m = 0
- For ll_l = 1 To dw_2.RowCount()
- ls_procode = dw_2.Object.procode[ll_l]
- dw_2.Object.u_mtrldef_mtrlcode[ll_l] = ls_mtrlcode_ban
- dw_2.AcceptText()
-
- If dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_ban + "' and procode = '"+ls_procode+"'", 1, dw_copy.RowCount()) > 0 Then Continue
-
- ll_m++
- dw_2.RowsCopy (ll_l,ll_l,Primary!,dw_copy,ll_m,Primary!)
- Next
- dw_1.Object.ifmod_wp[ll_row] = 1
- /// //
-
-
- If lb_ifhou Then
- ll_row_h = dw_1.InsertRow(ll_row)
-
- dw_1.Object.u_mtrldef_mtrlid[ll_row_h] = 0
- dw_1.Object.ifnewadd[ll_row_h] = 1
- dw_1.Object.u_prdpf_sonpfcode[ll_row_h] = '[常规]'
-
- dw_1.Object.iflock[ll_row_h] = 0
- dw_1.Object.lp[ll_row_h] = 1
- // dw_1.Object.u_mtrldef_mtrlcode[ll_row_h] = ins_mtrlcode + '_' + ls_promode
- // dw_1.Object.u_mtrldef_mtrlname[ll_row_h] = ls_pfgroup+'(后段)'
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_h] = ls_pfgroupmode
- dw_1.Object.u_mtrldef_bantype[ll_row_h] = 2
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_h] = 0
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_h] = 0
- dw_1.Object.u_mtrldef_ifselforder[ll_row_h] = 2
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_h] = ld_qty
- dw_1.Object.u_prdpf_sonscale[ll_row_h] = ld_qty
- dw_1.Object.u_prdpf_dscrp[ll_row_h] = ls_dscrp
-
- dw_1.Object.u_mtrldef_ban_wenli[ll_row_h] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row_h] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row_h] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row_h] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row_h] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row_h] = ls_dscrp
- dw_1.Object.u_mtrldef_ban_promode[ll_row_h] = ls_promode
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row_h] = ls_pfklmode
-
- // 查询模板编码
- ll_mtrlid_mb = 0
- For ll_k = 1 To UpperBound(arg_s_return.arr_string)
- If ls_promode = arg_s_return.arr_string[ll_k] And ls_pfgroup = arg_s_return.arr_string2[ll_k] And arg_s_return.arr_long2[ll_k] = 1 Then
- ll_mtrlid_mb = arg_s_return.arr_long[ll_k]
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_h] = arg_s_return.arr_string3[ll_k]
- dw_1.Object.u_mtrldef_mtrlname[ll_row_h] = arg_s_return.arr_string4[ll_k]
- End If
- Next
-
- If ll_mtrlid_mb > 0 Then
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- dftscllwkpid,
- mtrlprp,
- outtype,
- mtrlcode
- Into :unit_a,
- :mtrltypeid_a,
- :mtrlsectype_a,
- :zxmtrlmode_a,
- :usermtrlmode_a,
- :piccode_a,
- :ifselforder_a,
- :ordertype_a,
- :scid_a,
- :dftwrkgrpid_a,
- :orderdays_a,
- :buydays_a,
- :wfjgdays_a,
- :dftscllwkpid_a,
- :mtrlprp_a,
- :outtype_a,
- :mtrlcode_a
- From u_mtrldef
- Where mtrlid = :ll_mtrlid_mb;
- If sqlca.SQLCode = 0 Then
- dw_1.Object.u_mtrldef_unit[ll_row_h] = unit_a
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row_h] = mtrltypeid_a
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row_h] = mtrlsectype_a
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row_h] = zxmtrlmode_a
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row_h] = usermtrlmode_a
- dw_1.Object.u_mtrldef_piccode[ll_row_h] = piccode_a
- dw_1.Object.u_mtrldef_ifselforder[ll_row_h] = ifselforder_a
- dw_1.Object.u_mtrldef_ordertype[ll_row_h] = ordertype_a
- dw_1.Object.u_mtrldef_scid[ll_row_h] = scid_a
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row_h] = dftwrkgrpid_a
-
- dw_1.Object.u_mtrldef_orderdays[ll_row_h] = orderdays_a
- dw_1.Object.u_mtrldef_buydays[ll_row_h] = buydays_a
- dw_1.Object.u_mtrldef_wfjgdays[ll_row_h] = wfjgdays_a
-
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_h] = mtrlprp_a
- dw_1.Object.u_mtrldef_outtype[ll_row_h] = outtype_a
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row_h] = dftscllwkpid_a
-
- dw_1.Object.mb_mtrlcode[ll_row_h] = mtrlcode_a
- dw_1.Object.mb_mtrlid[ll_row_h] = ll_mtrlid_mb
-
- End If
- End If
-
-
- //处理工价表(如果有模板编码,使用模板编码的工价表,并按[cbx_wp_pack 按清单说明自动生成包件工价表]决定是否解释清单备注到工价表)
- dw_2.Reset()
- If ll_mtrlid_mb > 0 Then
- ls_wpcode = f_get_dft_wp(ll_mtrlid_mb)
- dw_2.Retrieve(ll_mtrlid_mb,ls_wpcode)
- End If
-
- If cbx_wp_pack.Checked Then
- If Trim(ls_dscrp) <> '' Then
- arg_s_mx = arg_s_empty
- f_cmp_proname(ls_dscrp,arg_s_mx)
-
- For ll_k = 1 To UpperBound(arg_s_mx)
- cnt++
-
- // ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode + '_' + ls_promode+'"',1,dw_2.RowCount())
- ll_row_f = dw_2.Find('procode = "'+arg_s_mx[ll_k].procode+'"',1,dw_2.RowCount())
-
- If ll_row_f = 0 Then
- //2014-09-15 需求变更: 模板工价表没有的工序,即使备注有,也不插入(优适), 屏蔽以下代码
- //2014-09-20 需求再变更: 旧模式要插入,新模式不插入,所以增加cbx由用户自由控制,解除屏蔽以下代码
- If cbx_wp_add.Checked Then
- ll_row_newmx = dw_2.InsertRow(0)
-
- dw_2.Object.proorder[ll_row_newmx] = cnt
- dw_2.Object.procode[ll_row_newmx] = arg_s_mx[ll_k].procode // + '_' + ls_promode
- dw_2.Object.u_sc_workprice_proname[ll_row_newmx] = arg_s_mx[ll_k].proname // + '_' + ls_pfgroup
- dw_2.Object.wrkgrpid[ll_row_newmx] = arg_s_mx[ll_k].wrkgrpid
-
- dw_2.Object.u_sc_workprice_pricestr[ll_row_newmx] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_newmx] = 0
- Else
- dw_2.Object.workprice[ll_row_newmx] = arg_s_mx[ll_k].workprice
- End If
- dw_2.Object.workqty[ll_row_newmx] = 1
- dw_2.Object.lsxtype[ll_row_newmx] = 1
- End If
- Else
- dw_2.Object.wrkgrpid[ll_row_f] = arg_s_mx[ll_k].wrkgrpid
- dw_2.Object.u_sc_workprice_pricestr[ll_row_f] = arg_s_mx[ll_k].pricestr
- If Trim(arg_s_mx[ll_k].pricestr) <> '' Then
- dw_2.Object.workprice[ll_row_f] = 0
- Else
- dw_2.Object.workprice[ll_row_f] = arg_s_mx[ll_k].workprice
- End If
- End If
-
- Next
-
- End If
-
- End If
-
- ll_m = 0
- For ll_l = 1 To dw_2.RowCount()
- ls_procode = dw_2.Object.procode[ll_l]
- dw_2.Object.u_mtrldef_mtrlcode[ll_l] = ls_mtrlcode_ban
- dw_2.AcceptText()
-
- If dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_ban + "' and procode = '"+ls_procode+"'", 1, dw_copy.RowCount()) > 0 Then Continue
-
- ll_m++
- dw_2.RowsCopy (ll_l,ll_l,Primary!,dw_copy,ll_m,Primary!)
- Next
- dw_1.Object.ifmod_wp[ll_row] = 1
- /// //
-
-
-
- End If
-
- Next
- dw_1.SetRedraw(True)
- end event
- event ue_import_xls_7();// 导入Excel
- If ins_mtrlid = 0 Then
- MessageBox('系统提示','请先选择产品')
- Return
- End If
- Int rslt = 1
- String arg_msg
- DataStore ds_col30
- ds_col30 = Create DataStore
- ds_col30.DataObject = 'dw_col30'
- If f_readxls(ds_col30,arg_msg) <> 1 Then
- rslt = 0
- Goto ext
- End If
- Long ll_lp
- Long ll_row,ll_row_new,ll_row_newmx
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- String ls_col16, ls_col17
- Long ll_newrow
- String ls_promode,ls_pfgroup,ls_pfgroupmode,ls_pfklmode
- Decimal ld_pfgroupqty,lde_qty_mx
- String ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou
- String ls_dscrp
- Long ll_modleid
- String ls_modlename
- String ls_pfgroup_p
- String ls_mtrlcode_ban,ls_mtrlname_ban
- Long ll_lp_add,ll_lp_add_p //用于记录增加胚板/后段板后,对应增加的层级数
- String unit_f,mtrlsectype_f,zxmtrlmode_f,usermtrlmode_f,piccode_f
- Long mtrltypeid_f,ifselforder_f,ordertype_f,scid_f,dftwrkgrpid_f,mtrlprp_f
- Decimal orderdays_f,buydays_f,wfjgdays_f
- Long mtrlid_f,dftscllwkpid_f,outtype_f
- String unit_a,mtrlsectype_a,zxmtrlmode_a,usermtrlmode_a,piccode_a
- Long mtrltypeid_a,ifselforder_a,ordertype_a,scid_a,dftwrkgrpid_a,mtrlprp_a
- Decimal orderdays_a,buydays_a,wfjgdays_a
- Long mtrlid_a,dftscllwkpid_a,outtype_a
- String ls_mb_mtrlcode,ls_wpcode
- Boolean lb_ifmb = False //是否有模板编码及是否成功读取模板编码资料
- Boolean lb_ifmb_a = False //后段板 是否有模板编码及是否读取数据成功
- Long ll_k,ll_row_f,ll_l,ll_j
- String ls_procode
- String ls_mb_mtrlcode_p //胚板模板
- String ls_mb_mtrlcode_a //后段板模板
- String ls_direction //摆放方向(文本)
- Int li_direction //摆放方向(数值 0 -横 1-竖)
- String ls_pid //序号(文本)
- Decimal ld_midu,ld_cubage,ld_cubage_cl,ld_length,ld_width,ld_length_cl,ld_width_cl
- String ls_dscrp_mtrl
- s_workpricetable arg_s_mx[],arg_s_empty[]
- If Not cbx_ifreset.Checked Then
- dw_1.Reset()
- //插入产品
- wf_re_mtrl(0)
- End If
- dw_1.SetRedraw(False)
- For ll_row = 8 To ds_col30.RowCount()
- //明细终止标记(部件名称及材料名称都为空)
- If Trim(ds_col30.GetItemString(ll_row,2)) = '' And Trim(ds_col30.GetItemString(ll_row,1)) = '' Then Exit
-
- ls_pid = String(ll_row - 7) //Trim(ds_col30.GetItemString(ll_row,1))
- ls_mtrlname = Trim(ds_col30.GetItemString(ll_row,2))
- // ls_mtrlcode = Trim(ds_col30.GetItemString(ll_row,14))
-
- Select mtrlcode,midu Into :ls_mtrlcode,:ld_midu
- From u_mtrldef
- Where mtrlname = :ls_mtrlname;
- If sqlca.SQLCode <> 0 Then ls_mtrlcode = ''
-
- ld_sonscale = Dec(Trim(ds_col30.GetItemString(ll_row,8)))
- lde_qty = Dec(Trim(ds_col30.GetItemString(ll_row,8))) //部件数量
- lde_qty_mx = Dec(Trim(ds_col30.GetItemString(ll_row,8))) //
-
- ld_cubage = (Dec(Trim(ds_col30.GetItemString(ll_row,5))) * Dec(Trim(ds_col30.GetItemString(ll_row,6))) * Dec(Trim(ds_col30.GetItemString(ll_row,7))) ) / 1000000000
- ld_cubage_cl = (Dec(Trim(ds_col30.GetItemString(ll_row,5))) * Dec(Trim(ds_col30.GetItemString(ll_row,6))) * Dec(Trim(ds_col30.GetItemString(ll_row,7))) ) / 1000000000
-
- ld_length = Dec(Trim(ds_col30.GetItemString(ll_row,5)))
- ld_width = Dec(Trim(ds_col30.GetItemString(ll_row,6)))
-
- ld_length_cl = Dec(Trim(ds_col30.GetItemString(ll_row,5)))
- ld_width_cl = Dec(Trim(ds_col30.GetItemString(ll_row,6)))
-
- ls_dscrp_mtrl = Trim(ds_col30.GetItemString(ll_row,9))
-
- ls_direction = Trim(ds_col30.GetItemString(ll_row,4))
-
- If ls_direction = '竖' Then
- li_direction = 1
- Else
- li_direction = 0
- End If
-
- //模板编码
- ls_mb_mtrlcode = Trim(ds_col30.GetItemString(ll_row,11))
-
- If IsNull(ld_sonscale) Then ld_sonscale = 0
-
- If ld_sonscale = 0 Then
- If lde_qty = 0 Then
- ld_sonscale = lde_qty_mx
- Else
- ld_sonscale = lde_qty
- End If
- End If
-
- ls_promode = Trim(ds_col30.GetItemString(ll_row,10))
- ls_pfgroup = Trim(ds_col30.GetItemString(ll_row,1))
- // ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5)) + '*'+Trim(ds_col30.GetItemString(ll_row,6))+'*'+Trim(ds_col30.GetItemString(ll_row,7))
- // ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,16)) + '*'+Trim(ds_col30.GetItemString(ll_row,17))+'*'+Trim(ds_col30.GetItemString(ll_row,18))
-
- ls_pfgroupmode = ''
- ls_pfklmode = ''
-
- If Trim(ds_col30.GetItemString(ll_row,5)) <> '' Then
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,5))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,6)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,6))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,6))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,7)) <> '' Then
- If Trim(ls_pfgroupmode) <> '' Then
- ls_pfgroupmode = ls_pfgroupmode + '*'+Trim(ds_col30.GetItemString(ll_row,7))
- Else
- ls_pfgroupmode = Trim(ds_col30.GetItemString(ll_row,7))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,5)) <> '' Then
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,5))
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,6)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,6))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,6))
- End If
- End If
-
- If Trim(ds_col30.GetItemString(ll_row,7)) <> '' Then
- If Trim(ls_pfklmode) <> '' Then
- ls_pfklmode = ls_pfklmode + '*'+Trim(ds_col30.GetItemString(ll_row,7))
- Else
- ls_pfklmode = Trim(ds_col30.GetItemString(ll_row,7))
- End If
- End If
-
- ls_fengbian = Trim(ds_col30.GetItemString(ll_row,3))
-
- ls_dscrp = Trim(ds_col30.GetItemString(ll_row,9))
-
- //读取胚板模板编码信息
- lb_ifmb = False
- If ls_mb_mtrlcode <> '' Then
- Select unit,
- mtrltypeid,
- mtrlsectype,
- zxmtrlmode,
- usermtrlmode,
- piccode,
- ifselforder,
- ordertype,
- scid,
- dftwrkgrpid,
- orderdays,
- buydays,
- wfjgdays,
- mtrlid,
- dftscllwkpid,
- mtrlprp,
- outtype
- Into :unit_f,
- :mtrltypeid_f,
- :mtrlsectype_f,
- :zxmtrlmode_f,
- :usermtrlmode_f,
- :piccode_f,
- :ifselforder_f,
- :ordertype_f,
- :scid_f,
- :dftwrkgrpid_f,
- :orderdays_f,
- :buydays_f,
- :wfjgdays_f,
- :mtrlid_f,
- :dftscllwkpid_f,
- :mtrlprp_f,
- :outtype_f
- From u_mtrldef
- Where mtrlcode = :ls_mb_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- lb_ifmb = False
- Else
- lb_ifmb = True
- End If
- End If
-
-
- If ls_pfgroup <> '' Then
-
- ll_lp_add = 1
-
- //增加胚板代码
- If ls_promode <> '' Then
- ls_mtrlcode_ban = ins_mtrlcode + '_' + ls_promode
- Else
- ls_mtrlcode_ban = ins_mtrlcode + '_part' +ls_pid
- End If
-
- ls_mtrlname_ban = ls_pfgroup
-
- If ls_mtrlcode_ban <> "" Then
-
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where (mtrlcode = :ls_mtrlcode_ban)
- And (mtrlorigin = 0);
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlcode_ban + ',部件资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid_p,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode_ban;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入部件
- wf_add_row(ll_mtrlid_p, '', ll_lp_add, lde_qty, arg_msg,ll_row_new)
- dw_1.Object.u_mtrldef_bantype[ll_row_new] = 1
-
- dw_1.Object.u_mtrldef_midu[ll_row_new] = ld_midu
- dw_1.Object.cubage[ll_row_new] = ld_cubage
-
- dw_1.Object.Length[ll_row_new] = ld_length
- dw_1.Object.Width[ll_row_new] = ld_width
- ElseIf cnt = 0 Then //插入新行-部件
- //插入部件
- wf_add_row_null(ls_mtrlname_ban, ll_lp_add, lde_qty, arg_msg,ll_row_new)
-
- If ll_row_new > 0 Then
- dw_1.Object.u_mtrldef_mtrlcode[ll_row_new] = ls_mtrlcode_ban
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row_new] = 0
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = 0
- dw_1.Object.u_mtrldef_unit[ll_row_new] = '块'
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_mtrlname_ban
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_sonpfcode[ll_row_new] = '[常规]'
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_mtrldef_mtrlmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_mtrldef_ban_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row_new] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row_new] = ls_dscrp
- dw_1.Object.u_mtrldef_ban_promode[ll_row_new] = ls_promode
- dw_1.Object.u_mtrldef_ban_direction[ll_row_new] = li_direction
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
-
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = 2
-
- dw_1.Object.ifnewadd[ll_row_new] = 1
- dw_1.Object.u_mtrldef_bantype[ll_row_new] = 1
-
- dw_1.Object.u_mtrldef_midu[ll_row_new] = ld_midu
- dw_1.Object.cubage[ll_row_new] = ld_cubage
-
- dw_1.Object.Length[ll_row_new] = ld_length
- dw_1.Object.Width[ll_row_new] = ld_width
-
- dw_1.Object.u_mtrldef_dscrp[ll_row_new] = ls_dscrp_mtrl
-
- //套用模板编码资料信息
- If lb_ifmb Then
- dw_1.Object.u_mtrldef_unit[ll_row_new] = unit_f
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row_new] = mtrltypeid_f
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row_new] = mtrlsectype_f
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row_new] = zxmtrlmode_f
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row_new] = usermtrlmode_f
- dw_1.Object.u_mtrldef_piccode[ll_row_new] = piccode_f
- dw_1.Object.u_mtrldef_ifselforder[ll_row_new] = ifselforder_f
- dw_1.Object.u_mtrldef_ordertype[ll_row_new] = ordertype_f
- dw_1.Object.u_mtrldef_scid[ll_row_new] = scid_f
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row_new] = dftwrkgrpid_f
-
- dw_1.Object.u_mtrldef_orderdays[ll_row_new] = orderdays_f
- dw_1.Object.u_mtrldef_buydays[ll_row_new] = buydays_f
- dw_1.Object.u_mtrldef_wfjgdays[ll_row_new] = wfjgdays_f
-
- dw_1.Object.u_mtrldef_mtrlprp[ll_row_new] = mtrlprp_f
- dw_1.Object.u_mtrldef_outtype[ll_row_new] = outtype_f
-
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row_new] = dftscllwkpid_f
-
- dw_1.Object.mb_mtrlcode[ll_row_new] = ls_mb_mtrlcode
- dw_1.Object.mb_mtrlid[ll_row_new] = mtrlid_f
- End If
- End If
-
-
- End If
- End If
- //增加胚板代码(完)
-
-
- End If
-
-
- ls_pfgroup_p = ls_pfgroup
- ll_lp_add_p = ll_lp_add
-
- //插入新行
- cnt = 0
- Select COUNT(*)
- Into :cnt
- From u_mtrldef
- Where u_mtrldef.mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode = -1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料查询资料定义表失败,' + sqlca.SQLErrText
- Goto ext
- ElseIf sqlca.SQLCode = 100 Then
- cnt = 0
- End If
-
- If ls_pfgroup <> '' Then
- ll_lp = ll_lp_add + 1
- Else
- ll_lp = 1
- End If
-
- If cnt > 1 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行:' + ls_mtrlname + ',材料资料定义有' + String(cnt) + '条重复记录'
- Goto ext
- ElseIf cnt = 1 Then //插入部件
- Select mtrlid,dftwrkgrpid,mtrlorigin Into :ll_mtrlid,:ll_dftwrkgrpid,:li_mtrlorigin
- From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '第' + String(ll_row) + '行父代码查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
-
- //插入材料
- wf_add_row(ll_mtrlid, '', ll_lp, ld_sonscale, arg_msg,ll_row_new)
-
- If wf_addmx_row(ll_mtrlid,'',ll_lp + 1,ll_row_new + 1 ,ld_sonscale,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- ElseIf cnt = 0 Then //插入新行-部件
- //插入材料
- wf_add_row_null(ls_mtrlname, ll_lp, ld_sonscale, arg_msg,ll_row_new)
- End If
-
- If ll_row_new > 0 Then
- // dw_1.Object.u_prdpf_promode[ll_row_new] = ls_promode
- // dw_1.Object.u_prdpf_pfgroup[ll_row_new] = ls_pfgroup
- // dw_1.Object.u_prdpf_pfgroupmode[ll_row_new] = ls_pfgroupmode
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_new] = lde_qty
- dw_1.Object.u_prdpf_pfklmode[ll_row_new] = ls_pfklmode
-
- dw_1.Object.u_mtrldef_midu[ll_row_new] = ld_midu
- dw_1.Object.cubage[ll_row_new] = ld_cubage_cl
-
- dw_1.Object.Length[ll_row_new] = ld_length_cl
- dw_1.Object.Width[ll_row_new] = ld_width_cl
-
- dw_1.Object.u_prdpf_wenli[ll_row_new] = ls_wenli
- dw_1.Object.u_prdpf_fengbian[ll_row_new] = ls_fengbian
- dw_1.Object.u_prdpf_paikong[ll_row_new] = ls_paikong
- dw_1.Object.u_prdpf_luoji[ll_row_new] = ls_luoji
- dw_1.Object.u_prdpf_penyou[ll_row_new] = ls_penyou
-
- dw_1.Object.u_prdpf_dscrp[ll_row_new] = ls_dscrp
- // If ll_lp = 1 Then
- // dw_1.Object.u_prdpf_dipztype[ll_row_new] = 3
- // dw_1.Object.u_prdpf_ifover[ll_row_new] = 1
- // else
- dw_1.Object.u_prdpf_dipztype[ll_row_new] = -1
- dw_1.Object.u_prdpf_ifover[ll_row_new] = 0
- // End If
-
- End If
-
- Next
- ext:
- Destroy ds_col30
- dw_1.SetRedraw(True)
- If rslt = 0 Then
- MessageBox('提示',arg_msg)
- End If
- end event
- event ue_del_ch();//勾选删除
- If ins_ifmod_wp Then
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- Return
- End If
- If ins_ifmod Then
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- Return
- End If
- Long ll_i,ll_j
- Long ll_row
- Long ll_lp,cnt
- String ls_mtrlcode
- dw_1.AcceptText()
- cnt = dw_1.Find('ch = 1 ',1,dw_1.RowCount())
- If cnt = 0 Then
- If MessageBox('询问','是否确认要执行删除明细操作?',question!,yesno!) = 2 Then Return
-
- ll_row = dw_1.GetRow()
-
- If ll_row <= 0 Then
- MessageBox('系统提示','请选择要删除的明细')
- Return
- End If
-
- If dw_1.Object.lp[ll_row] = 0 Then
- MessageBox('系统提示','主产品资料不能删除')
- Return
- End If
-
- dw_1.Object.ifdel[ll_row] = 1
-
- ll_lp = dw_1.Object.lp[ll_row]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
-
- //dw_1.SetRedraw(FALSE)
- For ll_i = ll_row + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <= ll_lp Then Exit
-
- dw_1.Object.ifdel[ll_i] = 1
- Next
-
- dw_1.AcceptText()
-
- For ll_i = dw_1.RowCount() To 1 Step -1
- If dw_1.Object.ifdel[ll_i] = 1 Then
- dw_1.DeleteRow(ll_i)
- End If
- Next
- //dw_1.SetRedraw(TRUE)
-
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.删除物料 '+ ls_mtrlcode +' 及其下级的物料'
- Else
- If MessageBox('询问','是否确认要执行删除选中明细操作?',question!,yesno!) = 2 Then Return
-
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.ch[ll_i] = 0 Then Continue
-
- If dw_1.Object.lp[ll_i] = 0 Then Continue
-
- dw_1.Object.ifdel[ll_i] = 1
-
- ll_lp = dw_1.Object.lp[ll_i]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i]
-
- For ll_j = ll_i + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_j] <= ll_lp Then Exit
-
- dw_1.Object.ifdel[ll_j] = 1
- Next
-
-
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.删除物料 '+ ls_mtrlcode +' 及其下级的物料'
-
-
- Next
- dw_1.AcceptText()
- For ll_j = dw_1.RowCount() To 1 Step -1
- If dw_1.Object.ifdel[ll_j] = 1 Then
- dw_1.DeleteRow(ll_j)
- End If
- Next
-
-
- End If
- end event
- event ue_del_this();//删除单级
- If ins_ifmod_wp Then
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- Return
- End If
- If ins_ifmod Then
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- Return
- End If
- Long ll_i,ll_j
- Long ll_row
- Long ll_lp,cnt
- String ls_mtrlcode
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- If ll_row <= 0 Then
- MessageBox('系统提示','请选择要删除的明细')
- Return
- End If
- If dw_1.Object.lp[ll_row] = 0 Then
- MessageBox('系统提示','主产品资料不能删除')
- Return
- End If
- If MessageBox('询问','是否确认要执行删除当前选中明细操作?',question!,yesno!) = 2 Then Return
- dw_1.Object.ifdel[ll_row] = 1
- ll_lp = dw_1.Object.lp[ll_row]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- dw_1.SetRedraw(FALSE)
- For ll_i = ll_row + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <= ll_lp Then Exit
-
- dw_1.Object.lp[ll_i] = dw_1.Object.lp[ll_i] - 1
- Next
- dw_1.AcceptText()
- dw_1.DeleteRow(ll_row)
- dw_1.SetRedraw(TRUE)
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.删除物料 '+ ls_mtrlcode +' ,其下级物料层级上移'
- end event
- event ue_add_up();If ins_ifmod_wp Then
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- Return
- End If
- If ins_ifmod Then
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- Return
- End If
- Long ll_i
- String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg
- Long ll_row,ll_row_add
- Long ll_pmtrlid,ll_lp
- Long ll_mtrlid_pf
- String arg_msg_str
- ll_row = dw_1.GetRow()
- If ll_row > 0 Then
- ll_pmtrlid = dw_1.Object.pmtrlid[ll_row]
- ll_lp = dw_1.Object.lp[ll_row]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
-
- If ll_lp = 0 Then
- MessageBox('系统提示','主产品不能增上级')
- Return
- End If
- Else
- MessageBox('系统提示','请先选择要增加上级的明细')
- Return
- End If
- If Not IsValid(w_mtrldef_edit) Then
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = False
- s_ch_tran.b_long = 0
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 1
-
- This.Enabled = False
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- This.Enabled = True
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- dw_1.SetRedraw(False)
-
- If UpperBound(s_inscust.mtrlid) > 0 Then
- If s_inscust.mtrlorigin[1] = 2 Then
- dw_1.SetRedraw(True)
- MessageBox('系统提示','不能选择采购类的物料作为上级')
- Return
- End If
-
- ll_mtrlid_pf = s_inscust.mtrlid[1]
-
- If ll_mtrlid_pf > 0 Then
- ls_pfcode = f_get_dft_pf(ll_mtrlid_pf)
-
- If wf_addmx_up(ll_mtrlid_pf,ls_pfcode,ll_pmtrlid,ll_lp,ll_row,arg_msg) = 0 Then
- dw_1.SetRedraw(True)
- arg_msg_str = arg_msg_str + arg_msg +'~r~n'
- MessageBox('Error',arg_msg_str)
- Return
- End If
-
-
- ins_cnt++
- If ls_mtrlcode <> '' Then
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.对 '+ls_mtrlcode+' 增加上级物料 '+s_inscust.mtrlcode[1]
- Else
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.增加物料 '+s_inscust.mtrlcode[1]
- End If
-
- End If
- End If
- dw_1.SetRedraw(True)
-
-
- End If
- This.SetFocus()
- end event
- public function integer wf_face ();IF ins_ifmod THEN
- cb_save_bcp.Enabled = TRUE
- cb_mod_bcp.Text = '放弃'
- cb_mod_bcp.normalpicname = 'Undo.bmp'
- cb_other_bom.Enabled = FALSE
- cb_add_mtrl.Enabled = FALSE
- cb_save.Enabled = FALSE
- cb_moban.Enabled = TRUE
- cb_autocode.enabled = true
- ELSE
- cb_save_bcp.Enabled = FALSE
- cb_mod_bcp.Text = '编辑半成品'
- cb_mod_bcp.normalpicname = 'open.bmp'
- cb_other_bom.Enabled = TRUE
- cb_add_mtrl.Enabled = TRUE
- cb_save.Enabled = TRUE
- cb_moban.Enabled = FALSE
- cb_autocode.enabled = false
- END IF
- cb_mod_bcp.of_init_draw()
- cb_mod_bcp.of_paint()
- cb_mod_bcp.TriggerEvent('ue_textchange')
- RETURN 1
- end function
- public function integer wf_checkrand (ref string arg_msg);Long i,j
- Int rslt = 1
- Long ll_lp
- dw_1.AcceptText()
- FOR i = 2 TO dw_1.RowCount()
- IF dw_1.Object.u_mtrldef_mtrlcode[i] = ins_mtrlcode THEN
-
- dw_1.SelectRow(0,FALSE)
- dw_1.SetRow(i)
- dw_1.SelectRow(i,TRUE)
-
- rslt = 0
- arg_msg = '发现闭环,在第'+String(i)+'行,物料:'+dw_1.Object.u_mtrldef_mtrlcode[i]
- GOTO ext
-
- END IF
- NEXT
- FOR i = 1 TO dw_1.RowCount()
- ll_lp = dw_1.Object.lp[i]
-
- FOR j = i + 1 TO dw_1.RowCount()
- IF dw_1.Object.lp[j] <= ll_lp THEN EXIT
-
- IF dw_1.Object.u_mtrldef_mtrlcode[j] = dw_1.Object.u_mtrldef_mtrlcode[i] THEN
- dw_1.SelectRow(0,FALSE)
- dw_1.SetRow(j)
- dw_1.SelectRow(j,TRUE)
-
- rslt = 0
- arg_msg = '发现闭环,在第'+String(j)+'行,物料:'+dw_1.Object.u_mtrldef_mtrlcode[j]
- GOTO ext
-
- END IF
- NEXT
- NEXT
- ext:
- RETURN rslt
- end function
- public function integer wf_save (ref string arg_msg);Int rslt = 1
- Long ll_i,ll_j,ll_k
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
- String ls_mtrlsectype,ls_zxmtrlmode,ls_usermtrlmode
- Decimal ld_orderdays,ld_buydays,ld_wfjgdays
- Long ll_mtrlid,ll_mtrlid_copy
- Long cnt
- Long ll_lp
- String ls_code,ls_name,ls_ename,ls_dscrp
- Long ll_type,ll_DefaultPZ,ll_ifzj
- Decimal ld_planprice
- Long ll_new_cid
- Decimal ld_capacity,ld_capaparm
- Long ll_mtrltypeid,ll_scid,ll_dftwrkgrpid
- String ls_piccode
- Int li_mtrlorigin, li_mtrlprp
- Long ll_mtrlid_wp
- Int li_ifselforder,li_ordertype
- Long printid_wkp
- String wkpname_wkp, groupstr_wkp
- Long swkpid_wkp, owkpid_wkp, iflast_wkp
- Decimal lasthour_wkp, lastdays_wkp,minlasthour_wkp, uprate_wkp
- String dscrp_wkp
- Long lp_wkp, printlp_wkp
- Decimal workhour_wkp, beforehour_wkp, afterhour_wkp
- Long workgroupid_wkp
- String gydscrp_wkp
- String ls_pfcode
- long ll_mb_mtrlid
- String ls_wpcode
- Decimal ld_sonloss_p,ld_sondecloss_p,ld_cmpqty_p,ld_qty
- Long ll_modleid
- String ls_modlename
- String ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou,ls_azcode
- Long ll_bantype
- Int li_outtype
- Decimal ld_midu
- String ls_mtrlcode_new_arr[]
- Long ll_cnt_new
- string ls_dscrp_mtrl
- s_mtrldef arg_s_mtrl
- s_mtrldef_ban arg_s_ban
- dw_1.AcceptText()
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 Then
-
- If dw_1.Object.ifnewadd[ll_i] = 0 Then
- dw_1.SetRow(ll_i)
- dw_1.ScrollToRow(ll_i)
- dw_1.SelectRow(0,False)
- dw_1.SelectRow(ll_i,True)
- arg_msg = '查询物料原资料失败,请选择正确的物料(可执行编辑半成品功能)'
- rslt = 0
- Goto ext
- End If
-
- ll_lp = dw_1.Object.lp[ll_i]
-
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i]
- ls_mtrlname = dw_1.Object.u_mtrldef_mtrlname[ll_i]
- ls_unit = dw_1.Object.u_mtrldef_unit[ll_i]
- ls_mtrlmode = dw_1.Object.u_mtrldef_mtrlmode[ll_i]
- ls_mtrlsectype = dw_1.Object.u_mtrldef_mtrlsectype[ll_i]
- ls_zxmtrlmode = dw_1.Object.u_mtrldef_zxmtrlmode[ll_i]
- ls_usermtrlmode = dw_1.Object.u_mtrldef_usermtrlmode[ll_i]
- ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[ll_i]
- ld_orderdays = dw_1.Object.u_mtrldef_orderdays[ll_i]
- ld_buydays = dw_1.Object.u_mtrldef_buydays[ll_i]
- ld_wfjgdays = dw_1.Object.u_mtrldef_wfjgdays[ll_i]
- ll_mtrltypeid = dw_1.Object.u_mtrldef_mtrltypeid[ll_i]
- ll_scid = dw_1.Object.u_mtrldef_scid[ll_i]
- ll_dftwrkgrpid = dw_1.Object.u_mtrldef_dftwrkgrpid[ll_i]
-
- li_mtrlorigin = dw_1.Object.u_mtrldef_mtrlorigin[ll_i]
- li_mtrlprp = dw_1.Object.u_mtrldef_mtrlprp[ll_i]
-
- ls_piccode = dw_1.Object.u_mtrldef_piccode[ll_i]
-
- li_ifselforder = dw_1.Object.u_mtrldef_ifselforder[ll_i]
- li_ordertype = dw_1.Object.u_mtrldef_ordertype[ll_i]
-
- ls_pfcode = dw_1.Object.u_prdpf_sonpfcode[ll_i]
-
- ll_mb_mtrlid = dw_1.Object.mb_mtrlid[ll_i]
-
- ll_bantype = dw_1.Object.u_mtrldef_bantype[ll_i]
-
- li_outtype = dw_1.Object.u_mtrldef_outtype[ll_i]
- ld_midu = dw_1.Object.u_mtrldef_midu[ll_i]
-
- ls_dscrp_mtrl = dw_1.Object.u_mtrldef_dscrp[ll_i]
-
- For ll_k = 1 To ll_cnt_new
- If ls_mtrlcode = ls_mtrlcode_new_arr[ll_k] Then
- Goto _next_row
- End If
- Next
-
-
- If ll_mtrlid > 0 and ll_mb_mtrlid = 0 Then
- Select u_mtrldef.mtrlname,
- u_mtrldef.mtrlsectype,
- u_mtrldef.mtrlmode,
- u_mtrldef.unit,
- u_mtrldef.dscrp,
- u_mtrldef.lmbuyprice,
- u_mtrldef.LMsaleprice,
- u_mtrldef.prdpackcode,
- u_mtrldef.packqty,
- u_mtrldef.zxmtrlmode,
- u_mtrldef.unit_buy,
- u_mtrldef.rate_buy,
- u_mtrldef.unit_scll,
- u_mtrldef.rate_scll,
- u_mtrldef.unit_sale,
- u_mtrldef.rate_sale,
- u_mtrldef.orderdays,
- u_mtrldef.buydays,
- u_mtrldef.wfjgdays,
- u_mtrldef.minbuyqty,
- u_mtrldef.aheaddays,
- u_mtrldef.ifselforder,
- u_mtrldef.mprice,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.mtrlkind,
- u_mtrldef.lspacklimit,
- u_mtrldef.MaxQTY,
- u_mtrldef.MinQTY,
- u_mtrldef.isuse,
- u_mtrldef.mtrltypeid,
- u_mtrldef.barcode,
- u_mtrldef.net_weight,
- u_mtrldef.gross_weight,
- u_mtrldef.cubage,
- u_mtrldef.mtrlengname,
- u_mtrldef.scllflag,
- u_mtrldef.dftwrkGrpid,
- u_mtrldef.scid,
- u_mtrldef.ifscid,
- u_mtrldef.mtrlprp,
- u_mtrldef.uprate,
- u_mtrldef.upqty,
- u_mtrldef.ordertype,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.mtrlarea,
- u_mtrldef.dftsptid,
- u_mtrldef.mtrlarea1,
- u_mtrldef.mtrlarea2,
- u_mtrldef.iflimitprice,
- u_mtrldef.configcode,
- u_mtrldef.autoinstall,
- u_mtrldef.ifpack,
- u_mtrldef.configname,
- u_mtrldef.ifpackpro,
- u_mtrldef.mtrlcolor,
- u_mtrldef.configcodetype,
- u_mtrldef.ifautodd,
- u_mtrldef.iflljg,
- u_mtrldef.ifunit,
- u_mtrldef.ifpackpz,
- u_mtrldef.ifpacktype,
- u_mtrldef.scllrate,
- u_mtrldef.cmpqty,
- u_mtrldef.usermtrlmode,
- u_mtrldef.storagetype,
- u_mtrldef.ifmtrlcuscode,
- u_mtrldef.mrptype,
- u_mtrldef.mrparg,
- u_mtrldef.updownprice,
- u_mtrldef.outtype,
- u_mtrldef.ifpricepack,
- u_mtrldef.gydscrp,
- u_mtrldef.downrate,
- u_mtrldef.ifcustom,
- u_mtrldef.buyunit,
- u_mtrldef.wfjgunit,
- u_mtrldef.scllunit,
- u_mtrldef.saleunit,
- u_mtrldef.buydec,
- u_mtrldef.wfjgdec,
- u_mtrldef.sclldec,
- u_mtrldef.saledec,
- u_mtrldef.issuliao,
- isnull(u_mtrldef_sl.period,0),
- u_mtrldef.ifenough,
- u_mtrldef.capacity,
- u_mtrldef.expday,
- u_mtrldef.capaparm,
- u_mtrldef.sctaskqty,
- u_mtrldef.minarg,
- u_mtrldef.maxarg,
- u_mtrldef.ifmrppackpf,
- u_mtrldef.maxzjday,
- u_mtrldef.eoq,
- u_mtrldef.splitrate,
- u_mtrldef.status_check,
- u_mtrldef.woodcode_check,
- u_mtrldef.pcode_check,
- u_mtrldef.maxdays,
- u_mtrldef.mindays,
- u_mtrldef.mrp_unit,
- u_mtrldef.rebuytype,
- u_mtrldef.rebuylot,
- u_mtrldef.ifsendlot,
- u_mtrldef.upddrate,
- u_mtrldef.upddqty,
- u_mtrldef.upsalerate,
- u_mtrldef.upsaleqty,
- u_mtrldef.status_config,
- u_mtrldef.woodcode_config,
- u_mtrldef.pcode_config,
- u_mtrldef.rebuylot,
- u_mtrldef.ifusedeliqty,
- u_mtrldef.pricepztype,
- u_mtrldef.useday,
- u_mtrldef.equiptype,
- u_mtrldef.ifpackpro2,
- isnull(u_mtrldef_sl.sk_mtrlid,0),
- u_mtrldef.ifkl,
- u_mtrldef.ifturn,
- u_mtrldef.iffp,
- u_mtrldef.scllqty,
- u_mtrldef.dftscllwkpid,
- u_mtrldef.piccode,
- u_mtrldef.if_hourpay,
- u_mtrldef.ifmrp,
- u_mtrldef.if_inherit,
- u_mtrldef.groupstr,
- u_mtrldef.groupday,
- u_mtrldef.aps_capacity_type,
- u_mtrldef.scllplan_mode,
- u_mtrldef.ifcheck,
- u_mtrldef.checkrate,
- u_mtrldef.chkpassrate,
- u_mtrldef.dftcusid,
- u_mtrldef.sendtype,
- u_mtrldef.buy_ceiling,
- u_mtrldef.wfjg_ceiling,
- u_mtrldef.sale_ceiling,
- u_mtrldef.scll_ceiling,
- u_mtrldef.material,
- u_mtrldef.adddec,
- u_mtrldef.ifbarcodefp,
- u_mtrldef.stoppqty,
- u_mtrldef.buy_autoday,
- u_mtrldef.upbuyrate,
- u_mtrldef.upbuyqty,
- u_mtrldef.ifrebuypack,
- u_mtrldef.protype,
- u_mtrldef.buydays_bx,
- u_mtrldef.wfjgdays_bx,
- u_mtrldef.multqty,
- u_mtrldef.multtype,
- u_mtrldef.buyer,
- u_mtrldef.bantype
- Into
- :arg_s_mtrl.mtrlname,
- :arg_s_mtrl.mtrlsectype,
- :arg_s_mtrl.mtrlmode,
- :arg_s_mtrl.unit,
- :arg_s_mtrl.dscrp,
- :arg_s_mtrl.lmbuyprice,
- :arg_s_mtrl.lmsaleprice,
- :arg_s_mtrl.prdpackcode,
- :arg_s_mtrl.packqty,
- :arg_s_mtrl.zxmtrlmode,
- :arg_s_mtrl.unit_buy,
- :arg_s_mtrl.rate_buy,
- :arg_s_mtrl.unit_scll,
- :arg_s_mtrl.rate_scll,
- :arg_s_mtrl.unit_sale,
- :arg_s_mtrl.rate_sale,
- :arg_s_mtrl.orderdays,
- :arg_s_mtrl.buydays,
- :arg_s_mtrl.wfjgdays,
- :arg_s_mtrl.minbuyqty,
- :arg_s_mtrl.aheaddays,
- :arg_s_mtrl.ifselforder,
- :arg_s_mtrl.mprice,
- :arg_s_mtrl.mtrlorigin,
- :arg_s_mtrl.mtrlkind,
- :arg_s_mtrl.lspacklimit,
- :arg_s_mtrl.maxqty,
- :arg_s_mtrl.minqty,
- :arg_s_mtrl.isuse,
- :arg_s_mtrl.mtrltypeid,
- :arg_s_mtrl.barcode,
- :arg_s_mtrl.net_weight,
- :arg_s_mtrl.gross_weight,
- :arg_s_mtrl.cubage,
- :arg_s_mtrl.mtrlengname,
- :arg_s_mtrl.scllflag,
- :arg_s_mtrl.dftwrkgrpid,
- :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.dftsptid,
- :arg_s_mtrl.mtrlarea1,
- :arg_s_mtrl.mtrlarea2,
- :arg_s_mtrl.iflimitprice,
- :arg_s_mtrl.configcode,
- :arg_s_mtrl.autoinstall,
- :arg_s_mtrl.ifpack,
- :arg_s_mtrl.configname,
- :arg_s_mtrl.ifpackpro,
- :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.period,
- :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.ifmrppackpf,
- :arg_s_mtrl.maxzjday,
- :arg_s_mtrl.eoq,
- :arg_s_mtrl.splitrate,
- :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.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.status_config,
- :arg_s_mtrl.woodcode_config,
- :arg_s_mtrl.pcode_config,
- :arg_s_mtrl.rebuylot,
- :arg_s_mtrl.ifusedeliqty,
- :arg_s_mtrl.pricepztype,
- :arg_s_mtrl.useday,
- :arg_s_mtrl.equiptype,
- :arg_s_mtrl.ifpackpro2,
- :arg_s_mtrl.skmtrlid,
- :arg_s_mtrl.ifkl,
- :arg_s_mtrl.ifturn,
- :arg_s_mtrl.iffp,
- :arg_s_mtrl.scllqty,
- :arg_s_mtrl.dftscllwkpid,
- :arg_s_mtrl.piccode,
- :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.scllplan_mode,
- :arg_s_mtrl.ifcheck,
- :arg_s_mtrl.checkrate,
- :arg_s_mtrl.chkpassrate,
- :arg_s_mtrl.dftcusid,
- :arg_s_mtrl.sendtype,
- :arg_s_mtrl.buy_ceiling,
- :arg_s_mtrl.wfjg_ceiling,
- :arg_s_mtrl.sale_ceiling,
- :arg_s_mtrl.scll_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.multtype,
- :arg_s_mtrl.buyer,
- :arg_s_mtrl.bantype
- From u_mtrldef LEFT Outer JOIN
- u_mtrldef_sl ON u_mtrldef.mtrlid = u_mtrldef_sl.mtrlid
- Where u_mtrldef.mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料原资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
-
- If arg_s_mtrl.issuliao = 1 Then
- Select sk_mtrltypeid Into :arg_s_mtrl.sk_mtrltypeid
- From u_mtrldef_sl
- Where mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_s_mtrl.sk_mtrltypeid = 0
- End If
- Else
- arg_s_mtrl.sk_mtrltypeid = 0
- End If
-
-
- Else //无MTRLID的情况,属性值取默认值
- //如果有模板编码,读取模板编码的属性
- If ll_mb_mtrlid > 0 Then
- f_find_mtrl_by_id_noarr(ll_mb_mtrlid,arg_s_mtrl)
- Else
-
- arg_s_mtrl.dscrp = ''
- arg_s_mtrl.lmbuyprice = 0
- arg_s_mtrl.LMsaleprice = 0
- arg_s_mtrl.prdpackcode = ''
- arg_s_mtrl.packqty = 0
- arg_s_mtrl.unit_buy = ''
- arg_s_mtrl.rate_buy = 0
- arg_s_mtrl.unit_scll = ''
- arg_s_mtrl.rate_scll = 0
- arg_s_mtrl.unit_sale = ''
- arg_s_mtrl.rate_sale = 0
- arg_s_mtrl.minbuyqty = 0
- arg_s_mtrl.aheaddays = 0
- arg_s_mtrl.ifselforder = 0
- arg_s_mtrl.mprice = 0
- arg_s_mtrl.mtrlkind = 0
- arg_s_mtrl.lspacklimit = 0
- arg_s_mtrl.MaxQTY = 99999
- arg_s_mtrl.MinQTY = 0
- arg_s_mtrl.isuse = 1
- arg_s_mtrl.barcode = ''
- arg_s_mtrl.net_weight = 0
- arg_s_mtrl.gross_weight = 0
- arg_s_mtrl.cubage = 0
- arg_s_mtrl.mtrlengname = ''
- arg_s_mtrl.scllflag = 0
- arg_s_mtrl.ifscid = 0
- arg_s_mtrl.uprate = 0
- arg_s_mtrl.upqty = 0
- arg_s_mtrl.ordertype = 0
- arg_s_mtrl.statusflag = 0
- arg_s_mtrl.statustype = 0
- arg_s_mtrl.woodcodeflag = 0
- arg_s_mtrl.woodcodetype = 0
- arg_s_mtrl.pcodeflag = 0
- arg_s_mtrl.pcodetype = 0
- arg_s_mtrl.mtrlarea = 0
- arg_s_mtrl.dftsptid = 0
- arg_s_mtrl.mtrlarea1 = 0
- arg_s_mtrl.mtrlarea2 = 0
- arg_s_mtrl.iflimitprice = 0
- arg_s_mtrl.configcode = ''
- arg_s_mtrl.autoinstall = 0
- arg_s_mtrl.ifpack = 0
- arg_s_mtrl.configname = ''
- arg_s_mtrl.ifpackpro = 0
- arg_s_mtrl.mtrlcolor = ''
- arg_s_mtrl.configcodetype = 0
- arg_s_mtrl.ifautodd = 0
- arg_s_mtrl.iflljg = 0
- arg_s_mtrl.ifunit = 0
- arg_s_mtrl.ifpackpz = 0
- arg_s_mtrl.ifpacktype = 0
- arg_s_mtrl.scllrate = 0
- arg_s_mtrl.cmpqty = 1
- arg_s_mtrl.storagetype = 0
- arg_s_mtrl.ifmtrlcuscode = 0
- arg_s_mtrl.mrptype = 0
- arg_s_mtrl.mrparg = 5
- arg_s_mtrl.updownprice = 0
- arg_s_mtrl.outtype = 0
- arg_s_mtrl.ifpricepack = 0
- arg_s_mtrl.gydscrp = ''
- arg_s_mtrl.downrate = 0
- arg_s_mtrl.ifcustom = 0
- arg_s_mtrl.buyunit = 0
- arg_s_mtrl.wfjgunit = 0
- arg_s_mtrl.scllunit = 0
- arg_s_mtrl.saleunit = 0
- arg_s_mtrl.buydec = 5
- arg_s_mtrl.wfjgdec = 5
- arg_s_mtrl.sclldec = 5
- arg_s_mtrl.saledec = 5
- arg_s_mtrl.issuliao = 0
- arg_s_mtrl.period = 0
- arg_s_mtrl.ifenough = 0
- arg_s_mtrl.capacity = 0
- arg_s_mtrl.expday = 0
- arg_s_mtrl.capaparm = 1
- arg_s_mtrl.sctaskqty = 0
- arg_s_mtrl.minarg = 0
- arg_s_mtrl.maxarg = 0
- arg_s_mtrl.ifmrppackpf = 0
- arg_s_mtrl.maxzjday = 0
- arg_s_mtrl.eoq = 0
- arg_s_mtrl.splitrate = 0
- arg_s_mtrl.sk_mtrltypeid = 0
-
- arg_s_mtrl.status_check = 0
- arg_s_mtrl.woodcode_check = 0
- arg_s_mtrl.pcode_check = 0
- arg_s_mtrl.maxdays = 0
- arg_s_mtrl.mindays = 0
- arg_s_mtrl.mrp_unit = 0
- arg_s_mtrl.rebuytype = 0
- arg_s_mtrl.rebuylot = 0
- arg_s_mtrl.ifsendlot = 0
- arg_s_mtrl.upddrate = 0
- arg_s_mtrl.upddqty = 0
- arg_s_mtrl.upsalerate = 0
- arg_s_mtrl.upsaleqty = 0
- arg_s_mtrl.status_config = ''
- arg_s_mtrl.woodcode_config = ''
- arg_s_mtrl.pcode_config = ''
- arg_s_mtrl.rebuylot = 0
- arg_s_mtrl.ifusedeliqty = 0
- arg_s_mtrl.pricepztype = 0
- arg_s_mtrl.useday = 0
- arg_s_mtrl.equiptype = 0
- arg_s_mtrl.ifpackpro2 = 0
- arg_s_mtrl.skmtrlid = 0
- arg_s_mtrl.ifkl = 0
- arg_s_mtrl.ifturn = 0
- arg_s_mtrl.iffp = 0
- arg_s_mtrl.scllqty = 0
- arg_s_mtrl.dftscllwkpid = 0
- arg_s_mtrl.piccode = ''
- arg_s_mtrl.if_hourpay = 0
- arg_s_mtrl.ifmrp = 1
- arg_s_mtrl.if_inherit = 0
- arg_s_mtrl.groupstr = ''
- arg_s_mtrl.groupday = 0
- arg_s_mtrl.aps_capacity_type = ''
- arg_s_mtrl.ifcheck = 0
- arg_s_mtrl.checkrate = 1
- arg_s_mtrl.scllplan_mode = 0
- arg_s_mtrl.chkpassrate = 0
- arg_s_mtrl.dftcusid = 0
- arg_s_mtrl.sendtype = 0
- arg_s_mtrl.buy_ceiling = 0
- arg_s_mtrl.wfjg_ceiling = 0
- arg_s_mtrl.sale_ceiling = 0
- arg_s_mtrl.scll_ceiling = 0
- arg_s_mtrl.material = ''
- arg_s_mtrl.adddec = 0
- arg_s_mtrl.ifbarcodefp = 0
- arg_s_mtrl.stoppqty = 0
- arg_s_mtrl.buy_autoday = 0
- arg_s_mtrl.upbuyrate = 0
- arg_s_mtrl.upbuyqty = 0
- arg_s_mtrl.ifrebuypack = 0
- arg_s_mtrl.protype = 0
- arg_s_mtrl.buydays_bx = 0
- arg_s_mtrl.wfjgdays_bx = 0
- arg_s_mtrl.multqty = 0
-
- arg_s_mtrl.multtype = 0
- arg_s_mtrl.buyer = ''
- arg_s_mtrl.bantype = 0
-
- End If
- End If
-
- arg_s_mtrl.mtrlid = 0 //ll_mtrlid // 新建的资料或已有资料但设了模板
- arg_s_mtrl.mtrlcode = ls_mtrlcode
- arg_s_mtrl.mtrlname = ls_mtrlname
- arg_s_mtrl.unit = ls_unit
- arg_s_mtrl.mtrlmode = ls_mtrlmode
- arg_s_mtrl.mtrlsectype = ls_mtrlsectype
- arg_s_mtrl.zxmtrlmode = ls_zxmtrlmode
- arg_s_mtrl.usermtrlmode = ls_usermtrlmode
-
- arg_s_mtrl.orderdays = ld_orderdays
- arg_s_mtrl.buydays = ld_buydays
- arg_s_mtrl.wfjgdays = ld_wfjgdays
-
- arg_s_mtrl.mtrltypeid = ll_mtrltypeid
- arg_s_mtrl.scid = ll_scid
- arg_s_mtrl.dftwrkGrpid = ll_dftwrkgrpid
-
-
- arg_s_mtrl.Mtrlorigin = li_mtrlorigin
- arg_s_mtrl.mtrlprp = li_mtrlprp
-
- arg_s_mtrl.piccode = ls_piccode
-
- arg_s_mtrl.ifselforder = li_ifselforder
- arg_s_mtrl.ordertype = li_ordertype
-
- arg_s_mtrl.mb_mtrlid = ll_mb_mtrlid
-
- arg_s_mtrl.bantype = ll_bantype
-
- arg_s_mtrl.outtype = li_outtype
- arg_s_mtrl.dscrp = ls_dscrp_mtrl
-
- arg_s_mtrl.midu = ld_midu
- arg_s_mtrl.isuse = 1
-
- If uo_mtrl.uof_add_mtrl(arg_s_mtrl,publ_operator,arg_msg,False) = 0 Then
- arg_msg = "行:"+String(ll_i)+ ",建立新物料资料操作失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
-
- arg_s_ban.wenli = dw_1.Object.u_mtrldef_ban_wenli[ll_i]
- arg_s_ban.fengbian = dw_1.Object.u_mtrldef_ban_fengbian[ll_i]
- arg_s_ban.paikong = dw_1.Object.u_mtrldef_ban_paikong[ll_i]
- arg_s_ban.luoji = dw_1.Object.u_mtrldef_ban_luoji[ll_i]
- arg_s_ban.penyou = dw_1.Object.u_mtrldef_ban_penyou[ll_i]
- arg_s_ban.gydscrp = dw_1.Object.u_mtrldef_ban_gydscrp[ll_i]
- arg_s_ban.promode = dw_1.Object.u_mtrldef_ban_promode[ll_i]
- arg_s_ban.direction = dw_1.Object.u_mtrldef_ban_direction[ll_i]
- arg_s_ban.pfklmode = dw_1.Object.u_mtrldef_ban_pfklmode[ll_i]
-
-
- If uo_mtrl.uof_update_ban(uo_mtrl.uo_mtrlid,arg_s_ban,arg_msg,False) = 0 Then
- arg_msg = "行:"+String(ll_i)+ ",建立新物料板件资料操作失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
-
- //记录新建的物料编码,如果下面再出现,不重复新建资料 2014-10-06
- ll_cnt_new++
- ls_mtrlcode_new_arr[ll_cnt_new] = ls_mtrlcode
-
-
- ll_mtrlid_copy = uo_mtrl.uo_mtrlid
-
- dw_1.Object.newid[ll_i] = ll_mtrlid_copy
-
- If ll_mtrlid > 0 Then
- Insert Into u_mtrl_storage
- (mtrlid,storageid)
- Select :ll_mtrlid_copy,storageid
- From u_mtrl_storage
- Where mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = sqlca.SQLErrText
- arg_msg = '复制物料存放仓库失败,'+arg_msg
- Goto ext
- End If
-
- Insert Into u_mtrl_wkp
- (mtrlid,
- swkpid,
- owkpid,
- wkpname,
- lastdays,
- dscrp)
- Select :ll_mtrlid_copy,
- u_mtrl_wkp.swkpid,
- u_mtrl_wkp.owkpid,
- u_mtrl_wkp.wkpname,
- u_mtrl_wkp.lastdays,
- u_mtrl_wkp.dscrp
- From u_mtrl_wkp
- Where mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = sqlca.SQLErrText
- arg_msg = '复制车间交接流程失败,'+arg_msg
- Goto ext
- End If
-
- Insert Into u_mtrl_configure2
- (scid,
- mtrlid,
- pzid,
- printid,
- pzcode,
- pzname,
- pzcodemx,
- pznamemx
- )
- Select scid,
- :ll_mtrlid_copy,
- pzid,
- printid,
- pzcode,
- pzname,
- pzcodemx,
- pznamemx
- From u_mtrl_configure2
- Where mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = sqlca.SQLErrText
- arg_msg = '复制产品配置失败,'+arg_msg
- Goto ext
- End If
-
- Declare cur_configure Cursor For
- Select u_mtrl_configure.code,
- u_mtrl_configure.name,
- u_mtrl_configure.ename,
- u_mtrl_configure.type,
- u_mtrl_configure.dscrp,
- u_mtrl_configure.DefaultPZ,
- u_mtrl_configure.ifzj,
- u_mtrl_configure.planprice,
- u_mtrl_configure.capacity,
- u_mtrl_configure.capaparm
- From u_mtrl_configure
- Where u_mtrl_configure.mtrlid = :ll_mtrlid;
- Open cur_configure;
-
- Fetch cur_configure Into :ls_code,:ls_name,:ls_ename,:ll_type,:ls_dscrp,
- :ll_DefaultPZ,:ll_ifzj,:ld_planprice,:ld_capacity,:ld_capaparm;
- Do While sqlca.SQLCode = 0
-
- ll_new_cid = f_sys_scidentity(0,"u_mtrl_configure","cid",arg_msg,True,id_sqlca)
- If ll_new_cid <= 0 Then
- rslt = 0
- arg_msg = '复制配置内容失败,'+arg_msg
- Goto ext
- End If
-
- Insert Into u_mtrl_configure
- (mtrlid,
- cid,
- code,
- name,
- ename,
- type,
- dscrp,
- defaultpz,
- ifzj,
- planprice,
- capacity,
- capaparm)
- Values( :ll_mtrlid_copy,
- :ll_new_cid,
- :ls_code,
- :ls_name,
- :ls_ename,
- :ll_type,
- :ls_dscrp,
- :ll_DefaultPZ,
- :ll_ifzj,
- :ld_planprice,
- :ld_capacity,
- :ld_capaparm);
- If sqlca.SQLCode <> 0 Then
- arg_msg = sqlca.SQLErrText
- arg_msg = '复制配置内容失败,'+arg_msg
- rslt = 0
- Goto ext
- End If
- Fetch cur_configure Into :ls_code,:ls_name,:ls_ename,:ll_type,:ls_dscrp,
- :ll_DefaultPZ,:ll_ifzj,:ld_planprice,:ld_capacity,:ld_capaparm;
- Loop
- Close cur_configure;
- End If
-
- If uo_pf.uof_addpflist(ll_mtrlid_copy,ls_pfcode,ll_dftwrkgrpid,'',0,1,0,False,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- If uo_pf.uof_audit(ll_mtrlid_copy,ls_pfcode,1,arg_msg,False) = 0 Then
- arg_msg = "审核清单用料明细物料的物料清单失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
-
- If ll_dftwrkgrpid > 0 Then
- If u_wrkprice.uof_add_list(ll_mtrlid_copy,'[常规]',ll_dftwrkgrpid,0,'',1,publ_operator,arg_msg,False) = 0 Then
- rslt = 0
- Goto ext
- End If
- End If
- else
- //现有物料,更新板件信息
- arg_s_ban.wenli = dw_1.Object.u_mtrldef_ban_wenli[ll_i]
- arg_s_ban.fengbian = dw_1.Object.u_mtrldef_ban_fengbian[ll_i]
- arg_s_ban.paikong = dw_1.Object.u_mtrldef_ban_paikong[ll_i]
- arg_s_ban.luoji = dw_1.Object.u_mtrldef_ban_luoji[ll_i]
- arg_s_ban.penyou = dw_1.Object.u_mtrldef_ban_penyou[ll_i]
- arg_s_ban.gydscrp = dw_1.Object.u_mtrldef_ban_gydscrp[ll_i]
- arg_s_ban.promode = dw_1.Object.u_mtrldef_ban_promode[ll_i]
- arg_s_ban.direction = dw_1.Object.u_mtrldef_ban_direction[ll_i]
- arg_s_ban.pfklmode = dw_1.Object.u_mtrldef_ban_pfklmode[ll_i]
-
-
- If uo_mtrl.uof_update_ban(dw_1.Object.u_mtrldef_mtrlid[ll_i],arg_s_ban,arg_msg,False) = 0 Then
- arg_msg = "行:"+String(ll_i)+ ",更新物料板件资料操作失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
-
- End If
-
- _next_row:
- Next
- dw_1.AcceptText()
- //建立清单
- //1.建立主产品清单
- Long ll_mtrlid_son
- Decimal ld_sonscale,ld_sonloss,ld_sondecloss,ld_sonahead
- String ls_dscrp_pf,ls_woodcode,ls_pcode,ls_status
- String ls_sonpfcode
- Long ll_printid
- String ls_pfgroup,ls_pfgroupmode,ls_pfklmode
- Decimal ls_pfgroupqty
- Decimal ld_scllloss,ld_sclldecloss,ld_pfgroupqty
- Long ll_ifover,ll_dipztype
- Decimal ld_buyarg
- Long ll_wrkgrpid
- String ls_promode
- Decimal ld_sonscale_p
- Long cnt_fj
- If ins_if_saletask = 1 Then
- Select count(*) Into :cnt
- From u_mtrl_pf
- Where mtrlid = :ins_mtrlid
- And pfcode = :ins_pfcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询产品物料清单信息失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
-
- If cnt = 0 Then
- Select count(*) Into :cnt_fj
- From U_File
- Where relid = :ins_mtrlid
- And relcode = :ins_pfcode
- And billtype = 202 Using sys_fileDB_sqlca;
- If sys_fileDB_sqlca.SQLCode <> 0 Then cnt_fj = 0
-
-
- Insert Into u_mtrl_pf(mtrlid,pfcode,if_saletask,moddate,modemp,inuse,dscrp,fjcnt)
- Values (:ins_mtrlid,:ins_pfcode,1,getdate(),:publ_operator,1,:ins_pfdscrp,:cnt_fj);
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = "添加物料清单失败,"+sqlca.SQLErrText
- Goto ext
- End If
-
- If uo_pf.uof_audit(ins_mtrlid,ins_pfcode,1,arg_msg,False) = 0 Then
- arg_msg = "审核清单用料明细物料的物料清单失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
- End If
- End If
- Delete From u_prdpf
- Where ( u_prdpf.mtrlid = :ins_mtrlid ) And
- ( u_prdpf.pfcode = :ins_pfcode );
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '删除主产品原有物料清单失败,'+sqlca.SQLErrText
- Goto ext
- End If
- //FOR ll_i = 1 To dw_1.RowCount()
- // IF dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 THEN CONTINUE
- //
- // ll_mtrlid = dw_1.Object.u_mtrldef_mtrlid[ll_i]
- // ls_pfcode = f_get_dft_pf(ll_mtrlid)
- //// ls_pfcode = ins_pfcode
- //
- // DELETE FROM u_prdpf
- // WHERE ( u_prdpf.mtrlid = :ll_mtrlid ) AND
- // ( u_prdpf.pfcode = :ls_pfcode );
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = '行:'+String(ll_i)+',删除原有物料清单失败,'+sqlca.SQLErrText
- // GOTO ext
- // END IF
- //NEXT
- Int li_ifpackpro
- Select ifpackpro Into :li_ifpackpro
- From u_mtrldef
- Where mtrlid = :ins_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询主产品包件产品属性失败,'+sqlca.SQLErrText
- Goto ext
- End If
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] = 1 Then
- If dw_1.Object.u_prdpf_sonscale[ll_i] < 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- arg_msg = '不合理组成数量!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_prdpf_sonloss[ll_i] < 0 Or dw_1.Object.u_prdpf_sonloss[ll_i] >= 1 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- arg_msg = '不合理损耗率!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_prdpf_sondecloss[ll_i] < 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
-
- arg_msg = '不合理附加损耗量!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_prdpf_wrkgrpid[ll_i] = 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- arg_msg = '请先选择领用工组'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 Then
- ll_mtrlid_son = dw_1.Object.newid[ll_i]
- Else
- ll_mtrlid_son = dw_1.Object.u_mtrldef_mtrlid[ll_i]
- End If
-
- ld_sonscale = dw_1.Object.u_prdpf_sonscale[ll_i]
- ld_sonloss = dw_1.Object.u_prdpf_sonloss[ll_i]
- ld_sondecloss = dw_1.Object.u_prdpf_sondecloss[ll_i]
- ld_sonahead = dw_1.Object.u_prdpf_sonahead[ll_i]
- ls_status = dw_1.Object.u_prdpf_status[ll_i]
- ls_woodcode = dw_1.Object.u_prdpf_woodcode[ll_i]
- ls_pcode = dw_1.Object.u_prdpf_pcode[ll_i]
- ls_sonpfcode = dw_1.Object.u_prdpf_sonpfcode[ll_i]
- ll_printid = dw_1.Object.u_prdpf_printid[ll_i]
- ls_pfgroup = dw_1.Object.u_prdpf_pfgroup[ll_i]
- ld_pfgroupqty = dw_1.Object.u_prdpf_pfgroupqty[ll_i]
- ls_pfgroupmode = dw_1.Object.u_prdpf_pfgroupmode[ll_i]
- ls_pfklmode = dw_1.Object.u_prdpf_pfklmode[ll_i]
- ls_dscrp_pf = dw_1.Object.u_prdpf_dscrp[ll_i]
- ld_scllloss = dw_1.Object.u_prdpf_scllloss[ll_i]
- ld_sclldecloss = dw_1.Object.u_prdpf_sclldecloss[ll_i]
- ll_ifover = dw_1.Object.u_prdpf_ifover[ll_i]
- ll_dipztype = dw_1.Object.u_prdpf_dipztype[ll_i]
- ld_buyarg = dw_1.Object.u_prdpf_buyarg[ll_i]
- ll_wrkgrpid = dw_1.Object.u_prdpf_wrkgrpid[ll_i]
- ls_promode = dw_1.Object.u_prdpf_promode[ll_i]
-
- ll_modleid = dw_1.Object.u_prdpf_modleid[ll_i]
- ls_modlename = dw_1.Object.u_prdpf_modlename[ll_i]
-
- ls_wenli = dw_1.Object.u_prdpf_wenli[ll_i]
- ls_fengbian = dw_1.Object.u_prdpf_fengbian[ll_i]
- ls_paikong = dw_1.Object.u_prdpf_paikong[ll_i]
- ls_luoji = dw_1.Object.u_prdpf_luoji[ll_i]
- ls_penyou = dw_1.Object.u_prdpf_penyou[ll_i]
- ls_azcode = dw_1.Object.u_prdpf_azcode[ll_i]
-
- If li_ifpackpro = 5 And ll_dipztype <> 3 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- arg_msg = '全订制板式家具包件产品下级包件按配置运算或拆装必须选择"配置+配置1"'
- rslt = 0
- Goto ext
- End If
-
- Insert Into u_prdpf
- ( mtrlid,
- pfcode,
- sonmtrlid,
- sonscale,
- sonloss,
- sondecloss,
- sonahead,
- status,
- woodcode,
- pcode,
- sonpfcode,
- printid,
- pfgroup,
- pfgroupqty,
- pfgroupmode,
- pfklmode,
- dscrp,
- scllloss,
- sclldecloss,
- ifover,
- dipztype,
- buyarg,
- wrkgrpid,
- promode,
- modleid,
- modlename,
- wenli,
- fengbian,
- paikong,
- luoji,
- penyou,
- azcode)
- Values ( :ins_mtrlid,
- :ins_pfcode,
- :ll_mtrlid_son,
- :ld_sonscale,
- :ld_sonloss,
- :ld_sondecloss,
- :ld_sonahead,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ls_sonpfcode,
- :ll_printid,
- :ls_pfgroup,
- :ld_pfgroupqty,
- :ls_pfgroupmode,
- :ls_pfklmode,
- :ls_dscrp_pf,
- :ld_scllloss,
- :ld_sclldecloss,
- :ll_ifover,
- :ll_dipztype,
- :ld_buyarg,
- :ll_wrkgrpid,
- :ls_promode,
- :ll_modleid,
- :ls_modlename,
- :ls_wenli,
- :ls_fengbian,
- :ls_paikong,
- :ls_luoji,
- :ls_penyou,
- :ls_azcode) ;
-
- If sqlca.SQLCode <> 0 Then
- If Pos(sqlca.SQLErrText,'PK_u_PrdPF') > 0 Then
- arg_msg = '插入主产品物料清单失败,发现重复信息,在'+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' ,请核对!'
- Else
- arg_msg = '插入清单失败(主产品),'+sqlca.SQLErrText
- End If
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- rslt = 0
- Goto ext
- End If
-
- End If
- Next
- //2.建立新建物料清单
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] = 0 Then Continue
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 And dw_1.Object.newid[ll_i] = 0 Then Continue
-
- ll_lp = dw_1.Object.lp[ll_i]
-
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 Then
- ll_mtrlid = dw_1.Object.newid[ll_i]
- ls_pfcode = dw_1.Object.u_prdpf_sonpfcode[ll_i]
- Else
- If ins_if_saletask = 1 And dw_1.Object.u_prdpf_sonpfcode[ll_i] = ins_pfcode Then
- //使用圆方全订制导入,包件清单号按产品清单
- ll_mtrlid = dw_1.Object.u_mtrldef_mtrlid[ll_i]
- ls_pfcode = ins_pfcode
-
- Select count(*) Into :cnt
- From u_mtrl_pf
- Where mtrlid = :ll_mtrlid
- And pfcode = :ls_pfcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询产品物料清单信息失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
-
- If cnt = 0 Then
- Insert Into u_mtrl_pf(mtrlid,pfcode,if_saletask,moddate,modemp,inuse,dscrp)
- Values (:ll_mtrlid,:ls_pfcode,1,getdate(),:publ_operator,1,:ins_pfdscrp);
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = "添加物料清单失败,"+sqlca.SQLErrText
- Goto ext
- End If
-
- If uo_pf.uof_audit(ll_mtrlid,ls_pfcode,1,arg_msg,False) = 0 Then
- arg_msg = "审核清单用料明细物料的物料清单失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
- End If
-
- Else
- ll_mtrlid = dw_1.Object.u_mtrldef_mtrlid[ll_i]
- ls_pfcode = dw_1.Object.u_prdpf_sonpfcode[ll_i]
-
- If Trim(ls_pfcode) = '' Then
- ls_pfcode = f_get_dft_pf(ll_mtrlid)
- End If
-
- Select count(*) Into :cnt
- From u_mtrl_pf
- Where mtrlid = :ll_mtrlid
- And pfcode = :ls_pfcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询产品物料清单信息失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
-
- If cnt = 0 Then
- Insert Into u_mtrl_pf(mtrlid,pfcode,if_saletask,moddate,modemp,inuse,dscrp)
- Values (:ll_mtrlid,:ls_pfcode,1,getdate(),:publ_operator,1,:ins_pfdscrp);
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = "添加物料清单失败,"+sqlca.SQLErrText
- Goto ext
- End If
-
- If uo_pf.uof_audit(ll_mtrlid,ls_pfcode,1,arg_msg,False) = 0 Then
- arg_msg = "审核清单用料明细物料的物料清单失败,"+arg_msg
- rslt = 0
- Goto ext
- End If
- End If
-
- End If
- End If
-
- ld_sonscale_p = dw_1.Object.u_prdpf_sonscale[ll_i]
- ld_sonloss_p = dw_1.Object.u_prdpf_sonloss[ll_i]
- ld_sondecloss_p = dw_1.Object.u_prdpf_sondecloss[ll_i]
-
- Select cmpqty Into :ld_cmpqty_p
- From u_mtrldef
- Where mtrlid = :ll_mtrlid;
- If sqlca.SQLCode <> 0 Then ld_cmpqty_p = 1
-
-
- ld_qty = Round(((ld_sonscale_p/(1 - ld_sonloss_p)+ ld_sondecloss_p) / ld_cmpqty_p),sys_option_produce_dec)
-
-
- If ld_sonscale_p <= 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- arg_msg = '不合理组成数量!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- Delete From u_prdpf
- Where ( u_prdpf.mtrlid = :ll_mtrlid ) And
- ( u_prdpf.pfcode = :ls_pfcode );
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '行:'+String(ll_i)+',删除原有物料清单失败,'+sqlca.SQLErrText
- Goto ext
- End If
-
- For ll_j = ll_i + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_j] <= ll_lp Then Exit
- If dw_1.Object.lp[ll_j] = ll_lp + 1 Then
- If dw_1.Object.u_prdpf_sonscale[ll_j] <= 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_j)
- dw_1.SelectRow(ll_j,True)
- arg_msg = '不合理组成数量!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_j])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_prdpf_sonloss[ll_j] < 0 Or dw_1.Object.u_prdpf_sonloss[ll_j] >= 1 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_j)
- dw_1.SelectRow(ll_j,True)
- arg_msg = '不合理损耗率!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_j])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_prdpf_sondecloss[ll_j] < 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_j)
- dw_1.SelectRow(ll_j,True)
-
- arg_msg = '不合理附加损耗量!在 '+String(dw_1.Object.u_mtrldef_mtrlcode[ll_j])+' ,请核对!'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_prdpf_wrkgrpid[ll_j] = 0 Then
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_j)
- dw_1.SelectRow(ll_j,True)
- arg_msg = '请先选择领用工组'
- rslt = 0
- Goto ext
- End If
-
- If dw_1.Object.u_mtrldef_mtrlid[ll_j] = 0 Then
- ll_mtrlid_son = dw_1.Object.newid[ll_j]
- Else
- ll_mtrlid_son = dw_1.Object.u_mtrldef_mtrlid[ll_j]
- End If
-
- ld_sonscale = dw_1.Object.u_prdpf_sonscale[ll_j]
- ld_sonloss = dw_1.Object.u_prdpf_sonloss[ll_j]
- ld_sondecloss = dw_1.Object.u_prdpf_sondecloss[ll_j]
- ld_sonahead = dw_1.Object.u_prdpf_sonahead[ll_j]
- ls_status = dw_1.Object.u_prdpf_status[ll_j]
- ls_woodcode = dw_1.Object.u_prdpf_woodcode[ll_j]
- ls_pcode = dw_1.Object.u_prdpf_pcode[ll_j]
- ls_sonpfcode = dw_1.Object.u_prdpf_sonpfcode[ll_j]
- ll_printid = dw_1.Object.u_prdpf_printid[ll_j]
- ls_pfgroup = dw_1.Object.u_prdpf_pfgroup[ll_j]
- ld_pfgroupqty = dw_1.Object.u_prdpf_pfgroupqty[ll_j]
- ls_pfgroupmode = dw_1.Object.u_prdpf_pfgroupmode[ll_j]
- ls_pfklmode = dw_1.Object.u_prdpf_pfklmode[ll_j]
- ls_dscrp_pf = dw_1.Object.u_prdpf_dscrp[ll_j]
- ld_scllloss = dw_1.Object.u_prdpf_scllloss[ll_j]
- ld_sclldecloss = dw_1.Object.u_prdpf_sclldecloss[ll_j]
- ll_ifover = dw_1.Object.u_prdpf_ifover[ll_j]
- ll_dipztype = dw_1.Object.u_prdpf_dipztype[ll_j]
- ld_buyarg = dw_1.Object.u_prdpf_buyarg[ll_j]
- ll_wrkgrpid = dw_1.Object.u_prdpf_wrkgrpid[ll_j]
- ls_promode = dw_1.Object.u_prdpf_promode[ll_j]
-
- ll_modleid = dw_1.Object.u_prdpf_modleid[ll_j]
- ls_modlename = dw_1.Object.u_prdpf_modlename[ll_j]
-
- ld_sonscale = ld_sonscale / ld_qty
-
- ls_wenli = dw_1.Object.u_prdpf_wenli[ll_j]
- ls_fengbian = dw_1.Object.u_prdpf_fengbian[ll_j]
- ls_paikong = dw_1.Object.u_prdpf_paikong[ll_j]
- ls_luoji = dw_1.Object.u_prdpf_luoji[ll_j]
- ls_penyou = dw_1.Object.u_prdpf_penyou[ll_j]
- ls_azcode = dw_1.Object.u_prdpf_azcode[ll_j]
-
- Insert Into u_prdpf
- ( mtrlid,
- pfcode,
- sonmtrlid,
- sonscale,
- sonloss,
- sondecloss,
- sonahead,
- status,
- woodcode,
- pcode,
- sonpfcode,
- printid,
- pfgroup,
- pfgroupqty,
- pfgroupmode,
- pfklmode,
- dscrp,
- scllloss,
- sclldecloss,
- ifover,
- dipztype,
- buyarg,
- wrkgrpid,
- promode,
- modleid,
- modlename,
- wenli,
- fengbian,
- paikong,
- luoji,
- penyou,
- azcode)
- Values ( :ll_mtrlid,
- :ls_pfcode,
- :ll_mtrlid_son,
- :ld_sonscale,
- :ld_sonloss,
- :ld_sondecloss,
- :ld_sonahead,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ls_sonpfcode,
- :ll_printid,
- :ls_pfgroup,
- :ld_pfgroupqty,
- :ls_pfgroupmode,
- :ls_pfklmode,
- :ls_dscrp_pf,
- :ld_scllloss,
- :ld_sclldecloss,
- :ll_ifover,
- :ll_dipztype,
- :ld_buyarg,
- :ll_wrkgrpid,
- :ls_promode,
- :ll_modleid,
- :ls_modlename,
- :ls_wenli,
- :ls_fengbian,
- :ls_paikong,
- :ls_luoji,
- :ls_penyou,
- :ls_azcode) ;
-
- If sqlca.SQLCode <> 0 Then
- If Pos(sqlca.SQLErrText,'PK_u_PrdPF') > 0 Then
- arg_msg = '插入'+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' 物料清单失败,发现重复信息,在'+String(dw_1.Object.u_mtrldef_mtrlcode[ll_j])+' ,请核对!'
- Else
- arg_msg = '插入'+String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' 物料清单失败,在'+String(dw_1.Object.u_mtrldef_mtrlcode[ll_j])+' ,'+sqlca.SQLErrText
- End If
- dw_1.SelectRow(0,False)
- dw_1.SetRow(ll_i)
- dw_1.SelectRow(ll_i,True)
- rslt = 0
- Goto ext
- End If
- End If
- Next
-
- Update u_mtrl_pf
- Set moddate = getdate() ,
- modemp = :publ_operator
- Where mtrlid = :ll_mtrlid
- And pfcode = :ls_pfcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' 更新物料清单构成修改时间失败,'+arg_msg
- Goto ext
- End If
-
- //计算物料清单用料列表
- If uo_pf.f_clearprdpfmx(ll_mtrlid,ls_pfcode,arg_msg,False) = 0 Then
- rslt = 0
- arg_msg = String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' 清除原用料列表失败,'+arg_msg
- Goto ext
- End If
-
- If uo_pf.f_cmpprdpf(ll_mtrlid,ll_mtrlid,ls_pfcode,ls_pfcode,1,1,1,arg_msg,False,0) = 0 Then
- rslt = 0
- arg_msg = String(dw_1.Object.u_mtrldef_mtrlcode[ll_i])+' 计算新用料列表失败,'+arg_msg
- Goto ext
- End If
- Next
- Update u_mtrl_pf
- Set moddate = getdate() ,
- modemp = :publ_operator
- Where mtrlid = :ins_mtrlid
- And pfcode = :ins_pfcode;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '更新主产品物料清单构成修改时间失败,'+arg_msg
- Goto ext
- End If
- //计算主产品物料清单用料列表
- If uo_pf.f_clearprdpfmx(ins_mtrlid,ins_pfcode,arg_msg,False) = 0 Then
- rslt = 0
- arg_msg = '清除主产品原用料列表失败,'+arg_msg
- Goto ext
- End If
- If uo_pf.f_cmpprdpf(ins_mtrlid,ins_mtrlid,ins_pfcode,ins_pfcode,1,1,1,arg_msg,False,0) = 0 Then
- rslt = 0
- arg_msg = '计算主产品新用料列表失败,'+arg_msg
- Goto ext
- End If
- //3.建立工价表
- //4.建立工组流程
- dw_copy.SetFilter('')
- dw_copy.Filter()
- dw_copy_wkp.SetFilter('')
- dw_copy_wkp.Filter()
- dw_copy.AcceptText()
- dw_copy_wkp.AcceptText()
- For ll_i = 1 To dw_1.RowCount()
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 And dw_1.Object.newid[ll_i] = 0 Then Continue
-
- If dw_1.Object.ifmod_wp[ll_i] = 1 Then
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] > 0 Then
- ll_mtrlid_wp = dw_1.Object.u_mtrldef_mtrlid[ll_i]
- Else
- ll_mtrlid_wp = dw_1.Object.newid[ll_i]
- End If
-
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i]
- ls_wpcode = f_get_dft_wp(ll_mtrlid_wp)
-
- If u_wrkprice.updatebegin(ll_mtrlid_wp,ls_wpcode,dw_1.Object.u_mtrldef_dftwrkgrpid[ll_i],arg_msg) = 0 Then
- arg_msg = '物料:'+ls_mtrlcode+','+arg_msg
- rslt = 0
- Goto ext
- End If
-
- u_wrkprice.mtrlid = ll_mtrlid_wp
- u_wrkprice.wpmtrlid = 0
- u_wrkprice.wprate = 0
-
- cnt = 0
- For ll_j = 1 To dw_copy.RowCount()
- If dw_copy.Object.u_mtrldef_mtrlcode[ll_j] = ls_mtrlcode Then
- If Trim(dw_copy.Object.procode[ll_j]) <> '' Then //And dw_copy.Object.auditflag[ll_j] = 0 THEN
- If u_wrkprice.acceptmx(dw_copy.Object.proid[ll_j],&
- dw_copy.Object.procode[ll_j],&
- dw_copy.Object.u_sc_workprice_proname[ll_j],&
- dw_copy.Object.workqty[ll_j],&
- dw_copy.Object.workprice[ll_j],&
- dw_copy.Object.wrkgrpid[ll_j],&
- Upper(dw_copy.Object.worklevel[ll_j]),&
- Upper(dw_copy.Object.techlevel[ll_j]),&
- dw_copy.Object.workhour[ll_j],&
- dw_copy.Object.dscrp[ll_j],&
- dw_copy.Object.lastflag[ll_j],&
- dw_copy.Object.proorder[ll_j],&
- 0,&
- dw_copy.Object.lsxtype[ll_j],&
- dw_copy.Object.u_sc_workprice_ifstandard[ll_j],&
- dw_copy.Object.u_sc_workprice_status[ll_j],&
- dw_copy.Object.u_sc_workprice_ifjd[ll_j],&
- dw_copy.Object.u_sc_workprice_utcode[ll_j],&
- dw_copy.Object.u_sc_workprice_sctype[ll_j],&
- dw_copy.Object.u_sc_workprice_equipmentid[ll_j],&
- dw_copy.Object.u_sc_workprice_workdays[ll_j],&
- dw_copy.Object.u_sc_workprice_beforehour_minute[ll_j],&
- dw_copy.Object.u_sc_workprice_afterhour_minute[ll_j],&
- dw_copy.Object.u_sc_workprice_pricestr[ll_j],&
- dw_copy.Object.u_sc_workprice_partname[ll_j],&
- dw_copy.Object.u_sc_workprice_eqworkhour_minute[ll_j],&
- dw_copy.Object.u_sc_workprice_worktype[ll_j],&
- 0,0,0,0,0,0,0,0,0,&
- dw_copy.Object.u_sc_workprice_eq_empnum[ll_j],0,0,&
- dw_copy.Object.u_sc_workprice_workqtystr[ll_j],&
- 0,&
- dw_copy.Object.u_sc_workprice_u_workqty[ll_j],&
- dw_copy.Object.u_sc_workprice_u_workprice[ll_j],&
- dw_copy.Object.u_sc_workprice_u_workqtystr[ll_j],&
- dw_copy.Object.u_sc_workprice_u_pricestr[ll_j],'',0,0,0,0,&
- arg_msg) = 0 Then
- rslt = 0
- arg_msg = '建立工价表失败,物料:'+ls_mtrlcode+','+arg_msg
- Goto ext
- End If
- cnt++
- End If
- End If
- Next
-
- If cnt > 0 Then
- If u_wrkprice.Save(False,arg_msg) = 0 Then
- arg_msg = '建立工价表失败,物料:'+ls_mtrlcode+','+arg_msg
- rslt = 0
- Goto ext
- End If
- End If
- End If
-
- If dw_1.Object.ifmod_wkp[ll_i] = 1 Then
- If dw_1.Object.u_mtrldef_mtrlid[ll_i] > 0 Then
- ll_mtrlid_wp = dw_1.Object.u_mtrldef_mtrlid[ll_i]
- Else
- ll_mtrlid_wp = dw_1.Object.newid[ll_i]
- End If
-
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i]
-
- Delete From u_mtrl_wkp
- Where mtrlid = :ll_mtrlid_wp;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '物料:'+ls_mtrlcode+',删除原工组流程失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
- For ll_j = 1 To dw_copy_wkp.RowCount()
- If dw_copy_wkp.Object.u_mtrldef_mtrlcode[ll_j] = ls_mtrlcode Then
- printid_wkp = dw_copy_wkp.Object.printid[ll_j]
- wkpname_wkp = dw_copy_wkp.Object.wkpname[ll_j]
- groupstr_wkp = dw_copy_wkp.Object.groupstr[ll_j]
- swkpid_wkp = dw_copy_wkp.Object.swkpid[ll_j]
- owkpid_wkp = dw_copy_wkp.Object.owkpid[ll_j]
- iflast_wkp = dw_copy_wkp.Object.iflast[ll_j]
- lasthour_wkp = dw_copy_wkp.Object.lasthour[ll_j]
- lastdays_wkp = dw_copy_wkp.Object.lastdays[ll_j]
- minlasthour_wkp = dw_copy_wkp.Object.minlasthour[ll_j]
- uprate_wkp = dw_copy_wkp.Object.uprate[ll_j]
- dscrp_wkp = dw_copy_wkp.Object.dscrp[ll_j]
- lp_wkp = dw_copy_wkp.Object.lp[ll_j]
- printlp_wkp = dw_copy_wkp.Object.printlp[ll_j]
- workhour_wkp = dw_copy_wkp.Object.workhour[ll_j]
- beforehour_wkp = dw_copy_wkp.Object.beforehour[ll_j]
- afterhour_wkp = dw_copy_wkp.Object.afterhour[ll_j]
- workgroupid_wkp = dw_copy_wkp.Object.workgroupid[ll_j]
- gydscrp_wkp = dw_copy_wkp.Object.gydscrp[ll_j]
-
- Insert Into u_mtrl_wkp
- (mtrlid,
- printid,
- wkpname,
- groupstr,
- swkpid,
- owkpid,
- iflast,
- lasthour,
- lastdays,
- minlasthour,
- uprate,
- dscrp,
- lp,
- printlp,
- workhour,
- beforehour,
- afterhour,
- workgroupid,
- gydscrp)
- Values (:ll_mtrlid_wp,
- :printid_wkp,
- :wkpname_wkp,
- :groupstr_wkp,
- :swkpid_wkp,
- :owkpid_wkp,
- :iflast_wkp,
- :lasthour_wkp,
- :lastdays_wkp,
- :minlasthour_wkp,
- :uprate_wkp,
- :dscrp_wkp,
- :lp_wkp,
- :printlp_wkp,
- :workhour_wkp,
- :beforehour_wkp,
- :afterhour_wkp,
- :workgroupid_wkp,
- :gydscrp_wkp);
- If sqlca.SQLCode <> 0 Then
- arg_msg = '物料:'+ls_mtrlcode+',插入工组流程失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
- End If
- Next
-
- End If
-
- Next
- If ins_if_saletask = 1 Then
- If li_ifpackpro <> 5 Then
- Update u_SaleTaskMx
- Set pfcode = :ins_pfcode
- Where scid = :ins_scid
- And taskid = :ins_taskid
- And printid = :ins_printid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '更新订单明细物料清单号失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- Else
- Update u_SaleTaskMx
- Set pfcode = :ins_pfcode,
- status = :ins_pfcode
- Where scid = :ins_scid
- And taskid = :ins_taskid
- And printid = :ins_printid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '更新订单明细物料清单号失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- End If
- End If
- If cbx_wp_pack.Checked Then
- If wf_auto_wp(cbx_wp_add.Checked,arg_msg) = 0 Then
- arg_msg = '按清单说明自动生成包件工价表失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- End If
- ext:
- If rslt = 1 Then
- Commit;
- ElseIf rslt = 0 Then
- Rollback;
- End If
- Return rslt
- end function
- public function integer wf_addmx (long arg_mtrlid, string arg_pfcode, long arg_lp, decimal arg_qty, ref string arg_msg);Int rslt = 1
- Decimal ld_cmpqty
- String ls_mtrlcode
- Long count,ll_i
- Decimal ld_qty
- Long ll_row
- Select mtrlcode,cmpqty
- Into :ls_mtrlcode,:ld_cmpqty
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料清单基数失败,ID:'+String(arg_mtrlid)+','+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- If ld_cmpqty <= 0 Then
- arg_msg = '不合理的物料清单基数,物料:'+ls_mtrlcode
- rslt = 0
- Goto ext
- End If
- String mtrlcode[]
- Long mtrlprp[]
- Long wrkgrpid[]
- Decimal Sonscale[],SonLoss[],SonDECLosS[]
- String status[],woodcode[],pcode[]
- Decimal Sonahead[]
- String mtrlname[],unit[],mtrlmode[],mtrlsectype[],zxmtrlmode[],wrkGrpName[]
- Long statusflag[],statustype[],woodcodeflag[],woodcodetype[],pcodeflag[],pcodetype[]
- String usermtrlmode[]
- Long Mtrlorigin[]
- String sonpfcode[]
- Long SonMtrlid[],printid[]
- String pfgroup[]
- Decimal pfgroupqty[]
- String pfgroupmode[],pfklmode[],dscrp[]
- Decimal baseqty[],scllloss[],sclldecloss[]
- Long ifover[],dipztype[]
- Decimal buyarg[],orderdays[],buydays[],wfjgdays[]
- Long dftwrkgrpid[]
- Long mtrltypeid[],scid[]
- String promode[]
- Int ordertype[],ifselforder[]
- Long modleid[]
- String modlename[],wenli[],fengbian[],paikong[],luoji[],penyou[]
- String wenli_mtrl[],fengbian_mtrl[],paikong_mtrl[],luoji_mtrl[],penyou_mtrl[],promode_mtrl[],gydscrp_mtrl[],pfklmode_mtrl[]
- int outtype[],ifpack[],direction[],bantype[]
- decimal midu[]
- string ls_dscrp_mtrl[]
- decimal ld_long,ld_height,ld_width,ld_cubage
- Declare cur_pf Cursor For
- Select u_mtrldef.mtrlcode,
- u_mtrldef.mtrlprp,
- u_PrdPF.wrkgrpid,
- u_PrdPF.Sonscale,
- u_PrdPF.SonLoss,
- u_PrdPF.SonDECLosS,
- u_PrdPF.status,
- u_PrdPF.woodcode,
- u_PrdPF.pcode,
- u_PrdPF.Sonahead,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- u_sc_wkp.wrkGrpName,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_PrdPF.sonpfcode,
- u_PrdPF.SonMtrlid,
- u_PrdPF.printid,
- u_prdpf.pfgroup,
- u_prdpf.pfgroupqty,
- u_prdpf.pfgroupmode,
- u_prdpf.pfklmode,
- u_prdpf.dscrp,
- u_prdpf.baseqty,
- u_prdpf.scllloss,
- u_prdpf.sclldecloss,
- u_prdpf.ifover,
- u_prdpf.dipztype,
- u_prdpf.buyarg,
- u_mtrldef.orderdays,
- u_mtrldef.buydays,
- u_mtrldef.wfjgdays,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.scid,
- u_mtrldef.mtrltypeid,
- u_prdpf.promode,
- u_mtrldef.ifselforder,
- u_mtrldef.ordertype,
- u_prdpf.modleid,
- u_prdpf.modlename,
- u_PrdPF.wenli,
- u_PrdPF.fengbian,
- u_PrdPF.paikong,
- u_PrdPF.luoji,
- u_PrdPF.penyou,
- isnull(u_mtrldef_ban.promode,'') as promode,
- isnull(u_mtrldef_ban.wenli,'') as wenli,
- isnull(u_mtrldef_ban.fengbian,'') as fengbian,
- isnull(u_mtrldef_ban.paikong,'') as paikong,
- isnull(u_mtrldef_ban.luoji,'') as luoji,
- isnull(u_mtrldef_ban.penyou,'') as penyou,
- isnull(u_mtrldef_ban.gydscrp,'') as gydscrp,
- u_mtrldef.outtype,
- u_mtrldef.ifpack,
- isnull(u_mtrldef_ban.direction,0) as direction,
- u_mtrldef.midu,
- isnull(u_mtrldef_ban.pfklmode,0) as pfklmode,
- u_mtrldef.dscrp,
- u_mtrldef.bantype
- From u_PrdPF Inner JOIN
- u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid LEFT Outer JOIN
- u_mtrldef_ban ON u_mtrldef.mtrlid = u_mtrldef_ban.mtrlid LEFT Outer JOIN
- u_sc_wkp ON u_mtrldef.dftwrkGrpid = u_sc_wkp.wrkGrpid
- Where u_prdpf.mtrlid = :arg_mtrlid
- And u_prdpf.pfcode = :arg_pfcode
- Order By u_PrdPF.printid;
-
- Open cur_pf;
- count = 1
- Fetch cur_pf Into :mtrlcode[count],:mtrlprp[count],:wrkgrpid[count],&
- :Sonscale[count],:SonLoss[count],:SonDECLosS[count],:status[count],&
- :woodcode[count],:pcode[count],:Sonahead[count],:mtrlname[count],:unit[count],&
- :mtrlmode[count],:mtrlsectype[count],:zxmtrlmode[count],:wrkGrpName[count],&
- :statusflag[count],:statustype[count],:woodcodeflag[count],:woodcodetype[count],&
- :pcodeflag[count],:pcodetype[count],:usermtrlmode[count],:Mtrlorigin[count],&
- :sonpfcode[count],:SonMtrlid[count],:printid[count],&
- :pfgroup[count],:pfgroupqty[count],:pfgroupmode[count],:pfklmode[count],:dscrp[count],&
- :baseqty[count],:scllloss[count],:sclldecloss[count],:ifover[count],:dipztype[count],&
- :buyarg[count],:orderdays[count],:buydays[count],:wfjgdays[count],&
- :dftwrkgrpid[count],:scid[count],:mtrltypeid[count],:promode[count],&
- :ifselforder[count],:ordertype[count],:modleid[count],:modlename[count],&
- :wenli[count], :fengbian[count], :paikong[count], :luoji[count], :penyou[count],&
- :promode_mtrl[count],:wenli_mtrl[count],:fengbian_mtrl[count],:paikong_mtrl[count],:luoji_mtrl[count],:penyou_mtrl[count],:gydscrp_mtrl[count],:outtype[count],&
- :ifpack[count],:direction[count],:midu[count],:pfklmode_mtrl[count],:ls_dscrp_mtrl[count],:bantype[count];
-
- Do While sqlca.SQLCode = 0
- count++
- Fetch cur_pf Into :mtrlcode[count],:mtrlprp[count],:wrkgrpid[count],&
- :Sonscale[count],:SonLoss[count],:SonDECLosS[count],:status[count],&
- :woodcode[count],:pcode[count],:Sonahead[count],:mtrlname[count],:unit[count],&
- :mtrlmode[count],:mtrlsectype[count],:zxmtrlmode[count],:wrkGrpName[count],&
- :statusflag[count],:statustype[count],:woodcodeflag[count],:woodcodetype[count],&
- :pcodeflag[count],:pcodetype[count],:usermtrlmode[count],:Mtrlorigin[count],&
- :sonpfcode[count],:SonMtrlid[count],:printid[count],&
- :pfgroup[count],:pfgroupqty[count],:pfgroupmode[count],:pfklmode[count],:dscrp[count],&
- :baseqty[count],:scllloss[count],:sclldecloss[count],:ifover[count],:dipztype[count],&
- :buyarg[count],:orderdays[count],:buydays[count],:wfjgdays[count],&
- :dftwrkgrpid[count],:scid[count],:mtrltypeid[count],:promode[count],&
- :ifselforder[count],:ordertype[count],:modleid[count],:modlename[count],&
- :wenli[count], :fengbian[count], :paikong[count], :luoji[count], :penyou[count],&
- :promode_mtrl[count],:wenli_mtrl[count],:fengbian_mtrl[count],:paikong_mtrl[count],:luoji_mtrl[count],:penyou_mtrl[count],:gydscrp_mtrl[count],:outtype[count],&
- :ifpack[count],:direction[count],:midu[count],:pfklmode_mtrl[count],:ls_dscrp_mtrl[count],:bantype[count];
- Loop
- count = count - 1
- Close cur_pf;
- For ll_i = 1 To count
- ld_qty = Round(((Sonscale[ll_i]/(1 - SonLoss[ll_i])+ SonDECLosS[ll_i]) / ld_cmpqty) * arg_qty,sys_option_produce_dec)
-
- ll_row = dw_1.InsertRow(0)
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = mtrlcode[ll_i]
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = mtrlprp[ll_i]
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = wrkgrpid[ll_i]
- dw_1.Object.u_PrdPF_Sonscale[ll_row] = Sonscale[ll_i] * arg_qty
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_row] = Sonscale[ll_i] * arg_qty
-
-
- dw_1.Object.u_PrdPF_SonLoss[ll_row] = SonLoss[ll_i]
- dw_1.Object.u_PrdPF_SonDECLosS[ll_row] = SonDECLosS[ll_i]
- dw_1.Object.u_PrdPF_status[ll_row] = status[ll_i]
- dw_1.Object.u_PrdPF_woodcode[ll_row] = woodcode[ll_i]
- dw_1.Object.u_PrdPF_pcode[ll_row] = pcode[ll_i]
- dw_1.Object.u_PrdPF_Sonahead[ll_row] = Sonahead[ll_i]
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = mtrlname[ll_i]
- dw_1.Object.u_mtrldef_unit[ll_row] = unit[ll_i]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = mtrlmode[ll_i]
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype[ll_i]
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode[ll_i]
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_row] = wrkGrpName[ll_i]
- dw_1.Object.u_mtrldef_statusflag[ll_row] = statusflag[ll_i]
- dw_1.Object.u_mtrldef_statustype[ll_row] = statustype[ll_i]
- dw_1.Object.u_mtrldef_woodcodeflag[ll_row] = woodcodeflag[ll_i]
- dw_1.Object.u_mtrldef_woodcodetype[ll_row] = woodcodetype[ll_i]
- dw_1.Object.u_mtrldef_pcodeflag[ll_row] = pcodeflag[ll_i]
- dw_1.Object.u_mtrldef_pcodetype[ll_row] = pcodetype[ll_i]
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode[ll_i]
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_row] = Mtrlorigin[ll_i]
-
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = ifselforder[ll_i]
- dw_1.Object.u_mtrldef_ordertype[ll_row] = ordertype[ll_i]
-
-
- dw_1.Object.lp[ll_row] = arg_lp
- If arg_lp = 1 Then
- dw_1.Object.iflock[ll_row] = 0
- End If
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = SonMtrlid[ll_i]
- dw_1.Object.u_prdpf_sonmtrlid[ll_row] = SonMtrlid[ll_i]
- dw_1.Object.pmtrlid[ll_row] = arg_mtrlid
- dw_1.Object.u_prdpf_printid[ll_row] = printid[ll_i]
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = sonpfcode[ll_i]
-
- dw_1.Object.u_prdpf_pfgroup[ll_row] = pfgroup[ll_i]
- dw_1.Object.u_prdpf_pfgroupqty[ll_row] = pfgroupqty[ll_i]
- dw_1.Object.u_prdpf_pfgroupmode[ll_row] = pfgroupmode[ll_i]
- dw_1.Object.u_prdpf_pfklmode[ll_row] = pfklmode[ll_i]
- dw_1.Object.u_prdpf_dscrp[ll_row] = dscrp[ll_i]
- dw_1.Object.u_prdpf_baseqty[ll_row] = baseqty[ll_i]
- dw_1.Object.u_prdpf_scllloss[ll_row] = scllloss[ll_i]
- dw_1.Object.u_prdpf_sclldecloss[ll_row] = sclldecloss[ll_i]
- dw_1.Object.u_prdpf_ifover[ll_row] = ifover[ll_i]
- dw_1.Object.u_prdpf_dipztype[ll_row] = dipztype[ll_i]
- dw_1.Object.u_prdpf_buyarg[ll_row] = buyarg[ll_i]
- dw_1.Object.u_mtrldef_orderdays[ll_row] = orderdays[ll_i]
- dw_1.Object.u_mtrldef_buydays[ll_row] = buydays[ll_i]
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = wfjgdays[ll_i]
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = dftwrkgrpid[ll_i]
-
- dw_1.Object.u_mtrldef_scid[ll_row] = scid[ll_i]
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = mtrltypeid[ll_i]
-
- dw_1.Object.u_prdpf_promode[ll_row] = promode[ll_i]
-
- dw_1.Object.u_prdpf_modleid[ll_row] = modleid[ll_i]
- dw_1.Object.u_prdpf_modlename[ll_row] = modlename[ll_i]
- dw_1.Object.u_PrdPF_wenli[ll_row] = wenli[ll_i]
- dw_1.Object.u_PrdPF_fengbian[ll_row] = fengbian[ll_i]
- dw_1.Object.u_PrdPF_paikong[ll_row] = paikong[ll_i]
- dw_1.Object.u_PrdPF_luoji[ll_row] = luoji[ll_i]
- dw_1.Object.u_PrdPF_penyou[ll_row] = penyou[ll_i]
-
- dw_1.Object.u_mtrldef_ban_promode[ll_row] = promode_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_wenli[ll_row] = wenli_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row] = fengbian_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_paikong[ll_row] = paikong_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_luoji[ll_row] = luoji_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_penyou[ll_row] = penyou_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row] = gydscrp_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row] = pfklmode_mtrl[ll_i]
- dw_1.Object.u_mtrldef_dscrp[ll_row] = ls_dscrp_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_direction[ll_row] = direction[ll_i]
- dw_1.Object.u_mtrldef_outtype[ll_row] = outtype[ll_i]
-
- dw_1.Object.u_mtrldef_ifpack[ll_row] = ifpack[ll_i]
-
- dw_1.Object.u_mtrldef_midu[ll_row] = midu[ll_i]
-
- f_mtrlmode_trans(mtrlmode[ll_i],ld_long,ld_width,ld_height)
-
- ld_cubage = ld_long * ld_width * ld_height / 1000000000
-
- dw_1.Object.cubage[ll_row] = ld_cubage
- dw_1.Object.length[ll_row] = ld_long
- dw_1.Object.width[ll_row] = ld_width
-
- dw_1.Object.u_mtrldef_bantype[ll_row] = bantype[ll_i]
-
- If wf_addmx(SonMtrlid[ll_i],sonpfcode[ll_i],arg_lp + 1,ld_qty,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- Next
- ext:
- Return rslt
- end function
- public function integer wf_addmx_row (long arg_mtrlid, string arg_pfcode, long arg_lp, long arg_row, decimal arg_qty, ref string arg_msg);Int rslt = 1
- Decimal ld_cmpqty
- String ls_mtrlcode
- Long count,ll_i
- Decimal ld_qty
- Long ll_row
- Select mtrlcode,cmpqty
- Into :ls_mtrlcode,:ld_cmpqty
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料清单基数失败,ID:'+String(arg_mtrlid)+','+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- If ld_cmpqty <= 0 Then
- arg_msg = '不合理的物料清单基数,物料:'+ls_mtrlcode
- rslt = 0
- Goto ext
- End If
- If arg_pfcode = '' Then
- arg_pfcode = f_get_dft_pf(arg_mtrlid)
- End If
- String mtrlcode[]
- Long mtrlprp[]
- Long wrkgrpid[]
- Decimal Sonscale[],SonLoss[],SonDECLosS[]
- String status[],woodcode[],pcode[]
- Decimal Sonahead[]
- String mtrlname[],unit[],mtrlmode[],mtrlsectype[],zxmtrlmode[],wrkGrpName[]
- Long statusflag[],statustype[],woodcodeflag[],woodcodetype[],pcodeflag[],pcodetype[]
- String usermtrlmode[]
- Long Mtrlorigin[]
- String sonpfcode[]
- Long SonMtrlid[],printid[]
- String pfgroup[]
- Decimal pfgroupqty[]
- String pfgroupmode[],pfklmode[],dscrp[]
- Decimal baseqty[],scllloss[],sclldecloss[]
- Long ifover[],dipztype[]
- Decimal buyarg[],orderdays[],buydays[],wfjgdays[]
- Int ordertype[],ifselforder[],ifpack[]
- Long ll_mtrltypeid[],ll_dftwrkgrpid[]
- Decimal ld_cubage,ld_long,ld_width,ld_height
- String wenli_mtrl[],fengbian_mtrl[],paikong_mtrl[],luoji_mtrl[],penyou_mtrl[],promode_mtrl[],gydscrp_mtrl[]
- Int direction[]
- Decimal midu[]
- string pfklmode_mtrl[]
- string ls_dscrp_mtrl[]
- int bantype[]
- Declare cur_pf Cursor For
- Select u_mtrldef.mtrlcode,
- u_mtrldef.mtrlprp,
- u_PrdPF.wrkgrpid,
- u_PrdPF.Sonscale,
- u_PrdPF.SonLoss,
- u_PrdPF.SonDECLosS,
- u_PrdPF.status,
- u_PrdPF.woodcode,
- u_PrdPF.pcode,
- u_PrdPF.Sonahead,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- u_sc_wkp.wrkGrpName,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_PrdPF.sonpfcode,
- u_PrdPF.SonMtrlid,
- u_PrdPF.printid,
- u_prdpf.pfgroup,
- u_prdpf.pfgroupqty,
- u_prdpf.pfgroupmode,
- u_prdpf.pfklmode,
- u_prdpf.dscrp,
- u_prdpf.baseqty,
- u_prdpf.scllloss,
- u_prdpf.sclldecloss,
- u_prdpf.ifover,
- u_prdpf.dipztype,
- u_prdpf.buyarg,
- u_mtrldef.orderdays,
- u_mtrldef.buydays,
- u_mtrldef.wfjgdays,
- u_mtrldef.ordertype,
- u_mtrldef.ifselforder,
- u_mtrldef.mtrltypeid,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.ifpack,
- isnull(u_mtrldef_ban.promode,'') as promode,
- isnull(u_mtrldef_ban.wenli,'') as wenli,
- isnull(u_mtrldef_ban.fengbian,'') as fengbian,
- isnull(u_mtrldef_ban.paikong,'') as paikong,
- isnull(u_mtrldef_ban.luoji,'') as luoji,
- isnull(u_mtrldef_ban.penyou,'') as penyou,
- isnull(u_mtrldef_ban.gydscrp,'') as gydscrp,
- isnull(u_mtrldef_ban.direction,0) as direction,
- u_mtrldef.midu,
- isnull(u_mtrldef_ban.pfklmode,'') as pfklmode,
- u_mtrldef.dscrp,
- u_mtrldef.bantype
- From u_PrdPF Inner JOIN
- u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid LEFT Outer JOIN
- u_sc_wkp ON u_mtrldef.dftwrkGrpid = u_sc_wkp.wrkGrpid LEFT Outer JOIN
- u_mtrldef_ban ON u_mtrldef.mtrlid = u_mtrldef_ban.mtrlid
- Where u_prdpf.mtrlid = :arg_mtrlid
- And u_prdpf.pfcode = :arg_pfcode
- Order By u_PrdPF.printid Desc;
-
- Open cur_pf;
- count = 1
- Fetch cur_pf Into :mtrlcode[count],:mtrlprp[count],:wrkgrpid[count],&
- :Sonscale[count],:SonLoss[count],:SonDECLosS[count],:status[count],&
- :woodcode[count],:pcode[count],:Sonahead[count],:mtrlname[count],:unit[count],&
- :mtrlmode[count],:mtrlsectype[count],:zxmtrlmode[count],:wrkGrpName[count],&
- :statusflag[count],:statustype[count],:woodcodeflag[count],:woodcodetype[count],&
- :pcodeflag[count],:pcodetype[count],:usermtrlmode[count],:Mtrlorigin[count],&
- :sonpfcode[count],:SonMtrlid[count],:printid[count],&
- :pfgroup[count],:pfgroupqty[count],:pfgroupmode[count],:pfklmode[count],:dscrp[count],&
- :baseqty[count],:scllloss[count],:sclldecloss[count],:ifover[count],:dipztype[count],&
- :buyarg[count],:orderdays[count],:buydays[count],:wfjgdays[count],&
- :ordertype[count],:ifselforder[count],:ll_mtrltypeid[count],:ll_dftwrkgrpid[count],:ifpack[count],&
- :promode_mtrl[count],:wenli_mtrl[count],:fengbian_mtrl[count],:paikong_mtrl[count],:luoji_mtrl[count],:penyou_mtrl[count],:gydscrp_mtrl[count],&
- :direction[count],:midu[count],:pfklmode_mtrl[count],:ls_dscrp_mtrl[count],:bantype[count];
-
- Do While sqlca.SQLCode = 0
- count++
- Fetch cur_pf Into :mtrlcode[count],:mtrlprp[count],:wrkgrpid[count],&
- :Sonscale[count],:SonLoss[count],:SonDECLosS[count],:status[count],&
- :woodcode[count],:pcode[count],:Sonahead[count],:mtrlname[count],:unit[count],&
- :mtrlmode[count],:mtrlsectype[count],:zxmtrlmode[count],:wrkGrpName[count],&
- :statusflag[count],:statustype[count],:woodcodeflag[count],:woodcodetype[count],&
- :pcodeflag[count],:pcodetype[count],:usermtrlmode[count],:Mtrlorigin[count],&
- :sonpfcode[count],:SonMtrlid[count],:printid[count],&
- :pfgroup[count],:pfgroupqty[count],:pfgroupmode[count],:pfklmode[count],:dscrp[count],&
- :baseqty[count],:scllloss[count],:sclldecloss[count],:ifover[count],:dipztype[count],&
- :buyarg[count],:orderdays[count],:buydays[count],:wfjgdays[count],&
- :ordertype[count],:ifselforder[count],:ll_mtrltypeid[count],:ll_dftwrkgrpid[count],:ifpack[count],&
- :promode_mtrl[count],:wenli_mtrl[count],:fengbian_mtrl[count],:paikong_mtrl[count],:luoji_mtrl[count],:penyou_mtrl[count],:gydscrp_mtrl[count],&
- :direction[count],:midu[count],:pfklmode_mtrl[count],:ls_dscrp_mtrl[count],:bantype[count];
- Loop
- count = count - 1
- Close cur_pf;
- For ll_i = 1 To count
- ld_qty = Round(((Sonscale[ll_i]/(1 - SonLoss[ll_i])+ SonDECLosS[ll_i]) / ld_cmpqty) * arg_qty,sys_option_produce_dec)
-
- ll_row = dw_1.InsertRow(arg_row)
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = mtrlcode[ll_i]
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = mtrlprp[ll_i]
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = wrkgrpid[ll_i]
- dw_1.Object.u_PrdPF_Sonscale[ll_row] = ld_qty //Sonscale[ll_i]
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_row] = ld_qty //Sonscale[ll_i]
- dw_1.Object.u_PrdPF_SonLoss[ll_row] = SonLoss[ll_i]
- dw_1.Object.u_PrdPF_SonDECLosS[ll_row] = SonDECLosS[ll_i]
- dw_1.Object.u_PrdPF_status[ll_row] = status[ll_i]
- dw_1.Object.u_PrdPF_woodcode[ll_row] = woodcode[ll_i]
- dw_1.Object.u_PrdPF_pcode[ll_row] = pcode[ll_i]
- dw_1.Object.u_PrdPF_Sonahead[ll_row] = Sonahead[ll_i]
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = mtrlname[ll_i]
- dw_1.Object.u_mtrldef_unit[ll_row] = unit[ll_i]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = mtrlmode[ll_i]
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype[ll_i]
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode[ll_i]
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_row] = wrkGrpName[ll_i]
- dw_1.Object.u_mtrldef_statusflag[ll_row] = statusflag[ll_i]
- dw_1.Object.u_mtrldef_statustype[ll_row] = statustype[ll_i]
- dw_1.Object.u_mtrldef_woodcodeflag[ll_row] = woodcodeflag[ll_i]
- dw_1.Object.u_mtrldef_woodcodetype[ll_row] = woodcodetype[ll_i]
- dw_1.Object.u_mtrldef_pcodeflag[ll_row] = pcodeflag[ll_i]
- dw_1.Object.u_mtrldef_pcodetype[ll_row] = pcodetype[ll_i]
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode[ll_i]
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_row] = Mtrlorigin[ll_i]
- dw_1.Object.lp[ll_row] = arg_lp
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = SonMtrlid[ll_i]
- dw_1.Object.u_prdpf_sonmtrlid[ll_row] = SonMtrlid[ll_i]
- dw_1.Object.pmtrlid[ll_row] = arg_mtrlid
- dw_1.Object.u_prdpf_printid[ll_row] = printid[ll_i]
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = sonpfcode[ll_i]
-
- dw_1.Object.u_prdpf_pfgroup[ll_row] = pfgroup[ll_i]
- dw_1.Object.u_prdpf_pfgroupqty[ll_row] = pfgroupqty[ll_i]
- dw_1.Object.u_prdpf_pfgroupmode[ll_row] = pfgroupmode[ll_i]
- dw_1.Object.u_prdpf_pfklmode[ll_row] = pfklmode[ll_i]
- dw_1.Object.u_prdpf_dscrp[ll_row] = dscrp[ll_i]
- dw_1.Object.u_prdpf_baseqty[ll_row] = baseqty[ll_i]
- dw_1.Object.u_prdpf_scllloss[ll_row] = scllloss[ll_i]
- dw_1.Object.u_prdpf_sclldecloss[ll_row] = sclldecloss[ll_i]
- dw_1.Object.u_prdpf_ifover[ll_row] = ifover[ll_i]
- dw_1.Object.u_prdpf_dipztype[ll_row] = dipztype[ll_i]
- dw_1.Object.u_prdpf_buyarg[ll_row] = buyarg[ll_i]
- dw_1.Object.u_mtrldef_orderdays[ll_row] = orderdays[ll_i]
- dw_1.Object.u_mtrldef_buydays[ll_row] = buydays[ll_i]
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = wfjgdays[ll_i]
-
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = ifselforder[ll_i]
- dw_1.Object.u_mtrldef_ordertype[ll_row] = ordertype[ll_i]
-
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = ll_mtrltypeid[ll_i]
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = ll_dftwrkgrpid[ll_i]
-
- dw_1.Object.u_mtrldef_ifpack[ll_row] = ifpack[ll_i]
-
- f_mtrlmode_trans(mtrlmode[ll_i],ld_long,ld_width,ld_height)
-
- ld_cubage = ld_long * ld_width * ld_height / 1000000000
-
- dw_1.Object.cubage[ll_row] = ld_cubage
- dw_1.Object.Length[ll_row] = ld_long
- dw_1.Object.Width[ll_row] = ld_width
-
-
- dw_1.Object.u_mtrldef_ban_promode[ll_row] = promode_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_wenli[ll_row] = wenli_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row] = fengbian_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_paikong[ll_row] = paikong_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_luoji[ll_row] = luoji_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_penyou[ll_row] = penyou_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row] = gydscrp_mtrl[ll_i]
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row] = pfklmode_mtrl[ll_i]
-
- dw_1.Object.u_mtrldef_ban_direction[ll_row] = direction[ll_i]
-
- dw_1.Object.u_mtrldef_midu[ll_row] = midu[ll_i]
-
- dw_1.Object.u_mtrldef_dscrp[ll_row] = ls_dscrp_mtrl[ll_i]
-
- dw_1.Object.u_mtrldef_bantype[ll_row] = bantype[ll_i]
-
- If wf_addmx_row(SonMtrlid[ll_i],sonpfcode[ll_i],arg_lp + 1,arg_row + 1 ,ld_qty,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
-
- Next
- ext:
- Return rslt
- end function
- public function integer wf_face_wp ();Int LS_INT
- IF ins_ifmod_wp THEN
- cb_save_wp.Enabled = TRUE
- cb_edit_wp.Text = '放弃'
- cb_edit_wp.normalpicname = 'Undo.bmp'
- cb_addmx_wp.Enabled = TRUE
- cb_delmx_wp.Enabled = TRUE
- rb_1.enabled = false
- rb_2.enabled = false
- cb_templet_ch.enabled = true
-
- FOR LS_INT = 1 TO 26
- dw_2.SetTabOrder (LS_INT,LS_INT*10 )
- NEXT
-
- FOR LS_INT = 1 TO 17
- dw_3.SetTabOrder (LS_INT,LS_INT*10 )
- NEXT
- ELSE
- cb_save_wp.Enabled = FALSE
- cb_edit_wp.Text = '修改'
- cb_edit_wp.normalpicname = 'open.bmp'
- cb_addmx_wp.Enabled = FALSE
- cb_delmx_wp.Enabled = FALSE
- rb_1.enabled = true
- rb_2.enabled = true
- cb_templet_ch.enabled = false
- FOR LS_INT = 1 TO 26
- dw_2.SetTabOrder (LS_INT, 0)
- NEXT
- FOR LS_INT = 1 TO 17
- dw_3.SetTabOrder (LS_INT, 0)
- NEXT
- END IF
- cb_edit_wp.of_init_draw()
- cb_edit_wp.of_paint()
- cb_edit_wp.TriggerEvent('ue_textchange')
- RETURN 1
- end function
- public subroutine wf_re_mtrl (integer arg_if_addmx);String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg
- IF ins_mtrlid = 0 THEN
- st_mtrl.Text = ''
- st_mtrl_pf.Text = ''
- RETURN
- END IF
- IF ins_if_saletask = 0 and ins_pfcode = '' THEN
- ins_pfcode = f_get_dft_pf(ins_mtrlid_pf)
- IF ins_pfcode = '' THEN
- MessageBox('系统提示','目标产品未设置默认清单,请检查')
- RETURN
- END IF
- END IF
- SELECT mtrlcode,mtrlname
- INTO :ls_mtrlcode,:ls_mtrlname
- FROM u_mtrldef
- Where mtrlid = :ins_mtrlid_pf;
- IF sqlca.SQLCode <> 0 THEN
- st_mtrl.Text = '查询物料信息失败'
- st_mtrl_pf.Text = '查询物料信息失败'
- ELSE
- st_mtrl.Text = '['+ls_mtrlcode+']'+ls_mtrlname + ' | ' + ins_pfcode
- st_mtrl_pf.Text = '['+ls_mtrlcode+']'+ls_mtrlname
- ins_mtrlcode = ls_mtrlcode
- ins_mtrlname = ls_mtrlname
- END IF
- IF ins_mtrlid > 0 THEN
-
- dw_1.SetRedraw(False)
- dw_1.Reset()
-
- String mtrlcode
- Long mtrlprp
- Long wrkgrpid
-
- String mtrlname,unit,mtrlmode,mtrlsectype,zxmtrlmode,wrkGrpName
- Long statusflag,statustype,woodcodeflag,woodcodetype,pcodeflag,pcodetype
- String usermtrlmode
- Long Mtrlorigin
-
- Decimal buyarg,orderdays,buydays,wfjgdays
- Long mtrltypeid,scid,dftwrkgrpid
- Int ordertype,ifselforder
-
- Long ll_row
- int ifpack
- decimal ld_cubage,ld_long , ld_width , ld_height
- int li_bantype
-
- SELECT u_mtrldef.mtrlcode,
- u_mtrldef.mtrlprp,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- u_sc_wkp.wrkGrpName,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.orderdays,
- u_mtrldef.buydays,
- u_mtrldef.wfjgdays,
- u_mtrldef.mtrltypeid,
- u_mtrldef.scid,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.ifselforder,
- u_mtrldef.ordertype,
- u_mtrldef.ifpack,
- u_mtrldef.bantype
- INTO :mtrlcode,
- :mtrlprp,
- :mtrlname,
- :unit,
- :mtrlmode,
- :mtrlsectype,
- :zxmtrlmode,
- :wrkGrpName,
- :statusflag,
- :statustype,
- :woodcodeflag,
- :woodcodetype,
- :pcodeflag,
- :pcodetype,
- :usermtrlmode,
- :Mtrlorigin,
- :orderdays,
- :buydays,
- :wfjgdays,
- :mtrltypeid,
- :scid,
- :dftwrkgrpid,
- :ifselforder,
- :ordertype,
- :ifpack,
- :li_bantype
- FROM u_mtrldef LEFT OUTER JOIN
- u_sc_wkp ON u_mtrldef.dftwrkGrpid = u_sc_wkp.wrkGrpid
- Where u_mtrldef.mtrlid = :ins_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询物料信息失败,'+sqlca.SQLErrText)
- RETURN
- END IF
-
-
- ll_row = dw_1.InsertRow(0)
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = mtrlprp
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = wrkgrpid
- dw_1.Object.u_PrdPF_Sonscale[ll_row] = 1
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_row] = 1
- dw_1.Object.u_PrdPF_SonLoss[ll_row] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_row] = 0
- dw_1.Object.u_PrdPF_status[ll_row] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_row] = ''
- dw_1.Object.u_PrdPF_pcode[ll_row] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_row] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = mtrlname
- dw_1.Object.u_mtrldef_unit[ll_row] = unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_row] = wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_row] = statusflag
- dw_1.Object.u_mtrldef_statustype[ll_row] = statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_row] = woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_row] = woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_row] = pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_row] = pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_row] = Mtrlorigin
- dw_1.Object.lp[ll_row] = 0
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = ins_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_row] = ins_mtrlid
- dw_1.Object.pmtrlid[ll_row] = 0
- dw_1.Object.u_prdpf_printid[ll_row] = 1
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = ins_pfcode
-
- dw_1.Object.u_mtrldef_orderdays[ll_row] = orderdays
- dw_1.Object.u_mtrldef_buydays[ll_row] = buydays
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = wfjgdays
-
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = mtrltypeid
- dw_1.Object.u_mtrldef_scid[ll_row] = scid
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = dftwrkgrpid
-
- dw_1.Object.u_mtrldef_ordertype[ll_row] = ordertype
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = ifselforder
-
-
- dw_1.Object.iflock[ll_row] = 1
-
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = ins_pfcode
-
- dw_1.Object.u_mtrldef_ifpack[ll_row] = ifpack
-
- f_mtrlmode_trans(mtrlmode,ld_long,ld_width,ld_height)
-
- ld_cubage = ld_long * ld_width * ld_height / 1000000000
-
- dw_1.Object.cubage[ll_row] = ld_cubage
- dw_1.Object.length[ll_row] = ld_long
- dw_1.Object.width[ll_row] = ld_width
-
-
- dw_1.Object.u_mtrldef_bantype[ll_row] = li_bantype
- IF arg_if_addmx = 1 THEN
- IF wf_addmx(ins_mtrlid,ins_pfcode,1,1,arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
-
- This.TriggerEvent('ue_allowedit')
- This.TriggerEvent('ue_retrieve_workprice')
- END IF
- dw_1.SetRedraw(True)
- END IF
- end subroutine
- public function integer wf_cmpprdpf (long arg_mtrlid, string arg_pfcode);String arg_msg
- w_sys_wait.Show()
- IF uo_pf.f_clearprdpfmx(arg_mtrlid,arg_pfcode,arg_msg,FALSE) = 0 THEN
- MessageBox ("系统提示",arg_msg,exclamation!,ok!)
- RETURN 0
- END IF
- uo_pf.deep_count = 0
- uo_pf.il_printid = 0
- IF uo_pf.f_cmpprdpf(arg_mtrlid,arg_mtrlid,arg_pfcode,arg_pfcode,1,1,1,arg_msg,FALSE,0) = 0 THEN
- MessageBox ("系统提示",arg_msg,exclamation!,ok!)
- RETURN 0
- END IF
- COMMIT;
- w_sys_wait.hide()
- RETURN 1
- end function
- public function integer wf_check_wkp (ref string arg_msg);Int rslt = 1
- Long j,ll_mtrlid,ll_last_cnt
- Long ll_maxlp = 0
- String ls_mtrlcode
- String ls_errmsg
- IF dw_1.GetRow() <= 0 THEN
- rslt = 0
- arg_msg = '请选择物料'
- GOTO ext
- END IF
- redel:
- dw_3.AcceptText()
- FOR j = 1 To dw_3.RowCount()
- IF dw_3.Object.swkpid[j] = 0 Or dw_3.Object.owkpid[j] = 0 And dw_3.Object.iflast[j] = 0 THEN
- dw_3.DeleteRow(j)
- GOTO redel
- END IF
- NEXT
- dw_3.AcceptText()
- FOR j = 1 To dw_3.RowCount()
-
- IF dw_3.Object.swkpid[j] = dw_3.Object.owkpid[j] THEN
- rslt = 0
- arg_msg = '第'+String(j)+'行,调出工组与调入工组相同,不能保存'
- GOTO ext
- END IF
-
- IF sys_option_use_sc_date = 0 THEN
- IF dw_3.Object.lastdays[j] < 0 THEN
- rslt = 0
- arg_msg = '第'+String(j)+'行,标准生产天数少于0,不能保存'
- GOTO ext
- END IF
-
- IF Mod(dw_3.Object.lastdays[j],0.5) <> 0 THEN
- rslt = 0
- arg_msg = '第'+String(j)+'行,标准生产天数只能是0.5的倍数,请检查'
- GOTO ext
- END IF
-
- dw_3.Object.lasthour[j] = dw_3.Object.lastdays[j] * 8
- ELSE
- IF dw_3.Object.lasthour[j] < 0 THEN
- rslt = 0
- arg_msg = '第'+String(j)+'行,标准生产时数少于0,不能保存'
- GOTO ext
- END IF
-
- dw_3.Object.lasthour[j] = Int(dw_3.Object.lasthour[j] )
-
- dw_3.Object.lastdays[j] = dw_3.Object.lasthour[j] / 8
-
- END IF
-
- IF dw_3.Object.iflast[j] = 1 THEN
- ll_last_cnt++
- END IF
- NEXT
- IF ll_last_cnt > 1 THEN
- rslt = 0
- arg_msg = '不能设置2个最后流程,请检查'
- GOTO ext
- END IF
- FOR j = 1 To dw_3.RowCount()
- IF dw_3.Object.iflast[j] = 1 THEN
- dw_3.Object.owkpid[j] = 0
- END IF
-
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[dw_1.GetRow()]
- dw_3.Object.u_mtrldef_mtrlcode[j] = ls_mtrlcode
- dw_3.Object.printid[j] = j
-
- NEXT
- dw_3.SetSort('printid')
- dw_3.Sort()
- ext:
- RETURN rslt
- end function
- public function integer wf_add_row (long arg_mtrlid, string arg_pfcode, long arg_lp, decimal arg_qty, ref string arg_msg, ref long arg_row);Int rslt = 1
- Long ll_row
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- Long ll_dftscllwkpid
- Long ll_newrow
- Decimal ld_midu
- Int li_ifpack,li_outtype
- Int ifselforder,ordertype,bantype
- String ls_promode,ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou,ls_gydscrp,ls_pfklmode
- Int ll_direction
- string ls_dscrp
- arg_row = 0
- Select u_mtrldef.mtrlid,
- u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname,
- u_mtrldef.mtrlprp,
- u_mtrldef.mtrlmode,
- u_mtrldef.unit,
- u_mtrldef.zxmtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.scid,
- u_mtrldef.mtrltypeid,
- isnull(u_sc_wkp.wrkGrpName,''),
- u_mtrldef.dftscllwkpid,
- u_mtrldef.midu,
- u_mtrldef.ifpack,
- u_mtrldef.outtype,
- u_mtrldef.ifselforder,
- u_mtrldef.ordertype,
- u_mtrldef.bantype,
- isnull(u_mtrldef_ban.promode,'') as promode,
- isnull(u_mtrldef_ban.wenli,'') as wenli,
- isnull(u_mtrldef_ban.fengbian,'') as fengbian,
- isnull(u_mtrldef_ban.paikong,'') as paikong,
- isnull(u_mtrldef_ban.luoji,'') as luoji,
- isnull(u_mtrldef_ban.penyou,'') as penyou,
- isnull(u_mtrldef_ban.gydscrp,'') as gydscrp,
- isnull(u_mtrldef_ban.direction,0) as direction,
- isnull(u_mtrldef_ban.pfklmode,0) as pfklmode,
- u_mtrldef.dscrp
- Into :ll_mtrlid,
- :ls_mtrlcode,
- :ls_mtrlname,
- :li_mtrlprp,
- :ls_mtrlmode,
- :ls_unit,
- :ls_zxmtrlmode,
- :ls_mtrlsectype,
- :li_statusflag,
- :li_statustype,
- :li_woodcodeflag,
- :li_woodcodetype,
- :li_pcodeflag,
- :li_pcodetype,
- :ls_usermtrlmode,
- :li_Mtrlorigin,
- :ll_dftwrkgrpid,
- :ll_scid,
- :ll_mtrltypeid,
- :ls_wrkGrpName,
- :ll_dftscllwkpid,
- :ld_midu,
- :li_ifpack,
- :li_outtype,
- :ifselforder,
- :ordertype,
- :bantype,
- :ls_promode,
- :ls_wenli,
- :ls_fengbian,
- :ls_paikong,
- :ls_luoji,
- :ls_penyou,
- :ls_gydscrp,
- :ll_direction,
- :ls_pfklmode,
- :ls_dscrp
- From u_mtrldef left Outer join u_sc_wkp on
- u_mtrldef.dftwrkgrpid = u_sc_wkp.wrkgrpid LEFT Outer JOIN
- u_mtrldef_ban ON u_mtrldef.mtrlid = u_mtrldef_ban.mtrlid
- Where u_mtrldef.mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询资料定义表失败,可能资料未定义' + sqlca.SQLErrText
- Goto ext
- End If
- //插入材料
- ll_newrow = dw_1.InsertRow(0)
- arg_qty = Round(arg_qty,sys_option_produce_dec)
- dw_1.Object.u_mtrldef_mtrlcode[ll_newrow] = ls_mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_newrow] = li_mtrlprp
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = ll_wrkgrpid_scll
- dw_1.Object.u_PrdPF_Sonscale[ll_newrow] = arg_qty
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_newrow] = arg_qty
- dw_1.Object.u_PrdPF_SonLoss[ll_newrow] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_newrow] = 0
- dw_1.Object.u_PrdPF_status[ll_newrow] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_pcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_newrow] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_newrow] = ls_mtrlname
- dw_1.Object.u_mtrldef_unit[ll_newrow] = ls_unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_newrow] = ls_mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_newrow] = ls_mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_newrow] = ls_zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_newrow] = ls_wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_newrow] = li_statusflag
- dw_1.Object.u_mtrldef_statustype[ll_newrow] = li_statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_newrow] = li_woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_newrow] = li_woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_newrow] = li_pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_newrow] = li_pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_newrow] = ls_usermtrlmode
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_newrow] = li_Mtrlorigin
- dw_1.Object.lp[ll_newrow] = arg_lp
- If ll_wrkgrpid_scll = 0 Then
- dw_1.Object.iflock[ll_newrow] = 0
- Else
- dw_1.Object.iflock[ll_newrow] = 1
- End If
- dw_1.Object.pmtrlid[ll_newrow] = ll_mtrlid_p
- dw_1.Object.u_mtrldef_mtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.u_prdpf_printid[ll_newrow] = ll_newrow
- If arg_pfcode = '' Then
- dw_1.Object.u_prdpf_sonpfcode[ll_newrow] = f_get_dft_pf(ll_mtrlid)
- Else
- dw_1.Object.u_prdpf_sonpfcode[ll_newrow] = arg_pfcode
- End If
- dw_1.Object.u_prdpf_pfgroup[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfgroupqty[ll_newrow] = 0
- dw_1.Object.u_prdpf_pfgroupmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfklmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_dscrp[ll_newrow] = ''
- dw_1.Object.u_prdpf_baseqty[ll_newrow] = 1
- dw_1.Object.u_prdpf_scllloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_sclldecloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_ifover[ll_newrow] = 0
- dw_1.Object.u_prdpf_dipztype[ll_newrow] = 0
- dw_1.Object.u_prdpf_buyarg[ll_newrow] = 0
- dw_1.Object.u_mtrldef_orderdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_buydays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_wfjgdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_newrow] = ll_dftwrkgrpid
- dw_1.Object.u_mtrldef_scid[ll_newrow] = ll_scid
- dw_1.Object.u_mtrldef_mtrltypeid[ll_newrow] = ll_mtrltypeid
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = ll_dftscllwkpid
- dw_1.Object.u_mtrldef_midu[ll_newrow] = ld_midu
- dw_1.Object.u_mtrldef_ifpack[ll_newrow] = li_ifpack
- dw_1.Object.u_mtrldef_outtype[ll_newrow] = li_outtype
- dw_1.Object.u_mtrldef_ifselforder[ll_newrow] = ifselforder
- dw_1.Object.u_mtrldef_ordertype[ll_newrow] = ordertype
- dw_1.Object.u_mtrldef_bantype[ll_newrow] = bantype
- dw_1.Object.u_mtrldef_ban_promode[ll_newrow] = ls_promode
- dw_1.Object.u_mtrldef_ban_wenli[ll_newrow] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_newrow] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_newrow] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_newrow] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_newrow] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_newrow] = ls_gydscrp
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_newrow] = ls_pfklmode
- dw_1.Object.u_mtrldef_ban_direction[ll_newrow] = ll_direction
- dw_1.Object.u_mtrldef_dscrp[ll_newrow] = ls_dscrp
- arg_row = ll_newrow
- ext:
- Return rslt
- end function
- public function integer wf_add_row_null (string arg_mtrlname, long arg_lp, decimal arg_qty, ref string arg_msg, ref long arg_row);Int rslt = 1
- Long ll_row
- Long cnt
- Long ll_cnt
- Long ll_mtrlid_p
- String ls_mtrlcode_p
- String ls_pfcode
- Long ll_mtrlid
- String ls_mtrlcode
- String ls_mtrlname
- Int li_mtrlprp
- String ls_mtrlmode
- String ls_unit
- String ls_zxmtrlmode
- String ls_mtrlsectype
- Int li_statusflag
- Int li_statustype
- Int li_woodcodeflag
- Int li_woodcodetype
- Int li_pcodeflag
- Int li_pcodetype
- String ls_usermtrlmode
- Int li_Mtrlorigin
- Long ll_dftwrkgrpid
- Long ll_scid
- Long ll_mtrltypeid
- String ls_wrkGrpName
- Decimal ld_sonscale, lde_qty
- Long ll_wrkgrpid_scll
- Long ll_newrow
- arg_row = 0
- //插入材料
- ll_newrow = dw_1.InsertRow(0)
- arg_qty = round(arg_qty,sys_option_produce_dec)
- dw_1.Object.u_mtrldef_mtrlcode[ll_newrow] = ls_mtrlcode
- if arg_lp = 1 then //自制,半成品
- dw_1.Object.u_mtrldef_mtrlprp[ll_newrow] = 1
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_newrow] = 0
- else//采购
- dw_1.Object.u_mtrldef_mtrlprp[ll_newrow] = 2
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_newrow] = 2
- end if
- dw_1.Object.u_PrdPF_wrkgrpid[ll_newrow] = ll_wrkgrpid_scll
- dw_1.Object.u_PrdPF_Sonscale[ll_newrow] = arg_qty
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_newrow] = arg_qty
- dw_1.Object.u_PrdPF_SonLoss[ll_newrow] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_newrow] = 0
- dw_1.Object.u_PrdPF_status[ll_newrow] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_pcode[ll_newrow] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_newrow] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_newrow] = arg_mtrlname
- dw_1.Object.u_mtrldef_unit[ll_newrow] = ls_unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_newrow] = ls_mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_newrow] = ls_mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_newrow] = ls_zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_newrow] = ls_wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_newrow] = li_statusflag
- dw_1.Object.u_mtrldef_statustype[ll_newrow] = li_statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_newrow] = li_woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_newrow] = li_woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_newrow] = li_pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_newrow] = li_pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_newrow] = ls_usermtrlmode
- dw_1.Object.lp[ll_newrow] = arg_lp
- dw_1.Object.iflock[ll_newrow] = 0
- dw_1.Object.ifmod[ll_newrow] = 1
- dw_1.Object.pmtrlid[ll_newrow] = ll_mtrlid_p
- dw_1.Object.u_mtrldef_mtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_newrow] = ll_mtrlid
- dw_1.Object.u_prdpf_printid[ll_newrow] = ll_newrow
- dw_1.Object.u_prdpf_sonpfcode[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfgroup[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfgroupqty[ll_newrow] = 0
- dw_1.Object.u_prdpf_pfgroupmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_pfklmode[ll_newrow] = ''
- dw_1.Object.u_prdpf_dscrp[ll_newrow] = ''
- dw_1.Object.u_prdpf_baseqty[ll_newrow] = 1
- dw_1.Object.u_prdpf_scllloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_sclldecloss[ll_newrow] = 0
- dw_1.Object.u_prdpf_ifover[ll_newrow] = 0
- dw_1.Object.u_prdpf_dipztype[ll_newrow] = 0
- dw_1.Object.u_prdpf_buyarg[ll_newrow] = 0
- dw_1.Object.u_mtrldef_orderdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_buydays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_wfjgdays[ll_newrow] = 0
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_newrow] = ll_dftwrkgrpid
- dw_1.Object.u_mtrldef_scid[ll_newrow] = ll_scid
- dw_1.Object.u_mtrldef_mtrltypeid[ll_newrow] = ll_mtrltypeid
- arg_row = ll_newrow
- RETURN rslt
- end function
- public function integer wf_auto_wp (boolean arg_ifwpadd, ref string arg_msg);Int rslt = 1
- Long ll_sonmtrlid_arr[]
- String ls_sonpfcode_arr[]
- Long ll_mxbt = 1,ll_i,ll_j,ll_k,ll_l
- String ls_dscrp,ls_wpcode
- String ls_procode_arr[],ls_proname_arr[],ls_empty_arr[]
- String ls_mtrlcode_arr[]
- Decimal ld_workprice_arr[],ld_empty_arr[]
- Long ll_wrkgrpid_arr[],ll_empty_arr[]
- Long cnt
- String ls_promode,ls_pfgroup,ls_mtrlcode
- Int li_ifpack
- Long ll_rowcnt = 0
- String ls_pricestr_arr[]
- s_workpricetable arg_s_mx[],arg_s_empty[]
- If ins_mtrlid = 0 Then
- rslt = 0
- Goto ext
- End If
- Select ifpack,mtrlcode
- Into :li_ifpack,:ls_mtrlcode
- From u_mtrldef
- Where mtrlid = :ins_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询产品属性失败,'+sqlca.SQLErrText
- Goto ext
- End If
- datastore ds_dscrp
- ds_dscrp = Create datastore
- ds_dscrp.DataObject = 'ds_prdpf_dscrp'
- ds_dscrp.SetTransObject(sqlca)
- If li_ifpack = 0 Then
- Declare cur_pf Cursor For
- Select u_PrdPF.SonMtrlid, u_PrdPF.sonpfcode,u_mtrldef.mtrlcode
- From u_PrdPF Inner JOIN
- u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid
- Where (u_mtrldef.ifpack <> 0)
- And (u_PrdPF.mtrlid = :ins_mtrlid)
- And (u_PrdPF.pfcode = :ins_pfcode);
-
- Open cur_pf;
-
- Fetch cur_pf Into :ll_sonmtrlid_arr[ll_mxbt],:ls_sonpfcode_arr[ll_mxbt],:ls_mtrlcode_arr[ll_mxbt];
-
- Do While sqlca.SQLCode = 0
- ll_mxbt++
- Fetch cur_pf Into :ll_sonmtrlid_arr[ll_mxbt],:ls_sonpfcode_arr[ll_mxbt],:ls_mtrlcode_arr[ll_mxbt];
- Loop
-
- Close cur_pf;
-
- ll_rowcnt = ll_mxbt - 1
- Else
- ll_mxbt = 1
- ll_sonmtrlid_arr[ll_mxbt] = ins_mtrlid
- ls_sonpfcode_arr[ll_mxbt] = ins_pfcode
- ls_mtrlcode_arr[ll_mxbt] = ls_mtrlcode
-
- ll_rowcnt = 1
- End If
- For ll_i = 1 To ll_rowcnt
- ds_dscrp.Retrieve(ll_sonmtrlid_arr[ll_i],ls_sonpfcode_arr[ll_i])
-
- If ds_dscrp.RowCount() = 0 Then Continue
-
- ls_procode_arr = ls_empty_arr
- ls_proname_arr = ls_empty_arr
- ld_workprice_arr = ld_empty_arr
- ll_wrkgrpid_arr = ll_empty_arr
- cnt = 0
-
- For ll_j = 1 To ds_dscrp.RowCount()
- ls_dscrp = ds_dscrp.Object.dscrp[ll_j]
- ls_promode = ds_dscrp.Object.promode[ll_j]
- ls_pfgroup = ds_dscrp.Object.pfgroup[ll_j]
-
- arg_s_mx = arg_s_empty
- f_cmp_proname(ls_dscrp,arg_s_mx)
-
- For ll_k = 1 To UpperBound(arg_s_mx)
- cnt++
- ls_procode_arr[cnt] = arg_s_mx[ll_k].procode + '_' + ls_promode
- ls_proname_arr[cnt] = arg_s_mx[ll_k].proname + '_' + ls_pfgroup
- ld_workprice_arr[cnt] = arg_s_mx[ll_k].workprice
- ll_wrkgrpid_arr[cnt] = arg_s_mx[ll_k].wrkgrpid
- ls_pricestr_arr[cnt] = arg_s_mx[ll_k].pricestr
- Next
-
- Next
-
- ls_wpcode = f_get_dft_wp(ll_sonmtrlid_arr[ll_i])
-
- //2014-06-28 需求变更:改为不清空原工价表(优适), 屏蔽以下代码
- // Delete From u_sc_workprice
- // Where mtrlid = :ll_sonmtrlid_arr[ll_i]
- // And wpcode = :ls_wpcode;
- // If sqlca.SQLCode <> 0 Then
- // rslt = 0
- // arg_msg = '物料:'+ls_mtrlcode_arr[ll_i]+',删除原有工价表失败,'+sqlca.SQLErrText
- // Goto ext
- // End If
-
- For ll_l = 1 To cnt
- Update u_sc_workprice
- Set workPrice = :ld_workprice_arr[ll_l],
- pricestr = :ls_pricestr_arr[ll_l]
- Where mtrlid = :ll_sonmtrlid_arr[ll_i]
- And wpcode = :ls_wpcode
- And procode = :ls_procode_arr[ll_l];
- If sqlca.SQLCode = 0 Then
- //2014-09-15 需求变更: 模板工价表没有的工序,即使备注有,也不插入(优适), 屏蔽以下代码
- //2014-09-20 需求再变更: 旧模式要插入,新模式不插入,所以增加cbx由用户自由控制,解除屏蔽以下代码
-
- If arg_ifwpadd Then
-
- If sqlca.SQLNRows = 0 Then
-
- Insert Into u_sc_workprice
- (Mtrlid,
- wpcode,
- Proorder,
- procode,
- Proname,
- workPrice,
- wrkGrpid,
- lsxtype,
- workqty,
- pricestr)
- Values (:ll_sonmtrlid_arr[ll_i],
- :ls_wpcode,
- :ll_l,
- :ls_procode_arr[ll_l],
- :ls_proname_arr[ll_l],
- :ld_workprice_arr[ll_l],
- :ll_wrkgrpid_arr[ll_l],
- 1,
- 1,
- :ls_pricestr_arr[ll_l]);
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '物料:'+ls_mtrlcode_arr[ll_i]+',插入新工价表失败,工序号:'+ls_procode_arr[ll_i]+','+sqlca.SQLErrText
- Goto ext
- End If
- End If
- End If
- Else
- rslt = 0
- arg_msg = '物料:'+ls_mtrlcode_arr[ll_i]+',更新工价表失败,工序号:'+ls_procode_arr[ll_i]+','+sqlca.SQLErrText
- Goto ext
- End If
-
- Next
- Next
- ext:
- Destroy ds_dscrp
- Return rslt
- end function
- public function integer wf_addmx_up (long arg_mtrlid, string arg_pfcode, long arg_pmtrlid, long arg_lp, long arg_row, ref string arg_msg);Int rslt = 1
- Decimal ld_cmpqty
- String ls_mtrlcode
- Long count,ll_i
- Decimal ld_qty
- Long ll_row
- Select mtrlcode,cmpqty
- Into :ls_mtrlcode,:ld_cmpqty
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料清单基数失败,ID:'+String(arg_mtrlid)+','+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- If ld_cmpqty <= 0 Then
- arg_msg = '不合理的物料清单基数,物料:'+ls_mtrlcode
- rslt = 0
- Goto ext
- End If
- String mtrlcode
- Long mtrlprp
- Long wrkgrpid
- String mtrlname,unit,mtrlmode,mtrlsectype,zxmtrlmode,wrkGrpName
- Long statusflag,statustype,woodcodeflag,woodcodetype,pcodeflag,pcodetype
- String usermtrlmode
- Long Mtrlorigin
- Decimal buyarg,orderdays,buydays,wfjgdays
- Int ifselforder,ordertype,outtype,ifpack
- Long ll_mtrltypeid,ll_dftwrkgrpid,ll_dftscllwkpid
- Decimal ld_cubage,ld_long,ld_width,ld_height
- String ls_promode,ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou,ls_gydscrp,ls_pfklmode
- Int ll_direction
- string ls_dscrp_mtrl
- Select u_mtrldef.mtrlcode,
- u_mtrldef.mtrlprp,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- u_sc_wkp.wrkGrpName,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.orderdays,
- u_mtrldef.buydays,
- u_mtrldef.wfjgdays,
- u_mtrldef.ifselforder,
- u_mtrldef.ordertype,
- u_mtrldef.mtrltypeid,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.dftscllwkpid,
- u_mtrldef.outtype,
- u_mtrldef.ifpack,
- isnull(u_mtrldef_ban.promode,'') as promode,
- isnull(u_mtrldef_ban.wenli,'') as wenli,
- isnull(u_mtrldef_ban.fengbian,'') as fengbian,
- isnull(u_mtrldef_ban.paikong,'') as paikong,
- isnull(u_mtrldef_ban.luoji,'') as luoji,
- isnull(u_mtrldef_ban.penyou,'') as penyou,
- isnull(u_mtrldef_ban.gydscrp,'') as gydscrp,
- isnull(u_mtrldef_ban.direction,0) as direction,
- isnull(u_mtrldef_ban.pfklmode,0) as pfklmode,
- u_mtrldef.dscrp
- Into :mtrlcode,
- :mtrlprp,
- :mtrlname,
- :unit,
- :mtrlmode,
- :mtrlsectype,
- :zxmtrlmode,
- :wrkGrpName,
- :statusflag,
- :statustype,
- :woodcodeflag,
- :woodcodetype,
- :pcodeflag,
- :pcodetype,
- :usermtrlmode,
- :Mtrlorigin,
- :orderdays,
- :buydays,
- :wfjgdays,
- :ifselforder,
- :ordertype,
- :ll_mtrltypeid,
- :ll_dftwrkgrpid,
- :ll_dftscllwkpid,
- :outtype,
- :ifpack,
- :ls_promode,
- :ls_wenli,
- :ls_fengbian,
- :ls_paikong,
- :ls_luoji,
- :ls_penyou,
- :ls_gydscrp,
- :ll_direction,
- :ls_pfklmode,
- :ls_dscrp_mtrl
- From u_mtrldef LEFT Outer JOIN
- u_sc_wkp ON u_mtrldef.dftwrkGrpid = u_sc_wkp.wrkGrpid LEFT Outer JOIN
- u_mtrldef_ban ON u_mtrldef.mtrlid = u_mtrldef_ban.mtrlid
- Where u_mtrldef.mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料信息失败,'+ls_mtrlcode+','+sqlca.SQLErrText
- Goto ext
- End If
- dw_1.Object.pmtrlid[arg_row] = arg_mtrlid
- //本级及下级的物料层次推后
- dw_1.Object.lp[arg_row] = dw_1.Object.lp[arg_row] + 1
- For ll_i = arg_row + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <= arg_lp Then Exit
-
- dw_1.Object.lp[ll_i] = dw_1.Object.lp[ll_i] + 1
- Next
- ll_row = dw_1.InsertRow(arg_row)
- dw_1.Object.mb_mtrlcode[ll_row] = mtrlcode
- dw_1.Object.mb_mtrlid[ll_row] = arg_mtrlid
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = mtrlprp
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = wrkgrpid
- dw_1.Object.u_PrdPF_Sonscale[ll_row] = 1
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_row] = 1
- dw_1.Object.u_PrdPF_SonLoss[ll_row] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_row] = 0
- dw_1.Object.u_PrdPF_status[ll_row] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_row] = ''
- dw_1.Object.u_PrdPF_pcode[ll_row] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_row] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = mtrlname
- dw_1.Object.u_mtrldef_unit[ll_row] = unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_row] = wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_row] = statusflag
- dw_1.Object.u_mtrldef_statustype[ll_row] = statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_row] = woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_row] = woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_row] = pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_row] = pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_row] = Mtrlorigin
- dw_1.Object.lp[ll_row] = arg_lp
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = arg_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_row] = arg_mtrlid
- dw_1.Object.pmtrlid[ll_row] = arg_pmtrlid
- dw_1.Object.u_prdpf_printid[ll_row] = 1
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = arg_pfcode
- dw_1.Object.u_mtrldef_orderdays[ll_row] = orderdays
- dw_1.Object.u_mtrldef_buydays[ll_row] = buydays
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = wfjgdays
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = ifselforder
- dw_1.Object.u_mtrldef_ordertype[ll_row] = ordertype
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = ll_mtrltypeid
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = ll_dftwrkgrpid
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = ll_dftscllwkpid
- dw_1.Object.u_mtrldef_outtype[ll_row] = outtype
- dw_1.Object.u_mtrldef_ifpack[ll_row] = ifpack
- dw_1.Object.iflock[ll_row] = 0
- f_mtrlmode_trans(mtrlmode,ld_long,ld_width,ld_height)
- ld_cubage = ld_long * ld_width * ld_height / 1000000000
- dw_1.Object.cubage[ll_row] = ld_cubage
- dw_1.Object.Length[ll_row] = ld_long
- dw_1.Object.Width[ll_row] = ld_width
- dw_1.Object.u_mtrldef_ban_promode[ll_row] = ls_promode
- dw_1.Object.u_mtrldef_ban_wenli[ll_row] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row] = ls_gydscrp
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row] = ls_pfklmode
- dw_1.Object.u_mtrldef_ban_direction[ll_row] = ll_direction
- dw_1.Object.u_mtrldef_dscrp[ll_row] = ls_dscrp_mtrl
- ext:
- Return rslt
- end function
- public function integer wf_addmx_next (long arg_mtrlid, string arg_pfcode, long arg_pmtrlid, long arg_lp, long arg_row, ref string arg_msg, decimal arg_qty, decimal arg_pfgroupqty);Int rslt = 1
- Decimal ld_cmpqty
- String ls_mtrlcode
- Long count,ll_i
- Decimal ld_qty
- Long ll_row
- Select mtrlcode,cmpqty
- Into :ls_mtrlcode,:ld_cmpqty
- From u_mtrldef
- Where mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料清单基数失败,ID:'+String(arg_mtrlid)+','+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
- If ld_cmpqty <= 0 Then
- arg_msg = '不合理的物料清单基数,物料:'+ls_mtrlcode
- rslt = 0
- Goto ext
- End If
- String mtrlcode
- Long mtrlprp
- Long wrkgrpid
- String mtrlname,unit,mtrlmode,mtrlsectype,zxmtrlmode,wrkGrpName
- Long statusflag,statustype,woodcodeflag,woodcodetype,pcodeflag,pcodetype
- String usermtrlmode
- Long Mtrlorigin
- Decimal buyarg,orderdays,buydays,wfjgdays
- Int ifselforder,ordertype,outtype,ifpack
- Long ll_mtrltypeid,ll_dftwrkgrpid,ll_dftscllwkpid
- Decimal ld_cubage,ld_long,ld_width,ld_height
- String ls_promode,ls_wenli,ls_fengbian,ls_paikong,ls_luoji,ls_penyou,ls_gydscrp,ls_pfklmode
- Int ll_direction,li_bantype
- decimal ld_midu
- string ls_dscrp_mtrl
- Select u_mtrldef.mtrlcode,
- u_mtrldef.mtrlprp,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- u_sc_wkp.wrkGrpName,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype,
- u_mtrldef.usermtrlmode,
- u_mtrldef.Mtrlorigin,
- u_mtrldef.orderdays,
- u_mtrldef.buydays,
- u_mtrldef.wfjgdays,
- u_mtrldef.ifselforder,
- u_mtrldef.ordertype,
- u_mtrldef.mtrltypeid,
- u_mtrldef.dftwrkgrpid,
- u_mtrldef.dftscllwkpid,
- u_mtrldef.outtype,
- u_mtrldef.ifpack,
- isnull(u_mtrldef_ban.promode,'') as promode,
- isnull(u_mtrldef_ban.wenli,'') as wenli,
- isnull(u_mtrldef_ban.fengbian,'') as fengbian,
- isnull(u_mtrldef_ban.paikong,'') as paikong,
- isnull(u_mtrldef_ban.luoji,'') as luoji,
- isnull(u_mtrldef_ban.penyou,'') as penyou,
- isnull(u_mtrldef_ban.gydscrp,'') as gydscrp,
- isnull(u_mtrldef_ban.direction,0) as direction,
- u_mtrldef.midu,
- isnull(u_mtrldef_ban.pfklmode,'') as pfklmode,
- u_mtrldef.dscrp,
- u_mtrldef.bantype
- Into :mtrlcode,
- :mtrlprp,
- :mtrlname,
- :unit,
- :mtrlmode,
- :mtrlsectype,
- :zxmtrlmode,
- :wrkGrpName,
- :statusflag,
- :statustype,
- :woodcodeflag,
- :woodcodetype,
- :pcodeflag,
- :pcodetype,
- :usermtrlmode,
- :Mtrlorigin,
- :orderdays,
- :buydays,
- :wfjgdays,
- :ifselforder,
- :ordertype,
- :ll_mtrltypeid,
- :ll_dftwrkgrpid,
- :ll_dftscllwkpid,
- :outtype,
- :ifpack,
- :ls_promode,
- :ls_wenli,
- :ls_fengbian,
- :ls_paikong,
- :ls_luoji,
- :ls_penyou,
- :ls_gydscrp,
- :ll_direction,
- :ld_midu,
- :ls_pfklmode,
- :ls_dscrp_mtrl,
- :li_bantype
- From u_mtrldef LEFT Outer JOIN
- u_sc_wkp ON u_mtrldef.dftwrkGrpid = u_sc_wkp.wrkGrpid LEFT Outer JOIN
- u_mtrldef_ban ON u_mtrldef.mtrlid = u_mtrldef_ban.mtrlid
- Where u_mtrldef.mtrlid = :arg_mtrlid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询物料信息失败,'+ls_mtrlcode+','+sqlca.SQLErrText
- Goto ext
- End If
- ll_row = dw_1.InsertRow(arg_row)
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = mtrlcode
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = mtrlprp
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = wrkgrpid
- dw_1.Object.u_PrdPF_Sonscale[ll_row] = 1
- dw_1.Object.u_PrdPF_Sonscale_ori[ll_row] = 1
- dw_1.Object.u_PrdPF_SonLoss[ll_row] = 0
- dw_1.Object.u_PrdPF_SonDECLosS[ll_row] = 0
- dw_1.Object.u_PrdPF_status[ll_row] = ''
- dw_1.Object.u_PrdPF_woodcode[ll_row] = ''
- dw_1.Object.u_PrdPF_pcode[ll_row] = ''
- dw_1.Object.u_PrdPF_Sonahead[ll_row] = 0
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = mtrlname
- dw_1.Object.u_mtrldef_unit[ll_row] = unit
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = mtrlmode
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = mtrlsectype
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = zxmtrlmode
- dw_1.Object.u_sc_wkp_wrkGrpName[ll_row] = wrkGrpName
- dw_1.Object.u_mtrldef_statusflag[ll_row] = statusflag
- dw_1.Object.u_mtrldef_statustype[ll_row] = statustype
- dw_1.Object.u_mtrldef_woodcodeflag[ll_row] = woodcodeflag
- dw_1.Object.u_mtrldef_woodcodetype[ll_row] = woodcodetype
- dw_1.Object.u_mtrldef_pcodeflag[ll_row] = pcodeflag
- dw_1.Object.u_mtrldef_pcodetype[ll_row] = pcodetype
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = usermtrlmode
- dw_1.Object.u_mtrldef_Mtrlorigin[ll_row] = Mtrlorigin
- dw_1.Object.lp[ll_row] = arg_lp
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = arg_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_row] = arg_mtrlid
- dw_1.Object.pmtrlid[ll_row] = arg_pmtrlid
- dw_1.Object.u_prdpf_printid[ll_row] = 1
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = arg_pfcode
- dw_1.Object.u_mtrldef_orderdays[ll_row] = orderdays
- dw_1.Object.u_mtrldef_buydays[ll_row] = buydays
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = wfjgdays
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = ifselforder
- dw_1.Object.u_mtrldef_ordertype[ll_row] = ordertype
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = ll_mtrltypeid
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = ll_dftwrkgrpid
- dw_1.Object.u_PrdPF_wrkgrpid[ll_row] = ll_dftscllwkpid
- dw_1.Object.u_mtrldef_outtype[ll_row] = outtype
- dw_1.Object.u_mtrldef_ifpack[ll_row] = ifpack
- dw_1.Object.iflock[ll_row] = 0
- f_mtrlmode_trans(mtrlmode,ld_long,ld_width,ld_height)
- ld_cubage = ld_long * ld_width * ld_height / 1000000000
- dw_1.Object.cubage[ll_row] = ld_cubage
- dw_1.Object.Length[ll_row] = ld_long
- dw_1.Object.Width[ll_row] = ld_width
- dw_1.Object.u_mtrldef_ban_promode[ll_row] = ls_promode
- dw_1.Object.u_mtrldef_ban_wenli[ll_row] = ls_wenli
- dw_1.Object.u_mtrldef_ban_fengbian[ll_row] = ls_fengbian
- dw_1.Object.u_mtrldef_ban_paikong[ll_row] = ls_paikong
- dw_1.Object.u_mtrldef_ban_luoji[ll_row] = ls_luoji
- dw_1.Object.u_mtrldef_ban_penyou[ll_row] = ls_penyou
- dw_1.Object.u_mtrldef_ban_gydscrp[ll_row] = ls_gydscrp
- dw_1.Object.u_mtrldef_ban_pfklmode[ll_row] = ls_pfklmode
- dw_1.Object.u_mtrldef_ban_direction[ll_row] = ll_direction
- dw_1.Object.u_mtrldef_midu[ll_row] = ld_midu
- dw_1.Object.u_mtrldef_dscrp[ll_row] = ls_dscrp_mtrl
- dw_1.Object.u_prdpf_sonscale[ll_row] = arg_qty
- dw_1.Object.u_prdpf_pfgroupqty[ll_row] = arg_pfgroupqty
- dw_1.Object.u_mtrldef_bantype[ll_row] = li_bantype
- If wf_addmx_row(arg_mtrlid,arg_pfcode,arg_lp + 1,arg_row + 1 ,arg_qty,arg_msg) = 0 Then
- rslt = 0
- Goto ext
- End If
- ext:
- Return rslt
- end function
- on w_mtrldef_prdpf_padd.create
- int iCurrent
- call super::create
- this.dw_1=create dw_1
- this.st_2=create st_2
- this.st_mtrl=create st_mtrl
- this.cb_mod_bcp=create cb_mod_bcp
- this.cb_save_bcp=create cb_save_bcp
- this.cb_other_bom=create cb_other_bom
- this.cb_save=create cb_save
- this.st_1=create st_1
- this.st_mtrl_pf=create st_mtrl_pf
- this.cb_delmx=create cb_delmx
- this.mle_log=create mle_log
- this.dw_2=create dw_2
- this.cb_addmx_wp=create cb_addmx_wp
- this.cb_delmx_wp=create cb_delmx_wp
- this.cb_save_wp=create cb_save_wp
- this.cb_edit_wp=create cb_edit_wp
- this.dw_copy=create dw_copy
- this.cb_cmpl_pfklmode=create cb_cmpl_pfklmode
- this.st_arg=create st_arg
- this.em_arg=create em_arg
- this.cbx_cmp_qty=create cbx_cmp_qty
- this.cb_re_mtrl=create cb_re_mtrl
- this.cbx_pfgroup=create cbx_pfgroup
- this.cb_import=create cb_import
- this.cb_1=create cb_1
- this.cb_moban=create cb_moban
- this.cb_change=create cb_change
- this.cb_print=create cb_print
- this.cbx_save_close=create cbx_save_close
- this.rb_1=create rb_1
- this.rb_2=create rb_2
- this.dw_3=create dw_3
- this.dw_copy_wkp=create dw_copy_wkp
- this.dw_copy_main=create dw_copy_main
- this.cb_copy_paste=create cb_copy_paste
- this.cb_bom=create cb_bom
- this.cb_tmp_save=create cb_tmp_save
- this.cb_tmp_read=create cb_tmp_read
- this.cb_templet_ch=create cb_templet_ch
- this.dw_buffer=create dw_buffer
- this.cb_pack=create cb_pack
- this.cb_all_ch=create cb_all_ch
- this.cb_fan_ch=create cb_fan_ch
- this.cbx_ifreset=create cbx_ifreset
- this.cb_autocode=create cb_autocode
- this.cbx_wp_pack=create cbx_wp_pack
- this.cb_2=create cb_2
- this.cb_fj_edit=create cb_fj_edit
- this.cbx_wp_add=create cbx_wp_add
- this.cb_old_to_new=create cb_old_to_new
- this.cb_add_mtrl=create cb_add_mtrl
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- this.r_bar=create r_bar
- this.ln_7=create ln_7
- this.ln_8=create ln_8
- this.ln_1=create ln_1
- this.ln_2=create ln_2
- this.ln_3=create ln_3
- this.ln_4=create ln_4
- this.ln_5=create ln_5
- this.ln_6=create ln_6
- this.ln_9=create ln_9
- this.ln_10=create ln_10
- this.ln_11=create ln_11
- this.ln_12=create ln_12
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_1
- this.Control[iCurrent+2]=this.st_2
- this.Control[iCurrent+3]=this.st_mtrl
- this.Control[iCurrent+4]=this.cb_mod_bcp
- this.Control[iCurrent+5]=this.cb_save_bcp
- this.Control[iCurrent+6]=this.cb_other_bom
- this.Control[iCurrent+7]=this.cb_save
- this.Control[iCurrent+8]=this.st_1
- this.Control[iCurrent+9]=this.st_mtrl_pf
- this.Control[iCurrent+10]=this.cb_delmx
- this.Control[iCurrent+11]=this.mle_log
- this.Control[iCurrent+12]=this.dw_2
- this.Control[iCurrent+13]=this.cb_addmx_wp
- this.Control[iCurrent+14]=this.cb_delmx_wp
- this.Control[iCurrent+15]=this.cb_save_wp
- this.Control[iCurrent+16]=this.cb_edit_wp
- this.Control[iCurrent+17]=this.dw_copy
- this.Control[iCurrent+18]=this.cb_cmpl_pfklmode
- this.Control[iCurrent+19]=this.st_arg
- this.Control[iCurrent+20]=this.em_arg
- this.Control[iCurrent+21]=this.cbx_cmp_qty
- this.Control[iCurrent+22]=this.cb_re_mtrl
- this.Control[iCurrent+23]=this.cbx_pfgroup
- this.Control[iCurrent+24]=this.cb_import
- this.Control[iCurrent+25]=this.cb_1
- this.Control[iCurrent+26]=this.cb_moban
- this.Control[iCurrent+27]=this.cb_change
- this.Control[iCurrent+28]=this.cb_print
- this.Control[iCurrent+29]=this.cbx_save_close
- this.Control[iCurrent+30]=this.rb_1
- this.Control[iCurrent+31]=this.rb_2
- this.Control[iCurrent+32]=this.dw_3
- this.Control[iCurrent+33]=this.dw_copy_wkp
- this.Control[iCurrent+34]=this.dw_copy_main
- this.Control[iCurrent+35]=this.cb_copy_paste
- this.Control[iCurrent+36]=this.cb_bom
- this.Control[iCurrent+37]=this.cb_tmp_save
- this.Control[iCurrent+38]=this.cb_tmp_read
- this.Control[iCurrent+39]=this.cb_templet_ch
- this.Control[iCurrent+40]=this.dw_buffer
- this.Control[iCurrent+41]=this.cb_pack
- this.Control[iCurrent+42]=this.cb_all_ch
- this.Control[iCurrent+43]=this.cb_fan_ch
- this.Control[iCurrent+44]=this.cbx_ifreset
- this.Control[iCurrent+45]=this.cb_autocode
- this.Control[iCurrent+46]=this.cbx_wp_pack
- this.Control[iCurrent+47]=this.cb_2
- this.Control[iCurrent+48]=this.cb_fj_edit
- this.Control[iCurrent+49]=this.cbx_wp_add
- this.Control[iCurrent+50]=this.cb_old_to_new
- this.Control[iCurrent+51]=this.cb_add_mtrl
- this.Control[iCurrent+52]=this.ln_bar
- this.Control[iCurrent+53]=this.ln_bar2
- this.Control[iCurrent+54]=this.r_bar
- this.Control[iCurrent+55]=this.ln_7
- this.Control[iCurrent+56]=this.ln_8
- this.Control[iCurrent+57]=this.ln_1
- this.Control[iCurrent+58]=this.ln_2
- this.Control[iCurrent+59]=this.ln_3
- this.Control[iCurrent+60]=this.ln_4
- this.Control[iCurrent+61]=this.ln_5
- this.Control[iCurrent+62]=this.ln_6
- this.Control[iCurrent+63]=this.ln_9
- this.Control[iCurrent+64]=this.ln_10
- this.Control[iCurrent+65]=this.ln_11
- this.Control[iCurrent+66]=this.ln_12
- end on
- on w_mtrldef_prdpf_padd.destroy
- call super::destroy
- destroy(this.dw_1)
- destroy(this.st_2)
- destroy(this.st_mtrl)
- destroy(this.cb_mod_bcp)
- destroy(this.cb_save_bcp)
- destroy(this.cb_other_bom)
- destroy(this.cb_save)
- destroy(this.st_1)
- destroy(this.st_mtrl_pf)
- destroy(this.cb_delmx)
- destroy(this.mle_log)
- destroy(this.dw_2)
- destroy(this.cb_addmx_wp)
- destroy(this.cb_delmx_wp)
- destroy(this.cb_save_wp)
- destroy(this.cb_edit_wp)
- destroy(this.dw_copy)
- destroy(this.cb_cmpl_pfklmode)
- destroy(this.st_arg)
- destroy(this.em_arg)
- destroy(this.cbx_cmp_qty)
- destroy(this.cb_re_mtrl)
- destroy(this.cbx_pfgroup)
- destroy(this.cb_import)
- destroy(this.cb_1)
- destroy(this.cb_moban)
- destroy(this.cb_change)
- destroy(this.cb_print)
- destroy(this.cbx_save_close)
- destroy(this.rb_1)
- destroy(this.rb_2)
- destroy(this.dw_3)
- destroy(this.dw_copy_wkp)
- destroy(this.dw_copy_main)
- destroy(this.cb_copy_paste)
- destroy(this.cb_bom)
- destroy(this.cb_tmp_save)
- destroy(this.cb_tmp_read)
- destroy(this.cb_templet_ch)
- destroy(this.dw_buffer)
- destroy(this.cb_pack)
- destroy(this.cb_all_ch)
- destroy(this.cb_fan_ch)
- destroy(this.cbx_ifreset)
- destroy(this.cb_autocode)
- destroy(this.cbx_wp_pack)
- destroy(this.cb_2)
- destroy(this.cb_fj_edit)
- destroy(this.cbx_wp_add)
- destroy(this.cb_old_to_new)
- destroy(this.cb_add_mtrl)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- destroy(this.ln_7)
- destroy(this.ln_8)
- destroy(this.ln_1)
- destroy(this.ln_2)
- destroy(this.ln_3)
- destroy(this.ln_4)
- destroy(this.ln_5)
- destroy(this.ln_6)
- destroy(this.ln_9)
- destroy(this.ln_10)
- destroy(this.ln_11)
- destroy(this.ln_12)
- end on
- event open;call super::open;dw_1.SetTransObject(sqlca)
- dw_2.SetTransObject(sqlca)
- dw_3.SetTransObject(sqlca)
- dw_copy.SetTransObject(sqlca)
- uo_mtrl = Create uo_mtrldef
- uo_pf = Create uo_mtrl_pf
- u_wrkprice = Create uo_workpricetable
- s_tran = Message.PowerObjectParm
- IF s_tran.b_long = 0 THEN //物料资料调用
- IF Not IsNull(s_tran) THEN
- ins_mtrlid = s_tran.c_long
- ins_pfcode = s_tran.b_string
- ins_mtrlid_pf = ins_mtrlid
- ins_if_saletask = s_tran.g_long
- ins_scid = s_tran.d_long
- ins_taskid = s_tran.e_long
- ins_printid = s_tran.f_long
- ins_pfdscrp = s_tran.c_string
- ELSE
- ins_mtrlid = 0
- ins_mtrlid_pf = 0
- ins_pfcode = ''
- ins_if_saletask = 0
- ins_scid = 0
- ins_taskid = 0
- ins_printid = 0
- END IF
- wf_re_mtrl(1)
- ELSEIF s_tran.b_long = 1 THEN
- END IF
- cb_re_mtrl.enabled = (ins_if_saletask = 0)
- end event
- event resize;call super::resize;ln_bar.EndX = THIS.Width
- ln_bar2.EndX = THIS.Width
- ln_3.EndX = THIS.Width
- ln_4.EndX = THIS.Width
- r_bar.Width = THIS.Width
- dw_1.Width = THIS.Width - dw_1.X - 40
- dw_1.Height = THIS.Height - dw_1.Y - 150 - mle_log.height
- mle_log.y = dw_1.y + dw_1.height + 8
- rb_1.y = mle_log.y + 12
- rb_2.y = rb_1.y
- dw_2.y = mle_log.y + 84
- dw_2.width = dw_1.Width - mle_log.Width + 5
- dw_3.y = dw_2.y
- dw_3.x = dw_2.x
- dw_3.width = dw_2.width
- dw_3.height = dw_2.height
- cb_edit_wp.y = dw_2.y + dw_2.height + 16
- cb_save_wp.y = cb_edit_wp.y
- cb_addmx_wp.y = cb_edit_wp.y
- cb_delmx_wp.y = cb_edit_wp.y
- cb_templet_ch.y = cb_edit_wp.y
- end event
- event close;call super::close;DESTROY uo_mtrl
- DESTROY uo_pf
- DESTROY u_wrkprice
-
- end event
- event key;call super::key;this.triggerevent('user_key')
- end event
- type cb_func from w_publ_base`cb_func within w_mtrldef_prdpf_padd
- boolean visible = false
- end type
- type cb_exit from w_publ_base`cb_exit within w_mtrldef_prdpf_padd
- integer x = 5371
- integer width = 165
- integer height = 164
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type dw_1 from u_dw_rbtnfilter within w_mtrldef_prdpf_padd
- event ue_dwndropdown pbm_dwndropdown
- integer y = 352
- integer width = 3589
- integer height = 932
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_mtrldef_prdpf_padd"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- end type
- event ue_dwndropdown;
- String ls_col_pz,ls_col_mtrlid
- String ls_pz_ch
- Long ll_row,ll_mtrlid
- s_pzwin_open arg_s_win
- ll_row = THIS.GetRow()
- IF ll_row > 0 THEN
- // ls_col_mtrlid = THIS.Describe("#1.Name")
- //
- // IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
- //
- // ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
- //
- ll_mtrlid = dw_1.object.u_prdpf_sonmtrlid[ll_row]
-
- ls_col_pz = THIS.GetColumnName( )
-
- arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X
- arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y
-
- arg_s_win.arg_col = ls_col_pz
- arg_s_win.arg_mtrlid = ll_mtrlid
-
- ls_pz_ch = f_mtrl_pz(arg_s_win)
-
- IF ls_pz_ch = '' THEN RETURN
-
- THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;IF ins_ifmod THEN RETURN
- IF ins_ifmod_wp THEN RETURN
- IF currentrow > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(currentrow)
- THIS.SelectRow(currentrow,TRUE)
- PARENT.TriggerEvent('ue_retrieve_workprice')
- PARENT.TriggerEvent('ue_retrieve_wkp')
- parent.triggerevent('ue_allowedit')
- END IF
- end event
- event clicked;call super::clicked;IF ins_ifmod THEN RETURN
- IF ins_ifmod_wp THEN RETURN
- IF row > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(row)
- THIS.SelectRow(row,TRUE)
- END IF
- end event
- event doubleclicked;call super::doubleclicked;If dwo.Name = 'u_prdpf_modlename' Then
- Open(w_sc_mtrlwkp_modle_ch)
-
- s_mtrl_wkp_tech_modle s_return
- s_return = Message.PowerObjectParm
-
- If s_return.modleid > 0 Then
- dw_1.Object.u_prdpf_modleid[row] = s_return.modleid
- dw_1.Object.u_prdpf_modlename[row] = s_return.modlename
- End If
-
- End If
- If ins_ifmod_wp Then Return
- If Not ins_ifmod Then Return
- If dwo.Name = 'u_mtrldef_mtrltypeid' Then
- Open(w_mtrltype_ch)
- s_mtrltype s_type
-
- s_type = Message.PowerObjectParm
-
- If s_type.mtrltypeid > 0 Then //正常返回值则可以取以下值
- dw_1.SetRedraw(False)
- dw_1.Object.u_mtrldef_mtrltypeid[row] = s_type.mtrltypeid
- dw_1.SetRedraw(True)
- End If
- end if
- end event
- event dwnkey;call super::dwnkey;IF Key = KeyEnter! THEN //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- parent.triggerevent('user_key')
- end event
- event itemchanged;call super::itemchanged;If row <= 0 Then Return
- Long ll_lp
- Long ll_i
- Decimal ld_sonscale,ld_sonscale_ori
- This.AcceptText()
- If dwo.Name = 'u_prdpf_sonscale' Then
- ll_lp = dw_1.Object.lp[row]
- ld_sonscale_ori = dw_1.Object.u_prdpf_sonscale_ori[row]
- ld_sonscale = dw_1.Object.u_prdpf_sonscale[row]
-
- If IsNull(ld_sonscale_ori) Then ld_sonscale_ori = 1
- If ld_sonscale_ori = 0 Then ld_sonscale_ori = 1
-
- dw_1.SetRedraw(False)
- For ll_i = row + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <= ll_lp Then Exit
-
- dw_1.Object.u_prdpf_sonscale[ll_i] = dw_1.Object.u_prdpf_sonscale_ori[ll_i] * (ld_sonscale / ld_sonscale_ori )
-
-
- Next
- dw_1.SetRedraw(True)
- ElseIf dwo.Name = 'ch' Then
- dw_1.SetRedraw(False)
- If dw_1.Object.ch[row] = 1 Then
- //反选
- For ll_i = row + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <= dw_1.Object.lp[row] Then Exit
-
- dw_1.Object.ch[ll_i] = 0
- Next
-
- If Trim(dw_1.Object.u_prdpf_pfgroup[row]) <> '' Then
- For ll_i = row + 1 To dw_1.RowCount()
- If Pos(dw_1.Object.u_prdpf_pfgroup[ll_i],dw_1.Object.u_prdpf_pfgroup[row]) > 0 Then
- dw_1.Object.ch[ll_i] = 0
- End If
- Next
- End If
- Else
- //选中
- For ll_i = row + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] <= dw_1.Object.lp[row] Then Exit
-
- dw_1.Object.ch[ll_i] = 1
- Next
-
- If Trim(dw_1.Object.u_prdpf_pfgroup[row]) <> '' Then
- For ll_i = row + 1 To dw_1.RowCount()
- If dw_1.Object.u_prdpf_pfgroup[ll_i] = Trim(dw_1.Object.u_prdpf_pfgroup[row]) + '封边带' Then
- dw_1.Object.ch[ll_i] = 1
- End If
- Next
- End If
-
- End If
- dw_1.SetRedraw(True)
- End If
- end event
- type st_2 from statictext within w_mtrldef_prdpf_padd
- integer x = 18
- integer y = 280
- integer width = 480
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "正在使用物料清单:"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type st_mtrl from statictext within w_mtrldef_prdpf_padd
- integer x = 494
- integer y = 204
- integer width = 1563
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "none"
- boolean focusrectangle = false
- end type
- type cb_mod_bcp from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 1038
- integer width = 306
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "编辑半成品"
- string normalpicname = "open.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- Long ll_row
- Long ll_mtrlid
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要编辑的半成品')
- RETURN
- END IF
- IF NOT ins_ifmod THEN
- // IF dw_1.Object.u_mtrldef_mtrlprp[ll_row] <> 1 THEN
- // MessageBox('系统提示','只能编辑半成品属性的物料')
- // RETURN
- // END IF
-
- IF dw_1.Object.lp[ll_row] = 0 THEN
- MessageBox('系统提示','主产品资料不能编辑')
- RETURN
- END IF
-
- dw_1.Object.ifmod[ll_row] = 1
-
- ins_mtrlcode_ori = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- ins_mtrlname_ori = dw_1.Object.u_mtrldef_mtrlname[ll_row]
- ins_mtrlmode_ori = dw_1.Object.u_mtrldef_mtrlmode[ll_row]
- ins_unit_ori = dw_1.Object.u_mtrldef_unit[ll_row]
- ins_mtrlsectype_ori = dw_1.Object.u_mtrldef_mtrlsectype[ll_row]
- ins_zxmtrlmode_ori = dw_1.Object.u_mtrldef_zxmtrlmode[ll_row]
- ins_usermtrlmode_ori = dw_1.Object.u_mtrldef_usermtrlmode[ll_row]
- ins_mtrltypeid_ori = dw_1.Object.u_mtrldef_mtrltypeid[ll_row]
- ins_scid_ori = dw_1.Object.u_mtrldef_scid[ll_row]
- ins_dftwrkgrpid_ori = dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row]
- ins_orderdays_ori = dw_1.Object.u_mtrldef_orderdays[ll_row]
- ins_buydays_ori = dw_1.Object.u_mtrldef_buydays[ll_row]
- ins_wfjgdays_ori = dw_1.Object.u_mtrldef_wfjgdays[ll_row]
- ins_mb_mtrlcode = dw_1.Object.mb_mtrlcode[ll_row]
-
- dw_1.AcceptText()
- ELSE
- dw_1.SetRedraw(FALSE)
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = ins_mtrlcode_ori
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = ins_mtrlname_ori
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = ins_mtrlmode_ori
- dw_1.Object.u_mtrldef_unit[ll_row] = ins_unit_ori
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = ins_mtrlsectype_ori
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = ins_zxmtrlmode_ori
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = ins_usermtrlmode_ori
-
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = ins_mtrltypeid_ori
- dw_1.Object.u_mtrldef_scid[ll_row] = ins_scid_ori
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = ins_dftwrkgrpid_ori
- dw_1.Object.u_mtrldef_orderdays[ll_row] = ins_orderdays_ori
- dw_1.Object.u_mtrldef_buydays[ll_row] = ins_buydays_ori
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = ins_wfjgdays_ori
-
- dw_1.Object.mb_mtrlcode[ll_row] = ins_mb_mtrlcode
-
- dw_1.Object.ifmod[ll_row] = 0
- dw_1.SetRedraw(TRUE)
- dw_1.AcceptText()
- END IF
- ins_ifmod = NOT ins_ifmod
- wf_face()
- end event
- type cb_save_bcp from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2258
- integer width = 133
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- boolean enabled = false
- string normalpicname = "ok.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row
- String ls_mtrlcode
- Long cnt,ll_lp,ll_i,ll_mtrlid
- String ls_mtrlcode_p,ls_procode
- Long ll_k,ll_row_find,ll_j
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要编辑的半成品')
- RETURN
- END IF
- dw_1.AcceptText()
- ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[ll_row]
- IF dw_1.Object.u_mtrldef_mtrlid[ll_row] > 0 THEN
- IF dw_1.Object.u_mtrldef_mtrlcode[ll_row] = ins_mtrlcode_ori THEN
- MessageBox('系统提示','物料编辑没有修改,不能保存')
- RETURN
- END IF
- END IF
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- IF Trim(ls_mtrlcode) = '' THEN
- MessageBox('系统提示','请输入物料编码')
- dw_1.SetFocus()
- dw_1.SetColumn("u_mtrldef_mtrlcode")
- RETURN
- END IF
- SELECT count(*) INTO :cnt
- FROM u_mtrldef
- Where mtrlcode = :ls_mtrlcode;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询新编码是否已存在失败')
- RETURN
- END IF
- IF cnt > 0 THEN
- MessageBox('系统提示','新输入的编码已存在,请重新输入')
- dw_1.SetFocus()
- dw_1.SetColumn("u_mtrldef_mtrlcode")
- RETURN
- END IF
- IF trim(dw_1.Object.u_mtrldef_unit[ll_row]) = '' THEN
- MessageBox('系统提示','请输入库存单位')
- dw_1.SetFocus()
- dw_1.SetColumn("u_mtrldef_unit")
- RETURN
- END IF
- IF dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = 0 THEN
- MessageBox('系统提示','请选择类别')
- dw_1.SetFocus()
- dw_1.SetColumn("u_mtrldef_mtrltypeid")
- RETURN
- END IF
- IF dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = 0 THEN
- MessageBox('系统提示','请选择默认制造车间')
- dw_1.SetFocus()
- dw_1.SetColumn("u_mtrldef_dftwrkgrpid")
- RETURN
- END IF
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = 0
- dw_1.Object.ifnewadd[ll_row] = 1
- dw_1.Object.iflock[ll_row] = 0
- IF cbx_pfgroup.Checked THEN
- dw_1.Object.u_prdpf_pfgroup[ll_row] = dw_1.Object.u_mtrldef_mtrlname[ll_row]
- END IF
- ll_lp = dw_1.Object.lp[ll_row]
- dw_1.SetRedraw(False)
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] = ll_lp + 1 then //And dw_1.Object.pmtrlid[ll_i] = ll_mtrlid THEN
- dw_1.Object.iflock[ll_i] = 0
- END IF
-
- if dw_1.Object.lp[ll_i] <= ll_lp then exit
- NEXT
- dw_1.SetRedraw(True)
- dw_1.Object.ifmod[ll_row] = 0
- ins_ifmod = False
- dw_1.AcceptText()
- dw_1.SetColumn("u_sc_wkp_wrkgrpname")
- FOR ll_i = 1 To dw_copy.RowCount()
- IF dw_copy.Object.u_mtrldef_mtrlcode[ll_i] = ins_mtrlcode_ori THEN
- dw_copy.Object.u_mtrldef_mtrlcode[ll_i] = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- END IF
- NEXT
- dw_copy.AcceptText()
- ls_mtrlcode_p = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- FOR ll_i = 1 To dw_2.RowCount()
- ls_procode = dw_2.Object.procode[ll_i]
- dw_2.Object.u_mtrldef_mtrlcode[ll_i] = ls_mtrlcode_p
- dw_2.AcceptText()
-
- FOR ll_k = 1 To dw_copy.RowCount()
- ll_row_find = dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_p + "' and procode = '"+ls_procode+"'", ll_k, dw_copy.RowCount())
- IF ll_row_find > 0 THEN
- dw_copy.DeleteRow(ll_row_find)
- ll_k = 1
- END IF
- NEXT
-
- IF dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_p + "' and procode = '"+ls_procode+"'", 1, dw_copy.RowCount()) > 0 THEN CONTINUE
-
- ll_j++
- dw_2.RowsCopy (ll_i,ll_i,Primary!,dw_copy,ll_j,Primary!)
- NEXT
- IF dw_2.RowCount() > 0 THEN
- dw_1.Object.ifmod_wp[ll_row] = 1
- END IF
- wf_face()
- ins_cnt++
- IF Trim(ins_mtrlcode_ori) <> Trim(dw_1.Object.u_mtrldef_mtrlcode[ll_row]) THEN
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.编辑半成品:原编码:'+ ins_mtrlcode_ori +' 编辑为新编码:'+dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- END IF
- end event
- type cb_other_bom from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 265
- integer width = 457
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "选择其它物料清单"
- string normalpicname = "p1.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i
- Boolean lb_ifmod = FALSE
- String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg
- FOR ll_i = 1 TO dw_1.RowCount()
- IF dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 THEN
- lb_ifmod = TRUE
- EXIT
- END IF
- NEXT
- IF lb_ifmod THEN
- IF MessageBox('询问','选择其他物料清单会导致你当前的修改全部丢失,是否继续?',question!,yesno!) = 2 THEN RETURN
- END IF
- IF NOT IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = FALSE //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = FALSE
- s_ch_tran.b_long = 0
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 0
-
- THIS.Enabled = FALSE
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- THIS.Enabled = TRUE
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- IF UpperBound(s_inscust.mtrlid) = 1 AND s_inscust.mtrlid[1] > 0 THEN
- ins_mtrlid_pf = s_inscust.mtrlid[1]
-
- st_mtrl_pf.Text = '['+s_inscust.mtrlcode[1]+']'+s_inscust.mtrlname[1]
-
- IF ins_mtrlid_pf > 0 THEN
- ls_pfcode = f_get_dft_pf(ins_mtrlid_pf)
-
- dw_1.SetRedraw(FALSE)
-
- FOR ll_i = dw_1.RowCount() TO 2 STEP -1
- dw_1.DeleteRow(ll_i)
- NEXT
-
- IF wf_addmx(ins_mtrlid_pf,ls_pfcode,1,1,arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- dw_1.SetRedraw(TRUE)
-
- ins_cnt++
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.选择 ' + s_inscust.mtrlcode[1] + ' 的物料清单,重新生成明细内容'
- dw_copy.Reset()
- END IF
- END IF
- END IF
- end event
- type cb_save from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 4914
- integer width = 251
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "生成资料"
- string normalpicname = "SAVE.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- String arg_msg
- IF MessageBox('询问','确定要按当前内容生成物料及相关清单、工价表吗?',question!,yesno!) = 2 THEN RETURN
- IF wf_checkrand(arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- RETURN
- END IF
- IF wf_save(arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- RETURN
- END IF
- MessageBox('系统提示','操作成功!')
- IF cbx_save_close.Checked THEN
-
- Close(Parent)
- ELSE
- wf_re_mtrl(1)
-
- END IF
- end event
- type st_1 from statictext within w_mtrldef_prdpf_padd
- integer x = 69
- integer y = 204
- integer width = 425
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "正在编辑的产品:"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type st_mtrl_pf from statictext within w_mtrldef_prdpf_padd
- integer x = 494
- integer y = 280
- integer width = 1563
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "none"
- boolean focusrectangle = false
- end type
- type cb_delmx from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 3086
- integer width = 197
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "删明细"
- string normalpicname = "DELETE.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=勾选删除~tEvent=ue_del_ch"
- menustr = menustr + "|" + "Text=删除本级(下级层次前移)~tEvent=ue_del_this"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type mle_log from multilineedit within w_mtrldef_prdpf_padd
- integer y = 1292
- integer width = 1545
- integer height = 992
- integer taborder = 30
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "------------------------操作记录-----------------------"
- boolean autovscroll = true
- boolean displayonly = true
- borderstyle borderstyle = stylelowered!
- end type
- type dw_2 from u_dw_rbtnfilter within w_mtrldef_prdpf_padd
- integer x = 1550
- integer y = 1376
- integer width = 2039
- integer height = 788
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_workpricetable_padd_edit"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- end type
- event rowfocuschanged;call super::rowfocuschanged;
- IF currentrow > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(currentrow)
- THIS.SelectRow(currentrow,TRUE)
- END IF
- end event
- event doubleclicked;call super::doubleclicked;IF ins_ifmod_wp THEN
- IF dwo.Name = 'u_sc_workprice_status' THEN
- Parent.TriggerEvent('ue_wp_status')
- ELSEIF dwo.Name = 'u_sc_workprice_pricestr' THEN
- Parent.TriggerEvent('ue_wp_pricestr')
- ELSEIF dwo.Name = 'u_sc_workprice_workqtystr' THEN
- Parent.TriggerEvent('ue_wp_workqtystr')
- ELSEIF dwo.Name = 'u_sc_workprice_u_workqtystr' THEN
- Parent.TriggerEvent('ue_wp_u_workqtystr')
- ELSEIF dwo.Name = 'u_sc_workprice_u_pricestr' THEN
- Parent.TriggerEvent('ue_wp_u_pricestr')
- ELSE
- Parent.TriggerEvent('ue_wp_procode')
- END IF
- END IF
- end event
- event clicked;call super::clicked;IF row > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(row)
- THIS.SelectRow(row,TRUE)
- END IF
- end event
- event dwnkey;call super::dwnkey;parent.triggerevent('user_key')
- end event
- type cb_addmx_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2149
- integer y = 2180
- integer width = 288
- integer height = 88
- integer taborder = 30
- boolean bringtotop = true
- boolean enabled = false
- string text = "增明细"
- string normalpicname = "mx1.BMP"
- integer picsize = 16
- end type
- event clicked;call super::clicked;IF Not ins_ifmod_wp THEN RETURN
- IF rb_1.Checked THEN
- Parent.TriggerEvent('ue_wp_procode')
- ELSEIF rb_2.Checked THEN
- Long li_row,ll_row
- String ls_mtrlcode
- ll_row = dw_1.GetRow()
-
- IF ll_row <= 0 THEN
- MessageBox('系统提示','没有正确的物料内容')
- RETURN
- END IF
-
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
-
- li_row = dw_3.InsertRow(0)
- dw_3.Object.u_mtrldef_mtrlcode[li_row] = ls_mtrlcode
-
- dw_3.SelectRow(0,False)
- dw_3.SetRow(li_row)
- dw_3.ScrollToRow(li_row)
- dw_3.SelectRow(li_row,True)
- dw_3.SetColumn ('printid')
- END IF
- end event
- type cb_delmx_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2441
- integer y = 2180
- integer width = 288
- integer height = 88
- integer taborder = 40
- boolean bringtotop = true
- boolean enabled = false
- string text = "删明细"
- string normalpicname = "mx2.BMP"
- integer picsize = 16
- end type
- event clicked;call super::clicked;IF Not ins_ifmod_wp THEN
- MessageBox('系统提示','非编辑状态下不可用')
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要删除当前明细记录?",Question!,YesNo! ) = 2 THEN RETURN
- IF rb_1.Checked THEN
- IF dw_2.GetRow() = 0 THEN
- MessageBox('提示','请选择删除的行对象!')
- RETURN
- END IF
-
- dw_2.DeleteRow (dw_2.GetRow())
- ELSEIF rb_2.Checked THEN
-
- IF dw_3.GetRow() = 0 THEN
- MessageBox('提示','请选择删除的行对象!')
- RETURN
- END IF
-
- dw_3.DeleteRow (dw_3.GetRow())
- END IF
- end event
- type cb_save_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 1842
- integer y = 2180
- integer width = 261
- integer height = 88
- integer taborder = 40
- boolean bringtotop = true
- boolean enabled = false
- string text = "保存"
- string normalpicname = "save.bmp"
- integer picsize = 16
- end type
- event clicked;call super::clicked;IF Not ins_ifmod_wp THEN
- MessageBox('系统提示','非编辑状态下不能使用')
- RETURN
- END IF
- Long ll_i,ll_j,ll_row,ll_k,ll_row_find
- String arg_msg
- String ls_mtrlcode,ls_procode,ls_mtrlcode_p
- String ls_wkpname
- Long ll_swkpid,ll_owkpid
- ll_j = 0
- dw_1.AcceptText()
- dw_2.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','没有正确的物料内容')
- RETURN
- END IF
- ls_mtrlcode_p = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- IF rb_1.Checked THEN
- FOR ll_k = dw_copy.RowCount() To 1 Step -1
- ll_row_find = dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_p + "'", ll_k, dw_copy.RowCount())
- IF ll_row_find > 0 THEN
- dw_copy.DeleteRow(ll_row_find)
- END IF
- NEXT
-
- dw_2.SetRedraw(False)
- FOR ll_i = 1 To dw_2.RowCount()
- ls_procode = dw_2.Object.procode[ll_i]
- dw_2.Object.u_mtrldef_mtrlcode[ll_i] = ls_mtrlcode_p
- dw_2.AcceptText()
-
- IF dw_copy.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_p + "' and procode = '"+ls_procode+"'", 1, dw_copy.RowCount()) > 0 THEN CONTINUE
-
- ll_j++
- dw_2.RowsCopy (ll_i,ll_i,Primary!,dw_copy,ll_j,Primary!)
- NEXT
- dw_2.SetRedraw(True)
-
- dw_1.Object.ifmod_wp[ll_row] = 1
- dw_1.AcceptText()
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.编辑物料 '+ls_mtrlcode_p+' 工价表 '
- ELSEIF rb_2.Checked THEN
-
- FOR ll_k = dw_copy_wkp.RowCount() To 1 Step -1
- ll_row_find = dw_copy_wkp.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_p + "'", ll_k, dw_copy_wkp.RowCount())
- IF ll_row_find > 0 THEN
- dw_copy_wkp.DeleteRow(ll_row_find)
- END IF
- NEXT
- IF wf_check_wkp(arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- RETURN
- END IF
- dw_3.SetRedraw(False)
- FOR ll_i = 1 To dw_3.RowCount()
- ls_wkpname = dw_3.Object.wkpname[ll_i]
- ll_swkpid = dw_3.Object.swkpid[ll_i]
- ll_owkpid = dw_3.Object.owkpid[ll_i]
-
- dw_3.Object.u_mtrldef_mtrlcode[ll_i] = ls_mtrlcode_p
- dw_3.AcceptText()
-
- IF dw_copy_wkp.Find("u_mtrldef_mtrlcode = '"+ls_mtrlcode_p + "' and wkpname = '"+ls_wkpname+"' and swkpid = "+String(ll_swkpid) + " and owkpid = "+String(ll_owkpid), 1, dw_copy_wkp.RowCount()) > 0 THEN CONTINUE
-
- ll_j++
- dw_3.RowsCopy (ll_i,ll_i,Primary!,dw_copy_wkp,ll_j,Primary!)
- NEXT
- dw_3.SetRedraw(True)
-
- dw_1.Object.ifmod_wkp[ll_row] = 1
- dw_1.AcceptText()
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.编辑物料 '+ls_mtrlcode_p+' 工组流程 '
-
- END IF
- ins_ifmod_wp = Not ins_ifmod_wp
- wf_face_wp()
- end event
- type cb_edit_wp from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 1577
- integer y = 2180
- integer width = 261
- integer height = 88
- integer taborder = 40
- boolean bringtotop = true
- string text = "修改"
- string normalpicname = "open.BMP"
- integer picsize = 16
- end type
- event clicked;call super::clicked;IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_row
- IF Not ins_ifmod_wp THEN
- ll_row = dw_1.GetRow()
-
- IF ll_row <= 0 THEN
- MessageBox('系统提示','没有正确的物料内容')
- RETURN
- END IF
-
- IF Trim( dw_1.Object.u_mtrldef_mtrlcode[ll_row]) = '' THEN
- MessageBox('系统提示','请先填写半成品编码')
- RETURN
- END IF
-
- IF dw_1.Object.u_mtrldef_mtrlorigin[ll_row] <> 0 THEN
- MessageBox('系统提示','只有自制来源的产品及半成品才能编辑工价表明细或工组流利明细,请检查')
- RETURN
- END IF
- ELSE
- Parent.TriggerEvent('ue_retrieve_workprice')
- Parent.TriggerEvent('ue_retrieve_wkp')
- END IF
- ins_ifmod_wp = Not ins_ifmod_wp
- wf_face_wp()
- end event
- type dw_copy from datawindow within w_mtrldef_prdpf_padd
- boolean visible = false
- integer x = 2784
- integer y = 1828
- integer width = 773
- integer height = 392
- integer taborder = 20
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_workpricetable_padd_edit"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- type cb_cmpl_pfklmode from commandbutton within w_mtrldef_prdpf_padd
- integer x = 2107
- integer y = 196
- integer width = 315
- integer height = 68
- integer taborder = 200
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "计算用料量"
- end type
- event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=按开料规格~tEvent=ue_cmp_pfklmode"
- menustr = menustr + "|" + "Text=按部件规格~tEvent=ue_cmp_pfgroupmode"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(THIS, menustr)
- dmPopupMenu.mf_PopMenu()
- DESTROY dmPopupMenu
- END IF
- end event
- type st_arg from statictext within w_mtrldef_prdpf_padd
- integer x = 2423
- integer y = 204
- integer width = 201
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "÷参数"
- boolean focusrectangle = false
- end type
- type em_arg from editmask within w_mtrldef_prdpf_padd
- integer x = 2624
- integer y = 188
- integer width = 494
- integer height = 84
- integer taborder = 210
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "1"
- borderstyle borderstyle = stylelowered!
- string mask = "###############.00########"
- end type
- type cbx_cmp_qty from checkbox within w_mtrldef_prdpf_padd
- integer x = 2107
- integer y = 276
- integer width = 631
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "计算用料量时乘部件数"
- end type
- type cb_re_mtrl from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer width = 265
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "选择产品"
- string normalpicname = "p2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i
- Boolean lb_ifmod = FALSE
- String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg
- FOR ll_i = 1 TO dw_1.RowCount()
- IF dw_1.Object.u_mtrldef_mtrlid[ll_i] = 0 THEN
- lb_ifmod = TRUE
- EXIT
- END IF
- NEXT
- IF lb_ifmod THEN
- IF MessageBox('询问','重新选择产品会导致你当前的修改全部丢失,是否继续?',question!,yesno!) = 2 THEN RETURN
- END IF
- IF NOT IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = FALSE //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = FALSE
- s_ch_tran.b_long = 0
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 0
-
- THIS.Enabled = FALSE
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- THIS.Enabled = TRUE
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- IF UpperBound(s_inscust.mtrlid) = 1 AND s_inscust.mtrlid[1] > 0 THEN
- IF s_inscust.mtrlorigin[1] = 2 THEN
- MessageBox('系统提示','目标产品来源不能为采购')
- RETURN
- END IF
-
- ins_mtrlid_pf = s_inscust.mtrlid[1]
- ins_mtrlid = ins_mtrlid_pf
-
- wf_re_mtrl(1)
-
- END IF
- END IF
- end event
- type cbx_pfgroup from checkbox within w_mtrldef_prdpf_padd
- integer x = 2766
- integer y = 276
- integer width = 795
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "新半成品部件名称按物料名称"
- end type
- event clicked;Int if_pfgroup
- IF THIS.Checked THEN
- if_pfgroup = 1
- ELSE
- if_pfgroup = 0
- END IF
- f_SetProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_pfgroup", String(if_pfgroup))
- end event
- event constructor;Int if_pfgroup
- if_pfgroup = Integer(f_ProfileString (sys_empid,'w_mtrldef_prdpf_add', "if_pfgroup", '0'))
- IF if_pfgroup = 1 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type cb_import from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 727
- integer width = 279
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "Excel导入"
- string normalpicname = "excel.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- String ls_bar
- ls_bar = "|"
- menustr = ""
- If Integer(f_ProfileString (0,'excel_menu','龙嘉标准物料清单导入格式', '1')) = 1 Then
-
- menustr = menustr + "Text=龙嘉标准物料清单导入格式~tEvent=ue_import_xls_3"
- End If
- If Integer(f_ProfileString (0,'excel_menu','圆方板式家具物料清单报价明细格式', '1')) = 1 Then
- If menustr = '' Then
- ls_bar = ''
- Else
- ls_bar = "|"
- End If
-
- menustr = menustr + ls_bar + "Text=圆方板式家具物料清单报价明细格式~tEvent=ue_import_xls_2"
- End If
- If Integer(f_ProfileString (0,'excel_menu','圆方板式家具全订制板式家具包件产品格式', '1')) = 1 Then
- If menustr = '' Then
- ls_bar = ''
- Else
- ls_bar = "|"
- End If
- menustr = menustr + ls_bar + "Text=圆方板式家具全订制板式家具包件产品格式~tEvent=ue_import_xls_4"
- End If
- If Integer(f_ProfileString (0,'excel_menu','圆方板式家具包件格式', '1')) = 1 Then
- If menustr = '' Then
- ls_bar = ''
- Else
- ls_bar = "|"
- End If
-
- If menustr <> '' Then
- menustr = menustr + ls_bar + "Text=-"
- End If
- menustr = menustr + ls_bar + "Text=圆方板式家具包件格式~tEvent=ue_import_xls_5" //YS
- End If
- If Integer(f_ProfileString (0,'excel_menu','圆方板式家具包件产品格式', '1')) = 1 Then
- If menustr = '' Then
- ls_bar = ''
- Else
- ls_bar = "|"
- End If
- If menustr <> '' Then
- menustr = menustr + ls_bar + "Text=-"
- End If
- menustr = menustr + ls_bar + "Text=圆方板式家具包件产品格式~tEvent=ue_import_xls_6" //HY
- End If
- If Integer(f_ProfileString (0,'excel_menu','圆方板式家具包件产品格式2', '1')) = 1 Then
- If menustr = '' Then
- ls_bar = ''
- Else
- ls_bar = "|"
- End If
- menustr = menustr + ls_bar + "Text=圆方板式家具包件产品格式2~tEvent=ue_import_xls_7" //HY
- End If
- If Len(Trim(menustr)) <> 0 Then
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- End If
- end event
- type cb_1 from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 1344
- integer width = 297
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "选物料类别"
- string normalpicname = "p2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long row
- Long ll_mtrlid
- row = dw_1.GetRow()
- IF row <= 0 THEN
- MessageBox('系统提示','请选择行')
- RETURN
- END IF
- IF dw_1.Object.ifnewadd[row] = 0 THEN
- MessageBox('系统提示','只有新建的半成品资料才能重新选择类别')
- RETURN
- END IF
- //ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[row]
- //
- //IF ll_mtrlid > 0 THEN
- // MessageBox('系统提示','只有没有记录的资料才能选择物料类别')
- // RETURN
- //END IF
- Open(w_mtrltype_ch)
- s_mtrltype s_type
- s_type = Message.PowerObjectParm
- IF s_type.mtrltypeid > 0 THEN //正常返回值则可以取以下值
- dw_1.SetRedraw(False)
- dw_1.Object.u_mtrldef_mtrltypeid[row] = s_type.mtrltypeid
- dw_1.SetRedraw(True)
- END IF
- end event
- type cb_moban from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 1911
- integer width = 347
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- boolean enabled = false
- string text = "引用模板编码"
- string normalpicname = "open.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF Not ins_ifmod THEN
- MessageBox('系统提示','非编辑半成品状态下,不能执行本操作')
- RETURN
- END IF
- Long ll_row
- Long ll_mtrlid
- dw_1.AcceptText()
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要编辑的半成品')
- RETURN
- END IF
- IF Not IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = False
- s_ch_tran.b_long = 0
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 0
-
- This.Enabled = False
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- This.Enabled = True
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- IF UpperBound(s_inscust.mtrlid) = 1 And s_inscust.mtrlid[1] > 0 THEN
- IF s_inscust.mtrlorigin[1] = 2 THEN
- MessageBox('系统提示','目标产品来源不能为采购')
- RETURN
- END IF
-
- dw_1.Object.u_mtrldef_unit[ll_row] = s_inscust.unit[1]
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = s_inscust.mtrltypeid[1]
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = s_inscust.mtrlsectype[1]
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = s_inscust.zxmtrlmode[1]
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = s_inscust.usermtrlmode[1]
- dw_1.Object.u_mtrldef_piccode[ll_row] = s_inscust.piccode[1]
- dw_1.Object.u_mtrldef_ifselforder[ll_row] = s_inscust.ifselforder[1]
- dw_1.Object.u_mtrldef_ordertype[ll_row] = s_inscust.ordertype[1]
- dw_1.Object.u_mtrldef_scid[ll_row] = s_inscust.scid[1]
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = s_inscust.dftwrkgrpid[1]
- dw_1.Object.mb_mtrlcode[ll_row] = s_inscust.mtrlcode[1]
- dw_1.Object.u_mtrldef_orderdays[ll_row] = s_inscust.orderdays[1]
- dw_1.Object.u_mtrldef_buydays[ll_row] = s_inscust.buydays[1]
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = s_inscust.wfjgdays[1]
-
- dw_1.Object.mb_mtrlid[ll_row] = s_inscust.mtrlid[1]
-
- PARENT.TriggerEvent('ue_retrieve_workprice')
- PARENT.TriggerEvent('ue_retrieve_wkp')
- END IF
- END IF
- end event
- type cb_change from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2875
- integer width = 201
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "换料"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_i
- String ls_mtrlcode,ls_mtrlname,ls_pfcode,arg_msg
- Long ll_row,ll_row_add
- Long ll_pmtrlid,ll_lp
- Long ll_mtrlid
- Long ll_mtrlorigin
- Long ll_mtrlid_pf
- String arg_msg_str
- decimal ld_sonscale,ld_pfgroupqty
- ll_row = dw_1.GetRow()
- IF ll_row > 0 THEN
- ll_pmtrlid = dw_1.Object.pmtrlid[ll_row]
- ll_lp = dw_1.Object.lp[ll_row]
- ll_mtrlid = dw_1.Object.u_mtrldef_mtrlid[ll_row]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- ll_mtrlorigin = dw_1.Object.u_mtrldef_mtrlorigin[ll_row]
- ld_pfgroupqty = dw_1.Object.u_prdpf_pfgroupqty[ll_row]
- ld_sonscale = dw_1.Object.u_prdpf_sonscale[ll_row]
- ELSE
- ll_pmtrlid = ins_mtrlid
- ll_lp = 0
- ld_pfgroupqty = 1
- ld_sonscale = 1
- END IF
- IF ll_lp = 0 THEN
- MessageBox('系统提示','主产品不能更换')
- RETURN
- END IF
- //IF ll_mtrlorigin <> 2 THEN
- // MessageBox('系统提示','只能更换采购来源的材料,请检查')
- // RETURN
- //END IF
- IF ll_mtrlorigin = 2 THEN
- //换原料
- IF Not IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次retrieve所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = False
- s_ch_tran.b_long = 2
- s_ch_tran.c_long = -1
- s_ch_tran.f_long = 2
-
- This.Enabled = False
- OpenWithParm(w_mtrldef_edit,s_ch_tran)
- This.Enabled = True
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm
-
- IF UpperBound(s_inscust.mtrlid) <> 1 THEN RETURN
-
- IF s_inscust.mtrlid[1] = 0 THEN RETURN
-
- ll_mtrlid = s_inscust.mtrlid[1]
-
- IF s_inscust.Mtrlorigin[1] <> 2 THEN
- MessageBox('系统提示','只能选择采购来源的物料')
- RETURN
- END IF
-
- IF ll_mtrlid > 0 THEN
- ls_pfcode = f_get_dft_pf(ll_mtrlid)
-
- dw_1.SetRedraw(False)
-
- dw_1.Object.u_mtrldef_mtrlcode[ll_row] = s_inscust.mtrlcode[1]
- dw_1.Object.u_mtrldef_mtrlprp[ll_row] = s_inscust.mtrlprp[1]
- dw_1.Object.u_mtrldef_mtrlname[ll_row] = s_inscust.mtrlname[1]
- dw_1.Object.u_mtrldef_unit[ll_row] = s_inscust.unit[1]
- dw_1.Object.u_mtrldef_mtrlmode[ll_row] = s_inscust.mtrlmode[1]
- dw_1.Object.u_mtrldef_mtrlsectype[ll_row] = s_inscust.mtrlsectype[1]
- dw_1.Object.u_mtrldef_zxmtrlmode[ll_row] = s_inscust.zxmtrlmode[1]
- dw_1.Object.u_mtrldef_statusflag[ll_row] = s_inscust.statusflag[1]
- dw_1.Object.u_mtrldef_statustype[ll_row] = s_inscust.statustype[1]
- dw_1.Object.u_mtrldef_woodcodeflag[ll_row] = s_inscust.woodcodeflag[1]
- dw_1.Object.u_mtrldef_woodcodetype[ll_row] = s_inscust.woodcodetype[1]
- dw_1.Object.u_mtrldef_pcodeflag[ll_row] = s_inscust.pcodeflag[1]
- dw_1.Object.u_mtrldef_pcodetype[ll_row] = s_inscust.pcodetype[1]
- dw_1.Object.u_mtrldef_usermtrlmode[ll_row] = s_inscust.usermtrlmode[1]
- dw_1.Object.u_mtrldef_mtrlorigin[ll_row] = s_inscust.Mtrlorigin[1]
-
- dw_1.Object.u_mtrldef_mtrlid[ll_row] = ll_mtrlid
- dw_1.Object.u_prdpf_sonmtrlid[ll_row] = ll_mtrlid
- dw_1.Object.u_prdpf_sonpfcode[ll_row] = f_get_dft_pf(ll_mtrlid)
-
- dw_1.Object.u_mtrldef_orderdays[ll_row] = s_inscust.orderdays[1]
- dw_1.Object.u_mtrldef_buydays[ll_row] = s_inscust.buydays[1]
- dw_1.Object.u_mtrldef_wfjgdays[ll_row] = s_inscust.wfjgdays[1]
- dw_1.Object.u_mtrldef_dftwrkgrpid[ll_row] = s_inscust.dftwrkgrpid[1]
-
- dw_1.Object.u_mtrldef_scid[ll_row] = s_inscust.scid[1]
- dw_1.Object.u_mtrldef_mtrltypeid[ll_row] = s_inscust.mtrltypeid[1]
-
- dw_1.Object.u_prdpf_pfgroup[ll_row] = s_inscust.mtrlname[1]
- dw_1.Object.u_prdpf_pfgroupmode[ll_row] = s_inscust.mtrlmode[1]
-
-
- dw_1.SetRedraw(True)
- ELSE
- RETURN
- END IF
- END IF
- ELSE
- //换半成品
-
- dw_1.Object.ifdel[ll_row] = 1
-
- ll_lp = dw_1.Object.lp[ll_row]
-
-
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN EXIT
-
- dw_1.Object.ifdel[ll_i] = 1
- NEXT
-
-
-
- IF ll_row = dw_1.RowCount() THEN
- ll_row_add = ll_row
- ELSE
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN
- ll_row_add = ll_i - 1
- EXIT
- END IF
- NEXT
-
- IF ll_row_add = 0 THEN
- ll_row_add = dw_1.RowCount()
- END IF
- END IF
-
-
- IF Not IsValid(w_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran_add //传递参数使用
- s_ch_tran_add.if_retrieve_all = False //是否一次retrieve所有行
- s_ch_tran_add.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran_add.arg_pkid = 0 //目标定位pkid (备用)
- s_ch_tran_add.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran_add.if_select_all = false
- s_ch_tran_add.b_long = 0
- s_ch_tran_add.c_long = -1
- s_ch_tran_add.f_long = 1
-
- This.Enabled = False
- OpenWithParm(w_mtrldef_edit,s_ch_tran_add)
- This.Enabled = True
-
- s_mtrldef_array s_inscust_add
- s_inscust_add = Message.PowerObjectParm
-
- IF UpperBound(s_inscust_add.mtrlid) <> 1 THEN RETURN
- IF s_inscust_add.mtrlid[1] = 0 THEN RETURN
-
- dw_1.SetRedraw(False)
-
- FOR ll_i = 1 To UpperBound(s_inscust_add.mtrlid)
-
- ll_mtrlid_pf = s_inscust_add.mtrlid[ll_i]
-
- IF ll_mtrlid_pf > 0 THEN
- ls_pfcode = f_get_dft_pf(ll_mtrlid_pf)
-
-
- IF wf_addmx_next(ll_mtrlid_pf,ls_pfcode,ll_pmtrlid,ll_lp ,ll_row_add + 1 ,arg_msg,ld_sonscale,ld_pfgroupqty) = 0 THEN
- arg_msg_str = arg_msg_str + arg_msg + '~r~n'
- END IF
-
- // ins_cnt++
- // IF ls_mtrlcode <> '' THEN
- // mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.对 '+ls_mtrlcode+' 增加下级物料 '+s_inscust_add.mtrlcode[ll_i]
- // ELSE
- // mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.增加物料 '+s_inscust_add.mtrlcode[ll_i]
- // END IF
-
- END IF
- NEXT
-
- dw_1.AcceptText()
-
- FOR ll_i = dw_1.RowCount() To 1 Step -1
- IF dw_1.Object.ifdel[ll_i] = 1 THEN
- dw_1.DeleteRow(ll_i)
- END IF
- NEXT
-
- dw_1.SetRedraw(True)
-
- IF Trim(arg_msg_str) <> '' THEN
- MessageBox('Error',arg_msg_str)
- END IF
-
- END IF
-
- END IF
- ins_cnt++
- IF ls_mtrlcode <> '' THEN
- IF ll_mtrlorigin = 2 THEN
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.更新原料,原:'+ls_mtrlcode+',新:'+s_inscust.mtrlcode[1]
- ELSE
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.更新半成品,原:'+ls_mtrlcode+',新:'+s_inscust_add.mtrlcode[1]
- END IF
- ELSE
- mle_log.Text = mle_log.Text + '~r~n' + String(ins_cnt)+'.增加物料 '+s_inscust.mtrlcode[1]
- END IF
- end event
- type cb_print from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 5170
- integer width = 192
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "打印&P"
- string normalpicname = "print.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- string menustr
- menustr="Text=产品物料清单[工艺]~tEvent=ue_viewprint_gy"
- menustr=menustr + "|" + "Text=-"
- menustr=menustr + "|" + "Text=产品物料清单[用料]~tEvent=ue_viewprint_yl"
- menustr=menustr + "|" + "Text=-"
- menustr=menustr + "|" + "Text=产品物料清单[树型结构]~tEvent=ue_viewprint_tree"
- menustr=menustr + "|" + "Text=-"
- menustr=menustr + "|" + "Text=产品物料清单[车间]~tEvent=ue_viewprint_yl_wrk"
- menustr=menustr + "|" + "Text=-"
- menustr=menustr + "|" + "Text=产品加工说明书~tEvent=ue_viewprint_dy"
- if len(trim(menustr))<>0 then
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- end if
- end event
- type cbx_save_close from checkbox within w_mtrldef_prdpf_padd
- integer x = 3173
- integer y = 196
- integer width = 576
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "生成资料后关闭窗口"
- end type
- event clicked;int if_close
- IF THIS.Checked THEN
- if_close = 1
- ELSE
- if_close = 0
- END IF
- f_SetProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_close", String(if_close))
- end event
- event constructor;int if_close
- if_close = Integer(f_ProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_close", '0'))
- IF if_close = 0 THEN
- This.Checked = False
- ELSE
- This.Checked = True
- END IF
- end event
- type rb_1 from radiobutton within w_mtrldef_prdpf_padd
- integer x = 1582
- integer y = 1304
- integer width = 293
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "工价表"
- boolean checked = true
- end type
- event clicked;dw_2.visible = true
- dw_3.visible = false
- cb_templet_ch.visible = true
- end event
- type rb_2 from radiobutton within w_mtrldef_prdpf_padd
- integer x = 1929
- integer y = 1304
- integer width = 334
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "工组流程"
- end type
- event clicked;dw_2.visible = false
- dw_3.visible = true
- cb_templet_ch.visible = false
- end event
- type dw_3 from u_dw_rbtnfilter within w_mtrldef_prdpf_padd
- boolean visible = false
- integer x = 2679
- integer y = 1432
- integer height = 568
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_mtrl_wkp_padd_edit"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- end type
- event clicked;call super::clicked;IF row > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(row)
- THIS.SelectRow(row,TRUE)
- END IF
- IF row > 0 THEN
- IF dwo.Name = 'gydscrplen' THEN
- Parent.TriggerEvent('ue_gydscrp')
- END IF
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;IF currentrow > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SetRow(currentrow)
- THIS.SelectRow(currentrow,TRUE)
- END IF
- end event
- event doubleclicked;call super::doubleclicked;IF NOT ins_ifmod_wp THEN RETURN
- IF row <= 0 THEN RETURN
- IF dwo.Name = 'workgroupid' THEN
- Long ll_wrkgrpid
- ll_wrkgrpid = dw_3.Object.swkpid[row]
-
-
- OpenWithParm(w_workgrop_ch_withwrkid,ll_wrkgrpid)
-
- s_workgroup s_ch
- s_ch = Message.PowerObjectParm
-
- IF IsNull(s_ch.wrkgrpid) THEN s_ch.wrkgrpid = 0
-
- IF s_ch.wrkgrpid = 0 THEN RETURN
-
- dw_3.Object.workgroupid[row] = s_ch.wrkgrpid
- END IF
- end event
- event dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
- String ls_procode,ls_proname,ls_techlevel,ls_worklevel
- Long ls_proid
- Dec ls_workhour
- Long child_row
- Long ls_null
- SetNull(ls_null)
- IF dw_edit_mode THEN
- IF KeyDown(Keydownarrow!) THEN
- Long li_row
- IF dw_3.GetRow() = dw_3.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- END IF
- ELSE
- IF Key = KeyEnter! THEN
- IF dw_3.GetRow() = dw_3.RowCount() AND dw_3.GetColumnName() = 'dscrp' THEN
- PARENT.TriggerEvent("ue_addmx")
- dw_3.SetColumn('swkpid')
- ELSE
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
-
- END IF
- END IF
- END IF
- END IF
- end event
- type dw_copy_wkp from datawindow within w_mtrldef_prdpf_padd
- boolean visible = false
- integer x = 2679
- integer y = 764
- integer width = 1243
- integer height = 400
- integer taborder = 30
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_mtrl_wkp_padd_edit"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- type dw_copy_main from datawindow within w_mtrldef_prdpf_padd
- boolean visible = false
- integer x = 2235
- integer y = 964
- integer width = 686
- integer height = 400
- integer taborder = 40
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_mtrldef_prdpf_padd"
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- type cb_copy_paste from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 3282
- integer width = 247
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "复制粘贴"
- string normalpicname = "COPY.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=复制物料清单~tEvent=ue_copy_mx"
- menustr = menustr + "|" + "Text=复制物料清单(含本级)~tEvent=ue_copy_mx_this"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=粘贴到下级~tEvent=ue_paste_mx"
- menustr = menustr + "|" + "Text=粘贴到同级~tEvent=ue_paste_mx_same"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type cb_bom from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2414
- integer width = 270
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "物料清单"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod THEN
- MessageBox('系统提示','编辑状态下不能使用')
- RETURN
- END IF
- IF ins_ifmod_wp THEN
- MessageBox('系统提示','编辑明细状态下不能使用')
- RETURN
- END IF
- Long ll_row,ll_i,ll_lp
- Long ll_mtrlid
- String ls_pfcode,arg_msg
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请先选择物料')
- RETURN
- END IF
- IF dw_1.Object.lp[ll_row] = 0 THEN
- MessageBox('系统提示','主产品不能使用本功能')
- RETURN
- END IF
- IF dw_1.Object.u_mtrldef_mtrlorigin[ll_row] <> 0 THEN
- MessageBox('系统提示','只有自制来源的资料才能执行本功能')
- RETURN
- END IF
- IF dw_1.Object.ifnewadd[ll_row] <> 0 THEN
- MessageBox('系统提示','新建的资料不能执行本功能')
- RETURN
- END IF
- ll_lp = dw_1.Object.lp[ll_row]
- ll_mtrlid = dw_1.Object.u_prdpf_sonmtrlid[ll_row]
- ls_pfcode = dw_1.Object.u_prdpf_sonpfcode[ll_row]
- s_edit_index_tran s_ch_tran_bom
- s_ch_tran_bom.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_ch_tran_bom.work_mode = 0 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran_bom.arg_pkid = 0 //目标定位PKID (备用)
- s_ch_tran_bom.arg_string_code = dw_1.Object.u_mtrldef_mtrlcode[ll_row]
- s_ch_tran_bom.if_select_all = True
- OpenWithParm(w_mtrl_structure_response,s_ch_tran_bom)
- dw_1.SetRedraw(False)
- FOR ll_i = ll_row + 1 To dw_1.RowCount()
- IF dw_1.Object.lp[ll_i] <= ll_lp THEN EXIT
- dw_1.Object.ifdel[ll_i] = 1
- NEXT
- dw_1.AcceptText()
- FOR ll_i = dw_1.RowCount() To 1 Step -1
- IF dw_1.Object.ifdel[ll_i] = 1 THEN
- dw_1.DeleteRow(ll_i)
- END IF
- NEXT
- dw_1.SetRedraw(True)
- IF wf_addmx_row(ll_mtrlid,ls_pfcode,ll_lp + 1,ll_row + 1 ,1,arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- RETURN
- END IF
- end event
- type cb_tmp_save from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 4544
- integer width = 165
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "存档"
- string normalpicname = "SAVE.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- IF ins_mtrlid = 0 THEN
- MessageBox('系统提示','请先选择主产品')
- RETURN
- END IF
- String Pathname_dw1,Pathname_dw2,Pathname_dw3
- Blob ls_filedata_dw1,ls_filedata_dw2,ls_filedata_dw3
- String errmsg,ls_dscrp,ls_msg_log
- Long ll_printid
- Open(w_prdpf_temp_save_dscrp)
- s_edit_index_tran s_ch_dscrp
- s_ch_dscrp = Message.PowerObjectParm
- IF s_ch_dscrp.c_long = 0 THEN RETURN
- ls_dscrp = s_ch_dscrp.c_string
- ls_msg_log = mle_log.Text
- Pathname_dw1 = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ins_mtrlcode+'_dw_1.xml'
- IF IsNull(Pathname_dw1) Or Len(Trim(Pathname_dw1)) < 3 THEN RETURN
- Pathname_dw2 = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ins_mtrlcode+'_dw_2.xml'
- IF IsNull(Pathname_dw2) Or Len(Trim(Pathname_dw2)) < 3 THEN RETURN
- Pathname_dw3 = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ins_mtrlcode+'_dw_3.xml'
- IF IsNull(Pathname_dw3) Or Len(Trim(Pathname_dw3)) < 3 THEN RETURN
- dw_1.SaveAs(Pathname_dw1, XML!, False)
- dw_copy.SaveAs(Pathname_dw2, XML!, False)
- dw_copy_wkp.SaveAs(Pathname_dw3, XML!, False)
- IF f_filetoblob(Pathname_dw1,ls_filedata_dw1,errmsg) = 0 THEN
- MessageBox('系统提示',errmsg)
- GOTO _del
- END IF
- IF f_filetoblob(Pathname_dw2,ls_filedata_dw2,errmsg) = 0 THEN
- MessageBox('系统提示',errmsg)
- GOTO _del
- END IF
- IF f_filetoblob(Pathname_dw3,ls_filedata_dw3,errmsg) = 0 THEN
- MessageBox('系统提示',errmsg)
- GOTO _del
- END IF
- SELECT max(printid)
- INTO :ll_printid
- FROM u_prdpf_temp_save
- Where mtrlid = :ins_mtrlid;
- IF sqlca.SQLCode <> 0 THEN ll_printid = 0
- IF IsNull(ll_printid) THEN ll_printid = 0
- ll_printid++
- INSERT INTO u_prdpf_temp_save
- (mtrlid,
- printid,
- msg_log,
- opemp,
- opdate,
- dscrp)
- VALUES (:ins_mtrlid,
- :ll_printid,
- :ls_msg_log,
- :publ_operator,
- getdate(),
- :ls_dscrp);
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- MessageBox('Error','保存信息失败,'+sqlca.SQLErrText)
- GOTO _del
- END IF
- UpdateBlob u_prdpf_temp_save
- Set dw_main = :ls_filedata_dw1
- Where mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- MessageBox('Error','保存临时信息(主表)失败,'+sqlca.SQLErrText)
- GOTO _del
- END IF
- UpdateBlob u_prdpf_temp_save
- Set dw_workprice = :ls_filedata_dw2
- Where mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- MessageBox('Error','保存临时信息(工价表)失败,'+sqlca.SQLErrText)
- GOTO _del
- END IF
- UpdateBlob u_prdpf_temp_save
- Set dw_wkp = :ls_filedata_dw3
- Where mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- MessageBox('Error','保存临时信息(工组流程)失败,'+sqlca.SQLErrText)
- GOTO _del
- END IF
- commit;
- messagebox('系统提示','存档成功!')
- _del:
- FileDelete(Pathname_dw1)
- FileDelete(Pathname_dw2)
- FileDelete(Pathname_dw3)
- end event
- type cb_tmp_read from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 4704
- integer width = 165
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "读档"
- string normalpicname = "OPEN.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF ins_ifmod_wp THEN
- MessageBox('系统提示','正在编辑工价表,不能执行本操作')
- RETURN
- END IF
- IF ins_ifmod THEN
- MessageBox('系统提示','正在编辑半成品,不能执行本操作')
- RETURN
- END IF
- Long ll_mtrlid_parm
- IF ins_if_saletask = 1 THEN
- IF ins_mtrlid = 0 THEN
- MessageBox('系统提示','请先选择主产品')
- RETURN
- END IF
-
- ll_mtrlid_parm = ins_mtrlid
- ELSE
- ll_mtrlid_parm = -1
- END IF
- IF ins_mtrlid > 0 THEN
- IF MessageBox('询问','读取存档将会覆盖你现有的修改,是否继续?',question!,yesno!) = 2 THEN RETURN
- END IF
- OpenWithParm(w_prdpf_temp_save_ch,ll_mtrlid_parm)
- Long ll_printid,ll_mtrlid
- String ls_mtrlcode,ls_mtrlname
- s_edit_index_tran s_ch_tran
- s_ch_tran = Message.PowerObjectParm
- ll_mtrlid = s_ch_tran.b_long
- ll_printid = s_ch_tran.c_long
- IF ll_printid = 0 THEN RETURN
- IF ll_mtrlid = 0 THEN RETURN
- IF ins_if_saletask = 0 THEN
- ins_mtrlid = ll_mtrlid
- ins_mtrlid_pf = ll_mtrlid
- ins_pfcode = f_get_dft_pf(ins_mtrlid_pf)
- IF ins_pfcode = '' THEN
- MessageBox('系统提示','目标产品未设置默认清单,请检查')
- RETURN
- END IF
-
- SELECT mtrlcode,mtrlname
- INTO :ls_mtrlcode,:ls_mtrlname
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- st_mtrl.Text = '查询物料信息失败'
- st_mtrl_pf.Text = '查询物料信息失败'
- ELSE
- st_mtrl.Text = '['+ls_mtrlcode+']'+ls_mtrlname + ' | ' + ins_pfcode
- st_mtrl_pf.Text = '['+ls_mtrlcode+']'+ls_mtrlname
- ins_mtrlcode = ls_mtrlcode
- END IF
-
- END IF
- String ls_msg_log
- Blob lb_dw_1,lb_dw_2,lb_dw_3
- String Pathname_dw1,Pathname_dw2,Pathname_dw3
- String arg_msg
- SELECT msg_log
- INTO :ls_msg_log
- FROM u_prdpf_temp_save
- WHERE mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询临时保存信息(操作记录)失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- SelectBlob dw_main
- Into :lb_dw_1
- From u_prdpf_temp_save
- Where mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询临时保存信息(主数据窗口)失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- SelectBlob dw_workprice
- Into :lb_dw_2
- From u_prdpf_temp_save
- Where mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询临时保存信息(工价表数据窗口)失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- SelectBlob dw_wkp
- Into :lb_dw_3
- From u_prdpf_temp_save
- Where mtrlid = :ins_mtrlid
- And printid = :ll_printid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询临时保存信息(工组流程数据窗口)失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- Pathname_dw1 = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ins_mtrlcode+'_dw_1_down.xml'
- IF IsNull(Pathname_dw1) Or Len(Trim(Pathname_dw1)) < 3 THEN RETURN
- Pathname_dw2 = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ins_mtrlcode+'_dw_2_down.xml'
- IF IsNull(Pathname_dw2) Or Len(Trim(Pathname_dw2)) < 3 THEN RETURN
- Pathname_dw3 = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ins_mtrlcode+'_dw_3_down.xml'
- IF IsNull(Pathname_dw3) Or Len(Trim(Pathname_dw3)) < 3 THEN RETURN
- IF f_blobtofile(Pathname_dw1,lb_dw_1,arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- GOTO _del
- END IF
- IF f_blobtofile(Pathname_dw2,lb_dw_2,arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- GOTO _del
- END IF
- IF f_blobtofile(Pathname_dw3,lb_dw_3,arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- GOTO _del
- END IF
- dw_1.Reset()
- dw_copy.Reset()
- dw_copy_wkp.Reset()
- dw_1.ImportFile(Pathname_dw1)
- dw_copy.ImportFile(Pathname_dw2)
- dw_copy_wkp.ImportFile(Pathname_dw3)
- mle_log.Text = ls_msg_log
- IF dw_1.RowCount() > 0 THEN
- dw_1.SelectRow(0,False)
- dw_1.SetRow(1)
- dw_1.SelectRow(1,True)
- Parent.TriggerEvent('ue_retrieve_workprice')
- Parent.TriggerEvent('ue_retrieve_wkp')
- Parent.TriggerEvent('ue_allowedit')
- END IF
- _del:
- FileDelete(Pathname_dw1)
- FileDelete(Pathname_dw2)
- FileDelete(Pathname_dw3)
- end event
- type cb_templet_ch from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2752
- integer y = 2180
- integer width = 466
- integer height = 88
- integer taborder = 40
- boolean bringtotop = true
- boolean enabled = false
- string text = "引用工价模板"
- string normalpicname = "p2.BMP"
- integer picsize = 16
- end type
- event clicked;call super::clicked;parent.triggerevent('ue_templet_ch')
- end event
- type dw_buffer from datawindow within w_mtrldef_prdpf_padd
- boolean visible = false
- integer x = 2505
- integer y = 1312
- integer width = 1984
- integer height = 400
- integer taborder = 50
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_mtrldef_prdpf_padd"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- type cb_pack from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 3557
- integer width = 247
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "分包件"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;dw_1.AcceptText()
- If dw_1.Find('ch = 1',2,dw_1.RowCount()) = 0 Then
- MessageBox('系统提示','请先勾选要分包件的明细行')
- Return
- End If
- Long ll_i,ll_j,ll_k
- String ls_mtrlcode_pack,arg_msg
- Long ll_row_p,ll_row_insert
- Long ll_mtrlid
- Int li_ifset_qty
- Long ll_lp_min
- Decimal ld_rate
- decimal ld_qty_pack
- dw_buffer.Reset()
- For ll_i = dw_1.RowCount() To 2 Step -1
- If dw_1.Object.ch[ll_i] = 1 Then
- dw_1.RowsCopy(ll_i,ll_i,Primary!, dw_buffer, 1, Primary!)
- End If
- Next
- s_edit_index_tran s_inscust_pack,s_return
- s_inscust_pack.b_long = ins_mtrlid
- s_inscust_pack.b_string = ins_pfcode
- s_inscust_pack.arg_dw = dw_buffer
- OpenWithParm(w_pack_ch,s_inscust_pack)
- s_return = Message.PowerObjectParm
- ls_mtrlcode_pack = s_return.c_string
- li_ifset_qty = s_return.c_long
- ld_qty_pack = s_return.c_decimal
- If ls_mtrlcode_pack = '-1' Then Return
- ll_row_p = dw_1.Find('u_mtrldef_mtrlcode = "'+ls_mtrlcode_pack+'"',2,dw_1.RowCount())
- If ll_row_p = 0 Then
- Select mtrlid Into :ll_mtrlid
- From u_mtrldef
- Where mtrlcode = :ls_mtrlcode_pack;
- If sqlca.SQLCode <> 0 Then
- MessageBox('Error','查询包件 '+ls_mtrlcode_pack+' 信息失败,可能是包件编码未建立,请检查')
- Return
- End If
-
- wf_add_row(ll_mtrlid,ins_pfcode,1,ld_qty_pack,arg_msg,ll_row_p)
- dw_1.Object.u_prdpf_pfgroupqty[ll_row_p] = ld_qty_pack
- dw_1.Object.u_prdpf_dipztype[ll_row_p] = 3
- dw_1.Object.u_prdpf_ifover[ll_row_p] = 1
- ll_row_insert = ll_row_p + 1
- Else
- For ll_i = ll_row_p + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_i] = 1 Then
- ll_row_insert = ll_i
- Exit
- End If
- Next
-
- If ll_row_insert = 0 Then
- ll_row_insert = dw_1.RowCount() + 1
- End If
- End If
- dw_buffer.AcceptText()
- ll_lp_min = 999
- For ll_i = 1 To dw_buffer.RowCount()
- If dw_buffer.Object.lp[ll_i] < ll_lp_min Then
- ll_lp_min = dw_buffer.Object.lp[ll_i]
- End If
- Next
- If li_ifset_qty = 1 Then
- For ll_i = 1 To UpperBound(s_return.arr_string)
- If s_return.arr_dec[ll_i] = s_return.arr_dec2[ll_i] Then Continue //没有改数量
-
- For ll_j = 1 To dw_buffer.RowCount()
- If ll_lp_min = dw_buffer.Object.lp[ll_j] And &
- s_return.arr_string[ll_i] = dw_buffer.Object.u_prdpf_promode[ll_j] And &
- s_return.arr_string2[ll_i] = dw_buffer.Object.u_prdpf_pfgroup[ll_j] And &
- s_return.arr_string3[ll_i] = dw_buffer.Object.u_mtrldef_mtrlcode[ll_j] Then
-
- ld_rate = s_return.arr_dec[ll_i] / s_return.arr_dec2[ll_i]
-
- dw_buffer.Object.u_prdpf_pfgroupqty[ll_j] = s_return.arr_dec[ll_i]
- dw_buffer.Object.u_prdpf_sonscale[ll_j] = Round(dw_buffer.Object.u_prdpf_sonscale[ll_j] * ld_rate,sys_option_produce_dec)
-
- For ll_k = ll_j + 1 To dw_buffer.RowCount()
- If dw_buffer.Object.lp[ll_k] <= dw_buffer.Object.lp[ll_j] Then
- ll_j = ll_k - 1
- Exit
- end if
-
- dw_buffer.Object.u_prdpf_pfgroupqty[ll_k] = Round(dw_buffer.Object.u_prdpf_pfgroupqty[ll_k] * ld_rate,sys_option_produce_dec)
- dw_buffer.Object.u_prdpf_sonscale[ll_k] = Round(dw_buffer.Object.u_prdpf_sonscale[ll_k] * ld_rate,sys_option_produce_dec)
- dw_buffer.Object.u_prdpf_sonscale_ori[ll_k] = Round(dw_buffer.Object.u_prdpf_sonscale_ori[ll_k] * ld_rate,sys_option_produce_dec)
- Next
-
- End If
- Next
- Next
- End If
- For ll_i = 1 To dw_buffer.RowCount()
- dw_buffer.Object.ch[ll_i] = 0
- dw_buffer.Object.lp[ll_i] = dw_buffer.Object.lp[ll_i] + ( 2 - ll_lp_min)
- Next
- dw_buffer.RowsCopy(1,dw_buffer.RowCount(),Primary!, dw_1, ll_row_insert, Primary!)
- dw_1.SetRedraw(False)
- If li_ifset_qty = 1 Then
- For ll_i = 1 To UpperBound(s_return.arr_string)
- If s_return.arr_dec[ll_i] >= s_return.arr_dec2[ll_i] Then Continue //没有改数量 或 增加数量,则删除原勾选的数据
-
- For ll_j = 2 To dw_1.RowCount()
- if dw_1.object.ch[ll_j] = 0 then continue
-
- If ll_lp_min = dw_1.Object.lp[ll_j] And &
- s_return.arr_string[ll_i] = dw_1.Object.u_prdpf_promode[ll_j] And &
- s_return.arr_string2[ll_i] = dw_1.Object.u_prdpf_pfgroup[ll_j] And &
- s_return.arr_string3[ll_i] = dw_1.Object.u_mtrldef_mtrlcode[ll_j] Then
-
- ld_rate = 1 - s_return.arr_dec[ll_i] / s_return.arr_dec2[ll_i]
-
- dw_1.Object.u_prdpf_pfgroupqty[ll_j] = dw_1.Object.u_prdpf_pfgroupqty[ll_j] - s_return.arr_dec[ll_i]
- dw_1.Object.u_prdpf_sonscale[ll_j] = Round(dw_1.Object.u_prdpf_sonscale[ll_j] * ld_rate,sys_option_produce_dec)
- dw_1.Object.u_prdpf_sonscale_ori[ll_j] = Round(dw_1.Object.u_prdpf_sonscale_ori[ll_j] * ld_rate,sys_option_produce_dec)
-
- dw_1.Object.ch[ll_j] = 0 //不删除
- For ll_k = ll_j + 1 To dw_1.RowCount()
- If dw_1.Object.lp[ll_k] <= dw_1.Object.lp[ll_j] Then
- ll_j = ll_k - 1
- Exit
- end if
- dw_1.Object.ch[ll_k] = 0 //不删除
- dw_1.Object.u_prdpf_pfgroupqty[ll_k] = Round(dw_1.Object.u_prdpf_pfgroupqty[ll_k] * ld_rate,sys_option_produce_dec)
- dw_1.Object.u_prdpf_sonscale[ll_k] = Round(dw_1.Object.u_prdpf_sonscale[ll_k] * ld_rate,sys_option_produce_dec)
- dw_1.Object.u_prdpf_sonscale_ori[ll_k] = Round(dw_1.Object.u_prdpf_sonscale_ori[ll_k] * ld_rate,sys_option_produce_dec)
- Next
-
- End If
- Next
- Next
- end if
- For ll_i = dw_1.RowCount() To 2 Step -1
- //ch = 1 的删除
- If dw_1.Object.ch[ll_i] = 1 Then
- dw_1.DeleteRow(ll_i)
- End If
- Next
- dw_1.SetRedraw(True)
- end event
- type cb_all_ch from commandbutton within w_mtrldef_prdpf_padd
- integer x = 3621
- integer y = 264
- integer width = 183
- integer height = 72
- integer taborder = 210
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "全选"
- end type
- event clicked;long ll_i
- dw_1.setredraw(false)
- for ll_i = 2 to dw_1.rowcount()
- dw_1.object.ch[ll_i] = 1
- next
- dw_1.setredraw(true)
- end event
- type cb_fan_ch from commandbutton within w_mtrldef_prdpf_padd
- integer x = 3835
- integer y = 264
- integer width = 183
- integer height = 72
- integer taborder = 220
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "反选"
- end type
- event clicked;long ll_i
- dw_1.accepttext()
- dw_1.setredraw(false)
- for ll_i = 2 to dw_1.rowcount()
- dw_1.object.ch[ll_i] = 1 - dw_1.object.ch[ll_i]
- next
- dw_1.setredraw(true)
- end event
- type cbx_ifreset from checkbox within w_mtrldef_prdpf_padd
- integer x = 4073
- integer y = 196
- integer width = 713
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "导入excel不清除原来明细"
- end type
- event clicked;int if_reset
- IF THIS.Checked THEN
- if_reset = 1
- ELSE
- if_reset = 0
- END IF
- f_SetProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_reset", String(if_reset))
- end event
- event constructor;int if_reset
- if_reset = Integer(f_ProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_reset", '0'))
- IF if_reset = 0 THEN
- This.Checked = False
- ELSE
- This.Checked = True
- END IF
- end event
- type cb_autocode from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 1646
- integer width = 261
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- boolean enabled = false
- string text = "自动编码"
- string normalpicname = "p2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;If Not ins_ifmod Then
- MessageBox('系统提示','非编辑半成品状态下,不能执行本操作')
- Return
- End If
- Long row
- String ls_mtrlcode_ori,ls_mtrlcode_new
- row = dw_1.GetRow()
- If row <= 0 Then
- MessageBox('系统提示','请选择行')
- Return
- End If
- dw_1.AcceptText()
- ls_mtrlcode_ori = dw_1.Object.u_mtrldef_mtrlcode[row]
- OpenWithParm(w_auto_mtrlcode_prdpf,ls_mtrlcode_ori)
- ls_mtrlcode_new = Message.StringParm
- if trim(ls_mtrlcode_new) = '' then return
- dw_1.Object.u_mtrldef_mtrlcode[row] = ls_mtrlcode_new
- end event
- type cbx_wp_pack from checkbox within w_mtrldef_prdpf_padd
- integer x = 4073
- integer y = 272
- integer width = 773
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "按清单说明自动生成工价表"
- end type
- event clicked;int if_wp_pack
- IF THIS.Checked THEN
- if_wp_pack = 1
- ELSE
- if_wp_pack = 0
- END IF
- cbx_wp_add.enabled = THIS.Checked
- f_SetProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_wp_pack", String(if_wp_pack))
- end event
- event constructor;int if_wp_pack
- if_wp_pack = Integer(f_ProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_wp_pack", '0'))
- IF if_wp_pack = 0 THEN
- This.Checked = False
- ELSE
- This.Checked = True
- END IF
- cbx_wp_add.enabled = THIS.Checked
- end event
- type cb_2 from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 3813
- integer width = 494
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "包件体积重量信息"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;parent.triggerevent('ue_cmp_packinfo')
- end event
- type cb_fj_edit from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 4343
- integer width = 165
- integer height = 164
- integer taborder = 50
- boolean bringtotop = true
- string text = "附件"
- string normalpicname = "update.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF Not f_power_ind(4199,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- Long ll_cnt
- if ins_mtrlid = 0 then
- messagebox('系统提示','请先选择物料清单')
- return
- end if
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.f_long = 202 //物料清单 mainID
- s_pic.f_string = ins_pfcode
- s_pic.g_long = ins_mtrlid
- s_pic.d_long = 0 //relid_mx
- s_pic.d_string = '' //relcode_mx
- s_pic.e_long = 0 // scid
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_mng,s_pic)
- end event
- type cbx_wp_add from checkbox within w_mtrldef_prdpf_padd
- integer x = 4841
- integer y = 272
- integer width = 850
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "增加模板工价表中没有的工序"
- end type
- event clicked;int if_wp_add
- IF THIS.Checked THEN
- if_wp_add = 1
- ELSE
- if_wp_add = 0
- END IF
- f_SetProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_wp_add", String(if_wp_add))
- end event
- event constructor;int if_wp_add
- if_wp_add = Integer(f_ProfileString (sys_empid,'w_mtrldef_prdpf_padd', "if_wp_add", '0'))
- IF if_wp_add = 0 THEN
- This.Checked = False
- ELSE
- This.Checked = True
- END IF
- end event
- type cb_old_to_new from commandbutton within w_mtrldef_prdpf_padd
- integer x = 4891
- integer y = 188
- integer width = 494
- integer height = 76
- integer taborder = 220
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "辅助生成板件编码"
- end type
- event clicked;parent.triggerevent('ue_old_to_new')
- end event
- type cb_add_mtrl from uo_imflatbutton within w_mtrldef_prdpf_padd
- integer x = 2683
- integer width = 192
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "增物料"
- string normalpicname = "mx1.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=增同级F7~tEvent=ue_add_same"
- menustr = menustr + "|" + "Text=增下级F8~tEvent=ue_add_next"
- menustr = menustr + "|" + "Text=增上级~tEvent=ue_add_up"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type ln_bar from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 176
- integer endx = 3323
- integer endy = 176
- end type
- type ln_bar2 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 180
- integer endx = 3323
- integer endy = 180
- end type
- type r_bar from rectangle within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- long fillcolor = 1073741824
- integer x = 5253
- integer width = 73
- integer height = 172
- end type
- event constructor;this.fillcolor = 14215660
- this.linecolor = 14215660
- this.x = -1
- this.y = -1
- this.height = ln_bar2.beginy - 5
- end event
- type ln_7 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 1024
- integer endx = 1024
- integer endy = 176
- end type
- type ln_8 from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginx = 1019
- integer endx = 1019
- integer endy = 176
- end type
- type ln_1 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 4325
- integer endx = 4325
- integer endy = 176
- end type
- type ln_2 from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginx = 4320
- integer endx = 4320
- integer endy = 176
- end type
- type ln_3 from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 344
- integer endx = 2016
- integer endy = 344
- end type
- type ln_4 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 348
- integer endx = 2048
- integer endy = 348
- end type
- type ln_5 from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginx = 2400
- integer endx = 2400
- integer endy = 176
- end type
- type ln_6 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 2405
- integer endx = 2405
- integer endy = 176
- end type
- type ln_9 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 4878
- integer endx = 4878
- integer endy = 176
- end type
- type ln_10 from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginx = 4873
- integer endx = 4873
- integer endy = 176
- end type
- type ln_11 from line within w_mtrldef_prdpf_padd
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 3543
- integer endx = 3543
- integer endy = 176
- end type
- type ln_12 from line within w_mtrldef_prdpf_padd
- long linecolor = 268435456
- integer linethickness = 4
- integer beginx = 3538
- integer endx = 3538
- integer endy = 176
- end type
|