From cb1a53c649bd612d572ada811fcf028d53af9da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 24 May 2022 09:14:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/sql/分权.sql | 40 ++ src/com/engine/salary/biz/EmployBiz.java | 24 ++ src/com/engine/salary/biz/SalaryRoleBiz.java | 11 + .../entity/agency/bo/PaymentAgencyBO.java | 36 +- .../agency/dto/PaymentAgencyFormDTO.java | 77 ++-- .../agency/dto/PaymentAgencyListDTO.java | 58 ++- .../entity/agency/po/PaymentAgencyPO.java | 19 +- .../engine/salary/entity/hrm/HrmStatus.java | 16 + .../salary/entity/hrm/SubCompanyInfo.java | 28 ++ .../salary/entity/taxagent/bo/TaxAgentBO.java | 33 +- ...AdjustRecordForFormSearchConditionDTO.java | 198 ++++----- .../dto/TaxAgentAdjustRecordListDTO.java | 272 ++++++------- ...axAgentAdjustRecordSearchConditionDTO.java | 278 ++++++------- .../taxagent/dto/TaxAgentBaseFormDTO.java | 32 +- .../taxagent/dto/TaxAgentEmployeeDTO.java | 20 +- .../dto/TaxAgentEmployeeTaxAgentDTO.java | 17 +- .../entity/taxagent/dto/TaxAgentListDTO.java | 40 +- .../dto/TaxAgentManageRangeFormDTO.java | 46 +-- .../dto/TaxAgentSubAdminBaseFormDTO.java | 34 +- .../taxagent/dto/TaxAgentSubAdminListDTO.java | 50 +-- .../param/TaxAgentAdminChangeCheckParam.java | 3 + .../taxagent/param/TaxAgentSaveParam.java | 2 + .../param/TaxAgentSubAdminBaseFormParam.java | 2 + .../param/TaxAgentSubAdminQueryParam.java | 2 + .../entity/taxagent/po/TaxAgentAdminPO.java | 2 +- .../entity/taxagent/po/TaxAgentBasePO.java | 2 + .../taxagent/po/TaxAgentEmpChangePO.java | 3 + .../entity/taxagent/po/TaxAgentEmpPO.java | 1 + .../taxagent/po/TaxAgentEmployeePO.java | 4 + .../salary/entity/taxagent/po/TaxAgentPO.java | 3 + .../taxagent/po/TaxAgentSubAdminEmpPO.java | 4 + .../taxagent/po/TaxAgentSubAdminPO.java | 4 + .../engine/salary/enums/UserStatusEnum.java | 8 + .../enums/taxagent/TaxAgentRangeTypeEnum.java | 17 +- .../mapper/datacollection/EmployMapper.java | 45 ++- .../mapper/datacollection/EmployMapper.xml | 31 +- .../taxagent/TaxAgentManageRangeMapper.java | 7 +- .../taxagent/TaxAgentManageRangeMapper.xml | 21 + .../salary/service/TaxAgentAdminService.java | 1 - .../service/TaxAgentManageRangeService.java | 9 +- .../service/TaxAgentSubAdminEmpService.java | 3 - .../service/TaxAgentSubAdminService.java | 6 +- .../salary/service/TaxAgentV2Service.java | 15 +- .../impl/TaxAgentAdminServiceImpl.java | 15 +- .../service/impl/TaxAgentBaseServiceImpl.java | 27 +- .../service/impl/TaxAgentEmpServiceImpl.java | 23 +- .../impl/TaxAgentManageRangeServiceImpl.java | 250 ++++++------ .../service/impl/TaxAgentV2ServiceImpl.java | 222 +++++++---- .../engine/salary/web/TaxAgentController.java | 377 ++++++++++++++++-- .../engine/salary/web/TaxRateController.java | 2 - .../salary/wrapper/TaxAgentBaseWrapper.java | 44 ++ .../wrapper/TaxAgentSubAdminWrapper.java | 171 ++++++++ .../salary/wrapper/TaxAgentWrapper.java | 175 ++++---- 53 files changed, 1745 insertions(+), 1085 deletions(-) create mode 100644 src/com/engine/salary/biz/SalaryRoleBiz.java create mode 100644 src/com/engine/salary/entity/hrm/HrmStatus.java create mode 100644 src/com/engine/salary/entity/hrm/SubCompanyInfo.java create mode 100644 src/com/engine/salary/wrapper/TaxAgentBaseWrapper.java create mode 100644 src/com/engine/salary/wrapper/TaxAgentSubAdminWrapper.java diff --git a/resource/sql/分权.sql b/resource/sql/分权.sql index 308137347..00629e0ce 100644 --- a/resource/sql/分权.sql +++ b/resource/sql/分权.sql @@ -87,3 +87,43 @@ CREATE TABLE hrsa_tax_agent_base PRIMARY KEY (id) USING BTREE, INDEX idx_tenant_key(tenant_key) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '个税扣缴义务人基础信息表' ROW_FORMAT = Dynamic; + +DROP TABLE IF EXISTS hrsa_tax_agent_sub_admin; +CREATE TABLE hrsa_tax_agent_sub_admin +( + id bigint(20) NOT NULL COMMENT '主键', + tax_agent_id bigint(20) NOT NULL COMMENT '个税扣缴义务人的主键id', + employee_id bigint(20) NOT NULL COMMENT '人员信息表的主键id', + description varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + create_time datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + update_time datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP (0) COMMENT '更新时间', + creator bigint(20) NOT NULL DEFAULT 0 COMMENT '创建人', + delete_type int(11) NOT NULL DEFAULT 0 COMMENT '是否已删除。0:未删除、1:已删除', + tenant_key varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '租户ID', + remark text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL, + PRIMARY KEY (id) USING BTREE, + INDEX idx_tenant_key(tenant_key) USING BTREE, + INDEX idx_tax_agent_id(tax_agent_id) USING BTREE, + INDEX idx_employee_id(employee_id) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '个税扣缴义务人分管理员表' ROW_FORMAT = Dynamic; + +DROP TABLE IF EXISTS hrsa_tax_agent_sub_admin_emp; +CREATE TABLE hrsa_tax_agent_sub_admin_emp +( + id bigint(20) NOT NULL COMMENT 'ID', + create_time datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + update_time datetime(0) NULL DEFAULT NULL COMMENT '修改时间', + creator bigint(20) NULL DEFAULT NULL COMMENT '创建人id', + delete_type int(11) NULL DEFAULT 0 COMMENT '是否删除', + tenant_key varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '租户KEY', + tax_agent_id bigint(20) NOT NULL DEFAULT 0 COMMENT '个税扣缴义务人的主键id', + tax_agent_sub_admin_id bigint(20) NOT NULL DEFAULT 0 COMMENT '个税扣缴义务人的分管理员的id', + employee_id bigint(20) NOT NULL DEFAULT 0 COMMENT '人员信息表的主键id', + employee_name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '人员姓名', + PRIMARY KEY (id) USING BTREE, + INDEX idx_tenant_key(tenant_key) USING BTREE, + INDEX idx_tax_agent(tax_agent_id) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +ALTER TABLE hrsa_add_up_deduction ADD COLUMN payment_agency varchar(255) NULL COMMENT '代缴机构' AFTER tenant_key; + diff --git a/src/com/engine/salary/biz/EmployBiz.java b/src/com/engine/salary/biz/EmployBiz.java index 08fdb9ec8..338738087 100644 --- a/src/com/engine/salary/biz/EmployBiz.java +++ b/src/com/engine/salary/biz/EmployBiz.java @@ -1,7 +1,9 @@ package com.engine.salary.biz; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.hrm.DeptInfo; import com.engine.salary.entity.hrm.PositionInfo; +import com.engine.salary.entity.hrm.SubCompanyInfo; import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import com.engine.salary.mapper.datacollection.EmployMapper; import org.apache.ibatis.session.SqlSession; @@ -93,4 +95,26 @@ public class EmployBiz extends BaseBean { sqlSession.close(); } } + + public List getDeptInfoList(List departmentIds) { + + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); + return mapper.getDeptInfoList(departmentIds); + } finally { + sqlSession.close(); + } + } + + + public List getSubCompanyInfoList(List subDepartmentIds) { + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); + return mapper.getSubCompanyInfoList(subDepartmentIds); + } finally { + sqlSession.close(); + } + } } diff --git a/src/com/engine/salary/biz/SalaryRoleBiz.java b/src/com/engine/salary/biz/SalaryRoleBiz.java new file mode 100644 index 000000000..1da78f715 --- /dev/null +++ b/src/com/engine/salary/biz/SalaryRoleBiz.java @@ -0,0 +1,11 @@ +package com.engine.salary.biz; + +import weaver.general.BaseBean; + +public class SalaryRoleBiz { + public String getAllAdminRoleId() { + BaseBean baseBean = new BaseBean(); + String salaryAdminRoleId = baseBean.getPropValue("hrmSalary", "chiefAdminRoleId"); + return salaryAdminRoleId; + } +} diff --git a/src/com/engine/salary/entity/agency/bo/PaymentAgencyBO.java b/src/com/engine/salary/entity/agency/bo/PaymentAgencyBO.java index f16d65f33..0fbe29e78 100644 --- a/src/com/engine/salary/entity/agency/bo/PaymentAgencyBO.java +++ b/src/com/engine/salary/entity/agency/bo/PaymentAgencyBO.java @@ -1,35 +1,27 @@ package com.engine.salary.entity.agency.bo; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.weaver.common.distribution.genid.IdGenerator; -import com.weaver.hrm.salary.entity.agency.dto.PaymentAgencyFormDTO; -import com.weaver.hrm.salary.entity.agency.dto.PaymentAgencyListDTO; -import com.weaver.hrm.salary.entity.agency.po.PaymentAgencyPO; -import com.weaver.hrm.salary.enums.sicategory.DeleteTypeEnum; +import com.engine.salary.entity.agency.dto.PaymentAgencyFormDTO; +import com.engine.salary.entity.agency.dto.PaymentAgencyListDTO; +import com.engine.salary.entity.agency.po.PaymentAgencyPO; +import com.engine.salary.enums.sicategory.DeleteTypeEnum; +import dm.jdbc.util.IdGenerator; +import org.apache.commons.collections4.CollectionUtils; import java.time.LocalDateTime; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; -/** - * @Description: - * @Author: zhangheng - * @CreateDate: 2022/4/20 20:59 - * @Version: v1.0 - */ + public class PaymentAgencyBO { - public static Wrapper buildPaymentAgencyListWrapper(Long employeeId, String tenantKey) { - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(PaymentAgencyPO::getTenantKey, tenantKey); - lambdaQueryWrapper.eq(PaymentAgencyPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue()); - lambdaQueryWrapper.orderByDesc(PaymentAgencyPO::getUpdateTime); - return lambdaQueryWrapper; - } +// public static Wrapper buildPaymentAgencyListWrapper(Long employeeId, String tenantKey) { +// LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); +// lambdaQueryWrapper.eq(PaymentAgencyPO::getTenantKey, tenantKey); +// lambdaQueryWrapper.eq(PaymentAgencyPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue()); +// lambdaQueryWrapper.orderByDesc(PaymentAgencyPO::getUpdateTime); +// return lambdaQueryWrapper; +// } public static List buildPaymentAgencyDTOList(List paymentAgencyPOS, Long employeeId, String tenantKey) { if (CollectionUtils.isEmpty(paymentAgencyPOS)) { diff --git a/src/com/engine/salary/entity/agency/dto/PaymentAgencyFormDTO.java b/src/com/engine/salary/entity/agency/dto/PaymentAgencyFormDTO.java index 9200d1de8..d6fcbc80d 100644 --- a/src/com/engine/salary/entity/agency/dto/PaymentAgencyFormDTO.java +++ b/src/com/engine/salary/entity/agency/dto/PaymentAgencyFormDTO.java @@ -2,64 +2,57 @@ package com.engine.salary.entity.agency.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.weaver.common.component.form.item.WeaFormItemType; -import com.weaver.hrm.salary.annotation.SalaryForm; -import com.weaver.hrm.salary.annotation.SalaryFormItem; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; - /** - * @Description: - * @Author: zhangheng - * @CreateDate: 2022/4/20 21:31 - * @Version: v1.0 - */ + * 代缴机构表单 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("代缴机构表单") public class PaymentAgencyFormDTO { - @ApiModelProperty("主键id") + //主键id") @JsonSerialize(using = ToStringSerializer.class) private Long id; - @SalaryForm( - label = "名称", - labelId = 84756, - items = { - @SalaryFormItem( - itemType = WeaFormItemType.INPUT, - required = true, - maxLength = "50" - ) - } - ) - @NotBlank(message = "name is required") - @Size(max = 50, message = "the maximum lenth is 50") - @ApiModelProperty("名称") +// @SalaryForm( +// label = "名称", +// labelId = 84756, +// items = { +// @SalaryFormItem( +// itemType = WeaFormItemType.INPUT, +// required = true, +// maxLength = "50" +// ) +// } +// ) +// @NotBlank(message = "name is required") +// @Size(max = 50, message = "the maximum lenth is 50") +// //名称") private String agencyName; - @SalaryForm( - label = "备注", - labelId = 84961, - items = { - @SalaryFormItem( - itemType = WeaFormItemType.TEXTAREA, - maxLength = "50" - ) - } - ) - @NotBlank(message = "name is required") - @Size(max = 60, message = "the maximum lenth is 60") - @ApiModelProperty("名称") +// @SalaryForm( +// label = "备注", +// labelId = 84961, +// items = { +// @SalaryFormItem( +// itemType = WeaFormItemType.TEXTAREA, +// maxLength = "50" +// ) +// } +// ) +// @NotBlank(message = "name is required") +// @Size(max = 60, message = "the maximum lenth is 60") +// //名称") private String remarks; } diff --git a/src/com/engine/salary/entity/agency/dto/PaymentAgencyListDTO.java b/src/com/engine/salary/entity/agency/dto/PaymentAgencyListDTO.java index 997e6c9f3..8f554125d 100644 --- a/src/com/engine/salary/entity/agency/dto/PaymentAgencyListDTO.java +++ b/src/com/engine/salary/entity/agency/dto/PaymentAgencyListDTO.java @@ -1,61 +1,55 @@ package com.engine.salary.entity.agency.dto; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.weaver.common.authority.format.Operates; -import com.weaver.common.authority.format.TableColumn; -import com.weaver.common.authority.format.TableOperates; -import com.weaver.common.authority.format.WeaFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * @Description: - * @Author: zhangheng - * @CreateDate: 2022/4/20 20:41 - * @Version: v1.0 - */ + * 代缴机构列表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("代缴机构列表") -@TableOperates(value = { - @Operates(index = 0, text = "编辑", labelId = 87058), - @Operates(index = 1, text = "删除", labelId = 87061) -}) +//@ApiModel("") +//@TableOperates(value = { +// @Operates(index = 0, text = "编辑", labelId = 87058), +// @Operates(index = 1, text = "删除", labelId = 87061) +//}) public class PaymentAgencyListDTO { /** * 主键id */ - @ApiModelProperty("主键id") - @JsonSerialize(using = ToStringSerializer.class) +// @ApiModelProperty("主键id") +// @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * 社保福利代缴机构 */ - @WeaFormat( - label = "社保福利代缴机构", - labelId = 112448, - tableColumn = @TableColumn(width = "200") - ) - @ApiModelProperty("社保福利代缴机构") +// @WeaFormat( +// label = "社保福利代缴机构", +// labelId = 112448, +// tableColumn = @TableColumn(width = "200") +// ) +// @ApiModelProperty("社保福利代缴机构") private String agencyName; /** * 备注 */ - @WeaFormat( - label = "备注", - labelId = 84961, - tableColumn = @TableColumn(width = "300") - ) - @ApiModelProperty("备注") +// @WeaFormat( +// label = "备注", +// labelId = 84961, +// tableColumn = @TableColumn(width = "300") +// ) +// @ApiModelProperty("备注") private String remarks; } diff --git a/src/com/engine/salary/entity/agency/po/PaymentAgencyPO.java b/src/com/engine/salary/entity/agency/po/PaymentAgencyPO.java index e9c394198..93045f86e 100644 --- a/src/com/engine/salary/entity/agency/po/PaymentAgencyPO.java +++ b/src/com/engine/salary/entity/agency/po/PaymentAgencyPO.java @@ -1,7 +1,5 @@ package com.engine.salary.entity.agency.po; -import com.baomidou.mybatisplus.annotation.TableName; -import com.weaver.common.elog.annotation.ElogTransform; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -9,65 +7,50 @@ import lombok.NoArgsConstructor; import java.time.LocalDateTime; -/** - * @Description: - * @Author: zhangheng - * @CreateDate: 2022/4/20 20:24 - * @Version: v1.0 - */ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@TableName("hrsa_payment_agency") -@ElogTransform(name = "数据采集-累计专项附加扣除表") +//hrsa_payment_agency public class PaymentAgencyPO { /** * 主键id */ - @ElogTransform(name = "主键id") private Long id; /** * 机构名称 */ - @ElogTransform(name = "机构名称") private String agencyName; /** * 备注 */ - @ElogTransform(name = "备注") private String remarks; /** * 创建时间 */ - @ElogTransform(name = "创建时间", ignore = true) private LocalDateTime createTime; /** * 更新时间 */ - @ElogTransform(name = "更新时间", ignore = true) private LocalDateTime updateTime; /** * 创建人 */ - @ElogTransform(name = "创建人", ignore = true) private Long creator; /** * 是否已删除。0:未删除、1:已删除 */ - @ElogTransform(name = "是否已删除", ignore = true) private Integer deleteType; /** * 租户ID */ - @ElogTransform(name = "租户key", ignore = true) private String tenantKey; } diff --git a/src/com/engine/salary/entity/hrm/HrmStatus.java b/src/com/engine/salary/entity/hrm/HrmStatus.java new file mode 100644 index 000000000..26fbdb755 --- /dev/null +++ b/src/com/engine/salary/entity/hrm/HrmStatus.java @@ -0,0 +1,16 @@ +package com.engine.salary.entity.hrm; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class HrmStatus { + String id; + + String name; +} diff --git a/src/com/engine/salary/entity/hrm/SubCompanyInfo.java b/src/com/engine/salary/entity/hrm/SubCompanyInfo.java new file mode 100644 index 000000000..84fb417f9 --- /dev/null +++ b/src/com/engine/salary/entity/hrm/SubCompanyInfo.java @@ -0,0 +1,28 @@ +package com.engine.salary.entity.hrm; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 分部信息 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SubCompanyInfo { + + private Long id; + + /** + * 名称 + */ + private String name; +} diff --git a/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java b/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java index fcd6abcd2..f1e97ac2e 100644 --- a/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java +++ b/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java @@ -7,7 +7,10 @@ import com.cloudstore.eccom.pc.table.WeaTableOperates; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.agency.po.PaymentAgencyPO; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.hrm.DeptInfo; +import com.engine.salary.entity.hrm.HrmStatus; import com.engine.salary.entity.hrm.PositionInfo; +import com.engine.salary.entity.hrm.SubCompanyInfo; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentListDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeListDTO; @@ -26,10 +29,6 @@ import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.google.common.base.Joiner; import com.google.common.collect.Lists; -import com.weaver.common.component.table.permission.Permission; -import com.weaver.common.hrm.cache.HrmDepartmentComInfo; -import com.weaver.common.hrm.cache.HrmPositionComInfo; -import com.weaver.common.hrm.domain.employee.HrmStatus; import dm.jdbc.util.IdGenerator; import lombok.AllArgsConstructor; import lombok.Builder; @@ -244,6 +243,7 @@ public class TaxAgentBO { .createTime(now) .updateTime(now) .creator(employeeId) + .deleteType(0) .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) .build(); } @@ -285,17 +285,17 @@ public class TaxAgentBO { * @return */ public static List convert2ListDTO(List taxAgentManageRanges, List employeeComInfos, - List departmentComInfos, List subDepartmentComInfos, + List departmentComInfos, List subDepartmentComInfos, List positionComInfos, List hrmStatusList) { if (CollectionUtils.isEmpty(taxAgentManageRanges)) { return Collections.emptyList(); } Map employeeComInfoMap = SalaryEntityUtil.convert2Map(employeeComInfos, DataCollectionEmployee::getEmployeeId, DataCollectionEmployee::getUsername); - Map departmentComInfoMap = SalaryEntityUtil.convert2Map(departmentComInfos, HrmDepartmentComInfo::getId, HrmDepartmentComInfo::getName); - Map subDepartmentComInfoMap = SalaryEntityUtil.convert2Map(subDepartmentComInfos, HrmDepartmentComInfo::getId, HrmDepartmentComInfo::getName); - Map positionComInfoMap = SalaryEntityUtil.convert2Map(positionComInfos, HrmPositionComInfo::getId, HrmPositionComInfo::getName); + Map departmentComInfoMap = SalaryEntityUtil.convert2Map(departmentComInfos, DeptInfo::getId, DeptInfo::getName); + Map subDepartmentComInfoMap = SalaryEntityUtil.convert2Map(subDepartmentComInfos, SubCompanyInfo::getId, SubCompanyInfo::getName); + Map positionComInfoMap = SalaryEntityUtil.convert2Map(positionComInfos, PositionInfo::getId, PositionInfo::getName); - Map hrmStatusNameMap = SalaryEntityUtil.convert2Map(hrmStatusList, hrmStatus -> String.valueOf(hrmStatus.getCodeId()), HrmStatus::getName); + Map hrmStatusNameMap = SalaryEntityUtil.convert2Map(hrmStatusList, hrmStatus -> String.valueOf(hrmStatus.getId()), HrmStatus::getName); return taxAgentManageRanges.stream() .map(taxAgentManageRange -> { @@ -354,14 +354,14 @@ public class TaxAgentBO { } } - public static Result handleTaxAgentRange(List taxAgentManageRanges, TaxAgentManageRangeSaveParam saveParam, Long taxAgentId, Long employeeId, - String tenantKey) { - return handleManageRange(taxAgentManageRanges, saveParam, TaxAgentRangeTypeEnum.TAXAGENT, taxAgentId, 0L, employeeId, tenantKey); + public static Result handleTaxAgentRange(List taxAgentManageRanges, TaxAgentManageRangeSaveParam saveParam, Long taxAgentId, Long employeeId + ) { + return handleManageRange(taxAgentManageRanges, saveParam, TaxAgentRangeTypeEnum.TAXAGENT, taxAgentId, 0L, employeeId); } public static Result handleSubAdminRange(List taxAgentManageRanges, TaxAgentManageRangeSaveParam saveParam, Long taxAgentId, Long subAdminId, - Long employeeId, String tenantKey) { - return handleManageRange(taxAgentManageRanges, saveParam, TaxAgentRangeTypeEnum.SUBADMIN, taxAgentId, subAdminId, employeeId, tenantKey); + Long employeeId) { + return handleManageRange(taxAgentManageRanges, saveParam, TaxAgentRangeTypeEnum.SUBADMIN, taxAgentId, subAdminId, employeeId); } /** @@ -372,11 +372,10 @@ public class TaxAgentBO { * @param taxAgentId * @param subAdminId * @param employeeId - * @param tenantKey * @return */ private static Result handleManageRange(List taxAgentManageRanges, TaxAgentManageRangeSaveParam saveParam, - TaxAgentRangeTypeEnum rangeTypeEnum, Long taxAgentId, Long subAdminId, Long employeeId, String tenantKey) { + TaxAgentRangeTypeEnum rangeTypeEnum, Long taxAgentId, Long subAdminId, Long employeeId) { Date now = new Date(); Result handleResult = Result.builder() .needInsertTaxAgentManageRanges(Lists.newArrayList()) @@ -408,7 +407,7 @@ public class TaxAgentBO { .creator(employeeId) .createTime(now) .updateTime(now) - .tenantKey(tenantKey) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) .deleteType(0) .build(); handleResult.getNeedInsertTaxAgentManageRanges().add(taxAgentManageRange); diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordForFormSearchConditionDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordForFormSearchConditionDTO.java index 954c6bfd1..0316a764b 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordForFormSearchConditionDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordForFormSearchConditionDTO.java @@ -1,99 +1,99 @@ -package com.engine.salary.entity.taxagent.dto; - -import com.weaver.common.component.search.item.WeaSearchConditionItemType; -import com.weaver.common.component.search.item.WeaSearchConditionOption; -import com.weaver.hrm.salary.annotation.SalarySearchCondition; -import com.weaver.hrm.salary.annotation.SalarySearchConditionItem; -import com.weaver.hrm.salary.enums.SalaryUserStatusEnum; -import com.weaver.hrm.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; -import com.weaver.hrm.salary.util.SalaryI18nUtil; -import com.weaver.teams.security.context.TenantContext; -import com.weaver.teams.security.context.UserContext; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -/** - * @Description: 薪资档案操作记录 - * @Author: wangxiangzhong - * @Date: 2021/11/24 17:09 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class TaxAgentAdjustRecordForFormSearchConditionDTO { - - @SalarySearchCondition( - label = "个税扣缴义务人", - labelId = 86184, - needQuickSearch = true, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "taxAgent", options = "getTaxAgentOptions()"), - } - ) - private String taxAgent; - - /** - * 个税扣缴义务人选项 - */ - private List taxAgentOptions; - - @SalarySearchCondition( - label = "调整原因", - labelId = 85431, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "adjustReason", options = "getAdjustReasonOptions()"), - } - ) - private SalaryArchiveTaxAgentAdjustReasonEnum adjustReason; - - @SalarySearchCondition( - label = "生效日期", - labelId = 85904, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "effectiveTime") - } - ) - private String effectiveTime; - - @SalarySearchCondition( - label = "操作日期", - labelId = 91058, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "operateTime") - } - ) - private String operateTime; - - @SalarySearchCondition( - label = "操作人", - labelId = 85435, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "resource", browserMultiple = true, name = "operator", browserModule = "hrmsalary") - } - ) - private String operator; - - @SalarySearchCondition( - label = "备注", - labelId = 84961, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.INPUT, name = "description"), - } - ) - private String description; - - private List getUserStatus(){ - return Arrays.stream(SalaryUserStatusEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); - } - - private List getAdjustReasonOptions(){ - return Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); - } -} +//package com.engine.salary.entity.taxagent.dto; +// +//import com.weaver.common.component.search.item.WeaSearchConditionItemType; +//import com.weaver.common.component.search.item.WeaSearchConditionOption; +//import com.weaver.hrm.salary.annotation.SalarySearchCondition; +//import com.weaver.hrm.salary.annotation.SalarySearchConditionItem; +//import com.weaver.hrm.salary.enums.SalaryUserStatusEnum; +//import com.weaver.hrm.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; +//import com.weaver.hrm.salary.util.SalaryI18nUtil; +//import com.weaver.teams.security.context.TenantContext; +//import com.weaver.teams.security.context.UserContext; +//import lombok.AllArgsConstructor; +//import lombok.Builder; +//import lombok.Data; +//import lombok.NoArgsConstructor; +// +//import java.util.Arrays; +//import java.util.List; +//import java.util.stream.Collectors; +// +///** +// * @Description: 薪资档案操作记录 +// * @Author: wangxiangzhong +// * @Date: 2021/11/24 17:09 +// */ +//@Data +//@Builder +//@NoArgsConstructor +//@AllArgsConstructor +//public class TaxAgentAdjustRecordForFormSearchConditionDTO { +// +// @SalarySearchCondition( +// label = "个税扣缴义务人", +// labelId = 86184, +// needQuickSearch = true, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "taxAgent", options = "getTaxAgentOptions()"), +// } +// ) +// private String taxAgent; +// +// /** +// * 个税扣缴义务人选项 +// */ +// private List taxAgentOptions; +// +// @SalarySearchCondition( +// label = "调整原因", +// labelId = 85431, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "adjustReason", options = "getAdjustReasonOptions()"), +// } +// ) +// private SalaryArchiveTaxAgentAdjustReasonEnum adjustReason; +// +// @SalarySearchCondition( +// label = "生效日期", +// labelId = 85904, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "effectiveTime") +// } +// ) +// private String effectiveTime; +// +// @SalarySearchCondition( +// label = "操作日期", +// labelId = 91058, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "operateTime") +// } +// ) +// private String operateTime; +// +// @SalarySearchCondition( +// label = "操作人", +// labelId = 85435, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "resource", browserMultiple = true, name = "operator", browserModule = "hrmsalary") +// } +// ) +// private String operator; +// +// @SalarySearchCondition( +// label = "备注", +// labelId = 84961, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.INPUT, name = "description"), +// } +// ) +// private String description; +// +// private List getUserStatus(){ +// return Arrays.stream(SalaryUserStatusEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); +// } +// +// private List getAdjustReasonOptions(){ +// return Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); +// } +//} diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordListDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordListDTO.java index 747e091e8..36cb60e2b 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordListDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordListDTO.java @@ -1,136 +1,136 @@ -package com.engine.salary.entity.taxagent.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.weaver.common.authority.format.TableColumn; -import com.weaver.common.authority.format.TableOperates; -import com.weaver.common.authority.format.WeaFormat; -import com.weaver.common.component.table.type.WeaTableTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.Date; - -/** - * @Description: 个税扣缴义务人调整记录列表 - * @Author: wangxiangzhong - * @Date: 2021/11/1 16:34 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("个税扣缴义务人调整记录列表") -@TableOperates(tableType = WeaTableTypeEnum.CHECKBOX) -public class TaxAgentAdjustRecordListDTO { - @ApiModelProperty("主键id") - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 人员信息表的主键id - */ - private Long employeeId; - - @ApiModelProperty("姓名") - @WeaFormat( - label = "姓名", - labelId = 85429, - tableColumn = @TableColumn(width = "100") - ) - private String username; - - @ApiModelProperty("部门") - @WeaFormat( - label = "部门", - labelId = 86185, - tableColumn = @TableColumn(width = "100") - ) - private String departmentName; - - @ApiModelProperty("员工状态") - @WeaFormat( - label = "员工状态", - labelId = 86187, - tableColumn = @TableColumn(width = "100") - ) - private String employeeStatus; - - @ApiModelProperty("调整前") - @WeaFormat( - label = "调整前", - labelId = 85433, - tableColumn = @TableColumn(width = "100") - ) - private String adjustBefore; - - @ApiModelProperty("调整后") - @WeaFormat( - label = "调整后", - labelId = 85434, - tableColumn = @TableColumn(width = "100") - ) - private String adjustAfter; - - @ApiModelProperty("调整原因") - @WeaFormat( - label = "调整原因", - labelId = 85431, - tableColumn = @TableColumn(width = "100") - ) - private String adjustReason; - - @ApiModelProperty("生效日期") - @WeaFormat( - label = "生效日期", - labelId = 85904, - tableColumn = @TableColumn(width = "100") - ) - @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDate effectiveTime; - - @ApiModelProperty("操作人") - @WeaFormat( - label = "操作人", - labelId = 85435, - tableColumn = @TableColumn(width = "100") - ) - private String operator; - - @ApiModelProperty("操作时间") - @WeaFormat( - label = "操作时间", - labelId = 85436, - tableColumn = @TableColumn(width = "150") - ) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date operateTime; - - @ApiModelProperty("备注") - @WeaFormat( - label = "备注", - labelId = 84961, - tableColumn = @TableColumn(width = "100") - ) - private String description; - - /** - * 薪资档案id - */ - @JsonIgnore - private Long salaryArchiveId; - - /** - * 个税扣缴义务人id - */ - @JsonIgnore - private Long taxAgentId; - -} +//package com.engine.salary.entity.taxagent.dto; +// +//import com.fasterxml.jackson.annotation.JsonFormat; +//import com.fasterxml.jackson.annotation.JsonIgnore; +//import com.fasterxml.jackson.databind.annotation.JsonSerialize; +//import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +//import com.weaver.common.authority.format.TableColumn; +//import com.weaver.common.authority.format.TableOperates; +//import com.weaver.common.authority.format.WeaFormat; +//import com.weaver.common.component.table.type.WeaTableTypeEnum; +//import io.swagger.annotations.ApiModel; +//import io.swagger.annotations.ApiModelProperty; +//import lombok.AllArgsConstructor; +//import lombok.Builder; +//import lombok.Data; +//import lombok.NoArgsConstructor; +// +//import java.time.LocalDate; +//import java.util.Date; +// +///** +// * @Description: 个税扣缴义务人调整记录列表 +// * @Author: wangxiangzhong +// * @Date: 2021/11/1 16:34 +// */ +//@Data +//@Builder +//@NoArgsConstructor +//@AllArgsConstructor +//@ApiModel("个税扣缴义务人调整记录列表") +//@TableOperates(tableType = WeaTableTypeEnum.CHECKBOX) +//public class TaxAgentAdjustRecordListDTO { +// @ApiModelProperty("主键id") +// @JsonSerialize(using = ToStringSerializer.class) +// private Long id; +// +// /** +// * 人员信息表的主键id +// */ +// private Long employeeId; +// +// @ApiModelProperty("姓名") +// @WeaFormat( +// label = "姓名", +// labelId = 85429, +// tableColumn = @TableColumn(width = "100") +// ) +// private String username; +// +// @ApiModelProperty("部门") +// @WeaFormat( +// label = "部门", +// labelId = 86185, +// tableColumn = @TableColumn(width = "100") +// ) +// private String departmentName; +// +// @ApiModelProperty("员工状态") +// @WeaFormat( +// label = "员工状态", +// labelId = 86187, +// tableColumn = @TableColumn(width = "100") +// ) +// private String employeeStatus; +// +// @ApiModelProperty("调整前") +// @WeaFormat( +// label = "调整前", +// labelId = 85433, +// tableColumn = @TableColumn(width = "100") +// ) +// private String adjustBefore; +// +// @ApiModelProperty("调整后") +// @WeaFormat( +// label = "调整后", +// labelId = 85434, +// tableColumn = @TableColumn(width = "100") +// ) +// private String adjustAfter; +// +// @ApiModelProperty("调整原因") +// @WeaFormat( +// label = "调整原因", +// labelId = 85431, +// tableColumn = @TableColumn(width = "100") +// ) +// private String adjustReason; +// +// @ApiModelProperty("生效日期") +// @WeaFormat( +// label = "生效日期", +// labelId = 85904, +// tableColumn = @TableColumn(width = "100") +// ) +// @JsonFormat(pattern = "yyyy-MM-dd") +// private LocalDate effectiveTime; +// +// @ApiModelProperty("操作人") +// @WeaFormat( +// label = "操作人", +// labelId = 85435, +// tableColumn = @TableColumn(width = "100") +// ) +// private String operator; +// +// @ApiModelProperty("操作时间") +// @WeaFormat( +// label = "操作时间", +// labelId = 85436, +// tableColumn = @TableColumn(width = "150") +// ) +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// private Date operateTime; +// +// @ApiModelProperty("备注") +// @WeaFormat( +// label = "备注", +// labelId = 84961, +// tableColumn = @TableColumn(width = "100") +// ) +// private String description; +// +// /** +// * 薪资档案id +// */ +// @JsonIgnore +// private Long salaryArchiveId; +// +// /** +// * 个税扣缴义务人id +// */ +// @JsonIgnore +// private Long taxAgentId; +// +//} diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordSearchConditionDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordSearchConditionDTO.java index 04ef727f2..e2e7ef399 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordSearchConditionDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentAdjustRecordSearchConditionDTO.java @@ -1,139 +1,139 @@ -package com.engine.salary.entity.taxagent.dto; - -import com.weaver.common.component.search.item.WeaSearchConditionItemType; -import com.weaver.common.component.search.item.WeaSearchConditionOption; -import com.weaver.hrm.salary.annotation.SalarySearchCondition; -import com.weaver.hrm.salary.annotation.SalarySearchConditionItem; -import com.weaver.hrm.salary.enums.SalaryUserStatusEnum; -import com.weaver.hrm.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; -import com.weaver.hrm.salary.util.SalaryI18nUtil; -import com.weaver.teams.api.user.UserStatus; -import com.weaver.teams.security.context.TenantContext; -import com.weaver.teams.security.context.UserContext; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -/** - * @Description: 薪资档案操作记录 - * @Author: wangxiangzhong - * @Date: 2021/11/24 17:09 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class TaxAgentAdjustRecordSearchConditionDTO { - - @SalarySearchCondition( - label = "姓名", - labelId = 85429, - needQuickSearch = true, - quickSearchKey = "username", - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.INPUT, name = "username"), - } - ) - private String username; - - @SalarySearchCondition( - label = "岗位", - labelId = 90633, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "position", browserMultiple = true, name = "position", browserModule = "hrmsalary") - } - ) - private String position; - - @SalarySearchCondition( - label = "状态", - labelId = 91075, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "status", options = "getUserStatus()") - } - ) - private UserStatus status; - - @SalarySearchCondition( - label = "部门", - labelId = 86185, - needQuickSearch = true, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "department", browserMultiple = true, name = "department", browserModule = "hrmsalary") - } - ) - private String department; - - @SalarySearchCondition( - label = "个税扣缴义务人", - labelId = 86184, - needQuickSearch = true, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "taxAgent", options = "getTaxAgentOptions()"), - } - ) - private String taxAgent; - - /** - * 个税扣缴义务人选项 - */ - private List taxAgentOptions; - - @SalarySearchCondition( - label = "调整原因", - labelId = 85431, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "adjustReason", options = "getAdjustReasonOptions()"), - } - ) - private SalaryArchiveTaxAgentAdjustReasonEnum adjustReason; - - @SalarySearchCondition( - label = "生效日期", - labelId = 85904, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "effectiveTime") - } - ) - private String effectiveTime; - - @SalarySearchCondition( - label = "操作日期", - labelId = 91058, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "operateTime") - } - ) - private String operateTime; - - @SalarySearchCondition( - label = "操作人", - labelId = 85435, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "resource", browserMultiple = true, name = "operator", browserModule = "hrmsalary") - } - ) - private String operator; - - @SalarySearchCondition( - label = "备注", - labelId = 84961, - items = { - @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.INPUT, name = "description"), - } - ) - private String description; - - private List getUserStatus(){ - return Arrays.stream(SalaryUserStatusEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); - } - - private List getAdjustReasonOptions(){ - return Arrays.stream(SalaryUserStatusEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); - } -} +//package com.engine.salary.entity.taxagent.dto; +// +//import com.weaver.common.component.search.item.WeaSearchConditionItemType; +//import com.weaver.common.component.search.item.WeaSearchConditionOption; +//import com.weaver.hrm.salary.annotation.SalarySearchCondition; +//import com.weaver.hrm.salary.annotation.SalarySearchConditionItem; +//import com.weaver.hrm.salary.enums.SalaryUserStatusEnum; +//import com.weaver.hrm.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; +//import com.weaver.hrm.salary.util.SalaryI18nUtil; +//import com.weaver.teams.api.user.UserStatus; +//import com.weaver.teams.security.context.TenantContext; +//import com.weaver.teams.security.context.UserContext; +//import lombok.AllArgsConstructor; +//import lombok.Builder; +//import lombok.Data; +//import lombok.NoArgsConstructor; +// +//import java.util.Arrays; +//import java.util.List; +//import java.util.stream.Collectors; +// +///** +// * @Description: 薪资档案操作记录 +// * @Author: wangxiangzhong +// * @Date: 2021/11/24 17:09 +// */ +//@Data +//@Builder +//@NoArgsConstructor +//@AllArgsConstructor +//public class TaxAgentAdjustRecordSearchConditionDTO { +// +// @SalarySearchCondition( +// label = "姓名", +// labelId = 85429, +// needQuickSearch = true, +// quickSearchKey = "username", +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.INPUT, name = "username"), +// } +// ) +// private String username; +// +// @SalarySearchCondition( +// label = "岗位", +// labelId = 90633, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "position", browserMultiple = true, name = "position", browserModule = "hrmsalary") +// } +// ) +// private String position; +// +// @SalarySearchCondition( +// label = "状态", +// labelId = 91075, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "status", options = "getUserStatus()") +// } +// ) +// private UserStatus status; +// +// @SalarySearchCondition( +// label = "部门", +// labelId = 86185, +// needQuickSearch = true, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "department", browserMultiple = true, name = "department", browserModule = "hrmsalary") +// } +// ) +// private String department; +// +// @SalarySearchCondition( +// label = "个税扣缴义务人", +// labelId = 86184, +// needQuickSearch = true, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "taxAgent", options = "getTaxAgentOptions()"), +// } +// ) +// private String taxAgent; +// +// /** +// * 个税扣缴义务人选项 +// */ +// private List taxAgentOptions; +// +// @SalarySearchCondition( +// label = "调整原因", +// labelId = 85431, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.SELECT, name = "adjustReason", options = "getAdjustReasonOptions()"), +// } +// ) +// private SalaryArchiveTaxAgentAdjustReasonEnum adjustReason; +// +// @SalarySearchCondition( +// label = "生效日期", +// labelId = 85904, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "effectiveTime") +// } +// ) +// private String effectiveTime; +// +// @SalarySearchCondition( +// label = "操作日期", +// labelId = 91058, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.DATEPICKER, name = "operateTime") +// } +// ) +// private String operateTime; +// +// @SalarySearchCondition( +// label = "操作人", +// labelId = 85435, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.BROWSER, browserType = "resource", browserMultiple = true, name = "operator", browserModule = "hrmsalary") +// } +// ) +// private String operator; +// +// @SalarySearchCondition( +// label = "备注", +// labelId = 84961, +// items = { +// @SalarySearchConditionItem(itemType = WeaSearchConditionItemType.INPUT, name = "description"), +// } +// ) +// private String description; +// +// private List getUserStatus(){ +// return Arrays.stream(SalaryUserStatusEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); +// } +// +// private List getAdjustReasonOptions(){ +// return Arrays.stream(SalaryUserStatusEnum.values()).map(m->new WeaSearchConditionOption(m.name(), SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), m.getLabelId(), m.getDefaultLabel()))).collect(Collectors.toList()); +// } +//} diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentBaseFormDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentBaseFormDTO.java index d5f193b3d..580ddd585 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentBaseFormDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentBaseFormDTO.java @@ -1,34 +1,30 @@ package com.engine.salary.entity.taxagent.dto; -import com.weaver.common.component.form.item.WeaFormItemType; -import com.weaver.hrm.salary.annotation.SalaryForm; -import com.weaver.hrm.salary.annotation.SalaryFormItem; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * @Description: 个税扣缴义务人基础信息 - * @Author: wangxiangzhong - * @Date: 2022/3/21 10:00 - */ + * 个税扣缴义务人基础信息表单 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("个税扣缴义务人基础信息表单") public class TaxAgentBaseFormDTO { - @SalaryForm( - label = "启用分权", - labelId = 106270, - items = { - @SalaryFormItem(itemType = WeaFormItemType.SWITCH) - } - ) - @ApiModelProperty("启用分权") +// @SalaryForm( +// label = "启用分权", +// labelId = 106270, +// items = { +// @SalaryFormItem(itemType = WeaFormItemType.SWITCH) +// } +// ) private Boolean devolutionStatus; } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeDTO.java index 1081993c3..aae1dd4e9 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeDTO.java @@ -1,41 +1,37 @@ package com.engine.salary.entity.taxagent.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Builder; import lombok.Data; /** - * @Description: 个税扣缴义务人以及管理范围中的人员 - * @Author: wangxiangzhong - * @Date: 2022/3/24 14:44 - */ + * 个税扣缴义务人以及管理范围中的人员 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder -@ApiModel("个税扣缴义务人以及管理范围中的人员") public class TaxAgentEmployeeDTO { /** * 个税扣缴义务人id */ - @ApiModelProperty("个税扣缴义务人id") private Long taxAgentId; /** - * 名称 + * 个税扣缴义务人名称 */ - @ApiModelProperty("个税扣缴义务人名称") private String taxAgentName; /** * 人员id */ - @ApiModelProperty("人员id") private Long employeeId; /** * 名字 */ - @ApiModelProperty("名字") private String username; } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeTaxAgentDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeTaxAgentDTO.java index 88253b492..976fcddc1 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeTaxAgentDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentEmployeeTaxAgentDTO.java @@ -1,32 +1,29 @@ package com.engine.salary.entity.taxagent.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Builder; import lombok.Data; import java.util.List; /** - * @description: 管理范围的人员与个税扣缴义务人的关联数据 - * @Author: wangxiangzhong - * @Date: 2022/3/22 17:08 - * @version:v1.0 - */ + * 管理范围的人员与个税扣缴义务人的关联数据 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder -@ApiModel("管理范围的人员与个税扣缴义务人的关联数据") public class TaxAgentEmployeeTaxAgentDTO { /** * 人员id */ - @ApiModelProperty("人员id") private Long employeeId; /** * 个税扣缴义务人id列表 */ - @ApiModelProperty("个税扣缴义务人id列表") private List taxAgentIds; } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentListDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentListDTO.java index ff7d55bb0..78b35c633 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentListDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentListDTO.java @@ -2,13 +2,6 @@ package com.engine.salary.entity.taxagent.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.weaver.common.authority.format.Operates; -import com.weaver.common.authority.format.TableColumn; -import com.weaver.common.authority.format.TableOperates; -import com.weaver.common.authority.format.WeaFormat; -import com.weaver.common.component.table.type.WeaTableTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -23,30 +16,27 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("个税扣缴义务人列表") -@TableOperates(value = { - @Operates(index = 0, text = "编辑" ,labelId = 59943), - @Operates(index = 1, text = "删除" ,labelId = 59942) -}, tableType = WeaTableTypeEnum.NONE) +//@ApiModel("个税扣缴义务人列表") +//@TableOperates(value = { +// @Operates(index = 0, text = "编辑" ,labelId = 59943), +// @Operates(index = 1, text = "删除" ,labelId = 59942) +//}, tableType = WeaTableTypeEnum.NONE) public class TaxAgentListDTO { - @ApiModelProperty("主键id") @JsonSerialize(using = ToStringSerializer.class) private Long id; - @ApiModelProperty("个税扣缴义务人名称") - @WeaFormat( - label = "个税扣缴义务人名称", - labelId = 91558, - tableColumn = @TableColumn(width = "40%") - ) +// @WeaFormat( +// label = "个税扣缴义务人名称", +// labelId = 91558, +// tableColumn = @TableColumn(width = "40%") +// ) private String name; - @ApiModelProperty("备注") - @WeaFormat( - label = "备注", - labelId = 84961, - tableColumn = @TableColumn(width = "40%") - ) +// @WeaFormat( +// label = "备注", +// labelId = 84961, +// tableColumn = @TableColumn(width = "40%") +// ) private String description; } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeFormDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeFormDTO.java index 7711d9d99..84fe665f3 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeFormDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentManageRangeFormDTO.java @@ -1,55 +1,35 @@ package com.engine.salary.entity.taxagent.dto; -import com.weaver.common.component.browser.combination.TypesBrowserOption; -import com.weaver.common.component.form.item.WeaFormItemType; -import com.weaver.hrm.salary.annotation.SalaryForm; -import com.weaver.hrm.salary.annotation.SalaryFormItem; -import com.weaver.hrm.salary.enums.salarysob.TargetTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import com.engine.salary.entity.hrm.HrmStatus; +import com.engine.salary.enums.salarysob.TargetTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Collection; -import java.util.List; /** - * @description: 范围表单 - * @Author: wangxiangzhong - * @Date: 2022/03/23 09:15 - */ + * 范围表单 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("范围表单") public class TaxAgentManageRangeFormDTO { - @SalaryForm( - label = "对象类型", - labelId = 90394, - items = { - @SalaryFormItem(required = true, itemType = WeaFormItemType.TYPESBROWSER, options = "getTargetOptions()", - browserModule = "hrmsalary", browserType = "hrmcombination", browserMultiple = true) - } - ) - @ApiModelProperty("对象类型") + //对象类型 private TargetTypeEnum targetType; - private List targetOptions; +// private List targetOptions; - @ApiModelProperty("对象id") + //对象id") private Long targetId; - @SalaryForm( - label = "选择人员状态", - labelId = 87825, - items = { - @SalaryFormItem(required = true, itemType = WeaFormItemType.CHECKBOX) - } - ) - @ApiModelProperty("人员状态") - private Collection employeeStatus; + private Collection employeeStatus; } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminBaseFormDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminBaseFormDTO.java index ee958a12b..8fa634d4f 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminBaseFormDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminBaseFormDTO.java @@ -1,10 +1,5 @@ package com.engine.salary.entity.taxagent.dto; -import com.weaver.common.authority.format.Form; -import com.weaver.common.authority.format.WeaFormat; -import com.weaver.common.component.form.item.WeaFormItemType; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -13,33 +8,26 @@ import lombok.NoArgsConstructor; import java.util.List; /** - * @Description: 个税扣缴义务人分管理员基础设置表单 - * @Author: wangxiangzhong - * @Date: 2021/10/29 16:12 - */ + * 个税扣缴义务人分管理员基础设置表单 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("个税扣缴义务人分管理员基础设置表单") public class TaxAgentSubAdminBaseFormDTO { - @ApiModelProperty("主键id") + //主键id private Long id; - @WeaFormat( - label = "分管理员", - labelId = 106283, - from = @Form(itemType = WeaFormItemType.BROWSER, required = true, browserModule = "hrmsalary", browserType = "resource") - ) - @ApiModelProperty("分管理员") + + //分管理员 private List subAdminUser; - @WeaFormat( - label = "备注", - labelId = 84961, - from = @Form(itemType = WeaFormItemType.INPUT, maxLength = "20") - ) - @ApiModelProperty("备注") + //备注 private String description; } diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminListDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminListDTO.java index a2227b4bc..3b7936356 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminListDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentSubAdminListDTO.java @@ -1,60 +1,40 @@ package com.engine.salary.entity.taxagent.dto; +import com.engine.salary.annotation.TableTitle; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.weaver.common.authority.format.Operates; -import com.weaver.common.authority.format.TableColumn; -import com.weaver.common.authority.format.TableOperates; -import com.weaver.common.authority.format.WeaFormat; -import com.weaver.common.component.table.type.WeaTableTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * @Description: 个税扣缴义务人分管理员列表 - * @Author: wangxiangzhong - * @Date: 2022/03/21 15:39 - */ + * 个税扣缴义务人分管理员列表 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ @Data @Builder @NoArgsConstructor @AllArgsConstructor -@ApiModel("个税扣缴义务人分管理员列表") -@TableOperates(value = { - @Operates(index = 0, text = "编辑" ,labelId = 59943), - @Operates(index = 1, text = "删除" ,labelId = 59942) -}, tableType = WeaTableTypeEnum.NONE) public class TaxAgentSubAdminListDTO { - @ApiModelProperty("主键id") + //主键id @JsonSerialize(using = ToStringSerializer.class) private Long id; - @ApiModelProperty("分管理员") - @WeaFormat( - label = "分管理员", - labelId = 106283, - tableColumn = @TableColumn(width = "30%") - ) + //分管理员 + @TableTitle(title = "分管理员", key = "subAdmin", dataIndex = "subAdmin") private String subAdmin; - @ApiModelProperty("管理范围") - @WeaFormat( - label = "管理范围", - labelId = 106250, - tableColumn = @TableColumn(width = "30%") - ) + //管理范围 + @TableTitle(title = "管理范围", key = "range", dataIndex = "range") private String range; - @ApiModelProperty("备注") - @WeaFormat( - label = "备注", - labelId = 84961, - tableColumn = @TableColumn(width = "40%") - ) + //备注 + @TableTitle(title = "备注", key = "description", dataIndex = "description") private String description; } diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentAdminChangeCheckParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentAdminChangeCheckParam.java index 7c32d296f..f25474c2b 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentAdminChangeCheckParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentAdminChangeCheckParam.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.taxagent.param; +import com.engine.salary.util.valid.DataCheck; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,8 +21,10 @@ import lombok.NoArgsConstructor; public class TaxAgentAdminChangeCheckParam { //个税扣缴义务人id + @DataCheck(require = true,message = "个税扣缴义务人id为空") private Long taxAgentId; //管理员主键id + @DataCheck(require = true,message = "管理员主键为空") private Long adminUserId; } diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java index 21da60aae..747418046 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java @@ -1,6 +1,7 @@ package com.engine.salary.entity.taxagent.param; import com.engine.salary.util.valid.DataCheck; +import com.engine.salary.util.valid.RuntimeTypeEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -21,6 +22,7 @@ import lombok.NoArgsConstructor; public class TaxAgentSaveParam { //主键id + @DataCheck(require = true, message = "id为空", runtime = {RuntimeTypeEnum.UPDATE}) private Long id; //名称 diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminBaseFormParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminBaseFormParam.java index f44919dc9..40278cc6b 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminBaseFormParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminBaseFormParam.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.taxagent.param; +import com.engine.salary.util.valid.DataCheck; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -24,5 +25,6 @@ public class TaxAgentSubAdminBaseFormParam { private Long id; //个税扣缴义务人的id + @DataCheck(require = true, message = "个税扣缴义务人的id为空") private Long taxAgentId; } diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminQueryParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminQueryParam.java index 8ec169683..6dec062b2 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminQueryParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentSubAdminQueryParam.java @@ -1,6 +1,7 @@ package com.engine.salary.entity.taxagent.param; import com.engine.salary.common.BaseQueryParam; +import com.engine.salary.util.valid.DataCheck; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -21,5 +22,6 @@ import lombok.NoArgsConstructor; public class TaxAgentSubAdminQueryParam extends BaseQueryParam { //个税扣缴义务人id + @DataCheck(require = true,message = "个税扣缴义务人id为空") private Long taxAgentId; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentAdminPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentAdminPO.java index 97864a19c..88859fe56 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentAdminPO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentAdminPO.java @@ -65,6 +65,6 @@ public class TaxAgentAdminPO { private Collection taxAgentIds; - + private Collection ids; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentBasePO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentBasePO.java index f19e421b2..6930031f9 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentBasePO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentBasePO.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; import java.util.Date; /** @@ -56,4 +57,5 @@ public class TaxAgentBasePO { * 更新时间 */ private Date updateTime; + private Collection ids; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpChangePO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpChangePO.java index 3d52b0cce..505112ce2 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpChangePO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpChangePO.java @@ -7,6 +7,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; import java.util.Date; /** @@ -82,4 +83,6 @@ public class TaxAgentEmpChangePO { * 更新时间 */ private Date updateTime; + + private Collection ids; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpPO.java index 9c716f0a4..671adb4a6 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpPO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentEmpPO.java @@ -69,4 +69,5 @@ public class TaxAgentEmpPO { private Date updateTime; private Collection taxAgentIds; + private Collection ids; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentEmployeePO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentEmployeePO.java index b6b615580..f5c789c82 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentEmployeePO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentEmployeePO.java @@ -5,6 +5,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; + /** * 员工基本信息 *

Copyright: Copyright (c) 2022

@@ -33,4 +35,6 @@ public class TaxAgentEmployeePO { //人事状态") private String personnelStatus; + + private Collection ids; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java index 255d8c88b..a5d695625 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; import java.util.Date; /** @@ -67,4 +68,6 @@ public class TaxAgentPO { * 更新时间 */ private Date updateTime; + + private Collection ids; } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminEmpPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminEmpPO.java index a55fd7140..b9134228e 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminEmpPO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminEmpPO.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; import java.util.Date; /** @@ -71,4 +72,7 @@ public class TaxAgentSubAdminEmpPO { * 更新时间 */ private Date updateTime; + + private Collection ids; + } diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminPO.java index c35cdcfb6..60e2f9ff8 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminPO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentSubAdminPO.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Collection; import java.util.Date; /** @@ -67,4 +68,7 @@ public class TaxAgentSubAdminPO { * 更新时间 */ private Date updateTime; + + private Collection ids; + } diff --git a/src/com/engine/salary/enums/UserStatusEnum.java b/src/com/engine/salary/enums/UserStatusEnum.java index ac209eb22..9a439f30a 100644 --- a/src/com/engine/salary/enums/UserStatusEnum.java +++ b/src/com/engine/salary/enums/UserStatusEnum.java @@ -1,5 +1,7 @@ package com.engine.salary.enums; +import com.engine.salary.entity.hrm.HrmStatus; + import java.util.*; import java.util.stream.Collectors; @@ -83,5 +85,11 @@ public enum UserStatusEnum { return Arrays.stream(UserStatusEnum.values()).filter(v -> v != INVALID).collect(Collectors.toList()); } + public static List getHrmStatusList() { + return Arrays.stream(UserStatusEnum.values()) + .filter(v -> v != INVALID) + .map(v -> HrmStatus.builder().id(v.value.toString()).name(v.description).build()).collect(Collectors.toList()); + } + } diff --git a/src/com/engine/salary/enums/taxagent/TaxAgentRangeTypeEnum.java b/src/com/engine/salary/enums/taxagent/TaxAgentRangeTypeEnum.java index b9355967b..c89faa539 100644 --- a/src/com/engine/salary/enums/taxagent/TaxAgentRangeTypeEnum.java +++ b/src/com/engine/salary/enums/taxagent/TaxAgentRangeTypeEnum.java @@ -1,15 +1,18 @@ package com.engine.salary.enums.taxagent; -import com.weaver.hrm.salary.util.SalaryI18nUtil; +import com.engine.salary.util.SalaryI18nUtil; import java.util.Arrays; import java.util.Optional; /** - * @Description: 范围类型 - * @Author: wangxiangzhong - * @Date: 2021-11-17 14:37 - */ + * 范围类型 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ public enum TaxAgentRangeTypeEnum { TAXAGENT(1, "个税扣缴义务人", 86184), @@ -40,7 +43,7 @@ public enum TaxAgentRangeTypeEnum { } public static String getDefaultLabelByValue(Integer value, Long employeeId, String tenantKey) { - Optional optional = Arrays.stream(TaxAgentRangeTypeEnum.values()).filter(r->Integer.valueOf(r.getValue()).equals(value)).findFirst(); - return optional.isPresent()?SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, optional.get().getLabelId(), optional.get().getDefaultLabel()):""; + Optional optional = Arrays.stream(TaxAgentRangeTypeEnum.values()).filter(r -> Integer.valueOf(r.getValue()).equals(value)).findFirst(); + return optional.isPresent() ? SalaryI18nUtil.getI18nLabel(optional.get().getLabelId(), optional.get().getDefaultLabel()) : ""; } } diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index 39e00fc10..1cd5b5688 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -1,7 +1,9 @@ package com.engine.salary.mapper.datacollection; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.hrm.DeptInfo; import com.engine.salary.entity.hrm.PositionInfo; +import com.engine.salary.entity.hrm.SubCompanyInfo; import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -11,31 +13,36 @@ import java.util.List; @Mapper public interface EmployMapper { - /** - * 获取所有员工 - * @return - */ - List listEmployee(); + /** + * 获取所有员工 + * + * @return + */ + List listEmployee(); - List getEmployeeByIds(@Param("collection") List ids); + List getEmployeeByIds(@Param("collection") List ids); - List getEmployeeByIdsAll(@Param("collection") List ids); + List getEmployeeByIdsAll(@Param("collection") List ids); - List listPositionInfo(@Param("collection") List ids); + List getAdminEmployeeByIds(@Param("collection") List list); - List getAdminEmployeeByIds(@Param("collection") List list); + List getEmployeeIdsByUserName(@Param("userName") String userName); - List getEmployeeIdsByUserName(@Param("userName") String userName); + /** + * 根据薪资账套的人员范围转换而成的查询参数查询人员 + * + * @param queryParams 薪资账套的人员范围转换而成的查询参数 + * @return + */ + List listByParams(@Param("params") Collection queryParams); - /** - * 根据薪资账套的人员范围转换而成的查询参数查询人员 - * - * @param queryParams 薪资账套的人员范围转换而成的查询参数 - * @return - */ - List listByParams(@Param("params") Collection queryParams); + DataCollectionEmployee getEmployeeById(Long employeeId); - DataCollectionEmployee getEmployeeById(Long employeeId); + List listAll(); - List listAll(); + List listPositionInfo(@Param("collection") List ids); + + List getDeptInfoList(@Param("departmentIds") List departmentIds); + + List getSubCompanyInfoList(List subDepartmentIds); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index d1ac649b8..6ecdd03f3 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -162,7 +162,7 @@ AND ( - a.lastname like '%'||#{userName}||'%' + a.lastname like '%'||#{userName}||'%' ) @@ -177,7 +177,7 @@ + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.java b/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.java index 6e22e36b1..58f7542ad 100644 --- a/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.java +++ b/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.java @@ -2,6 +2,7 @@ package com.engine.salary.mapper.taxagent; import com.engine.salary.entity.taxagent.po.TaxAgentManageRangePO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; @@ -65,5 +66,9 @@ public interface TaxAgentManageRangeMapper { */ int delete(TaxAgentManageRangePO taxAgentManageRange); - void deleteByIds(Collection ids); + void deleteByIds(@Param("ids") Collection ids); + + void deleteByTaxAgentIds(@Param("taxAgentIds") Collection taxAgentIds); + + void deleteBySubAdminIds(Collection subAdminIds); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.xml b/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.xml index b5de0a9e8..c19c09421 100644 --- a/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.xml +++ b/src/com/engine/salary/mapper/taxagent/TaxAgentManageRangeMapper.xml @@ -304,5 +304,26 @@ AND delete_type = 0 + + UPDATE hrsa_tax_agent_manage_range + SET delete_type=1 + WHERE + tax_agent_id IN + + #{taxAgentId} + + AND delete_type = 0 + + + + UPDATE hrsa_tax_agent_manage_range + SET delete_type=1 + WHERE + tax_agent_sub_admin_id IN + + #{subAdminId} + + AND delete_type = 0 + \ No newline at end of file diff --git a/src/com/engine/salary/service/TaxAgentAdminService.java b/src/com/engine/salary/service/TaxAgentAdminService.java index 9c370fa98..274ba8c07 100644 --- a/src/com/engine/salary/service/TaxAgentAdminService.java +++ b/src/com/engine/salary/service/TaxAgentAdminService.java @@ -42,7 +42,6 @@ public interface TaxAgentAdminService { * 根据个税扣缴义务人id查询管理员 * * @param taxAgentIds - * @param currentEmployeeId * @return */ List listByTaxAgentIdsAndEmployeeId(Collection taxAgentIds, Long currentEmployeeId); diff --git a/src/com/engine/salary/service/TaxAgentManageRangeService.java b/src/com/engine/salary/service/TaxAgentManageRangeService.java index 33b1e6c31..88f6cf3b4 100644 --- a/src/com/engine/salary/service/TaxAgentManageRangeService.java +++ b/src/com/engine/salary/service/TaxAgentManageRangeService.java @@ -87,25 +87,22 @@ public interface TaxAgentManageRangeService { * 保存 * * @param saveParam 保存参数 - * @param employeeId 人员id */ - void save(TaxAgentRangeSaveParam saveParam, Long employeeId); + void save(TaxAgentRangeSaveParam saveParam); /** * 保存分管理员的管理范围 * * @param saveParam - * @param employeeId */ - void save4SubAdmin(TaxAgentSubAdminRangeSaveParam saveParam, Long employeeId); + void save4SubAdmin(TaxAgentSubAdminRangeSaveParam saveParam); /** * 根据主键id删除管理范围 * * @param ids - * @param employeeId */ - void deleteByIds(Collection ids, Long employeeId); + void deleteByIds(Collection ids); /** * 根据个税扣缴义务人的id删除管理范围 diff --git a/src/com/engine/salary/service/TaxAgentSubAdminEmpService.java b/src/com/engine/salary/service/TaxAgentSubAdminEmpService.java index a5a4cad17..88bee1f51 100644 --- a/src/com/engine/salary/service/TaxAgentSubAdminEmpService.java +++ b/src/com/engine/salary/service/TaxAgentSubAdminEmpService.java @@ -21,7 +21,6 @@ public interface TaxAgentSubAdminEmpService{ * * @param subAdminEmpSaveParamList * @param employeeId - * @param tenantKey */ void syncTaxAgentSubAdminEmployee(List subAdminEmpSaveParamList, Long employeeId); @@ -29,7 +28,6 @@ public interface TaxAgentSubAdminEmpService{ * 根据分管理员id获取人员 * * @param subAdminIds - * @param tenantKey * @return */ List listBySubAdminIds(List subAdminIds); @@ -38,7 +36,6 @@ public interface TaxAgentSubAdminEmpService{ * 根据分管理员id删除人员 * * @param subAdminIds - * @param tenantKey */ void deleteBySubAdminIds(Collection subAdminIds); diff --git a/src/com/engine/salary/service/TaxAgentSubAdminService.java b/src/com/engine/salary/service/TaxAgentSubAdminService.java index f428ede25..4ec62274a 100644 --- a/src/com/engine/salary/service/TaxAgentSubAdminService.java +++ b/src/com/engine/salary/service/TaxAgentSubAdminService.java @@ -60,10 +60,9 @@ public interface TaxAgentSubAdminService { * 根据id删除分管理员 * * @param ids - * @param employeeId * @return */ - String deleteByIds(Collection ids, Long employeeId); + String deleteByIds(Collection ids); /** * 根据分管理员id和个税扣缴义务人id获取分管理员 @@ -77,8 +76,7 @@ public interface TaxAgentSubAdminService { * 保存基础设置 * * @param saveParam - * @param employeeId * @return */ - String saveBase(TaxAgentSubAdminBaseSaveParam saveParam, Long employeeId); + String saveBase(TaxAgentSubAdminBaseSaveParam saveParam); } diff --git a/src/com/engine/salary/service/TaxAgentV2Service.java b/src/com/engine/salary/service/TaxAgentV2Service.java index 29bce7029..ab40411dc 100644 --- a/src/com/engine/salary/service/TaxAgentV2Service.java +++ b/src/com/engine/salary/service/TaxAgentV2Service.java @@ -125,10 +125,9 @@ public interface TaxAgentV2Service { * 新建个税扣缴义务人 * * @param saveParam - * @param employeeId * @return */ - String save(TaxAgentSaveParam saveParam, Long employeeId); + String save(TaxAgentSaveParam saveParam); /** * 更新代缴机构 @@ -142,27 +141,24 @@ public interface TaxAgentV2Service { * 编辑个税扣缴义务人 * * @param saveParam - * @param employeeId * @return */ - String update(TaxAgentSaveParam saveParam, Long employeeId); + String update(TaxAgentSaveParam saveParam); /** * 删除个税扣缴义务人 * * @param ids - * @param employeeId * @return */ - String delete(Collection ids, Long employeeId); + String delete(Collection ids); /** * 获取个税扣缴义务人下拉列表 * - * @param currentEmployeeId * @return */ - List> selectList(Long currentEmployeeId); + List> selectList(); /** * 是否开启分权 @@ -209,8 +205,7 @@ public interface TaxAgentV2Service { * 更换管理员校验是否有核算数据 * * @param checkParam - * @param currentEmployeeId * @return */ - Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam, Long currentEmployeeId); + Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam); } diff --git a/src/com/engine/salary/service/impl/TaxAgentAdminServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentAdminServiceImpl.java index a2042aa99..503421770 100644 --- a/src/com/engine/salary/service/impl/TaxAgentAdminServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentAdminServiceImpl.java @@ -5,6 +5,7 @@ import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.taxagent.po.TaxAgentAdminPO; import com.engine.salary.mapper.taxagent.TaxAgentAdminMapper; import com.engine.salary.service.TaxAgentAdminService; +import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Lists; import dm.jdbc.util.IdGenerator; import org.apache.commons.collections4.CollectionUtils; @@ -23,14 +24,16 @@ import java.util.List; **/ public class TaxAgentAdminServiceImpl extends Service implements TaxAgentAdminService { - private TaxAgentAdminMapper taxAgentAdminMapper; + private TaxAgentAdminMapper getTaxAgentAdminMapper() { + return MapperProxyFactory.getProxy(TaxAgentAdminMapper.class); + } @Override public void deleteByTaxAgentIds(Collection taxAgentIds) { if (CollectionUtils.isEmpty(taxAgentIds)) { return; } - taxAgentAdminMapper.deleteByTaxAgentIds(taxAgentIds); + getTaxAgentAdminMapper().deleteByTaxAgentIds(taxAgentIds); } @Override @@ -49,7 +52,7 @@ public class TaxAgentAdminServiceImpl extends Service implements TaxAgentAdminSe .creator((long) user.getUID()) .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) .build()) - .forEach(taxAgentAdminMapper::insertIgnoreNull); + .forEach(getTaxAgentAdminMapper()::insertIgnoreNull); } @Override @@ -58,7 +61,7 @@ public class TaxAgentAdminServiceImpl extends Service implements TaxAgentAdminSe if (CollectionUtils.isEmpty(taxAgentIds)) { return list; } - return taxAgentAdminMapper.listSome(TaxAgentAdminPO.builder().taxAgentIds(taxAgentIds).build()); + return getTaxAgentAdminMapper().listSome(TaxAgentAdminPO.builder().taxAgentIds(taxAgentIds).build()); } @@ -68,11 +71,11 @@ public class TaxAgentAdminServiceImpl extends Service implements TaxAgentAdminSe if (CollectionUtils.isEmpty(taxAgentIds) || currentEmployeeId == null) { return list; } - return taxAgentAdminMapper.listSome(TaxAgentAdminPO.builder().taxAgentIds(taxAgentIds).employeeId(currentEmployeeId).build()); + return getTaxAgentAdminMapper().listSome(TaxAgentAdminPO.builder().taxAgentIds(taxAgentIds).employeeId(currentEmployeeId).build()); } @Override public List listByEmployeeId(Long currentEmployeeId) { - return taxAgentAdminMapper.listSome(TaxAgentAdminPO.builder().employeeId(currentEmployeeId).build()); + return getTaxAgentAdminMapper().listSome(TaxAgentAdminPO.builder().employeeId(currentEmployeeId).build()); } } diff --git a/src/com/engine/salary/service/impl/TaxAgentBaseServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentBaseServiceImpl.java index 2a0f11299..25cae8472 100644 --- a/src/com/engine/salary/service/impl/TaxAgentBaseServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentBaseServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; @@ -13,9 +14,11 @@ import com.engine.salary.service.SIAccountService; import com.engine.salary.service.SalaryAcctRecordService; import com.engine.salary.service.TaxAgentBaseService; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.MapperProxyFactory; import dm.jdbc.util.IdGenerator; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import weaver.hrm.User; import java.util.Date; import java.util.List; @@ -30,9 +33,17 @@ import java.util.List; **/ public class TaxAgentBaseServiceImpl extends Service implements TaxAgentBaseService { - private TaxAgentBaseMapper taxAgentBaseMapper; - private SalaryAcctRecordService salaryAcctRecordService; - private SIAccountService siAccountService; + private TaxAgentBaseMapper getTaxAgentBaseMapper() { + return MapperProxyFactory.getProxy(TaxAgentBaseMapper.class); + } + + private SalaryAcctRecordService getSalaryAcctRecordService(User user) { + return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user); + } + + private SIAccountService getSIAccountService(User user) { + return ServiceUtil.getService(SIAccountServiceImpl.class, user); + } public TaxAgentBaseServiceImpl() { } @@ -45,7 +56,7 @@ public class TaxAgentBaseServiceImpl extends Service implements TaxAgentBaseServ @Override public TaxAgentBasePO getBaseInfo() { - List list = taxAgentBaseMapper.listAll(); + List list = getTaxAgentBaseMapper().listAll(); return CollectionUtils.isEmpty(list) ? null : list.get(0); } @@ -67,7 +78,7 @@ public class TaxAgentBaseServiceImpl extends Service implements TaxAgentBaseServ Date now = new Date(); Integer devolutionStatus = saveBaseParam.getDevolutionStatus() ? SalaryOnOffEnum.ON.getValue() : SalaryOnOffEnum.OFF.getValue(); if (base == null) { - taxAgentBaseMapper.insertIgnoreNull( + getTaxAgentBaseMapper().insertIgnoreNull( TaxAgentBasePO.builder() .id(IdGenerator.generate()) .devolutionStatus(devolutionStatus) @@ -79,7 +90,7 @@ public class TaxAgentBaseServiceImpl extends Service implements TaxAgentBaseServ } else { base.setUpdateTime(now); base.setDevolutionStatus(devolutionStatus); - taxAgentBaseMapper.updateIgnoreNull(base); + getTaxAgentBaseMapper().updateIgnoreNull(base); } return StringUtils.EMPTY; } @@ -92,9 +103,9 @@ public class TaxAgentBaseServiceImpl extends Service implements TaxAgentBaseServ private boolean checkUsedData() { // 检查是否核算 // todo 1.社保福利档案是否有核算未归档 - Boolean checkedValue = false;//= siAccountService.changeAdminUnfiledCheck(); + Boolean checkedValue = false;//= getSIAccountService(user).changeAdminUnfiledCheck(); // todo 2.薪资核算是否有核算未归档 - List salaryAcctRecords = salaryAcctRecordService.listByStatus(SalaryAcctRecordStatusEnum.NOT_ARCHIVED);// salaryAcctRecordService.listByStatusAndEmployeeId(SalaryAcctRecordStatusEnum.NOT_ARCHIVED, currentTenantKey); + List salaryAcctRecords = getSalaryAcctRecordService(user).listByStatus(SalaryAcctRecordStatusEnum.NOT_ARCHIVED);// getSalaryAcctRecordService(user).listByStatusAndEmployeeId(SalaryAcctRecordStatusEnum.NOT_ARCHIVED, currentTenantKey); if (CollectionUtils.isNotEmpty(salaryAcctRecords) || checkedValue) { return Boolean.TRUE; } diff --git a/src/com/engine/salary/service/impl/TaxAgentEmpServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentEmpServiceImpl.java index 7ac7060d9..5808fb81d 100644 --- a/src/com/engine/salary/service/impl/TaxAgentEmpServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentEmpServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; @@ -12,9 +13,11 @@ import com.engine.salary.mapper.taxagent.TaxAgentEmpMapper; import com.engine.salary.service.TaxAgentEmpChangeService; import com.engine.salary.service.TaxAgentEmpService; import com.engine.salary.util.SalaryEntityUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.google.common.collect.Lists; import dm.jdbc.util.IdGenerator; import org.apache.commons.collections4.CollectionUtils; +import weaver.hrm.User; import java.util.*; import java.util.stream.Collectors; @@ -30,21 +33,25 @@ import java.util.stream.Collectors; public class TaxAgentEmpServiceImpl extends Service implements TaxAgentEmpService { - private TaxAgentEmpMapper taxAgentEmployeeMapper; + private TaxAgentEmpMapper getTaxAgentEmpMapper() { + return MapperProxyFactory.getProxy(TaxAgentEmpMapper.class); + } - private TaxAgentEmpChangeService taxAgentEmpChangeService; + public TaxAgentEmpChangeService getTaxAgentEmpChangeService(User user) { + return ServiceUtil.getService(TaxAgentEmpChangeServiceImpl.class, user); + } @Override public void deleteByTaxAgentIds(Collection taxAgentIds) { if (CollectionUtils.isEmpty(taxAgentIds)) { return; } - List taxAgentEmpList = taxAgentEmployeeMapper.listSome(TaxAgentEmpPO.builder().taxAgentIds(taxAgentIds).build()); + List taxAgentEmpList = getTaxAgentEmpMapper().listSome(TaxAgentEmpPO.builder().taxAgentIds(taxAgentIds).build()); if (CollectionUtils.isEmpty(taxAgentEmpList)) { return; } List idList = taxAgentEmpList.stream().map(TaxAgentEmpPO::getId).collect(Collectors.toList()); - taxAgentEmployeeMapper.deleteByIds(idList); + getTaxAgentEmpMapper().deleteByIds(idList); } @Override @@ -52,7 +59,7 @@ public class TaxAgentEmpServiceImpl extends Service implements TaxAgentEmpServic if (CollectionUtils.isEmpty(taxAgentIds)) { return Lists.newArrayList(); } - return taxAgentEmployeeMapper.listSome(TaxAgentEmpPO.builder().taxAgentIds(taxAgentIds).build()); + return getTaxAgentEmpMapper().listSome(TaxAgentEmpPO.builder().taxAgentIds(taxAgentIds).build()); } @Override @@ -134,15 +141,15 @@ public class TaxAgentEmpServiceImpl extends Service implements TaxAgentEmpServic // 关联表==================================================== // 新增 if (CollectionUtils.isNotEmpty(taxAgentEmployeeAddList)) { - taxAgentEmployeeMapper.batchInsert(taxAgentEmployeeAddList); + getTaxAgentEmpMapper().batchInsert(taxAgentEmployeeAddList); } // 删除 if (CollectionUtils.isNotEmpty(taxAgentEmployeeDelIds)) { - taxAgentEmployeeMapper.deleteByIds(taxAgentEmployeeDelIds); + getTaxAgentEmpMapper().deleteByIds(taxAgentEmployeeDelIds); } // 增量表==================================================== if (CollectionUtils.isNotEmpty(taxAgentEmpChangeList)) { - taxAgentEmpChangeService.batchInsert(taxAgentEmpChangeList); + getTaxAgentEmpChangeService(user).batchInsert(taxAgentEmpChangeList); } } } diff --git a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java index 922ea07e6..021a6f7ad 100644 --- a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java @@ -1,10 +1,13 @@ package com.engine.salary.service.impl; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.salary.biz.EmployBiz; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.hrm.DeptInfo; +import com.engine.salary.entity.hrm.HrmStatus; +import com.engine.salary.entity.hrm.PositionInfo; +import com.engine.salary.entity.hrm.SubCompanyInfo; import com.engine.salary.entity.taxagent.bo.TaxAgentBO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeListDTO; @@ -12,7 +15,7 @@ import com.engine.salary.entity.taxagent.param.*; import com.engine.salary.entity.taxagent.po.TaxAgentManageRangePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.entity.taxagent.po.TaxAgentSubAdminPO; -import com.engine.salary.enums.SalaryJobFlagEnum; +import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum; import com.engine.salary.enums.salarysob.TargetTypeEnum; import com.engine.salary.enums.taxagent.TaxAgentRangeTypeEnum; @@ -23,27 +26,16 @@ import com.engine.salary.service.*; import com.engine.salary.util.JsonUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.PageUtil; import com.google.common.collect.Lists; -import com.weaver.common.async.bean.AsyncBean; -import com.weaver.common.async.consumer.anno.method.AsyncListener; -import com.weaver.common.cache.tablecache.impl.ComInfoCache; -import com.weaver.common.hrm.cache.HrmDepartmentComInfo; -import com.weaver.common.hrm.cache.HrmEmployeeComInfo; -import com.weaver.common.hrm.cache.HrmPositionComInfo; -import com.weaver.common.hrm.domain.employee.HrmStatus; -import com.weaver.common.hrm.domain.queue.HrmCommonQueue; -import com.weaver.common.hrm.service.employee.HrmCommonHrmStatusService; -import com.weaver.datasecurity.interceptor.DSTenantKeyThreadVar; -import com.weaver.hrm.salary.common.SalaryEmployee; -import com.weaver.hrm.salary.entity.taxagent.param.*; -import com.weaver.hrm.salary.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.transaction.annotation.Transactional; +import weaver.hrm.User; import java.util.*; import java.util.concurrent.ExecutorService; @@ -60,29 +52,44 @@ import java.util.stream.Collectors; @Slf4j public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentManageRangeService { - private TaxAgentManageRangeMapper taxAgentManageRangeMapper; + private TaxAgentManageRangeMapper getTaxAgentManageRangeMapper() { + return MapperProxyFactory.getProxy(TaxAgentManageRangeMapper.class); + } - private TaxAgentV2Service taxAgentService; + private TaxAgentV2Service getTaxAgentV2Service(User user) { + return ServiceUtil.getService(TaxAgentV2ServiceImpl.class, user); + } private TaxAgentSubAdminService taxAgentSubAdminService; +// private TaxAgentSubAdminService getTaxAgentSubAdminService(User user) { +// return ServiceUtil.getService(TaxAgentSubAdminServiceImpl.class, user); +// } - private TaxAgentEmpService taxAgentEmployeeService; + private TaxAgentEmpService getTaxAgentEmpService(User user) { + return ServiceUtil.getService(TaxAgentEmpServiceImpl.class, user); + } private TaxAgentSubAdminEmpService taxAgentSubAdminEmployeeService; +// private TaxAgentSubAdminEmpService getTaxAgentSubAdminEmpService(User user) { +// return ServiceUtil.getService(TaxAgentSubAdminEmpServiceImpl.class, user); +// } - private ComInfoCache comInfoCache; +// private ComInfoCache comInfoCache; - private EmployMapper employeeMapper; + private EmployMapper getEmployMapper() { + return MapperProxyFactory.getProxy(EmployMapper.class); + } private ExecutorService taskExecutor; - private HrmCommonHrmStatusService hrmCommonHrmStatusService; + private EmployBiz employBiz = new EmployBiz(); +// private HrmCommonHrmStatusService hrmCommonHrmStatusService; private List listByTaxAgentIds(List taxAgentIds) { if (CollectionUtils.isEmpty(taxAgentIds)) { return Lists.newArrayList(); } - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().rangeType(TaxAgentRangeTypeEnum.TAXAGENT.getValue()).taxAgentIds(taxAgentIds).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().rangeType(TaxAgentRangeTypeEnum.TAXAGENT.getValue()).taxAgentIds(taxAgentIds).build()); } @Override @@ -101,7 +108,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM if (CollectionUtils.isEmpty(taxAgentSubAdminIds)) { return Lists.newArrayList(); } - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).taxAgentSubAdminIds(taxAgentSubAdminIds).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).taxAgentSubAdminIds(taxAgentSubAdminIds).build()); } @Override @@ -164,11 +171,10 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM List personnelStatuss = Lists.newArrayList(); if (employeeStatus != null) { // 查询人员状态 - List hrmStatusList = hrmCommonHrmStatusService.list(); if (employeeStatus.equals(SalaryEmployeeStatusEnum.NORMAL)) { - personnelStatuss = hrmStatusList.stream().filter(f -> f.getJobflag().equals(SalaryJobFlagEnum.normal.getValue())).map(m -> m.getCodeId() + "").collect(Collectors.toList()); + personnelStatuss = UserStatusEnum.getNormalStatus(); } else if (employeeStatus.equals(SalaryEmployeeStatusEnum.UNAVAILABLE)) { - personnelStatuss = hrmStatusList.stream().filter(f -> f.getJobflag().equals(SalaryJobFlagEnum.unavailable.getValue())).map(m -> m.getCodeId() + "").collect(Collectors.toList()); + personnelStatuss = UserStatusEnum.getUnavailableStatus(); } } // 根据上一步的查询参数查询人员 @@ -201,7 +207,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM if (CollectionUtils.isEmpty(taxAgentManageRanges)) { return Collections.emptyList(); } - List salaryEmployees = employeeMapper.listAll(); + List salaryEmployees = getEmployMapper().listAll(); List salaryEmployeeList = Lists.newArrayList(); for (TaxAgentManageRangePO manageRange : taxAgentManageRanges) { salaryEmployeeList.addAll(salaryEmployees.stream() @@ -212,7 +218,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM if (CollectionUtils.isNotEmpty(personnelStatuss)) { hrmStatusList = hrmStatusList.stream().filter(personnelStatuss::contains).collect(Collectors.toList()); } - if (CollectionUtils.isNotEmpty(hrmStatusList) && !hrmStatusList.contains(salaryEmployee.getPersonnelStatus())) { + if (CollectionUtils.isNotEmpty(hrmStatusList) && !hrmStatusList.contains(salaryEmployee.getStatus())) { return false; } if (Objects.equals(manageRange.getTargetType(), TargetTypeEnum.ALL.getValue())) { @@ -242,16 +248,17 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM return salaryEmployeeList; } -// /** -// * 根据分管理员id获取管理范围列表 -// * -// * @param subAdminId -// * @param includeType -// * @return -// */ -// private List listBySubAdminIdAndIncludeType(Long subAdminId, Integer includeType) { -// -// return new LambdaQueryChainWrapper<>(taxAgentManageRangeMapper) + /** + * 根据分管理员id获取管理范围列表 + * + * @param subAdminId + * @param includeType + * @return + */ + private List listBySubAdminIdAndIncludeType(Long subAdminId, Integer includeType) { + + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().taxAgentSubAdminId(subAdminId).rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).includeType(includeType).build()); +// return new LambdaQueryChainWrapper<>(getTaxAgentManageRangeMapper()) // .eq(TaxAgentManageRangePO::getTenantKey) // .eq(TaxAgentManageRangePO::getDeleteType, 0) // .eq(TaxAgentManageRangePO::getTaxAgentSubAdminId, subAdminId) @@ -259,7 +266,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM // .eq(TaxAgentManageRangePO::getIncludeType, includeType) // .orderByDesc(TaxAgentManageRangePO::getId) // .list(); -// } + } /** * 获取个税口角义务人的管理范围 @@ -269,15 +276,15 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM * @return */ private List listByTaxAgentIdAndIncludeType(Long taxAgentId, Integer includeType) { - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().taxAgentId(taxAgentId).rangeType(TaxAgentRangeTypeEnum.TAXAGENT.getValue()).includeType(includeType).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().taxAgentId(taxAgentId).rangeType(TaxAgentRangeTypeEnum.TAXAGENT.getValue()).includeType(includeType).build()); } -// @Override -// public Page listPageByParamAndIncludeType(TaxAgentSubAdminRangeQueryParam queryParam, Integer includeType) { -// // 查询已有的管理范围 -// List taxAgentManageRanges = listBySubAdminIdAndIncludeType(queryParam.getSubAdminId(), includeType); -// return listPageByParamAndIncludeType(taxAgentManageRanges, queryParam, includeType); -// } + @Override + public PageInfo listPageByParamAndIncludeType(TaxAgentSubAdminRangeQueryParam queryParam, Integer includeType) { + // 查询已有的管理范围 + List taxAgentManageRanges = listBySubAdminIdAndIncludeType(queryParam.getSubAdminId(), includeType); + return listPageByParamAndIncludeType(taxAgentManageRanges, queryParam, includeType); + } @Override public PageInfo listPageByParamAndIncludeType(TaxAgentRangeQueryParam queryParam, Integer includeType) { @@ -289,33 +296,36 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM private PageInfo listPageByParamAndIncludeType(List taxAgentManageRanges, TaxAgentManageRangeQueryParam queryParam, Integer includeType) { // 查询人员信息 - List employeeIds = taxAgentManageRanges.stream() + List employeeIds = taxAgentManageRanges.stream() .filter(e -> Objects.equals(e.getTargetType(), TargetTypeEnum.EMPLOYEE.getValue())) .map(TaxAgentManageRangePO::getTargetId) .collect(Collectors.toList()); - List employeeComInfos = comInfoCache.getCacheList(HrmEmployeeComInfo.class, employeeIds); +// List employeeComInfos = comInfoCache.getCacheList(HrmEmployeeComInfo.class, employeeIds); + List employeeComInfos = employBiz.getEmployeeByIdsAll(employeeIds); // 查询部门信息 - List departmentIds = taxAgentManageRanges.stream() + List departmentIds = taxAgentManageRanges.stream() .filter(e -> Objects.equals(e.getTargetType(), TargetTypeEnum.DEPT.getValue())) .map(TaxAgentManageRangePO::getTargetId) .collect(Collectors.toList()); - List departmentComInfos = comInfoCache.getCacheList(HrmDepartmentComInfo.class, departmentIds); + List departmentComInfos = employBiz.getDeptInfoList(departmentIds); // 查询分部信息 - List subDepartmentIds = taxAgentManageRanges.stream() + List subDepartmentIds = taxAgentManageRanges.stream() .filter(e -> Objects.equals(e.getTargetType(), TargetTypeEnum.SUBCOMPANY.getValue())) .map(TaxAgentManageRangePO::getTargetId) .collect(Collectors.toList()); - List subDepartmentComInfos = comInfoCache.getCacheList(HrmDepartmentComInfo.class, subDepartmentIds); + + List subDepartmentComInfos = employBiz.getSubCompanyInfoList(subDepartmentIds); // 查询岗位信息 - List positionIds = taxAgentManageRanges.stream() + List positionIds = taxAgentManageRanges.stream() .filter(e -> Objects.equals(e.getTargetType(), TargetTypeEnum.POSITION.getValue())) .map(TaxAgentManageRangePO::getTargetId) .collect(Collectors.toList()); - List positionComInfos = comInfoCache.getCacheList(HrmPositionComInfo.class, positionIds); + List positionComInfos = employBiz.listPositionInfo(positionIds); // 分页参数 PageInfo dtoPage = PageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), TaxAgentManageRangeListDTO.class); // 查询人员状态 - List hrmStatusList = hrmCommonHrmStatusService.list(); +// List hrmStatusList = hrmCommonHrmStatusService.list(); + List hrmStatusList = UserStatusEnum.getHrmStatusList(); // 薪资账套的人员范围po转换成列表dto List taxAgentManageRangeList = TaxAgentBO.convert2ListDTO(taxAgentManageRanges, employeeComInfos, departmentComInfos, subDepartmentComInfos, positionComInfos, hrmStatusList); // 根据对象名称过滤 @@ -333,13 +343,12 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM /** * 根据个税口角义务人id保存管理范围 * - * @param saveParam 保存参数 - * @param employeeId 人员id + * @param saveParam 保存参数 */ @Override - public void save(TaxAgentRangeSaveParam saveParam, Long employeeId) { + public void save(TaxAgentRangeSaveParam saveParam) { // 查询薪资账套 - TaxAgentPO taxAgent = taxAgentService.getById(saveParam.getTaxAgentId()); + TaxAgentPO taxAgent = getTaxAgentV2Service(user).getById(saveParam.getTaxAgentId()); if (Objects.isNull(taxAgent)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(108605, "参数错误,个税扣缴义务人不存在或者已被删除")); } @@ -348,7 +357,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM List taxAgentManageRanges = taxAgentManageAllRanges.stream().filter(f -> f.getIncludeType().equals(saveParam.getIncludeType())).collect(Collectors.toList()); // 处理一下本次的保存参数(如果原来添加过对应的人员(/部门/岗位),那么本次不需要新增,只需要更新) - TaxAgentBO.Result result = TaxAgentBO.handleTaxAgentRange(taxAgentManageRanges, saveParam, taxAgent.getId(), employeeId); + TaxAgentBO.Result result = TaxAgentBO.handleTaxAgentRange(taxAgentManageRanges, saveParam, taxAgent.getId(), (long) user.getUID()); /** 检查当前个税扣缴义务人的所有人员范围与所有分管理员的管理范围===========================start */ List allRanges = Lists.newArrayList(taxAgentManageAllRanges); @@ -372,18 +381,20 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM } } /** 检查当前个税扣缴义务人的所有人员范围与所有分管理员的管理范围===========================end */ - // 保存 + // todo 保存 if (CollectionUtils.isNotEmpty(result.getNeedInsertTaxAgentManageRanges())) { - this.saveBatch(result.getNeedInsertTaxAgentManageRanges()); +// this.saveBatch(result.getNeedInsertTaxAgentManageRanges()); + result.getNeedInsertTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().insertIgnoreNull(range)); } if (CollectionUtils.isNotEmpty(result.getNeedUpdateTaxAgentManageRanges())) { - this.updateBatchById(result.getNeedUpdateTaxAgentManageRanges()); + result.getNeedInsertTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().updateIgnoreNull(range)); +// this.updateBatchById(result.getNeedUpdateTaxAgentManageRanges()); } /** 同步本地人员范围的关联人员=========================== */ taskExecutor.execute(() -> { try { - syncLocalEmp(saveParam.getTaxAgentId(), allSalaryEmployees, allSubAdminRanges, employeeId); + syncLocalEmp(saveParam.getTaxAgentId(), allSalaryEmployees, allSubAdminRanges, (long) user.getUID()); } finally { } }); @@ -398,16 +409,16 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM * @return */ private List listByTaxAgentId(Long taxAgentId) { - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().taxAgentId(taxAgentId).rangeType(TaxAgentRangeTypeEnum.TAXAGENT.getValue()).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().taxAgentId(taxAgentId).rangeType(TaxAgentRangeTypeEnum.TAXAGENT.getValue()).build()); } private List listSunAdminRangeByTaxAgentId(Long taxAgentId) { - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().taxAgentId(taxAgentId).rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().taxAgentId(taxAgentId).rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).build()); } @Override @Transactional(rollbackFor = Exception.class) - public void save4SubAdmin(TaxAgentSubAdminRangeSaveParam saveParam, Long employeeId) { + public void save4SubAdmin(TaxAgentSubAdminRangeSaveParam saveParam) { // 查询薪资账套 TaxAgentSubAdminPO taxAgentSubAdmin = taxAgentSubAdminService.getById(saveParam.getSubAdminId()); if (Objects.isNull(taxAgentSubAdmin)) { @@ -417,7 +428,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM List taxAgentManageAllRanges = listBySubAdminId(saveParam.getSubAdminId()); List taxAgentManageRanges = taxAgentManageAllRanges.stream().filter(f -> f.getIncludeType().equals(saveParam.getIncludeType())).collect(Collectors.toList()); // 处理一下本次的保存参数(如果原来添加过对应的人员(/部门/岗位),那么本次不需要新增,只需要更新) - TaxAgentBO.Result result = TaxAgentBO.handleSubAdminRange(taxAgentManageRanges, saveParam, taxAgentSubAdmin.getTaxAgentId(), taxAgentSubAdmin.getId(), employeeId); + TaxAgentBO.Result result = TaxAgentBO.handleSubAdminRange(taxAgentManageRanges, saveParam, taxAgentSubAdmin.getTaxAgentId(), taxAgentSubAdmin.getId(), (long) user.getUID()); // 当前库中所有分管理员的管理范围 List allSubAdminRangesExist = listSunAdminRangeByTaxAgentId(taxAgentSubAdmin.getTaxAgentId()); @@ -430,11 +441,11 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM allSubAdminRangesCuttent.addAll(result.getNeedUpdateTaxAgentManageRanges()); // 当前分管理员的所有人员 - List currentSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), allSubAdminRangesCuttent); + List currentSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), allSubAdminRangesCuttent); // 其他分管理员的所有人员 - List otherSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), otherSubAdminRangesExist); - for (SalaryEmployee se : currentSubAdminSalaryEmployees) { - Optional optionalSe = otherSubAdminSalaryEmployees.stream().filter(f -> f.getEmployeeId().equals(se.getEmployeeId())).findFirst(); + List otherSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), otherSubAdminRangesExist); + for (DataCollectionEmployee se : currentSubAdminSalaryEmployees) { + Optional optionalSe = otherSubAdminSalaryEmployees.stream().filter(f -> f.getEmployeeId().equals(se.getEmployeeId())).findFirst(); if (optionalSe.isPresent()) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(110149, "不可包含其他分管理员的人员")); } @@ -452,10 +463,10 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM ), ArrayList::new)); // 所属个税扣缴义务人的所有人员 List allRanges = listByTaxAgentId(taxAgentSubAdmin.getTaxAgentId()); - List allSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), allRanges); + List allSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), allRanges); // 所有分管理员的所有人员 - List allSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), allSubAdminRanges); - List allSalaryEmployeeIds = allSalaryEmployees.stream().map(SalaryEmployee::getEmployeeId).collect(Collectors.toList()); + List allSubAdminSalaryEmployees = this.getManageRangeSalaryEmployees(null, taxAgentSubAdmin.getTaxAgentId(), allSubAdminRanges); + List allSalaryEmployeeIds = allSalaryEmployees.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList()); allSubAdminSalaryEmployees.removeIf(a -> allSalaryEmployeeIds.contains(a.getEmployeeId())); if (CollectionUtils.isNotEmpty(allSubAdminSalaryEmployees)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(110125, "超出了整体人员范围")); @@ -464,19 +475,19 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM // 保存 if (CollectionUtils.isNotEmpty(result.getNeedInsertTaxAgentManageRanges())) { - this.saveBatch(result.getNeedInsertTaxAgentManageRanges()); + result.getNeedInsertTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().insertIgnoreNull(range)); +// todo this.saveBatch(result.getNeedInsertTaxAgentManageRanges()); } if (CollectionUtils.isNotEmpty(result.getNeedUpdateTaxAgentManageRanges())) { - this.updateBatchById(result.getNeedUpdateTaxAgentManageRanges()); + result.getNeedUpdateTaxAgentManageRanges().forEach(range -> getTaxAgentManageRangeMapper().updateIgnoreNull(range)); +// todo this.updateBatchById(result.getNeedUpdateTaxAgentManageRanges()); } /** 同步本地人员范围的关联人员=========================== */ List finalAllSubAdminRanges = allSubAdminRanges; taskExecutor.execute(() -> { try { - DSTenantKeyThreadVar.tenantKey.set(tenantKey); - syncLocalEmp(taxAgentSubAdmin.getTaxAgentId(), allSalaryEmployees, finalAllSubAdminRanges, employeeId); + syncLocalEmp(taxAgentSubAdmin.getTaxAgentId(), allSalaryEmployees, finalAllSubAdminRanges, (long) user.getUID()); } finally { - DSTenantKeyThreadVar.tenantKey.remove(); } }); // 记录日志 todo @@ -489,18 +500,18 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM * @return */ private List listBySubAdminId(Long subAdminId) { - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().taxAgentSubAdminId(subAdminId).rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().taxAgentSubAdminId(subAdminId).rangeType(TaxAgentRangeTypeEnum.SUBADMIN.getValue()).build()); } private List listByIds(Collection ids) { if (CollectionUtils.isEmpty(ids)) { return Collections.emptyList(); } - return taxAgentManageRangeMapper.listSome(TaxAgentManageRangePO.builder().ids(ids).build()); + return getTaxAgentManageRangeMapper().listSome(TaxAgentManageRangePO.builder().ids(ids).build()); } @Override - public void deleteByIds(Collection ids, Long employeeId) { + public void deleteByIds(Collection ids) { // 查询管理范围 List taxAgentManageRanges = listByIds(ids); if (CollectionUtils.isEmpty(taxAgentManageRanges)) { @@ -526,12 +537,12 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(110160, "分管理员存在超出整体人员范围以外的人员,不可删除")); } // 删除管理范围 - taxAgentManageRangeMapper.deleteByIds(ids); + getTaxAgentManageRangeMapper().deleteByIds(ids); /** 同步本地人员范围的关联人员=========================== */ taskExecutor.execute(() -> { try { - syncLocalEmp(taxAgentId, allSalaryEmployees, allSubAdminRanges, employeeId); + syncLocalEmp(taxAgentId, allSalaryEmployees, allSubAdminRanges, (long) user.getUID()); } finally { } }); @@ -539,60 +550,47 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM } @Override - public void deleteByTaxAgentIds(Collection taxAgentIds, String tenantKey) { - new LambdaUpdateChainWrapper<>(taxAgentManageRangeMapper) - .eq(TaxAgentManageRangePO::getDeleteType, 0) - .eq(TaxAgentManageRangePO::getTenantKey) - .in(TaxAgentManageRangePO::getTaxAgentId, taxAgentIds) - .set(TaxAgentManageRangePO::getDeleteType, 1) - .update(); + public void deleteByTaxAgentIds(Collection taxAgentIds) { + getTaxAgentManageRangeMapper().deleteByTaxAgentIds(taxAgentIds); // 删除管理范围下的所有人员 - taxAgentEmployeeService.deleteByTaxAgentIds(taxAgentIds); + getTaxAgentEmpService(user).deleteByTaxAgentIds(taxAgentIds); } @Override - public void deleteBySubAdmins(Collection subAdminIds, String tenantKey) { + public void deleteBySubAdmins(Collection subAdminIds) { if (CollectionUtils.isEmpty(subAdminIds)) { return; } - new LambdaUpdateChainWrapper<>(taxAgentManageRangeMapper) - .eq(TaxAgentManageRangePO::getDeleteType, 0) - .eq(TaxAgentManageRangePO::getTenantKey) - .in(TaxAgentManageRangePO::getTaxAgentSubAdminId, subAdminIds) - .set(TaxAgentManageRangePO::getDeleteType, 1) - .update(); + getTaxAgentManageRangeMapper().deleteBySubAdminIds(subAdminIds); // 删除管理范围下的所有人员 taxAgentSubAdminEmployeeService.deleteBySubAdminIds(subAdminIds); } - @AsyncListener(topic = "hrm_resource_queue") - public void receiveHrmResourceQueue(AsyncBean asyncBean) { - log.info("接受到人员变动的结果:{}", JSONObject.toJSONString(asyncBean)); - // todo 过滤必要性事件类型进行处理,后续加上时间间隔,避免人事批量操作时,监听事件过多 - if (asyncBean == null || asyncBean.getMessage() == null) { - log.error("接受到人员变动的结果失败"); - } - String tenantKey = asyncBean.getMessage().getTenantKey(); - // 开始同步 - taskExecutor.execute(() -> { - try { - handleSyncTaxAgentEmpData(); - } finally { - } - }); - } + //fixme +// @AsyncListener(topic = "hrm_resource_queue") +// public void receiveHrmResourceQueue(AsyncBean asyncBean) { +// log.info("接受到人员变动的结果:{}", JSONObject.toJSONString(asyncBean)); +// // todo 过滤必要性事件类型进行处理,后续加上时间间隔,避免人事批量操作时,监听事件过多 +// if (asyncBean == null || asyncBean.getMessage() == null) { +// log.error("接受到人员变动的结果失败"); +// } +// String tenantKey = asyncBean.getMessage().getTenantKey(); +// // 开始同步 +// taskExecutor.execute(() -> { +// try { +// handleSyncTaxAgentEmpData(); +// } finally { +// } +// }); +// } /** - * 同步处理所有人员泛微 + * 同步处理所有人员范围 * * @param */ private void handleSyncTaxAgentEmpData() { - List allManageRanges = new LambdaQueryChainWrapper<>(taxAgentManageRangeMapper) - .eq(TaxAgentManageRangePO::getTenantKey) - .eq(TaxAgentManageRangePO::getDeleteType, 0) - .orderByDesc(TaxAgentManageRangePO::getId) - .list(); + List allManageRanges = getTaxAgentManageRangeMapper().listAll(); if (CollectionUtils.isEmpty(allManageRanges)) { return; } @@ -611,7 +609,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM }); Long employeeId = 0L; // 同步管理员的人员 - taxAgentEmployeeService.syncTaxAgentEmployee(taxAgentEmpSaveParamList, employeeId); + getTaxAgentEmpService(user).syncTaxAgentEmployee(taxAgentEmpSaveParamList, employeeId); // 同步分管理员的人员 taxAgentSubAdminEmployeeService.syncTaxAgentSubAdminEmployee(subAdminEmpSaveParamList, employeeId); } @@ -664,7 +662,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM private void syncLocalEmp(Long taxAgentId, List allSalaryEmployees, List allSubAdminRanges, Long employeeId) { List taxAgentEmpSaveParamList = Collections.singletonList(getTaxAgentEmpSyncParam(taxAgentId, allSalaryEmployees)); // 同步个税扣缴义务人的人员 - taxAgentEmployeeService.syncTaxAgentEmployee(taxAgentEmpSaveParamList, employeeId); + getTaxAgentEmpService(user).syncTaxAgentEmployee(taxAgentEmpSaveParamList, employeeId); List subAdminEmpSaveParamList = getTaxAgentSubAdminEmpSyncParam(taxAgentId, allSubAdminRanges); // 同步分管理员的人员 diff --git a/src/com/engine/salary/service/impl/TaxAgentV2ServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentV2ServiceImpl.java index 60da8280f..e47dcf260 100644 --- a/src/com/engine/salary/service/impl/TaxAgentV2ServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentV2ServiceImpl.java @@ -1,12 +1,14 @@ package com.engine.salary.service.impl; +import com.engine.common.service.HrmCommonService; +import com.engine.common.service.impl.HrmCommonServiceImpl; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.salary.constant.TaxAgentPermissionConstant; +import com.engine.salary.biz.SalaryRoleBiz; import com.engine.salary.entity.datacollection.AddUpDeduction; import com.engine.salary.entity.datacollection.AddUpSituation; import com.engine.salary.entity.datacollection.po.OtherDeductionPO; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; -import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO; import com.engine.salary.entity.taxagent.bo.TaxAgentBO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeTaxAgentDTO; @@ -16,7 +18,6 @@ import com.engine.salary.entity.taxagent.param.TaxAgentAdminChangeCheckParam; import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam; import com.engine.salary.entity.taxagent.param.TaxAgentSaveParam; import com.engine.salary.entity.taxagent.po.*; -import com.engine.salary.enums.SalaryJobFlagEnum; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum; @@ -30,47 +31,89 @@ import com.engine.salary.mapper.datacollection.OtherDeductionMapper; import com.engine.salary.mapper.taxagent.TaxAgentMapper; import com.engine.salary.service.*; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.PageUtil; +import com.engine.salary.util.valid.RuntimeTypeEnum; +import com.engine.salary.util.valid.ValidUtil; import com.google.common.collect.Lists; import dm.jdbc.util.IdGenerator; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; +import weaver.hrm.User; import java.util.*; import java.util.stream.Collectors; public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service { - private TaxAgentMapper taxAgentMapper; + // private ExtEmployeeService extEmployeeService; + SalaryRoleBiz salaryRoleBiz = new SalaryRoleBiz(); + private TaxAgentBaseService getTaxAgentBaseService(User user) { + return ServiceUtil.getService(TaxAgentBaseServiceImpl.class, user); + } - private EmployMapper employMapper; - - -// private ExtEmployeeService extEmployeeService; - - private TaxAgentBaseService taxAgentBaseService; - - private TaxAgentAdminService taxAgentAdminService; + private TaxAgentAdminService getTaxAgentAdminService(User user) { + return ServiceUtil.getService(TaxAgentAdminServiceImpl.class, user); + } private TaxAgentSubAdminService taxAgentSubAdminService; +// private TaxAgentSubAdminService getTaxAgentSubAdminService(User user) { +// return ServiceUtil.getService(TaxAgentSubAdminServiceImpl.class, user); +// } - private TaxAgentManageRangeService taxAgentManageRangeService; + private TaxAgentManageRangeService getTaxAgentManageRangeService(User user) { + return ServiceUtil.getService(TaxAgentManageRangeServiceImpl.class, user); + } - private TaxAgentEmpService taxAgentEmpService; + private TaxAgentEmpService getTaxAgentEmpService(User user) { + return ServiceUtil.getService(TaxAgentEmpServiceImpl.class, user); + } private TaxAgentSubAdminEmpService taxAgentSubAdminEmpService; +// private TaxAgentSubAdminEmpService getTaxAgentSubAdminEmpService(User user) { +// return ServiceUtil.getService(TaxAgentSubAdminEmpServiceImpl.class, user); +// } - private SalaryArchiveMapper salaryArchiveMapper; + private HrmCommonService getHrmCommonService(User user) { + return ServiceUtil.getService(HrmCommonServiceImpl.class, user); + } - private AddUpDeductionMapper addUpDeductionMapper; - private OtherDeductionMapper otherDeductionMapper; + private SalaryAcctRecordService getSalaryAcctRecordService(User user) { + return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user); + } - private AddUpSituationMapper addUpSituationMapper; + private SIAccountService getSIAccountService(User user) { + return ServiceUtil.getService(SIAccountServiceImpl.class, user); + } + + private SalaryArchiveMapper getSalaryArchiveMapper() { + return MapperProxyFactory.getProxy(SalaryArchiveMapper.class); + } + + private AddUpDeductionMapper getAddUpDeductionMapper() { + return MapperProxyFactory.getProxy(AddUpDeductionMapper.class); + } + + private OtherDeductionMapper getOtherDeductionMapper() { + return MapperProxyFactory.getProxy(OtherDeductionMapper.class); + } + + private AddUpSituationMapper getAddUpSituationMapper() { + return MapperProxyFactory.getProxy(AddUpSituationMapper.class); + } + + private TaxAgentMapper getTaxAgentMapper() { + return MapperProxyFactory.getProxy(TaxAgentMapper.class); + } + + private EmployMapper getEmployMapper() { + return MapperProxyFactory.getProxy(EmployMapper.class); + } // private PaymentAgencyMapper paymentAgencyMapper; @@ -83,11 +126,9 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service // private AuthorityService authorityService; - private SalaryAcctRecordService salaryAcctRecordService; - private SIAccountService siAccountService; - private HrmCommonHrmStatusService hrmCommonHrmStatusService; +// private HrmCommonHrmStatusService hrmCommonHrmStatusService; @Override public TaxAgentRoleTypeEnum getRoleType(Long currentEmployeeId) { @@ -96,9 +137,9 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service return TaxAgentRoleTypeEnum.CHIEF; } // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); if (!isOpenDevolution) { - List taxAgentAdmins = taxAgentAdminService.listByEmployeeId(currentEmployeeId); + List taxAgentAdmins = getTaxAgentAdminService(user).listByEmployeeId(currentEmployeeId); if (CollectionUtils.isNotEmpty(taxAgentAdmins)) { return TaxAgentRoleTypeEnum.ADMIN; } @@ -112,15 +153,18 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service @Override public Boolean isChief(Long currentEmployeeId) { + String allAdminRoleId = salaryRoleBiz.getAllAdminRoleId(); - return currentEmployeeId == 1; - + List roleInfo = getHrmCommonService(user).getRoleInfo(user.getUID()); + Map map = roleInfo.stream().map(m -> (Map) m).filter(m -> m.get("roleid") != null && m.get("roleid").toString().equals(allAdminRoleId)).findFirst().orElse(null); + return map != null; //return authorityService.checkPermissionSet(TaxAgentPermissionConstant.MENU_CODE, TaxAgentPermissionConstant.ITEM_CODE_DEVOLUTION, currentEmployeeId); } @Override public Boolean isDefaultOpen(Long currentEmployeeId) { - return authorityService.checkPermissionSet(TaxAgentPermissionConstant.MENU_CODE, TaxAgentPermissionConstant.ITEM_CODE_DEFAULT, currentEmployeeId); + return true; +// return authorityService.checkPermissionSet(TaxAgentPermissionConstant.MENU_CODE, TaxAgentPermissionConstant.ITEM_CODE_DEFAULT, currentEmployeeId); } @Override @@ -132,7 +176,7 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service return Boolean.FALSE; } else { // 自己有没有被分配为管理员 - List taxAgentAdminList = taxAgentAdminService.listByEmployeeId(currentEmployeeId); + List taxAgentAdminList = getTaxAgentAdminService(user).listByEmployeeId(currentEmployeeId); return CollectionUtils.isNotEmpty(taxAgentAdminList); } } @@ -143,55 +187,55 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service @Override public PageInfo listPage(TaxAgentQueryParam queryParam) { PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize()); - List taxAgentPOS = taxAgentMapper.listBySome(queryParam); + List taxAgentPOS = getTaxAgentMapper().listBySome(queryParam); return new PageInfo<>(taxAgentPOS); } @Override public List list(TaxAgentQueryParam queryParam) { - return taxAgentMapper.listBySome(queryParam); + return getTaxAgentMapper().listBySome(queryParam); } @Override public List listByIds(Collection ids) { - return taxAgentMapper.listBySome(TaxAgentQueryParam.builder().ids(ids).build()); + return getTaxAgentMapper().listBySome(TaxAgentQueryParam.builder().ids(ids).build()); } @Override public List listAll() { - return taxAgentMapper.listAll(); + return getTaxAgentMapper().listAll(); } @Override public TaxAgentPO getById(Long id) { - return taxAgentMapper.getById(id); + return getTaxAgentMapper().getById(id); } @Override public Collection findAll() { - List taxAgents = taxAgentMapper.listAll(); + List taxAgents = getTaxAgentMapper().listAll(); return TaxAgentBO.convertToListDTO(taxAgents); } @Override public Collection listAllTaxAgents(Long employeeId) { - List taxAgents = taxAgentMapper.listAll(); + List taxAgents = getTaxAgentMapper().listAll(); return handleForDevolution(taxAgents, employeeId); } @Override public Collection listAllTaxAgentsAsAdmin(Long employeeId) { - List taxAgents = taxAgentMapper.listAll(); + List taxAgents = getTaxAgentMapper().listAll(); // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); if (!isOpenDevolution) { return taxAgents; } List taxAgentIds = taxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList()); List enableTaxAgentIds = Lists.newArrayList(); // 1.判断自己是否是管理员, 如果是管理员,就是能够查看所属个税扣缴义务人 - List taxAgentAdminList = taxAgentAdminService.listByTaxAgentIds(taxAgentIds); + List taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIds(taxAgentIds); // 是管理员的列表 List adminTaxAgentIds = taxAgentAdminList.stream().filter(f -> f.getEmployeeId().equals(employeeId)).map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList()); @@ -201,10 +245,10 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service @Override public Collection listAllTaxAgentsAsRange(List employeeIds) { - List taxAgents = taxAgentMapper.listAll(); + List taxAgents = getTaxAgentMapper().listAll(); List taxAgentIds = taxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - List taxAgentEmployees = taxAgentEmpService.listByTaxAgentIds(taxAgentIds); + List taxAgentEmployees = getTaxAgentEmpService(user).listByTaxAgentIds(taxAgentIds); if (CollectionUtils.isEmpty(taxAgentEmployees)) { return Lists.newArrayList(); @@ -224,13 +268,15 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service } @Override - public String save(TaxAgentSaveParam saveParam, Long employeeId) { + public String save(TaxAgentSaveParam saveParam) { + ValidUtil.doValidator(saveParam); + // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); if (isOpenDevolution && saveParam.getAdminUserId() == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(106271, "请选择管理员")); } - List taxAgents = taxAgentMapper.listByName(saveParam.getName()); + List taxAgents = getTaxAgentMapper().listByName(saveParam.getName()); if (CollectionUtils.isNotEmpty(taxAgents)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98080, "名称不允许重复")); } @@ -244,10 +290,10 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service // } // 保存 saveParam.setId(IdGenerator.generate()); - TaxAgentPO taxAgent = TaxAgentBO.convertToPO(saveParam, employeeId); - taxAgentMapper.insert(taxAgent); + TaxAgentPO taxAgent = TaxAgentBO.convertToPO(saveParam, (long) user.getUID()); + getTaxAgentMapper().insert(taxAgent); if (isOpenDevolution) { - taxAgentAdminService.batchInsert(saveParam.getId(), Collections.singletonList(saveParam.getAdminUserId())); + getTaxAgentAdminService(user).batchInsert(saveParam.getId(), Collections.singletonList(saveParam.getAdminUserId())); } // 记录日志 // SalaryLoggerUtil.recordAddSingleLog(taxAgentLoggerTemplate, @@ -262,24 +308,26 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service @Override public String paymentAgencyUpdate(TaxAgentPO taxAgentPO) { - taxAgentMapper.update(taxAgentPO); + getTaxAgentMapper().update(taxAgentPO); return ""; } @Override @Transactional(rollbackFor = Exception.class) - public String update(TaxAgentSaveParam saveParam, Long employeeId) { + public String update(TaxAgentSaveParam saveParam) { + ValidUtil.doValidator(saveParam, RuntimeTypeEnum.UPDATE); + TaxAgentPO taxAgent = getById(saveParam.getId()); if (taxAgent == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100545, "个税扣缴义务人不存在")); } // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); if (isOpenDevolution && saveParam.getAdminUserId() == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(106271, "请选择管理员")); } - List individualTaxWithholdingAgents = taxAgentMapper.listByName(saveParam.getName()); + List individualTaxWithholdingAgents = getTaxAgentMapper().listByName(saveParam.getName()); boolean nameExist = individualTaxWithholdingAgents.stream().anyMatch(e -> !Objects.equals(e.getId(), saveParam.getId())); if (nameExist) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98080, "名称不允许重复")); @@ -288,19 +336,19 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service BeanUtils.copyProperties(taxAgent, taxAgentNew); BeanUtils.copyProperties(saveParam, taxAgentNew); taxAgentNew.setUpdateTime(new Date()); - taxAgentMapper.update(taxAgentNew); + getTaxAgentMapper().update(taxAgentNew); if (isOpenDevolution) { Boolean isUnEnableChange = adminChangeCheck(TaxAgentAdminChangeCheckParam.builder() .taxAgentId(saveParam.getId()) .adminUserId(saveParam.getAdminUserId()) - .build(), employeeId); + .build()); if (isUnEnableChange) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(115937, "该管理员有未归档核算数据,不可更换管理员")); } // 删除管理员 - taxAgentAdminService.deleteByTaxAgentIds(Collections.singletonList(taxAgent.getId())); + getTaxAgentAdminService(user).deleteByTaxAgentIds(Collections.singletonList(taxAgent.getId())); // 新增管理员 - taxAgentAdminService.batchInsert(saveParam.getId(), Collections.singletonList(saveParam.getAdminUserId())); + getTaxAgentAdminService(user).batchInsert(saveParam.getId(), Collections.singletonList(saveParam.getAdminUserId())); } // 记录日志 // SalaryLoggerUtil.recordUpdateSingleLog(taxAgentLoggerTemplate, @@ -315,17 +363,17 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service } @Override - public Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam, Long currentEmployeeId) { - List taxAgentAdminList = taxAgentAdminService.listByTaxAgentIds(Collections.singletonList(checkParam.getTaxAgentId())); + public Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam) { + List taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIds(Collections.singletonList(checkParam.getTaxAgentId())); Long adminUserId = CollectionUtils.isNotEmpty(taxAgentAdminList) ? taxAgentAdminList.get(0).getEmployeeId() : 0L; boolean isChanged = checkParam.getAdminUserId() != null && !adminUserId.equals(checkParam.getAdminUserId()); // 更换了管理员 if (isChanged) { // 检查是否核算 //todo 1.社保福利档案是否有核算未归档 - Boolean checkedValue = false;// siAccountService.changeAdminUnfiledCheck(adminUserId); + Boolean checkedValue = false;// getSIAccountService(user).changeAdminUnfiledCheck(adminUserId); // 2.薪资核算是否有核算未归档 - List salaryAcctRecords = salaryAcctRecordService.listByStatusAndEmployeeId(SalaryAcctRecordStatusEnum.NOT_ARCHIVED, adminUserId); + List salaryAcctRecords = getSalaryAcctRecordService(user).listByStatusAndEmployeeId(SalaryAcctRecordStatusEnum.NOT_ARCHIVED, adminUserId); if (CollectionUtils.isNotEmpty(salaryAcctRecords) || checkedValue) { return Boolean.TRUE; } @@ -335,9 +383,13 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service @Override @Transactional(rollbackFor = Exception.class) - public String delete(Collection ids, Long employeeId) { + public String delete(Collection ids) { - List taxAgents = taxAgentMapper.listBySome(TaxAgentQueryParam.builder().ids(ids).build()); + if (org.springframework.util.CollectionUtils.isEmpty(ids)) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误")); + } + + List taxAgents = getTaxAgentMapper().listBySome(TaxAgentQueryParam.builder().ids(ids).build()); if (CollectionUtils.isEmpty(taxAgents)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(85382, "要删除的个税扣缴义务人在不存在或已删除")); } @@ -347,13 +399,13 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100570, "正在使用的记录不允许删除")); } // 删除管理员 - taxAgentAdminService.deleteByTaxAgentIds(ids); + getTaxAgentAdminService(user).deleteByTaxAgentIds(ids); // 删除分管理员和对应管理范围 - taxAgentSubAdminService.deleteByTaxAgentIds(ids); +// todo taxAgentSubAdminService.deleteByTaxAgentIds(ids); // 删除人员范围 - taxAgentManageRangeService.deleteByTaxAgentIds(ids); + getTaxAgentManageRangeService(user).deleteByTaxAgentIds(ids); - taxAgentMapper.deleteByIds(ids); + getTaxAgentMapper().deleteByIds(ids); // 记录日志 // taxAgents.forEach(e -> SalaryLoggerUtil.recordDeleteSingleLog(taxAgentLoggerTemplate, @@ -373,16 +425,16 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service * @return */ private boolean checkUsed(Collection ids) { - // 被薪资档案引用 - List salaryArchiveList = new LambdaQueryChainWrapper<>(salaryArchiveMapper) - .eq(SalaryArchivePO::getDeleteType, 0) - .eq(SalaryArchivePO::getTenantKey) - .in(SalaryArchivePO::getTaxAgentId, ids) - .list(); - salaryArchiveMapper.listSome(SalaryArchivePO.builder().t) - if (CollectionUtils.isNotEmpty(salaryArchiveList)) { - return Boolean.TRUE; - } + //fixme 被薪资档案引用 +// List salaryArchiveList = new LambdaQueryChainWrapper<>(getSalaryArchiveMapper()) +// .eq(SalaryArchivePO::getDeleteType, 0) +// .eq(SalaryArchivePO::getTenantKey) +// .in(SalaryArchivePO::getTaxAgentId, ids) +// .list(); +// getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().t); +// if (CollectionUtils.isNotEmpty(salaryArchiveList)) { +// return Boolean.TRUE; +// } // todo 被社保福利档案引用 // List socialSchemePOList = new LambdaQueryChainWrapper<>(siArchivesSocialMapper) // .eq(InsuranceArchivesSocialSchemePO::getTenantKey) @@ -417,17 +469,17 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service // } // 被累计专项附加扣除引用 - List addUpDeductionList = addUpDeductionMapper.listSome(AddUpDeduction.builder().taxAgentIds(ids).build()); + List addUpDeductionList = getAddUpDeductionMapper().listSome(AddUpDeduction.builder().taxAgentIds(ids).build()); if (CollectionUtils.isNotEmpty(addUpDeductionList)) { return Boolean.TRUE; } // 被其他免税扣除引用 - List otherDeductionList = otherDeductionMapper.listSome(OtherDeductionPO.builder().taxAgentIds(ids).build()); + List otherDeductionList = getOtherDeductionMapper().listSome(OtherDeductionPO.builder().taxAgentIds(ids).build()); if (CollectionUtils.isNotEmpty(otherDeductionList)) { return Boolean.TRUE; } // 被往期累计情况引用 - List addUpSituationList = addUpSituationMapper.listSome(AddUpSituation.builder().taxAgentIds(ids).build()); + List addUpSituationList = getAddUpSituationMapper().listSome(AddUpSituation.builder().taxAgentIds(ids).build()); if (CollectionUtils.isNotEmpty(addUpSituationList)) { return Boolean.TRUE; } @@ -436,9 +488,9 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service } @Override - public List> selectList(Long currentEmployeeId) { - List taxAgents = taxAgentMapper.listAll(); - taxAgents = handleForDevolution(taxAgents, currentEmployeeId); + public List> selectList() { + List taxAgents = getTaxAgentMapper().listAll(); + taxAgents = handleForDevolution(taxAgents, (long) user.getUID()); return taxAgents.stream().map(m -> { Map map = new HashMap<>(2); map.put("id", String.valueOf(m.getId())); @@ -456,14 +508,14 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service */ private List handleForDevolution(List taxAgents, Long currentEmployeeId) { // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); if (!isOpenDevolution || isChief(currentEmployeeId)) { return taxAgents; } List taxAgentIds = taxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList()); List enableTaxAgentIds = Lists.newArrayList(); // 1.判断自己是否是管理员, 如果是管理员,就是能够查看所属个税扣缴义务人 - List taxAgentAdminList = taxAgentAdminService.listByTaxAgentIdsAndEmployeeId(taxAgentIds, currentEmployeeId); + List taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIdsAndEmployeeId(taxAgentIds, currentEmployeeId); // 是管理员的列表 List adminTaxAgentIds = taxAgentAdminList.stream().map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList()); @@ -482,7 +534,7 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service @Override public Boolean isOpenDevolution() { - return taxAgentBaseService.isOpenDevolution(); + return getTaxAgentBaseService(user).isOpenDevolution(); } @Override @@ -505,7 +557,7 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service } List taxAgentIds = allTaxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - List allEmployees = taxAgentMapper.listEmployee(); + List allEmployees = getTaxAgentMapper().listEmployee(); if (employeeStatus != null) { List personnelStatusList; // 查询人员状态 @@ -522,7 +574,7 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service } // 1.判断自己是否是管理员, 如果是管理员,就是能够操作所属个税扣缴义务人下的所有人的数据 - List taxAgentAdminList = taxAgentAdminService.listByTaxAgentIdsAndEmployeeId(taxAgentIds, employeeId); + List taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIdsAndEmployeeId(taxAgentIds, (long) user.getUID()); // 是管理员的列表 List adminTaxAgentIds = taxAgentAdminList.stream().map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList()); @@ -584,7 +636,7 @@ public class TaxAgentV2ServiceImpl extends Service implements TaxAgentV2Service */ private List getTaxAgentEmp(List allTaxAgents, List taxAgentIds, List allEmployees) { List taxAgentManageRangeEmployeeList = Lists.newArrayList(); - List taxAgentEmps = taxAgentEmpService.listByTaxAgentIds(taxAgentIds); + List taxAgentEmps = getTaxAgentEmpService(user).listByTaxAgentIds(taxAgentIds); taxAgentEmps = taxAgentEmps.stream().filter(f -> allEmployees.stream().anyMatch(e -> e.getEmployeeId().equals(f.getEmployeeId()))).collect(Collectors.toList()); diff --git a/src/com/engine/salary/web/TaxAgentController.java b/src/com/engine/salary/web/TaxAgentController.java index a0f09b47f..d70e37106 100644 --- a/src/com/engine/salary/web/TaxAgentController.java +++ b/src/com/engine/salary/web/TaxAgentController.java @@ -1,13 +1,18 @@ package com.engine.salary.web; -import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; +import com.engine.salary.entity.taxagent.dto.*; +import com.engine.salary.entity.taxagent.param.*; +import com.engine.salary.entity.taxagent.po.TaxAgentBasePO; import com.engine.salary.service.TaxAgentService; import com.engine.salary.service.impl.TaxAgentServiceImpl; import com.engine.salary.util.ResponseResult; -import io.swagger.annotations.ApiOperation; +import com.engine.salary.util.page.PageInfo; +import com.engine.salary.wrapper.TaxAgentBaseWrapper; +import com.engine.salary.wrapper.TaxAgentSubAdminWrapper; +import com.engine.salary.wrapper.TaxAgentWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import weaver.general.BaseBean; +import org.springframework.web.bind.annotation.RequestParam; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -20,17 +25,27 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.Collection; +import java.util.Collections; +import java.util.List; import java.util.Map; public class TaxAgentController { - private BaseBean logger = new BaseBean(); - private TaxAgentService getService(User user) { return (TaxAgentService) ServiceUtil.getService(TaxAgentServiceImpl.class, user); } - private TaxAgentWrapper taxAgentWrapper; + private TaxAgentBaseWrapper getTaxAgentBaseWrapper(User user) { + return ServiceUtil.getService(TaxAgentBaseWrapper.class, user); + } + + private TaxAgentSubAdminWrapper getTaxAgentSubAdminWrapper(User user) { + return ServiceUtil.getService(TaxAgentSubAdminWrapper.class, user); + } + + private TaxAgentWrapper getTaxAgentWrapper(User user) { + return ServiceUtil.getService(TaxAgentWrapper.class, user); + } /** * 是否是薪酬模块总管理员 @@ -38,80 +53,374 @@ public class TaxAgentController { @GET @Path("/isChief") @Produces(MediaType.APPLICATION_JSON) - public String isChief() { + public String isChief(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getService(user)::list,ParamUtil.request2Map(request)); - return WeaResult.success(taxAgentWrapper.isChief(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey())); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::isChief, (long) user.getUID()); } - @GetMapping("/permission") - @ApiOperation("权限信息") - @WeaPermission(publicPermission = true) - public WeaResult> permission() { - return WeaResult.success(taxAgentWrapper.permission(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey())); - } - - - //------------------------------------------------------------------------------------------ - - //个税扣缴义务人列表 + /** + * 权限信息 + * @param request + * @param response + * @return + */ @GET + @Path("/permission") + @Produces(MediaType.APPLICATION_JSON) + public String permission(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getTaxAgentWrapper(user)::permission, (long) user.getUID()); + } + + /* ****** 基础信息 start ***********************************************************************************************/ + + /** + * 获取个税扣缴义务人基础信息表单 + * + * @return + */ + @GET + @Path("/base/getForm") + @Produces(MediaType.APPLICATION_JSON) + public String getBaseFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentBaseWrapper(user)::getFrom); + } + + /** + * 保存个税扣缴义务人基础信息 + * + * @param saveBaseParam + * @return + */ + @POST + @Path("/base/save") + @Produces(MediaType.APPLICATION_JSON) + public String saveBase(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveBaseParam saveBaseParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentBaseWrapper(user)::save, saveBaseParam); + } + /* ******* 基础信息 end ***********************************************************************************************/ + + /* ******* 个税扣缴义务人 start ***********************************************************************************************/ + + /** + * 个税扣缴义务人列表 + * + * @param queryParam + * @return + */ + @POST @Path("/list") @Produces(MediaType.APPLICATION_JSON) - public String list(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentQueryParam queryParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getService(user)::list,ParamUtil.request2Map(request)); + return new ResponseResult>(user).run(getTaxAgentWrapper(user)::list, queryParam); } - //获取个税扣缴义务人表单 + //查询个税扣缴义务人下面的代缴机构") + @GET + @Path("/paymentAgency/list") + @Produces(MediaType.APPLICATION_JSON) + public String paymentAgencyList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestParam(value = "id") Long id) { + User user = HrmUserVarify.getUser(request, response); + TaxAgentQueryParam queryParam = new TaxAgentQueryParam(); + queryParam.setIds(Collections.singleton(id)); + return new ResponseResult>>(user).run(getTaxAgentWrapper(user)::paymentAgencyList, queryParam); + } + + //保存个税扣缴义务人下的代缴机构") + @POST + @Path("/paymentAgency/save") + @Produces(MediaType.APPLICATION_JSON) + public String paymentAgencySave(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveParam saveParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::paymentAgencySave, saveParam); + } + + + /** + * 获取个税扣缴义务人表单 + * + * @param id + * @return + */ @GET @Path("/getForm") @Produces(MediaType.APPLICATION_JSON) - public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestParam(value = "id") Long id) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getService(user)::getForm,ParamUtil.request2Map(request)); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::getFrom, id); } - //新建个税扣缴义务人 + /** + * 新建个税扣缴义务人 + * + * @param saveParam + * @return + */ @POST @Path("/save") @Produces(MediaType.APPLICATION_JSON) - public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getService(user)::save,ParamUtil.request2Map(request)); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::save, saveParam); } /** * 编辑个税扣缴义务人 + * + * @param saveParam + * @return */ @POST @Path("/update") @Produces(MediaType.APPLICATION_JSON) - public String update(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public String update(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSaveParam saveParam) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getService(user)::update,ParamUtil.request2Map(request)); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::update, saveParam); } /** - * 编辑个税扣缴义务人 + * 更换管理员校验 + * + * @param checkParam + * @return + */ + @POST + @Path("/adminChangeCheck") + @Produces(MediaType.APPLICATION_JSON) + public String adminChangeCheck(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentAdminChangeCheckParam checkParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::adminChangeCheck, checkParam); + } + + /** + * 删除个税扣缴义务人 + * + * @param ids + * @return */ @POST @Path("/delete") @Produces(MediaType.APPLICATION_JSON) public String delete(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, String>(user).run(getService(user)::delete, ids); + return new ResponseResult, String>(user).run(getTaxAgentWrapper(user)::delete, ids); + } + + /** + * 人员范围列表 + * + * @param queryParam + * @return + */ + @POST + @Path("/range/listInclude") + @Produces(MediaType.APPLICATION_JSON) + public String rangeListInclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentRangeQueryParam queryParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getTaxAgentWrapper(user)::listRangeInclude, queryParam); + } + + /** + * 分管理员管理范围排除列表 + * + * @param queryParam + * @return + */ + @POST + @Path("/range/listExclude") + @Produces(MediaType.APPLICATION_JSON) + public String rangeListExclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentRangeQueryParam queryParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getTaxAgentWrapper(user)::listRangeExclude, queryParam); + } + + //获取人员范围表单") + @POST + @Path("/range/getForm") + @Produces(MediaType.APPLICATION_JSON) + public String getRangeFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::getRangeFrom); + } + + //保存人员范围 + @POST + @Path("/range/save") + @Produces(MediaType.APPLICATION_JSON) + public String saveRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentRangeSaveParam saveParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentWrapper(user)::saveRange, saveParam); + } + + //删除人员范围 + @POST + @Path("/range/delete") + @Produces(MediaType.APPLICATION_JSON) + public String deleteRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, String>(user).run(getTaxAgentWrapper(user)::deleteRange, ids); } /** * 个税扣缴义务人下拉列表 + * + * @return */ - @GET + @POST @Path("/selectList") @Produces(MediaType.APPLICATION_JSON) public String selectList(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult, Map>(user).run(getService(user)::selectList,ParamUtil.request2Map(request)); + return new ResponseResult, List>>(user).run(getTaxAgentWrapper(user)::selectList); + } + /* ******* 个税扣缴义务人 end ***********************************************************************************************/ + + /* ******* 分管理员 start ***********************************************************************************************/ + + /** + * 分管理员列表 + * + * @param queryParam + * @return + */ + @POST + @Path("/subAdmin/list") + @Produces(MediaType.APPLICATION_JSON) + public String subAdminList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminQueryParam queryParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getTaxAgentSubAdminWrapper(user)::list, queryParam); } + /** + * 获取分管理员基础设置表单 + * + * @return + */ + @POST + @Path("/subAdmin/getBaseForm") + @Produces(MediaType.APPLICATION_JSON) + public String getSubAdminBaseFrom(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminBaseFormParam baseFormParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentSubAdminWrapper(user)::getBaseFrom, baseFormParam); + } + + /** + * 分管理员基础设置保存 + * + * @param saveParam + * @return + */ + @POST + @Path("/subAdmin/saveBase") + @Produces(MediaType.APPLICATION_JSON) + public String saveSubAdminBase(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminBaseSaveParam saveParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentSubAdminWrapper(user)::saveBase, saveParam); + } + + /** + * 删除个税扣缴义务人分管理员 + * + * @param ids + * @return + */ + @POST + @Path("/subAdmin/delete") + @Produces(MediaType.APPLICATION_JSON) + public String deleteSubAdmin(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, String>(user).run(getTaxAgentSubAdminWrapper(user)::delete, ids); + } + + //分管理员的管理范围列表 + @POST + @Path("/subAdmin/range/listInclude") + @Produces(MediaType.APPLICATION_JSON) + public String subAdminRangeListInclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminRangeQueryParam queryParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getTaxAgentSubAdminWrapper(user)::listRangeInclude, queryParam); + } + + //分管理员的管理范围排除列表 + @POST + @Path("/subAdmin/range/listExclude") + @Produces(MediaType.APPLICATION_JSON) + public String subAdminRangeListExclude(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminRangeQueryParam queryParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getTaxAgentSubAdminWrapper(user)::listRangeExclude, queryParam); + } + + //获取分管理员的管理范围表单 + @POST + @Path("/subAdmin/range/getForm") + @Produces(MediaType.APPLICATION_JSON) + public String getSubAdminRangeFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentSubAdminWrapper(user)::getRangeFrom); + } + + //保存分管理员的管理范围 + @POST + @Path("/subAdmin/range/save") + @Produces(MediaType.APPLICATION_JSON) + public String saveSubAdminRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentSubAdminRangeSaveParam saveParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getTaxAgentSubAdminWrapper(user)::saveRange, saveParam); + } + + //删除分管理员的管理范围 + @POST + @Path("/subAdmin/range/delete") + @Produces(MediaType.APPLICATION_JSON) + public String deleteSubAdminRange(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Collection ids) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, String>(user).run(getTaxAgentSubAdminWrapper(user)::deleteRange, ids); + } + + /******** 分管理员 end ***********************************************************************************************/ + + +// //------------------------------------------------------------------------------------------ +// +// //个税扣缴义务人列表 +// @GET +// @Path("/list") +// @Produces(MediaType.APPLICATION_JSON) +// public String list(@Context HttpServletRequest request, @Context HttpServletResponse response) { +// User user = HrmUserVarify.getUser(request, response); +// return new ResponseResult, Map>(user).run(getService(user)::list, ParamUtil.request2Map(request)); +// } +// +// //获取个税扣缴义务人表单 +// @GET +// @Path("/getForm") +// @Produces(MediaType.APPLICATION_JSON) +// public String getForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { +// User user = HrmUserVarify.getUser(request, response); +// return new ResponseResult, Map>(user).run(getService(user)::getForm, ParamUtil.request2Map(request)); +// } +// +// //新建个税扣缴义务人 +// @POST +// @Path("/save") +// @Produces(MediaType.APPLICATION_JSON) +// public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { +// User user = HrmUserVarify.getUser(request, response); +// return new ResponseResult, Map>(user).run(getService(user)::save, ParamUtil.request2Map(request)); +// } +// +// /** +// * 编辑个税扣缴义务人 +// */ +// @POST +// @Path("/update") +// @Produces(MediaType.APPLICATION_JSON) +// public String update(@Context HttpServletRequest request, @Context HttpServletResponse response) { +// User user = HrmUserVarify.getUser(request, response); +// return new ResponseResult, Map>(user).run(getService(user)::update, ParamUtil.request2Map(request)); +// } + } diff --git a/src/com/engine/salary/web/TaxRateController.java b/src/com/engine/salary/web/TaxRateController.java index 242e46dda..b452332b4 100644 --- a/src/com/engine/salary/web/TaxRateController.java +++ b/src/com/engine/salary/web/TaxRateController.java @@ -89,6 +89,4 @@ public class TaxRateController { return new ResponseResult< Map, Map>(user).run(getService(user)::delete,map); } - - } diff --git a/src/com/engine/salary/wrapper/TaxAgentBaseWrapper.java b/src/com/engine/salary/wrapper/TaxAgentBaseWrapper.java new file mode 100644 index 000000000..f1e8423fa --- /dev/null +++ b/src/com/engine/salary/wrapper/TaxAgentBaseWrapper.java @@ -0,0 +1,44 @@ +package com.engine.salary.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.salary.entity.taxagent.param.TaxAgentSaveBaseParam; +import com.engine.salary.entity.taxagent.po.TaxAgentBasePO; +import com.engine.salary.service.TaxAgentBaseService; +import com.engine.salary.service.impl.TaxAgentBaseServiceImpl; +import weaver.hrm.User; + +/** + * 个税扣缴义务人基础信息 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +public class TaxAgentBaseWrapper extends Service { + + private TaxAgentBaseService getTaxAgentBaseService(User user) { + return ServiceUtil.getService(TaxAgentBaseServiceImpl.class, user); + } + + /** + * 获取个税扣缴义务人基本信息表单 + * + * @return + */ + public TaxAgentBasePO getFrom() { + TaxAgentBasePO base = getTaxAgentBaseService(user).getBaseInfo(); + return base; + } + + /** + * 保存个税扣缴义务人基本信息 + * + * @param saveBaseParam + * @return + */ + public String save(TaxAgentSaveBaseParam saveBaseParam) { + return getTaxAgentBaseService(user).save(saveBaseParam); + } +} diff --git a/src/com/engine/salary/wrapper/TaxAgentSubAdminWrapper.java b/src/com/engine/salary/wrapper/TaxAgentSubAdminWrapper.java new file mode 100644 index 000000000..edf8381a3 --- /dev/null +++ b/src/com/engine/salary/wrapper/TaxAgentSubAdminWrapper.java @@ -0,0 +1,171 @@ +package com.engine.salary.wrapper; + +import com.engine.core.impl.Service; +import com.engine.salary.biz.EmployBiz; +import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.taxagent.bo.TaxAgentBO; +import com.engine.salary.entity.taxagent.dto.*; +import com.engine.salary.entity.taxagent.param.*; +import com.engine.salary.entity.taxagent.po.TaxAgentSubAdminPO; +import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.exception.SalaryRunTimeException; +import com.engine.salary.service.TaxAgentManageRangeService; +import com.engine.salary.service.TaxAgentSubAdminService; +import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.page.PageInfo; +import com.engine.salary.util.page.PageUtil; +import com.engine.salary.util.valid.ValidUtil; +import com.google.common.collect.Lists; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 个税义务人分管理员 + *

Copyright: Copyright (c) 2022

+ *

Company: 泛微软件

+ * + * @author qiantao + * @version 1.0 + **/ +public class TaxAgentSubAdminWrapper extends Service { + + private TaxAgentSubAdminService taxAgentSubAdminService; + private TaxAgentManageRangeService taxAgentManageRangeService; +// private HrmCommonEmployeeService hrmCommonEmployeeService; + + private EmployBiz employBiz = new EmployBiz(); + + /** + * 获取分管理员列表 + * + * @param queryParam + * @return + */ + public PageInfo list(TaxAgentSubAdminQueryParam queryParam) { + ValidUtil.doValidator(queryParam); + + List list = taxAgentSubAdminService.listByTaxAgentIds(Collections.singletonList(queryParam.getTaxAgentId())); + String range = SalaryI18nUtil.getI18nLabel(106290, "详情"); + List subAdminList = employBiz.getEmployeeByIds(list.stream().map(TaxAgentSubAdminPO::getEmployeeId).distinct().collect(Collectors.toList())); + + List records = TaxAgentBO.convertToSubAdminListDTO(list, range, subAdminList); + PageInfo listPage = PageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), TaxAgentSubAdminListDTO.class); + // 填充总数和当页数据 + listPage.setTotal(records.size()); + listPage.setList(PageUtil.subList(listPage.getPageNum(), listPage.getSize(), records)); + + return listPage; + } + + /** + * 删除分管理员 + * + * @param ids + * @return + */ + public String delete(Collection ids) { + return taxAgentSubAdminService.deleteByIds(ids); + } + + /** + * 获取基础设置表单 + * + * @param baseFormParam + * @return + */ + public TaxAgentSubAdminBaseFormDTO getBaseFrom(TaxAgentSubAdminBaseFormParam baseFormParam) { + ValidUtil.doValidator(baseFormParam); + + TaxAgentSubAdminBaseFormDTO taxAgentSubAdminBaseFormDTO = new TaxAgentSubAdminBaseFormDTO(); + Long id = baseFormParam.getId(); + if (id != null) { + TaxAgentSubAdminPO taxAgentSubAdmin = taxAgentSubAdminService.getById(id); + if (taxAgentSubAdmin == null) { + throw new SalaryRunTimeException(String.format(SalaryI18nUtil.getI18nLabel(106466, "分管理员不存在") + "[id:%s]", id)); + } + if (!baseFormParam.getTaxAgentId().equals(taxAgentSubAdmin.getTaxAgentId())) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(106685, "分管理员与所属个税扣缴义务人不匹配")); + } + taxAgentSubAdminBaseFormDTO.setId(taxAgentSubAdmin.getId()); + taxAgentSubAdminBaseFormDTO.setDescription(taxAgentSubAdmin.getRemark()); + TaxAgentEmployeeOptionDTO taxAgentEmployee = new TaxAgentEmployeeOptionDTO(); + taxAgentEmployee.setId(taxAgentSubAdmin.getEmployeeId()); + DataCollectionEmployee employee = employBiz.getEmployeeById(taxAgentEmployee.getId()); + taxAgentEmployee.setContent(employee == null ? "" : employee.getUsername()); + + taxAgentSubAdminBaseFormDTO.setSubAdminUser(Collections.singletonList(taxAgentEmployee)); + } else { + taxAgentSubAdminBaseFormDTO.setSubAdminUser(Lists.newArrayList()); + } + + return taxAgentSubAdminBaseFormDTO; + } + + /** + * 保存分管理员基础设置 + * + * @param saveParam + * @return + */ + public String saveBase(TaxAgentSubAdminBaseSaveParam saveParam) { + return taxAgentSubAdminService.saveBase(saveParam); + } + + /** + * 范围列表 + * + * @param queryParam + * @return + */ + public PageInfo listRangeInclude(TaxAgentSubAdminRangeQueryParam queryParam) { + PageInfo listPage = taxAgentManageRangeService.listPageByParamAndIncludeType(queryParam, NumberUtils.INTEGER_ONE); + return listPage; + } + + /** + * 范围排除列表 + * + * @param queryParam + * @return + */ + public PageInfo listRangeExclude(TaxAgentSubAdminRangeQueryParam queryParam) { + PageInfo listPage = taxAgentManageRangeService.listPageByParamAndIncludeType(queryParam, NumberUtils.INTEGER_ZERO); + return listPage; + } + + /** + * 获取管理范围表单 + * + * @return + */ + public TaxAgentManageRangeFormDTO getRangeFrom() { + return TaxAgentManageRangeFormDTO.builder().employeeStatus(UserStatusEnum.getHrmStatusList()).build(); + } + + /** + * 保存管理范围 + * + * @param saveParam + * @return + */ + public String saveRange(TaxAgentSubAdminRangeSaveParam saveParam) { + taxAgentManageRangeService.save4SubAdmin(saveParam); + return StringUtils.EMPTY; + } + + /** + * 删除管理范围 + * + * @param ids + * @return + */ + public String deleteRange(Collection ids) { + taxAgentManageRangeService.deleteByIds(ids); + return StringUtils.EMPTY; + } +} diff --git a/src/com/engine/salary/wrapper/TaxAgentWrapper.java b/src/com/engine/salary/wrapper/TaxAgentWrapper.java index b8a3e46f2..2878750d0 100644 --- a/src/com/engine/salary/wrapper/TaxAgentWrapper.java +++ b/src/com/engine/salary/wrapper/TaxAgentWrapper.java @@ -2,39 +2,31 @@ package com.engine.salary.wrapper; import com.cloudstore.eccom.pc.table.WeaTable; import com.cloudstore.eccom.result.WeaResultMsg; -import com.engine.salary.entity.agency.po.PaymentAgencyPO; +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.hrm.HrmStatus; import com.engine.salary.entity.taxagent.bo.TaxAgentBO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeOptionDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentFormDTO; +import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeFormDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeListDTO; -import com.engine.salary.entity.taxagent.param.TaxAgentAdminChangeCheckParam; -import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam; -import com.engine.salary.entity.taxagent.param.TaxAgentRangeQueryParam; -import com.engine.salary.entity.taxagent.param.TaxAgentSaveParam; +import com.engine.salary.entity.taxagent.param.*; import com.engine.salary.entity.taxagent.po.TaxAgentAdminPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.*; -import com.engine.salary.util.SalaryAssert; +import com.engine.salary.service.impl.*; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.PageUtil; import com.google.common.collect.Maps; -import com.weaver.common.component.browser.combination.TypesBrowserOption; -import com.weaver.common.component.form.WeaForm; -import com.weaver.common.component.form.item.WeaFormOption; -import com.weaver.common.hrm.domain.employee.HrmStatus; -import com.weaver.hrm.salary.entity.taxagent.dto.TaxAgentManageRangeFormDTO; -import com.weaver.hrm.salary.entity.taxagent.param.*; -import com.weaver.hrm.salary.service.*; -import com.weaver.hrm.salary.util.SalaryFormatUtil; -import com.weaver.teams.security.context.UserContext; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.beans.BeanUtils; +import weaver.hrm.User; import java.util.*; import java.util.stream.Collectors; @@ -47,26 +39,35 @@ import java.util.stream.Collectors; * @author qiantao * @version 1.0 **/ -public class TaxAgentWrapper { +public class TaxAgentWrapper extends Service { + public TaxAgentBaseService getTaxAgentBaseService(User user) { + return ServiceUtil.getService(TaxAgentBaseServiceImpl.class, user); + } - private TaxAgentBaseService taxAgentBaseService; + public TaxAgentAdminService getTaxAgentAdminService(User user) { + return ServiceUtil.getService(TaxAgentAdminServiceImpl.class, user); + } - private TaxAgentAdminService taxAgentAdminService; + public TaxAgentV2Service getTaxAgentService(User user) { + return ServiceUtil.getService(TaxAgentV2ServiceImpl.class, user); + } - private TaxAgentV2Service taxAgentService; + public SalaryEmployeeService getSalaryEmployeeService(User user) { + return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); + } - private SalaryEmployeeService employeeService; + public TaxAgentManageRangeService getTaxAgentManageRangeService(User user) { + return ServiceUtil.getService(TaxAgentManageRangeServiceImpl.class, user); + } - private TaxAgentManageRangeService taxAgentManageRangeService; - - private PaymentAgencyService paymentAgencyService; - - private SIEmployeeStatusMapper siEmployeeStatusMapper; - - private HrmCommonHrmStatusService hrmCommonHrmStatusService; - - private HrmConfigSetCache hrmConfigSetCache; +// private PaymentAgencyService paymentAgencyService; +// +// private SIEmployeeStatusMapper siEmployeeStatusMapper; +// +// private HrmCommonHrmStatusService hrmCommonHrmStatusService; +// +// private HrmConfigSetCache hrmConfigSetCache; /** * 是否是薪酬模块总管理员 @@ -75,7 +76,7 @@ public class TaxAgentWrapper { * @return */ public Boolean isChief(Long currentEmployeeId) { - return taxAgentService.isChief(currentEmployeeId); + return getTaxAgentService(user).isChief(currentEmployeeId); } /** @@ -87,8 +88,8 @@ public class TaxAgentWrapper { public Map permission(Long currentEmployeeId) { Map resultMap = Maps.newHashMap(); Boolean isChief = isChief(currentEmployeeId); - Boolean isDefaultOpen = taxAgentService.isDefaultOpen(currentEmployeeId); - Boolean isAdminEnable = taxAgentService.isAdminEnable(currentEmployeeId); + Boolean isDefaultOpen = getTaxAgentService(user).isDefaultOpen(currentEmployeeId); + Boolean isAdminEnable = getTaxAgentService(user).isAdminEnable(currentEmployeeId); resultMap.put("isChief", isChief); resultMap.put("isDefaultOpen", isDefaultOpen); resultMap.put("isAdminEnable", isAdminEnable); @@ -99,26 +100,25 @@ public class TaxAgentWrapper { * 个税口角义务人列表 * * @param queryParam - * @param currentEmployeeId * @return */ - public Map list(TaxAgentQueryParam queryParam, Long currentEmployeeId) { + public Map list(TaxAgentQueryParam queryParam) { // 是否是总管理员 - Boolean isChief = taxAgentService.isChief(currentEmployeeId); + Boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); // List paymentAgencyPOS = paymentAgencyService.listAll(currentTenantKey); PageInfo page = null; if (isChief) { - page = taxAgentService.listPage(queryParam); + page = getTaxAgentService(user).listPage(queryParam); } else { // 分权情况下,根据自己作为管理员过滤列表 if (isOpenDevolution) { - List list = taxAgentService.list(queryParam); + List list = getTaxAgentService(user).list(queryParam); // 1.判断自己是否是管理员, 如果是管理员,就是能够操作所属个税扣缴义务人下的所有人的数据 - List taxAgentAdminList = taxAgentAdminService.listByTaxAgentIdsAndEmployeeId(list.stream().map(TaxAgentPO::getId).collect(Collectors.toList()), currentEmployeeId); + List taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIdsAndEmployeeId(list.stream().map(TaxAgentPO::getId).collect(Collectors.toList()), (long) user.getUID()); // 是管理员的列表 List adminTaxAgentIds = taxAgentAdminList.stream().map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList()); list = list.stream().filter(f -> adminTaxAgentIds.contains(f.getId())).collect(Collectors.toList()); @@ -137,8 +137,8 @@ public class TaxAgentWrapper { if (isOpenDevolution) { List list = page.getList(); List taxAgentIds = list.stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - List taxAgentAdmins = taxAgentAdminService.listByTaxAgentIds(taxAgentIds); - List adminList = employeeService.listByIds(taxAgentAdmins.stream().map(TaxAgentAdminPO::getEmployeeId).distinct().collect(Collectors.toList())); + List taxAgentAdmins = getTaxAgentAdminService(user).listByTaxAgentIds(taxAgentIds); + List adminList = getSalaryEmployeeService(user).listByIds(taxAgentAdmins.stream().map(TaxAgentAdminPO::getEmployeeId).distinct().collect(Collectors.toList())); listPage.setList(TaxAgentBO.convertToTableListDTO(page.getList(), null, taxAgentAdmins, adminList, setLabel)); } else { listPage.setList(TaxAgentBO.convertToTableListDTO(page.getList(), null, setLabel)); @@ -168,16 +168,17 @@ public class TaxAgentWrapper { } - public List> paymentAgencyList(TaxAgentQueryParam queryParam, Long currentEmployeeId) { - List taxAgentPOS = taxAgentService.listByIds(queryParam.getIds()); - List paymentAgencyPOS = paymentAgencyService.listAll(currentTenantKey); - SalaryAssert.notEmpty(taxAgentPOS, "taxagent data is not exist"); - TaxAgentPO taxAgentPO = taxAgentPOS.get(0); - return TaxAgentBO.buildPaymentAgency(taxAgentPO.getPaymentAgency(), paymentAgencyPOS); + public List> paymentAgencyList(TaxAgentQueryParam queryParam) { +// List taxAgentPOS = getTaxAgentService(user).listByIds(queryParam.getIds()); +// List paymentAgencyPOS = paymentAgencyService.listAll(currentTenantKey); +// SalaryAssert.notEmpty(taxAgentPOS, "taxagent data is not exist"); +// TaxAgentPO taxAgentPO = taxAgentPOS.get(0); +// return TaxAgentBO.buildPaymentAgency(taxAgentPO.getPaymentAgency(), paymentAgencyPOS); + return null; } - public String paymentAgencySave(TaxAgentSaveParam param, Long currentEmploueeId) { -// List taxAgentPOS = taxAgentService.listByIds(Collections.singletonList(param.getId())); + public String paymentAgencySave(TaxAgentSaveParam param) { +// List taxAgentPOS = getTaxAgentService(user).listByIds(Collections.singletonList(param.getId())); // SalaryAssert.notEmpty(taxAgentPOS, "data is not exist"); // TaxAgentPO taxAgentPO = taxAgentPOS.get(0); // List errorList = new ArrayList<>(); @@ -211,7 +212,7 @@ public class TaxAgentWrapper { // currentEmploueeId, 115129, "缴纳社保福利,不可取消关联"); // } else { // taxAgentPO.setPaymentAgency(param.getPaymentAgency()); -// taxAgentService.paymentAgencyUpdate(taxAgentPO, currentEmploueeId); +// getTaxAgentService(user).paymentAgencyUpdate(taxAgentPO, currentEmploueeId); // } return ""; } @@ -225,21 +226,21 @@ public class TaxAgentWrapper { public TaxAgentFormDTO getFrom(Long id) { TaxAgentFormDTO taxAgentFromDTO = new TaxAgentFormDTO(); if (id != null) { - TaxAgentPO taxAgent = taxAgentService.getById(id); + TaxAgentPO taxAgent = getTaxAgentService(user).getById(id); if (taxAgent == null) { throw new SalaryRunTimeException(String.format(SalaryI18nUtil.getI18nLabel(100543, "个税扣缴人不存在") + "[id:%s]", id)); } BeanUtils.copyProperties(taxAgent, taxAgentFromDTO); } // 是否开启分权 - boolean isOpenDevolution = taxAgentBaseService.isOpenDevolution(); + boolean isOpenDevolution = getTaxAgentBaseService(user).isOpenDevolution(); if (isOpenDevolution) { - List admins = taxAgentAdminService.listByTaxAgentIds(Collections.singletonList(id)); + List admins = getTaxAgentAdminService(user).listByTaxAgentIds(Collections.singletonList(id)); // 目前是一个 TaxAgentEmployeeOptionDTO taxAgentEmployee = new TaxAgentEmployeeOptionDTO(); taxAgentEmployee.setId(CollectionUtils.isEmpty(admins) ? null : admins.get(0).getEmployeeId()); if (taxAgentEmployee.getId() != null) { - DataCollectionEmployee employee = employeeService.getEmployeeById(taxAgentEmployee.getId()); + DataCollectionEmployee employee = getSalaryEmployeeService(user).getEmployeeById(taxAgentEmployee.getId()); taxAgentEmployee.setContent(employee == null ? "" : employee.getUsername()); } taxAgentFromDTO.setAdminUser(Collections.singletonList(taxAgentEmployee)); @@ -254,54 +255,49 @@ public class TaxAgentWrapper { * 保存个税扣缴义务人 * * @param saveParam - * @param currentEmployeeId * @return */ - public String save(TaxAgentSaveParam saveParam, Long currentEmployeeId) { - return taxAgentService.save(saveParam, currentEmployeeId); + public String save(TaxAgentSaveParam saveParam) { + return getTaxAgentService(user).save(saveParam); } /** * 编辑个税扣缴义务人 * * @param saveParam - * @param currentEmployeeId * @return */ - public String update(TaxAgentSaveParam saveParam, Long currentEmployeeId) { - return taxAgentService.update(saveParam, currentEmployeeId); + public String update(TaxAgentSaveParam saveParam) { + return getTaxAgentService(user).update(saveParam); } /** * 更换管理员校验 * * @param checkParam - * @param currentEmployeeId * @return */ - public Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam, Long currentEmployeeId) { - return taxAgentService.adminChangeCheck(checkParam, currentEmployeeId); + public Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam) { + return getTaxAgentService(user).adminChangeCheck(checkParam); } /** * 删除个税扣缴义务人 * * @param ids - * @param currentEmployeeId * @return */ - public String delete(Collection ids, Long currentEmployeeId) { - return taxAgentService.delete(ids, currentEmployeeId); + public String delete(Collection ids) { + return getTaxAgentService(user).delete(ids); } /** * 个税扣缴义务人下拉列表 * - * @param currentEmployeeId * @return */ - public List> selectList(Long currentEmployeeId) { - return taxAgentService.selectList(currentEmployeeId); + public List> selectList() { + return getTaxAgentService(user).selectList(); } /** @@ -311,7 +307,7 @@ public class TaxAgentWrapper { * @return */ public PageInfo listRangeInclude(TaxAgentRangeQueryParam queryParam) { - PageInfo listPage = taxAgentManageRangeService.listPageByParamAndIncludeType(queryParam, NumberUtils.INTEGER_ONE); + PageInfo listPage = getTaxAgentManageRangeService(user).listPageByParamAndIncludeType(queryParam, NumberUtils.INTEGER_ONE); return listPage; } @@ -322,7 +318,7 @@ public class TaxAgentWrapper { * @return */ public PageInfo listRangeExclude(TaxAgentRangeQueryParam queryParam) { - PageInfo listPage = taxAgentManageRangeService.listPageByParamAndIncludeType(queryParam, NumberUtils.INTEGER_ZERO); + PageInfo listPage = getTaxAgentManageRangeService(user).listPageByParamAndIncludeType(queryParam, NumberUtils.INTEGER_ZERO); return listPage; } @@ -331,43 +327,21 @@ public class TaxAgentWrapper { * * @return */ - public WeaForm getRangeFrom() { + public TaxAgentManageRangeFormDTO getRangeFrom() { // 查询人员状态 - List hrmStatusList = UserStatusEnum.getEffectiveList(); - List weaFormOptions = hrmStatusList.stream().map(hrmStatus -> { - WeaFormOption weaFormOption = new WeaFormOption(); - weaFormOption.setId("" + hrmStatus.getCodeId()); - weaFormOption.setContent(hrmStatus.getName()); - return weaFormOption; - }).collect(Collectors.toList()); - Long employeeId = UserContext.getCurrentEmployeeId(); - List browserOptions = new ArrayList<>(); - browserOptions.add(new TypesBrowserOption("user", SalaryI18nUtil.getI18nLabel(1869, "人员"))); - browserOptions.add(new TypesBrowserOption("dept", SalaryI18nUtil.getI18nLabel(1250, "部门"))); - if (hrmConfigSetCache.isSubcompanySupport(tenantKey)) { - browserOptions.add(new TypesBrowserOption("subcompany", SalaryI18nUtil.getI18nLabel(107369, "分部"))); - } - browserOptions.add(new TypesBrowserOption("position", SalaryI18nUtil.getI18nLabel(1245, "岗位"))); + List hrmStatusList = UserStatusEnum.getHrmStatusList(); - WeaForm weaForm = SalaryFormatUtil.getInstance().buildForm(TaxAgentManageRangeFormDTO.class, TaxAgentManageRangeFormDTO.builder().targetOptions(browserOptions).build()); - weaForm.getItems().forEach((key, value) -> { - if (StringUtils.equals("employeeStatus", key)) { - value.setOptions(weaFormOptions); - } - }); - return weaForm; + return TaxAgentManageRangeFormDTO.builder().employeeStatus(hrmStatusList).build(); } /** * 保存管理范围 * * @param saveParam - * @param employeeId - * @param tenantKey * @return */ - public String saveRange(TaxAgentRangeSaveParam saveParam, Long employeeId, String tenantKey) { - taxAgentManageRangeService.save(saveParam, employeeId, tenantKey); + public String saveRange(TaxAgentRangeSaveParam saveParam) { + getTaxAgentManageRangeService(user).save(saveParam); return StringUtils.EMPTY; } @@ -375,11 +349,10 @@ public class TaxAgentWrapper { * 删除管理范围 * * @param ids - * @param tenantKey * @return */ - public String deleteRange(Collection ids, Long employeeId, String tenantKey) { - taxAgentManageRangeService.deleteByIds(ids, employeeId, tenantKey); + public String deleteRange(Collection ids) { + getTaxAgentManageRangeService(user).deleteByIds(ids); return StringUtils.EMPTY; } }