自定义报表
This commit is contained in:
parent
abf255d03c
commit
bc590b9ee8
|
|
@ -12,6 +12,7 @@ import com.engine.salary.report.enums.UnitTypeEnum;
|
|||
import com.engine.salary.report.service.SalaryStatisticsItemService;
|
||||
import com.engine.salary.util.SalaryAssert;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
|
@ -27,14 +28,16 @@ import java.util.stream.Collectors;
|
|||
public class SalaryStatisticsItemServiceImpl extends Service implements SalaryStatisticsItemService {
|
||||
|
||||
|
||||
private SalaryStatisticsItemMapper salaryStatisticsItemMapper;
|
||||
private SalaryStatisticsItemMapper getSalaryStatisticsItemMapper() {
|
||||
return MapperProxyFactory.getProxy(SalaryStatisticsItemMapper.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SalaryStatisticsItemPO getById(Long id) {
|
||||
if (id == null) {
|
||||
return null;
|
||||
}
|
||||
return salaryStatisticsItemMapper.getById(id);
|
||||
return getSalaryStatisticsItemMapper().getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -42,7 +45,7 @@ public class SalaryStatisticsItemServiceImpl extends Service implements SalarySt
|
|||
if (statisticsReportId == null) {
|
||||
return null;
|
||||
}
|
||||
return salaryStatisticsItemMapper.listSome(SalaryStatisticsItemPO.builder().statReportId(statisticsReportId).build());
|
||||
return getSalaryStatisticsItemMapper().listSome(SalaryStatisticsItemPO.builder().statReportId(statisticsReportId).build());
|
||||
}
|
||||
|
||||
public List<SalaryStatisticsItemPO> listByIds(Collection<Long> ids) {
|
||||
|
|
@ -51,7 +54,7 @@ public class SalaryStatisticsItemServiceImpl extends Service implements SalarySt
|
|||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
return salaryStatisticsItemMapper.listSome(SalaryStatisticsItemPO.builder().ids(ids).build());
|
||||
return getSalaryStatisticsItemMapper().listSome(SalaryStatisticsItemPO.builder().ids(ids).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -59,7 +62,7 @@ public class SalaryStatisticsItemServiceImpl extends Service implements SalarySt
|
|||
SalaryAssert.notEmpty(ids, SalaryI18nUtil.getI18nLabel(152638, "id不可为空"));
|
||||
List<SalaryStatisticsItemPO> list = this.listByIds(ids);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
salaryStatisticsItemMapper.deleteByIds(ids);
|
||||
getSalaryStatisticsItemMapper().deleteByIds(ids);
|
||||
// list.forEach(po -> {
|
||||
// LoggerContext<SubTablePO> loggerContext = new LoggerContext<>();
|
||||
// loggerContext.setTargetId(String.valueOf(po.getId()));
|
||||
|
|
@ -117,7 +120,7 @@ public class SalaryStatisticsItemServiceImpl extends Service implements SalarySt
|
|||
.updateTime(now)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
salaryStatisticsItemMapper.insertIgnoreNull(subTableItemPO);
|
||||
getSalaryStatisticsItemMapper().insertIgnoreNull(subTableItemPO);
|
||||
|
||||
// 记录操作日志
|
||||
// LoggerContext<SubTablePO> loggerContext = new LoggerContext<>();
|
||||
|
|
@ -145,7 +148,7 @@ public class SalaryStatisticsItemServiceImpl extends Service implements SalarySt
|
|||
itemPO.setMedianRule(Objects.nonNull(saveParam.getMedianRule()) ? JSON.toJSONString(saveParam.getMedianRule()) : "");
|
||||
}
|
||||
|
||||
salaryStatisticsItemMapper.updateIgnoreNull(itemPO);
|
||||
getSalaryStatisticsItemMapper().updateIgnoreNull(itemPO);
|
||||
|
||||
// 记录操作日志
|
||||
// LoggerContext<SubTablePO> loggerContext = new LoggerContext<>();
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.report.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.report.service.SubTableExportService;
|
||||
|
||||
/**
|
||||
|
|
@ -8,7 +9,7 @@ import com.engine.salary.report.service.SubTableExportService;
|
|||
* @CreateDate: 2022/11/9
|
||||
* @Version: v1.0
|
||||
*/
|
||||
public class SubTableExportServiceImpl implements SubTableExportService {
|
||||
public class SubTableExportServiceImpl extends Service implements SubTableExportService {
|
||||
|
||||
// private Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
//
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.salary.report.wrapper;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.report.entity.bo.SalaryStatisticsReportBO;
|
||||
|
|
@ -15,6 +16,10 @@ import com.engine.salary.report.service.SalaryStatisticsDimensionService;
|
|||
import com.engine.salary.report.service.SalaryStatisticsItemService;
|
||||
import com.engine.salary.report.service.SalaryStatisticsReportService;
|
||||
import com.engine.salary.report.service.SubTableExportService;
|
||||
import com.engine.salary.report.service.impl.SalaryStatisticsDimensionServiceImpl;
|
||||
import com.engine.salary.report.service.impl.SalaryStatisticsItemServiceImpl;
|
||||
import com.engine.salary.report.service.impl.SalaryStatisticsReportServiceImpl;
|
||||
import com.engine.salary.report.service.impl.SubTableExportServiceImpl;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
|
@ -22,6 +27,7 @@ import com.engine.salary.util.page.PageInfo;
|
|||
import com.google.common.collect.Maps;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -36,14 +42,21 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
|
||||
private static final String conditionId = "salaryStatisticsReportSearchCondition";
|
||||
|
||||
private SalaryStatisticsReportService getSalaryStatisticsReportService(User user) {
|
||||
return ServiceUtil.getService(SalaryStatisticsReportServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryStatisticsReportService salaryStatisticsReportService;
|
||||
private SalaryStatisticsItemService getSalaryStatisticsItemService(User user) {
|
||||
return ServiceUtil.getService(SalaryStatisticsItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryStatisticsItemService salaryStatisticsItemService;
|
||||
|
||||
private SalaryStatisticsDimensionService salaryStatisticsDimensionService;
|
||||
|
||||
private SubTableExportService subTableExportService;
|
||||
private SalaryStatisticsDimensionService getSalaryStatisticsDimensionService(User user) {
|
||||
return ServiceUtil.getService(SalaryStatisticsDimensionServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SubTableExportService getSubTableExportService(User user) {
|
||||
return ServiceUtil.getService(SubTableExportServiceImpl.class, user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 报表列表
|
||||
|
|
@ -53,13 +66,13 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
*/
|
||||
public List<Map<String, Object>> list(SalaryStatisticsReportQueryParam queryParam) {
|
||||
// 初始化
|
||||
salaryStatisticsDimensionService.init((long)user.getUID());
|
||||
getSalaryStatisticsDimensionService(user).init((long)user.getUID());
|
||||
|
||||
List<SalaryStatisticsReportPO> reportList = salaryStatisticsReportService.list();
|
||||
List<SalaryStatisticsReportPO> reportList = getSalaryStatisticsReportService(user).list();
|
||||
if (StringUtils.isNotEmpty(queryParam.getReportName())) {
|
||||
reportList = reportList.stream().filter(rp -> rp.getReportName().contains(queryParam.getReportName())).collect(Collectors.toList());
|
||||
}
|
||||
List<SalaryStatisticsDimensionPO> salaryStatisticsDimensionList = this.salaryStatisticsDimensionService.listAll();
|
||||
List<SalaryStatisticsDimensionPO> salaryStatisticsDimensionList = this.getSalaryStatisticsDimensionService(user).listAll();
|
||||
Map<String, String> salaryStatisticsDimensionMap = SalaryEntityUtil.convert2Map(salaryStatisticsDimensionList, k -> k.getId().toString(), SalaryStatisticsDimensionPO::getDimName);
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
reportList.forEach(po -> {
|
||||
|
|
@ -84,11 +97,11 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
*/
|
||||
public SalaryStatisticsReportPO getFrom(Long id) {
|
||||
|
||||
List<SalaryStatisticsDimensionPO> salaryStatisticsDimensions = salaryStatisticsDimensionService.listAll();
|
||||
List<SalaryStatisticsDimensionPO> salaryStatisticsDimensions = getSalaryStatisticsDimensionService(user).listAll();
|
||||
|
||||
String placeholder = SalaryI18nUtil.getI18nLabel(85987, "请输入");
|
||||
|
||||
SalaryStatisticsReportPO po = this.salaryStatisticsReportService.getById(id);
|
||||
SalaryStatisticsReportPO po = this.getSalaryStatisticsReportService(user).getById(id);
|
||||
if (po == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(161845, "薪酬统计报表不存在"));
|
||||
}
|
||||
|
|
@ -103,7 +116,7 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
* @return
|
||||
*/
|
||||
public String save(SalaryStatisticsReportSaveParam saveParam) {
|
||||
return salaryStatisticsReportService.save(saveParam);
|
||||
return getSalaryStatisticsReportService(user).save(saveParam);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -114,12 +127,12 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
* @return
|
||||
*/
|
||||
public Map<String, Object> delete(Collection<Long> ids) {
|
||||
return salaryStatisticsReportService.delete(ids);
|
||||
return getSalaryStatisticsReportService(user).delete(ids);
|
||||
}
|
||||
|
||||
|
||||
public String saveSearchCondition(SalaryStatisticsSearchConditionSaveParam param) {
|
||||
return this.salaryStatisticsReportService.saveSearchCondition(param);
|
||||
return this.getSalaryStatisticsReportService(user).saveSearchCondition(param);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -133,21 +146,21 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
if (param.getId() == null || param.getDimensionId() == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
|
||||
}
|
||||
SalaryStatisticsDimensionPO dimension = salaryStatisticsDimensionService.getById(param.getDimensionId());
|
||||
SalaryStatisticsDimensionPO dimension = getSalaryStatisticsDimensionService(user).getById(param.getDimensionId());
|
||||
if (dimension == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(161300, "统计维度不存在"));
|
||||
}
|
||||
// weaTable对象
|
||||
Map<String, Object> weaTable= new HashMap<>();
|
||||
// 查询报表配置
|
||||
SalaryStatisticsReportPO po = this.salaryStatisticsReportService.getById(param.getId());
|
||||
SalaryStatisticsReportPO po = this.getSalaryStatisticsReportService(user).getById(param.getId());
|
||||
if (po == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(161845, "薪酬统计报表不存在"));
|
||||
}
|
||||
// 查询自定义统计项目
|
||||
List<SalaryStatisticsItemPO> salaryStatisticsItemList = this.salaryStatisticsItemService.listByStatisticsReportId(po.getId());
|
||||
List<SalaryStatisticsItemPO> salaryStatisticsItemList = this.getSalaryStatisticsItemService(user).listByStatisticsReportId(po.getId());
|
||||
// 列表data
|
||||
PageInfo<Map<String, Object>> page = this.salaryStatisticsReportService.buildReportRecords(dimension, param, po, salaryStatisticsItemList);
|
||||
PageInfo<Map<String, Object>> page = this.getSalaryStatisticsReportService(user).buildReportRecords(dimension, param, po, salaryStatisticsItemList);
|
||||
|
||||
// 组装合计
|
||||
Map<String, Object> countResultMap = SalaryStatisticsReportBO.buildTotal(page, salaryStatisticsItemList,(long)user.getUID());
|
||||
|
|
@ -176,18 +189,18 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
|
||||
// }
|
||||
//
|
||||
// SalaryStatisticsReportPO po = this.salaryStatisticsReportService.getById(param.getId());
|
||||
// SalaryStatisticsReportPO po = this.getSalaryStatisticsReportService(user).getById(param.getId());
|
||||
// if (po == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(161845, "薪酬统计报表不存在"));
|
||||
// }
|
||||
// SalaryStatisticsDimensionPO dimension = salaryStatisticsDimensionService.getById(param.getDimensionId());
|
||||
// SalaryStatisticsDimensionPO dimension = getSalaryStatisticsDimensionService(user).getById(param.getDimensionId());
|
||||
// if (dimension == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(161300, "统计维度不存在"));
|
||||
// }
|
||||
// // 查询自定义统计项目
|
||||
// List<SalaryStatisticsItemPO> salaryStatisticsItemList = this.salaryStatisticsItemService.listByStatisticsReportId(po.getId());
|
||||
// List<SalaryStatisticsItemPO> salaryStatisticsItemList = this.getSalaryStatisticsItemService(user).listByStatisticsReportId(po.getId());
|
||||
// // 列表data
|
||||
// Page<Map<String, Object>> page = this.salaryStatisticsReportService.buildReportRecords(dimension, param, po, salaryStatisticsItemList);
|
||||
// Page<Map<String, Object>> page = this.getSalaryStatisticsReportService(user).buildReportRecords(dimension, param, po, salaryStatisticsItemList);
|
||||
// // 组装合计
|
||||
// Map<String, Object> countResultMap = SalaryStatisticsReportBO.buildTotal(page, salaryStatisticsItemList);
|
||||
// if (CollectionUtils.isNotEmpty(page.getRecords()) && MapUtils.isNotEmpty(countResultMap)) {
|
||||
|
|
@ -202,7 +215,7 @@ public class SalaryStatisticsReportWrapper extends Service {
|
|||
// // 组装导出参数
|
||||
// ExportCommonParam exportParam = SalaryStatisticsReportBO.buildExportParam(dimension.getDimName(), weaTableColumns, records);
|
||||
// exportParam.setSheetName(SalaryI18nUtil.getI18nLabel(179263, "薪酬统计报表") + "-" + exportParam.getDimensionName());
|
||||
// return subTableExportService.exportCommon(exportParam, UserContext.getCurrentUser(), TenantContext.get());
|
||||
// return getSubTableExportService(user).exportCommon(exportParam, UserContext.getCurrentUser(), TenantContext.get());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ public interface SalaryEmployeeService {
|
|||
*/
|
||||
List<DataCollectionEmployee> getEmployeeByIdsAll(List<Long> ids);
|
||||
|
||||
List<DataCollectionEmployee> listByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 获取人员信息
|
||||
* @param employeeId
|
||||
|
|
|
|||
|
|
@ -100,6 +100,11 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
|
|||
return employBiz.getEmployeeByIdsAll(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataCollectionEmployee> listByIds(List<Long> ids) {
|
||||
return employBiz.getEmployeeByIdsAll(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataCollectionEmployee getEmployeeById(Long employeeId) {
|
||||
return employBiz.getEmployeeById(employeeId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue