领悦二开增加:

1、增加项目期数、房屋类别辅助核算固定值配置。
2、自动带出核算账簿信息
This commit is contained in:
Harryxzy 2025-04-21 14:46:40 +08:00
parent e620efbc5d
commit c259f6c8df
9 changed files with 96 additions and 61 deletions

View File

@ -57,4 +57,9 @@ public class LyFzhsInfo {
*/
private String fzhsyxzh;
/**
* nc账簿
*/
private String nczb;
}

View File

@ -282,25 +282,11 @@
<update id="update" parameterType="com.engine.salary.entity.ly.po.LyFundReportPO">
UPDATE hrsa_ly_fund_report
<set>
create_time=#{createTime},
creator=#{creator},
data_sorce=#{dataSorce},
delete_type=#{deleteType},
ftemp_num=#{ftempNum},
fwf=#{fwf},
fycdgsqc=#{fycdgsqc},
gjj_gjjhj=#{gjjGjjhj},
gjj_grbf=#{gjjGrbf},
gjj_gsbf=#{gjjGsbf},
gjjffpz_flag=#{gjjffpzFlag},
gjjjtpz_flag=#{gjjjtpzFlag},
gkgrygzhje=#{gkgrygzhje},
gmgsqc=#{gmgsqc},
salary_month=#{salaryMonth},
subcompany_id=#{subcompanyId},
update_time=#{updateTime},
znxmlx=#{znxmlx},
znxmmc=#{znxmmc},
</set>
WHERE id = #{id} AND delete_type = 0
</update>

View File

@ -452,37 +452,12 @@
<update id="update" parameterType="com.engine.salary.entity.ly.po.LySocialReportPO">
UPDATE hrsa_ly_social_report
<set>
salary_month=#{salaryMonth},
gmgsqc=#{gmgsqc},
fycdgsqc=#{fycdgsqc},
znxmmc=#{znxmmc},
ftemp_num=#{ftempNum},
yl_gsbf=#{ylGsbf},
yl_grbf=#{ylGrbf},
yiliao_gsbf=#{yiliaoGsbf},
yiliao_grbf=#{yiliaoGrbf},
sy_gsbf=#{syGsbf},
sy_grbf=#{syGrbf},
shengy_gsbf=#{shengyGsbf},
gs_gsbf=#{gsGsbf},
bcyljqt_gsbf=#{bcyljqtGsbf},
sb_gsbf=#{sbGsbf},
sb_grbf=#{sbGrbf},
sb_sbhj=#{sbSbhj},
gjj_gsbf=#{gjjGsbf},
gjj_grbf=#{gjjGrbf},
gjj_gjjhj=#{gjjGjjhj},
fwf=#{fwf},
gkgrygzhje=#{gkgrygzhje},
data_sorce=#{dataSorce},
xzjtpz_flag=#{xzjtpzFlag},
xzffpz_flag=#{xzffpzFlag},
sbjtpz_flag=#{sbjtpzFlag},
sbffpz_flag=#{sbffpzFlag},
gjjjtpz_flag=#{gjjjtpzFlag},
gjjffpz_flag=#{gjjffpzFlag},
creator=#{creator},
create_time=#{createTime},
update_time=#{updateTime},
delete_type=#{deleteType},
</set>

View File

