From c7659e07173904424582b8b7155e0b96d644c224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 11 Sep 2024 10:28:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=87=87=E9=9B=86=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/WEB-INF/salaryoptconfig.xml | 16 ++++++ .../engine/salary/biz/AddUpSituationBiz.java | 19 ------- .../salary/entity/auth/vo/Permission.java | 6 +-- .../datacollection/dto/AddUpSituationDTO.java | 5 ++ .../dto/OtherDeductionListDTO.java | 6 +++ .../service/auth/AuthRoleServiceImpl.java | 1 + .../impl/AddUpSituationServiceImpl.java | 32 +++++------- .../impl/OtherDeductionServiceImpl.java | 30 ++++------- .../impl/SalaryArchiveServiceImpl.java | 1 + .../service/impl/SalarySobServiceImpl.java | 52 +++++++------------ 10 files changed, 76 insertions(+), 92 deletions(-) diff --git a/resource/WEB-INF/salaryoptconfig.xml b/resource/WEB-INF/salaryoptconfig.xml index b08c0f340..006a55326 100644 --- a/resource/WEB-INF/salaryoptconfig.xml +++ b/resource/WEB-INF/salaryoptconfig.xml @@ -33,6 +33,22 @@ + + + + + + + + + + + + + + + + diff --git a/src/com/engine/salary/biz/AddUpSituationBiz.java b/src/com/engine/salary/biz/AddUpSituationBiz.java index 68515ff23..41068ef88 100644 --- a/src/com/engine/salary/biz/AddUpSituationBiz.java +++ b/src/com/engine/salary/biz/AddUpSituationBiz.java @@ -2,11 +2,9 @@ package com.engine.salary.biz; import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.AddUpSituation; -import com.engine.salary.entity.datacollection.dto.AddUpSituationDTO; import com.engine.salary.entity.datacollection.dto.AddUpSituationRecordDTO; import com.engine.salary.entity.datacollection.param.AddUpSituationQueryParam; import com.engine.salary.mapper.datacollection.AddUpSituationMapper; -import com.engine.salary.util.SalaryI18nUtil; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.session.SqlSession; @@ -20,23 +18,6 @@ public class AddUpSituationBiz extends BaseBean { private EncryptUtil encryptUtil = new EncryptUtil(); - /** - * 鍏宠仈鏌ヨ鏌ヨ鍒楄〃 - * - * @param param - * @return - */ - public List list(AddUpSituationQueryParam param) { - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - try { - AddUpSituationMapper mapper = sqlSession.getMapper(AddUpSituationMapper.class); - List list = mapper.list(param); - encryptUtil.decryptList(list, AddUpSituationDTO.class); - return SalaryI18nUtil.i18nList(list); - } finally { - sqlSession.close(); - } - } /** * 鏉′欢鏌ヨ diff --git a/src/com/engine/salary/entity/auth/vo/Permission.java b/src/com/engine/salary/entity/auth/vo/Permission.java index 73a5ca8e5..6faaa3a62 100644 --- a/src/com/engine/salary/entity/auth/vo/Permission.java +++ b/src/com/engine/salary/entity/auth/vo/Permission.java @@ -15,17 +15,17 @@ public class Permission { /** * 鏄惁寮鍚簡鍒嗘潈 */ - private boolean isOpenDevolution; + private Boolean isOpenDevolution; /** * 鏄惁鎬荤鐞嗗憳 */ - private boolean isChief; + private Boolean isChief; /** * 鏄惁鎵g即涔夊姟浜虹鐞嗗憳 */ - private boolean isAdminEnable; + private Boolean isAdminEnable; /** * 褰撳墠椤甸潰鏄惁鏈夋潈闄 diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java index bd4a80aaa..7d0b347dd 100644 --- a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java @@ -10,6 +10,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Set; + /** * 鏁版嵁閲囬泦-绱鎯呭喌琛 */ @@ -20,6 +22,7 @@ import lombok.NoArgsConstructor; @SalaryTable(pageId = "a4f85287-e3f9-7841-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX, operates = { @SalaryTableOperate(text = "鏌ョ湅鏄庣粏") }) +@Auth(page = "addUpSituation") public class AddUpSituationDTO { //涓婚敭id @JsonSerialize(using = ToStringSerializer.class) @@ -216,4 +219,6 @@ public class AddUpSituationDTO { @SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate") @TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate") private String operate; + + private Set opts; } \ No newline at end of file diff --git a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java index 94f3580d0..a3c68530c 100644 --- a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java @@ -2,12 +2,15 @@ package com.engine.salary.entity.datacollection.dto; import com.cloudstore.eccom.pc.table.WeaTableType; import com.engine.salary.annotation.*; +import com.engine.salary.enums.auth.AuthCheckTypeEnum; import com.engine.salary.util.excel.ExcelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Set; + /** * 鏁版嵁閲囬泦-鍏朵粬鍏嶇◣鎵i櫎鍒楄〃 *

Copyright: Copyright (c) 2022

@@ -23,6 +26,7 @@ import lombok.NoArgsConstructor; @SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX, operates = { @SalaryTableOperate(text = "鏌ョ湅鏄庣粏") }) +@Auth(page = "otherDeduction", checkType = AuthCheckTypeEnum.TAX_EMP) public class OtherDeductionListDTO { @@ -119,4 +123,6 @@ public class OtherDeductionListDTO { @SalaryTableColumn(text = "鎿嶄綔", width = "20%", column = "operate") @TableTitle(title = "鎿嶄綔", dataIndex = "operate", key = "operate") private String operate; + + private Set opts; } diff --git a/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java b/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java index 345da7ae1..916ba8106 100644 --- a/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java +++ b/src/com/engine/salary/service/auth/AuthRoleServiceImpl.java @@ -68,6 +68,7 @@ public class AuthRoleServiceImpl extends Service implements AuthRoleService { return AuthRoleDTO.builder().id(roleId) .name(po.getName()) + .description(po.getDescription()) .members(authRoleEmpDTOS.size()) .opts(authOptPOS.size()) .datas(authRoleDataDTOS.size()) diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java index be0924a5d..5851987cf 100644 --- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java @@ -25,6 +25,7 @@ import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.auth.AuthFilterTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.datacollection.AddUpSituationMapper; import com.engine.salary.mapper.sys.SalarySysConfMapper; @@ -32,6 +33,8 @@ import com.engine.salary.service.AddUpDeductionService; import com.engine.salary.service.AddUpSituationService; import com.engine.salary.service.SalaryEmployeeService; import com.engine.salary.service.TaxAgentService; +import com.engine.salary.service.auth.AuthService; +import com.engine.salary.service.auth.AuthServiceImpl; import com.engine.salary.sys.entity.po.SalarySysConfPO; import com.engine.salary.sys.entity.vo.OrderRuleVO; import com.engine.salary.sys.service.SalarySysConfService; @@ -98,6 +101,10 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation return SqlProxyHandle.getProxy(SalarySysConfMapper.class); } + public AuthService getAuthService(User user) { + return ServiceUtil.getService(AuthServiceImpl.class, user); + } + @Override public Map getSearchCondition() { Map apidatas = new HashMap(); @@ -197,19 +204,12 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); - long employeeId = user.getUID(); - - Boolean needAuth = getTaxAgentService(user).isNeedAuth(employeeId); - if (needAuth) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(taxAgentIdsAsAdmin)) { - return new PageInfo<>(AddUpSituationDTO.class); - } - queryParam.setTaxAgentIds(taxAgentIdsAsAdmin); - } List list = getAddUpSituationMapper().list(queryParam); + list = getAuthService(user).auth(list, AuthFilterTypeEnum.DATA_OPT, AddUpSituationDTO.class); + PageInfo page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, AddUpSituationDTO.class); encryptUtil.decryptList(page.getList(), AddUpSituationDTO.class); + SalaryI18nUtil.i18nList(list); return page; } @@ -302,14 +302,10 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation //鎺掑簭閰嶇疆 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); param.setOrderRule(orderRule); - List list = biz.list(param); - // 寮鍚垎鏉冨苟涓斾笉鏄柂閰ā鍧楁荤鐞嗗憳 - if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - list = list.stream().filter(f -> - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - ).collect(Collectors.toList()); - } + List list = getAddUpSituationMapper().list(param); + list = getAuthService(user).auth(list, AuthFilterTypeEnum.QUERY_DATA, AddUpSituationDTO.class); + encryptUtil.decryptList(list, AddUpSituationDTO.class); + SalaryI18nUtil.i18nList(list); final List> dataRowList = Optional.ofNullable(list) .map(List::stream) diff --git a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java index d376e4af9..95daa72a2 100644 --- a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java @@ -21,6 +21,7 @@ import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.auth.AuthFilterTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.datacollection.OtherDeductionMapper; import com.engine.salary.mapper.sys.SalarySysConfMapper; @@ -28,6 +29,8 @@ import com.engine.salary.service.AddUpDeductionService; import com.engine.salary.service.OtherDeductionService; import com.engine.salary.service.SalaryEmployeeService; import com.engine.salary.service.TaxAgentService; +import com.engine.salary.service.auth.AuthService; +import com.engine.salary.service.auth.AuthServiceImpl; import com.engine.salary.sys.entity.po.SalarySysConfPO; import com.engine.salary.sys.entity.vo.OrderRuleVO; import com.engine.salary.sys.service.SalarySysConfService; @@ -96,6 +99,10 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction return ServiceUtil.getService(SalarySysConfServiceImpl.class, user); } + public AuthService getAuthService(User user) { + return ServiceUtil.getService(AuthServiceImpl.class, user); + } + @Override public OtherDeductionPO getById(Long id) { return getOtherDeductionMapper().getById(id); @@ -115,17 +122,9 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); - long employeeId = user.getUID(); - - Boolean needAuth = getTaxAgentService(user).isNeedAuth(employeeId); - if (needAuth) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(taxAgentIdsAsAdmin)) { - return new PageInfo<>(OtherDeductionListDTO.class); - } - queryParam.setTaxAgentIds(taxAgentIdsAsAdmin); - } List list = getOtherDeductionMapper().list(queryParam); + list = getAuthService(user).auth(list, AuthFilterTypeEnum.DATA_OPT, OtherDeductionListDTO.class); + PageInfo page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, OtherDeductionListDTO.class); encryptUtil.decryptList(page.getList(), OtherDeductionListDTO.class); @@ -257,7 +256,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction List employeeSameIds = new ArrayList<>(); //绛涢夊鍏ヤ汉鍛樹俊鎭彲浠ュ湪浜哄姏璧勬簮姹犱腑鍖归厤鍒扮殑浜哄憳淇℃伅 - List emps = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo,null); + List emps = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo, null); //鍚湪鑱屽拰绂昏亴锛岄夊湪鑱屾暟鎹 if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) { employeeSameIds = emps.stream() @@ -514,16 +513,9 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction param.setOrderRule(orderRule); List list = getOtherDeductionMapper().list(param); + list = getAuthService(user).auth(list, AuthFilterTypeEnum.QUERY_DATA, OtherDeductionListDTO.class); encryptUtil.decryptList(list, OtherDeductionListDTO.class); SalaryI18nUtil.i18nList(list); - // 寮鍚垎鏉冨苟涓斾笉鏄柂閰ā鍧楁荤鐞嗗憳 - if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - list = list.stream().filter(f -> - // 浣滀负绠$悊鍛 - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - ).collect(Collectors.toList()); - } final List> dataRowList = Optional.ofNullable(list) .map(List::stream) diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 13c4de06f..f96f2dec7 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -501,6 +501,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe map.put("payEndDate", SalaryDateUtil.getFormatLocalDate(e.getPayEndDate())); map.put("companystartdate", e.getCompanystartdate()); map.put("dismissdate", e.getDismissdate()); + map.put("opts", e.getOpts()); // 钖祫椤圭洰鍔ㄦ Optional> optionalItem = salaryArchiveItemData.stream().filter(f -> f.get("salaryArchiveId").toString().equals(e.getId().toString())).findFirst(); diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index bea398499..5c68903a4 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -24,7 +24,6 @@ import com.engine.salary.enums.OperateTypeEnum; import com.engine.salary.enums.SalarySystemTypeEnum; import com.engine.salary.enums.auth.AuthFilterTypeEnum; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; -import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.salarysob.SalarySobMapper; import com.engine.salary.mapper.salarysob.SobTaxLinkMapper; @@ -440,12 +439,12 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { // 鑾峰彇浜哄憳鑼冨洿鍒楄〃 List includeList = getTaxAgentManageRangeService(user).listByTaxAgentIdAndIncludeType(taxAgentId, NumberUtils.INTEGER_ONE); includeList.forEach(item -> { - item.setEmployeeStatus(parseEnum2ValueStr(item.getEmployeeStatus())); + item.setEmployeeStatus(parseJson2ValueStr(item.getEmployeeStatus())); }); // 鑾峰彇浠庤寖鍥翠腑鎺掗櫎 List excludeList = getTaxAgentManageRangeService(user).listByTaxAgentIdAndIncludeType(taxAgentId, NumberUtils.INTEGER_ZERO); excludeList.forEach(item -> { - item.setEmployeeStatus(parseEnum2ValueStr(item.getEmployeeStatus())); + item.setEmployeeStatus(parseJson2ValueStr(item.getEmployeeStatus())); }); // 灏員axAgentManageRangeListDTO杞崲涓篠alarySobRangePO List rangeList = convert2SalarySobRangePO(sobId, includeList, excludeList); @@ -514,25 +513,12 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { /** - * @return String - * @description 灏嗘灇涓剧殑defaultLabel杞崲涓簐alue - * @author Harryxzy - * @date 2022/10/9 16:56 + * ["0","1","2","3","4","5","6"] -> 0,1,2,3,4,5,6 + * @param employeeStatus + * @return */ - private String parseEnum2ValueStr(String employeeStatus) { - String[] split = employeeStatus.split(","); - StringBuilder sb = new StringBuilder(); - for (SalaryEmployeeStatusEnum statusEnum : SalaryEmployeeStatusEnum.values()) { - for (int i = 0; i < split.length; i++) { - if (statusEnum.getDefaultLabel().equals(split[i])) { - sb.append(statusEnum.getValue()); - if (i + 1 != split.length) { - sb.append(","); - } - } - } - } - return sb.toString(); + private String parseJson2ValueStr(String employeeStatus) { + return employeeStatus.replace("[","").replace("]","").replaceAll("\"", ""); } @@ -997,23 +983,23 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { public void handleHistory() { int count = getSobTaxLinkMapper().count(); - if(count>0){ + if (count > 0) { return; } List salarySobPOS = getSalarySobMapper().listAll(); salarySobPOS.forEach(sobPO -> { - SobTaxLinkPO taxLinkPO = SobTaxLinkPO.builder() - .id(IdGenerator.generate()) - .taxAgentId(sobPO.getTaxAgentId()) - .sobId(sobPO.getId()) - .creator((long) user.getUID()) - .createTime(new Date()) - .updateTime(new Date()) - .deleteType(0) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); - getSobTaxLinkMapper().insertIgnoreNull(taxLinkPO); + SobTaxLinkPO taxLinkPO = SobTaxLinkPO.builder() + .id(IdGenerator.generate()) + .taxAgentId(sobPO.getTaxAgentId()) + .sobId(sobPO.getId()) + .creator((long) user.getUID()) + .createTime(new Date()) + .updateTime(new Date()) + .deleteType(0) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) + .build(); + getSobTaxLinkMapper().insertIgnoreNull(taxLinkPO); }); } }