| 
															
																@@ -5,8 +5,8 @@ import cn.hutool.core.collection.CollUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import cn.hutool.core.util.StrUtil; 
															 | 
															
															 | 
															
																 import cn.hutool.core.util.StrUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.alibaba.excel.EasyExcel; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
															 | 
															
															 | 
															
																 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.baomidou.mybatisplus.core.metadata.IPage; 
															 | 
															
															 | 
															
																 import com.baomidou.mybatisplus.core.metadata.IPage; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
															 | 
															
															 | 
															
																 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.iden.common.cache.DictCache; 
															 | 
															
															 | 
															
																 import com.iden.common.cache.DictCache; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -17,13 +17,11 @@ import com.iden.common.enums.CredentialsTypeEnum; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.iden.common.enums.GenderEnum; 
															 | 
															
															 | 
															
																 import com.iden.common.enums.GenderEnum; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.iden.common.enums.PersonTypeEnum; 
															 | 
															
															 | 
															
																 import com.iden.common.enums.PersonTypeEnum; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.iden.common.enums.PopulationTypeEnum; 
															 | 
															
															 | 
															
																 import com.iden.common.enums.PopulationTypeEnum; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.iden.common.exceltool.RowWriteHandler; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.iden.common.exception.BDException; 
															 | 
															
															 | 
															
																 import com.iden.common.exception.BDException; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.iden.common.service.*; 
															 | 
															
															 | 
															
																 import com.iden.common.service.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.iden.common.vo.CrowdVO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.iden.common.vo.PageReqVO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.iden.common.vo.PersonVO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.iden.common.vo.UserLoginedConvertVO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import com.iden.common.vo.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.apache.commons.lang3.StringUtils; 
															 | 
															
															 | 
															
																 import org.apache.commons.lang3.StringUtils; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.beans.BeanUtils; 
															 | 
															
															 | 
															
																 import org.springframework.beans.BeanUtils; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.beans.factory.annotation.Value; 
															 | 
															
															 | 
															
																 import org.springframework.beans.factory.annotation.Value; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -31,7 +29,10 @@ import org.springframework.stereotype.Service; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.transaction.annotation.Transactional; 
															 | 
															
															 | 
															
																 import org.springframework.transaction.annotation.Transactional; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import javax.annotation.Resource; 
															 | 
															
															 | 
															
																 import javax.annotation.Resource; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import javax.servlet.http.HttpServletResponse; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.io.File; 
															 | 
															
															 | 
															
																 import java.io.File; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import java.net.URL; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import java.net.URLEncoder; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.ArrayList; 
															 | 
															
															 | 
															
																 import java.util.ArrayList; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.Date; 
															 | 
															
															 | 
															
																 import java.util.Date; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import java.util.List; 
															 | 
															
															 | 
															
																 import java.util.List; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -102,6 +103,10 @@ public class CrowdService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 pageRes.getRecords().forEach(item -> { 
															 | 
															
															 | 
															
																                 pageRes.getRecords().forEach(item -> { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     CrowdVO resVO = new CrowdVO(); 
															 | 
															
															 | 
															
																                     CrowdVO resVO = new CrowdVO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     BeanUtils.copyProperties(item,resVO); 
															 | 
															
															 | 
															
																                     BeanUtils.copyProperties(item,resVO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    QueryWrapper<IdenPersonCrowdRef> queryWrapper1 = new QueryWrapper<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    queryWrapper1.lambda().eq(IdenPersonCrowdRef::getCrowdId,resVO.getId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    int cnt = this.idenPersonCrowdRefService.count(queryWrapper1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    resVO.setQuantity(cnt); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     list.add(resVO); 
															 | 
															
															 | 
															
																                     list.add(resVO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 }); 
															 | 
															
															 | 
															
																                 }); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 results.setRecords(list); 
															 | 
															
															 | 
															
																                 results.setRecords(list); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -109,6 +114,77 @@ public class CrowdService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             return results; 
															 | 
															
															 | 
															
																             return results; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    public void exportToExcel( Long crowdId,UserLoginedConvertVO loginUser, HttpServletResponse response)  throws Exception { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        QueryWrapper<IdenPerson> queryWrapper = new QueryWrapper<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        queryWrapper.lambda() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .orderByDesc(IdenPerson::getModifyTime) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .orderByDesc(IdenPerson::getCreateTime); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (crowdId != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            queryWrapper.apply(" in ( select person_id from iden_person_crowd_ref ipcr where ipcr.crowd_id = "+ crowdId + ")"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<IdenPerson>  list =  this.idenPersonService.list(queryWrapper); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        List<PersonExcelVO> records = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (CollUtil.isNotEmpty(list)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            list.forEach(item->{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                PersonExcelVO resVO = new PersonExcelVO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                BeanUtils.copyProperties(item,resVO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setPopulationTypeName(PopulationTypeEnum.getValueToName(item.getPopulationType())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setTypeName(PersonTypeEnum.getValueToName(item.getType())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setGenderName(GenderEnum.getValueToName(item.getGender())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setCredentialsTypeName(CredentialsTypeEnum.getValueToName(item.getCredentialsType())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setMarriageName(DictCache.getNameByValue("marriage", item.getMarriage())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setPolicitalStatusName(DictCache.getNameByValue("policital_status", item.getPolicitalStatus())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    resVO.setImageUrl(new URL(item.getImage())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } catch (Exception e){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    e.printStackTrace(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                Long communityId1 = item.getCommunityId(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if(communityId1 != null){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    IdenCommunity idenCommunity = this.idenCommunityService.getById(communityId1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    if(idenCommunity != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        resVO.setCommunityName(idenCommunity.getName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                QueryWrapper<IdenPersonCrowdRef> queryWrapper1 = new QueryWrapper<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                queryWrapper1.lambda().eq(IdenPersonCrowdRef::getPersonId,item.getId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                List<IdenPersonCrowdRef> listIdenPersonCrowdRef = idenPersonCrowdRefService.list(queryWrapper1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                StringBuilder sb = new StringBuilder(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if (CollUtil.isNotEmpty(listIdenPersonCrowdRef)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    for(IdenPersonCrowdRef idenPersonCrowdRef : listIdenPersonCrowdRef){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        IdenCrowd idenCrowd = idenCrowdService.getById(idenPersonCrowdRef.getCrowdId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if(idenCrowd != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            sb.append(idenCrowd.getName()).append(","); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                String crowdName = sb.toString(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                if(crowdName != null && crowdName.endsWith(",")) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                    crowdName = crowdName.substring(0, crowdName.length() - 1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                resVO.setCrowdName(crowdName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                records.add(resVO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            }); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            response.reset(); // 非常重要 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            response.addHeader("Access-Control-Allow-Origin",  "*"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            response.setContentType("application/vnd.ms-excel"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            response.setCharacterEncoding("utf-8"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            final String fileName = URLEncoder.encode("Person", "UTF-8"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            response.setHeader("Content-disposition", "attachment;filename=" + fileName + "_" + System.currentTimeMillis() + ".xlsx"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            EasyExcel.write(response.getOutputStream(), PersonExcelVO.class).sheet("人员表").registerWriteHandler(new RowWriteHandler()).doWrite(records); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            e.printStackTrace(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     /** 
															 | 
															
															 | 
															
																     /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																      * 删除人群 
															 | 
															
															 | 
															
																      * 删除人群 
															 | 
														
													
												
													
														
															| 
															 | 
															
																      * @param id 
															 | 
															
															 | 
															
																      * @param id 
															 |