package com.product.server.report.patch;
|
|
import com.product.common.lang.StringUtils;
|
import com.product.core.dao.BaseDao;
|
import com.product.core.entity.DataTableEntity;
|
import com.product.core.entity.FieldSetEntity;
|
import com.product.core.service.support.AbstractBaseService;
|
import com.product.server.report.config.CmnConst;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* Copyright © 6c
|
*
|
* @Date: 2022-02-10 14:15
|
* @Author: 6c
|
* @Description:
|
*/
|
@Component
|
public class PatchService extends AbstractBaseService {
|
/**
|
* product_sys_report_type_attribute表中字段type_uuid修改为一对一
|
*/
|
public void patch202202100219() {
|
BaseDao baseDao = getBaseDao();
|
DataTableEntity dte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid like '%,%'");
|
FieldSetEntity commonDataListConfigFse = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, "type_name='普通数据列表'", new Object[]{}, false);
|
if (commonDataListConfigFse == null) {
|
return;
|
}
|
String commonDataListUUID = commonDataListConfigFse.getUUID();
|
FieldSetEntity fse;
|
String typeUUIDs;
|
DataTableEntity addDte = new DataTableEntity();
|
FieldSetEntity addFse;
|
String resetTypeUUID;
|
for (int i = 0;i < dte.getRows();i++) {
|
fse = dte.getFieldSetEntity(i);
|
typeUUIDs = fse.getString(CmnConst.TYPE_UUID);
|
if (typeUUIDs.contains(commonDataListUUID)) {
|
resetTypeUUID = commonDataListUUID;
|
} else {
|
resetTypeUUID = typeUUIDs.substring(0, typeUUIDs.indexOf(","));
|
}
|
for (String singleUUID : typeUUIDs.split(",")) {
|
if (StringUtils.isEmpty(singleUUID) || singleUUID.equals(resetTypeUUID)) {
|
continue;
|
}
|
addFse = fse.clones();
|
addFse.remove(new String[]{CmnConst.ID, CmnConst.UUID});
|
addFse.setValue(CmnConst.TYPE_UUID, singleUUID);
|
addDte.addFieldSetEntity(addFse);
|
}
|
|
fse.setValue(CmnConst.TYPE_UUID, resetTypeUUID);
|
baseDao.saveFieldSetEntity(fse);
|
}
|
baseDao.update(addDte);
|
}
|
}
|