领悦temp

This commit is contained in:
Harryxzy 2024-08-30 17:44:26 +08:00
parent ceb0ebb1f7
commit 9c055fe693
18 changed files with 307 additions and 87 deletions

View File

@ -1,6 +1,7 @@
CREATE TABLE hrsa_ly_salary_report (
id bigint NOT NULL,
subcompany_id bigint NULL DEFAULT NULL,
znxmlx varchar(255),
salary_month datetime NOT NULL,
ffgsqc varchar(255) ,
fycdgsqc varchar(255) ,
@ -43,6 +44,7 @@ CREATE TABLE hrsa_ly_social_report (
id bigint NOT NULL,
subcompany_id bigint NULL DEFAULT NULL,
salary_month datetime NOT NULL ,
znxmlx varchar(255) NULL DEFAULT NULL,
gmgsqc varchar(255) NULL DEFAULT NULL,
fycdgsqc varchar(255) NULL DEFAULT NULL,
znxmmc varchar(255) NULL DEFAULT NULL ,

View File

@ -0,0 +1,39 @@
package com.engine.salary.entity.ly.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Harryxzy
* @ClassName LyPzPreview
* @date 2024/08/30 14:33
* @description
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LyPzPreview {
// 摘要
private String zy;
// 会计科目
private String kjkm;
// 借方金额
private String jfValue;
// 贷方金额
private String dfValue;
private String fzhsXmqs;
private String fzhsFwlb;
private String fzhsSllb;
private String fzhsKs;
}

View File

@ -1,34 +0,0 @@
package com.engine.salary.entity.ly.po;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Harryxzy
* @ClassName LyKjkmTest
* @date 2024/08/27 14:01
* @description 会计科目 临时
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LyKjkmTest {
// 会计科目id
private String kjkmId;
// 会计科目名称
private String kjkmName;
// 会计科目方向
private String kjkmDirection;
private String kjkmSalaryItem;
// 会计科目薪资项目公式
private ExpressFormula kjkmSalaryItemFormula;
}

View File

@ -30,6 +30,10 @@ public class LySalaryReportPO {
private Long subcompanyId;
// 职能项目类型 是职能还是项目
@Alias("职能项目类型")
private String znxmlx;
/**
* 发放公司全称
*/
@ -68,7 +72,7 @@ public class LySalaryReportPO {
/**
* 本月应发_季度/年度绩效
*/
@Alias("本月应发_季度/年度绩效")
@Alias("本月应发_季度年度绩效")
private String byyfJdndjx;
/**

View File

@ -23,6 +23,11 @@ public class LySocialReportPO {
private Long id;
private Long subcompanyId;
/**
* 职能项目类型
*/
private String znxmlx;
/**
* 薪资所属月
*/

View File

@ -0,0 +1,41 @@
package com.engine.salary.entity.ly.po;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Collection;
/**
* @author Harryxzy
* @ClassName UfKjkm
* @date 2024/08/30 11:14
* @description
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UfKjkmPO {
private Integer fx;
private String fzhs;
private Integer id;
private String kmbm;
private String kmmc;
private Integer pzlx;
private String xzxm;
//主键id集合
private Collection<Long> ids;
// 会计科目薪资项目公式
private ExpressFormula kjkmSalaryItemFormula;
// 借贷金额
private String jdje;
}

View File

@ -10,8 +10,8 @@ import java.util.Arrays;
*/
public enum LyJDDirectionTypeEnum {
DEBIT(1, "借方", 0),
CREDIT(2, "贷方", 0);
DEBIT(0, "借方", 0),
CREDIT(1, "贷方", 0);
private int value;

View File

@ -9,12 +9,12 @@ import java.util.Arrays;
* @description 领悦-凭证类型
*/
public enum LyPZTypeEnum {
XZJTPZ(1, "薪资计提凭证", 0),
XZFFPZ(2, "薪资发放凭证", 0),
SBJTPZ(3, "社保计提凭证", 0),
XZJTPZ(0, "薪资计提凭证", 0),
XZFFPZ(3, "薪资发放凭证", 0),
SBJTPZ(1, "社保计提凭证", 0),
SBFFPZ(4, "社保发放凭证", 0),
GJJJTPZ(5, "公积金计提凭证", 0),
GJJFFPZ(6, "公积金发放凭证", 0);
GJJJTPZ(2, "公积金计提凭证", 0),
GJJFFPZ(5, "公积金发放凭证", 0);
private int value;

View File

@ -217,6 +217,9 @@
<if test="subcompanyId != null">
subcompany_id,
</if>
<if test="znxmlx != null">
znxmlx,
</if>
<if test="salaryMonth != null">
salary_month,
</if>
@ -321,6 +324,9 @@
<if test="subcompanyId != null" >
#{subcompanyId},
</if>
<if test="znxmlx != null">
#{znxmlx},
</if>
<if test="salaryMonth != null">
#{salaryMonth},
</if>

View File

@ -221,6 +221,9 @@
<if test="subcompanyId != null">
subcompany_id,
</if>
<if test="znxmlx != null">
znxmlx,
</if>
<if test="salaryMonth != null">
salary_month,
</if>
@ -328,6 +331,9 @@
<if test="subcompanyId != null" >
#{subcompanyId},
</if>
<if test="znxmlx != null" >
#{znxmlx},
</if>
<if test="salaryMonth != null" >
#{salaryMonth},
</if>

View File

@ -0,0 +1,37 @@
package com.engine.salary.mapper.ly;
import com.engine.salary.entity.ly.po.UfKjkmPO;
import java.util.List;
/**
* @author Harryxzy
* @ClassName UfKjkmMapper
* @date 2024/08/30 11:16
* @description
*/
public interface UfKjkmMapper {
/**
* 查询所有记录
*
* @return 返回集合没有返回空List
*/
List<UfKjkmPO> listAll();
/**
* 条件查询
*
* @return 返回集合没有返回空List
*/
List<UfKjkmPO> listSome(UfKjkmPO ufKjkm);
/**
* 根据主键查询
*
* @param id 主键
* @return 返回记录没有返回null
*/
UfKjkmPO getById(Integer id);
}

View File

@ -0,0 +1,77 @@
<?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.ly.UfKjkmMapper">
<resultMap id="BaseResultMap" type="com.engine.salary.entity.ly.po.UfKjkmPO">
<result column="fx" property="fx" />
<result column="fzhs" property="fzhs" />
<result column="id" property="id" />
<result column="kmbm" property="kmbm" />
<result column="kmmc" property="kmmc" />
<result column="pzlx" property="pzlx" />
<result column="xzxm" property="xzxm" />
</resultMap>
<!-- 表字段 -->
<sql id="baseColumns">
t.fx
, t.fzhs
, t.id
, t.kmbm
, t.kmmc
, t.pzlx
, t.xzxm
</sql>
<!-- 查询全部 -->
<select id="listAll" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns" />
FROM uf_kjkm t
</select>
<!-- 根据主键获取单条记录 -->
<select id="getById" resultMap="BaseResultMap" parameterType="Integer">
SELECT
<include refid="baseColumns" />
FROM uf_kjkm t
WHERE id = #{id}
</select>
<!-- 条件查询 -->
<select id="listSome" resultMap="BaseResultMap" parameterType="com.engine.salary.entity.ly.po.UfKjkmPO">
SELECT
<include refid="baseColumns" />
FROM uf_kjkm t
WHERE 1 = 1
<if test="fx != null">
AND fx = #{fx}
</if>
<if test="fzhs != null">
AND fzhs = #{fzhs}
</if>
<if test="kmbm != null">
AND kmbm = #{kmbm}
</if>
<if test="kmmc != null">
AND kmmc = #{kmmc}
</if>
<if test="pzlx != null">
AND pzlx = #{pzlx}
</if>
<if test="xzxm != null">
AND xzxm = #{xzxm}
</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>
</mapper>

View File

@ -2,6 +2,8 @@ package com.engine.salary.service;
import com.engine.salary.entity.ly.param.LyPZGenParam;
import java.util.Map;
/**
* @author Harryxzy
* @ClassName LyPZService
@ -10,5 +12,5 @@ import com.engine.salary.entity.ly.param.LyPZGenParam;
*/
public interface LyPZService {
void genPZ(LyPZGenParam queryParam);
Map<String, Object> genPZ(LyPZGenParam queryParam);
}

View File

@ -1,27 +1,31 @@
package com.engine.salary.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.ly.dto.LyPzPreview;
import com.engine.salary.entity.ly.param.LyPZGenParam;
import com.engine.salary.entity.ly.param.LySalaryReportQueryParam;
import com.engine.salary.entity.ly.po.LyKjkmTest;
import com.engine.salary.entity.ly.po.LySalaryReportPO;
import com.engine.salary.entity.ly.po.LySocialReportPO;
import com.engine.salary.entity.ly.po.UfKjkmPO;
import com.engine.salary.entity.salaryformula.ExpressFormula;
import com.engine.salary.entity.salaryformula.po.FormulaVar;
import com.engine.salary.enums.ly.LyJDDirectionTypeEnum;
import com.engine.salary.enums.ly.LyPZTypeEnum;
import com.engine.salary.enums.salaryformula.ReferenceTypeEnum;
import com.engine.salary.formlua.entity.parameter.DataType;
import com.engine.salary.formlua.entity.standard.ExcelResult;
import com.engine.salary.mapper.ly.UfKjkmMapper;
import com.engine.salary.service.FormulaRunService;
import com.engine.salary.service.LyPZService;
import com.engine.salary.service.LySalaryReportService;
import com.engine.salary.service.LySocialReportService;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.math.NumberUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
@ -52,13 +56,17 @@ public class LyPZServiceImpl extends Service implements LyPZService {
return ServiceUtil.getService(FormulaRunServiceImpl.class, user);
}
private UfKjkmMapper getUfKjkmMapper() {
return MapperProxyFactory.getProxy(UfKjkmMapper.class);
}
@Override
public void genPZ(LyPZGenParam queryParam) {
public Map<String, Object> genPZ(LyPZGenParam queryParam) {
List<List<FormulaVar>> formulaVarsList = new ArrayList<>();
if (queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue()) || queryParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue())) {
// 是工资单凭证
Map<String, Object> resultMap = getLySalaryReportService(user).listSalaryReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).export(true).build());
Map<String, Object> resultMap = getLySalaryReportService(user).listSalaryReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).ffgsqc(queryParam.getFfgsqc()).export(true).build());
List<LySalaryReportPO> dataList = ((PageInfo<LySalaryReportPO>)resultMap.get("data")).getList();
// 将每一个结果转换成map的格式并作为变量存储
for (LySalaryReportPO po : dataList) {
@ -68,15 +76,18 @@ public class LyPZServiceImpl extends Service implements LyPZService {
FormulaVar build = FormulaVar.builder()
.fieldId(entry.getKey())
.content(Util.null2String(entry.getValue()))
.fieldType(DataType.STRING)
.fieldType(DataType.NUMBER)
.build();
if(entry.getKey().equals("ffgsqc") || entry.getKey().equals("fycdgsqc") || entry.getKey().equals("znxmmc")) {
build.setFieldType(DataType.STRING);
}
formulaVars.add(build);
}
formulaVarsList.add(formulaVars);
}
} else {
// 是社保公积金凭证
Map<String, Object> resultMap = getLySocialReportService(user).listSIReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).export(true).build());
Map<String, Object> resultMap = getLySocialReportService(user).listSIReport(LySalaryReportQueryParam.builder().salaryMonth(queryParam.getSalaryMonth()).ffgsqc(queryParam.getFfgsqc()).export(true).build());
List<LySocialReportPO> dataList = ((PageInfo<LySocialReportPO>)resultMap.get("data")).getList();
// 将每一个结果转换成map的格式并作为变量存储
for (LySocialReportPO po : dataList) {
@ -86,47 +97,35 @@ public class LyPZServiceImpl extends Service implements LyPZService {
FormulaVar build = FormulaVar.builder()
.fieldId(entry.getKey())
.content(Util.null2String(entry.getValue()))
.fieldType(DataType.STRING)
.fieldType(DataType.NUMBER)
.build();
if(entry.getKey().equals("ffgsqc") || entry.getKey().equals("fycdgsqc") || entry.getKey().equals("znxmmc")) {
build.setFieldType(DataType.STRING);
}
formulaVars.add(build);
}
formulaVarsList.add(formulaVars);
}
}
RecordSet rs = new RecordSet();
// 根据科目编码获取科会计科目全路径名称
// 获取所有科目编码信息
Map<String, String> kmbmInfoMap = new HashMap<>();
rs.execute("select kmbm,kmmc from uf_lytest");
while (rs.next()) {
kmbmInfoMap.put(rs.getString("kmbm"), rs.getString("kmmc"));
}
String fullNameKmgm = getFullPathKjkm("1234", kmbmInfoMap);
// 查询这个凭证对应所需的会计科目
rs.execute("select kmbm,kmmc,xzxm,fx from uf_lytest");
List<LyKjkmTest> kjkmList = new ArrayList<>();
while (rs.next()) {
String xzxm = rs.getString("xzxm");
// 获取当前凭证对应的所有会计科目信息
List<UfKjkmPO> ufKjkmList = getUfKjkmMapper().listSome(UfKjkmPO.builder().pzlx(queryParam.getPzlx()).build());
// 封装会计科目对应的公式
for(UfKjkmPO kjkm: ufKjkmList) {
ExpressFormula expressFormula = ExpressFormula.builder().name("t")
.referenceType(ReferenceTypeEnum.FORMULA.getValue())
.formula(xzxm)
.formulaRunScript(xzxm)
.formula(kjkm.getXzxm())
.formulaRunScript(kjkm.getXzxm())
.extendParam("{}")
.build();
kjkmList.add(LyKjkmTest.builder()
.kjkmId(rs.getString("kmbm"))
.kjkmName(rs.getString("kmmc"))
.kjkmDirection(rs.getString("fx"))
.kjkmSalaryItemFormula(expressFormula)
.build());
kjkm.setKjkmSalaryItemFormula(expressFormula);
}
Map<String, BigDecimal> kjkmValueMap = new HashMap<>();
for(List<FormulaVar> varList : formulaVarsList) {
// 每一条记录都需要执行一遍公式并把结果相加
for (LyKjkmTest kjkm : kjkmList) {
for (UfKjkmPO kjkm : ufKjkmList) {
// 给公式中的变量填入值
ExcelResult result = new ExcelResult();
try {
@ -143,11 +142,37 @@ public class LyPZServiceImpl extends Service implements LyPZService {
}
String resultStr = result.getData() == null ? "0" : result.getData().toString();
BigDecimal resultBigDecimal = NumberUtils.isCreatable(resultStr) ? new BigDecimal(resultStr) : BigDecimal.ZERO;
kjkmValueMap.put(kjkm.getKjkmId(), kjkmValueMap.getOrDefault(kjkm.getKjkmId(), new BigDecimal(0)).add(resultBigDecimal));
kjkmValueMap.put(kjkm.getKmbm(), kjkmValueMap.getOrDefault(kjkm.getKmbm(), new BigDecimal(0)).add(resultBigDecimal));
}
}
// 封装会计科目的摘要信息会计科目信息借贷金额薪资,过滤金额为0的会计科目
List<LyPzPreview> lyPzPreviewList = new ArrayList<>();
Map<String, String> kmbmInfoMap = new HashMap<>();
List<UfKjkmPO> allKjkm = getUfKjkmMapper().listAll();
allKjkm.forEach(po -> kmbmInfoMap.put(po.getKmbm(), po.getKmmc()));
for (UfKjkmPO kjkm : ufKjkmList) {
BigDecimal value = kjkmValueMap.getOrDefault(kjkm.getKmbm(), BigDecimal.ZERO);
LyPzPreview build = LyPzPreview.builder()
.zy("")
.kjkm(getFullPathKjkm(kjkm.getKmbm(), kmbmInfoMap))
.jfValue(kjkm.getFx().equals(LyJDDirectionTypeEnum.DEBIT.getValue()) ? "0.00" : value.toString())
.dfValue(kjkm.getFx().equals(LyJDDirectionTypeEnum.CREDIT.getValue()) ? "0.00" : value.toString())
.build();
lyPzPreviewList.add(build);
}
List<WeaTableColumn> columns = new ArrayList<>();
columns.add(new WeaTableColumn("100px", "摘要" , "zy"));
columns.add(new WeaTableColumn("100px", "会计科目" , "kjkm"));
columns.add(new WeaTableColumn("100px", "借方金额" , "jfValue"));
columns.add(new WeaTableColumn("100px", "贷方金额" , "dfValue"));
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("columns" , columns);
resultMap.put("data", lyPzPreviewList);
return resultMap;
// 所有的结果都算好了,封装凭证预览
System.out.println(kjkmValueMap);
// test 生成xml
@ -200,19 +225,19 @@ public class LyPZServiceImpl extends Service implements LyPZService {
int length = kmbm.length();
if (length == 4) {
// 是一级科目不需要拼接
return kmbmInfoMap.getOrDefault(kmbm, "");
return kmbm + "\\" + kmbmInfoMap.getOrDefault(kmbm, "");
} else if (length == 6) {
// 是二级科目先找一级科目
String firstKjkmbm = kmbm.substring(0, 4);
String firstKjkm = kmbmInfoMap.getOrDefault(firstKjkmbm, "");
return firstKjkm + "/" + kmbmInfoMap.getOrDefault(kmbm, "");
return kmbm + "\\" + firstKjkm + "\\" + kmbmInfoMap.getOrDefault(kmbm, "");
} else if (length == 8) {
// 是三级科目
String firstKjkmbm = kmbm.substring(0, 4);
String firstKjkm = kmbmInfoMap.getOrDefault(firstKjkmbm, "");
String secondKjkmbm = kmbm.substring(0, 6);
String secondKjkm = kmbmInfoMap.getOrDefault(secondKjkmbm, "");
return firstKjkm + "/" + secondKjkm + "/" +kmbmInfoMap.getOrDefault(kmbm, "");
return kmbm + "\\" + firstKjkm + "\\" + secondKjkm + "\\" +kmbmInfoMap.getOrDefault(kmbm, "");
} else {
return "科目编码格式错误!";
}

View File

@ -188,6 +188,11 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport
// 获取薪资项目id
List<Long> salaryItemIds = new ArrayList<>();
// 是职能还是项目
Long znxmlxItemId = getPropLongValue(baseBean, "lySalaryNCReport", "salary_znxmlx_item_id");
salaryItemIds.add(znxmlxItemId);
// 发放公司全称
Long ffgsqcItemId = getPropLongValue(baseBean, "lySalaryNCReport", "salary_ffgsqc_item_id");
salaryItemIds.add(ffgsqcItemId);
@ -258,7 +263,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport
+ "-split" + (map.get(fycdgsqcItemId.toString()) == null ? " " : map.get(fycdgsqcItemId.toString()).toString())
+ "-split" + (map.get(znxmmcItemId.toString()) == null ? " " : map.get(znxmmcItemId.toString()).toString()));
List<SalaryItemPO> numberItems = salaryItemList.stream().filter(item -> item.getDataType().equals(SalaryDataTypeEnum.NUMBER.getValue())).collect(Collectors.toList());
LinkedHashMap<String, Map<String, Object>> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, null);
LinkedHashMap<String, Map<String, Object>> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, znxmlxItemId);
// 排序 - 根据key排序
LinkedHashMap<String, Map<String, Object>> sortedMap = new LinkedHashMap<>();
@ -287,6 +292,7 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport
LySalaryReportPO build = LySalaryReportPO.builder()
.id(IdGenerator.generate())
.salaryMonth(salaryMonthDate)
.znxmlx(valueMap.getOrDefault(znxmlxItemId.toString(), "").toString())
.subcompanyId(Long.valueOf(valueMap.getOrDefault("subcompanyId","0").toString()))
.ffgsqc(ffgsqc)
.fycdgsqc(fycdgsqc)

View File

@ -182,6 +182,9 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport
// 获取薪资项目id
List<Long> salaryItemIds = new ArrayList<>();
// 职能项目类型
Long znxmlxItemId = getPropLongValue(baseBean, "lySalaryNCReport", "social_znxmlx_item_id");
salaryItemIds.add(znxmlxItemId);
// 购买公司全称
Long gmgsqcItemId = getPropLongValue(baseBean, "lySalaryNCReport", "social_gmgsqc_item_id");
salaryItemIds.add(gmgsqcItemId);
@ -253,7 +256,7 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport
+ "-split" + (map.get(fycdgsqcItemId.toString()) == null ? " " : map.get(fycdgsqcItemId.toString()).toString())
+ "-split" + (map.get(znxmmcItemId.toString()) == null ? " " : map.get(znxmmcItemId.toString()).toString()));
List<SalaryItemPO> numberItems = salaryItemList.stream().filter(item -> item.getDataType().equals(SalaryDataTypeEnum.NUMBER.getValue())).collect(Collectors.toList());
LinkedHashMap<String, Map<String, Object>> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, null);
LinkedHashMap<String, Map<String, Object>> resultMap = getSumResultByGroup(resultGroup, Collections.emptyList(), numberItems, znxmlxItemId);
// 排序 - 根据key排序
LinkedHashMap<String, Map<String, Object>> sortedMap = new LinkedHashMap<>();
@ -274,6 +277,7 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport
.subcompanyId(Long.valueOf(valueMap.getOrDefault("subcompanyId","0").toString()))
.ftempNum(Integer.valueOf(valueMap.getOrDefault("empNums", "0").toString()))
.salaryMonth(salaryMonthDate)
.znxmlx(valueMap.getOrDefault(znxmlxItemId.toString(), "").toString())
// .gmgsqc(valueMap.getOrDefault(gmgsqcItemId.toString(), "").toString())
.gmgsqc(gmgsqc)
.fycdgsqc(fycdgsqc)
@ -390,7 +394,7 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport
private LinkedHashMap<String, Map<String, Object>> getSumResultByGroup(Map<String, List<Map<String, Object>>> groupBy,
List<SalarySobItemPO> salarySobItemPOS,
List<SalaryItemPO> numberItems,
Long gmgsqcItemId) {
Long znxmlxItemId) {
LinkedHashMap<String, Map<String, Object>> result = new LinkedHashMap<>();
// 本次薪资核算所用的薪资账套下的薪资项目
Map<Long, SalarySobItemPO> salaryItemIdKeySalarySobItemPOMap = SalaryEntityUtil.convert2Map(salarySobItemPOS, SalarySobItemPO::getSalaryItemId);
@ -412,10 +416,10 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport
itemSum.put("userName", CollectionUtils.isEmpty(value) ? "" : value.get(0).get("userName"));
itemSum.put("employeeId", CollectionUtils.isEmpty(value) ? "" : value.get(0).get("employeeId"));
itemSum.put("subcompanyId", CollectionUtils.isEmpty(value) ? "" : value.get(0).get("subcompanyId") == null ? "0" : value.get(0).get("subcompanyId"));
if (gmgsqcItemId != null) {
if (znxmlxItemId != null) {
Map<String, Object> map = value.get(0);
String rylb = map.get(gmgsqcItemId.toString()) == null ? "" : map.get(gmgsqcItemId.toString()).toString();
itemSum.put(gmgsqcItemId.toString(), rylb);
String znxmlx = map.get(znxmlxItemId.toString()) == null ? "" : map.get(znxmlxItemId.toString()).toString();
itemSum.put(znxmlxItemId.toString(), znxmlx);
}
result.put(entrySet.getKey(), itemSum);

View File

@ -266,7 +266,7 @@ public class LySalaryController {
@Produces(MediaType.APPLICATION_JSON)
public String genAndPreveiwPZ(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyPZGenParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyPZGenParam, String>(user).run(getLySalaryWrapper(user)::genPZ, param);
return new ResponseResult<LyPZGenParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::genPZ, param);
}
//---------------------------------------------------------领悦生成凭证end--------------------------------------------

View File

@ -120,8 +120,8 @@ public class LySalaryWrapper extends Service {
return getLySocialReportService(user).exportSIReport(param);
}
public void genPZ(LyPZGenParam queryParam) {
getLyPZService(user).genPZ(queryParam);
public Map<String, Object> genPZ(LyPZGenParam queryParam) {
return getLyPZService(user).genPZ(queryParam);
}