From d3d9f76ba074be9193998c70e4895c5cbd4cabb8 Mon Sep 17 00:00:00 2001 From: baodev0 Date: Fri, 28 Aug 2026 16:40:40 +0700 Subject: [PATCH] update --- .DS_Store | Bin 10244 -> 10244 bytes app/.DS_Store | Bin 10244 -> 10244 bytes app/Enums/.DS_Store | Bin 6148 -> 6148 bytes .../Api/Admin/Order/OrderController.php | 2 +- .../Controllers/admin/OrderController.php | 2 +- app/Jobs/.DS_Store | Bin 6148 -> 6148 bytes app/Repositories/.DS_Store | Bin 12292 -> 14340 bytes app/Services/.DS_Store | Bin 6148 -> 6148 bytes app/Services/OrderService.php | 2 +- app/Support/.DS_Store | Bin 6148 -> 6148 bytes database/.DS_Store | Bin 6148 -> 6148 bytes .../migrations/2024_01_31_145201_customer.php | 11 ++---- ..._add_legacy_id_to_order_invoice_tables.php | 34 ++++++++++++++++++ ..._28_000001_drop_unique_customers_phone.php | 26 ++++++++++++++ ...8_113713_update_column_customers_table.php | 28 +++++++++++++++ public/.DS_Store | Bin 8196 -> 8196 bytes public/fonts/.DS_Store | Bin 6148 -> 6148 bytes resources/.DS_Store | Bin 6148 -> 6148 bytes storage/.DS_Store | Bin 6148 -> 6148 bytes tests/.DS_Store | Bin 6148 -> 6148 bytes 20 files changed, 94 insertions(+), 11 deletions(-) create mode 100644 database/migrations/2026_08_28_000000_add_legacy_id_to_order_invoice_tables.php create mode 100644 database/migrations/2026_08_28_000001_drop_unique_customers_phone.php create mode 100644 database/migrations/2026_08_28_113713_update_column_customers_table.php diff --git a/.DS_Store b/.DS_Store index 359e8432ca23b9d86c4fda44693bd92c6abe065d..c37d51b65e41102846f1790cc474cb292ac34069 100644 GIT binary patch delta 913 zcmc&yOK1~O6up^eW)dZ!7mDu^ImR8cUY za$SnVWp@o-2DI)*P^lGHidgAF5lg$&m2YNJXR6@V-Ff$(`#bN<+w=C)4{_A$+ynpu zSHK0g<_ry$s!oYTQk~m(o>S2qjAzIGk##5gFO{8|%lH7pD|q4Hv!Y#Kn1?brFb(4{ z1rzZJpVz;QUsi(&e{iBXAqPjLGbCMY;bV!WTBq&?i?N4-AEdoPH-O)zUQVQVKt4gZ z_fg*FuY8t=4b_Ta9oN*u#gRwBsV-cD5>(l#<@l-lH$mMF#pIdLF-~-9$ibpUxh=p2 zO~E-WL(;7chI><$#>e|_vfdzjXkt_p3oH0j%W(TnV_MI1hJ$^2mOmnPGW9%;=(!!} z>NH{F1AXbx(KY{{1(<!xXSaacSHm7u}y;=}^B&D_}= zU!DX~UuUFg81r|JZ~ZPgkbTR9`kND}7IIL_=DAy++V$6DS)i%pe>2Y>-#otnGWZPC delta 912 zcmZn(XbITxQz$}t)(Hj%24;pth609y+MXi__B5Ef4iAu0f zWKP$d{_ObVTv16lyH`|-iJ@TgN>K$yW`?sjCZ7?LW6O%2ytJEp@&_>m1XE6uK?$%o3K&Wmk{EJ;UQI^!s(3~1 zQhzR}S5ed;yb4h>*+W8ssexhg1PQUp4HCS}EPl^{Y$c9|agx50CxO16AR!@y(1au` zHu;wXFB7Z6WKKzWCT6|KT9PtsYrKj=gSaO9NXo&O1(FJk29qaBZcyi6x(?`Mc7|ex z5@7rk0aHLaLn^YPcQH@Mb7q*FA*H|uW%fxaGAT@$yirP)Ddpzm3sO?-?3$lmzj%Cn z@<%CYRVW)2pR8b0K|xWBk}jAYOg5C3Wm@xea)7iH``4`-=kC67d~%_*v?`Ph(Okli z3N`>$Go!%djnZI#&BUs0G#crul{C#H9hq^4d|457 z)EeCg*|_lwaiySG*McY_7Io303vCg<77FeZx>E3e?!9l`Iqzf4Mi6sfc<&_d{O>)# zckX@nzI#JN!IAaFLqs7FRdBK$9l<5zU_YO!qu}nGgbh%hs6&s?YHRt>+?h^F?Qi%D z_zd_A_zd_A_ze6PGJrXokIJyM{^~Q}GvG7O&j61PAx^e6XM5I~p#vAQ1b{8#wmI-S z)&ZtW=xoi|p0%bZ>a?qez!eSL5+kt1;SX63TXVK&tu0Q0Elz=p9Jm!qV4|a3Xyg>s zto2u)0iS_%26*jWrb#+OYt)qM_jcEc4_;0y+MRlRq19P{r}E+DXFm?dE>32t7Pq15 zp5@(wDB3)#0nd~r!L>yVyPps#-q@E`NS@b!6FjP(b|>b^S1BGldK9Tn57K?n&PGHs zej7;oKFRRc?|la0kE3V#Ra`shm1r9KDeKfuMn1ZX$igdQ@4j~9**k1|C`BASTcP6H zL3S77Z%_jaYe|9wyjP_BlHvT`^HHBjXkv;yjpCp!grVKwIENnEpl)6-z3$aKo#eWH zsk-&$H=l7|&8$=Qkblx@&Jb0i-!f+xy>=y?vC&dmA=y6t@z$r_-0$8aRga{~S81LJ z%X254M&3@-B68>U<)YqOm@zy`A$gjQFK?WD&*Z91302&R`6|t0X5}*71&$Un)If$3 zJR?JfM=2!F=Iq?Jz3&}QLKXAmt29r@`6+^D4L@Bq!i-J+EPaw;`U162>@{uFFDqLo z%dg_@?{VBR-HmrTr=Q&XLRuji_TAn*bvPPtRXvgH?ga;b7cAlAaU|y(p>)GwwPdW;mae{1Gw<<$`X%x9 zN+^EYepSrb=+&lY@jR9qb8a~X?hKXW9sl#C71MIGwPFh9IVuQKOiuT&;!UCk5j84T!USKP0l1kTb~coO4fsa z%pQB@JCn=Yx+U>;^oo0Ui@7T_=h~cmZIZXN=j$wurBcE>MSECAzf00&5rp=?*9xMLj=08=BB+6GQ9-3#KUHGb9F(X{+`>yepwki%dg@VOk9rb51)aZ znt>tv;34n-Pv`&tf2XF$Kex}oj>teztk2bt;8E?iPx_e)xE11@$H@olde)jExUhup zo9%e~!Q1f%+`ax}3xCbs>sf1xqns%YYj^Yi{eK389KOGXSKl3e{om!}kYE4*uh;*7 E17!o9TmS$7 literal 10244 zcmeHMO=ule6h8AZuT7d3QlX2g=wQSjDAXdjaxqC$t=iPugsfU^lf1;>OWz}Xjipj} zf{F`w5?qL&P!I%vir}UT11fo?2vS8v7Z%zsx)gV!(C^%PXXc#wd1fO>xdSujWzKi* z`R2R#o|$_?M8Wu(`F%tY5e?#GJF*>@l7szx7LJ;`GYuOco~T8q=yY>&-_%^Ifc7`M z0$u^HfLFjP;1&2kD1di1AA`fz`m0yKE8rDK72x_1;ba>-+qKq|4qVI<05-&JbKp1D z0VXDLHg>jatqDb&cJ&ar(7-J*0vis0#BkWy*{-!VoB|t8fy*4Y6-r>TBQ7#<3Sw*h z)hpl?C@R2f_pLNWbJU?Fxqe@6Tkx*$i-_gc#Kdf~H4D$+LobXUzqPS3R)(721giZq z?-nH4Vl)Fj`z;e(o7AxT2?^r8Q$>X2(_7mZy^-)y?JT!4KGi72$5xLz9l*ZE8Cp*E zHWDt6zXUGAD|wu~-hAcHFO4n=k#Q(TsQk2!1hfVDSE&IGojim4Z|41yL+|0&e}3}| z!$Gy7l&HXH9%e9X1CO&9DGh2@jg}!U&!srY>+84Ye|tYRyehDnO8Mw1LKB|LP$Q}+m%qOI0F=l6TJrafwNT1{|_hVXP(pZ_j%&+p+*KOWOjLju# zY6WJlo4n2^^S=1clcRN8S3*ktnf_&dm6upt)U`=GFVBf)?wNz*Kjr;0|Aq5kEk3c$ z^uKCDK6@2L@u-{mu!9bR2fzOoaPmB@co)`pgH<22{222dq$$_uJZkfN!(DHbVIY4j*pxWe~SjlXV{Uvl~6*u69F ztQjsjOg0;;Fq%iiJVKf=n)E_5c56i2v;s@Cw{v3IyTA)C4d4dGn_1sNrUW^8`*l7}vGdgy6yuzHheU z@dt0mKjQACA0hC^?q1hg6OK3&4r_Pw|MPza`1OCA^(VjnXBGOa&-Iu3owWYH4Si{P AfB*mh diff --git a/app/Enums/.DS_Store b/app/Enums/.DS_Store index 4b5683b08637ca4617acd9e379c053f72eb50f22..38c792f1378a2e520e6af6defb0e7b003066215f 100644 GIT binary patch delta 504 zcmZoMXfc@J&nUAoU^g?P%w!&x?s_%`7lwR>T!uu3OoqIibi?4}{M-TtFkr0*QYiAd z`7SO=Ir&LIaSj8fmV*jHCmb==q!3h7kO8x2avzHt6N|;AGmmVqU!JxFZ7t13QB!LmopJ zLq0<$Lo!2ZZhneOQcivnP=*7lYH}y*VJ0ry$$o5dy3ZJ1IxBC4Y7Af~0%}WPCfind($id); + $order = Order::with('invoice', 'invoice.invoiceItems')->find($id); abort_if(!$order, 404, "Can't find order by ID #{$id}"); diff --git a/app/Http/Controllers/admin/OrderController.php b/app/Http/Controllers/admin/OrderController.php index 79ec47c..718ada9 100644 --- a/app/Http/Controllers/admin/OrderController.php +++ b/app/Http/Controllers/admin/OrderController.php @@ -270,7 +270,7 @@ class OrderController extends Controller public function edit(int $id = 0) { - $order = $this->orderRepository->findWithRelationships($id, ['orderItem', 'user', 'customer.invoiceItem.type', 'payment', 'discount', 'invoice.invoiceItem']); + $order = $this->orderRepository->findWithRelationships($id, ['orderItem', 'user', 'customer.invoiceItem.type', 'payment', 'discount', 'invoice.invoiceItems']); if (!$order) { return redirect()->route('administrator.pages.order.index')->withErrors('Can\'t find a order by order id #' . $id); diff --git a/app/Jobs/.DS_Store b/app/Jobs/.DS_Store index 6c6d725c5fec1dfe65f899037ec9c624f6b10f5b..b6f64532bdd4090327cf4d9920a0b75dcefc4777 100644 GIT binary patch delta 430 zcmZoMXfc@JFDk*nz`)4BAi%(o$dCub=?tk1MVkdVmNVCbq_`MdfWpNLzR1!!>4w3{ z`MCu^c_84k0uor&<>tG%B<18M0p&Sz-nSl95IW(ATWt!OS}oj)3o?)$Aiyx0hed(O z_|{}S7CGH{l?lf2l3=~;3?2;mK*yIbWCA^ro|})b0;+0qC5s|sz~tF1(y>h&fKFop zdo+_F2ifV0d{1|0$b(Hpl1G?@O&-OCi~^g5S=|_!S)_MOp1`IwxsHvC{jNBJT(O%Cg z31`n|m11Hzuz5GD8zVDwU2$>*JJ3ov SUyq5UVPl~P<7Re_zx)9AhCD$4 diff --git a/app/Repositories/.DS_Store b/app/Repositories/.DS_Store index 32e84d3673c1c44811f33dff7e3ab8e2a4a34c98..c38ed63dcbb76801a0158ee4c79a4c98fa0948d6 100644 GIT binary patch delta 1090 zcmZokXem%&U|?W$DortDU@!nOIe-{M3-ADmHUdgU2@_ofz3PuwT#S+T>B^Y2+FXpYP?!x zFLYw^dO=xrDBBTeHXDO4Lq0^GXs33F#WH38JFheTPksxR0 zF{J0_r?@2L02h_sK z5YCVRbY~_*ac;f~+@J+KAWg?X)}g3CSOrnBxkO5kRn!8gjGF--bU?#O7%C?V2#C~k zyv8QQ-~+S~=x~I6{VxJw_F)(VQ;o2juxe;{b3y`~L4jd1kAe&nr`cpJ1u3>`Z$Xw# z_EM06F>@4l*m@)YoyrXKMFB%5veWLn!$Te}i*O25c501AzI2%fSed0Dkfi1bzqX3J6TLk zj=iU`8I*`7C#nfg_EY0Q;wv&4Fih4{SDU;_ZTIGWaZx6Er5;{ZNmihrfWUwoNVpT6tL+?Y9>bt$uTiKm|Q6|l}U+vvVgD@dtK*4 zWxI{XCmRY&t3ufzlUN!28H#|mr7{$uxp{M;@J1$e_TNB7>}kE*!FOS44`i_ z8H$k&{q70YbVEvp4Z_^~OG=P+;)6Cu^T~S@WSF?LC*M+#Vq=R-1DX9xK?cT@QQTo` z5)Cw%nZc2vfFTpv(1Y897QWaB4nDXnBH*C1lLeI|88=MUR$9%Z>@!JOZ1OuLE_U5g zkUhsI|5s8(VvA0;QRZVRV3=H>EHXI($P}ytG8H%$Re@DI0y$!n*C}(cK?El6Q}$)d z+svb4!sI2w4feY`Fy!-r@mzrH%+r$~+R;@YoQkYsa)5~Zw&7{lLgg-_RN`3dliCPmUN={Z2aGqQ!AtT8Ov*KyYgH!?E?-Cj0OKzdT>t<8 diff --git a/app/Services/.DS_Store b/app/Services/.DS_Store index 831d45940396bec20d1f6ce88203aa450ee969b6..b75235520c9b587e641b4889751dd92a024f607f 100644 GIT binary patch literal 6148 zcmeHLze^lJ6#gcj>dC$*WH>1Y5=Nif|U_= zJxu)4O7_Igj1!ftFLX%0A7=CDqJw>8Xkr^}pT+4)uNaq0vh!mxozxnX)^Zv3i}QKi39qMkLq09CYLi>X zXLWE^j&M1>IJy5_9<1XsdOXVKb0mC*v4oWRbnwyVQh(`tT^{EXw_n~(XlrW zO&MaEM(Oe)c& zD*K6{OgiTy8y8#54VrW)U773H%F2GBC|#ZNkq(D><1pjU2L*xxg#trnSd;UA;qmYP zA|Z@|0zrZQP61U(>d720%bu;J3zV}qVq0SqlepZVPGM({V?B_gSpHYgMqeZYVr(%t S$QfFA5zsP(E-3I<75D`+lFK*% delta 200 zcmZoMXfc=|#>B)qF;Q%yo+2a9#(>?7j69QhSR`znPBSntFf%wZ6fk7w=DWBg<>V&; zML3pScFU{0dfX9NHU(XFaw3Za6GOw~Y8F{0cGk(WSftowcdqz)plb3i78w}x4vX^S z>8!Tw7dUP6(!Ly@%*ZA@`5h|{5?^hzD2EWs#DcWV>>T_YKzD8yinvoice) { - $order->invoice->invoiceItem()->delete(); + $order->invoice->invoiceItems()->delete(); $order->invoice->delete(); } diff --git a/app/Support/.DS_Store b/app/Support/.DS_Store index e698cb6b58ce8e97b92b7133a786a8af1831cf44..46d2d4f520ad36e927a006ae9f5c084e8a38213d 100644 GIT binary patch delta 160 zcmZoMXfc@J&&abeU^gQp&*TIqiODKVlj~U-oEZ`sk{L1>QghM`gOl@f3mCwFc_WZQ wlFiL`aY@R_PXdZ^h}#ExH{Ct%h^``qfQo_)WE%v4+Ba`wy2!Gbo#QV*01kF0CIA2c delta 35 rcmZoMXfc@J&&aVcU^gQp$K(ViiODKVlQ)|)UtpQo(6E`E<1aq|$CC?? diff --git a/database/.DS_Store b/database/.DS_Store index fe224614325c7b77f8b2fca6d2dfff17fe1b8a00..afaf4efc9640c0dc220f7e1f7afc1de753338167 100644 GIT binary patch delta 164 zcmZoMXffDez{DgRFgb=vVzL(#7yD(`j)Mw9CniTTDZ|;VOsY%)43n581ai_1gOl@f z3m8Cv>5{@EW~s^Vn7G&s7e0TzUSaY-CN%_8ioYNONi~0h>QEi?K{>;M>g3@s}R}8Pzw| delta 162 zcmZoMXffDez{JEZGdYGyVzL(#7kljS^xLx?j!%weQiiiznN*n+7$z}G2;`(21}Ep| z7BGMSQ^c!D%u$f!bWBM#tinyInteger('receive_deposit')->default(1); $table->string('password')->nullable(); $table->integer('credit')->default(0); + $table->integer('unpaid_total')->default(0); $table->integer('total')->default(0); $table->string('identity_number')->nullable(); $table->string('front_identity_number')->nullable(); @@ -44,15 +45,9 @@ return new class extends Migration { $table->timestamps(); $table->softDeletes(); - $table->foreign('province_code') - ->references('code') - ->on('provinces') - ->onDelete('set null'); + $table->foreign('province_code')->references('code')->on('provinces')->onDelete('set null'); - $table->foreign('ward_code') - ->references('code') - ->on('wards') - ->onDelete('set null'); + $table->foreign('ward_code')->references('code')->on('wards')->onDelete('set null'); $table->index('province_code', 'idx_users_province'); $table->index('ward_code', 'idx_users_ward'); diff --git a/database/migrations/2026_08_28_000000_add_legacy_id_to_order_invoice_tables.php b/database/migrations/2026_08_28_000000_add_legacy_id_to_order_invoice_tables.php new file mode 100644 index 0000000..c3c7e1a --- /dev/null +++ b/database/migrations/2026_08_28_000000_add_legacy_id_to_order_invoice_tables.php @@ -0,0 +1,34 @@ +unsignedBigInteger('legacy_id')->nullable()->unique()->after('id'); + }); + + Schema::table('invoices', function (Blueprint $table) { + $table->unsignedBigInteger('legacy_id')->nullable()->unique()->after('id'); + }); + + Schema::table('order_items', function (Blueprint $table) { + $table->unsignedBigInteger('legacy_id')->nullable()->unique()->after('id'); + }); + + Schema::table('invoice_items', function (Blueprint $table) { + $table->unsignedBigInteger('legacy_id')->nullable()->unique()->after('id'); + }); + } + + public function down(): void + { + Schema::table('orders', fn (Blueprint $t) => $t->dropColumn('legacy_id')); + Schema::table('invoices', fn (Blueprint $t) => $t->dropColumn('legacy_id')); + Schema::table('order_items', fn (Blueprint $t) => $t->dropColumn('legacy_id')); + Schema::table('invoice_items', fn (Blueprint $t) => $t->dropColumn('legacy_id')); + } +}; diff --git a/database/migrations/2026_08_28_000001_drop_unique_customers_phone.php b/database/migrations/2026_08_28_000001_drop_unique_customers_phone.php new file mode 100644 index 0000000..f4fb8e6 --- /dev/null +++ b/database/migrations/2026_08_28_000001_drop_unique_customers_phone.php @@ -0,0 +1,26 @@ +dropUnique('customers_phone_unique'); + $table->index('phone'); + }); + } + + public function down(): void + { + Schema::table('customers', function (Blueprint $table) { + $table->dropIndex(['phone']); + $table->unique('phone'); + }); + } +}; diff --git a/database/migrations/2026_08_28_113713_update_column_customers_table.php b/database/migrations/2026_08_28_113713_update_column_customers_table.php new file mode 100644 index 0000000..ca8843f --- /dev/null +++ b/database/migrations/2026_08_28_113713_update_column_customers_table.php @@ -0,0 +1,28 @@ +integer('unpaid_total')->default(0)->comment('Số nợ còn thiếu')->after('total'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('customers', function (Blueprint $table) { + // + }); + } +}; diff --git a/public/.DS_Store b/public/.DS_Store index e55bddd08af207168b36f0c51c1dd4f08692099d..bd212570e5dab627f22f4668fff55c8c5c430462 100644 GIT binary patch delta 285 zcmZp1XmQxEM?iJLoz8;_LMI#<7#Nrtk{OB_igWW*T#|C~lYk-|P}#{31=iK49X0|A zu`;AF=uOa?+9H z*e3G{RWoY~8&2*Kl3~xE^(bFh?8M~tLbB>mHpmBTK&`n9i45rssSL#^M(ZR@{w$=c bBqOzP?(Q4ML28*8vQYgBk=yJfe251Cg%VI< delta 285 zcmZp1XmQxEM?m%bldAf|3ywQ7FfcGPBr_B<6zArrxFqG|Cjmt`pt6%63aqP-{u%@n zVr58U$Y;o7C;=&Sfh%lQT0eL94X`mNDiB6tS5c5*7@VA+TL3hffg#QTM6xhs0v!Uh zBPSh6j%_lZP&Ko4X8DjA(0`SA(f#R#b^zM f$)AOEm0V8eWq;lbb|w=;7OGz%a+{rm5Ags1%`sNE diff --git a/public/fonts/.DS_Store b/public/fonts/.DS_Store index 0f65c47842b6a890cddcf9122439380c640b44cf..64959c6da81a9247cdbf7ae4a343d2b9c01b3080 100644 GIT binary patch delta 226 zcmZoMXfc@J&nU4mU^g?P#AY6r$xQWp3?&Si47m)c47v;oW)SAA~2i%U{YeiBd}M~Q0JK?R``j`;PsGUVmvr;wa1sQ z`2<#_)4(*B&Q#~smCq!3V1kO8tSw*aUQ2pT{H fk_~0SMR_^-dFen=#?AYfJy|9;bZlnl_{$FfkR>y> diff --git a/storage/.DS_Store b/storage/.DS_Store index bb9a9d2e773a850b6b76cfc14bd26656f97db0e5..b698e7002bfe67d547e2fa56f84d0af04c6c8591 100644 GIT binary patch delta 225 zcmZoMXffEZn}zwm(TB*!U3)!WZ8`la=?qio=6P=s-J5he}8g?ld U^9;K*Q`3Tpg>swOIsWnk0NYwd!2kdN delta 225 zcmZoMXffEZn}zw+9IMIuSj6mlvbUV-`FS;*yk;p9B=)z?3b> zFbq!4&n*DTGBAFaEW{eY{(8!q!_%J~pIpc)kHi+9yo&V!o5*C*wg%406WC;6%uQ_0 z%*+#KP5!~A#Li?rbL+#+$0sYYDTl0>I1VxpNgiPoHu-`K c!{Frn+ybB;AV}D($o!0DVgui1c8