From 53c8103546c6f4a84aa925c40cec7b3aa2b6bba9 Mon Sep 17 00:00:00 2001 From: jiaoliming Date: Fri, 1 Sep 2023 10:25:31 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"Revert=20"rev=EF=BC=9A=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E9=85=8D=E7=BD=AE=EF=BC=8C=E8=AE=BE=E5=A4=87=E7=9B=91?= =?UTF-8?q?=E6=8E=A7""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ff227729081f174cbfa96464a94143a18f50a001. --- .../src/main/java/org/nl/acs/AcsConfig.java | 8 +- .../java/org/nl/acs/acsEnum/AgvTypeEnum.java | 3 +- .../java/org/nl/acs/acsEnum/StatusEnum.java | 17 +- .../src/main/java/org/nl/acs/device.xls | Bin 217088 -> 87552 bytes .../device/device_driver/DriverTypeEnum.java | 3 +- .../agv/liku_agv/LiKuDeviceDriver.java | 37 +- .../hailiang_one/ApplyTaskTime.java | 1 + ...otoelectricInspectionSiteDeviceDriver.java | 2 +- .../impl/ProduceshiftorderServiceImpl.java | 4 +- .../task/service/impl/TaskServiceImpl.java | 16 +- .../src/main/resources/log/AcsToMes.xml | 2 +- .../src/main/resources/log/MesToAcs.xml | 2 +- wcs/nladmin-ui/src/api/acs/stage/actor.js | 10 +- .../src/views/acs/device/config.vue | 4 +- .../device/driver/hailiang_hr_ssx_station.vue | 953 +++++++++--------- .../src/views/acs/device/monitor/index.vue | 3 +- .../src/views/acs/monitor/device/index.vue | 600 +++++++++++ .../src/views/acs/stage/editor/index.vue | 2 +- .../src/views/system/monitor/device/index.vue | 65 +- 19 files changed, 1184 insertions(+), 548 deletions(-) diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/AcsConfig.java b/wcs/nladmin-system/src/main/java/org/nl/acs/AcsConfig.java index 7566ac12..42810b4b 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/AcsConfig.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/AcsConfig.java @@ -33,7 +33,7 @@ public interface AcsConfig { //指定AGV系统 String AGVTYPE = "agvType"; //WMS系统接口地址 - String WMSURL = "wmsurl"; + String WMSURL = "lmsurl"; //WCS系统接口地址 String WCSURL = "wcsurl"; @@ -41,8 +41,10 @@ public interface AcsConfig { String ERPURL = "erpurl"; //是否存在wms系统 - String HASWMS = "hasWms"; - String ISTEST = "isTest"; + String HASWMS = "hasLms"; + String KZPLAN = "kzPlan"; + //lucene日志索引目录 + String LUCENEURL = "luceneUrl"; String ISFEEDDEVICESTATUS = "isFeedDeviceStatus"; //路由选择 String ROUTE = "route"; diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/AgvTypeEnum.java b/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/AgvTypeEnum.java index e6d26136..93610def 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/AgvTypeEnum.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/AgvTypeEnum.java @@ -21,7 +21,8 @@ public enum AgvTypeEnum { PS_TYPE_1("6", "PS20称重任务(刻字-包装)", "1"), PS_TYPE_2("7", "PS20不称重任务(刻字-包装)", "2"), RT_TYPE_1("8", "RT20任务(货架)", "3"), - OTHERS_TYPE_1("9", "错误任务类型", "9"); + OTHERS_TYPE_1("9", "错误任务类型", "9"), + HAIROU_TYPE_1("18", "立库任务", "1"); private String taskType; private String taskName; diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/StatusEnum.java b/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/StatusEnum.java index bd0b4afb..ce8b7769 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/StatusEnum.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/acsEnum/StatusEnum.java @@ -57,6 +57,20 @@ public enum StatusEnum { QXXL_COMPEL_REQ("11", "强制搬出请求(清洗下料)", ""), KZSL_EMPTY_REQ("12","取空框请求(刻字上料)",""), + HAIROU_IN_REQ("13","半成品入库(海柔)",""), + HAIROU_OUT_REQ("14","半成品出库(海柔)",""), + HAIROU_INVENTORY_REQ("15","盘点(海柔)",""), + HAIROU_EMPTY_OUT_REQ("16","空载具出库(海柔)",""), + HAIROU_EMPTY_IN_REQ("17","空载具入库(海柔)",""), + + HAIROU_LIKU_REQ("18","半成品库任务(海柔)",""), + + TOTE_INBOUND("1","容器入库","tote_inbound"), + TOTE_OUTBOUND("2","容器出库","tote_outbound"), + TOTE_RELOCATION("3","容器移库","tote_relocation"), + TOTE_CARRY("4","容器搬运","tote_carry"), + TOTE_CHECK("5","容器盘库","tote_check"), + //指令状态 INST_READY("0", "就绪", ""), INST_RUNNING("1", "执行中", ""), @@ -67,7 +81,8 @@ public enum StatusEnum { TASK_READY("0", "就绪", ""), TASK_RUNNING("1", "执行中", "6"), TASK_FINISH("2", "完成", "7"), - TASK_CANCEL("3", "取消", "8"); + TASK_CANCEL("3", "取消", "8"), + TASK_FULL_IN("4","满入",""); private String code; private String desc; diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/device.xls b/wcs/nladmin-system/src/main/java/org/nl/acs/device.xls index 1c3db516e0eeb180f94b3fb3d8125c1b63eb9290..1dc1fdffe382f0c8c4294706798a66f41a02473b 100644 GIT binary patch literal 87552 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

wOYd2Dz7NZ|^rB*WUx$ z_;0`R%+l^#Iy2yje}u>|78Mtg%646rGHGPr2jQ&{}=ZF5AWF= zdqL5275nHbu0!QZ94A)3KFCM=>cA|@$9$%uEX@9N@u*dP_DcG`m~u(H(oX#jPbOT{ z_bi8`g!zikmHljkOaUtl-aU}e$r|h}lGKh!yP9j7Hsjsg=4}o2yLRj}J0huHo822D z9ZMQDGST9F0J|J0_fh%M&yxysb+qp(UqU%s;w6-q@+-CKwtF2*TewARY|a^r`L=z8 zu(~2Q*5cQcTk2bCn$(_7mdzdSxv<@cvYd`y%50rKlj*AxNc@H@Bwm$tO3!fr9qvCD zZ~q{n&VC)rPmAMr&&8{>~O#2BFQz zaOB8l;mOdE@n~Pqkh8;0l}j*7g~&F>p(n-QbY*W0AjJNi7^T^dSVvAwj^Ftc;@cZ# zHr{J*)B?|VQ628pVV4dM=&(8`^Ym9hf(B^n6_C~E`%6@qEM!uv^Y;R=Zx!*_4<-`B?o4pb5+Z1DM zu$-NYDRW7D%wB8tMlQ?pCzj1jhR*GrQ z?}VLVzQZuKi18#+{`$vbr?kuO^xq9T<(>Y{LD?yNC$k(W?>qUOgJY*ekv{E|R-4bU z?3C$FTN<_p{NLYB2?&}g-m#GOgd5|AV{H`nH5<>l(?%SgozgDp6Wb|`c>eyiQ{Me`k+R7~uOEF~guC0D_bAG)Nxa4}Q~cJ? zeG1JA*id^aaa?a74q>*V)<-(go?YuBdcXX5)LQ>Z`oFim^3S?HG8Zp~-kJ3gtQzcS zsIJ?799kG z-8$^mVZRP>IFx!{gD{@mktgv(?GEmv^L|_(Da9KxwKg?8yCYN5C$>8V;kWw!wL9MZ z^^t@4I&wJcBmZc-BTvd{uag|p?!fXk^7Z$&JN{MINseWgIAe^*Dc1Aq#=TnOT_u67 zvi5jw73y)-u8+rF8JECbdFR$iYEvoK`)8e`8~YT$o9iT%NT1^|_it8wj%BaBpVvuz zB61unB`g5lLdcVT`TajbA$$Y(iGr4vrn;@WT11VtscTLsNlxwt=L=f&x%H;lt6ok1MadGh$R<>lw5uKCZ5 z^Y>3bkEuh2R-F_l$M3WWb9^3Z_bBM7prx*txPfslpA)H|B z|LN|aI>0#Xn?HEiU*PBI#Tonz&o?$b6`Po^605D1yLN7C5p=4&xTdApCu+INQn-5S zcUq#pQIQ<0I-2smKv#BpswG6h%DT4Dznz_2{k<`5W11T-U6=Ow^`q)`r!2Gbijsb{daQeKe)O8Z92O>cpr#tD>RXTC!wRif>fX^kt*27^us!^7iCD zJnCT~GFN`K5pj1rFvik8s@i~*{u9^IB`knbp>2OZUYHz|FFuSC@QX7Cu}ztq=UJLAJM0v~vJ#$9K=JmW~m&EK7I-sDAXYJ4OUHb8r+sE9Q^>T97E8@JQ|6IP&r_Ptw1 zo%ZL=t9C}=-nyl}?y6UluHSIpwmNxq=r1d#JnZ|(npH3RI(9ZST=A(>lXmXfai%Xl z_0HOYPt`877FnS~7k^!tqjW$04C-z3L+QdAY2^teCgJP zhD&pWI_NgHD39k+`PVHxVQy}ZI$ySH^t7ZXjzz*5xH}{5yXGc^s>-dalMjiflXLe! zcJoyKzmK{s@LS(=(?V6JzVc=o&%%A>19`rJDbpT4|06RSM?HVaZK+v1YBF)|?Ps(0 z`?Ag}Ub*^C-y7*!8;W-OLbtC-$~yN>-~91er8oQjS{a;wUa;uACsGdh8b8tQi>9ZB zc>L_{P=u$?rl&qWYHoWj4vD?%j_o^c7Q&nqo57=E$LHaoSYZyLUGrV5z<2$u=kHq* zDD?GBtuB)8BiFXCk6d#g{YWzZ{+K-P^4z~AA09LRH)Hr`mHbcg{NE&px_(qX?g?Q| ze~s$nUssKr|J{ss@F<-52j9Hhul&h(qi_Dd`9l7CYufLsw!;4&#(A#i28$jn#R;y@ z{a1SG87r18u;w?NZ2j&oU&r_U7~!d{>8U?ju`I`0@S5*p5qjgS1-)Z?e|Od!k*}SV zo_bzwZe5r4$@$jO@CBo?b0g~5&Ww~CUr(w!x6>LpYq^!RCET8}=>Fd1J9qD`n%^qe1$1H5_dT|0=G zliaZUis?_>K5lSa!S}W%&&~eLxJiL^*PguVs(m`7!A&_;_E?Cfdfv{Q%iP=Y73nW4M!hgo}SuR1|2N! z@SX0vd56%<8$Q2tLGV?}3iPiR3!khxW7oXVyKpY^*vUPqMRL9 zM%(u`=8s*x_R91xFIv#HNPLOMi9VjWc*!SsZYVAfy}W8l`fX+NgC|9HV32AOa*)a` ztxKtneCWH^$|FLBIU_WTLqaoi7kzKys_nk-7Cm*h zhIt`U?aqelOrj2pVaf%)K%L*)+CxAIU93{^uDtf zA36KsS7~PcW&4%;OJALP!ORuuqi@_Zcii1GKU(%mWJ~*I=$uR_omXy|eLBwKyyH9F zYvz49e0X$jdC$MqwrpwIeR5vb`0S)LeKk8TZmI2Ce*@mgKl(ZU$CHa18m~;7u;;8% zuXg@=Lh3$wda-EbfQ5la@C-c+30ntRFi4d8AO4!S=({_TQYZMTc@$@sl{)J?OXn3` z%nwg9c*J2KSX{SbtQEa&%f(e9gpV!9zJ7i4bpP%o?psoj6bSKq&W|TuRj_hYh@WtN zJgG&PlWu#g5WO~gW@OFuTc1tcURPgJz4;?|jSBfL;$A(UOFHS|z*W`OsNG4=-1Sr* zPt>eh@{tL3&3hUzjVAHif!z~Mx;Ulf%19t96-Q?#%}jkIy{>uZuKN1v#VI`7;_Q^V z9ARCOW8vlRx~^S2a;&~D?S@JVukU!Fz?W=QeIlIoXv%s1+MW}wa2Uri3Ui#epcbVP z4YV|WZm~RdcTs)R*U^{#+G|!Y%lbk=&jm+P!gU?LoQoqz*^#rdt@VFtvi6Vt%GepB z9$V%+`RDVVU1m)iAMP7JH<0$|xT5KS$c9xr%Uc>}=3HkT4&+!_pMA(m9b9hZtvNp< z=?|wCWZW2-*5NC#*7-_LwEWoGL6`#?58`0UjhWZ^tXro1;pExXzDrK^U6;DfmyIKR z*49;rZyd8f?dxf0Twvv8hJWMh^X=~#JNrg)=H`qI892y1JO9M=lgEW-j5}ArU3vE3 zX5UqQ^^%ITuljw<)=$|S`orECpG>|dIdtOWTSZr}Vw7*I(37I%H$J-TBSP+M{)p9` ziQTxe+D|{dbR$Jts6%P5b9`Rk5+mRf~zS+vS z-`X~QdqY#5|HPUH_iXuwzoKJ1PE8yedU?!aV{$XNH-3s0U4Ozvc_`ulk5QPDnG`r> z;s)RNH^yOGl;6$5Zjn{;%)_T2Yp8Fz=HXLw_mBO}E!T}XI+-DuAxVrMc7f*wP*afQ*mnBYg2Fr;bp>yGYGGn@@VObDWOptwr

5h&t0&m`O(_qaiQ=3Jfe>6Tl_IAqZ)Q`)@PPk7w?6=*ehO{ z7S4L)E|HaEttr~lTyw?U*N(e!;HrhsjvHOuGTK_&JGnC@>w`b&EBi?Bnfrp!eGTI{N^&^p6eW5mQ62NwnFv$N7u{gzKC zQ}A!$Kp{j}VvVETlC10?;t|qm9cH#Un(`m-{)L?#5GdHCqW%T%uErgva z&O^71W+^qir`qSgOevV=sh8D9r{9a%-r8Sn|DuWOSQOf zOl4Wfx8jJnJi01+YUl&M$lg=&sfT+W7Z$4w8vAcGVtd(bt41C9%}+mkd>fCd}RWAUC&{7U2o4q*p;yW8$f+kEZko=W@j zZPUk`zTR3rF7)ST$FAIGJvOoTyjA|s1wJQUJUjIa>z9{*G!XjU>3vfly(u|)TwQbH zrDFb_t4`UyYC-i`Gt#Thgl6=&i2uy7HlmFMYQnomXG24lMOQaO z$Q4<0b}kTUb5iC+tqiE%zs;>qd3fxTs~$_Ve9 zWX%6+%<*8m&-STv!3uo?JQeKakp?|R??gl>xXlm_g^{nq^gvxNZZ&QqbzG9 zWKgs0YhNATIN^HHGx1K}q=|DE&wBlaX|rmIdXl$);s3YyCIC?!*~55sPtOSh!{vbp z%^)%e19Nd{2r~?Wq9`b+iNP=f42mKk10GSsAfAa)ymD^Q4j2e?)vSCn@m`ja` zG1<)qJaTU$=2(-MWd84U&j2b(H2Z!3@Bi(88{TwvbyanBb=AA-)vK+Kj))iQRS7nb z{_;shB3m)DRa{{djLD)vE`$Y-zYmF5P&_cDFuoB?wS_$q&_LaJ`@ z31Q?}8u!kAl&-2bx5pl)k@(kB@nP(o9c08Wf)fl%tN!ts|e@ZKaI`pqZ$e zwcYo1r)M84D}9+I7iVf}NMooe^pv7CXauY344OVWpJi2#s9GkpOt@u2+hEqz{i=V1 zpg}+>hvxywul1o>t&Ecz7ZMqgp`fOhGJ;Ie-V+*TV#S+fsTM9_T#|n$+`7bmKZy26B-2ctlg9Emb zvtr!FspYt^<(tjllt;7+4jh@EBwp{+AZn+%EtzhbVmVGntm&TKI;+s!gZnNulH<2U zh!i50+vsI-rIgLTDgE}Ui6^;NLo@q&i{gt8~qgD}7 zfrW58mBJ=UWKto&i;{0)9whCF0#fNrO9#g62(LJc)SsP$IZbGVCS< zT3gRv$qGdE#0U021|ubYE2Ymsfx;xPOrj!w#Ch9_BEan`=QO%7-N>7;~0+W)=q#sI2u zsAs3~tMvn_3gX>toT&u%HlEeTCbUkoRo2_L`>|ATQWnLI_Kh$0o$6avcA5=c;d>@@ z&e##`5tGAWR@@; zjpT7bW?NU}YmrouDkAwUVRG^gRi`LcSr)uIx+BMI4?54hPMRp!u&FJnUu928S()0M zptQbvq;yr}eJ*KNL}x_m$3t$q`Do>rpGdl&EI(_~R%VT0{#gtgmGS$IGO8HoizC@7 z_L@bNw$cr;)ya=bYGPyFaz-iJW4o;}F`tAO#9cq8jG(NfMY2i4>V|KSxZO8jx;ZJ} zZb_BoaV?R&9wF!iz(8C-3G(bCISi2@O%86185Ibx1>8GO_m>MSjw19mo z*kADTNOpt&2LD~R*+wUZ?DcuAPL|HDAaU%wei5M&Cxcp&ic9lLFU|mo+TE2DHKc$% z5FbRjrZ3;Sm;LnBkohvYE;eS*`b5E5I>nPuPJiCj2)p0#xE z$;s}Z|4P@;FXYj=bmE%jtpQ)S*m75cth3P984WISX67C#7F1p~g%=9gJ^p+AqX%Dz z-agpPC_2O);(g+ciY~f~K1pXJ1_Ycu4rUzM)QNZWqf_p09&kR`L^P%rD*9nt^n&1q zog#8HgBrBx!)YDDeZus)Zpn9&k<0T(W`}o(Vl&42r$}EOYES)!q@>AZ5rq1bSR)?Z zVVyGFUbUu7?xkInmY~W2s8=S-QmB<^C0V{DI#*{w%N3;S2atO=-4jEZ0{j(1MTs&X z7f9DPeh%2n(CbA=>;l@gbtFf+3@`qSq-!XWu2c|h@25&WpZqx+qd}n-N!J}^l$Akc zERZfMimynzY^*f~Wmk@LjRx8kbB2ERp^K6VhXy5AE7J+oYemPYXkb(3#0O7a6wf;H zskcKKCm+-)1+Dc?YWi#tlv!GJeAkZ$h~2|f6T640ricqZG&0o$hB2z!0dL}V=KaN6 zBQM@6K4ixMcO+SG)6Ha2tQDvktBSnCFOAdQaEqzJZ1bo!ab_|G7-|=e_*xa&A{+~R zJ4mlE#0l_boSvhRK%?NEw#(}xn?xx5-z_Pv&c_Z*0<=wvIX+?`9Y3il9|hLwV#B@Z z%QvY4{X57+b^3iX)a1>^yF|BA1tWoD=bfyQj$rd_=K_6D0BDN8-FEh(ZLkQ&q3F^Jo|ja?HJO*jD+X1x-?eiu*@(e)Qq1z;#Wb6}T$XV{?!+WZ>b4i+&|eA}o`BmCrk#_`ZK z{Eej5?|WPLoKK@2t{B%&XXMDgSUG92p;LJx=>Rh8v*oG3?`luA2^ia?$Qb)u~#NUj89@h3ZG19;}R}19J)vNHc2b!*l`3mmiO;Zi;7b zPWfKs)Dq)S|HUFDtXlJIU%fC|S}Jm8l}F5JSY=I2b*~iZR^7ieQ{E#x8MBOXQPdKN z#{<2SrxP)?1uh^GKqHDrx!0e5TT?GFj*794P&!AkDeh(_M9zvQn?EB8>bq5YCBK}Y z*%^|~;Te*Q`!1<6BZs}{ zpbr<`4bzKG3>##g8fflh<{N*`pRmE$BR}3WIi%6wK$cZc%Pq-E4K#|g9#KSV58e}n zOkDhDg7G2j1=`(mpL@gyQv<@fLb`qLeQX7Bx9=zjx;acC?;6}Sn7ZvR2QPf)e?;i4 z-b~oz^1ZSZgLajWu0d}PVq-d~*yAk`Hp)LJB5cD>=T30ACz@1J*s`2+pzfa$+%4)7 zo#uoUn$_6&^=wOF*WrirnyVSj!cxZa^Q0`rM*o$p;CRrXAcdeIZygERAPW#(6dv6Q z^FSiwWitK+5LO&^7cZ>n9&tV5ZX(@jEtI`=Uye|6??#ts)@#CXF=rxCNLj051vhOu zVFDZvD4ycv6HpJo#{RVLwRwxXMRJ)J+p}w(fbH9M+b1q=Zrk3v)Ac!E`p8&XD0mxtF zy8pui*P~&v0;cAOK_zNfIDXN{6N8BVmAF61i~DUn?q4Bs$^o^;^9oEShmBRrrT`<) z!jMp{x=B0-C_>Vtrduag6qTvO>Gx(Ye+Vf;J(;GyuT)J=HEyN~V?bm?U9e!>s)u2$ z&9l|cC3$ySs$E(4Mo}T=fSAK36E%{6UK2MJQdSrjn`e`$`Xj^Nk|^I~N0!`ubV(dL zA$Y9S-$ENB4wWzzDmPvH${3Q&&_+(b$sV19#KJ%B*+J%T)v@4!@x8nCD3DNmI04j` z#Jekx)8jmVqI-}~C=$n)j`d@VgeMfWs&0cuqlqo{cirBqqIUXumL^GnP}meG0}-B3 zEOuxrO6DcF$e~*ttZLzGyEUZBbzAyWSAIT9JZI9E3(O_AlO!Y*?5fgW*bs=VeT@N0 z0aR+dq@V%~RW}lf!o@D0P;?D)X@-FCL+)*g20Gzlx&2^2ia(nYa0Us*xon^lgi~Sy zop?Xj!gdb15R|ZISVr97O!+7B9r|?PG{EmQDxem`@6Fq_Ijjb~bBze@4!7LWgASHU zLdGXl2Trhg^d3&(MP}HDkf#)#x2Yt`d5hU#R8zL2L{fZ~zL>-e|5xnF7fB#n z=Fg5AC-465g7|N3Om~wwKv|OA64x2hktDvD=3={wGMa3HqcE`#kS9S5d9qm=!|u7~ukBKHb`&eDd!jjBE04Q;LC`G#;xa0kMz-xmSFj2>=$-S{bF}IBGpzpwQO!wh^mdLs0h?FC z>C$@Y>+Gtg^@$HRFm?JyD`?YDnRdL{trZ*}^o$=XxUjy5cE`2JW>F%^J*|;SAW&i9 zeY!NaZntYU=+c$~d3y3&U!kOBmDweFP54=SV+@ifd29mv;#Ol8lBcX*5dS) zt=7o<+9HDvIz7%(C6!Vp`i?RZj#3NZG;ScZL^6Xph3(MSU(G#uky_1!)Ga0lVj`&o z6yrsss_JExQFy4m>(s^QqbKQ+23 zES8k6dLezAacqRZ<>y3e6_8nmfY9QKUKt273-~SJ^%AZ8GrDf-k3vERHrtHJB*3y!O3c8 zb>}3x6Lu8S0!0FX#BvnLSYe+1vN22lE=(GZ{O62G!4YF8ASrT2aT1Kvv*h13t`S8T zlwgideGaDDkQ9~rtEyyTSB6pG6V1sj-YK=8qY2O>jvT=pI==*VMO7U|AvtOuEZ(h+ z5i=}Dj$p!#ms^H*fKIqg#gQW`=cvQkXjQ0;K#zbNwYDxM4x~no#ST;EBu;Jtazq&? zd*qgIjvk#Y;KkRlNODu5Ve4e2FDIY0CxMx%ze z^%A2=v6qk-ojF_qH2H`z%t`kkHR|5+X+YZ}(c9e~N$0_60sT*>()CaA$|W|n`v^yo zy3W7xs*g3`$x@aEniMkk+o3{NTuynbkOkprvd`!_gZ&-TZ)N5Gnwo2V4#-TyoUZvN ze3IVvxg)lh%9#JGQiFERFV#_JXd-! zu|4K^Y2vC#_Fu_a!9cPC?y^Z<5B!mBI3VpKSk+_8H?+CoAk-LWxb zgwoB9vds*UFCS#g*eXX7=ANtgSR9brCGOaMaC?_HGW>&%n~ceO}o`zJMIykK}?fv7!Pm=qBZ7O?lDug>{iQ19v7(P_A> zKHhn}MX*J1Z)S^@Wgk!+1kuO$o}n2wfALc?E7KC(61=b_xK+O>(osD*kI7=R?o)n( zLH7?4P`8p@DTyl;aldS*V}>oPF}+EzyuJ2g_sNcq%)ObXKpM+e51KzUaQ?R-j#cGP zXjQ1*u}WF;a}4W#E^^rWH?zVOZ|6sRt(}+Wp_W7AjY?|A<#d*MwpU{gDia<9lIb49 zEyCFx00smHRXhfi*efdu*c9qx32!!p)1oxt`RFx34;Td?LV>}>Pm~G<(K0YdQ66E5 z3D73Rl(U?10;@n{6v=qjQaREgY7};YvR*opRRA_rl5sHq*o+E&K^n^n#Z<7?Yt^wPmDhten+eSG0mhtoqzmybQ}$`R0{ zV5(>&d-x^GisRWj-@%f7jrDSwk&-?KriNr_1(7oy&IhNX{}Yfer3LkL3FQl<9VmD{ z&VUhyb=Gp0M>qvmsj!1xo#1ak#t9IcI>f*}mZt_MDOcQ&L|Rb-7JZaIOhA!YYz*f- zZ5(({>m0?honm|B>tbA|^M=?_Ah0@}{`{=e!B0h&PWcI;?mPMp{dctC8@iFU z4UGwy^Ku?tkw-7ERW{OJ1rkn4#~ar2blv||*+_xWxxlT^yB}&h8Zod_JH4y3FqWKt|`hCfg-EA{)1Fg)r(3A^mzncR<+` zu#9xt6Q)!zbR^ItXI%(@-n*Ec<5ZuGDEzRRwMhj++q^kuYIn-{bhh|?)tp&xm?hhB z+lZX1)@+>gGOd+y>c-aBZvK$ftU1wnz-rRjOrN~CiWQ5yX;disNT2x0XZc5}X-tO^ zY+jlsrUt96pN#wm%hGqG_n>rWUibC*k|Aw(zLLI=Ch=;uvPP8`eCbZ-xZrhD*ju9? zQ@o*dg$6v96CZ!5i%3ZVGL)?7rKTOKRo5(d>`G`K_~pqFz$v3 zcS}!8v*7!dWf2zXl2EbJFH?6CWK(dUm0joDrkMhAqHRjGz(mXioU~XUqF7pN)fb=G z0dBLL9DS~}@7*aqL5izL5fbSh6dEIZB7DMp+Wi_z1nq|Ah3|~MS(rQ~G9)G=Vq?8u zV^fn=F*h97}f>y;xP;6LFzP zE6@^0tLRtVWpPJJBRz)xI~g&&gfwgn?HuJI6X+9f`_IidjT*|-Q=^OT+$hl#;-9|P zM_V~ZOrMmvZl7N{NxxTJ(-wS86;q;};^ee-cGZOur@tPNDpiEU)C^G?Lz?}5h>3~) zq2_=%F@GzSA^p)HWmVdsMCqQ-cYSUTyc{R>m$KvMWXpc|LPxzQP0V|5vmn8@lwx5r zJJ|Wu#)@wp{12tFDUcH_IHc7W0ay!>meb?%akYP@{Vsn*SafhL9# z1FrfE95=3(I9!!xfzeEBom-VxaJ=#j(dlL zFHQ&Z4?#|7`O$-p#+MFt06heC5pNar%V8-iSe&n!TfRE?fmLC@NBEFw|3gcMf??HWIx>o?|>kd_|DOr-v{s4%t^`4_s4-an(8Nr-8 zL`W-OzV6lxRjjIE>|=*zIpd?~?oq|EOqu4P9Xi`6?Sxy~VA8r++VSxi;Z5x&W@#Jg zPBB>JU0o51aU$Q1hnzl^*;boeU?X44d1UwVv&S~+BSnwLo}p}Hr{p=ncx~^sB)@vQ zP8ffo?H^WYSGurVA1!`&xH-M6GpK}EgO#OCls&WU>{8-&+rzM>kvllMKEh3+z#NK% z(~SY6Q}6UR3N$`WR~ZlT0?E&+n3j-ZGOJ&SpjEF~me_=iy-A2c*Z zT`RUO`L3jzU8UPM?IhhY%O$!R?M>N8U0>u zAY&pTM{~%CGR||(`+x2?-|x04DT%>j|oPkb*(26#-PpVM4;saj?0q z+*G=FK&jX!WYS+rq7n~NK+QN-K+Mg@Mw4iO?3@JZz;pO9EsLUjuskh&*YKeLz zYLQeE64N|H>9&TnYnqvLej3T1f|b(Dz<;G5mYxu>Go*Xf8PZ~>`+REKR4_DJC!ZRr&0Uc*$C2JjJU*zJP+o>Gs8QJb{X%e^araj?iI`POm z6P|zQg~msAy)$xeh|TWu)po1Cw-Q8*OG5Vu_XwX7x;suEJiX_1`;*U>Ph53Yo-@?{ zS@Q7dj?;?Uk>etjc7FL?#^$z*N5bCs_Y?YEIPGA6yl@&!4L&%zr~4n@QWs9=ZCl+# z8UKQJs;Nr%h12=nC850LDoPPz#h^mflA;?GF3UX?DSS@wC;0 zm^j2sO$?+OWa6zXJ$Q+PU4fVA`;RkWYsNYyWIj8GEL~m-cxidGAh^OQn z=N_j_U_cDTau{lPYCrjdfc)W50hV&|(+Kq|rkDjIh!f|6ogc^3taKDV7tC^YdUrj| zvdy5F(mBJFN`Yc^;~bHnOUSWkfsKC~45CUrtGZV*rNhap*%=D8D=9YeRiy)INsL8Y6ZWx(11WVU*tJ;; zLGPs+G03ts_R@*hRt9I*8Jyv@=4juyBIP@MERU6>`ker?`X1D3J(F}s^jh4BwHK;n z+i2U`Mpex2eN%=h!))hAqSw*xb>}+LYqWrh*uBlEep0=^ZDz@cMzZ|~XR^e36^+`+ zQsLBHK^|Wj8MGk7YI8F3N^8R}p5?#n}cnCB@Vw|(=h zslbd)5O&8~eP)3)mc?Tr1u|pi2SIbrBcRs7vEy1=&iIoRkM3N}v_4-|>@;55^Spgf z=MdeO{*$ZXn7+1h{tm|Mh=yKQPLbNX3oFVi-fjLLuwrq--z-&!aPTuzj%a|PP zn>fjE!)#NYpT#ffVGs>V_fb89t2nH4fvYc4%BTKCA(M5P5}a)6p?H}vZ=s-luuTf6 zOxr-so7Xr@*Fe=$di*gIH&8W{iQ4OXpJYxVRS}U$1=y;65AJ1e151?f%d>={_~wKo zFdNBnSuwQ3I_w>CLLt){XDXG)!2+v#2+VQ)7&*THc&r{25sl8Zr%c1Y9_ijimnJv7 zSO2$j;{9)DoXR-m4xL&jxNpSZ_nU+Z;(FqZ=`E}2=_eB(v!Cpu7uA&s8!}EEF2#gN zAGIg(9Fi2E!Vo1iR+I*^bj{EjG8K*XVNfZ%pkWh9;#;M~ZDC3loS~xkKg|db2 zAA}jFo;@2W$vE`|HMuL}l-O{JjO`v}*$0~l@(i#9wBHOtgdqV|nbx4Dm8e0tdWC&U z@A3`eF*#p!Eyu;8c}$$ola?w?84C>b5rHhHTo}DWBP@VbCSSrIDb|0J5*Dn$vUGi2CuO$cqAIFE4F%~IsM+*4pwbF3t zsl9WFM}ZibePYK_#A+~(!W!}icN2cR*TW$Y4S?}RE|Py6F6fExpT`^Sf5x=^uf5^EGQ9VH zD<$UWpN5bwZ{|O9{`GZiZ7h_cB%ToN^UFVmdaV7o*5L!+XtdWQ!Acw1XPFEv!mraT z0m}uKPLrzBs0qtR{LCbn4x>hBG=^k)nS3d(rMFc^Qb)M8^qaD65|~!;Ei>2JZ3;v( zu$CUM5jQhML^)*vm6W<=UZ_HlO@po z;oDP#1cdZJGTd9{T}%#Ve9sTytcH7dU~4RT_cH91;&w+tcn!d_5av52-zt2rzK#J& zZr}jtOavb$1P}vYnRr~;{`f6^_uwBt(c&!t6Z3K2%656Khx9&zf6$-(g$Y&y>##^2 zY-sRj4nG)O0g%z#&90}6xsa&K^J)5?Z@8YU*QCMc_kZ_m5)2Tr1mdoJe#!tT|2PVs zf5n&h;~a$CJ>c`TfbDMlQ2dGae+VAa?P>r1ZFgf~6_oN{{EuyhUu~ea!+1O}1%IEv z8Yu0RY5vdRe{jO`pNRjX!4unm@&8qw?-#h<2K2EBUpi0oDUN0B{$;-2m$V z?g2m!>pnO)18fA?1h5%k3&2)@djZx0+z;>|KnuV_01pHF1>g~YR)8G?0z3!sJiz||ya4bbz+VAg0>JWIaDE%$ z5Wr!8BLFW0yaMnlz)^tL0A2@p1K>@7w*Za-90xc7faRQo^E&{@ex3q&58yPw`v4yR z{0-pm03QNi`j0&4ZaAL-I16wN0PlSa=T87W1^CPp_XV841o$VwR{&oFTma|+xCrnK zz_$S30elbeFMvw`KLB8v2$v!JGr%tx2fz_67-w+nPaY~L<-hbF8xI;{z;?uVJg%he zzt!B{GWa}Q{OQmA{+sfj;Xjl9HvoS6Fa7_m?svoS{|V#Y{rPYhVbK8i`bKWF;b;ZK z=sEf~3r6+7_J)5ip1dXC3iZC#s1w^xZ zyr`L`$4S8eKr~Jw0QPjf|)0AIZ&CY?<*+LQuGKGxm&%E3Hi^ES2u2l+ zh3O0pG>}2BS)e8ohA|Tv?MDT|EQKL?S(Gk8L!vZM=Fvsd!CIsYj9!Zh7CRkv_IY|; zk-$!L33ZhvQF-8PiZ#`P;@eh(yWN8>kZQ8zDay+$N>^C&Ncm(ZtfVVlZh6ERutngc z8ZEl4?9?m`F__g!nb{^a(Q34r>dY+5lq9FcWOAAfPN7b)#^StxR;_Iwn@zw&fTIXz z_ayVGs~FM5ic)Z4<)|(%CeuhJF_B`DPo|JOGM-q7nG_@sk`!YcTj;MWm8Y%Q60!&>lQLiOsOgZUz_`K|HmYVGKH zpK8AOJa_J&puGRZp9n+m?tMPbMf`Cg9gt+6fKSIvuc*={ciw3wLJaD4;s#GJ*{}$L z0%oGEbl)>p!Z0v|lAnt5gi@Y{kPPEsSmCI8sl!S{gdZ-Otr*V3&T9{;x5A9b!~%4j z=`j1lg%ilIKuD(8%PnOUb*mUi%b>who&JkZE0J=yDN<|!i}rdjuOIS(l?3A&SFc}D za4X9D6g}Sw$r;{g7Hno?--Eh=pWEt%{@-7dMaO6P?nlVtv9qn6ryB)Xe3`=86%Oxu zi>2p!tCQ9P)$vqK_jzA9`6~!Z7~aKmrf$m!EAip4I6t43`Zd@x+->ykoO{=^eb=|b z^(!VT31QI7sn^-F*Vl95Tkl|5IMeMh1RM@&Mc_paUE++k;A6|+4qioPSP8{cSQYrW z$}r}w^Z0Elz(@1f3#>$eO~$VZM#rGw7qs1GB|*K-1)hgJj)(0@rC0{HzT_f&MS1Tt za&XDXxVhL1z+`RhaST+|&->|rtgtDacc~t~QZHy5RMg{SST+pGBWCpHsDYYDA;{N6 z8}mMP23Q`E1Nd(>+y9SN(jNWc|vrTyg^s5mK~$6a_`0;5OZ>Uq#y;3BEM z%H#g`XJ`~D!CPF_FHPnuf(C1$_h687WORN4RG+~aN~i?yi8gorC)e~C1K(q&Ew&PW zPiizqvxDQ>+^vsZlRSw}{;3Ol6kj-anT52Mre2dal}~%?BK+EX+KG!H>1R>bBu(R! zR%5_>}hvglO~x@bLj_9|G*)|TiC%jxdU2U?j2~H zU3i&&&oxD)@I@TeU}y4-O1=o*26K9Jzp~NbiQ5>V?PY95&$3k*zFdb){}ehj@kTyc zfL8_3zTm62?$a6gCE+TU^H%%o5qN(tDS!Qo4&M?T*S-QhRzScOXae9c0RxtX%2UwE z7+m-Y7aO~AP}~8beb8hQhBJHt+nBZR!KIAH|Kt41hXKRU;GSogl^;VjbAuLQOx@y1 z#W(_aC$f8>78Enb24had@C&YPfk8qF8|Ut1^ye4^&yZ=ribdy))`nOg$IhygRA2N8R@ANEskg?U#84?u0C48Nob*n|zxl^F)@ zNl!>IWQWk_&~gle_E6^%xzPMd?M%Q?5C>M6w|hhSVsFS`g^&PD@+<#w7CUcm1;L^x zu7%48BW2tPtSo1sN`_<5&V4u~jzAt2a5y}A5`H(p$(-e>{pecAPo@CZ(+0zUA!wFq zynxNerB3>1Xm42iSzp-jWnVbu>%MU61qh4zyjl&L&kf`&D8tfs;j`gnIVxZOq-4`C zn;(rPG79>S%le)c5hb}qivd;rNK4@NGA$*+Bphl32k@XFgr#w^SV;@ucLdGA??_q* zzp+sMV3G*oFu1}a1)e*cq(S-!G6vGKBpuR6dhQ025%6{tr>KU&f50)9lmG)(&Fv)d zv`6qBH{+rQ?c1 zL!zsT8goTaIw<_hV|+7@8@Q-suBfB|ib}ttsAMSW8xO;4?JFv907evFGkJgl6X}6c zyWLNP^EF(A#m;^G>UK-wYM63Wfpu)bY;?g~R+N{WO>)c@ZF14X0#{x_R&H+8YDLpT z!fKNfG;Cf8)!51AR+QA*YO@!U34|I1oE$xo@QmHfB-4)q`VV~cu38uH(GH?_G6E~n zWEqll7K@fuTQsTJl*Xi{QwgKi=#n+5Af#kzGBXW|fV3oPtRRG&zCaK*JwUl7NyCYALa6Ol1GweYsfCAbghe+h9nbhnkhx2Nl`nq z&1tD>gT}aym{PR{b*jZoEUDQ^S!PQbwKf@fMMsgA7_@1IB2!HbK|ZS}x4M+rDvQt* zsfbt>0f|pd&>VJ_(y0mdMP+NsLejy#n3J4Iu*f%blTgLV1lqc8qOZ?>>ZDnZY^)0S zSV6@U*L~$=j>YxY3S)Rwg&9CGR=le zbxKyY(~y>JN=eN;qZ#t1?EnG#>1HGZ2n)=)31Gl^4hlFrny}O;QbfjHVYO!fDKYyB zTRpF3o*JY_KKy%Ddr>fQ6TtE>ilhOU$!K^&KFD9yWET9|p#QK?eg!9LJK!F;LW8(@ z@LP4&orx$Gb2%Mww;W`2mctb`h_i#dUgVK)z2_8ouGSN4A$XNVa^Wuu(p5mOt%s+> zvR9CaZE%HUV@*&tWI;-HWzme9iX+~s{_93Ymfe+>uW77)Dv3@ zR0-G7S_8ESs1V=}-^UJbk1bsdZ%_mhe_y;7a03hgatk~I+_b_oF>HZn4pgFrEaFPT z*20_#P&*dND8L$oou5#gtCGa%-8jG)Jrx(dUy-E*d^lzOT?NvIi7X904I@AER zjDWXY2;Z{^`UbeQfV$bCH|e1V7I9a2AJsaTzYanr@XmQqdkgo~>md&NU*9+H|0=59 zFRp{WlnwMK3*N#2ZKwvak_j;;2%&YC7Or3r!hH+e;os8)ckwL^@W;pNz^XNht4S)H zukVZhJL4k{Y6zI0`{sNP0Hh9Y-#0P_`uhF*&7b-HANBkGS@7;j@WvMS(?Yvg;H^`k zPTp3-_Dl7oz*f^iZ^IO3uFW*iqL~o#wi>orU#ngH{Tv$@9WhM!J2;V z+gyKNr(m74x32@Cf^iJ{QNi;x@T-QmG($`(gbWbF_kR;y1C8R|8ntm2xXy<6huyCr zoc5dV>eXdoKgay|ECYmjyakI3peIv08~P(0}8MWE@!kx&DnzVV#OjiMrG7o_LB zUd#b;b{O$x(7FTlhrV<-+CIpw@TApCS$+1S4TQJNfQmv(CBvI!!JA;K;P=*W{lfrv zu&uCv=;59YLO@y}M>fP_2-_K!%tH?BABac2{UeK`I@5vf6u{f_XT)E9_z+tWbMU$F zjNc4PEP__)ONUq!sZBWm>ND#gPZ_jsB|LEo7tccL@^@IM3sSK<4hL8ELnIXWqW7Kk zQ0HuTAAGAM2;)cqI?nYN1KhznU_0OlK%9~S?~3Wu;1_#WD#UvG3DzDdZQq#a-%m`C zb0UoXNdR}kQ?9qSpw`#|srmQwzFl7*xsmq<;m3l#fDjk=3oijeCEfSO^o2zv5RwMd z6d447B0?yf!vH*j7R;j}=L?oDId_99pBJaxZU&ef(C34OK@41t5Youtp0xMAH{I1| zim%ZXzl+}WA^jx{J;zz6Lm$0bjEJSLOy_o=+w3U{U-$=LxL}7o7=*K-+c=;T;$Z8O zg-`-OWOsG3DfDmWal8L3KkCtq7~-I!x*SU-r@! zMQNcZT(yA5V*?ju;EGBcpr{|OD9V7f^5=_k4O~ZW^F4H+^+Vw;QMC@qjryZ+rDX$rPpH#Q&=Y<-ph2LIdC7WAS5LeIF6X z)p5Ud4fung^ndkzR4!Z{_ea+#qyJHw{`aw+`(NKk*m?tbv1{B&+5c`@{NR67#y7)@ zf4O75DetdutMjJaQ+q3>N3`5}?8}1rQ&&xJ?map_a@e7Z-uRJ&iYuzE2lAf#LR#PUDL@Z~TZgpCoQ8TxEQ0#-5VulrY8{pP&86&pC5L@|vf=K7B^$kXmni@Q&o4 zcb7e8Zo4hT)uj1)j5q%5qT(Gd*nZ62s)|*Ad;a21Z#sU<{2)um&2Iboa%m~0~imxBr!PPgHV zLv1fi++8{gYFurC?p*yjjVWs)_{+?>Q#)BZEpw@*=={iSny&_T`x(h#rKJr}kn1p& zO%!Em!@v2wJh{8f$nKR*jd@QQ`?C4(1Sm? zc7`jdMtWO(iSN11N+lDwjnG54N%&bekE6%2WcLtOP}u5M;Yy#btdjr@>;_^um;5dC zYoYEZVRfLs`+w#I7CqfHH_)`FgiV{rrp;m%y9971Zn;hK=G5=yy07HA&$-_Mx4b0b z%VXaSOa4lpobVGv)i@9i2v)1?p-D^ z9#m&jh;ZfiWQ4V?m`^1qcNneF0eIA|^vJ4!|`ICkbU^VvjBTM}MB{KT^HcJi~ z&iIWvP5mO$xi&}S)6!x*f?jrfTDpn0-I((LY4qB zk-O#Y*^@tO#xtRVft7)J0sxCoRw-d!!EFV31lSo9C3HemZyEoDqA~w(=NSPN1Wphj zqFzyw2aJ;qq#BgsLmT5~_0L}qY5JZi@H~^{@D_-cTE=Ro^|ASfUN01?skl+_7|jv}RpgW}{Nlt6jS5g&W~zkwe6he43# zdY}IfNNe*vLcr+KMVxR8$KaFrc^2J5$el(A{N}ht>zCd<@&97_`q;qZ zJPgtsolqh-&Y=oUZyqg1{^oO74yO%+l_`i@8rR~8U$G!}&7}ehjMZKEE`OL;#O1}D z?e<4*`ReYE3lM$f;fq4vfycS`xqW%R&P%gnUL51UpZ8jvHVZ26#VZ51&((NkaX-8g z+BmcyPW-LMVrJ7sE~HiukTrf4tNHh^|hrFCd0|SnPxaLfd=~ z=^^NZz6wN!C(vR*nYp$SdnNRI?1+5Y5nS1j&WXeU+ff2D!(I~!Y(E#?fcamn1H7Np z2d=OVQb@;5$wT-j5U2W=hv{(O;Je8n9XE@w)sUG$@UO0;9MWJNv7LRqb%Y44b@v|Zmy=C{c7s{WQUVe4@lmc=l&6~cjFCkLHHt_4$m-Ns-=0atS{$Xn)XzcmsJtc&96^l9<4o}cJR4|4BNNb_w2D3TD#TzgQk!b$+2WFXv& zS<%oE?JVn9&H#=Db5JhC4N}Xz5_?&hy$oho(S(jG{kybh=3o1m-;9}NnNpCGH;GM3 z&}ihcO!UplE-@$TOv!248nre#%dFOF%@%c<1?ELH8k0$*NlG!84B5-T@tDU8E(;!X zSk}y2oFea1C2|+pFrv*(+wvuESKAMypLtPU?3z*A6es9eCH!|5jmj z4S$ErsMkY{;hHaWdPP~??A~lzeNq~Km$L?%T9aSx0CTnKD*ln+!0L@3-#Kxr>%9{v zj&Oyb*Swsn^6F{!+TKD82HYk-o5_K*CQ9uCYzy=^tXJU!vf-t>TJz4{M5 zJdu-)lKVv_dn42OMMAIVQ|kIf;`rn3WBNrR#o!{f{UVWUa*>99kvL?y$drDOfbKlm zHT`1$oYMg)%6sHwr7M?YSu9C9t;wQJF(hf#hD=MgI?a%rqE61vgeiW5#$vD}ErTAE zRb5&?4?0kK|5i^NIS%ZnxdU93+DhlzX4%u1n9OO}y6iNK+LD@*;_1TK$yaq@=iEzu&O^^-oYZ zuCd1hOk9EYMB4^_jywnEhRV5VfZv*L=JR=fRi5XELB#d8KLyY3_7pI$##UDW8-eI` z=}LW?UZ>N+NQ4ezo;WsLY0{eXnMs-Y%(VW1135o4U1`u6G)c+XN!iKXKe#j2oUXL! zE!ymqBtu$SQW8RPGTe~MZW~wazP6rX~fnu<+9$np>(bF#5iC{FBAx()7w*UG4dE5KEm}6l zYvXf8F;GD?0(aDa=_S;wKZ;5Rcl*8nX1S~v*Iao6eDdpf&?ajkeTv2q&q8t@4PBYm z6Pr9>Y}$aax&dR828`7X7;6|XHf6wAt>)@zZxR=r) zYs|4jeX)NO+DdKvqa^cS7F) zFnLM@01ND?Y z5#pSgVW*$`^$5jLryfoirr3NRynpV0j2!XduPQUGiNY#S6|*8yPLYyrTw`W2vm z+hANNEOk-WSK+ckP@UkR;Mx~MLeLPQH4yS3cFr#4#`uv`cv}CSj%EJQA%yoG=V{>o z1^V9`etr-ryJ86H=k!=bZbpF|bf!Lx@y;VzCHIdI^O z1BWkh7r28JZsfsT?EmS|mq)h41**jMe)YzslfQ6TU;AwDb6nts?~lE}r967<*u{hI zy?mY1-<-!^9 zz%6jbI@iD%`3fhTvD9^NM%;itsj%4no@*>47@*ixHm taskCodes=null; String positionCode = ""; -public JSONObject getDeviceStatusName() { - JSONObject jo = new JSONObject(); - jo.put("robotCode",robotCode); - jo.put("robotTypeCode", robotTypeCode); - jo.put("pointCode", pointCode); - jo.put("positionX",this.getPositionX()); - jo.put("positionY",this. getPositionY()); - jo.put("theta", this.getTheta()); - jo.put("forkHeight", this.getForkHeight()); - jo.put("forkLength", this.getForkLength()); - jo.put("forkTheta", this.getForkTheta()); - jo.put("stationCode", stationCode); - jo.put("locationCode", locationCode); - jo.put("state", state); - jo.put("hardwareState",hardwareState); - jo.put("trays", this.getTrayList()); - return jo; -} + + public JSONObject getDeviceStatusName() { + JSONObject jo = new JSONObject(); + jo.put("robotCode",robotCode); + jo.put("robotTypeCode", robotTypeCode); + jo.put("pointCode", pointCode); + jo.put("positionX",this.getPositionX()); + jo.put("positionY",this. getPositionY()); + jo.put("theta", this.getTheta()); + jo.put("forkHeight", this.getForkHeight()); + jo.put("forkLength", this.getForkLength()); + jo.put("forkTheta", this.getForkTheta()); + jo.put("stationCode", stationCode); + jo.put("locationCode", locationCode); + jo.put("state", state); + jo.put("hardwareState",hardwareState); + jo.put("trays", this.getTrayList()); + return jo; + } @Override public void setDeviceStatus(JSONObject data) { diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/ApplyTaskTime.java b/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/ApplyTaskTime.java index 96faa60f..79aca588 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/ApplyTaskTime.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/ApplyTaskTime.java @@ -6,4 +6,5 @@ package org.nl.acs.device_driver.basedriver.hailiang_one; */ public class ApplyTaskTime { public final static long APPLY_TIME = 60l; + public final static long APPLY_TIME_TEN = 30l; } diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/photoelectric_inspection_site/PhotoelectricInspectionSiteDeviceDriver.java b/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/photoelectric_inspection_site/PhotoelectricInspectionSiteDeviceDriver.java index 32e6aa44..5f24de1c 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/photoelectric_inspection_site/PhotoelectricInspectionSiteDeviceDriver.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/photoelectric_inspection_site/PhotoelectricInspectionSiteDeviceDriver.java @@ -228,7 +228,7 @@ public class PhotoelectricInspectionSiteDeviceDriver extends AbstractOpcDeviceDr dto.setCreate_time(now); WQLObject wo = WQLObject.getWQLObject("acs_task"); - JSONObject json = (JSONObject) JSONObject.toJSON(dto); + JSONObject json = (JSONObject) JSONObject.toJSON(dto); wo.insert(json); requireSucess = false; diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java b/wcs/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java index e69d5d60..8293c5d8 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java @@ -423,7 +423,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder"); dto.setOrder_status(status); dto.setUpdate_time(DateUtil.now()); - dto.setUpdate_by("mes"); + dto.setUpdate_by("lms"); JSONObject json = (JSONObject) JSONObject.toJSON(dto); wo.update(json); this.order.removeIf(o -> o.getOrder_code().equals(dto.getOrder_code())); @@ -472,7 +472,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A HailiangStackingStationDriver hailiangStackingStationDriver; HailiangOldSpecialDeviceDriver hailiangOldSpecialDeviceDriver; Device device = deviceAppService.findDeviceByCode(dto.getDevice_code()); - String upName = SecurityUtils.getCurrentUsername() == null ? "mes" : SecurityUtils.getCurrentUsername(); + String upName = SecurityUtils.getCurrentUsername() == null ? "lms" : SecurityUtils.getCurrentUsername(); JSONObject map = new JSONObject(); map.put("online_id", IdUtil.simpleUUID()); map.put("device_code", device_code); diff --git a/wcs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/wcs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index c263a14f..52d879b8 100644 --- a/wcs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/wcs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -30,6 +30,8 @@ import org.nl.acs.task.service.dto.TaskFeedbackDto; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.FileUtil; import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.lucene.service.LuceneExecuteLogService; +import org.nl.modules.lucene.service.dto.LuceneLogDto; import org.nl.modules.system.service.ParamService; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; @@ -75,7 +77,7 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { private DeviceAssignedService deviceAssignedService; @Autowired private InstructionService instructionService; - +// private LuceneExecuteLogService lucene = SpringContextHolder.getBean(LuceneExecuteLogService.class); @Override public void autoInitial() throws Exception { this.reload(); @@ -561,9 +563,15 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { TaskDto entity = this.findById(id); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); InstructionDto instdto = instructionService.findByTaskId(id, "instruction_status <2 "); - if (instdto != null) throw new BadRequestException("有指令未完成!"); - entity.setTask_status(StatusEnum.INST_FINISH.getCode()); - this.update(entity); + if (instdto != null) { +// lucene.deviceExecuteLog(new LuceneLogDto(id,"任务号关联的指令状态instruction_status <2:"+instdto.getInstruction_status())); + log.info("任务号{}关联的指令状态instruction_status <2:{}",id,instdto.getInstruction_status()); + throw new BadRequestException("有指令未完成!"); + }else { + entity.setTask_status(StatusEnum.INST_FINISH.getCode()); + this.update(entity); + } + } @Override diff --git a/wcs/nladmin-system/src/main/resources/log/AcsToMes.xml b/wcs/nladmin-system/src/main/resources/log/AcsToMes.xml index b3bf0623..07c3cc70 100644 --- a/wcs/nladmin-system/src/main/resources/log/AcsToMes.xml +++ b/wcs/nladmin-system/src/main/resources/log/AcsToMes.xml @@ -6,7 +6,7 @@ - ${LOG_HOME}/ACS请求MES/%d{yyyy-MM-dd}.%i.log + ${LOG_HOME}/ACS请求LMS/%d{yyyy-MM-dd}.%i.log 15 diff --git a/wcs/nladmin-system/src/main/resources/log/MesToAcs.xml b/wcs/nladmin-system/src/main/resources/log/MesToAcs.xml index ef123a3e..f26a6ef7 100644 --- a/wcs/nladmin-system/src/main/resources/log/MesToAcs.xml +++ b/wcs/nladmin-system/src/main/resources/log/MesToAcs.xml @@ -6,7 +6,7 @@ - ${LOG_HOME}/MES下发ACS/%d{yyyy-MM-dd}.%i.log + ${LOG_HOME}/LMS下发ACS/%d{yyyy-MM-dd}.%i.log 15 diff --git a/wcs/nladmin-ui/src/api/acs/stage/actor.js b/wcs/nladmin-ui/src/api/acs/stage/actor.js index bf0d14a4..36619100 100644 --- a/wcs/nladmin-ui/src/api/acs/stage/actor.js +++ b/wcs/nladmin-ui/src/api/acs/stage/actor.js @@ -2,7 +2,7 @@ import request from '@/utils/request' export function add(data) { return request({ - url: 'api/stageActor', + url: 'api/new/stageActor', method: 'post', data }) @@ -10,7 +10,7 @@ export function add(data) { export function del(ids) { return request({ - url: 'api/stageActor/', + url: 'api/new/stageActor/', method: 'delete', data: ids }) @@ -18,7 +18,7 @@ export function del(ids) { export function edit(data) { return request({ - url: 'api/stageActor', + url: 'api/new/stageActor', method: 'put', data }) @@ -26,7 +26,7 @@ export function edit(data) { export function saveData(data) { return request({ - url: 'api/stageActor/saveData', + url: 'api/new/stageActor/saveData', method: 'post', data }) @@ -34,7 +34,7 @@ export function saveData(data) { export function queryStageActor(stage_code) { return request({ - url: 'api/stageActor/queryStageActor/' + stage_code, + url: 'api/new/stageActor/queryStageActor/' + stage_code, method: 'get' }) } diff --git a/wcs/nladmin-ui/src/views/acs/device/config.vue b/wcs/nladmin-ui/src/views/acs/device/config.vue index 068e6356..f324ca19 100644 --- a/wcs/nladmin-ui/src/views/acs/device/config.vue +++ b/wcs/nladmin-ui/src/views/acs/device/config.vue @@ -139,6 +139,7 @@ import hailiang_old_package_receiving_machine from '@/views/acs/device/driver/ha import hailiang_cleaning_put_line from '@/views/acs/device/driver/hailiang_one/hailiang_cleaning_put_line' import hailiang_engraving_in from '@/views/acs/device/driver/hailiang_one/hailiang_engraving_in' import hailiang_frame_weighing from '@/views/acs/device/driver/hailiang_one/hailiang_frame_weighing' +import hailiang_with_station from '@/views/acs/device/driver/hailiang_old/hailiang_with_station' export default { name: 'DeviceConfig', components: { @@ -202,7 +203,8 @@ export default { hailiang_old_package_receiving_machine, hailiang_cleaning_put_line, hailiang_engraving_in, - hailiang_frame_weighing + hailiang_frame_weighing, + hailiang_with_station }, dicts: ['device_type'], mixins: [crud], diff --git a/wcs/nladmin-ui/src/views/acs/device/driver/hailiang_hr_ssx_station.vue b/wcs/nladmin-ui/src/views/acs/device/driver/hailiang_hr_ssx_station.vue index 2fcb0beb..937af41c 100644 --- a/wcs/nladmin-ui/src/views/acs/device/driver/hailiang_hr_ssx_station.vue +++ b/wcs/nladmin-ui/src/views/acs/device/driver/hailiang_hr_ssx_station.vue @@ -1,489 +1,494 @@ - - - +} + + - \ No newline at end of file diff --git a/wcs/nladmin-ui/src/views/acs/device/monitor/index.vue b/wcs/nladmin-ui/src/views/acs/device/monitor/index.vue index 35bfca3f..6e40b220 100644 --- a/wcs/nladmin-ui/src/views/acs/device/monitor/index.vue +++ b/wcs/nladmin-ui/src/views/acs/device/monitor/index.vue @@ -145,7 +145,8 @@ export default { duration: 0 }) } else { - const id = '123' + // const id = '123' + const id = '' // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 const wsUri = process.env.VUE_APP_WS_API + id diff --git a/wcs/nladmin-ui/src/views/acs/monitor/device/index.vue b/wcs/nladmin-ui/src/views/acs/monitor/device/index.vue index e69de29b..f5b9f5b8 100644 --- a/wcs/nladmin-ui/src/views/acs/monitor/device/index.vue +++ b/wcs/nladmin-ui/src/views/acs/monitor/device/index.vue @@ -0,0 +1,600 @@ + + + + + diff --git a/wcs/nladmin-ui/src/views/acs/stage/editor/index.vue b/wcs/nladmin-ui/src/views/acs/stage/editor/index.vue index f85330ec..553e8e58 100644 --- a/wcs/nladmin-ui/src/views/acs/stage/editor/index.vue +++ b/wcs/nladmin-ui/src/views/acs/stage/editor/index.vue @@ -199,7 +199,7 @@ import del from '@/assets/acs/del_new.png' import crud from '@/mixins/crud' export default { - name: 'StageEditor', + name: 'StageEditorNew', // 注册draggable组件 components: { draggable diff --git a/wcs/nladmin-ui/src/views/system/monitor/device/index.vue b/wcs/nladmin-ui/src/views/system/monitor/device/index.vue index 5a0af2c4..c58c565c 100644 --- a/wcs/nladmin-ui/src/views/system/monitor/device/index.vue +++ b/wcs/nladmin-ui/src/views/system/monitor/device/index.vue @@ -166,7 +166,7 @@ import deviceCrud from '@/api/acs/device/device' import { getDeviceByCodes } from '@/api/acs/device/deviceStageMonitor' import '@logicflow/core/dist/style/index.css' import '@logicflow/extension/lib/style/index.css' -import {isEqual} from "lodash" +import { isEqual } from 'lodash' import { LogicFlow } from '@logicflow/core' import { registerCustomElement } from '@/views/system/logicflow/editor/components/node' @@ -726,58 +726,58 @@ export default { } else if (val === 'barcodeArr') { const obj = { name: '码垛条码', value: data[val] } this.arr.push(obj) - }else if (val==='robotCode'){ + } else if (val === 'robotCode') { const obj = { name: '编码', value: data[val] } this.arr.push(obj) - }else if (val==='robotTypeCode'){ + } else if (val === 'robotTypeCode') { const obj = { name: '型号', value: data[val] } this.arr.push(obj) - }else if (val==='pointCode'){ + } else if (val === 'pointCode') { const obj = { name: '节点编码', value: data[val] } this.arr.push(obj) - }else if (val==='positionX'){ + } else if (val === 'positionX') { const obj = { name: '坐标x', value: data[val] } this.arr.push(obj) - }else if (val==='positionY'){ + } else if (val === 'positionY') { const obj = { name: '坐标y', value: data[val] } this.arr.push(obj) - }else if (val==='theta'){ + } else if (val === 'theta') { const obj = { name: '⻆度', value: data[val] } this.arr.push(obj) - }else if (val==='forkHeight'){ + } else if (val === 'forkHeight') { const obj = { name: '货叉⾼度', value: data[val] } this.arr.push(obj) - }else if (val==='forkLength'){ + } else if (val === 'forkLength') { const obj = { name: '货叉⻓度', value: data[val] } this.arr.push(obj) - }else if (val==='forkTheta'){ + } else if (val === 'forkTheta') { const obj = { name: '货叉相对机器⼈⻆度', value: data[val] } this.arr.push(obj) - }else if (val==='stationCode'){ + } else if (val === 'stationCode') { const obj = { name: '⼯作站编码', value: data[val] } this.arr.push(obj) - }else if (val==='locationCode'){ + } else if (val === 'locationCode') { const obj = { name: '⼯作位编码', value: data[val] } this.arr.push(obj) - }else if (val==='state'){ + } else if (val === 'state') { const obj = { name: '机器⼈状态', value: data[val] } this.arr.push(obj) - }else if (val==='hardwareState'){ + } else if (val === 'hardwareState') { const obj = { name: '机器⼈硬件状态', value: data[val] } this.arr.push(obj) - }else if (val==='trays'){ + } else if (val === 'trays') { const obj = { name: '背篓描述', value: data[val] } this.arr.push(obj) - }else if (val==='trayLevel'){ + } else if (val === 'trayLevel') { const obj = { name: '背篓序号', value: data[val] } this.arr.push(obj) - }else if (val==='containerCode'){ + } else if (val === 'containerCode') { const obj = { name: '容器编码', value: data[val] } this.arr.push(obj) - }else if (val==='taskCodes'){ + } else if (val === 'taskCodes') { const obj = { name: '业务任务', value: data[val] } this.arr.push(obj) - }else if (val==='positionCode'){ + } else if (val === 'positionCode') { const obj = { name: '位置编码', value: data[val] } this.arr.push(obj) } @@ -789,17 +789,17 @@ export default { let resion = {} resion = lf.getGraphData().nodes.map(item => ({ id: item.id, device_code: item.properties.device })) getDeviceByCodes(resion).then(res => { - let startTime=new Date().getTime(); - let arr=[]; - let obj={}; - if(window.lastArr){ - res.forEach(i=>{ - obj[i.id]=i + const startTime = new Date().getTime() + const arr = [] + const obj = {} + if (window.lastArr) { + res.forEach(i => { + obj[i.id] = i }) - window.lastArr.forEach(old=>{ - let _new=obj[old.id]; - if(!isEqual(old,_new)){ + window.lastArr.forEach(old => { + const _new = obj[old.id] + if (!isEqual(old, _new)) { arr.push(_new) } }) @@ -809,8 +809,7 @@ export default { // console.log('initStatus-res', res) // 实时设置状态信息 for (var item of arr) { // 循环并且设置属性值 - - let temp={} + const temp = {} if (item.data !== undefined) { if (item.data.isOnline !== undefined) { temp.isOnline = item.data.isOnline @@ -830,7 +829,7 @@ export default { // isError: item.data.isError // }) } - lf.setProperties(item.id , temp) + lf.setProperties(item.id, temp) } } window.lastArr = res @@ -840,9 +839,9 @@ export default { if (nodes.length === 1) { // 因为是定时器,没有选中则不用实时更新显示数据 this.moveShow(nodes[0]) // 监控模式下不可能托选,因此就只有一个数据 } - let endTime=new Date().getTime(); + const endTime = new Date().getTime() - console.log("time:",endTime - startTime) + console.log('time:', endTime - startTime) }) }, dialogSave() {