From a2003a70a609a1d80e7b25b901a7bf059dccb906 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Tue, 15 Sep 2020 09:52:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E4=BF=A1=E6=81=AF=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F-=E5=8E=BB=E6=8E=89=E5=A4=A7=E9=87=8F=E5=BF=85?= =?UTF-8?q?=E5=A1=AB=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HousingInformationServiceImpl.java | 335 ++++++------------ .../excel/居民信息录入模板.xls | Bin 43520 -> 36352 bytes 2 files changed, 100 insertions(+), 235 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java index b66d8e12..6d8725e6 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java @@ -26,7 +26,10 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.*; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.config.StreamUtils; import com.elink.esua.epdc.constant.HouseUseConstant; import com.elink.esua.epdc.constant.PopulationDictConstant; @@ -51,7 +54,6 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.math.BigDecimal; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; /** * 房屋信息表 @@ -140,14 +142,16 @@ public class HousingInformationServiceImpl extends BaseServiceImpl0){ - populationIdNoAndIdMap = savePopulationList(basePopulationInformationExcels, parentAndAllDeptDTO); + populationIdNoAndIdMap = savePopulationListEnd(basePopulationInformationExcels, parentAndAllDeptDTO); } if(baseResidentInformationExcels!=null && baseResidentInformationExcels.size()>0){ saveResidentList(baseResidentInformationExcels,populationIdNoAndIdMap); @@ -420,14 +427,69 @@ public class HousingInformationServiceImpl extends BaseServiceImpl savePopulationListEnd(List basePopulationInformationExcels,ParentAndAllDeptDTO parentAndAllDeptDTO) { + Map populationIdNoAndIdMap = new HashMap<>(); + for (BasePopulationInformationExcel basePopulationInformationExcel : basePopulationInformationExcels) { + //插入房屋信息 + HousingInformationEntity housingInformationEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HousingInformationEntity.class); + if(basePopulationInformationExcel.getBuyingTime()!=null){ + housingInformationEntity.setBuyingTime(DateUtil.parse(basePopulationInformationExcel.getBuyingTime())); + } + housingInformationEntity.setGridId(parentAndAllDeptDTO.getGridId()); + housingInformationEntity.setAllDeptNames(parentAndAllDeptDTO.getAllDeptNames()); + housingInformationEntity.setAllDeptIds(parentAndAllDeptDTO.getAllDeptIds()); + housingInformationEntity.setParentDeptNames(parentAndAllDeptDTO.getParentDeptNames()); + housingInformationEntity.setParentDeptIds(parentAndAllDeptDTO.getParentDeptIds()); + baseDao.insert(housingInformationEntity); + if(HouseUseConstant.RENT.equals(housingInformationEntity.getHouseUse())){ + //房屋租赁信息 + HouseRentInfoEntity houseRentInfoEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HouseRentInfoEntity.class); + houseRentInfoEntity.setHouseId(housingInformationEntity.getId()); + houseRentInfoService.insert(houseRentInfoEntity); + }else if(HouseUseConstant.BUSINESS.equals(housingInformationEntity.getHouseUse())){ + //房屋经营信息 + HouseBusinessInfoEntity houseBusinessInfoEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HouseBusinessInfoEntity.class); + houseBusinessInfoEntity.setHouseId(housingInformationEntity.getId()); + houseBusinessInfoService.insert(houseBusinessInfoEntity); + } + //插入户主信息 + PopulationInformationEntity populationInformationEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,PopulationInformationEntity.class); + PopulationInformationEntity oldPopulationInformationEntity= populationInformationService.getInfoByIdentityNo(populationInformationEntity.getResidentsIdentityNo()); + //校验户主信息 + validateHouseHeadInfo(populationInformationEntity,basePopulationInformationExcel); + if(oldPopulationInformationEntity!=null){ + //身份证在列表已存在,则更新户主信息 + populationInformationEntity.setId(oldPopulationInformationEntity.getId()); + populationInformationService.updateById(populationInformationEntity); + }else { + //校验户主信息 + populationInformationService.insert(populationInformationEntity); + } + //插入房屋人员关联关系表 + HouseResidentEntity houseResidentEntity = new HouseResidentEntity(); + houseResidentEntity.setHouseId(housingInformationEntity.getId()); + houseResidentEntity.setResidentId(populationInformationEntity.getId()); + houseResidentEntity.setIsHouseHead("1"); + houseResidentDao.insert(houseResidentEntity); + populationIdNoAndIdMap.put(basePopulationInformationExcel.getResidentsIdentityNo(),populationInformationEntity.getId()); + } + return populationIdNoAndIdMap; + } + /** + * @return void + * @Description 校验完成后新增人口信息 - 因为不填写产权证而废弃 * @Author songyunpeng * @Date 2020/8/31 * @Param [basePopulationInformationExcels] **/ + @Deprecated private Map savePopulationList(List basePopulationInformationExcels, ParentAndAllDeptDTO parentAndAllDeptDTO) { //插入房屋信息 List housingInformationEntityList = new ArrayList<>(); @@ -556,6 +618,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl checkPopulationExcel(List basePopulationInformationExcels, List sysPopulationSimpleDictDTOS) { - List housingInformationDTOS = list(new HashMap<>()); // 不匹配信息 List errorLineInfoList = new ArrayList<>(); EpdcPopulationErrorResultDTO errorLineInfoDto; - Map isPropertyOwnerCard = new ConcurrentHashMap<>(); for (int i = 0; i < basePopulationInformationExcels.size(); i++) { BasePopulationInformationExcel basePopulationInformationExcel = basePopulationInformationExcels.get(i); String houseAddress = basePopulationInformationExcel.getHouseAddress()==null?null:basePopulationInformationExcel.getHouseAddress().trim(); @@ -745,7 +807,6 @@ public class HousingInformationServiceImpl extends BaseServiceImpl 0 && StringUtils.isBlank(motorVehicleCategory)) { - errorLineInfoDto = new EpdcPopulationErrorResultDTO(); - errorLineInfoDto.setErrorLine((i + 2) + ""); - errorLineInfoDto.setErrorInfo("机动车类型为空"); - errorLineInfoDto.setSheetName("房屋信息和户主信息"); - errorLineInfoList.add(errorLineInfoDto); - } else if (StringUtils.isNotBlank(motorVehicleCategory)) { + if (StringUtils.isNotBlank(motorVehicleCategory)) { //处理多选类型 String[] motorVehicleCategoryStrings = motorVehicleCategory.split(","); Integer matchNum = 0; @@ -1443,13 +1314,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl1$_my8tSc%g!Y)s#C@d^K5O&!hO3;`Ug~S$oARzc+NovPY zQQ>GhojPg~>#L1Xw{6T!V{9|&m`SG6OtjXSMjL0^(8QK@OowEm+wcDW%43|#WzK(| z_uO;uJ?Gpd@QD&Qrd&Lw7>bB!KA&5W$+wlbxrN{!heDwRzzYGz05`w|C;^lL$^g>l zaj)--K7CV+|Lw1GmHoHG9LS3^c)Pw_SlC$?&(GCPF(?qe$zSWehG_L z_UCL$J5G%zX{8N?Vu=R#s*G{)MPQLmWCo7rp`0R)$hC2P?y-pLN;YH;zLQ%W%*$(0 zva-lTk1{pW4Gy9XsNVtp2sqhElp%<^fe!-@01t`aXY&kZLsT(QOYlqgbE2!p5=(Ng zyRcpa{sN11ri{@~rKB7-qz@djNtW?70rIST5 zr!M^|<|Yqo?3mlX)YT;;DI;W`Izx~^<;eQDN->}n)KeKGrDO=}V`(vE3|o(e;ROhQ*PIO~8n=8|} zsnQ&KW4GKbtSDnAplNo!`~ZD*f}^lVfm?Y>(cqIRF=7@0Va^C{cCg2{ zRpCd~i%saCA(@8kt4$X>xpR5BB1})ZX7qSy{-UKlhjzKSw8m+`HmH?5ckeLzLG@br zo0@Wy?8EYoxnjiuH1LT$xT28Lbtb)3@Vu37jR>s#Q4&3b-7SUaHn1L8hVWNlr;g~o zpuP4pA!Emo3W4MvS68Z+9Q*4!EK(Q>X$E)sQgvZ)+Nu|XQzT%v^!y6&XwS#NH=_K8 zWC>!(int#&5M*cVhYEbg{4l_~pS7D1Kw&84P}tG5+NxTH*OxQQPXJ8R+@K95V2=UbBWPBGiC*oVvyjU+2is!Wy^U1n- zv6`jofatD*{mtjoTT=w_hg;`kCspigjh~9sAo;9Nw+VGev^h*m`Ce(E!^N?;HL;86 ztkeY})gE$9(wKw5s9&Q|%i4KCuE;0q^HK7lFfHXKd2nHyiD4RLMyVRDmp1ZUda~9@ zNq2RdjB>Gynvqc&T^VI`JuH_tw>8?74*H%(N6DW7aZ=fBGRxGj( OI>K_)3k62W z`!(8Rhdlarn8CZko7yt*W?sQ5!krq{HI0@@NY^!5k#xUC%X8uzZPSsCpF^V8PL4xu zH}NdVVWSMiMp;SY}@|0WSX0 z>EohR%wO!7aCy!9IzD2U#etprx!+xZ(gB75+>bhWBIv9=D%jJs@TsDltK0CR!mhgb z?<&q$yPp>_Eh+fzOOA*{S-A}t+-vp2)gmQ=ef8PgzAq=wPKSP?|tQ{h_o+tVJSs>X(! zh2(Hj{!`Y^@3&jD&A~IeT@`QHn9oytCieQ{IJakYum1{*o+-Wl)?(B5o40iT(Y^l2 z!TN36U4#AV1jKSWZF5rd0oTT!1YcYE-W@$pxc;&P4v{%R1IIGzI4PNvG$>J!@v`SCqJ_S~mTlVO{Ihcm4QvQdzxdQ%m#K(pWzk z$=letVO_(7Hb0s5{NsZ&g+BPk!Er+9`Q1aaII?dK`_I%U;v@cj-@?AGQhu+-Y5WPo z>sNUD@$KSu{_1$O9zQtcQd$p~=7NJ9%Qj632&+I)V#dtr0%wBB$F~R^Z6WDsYtK z6y%HsyCuq9RkFbDa=R9}O0&yKa!TDLxf(#XxO9O%yCl0H+XY1d6oBkJ{`+fp`0DF_ zh@|_ksQ(-2(3G=-*G?6SzO#Y8)2-qXx1H`XyoIROLA8wCXMP(DoDB%RcsB5Vh>#XD delta 10121 zcmbVS3v`r4mcD=e-JQ;p5CQ}U&)V@yJTz+{HbLx>PaVt7PQXdZd^7(qmhEYcl7 zWf6~o;tb3gcZj1iI<7iEP*_KK_&}VUb%Toz>$(cgxPyE27+hx$;~wq(ZdLus-%Xs? z?Nfbk-MV$_)~#FjufMt@kBZ1yao`Ct`Flh(2c-bzYLp_BYf!$4Mx({RB`8x+zAOJ_ z@wmi7P_s}L$UiO~>#qUDax$VJLq(QOaBYprX$1T5Ek*QW)3+N)Ug zBbn9xg}1J7?5k`wC0esq&AahJ-P+L3h0|AkX8}|9Q#w5@L#1mcZ>APMOKA{@DN0{#_n6u8hLS_W_J0Dc|#OW^zAxx=FSQkgf!_kZwNM|Jm^x{;O~HoGz$NgqT4 zeeZ+D1bh~y_SgLwE8?mrQX)}ie|r)opF-{!kST@ z{BX`)R|T;oL|?O`u^6+}p3t>K)OZi*S`t;taLwdFK}zo9rGa;(X8PzL0@0BhLX|YQ zua-$cnS9+St5Qz7?uY0L?-+f#==-nNRbY80QIIFC_-xm;YH#wW7Cu#Kw;sd7T9{Y` zTC4E!8tHWGXT++h4WSw(t^4Mh+GfF;Ch(>J{06f;1`lOYk@ytbr(>>6<*mWvuhLD^YX(k>$udrfoP4mxT)ga@73vWDW_IA4wxwUM`-W zDW}XICm#mB1^Bi3nF-mHO~=aHrV4u-ebz#*UT^O$F9AdGErx ziOTsLR^a80;KcO$P<#Pa;M0gyTMt|!4>nGb!48kCUQ{$<2wE@l@&MdYQ&`GMmnRoZ z@l8kD3naftQt9ZX;lgf@gNMcX=!_^MOkX{rm}kHy zqz=ya1`e`w4V*!Obf6f?(Se5H4n=e+tDk;MCmh9CiN}ru#V-A4T=E@|uW*FeVz#?O zyHl|by66ion*Gbrz`SnRddd!qYVkfT5NFSxjr!=aL^%OSA~mjIxA#RBCJ3Xv_pv=M_$mbhWEo3?WH#{mRLqs=>6h-&_7n3FRV8BWw+vVdf7#L=na7lORa+4dP)SL zP1A1)wy0IqDjf&HsC0VSs7n^lcZBHl9{M~Q-7nZHC+#n+F3X}HtJ)VWPK7f{2 zL@&ON*(~KK)`M^i>{G3uS`)1|M9&pwl)=LNBJeej9M(hUp)x{TvVsOT8NANm?FM%l zeAM6`gD)D)dzkfP8C+y=jlm&<+YRmv8{#R0PZ)g8;9i6Mm?tX^7+hv>y}@k;M-1L) zu=c6;$8qJkeQL>$E6;sshm&ZjCz;?{%ZA(7DeShLUY`m}b~W?f5NU{!Q(~rCM-Guz z!KpUG*S}C@2ta3{+Td1aab`kpzwkp#>_V&92}iNQUN8MX34}aH#CZ()lFi~e&~&GP zhl%)of7visjB?S866RqFVc}ji@Ex{x+yItB#Z%q{%=^md54fU#5_HW%^p`46aU$6( zc(A?R6siV)A#(C5QRw(F424>V=j{l!E1^6`2r_J<-daYTGPe^FI7)jpu7~=!u#;Lv z<)4(+Q?0dLgGTIsBp_pBt;LovR4PK?>!E5br$di1p$F^9b2?&kc=>~Rb&q@elto=J zE3LihWC`}4UfNUQ6*Y>FQ+umu!?&J8rxzL#C~OvcLl3>zn@aUot4)XsZPXD@B94N0 zs5s%A;m#oL;a*mKoOt5EJtcBoehu^E)L9|-AiNy)*55KftI+%7%5Oe$Jd6ptf;s#x zn+B5fzt)Q{GG^f1%_+GFwCi!H+DgE+Du#3o z?p5(%gn0L}FlPY9yeS30kucyH9HL#WC&w8UQ6TVApdgLJy(Ii1uDU==^4iNip3#5B z@d6KH1^q_~L9lt4O+F7Se*vz!2!Wk2>qeX;Zb2!5>wahCd2+u^`lOprLgPShN5KJX zR#V2Xbzl*_o11fBLT=4Bhi*Dt`RhIJ-5~2d+3GOBJ!i~cb@KO5R;_=$u6wFgd|Qfq zsA*Clo_U3ax0~`sJ;}{CMZ#TBB4}AH+={U*YE18=_Gn5_8Cr{!SEuD_9^oCYk1}%L z87(oC-;opLO=>X!^_(ovRqG>o7+idf4?nTpB%WqW$i;qqzo=lPij6h$gbtt zrS0qj1i)G#hI$kh??uo}!AH;@i?Fbhw-&079Hp{%`FN{W4qY*J1P364-B`AVDa9gVI-KaLEp_iMPa-vO;% z-m`S@u25EC7979N4A|~qIHMi>5HJtj37T<@kQK{jhC`^9p#-++Y4e6-;5Cdu#c1Tj z2}TvGCmj6v0LX_t20leG*iafUazRlpD*v*>VtByQA}itnYG5;OVg~o=@*E7|)Xc!A zOGmz!jn?cKKCWP>Z2*424kHi-XedL6vH|$@;0Ffaw}G#M7j15XBH;58h{4U@2R zqT#rP18Cqg6ob3NY4G`s70*8pe&+!E%i!}NEnYqy(awiBhaYxamxl&EGkYt7#7BJ0XYKl=AGBdz@5O2c$qH-9*6HKw1%wlhS@^; zlaFJ^Jv0r?r8JeAA+iP>D?O&~bo7l=SAzai-ONfoNGYv$bDfb_k(Fjt7AbRD=tDgl zo_0u?o-T7jH(41n9QsbUOyy&W=+|eKp$$2{k_-a*@Od)0QoItlg zCQs9z6lBa!rZE{FtV{EKJlFw4v&>PKO!%}*=$xkg1-KqOuj!<6T>GVCwJ})AL<&*8 zrjuAHXLsh$g|8xge7pc@+Mf#<&X|z#kL3FopDu#qQQq{+?p5z(Pb`Zftp=!21gJ!er%LoYg!OwA zO5_u(mkfDtR4_o(&{~L>uo^+>qk}SSO-sfzvjS8q{t04U7LFXBB_CKb!M^9(pnPsk zwVmUskbhXyYHgP{H8=W_Ric+KH0Mv4LnCNJMEA8Yt-%<4n&59U0F9>_>20~%4qEMU zYD=?a$se^egw=|X9U@CV5(SQWdXK>bfDJwa_>fM+7W$KeD|?M%NPmIpb$dFydQFR(8GAcQy%nhiJy97192w{URSC^xlc z6>yUV@J))Up$kx=K{+Mlp-Y}JlATL43yb@jG%=RO&?QHjmqEeX>@;jjdHb!yuKv@v zgIZGc{B2U#{_f(YI&1f$D*5W7VlTfVY?Ajb`nwdqtT~*@I&sYtsYoaeF|Fn_B0vSyi~5EK}K)8|8KjP{Ne2@tV8Px64V8uzOmfZ5J=-> z?l@GCTyxLtAw{$yCRwkhDe~oe3Mcc+3O`mFvFDrd*?@$OEB7l?yUg5}JNduy{tzo& zqNMM>LidV|xoKKA8)8}Yd`f&^SLjn|ZOWFfZ_JXPZM-p9aYI}9p~||!4{ts9^W_aQ zCo5Sv=D~;O?BBR@!PAdNr@rumtN)?V;lK4v`G0)*>)Gjtue*2I+??@8<(W;xh8I{9 z$!EQG4MIER+V<7Ww?(cBk)0yH*|a=AWpQOi{ra`HG_T%p?0AS0{PP=UuU-HBJF5nT z$mg$XX}NiI^U%9Ol#(JJxNoAB(*5jxgDopX9^X7^qA!BUBJ!)+R^Hy){P-Io{Gzg= za>d;%*LT3gEhv0Ektyv3>If^#+p|4;!Id|*7la=N@dV0GQGSNNbRT@AlUSW(;DvZ3LE{N3gUOPx)FHUoc-W4$F`34ia%L9Pj`QrTJl+H$tV0>TSC!MCwF)4|0Fft`boCjcOU8 zP55Uchf=2zSiwAPg@wE|@Q0}XRz7GfkH;ouZ8qDJF)|yGn-No28w%}CM+Z9!Dp}en zVIr5m0GPW0OHIwGHMo3vF7Q9&d#dv*>vxAA_cZ=&)AP8MMzY4O5lxJEz2s zJpuQfd;17++O5JF{GGVLW2c$e;rcx_Ut5x9d%~EdGfCtBIR6ND$HKmjkEo75w_o*w ztG{NbpL`*k;LOj#H;ZJtV}#bi-}SECrLI}POB41Q$~?_)QVNn87ksPA(@>d%f5bST zUMo#yqQ+^$cNdw{x^b7!y&^rzib+~{xkipRRLyaFK(g*7E;57a(~GL$*EtOfSFTTPZQgK74-