|
|
|
@ -17,6 +17,8 @@ |
|
|
|
|
|
|
|
package com.elink.esua.epdc.service.impl; |
|
|
|
|
|
|
|
import cn.afterturn.easypoi.excel.ExcelImportUtil; |
|
|
|
import cn.afterturn.easypoi.excel.entity.ImportParams; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
@ -29,9 +31,11 @@ import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; |
|
|
|
import com.elink.esua.epdc.commons.tools.page.PageData; |
|
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
|
|
|
import com.elink.esua.epdc.config.StreamUtils; |
|
|
|
import com.elink.esua.epdc.dao.PartyMembersDao; |
|
|
|
import com.elink.esua.epdc.dto.PartyMembersDTO; |
|
|
|
import com.elink.esua.epdc.dto.PartyTagRelationDTO; |
|
|
|
import com.elink.esua.epdc.dto.epdc.result.EpdcPartyErroyResultDTO; |
|
|
|
import com.elink.esua.epdc.entity.PartyMembersEntity; |
|
|
|
import com.elink.esua.epdc.excel.PartyMembersExcel; |
|
|
|
import com.elink.esua.epdc.redis.PartyMembersRedis; |
|
|
|
@ -41,11 +45,10 @@ import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.io.File; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
|
* 党员表 |
|
|
|
@ -76,7 +79,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa |
|
|
|
public Result<PageData<PartyMembersDTO>> pageDIY(Map<String, Object> params) { |
|
|
|
IPage<PartyMembersDTO> page = getPage(params); |
|
|
|
List<PartyMembersDTO> list = baseDao.pageDIY(params); |
|
|
|
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(list,page.getTotal())); |
|
|
|
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(list, page.getTotal())); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@ -84,8 +87,8 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa |
|
|
|
return baseDao.pageDIY(params); |
|
|
|
} |
|
|
|
|
|
|
|
private QueryWrapper<PartyMembersEntity> getWrapper(Map<String, Object> params){ |
|
|
|
String id = (String)params.get("id"); |
|
|
|
private QueryWrapper<PartyMembersEntity> getWrapper(Map<String, Object> params) { |
|
|
|
String id = (String) params.get("id"); |
|
|
|
|
|
|
|
QueryWrapper<PartyMembersEntity> wrapper = new QueryWrapper<>(); |
|
|
|
wrapper.eq(StringUtils.isNotBlank(id), "id", id); |
|
|
|
@ -104,9 +107,9 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(PartyMembersDTO dto) { |
|
|
|
//通过用户审核添加的党员
|
|
|
|
if(dto.getRegistTime()!=null){ |
|
|
|
if (dto.getRegistTime() != null) { |
|
|
|
dto.setRegistFlag(YesOrNoEnum.YES.value()); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
dto.setRegistFlag(YesOrNoEnum.NO.value()); |
|
|
|
dto.setRegistTime(new Date()); |
|
|
|
} |
|
|
|
@ -114,7 +117,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa |
|
|
|
insert(entity); |
|
|
|
|
|
|
|
JSONArray jsonArray = JSON.parseArray(dto.getTagIds()); |
|
|
|
for (int i = 0; i<jsonArray.size(); i++){ |
|
|
|
for (int i = 0; i < jsonArray.size(); i++) { |
|
|
|
String tagId = jsonArray.getString(i); |
|
|
|
PartyTagRelationDTO partyTagRelationDTO = new PartyTagRelationDTO(); |
|
|
|
partyTagRelationDTO.setPartyId(entity.getId()); |
|
|
|
@ -132,7 +135,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa |
|
|
|
partyTagRelationService.deleteByPartyId(entity.getId()); |
|
|
|
|
|
|
|
JSONArray jsonArray = JSON.parseArray(dto.getTagIds()); |
|
|
|
for (int i = 0; i<jsonArray.size(); i++){ |
|
|
|
for (int i = 0; i < jsonArray.size(); i++) { |
|
|
|
String tagId = jsonArray.getString(i); |
|
|
|
PartyTagRelationDTO partyTagRelationDTO = new PartyTagRelationDTO(); |
|
|
|
partyTagRelationDTO.setPartyId(entity.getId()); |
|
|
|
@ -152,10 +155,136 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa |
|
|
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void saveList(List<PartyMembersExcel> partyList) { |
|
|
|
List<PartyMembersEntity> partyMembersEntityList = ConvertUtils.sourceToTarget(partyList, PartyMembersEntity.class); |
|
|
|
for (int i=0;i<partyMembersEntityList.size();i++){ |
|
|
|
PartyMembersEntity partyMembersEntity = partyMembersEntityList.get(i); |
|
|
|
partyMembersEntity.setCadreFlag("0"); |
|
|
|
partyMembersEntity.setRegistFlag("0"); |
|
|
|
partyMembersEntity.setRegistTime(new Date()); |
|
|
|
partyMembersEntity.setStreetName(null); |
|
|
|
partyMembersEntity.setCommunityName(null); |
|
|
|
partyMembersEntity.setGridName(null); |
|
|
|
} |
|
|
|
insertBatch(partyMembersEntityList); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public Result insertPartyList(MultipartFile file) { |
|
|
|
File f = StreamUtils.conversionFile(file); |
|
|
|
ImportParams importParams = new ImportParams(); |
|
|
|
try { |
|
|
|
List<PartyMembersEntity> partyMembersEntityList = baseDao.selectList(new QueryWrapper<PartyMembersEntity>()); |
|
|
|
List<PartyMembersExcel> partyList = ExcelImportUtil.importExcel(f, PartyMembersExcel.class, importParams); |
|
|
|
// 校验数据
|
|
|
|
List<EpdcPartyErroyResultDTO> epdcPartyErroyResultDtos = this.checkExcel(partyList, partyMembersEntityList); |
|
|
|
if(epdcPartyErroyResultDtos.size()>0){ |
|
|
|
return new Result().ok(epdcPartyErroyResultDtos); |
|
|
|
} |
|
|
|
saveList(partyList); |
|
|
|
for (PartyMembersExcel partyMembers : partyList) { |
|
|
|
System.out.println("从Excel导入数据到数据库的详细为 :{}" + JSON.toJSONString(partyMembers)); |
|
|
|
} |
|
|
|
System.out.println("从Excel导入数据一共 {} 行 " + partyList.size()); |
|
|
|
} catch (Exception e1) { |
|
|
|
throw new RuntimeException("导入失败:{}" + e1.getMessage()); |
|
|
|
} |
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
/*** |
|
|
|
* 校验excel表格数据 |
|
|
|
* @param partyList |
|
|
|
* @param partyMembersEntityList |
|
|
|
* @return java.lang.String |
|
|
|
* @author qushutong |
|
|
|
* @date 2019/11/4 10:25 |
|
|
|
*/ |
|
|
|
private List<EpdcPartyErroyResultDTO> checkExcel(List<PartyMembersExcel> partyList, List<PartyMembersEntity> partyMembersEntityList) { |
|
|
|
// 不匹配信息
|
|
|
|
List<EpdcPartyErroyResultDTO> errorLineinfoList=new ArrayList<>(); |
|
|
|
for (int i = 0; i < partyList.size(); i++) { |
|
|
|
PartyMembersExcel partyMembersExcel = partyList.get(i); |
|
|
|
String realName = partyMembersExcel.getRealName(); |
|
|
|
String mobile = partyMembersExcel.getMobile(); |
|
|
|
String identityNo=partyMembersExcel.getIdentityNo(); |
|
|
|
if (StringUtils.isBlank(realName)) { |
|
|
|
EpdcPartyErroyResultDTO errorLineinfoDto=new EpdcPartyErroyResultDTO(); |
|
|
|
errorLineinfoDto.setErroLine((i+2)+""); |
|
|
|
errorLineinfoDto.setErrorInfo("姓名为空"); |
|
|
|
errorLineinfoList.add(errorLineinfoDto); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(identityNo)) { |
|
|
|
EpdcPartyErroyResultDTO errorLineinfoDto=new EpdcPartyErroyResultDTO(); |
|
|
|
errorLineinfoDto.setErroLine((i+2)+""); |
|
|
|
errorLineinfoDto.setErrorInfo("身份证号为空"); |
|
|
|
errorLineinfoList.add(errorLineinfoDto); |
|
|
|
} |
|
|
|
for (PartyMembersEntity item:partyMembersEntityList) { |
|
|
|
if(item.getRealName().equals(realName)){ |
|
|
|
EpdcPartyErroyResultDTO errorLineinfoDto=new EpdcPartyErroyResultDTO(); |
|
|
|
errorLineinfoDto.setErroLine((i+2)+""); |
|
|
|
errorLineinfoDto.setErrorInfo("姓名已存在"); |
|
|
|
errorLineinfoList.add(errorLineinfoDto); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(item.getMobile())&&item.getMobile().equals(mobile)){ |
|
|
|
EpdcPartyErroyResultDTO errorLineinfoDto=new EpdcPartyErroyResultDTO(); |
|
|
|
errorLineinfoDto.setErroLine((i+2)+""); |
|
|
|
errorLineinfoDto.setErrorInfo("手机号已存在"); |
|
|
|
errorLineinfoList.add(errorLineinfoDto); |
|
|
|
} |
|
|
|
if(item.getIdentityNo().equals(identityNo)){ |
|
|
|
EpdcPartyErroyResultDTO errorLineinfoDto=new EpdcPartyErroyResultDTO(); |
|
|
|
errorLineinfoDto.setErroLine((i+2)+""); |
|
|
|
errorLineinfoDto.setErrorInfo("身份证号已存在"); |
|
|
|
errorLineinfoList.add(errorLineinfoDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return errorLineinfoList; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<PartyMembersDTO> exportMoudle() { |
|
|
|
List<PartyMembersDTO> partyMembersDTOList = new ArrayList<>(); |
|
|
|
PartyMembersDTO partyMembersDto = new PartyMembersDTO(); |
|
|
|
partyMembersDto.setRealName("王小花"); |
|
|
|
partyMembersDto.setMobile("13000000000"); |
|
|
|
partyMembersDto.setIdentityNo("370681199903038473"); |
|
|
|
partyMembersDto.setPost(""); |
|
|
|
partyMembersDto.setCadreFlag("下沉"); |
|
|
|
partyMembersDto.setRegistFlag("是"); |
|
|
|
partyMembersDto.setRegistTime(new Date()); |
|
|
|
partyMembersDto.setStreetName("水清沟街道党工委"); |
|
|
|
partyMembersDto.setCommunityName("九江社区党委"); |
|
|
|
partyMembersDto.setGridName("第一网格支部"); |
|
|
|
PartyMembersDTO partyMembersDtoTwo = new PartyMembersDTO(); |
|
|
|
partyMembersDtoTwo.setRealName("徐小明"); |
|
|
|
partyMembersDtoTwo.setMobile("13000000001"); |
|
|
|
partyMembersDtoTwo.setIdentityNo("37068119499030542"); |
|
|
|
partyMembersDtoTwo.setPost(""); |
|
|
|
partyMembersDtoTwo.setCadreFlag("不下沉"); |
|
|
|
partyMembersDtoTwo.setRegistFlag("否"); |
|
|
|
partyMembersDtoTwo.setRegistTime(new Date()); |
|
|
|
partyMembersDtoTwo.setStreetName("水清沟街道党工委"); |
|
|
|
partyMembersDtoTwo.setCommunityName("九江社区党委"); |
|
|
|
partyMembersDtoTwo.setGridName("第一网格支部"); |
|
|
|
PartyMembersDTO partyMembersDtoThrid = new PartyMembersDTO(); |
|
|
|
partyMembersDtoThrid.setRealName("王红"); |
|
|
|
partyMembersDtoThrid.setMobile(""); |
|
|
|
partyMembersDtoThrid.setIdentityNo("37068119499032541"); |
|
|
|
partyMembersDtoThrid.setPost(""); |
|
|
|
partyMembersDtoThrid.setCadreFlag(""); |
|
|
|
partyMembersDtoThrid.setRegistFlag(""); |
|
|
|
partyMembersDtoThrid.setRegistTime(null); |
|
|
|
partyMembersDtoThrid.setStreetName(""); |
|
|
|
partyMembersDtoThrid.setCommunityName(""); |
|
|
|
partyMembersDtoThrid.setGridName(""); |
|
|
|
partyMembersDTOList.add(partyMembersDto); |
|
|
|
partyMembersDTOList.add(partyMembersDtoTwo); |
|
|
|
partyMembersDTOList.add(partyMembersDtoThrid); |
|
|
|
return partyMembersDTOList; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|