123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367 |
- $PBExportHeader$uo_data_collect.sru
- forward
- global type uo_data_collect from nonvisualobject
- end type
- type s_data_collectmx from structure within uo_data_collect
- end type
- type s_data_wage from structure within uo_data_collect
- end type
- end forward
- type s_data_collectmx from structure
- long collectid
- decimal { 5 } qty
- datetime collectdate
- string inspector
- string dscrp
- long printid
- end type
- type s_data_wage from structure
- long collectid
- long orderid
- long machineid
- string teamorder
- long empid
- string empcode
- string procode
- decimal { 5 } cp_qty
- decimal { 5 } workprice
- decimal { 5 } awardprice
- decimal { 5 } stantby_price
- decimal { 5 } bcp_qty
- decimal { 5 } zx_qty
- decimal { 5 } zx_price
- string dscrp
- string empname
- string proname
- long printid
- decimal { 5 } cp_wage
- decimal { 5 } bcp_wage
- decimal { 5 } zx_wage
- decimal { 5 } price_add
- decimal { 5 } qty_add
- string procode_add
- string proname_add
- end type
- global type uo_data_collect from nonvisualobject
- end type
- global uo_data_collect uo_data_collect
- type variables
- Long collectid
- Long orderid
- Long machineid
- String teamorder
- String collectcode
- String color_st
- String look_st
- String size_st
- String conjugation_st
- String annex1_st
- String annex2_st
- String color_way
- String look_way
- String size_way
- String conjugation_way
- String annex1_way
- String annex2_way
- Decimal period
- Decimal Weight
- Decimal openqty
- Decimal modelqty
- Decimal semi_discount
- Decimal stantby_time
- Decimal worktime
- Decimal ammeter_start
- Decimal ammeter_end
- Int storageid
- Decimal qty
- String dscrp
- String collector
- DateTime cillecttime
- Long flag
- Long lockflag
- String operator
- DateTime opdate
- Long wageid
- Int iffinish
- Long taskid
- Long wageid_other
- Decimal netweight
- Long squadid
- Decimal squadtime
- Long storageid_bcp
- Decimal qty_bcp
- Long autoflag
- Decimal yzqty
- String helpemp
- Decimal wastetime
- Decimal butie
- String addemp
- long scid
- int uo_option_inware_mtrlcuscode
- int uo_option_taskplancode
- PRIVATE:
- s_data_collectmx collectmx[]
- s_data_wage wagemx[]
- Long it_mxbt1 = 0
- Long it_mxbt2 = 0
- Boolean it_newbegin = FALSE
- Boolean it_updatebegin = FALSE
- uo_taskwork uo_taskwork_dq
- uo_abnormity uo_abnormity_dq
- end variables
- forward prototypes
- public function integer p_reset ()
- public function integer p_clearmx ()
- public function integer newbegin ()
- public function integer p_getinfo (long arg_collectid, ref string arg_msg)
- public function integer getinfo (long arg_collectid, ref string arg_msg)
- public function integer updatebegin (long arg_collectid, ref string arg_msg)
- public function integer acceptmx (decimal arg_qty, datetime arg_collectdate, string arg_inspector, string arg_dscrp, long arg_printid, ref string arg_msg)
- public function integer save (string arg_operator, ref string arg_msg, boolean arg_ifcommit)
- public function integer del (long arg_collectid, ref string arg_msg, boolean arg_ifcommit)
- public function integer audit (long arg_collectid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer caudit (long arg_collectid, ref string arg_msg, boolean arg_ifcommit)
- public function integer gzaudit (long arg_collectid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer cgzaudit (long arg_collectid, ref string arg_msg, boolean arg_ifcommit)
- public function integer p_create_inware (ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_find_cust (long arg_scid, long arg_orderid, ref long arg_cusid, ref string arg_plancode, ref string arg_mtrlcuscode, ref string arg_msg)
- public function integer p_del_inware (ref string arg_msg, boolean arg_ifcommit)
- public function integer acceptmx_wage (long arg_empid, string arg_empcode, string arg_empname, string arg_procode, string arg_proname, decimal arg_cp_qty, decimal arg_workprice, decimal arg_awardprice, decimal arg_stantby_price, decimal arg_bcp_qty, decimal arg_zx_qty, decimal arg_zx_price, string arg_dscrp, long arg_printid, string arg_procode_add, string arg_proname_add, decimal arg_price_add, decimal arg_qty_add, ref string arg_msg)
- end prototypes
- public function integer p_reset ();collectid = 0
- orderid = 0
- machineid= 0
- teamorder = ''
- collectcode = ''
- color_st = ''
- look_st = ''
- size_st = ''
- conjugation_st = ''
- annex1_st = ''
- annex2_st = ''
- color_way = ''
- look_way = ''
- size_way = ''
- conjugation_way = ''
- annex1_way = ''
- annex2_way = ''
- period = 0
- Weight = 0
- openqty = 0
- modelqty = 0
- semi_discount = 0
- stantby_time = 0
- worktime = 0
- ammeter_start = 0
- ammeter_end = 0
- storageid = 0
- qty = 0
- dscrp = ''
- collector = ''
- flag = 0
- lockflag = 0
- wageid = 0
- iffinish = 0
- taskid = 0
- wageid_other = 0
- storageid_bcp = 0
- qty_bcp = 0
- autoflag = 0
- yzqty = 0
- helpemp = ''
- wastetime = 0
- butie = 0
- addemp = ''
- scid = 0
- it_newbegin=FALSE
- it_updatebegin=FALSE
- //清除明细
- P_CLEARMX()
- RETURN 1
- end function
- public function integer p_clearmx ();it_mxbt1 = 0
- it_mxbt2 = 0
- return 1
- end function
- public function integer newbegin ();p_reset()
- it_newbegin=TRUE
- it_updatebegin=FALSE
- return 1
- end function
- public function integer p_getinfo (long arg_collectid, ref string arg_msg);Int rslt = 1
- SELECT
- collectid,
- orderid,
- machineid,
- teamorder ,
- collectcode,
- color_st ,
- look_st ,
- size_st ,
- conjugation_st ,
- annex1_st ,
- annex2_st ,
- color_way ,
- look_way ,
- size_way ,
- conjugation_way ,
- annex1_way ,
- annex2_way ,
- period ,
- Weight ,
- openqty ,
- modelqty ,
- semi_discount ,
- stantby_time ,
- worktime ,
- ammeter_start ,
- ammeter_end ,
- storageid ,
- qty ,
- dscrp ,
- collector ,
- flag ,
- lockflag,
- wageid,
- iffinish,
- taskid,
- wageid_other,
- storageid_bcp,
- qty_bcp,
- autoflag,
- yzqty,
- helpemp ,
- wastetime ,
- butie ,
- addemp,
- opdate,
- scid
- INTO
- :collectid,
- :orderid,
- :machineid,
- :teamorder,
- :collectcode,
- :color_st ,
- :look_st ,
- :size_st ,
- :conjugation_st ,
- :annex1_st ,
- :annex2_st ,
- :color_way ,
- :look_way ,
- :size_way ,
- :conjugation_way ,
- :annex1_way ,
- :annex2_way ,
- :period ,
- :Weight ,
- :openqty ,
- :modelqty ,
- :semi_discount ,
- :stantby_time ,
- :worktime ,
- :ammeter_start ,
- :ammeter_end ,
- :storageid ,
- :qty ,
- :dscrp ,
- :collector ,
- :flag ,
- :lockflag,
- :wageid,
- :iffinish,
- :taskid,
- :wageid_other,
- :storageid_bcp,
- :qty_bcp,
- :autoflag,
- :yzqty,
- :helpemp ,
- :wastetime ,
- :butie ,
- :addemp,
- :opdate,
- :scid
- FROM u_data_collect
- Where u_data_collect.collectid = :arg_collectid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询质检单内容失败(错误单据唯一码)' +sqlca.SQLErrText
- GOTO ext
- END IF
- collectid = arg_collectid
- ext:
- RETURN rslt
- end function
- public function integer getinfo (long arg_collectid, ref string arg_msg);Int rslt = 1 ,i = 1 ,no_mxcheck = 0 , j = 1
- IF arg_collectid <= 0 THEN
- rslt = 0
- arg_msg = '错误质检单唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_collectid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- DECLARE cur_collectmx CURSOR FOR
- SELECT u_data_collectmx.collectid,
- u_data_collectmx.qty,
- u_data_collectmx.collectdate,
- u_data_collectmx.inspector,
- u_data_collectmx.dscrp,
- u_data_collectmx.printid
- FROM u_data_collectmx
- Where u_data_collectmx.collectid = :arg_collectid;
-
- OPEN cur_collectmx;
- FETCH cur_collectmx INTO :collectmx[i].collectid,:collectmx[i].qty,:collectmx[i].collectdate,
- :collectmx[i].inspector,:collectmx[i].dscrp,:collectmx[i].printid;
- DO WHILE sqlca.SQLCode = 0
- i++
- FETCH cur_collectmx INTO :collectmx[i].collectid,:collectmx[i].qty,:collectmx[i].collectdate,
- :collectmx[i].inspector,:collectmx[i].dscrp,:collectmx[i].printid;
- LOOP
- CLOSE cur_collectmx;
- SELECT count(*) INTO :no_mxcheck
- FROM u_data_collectmx
- Where u_data_collectmx.collectid = :arg_collectid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询操作失败,质检单明细数量'
- GOTO ext
- END IF
- IF i <> (no_mxcheck+1) THEN
- rslt = 0
- arg_msg = '查询操作失败,质检单明细'
- GOTO ext
- END IF
- it_mxbt1 = i - 1
- DECLARE cur_wagemx CURSOR FOR
- SELECT u_data_wage.collectid,
- u_data_wage.empid,
- u_data_wage.empcode,
- u_data_wage.procode,
- u_data_wage.cp_qty,
- u_data_wage.workprice,
- u_data_wage.awardprice,
- u_data_wage.stantby_price,
- u_data_wage.bcp_qty,
- u_data_wage.zx_qty,
- u_data_wage.zx_price,
- u_data_wage.dscrp,
- u_data_wage.empname,
- u_data_wage.proname,
- u_data_wage.printid,
- u_data_wage.cp_wage,
- u_data_wage.bcp_wage,
- u_data_wage.zx_wage
- FROM u_data_wage
- Where u_data_wage.collectid = :arg_collectid;
-
- OPEN cur_wagemx;
- FETCH cur_wagemx INTO :wagemx[j].collectid,:wagemx[j].empid,:wagemx[j].empcode,:wagemx[j].procode,
- :wagemx[j].cp_qty,:wagemx[j].workprice,:wagemx[j].awardprice,:wagemx[j].stantby_price,
- :wagemx[j].bcp_qty,:wagemx[j].zx_qty,:wagemx[j].zx_price,:wagemx[j].dscrp,:wagemx[j].empname,
- :wagemx[j].proname,:wagemx[j].printid,:wagemx[j].cp_wage,:wagemx[j].bcp_wage,:wagemx[j].zx_wage;
- DO WHILE sqlca.SQLCode = 0
- j++
- FETCH cur_wagemx INTO :wagemx[j].collectid,:wagemx[j].empid,:wagemx[j].empcode,:wagemx[j].procode,
- :wagemx[j].cp_qty,:wagemx[j].workprice,:wagemx[j].awardprice,:wagemx[j].stantby_price,
- :wagemx[j].bcp_qty,:wagemx[j].zx_qty,:wagemx[j].zx_price,:wagemx[j].dscrp,:wagemx[j].empname,
- :wagemx[j].proname,:wagemx[j].printid,:wagemx[j].cp_wage,:wagemx[j].bcp_wage,:wagemx[j].zx_wage;
- LOOP
- CLOSE cur_wagemx;
- SELECT count(*) INTO :no_mxcheck
- FROM u_data_wage
- Where u_data_wage.collectid = :arg_collectid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,员工生产信息明细"
- GOTO ext
- END IF
- IF j <> (no_mxcheck + 1) THEN
- rslt = 0
- arg_msg = '查询操作失败,员工生产信息明细'
- GOTO ext
- END IF
- it_mxbt2 = j - 1
- it_newbegin = FALSE
- it_updatebegin = FALSE
- ext:
- IF rslt = 0 THEN p_reset()
- RETURN rslt
- end function
- public function integer updatebegin (long arg_collectid, ref string arg_msg);Long rslt = 1
- IF arg_collectid <= 0 THEN
- rslt = 0
- arg_msg = '错误质检单唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_collectid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 2 THEN
- rslt = 0
- arg_msg = '已经处于审核完毕,不能修改'
- GOTO ext
- END IF
- it_newbegin = FALSE
- it_updatebegin = TRUE
- p_clearmx()
- ext:
- IF rslt = 0 THEN p_reset()
- RETURN rslt
- end function
- public function integer acceptmx (decimal arg_qty, datetime arg_collectdate, string arg_inspector, string arg_dscrp, long arg_printid, ref string arg_msg);Long rslt = 1
- IF it_newbegin = FALSE AND it_updatebegin = FALSE THEN
- rslt = 0
- arG_MSG = "非编辑状态不可以使用,操作取消"
- GOTO ext
- END IF
- IF IsNull(arg_qty) THEN arg_qty = 0
- IF IsNull(arg_inspector) THEN arg_inspector = ''
- IF IsNull(arg_dscrp) THEN arg_dscrp = ''
- IF IsNull(arg_printid) THEN arg_printid = 0
- IF arg_qty = 0 THEN
- rslt = 1
- GOTO ext
- END IF
-
- IF arg_inspector = '' THEN
- rslt = 0
- arG_MSG = '必须填写质检员姓名'
- GOTO ext
- END IF
- it_mxbt1++
- collectmx[it_mxbt1].qty = arg_qty
- collectmx[it_mxbt1].collectdate = arg_collectdate
- collectmx[it_mxbt1].inspector = arg_inspector
- collectmx[it_mxbt1].dscrp = arg_dscrp
- collectmx[it_mxbt1].printid = arg_printid
- ext:
- IF rslt = 0 THEN p_clearmx()
- Return(rslt)
- end function
- public function integer save (string arg_operator, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 ,cnt,i,j
- Long ll_newid
- DateTime server_datetime
- IF IsNull(orderid) THEN orderid = 0
- IF IsNull(machineid) THEN machineid = 0
- IF IsNull(teamorder) THEN teamorder = ''
- IF IsNull(color_st) THEN color_st = ''
- IF IsNull(look_st) THEN look_st = ''
- IF IsNull(size_st) THEN size_st = ''
- IF IsNull(conjugation_st) THEN conjugation_st = ''
- IF IsNull(annex1_st) THEN annex1_st = ''
- IF IsNull(annex2_st) THEN annex2_st = ''
- IF IsNull(color_way) THEN color_way = ''
- IF IsNull(look_way) THEN look_way = ''
- IF IsNull(size_way) THEN size_way = ''
- IF IsNull(conjugation_way) THEN conjugation_way = ''
- IF IsNull(annex1_way) THEN annex1_way = ''
- IF IsNull(annex2_way) THEN annex2_way = ''
- IF IsNull(period) THEN period = 0
- IF IsNull(Weight) THEN Weight = 0
- IF IsNull(openqty) THEN openqty = 0
- IF IsNull(modelqty) THEN modelqty = 0
- IF IsNull(semi_discount) THEN semi_discount = 0
- IF IsNull(stantby_time) THEN stantby_time = 0
- IF IsNull(worktime) THEN worktime = 0
- IF IsNull(ammeter_start) THEN ammeter_start = 0
- IF IsNull(ammeter_end) THEN ammeter_end = 0
- IF IsNull(storageid) THEN storageid = 0
- IF IsNull(qty) THEN qty = 0
- IF IsNull(dscrp) THEN dscrp = ''
- IF IsNull(collector) THEN collector = ''
- IF IsNull(flag) THEN flag = 0
- IF IsNull(lockflag) THEN lockflag = 0
- IF IsNull(iffinish) THEN iffinish = 0
- IF IsNull(taskid) THEN taskid = 0
- IF IsNull(wageid_other) THEN wageid_other = 0
- IF IsNull(netweight) THEN netweight = 0
- IF IsNull(squadid) THEN squadid = 0
- IF IsNull(squadtime) THEN squadtime = 0
- IF IsNull(storageid_bcp) THEN storageid_bcp = 0
- IF IsNull(qty_bcp) THEN qty_bcp = 0
- IF IsNull(autoflag ) THEN autoflag = 0
- IF IsNull(yzqty ) THEN yzqty = 0
- IF IsNull(helpemp ) THEN helpemp = ''
- IF IsNull(wastetime ) THEN wastetime = 0
- IF IsNull(butie ) THEN butie = 0
- IF IsNull(addemp) THEN addemp = ''
- operator = arg_operator
- IF it_newbegin = FALSE AND it_updatebegin = FALSE THEN
- rslt = 0
- arg_msg = "非编辑状态不可以提交"
- GOTO ext
- END IF
- IF it_newbegin = TRUE THEN
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_data_collect
- WHERE taskid = :taskid AND
- flag = 0 ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询该生产任务是否已有未审核质检单失败!"
- GOTO ext
- END IF
-
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = "该生产任务已有未审核的质检单,不能再新建"
- GOTO ext
- END IF
- END IF
- IF lockflag = 1 THEN
- IF flag = 1 THEN
- IF Trim(collector) = '' THEN
- rslt = 0
- arg_msg = "请输入采集者"
- GOTO ext
- END IF
- END IF
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_sc_task
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询生产计划排程队列失败'
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '生产计划排程队列不存在'
- rslt = 0
- GOTO ext
- END IF
- SELECT Top 1 getdate() INTO :server_datetime FROM u_user;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,日期 "
- GOTO ext
- END IF
- IF lockflag = 0 THEN
- IF it_mxbt1 = 0 THEN
- rslt = 0
- arg_msg = "没有正确质检明细内容"
- GOTO ext
- END IF
- ELSE
- IF flag = 1 THEN
- IF it_mxbt2 = 0 THEN
- rslt = 0
- arg_msg = "没有正确的员工生产信息"
- GOTO ext
- END IF
- END IF
-
- IF storageid <= 0 THEN
- rslt = 0
- arg_msg = "错误的成品仓库唯一码"
- GOTO ext
- END IF
-
- if qty = 0 and qty_bcp = 0 then
- rslt = 0
- arg_msg = '请填写正确的进仓数量'
- goto ext
- end if
-
- IF qty_bcp > 0 AND storageid_bcp = 0 THEN
- rslt = 0
- arg_msg = "错误的半成品仓库唯一码"
- GOTO ext
- END IF
-
-
-
- // IF wageid <= 0 THEN
- // rslt = 0
- // arg_msg = "必须选择成品工资项目"
- // GOTO ext
- // END IF
- IF flag = 1 THEN
- IF wageid_other <= 0 THEN
- rslt = 0
- arg_msg = "必须选择工资项目"
- GOTO ext
- END IF
-
- // IF netweight <= 0 THEN
- // rslt = 0
- // arg_msg = '不合理的产品净重'
- // GOTO ext
- // END IF
-
- IF squadid = 0 THEN
- rslt = 0
- arg_msg = '请选择班次类型'
- GOTO ext
- END IF
-
- IF squadtime <= 0 THEN
- rslt = 0
- arg_msg = '错误的当班时间'
- GOTO ext
- END IF
- END IF
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_user
- Where username = :operator ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,操作员!"
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- arg_msg = "操作员姓名未登记或已取消!"
- GOTO ext
- END IF
- opdate = server_datetime //填写单据建立时间(最近修改时间)
- IF collectid = 0 THEN
- ll_newid = f_sys_scidentity(0,"u_data_collect","collectid",arg_msg,TRUE,id_sqlca)
- IF ll_newid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- collectcode = getid(0,'ZJ',Date(server_datetime),FALSE,sqlca)
-
- INSERT INTO u_data_collect
- (collectid ,
- collectcode,
- orderid ,
- machineid ,
- teamorder,
- color_st,
- look_st ,
- size_st ,
- conjugation_st,
- annex1_st,
- annex2_st ,
- color_way,
- look_way ,
- size_way ,
- conjugation_way ,
- annex1_way ,
- annex2_way ,
- period ,
- Weight ,
- openqty ,
- modelqty ,
- semi_discount ,
- stantby_time ,
- worktime ,
- ammeter_start ,
- ammeter_end ,
- storageid ,
- qty ,
- dscrp ,
- collector ,
- flag,
- lockflag,
- wageid,
- opemp,
- opdate,
- iffinish,
- taskid,
- netweight,
- squadid,
- squadtime,
- wageid_other,
- storageid_bcp,
- qty_bcp,
- autoflag ,
- yzqty ,
- helpemp ,
- wastetime ,
- butie ,
- addemp)
- VALUES(:ll_newid,
- :collectcode,
- :orderid,
- :machineid,
- :teamorder,
- :color_st,
- :look_st ,
- :size_st ,
- :conjugation_st,
- :annex1_st,
- :annex2_st ,
- :color_way,
- :look_way ,
- :size_way ,
- :conjugation_way ,
- :annex1_way ,
- :annex2_way ,
- :period ,
- :Weight ,
- :openqty ,
- :modelqty ,
- :semi_discount ,
- :stantby_time ,
- :worktime ,
- :ammeter_start ,
- :ammeter_end ,
- :storageid ,
- :qty ,
- :dscrp ,
- :collector ,
- :flag,
- :lockflag,
- :wageid,
- :operator,
- :opdate,
- :iffinish,
- :taskid,
- :netweight,
- :squadid,
- :squadtime,
- :wageid_other,
- :storageid_bcp,
- :qty_bcp,
- :autoflag ,
- :yzqty ,
- :helpemp ,
- :wastetime ,
- :butie ,
- :addemp);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致插入质检表操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- collectid = ll_newid
-
- FOR i = 1 TO it_mxbt1
- INSERT INTO u_data_collectmx
- (collectid,
- qty,
- collectdate,
- inspector,
- dscrp,
- printid)
- VALUES(:ll_newid,
- :collectmx[i].qty,
- :collectmx[i].collectdate,
- :collectmx[i].inspector,
- :collectmx[i].dscrp,
- :collectmx[i].printid);
- IF sqlca.SQLCode <> 0 THEN
- collectid = 0
- rslt = 0
- arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
-
- UPDATE u_sc_task
- SET lasttime = getdate()
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '因网络或其它原因导致更新机台任务最近质检时间失败'+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF lockflag = 1 THEN
- FOR j = 1 TO it_mxbt2
- INSERT INTO u_data_wage
- (collectid,
- empid,
- empcode,
- empname,
- procode,
- proname,
- cp_qty,
- workprice,
- awardprice,
- stantby_price,
- bcp_qty,
- zx_qty,
- zx_price,
- dscrp,
- printid,
- cp_wage,
- bcp_wage,
- zx_wage,
- procode_add,
- proname_add,
- price_add,
- qty_add)
- VALUES(:ll_newid,
- :wagemx[j].empid,
- :wagemx[j].empcode,
- :wagemx[j].empname,
- :wagemx[j].procode,
- :wagemx[j].proname,
- :wagemx[j].cp_qty,
- :wagemx[j].workprice,
- :wagemx[j].awardprice,
- :wagemx[j].stantby_price,
- :wagemx[j].bcp_qty,
- :wagemx[j].zx_qty,
- :wagemx[j].zx_price,
- :wagemx[j].dscrp,
- :wagemx[j].printid,
- :wagemx[j].cp_wage,
- :wagemx[j].bcp_wage,
- :wagemx[j].zx_wage,
- :wagemx[j].procode_add,
- :wagemx[j].proname_add,
- :wagemx[j].price_add,
- :wagemx[j].qty_add);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致插入员工生产信息操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
- END IF
- ELSE
- UPDATE u_data_collect
- SET orderid = :orderid,
- machineid = :machineid,
- teamorder = :teamorder,
- color_st = :color_st,
- look_st = :look_st,
- size_st = :size_st,
- conjugation_st = :conjugation_st,
- annex1_st = :annex1_st,
- annex2_st = :annex2_st,
- color_way = :color_way,
- look_way = :look_way,
- size_way = :size_way,
- conjugation_way = :conjugation_way,
- annex1_way = :annex1_way,
- annex2_way = :annex2_way,
- period = :period,
- weight = :Weight,
- openqty = :openqty,
- modelqty = :modelqty,
- semi_discount = :semi_discount,
- stantby_time = :stantby_time,
- worktime = :worktime,
- ammeter_start = :ammeter_start,
- ammeter_end = :ammeter_end ,
- storageid = :storageid ,
- qty = :qty ,
- dscrp = :dscrp ,
- collector = :collector,
- lockflag = :lockflag,
- wageid = :wageid,
- modemp = :operator,
- moddate = :opdate,
- iffinish = :iffinish,
- taskid = :taskid,
- wageid_other = :wageid_other,
- netweight = :netweight,
- squadid = :squadid,
- squadtime = :squadtime,
- storageid_bcp = :storageid_bcp,
- qty_bcp = :qty_bcp,
- autoflag = :autoflag ,
- yzqty = :yzqty ,
- helpemp = :helpemp ,
- wastetime = :wastetime ,
- butie = :butie ,
- addemp = :addemp
- Where u_data_collect.collectid = :collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致更新质检单操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- DELETE FROM u_data_collectmx
- Where u_data_collectmx.collectid = :collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除旧有明细操作失败"
- GOTO ext
- END IF
-
- UPDATE u_sc_task
- SET lasttime = getdate()
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '因网络或其它原因导致更新机台任务最近质检时间失败'+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- FOR i = 1 TO it_mxbt1
- INSERT INTO u_data_collectmx
- (collectid,
- qty,
- collectdate,
- inspector,
- dscrp,
- printid)
- VALUES(:collectid,
- :collectmx[i].qty,
- :collectmx[i].collectdate,
- :collectmx[i].inspector,
- :collectmx[i].dscrp,
- :collectmx[i].printid);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
-
- IF lockflag = 1 THEN
- DELETE FROM u_data_wage
- Where u_data_wage.collectid = :collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除旧有员工生产信息失败"
- GOTO ext
- END IF
-
- FOR j = 1 TO it_mxbt2
- INSERT INTO u_data_wage
- (collectid,
- empid,
- empcode,
- empname,
- procode,
- proname,
- cp_qty,
- workprice,
- awardprice,
- stantby_price,
- bcp_qty,
- zx_qty,
- zx_price,
- dscrp,
- printid,
- cp_wage,
- bcp_wage,
- zx_wage,
- procode_add,
- proname_add,
- price_add,
- qty_add)
- VALUES(:collectid,
- :wagemx[j].empid,
- :wagemx[j].empcode,
- :wagemx[j].empname,
- :wagemx[j].procode,
- :wagemx[j].proname,
- :wagemx[j].cp_qty,
- :wagemx[j].workprice,
- :wagemx[j].awardprice,
- :wagemx[j].stantby_price,
- :wagemx[j].bcp_qty,
- :wagemx[j].zx_qty,
- :wagemx[j].zx_price,
- :wagemx[j].dscrp,
- :wagemx[j].printid,
- :wagemx[j].cp_wage,
- :wagemx[j].bcp_wage,
- :wagemx[j].zx_wage,
- :wagemx[j].procode_add,
- :wagemx[j].proname_add,
- :wagemx[j].price_add,
- :wagemx[j].qty_add);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或其它原因导致插入员工生产信息操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
- END IF
- END IF
- it_newbegin = FALSE
- it_updatebegin = FALSE
- ext:
- IF rslt = 0 THEN
- ROLLBACK ;
- p_clearmx()
- ELSEIF arg_ifcommit AND rslt = 1 THEN
- COMMIT ;
- END IF
- RETURN rslt
- end function
- public function integer del (long arg_collectid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- IF arg_collectid <= 0 THEN
- rslt = 0
- arg_msg = "错误质检单唯一码"
- GOTO ext
- END IF
- IF p_getinfo(arg_collectid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 0 THEN
- rslt = 0
- arg_msg = '质检单已经审核,不能删除'
- GOTO ext
- END IF
- DELETE FROM u_data_collect
- Where u_data_collect.collectid = :arg_collectid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除质检单操作失败"
- ROLLBACK;
- GOTO ext
- END IF
- DELETE FROM u_data_collectmx
- Where u_data_collectmx.collectid = :arg_collectid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除质检单明细内容失败"
- GOTO ext
- END IF
- DELETE FROM u_data_wage
- Where u_data_wage.collectid = :arg_collectid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "删除员工生产信息内容失败"
- GOTO ext
- END IF
- DateTime null_dt
- SetNull(null_dt)
- UPDATE u_sc_task
- SET lasttime = :null_dt
- Where taskid = :taskid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "清除机台任务最近质检时间失败"
- GOTO ext
- END IF
- it_newbegin = FALSE
- it_updatebegin = FALSE
- IF arg_ifcommit AND rslt = 1 THEN
- COMMIT;
- END IF
- ext:
- p_reset()
- Return (rslt)
- end function
- public function integer audit (long arg_collectid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);//仓审
- Int rslt = 1,cnt = 0
- Long ll_mtrlid
- String ls_mtrlcode,ls_unit
- DateTime server_dt
- Decimal ld_orderqty
- Decimal ld_planprice
- IF arg_collectid <= 0 THEN
- rslt = 0
- ARG_MSG = '错误质检单唯一码'
- GOTO ext
- END IF
- SELECT Top 1 getdate() INTO :server_dt FROM u_user ;
- //取得系统时间,借用操作员表
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "查询操作失败,日期 "
- GOTO ext
- END IF
- IF getinfo(arg_collectid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag = 2 THEN
- rslt = 0
- ARG_MSG = '质检单已经完成审核,操作取消'
- GOTO ext
- ELSEIF flag = 1 THEN
- rslt = 0
- ARG_MSG = '质检单已经仓审,操作取消'
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_user
- Where username = :arg_emp ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "查询操作失败,操作员!"
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- ARG_MSG = "操作员姓名未登记或已取消!"
- GOTO ext
- END IF
- UPDATE u_data_collect
- SET flag = 1 ,
- auditrep = :arg_emp,
- auditdate = getdate()
- Where collectid = :arg_collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致质检单审核操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- UPDATE u_sc_task
- SET fqty = fqty + :qty + :qty_bcp
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致更新机台生产数操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- //====================================================================
- // 更新机台排程状态
- //====================================================================
- Decimal ld_queueqty , ld_fqty
- Long ll_queue
- SELECT qty,
- fqty,
- queue
- INTO :ld_queueqty,
- :ld_fqty,
- :ll_queue
- FROM u_sc_task
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询机台排程信息失败'
- GOTO ext
- END IF
- //IF ld_queueqty <= ld_fqty THEN
- IF iffinish = 1 THEN
- Long ll_status_tmp
- SELECT flag INTO :ll_status_tmp
- FROM u_sc_task
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询机台排程信息失败'
- GOTO ext
- END IF
-
- IF ll_status_tmp = 1 THEN
-
- UPDATE u_sc_task
- SET flag = 4,
- queue = queue - 1,
- finishtime = getdate()
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致更新机台状态操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_sc_task
- WHERE workgroupid = :machineid
- AND flag = 1
- AND queue = :ll_queue
- AND Kind = 1 ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询机台排程信息失败'
- GOTO ext
- END IF
- IF cnt = 0 THEN // 同次序没有未完成的任务,则开启下一个任务
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_sc_task
- WHERE workgroupid = :machineid
- AND flag = 5
- AND queue > :ll_queue
- AND Kind = 1 ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询机台排程信息失败'
- GOTO ext
- END IF
-
- IF cnt > 0 THEN
- Long ll_taskid_next
- Long ll_queue_next
- SELECT top 1 queue INTO :ll_queue_next
- FROM u_sc_task
- WHERE workgroupid = :machineid
- AND flag = 5
- AND queue > :ll_queue
- AND kind = 1
- Order By queue;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询机台排程信息失败'
- GOTO ext
- END IF
-
- UPDATE u_sc_task
- SET flag = 1,
- starttime = getdate()
- WHERE queue = :ll_queue_next
- AND workgroupid = :machineid
- AND Kind = 1
- and flag = 5;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致更新机台状态操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- UPDATE u_sc_task
- SET queue = queue - 1
- WHERE workgroupid = :machineid
- And (flag = 0 OR flag = 5 OR flag = 1 OR flag = 3)
- and kind = 1;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "更新机台序列操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- END IF
-
- END IF
- END IF
- END IF
- //====================================================================
- SELECT mtrlid ,orderqty INTO :ll_mtrlid,:ld_orderqty
- FROM u_order_ml
- Where u_order_ml.orderid = :orderid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询生产计划失败'
- GOTO ext
- END IF
- SELECT mtrlcode,
- unit,
- planprice
- INTO :ls_mtrlcode,
- :ls_unit,
- :ld_planprice
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询物料资料失败'
- GOTO ext
- END IF
- Long rst_inwareid
- //====================================================================
- // 更新生产计划塑料成品总重量
- //====================================================================
- UPDATE u_order_ml
- SET slweight = slweight + (:Weight * (:qty + :qty_bcp))/1000
- Where orderid = :orderid
- and scid = :scid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '更新生产计划塑料成品总重量失败'
- GOTO ext
- END IF
- //====================================================================
- //
- //if ld_planprice <= 0 then
- // rslt = 0
- // ARG_MSG = ls_mtrlcode + '计划价为零,不能自动生成成品进仓单!'
- // GOTO ext
- //END IF
- //
- //
- //Long ll_lastflag
- //SELECT lastflag
- // INTO :ll_lastflag
- // FROM u_sc_task
- // Where taskid = :taskid;
- //IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // ARG_MSG = '查询相关排程是否最后工序失败'
- // GOTO ext
- //END IF
- //
- //
- //IF ll_lastflag = 1 THEN
- IF p_create_inware(ARG_MSG,FALSE) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- //END IF
- //====================================================================
- ext:
- IF rslt = 0 THEN
- ROLLBACK ;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT ;
- END IF
- RETURN rslt
- end function
- public function integer caudit (long arg_collectid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1,cnt = 0
- DateTime nulldate
- SetNull(nulldate)
- IF arg_collectid <= 0 THEN
- rslt = 0
- ARG_MSG = '错误质检单唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_collectid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 1 THEN
- rslt = 0
- ARG_MSG = '质检单只有在已仓审状态下才能仓库撤审,请核对'
- GOTO ext
- END IF
- UPDATE u_data_collect
- SET flag = 0,
- auditrep = '',
- auditdate = :nulldate
- Where collectid = :arg_collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致质检单撤消仓库审核操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- UPDATE u_sc_task
- SET fqty = fqty - :qty - :qty_bcp
- Where taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致更新机台已生产数操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- it_newbegin = FALSE
- it_updatebegin = FALSE
- //update u_sc_task
- //set status = 2
- //where orderid = :orderid and machineid = :machineid and teamorder = :teamorder;
- //if sqlca.sqlcode <> 0 then
- // rslt = 0
- // arg_msg = "因网络或其它原因导致更新机台状态操作失败"+"~n"+sqlca.SQLErrText
- // goto ext
- //end if
- //====================================================================
- // 更新生产计划塑料成品总重量
- //====================================================================
- UPDATE u_order_ml
- SET slweight = slweight - (:Weight * :qty )/1000
- WHERE orderid = :orderid
- AND scid = :scid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '更新生产计划塑料成品总重量失败'
- GOTO ext
- END IF
- //====================================================================
- //====================================================================
- // 删除自动建立的成品进仓单
- //====================================================================
- IF p_del_inware(ARG_MSG,FALSE) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF arg_ifcommit AND rslt = 1 THEN
- COMMIT ;
- END IF
- p_reset()
- Return (rslt)
- end function
- public function integer gzaudit (long arg_collectid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);//工资审
- Int rslt = 1,cnt = 0
- Long ll_mtrlid
- String ls_mtrlcode,ls_unit
- DateTime server_dt,ldt_collectdate
- Decimal ld_orderqty
- Decimal ld_planprice
- uo_abnormity_dq = Create uo_abnormity
- IF arg_collectid <= 0 THEN
- rslt = 0
- ARG_MSG = '错误质检单唯一码'
- GOTO ext
- END IF
- SELECT Top 1 getdate() Into :server_dt From u_user ;
- //取得系统时间,借用操作员表
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "查询操作失败,日期 "
- GOTO ext
- END IF
- IF getinfo(arg_collectid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF it_mxbt2 <= 0 THEN
- rslt = 0
- ARG_MSG = '质检单没有员工生产信息明细内容,不能工资审,请检查!'
- GOTO ext
- END IF
- IF flag = 2 THEN
- rslt = 0
- ARG_MSG = '质检单已经完成审核,操作取消'
- GOTO ext
- ELSEIF flag = 0 THEN
- rslt = 0
- ARG_MSG = '质检单还没有进行仓审,不能执行工资审'
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_user
- Where username = :arg_emp ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "查询操作失败,操作员!"
- GOTO ext
- END IF
- IF cnt = 0 THEN
- rslt = 0
- ARG_MSG = "操作员姓名未登记或已取消!"
- GOTO ext
- END IF
- //yyx2013-10-26
- SELECT top 1 u_data_collectmx.collectdate
- INTO :ldt_collectdate
- FROM u_data_collectmx
- WHERE u_data_collectmx.collectid = :arg_collectid
- Order By u_data_collectmx.printid;
- IF sqlca.SQLCode <> 0 THEN
- ARG_MSG = '查询质检明细第1行质检日期失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //
- UPDATE u_data_collect
- SET flag = 2 ,
- gzauditrep = :arg_emp,
- gzauditdate = getdate()
- Where collectid = :arg_collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致质检单工资审核操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- // //====================================================================
- //// 自动生成计件单
- ////====================================================================
- Long ll_ds_rowcount,ls_i,ls_j
- datastore ds_wagemx
- ds_wagemx = Create datastore
- ds_wagemx.DataObject = "dw_data_wage"
- ds_wagemx.SetTransObject(sqlca)
- ds_wagemx.Retrieve(arg_collectid)
- ll_ds_rowcount = ds_wagemx.RowCount()
- IF ll_ds_rowcount <= 0 THEN
- rslt = 0
- ARG_MSG = '没有员工计件明细内容!!'
- GOTO ext
- END IF
- //====================================================================
- // 自动生成其他计件单
- //====================================================================
- Long ll_pid = 1
- IF uo_abnormity_dq.newbegin(scid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- uo_abnormity_dq.wageid = wageid_other
- uo_abnormity_dq.dscrp = '质检单 '+ collectcode +' 自动生成'
- uo_abnormity_dq.relcode = collectcode
- uo_abnormity_dq.billdate = ldt_collectdate
- uo_abnormity_dq.ifzj = 1
- uo_abnormity_dq.zjid = collectid
- uo_abnormity_dq.wagemth = Long(String(ldt_collectdate,'yyyymm'))
- FOR ls_j = 1 To ll_ds_rowcount
- IF ds_wagemx.Object.empid[ls_j] > 0 THEN
- IF ds_wagemx.Object.cp_price[ls_j] > 0 THEN
- IF uo_abnormity_dq.acceptmx(ds_wagemx.Object.empid[ls_j],&
- ds_wagemx.Object.empcode[ls_j],&
- ds_wagemx.Object.empname[ls_j],&
- ds_wagemx.Object.cp_qty[ls_j],&
- ds_wagemx.Object.cp_price[ls_j] / ds_wagemx.Object.cp_qty[ls_j],&
- '成品工资',&
- ARG_MSG,&
- ll_pid,&
- '','','') = 0 THEN
- MessageBox('error!',ARG_MSG)
- rslt = 0
- GOTO ext
- END IF
- ll_pid = ll_pid + 1
- END IF
-
- IF ds_wagemx.Object.bcp_price[ls_j] > 0 THEN
- IF uo_abnormity_dq.acceptmx(ds_wagemx.Object.empid[ls_j],&
- ds_wagemx.Object.empcode[ls_j],&
- ds_wagemx.Object.empname[ls_j],&
- ds_wagemx.Object.bcp_qty[ls_j],&
- ds_wagemx.Object.bcp_price[ls_j] / ds_wagemx.Object.bcp_qty[ls_j],&
- '半成品工资',&
- ARG_MSG,&
- ll_pid,&
- '','','') = 0 THEN
- MessageBox('error!',ARG_MSG)
- rslt = 0
- GOTO ext
- END IF
- ll_pid = ll_pid + 1
- END IF
-
- IF ds_wagemx.Object.awardprice[ls_j] > 0 THEN
- IF uo_abnormity_dq.acceptmx(ds_wagemx.Object.empid[ls_j],&
- ds_wagemx.Object.empcode[ls_j],&
- ds_wagemx.Object.empname[ls_j],&
- 1,&
- ds_wagemx.Object.awardprice[ls_j],&
- '奖金',&
- ARG_MSG,&
- ll_pid,&
- '','','') = 0 THEN
- MessageBox('error!',ARG_MSG)
- rslt = 0
- GOTO ext
- END IF
- ll_pid = ll_pid + 1
- END IF
-
- IF ds_wagemx.Object.stantby_price[ls_j] > 0 THEN
- IF uo_abnormity_dq.acceptmx(ds_wagemx.Object.empid[ls_j],&
- ds_wagemx.Object.empcode[ls_j],&
- ds_wagemx.Object.empname[ls_j],&
- 1,&
- ds_wagemx.Object.stantby_price[ls_j],&
- '待机补贴',&
- ARG_MSG,&
- ll_pid,&
- '','','') = 0 THEN
- MessageBox('error!',ARG_MSG)
- rslt = 0
- GOTO ext
- END IF
- ll_pid = ll_pid + 1
- END IF
-
- IF ds_wagemx.Object.zx_price[ls_j] * ds_wagemx.Object.zx_qty[ls_j] > 0 THEN
- IF uo_abnormity_dq.acceptmx(ds_wagemx.Object.empid[ls_j],&
- ds_wagemx.Object.empcode[ls_j],&
- ds_wagemx.Object.empname[ls_j],&
- ds_wagemx.Object.zx_qty[ls_j],&
- ds_wagemx.Object.zx_price[ls_j],&
- '杂项工资',&
- ARG_MSG,&
- ll_pid,&
- '','','') = 0 THEN
- MessageBox('error!',ARG_MSG)
- rslt = 0
- GOTO ext
- END IF
- ll_pid = ll_pid + 1
- END IF
-
- IF ds_wagemx.Object.u_data_wage_price_add[ls_j] * ds_wagemx.Object.u_data_wage_qty_add[ls_j] > 0 THEN
- IF uo_abnormity_dq.acceptmx(ds_wagemx.Object.empid[ls_j],&
- ds_wagemx.Object.empcode[ls_j],&
- ds_wagemx.Object.empname[ls_j],&
- ds_wagemx.Object.u_data_wage_qty_add[ls_j],&
- ds_wagemx.Object.u_data_wage_price_add[ls_j],&
- '工序工资',&
- ARG_MSG,&
- ll_pid,&
- '',&
- ds_wagemx.Object.u_data_wage_proname_add[ls_j],&
- '') = 0 THEN
- MessageBox('error!',ARG_MSG)
- rslt = 0
- GOTO ext
- END IF
- ll_pid = ll_pid + 1
- END IF
-
- END IF
- NEXT
- IF uo_abnormity_dq.Save(ARG_MSG,False) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK ;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT ;
- END IF
- Destroy uo_abnormity_dq
- RETURN rslt
- end function
- public function integer cgzaudit (long arg_collectid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1,cnt = 0
- DateTime nulldate
- uo_abnormity_dq = CREATE uo_abnormity
- SetNull(nulldate)
- IF arg_collectid <= 0 THEN
- rslt = 0
- ARG_MSG = '错误质检单唯一码'
- GOTO ext
- END IF
- IF p_getinfo(arg_collectid,ARG_MSG) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF flag <> 2 THEN
- rslt = 0
- ARG_MSG = '质检单只有在已工资审状态下才能工资撤审,请核对'
- GOTO ext
- END IF
- UPDATE u_data_collect
- SET flag = 1,
- gzauditrep = '',
- gzauditdate = :nulldate
- Where collectid = :arg_collectid ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = "因网络或其它原因导致质检单撤消工资审核操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
- it_newbegin = FALSE
- it_updatebegin = FALSE
- //====================================================================
- // 删除自动建立的其他计件单
- //====================================================================
- Long i
- Long ll_cnt_other
- SELECT count(*) INTO :ll_cnt_other
- FROM u_sc_abnormity
- Where zjid = :collectid AND ifzj = 1;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- ARG_MSG = '查询自动建立的其它计件单失败'
- GOTO ext
- END IF
- IF ll_cnt_other > 0 THEN
- Long ll_billid_other[],ll_flag_other[],it_max_other
- it_max_other = 1
- DECLARE cur_mx CURSOR FOR
- SELECT billid,auditingflag
- FROM u_sc_abnormity
- Where zjid = :collectid AND ifzj = 1;
- OPEN cur_mx;
- FETCH cur_mx INTO :ll_billid_other[it_max_other],:ll_flag_other[it_max_other];
- DO WHILE sqlca.SQLCode = 0
- it_max_other++
- FETCH cur_mx INTO :ll_billid_other[it_max_other],:ll_flag_other[it_max_other];
- LOOP
- CLOSE cur_mx;
-
- IF it_max_other - 1 <> ll_cnt_other THEN
- rslt = 0
- ARG_MSG = '查询其它计件单已审核,不能删除'
- GOTO ext
- END IF
-
-
- FOR i = 1 TO ll_cnt_other
- IF ll_flag_other[i] <> 0 THEN
- rslt = 0
- ARG_MSG = '自动建立的其它计件单已审核,不能删除'
- GOTO ext
- END IF
- IF uo_abnormity_dq.del(scid,ll_billid_other[i],ARG_MSG,FALSE) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- NEXT
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF arg_ifcommit AND rslt = 1 THEN
- COMMIT ;
- END IF
- DESTROY uo_abnormity_dq
- p_reset()
- Return (rslt)
- end function
- public function integer p_create_inware (ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long ll_mtrlid,ll_orderid,ll_balctype,ll_cusid,ll_ref_inwareid
- String ls_status,ls_woodcode,ls_pcode,ls_mtrlcode,ls_unit,ls_ref_inwarecode
- String ls_plancode,ls_mtrlcuscode
- DateTime server_dt
- Decimal ld_planprice
- Long ll_dftwrkGrpid
- SELECT Top 1 getdate() INTO :server_dt FROM u_user;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,日期 "
- GOTO ext
- END IF
- uo_inware uo_ware
- uo_ware = CREATE uo_inware
- uo_ware.commit_transaction = sqlca
- uo_ware.if_getid_ture = FALSE
- SELECT u_sc_task.mtrlid,
- u_sc_task.status,
- u_sc_task.woodcode,
- u_sc_task.pcode,
- u_mtrldef.mtrlcode,
- u_sc_task.orderid,
- u_mtrldef.unit,
- u_mtrldef.dftwrkGrpid
- INTO :ll_mtrlid,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ls_mtrlcode,
- :ll_orderid,
- :ls_unit,
- :ll_dftwrkGrpid
- FROM u_sc_task,u_mtrldef
- WHERE u_sc_task.mtrlid = u_mtrldef.mtrlid AND
- taskid = :taskid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询机台排程资料失败'
- GOTO ext
- END IF
- f_get_planprice_mtrl(ll_mtrlid,ls_status,ls_woodcode,ls_pcode,ld_planprice)
- SELECT balctype
- INTO :ll_balctype
- FROM u_storage
- Where storageid = :storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询仓库资料失败'
- GOTO ext
- END IF
- IF ll_balctype = 1 THEN
- IF uof_find_cust(scid,orderid,ll_cusid,ls_plancode,ls_mtrlcuscode,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- IF uo_ware.newbegin(scid,3,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- uo_ware.indate = server_dt
- uo_ware.inrep = publ_operator
- uo_ware.part = collectcode
- uo_ware.dscrp = '由质检单 '+ collectcode +' 自动生成'
- uo_ware.storageid = storageid
- uo_ware.sptname = ''
- uo_ware.relid = ll_dftwrkGrpid
- uo_ware.relint_1 = collectid
- uo_ware.mrate = 1
- IF ll_mtrlid > 0 AND qty > 0 THEN
- IF uo_ware.acceptmx(1,&
- ll_mtrlid,&
- ls_mtrlcode,&
- ls_plancode,&
- ls_status,&
- qty,&
- ld_planprice,&
- 1,&
- dscrp,&
- arg_msg,&
- 0,&
- orderid,&
- 1,&
- ls_woodcode,&
- ls_pcode,&
- ll_cusid,&
- ls_unit,&
- 1,qty,0,0,'','',0,0,ls_mtrlcuscode,'',&
- qty,&
- 0) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_ware.Save(FALSE,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- IF qty_bcp > 0 THEN
-
- SELECT balctype
- INTO :ll_balctype
- FROM u_storage
- Where storageid = :storageid_bcp;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询仓库资料失败'
- GOTO ext
- END IF
-
-
- IF ll_balctype = 1 THEN
- IF uof_find_cust(scid,orderid,ll_cusid,ls_plancode,ls_mtrlcuscode,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
-
- IF uo_ware.newbegin(scid,3,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- uo_ware.indate = server_dt
- uo_ware.inrep = publ_operator
- uo_ware.part = collectcode
- uo_ware.dscrp = '由质检单 '+ collectcode +' 自动生成'
- uo_ware.storageid = storageid_bcp
- uo_ware.sptname = ''
- uo_ware.relid = ll_dftwrkGrpid
- uo_ware.relint_1 = collectid
- uo_ware.mrate = 1
-
- IF ll_mtrlid > 0 THEN
- IF uo_ware.acceptmx(1,&
- ll_mtrlid,&
- ls_mtrlcode,&
- ls_plancode,&
- ls_status,&
- qty_bcp,&
- ld_planprice,&
- 1,&
- dscrp,&
- arg_msg,&
- 0,&
- orderid,&
- 1,&
- ls_woodcode,&
- ls_pcode,&
- ll_cusid,&
- ls_unit,&
- 1,qty_bcp,0,0,'','',0,0,ls_mtrlcuscode,'',&
- qty_bcp,&
- 0) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
-
- IF uo_ware.Save(FALSE,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- ext:
- DESTROY uo_ware
- IF rslt = 0 THEN
- ROLLBACK ;
- ELSEIF arg_ifcommit AND rslt = 1 THEN
- COMMIT ;
- END IF
- RETURN rslt
- end function
- public function integer uof_find_cust (long arg_scid, long arg_orderid, ref long arg_cusid, ref string arg_plancode, ref string arg_mtrlcuscode, ref string arg_msg);Int rslt = 1
- IF uo_option_inware_mtrlcuscode = -1000 THEN
- rslt = 0
- arg_msg = '选项:[138]生产进仓单产品批号策略按指令单号,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- IF uo_option_taskplancode = -1000 THEN
- rslt = 0
- arg_msg = '选项:[038]使用客户批号库存,读取初始默认值失败,操作取消!'
- GOTO ext
- END IF
- Long li_ordertype,cnt
- Long ll_cusid
- String ls_cuscode,ls_cusname,ls_plancode
- Long ll_mtrlid,ll_mtrlid_p,ll_porderid
- Boolean lb_ifsameorder
- Int li_ifmtrlcuscode
- String ls_ordercode
- SELECT ordercode,
- ordertype,
- mtrlid,
- porderid
- INTO :ls_ordercode,
- :li_ordertype,
- :ll_mtrlid,
- :ll_porderid
- FROM u_order_ml
- WHERE scid = :arg_scid
- AND orderid = :arg_orderid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询指令单相关信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF li_ordertype = 0 THEN
- ll_cusid = 0
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_order_ml_mx
- WHERE orderid = :arg_orderid
- AND scid = :arg_scid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询指令单相关信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt <> 1 THEN
- ll_cusid = 0
- GOTO ext
- END IF
- SELECT ifmtrlcuscode INTO :li_ifmtrlcuscode
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询物料是否使用产品批号属性失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF uo_option_inware_mtrlcuscode = 1 AND li_ifmtrlcuscode = 1 THEN
- arg_mtrlcuscode = ls_ordercode
- ELSE
- arg_mtrlcuscode = ''
- END IF
- IF li_ordertype = 4 THEN
- SELECT mtrlid INTO :ll_mtrlid_p
- FROM u_order_ml
- WHERE scid = :arg_scid
- AND orderid = :ll_porderid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询指令单相关信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF ll_mtrlid_p = ll_mtrlid THEN
- lb_ifsameorder = TRUE
- SELECT u_cust.cusid,
- u_cust.cuscode,
- u_cust.name,
- u_order_ml.taskrelcode
- INTO
- :ll_cusid,
- :ls_cuscode,
- :ls_cusname,
- :ls_plancode
- FROM u_cust,u_order_ml
- WHERE u_cust.cusid = u_order_ml.cusid
- AND u_order_ml.scid = :arg_scid
- AND u_order_ml.orderid = :ll_porderid;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询指令单相关信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- END IF
-
- ELSE
- SELECT u_cust.cusid,
- u_cust.cuscode,
- u_cust.name,
- u_order_ml.taskrelcode
- INTO
- :ll_cusid,
- :ls_cuscode,
- :ls_cusname,
- :ls_plancode
- FROM u_cust,u_order_ml
- WHERE u_cust.cusid = u_order_ml.cusid
- AND u_order_ml.scid = :arg_scid
- AND u_order_ml.orderid = :arg_orderid;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询指令单相关信息失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- END IF
- IF lb_ifsameorder AND uo_option_taskplancode = 1 THEN
- arg_plancode = ls_plancode
- ELSE
- arg_plancode = ''
- END IF
- ext:
- arg_cusid = ll_cusid
- RETURN rslt
- end function
- public function integer p_del_inware (ref string arg_msg, boolean arg_ifcommit);int rslt = 1
- long ll_inwareid[]
- long i = 1,j
- uo_inware uo_ware
- uo_ware = CREATE uo_inware
- uo_ware.commit_transaction = sqlca
- uo_ware.if_getid_ture = FALSE
- DECLARE cur_inware CURSOR FOR
- SELECT inwareid
- FROM u_inware
- Where relint_1 = :collectid
- and scid = :scid
- and billtype = 3;
-
- OPEN cur_inware;
- FETCH cur_inware INTO :ll_inwareid[i];
- DO WHILE sqlca.SQLCode = 0
- i++
- FETCH cur_inware INTO :ll_inwareid[i];
- LOOP
- CLOSE cur_inware;
- FOR j = 1 TO i - 1
- IF uo_ware.del(scid,ll_inwareid[j],ARG_MSG,FALSE) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- NEXT
- ext:
- IF rslt = 0 THEN
- ROLLBACK ;
- ELSEIF arg_ifcommit AND rslt = 1 THEN
- COMMIT ;
- END IF
- DESTROY uo_ware
- RETURN rslt
- end function
- public function integer acceptmx_wage (long arg_empid, string arg_empcode, string arg_empname, string arg_procode, string arg_proname, decimal arg_cp_qty, decimal arg_workprice, decimal arg_awardprice, decimal arg_stantby_price, decimal arg_bcp_qty, decimal arg_zx_qty, decimal arg_zx_price, string arg_dscrp, long arg_printid, string arg_procode_add, string arg_proname_add, decimal arg_price_add, decimal arg_qty_add, ref string arg_msg);Long rslt = 1
- IF it_newbegin = FALSE AND it_updatebegin = FALSE THEN
- rslt = 0
- arg_msg = "非编辑状态不可以使用,操作取消"
- GOTO ext
- END IF
- IF IsNull(arg_empid) THEN arg_empid = 0
- IF IsNull(arg_empcode) THEN arg_empcode = ''
- IF IsNull(arg_empname) THEN arg_empname = ''
- IF IsNull(arg_procode) THEN arg_procode = ''
- IF IsNull(arg_proname) THEN arg_proname = ''
- IF IsNull(arg_cp_qty) THEN arg_cp_qty = 0
- IF IsNull(arg_workprice) THEN arg_workprice = 0
- IF IsNull(arg_awardprice) THEN arg_awardprice = 0
- IF IsNull(arg_stantby_price) THEN arg_stantby_price = 0
- IF IsNull(arg_bcp_qty) THEN arg_bcp_qty = 0
- IF IsNull(arg_zx_qty) THEN arg_zx_qty = 0
- IF IsNull(arg_zx_price) THEN arg_zx_price = 0
- IF IsNull(arg_dscrp) THEN arg_dscrp = ''
- IF IsNull(arg_printid) THEN arg_printid = 0
- IF IsNull(arg_procode_add) THEN arg_procode_add = ''
- IF IsNull(arg_proname_add) THEN arg_proname_add = ''
- IF IsNull(arg_price_add) THEN arg_price_add = 0
- IF IsNull(arg_qty_add) THEN arg_qty_add = 0
- IF Trim(arg_empcode) = '' OR arg_empid = 0 THEN
- rslt = 0
- arg_msg = '员工信息不能为空'
- GOTO ext
- END IF
- it_mxbt2++
- wagemx[it_mxbt2].empid = arg_empid
- wagemx[it_mxbt2].empcode = arg_empcode
- wagemx[it_mxbt2].procode = arg_procode
- wagemx[it_mxbt2].proname = arg_proname
- wagemx[it_mxbt2].cp_qty = arg_cp_qty
- wagemx[it_mxbt2].workprice = arg_workprice
- wagemx[it_mxbt2].awardprice = arg_awardprice
- wagemx[it_mxbt2].stantby_price = arg_stantby_price
- wagemx[it_mxbt2].bcp_qty = arg_bcp_qty
- wagemx[it_mxbt2].zx_qty = arg_zx_qty
- wagemx[it_mxbt2].zx_price = arg_zx_price
- wagemx[it_mxbt2].dscrp = arg_dscrp
- wagemx[it_mxbt2].printid = arg_printid
- wagemx[it_mxbt2].empname = arg_empname
- IF period * modelqty * squadtime <> 0 THEN
- wagemx[it_mxbt2].cp_wage = arg_workprice / ( 3600 / period * modelqty * squadtime ) * arg_cp_qty
- wagemx[it_mxbt2].bcp_wage = arg_workprice / ( 3600 / period * modelqty * squadtime ) * arg_bcp_qty * semi_discount
- ELSE
- wagemx[it_mxbt2].cp_wage = 0
- wagemx[it_mxbt2].bcp_wage = 0
- END IF
- wagemx[it_mxbt2].zx_wage = arg_zx_price * arg_zx_qty
- wagemx[it_mxbt2].procode_add = arg_procode_add
- wagemx[it_mxbt2].proname_add = arg_proname_add
- wagemx[it_mxbt2].price_add = arg_price_add
- wagemx[it_mxbt2].qty_add = arg_qty_add
- ext:
- IF rslt = 0 THEN p_clearmx()
- Return (rslt)
- end function
- on uo_data_collect.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_data_collect.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
- event constructor;String str_optionvalue,arg_msg
- f_get_sys_option_value('138',str_optionvalue,arg_msg)
- uo_option_inware_mtrlcuscode = Long(str_optionvalue)
- f_get_sys_option_value('038',str_optionvalue,arg_msg)
- uo_option_taskplancode = Long(str_optionvalue)
- end event
|