public void dataRemove(Date date, String fieldName, int maxRemoveCount, String outObjectName, String unitName) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
if (date == null) {
Date sDate = new Date();
date = removeDbEjb.rMinDate(outObjectName, unitName);
Date eDate = new Date();
logger.info(String.format(" %s-%s -> ReceiveTime %s,%s->%s date=%s", unitName, outObjectName, removeDbEjb.rSecond(sDate, eDate), dateFormat.format(sDate), dateFormat.format(eDate), dateFormat.format(date)));
}
String inObject = String.format("%s%s%s", entityMap.get(unitName), outObjectName, sdf.format(date));
String outObject = String.format("%s%s", entityMap.get(unitName), outObjectName);
long i = removeDbEjb.rSecond(date, new Date());
//控制2年以内数据不迁移. 图纸DocFiles 4年以内
int j = unitName.contains("Doc") && outObjectName.contains("DocFiles") ? 1460 : 730;
if (removeDbEjb.rSecond(date, new Date()) > 60 * 60 * 24 * j) {
logger.info(String.format("%s StartTime %s, i = %s => %s -----> %s", dateFormat.format(new Date()), dateFormat.format(date), i, outObject, inObject));
dataRemove(date, fieldName, maxRemoveCount, outObject, inObject, unitName);
}
}
public void dataListRemove(Date date, String fieldName, int maxRemoveCount, String outObjectName, String unitName) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
if (date == null) {
Date sDate = new Date();
date = removeDbEjb.rMinDate(outObjectName, unitName);
Date eDate = new Date();
logger.info(String.format(" %s-%s -> ReceiveTime %s,%s->%s date=%s", unitName, outObjectName, removeDbEjb.rSecond(sDate, eDate), dateFormat.format(sDate), dateFormat.format(eDate), dateFormat.format(date)));
}
String outObjectNameList = outListMap.get(outObjectName);//"orderNo"
String fieldNameList = outFieldNameMap.get(outObjectNameList);
String inObject = String.format("%s%s%s", entityMap.get(unitName), outObjectName, sdf.format(date));
String outObject = String.format("%s%s", entityMap.get(unitName), outObjectName);
String inObjectList = String.format("%s%s%s", entityMap.get(unitName), outObjectNameList, sdf.format(date));
String outObjectList = String.format("%s%s", entityMap.get(unitName), outObjectNameList);
long i = removeDbEjb.rSecond(date, new Date());
//控制2年以内数据不迁移. 图纸DocFiles 4年以内
int j = unitName.contains("Doc") && outObjectName.contains("DocFiles") ? 1460 : 730;
if (removeDbEjb.rSecond(date, new Date()) > 60 * 60 * 24 * j) {
List<Object> dataList = removeDbEjb.rDataList(outObjectName, date, fieldName, unitName);
if (CollectionUtils.isNotEmpty(dataList) && dataList.size() > 0) {
logger.info(String.format("%s Line StartTime %s, i = %s => %s -----> %s", dateFormat.format(new Date()), dateFormat.format(date), i, outObjectList, inObjectList));
removeDbEjb.dataReturn(dataList, fieldNameList, outObjectList, inObjectList, unitName, "mySql");
logger.info(String.format("%s Head StartTime %s, i = %s => %s -----> %s", dateFormat.format(new Date()), dateFormat.format(date), i, outObject, inObject));
removeDbEjb.dataReturn(dataList, fieldNameList, outObject, inObject, unitName, "mySql");
} else {
logger.info(String.format("%s Query not Find Data %s, i = %s => %s -----> %s", dateFormat.format(new Date()), dateFormat.format(date), i, outObject, inObject));
// dataRemove(date, fieldName, maxRemoveCount, outObject, inObject, unitName);
}
}
},历史数据迁移到mysql的计划,原计划该表保留2年,现建议更改为保留一年。
最新发布