private static void basicCompanyCompare(List<EtbChangeBasicBusinessInfoEntity> basicList, Map<String, List<EtbChangeHistoryInfoEntity>> collectHistoryMap, String orderCode, Integer version, List<EtbChangeCompareResultEntity> insertCompareList) {
if (CollectionUtils.isNotEmpty(basicList)) {
//企业基本信息的新数据
EtbChangeBasicBusinessInfoEntity basicNew = basicList.get(0);
//企业基本信息的老数据
List<EtbChangeHistoryInfoEntity> historyBasicList = collectHistoryMap.get(ETB_BASIC_BUSINESS_INFORMATION);
if (CollectionUtils.isNotEmpty(historyBasicList)) {
//存在老数据,逐个比对
List<EtbChangeBasicBusinessInfoEntity> businessInfoEntities = BeanUtil.toListObj(historyBasicList.get(0).getBusinessData(), EtbChangeBasicBusinessInfoEntity.class);
EtbChangeBasicBusinessInfoEntity basicHi = businessInfoEntities.get(0);//老数据取值
//找出值不同的字段
List<String> diffFields = diffToSet(basicNew, basicHi);
if (CollectionUtils.isNotEmpty(diffFields)) {
//1.新数据选择的字段值和老数据有变化,将有变化的小类标记为未已改动,没有变化的小类标记为未改动,并插入数据库
buildAndCompareEntity(BASIC_BUSINESS_LEGAL_FIELDS, ETB_BASIC_BUSINESS_LEGAL, diffFields, orderCode, version, insertCompareList);
buildAndCompareEntity(BASIC_BUSINESS_CORP_FIELDS, ETB_BASIC_BUSINESS_CORP, diffFields, orderCode, version, insertCompareList);
buildAndCompareEntity(BASIC_BUSINESS_REG_FIELDS, ETB_BASIC_BUSINESS_REG, diffFields, orderCode, version, insertCompareList);
buildAndCompareEntity(BASIC_BUSINESS_MIT_FIELDS, ETB_BASIC_BUSINESS_MIT, diffFields, orderCode, version, insertCompareList);
} else {
//2.新数据选择的所有字段值和老数据一样,将新数据选择的小类全部标记为未改动,并插入数据库
List<String> nonNullFields = nonNullToSet(basicNew);//有值的字段
if (CollectionUtils.isNotEmpty(nonNullFields)) {
buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_LEGAL_FIELDS, ETB_BASIC_BUSINESS_LEGAL, nonNullFields, orderCode, version, insertCompareList);
buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_CORP_FIELDS, ETB_BASIC_BUSINESS_CORP, nonNullFields, orderCode, version, insertCompareList);
buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_REG_FIELDS, ETB_BASIC_BUSINESS_REG, nonNullFields, orderCode, version, insertCompareList);
buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_MIT_FIELDS, ETB_BASIC_BUSINESS_MIT, nonNullFields, orderCode, version, insertCompareList);
}
}
} else {
//3.不存在老数据,将新数据选择的小类全部标记为已改动,并插入数据库
List<String> nonNullFields = nonNullToSet(basicNew);//有值的字段
if (CollectionUtils.isNotEmpty(nonNullFields)) {
buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_LEGAL_FIELDS, ETB_BASIC_BUSINESS_LEGAL, nonNullFields, orderCode, version, insertCompareList);
buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_CORP_FIELDS, ETB_BASIC_BUSINESS_CORP, nonNullFields, orderCode, version, insertCompareList);
buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_REG_FIELDS, ETB_BASIC_BUSINESS_REG, nonNullFields, orderCode, version, insertCompareList);
buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_MIT_FIELDS, ETB_BASIC_BUSINESS_MIT, nonNullFields, orderCode, version, insertCompareList);
}
}
}
}
最新发布