From 10ffe88810dbc659d00bbce433caa2a0dcf8ecc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 17 Nov 2022 15:17:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B8=E7=AE=97=E9=94=81=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/component/WeaTableColumnGroup.java | 16 ++++++++++++++++ .../salaryacct/bo/SalaryAcctResultBO.java | 17 +++++++++++++---- .../impl/SalaryAcctExcelServiceImpl.java | 3 ++- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/com/engine/salary/component/WeaTableColumnGroup.java b/src/com/engine/salary/component/WeaTableColumnGroup.java index 7e44507e4..5edef0ba2 100644 --- a/src/com/engine/salary/component/WeaTableColumnGroup.java +++ b/src/com/engine/salary/component/WeaTableColumnGroup.java @@ -8,6 +8,10 @@ import java.util.List; @Data public class WeaTableColumnGroup extends WeaTableColumn { + /** + * 锁定状态 + */ + private String lockStatus; private List children; @@ -18,8 +22,20 @@ public class WeaTableColumnGroup extends WeaTableColumn { super(width, text, column); } + public WeaTableColumnGroup(String width, String text, String column, String lockStatus) { + super(width, text, column); + this.lockStatus = lockStatus; + } + + public WeaTableColumnGroup(String width, String text, String column, List children) { super(width, text, column); this.children = children; } + + public WeaTableColumnGroup(String width, String text, String column, List children, String lockStatus) { + super(width, text, column); + this.children = children; + this.lockStatus = lockStatus; + } } diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java index 71bf166c8..483d223a4 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java @@ -19,6 +19,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; +import com.engine.salary.enums.salaryaccounting.LockStatusEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; @@ -125,28 +126,36 @@ public class SalaryAcctResultBO { * @param salarySobItemAggregateDTO * @return */ - public static List buildTableColumns(SalarySobItemAggregateDTO salarySobItemAggregateDTO) { + public static List buildTableColumns(SalarySobItemAggregateDTO salarySobItemAggregateDTO, List lockSalaryItemIds) { List columns = Lists.newArrayList(); // 员工信息字段 for (SalarySobEmpFieldDTO salarySobEmpFieldDTO : salarySobItemAggregateDTO.getEmpFields()) { columns.add(new WeaTableColumnGroup("150", salarySobEmpFieldDTO.getFieldName(), salarySobEmpFieldDTO.getFieldId())); } // 薪资项目分组下的薪资项目 - // 薪资项目分组下的薪资项目 for (SalarySobItemGroupDTO salarySobItemGroupDTO : salarySobItemAggregateDTO.getItemGroups()) { if (CollectionUtils.isEmpty(salarySobItemGroupDTO.getItems())) { continue; } List childrenColumns = Lists.newArrayList(); for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) { - childrenColumns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId())); + if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) { + childrenColumns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue())); + } else { + childrenColumns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue())); + } } WeaTableColumnGroup weaTableColumnWapper = new WeaTableColumnGroup("150", salarySobItemGroupDTO.getName(), String.valueOf(salarySobItemGroupDTO.getId()), childrenColumns); columns.add(weaTableColumnWapper); } // 没有分类的薪资项目 for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getItems()) { - columns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId())); + if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) { + columns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue())); + } else { + columns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue())); + } + } return columns; } diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index 07b3f3d42..984c067dc 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -48,6 +48,7 @@ import com.wbi.util.Util; import dm.jdbc.util.IdGenerator; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.util.IOUtils; @@ -319,7 +320,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc // 查询薪资账套下的薪资项目+员工信息字段 SalarySobItemAggregateDTO salarySobItemAggregateDTO = getSalarySobItemService(user).getAggregateWithItemHideBySalarySobId(salaryAcctRecordPO.getSalarySobId()); // 构建薪资核算结果列表表头 - return SalaryAcctResultBO.buildTableColumns(salarySobItemAggregateDTO); + return SalaryAcctResultBO.buildTableColumns(salarySobItemAggregateDTO, ListUtils.emptyIfNull(salaryAcctRecordPO.getLockSalaryItemIds())); } /**