Merge branch 'release/2.15.2.2409.01' into release/个税版本
# Conflicts: # src/com/engine/salary/constant/SalaryDefaultTenantConstant.java # src/com/engine/salary/web/SalaryCommonController.java # src/com/engine/salary/wrapper/SalaryCommonWrapper.java
This commit is contained in:
commit
06d6854ff3
|
|
@ -0,0 +1,8 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD (
|
||||
type number NULL
|
||||
);
|
||||
/
|
||||
|
||||
update hrsa_acct_result_template set type = 0;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id number primary key ,
|
||||
setting clob ,
|
||||
page varchar2(200),
|
||||
creator number,
|
||||
create_time date ,
|
||||
update_time date,
|
||||
delete_type int ,
|
||||
tenant_key varchar2(10)
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD (
|
||||
type number NULL
|
||||
);
|
||||
/
|
||||
|
||||
update hrsa_acct_result_template set type = 0;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id number primary key ,
|
||||
setting clob ,
|
||||
page varchar2(200),
|
||||
creator number,
|
||||
create_time date ,
|
||||
update_time date,
|
||||
delete_type int ,
|
||||
tenant_key varchar2(10)
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD (
|
||||
type number NULL
|
||||
);
|
||||
/
|
||||
|
||||
update hrsa_acct_result_template set type = 0;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id number primary key ,
|
||||
setting clob ,
|
||||
page varchar2(200),
|
||||
creator number,
|
||||
create_time date ,
|
||||
update_time date,
|
||||
delete_type int ,
|
||||
tenant_key varchar2(10)
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD COLUMN type int(0) NULL ;
|
||||
|
||||
update hrsa_acct_result_template set type = 0;
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
CREATE TABLE hrsa_page_list_setting
|
||||
(
|
||||
id bigint(0) NOT NULL ,
|
||||
setting text ,
|
||||
page varchar(200),
|
||||
creator bigint(0),
|
||||
create_time datetime(0) ,
|
||||
update_time datetime(0),
|
||||
delete_type int(0) ,
|
||||
tenant_key varchar(10) ,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD (
|
||||
type number NULL
|
||||
)
|
||||
/
|
||||
|
||||
update hrsa_acct_result_template set type = 0
|
||||
/
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id number primary key ,
|
||||
setting clob ,
|
||||
page varchar2(200),
|
||||
creator number,
|
||||
create_time date ,
|
||||
update_time date,
|
||||
delete_type int ,
|
||||
tenant_key varchar2(10)
|
||||
)
|
||||
/
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
alter table hrsa_acct_result_template add type int null ;
|
||||
|
||||
update hrsa_acct_result_template set type = 0;
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id bigint primary key ,
|
||||
setting text ,
|
||||
page varchar(200),
|
||||
creator bigint,
|
||||
create_time timestamp ,
|
||||
update_time timestamp,
|
||||
delete_type int ,
|
||||
tenant_key varchar(10)
|
||||
);
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD type int NULL
|
||||
GO
|
||||
|
||||
update hrsa_acct_result_template set type = 0
|
||||
GO
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id bigint primary key ,
|
||||
setting ntext ,
|
||||
page varchar(200),
|
||||
creator bigint,
|
||||
create_time datetime ,
|
||||
update_time datetime,
|
||||
delete_type int ,
|
||||
tenant_key varchar(10)
|
||||
)
|
||||
GO
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
ALTER TABLE hrsa_acct_result_template ADD (
|
||||
type number NULL
|
||||
);
|
||||
/
|
||||
|
||||
update hrsa_acct_result_template set type = 0;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
create table hrsa_page_list_setting
|
||||
(
|
||||
id number primary key ,
|
||||
setting clob ,
|
||||
page varchar2(200),
|
||||
creator number,
|
||||
create_time date ,
|
||||
update_time date,
|
||||
delete_type int ,
|
||||
tenant_key varchar2(10)
|
||||
);
|
||||
/
|
||||
|
||||
|
|
@ -18,6 +18,7 @@ import java.util.Date;
|
|||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Data
|
||||
//hrsa_acct_result_template
|
||||
public class SalaryAcctResultTemplatePO {
|
||||
/**
|
||||
* 主键id
|
||||
|
|
@ -29,6 +30,11 @@ public class SalaryAcctResultTemplatePO {
|
|||
*/
|
||||
private String templateName;
|
||||
|
||||
/**
|
||||
* 模板类型, 0:导出模板 1:公共导出模板 2:导入模板
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 薪资账套id
|
||||
*/
|
||||
|
|
@ -51,4 +57,5 @@ public class SalaryAcctResultTemplatePO {
|
|||
|
||||
//主键id集合
|
||||
private Collection<Long> ids;
|
||||
private Collection<Integer> types;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.engine.salary.entity.setting.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 薪资帐套表
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageListSettingDTO {
|
||||
|
||||
private String name;
|
||||
|
||||
private String value;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.engine.salary.entity.setting.param;
|
||||
|
||||
import com.engine.salary.util.valid.DataCheck;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 薪资帐套表
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageListSettingQueryParam {
|
||||
|
||||
@DataCheck(require = true,message = "请选择页面")
|
||||
private String page;
|
||||
|
||||
private String name;
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.engine.salary.entity.setting.param;
|
||||
|
||||
import com.engine.salary.util.valid.DataCheck;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 薪资帐套表
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageListSettingSaveParam {
|
||||
|
||||
/**
|
||||
* 页面,0:薪资明细
|
||||
*/
|
||||
@DataCheck(require = true,message = "请选择页面")
|
||||
private String page;
|
||||
|
||||
/**
|
||||
* 设置
|
||||
*/
|
||||
@DataCheck(require = true,message = "请选择设置")
|
||||
private List<Long> setting;
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.engine.salary.entity.setting.po;
|
||||
|
||||
import com.engine.hrmelog.annotation.ElogTransform;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 薪资帐套表
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageListSettingPO {
|
||||
|
||||
|
||||
@ElogTransform(name = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 页面,0:薪资明细
|
||||
*/
|
||||
@ElogTransform(name = "页面,0:薪资明细")
|
||||
private String page;
|
||||
|
||||
/**
|
||||
* 设置
|
||||
*/
|
||||
@ElogTransform(name = "设置")
|
||||
private String setting;
|
||||
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@ElogTransform(name = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ElogTransform(name = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ElogTransform(name = "创建人")
|
||||
private Long creator;
|
||||
|
||||
/**
|
||||
* 是否已删除。0:未删除、1:已删除
|
||||
*/
|
||||
@ElogTransform(name = "是否已删除。0:未删除、1:已删除")
|
||||
private Integer deleteType;
|
||||
|
||||
/**
|
||||
* 租户ID
|
||||
*/
|
||||
@ElogTransform(name = "租户ID")
|
||||
private String tenantKey;
|
||||
|
||||
|
||||
//主键id集合
|
||||
private Collection<Long> ids;
|
||||
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
<result column="template_name" property="templateName" />
|
||||
<result column="tenant_key" property="tenantKey" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
<result column="type" property="type" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
|
|
@ -24,6 +25,7 @@
|
|||
, t.template_name
|
||||
, t.tenant_key
|
||||
, t.update_time
|
||||
, t.type
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
@ -75,12 +77,21 @@
|
|||
<if test="updateTime != null">
|
||||
AND update_time = #{updateTime}
|
||||
</if>
|
||||
<if test="type != null">
|
||||
AND type = #{type}
|
||||
</if>
|
||||
<if test="ids != null and ids.size()>0">
|
||||
AND id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="types != null and types.size()>0">
|
||||
AND type IN
|
||||
<foreach collection="types" open="(" item="type" separator="," close=")">
|
||||
#{type}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY id DESC
|
||||
</select>
|
||||
|
||||
|
|
@ -117,6 +128,9 @@
|
|||
<if test="updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
<if test="type != null">
|
||||
type,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="createTime != null" >
|
||||
|
|
@ -146,6 +160,9 @@
|
|||
<if test="updateTime != null" >
|
||||
#{updateTime},
|
||||
</if>
|
||||
<if test="type != null" >
|
||||
#{type},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
@ -161,6 +178,7 @@
|
|||
template_name=#{templateName},
|
||||
tenant_key=#{tenantKey},
|
||||
update_time=#{updateTime},
|
||||
type=#{type},
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
@ -194,6 +212,9 @@
|
|||
<if test="updateTime != null" >
|
||||
update_time=#{updateTime},
|
||||
</if>
|
||||
<if test="type != null" >
|
||||
type=#{type},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
package com.engine.salary.mapper.setting;
|
||||
|
||||
import com.engine.salary.entity.setting.po.PageListSettingPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface PageListSettingMapper {
|
||||
|
||||
/**
|
||||
* 查询所有记录
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<PageListSettingPO> listAll();
|
||||
|
||||
/**
|
||||
* 条件查询
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<PageListSettingPO> listSome(PageListSettingPO pageListSetting);
|
||||
|
||||
|
||||
/**
|
||||
* 根据主键查询
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 返回记录,没有返回null
|
||||
*/
|
||||
PageListSettingPO getById(Long id);
|
||||
|
||||
/**
|
||||
* 新增,忽略null字段
|
||||
*
|
||||
* @param pageListSetting 新增的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int insertIgnoreNull(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
*
|
||||
* @param pageListSetting 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int update(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 修改,忽略null字段
|
||||
*
|
||||
* @param pageListSetting 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int updateIgnoreNull(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 删除记录
|
||||
*
|
||||
* @param pageListSetting 待删除的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int delete(PageListSettingPO pageListSetting);
|
||||
|
||||
/**
|
||||
* 批量删除记录
|
||||
* @param ids 主键id集合
|
||||
*/
|
||||
void deleteByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
PageListSettingPO getByPage(String page);
|
||||
}
|
||||
|
|
@ -0,0 +1,218 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.engine.salary.mapper.setting.PageListSettingMapper">
|
||||
<resultMap id="BaseResultMap" type="com.engine.salary.entity.setting.po.PageListSettingPO">
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="creator" property="creator"/>
|
||||
<result column="delete_type" property="deleteType"/>
|
||||
<result column="id" property="id"/>
|
||||
<result column="page" property="page"/>
|
||||
<result column="setting" property="setting"/>
|
||||
<result column="tenant_key" property="tenantKey"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
<sql id="baseColumns">
|
||||
t
|
||||
.
|
||||
create_time
|
||||
, t.creator
|
||||
, t.delete_type
|
||||
, t.id
|
||||
, t.page
|
||||
, t.setting
|
||||
, t.tenant_key
|
||||
, t.update_time
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="listAll" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_page_list_setting t
|
||||
WHERE delete_type = 0
|
||||
</select>
|
||||
|
||||
<!-- 根据主键获取单条记录 -->
|
||||
<select id="getById" resultMap="BaseResultMap" parameterType="Long">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_page_list_setting t
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</select>
|
||||
|
||||
<!-- 条件查询 -->
|
||||
<select id="listSome" resultMap="BaseResultMap"
|
||||
parameterType="com.engine.salary.entity.setting.po.PageListSettingPO">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_page_list_setting t
|
||||
WHERE delete_type = 0
|
||||
<if test="createTime != null">
|
||||
AND create_time = #{createTime}
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
AND creator = #{creator}
|
||||
</if>
|
||||
<if test="deleteType != null">
|
||||
AND delete_type = #{deleteType}
|
||||
</if>
|
||||
<if test="id != null">
|
||||
AND id = #{id}
|
||||
</if>
|
||||
<if test="page != null">
|
||||
AND page = #{page}
|
||||
</if>
|
||||
<if test="setting != null">
|
||||
AND setting = #{setting}
|
||||
</if>
|
||||
<if test="tenantKey != null">
|
||||
AND tenant_key = #{tenantKey}
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
AND update_time = #{updateTime}
|
||||
</if>
|
||||
<if test="ids != null and ids.size()>0">
|
||||
AND id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY id DESC
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 插入不为NULL的字段 -->
|
||||
<insert id="insertIgnoreNull" parameterType="com.engine.salary.entity.setting.po.PageListSettingPO">
|
||||
INSERT INTO hrsa_page_list_setting
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
||||
<if test="createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
creator,
|
||||
</if>
|
||||
<if test="deleteType != null">
|
||||
delete_type,
|
||||
</if>
|
||||
<if test="id != null">
|
||||
id,
|
||||
</if>
|
||||
<if test="page != null">
|
||||
page,
|
||||
</if>
|
||||
<if test="setting != null">
|
||||
setting,
|
||||
</if>
|
||||
<if test="tenantKey != null">
|
||||
tenant_key,
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="createTime != null">
|
||||
#{createTime},
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
#{creator},
|
||||
</if>
|
||||
<if test="deleteType != null">
|
||||
#{deleteType},
|
||||
</if>
|
||||
<if test="id != null">
|
||||
#{id},
|
||||
</if>
|
||||
<if test="page != null">
|
||||
#{page},
|
||||
</if>
|
||||
<if test="setting != null">
|
||||
#{setting},
|
||||
</if>
|
||||
<if test="tenantKey != null">
|
||||
#{tenantKey},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 更新,更新全部字段 -->
|
||||
<update id="update" parameterType="com.engine.salary.entity.setting.po.PageListSettingPO">
|
||||
UPDATE hrsa_page_list_setting
|
||||
<set>
|
||||
create_time=#{createTime},
|
||||
creator=#{creator},
|
||||
delete_type=#{deleteType},
|
||||
page=#{page},
|
||||
setting=#{setting},
|
||||
tenant_key=#{tenantKey},
|
||||
update_time=#{updateTime},
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 更新不为NULL的字段 -->
|
||||
<update id="updateIgnoreNull" parameterType="com.engine.salary.entity.setting.po.PageListSettingPO">
|
||||
UPDATE hrsa_page_list_setting
|
||||
<set>
|
||||
<if test="createTime != null">
|
||||
create_time=#{createTime},
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
creator=#{creator},
|
||||
</if>
|
||||
<if test="deleteType != null">
|
||||
delete_type=#{deleteType},
|
||||
</if>
|
||||
<if test="page != null">
|
||||
page=#{page},
|
||||
</if>
|
||||
<if test="setting != null">
|
||||
setting=#{setting},
|
||||
</if>
|
||||
<if test="tenantKey != null">
|
||||
tenant_key=#{tenantKey},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time=#{updateTime},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 根据主键删除记录 -->
|
||||
<delete id="delete">
|
||||
UPDATE hrsa_page_list_setting
|
||||
SET delete_type=1
|
||||
WHERE id = #{id}
|
||||
AND delete_type = 0
|
||||
</delete>
|
||||
|
||||
<delete id="deleteByIds">
|
||||
UPDATE hrsa_page_list_setting
|
||||
SET delete_type = 1
|
||||
WHERE delete_type = 0
|
||||
AND id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="getByPage" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_page_list_setting t
|
||||
WHERE delete_type = 0
|
||||
and page = #{page}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -10,6 +10,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
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.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
|
||||
|
|
@ -25,10 +26,7 @@ import com.engine.salary.report.entity.param.SalaryStatisticsEmployeeSalaryQuery
|
|||
import com.engine.salary.report.service.SalaryStatisticsEmployeeService;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.service.impl.*;
|
||||
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.*;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
|
|
@ -89,6 +87,10 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SettingService getSettingService(User user) {
|
||||
return ServiceUtil.getService(SettingServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<SalaryStatisticsEmployeeListDTO> listPage(SalaryStatisticsEmployeeQueryParam queryParam) {
|
||||
List<SalaryStatisticsEmployeeListDTO> list = Collections.emptyList();
|
||||
|
|
@ -278,6 +280,7 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
map.put("jobTitle", Util.null2String(emp.getJobtitleName()));
|
||||
map.put("status", Util.null2String(NumberUtil.isNumber(emp.getStatus()) ? SalaryEmployeeStatusEnum.parseByValue(Integer.valueOf(emp.getStatus())).getDefaultLabel() : null));
|
||||
map.put("workCode", Util.null2String(emp.getWorkcode()));
|
||||
map.put("companystartdate", Util.null2String(emp.getCompanystartdate()));
|
||||
|
||||
// IncomeCategoryEnum incomeCategoryEnum = IncomeCategoryEnum.parseByValue(Integer.parseInt(se.getIncomeCategory()));
|
||||
// map.put("incomeCategory", Objects.isNull(incomeCategoryEnum) ? "" : SalaryI18nUtil.getI18nLabel(incomeCategoryEnum.getLabelId(), incomeCategoryEnum.getDefaultLabel()));
|
||||
|
|
@ -288,9 +291,6 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
|
||||
@Override
|
||||
public PageInfo<SalaryAcctEmployeePO> listSalaryAcctEmp(SalaryStatisticsEmployeeSalaryQueryParam queryParam) {
|
||||
List<SalaryStatisticsEmployeeListDTO> list = Collections.emptyList();
|
||||
PageInfo<SalaryStatisticsEmployeeListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, SalaryStatisticsEmployeeListDTO.class);
|
||||
|
||||
// 1.分权处理, 首先获取个税扣缴义务人参数
|
||||
Collection<TaxAgentPO> taxAgentViews = getTaxAgentService(user).listAllTaxAgents((long) user.getUID());
|
||||
List<Long> taxAgentIds = Objects.isNull(taxAgentViews) ? Lists.newArrayList() : taxAgentViews.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
|
|
@ -315,7 +315,8 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
.collect(Collectors.toSet());
|
||||
|
||||
// 查询薪资核算人员
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByTaxAgentAndSalaryMonth(taxAgentIds, salaryMonths);
|
||||
SalaryAcctEmployeeQueryParam salaryAcctEmployeeQueryParam = SalaryAcctEmployeeQueryParam.builder().salaryMonths(salaryMonths).taxAgentIds(taxAgentIds).build();
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listByParam(salaryAcctEmployeeQueryParam);
|
||||
if (CollectionUtils.isNotEmpty(queryParam.getSubCompanyIds()) || CollectionUtils.isNotEmpty(queryParam.getDepartmentIds()) || StringUtils.isNotBlank(queryParam.getKeyword())) {
|
||||
// 根据分部、部门筛选
|
||||
List<DataCollectionEmployee> employeeList = getSalaryEmployeeService(user).listBySubCompanyOrDepartment(queryParam.getSubCompanyIds(), queryParam.getDepartmentIds());
|
||||
|
|
@ -336,8 +337,7 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
if (CollectionUtils.isNotEmpty(queryParam.getIds())) {
|
||||
salaryAcctEmployeeList = salaryAcctEmployeeList.stream().filter(emp -> queryParam.getIds().contains(emp.getId())).collect(Collectors.toList());
|
||||
}
|
||||
salaryAcctEmployeeList = salaryAcctEmployeeList.stream().sorted(Comparator.comparing(SalaryAcctEmployeePO::getSalaryMonth)).collect(Collectors.toList());
|
||||
Collections.reverse(salaryAcctEmployeeList);
|
||||
salaryAcctEmployeeList = salaryAcctEmployeeList.stream().sorted(Comparator.comparing(SalaryAcctEmployeePO::getSalaryMonth).reversed()).collect(Collectors.toList());
|
||||
PageInfo<SalaryAcctEmployeePO> SalaryAcctEmployeePageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), salaryAcctEmployeeList);
|
||||
if (queryParam.isExport()) {
|
||||
SalaryAcctEmployeePageInfo.setList(salaryAcctEmployeeList);
|
||||
|
|
@ -347,11 +347,33 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
|
||||
@Override
|
||||
public SalaryStatisticsEmployeeDetailResultDTO getDetailSalaryAcctResultByAcctEmp(List<SalaryAcctEmployeePO> salaryAcctEmployeeList) {
|
||||
// 3.获取薪资项目
|
||||
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page("salary_details_report").build();
|
||||
Map setting = getSettingService(user).getPageListSetting(param);
|
||||
List<Long> checked = setting.get("checked") != null ? JsonUtil.parseList(setting.get("checked"), Long.class) : new ArrayList<>();
|
||||
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listByIds(checked);
|
||||
// salaryItemList = salaryItemList.stream()
|
||||
// .sorted(new Comparator<SalaryItemPO>() {
|
||||
// @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)) {
|
||||
return SalaryStatisticsEmployeeDetailResultDTO.builder()
|
||||
.salaryAcctEmployeeList(Collections.emptyList())
|
||||
.salaryAcctResultValueList(Collections.emptyList())
|
||||
.salaryItemList(Collections.emptyList())
|
||||
.salaryItemList(salaryItemList)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
@ -359,24 +381,7 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
List<Long> salaryAcctEmployeeIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
|
||||
List<SalaryAcctResultPO> salaryAcctResultValues = getSalaryAcctResultService(user).listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds);
|
||||
|
||||
// 3.获取薪资项目
|
||||
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
|
||||
salaryItemList = salaryItemList.stream()
|
||||
.sorted(new Comparator<SalaryItemPO>() {
|
||||
@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());
|
||||
|
||||
|
||||
return SalaryStatisticsEmployeeDetailResultDTO.builder()
|
||||
.salaryAcctEmployeeList(salaryAcctEmployeeList)
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ import com.engine.salary.report.service.SalaryStatisticsReportService;
|
|||
import com.engine.salary.report.util.ReportTimeUtil;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.service.impl.*;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||
import com.engine.salary.util.*;
|
||||
import com.engine.salary.util.db.IdGenerator;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
|
|
@ -54,6 +56,8 @@ import weaver.wechat.util.Utils;
|
|||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.sys.constant.SalarySysConstant.REPORT_ORGANIZATIN_TYPE;
|
||||
|
||||
/**
|
||||
* 薪酬统计报表
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -71,6 +75,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
public static final String LAST_INFO = "lastInfoList";
|
||||
public static final String SAME_INFO = "sameInfoList";
|
||||
|
||||
private final boolean isRealOrg = "1".equals(getSalarySysConfService(user).getValueByCode(REPORT_ORGANIZATIN_TYPE));
|
||||
|
||||
private SalaryStatisticsReportMapper getSalaryStatisticsReportMapper() {
|
||||
return MapperProxyFactory.getProxy(SalaryStatisticsReportMapper.class);
|
||||
|
|
@ -112,6 +117,9 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
return ServiceUtil.getService(SalaryCacheServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySysConfService getSalarySysConfService(User user) {
|
||||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
// private ExtEmployeeService extEmployeeService;
|
||||
//
|
||||
// private HrmCommonEmployeeService hrmCommonEmployeeService;
|
||||
|
|
@ -479,7 +487,15 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
List<SalaryAcctEmployeePO> salaryAcctEmployeeList = getSalaryAcctEmployeeService(user).listBySalaryStatisticsReportParam(queryParam);
|
||||
|
||||
// 设置dimensionValue为维度值
|
||||
SalaryStatisticsReportDataDTO salaryStatisticsReportData = SalaryStatisticsReportDataDTO.builder().list(salaryAcctEmployeeList).lastList(Collections.emptyList()).sameList(Collections.emptyList()).salaryStatisticsItemList(salaryStatisticsItemPOS).employeeId((long) user.getUID()).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).dimensionValue(param.getDimensionValue()).build();
|
||||
SalaryStatisticsReportDataDTO salaryStatisticsReportData = SalaryStatisticsReportDataDTO.builder()
|
||||
.list(salaryAcctEmployeeList)
|
||||
.lastList(Collections.emptyList())
|
||||
.sameList(Collections.emptyList())
|
||||
.salaryStatisticsItemList(salaryStatisticsItemPOS)
|
||||
.employeeId((long) user.getUID())
|
||||
.dimensionValue(param.getDimensionValue())
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
|
||||
Map<Long, Map<String, String>> resultMap = new HashMap<>();
|
||||
List<Long> salaryAcctEmployeeIds = salaryAcctEmployeeList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
|
||||
|
|
@ -785,6 +801,8 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
Map<Long, String> subComIdNameMap = new HashMap<>();
|
||||
Map<Long, Long> lastEmpIdSubComMap = new HashMap<>();
|
||||
Map<Long, Long> sameEmpIdSubComMap = new HashMap<>();
|
||||
|
||||
if (isRealOrg) {
|
||||
comInfoMap.forEach((k, v) -> {
|
||||
subComIdNameMap.put(v.getSubcompanyid(), v.getSubcompanyName());
|
||||
empIdSubComMap.put(k, v.getSubcompanyid());
|
||||
|
|
@ -796,27 +814,61 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
sameComInfoMap.forEach((k, v) -> {
|
||||
sameEmpIdSubComMap.put(k, v.getSubcompanyid());
|
||||
});
|
||||
} else {
|
||||
data.getList().forEach(employee -> {
|
||||
if (employee.getSubcompanyId() != null && employee.getSubcompanyId() != null) {
|
||||
subComIdNameMap.put(employee.getSubcompanyId(), employee.getSubcompanyName());
|
||||
subComIds.add(employee.getDepartmentId());
|
||||
empIdSubComMap.put(employee.getEmployeeId(), employee.getSubcompanyId());
|
||||
}
|
||||
});
|
||||
data.getLastList().forEach(employee -> {
|
||||
if (employee.getSubcompanyId() != null && employee.getSubcompanyId() != null) {
|
||||
lastEmpIdSubComMap.put(employee.getEmployeeId(), employee.getSubcompanyId());
|
||||
}
|
||||
});
|
||||
data.getSameList().forEach(employee -> {
|
||||
if (employee.getSubcompanyId() != null && employee.getSubcompanyId() != null) {
|
||||
sameEmpIdSubComMap.put(employee.getEmployeeId(), employee.getSubcompanyId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
String dimensionValue = data.getDimensionValue();
|
||||
subComIds.forEach(subComId -> {
|
||||
if (dimensionValue == null) {
|
||||
List<SalaryAcctEmployeePO> subComEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastSubComEmployeePOS = data.getLastList().stream().filter(po -> Objects.equals(lastEmpIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameSubComEmployeePOS = data.getSameList().stream().filter(po -> Objects.equals(sameEmpIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> subComEmployeePOS = data.getList().stream().filter(po -> Objects.equals(po.getSubcompanyId(), subComId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastSubComEmployeePOS = data.getLastList().stream().filter(po -> Objects.equals(po.getSubcompanyId(), subComId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameSubComEmployeePOS = data.getSameList().stream().filter(po -> Objects.equals(po.getSubcompanyId(), subComId)).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
subComEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
lastSubComEmployeePOS = data.getLastList().stream().filter(po -> Objects.equals(lastEmpIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
sameSubComEmployeePOS = data.getSameList().stream().filter(po -> Objects.equals(sameEmpIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
}
|
||||
Map<String, Object> temp = new HashMap<>();
|
||||
temp.put(DM, subComIdNameMap.get(subComId));
|
||||
temp.putAll(SalaryStatisticsReportBO.calculateItem(subComEmployeePOS, lastSubComEmployeePOS, sameSubComEmployeePOS, salaryAcctResultValueMap, data.getSalaryStatisticsItemList()));
|
||||
records.add(temp);
|
||||
} else if (StringUtils.equals(dimensionValue, subComIdNameMap.get(subComId))) {
|
||||
List<SalaryAcctEmployeePO> subComEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> subComEmployeePOS = data.getList().stream().filter(po -> Objects.equals(po.getSubcompanyId(), subComId)).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
subComEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdSubComMap.get(po.getEmployeeId()), subComId)).collect(Collectors.toList());
|
||||
}
|
||||
data.setListByDimensionValue(subComEmployeePOS);
|
||||
}
|
||||
});
|
||||
|
||||
if (dimensionValue == null) {
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> empIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastNoGroupingList = data.getLastList().stream().filter(po -> lastEmpIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameNoGroupingList = data.getSameList().stream().filter(po -> sameEmpIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> po.getSubcompanyId() == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastNoGroupingList = data.getLastList().stream().filter(po -> po.getSubcompanyId() == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameNoGroupingList = data.getSameList().stream().filter(po -> po.getSubcompanyId() == null).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
noGroupingList = data.getList().stream().filter(po -> empIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
lastNoGroupingList = data.getLastList().stream().filter(po -> lastEmpIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
sameNoGroupingList = data.getSameList().stream().filter(po -> sameEmpIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(noGroupingList)) {
|
||||
Map<String, Object> noGrouping = new HashMap<>();
|
||||
noGrouping.put(DM, SalaryI18nUtil.getI18nLabel(153462, "无分组"));
|
||||
|
|
@ -825,6 +877,9 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
}
|
||||
} else if (StringUtils.equals(dimensionValue, "无分组")) {
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> empIdSubComMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
noGroupingList = data.getList().stream().filter(po -> po.getSubcompanyId() == null).collect(Collectors.toList());
|
||||
}
|
||||
data.setListByDimensionValue(noGroupingList);
|
||||
}
|
||||
|
||||
|
|
@ -848,6 +903,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
Map<Long, Long> lastEmpIdDepartIdMap = new HashMap<>();
|
||||
Map<Long, Long> sameEmpIdDepartIdMap = new HashMap<>();
|
||||
Map<Long, String> departIdNameMap = new HashMap<>();
|
||||
if (isRealOrg) {
|
||||
simpleEmployeeList.forEach(employee -> {
|
||||
if (employee.getDepartmentName() != null && employee.getDepartmentId() != null) {
|
||||
departIdNameMap.put(employee.getDepartmentId(), employee.getDepartmentName());
|
||||
|
|
@ -865,27 +921,60 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
sameEmpIdDepartIdMap.put(employee.getEmployeeId(), employee.getDepartmentId());
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.getList().forEach(employee -> {
|
||||
if (employee.getDepartmentName() != null && employee.getDepartmentId() != null) {
|
||||
departIdNameMap.put(employee.getDepartmentId(), employee.getDepartmentName());
|
||||
departIds.add(employee.getDepartmentId());
|
||||
empIdDepartIdMap.put(employee.getEmployeeId(), employee.getDepartmentId());
|
||||
}
|
||||
});
|
||||
data.getLastList().forEach(employee -> {
|
||||
if (employee.getDepartmentName() != null && employee.getDepartmentId() != null) {
|
||||
lastEmpIdDepartIdMap.put(employee.getEmployeeId(), employee.getDepartmentId());
|
||||
}
|
||||
});
|
||||
data.getSameList().forEach(employee -> {
|
||||
if (employee.getDepartmentName() != null && employee.getDepartmentId() != null) {
|
||||
sameEmpIdDepartIdMap.put(employee.getEmployeeId(), employee.getDepartmentId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
String dimensionValue = data.getDimensionValue();
|
||||
departIds.forEach(departId -> {
|
||||
if (dimensionValue == null) {
|
||||
List<SalaryAcctEmployeePO> departEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastDepartEmployeePOS = data.getLastList().stream().filter(po -> Objects.equals(lastEmpIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameDepartEmployeePOS = data.getSameList().stream().filter(po -> Objects.equals(sameEmpIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> departEmployeePOS = data.getList().stream().filter(po -> Objects.equals(po.getDepartmentId(), departId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastDepartEmployeePOS = data.getLastList().stream().filter(po -> Objects.equals(po.getDepartmentId(), departId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameDepartEmployeePOS = data.getSameList().stream().filter(po -> Objects.equals(po.getDepartmentId(), departId)).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
departEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
lastDepartEmployeePOS = data.getLastList().stream().filter(po -> Objects.equals(lastEmpIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
sameDepartEmployeePOS = data.getSameList().stream().filter(po -> Objects.equals(sameEmpIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
}
|
||||
Map<String, Object> temp = new HashMap<>();
|
||||
temp.put(DM, departIdNameMap.get(departId));
|
||||
temp.putAll(SalaryStatisticsReportBO.calculateItem(departEmployeePOS, lastDepartEmployeePOS, sameDepartEmployeePOS, salaryAcctResultValueMap, data.getSalaryStatisticsItemList()));
|
||||
records.add(temp);
|
||||
} else if (StringUtils.equals(dimensionValue, departIdNameMap.get(departId))) {
|
||||
List<SalaryAcctEmployeePO> departEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> departEmployeePOS = data.getList().stream().filter(po -> Objects.equals(po.getDepartmentId(), departId)).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
departEmployeePOS = data.getList().stream().filter(po -> Objects.equals(empIdDepartIdMap.get(po.getEmployeeId()), departId)).collect(Collectors.toList());
|
||||
}
|
||||
data.setListByDimensionValue(departEmployeePOS);
|
||||
}
|
||||
});
|
||||
|
||||
if (dimensionValue == null) {
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> empIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastNoGroupingList = data.getLastList().stream().filter(po -> lastEmpIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameNoGroupingList = data.getSameList().stream().filter(po -> lastEmpIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> po.getDepartmentId() == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> lastNoGroupingList = data.getLastList().stream().filter(po -> po.getDepartmentId() == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> sameNoGroupingList = data.getSameList().stream().filter(po -> po.getDepartmentId() == null).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
noGroupingList = data.getList().stream().filter(po -> empIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
lastNoGroupingList = data.getLastList().stream().filter(po -> lastEmpIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
sameNoGroupingList = data.getSameList().stream().filter(po -> lastEmpIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(noGroupingList)) {
|
||||
Map<String, Object> noGrouping = new HashMap<>();
|
||||
noGrouping.put(DM, SalaryI18nUtil.getI18nLabel(153462, "无分组"));
|
||||
|
|
@ -893,7 +982,10 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
records.add(noGrouping);
|
||||
}
|
||||
} else if (StringUtils.equals(dimensionValue, "无分组")) {
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> empIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> noGroupingList = data.getList().stream().filter(po -> po.getDepartmentId() == null).collect(Collectors.toList());
|
||||
if (isRealOrg) {
|
||||
noGroupingList = data.getList().stream().filter(po -> empIdDepartIdMap.get(po.getEmployeeId()) == null).collect(Collectors.toList());
|
||||
}
|
||||
data.setListByDimensionValue(noGroupingList);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public class SalaryStatisticsEmployeeController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 员工薪资列表
|
||||
* 薪资明细
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "岗位"), "jobTitle"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "员工状态"), "status"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "工号"), "workCode"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "入职日期"), "companystartdate"));
|
||||
}
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "次数"), "acctTimes").setDisplay(WeaBoolAttr.FALSE));
|
||||
// columns.add(new WeaTableColumn("100px",SalaryI18nUtil.getI18nLabel( 121908, "收入所得项目"), "incomeCategory"));
|
||||
|
|
@ -228,6 +229,9 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
// 获取发薪人员
|
||||
PageInfo<SalaryAcctEmployeePO> salaryAcctEmployeePageInfo = getSalaryStatisticsEmployeeService(user).listSalaryAcctEmp(queryParam);
|
||||
List<SalaryAcctEmployeePO> employeePOS = salaryAcctEmployeePageInfo.getList();
|
||||
if (CollectionUtils.isEmpty(employeePOS)){
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
Map<String, Object> sumResultMap = Maps.newHashMap();
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ public interface SalaryAcctExcelService {
|
|||
ExcelPreviewDTO previewImportSalaryAcctResult(SalaryAcctImportParam param);
|
||||
|
||||
|
||||
void cacheImportField(List<Long> salaryItems);
|
||||
void cacheImportField(SalaryAcctResultTemplateSaveParam param);
|
||||
|
||||
void cacheExportField(List<Long> salaryItems);
|
||||
|
||||
|
|
|
|||
|
|
@ -75,5 +75,5 @@ public interface SalaryAcctResultTemplateService {
|
|||
* @param salarySobId
|
||||
* @return
|
||||
*/
|
||||
List<SalaryAcctResultTemplatePO> listBySalarySobId(Long salarySobId);
|
||||
List<SalaryAcctResultTemplatePO> listBySalarySobId(Long salarySobId,List<Integer> types);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingSaveParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface SettingService {
|
||||
void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam);
|
||||
|
||||
Map getPageListSetting(PageListSettingQueryParam param);
|
||||
}
|
||||
|
|
@ -48,6 +48,8 @@ import weaver.hrm.User;
|
|||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.sys.constant.SalarySysConstant.REPORT_ORGANIZATIN_TYPE;
|
||||
|
||||
/**
|
||||
* 薪资核算人员
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -103,6 +105,11 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryCacheService getSalaryCacheService(User user) {
|
||||
return ServiceUtil.getService(SalaryCacheServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private boolean isRealOrg = "1".equals(getSalaryCacheService(user).get(REPORT_ORGANIZATIN_TYPE));
|
||||
|
||||
@Override
|
||||
public List<SalaryAcctEmployeeCountDTO> countBySalaryAcctRecordId(Collection<Long> salaryAcctRecordIds) {
|
||||
|
|
@ -662,11 +669,6 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
lambdaQueryChainWrapper.setSalaryMonths(yearMonths);
|
||||
}
|
||||
|
||||
// 收入所得项目
|
||||
// if (CollectionUtils.isNotEmpty(param.getIncomeCategory())) {
|
||||
// lambdaQueryChainWrapper.in(SalaryAcctEmployeePO::getIncomeCategory, param.getIncomeCategory().stream().map(Object::toString).collect(Collectors.toList()));
|
||||
// }
|
||||
|
||||
//排除未归档数据
|
||||
List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordService(user).listAll();
|
||||
List<Long> salaryAcctRecordIds = salaryAcctRecordPOS.stream()
|
||||
|
|
@ -696,60 +698,34 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
// 获取分部信息
|
||||
List<Long> subCompanyIds = param.getSubCompany();
|
||||
if (CollectionUtils.isNotEmpty(subCompanyIds)) {
|
||||
// SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo();
|
||||
// List<String> allSubcompanyIds = new ArrayList<>();
|
||||
// for (Long subCompanyId : subCompanyIds) {
|
||||
// String organizationIds = Util.null2String(subCompanyId);
|
||||
// String allChildSubcompanyId = subCompanyComInfo.getAllChildSubcompanyId(subCompanyId.toString(), organizationIds);
|
||||
// allSubcompanyIds.addAll(Arrays.asList(allChildSubcompanyId.split(",")));
|
||||
// }
|
||||
if (isRealOrg) {
|
||||
employeeList = employeeList.stream().filter(emp -> subCompanyIds.contains(emp.getSubcompanyid())).collect(Collectors.toList());
|
||||
} else {
|
||||
list.stream().filter(emp -> subCompanyIds.contains(emp.getSubcompanyId())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
// 部门过滤
|
||||
List<Long> depart = param.getDepart();
|
||||
if (CollectionUtils.isNotEmpty(depart)) {
|
||||
// List<String> allDepartIds = new ArrayList<>();
|
||||
// for (Long subDepartId : depart) {
|
||||
// String ids = Util.null2String(subDepartId);
|
||||
// try {
|
||||
// String allDepartId = DepartmentComInfo.getAllChildDepartId(subDepartId.toString(), ids);
|
||||
// allDepartIds.addAll(Arrays.asList(allDepartId.toString().split(",")));
|
||||
// } catch (Exception e) {
|
||||
// log.error("获取子部门失败", e);
|
||||
// }
|
||||
// }
|
||||
if (isRealOrg) {
|
||||
employeeList = employeeList.stream().filter(emp -> depart.contains(emp.getDepartmentId())).collect(Collectors.toList());
|
||||
} else {
|
||||
list = list.stream().filter(emp -> depart.contains(emp.getDepartmentId())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
// 职级过滤
|
||||
// if (CollectionUtils.isNotEmpty(param.getGrade())) {
|
||||
// Set<Long> employeeIdsByGradeFilter = new HashSet<>();
|
||||
// simpleEmployeeList.forEach(simpleEmployee -> {
|
||||
// if (simpleEmployee.getGrade() != null && param.getGrade().contains(simpleEmployee.getGrade().getId())) {
|
||||
// employeeIdsByGradeFilter.add(simpleEmployee.getEmployeeId());
|
||||
// }
|
||||
// });
|
||||
// if (CollectionUtils.isEmpty(employeeIdsByGradeFilter)) {
|
||||
// return Lists.newArrayList();
|
||||
// }
|
||||
// list = list.stream().filter(po -> employeeIdsByGradeFilter.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
// }
|
||||
// 岗位过滤
|
||||
List<Long> position = param.getPosition();
|
||||
if (CollectionUtils.isNotEmpty(position)) {
|
||||
// Set<Long> employeeIdsByPostionFilter = new HashSet<>();
|
||||
// simpleEmployeeList.forEach(simpleEmployee -> {
|
||||
// if (simpleEmployee.getPosition() != null && param.getPosition().contains(simpleEmployee.getPosition().getId())) {
|
||||
// employeeIdsByPostionFilter.add(simpleEmployee.getEmployeeId());
|
||||
// }
|
||||
// });
|
||||
// if (CollectionUtils.isEmpty(employeeIdsByPostionFilter)) {
|
||||
// return Lists.newArrayList();
|
||||
// }
|
||||
if (isRealOrg) {
|
||||
employeeList = employeeList.stream().filter(emp -> position.contains(emp.getJobtitleId())).collect(Collectors.toList());
|
||||
} else {
|
||||
list = list.stream().filter(emp -> position.contains(emp.getJobtitleId())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
// 人事状态过滤
|
||||
if (CollectionUtils.isNotEmpty(param.getStatus())) {
|
||||
if (isRealOrg) {
|
||||
Set<Long> employeeIdsByStatus = new HashSet<>();
|
||||
employeeList.forEach(simpleEmployee -> {
|
||||
if (simpleEmployee.getStatus() != null && param.getStatus().contains(simpleEmployee.getStatus())) {
|
||||
|
|
@ -760,6 +736,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
return Lists.newArrayList();
|
||||
}
|
||||
list = list.stream().filter(po -> employeeIdsByStatus.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
} else {
|
||||
list = list.stream().filter(po -> po.getStatus() != null && param.getStatus().contains(po.getStatus())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
// 入职日期
|
||||
if (CollectionUtils.isNotEmpty(param.getHiredate())) {
|
||||
|
|
@ -775,27 +754,15 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|||
}
|
||||
list = list.stream().filter(po -> employeeIdsByHiredate.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
}
|
||||
// // 离职日期 todo
|
||||
// if (CollectionUtils.isNotEmpty(param.getLeavedate())) {
|
||||
// Set<Long> employeeIdsByLeavedate = new HashSet<>();
|
||||
// simpleEmployeeList.forEach(simpleEmployee -> {
|
||||
//
|
||||
// if (simpleEmployee.get() != null && ) {
|
||||
// employeeIdsByLeavedate.add(simpleEmployee.getEmployeeId());
|
||||
// }
|
||||
// });
|
||||
// if (CollectionUtils.isEmpty(employeeIdsByLeavedate)) {
|
||||
// return Lists.newArrayList();
|
||||
// }
|
||||
// list = list.stream().filter(po -> employeeIdsByLeavedate.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
// }
|
||||
// 人员
|
||||
if (CollectionUtils.isNotEmpty(param.getEmployee())) {
|
||||
list = list.stream().filter(po -> param.getEmployee().contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if(isRealOrg){
|
||||
Set<Long> empIds = SalaryEntityUtil.properties(employeeList, DataCollectionEmployee::getEmployeeId);
|
||||
list = list.stream().filter(po -> empIds.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||
import com.cloudstore.dev.api.util.Util_DataCache;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
|
|
@ -591,11 +592,12 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
// .build())
|
||||
// .collect(Collectors.toList());
|
||||
// 缓存勾选
|
||||
String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN;
|
||||
String cacheValue = (String) Util_DataCache.getObjVal(cacheKey);
|
||||
List<Long> checkItems = JsonUtil.parseList(cacheValue, Long.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, Long.class);
|
||||
// 转换成dto
|
||||
// return SalaryAcctImportFieldDTO.builder().formulaItems(formulaItems).sqlItems(sqlItems).inputItems(inputItems).checkItems(checkItems).build();
|
||||
List<Long> checkItems = new ArrayList<>();
|
||||
List<SalaryAcctResultTemplatePO> salaryAcctResultTemplatePOS = getSalaryAcctResultTemplateService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId(), Arrays.asList(2));
|
||||
if (CollectionUtils.isNotEmpty(salaryAcctResultTemplatePOS)) {
|
||||
String items = salaryAcctResultTemplatePOS.get(0).getSalaryItemIds();
|
||||
checkItems = StrUtil.isNotEmpty(items) ? Arrays.stream(items.split(",")).map(Long::valueOf).collect(Collectors.toList()) : new ArrayList<>();
|
||||
}
|
||||
return SalaryAcctImportFieldDTO.builder().itemsByGroup(itemsByGroup).checkItems(checkItems).build();
|
||||
}
|
||||
|
||||
|
|
@ -667,18 +669,22 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
|
||||
@Override
|
||||
public XSSFWorkbook exportImportTemplate(SalaryAcctImportTemplateParam param) {
|
||||
// ValidUtil.doValidator(param);
|
||||
// 从缓存中获取所选的薪资项目
|
||||
String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN;
|
||||
String cacheValue = (String) Util_DataCache.getObjVal(cacheKey);
|
||||
List<Long> checkItems = JsonUtil.parseList(cacheValue, Long.class) == null ? new ArrayList<>() : JsonUtil.parseList(cacheValue, Long.class);
|
||||
// 必须选择导入模板所需的薪资项目
|
||||
if (CollectionUtils.isEmpty(checkItems)) {
|
||||
// 获取所有可以选择的薪资项目
|
||||
|
||||
// 查询薪资核算记录
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId());
|
||||
if (Objects.isNull(salaryAcctRecordPO)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
|
||||
}
|
||||
|
||||
List<Long> checkItems = new ArrayList<>();
|
||||
List<SalaryAcctResultTemplatePO> salaryAcctResultTemplatePOS = getSalaryAcctResultTemplateService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId(), Arrays.asList(2));
|
||||
if (CollectionUtils.isNotEmpty(salaryAcctResultTemplatePOS)) {
|
||||
String items = salaryAcctResultTemplatePOS.get(0).getSalaryItemIds();
|
||||
checkItems = StrUtil.isNotEmpty(items) ? Arrays.stream(items.split(",")).map(Long::valueOf).collect(Collectors.toList()) : new ArrayList<>();
|
||||
}
|
||||
|
||||
// 必须选择导入模板所需的薪资项目
|
||||
if (CollectionUtils.isEmpty(checkItems)) {
|
||||
// 查询薪资核算记录所用的薪资账套的薪资项目副本
|
||||
List<SalarySobItemPO> salarySobItems = getSalarySobItemService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId());
|
||||
List<Long> salaryItemIds = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId, Collectors.toList());
|
||||
|
|
@ -688,11 +694,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
checkItems = salaryItemIds;
|
||||
}
|
||||
param.setSalaryItemIds(checkItems);
|
||||
// 查询薪资核算记录
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId());
|
||||
if (Objects.isNull(salaryAcctRecordPO)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
|
||||
}
|
||||
|
||||
// // 模板表头(默认必带"个税扣缴义务人"、"姓名")
|
||||
// List<Object> headerList = Lists.newArrayList(SalaryI18nUtil.getI18nLabel(85429, "姓名"),
|
||||
// "部门",
|
||||
|
|
@ -976,9 +978,32 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
}
|
||||
|
||||
@Override
|
||||
public void cacheImportField(List<Long> salaryItems) {
|
||||
String cacheKey = user.getUID() + SalaryItemConstant.RESULT_IMPORT_FIELD_SIGN;
|
||||
Util_DataCache.setObjVal(cacheKey, JsonUtil.toJsonString(salaryItems));
|
||||
public void cacheImportField(SalaryAcctResultTemplateSaveParam saveParam) {
|
||||
Long salaryAcctRecordId = saveParam.getSalaryAcctRecordId();
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(salaryAcctRecordId);
|
||||
if (salaryAcctRecordPO == null) {
|
||||
throw new SalaryRunTimeException("薪资核算记录不存在");
|
||||
}
|
||||
|
||||
List<SalaryAcctResultTemplatePO> salaryAcctResultTemplatePOS = getSalaryAcctResultTemplateService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId(), Collections.singletonList(2));
|
||||
if (CollectionUtils.isNotEmpty(salaryAcctResultTemplatePOS)) {
|
||||
salaryAcctResultTemplatePOS.forEach(templatePO -> getSalaryAcctResultTemplateService(user).deleteById(templatePO.getId()));
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
SalaryAcctResultTemplatePO templatePO = SalaryAcctResultTemplatePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.type(2)
|
||||
.salarySobId(salaryAcctRecordPO.getSalarySobId())
|
||||
.salaryItemIds(StringUtils.join(saveParam.getSalaryItemIds(), ","))
|
||||
.templateName("")
|
||||
.creator((long) user.getUID())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(0)
|
||||
.build();
|
||||
getSalaryAcctResultTemplateService(user).insertIgnoreNull(templatePO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -1467,7 +1492,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
throw new SalaryRunTimeException("薪资核算记录不存在");
|
||||
}
|
||||
saveParam.setSalarySobId(salaryAcctRecordPO.getSalarySobId());
|
||||
List<SalaryAcctResultTemplatePO> templateBySobId = getSalaryAcctResultTemplateService(user).listBySalarySobId(saveParam.getSalarySobId());
|
||||
List<SalaryAcctResultTemplatePO> templateBySobId = getSalaryAcctResultTemplateService(user).listBySalarySobId(saveParam.getSalarySobId(), Arrays.asList(0, 1));
|
||||
if (saveParam.getId() != null) {
|
||||
Optional<SalaryAcctResultTemplatePO> saveNameOptional = templateBySobId.stream().filter(po -> po.getTemplateName().equals(saveParam.getTemplateName()) && !po.getId().equals(saveParam.getId())).findFirst();
|
||||
if (saveNameOptional.isPresent()) {
|
||||
|
|
@ -1480,6 +1505,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
}
|
||||
salaryAcctResultTemplatePO.setSalaryItemIds(StringUtils.join(saveParam.getSalaryItemIds(), ","));
|
||||
salaryAcctResultTemplatePO.setTemplateName(saveParam.getTemplateName());
|
||||
salaryAcctResultTemplatePO.setType(0);
|
||||
salaryAcctResultTemplatePO.setUpdateTime(new Date());
|
||||
getSalaryAcctResultTemplateService(user).update(salaryAcctResultTemplatePO);
|
||||
} else {
|
||||
|
|
@ -1489,16 +1515,18 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
}
|
||||
// 新建
|
||||
Date now = new Date();
|
||||
getSalaryAcctResultTemplateService(user).insertIgnoreNull(SalaryAcctResultTemplatePO.builder()
|
||||
SalaryAcctResultTemplatePO templatePO = SalaryAcctResultTemplatePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.type(0)
|
||||
.salarySobId(saveParam.getSalarySobId())
|
||||
.salaryItemIds(StringUtils.join(saveParam.getSalaryItemIds(), ","))
|
||||
.templateName(saveParam.getTemplateName())
|
||||
.creator(Long.valueOf(user.getUID()))
|
||||
.creator((long) user.getUID())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(0)
|
||||
.build());
|
||||
.build();
|
||||
getSalaryAcctResultTemplateService(user).insertIgnoreNull(templatePO);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1525,7 +1553,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
if (salaryAcctRecordPO == null) {
|
||||
throw new SalaryRunTimeException("薪资核算记录为空");
|
||||
}
|
||||
List<SalaryAcctResultTemplatePO> salaryAcctResultTemplatePOS = getSalaryAcctResultTemplateService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId());
|
||||
List<SalaryAcctResultTemplatePO> salaryAcctResultTemplatePOS = getSalaryAcctResultTemplateService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId(), Arrays.asList(0, 1));
|
||||
if (StringUtils.isNotBlank(param.getTemplateName())) {
|
||||
salaryAcctResultTemplatePOS = salaryAcctResultTemplatePOS.stream().filter(po -> po.getTemplateName().contains(param.getTemplateName())).collect(Collectors.toList());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,10 +63,10 @@ public class SalaryAcctResultTemplateServiceImpl extends Service implements Sala
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<SalaryAcctResultTemplatePO> listBySalarySobId(Long salarySobId) {
|
||||
public List<SalaryAcctResultTemplatePO> listBySalarySobId(Long salarySobId,List<Integer> types) {
|
||||
if (salarySobId == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return getSalaryAcctResultTemplateMapper().listSome(SalaryAcctResultTemplatePO.builder().salarySobId(salarySobId).build());
|
||||
return getSalaryAcctResultTemplateMapper().listSome(SalaryAcctResultTemplatePO.builder().salarySobId(salarySobId).types(types).build());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,107 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingSaveParam;
|
||||
import com.engine.salary.entity.setting.po.PageListSettingPO;
|
||||
import com.engine.salary.mapper.setting.PageListSettingMapper;
|
||||
import com.engine.salary.service.SalaryItemService;
|
||||
import com.engine.salary.service.SalarySobService;
|
||||
import com.engine.salary.service.SettingService;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.db.IdGenerator;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.constant.SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY;
|
||||
|
||||
/**
|
||||
* 薪资核算
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public class SettingServiceImpl extends Service implements SettingService {
|
||||
|
||||
private PageListSettingMapper getPageListSettingMapper() {
|
||||
return MapperProxyFactory.getProxy(PageListSettingMapper.class);
|
||||
}
|
||||
|
||||
private SalarySobService getSalarySobService(User user) {
|
||||
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryItemService getSalaryItemService(User user) {
|
||||
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam) {
|
||||
Date now = new Date();
|
||||
|
||||
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage());
|
||||
if (pageListSettingPO != null) {
|
||||
pageListSettingPO.setSetting(JsonUtil.toJsonString(pageListSettingSaveParam.getSetting()));
|
||||
pageListSettingPO.setUpdateTime(now);
|
||||
getPageListSettingMapper().updateIgnoreNull(pageListSettingPO);
|
||||
} else {
|
||||
pageListSettingPO = PageListSettingPO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.page(pageListSettingSaveParam.getPage())
|
||||
.setting(JsonUtil.toJsonString(pageListSettingSaveParam.getSetting()))
|
||||
.creator((long) user.getUID())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(0)
|
||||
.tenantKey(DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
getPageListSettingMapper().insertIgnoreNull(pageListSettingPO);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map getPageListSetting(PageListSettingQueryParam param) {
|
||||
String page = param.getPage();
|
||||
Map result = new HashMap();
|
||||
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(page);
|
||||
if ("salary_details_report".equals(page)) {
|
||||
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
|
||||
salaryItemList = 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);
|
||||
}
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
result.put("setting", salaryItemList);
|
||||
if (pageListSettingPO != null && StrUtil.isNotEmpty(pageListSettingPO.getSetting())) {
|
||||
result.put("checked", JsonUtil.parseList(pageListSettingPO.getSetting(), Long.class));
|
||||
} else {
|
||||
List<Long> collect = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
result.put("checked", collect);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -145,4 +145,15 @@ public class SalarySysConstant {
|
|||
* 我的薪资福利工资单个税扣缴义务人显示状态
|
||||
*/
|
||||
public static final String TAX_AGENT_SHOW_STATUS = "taxAgentShowStatus";
|
||||
|
||||
|
||||
/**
|
||||
* 报表是否开启缓存,0:关闭 1:开启
|
||||
*/
|
||||
public static final String REPORT_CACHE = "REPORT_CACHE";
|
||||
|
||||
/**
|
||||
* 报表组织类型,null/0 :核算时组织信息 1:实时组织信息
|
||||
*/
|
||||
public static final String REPORT_ORGANIZATIN_TYPE = "REPORT_ORGANIZATIN_TYPE";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ public interface SalarySysConfService {
|
|||
|
||||
SalarySysConfPO getOneByCode(String code);
|
||||
|
||||
String getValueByCode(String code);
|
||||
|
||||
List<SalarySysConfPO> listSome(SalarySysConfPO build);
|
||||
|
||||
void save(SalarySysConfPO salarySysConfPO);
|
||||
|
|
|
|||
|
|
@ -222,6 +222,12 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
|
|||
return getSalarySysConfMapper().getOneByCode(code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValueByCode(String code) {
|
||||
SalarySysConfPO confPO = getSalarySysConfMapper().getOneByCode(code);
|
||||
return confPO == null ? "" : confPO.getConfValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalarySysConfPO> listSome(SalarySysConfPO po) {
|
||||
return getSalarySysConfMapper().listSome(po);
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ public class ExcelUtilPlus {
|
|||
rowZeroCell.setCellValue(columnGroupItem.getText().toString());
|
||||
rowZeroCell.setCellStyle(titleCellStyle);
|
||||
//设置列宽
|
||||
sheet.setColumnWidth(i, Math.max(12, columnGroupItem.getText().length() * 4) * 256);
|
||||
sheet.setColumnWidth(i, Math.min(255, Math.max(12, columnGroupItem.getText().length() * 4)) * 256);
|
||||
patternList.add(columnGroupItem.getPattern());
|
||||
}
|
||||
|
||||
|
|
@ -266,7 +266,7 @@ public class ExcelUtilPlus {
|
|||
//遍历设置列宽
|
||||
List<Object> header = rowList.get(0);
|
||||
for (int i = 0; i < header.size(); i++) {
|
||||
sheet.setColumnWidth(i, Math.max(12, header.get(i).toString().length() * 4) * 256);
|
||||
sheet.setColumnWidth(i, Math.min(255, Math.max(12, header.get(i).toString().length() * 4)) * 256);
|
||||
}
|
||||
|
||||
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
|
||||
|
|
@ -353,7 +353,7 @@ public class ExcelUtilPlus {
|
|||
//遍历设置列宽
|
||||
List<Object> header = rowList.get(0);
|
||||
for (int i = 0; i < header.size(); i++) {
|
||||
sheet.setColumnWidth(i, Math.max(12, header.get(i).toString().length() * 4) * 256);
|
||||
sheet.setColumnWidth(i, Math.min(255, Math.max(12, header.get(i).toString().length() * 4)) * 256);
|
||||
}
|
||||
|
||||
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
|
||||
|
|
@ -458,7 +458,7 @@ public class ExcelUtilPlus {
|
|||
//遍历设置列宽
|
||||
List<Object> header = rowList.get(0);
|
||||
for (int i = 0; i < header.size(); i++) {
|
||||
sheet.setColumnWidth(i, Math.max(12, header.get(i).toString().length() * 4) * 256);
|
||||
sheet.setColumnWidth(i, Math.min(255, Math.max(12, header.get(i).toString().length() * 4)) * 256);
|
||||
}
|
||||
|
||||
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
|
||||
|
|
@ -592,7 +592,7 @@ public class ExcelUtilPlus {
|
|||
rowOneCell.setCellValue(columnGroupItem.getText().toString());
|
||||
rowOneCell.setCellStyle(titleCellStyle);
|
||||
//设置列宽
|
||||
sheet.setColumnWidth(startIndex, Math.max(12, columnGroupItem.getText().length() * 4) * 256);
|
||||
sheet.setColumnWidth(startIndex, Math.min(255, Math.max(12, columnGroupItem.getText().length() * 4)) * 256);
|
||||
startIndex++;
|
||||
patternList.add(columnGroupItem.getPattern());
|
||||
} else {
|
||||
|
|
@ -614,7 +614,7 @@ public class ExcelUtilPlus {
|
|||
subHeader.setCellValue(childrenItem.getText().toString());
|
||||
subHeader.setCellStyle(titleCellStyle);
|
||||
//设置列宽
|
||||
sheet.setColumnWidth(startIndex + j, Math.max(12, childrenItem.getText().length() * 4) * 256);
|
||||
sheet.setColumnWidth(startIndex + j, Math.min(255, Math.max(12, childrenItem.getText().length() * 4)) * 256);
|
||||
patternList.add(childrenItem.getPattern());
|
||||
}
|
||||
|
||||
|
|
@ -793,7 +793,7 @@ public class ExcelUtilPlus {
|
|||
rowOneCell.setCellValue(columnGroupItem.getText().toString());
|
||||
rowOneCell.setCellStyle(titleCellStyle);
|
||||
//设置列宽
|
||||
sheet.setColumnWidth(startIndex, Math.max(12, columnGroupItem.getText().length() * 4) * 256);
|
||||
sheet.setColumnWidth(startIndex, Math.min(255, Math.max(12, columnGroupItem.getText().length() * 4)) * 256);
|
||||
startIndex++;
|
||||
} else {
|
||||
List<WeaTableColumnGroup> childrenList = columnGroupItem.getChildren();
|
||||
|
|
@ -814,7 +814,7 @@ public class ExcelUtilPlus {
|
|||
subHeader.setCellValue(childrenItem.getText().toString());
|
||||
subHeader.setCellStyle(titleCellStyle);
|
||||
//设置列宽
|
||||
sheet.setColumnWidth(startIndex + j, Math.max(12, childrenItem.getText().length() * 4) * 256);
|
||||
sheet.setColumnWidth(startIndex + j, Math.min(255, Math.max(12, childrenItem.getText().length() * 4)) * 256);
|
||||
}
|
||||
|
||||
startIndex += childrenList.size();
|
||||
|
|
|
|||
|
|
@ -631,9 +631,9 @@ public class SalaryAcctController {
|
|||
@POST
|
||||
@Path("/acctresult/cacheImportField")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String cacheImportField(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctImportParam param) {
|
||||
public String cacheImportField(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultTemplateSaveParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<List<Long>, String>(user).run(getSalaryAcctExcelService(user)::cacheImportField, param.getSalaryItems());
|
||||
return new ResponseResult<SalaryAcctResultTemplateSaveParam, String>(user).run(getSalaryAcctExcelService(user)::cacheImportField, param);
|
||||
}
|
||||
|
||||
// 薪资核算导出字段缓存
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.engine.salary.web;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingSaveParam;
|
||||
import com.engine.salary.entity.browser.dto.BrowserDataDTO;
|
||||
import com.engine.salary.entity.browser.param.BrowserDataQueryParam;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
|
|
@ -59,4 +61,26 @@ public class SalaryCommonController {
|
|||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<BrowserDataQueryParam, PageInfo<BrowserDataDTO>>(user).run(getSalaryCommonWrapper(user)::getBrowserData, param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 页面模板设置
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/pageList/save/setting")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String savePageListSetting(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PageListSettingSaveParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<PageListSettingSaveParam, String>(user).run(getSalaryCommonWrapper(user)::savePageListSetting, param);
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/pageList/get/setting")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getPageListSetting(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListSettingQueryParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<PageListSettingQueryParam, Map>(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,16 +5,22 @@ import com.engine.core.impl.Service;
|
|||
import com.engine.salary.entity.browser.dto.BrowserDataDTO;
|
||||
import com.engine.salary.entity.browser.param.BrowserDataQueryParam;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingSaveParam;
|
||||
import com.engine.salary.service.SalaryCacheService;
|
||||
import com.engine.salary.service.SalarySobItemService;
|
||||
import com.engine.salary.service.SettingService;
|
||||
import com.engine.salary.service.impl.SalaryCacheServiceImpl;
|
||||
import com.engine.salary.service.impl.SalarySobItemServiceImpl;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import com.engine.salary.service.impl.SettingServiceImpl;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -26,6 +32,10 @@ public class SalaryCommonWrapper extends Service {
|
|||
return ServiceUtil.getService(SalaryCacheServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SettingService getSettingService(User user) {
|
||||
return ServiceUtil.getService(SettingServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySobItemService getSalarySobItemService(User user) {
|
||||
return ServiceUtil.getService(SalarySobItemServiceImpl.class, user);
|
||||
}
|
||||
|
|
@ -57,4 +67,13 @@ public class SalaryCommonWrapper extends Service {
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
public void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam) {
|
||||
getSettingService(user).savePageListSetting(pageListSettingSaveParam);
|
||||
}
|
||||
|
||||
|
||||
public Map getPageListSetting(PageListSettingQueryParam param) {
|
||||
return getSettingService(user).getPageListSetting(param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue