Merge branch 'fix/回算后无法发放第二次工资单' into release/2.8.4.2306.02
This commit is contained in:
commit
0117624dc4
|
|
@ -38,9 +38,12 @@ public class SalarySendBaseInfoDTO {
|
|||
// 薪资账套的周期")
|
||||
private SalarySobCycleDTO salarySobCycle;
|
||||
|
||||
// 工资单发放类型 1:正常 2:补发
|
||||
private String salaryAcctType;
|
||||
// // 工资单发放类型 1:正常 2:补发
|
||||
// private String salaryAcctType;
|
||||
//
|
||||
// // 是否回算过 0:没有回算过,1:回算过
|
||||
// private Integer haveBackCalc;
|
||||
|
||||
// 是否回算过 0:没有回算过,1:回算过
|
||||
private Integer haveBackCalc;
|
||||
// 能否发送
|
||||
private Boolean canSend;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,14 +123,23 @@ public class SalarySendListDTO {
|
|||
private Integer sendStatus;
|
||||
|
||||
/**
|
||||
* 核算类型。0:正常,1:补发
|
||||
* 工资单类型。0:正常,1:补发
|
||||
*/
|
||||
private Integer salaryAcctType;
|
||||
|
||||
/**
|
||||
* 薪资记录核算类型。0:正常,1:补发
|
||||
*/
|
||||
private Integer salaryAcctRecordType;
|
||||
|
||||
/**
|
||||
* 能够查看详情
|
||||
*/
|
||||
private Boolean canSeeDetail;
|
||||
/**
|
||||
* 是否回算过 0:没有回算过,1:回算过
|
||||
*/
|
||||
private Integer haveBackCalc;
|
||||
// private Integer haveBackCalc;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,8 @@
|
|||
t1.send_num,
|
||||
t1.send_total,
|
||||
t1.last_send_time,
|
||||
t2.acct_times
|
||||
t2.acct_times,
|
||||
t2.back_calc_status AS salaryAcctRecordType
|
||||
</sql>
|
||||
|
||||
<sql id="paramSql">
|
||||
|
|
|
|||
|
|
@ -405,12 +405,12 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100512, "工资单发放不存在"));
|
||||
}
|
||||
Long salaryAcctId = salarySend.getSalaryAccountingId();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||
SalarySobCycleDTO salarySobCycleDTO = getSalaryAcctRecordService(user).getSalarySobCycleById(salaryAcctId);
|
||||
List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordService(user).listBySalarySobIds(Collections.singletonList(salarySobCycleDTO.getSalarySobId()));
|
||||
// 是否有回算记录
|
||||
boolean haveBackCalc = salaryAcctRecordPOS.stream().filter(PO -> Objects.equals(PO.getBackCalcStatus(), NumberUtils.INTEGER_ONE) &&
|
||||
Objects.equals(sdf.format(PO.getSalaryMonth()), SalaryDateUtil.MONTH_FORMATTER.format(salarySobCycleDTO.getSalaryMonth()))).collect(Collectors.toList()).size() > 0;
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||
// List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordService(user).listBySalarySobIds(Collections.singletonList(salarySobCycleDTO.getSalarySobId()));
|
||||
// // 是否有回算记录
|
||||
// boolean haveBackCalc = salaryAcctRecordPOS.stream().filter(PO -> Objects.equals(PO.getBackCalcStatus(), NumberUtils.INTEGER_ONE) &&
|
||||
// Objects.equals(sdf.format(PO.getSalaryMonth()), SalaryDateUtil.MONTH_FORMATTER.format(salarySobCycleDTO.getSalaryMonth()))).collect(Collectors.toList()).size() > 0;
|
||||
String template = "";
|
||||
// 获取默认模板
|
||||
List<SalaryTemplatePO> salaryTemplates = getSalaryTemplateService(user).getDefaultTemplates(Collections.singletonList(salarySend.getSalarySobId()));
|
||||
|
|
@ -422,14 +422,23 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
template = salaryTemplates.get(0).getName();
|
||||
}
|
||||
}
|
||||
|
||||
Boolean canSend = true;
|
||||
SalaryAcctRecordPO acctRecord = getSalaryAcctRecordService(user).getById(salaryAcctId);
|
||||
// 回算过,但是查看的是普通工资单(不能发);回算过,但是查看的是回算工资单(可以发);记录没回算过(可以发)
|
||||
if(Objects.equals(acctRecord.getBackCalcStatus(), NumberUtils.INTEGER_ONE) && Objects.equals(salarySend.getSalaryAcctType(),NumberUtils.INTEGER_ZERO)){
|
||||
canSend = false;
|
||||
}
|
||||
|
||||
return SalarySendBaseInfoDTO.builder()
|
||||
.salaryMonth(salarySobCycleDTO.getSalaryMonth())
|
||||
.template(template)
|
||||
.salarySobCycle(salarySobCycleDTO)
|
||||
.sendNum(salarySend.getSendNum())
|
||||
.sendTotal(salarySend.getSendTotal())
|
||||
.salaryAcctType(salarySend.getSalaryAcctType().toString())
|
||||
.haveBackCalc(haveBackCalc ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)
|
||||
.canSend(canSend)
|
||||
// .salaryAcctType(salarySend.getSalaryAcctType().toString())
|
||||
// .haveBackCalc(haveBackCalc ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -113,6 +113,15 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
list = salarySendMapper.list(queryParam);
|
||||
}
|
||||
|
||||
list.stream().forEach(dto -> {
|
||||
// 回算过,但是查看的是普通工资单(不能查看详情);回算过,但是查看的是回算工资单(可以发);记录没回算过(可以发)
|
||||
if(Objects.equals(dto.getSalaryAcctRecordType(), NumberUtils.INTEGER_ONE) && Objects.equals(dto.getSalaryAcctType(),NumberUtils.INTEGER_ZERO)){
|
||||
dto.setCanSeeDetail(false);
|
||||
}else{
|
||||
dto.setCanSeeDetail(true);
|
||||
}
|
||||
});
|
||||
|
||||
PageInfo<SalarySendListDTO> pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
||||
list, SalarySendListDTO.class);
|
||||
List<SalarySendListDTO> pageList = pageInfo.getList();
|
||||
|
|
@ -130,7 +139,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
e.setTemplate(NumberUtils.INTEGER_ONE.equals(e.getSalaryAcctType()) ? optional.get().getReplenishName() : optional.get().getName());
|
||||
e.setTemplateId(optional.get().getId());
|
||||
}
|
||||
e.setHaveBackCalc(NumberUtils.INTEGER_ZERO);
|
||||
// e.setHaveBackCalc(NumberUtils.INTEGER_ZERO);
|
||||
});
|
||||
}
|
||||
// 薪资核算ID
|
||||
|
|
@ -138,13 +147,13 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
// 获取是回算的薪资核算ID
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
List<SalaryAcctRecordPO> salaryAcctRecordPOS = getSalaryAcctRecordService(user).getBackCalcRecordByIds(salaryAcctIds);
|
||||
Set<String> backCalcSalarySobs = SalaryEntityUtil.properties(salaryAcctRecordPOS, salaryAcctRecordPO -> salaryAcctRecordPO.getSalarySobId() + "-" + sdf.format(salaryAcctRecordPO.getSalaryMonth()));
|
||||
// 判断是否回算过,haveBackCalc 属性
|
||||
pageList.stream().forEach(salarySendDTO -> {
|
||||
if (backCalcSalarySobs.contains(salarySendDTO.getSalarySobId() + "-" + sdf.format(salarySendDTO.getSalaryYearMonth()))) {
|
||||
salarySendDTO.setHaveBackCalc(NumberUtils.INTEGER_ONE);
|
||||
}
|
||||
});
|
||||
// Set<String> backCalcSalarySobs = SalaryEntityUtil.properties(salaryAcctRecordPOS, salaryAcctRecordPO -> salaryAcctRecordPO.getSalarySobId() + "-" + sdf.format(salaryAcctRecordPO.getSalaryMonth()));
|
||||
// // 判断是否回算过,haveBackCalc 属性
|
||||
// pageList.stream().forEach(salarySendDTO -> {
|
||||
// if (backCalcSalarySobs.contains(salarySendDTO.getSalarySobId() + "-" + sdf.format(salarySendDTO.getSalaryYearMonth()))) {
|
||||
// salarySendDTO.setHaveBackCalc(NumberUtils.INTEGER_ONE);
|
||||
// }
|
||||
// });
|
||||
List<WeaTableColumn> columns = buildWeaTableColumns();
|
||||
WeaTable table = new WeaTable();
|
||||
table.setColumns(columns);
|
||||
|
|
|
|||
Loading…
Reference in New Issue