From 61f96217aeae2165d3b027733e6981179d7e2356 Mon Sep 17 00:00:00 2001 From: zcstatham <578322713@qq.com> Date: Wed, 14 Jun 2023 23:11:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5=E7=94=B5?= =?UTF-8?q?=E8=AF=9D=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/service/CarInfoHandle.php | 46 +++++++++++++++++++++++++++---- public/static/tpl.xlsx | Bin 8893 -> 9026 bytes 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/extend/service/CarInfoHandle.php b/extend/service/CarInfoHandle.php index 0ea3ef4..834a5af 100644 --- a/extend/service/CarInfoHandle.php +++ b/extend/service/CarInfoHandle.php @@ -548,7 +548,15 @@ class CarInfoHandle $highestRow = $worksheet->getHighestRow(); // e.g. 10 echo '总计:' . $highestRow . PHP_EOL; $now = date('Y-m-d H:i:s'); - $update_keys = ['register_date', 'car_no', 'car_frame_no', 'engine_no', 'factory_model', 'car_year', 'displacement', 'car_man', 'car_number', 'car_phone', 'purchase_price', 'id_man', 'id_number', 'id_phone', 'insured_man', 'insured_number', 'insured_phone', 'company', 'insurer1_date', 'insurer2_date']; + $update_keys = ['register_date', 'car_no', 'car_frame_no', 'engine_no', 'factory_model', 'car_year', 'displacement', 'car_man', 'car_number', 'purchase_price', 'id_man', 'id_number', 'insured_man', 'insured_number', 'company', 'insurer1_date', 'insurer2_date']; + $link_phone_keys = [ + 'car_phone' => 'car_man', + 'id_phone' => 'id_man', + 'insured_phone' => 'insured_man', + 'link_phone_1' => 'link_man_1', + 'link_phone_2' => 'link_man_2', + 'link_phone_3' => 'link_man_3' + ]; Db::execute('ALTER TABLE car_info_t DISABLE KEYS;'); for ($row = 2; $row <= $highestRow; $row++) { $register_date = $worksheet->getCellByColumnAndRow(2, $row)->getValue(); @@ -570,11 +578,14 @@ class CarInfoHandle 'purchase_price' => trim(trim($worksheet->getCellByColumnAndRow(10, $row)->getValue(), '"')), 'insurer2_date' => trim(trim($worksheet->getCellByColumnAndRow(11, $row)->getValue(), '"')), 'insurer1_date' => trim(trim($worksheet->getCellByColumnAndRow(12, $row)->getValue(), '"')), - 'link_man_1' => trim(trim($worksheet->getCellByColumnAndRow(13, $row)->getValue(), '"')), - 'link_phone_1' => trim(trim($worksheet->getCellByColumnAndRow(14, $row)->getValue(), '"')), - 'link_man_2' => trim(trim($worksheet->getCellByColumnAndRow(15, $row)->getValue(), '"')), - 'link_phone_2' => trim(trim($worksheet->getCellByColumnAndRow(16, $row)->getValue(), '"')), - 'tag' => trim(trim($worksheet->getCellByColumnAndRow(17, $row)->getValue(), '"')), + 'id_man' => trim(trim($worksheet->getCellByColumnAndRow(13, $row)->getValue(), '"')), + 'id_number' => trim(trim($worksheet->getCellByColumnAndRow(14, $row)->getValue(), '"')), + 'id_phone' => trim(trim($worksheet->getCellByColumnAndRow(15, $row)->getValue(), '"')), + 'link_man_1' => trim(trim($worksheet->getCellByColumnAndRow(16, $row)->getValue(), '"')), + 'link_phone_1' => trim(trim($worksheet->getCellByColumnAndRow(17, $row)->getValue(), '"')), + 'link_man_2' => trim(trim($worksheet->getCellByColumnAndRow(18, $row)->getValue(), '"')), + 'link_phone_2' => trim(trim($worksheet->getCellByColumnAndRow(19, $row)->getValue(), '"')), + 'tag' => trim(trim($worksheet->getCellByColumnAndRow(20, $row)->getValue(), '"')), 'source' => $id, 'create_timestamp' => $now, 'update_timestamp' => $now @@ -585,6 +596,29 @@ class CarInfoHandle if (empty($row_array[$key])) $row_array[$key] = $old[$key]; } + + $phones = []; + $phones_empty_keys = []; + // 新数据去重,并获得空电话位 + foreach ($link_phone_keys as $phone_key => $man_key) { + if (in_array($row_array[$phone_key], $phones)) + $row_array[$phone_key] = ''; + if (!empty($row_array[$phone_key])) + $phones[] = $row_array[$phone_key]; + else + $phones_empty_keys[] = $phone_key; + } + // 旧数据查重并依次补位 + foreach ($link_phone_keys as $phone_key => $man_key) { + if (empty($phones_empty_keys)) break; + if (in_array($old[$phone_key], $phones)) continue; + if (!empty($old[$phone_key])) { + $key = array_shift($phones_empty_keys); + $row_array[$key] = $old[$phone_key]; + $row_array[$link_phone_keys[$key]] = $old[$man_key]; + } + } + $row_array['is_export_bhx'] = 0; $row_array['is_update_bhx'] = 0; $row_array['is_export_bmc'] = 0; diff --git a/public/static/tpl.xlsx b/public/static/tpl.xlsx index 41134eab3e51c467e780a0f462d0c2856d5bbdf2..01954bb42e8b62528dbe80b7e6679a246764e8d8 100644 GIT binary patch delta 2370 zcmZ9OdpOhWAICSxIYeqsbC?Z_hoTXWQ#QwtMQl`$<8rF0HRbF#F~_CwjpVSLQj|ju zdmLJcqM;c{D`zU6tVGlgJ@eah{SMdD@4l}4{^N6f?)#6|=X$^2H_NfdsVNsswNE3} zT7p3!tOy9C00MzdpC@`y&Xc2zi03IG2Vx^hNqK&5y~fb=74aQ=c2et}y>p2^w=Dd}()s)xCCk z=PpD#-RBWF|G1^LwDpb2C<-XpL}4WJdazxw`Gg!uAJSTmNpQ~p6*1!{Pw22Ul4ZMi z9s0-lo}*Qt^-pCtlFzLCW}>+L=-M`k3lT`g`A^x%R?R!Xqjf>}4CcVHKIN|bbHH_} z&ND;IW`!A>WleO$7t|BbSim&AYw#D^@_&AdGGZl4WY3pk$ZDt&eNZ*F|$-zzH#|Tr_%5{f3Z) zsuT#M0s?Z7Flrg$3FWQvZdOdq&g_T{(-9&j@x0ojxYea3z12qMR9`W#&_JqmeYvZd zlv|2JjY%3VZ?gPYekYC|V5|*Icp_AdY9QN)wQz;iBE=H@t<@%L3ulIRb*4+7jHTnS zcP0JJb_|eBcfNVN&e}uo9rU(q!Gczcv7!Foh}k?Wp%BxH7%i z+`R;?Dr2SdBeO0&$j;djvpZ>MWJ;(5R)7wNUJUnV{XZT=K@h_qn}Z zRmrCIpds?2bstXE#y--@E`L+q&|L-z1&S`yJJ%WIY^dM-s;HB3z~fb5#PuZcSl&i< zsOfRjbOLr7&iRUWKzEKNk?k3qgosh-uJW9VsrN0YVI;Rt3B*`cum)?sdni=Jw*a_&{S(#`h1YIrZJ$D-*AmMeamONbXc{c#o+5 z%HcA}LEO`1Z*gO9PApk(&Ql|K0`~CrwmKQtaxLdsYy)-`N2_Y%N@L)KAa!FDrduw z6hRC-@QvLkaUeQ`Xs_JGd=RBf-6j#WmA8Y5?ZlxR(dg2SOWjuw1!y!ayfByK7ey^5 zYs5UV3hZYjNb-$+jir*bbz6jP86xXxDmNsQHZ@{T+@MRD2eFayp=7~isfG@;d!0OPXC+S&Yqt`=yw5U2+rlZh3qb-oA=GsNm zw6(AU;x1+x*L7U99ol5Cr1uVbczMgxXpDYu5l_vM{*MIBdX99SO0Hw&0J5NrbMW57 z?A!t5kA|VT`(u=kHGW-fB{%#(;6C4f!2UeUW9QjMZHo`8Z<^fMn*Vm{@X)zyiLkjK z+$LADX+VEsg-3Po&A71lEIihPPX|kWZdyJXU$_}|daylcrLR@c?J9b>%}>q!to;g{ zpEwLN7btYRJ~kdkryKS{d|#F#15ZR{Cl@Hzaa!2g4{bVawYt3%PqWfD2+YQ8-1mjo z(wk4%0Y96yMDwJQj&KHVgj*g2Sg7uy=D8p1HI_|ZIr1apc}!u$_U@x+_aQL+l<3(7 zby!SJp^>ht#*U`>D-~zl)qsg>{#MH`*x}#O5Wj>O6yc-;!`1c`O!<8IwskQ|#t;>B zo689npHT_&3J9oAP?o#J(NF=C?w7l<8-Km#p5gQ~>uY%JXlI~9r71sd9h`PWgBpx3 zzTx=bos*u7c95c=mmGNymPmdvQtqy;Q?8W7@5gOIHahXJnf{!jF9JuEwWQJR*33UV z>uAj>s<#{Z=}jP|s{+AYQ~XM(qtruzA4OSDm6_zj>!%;CzVAcm6xg%J@E(ONx@Dv> zhUcfQ>ldCSFHm=H%Fzb$-jL9`ag>{B`)?NIR~1w`^9CX`ZHGFbOwP`~NHy#vup{(h{D_zX t3Bn9K2aF<6YCli)?^mjUy+~^?5%54F)P9bpzjs{&t{@F0bm4#1{sj=nENcJ& delta 2238 zcmZ9Nc{tSj7sqENS+b2K#yT??YgvBQ7&43{VI(q$WJs=Irjd-8rc&IBEZ>Gn%#0-^ z)MT<`X(Y;05^-%=b5)i}Ny^gI{XM_#^SkGHKIf0m^PKa?>zwm`w>URBaWld6@fc|> zD=-LzhJZjaAP^{wMDU`J$gxHQ5+&S_8cn2S9l#|U%U>M#SeGsl^gv=`B)QlZtiz!i z&eMU>0t=1Z9)aQOi8jJk#Y^{XXU}{cP2}}s1|I9c0?qYZPGG%2mo1CD8&qu>bL4Z7 zIi_qyjQrc%+pZjHn{j$-PM=9XC(?J^_%1|+nq75mPIaN6PoB{A6>&Yi(J|q~2&^NY zo~JgD#^=a_Bs}wS&g(4dH^L=0M zn<`{0sG(j$6ZZS&797&R0LI4)#>QGRk{8=T0*|6oy|ghdQENMqrPe$AmB%X?BW9;F zZ^liN5%rP7ZseeJZ{7W{=6s*x`vFs%;;Dv>{T-X~JN@TA5F=I^%Hr!I*TvY4&cijH zK-V@6pPMK91)rJ-1@m|2j-;veCV{zPI}|=)@6Ue4-ttCr;SqJ6bXkEy)SQEXx8Erekv5Z{+X=zA^=8J88|G2*lt9Ge#&Q2xyAHrZ2vS3`g#{iqqT!495Z5k$t79QE8cNSkawa#`60H*PLyh zrE-R7E_=0ljo04styni%?OoQW4eWIuIj^Qpdg$6>l+k zt@r$Opjj9zwlgO?W_!82P7!{e#M^t~!E?b2CW%0Bsq41tm2XyhhBlO*E2&1G$S>mD}(j1gy&>J_6hPUbs7iHD!M{l+3gG^u~*ytiwhD$+P||HY05d6 za?ZrPYg4T3>^CEJbx0f~YQ9uHos&*XuDF@R%`zB-4q4WYEUbx|Cp}ZB*mdxvWWaaa zjmL3puw98Ujx|fOF0UzH^vS%RPu$PTq|cC8*CD;k9^HH#O_3)=!&* zM}2$q!f+DHFVB^fII+Bst|vj5>-cQrc^~Hc>SgA)ZT@OsY9K zRQA%Yp7@T(=;}^d=?K?k2h|hjc?P*2Nh?F)2iZg2HmkC5rP%4mnh`O!)UX$d(&`DH z`;%R41Ze65xy4dofmaFZe#A!wnZ6Et5_4(zqnik-tFTp9m0f5b_eWtM%)fS{Do6N{ zaTce429N`jqRM8=u-i_=+h&7z$YPr-9lzgswDrBEePLt?BVk^<3 zuG+Pna3)MQvf=l#`8UFDGB=(%J@{%sgan~V?|KI<-%D5sy6EFKnNj7FFcWNM%U^n1 z3vb!Q{5tsj%I#v=&!r{@iZ&I}7E#bQ-mPYWZv|GsJhZ=@X%^ftsYv55JT;D_PZe~L zQ|XpD2&P19QhQ^2>2um!_F~bu=LUp_72`}pWq>Tqw~gQp?9Dju9n^UGdEApl6n@k3 z0^`Ukx6SU(nc7{#N9eFl@g6?-|HW}TY2HA4i}TRdlim_XD$yvOM2QL|k)nQjQ2K$c zm=zyL_#)#+MoP4@|1?mEQ}$5BqV?5* zjUG2ePJpHN=KlHF-;fdF8e?&_>vNoPRY$j(q4e$ z;2LrVFB*(H_U_Xpe${g#DqWiiV|iMT@99cMhjH=Ux0+O&vfATay&uW~9?rRkk7