Merge remote-tracking branch 'origin/release/2.17.1.2411.01' into release/2.17.1.2411.01

This commit is contained in:
Harryxzy 2024-11-26 13:30:04 +08:00
commit 607fd2c6a2
19 changed files with 224 additions and 164 deletions

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int;

View File

@ -0,0 +1,4 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
)
/

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int ;

View File

@ -0,0 +1,2 @@
ALTER TABLE hrsa_page_list_setting ADD default_setting int NULL
GO

View File

@ -0,0 +1,5 @@
ALTER TABLE hrsa_page_list_setting add (
default_setting number
);
/

View File

@ -19,4 +19,6 @@ public class PageListSettingQueryParam {
private String page; private String page;
private String name; private String name;
private Integer defaultSetting;
} }

View File

@ -17,6 +17,12 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
public class PageListSettingSaveParam { public class PageListSettingSaveParam {
/**
* 默认设置
*/
@DataCheck(require = true,message = "是否为默认设置")
private Integer defaultSetting;
/** /**
* 页面0薪资明细 * 页面0薪资明细
*/ */
@ -27,5 +33,5 @@ public class PageListSettingSaveParam {
* 设置 * 设置
*/ */
@DataCheck(require = true,message = "请选择设置") @DataCheck(require = true,message = "请选择设置")
private List<Long> setting; private List<String> setting;
} }

View File

@ -30,7 +30,12 @@ public class PageListSettingPO {
* 设置 * 设置
*/ */
@ElogTransform(name = "设置") @ElogTransform(name = "设置")
private List<Long> setting; private List<String> setting;
/**
* 默认设置
*/
private Integer defaultSetting;
/** /**

View File

@ -8,70 +8,71 @@ import java.util.List;
public interface PageListSettingMapper { public interface PageListSettingMapper {
/** /**
* 查询所有记录 * 查询所有记录
* *
* @return 返回集合没有返回空List * @return 返回集合没有返回空List
*/ */
List<PageListSettingPO> listAll(); List<PageListSettingPO> listAll();
/** /**
* 条件查询 * 条件查询
* *
* @return 返回集合没有返回空List * @return 返回集合没有返回空List
*/ */
List<PageListSettingPO> listSome(PageListSettingPO pageListSetting); List<PageListSettingPO> listSome(PageListSettingPO pageListSetting);
/**
/**
* 根据主键查询 * 根据主键查询
* *
* @param id 主键 * @param id 主键
* @return 返回记录没有返回null * @return 返回记录没有返回null
*/ */
PageListSettingPO getById(Long id); PageListSettingPO getById(Long id);
/** /**
* 新增忽略null字段 * 新增忽略null字段
* *
* @param pageListSetting 新增的记录 * @param pageListSetting 新增的记录
* @return 返回影响行数 * @return 返回影响行数
*/ */
int insertIgnoreNull(PageListSettingPO pageListSetting); int insertIgnoreNull(PageListSettingPO pageListSetting);
/** /**
* 修改修改所有字段 * 修改修改所有字段
* *
* @param pageListSetting 修改的记录 * @param pageListSetting 修改的记录
* @return 返回影响行数 * @return 返回影响行数
*/ */
int update(PageListSettingPO pageListSetting); int update(PageListSettingPO pageListSetting);
/** /**
* 修改忽略null字段 * 修改忽略null字段
* *
* @param pageListSetting 修改的记录 * @param pageListSetting 修改的记录
* @return 返回影响行数 * @return 返回影响行数
*/ */
int updateIgnoreNull(PageListSettingPO pageListSetting); int updateIgnoreNull(PageListSettingPO pageListSetting);
/** /**
* 删除记录 * 删除记录
* *
* @param pageListSetting 待删除的记录 * @param pageListSetting 待删除的记录
* @return 返回影响行数 * @return 返回影响行数
*/ */
int delete(PageListSettingPO pageListSetting); int delete(PageListSettingPO pageListSetting);
/** /**
* 批量删除记录 * 批量删除记录
*
* @param ids 主键id集合 * @param ids 主键id集合
*/ */
void deleteByIds(@Param("ids") Collection<Long> ids); void deleteByIds(@Param("ids") Collection<Long> ids);
//获取页面默认配置 //获取页面默认配置
PageListSettingPO getByPage(String page); PageListSettingPO getByPage(@Param("page") String page, @Param("defaultSetting") Integer defaultSetting, @Param("creator") Long creator);
//获取页面配置模板 //获取页面配置模板
List<PageListSettingPO> getTemplatesByPage(String page); List<PageListSettingPO> getTemplatesByPage(String page);
} }

View File

@ -10,6 +10,7 @@
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
<result column="delete_type" property="deleteType"/> <result column="delete_type" property="deleteType"/>
<result column="tenant_key" property="tenantKey"/> <result column="tenant_key" property="tenantKey"/>
<result column="default_setting" property="defaultSetting"/>
</resultMap> </resultMap>
<!-- 表字段 --> <!-- 表字段 -->
@ -24,6 +25,7 @@
, t.setting , t.setting
, t.tenant_key , t.tenant_key
, t.update_time , t.update_time
, t.default_setting
</sql> </sql>
<!-- 查询全部 --> <!-- 查询全部 -->
@ -70,6 +72,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
AND update_time = #{updateTime} AND update_time = #{updateTime}
</if> </if>
<if test="defaultSetting != null">
AND default_setting = #{defaultSetting}
</if>
<if test="ids != null and ids.size()>0"> <if test="ids != null and ids.size()>0">
AND id IN AND id IN
<foreach collection="ids" open="(" item="id" separator="," close=")"> <foreach collection="ids" open="(" item="id" separator="," close=")">
@ -109,6 +114,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
update_time, update_time,
</if> </if>
<if test="defaultSetting != null">
default_setting,
</if>
</trim> </trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=","> <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="createTime != null"> <if test="createTime != null">
@ -135,6 +143,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
#{updateTime}, #{updateTime},
</if> </if>
<if test="defaultSetting != null">
#{defaultSetting},
</if>
</trim> </trim>
</insert> </insert>
@ -150,6 +161,7 @@
setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler}, setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler},
tenant_key=#{tenantKey}, tenant_key=#{tenantKey},
update_time=#{updateTime}, update_time=#{updateTime},
default_setting=#{defaultSetting},
</set> </set>
WHERE id = #{id} AND delete_type = 0 WHERE id = #{id} AND delete_type = 0
</update> </update>
@ -180,6 +192,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
update_time=#{updateTime}, update_time=#{updateTime},
</if> </if>
<if test="defaultSetting != null">
default_setting=#{defaultSetting},
</if>
</set> </set>
WHERE id = #{id} AND delete_type = 0 WHERE id = #{id} AND delete_type = 0
</update> </update>
@ -209,6 +224,10 @@
FROM hrsa_page_list_setting t FROM hrsa_page_list_setting t
WHERE delete_type = 0 WHERE delete_type = 0
and page = #{page} and page = #{page}
and default_setting = #{defaultSetting}
<if test="creator != null">
AND creator = #{creator}
</if>
</select> </select>
<select id="getTemplatesByPage" resultMap="BaseResultMap"> <select id="getTemplatesByPage" resultMap="BaseResultMap">

View File