@ -1,5 +1,6 @@
package com.engine.salary.service;
import com.engine.salary.entity.ly.dto.LyFzhsInfo;
import com.engine.salary.entity.ly.param.LyFzhslxParam;
import com.engine.salary.entity.ly.param.LyPZGenParam;
import com.engine.salary.entity.ly.param.LyVoucherPushParam;
@ -7,6 +8,7 @@ import com.engine.salary.entity.ly.param.LyVoucherQueryParam;
import com.engine.salary.entity.ly.po.LyVoucherPO;
import com.engine.salary.util.page.PageInfo;
import java.util.List;
import java.util.Map;
/**
@ -25,6 +27,8 @@ public interface LyPZService {
*/
Map<String, Object> genPZ(LyPZGenParam queryParam);
List<LyFzhsInfo> listFzhsByFrzt(List<String> frztNameList);
Map<String, String> listAllFrzt();
/**

View File

@ -151,4 +151,6 @@ public interface LySalaryReportService {
void generateCymxGjjReport(String salaryMonth);
void deleteByIds(List<Long> needDeleteIds);
Map<String, String> getHszb(String ffgsqc);
}

View File

@ -257,26 +257,37 @@ public class LyPZServiceImpl extends Service implements LyPZService {
queryParam.setSalaryMonthDate(SalaryDateUtil.dateStrToLocalYearMonth(queryParam.getSalaryMonth()));
String chnYearMonth = SalaryDateUtil.getFormatCHNYearMonth(queryParam.getSalaryMonthDate());
// 获取特殊摘要对应的会计科目编码
// // 生育津贴
// String syjtKjkm = baseBean.getPropValue("lySalaryNCVoucher", "syjt_kjkm_bm");
// // 银行存款
// String yhckKjkm = baseBean.getPropValue("lySalaryNCVoucher", "yhck_kjkm_bm");
// // 母子公司往来款
// String mzgswlkKjkm = baseBean.getPropValue("lySalaryNCVoucher", "mzgswlk_kjkm_bm");
// // 代买社保公积金
// String dmsbgjjKjkm = baseBean.getPropValue("lySalaryNCVoucher", "dmsbgjj_kjkm_bm");
// 获取薪资发放凭证中需要固定的客商信息
List<String> xzffNeedFixedKsKjkmList = new ArrayList<>();
Map<String, String> xzffFixedKsValueMap = new HashMap<>();
// 获取薪资发放凭证中需要固定的项目期数信息
List<String> xzffNeedFixedXmqsKjkmList = new ArrayList<>();
Map<String, String> xzffFixedXmqsValueMap = new HashMap<>();
// 获取薪资发放凭证中需要固定的房屋类别信息
List<String> xzffNeedFixedFwlbKjkmList = new ArrayList<>();
Map<String, String> xzffFixedFwlbValueMap = new HashMap<>();
if (queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) {
// 客商
xzffNeedFixedKsKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", "xzff_need_fixed_ks_kjkm").split(",")).collect(Collectors.toList());
for (String kjkm : xzffNeedFixedKsKjkmList) {
String ksValue = baseBean.getPropValue("lySalaryNCVoucher", "xzff_ks_" + kjkm);
xzffFixedKsValueMap.put(kjkm, Util.null2String(ksValue));
fzhsBmList.add(ksValue);
}
// 项目期数
xzffNeedFixedXmqsKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", "xzff_need_fixed_xmqs_kjkm").split(",")).collect(Collectors.toList());
for (String kjkm : xzffNeedFixedXmqsKjkmList) {
String xmqsValue = baseBean.getPropValue("lySalaryNCVoucher", "xzff_xmqs_" + kjkm);
xzffFixedXmqsValueMap.put(kjkm, Util.null2String(xmqsValue));
fzhsBmList.add(xmqsValue);
}
// 房屋类别
xzffNeedFixedFwlbKjkmList = Arrays.stream(baseBean.getPropValue("lySalaryNCVoucher", "xzff_need_fixed_fwlb_kjkm").split(",")).collect(Collectors.toList());
for (String kjkm : xzffNeedFixedFwlbKjkmList) {
String fwlbValue = baseBean.getPropValue("lySalaryNCVoucher", "xzff_fwlb_" + kjkm);
xzffFixedFwlbValueMap.put(kjkm, Util.null2String(fwlbValue));
fzhsBmList.add(fwlbValue);
}
}
// 根据辅助核算编码获取辅助核算浏览框yx
Map<String, LyFzhsBrowser> fzhsBrowserMap = getFzhsBrowserByBm(fzhsBmList);
@ -331,9 +342,18 @@ public class LyPZServiceImpl extends Service implements LyPZService {
.fzhsYxzh(frztFzhs != null && kjkm.isFzhsYhzhFlag() ? fzhsBrowserMap.get(frztFzhs.getFzhsyxzh()) : null)
.dataSource(reportDataIds)
.build();
// 固定客商
if (xzffNeedFixedKsKjkmList.contains(kjkm.getKmbm())) {
build.setFzhsKs(frztFzhs != null && kjkm.isFzhsKsFlag() ? fzhsBrowserMap.get(xzffFixedKsValueMap.get(kjkm.getKmbm())) : null);
}
// 固定项目期数
if (xzffNeedFixedXmqsKjkmList.contains(kjkm.getKmbm())) {
build.setFzhsXmqs(frztFzhs != null && kjkm.isFzhsFlag() ? fzhsBrowserMap.get(xzffFixedXmqsValueMap.get(kjkm.getKmbm())) : null);
}
// 固定房屋列表
if (xzffNeedFixedFwlbKjkmList.contains(kjkm.getKmbm())) {
build.setFzhsFwlb(frztFzhs != null && kjkm.isFzhsFwlbFlag() ? fzhsBrowserMap.get(xzffFixedFwlbValueMap.get(kjkm.getKmbm())) : null);
}
String zy = genZy(build, queryParam.getFfgsqc(), Utils.null2String(kjkmValueMap.get("frzt")), chnYearMonth, kjkm);
build.setZy(zy);
@ -397,7 +417,7 @@ public class LyPZServiceImpl extends Service implements LyPZService {
* @param frztNameList
* @return
*/
private List<LyFzhsInfo> listFzhsByFrzt(List<String> frztNameList) {
public List<LyFzhsInfo> listFzhsByFrzt(List<String> frztNameList) {
if (CollectionUtils.isEmpty(frztNameList)) {
return Collections.emptyList();
}
@ -405,17 +425,19 @@ public class LyPZServiceImpl extends Service implements LyPZService {
List<List<String>> partition = Lists.partition(frztNameList, 500);
List<LyFzhsInfo> resultList = new ArrayList<>();
partition.forEach(part -> {
rs.execute("select frzt,sllb,ks,yxzh from uf_frzt where frzt in ('" +StringUtils.join(part, "','")+ "')");
rs.execute("select frzt,sllb,ks,yxzh,nczb from uf_frzt where frzt in ('" +StringUtils.join(part, "','")+ "')");
while (rs.next()) {
String frzt = rs.getString("frzt");
String sllb = rs.getString("sllb");
String ks = rs.getString("ks");
String yxzh = rs.getString("yxzh");
String nczb = rs.getString("nczb");
LyFzhsInfo build = LyFzhsInfo.builder()
.frzt(frzt)
.fzhssllb(sllb)
.fzhsks(ks)
.fzhsyxzh(yxzh)
.nczb(nczb)
.build();
resultList.add(build);
}
@ -538,9 +560,9 @@ public class LyPZServiceImpl extends Service implements LyPZService {
Map<String, Object> resultMap = getLySalaryReportService(user).listSalaryReport(LySalaryReportQueryParam.builder()
.salaryMonth(queryParam.getSalaryMonth())
.ffgsqc(Collections.singletonList(queryParam.getFfgsqc()))
.fycdgsqc(queryParam.getFycdgsqc())
.jtStatus(queryParam.getJtStatus())
.ffStatus(queryParam.getFfStatus())
// .fycdgsqc(queryParam.getFycdgsqc())
// .jtStatus(queryParam.getJtStatus())
// .ffStatus(queryParam.getFfStatus())
.export(true).build());
List<LySalaryReportPO> dataList = ((PageInfo<LySalaryReportPO>)resultMap.get("data")).getList();
// 将每一个结果转换成map的格式并作为变量存储
@ -566,9 +588,9 @@ public class LyPZServiceImpl extends Service implements LyPZService {
Map<String, Object> resultMap = getLySocialReportService(user).listSIReport(LySalaryReportQueryParam.builder()
.salaryMonth(queryParam.getSalaryMonth())
.ffgsqc(Collections.singletonList(queryParam.getFfgsqc()))
.fycdgsqc(queryParam.getFycdgsqc())
.jtStatus(queryParam.getJtStatus())
.ffStatus(queryParam.getFfStatus())
// .fycdgsqc(queryParam.getFycdgsqc())
// .jtStatus(queryParam.getJtStatus())
// .ffStatus(queryParam.getFfStatus())
.export(true).build());
List<LySocialReportPO> dataList = ((PageInfo<LySocialReportPO>)resultMap.get("data")).getList();
// 将每一个结果转换成map的格式并作为变量存储
@ -595,9 +617,9 @@ public class LyPZServiceImpl extends Service implements LyPZService {
.salaryMonth(queryParam.getSalaryMonth())
.ffgsqc(Collections.singletonList(queryParam.getFfgsqc()))
.export(true)
.fycdgsqc(queryParam.getFycdgsqc())
.jtStatus(queryParam.getJtStatus())
.ffStatus(queryParam.getFfStatus())
// .fycdgsqc(queryParam.getFycdgsqc())
// .jtStatus(queryParam.getJtStatus())
// .ffStatus(queryParam.getFfStatus())
.build());
List<LyFundReportPO> dataList = ((PageInfo<LyFundReportPO>)resultMap.get("data")).getList();
// 将每一个结果转换成map的格式并作为变量存储

View File

@ -7,6 +7,7 @@ import com.engine.salary.common.LocalDateRange;
import com.engine.salary.component.WeaTableColumnGroup;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.DeptInfo;
import com.engine.salary.entity.ly.dto.LyFzhsInfo;
import com.engine.salary.entity.ly.param.LySalaryReportQueryParam;
import com.engine.salary.entity.ly.po.LySalaryReportPO;
import com.engine.salary.entity.ly.po.UfGjjInfo;
@ -852,6 +853,33 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport
});
}
@Override
public Map<String, String> getHszb(String ffgsqc) {
HashMap<String, String> resultMap = new HashMap<>();
if (StringUtils.isBlank(ffgsqc)) {
return resultMap;
}
List<LyFzhsInfo> frztFzhsList = getLyPZService(user).listFzhsByFrzt(Collections.singletonList(ffgsqc));
Map<String, LyFzhsInfo> frztFzhsInfoMap = SalaryEntityUtil.convert2Map(frztFzhsList, LyFzhsInfo::getFrzt);
// 默认核算账簿
LyFzhsInfo ffgsqcFrzt = frztFzhsInfoMap.get(ffgsqc);
String zbmc = "";
String zbbm = "";
if (ffgsqcFrzt != null) {
String nczbBm = ffgsqcFrzt.getNczb();
String sql = "select zbbm,zbmc from uf_nc_zbxx where zbbm = '" + nczbBm + "'";
RecordSet rs = new RecordSet();
rs.execute(sql);
if (rs.next()) {
zbmc = rs.getString("zbmc");
zbbm = rs.getString("zbbm");
}
}
resultMap.put("name", zbmc);
resultMap.put("id", zbbm);
return resultMap;
}
@Override
public XSSFWorkbook exportSalaryReport(LySalaryReportQueryParam param) {
param.setExport(true);

View File

@ -457,6 +457,15 @@ public class LySalaryController {
return new ResponseResult<LyPZGenParam, Map<String, Object>>(user).run(getLySalaryWrapper(user)::genPZ, param);
}
@POST
@Path("/PZ/getHszb")
@Produces(MediaType.APPLICATION_JSON)
public String getHszb(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody LyPZGenParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<LyPZGenParam, Map<String, String>>(user).run(getLySalaryWrapper(user)::getHszb, param);
}
// 推送UC并本地保存
@POST
@Path("/PZ/pushUCAndSave")

View File

@ -343,4 +343,8 @@ public class LySalaryWrapper extends Service {
public void generateCymxGjjReport(String salaryMonth) {
getLySalaryReportService(user).generateCymxGjjReport(salaryMonth);
}
public Map<String, String> getHszb(LyPZGenParam param) {
return getLySalaryReportService(user).getHszb(param.getFfgsqc());
}
}