模板管理列表

This commit is contained in:
钱涛 2024-12-04 09:13:41 +08:00
parent 3d61bfa9a6
commit c80d900339
7 changed files with 151 additions and 20 deletions

View File

@ -1,6 +1,8 @@
package com.engine.salary.entity.setting.dto;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.annotation.TableTitle;
import com.engine.salary.enums.common.SharedTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -8,12 +10,56 @@ import lombok.NoArgsConstructor;
import java.util.List;
/**
* 薪资帐套表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_page_list_template
public class PageListTemplateDTO {
private List<WeaTableColumn> setting;
private List<WeaTableColumn> checked;
private Long id;
/**
* 模板名称
*/
@TableTitle(title = "模板名称",dataIndex = "name",key = "name")
private String name;
/**
* 页面
*/
private String page;
/**
* 设置
*/
private List<String> setting;
/**
* 是否共享,0否1是
* @see SharedTypeEnum
*/
@TableTitle(title = "可见性",dataIndex = "sharedType",key = "sharedType")
private Integer sharedType;
/**
* 是否系统模板
*/
@TableTitle(title = "是否系统模板",dataIndex = "systemType",key = "systemType")
private Integer systemType;
/**
* 限制
*/
@ElogTransform(name = "限制")
private List<Long> limitIds;
private Boolean canEdit;
}

View File

