修改默认列设置功能
This commit is contained in:
parent
de5a00f588
commit
12df33960a
|
|
@ -8,70 +8,71 @@ import java.util.List;
|
|||
|
||||
public interface PageListSettingMapper {
|
||||
|
||||
/**
|
||||
/**
|
||||
* 查询所有记录
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<PageListSettingPO> listAll();
|
||||
|
||||
List<PageListSettingPO> listAll();
|
||||
|
||||
/**
|
||||
* 条件查询
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<PageListSettingPO> listSome(PageListSettingPO pageListSetting);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* 根据主键查询
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 返回记录,没有返回null
|
||||
*/
|
||||
PageListSettingPO getById(Long id);
|
||||
|
||||
/**
|
||||
PageListSettingPO getById(Long id);
|
||||
|
||||
/**
|
||||
* 新增,忽略null字段
|
||||
*
|
||||
* @param pageListSetting 新增的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int insertIgnoreNull(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
int insertIgnoreNull(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
*
|
||||
* @param pageListSetting 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int update(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
int update(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 修改,忽略null字段
|
||||
*
|
||||
* @param pageListSetting 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int updateIgnoreNull(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
int updateIgnoreNull(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 删除记录
|
||||
*
|
||||
* @param pageListSetting 待删除的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int delete(PageListSettingPO pageListSetting);
|
||||
|
||||
int delete(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 批量删除记录
|
||||
*
|
||||
* @param ids 主键id集合
|
||||
*/
|
||||
void deleteByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
//获取页面默认配置
|
||||
PageListSettingPO getByPage(@Param("page") String page, @Param("defaultSetting") Integer defaultSetting);
|
||||
//获取页面默认配置
|
||||
PageListSettingPO getByPage(@Param("page") String page, @Param("defaultSetting") Integer defaultSetting, @Param("creator") Long creator);
|
||||
|
||||
//获取页面配置模板
|
||||
List<PageListSettingPO> getTemplatesByPage(String page);
|
||||
//获取页面配置模板
|
||||
List<PageListSettingPO> getTemplatesByPage(String page);
|
||||
}
|
||||
|
|
@ -225,6 +225,9 @@
|
|||
WHERE delete_type = 0
|
||||
and page = #{page}
|
||||
and default_setting = #{defaultSetting}
|
||||
<if test="creator != null">
|
||||
AND creator = #{creator}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getTemplatesByPage" resultMap="BaseResultMap">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.engine.salary.report.wrapper;
|
||||
|
||||
import com.cloudstore.eccom.constant.WeaBoolAttr;
|
||||
import com.cloudstore.eccom.pc.table.WeaTable;
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.cloudstore.eccom.result.WeaResultMsg;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
|
|
@ -41,7 +40,6 @@ import org.apache.commons.collections4.CollectionUtils;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import weaver.general.PageIdConst;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -191,13 +189,14 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
if (templateShow) {
|
||||
weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue());
|
||||
} else {
|
||||
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build();
|
||||
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).defaultSetting(0).build();
|
||||
PageListTemplateDTO pageListSetting = getSettingService(user).getPageListSetting(param);
|
||||
weaTableColumns = pageListSetting.getChecked();
|
||||
}
|
||||
|
||||
// 结果
|
||||
resultMap.put("columns", weaTableColumns);
|
||||
resultMap.put("pageInfo", pageInfo);
|
||||
if (queryParam.isExport()) {
|
||||
Map<String, Object> countResultMap = Maps.newHashMap();
|
||||
List<SalaryItemPO> salaryItems = salaryStatisticsEmployeeDetailResult.getSalaryItemList();
|
||||
|
|
@ -215,21 +214,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
}
|
||||
resultMap.put("salaryItems", salaryStatisticsEmployeeDetailResult.getSalaryItemList());
|
||||
resultMap.put("countResult", countResultMap);
|
||||
} else {
|
||||
WeaTable table = new WeaTable();
|
||||
String pageId = "b72ed4bb-725e-45de-aea1-4eb4c9184af7";
|
||||
table.setPageID(pageId);
|
||||
table.setPageUID(pageId + user.getUID());
|
||||
table.setPagesize(PageIdConst.getPageSize(pageId, user.getUID()));
|
||||
table.setBackfields("");
|
||||
table.setColumns(weaTableColumns);
|
||||
|
||||
WeaResultMsg result = new WeaResultMsg(false);
|
||||
result.putAll(table.makeDataResult());
|
||||
result.success();
|
||||
resultMap.put("dataKey", result.getResultMap());
|
||||
}
|
||||
resultMap.put("pageInfo", pageInfo);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -71,24 +71,22 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
|
||||
Date now = new Date();
|
||||
|
||||
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage(), pageListSettingSaveParam.getDefaultSetting());
|
||||
//是否保存默认设置
|
||||
Integer defaultSetting = pageListSettingSaveParam.getDefaultSetting();
|
||||
PageListSettingPO pageListSettingPO;
|
||||
if (defaultSetting == 0) {
|
||||
pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage(), defaultSetting, (long) user.getUID());
|
||||
} else {
|
||||
pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage(), defaultSetting, null);
|
||||
}
|
||||
|
||||
List<String> checked = pageListSettingSaveParam.getSetting().stream().distinct().collect(Collectors.toList());
|
||||
if (pageListSettingPO != null) {
|
||||
pageListSettingPO.setSetting(checked);
|
||||
pageListSettingPO.setUpdateTime(now);
|
||||
getPageListSettingMapper().updateIgnoreNull(pageListSettingPO);
|
||||
} else {
|
||||
pageListSettingPO = PageListSettingPO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.page(pageListSettingSaveParam.getPage())
|
||||
.setting(checked)
|
||||
.defaultSetting(pageListSettingSaveParam.getDefaultSetting())
|
||||
.creator((long) user.getUID())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(0)
|
||||
.tenantKey(DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
pageListSettingPO = PageListSettingPO.builder().id(IdGenerator.generate()).page(pageListSettingSaveParam.getPage()).setting(checked).defaultSetting(defaultSetting).creator((long) user.getUID()).createTime(now).updateTime(now).deleteType(0).tenantKey(DEFAULT_TENANT_KEY).build();
|
||||
getPageListSettingMapper().insertIgnoreNull(pageListSettingPO);
|
||||
}
|
||||
}
|
||||
|
|
@ -114,52 +112,52 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
}
|
||||
|
||||
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
|
||||
List<WeaTableColumn> collect = salaryItemList.stream()
|
||||
.filter(po -> {
|
||||
String name = param.getName();
|
||||
if (StrUtil.isNotEmpty(name)) {
|
||||
return po.getName() != null && po.getName().contains(name);
|
||||
}
|
||||
return true;
|
||||
})
|
||||
.sorted((o1, o2) -> {
|
||||
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) {
|
||||
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType();
|
||||
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType();
|
||||
return systemType1.compareTo(systemType2);
|
||||
} else {
|
||||
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
|
||||
Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
|
||||
return sortedIndex2.compareTo(sortedIndex1);
|
||||
}
|
||||
})
|
||||
.map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX))
|
||||
.collect(Collectors.toList());
|
||||
List<WeaTableColumn> collect = salaryItemList.stream().filter(po -> {
|
||||
String name = param.getName();
|
||||
if (StrUtil.isNotEmpty(name)) {
|
||||
return po.getName() != null && po.getName().contains(name);
|
||||
}
|
||||
return true;
|
||||
}).sorted((o1, o2) -> {
|
||||
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) {
|
||||
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType();
|
||||
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType();
|
||||
return systemType1.compareTo(systemType2);
|
||||
} else {
|
||||
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
|
||||
Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
|
||||
return sortedIndex2.compareTo(sortedIndex1);
|
||||
}
|
||||
}).map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX)).collect(Collectors.toList());
|
||||
|
||||
columns.addAll(collect);
|
||||
|
||||
Integer defaultSetting = param.getDefaultSetting();
|
||||
Map<String, WeaTableColumn> columnMap = SalaryEntityUtil.convert2Map(columns, WeaTableColumn::getColumn);
|
||||
List<WeaTableColumn> checkedList = new ArrayList<>();
|
||||
PageListSettingPO po = getPageListSettingMapper().getByPage(page, defaultSetting);
|
||||
|
||||
//如果查询个人设置且无值,查询默认设置
|
||||
if (defaultSetting == 0 && po == null) {
|
||||
po = getPageListSettingMapper().getByPage(page, 1);
|
||||
//是否查询默认设置
|
||||
PageListSettingPO pageListSettingPO;
|
||||
if (defaultSetting == 0) {
|
||||
pageListSettingPO = getPageListSettingMapper().getByPage(page, 0, (long) user.getUID());
|
||||
//查不到个人查默认
|
||||
if (pageListSettingPO == null) {
|
||||
pageListSettingPO = getPageListSettingMapper().getByPage(page, 1, null);
|
||||
}
|
||||
} else {
|
||||
pageListSettingPO = getPageListSettingMapper().getByPage(page, 1, null);
|
||||
}
|
||||
|
||||
if (po != null) {
|
||||
checkedList = Optional.ofNullable(po.getSetting()).orElse(new ArrayList<>())
|
||||
.stream()
|
||||
.map(s -> columnMap.getOrDefault(s, new WeaTableColumn()))
|
||||
.collect(Collectors.toList());
|
||||
}else {
|
||||
//查询选中的项目
|
||||
if (pageListSettingPO != null) {
|
||||
checkedList = Optional.ofNullable(pageListSettingPO.getSetting()).orElse(new ArrayList<>()).stream().map(s -> columnMap.getOrDefault(s, new WeaTableColumn())).collect(Collectors.toList());
|
||||
} else {
|
||||
checkedList = columns;
|
||||
}
|
||||
return PageListTemplateDTO.builder().setting(columns).checked(checkedList).build();
|
||||
}
|
||||
|
||||
return PageListTemplateDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build();
|
||||
return PageListTemplateDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -184,27 +182,23 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
}
|
||||
|
||||
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
|
||||
List<WeaTableColumn> collect = salaryItemList.stream()
|
||||
.filter(po -> {
|
||||
String name = param.getName();
|
||||
if (StrUtil.isNotEmpty(name)) {
|
||||
return po.getName() != null && po.getName().contains(name);
|
||||
}
|
||||
return true;
|
||||
})
|
||||
.sorted((o1, o2) -> {
|
||||
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) {
|
||||
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType();
|
||||
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType();
|
||||
return systemType1.compareTo(systemType2);
|
||||
} else {
|
||||
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
|
||||
Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
|
||||
return sortedIndex2.compareTo(sortedIndex1);
|
||||
}
|
||||
})
|
||||
.map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX))
|
||||
.collect(Collectors.toList());
|
||||
List<WeaTableColumn> collect = salaryItemList.stream().filter(po -> {
|
||||
String name = param.getName();
|
||||
if (StrUtil.isNotEmpty(name)) {
|
||||
return po.getName() != null && po.getName().contains(name);
|
||||
}
|
||||
return true;
|
||||
}).sorted((o1, o2) -> {
|
||||
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) {
|
||||
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType();
|
||||
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType();
|
||||
return systemType1.compareTo(systemType2);
|
||||
} else {
|
||||
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
|
||||
Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
|
||||
return sortedIndex2.compareTo(sortedIndex1);
|
||||
}
|
||||
}).map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX)).collect(Collectors.toList());
|
||||
|
||||
columns.addAll(collect);
|
||||
|
||||
|
|
@ -213,10 +207,7 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
if (id != null) {
|
||||
PageListTemplatePO po = getPageListTemplateMapper().getById(id);
|
||||
if (po != null) {
|
||||
checkedList = Optional.ofNullable(po.getSetting()).orElse(new ArrayList<>())
|
||||
.stream()
|
||||
.map(s -> columnMap.getOrDefault(s, new WeaTableColumn()))
|
||||
.collect(Collectors.toList());
|
||||
checkedList = Optional.ofNullable(po.getSetting()).orElse(new ArrayList<>()).stream().map(s -> columnMap.getOrDefault(s, new WeaTableColumn())).collect(Collectors.toList());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -241,22 +232,19 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
|
||||
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID());
|
||||
List<String> taxIds = SalaryEntityUtil.properties(taxAgentPOS, po -> po.getId().toString(), Collectors.toList());
|
||||
pos = pos.stream()
|
||||
.filter(po -> {
|
||||
if (po.getSharedType() == 1) {
|
||||
List limitIds = po.getLimitIds();
|
||||
List<String> collect = new ArrayList<>();
|
||||
for (int i = 0; i < limitIds.size(); i++) {
|
||||
collect.add(limitIds.get(i).toString());
|
||||
}
|
||||
return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(collect, taxIds).size() != 0;
|
||||
}
|
||||
return true;
|
||||
})
|
||||
.peek(po -> {
|
||||
po.setChecked(link != null && po.getId().equals(link.getTemplateId()));
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
pos = pos.stream().filter(po -> {
|
||||
if (po.getSharedType() == 1) {
|
||||
List limitIds = po.getLimitIds();
|
||||
List<String> collect = new ArrayList<>();
|
||||
for (int i = 0; i < limitIds.size(); i++) {
|
||||
collect.add(limitIds.get(i).toString());
|
||||
}
|
||||
return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(collect, taxIds).size() != 0;
|
||||
}
|
||||
return true;
|
||||
}).peek(po -> {
|
||||
po.setChecked(link != null && po.getId().equals(link.getTemplateId()));
|
||||
}).collect(Collectors.toList());
|
||||
return pos;
|
||||
}
|
||||
|
||||
|
|
@ -268,19 +256,7 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
|
||||
PageListTemplatePO po;
|
||||
if (id == null) {
|
||||
po = PageListTemplatePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.page(param.getPage())
|
||||
.name(param.getName())
|
||||
.sharedType(param.getSharedType())
|
||||
.limitIds(param.getLimitIds())
|
||||
.setting(param.getSetting())
|
||||
.creator((long) user.getUID())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(0)
|
||||
.tenantKey(DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
po = PageListTemplatePO.builder().id(IdGenerator.generate()).page(param.getPage()).name(param.getName()).sharedType(param.getSharedType()).limitIds(param.getLimitIds()).setting(param.getSetting()).creator((long) user.getUID()).createTime(now).updateTime(now).deleteType(0).tenantKey(DEFAULT_TENANT_KEY).build();
|
||||
getPageListTemplateMapper().insertIgnoreNull(po);
|
||||
} else {
|
||||
po = getPageListTemplateMapper().getById(id);
|
||||
|
|
@ -308,17 +284,7 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
Set<Long> ids = SalaryEntityUtil.properties(pageLinkPOS, PageLinkPO::getId);
|
||||
getPageLinkMapper().deleteByIds(ids);
|
||||
}
|
||||
PageLinkPO pageLinkPO = PageLinkPO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.employeeId((long) user.getUID())
|
||||
.page(param.getPage())
|
||||
.templateId(param.getTemplateId())
|
||||
.tenantKey(DEFAULT_TENANT_KEY)
|
||||
.createTime(new Date())
|
||||
.updateTime(new Date())
|
||||
.creator((long) user.getUID())
|
||||
.deleteType(0)
|
||||
.build();
|
||||
PageLinkPO pageLinkPO = PageLinkPO.builder().id(IdGenerator.generate()).employeeId((long) user.getUID()).page(param.getPage()).templateId(param.getTemplateId()).tenantKey(DEFAULT_TENANT_KEY).createTime(new Date()).updateTime(new Date()).creator((long) user.getUID()).deleteType(0).build();
|
||||
|
||||
getPageLinkMapper().insertIgnoreNull(pageLinkPO);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue