Browse Source

Merge branch 'lingshan_master' into dev

master
wxz 2 years ago
parent
commit
8a10311285
  1. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/AbstractLingShanSpecialCrowdExcelImportListener.java
  2. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/LingShanSpecialCrowdService.java
  3. 45
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/LingShanSpecialCrowdServiceImpl.java

2
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/AbstractLingShanSpecialCrowdExcelImportListener.java

@ -292,7 +292,7 @@ public abstract class AbstractLingShanSpecialCrowdExcelImportListener<T extends
* @date: 2023/4/19 11:06 AM * @date: 2023/4/19 11:06 AM
*/ */
private void savePersonAndTypes(List<PersonSpecialTypeBean> personTypes) { private void savePersonAndTypes(List<PersonSpecialTypeBean> personTypes) {
lingShanSpecialCrowdService.savePersonAndTypes(personTypes); lingShanSpecialCrowdService.savePersonAndTypes(personTypes, false);
} }
/** /**

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/LingShanSpecialCrowdService.java

@ -9,6 +9,7 @@ import com.epmet.entity.*;
import com.epmet.excel.data.LingShanSpecialCrowdDetailAzbjExcelData; import com.epmet.excel.data.LingShanSpecialCrowdDetailAzbjExcelData;
import com.epmet.excel.data.LingShanSpecialCrowdDetailBaseExcelData; import com.epmet.excel.data.LingShanSpecialCrowdDetailBaseExcelData;
import com.epmet.excel.handler.AbstractLingShanSpecialCrowdExcelImportListener; import com.epmet.excel.handler.AbstractLingShanSpecialCrowdExcelImportListener;
import com.sun.org.apache.xpath.internal.operations.Bool;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import java.util.List; import java.util.List;
@ -37,7 +38,15 @@ public interface LingShanSpecialCrowdService {
*/ */
String validate(LingShanSpecialCrowdDetailBaseExcelData row); String validate(LingShanSpecialCrowdDetailBaseExcelData row);
void savePersonAndTypes(List<PersonSpecialTypeBean> personTypes); /**
* @description:
* @param personTypes:
* @param hard: 是否硬性写入true会覆盖现有的用于页面的修改false会与现有的合并用户导入
* @return
* @author: WangXianZhang
* @date: 2023/4/24 3:25 PM
*/
void savePersonAndTypes(List<PersonSpecialTypeBean> personTypes, Boolean hard);
/** /**
* @description: 安置帮教-导入 * @description: 安置帮教-导入

45
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/LingShanSpecialCrowdServiceImpl.java

@ -263,7 +263,7 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
} }
@Override @Override
public void savePersonAndTypes(List<PersonSpecialTypeBean> personTypes) { public void savePersonAndTypes(List<PersonSpecialTypeBean> personTypes, Boolean hard) {
HashMap<String, Set<String>> resiIdAndTypes = new HashMap<>(); HashMap<String, Set<String>> resiIdAndTypes = new HashMap<>();
// 将所有的人群类别信息,按照居民id归类为map // 将所有的人群类别信息,按照居民id归类为map
@ -283,14 +283,16 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
Set<String> typeSet = entry.getValue(); Set<String> typeSet = entry.getValue();
IcSpecialEntity specialTypeInDb = icSpecialDao.selectByResiId(resiId); IcSpecialEntity specialTypeInDb = icSpecialDao.selectByResiId(resiId);
if (specialTypeInDb == null) { if (specialTypeInDb == null) {
//目前还不是特殊人群 //目前还不是特殊人群,直接新增
specialTypeInDb = new IcSpecialEntity(); specialTypeInDb = new IcSpecialEntity();
specialTypeInDb.setIcResiUser(resiId); specialTypeInDb.setIcResiUser(resiId);
specialTypeInDb.setSpecialRqlb(String.join(",", typeSet)); specialTypeInDb.setSpecialRqlb(String.join(",", typeSet));
icSpecialDao.insert(specialTypeInDb); icSpecialDao.insert(specialTypeInDb);
} else { } else {
// 已经是特殊人群了,那么追加新类别 if (! hard) {
typeSet.addAll(new HashSet<>(Arrays.asList(specialTypeInDb.getSpecialRqlb().split(",")))); // 已经是特殊人群了,但不是硬性写入,就需要合并数据库中已存在的数据。否则直接将最新提交的数据覆盖进去
typeSet.addAll(new HashSet<>(Arrays.asList(specialTypeInDb.getSpecialRqlb().split(","))));
}
IcSpecialEntity icSpecialUpdate = new IcSpecialEntity(); IcSpecialEntity icSpecialUpdate = new IcSpecialEntity();
icSpecialUpdate.setSpecialRqlb(String.join(",", typeSet)); icSpecialUpdate.setSpecialRqlb(String.join(",", typeSet));
icSpecialUpdate.setId(specialTypeInDb.getId()); icSpecialUpdate.setId(specialTypeInDb.getId());
@ -440,6 +442,9 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
PersonSpecialTypeBean azbjE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.AZBJ.getType()); PersonSpecialTypeBean azbjE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.AZBJ.getType());
types2Save.add(azbjE); types2Save.add(azbjE);
} else {
// 修改的时候,前端提交过来是空的,那就需要将现有的删掉
deleteSpecialCrowdDetail(input.getIdCard(), LingshanSpecialCrowdDetailAzbjEntity.class);
} }
if (input.getSpecialCrowdDetails().getJiedurenyuan() != null) { if (input.getSpecialCrowdDetails().getJiedurenyuan() != null) {
@ -450,6 +455,8 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
PersonSpecialTypeBean jdryE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.JDRY.getType()); PersonSpecialTypeBean jdryE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.JDRY.getType());
types2Save.add(jdryE); types2Save.add(jdryE);
} else {
deleteSpecialCrowdDetail(input.getIdCard(), LingshanSpecialCrowdDetailJdryEntity.class);
} }
if (input.getSpecialCrowdDetails().getJingzhanghuanzhe() != null) { if (input.getSpecialCrowdDetails().getJingzhanghuanzhe() != null) {
@ -460,6 +467,8 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
PersonSpecialTypeBean jzhzE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.JZHZ.getType()); PersonSpecialTypeBean jzhzE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.JZHZ.getType());
types2Save.add(jzhzE); types2Save.add(jzhzE);
} else {
deleteSpecialCrowdDetail(input.getIdCard(), LingshanSpecialCrowdDetailJzhzEntity.class);
} }
if (input.getSpecialCrowdDetails().getXinfangrenyuan() != null) { if (input.getSpecialCrowdDetails().getXinfangrenyuan() != null) {
@ -470,6 +479,8 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
PersonSpecialTypeBean xfryE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.XFRY.getType()); PersonSpecialTypeBean xfryE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.XFRY.getType());
types2Save.add(xfryE); types2Save.add(xfryE);
} else {
deleteSpecialCrowdDetail(input.getIdCard(), LingshanSpecialCrowdDetailXfryEntity.class);
} }
if (input.getSpecialCrowdDetails().getShequjiaozheng() != null) { if (input.getSpecialCrowdDetails().getShequjiaozheng() != null) {
@ -480,12 +491,36 @@ public class LingShanSpecialCrowdServiceImpl implements LingShanSpecialCrowdServ
PersonSpecialTypeBean sqjzE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.SQJZ.getType()); PersonSpecialTypeBean sqjzE = new PersonSpecialTypeBean(vt.getResiId(), input.getIdCard(), LingShanSpecialCrowdTypeEnums.SQJZ.getType());
types2Save.add(sqjzE); types2Save.add(sqjzE);
} else {
deleteSpecialCrowdDetail(input.getIdCard(), LingshanSpecialCrowdDetailSqjzEntity.class);
} }
// 保存人员类型 // 保存人员类型
savePersonAndTypes(types2Save); savePersonAndTypes(types2Save, true);
}
/**
* @description: 删除特殊人群详情表
* @param idCard:
* @return
* @author: WangXianZhang
* @date: 2023/4/24 3:33 PM
*/
private void deleteSpecialCrowdDetail(String idCard, Class<? extends LingshanSpecialCrowdDetailBaseEntity> e) {
if (LingshanSpecialCrowdDetailAzbjEntity.class == e) {
specialCrowdDetailAzbjDao.deletePhysical(idCard);
} else if (LingshanSpecialCrowdDetailXfryEntity.class == e) {
specialCrowdDetailXfryDao.deletePhysical(idCard);
} else if (LingshanSpecialCrowdDetailSqjzEntity.class == e) {
specialCrowdDetailSqjzDao.deletePhysical(idCard);
} else if (LingshanSpecialCrowdDetailJzhzEntity.class == e) {
specialCrowdDetailJzhzDao.deletePhysical(idCard);
} else if (LingshanSpecialCrowdDetailJdryEntity.class == e) {
specialCrowdDetailJdryDao.deletePhysical(idCard);
}
} }
void setCommonFields(LingshanSpecialCrowdDetailBaseEntity e, String customerId, String orgIdPath, Date now, String staffId) { void setCommonFields(LingshanSpecialCrowdDetailBaseEntity e, String customerId, String orgIdPath, Date now, String staffId) {
e.setCustomerId(customerId); e.setCustomerId(customerId);
e.setOrgIdPath(orgIdPath); e.setOrgIdPath(orgIdPath);

Loading…
Cancel
Save