From ae719ad65bb8317bcd5314b212c7e1e77c065aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 4 May 2023 11:56:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=BA=E5=91=98=E8=BF=87?= =?UTF-8?q?=E5=A4=9A=E6=97=B6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SalaryStatisticsEchartsController.java | 8 + .../SalaryStatisticsEChartsSettingMapper.java | 72 ++++ .../SalaryStatisticsEChartsSettingMapper.xml | 321 ++++++++++++++++++ .../po/SalaryStatisticsEChartsSettingPO.java | 76 +++++ .../SalaryStatisticsEchartsService.java | 37 ++ .../SalaryStatisticsEchartsServiceImpl.java | 104 ++++++ .../SalaryStatisticsReportServiceImpl.java | 13 +- .../SalaryStatisticsEchartsController.java | 78 +++++ .../web/SalaryStatisticsItemController.java | 1 - .../SalaryStatisticsEchartsWrapper.java | 51 +++ .../impl/SalaryAcctCalculateServiceImpl.java | 2 +- .../impl/SalaryAcctResultServiceImpl.java | 38 ++- .../SalaryComparisonResultServiceImpl.java | 11 +- 13 files changed, 785 insertions(+), 27 deletions(-) create mode 100644 src/com/api/salary/web/SalaryStatisticsEchartsController.java create mode 100644 src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.java create mode 100644 src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.xml create mode 100644 src/com/engine/salary/report/entity/po/SalaryStatisticsEChartsSettingPO.java create mode 100644 src/com/engine/salary/report/service/SalaryStatisticsEchartsService.java create mode 100644 src/com/engine/salary/report/service/impl/SalaryStatisticsEchartsServiceImpl.java create mode 100644 src/com/engine/salary/report/web/SalaryStatisticsEchartsController.java create mode 100644 src/com/engine/salary/report/wrapper/SalaryStatisticsEchartsWrapper.java diff --git a/src/com/api/salary/web/SalaryStatisticsEchartsController.java b/src/com/api/salary/web/SalaryStatisticsEchartsController.java new file mode 100644 index 000000000..991c25382 --- /dev/null +++ b/src/com/api/salary/web/SalaryStatisticsEchartsController.java @@ -0,0 +1,8 @@ +package com.api.salary.web; + +import javax.ws.rs.Path; + +@Path("/bs/hrmsalary/report/statistics/echarts") +public class SalaryStatisticsEchartsController extends com.engine.salary.report.web.SalaryStatisticsEchartsController{ + +} diff --git a/src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.java b/src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.java new file mode 100644 index 000000000..d9c4d7ada --- /dev/null +++ b/src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.java @@ -0,0 +1,72 @@ +package com.engine.salary.mapper.report; + +import com.engine.salary.report.entity.po.SalaryStatisticsEChartsSettingPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; + +public interface SalaryStatisticsEChartsSettingMapper { + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List listSome(SalaryStatisticsEChartsSettingPO SalaryStatisticsEChartsSettingPO); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + SalaryStatisticsEChartsSettingPO getById(Long id); + + /** + * 新增,忽略null字段 + * + * @param SalaryStatisticsEChartsSettingPO 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(SalaryStatisticsEChartsSettingPO SalaryStatisticsEChartsSettingPO); + + /** + * 修改,修改所有字段 + * + * @param SalaryStatisticsEChartsSettingPO 修改的记录 + * @return 返回影响行数 + */ + int update(SalaryStatisticsEChartsSettingPO SalaryStatisticsEChartsSettingPO); + + /** + * 修改,忽略null字段 + * + * @param SalaryStatisticsEChartsSettingPO 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(SalaryStatisticsEChartsSettingPO SalaryStatisticsEChartsSettingPO); + + /** + * 删除记录 + * + * @param SalaryStatisticsEChartsSettingPO 待删除的记录 + * @return 返回影响行数 + */ + int delete(SalaryStatisticsEChartsSettingPO SalaryStatisticsEChartsSettingPO); + + /** + * 批量删除记录 + * @param ids 主键id集合 + */ + void deleteByIds(@Param("ids") Collection ids); + + void deleteByReportId(Long reportId); +} diff --git a/src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.xml b/src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.xml new file mode 100644 index 000000000..35c17deb4 --- /dev/null +++ b/src/com/engine/salary/mapper/report/SalaryStatisticsEChartsSettingMapper.xml @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + t + . + charts_type + , t.create_time + , t.creator + , t.delete_type + , t.dimension_range + , t.id + , t.item_col_sort_value + , t.item_col_value + , t.item_sort_value + , t.item_values + , t.report_id + , t.sort_num + , t.sort_type + , t.tenant_key + , t.update_time + + + + + + + + + + + + + + + INSERT INTO hrsa_salary_echarts_setting + + + + charts_type, + + + create_time, + + + creator, + + + delete_type, + + + dimension_range, + + + id, + + + item_col_sort_value, + + + item_col_value, + + + item_sort_value, + + + item_values, + + + report_id, + + + sort_num, + + + sort_type, + + + tenant_key, + + + update_time, + + + + + #{chartsType}, + + + #{createTime}, + + + #{creator}, + + + #{deleteType}, + + + #{dimensionRange}, + + + #{id}, + + + #{itemColSortValue}, + + + #{itemColValue}, + + + #{itemSortValue}, + + + #{itemValues}, + + + #{reportId}, + + + #{sortNum}, + + + #{sortType}, + + + #{tenantKey}, + + + #{updateTime}, + + + + + + + UPDATE hrsa_salary_echarts_setting + + charts_type=#{chartsType}, + create_time=#{createTime}, + creator=#{creator}, + delete_type=#{deleteType}, + dimension_range=#{dimensionRange}, + item_col_sort_value=#{itemColSortValue}, + item_col_value=#{itemColValue}, + item_sort_value=#{itemSortValue}, + item_values=#{itemValues}, + report_id=#{reportId}, + sort_num=#{sortNum}, + sort_type=#{sortType}, + tenant_key=#{tenantKey}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_salary_echarts_setting + + + charts_type=#{chartsType}, + + + create_time=#{createTime}, + + + creator=#{creator}, + + + delete_type=#{deleteType}, + + + dimension_range=#{dimensionRange}, + + + item_col_sort_value=#{itemColSortValue}, + + + item_col_value=#{itemColValue}, + + + item_sort_value=#{itemSortValue}, + + + item_values=#{itemValues}, + + + report_id=#{reportId}, + + + sort_num=#{sortNum}, + + + sort_type=#{sortType}, + + + tenant_key=#{tenantKey}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_salary_echarts_setting + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + UPDATE hrsa_salary_echarts_setting + SET delete_type = 1 + WHERE delete_type = 0 + AND id IN + + #{id} + + + + + UPDATE hrsa_salary_echarts_setting + SET delete_type=1 + WHERE report_id = #{reportId} + AND delete_type = 0 + + + + \ No newline at end of file diff --git a/src/com/engine/salary/report/entity/po/SalaryStatisticsEChartsSettingPO.java b/src/com/engine/salary/report/entity/po/SalaryStatisticsEChartsSettingPO.java new file mode 100644 index 000000000..d41e84287 --- /dev/null +++ b/src/com/engine/salary/report/entity/po/SalaryStatisticsEChartsSettingPO.java @@ -0,0 +1,76 @@ +package com.engine.salary.report.entity.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Description: 薪酬统计图表 + * @Author: wangxiangzhong + * @Date: 2023/1/31 15:25 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +//hrsa_salary_echarts_setting// +public class SalaryStatisticsEChartsSettingPO { + + //分析图配置表id + private Long id; + + //报表id + private Long reportId; + + //报表类型 + private Integer chartsType; + + //统计项目 + private String itemValues; + + //统计列 + private String itemColValue; + + //维度统计范围 + private Integer dimensionRange; + + //排序统计项目 + private String itemSortValue; + + //排序列 + private String itemColSortValue; + + //排序类型 + private Integer sortType; + + //排序取数值 + private Integer sortNum; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 创建人 + */ + private Long creator; + + /** + * 是否已删除。0:未删除、1:已删除 + */ + private Integer deleteType; + + /** + * 租户ID + */ + private String tenantKey; +} diff --git a/src/com/engine/salary/report/service/SalaryStatisticsEchartsService.java b/src/com/engine/salary/report/service/SalaryStatisticsEchartsService.java new file mode 100644 index 000000000..d819230b2 --- /dev/null +++ b/src/com/engine/salary/report/service/SalaryStatisticsEchartsService.java @@ -0,0 +1,37 @@ +package com.engine.salary.report.service; + +import com.engine.salary.report.entity.dto.SalaryStatisticsEchartsDTO; + +/** + * 薪酬统计图表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +public interface SalaryStatisticsEchartsService { + + /** + * 分析图数据展示范围设置保存 + * + * @param saveParam + * @return + */ + String saveRangeSetting(SalaryStatisticsEchartsDTO saveParam); + + /** + * 分析图数据展示范围设置删除 + * + * @param reportId + * @return + */ + String deleteRangeSetting(Long reportId); + + /** + * 分析图数据展示范围设置查询 + * + * @return + */ + SalaryStatisticsEchartsDTO queryRangeSetting(SalaryStatisticsEchartsDTO param); +} diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsEchartsServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsEchartsServiceImpl.java new file mode 100644 index 000000000..6828d2899 --- /dev/null +++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsEchartsServiceImpl.java @@ -0,0 +1,104 @@ +package com.engine.salary.report.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.engine.core.impl.Service; +import com.engine.salary.constant.SalaryDefaultTenantConstant; +import com.engine.salary.enums.sicategory.DeleteTypeEnum; +import com.engine.salary.mapper.report.SalaryStatisticsEChartsSettingMapper; +import com.engine.salary.report.entity.dto.SalaryStatisticsEchartsDTO; +import com.engine.salary.report.entity.po.SalaryStatisticsEChartsSettingPO; +import com.engine.salary.report.service.SalaryStatisticsEchartsService; +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.lang3.StringUtils; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 薪酬统计图表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +public class SalaryStatisticsEchartsServiceImpl extends Service implements SalaryStatisticsEchartsService { + + private SalaryStatisticsEChartsSettingMapper getSalaryStatisticsDimensionMapper() { + return MapperProxyFactory.getProxy(SalaryStatisticsEChartsSettingMapper.class); + } + @Override + public String saveRangeSetting(SalaryStatisticsEchartsDTO saveParam) { + SalaryAssert.notNull(saveParam.getReportId(), SalaryI18nUtil.getI18nLabel( 152562, "报表id不能为空")); + SalaryAssert.notNull(saveParam.getChartsType(), SalaryI18nUtil.getI18nLabel( 177912, "报表类型不能为空")); + + SalaryStatisticsEChartsSettingPO salaryStatisticsEChartsSettingQue = null; + List pos = getSalaryStatisticsDimensionMapper().listSome(SalaryStatisticsEChartsSettingPO.builder().reportId(saveParam.getReportId()).chartsType(saveParam.getChartsType()).build()); + if(CollectionUtils.isNotEmpty(pos)){ + salaryStatisticsEChartsSettingQue = pos.get(0); + } + + if (salaryStatisticsEChartsSettingQue != null) { + getSalaryStatisticsDimensionMapper().delete(salaryStatisticsEChartsSettingQue); + } + Date now = new Date(); + SalaryStatisticsEChartsSettingPO salaryStatisticsEChartsSetting = SalaryStatisticsEChartsSettingPO.builder() + .id(IdGenerator.generate()) + .reportId(saveParam.getReportId()) + .chartsType(saveParam.getChartsType()) + .itemValues(JSONArray.toJSONString(saveParam.getItemValues())) + .itemColValue(saveParam.getItemColValue()) + .dimensionRange(Objects.isNull(saveParam.getDimensionRange()) ? 0 : saveParam.getDimensionRange()) + .itemSortValue(saveParam.getItemSortValue()) + .itemColSortValue(saveParam.getItemColSortValue()) + .sortType(saveParam.getSortType()) + .sortNum(saveParam.getSortNum()) + .createTime(now) + .updateTime(now) + .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) + .creator((long)user.getUID()) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) + .build(); + getSalaryStatisticsDimensionMapper().insertIgnoreNull(salaryStatisticsEChartsSetting); + return StringUtils.EMPTY; + } + + @Override + public String deleteRangeSetting(Long reportId) { + + getSalaryStatisticsDimensionMapper().deleteByReportId(reportId); + + return StringUtils.EMPTY; + } + + @Override + public SalaryStatisticsEchartsDTO queryRangeSetting(SalaryStatisticsEchartsDTO resp) { + + + SalaryStatisticsEChartsSettingPO salaryStatisticsEChartsSetting = null; + List pos = getSalaryStatisticsDimensionMapper().listSome(SalaryStatisticsEChartsSettingPO.builder().reportId(resp.getReportId()).chartsType(resp.getChartsType()).build()); + if(CollectionUtils.isNotEmpty(pos)){ + salaryStatisticsEChartsSetting = pos.get(0); + } + + if (salaryStatisticsEChartsSetting != null) { + resp.setId(salaryStatisticsEChartsSetting.getId()); + resp.setReportId(salaryStatisticsEChartsSetting.getReportId()); + resp.setChartsType(salaryStatisticsEChartsSetting.getChartsType()); + resp.setDimensionRange(salaryStatisticsEChartsSetting.getDimensionRange()); + resp.setItemValues(JSONArray.parseArray(salaryStatisticsEChartsSetting.getItemValues(), String.class)); + resp.setSortNum(salaryStatisticsEChartsSetting.getSortNum()); + resp.setSortType(salaryStatisticsEChartsSetting.getSortType()); + resp.setItemColValue(salaryStatisticsEChartsSetting.getItemColValue()); + resp.setItemSortValue(salaryStatisticsEChartsSetting.getItemSortValue()); + resp.setItemColSortValue(salaryStatisticsEChartsSetting.getItemColSortValue()); + return resp; + } + return resp; + } +} diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java index d1ab36680..c7c115e2d 100644 --- a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java +++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java @@ -108,14 +108,14 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary @Override public List list() { - Boolean needAuth = getTaxAgentService(user).isNeedAuth((long)user.getUID()); - if(needAuth){ + Boolean needAuth = getTaxAgentService(user).isNeedAuth((long) user.getUID()); + if (needAuth) { Boolean adminEnable = getTaxAgentService(user).isAdminEnable((long) user.getUID()); - if(!adminEnable){ + if (!adminEnable) { return new ArrayList<>(); } } - + return getSalaryStatisticsReportMapper().listSome(SalaryStatisticsReportPO.builder().build()); } @@ -325,7 +325,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary allList.addAll(list); allList.addAll(lastList); allList.addAll(sameList); - Set salaryAcctEmployeeIds = allList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toSet()); + List salaryAcctEmployeeIds = allList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); List salaryAcctResultValues = getSalaryAcctResultService(user).listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); // Map> salaryAcctResultValueMap = SalaryEntityUtil.convert2Map(); Map> salaryAcctEmpResultMap = SalaryEntityUtil.group2Map(salaryAcctResultValues, SalaryAcctResultPO::getSalaryAcctEmpId); @@ -400,8 +400,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary } else if (SalaryStatisticsDimensionTypeEnum.RATION_GROUP_SPACING.getValue().equals(dimension.getDimType())) { return buildRationGroupSpacing4Records(dimension, data, salaryAcctResultValueMap); // 定量-单项式分组 - } - else if (SalaryStatisticsDimensionTypeEnum.RATION_GROUP_INDIVIDUAL.getValue().equals(dimension.getDimType())) { + } else if (SalaryStatisticsDimensionTypeEnum.RATION_GROUP_INDIVIDUAL.getValue().equals(dimension.getDimType())) { return buildRationGroupIndividual4Records(dimension, data, salaryAcctResultValueMap); } return new PageInfo<>(); diff --git a/src/com/engine/salary/report/web/SalaryStatisticsEchartsController.java b/src/com/engine/salary/report/web/SalaryStatisticsEchartsController.java new file mode 100644 index 000000000..08bce611e --- /dev/null +++ b/src/com/engine/salary/report/web/SalaryStatisticsEchartsController.java @@ -0,0 +1,78 @@ +package com.engine.salary.report.web; + +import com.engine.common.util.ServiceUtil; +import com.engine.salary.report.entity.dto.SalaryStatisticsEchartsDTO; +import com.engine.salary.report.wrapper.SalaryStatisticsEchartsWrapper; +import com.engine.salary.util.ResponseResult; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.*; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; + +/** + * 薪酬统计图表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +public class SalaryStatisticsEchartsController { + + private SalaryStatisticsEchartsWrapper getSalaryStatisticsEchartsWrapper(User user) { + return ServiceUtil.getService(SalaryStatisticsEchartsWrapper.class, user); + } + /** + * 分析图数据展示范围设置保存 + * + * @param saveParam + * @return + */ + @POST + @Path("/saveRangeSetting") + @Produces(MediaType.APPLICATION_JSON) + public String saveRangeSetting(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryStatisticsEchartsDTO saveParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryStatisticsEchartsWrapper(user)::saveRangeSetting, saveParam); + } + + + /** + * 分析图数据展示范围设置删除 + * + * @param reportId + * @return + */ + @GET + @Path("/deleteRangeSetting") + @Produces(MediaType.APPLICATION_JSON) + public String deleteRangeSetting(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "reportId")Long reportId) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryStatisticsEchartsWrapper(user)::deleteRangeSetting, reportId); + } + + /** + * 分析图数据展示范围设置查询 + * + * @param reportId + * @param chartsType + * @return + */ + @GET + @Path("/queryRangeSetting") + @Produces(MediaType.APPLICATION_JSON) + public String deleteRangeSetting(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "reportId")Long reportId, @QueryParam(value = "chartsType")Integer chartsType) { + User user = HrmUserVarify.getUser(request, response); + SalaryStatisticsEchartsDTO resp = SalaryStatisticsEchartsDTO.builder() + .reportId(reportId) + .chartsType(chartsType) + .build(); + return new ResponseResult(user).run(getSalaryStatisticsEchartsWrapper(user)::queryRangeSetting, resp); + } + +} diff --git a/src/com/engine/salary/report/web/SalaryStatisticsItemController.java b/src/com/engine/salary/report/web/SalaryStatisticsItemController.java index 86258d8f5..81384cffe 100644 --- a/src/com/engine/salary/report/web/SalaryStatisticsItemController.java +++ b/src/com/engine/salary/report/web/SalaryStatisticsItemController.java @@ -34,7 +34,6 @@ public class SalaryStatisticsItemController { * @param id * @return */ - @GET @Path("/getForm") @Produces(MediaType.APPLICATION_JSON) diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsEchartsWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsEchartsWrapper.java new file mode 100644 index 000000000..a29a26006 --- /dev/null +++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsEchartsWrapper.java @@ -0,0 +1,51 @@ +package com.engine.salary.report.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.salary.report.entity.dto.SalaryStatisticsEchartsDTO; +import com.engine.salary.report.service.SalaryStatisticsEchartsService; +import com.engine.salary.report.service.impl.SalaryStatisticsEchartsServiceImpl; +import weaver.hrm.User; + +/** + * 薪酬统计图表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +public class SalaryStatisticsEchartsWrapper extends Service { + + private SalaryStatisticsEchartsService getSalaryStatisticsEchartsService(User user) { + return ServiceUtil.getService(SalaryStatisticsEchartsServiceImpl.class, user); + } + /** + * 分析图数据展示范围设置保存 + * + * @param saveParam + * @return + */ + public String saveRangeSetting(SalaryStatisticsEchartsDTO saveParam) { + return getSalaryStatisticsEchartsService(user).saveRangeSetting(saveParam); + } + + /** + * 分析图数据展示范围设置删除 + * + * @param reportId + * @return + */ + public String deleteRangeSetting(Long reportId) { + return getSalaryStatisticsEchartsService(user).deleteRangeSetting(reportId); + } + + /** + * 分析图数据展示范围设置查询 + * + * @return + */ + public SalaryStatisticsEchartsDTO queryRangeSetting(SalaryStatisticsEchartsDTO param) { + return getSalaryStatisticsEchartsService(user).queryRangeSetting(param); + } +} diff --git a/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java index 7ad03955c..043958a12 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java @@ -132,7 +132,7 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc // 7、查询考勤数据 List attendQuoteDataDTOS = getAttendQuoteDataService(user).getAttendQuoteData(salarySobCycleDTO.getSalaryMonth(), salarySobCycleDTO.getSalarySobId(), employeeIds); // 8、查询薪资核算人员的薪资核算结果 - Set salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctCalculateBO.getSalaryAcctEmployeePOS(), SalaryAcctEmployeePO::getId); + List salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctCalculateBO.getSalaryAcctEmployeePOS(), SalaryAcctEmployeePO::getId,Collectors.toList()); List salaryAcctResultPOS = getSalaryAcctResultService(user).listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); // 薪资回算时回算前的核算结果 (没有回算项) diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 08308f804..cc8ff416f 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -182,7 +182,11 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe if (CollectionUtils.isEmpty(salaryAcctEmployeeIds)) { return Collections.emptyList(); } - List salaryAcctResultPOS = getSalaryAcctResultMapper().listSome(SalaryAcctResultPO.builder().salaryAcctEmpIds(salaryAcctEmployeeIds).build()); + List> partition = Lists.partition((List) salaryAcctEmployeeIds, 2000); + List salaryAcctResultPOS = new ArrayList<>(); + partition.forEach(empIds -> { + salaryAcctResultPOS.addAll(getSalaryAcctResultMapper().listSome(SalaryAcctResultPO.builder().salaryAcctEmpIds(empIds).build())); + }); // 解密 encryptUtil.decryptList(salaryAcctResultPOS, SalaryAcctResultPO.class); return salaryAcctResultPOS; @@ -193,7 +197,11 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe if (CollectionUtils.isEmpty(salaryAcctRecordIds) || CollectionUtils.isEmpty(employeeIds)) { return Collections.emptyList(); } - List salaryAcctResultPOS = getSalaryAcctResultMapper().listSome(SalaryAcctResultPO.builder().salaryAcctRecordIds(salaryAcctRecordIds).employeeIds(employeeIds).build()); + List> partition = Lists.partition((List) employeeIds, 2000); + List salaryAcctResultPOS = new ArrayList<>(); + partition.forEach(empIds -> { + salaryAcctResultPOS.addAll(getSalaryAcctResultMapper().listSome(SalaryAcctResultPO.builder().salaryAcctRecordIds(salaryAcctRecordIds).employeeIds(empIds).build())); + }); encryptUtil.decryptList(salaryAcctResultPOS, SalaryAcctResultPO.class); return salaryAcctResultPOS; } @@ -237,16 +245,16 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe List salaryBackItemPOS = Collections.emptyList(); // key:账套中回算薪资项目的薪资项目id value:账套中回算薪资项目所对应的公式内容 Map salaryBackItemFormula = new HashMap<>(); - if(isBackCal){ + if (isBackCal) { salarySobBackItemPOList = getSalarySobBackItemService(user).listBySalarySobId(byId.getSalarySobId()); Set salarySobBackItemIds = SalaryEntityUtil.properties(salarySobBackItemPOList, SalarySobBackItemPO::getSalaryItemId); salaryBackItemPOS = getSalaryItemService(user).listByIds(salarySobBackItemIds); // 查询薪资账套中已发补发的公式内容 List expressFormulas = getSalaryFormulaService(user).listExpressFormula(SalaryEntityUtil.properties(salarySobBackItemPOList, SalarySobBackItemPO::getFormulaId)); Map expressFormulaMap = SalaryEntityUtil.convert2Map(expressFormulas, ExpressFormula::getId, ExpressFormula::getFormula); - for(SalarySobBackItemPO salarySobBackItemPO:salarySobBackItemPOList){ + for (SalarySobBackItemPO salarySobBackItemPO : salarySobBackItemPOList) { String exp = Objects.equals(expressFormulaMap.get(salarySobBackItemPO.getFormulaId()), 0) ? "输入" : expressFormulaMap.get(salarySobBackItemPO.getFormulaId()); - salaryBackItemFormula.put(salarySobBackItemPO.getSalaryItemId(),exp); + salaryBackItemFormula.put(salarySobBackItemPO.getSalaryItemId(), exp); } } @@ -299,7 +307,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe Set salaryItemIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getSalaryItemId); List salaryItemPOS = getSalaryItemService(user).listByIds(salaryItemIds); // 查询薪资核算结果 - Set salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId); + List salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId,Collectors.toList()); List salaryAcctResultPOS = listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); Map map = new HashMap<>(); @@ -356,7 +364,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe } List salaryItemPOS = getSalaryItemService(user).listByIds(salaryItemIds); // 查询薪资核算结果 - Set salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId); + List salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId,Collectors.toList()); List salaryAcctResultPOS = listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); // 查询人员信息 List employeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getEmployeeId, Collectors.toList()); @@ -379,7 +387,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe Set formulaIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getFormulaId); // 获取回算公式 if (isBackCalc) { - formulaIds.addAll(salarySobBackItemPOList.stream().map(SalarySobBackItemPO :: getFormulaId ).collect(Collectors.toList())); + formulaIds.addAll(salarySobBackItemPOList.stream().map(SalarySobBackItemPO::getFormulaId).collect(Collectors.toList())); } List expressFormulas = getSalaryFormulaService(user).listExpressFormula(formulaIds); Map expressFormulaMap = SalaryEntityUtil.convert2Map(expressFormulas, ExpressFormula::getId, ExpressFormula::getFormula); @@ -437,7 +445,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listByRecordIdsAndEmpIdAndTaxAgentId(salaryAcctRecordIds, salaryAcctEmployeePO.getEmployeeId(), salaryAcctEmployeePO.getTaxAgentId()); } // 查询薪资核算人员的薪资核算结果 - Set salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId); + List salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId,Collectors.toList()); List salaryAcctResultPOS = listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); // 查询薪资核算人员所有合并计税的薪资核算记录所用的账套 Set salarySobIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getSalarySobId); @@ -512,7 +520,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe // 查询原来的薪资核算结果 List salaryAcctResultPOSOld = getSalaryAcctResultMapper().listSome(SalaryAcctResultPO.builder().salaryAcctEmpId(saveParam.getSalaryAcctEmpId()).build()); // 解密 - encryptUtil.decryptList(salaryAcctResultPOSOld,SalaryAcctResultPO.class); + encryptUtil.decryptList(salaryAcctResultPOSOld, SalaryAcctResultPO.class); // 保存参数转换成薪资核算结果po List salaryAcctResultPOS = SalaryAcctResultBO.convert2PO(salaryAcctResultPOSOld, saveParam, salaryAcctEmployeePO, (long) user.getUID()); @@ -615,7 +623,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe } // 回算薪资项目 List salarySobBackItems = Collections.emptyList(); - if(Objects.equals(salaryAcctRecordPO.getBackCalcStatus(), 1)){ + if (Objects.equals(salaryAcctRecordPO.getBackCalcStatus(), 1)) { salarySobBackItems = getSalarySobBackItemService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId()); } // 4、查询当前租户的所有薪资项目 @@ -642,7 +650,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe // 8、查询公式详情 Set formulaIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getFormulaId); formulaIds.addAll(SalaryEntityUtil.properties(salaryItemPOS, SalaryItemPO::getFormulaId)); - formulaIds.addAll(SalaryEntityUtil.properties(salarySobBackItems,SalarySobBackItemPO::getFormulaId)); + formulaIds.addAll(SalaryEntityUtil.properties(salarySobBackItems, SalarySobBackItemPO::getFormulaId)); List expressFormulas = getSalaryFormulaService(user).listExpressFormula(formulaIds); // 本次运算的回算薪资项目所涉及的变量 Set issuedFieldIds = new HashSet<>(); @@ -825,7 +833,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe return; } // 查询薪资核算结果 - Set salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployees, SalaryAcctEmployeePO::getId); + List salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployees, SalaryAcctEmployeePO::getId,Collectors.toList()); List salaryAcctResultValues = this.listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); Map salaryAcctResultValueMap = SalaryEntityUtil.convert2Map(salaryAcctResultValues, SalaryAcctResultPO::getSalaryAcctEmpId); // 值可以锁定的薪资项目 @@ -860,11 +868,11 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe @Override public List listBySalaryAcctRecordIdsAndSalaryItemIds(Collection salaryAcctRecordIds, Collection salaryItemIds) { - if (CollectionUtils.isEmpty(salaryAcctRecordIds) || CollectionUtils.isEmpty(salaryItemIds) ) { + if (CollectionUtils.isEmpty(salaryAcctRecordIds) || CollectionUtils.isEmpty(salaryItemIds)) { return Collections.emptyList(); } List list = getSalaryAcctResultMapper().listSome(SalaryAcctResultPO.builder().salaryAcctRecordIds(salaryAcctRecordIds).salaryItemIds(salaryItemIds).build()); - return encryptUtil.decryptList(list,SalaryAcctResultPO.class); + return encryptUtil.decryptList(list, SalaryAcctResultPO.class); } diff --git a/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java index 6b364347c..10349c244 100644 --- a/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java @@ -109,7 +109,12 @@ public class SalaryComparisonResultServiceImpl extends Service implements Salary if (CollectionUtils.isEmpty(salaryAcctEmployeeIds)) { return Collections.emptyList(); } - List excelAcctResultPOS = getExcelAcctResultMapper().listSome(ExcelAcctResultPO.builder().salaryAcctEmpIds(salaryAcctEmployeeIds).build()); + + List excelAcctResultPOS = new ArrayList<>(); + List> partition = Lists.partition((List) salaryAcctEmployeeIds, 2000); + partition.forEach(empIds -> { + excelAcctResultPOS.addAll(getExcelAcctResultMapper().listSome(ExcelAcctResultPO.builder().salaryAcctEmpIds(empIds).build())); + }); return encryptUtil.decryptList(excelAcctResultPOS, ExcelAcctResultPO.class); } @@ -159,7 +164,7 @@ public class SalaryComparisonResultServiceImpl extends Service implements Salary List salaryItemPOS = getSalaryItemService(user).listByIds(salaryItemIds); // 转换成聚合dto SalarySobItemAggregateBO salarySobItemAggregateBO = new SalarySobItemAggregateBO(salarySobPO, salarySobEmpFieldPOS, - salarySobItemGroupPOS, salarySobItemPOS, expressFormulas, salaryItemPOS,Collections.emptyList(),Collections.emptyList()); + salarySobItemGroupPOS, salarySobItemPOS, expressFormulas, salaryItemPOS, Collections.emptyList(), Collections.emptyList()); SalarySobItemAggregateDTO salarySobItemAggregateDTO = salarySobItemAggregateBO.convert2AggregateDTO(); // 薪资核算人员 @@ -183,7 +188,7 @@ public class SalaryComparisonResultServiceImpl extends Service implements Salary excelAcctResultPOS = listBySalaryAcctRecordId(queryParam.getSalaryAcctRecordId()); } else { // 薪资核算人员id - Set salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId); + List salaryAcctEmployeeIds = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getId, Collectors.toList()); // 查询薪资核算结果 salaryAcctResultPOS = getSalaryAcctResultService(user).listBySalaryAcctEmployeeIds(salaryAcctEmployeeIds); // 查询线下导入结果