修改默认列设置功能
This commit is contained in:
parent
ba3e635e1f
commit
de5a00f588
|
|
@ -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 name;
|
||||
|
||||
private Integer defaultSetting;
|
||||
}
|
||||
|
|
@ -17,6 +17,12 @@ import java.util.List;
|
|||
@AllArgsConstructor
|
||||
public class PageListSettingSaveParam {
|
||||
|
||||
/**
|
||||
* 默认设置
|
||||
*/
|
||||
@DataCheck(require = true,message = "是否为默认设置")
|
||||
private Integer defaultSetting;
|
||||
|
||||
/**
|
||||
* 页面,0:薪资明细
|
||||
*/
|
||||
|
|
@ -27,5 +33,5 @@ public class PageListSettingSaveParam {
|
|||
* 设置
|
||||
*/
|
||||
@DataCheck(require = true,message = "请选择设置")
|
||||
private List<Long> setting;
|
||||
private List<String> setting;
|
||||
}
|
||||
|
|
@ -30,7 +30,12 @@ public class PageListSettingPO {
|
|||
* 设置
|
||||
*/
|
||||
@ElogTransform(name = "设置")
|
||||
private List<Long> setting;
|
||||
private List<String> setting;
|
||||
|
||||
/**
|
||||
* 默认设置
|
||||
*/
|
||||
private Integer defaultSetting;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public interface PageListSettingMapper {
|
|||
void deleteByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
//获取页面默认配置
|
||||
PageListSettingPO getByPage(String page);
|
||||
PageListSettingPO getByPage(@Param("page") String page, @Param("defaultSetting") Integer defaultSetting);
|
||||
|
||||
//获取页面配置模板
|
||||
List<PageListSettingPO> getTemplatesByPage(String page);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
<result column="update_time" property="updateTime"/>
|
||||
<result column="delete_type" property="deleteType"/>
|
||||
<result column="tenant_key" property="tenantKey"/>
|
||||
<result column="default_setting" property="defaultSetting"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
|
|
@ -24,6 +25,7 @@
|
|||
, t.setting
|
||||
, t.tenant_key
|
||||
, t.update_time
|
||||
, t.default_setting
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
@ -70,6 +72,9 @@
|
|||
<if test="updateTime != null">
|
||||
AND update_time = #{updateTime}
|
||||
</if>
|
||||
<if test="defaultSetting != null">
|
||||
AND default_setting = #{defaultSetting}
|
||||
</if>
|
||||
<if test="ids != null and ids.size()>0">
|
||||
AND id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -109,6 +114,9 @@
|
|||
<if test="updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
<if test="defaultSetting != null">
|
||||
default_setting,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="createTime != null">
|
||||
|
|
@ -135,6 +143,9 @@
|
|||
<if test="updateTime != null">
|
||||
#{updateTime},
|
||||
</if>
|
||||
<if test="defaultSetting != null">
|
||||
#{defaultSetting},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
@ -150,6 +161,7 @@
|
|||
setting=#{setting, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler},
|
||||
tenant_key=#{tenantKey},
|
||||
update_time=#{updateTime},
|
||||
default_setting=#{defaultSetting},
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
@ -180,6 +192,9 @@
|
|||
<if test="updateTime != null">
|
||||
update_time=#{updateTime},
|
||||
</if>
|
||||
<if test="defaultSetting != null">
|
||||
default_setting=#{defaultSetting},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
@ -209,6 +224,7 @@
|
|||
FROM hrsa_page_list_setting t
|
||||
WHERE delete_type = 0
|
||||
and page = #{page}
|
||||
and default_setting = #{defaultSetting}
|
||||
</select>
|
||||
|
||||
<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.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;
|
||||
|
|
@ -26,7 +25,10 @@ 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.*;
|
||||
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.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
|
|
@ -41,8 +43,6 @@ import weaver.hrm.User;
|
|||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.enums.setting.PageListSettingPageEnum.SALARY_DETAILS_REPORT;
|
||||
|
||||
/**
|
||||
* 薪酬统计员工明细
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -350,10 +350,23 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
@Override
|
||||
public SalaryStatisticsEmployeeDetailResultDTO getDetailSalaryAcctResultByAcctEmp(List<SalaryAcctEmployeePO> salaryAcctEmployeeList) {
|
||||
// 3.获取薪资项目
|
||||
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).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);
|
||||
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());
|
||||
if (CollectionUtils.isEmpty(salaryAcctEmployeeList)) {
|
||||
return SalaryStatisticsEmployeeDetailResultDTO.builder()
|
||||
.salaryAcctEmployeeList(Collections.emptyList())
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ import com.engine.salary.component.WeaTableColumnGroup;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
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.report.common.constant.SalaryConstant;
|
||||
import com.engine.salary.report.entity.bo.SalaryStatisticsReportBO;
|
||||
|
|
@ -189,8 +191,9 @@ public class SalaryStatisticsEmployeeWrapper extends Service {
|
|||
if (templateShow) {
|
||||
weaTableColumns = getSettingService(user).getPageListColumns(SALARY_DETAILS_REPORT.getValue());
|
||||
} else {
|
||||
// 显示方案0,显示定制列,默认方式
|
||||
weaTableColumns = buildDetailTableColumns(salaryStatisticsEmployeeDetailResult, true);
|
||||
PageListSettingQueryParam param = PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build();
|
||||
PageListTemplateDTO pageListSetting = getSettingService(user).getPageListSetting(param);
|
||||
weaTableColumns = pageListSetting.getChecked();
|
||||
}
|
||||
|
||||
// 结果
|
||||
|
|
|
|||
|
|
@ -6,12 +6,11 @@ import com.engine.salary.entity.setting.param.*;
|
|||
import com.engine.salary.entity.setting.po.PageListTemplatePO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface SettingService {
|
||||
void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam);
|
||||
|
||||
Map getPageListSetting(PageListSettingQueryParam param);
|
||||
PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param);
|
||||
|
||||
PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param);
|
||||
|
||||
|
|
|
|||
|
|
@ -67,10 +67,12 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
|
||||
@Override
|
||||
public void savePageListSetting(PageListSettingSaveParam pageListSettingSaveParam) {
|
||||
ValidUtil.doValidator(pageListSettingSaveParam);
|
||||
|
||||
Date now = new Date();
|
||||
|
||||
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage());
|
||||
List<Long> checked = pageListSettingSaveParam.getSetting().stream().distinct().collect(Collectors.toList());
|
||||
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(pageListSettingSaveParam.getPage(), pageListSettingSaveParam.getDefaultSetting());
|
||||
List<String> checked = pageListSettingSaveParam.getSetting().stream().distinct().collect(Collectors.toList());
|
||||
if (pageListSettingPO != null) {
|
||||
pageListSettingPO.setSetting(checked);
|
||||
pageListSettingPO.setUpdateTime(now);
|
||||
|
|
@ -80,6 +82,7 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
.id(IdGenerator.generate())
|
||||
.page(pageListSettingSaveParam.getPage())
|
||||
.setting(checked)
|
||||
.defaultSetting(pageListSettingSaveParam.getDefaultSetting())
|
||||
.creator((long) user.getUID())
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
|
|
@ -91,13 +94,27 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Map getPageListSetting(PageListSettingQueryParam param) {
|
||||
public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) {
|
||||
String page = param.getPage();
|
||||
Map result = new HashMap();
|
||||
PageListSettingPO pageListSettingPO = getPageListSettingMapper().getByPage(page);
|
||||
if (SALARY_DETAILS_REPORT.getValue().equals(page)) {
|
||||
List<WeaTableColumn> columns = new ArrayList<>();
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(87614, "薪资所属月"), "salaryMonth"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), "taxAgent"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "账套"), "salarySob"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "姓名"), "userName"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "分部"), "subCompany"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(0, "部门"), "department"));
|
||||
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));
|
||||
if (StrUtil.isNotBlank(param.getName())) {
|
||||
columns = columns.stream().filter(column -> column.getText().contains(param.getName())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
List<SalaryItemPO> salaryItemList = getSalaryItemService(user).listAll();
|
||||
salaryItemList = salaryItemList.stream()
|
||||
List<WeaTableColumn> collect = salaryItemList.stream()
|
||||
.filter(po -> {
|
||||
String name = param.getName();
|
||||
if (StrUtil.isNotEmpty(name)) {
|
||||
|
|
@ -116,16 +133,33 @@ public class SettingServiceImpl extends Service implements SettingService {
|
|||
return sortedIndex2.compareTo(sortedIndex1);
|
||||
}
|
||||
})
|
||||
.map(item -> new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX))
|
||||
.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);
|
||||
|
||||
columns.addAll(collect);
|
||||
|
||||
Integer defaultSetting = param.getDefaultSetting();
|
||||
Map<String, WeaTableColumn> columnMap = SalaryEntityUtil.convert2Map(columns, WeaTableColumn::getColumn);
|
||||
List<WeaTableColumn> checkedList = new ArrayList<>();
|
||||
PageListSettingPO po = getPageListSettingMapper().getByPage(page, defaultSetting);
|
||||
|
||||
//如果查询个人设置且无值,查询默认设置
|
||||
if (defaultSetting == 0 && po == null) {
|
||||
po = getPageListSettingMapper().getByPage(page, 1);
|
||||
}
|
||||
|
||||
if (po != null) {
|
||||
checkedList = Optional.ofNullable(po.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
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public class SalaryCommonController {
|
|||
@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);
|
||||
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 java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue