Merge remote-tracking branch 'origin/release/2.17.1.2411.01' into release/2.17.1.2411.01
This commit is contained in:
commit
607fd2c6a2
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting add (
|
||||||
|
default_setting number
|
||||||
|
);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting add (
|
||||||
|
default_setting number
|
||||||
|
);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting add (
|
||||||
|
default_setting number
|
||||||
|
);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int;
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting add (
|
||||||
|
default_setting number
|
||||||
|
)
|
||||||
|
/
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting ADD COLUMN default_setting int ;
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting ADD default_setting int NULL
|
||||||
|
GO
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
ALTER TABLE hrsa_page_list_setting add (
|
||||||
|
default_setting number
|
||||||
|
);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -19,4 +19,6 @@ public class PageListSettingQueryParam {
|
||||||
private String page;
|
private String page;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
private Integer defaultSetting;
|
||||||
}
|
}
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
@ -30,7 +30,12 @@ public class PageListSettingPO {
|
||||||
* 设置
|
* 设置
|
||||||
*/
|
*/
|
||||||
@ElogTransform(name = "设置")
|
@ElogTransform(name = "设置")
|
||||||
private List<Long> setting;
|
private List<String> setting;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认设置
|
||||||
|
*/
|
||||||
|
private Integer defaultSetting;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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())
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue