diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalarySendBaseInfoDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalarySendBaseInfoDTO.java index c6bbf804d..9ce265dee 100644 --- a/src/com/engine/salary/entity/salaryBill/dto/SalarySendBaseInfoDTO.java +++ b/src/com/engine/salary/entity/salaryBill/dto/SalarySendBaseInfoDTO.java @@ -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; } diff --git a/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java b/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java index 61ded63b2..c4c72bda0 100644 --- a/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java +++ b/src/com/engine/salary/entity/salaryBill/dto/SalarySendListDTO.java @@ -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; } diff --git a/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml b/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml index dbe96c52f..040f23831 100644 --- a/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml +++ b/src/com/engine/salary/mapper/salarybill/SalarySendMapper.xml @@ -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 diff --git a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java index 46c7cdd0b..9c36347ba 100644 --- a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java @@ -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 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 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 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(); } diff --git a/src/com/engine/salary/wrapper/SalarySendWrapper.java b/src/com/engine/salary/wrapper/SalarySendWrapper.java index 19dc48f78..fb6bad93d 100644 --- a/src/com/engine/salary/wrapper/SalarySendWrapper.java +++ b/src/com/engine/salary/wrapper/SalarySendWrapper.java @@ -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 pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, SalarySendListDTO.class); List 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 salaryAcctRecordPOS = getSalaryAcctRecordService(user).getBackCalcRecordByIds(salaryAcctIds); - Set 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 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 columns = buildWeaTableColumns(); WeaTable table = new WeaTable(); table.setColumns(columns);