@ -10,7 +10,6 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO; import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.UserStatusEnum;
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
@ -26,7 +25,10 @@ import com.engine.salary.report.entity.param.SalaryStatisticsEmployeeSalaryQuery
import com.engine.salary.report.service.SalaryStatisticsEmployeeService; import com.engine.salary.report.service.SalaryStatisticsEmployeeService;
import com.engine.salary.service.*; import com.engine.salary.service.*;
import com.engine.salary.service.impl.*; import com.engine.salary.service.impl.*;
import com.engine.salary.util.*; import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.page.SalaryPageUtil;
@ -41,8 +43,6 @@ import weaver.hrm.User;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.engine.salary.enums.setting.PageListSettingPageEnum.SALARY_DETAILS_REPORT;
/** /**
* 薪酬统计员工明细 * 薪酬统计员工明细
* <p>Copyright: Copyright (c) 2022</p> * <p>Copyright: Copyright (c) 2022</p>
@ -350,10 +350,23 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
@Override @Override
public SalaryStatisticsEmployeeDetailResultDTO getDetailSalaryAcctResultByAcctEmp(List<SalaryAcctEmployeePO> salaryAcctEmployeeList) { public SalaryStatisticsEmployeeDetailResultDTO getDetailSalaryAcctResultByAcctEmp(List<SalaryAcctEmployeePO> salaryAcctEmployeeList) {
// 3.获取薪资项目 // 3.获取薪资项目
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build(); List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
Map setting = getSettingService(user).getPageListSetting(param); salaryItemList = salaryItemList.stream()
List<Long> checked = setting.get("checked") != null ? JsonUtil.parseList(setting.get("checked"), Long.class) : new ArrayList<>(); .sorted(new Comparator<SalaryItemPO>() {
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listByIds(checked); @Override
public int compare(SalaryItemPO o1, SalaryItemPO 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);
}
}
})
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(salaryAcctEmployeeList)) { if (CollectionUtils.isEmpty(salaryAcctEmployeeList)) {
return SalaryStatisticsEmployeeDetailResultDTO.builder() return SalaryStatisticsEmployeeDetailResultDTO.builder()
.salaryAcctEmployeeList(Collections.emptyList()) .salaryAcctEmployeeList(Collections.emptyList())

View File

@ -1,7 +1,6 @@
package com.engine.salary.report.wrapper; package com.engine.salary.report.wrapper;
import com.cloudstore.eccom.constant.WeaBoolAttr; import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTable;
import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.result.WeaResultMsg; import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
@ -11,6 +10,8 @@ import com.engine.salary.component.WeaTableColumnGroup;
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO; import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.setting.dto.PageListTemplateDTO;
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.report.common.constant.SalaryConstant; import com.engine.salary.report.common.constant.SalaryConstant;
import com.engine.salary.report.entity.bo.SalaryStatisticsReportBO; import com.engine.salary.report.entity.bo.SalaryStatisticsReportBO;
@ -39,7 +40,6 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.general.PageIdConst;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
@ -189,12 +189,14 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
if (templateShow) { if (templateShow) {
weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue()); weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue());
} else { } else {
// 显示方案0显示定制列,默认方式 PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).defaultSetting(0).build();
weaTableColumns = buildDetailTableColumns(salaryStatisticsEmployeeDetailResult, true); PageListTemplateDTO pageListSetting = getSettingService(user).getPageListSetting(param);
weaTableColumns = pageListSetting.getChecked();
} }
// 结果 // 结果
resultMap.put("columns", weaTableColumns); resultMap.put("columns", weaTableColumns);
resultMap.put("pageInfo", pageInfo);
if (queryParam.isExport()) { if (queryParam.isExport()) {
Map<String, Object> countResultMap = Maps.newHashMap(); Map<String, Object> countResultMap = Maps.newHashMap();
List<SalaryItemPO> salaryItems = salaryStatisticsEmployeeDetailResult.getSalaryItemList(); List<SalaryItemPO> salaryItems = salaryStatisticsEmployeeDetailResult.getSalaryItemList();
@ -212,21 +214,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
} }
resultMap.put("salaryItems", salaryStatisticsEmployeeDetailResult.getSalaryItemList()); resultMap.put("salaryItems", salaryStatisticsEmployeeDetailResult.getSalaryItemList());
resultMap.put("countResult", countResultMap); 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; return resultMap;
} }

View File

@ -6,12 +6,11 @@ import com.engine.salary.entity.setting.param.*;
import com.engine.salary.entity.setting.po.PageListTemplatePO; import com.engine.salary.entity.setting.po.PageListTemplatePO;
import java.util.List; import java.util.List;
import java.util.Map;
public interface SettingService { public interface SettingService {
void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam); void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam);
Map getPageListSetting(PageListSettingQueryParam param); PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param);
PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param); PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param);

View File

@ -67,65 +67,97 @@ public class SettingServiceImpl extends Service implements SettingService {
@Override @Override
public void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam) { public void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam) {
ValidUtil.doValidator(pageListSettingSaveParam);
Date now = new Date(); Date now = new Date();
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage()); //是否保存默认设置
List<Long> checked = pageListSettingSaveParam.getSetting().stream().distinct().collect(Collectors.toList()); 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) { if (pageListSettingPO != null) {
pageListSettingPO.setSetting(checked); pageListSettingPO.setSetting(checked);
pageListSettingPO.setUpdateTime(now); pageListSettingPO.setUpdateTime(now);
getPageListSettingMapper().updateIgnoreNull(pageListSettingPO); getPageListSettingMapper().updateIgnoreNull(pageListSettingPO);
} else { } else {
pageListSettingPO = PageListSettingPO.builder() 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();
.id(IdGenerator.generate())
.page(pageListSettingSaveParam.getPage())
.setting(checked)
.creator((long) user.getUID())
.createTime(now)
.updateTime(now)
.deleteType(0)
.tenantKey(DEFAULT_TENANT_KEY)
.build();
getPageListSettingMapper().insertIgnoreNull(pageListSettingPO); getPageListSettingMapper().insertIgnoreNull(pageListSettingPO);
} }
} }
@Override @Override
public Map getPageListSetting(PageListSettingQueryParam param) { public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) {
String page = param.getPage(); String page = param.getPage();
Map result = new HashMap();
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(page);
if (SALARY_DETAILS_REPORT.getValue().equals(page)) { if (SALARY_DETAILS_REPORT.getValue().equals(page)) {
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll(); List<WeaTableColumn> columns = new ArrayList<>();
salaryItemList = salaryItemList.stream() columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(87614, "薪资所属月"), "salaryMonth"));
.filter(po -> { columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), "taxAgent"));
String name = param.getName(); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "账套"), "salarySob"));
if (StrUtil.isNotEmpty(name)) { columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "姓名"), "userName"));
return po.getName() != null && po.getName().contains(name); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "分部"), "subCompany"));
} columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "部门"), "department"));
return true; columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "岗位"), "jobTitle"));
}) columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "员工状态"), "status"));
.sorted((o1, o2) -> { columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "工号"), "workCode"));
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) { columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "入职日期"), "companystartdate"));
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType(); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "次数"), "acctTimes").setDisplay(WeaBoolAttr.FALSE));
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType(); if (StrUtil.isNotBlank(param.getName())) {
return systemType1.compareTo(systemType2); columns = columns.stream().filter(column -> column.getText().contains(param.getName())).collect(Collectors.toList());
} else {
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
return sortedIndex2.compareTo(sortedIndex1);
}
})
.collect(Collectors.toList());
result.put("setting", salaryItemList);
if (pageListSettingPO != null && CollUtil.isNotEmpty(pageListSettingPO.getSetting())) {
result.put("checked", pageListSettingPO.getSetting());
} else {
List<Long> collect = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
result.put("checked", collect);
} }
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());
columns.addAll(collect);
Integer defaultSetting = param.getDefaultSetting();
Map<String, WeaTableColumn> columnMap = SalaryEntityUtil.convert2Map(columns, WeaTableColumn::getColumn);
List<WeaTableColumn> checkedList = new ArrayList<>();
//是否查询默认设置
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 (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 result;
return PageListTemplateDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build();
} }
@Override @Override
@ -150,27 +182,23 @@ public class SettingServiceImpl extends Service implements SettingService {
} }
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll(); List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
List<WeaTableColumn> collect = salaryItemList.stream() List<WeaTableColumn> collect = salaryItemList.stream().filter(po -> {
.filter(po -> { String name = param.getName();
String name = param.getName(); if (StrUtil.isNotEmpty(name)) {
if (StrUtil.isNotEmpty(name)) { return po.getName() != null && po.getName().contains(name);
return po.getName() != null && po.getName().contains(name); }
} return true;
return true; }).sorted((o1, o2) -> {
}) if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) {
.sorted((o1, o2) -> { Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType();
if (o1.getSortedIndex() == null && o2.getSortedIndex() == null) { Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType();
Integer systemType1 = o1.getSystemType() == null ? 0 : o1.getSystemType(); return systemType1.compareTo(systemType2);
Integer systemType2 = o2.getSystemType() == null ? 0 : o2.getSystemType(); } else {
return systemType1.compareTo(systemType2); Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex();
} else { Integer sortedIndex2 = o2.getSortedIndex() == null ? 0 : o2.getSortedIndex();
Integer sortedIndex1 = o1.getSortedIndex() == null ? 0 : o1.getSortedIndex(); return sortedIndex2.compareTo(sortedIndex1);
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());
}
})
.map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX))
.collect(Collectors.toList());
columns.addAll(collect); columns.addAll(collect);
@ -179,10 +207,7 @@ public class SettingServiceImpl extends Service implements SettingService {
if (id != null) { if (id != null) {
PageListTemplatePO po = getPageListTemplateMapper().getById(id); PageListTemplatePO po = getPageListTemplateMapper().getById(id);
if (po != null) { if (po != null) {
checkedList = Optional.ofNullable(po.getSetting()).orElse(new ArrayList<>()) checkedList = Optional.ofNullable(po.getSetting()).orElse(new ArrayList<>()).stream().map(s -> columnMap.getOrDefault(s, new WeaTableColumn())).collect(Collectors.toList());
.stream()
.map(s -> columnMap.getOrDefault(s, new WeaTableColumn()))
.collect(Collectors.toList());
} }
} }
@ -207,22 +232,19 @@ public class SettingServiceImpl extends Service implements SettingService {
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID()); Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID());
List<String> taxIds = SalaryEntityUtil.properties(taxAgentPOS, po -> po.getId().toString(), Collectors.toList()); List<String> taxIds = SalaryEntityUtil.properties(taxAgentPOS, po -> po.getId().toString(), Collectors.toList());
pos = pos.stream() pos = pos.stream().filter(po -> {
.filter(po -> { if (po.getSharedType() == 1) {
if (po.getSharedType() == 1) { List limitIds = po.getLimitIds();
List limitIds = po.getLimitIds(); List<String> collect = new ArrayList<>();
List<String> collect = new ArrayList<>(); for (int i = 0; i < limitIds.size(); i++) {
for (int i = 0; i < limitIds.size(); i++) { collect.add(limitIds.get(i).toString());
collect.add(limitIds.get(i).toString()); }
} return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(collect, taxIds).size() != 0;
return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(collect, taxIds).size() != 0; }
} return true;
return true; }).peek(po -> {
}) po.setChecked(link != null && po.getId().equals(link.getTemplateId()));
.peek(po -> { }).collect(Collectors.toList());
po.setChecked(link != null && po.getId().equals(link.getTemplateId()));
})
.collect(Collectors.toList());
return pos; return pos;
} }
@ -234,19 +256,7 @@ public class SettingServiceImpl extends Service implements SettingService {
PageListTemplatePO po; PageListTemplatePO po;
if (id == null) { if (id == null) {
po = PageListTemplatePO.builder() 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();
.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); getPageListTemplateMapper().insertIgnoreNull(po);
} else { } else {
po = getPageListTemplateMapper().getById(id); po = getPageListTemplateMapper().getById(id);
@ -274,17 +284,7 @@ public class SettingServiceImpl extends Service implements SettingService {
Set<Long> ids = SalaryEntityUtil.properties(pageLinkPOS, PageLinkPO::getId); Set<Long> ids = SalaryEntityUtil.properties(pageLinkPOS, PageLinkPO::getId);
getPageLinkMapper().deleteByIds(ids); getPageLinkMapper().deleteByIds(ids);
} }
PageLinkPO pageLinkPO = PageLinkPO.builder() 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();
.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); getPageLinkMapper().insertIgnoreNull(pageLinkPO);
} }

View File

@ -80,7 +80,7 @@ public class SalaryCommonController {
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public String getPageListSetting(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListSettingQueryParam param) { public String getPageListSetting(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListSettingQueryParam param) {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PageListSettingQueryParam, Map>(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param); return new ResponseResult<PageListSettingQueryParam, PageListTemplateDTO>(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param);
} }
/** /**

View File

@ -12,7 +12,6 @@ import com.engine.salary.service.impl.SettingServiceImpl;
import weaver.hrm.User; import weaver.hrm.User;
import java.util.List; import java.util.List;
import java.util.Map;
public class SalaryCommonWrapper extends Service { public class SalaryCommonWrapper extends Service {
@ -38,7 +37,7 @@ public class SalaryCommonWrapper extends Service {
} }
public Map getPageListSetting(PageListSettingQueryParam param) { public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) {
return getSettingService(user).getPageListSetting(param); return getSettingService(user).getPageListSetting(param);
} }