@ -0,0 +1,19 @@
package com.engine.salary.entity.setting.dto;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageListTemplateDetailDTO {
private List<WeaTableColumn> setting;
private List<WeaTableColumn> checked;
}

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.setting.param;
import com.engine.salary.common.BaseQueryParam;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -13,7 +14,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PageListTemplateQueryParam {
public class PageListTemplateQueryParam extends BaseQueryParam {
private Long id;

View File

@ -2,8 +2,10 @@ package com.engine.salary.service;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.salary.entity.setting.dto.PageListTemplateDTO;
import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO;
import com.engine.salary.entity.setting.param.*;
import com.engine.salary.entity.setting.po.PageListTemplatePO;
import com.engine.salary.util.page.PageInfo;
import java.util.List;
@ -17,7 +19,7 @@ public interface SettingService {
* @param param
* @return
*/
PageListTemplateDTO getDefaultPageListSetting(PageListSettingQueryParam param);
PageListTemplateDetailDTO getDefaultPageListSetting(PageListSettingQueryParam param);
@Deprecated
void resetPageListSetting(PageListSettingResetParam param);
@ -27,7 +29,7 @@ public interface SettingService {
* @param param
* @return
*/
PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param);
PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param);
/**
* 获取可选模板列表
@ -51,4 +53,5 @@ public interface SettingService {
List<WeaTableColumn> getPageListColumns(String page);
PageInfo<PageListTemplateDTO> getTemplates(PageListTemplateQueryParam param);
}

View File

@ -9,6 +9,7 @@ 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.dto.PageListTemplateDTO;
import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO;
import com.engine.salary.entity.setting.param.*;
import com.engine.salary.entity.setting.po.PageLinkPO;
import com.engine.salary.entity.setting.po.PageListSettingPO;
@ -28,6 +29,8 @@ import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.IdGenerator;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
import com.engine.salary.util.valid.ValidUtil;
import weaver.hrm.User;
@ -94,7 +97,7 @@ public class SettingServiceImpl extends Service implements SettingService {
}
@Override
public PageListTemplateDTO getDefaultPageListSetting(PageListSettingQueryParam param) {
public PageListTemplateDetailDTO getDefaultPageListSetting(PageListSettingQueryParam param) {
String page = param.getPage();
if (SALARY_DETAILS_REPORT.getValue().equals(page)) {
List<WeaTableColumn> columns = new ArrayList<>();
@ -146,10 +149,10 @@ public class SettingServiceImpl extends Service implements SettingService {
} else {
checkedList = columns;
}
return PageListTemplateDTO.builder().setting(columns).checked(checkedList).build();
return PageListTemplateDetailDTO.builder().setting(columns).checked(checkedList).build();
}
return PageListTemplateDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build();
return PageListTemplateDetailDTO.builder().setting(new ArrayList<>()).checked(new ArrayList<>()).build();
}
@Override
@ -167,7 +170,7 @@ public class SettingServiceImpl extends Service implements SettingService {
}
@Override
public PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param) {
public PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param) {
String page = param.getPage();
if (SALARY_DETAILS_REPORT.getValue().equals(page)) {
List<WeaTableColumn> columns = new ArrayList<>();
@ -226,10 +229,10 @@ public class SettingServiceImpl extends Service implements SettingService {
checkedList = columnList;
}
}
return PageListTemplateDTO.builder().setting(columns).checked(checkedList).build();
return PageListTemplateDetailDTO.builder().setting(columns).checked(checkedList).build();
}
return PageListTemplateDTO.builder().build();
return PageListTemplateDetailDTO.builder().build();
}
@Override
@ -248,7 +251,7 @@ public class SettingServiceImpl extends Service implements SettingService {
PageListTemplatePO systemTemplate = pos.stream().filter(po -> po.getSystemType() != null && po.getSystemType() == 1).findFirst().orElse(null);
if (systemTemplate == null) {
//查询系统默认配置
PageListTemplateDTO pageListSetting = getDefaultPageListSetting(PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build());
PageListTemplateDetailDTO pageListSetting = getDefaultPageListSetting(PageListSettingQueryParam.builder().page(SALARY_DETAILS_REPORT.getValue()).build());
systemTemplate = PageListTemplatePO.builder()
.id(IdGenerator.generate())
@ -306,7 +309,19 @@ public class SettingServiceImpl extends Service implements SettingService {
PageListTemplatePO po;
if (id == null) {
po = PageListTemplatePO.builder().id(IdGenerator.generate()).page(param.getPage()).name(param.getName()).sharedType(param.getSharedType()).limitIds(param.getLimitIds()).setting(param.getSetting()).creator((long) user.getUID()).createTime(now).updateTime(now).deleteType(0).tenantKey(DEFAULT_TENANT_KEY).build();
po = PageListTemplatePO.builder()
.id(IdGenerator.generate())
.page(param.getPage())
.name(param.getName())
.sharedType(param.getSharedType())
.systemType(0)
.limitIds(param.getLimitIds())
.setting(param.getSetting())
.creator((long) user.getUID())
.createTime(now)
.updateTime(now)
.deleteType(0)
.tenantKey(DEFAULT_TENANT_KEY).build();
getPageListTemplateMapper().insertIgnoreNull(po);
} else {
po = getPageListTemplateMapper().getById(id);
@ -341,7 +356,38 @@ public class SettingServiceImpl extends Service implements SettingService {
@Override
public List<WeaTableColumn> getPageListColumns(String page) {
PageListTemplateDTO pageListTemplate = getPageListTemplate((PageListTemplateQueryParam.builder().page(page).build()));
PageListTemplateDetailDTO pageListTemplate = getPageListTemplate((PageListTemplateQueryParam.builder().page(page).build()));
return pageListTemplate.getChecked();
}
@Override
public PageInfo<PageListTemplateDTO> getTemplates(PageListTemplateQueryParam param) {
PageListTemplatePO build = PageListTemplatePO.builder().page(param.getPage()).build();
List<PageListTemplatePO> pos = getPageListTemplateMapper().listSome(build);
//权限控制
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService().listAllTaxAgents((long) user.getUID());
Boolean chief = getTaxAgentService().isChief((long) user.getUID());
List<Long> taxIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
List<PageListTemplateDTO> templateDTOS = pos.stream()
.filter(po -> {
if (po.getSharedType() == 1) {
List<Long> limitIds = po.getLimitIds();
return CollectionUtil.isNotEmpty(limitIds) && CollectionUtil.intersection(limitIds, taxIds).size() != 0;
}
return true;
}).map(po -> PageListTemplateDTO.builder()
.id(po.getId())
.page(po.getPage())
.name(po.getName())
.sharedType(po.getSharedType())
.systemType(po.getSystemType())
.limitIds(po.getLimitIds())
.setting(po.getSetting())
.canEdit(chief || po.getSystemType() == 0)
.build())
.collect(Collectors.toList());
return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), templateDTOS, PageListTemplateDTO.class);
}
}

View File

@ -2,11 +2,13 @@ package com.engine.salary.web;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.setting.dto.PageListTemplateDTO;
import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO;
import com.engine.salary.entity.setting.param.*;
import com.engine.salary.entity.setting.po.PageListSettingPO;
import com.engine.salary.entity.setting.po.PageListTemplatePO;
import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.SalaryEnumUtil;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.SalaryCommonWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import lombok.extern.slf4j.Slf4j;
@ -88,7 +90,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, PageListTemplateDTO>(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param);
return new ResponseResult<PageListSettingQueryParam, PageListTemplateDetailDTO>(user).run(getSalaryCommonWrapper(user)::getPageListSetting, param);
}
/**
@ -103,7 +105,7 @@ public class SalaryCommonController {
@Produces(MediaType.APPLICATION_JSON)
public String getPageListTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListTemplateQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PageListTemplateQueryParam, PageListTemplateDTO>(user).run(getSalaryCommonWrapper(user)::getPageListTemplate, param);
return new ResponseResult<PageListTemplateQueryParam, PageListTemplateDetailDTO>(user).run(getSalaryCommonWrapper(user)::getPageListTemplate, param);
}
/**
@ -121,6 +123,14 @@ public class SalaryCommonController {
return new ResponseResult<PageListTemplateQueryParam, List<PageListTemplatePO>>(user).run(getSalaryCommonWrapper(user)::getPageListTemplates, param);
}
@POST
@Path("/pageList/template/pageList")
@Produces(MediaType.APPLICATION_JSON)
public String getTemplates(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody PageListTemplateQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PageListTemplateQueryParam, PageInfo<PageListTemplateDTO>>(user).run(getSalaryCommonWrapper(user)::getTemplates, param);
}
/**
* 页面模板列表
* @param request

View File

@ -3,12 +3,14 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.setting.dto.PageListTemplateDTO;
import com.engine.salary.entity.setting.dto.PageListTemplateDetailDTO;
import com.engine.salary.entity.setting.param.*;
import com.engine.salary.entity.setting.po.PageListTemplatePO;
import com.engine.salary.service.SalaryCacheService;
import com.engine.salary.service.SettingService;
import com.engine.salary.service.impl.SalaryCacheServiceImpl;
import com.engine.salary.service.impl.SettingServiceImpl;
import com.engine.salary.util.page.PageInfo;
import weaver.hrm.User;
import java.util.List;
@ -41,12 +43,12 @@ public class SalaryCommonWrapper extends Service {
}
public PageListTemplateDTO getPageListSetting(PageListSettingQueryParam param) {
public PageListTemplateDetailDTO getPageListSetting(PageListSettingQueryParam param) {
return getSettingService(user).getDefaultPageListSetting(param);
}
public PageListTemplateDTO getPageListTemplate(PageListTemplateQueryParam param) {
public PageListTemplateDetailDTO getPageListTemplate(PageListTemplateQueryParam param) {
return getSettingService(user).getPageListTemplate(param);
}
@ -54,6 +56,10 @@ public class SalaryCommonWrapper extends Service {
return getSettingService(user).getPageListTemplates(param);
}
public PageInfo<PageListTemplateDTO> getTemplates(PageListTemplateQueryParam param) {
return getSettingService(user).getTemplates(param);
}
public PageListTemplatePO savePageListTemplate(PageListTemplateSaveParam param) {
return getSettingService(user).savePageListTemplate(param);
}