From 080a69c92979515f25ebacf179f54d37c9b7ee07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 8 Aug 2024 09:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E9=87=8F=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/config/SalaryBillConfig.java | 14 ++ .../salary/entity/config/SalaryConfig.java | 44 +++++ .../config/ArchiveFieldConfig.java | 176 ++++++++++++++++++ .../salaryitem/config/FormulaConfig.java | 30 ++- .../salaryitem/config/FormulaVarConfig.java | 25 +++ .../salaryitem/config/SalaryItemConfig.java | 49 ++++- .../param/SalaryItemExportParam.java | 1 + .../salarysob/config/SalarySobConfig.java | 104 +++++++++++ .../taxagent/config/TaxAgentConfig.java | 55 ++++++ .../archive/SalaryArchiveItemMapper.java | 5 +- .../archive/SalaryArchiveItemMapper.xml | 73 ++++++++ .../mapper/salaryitem/SalaryItemMapper.java | 2 + .../mapper/salaryitem/SalaryItemMapper.xml | 30 ++- .../mapper/salarysob/SalarySobMapper.java | 3 + .../mapper/salarysob/SalarySobMapper.xml | 27 ++- .../mapper/taxagent/TaxAgentMapper.java | 3 + .../salary/mapper/taxagent/TaxAgentMapper.xml | 14 ++ .../service/SalaryArchiveItemService.java | 2 + .../salary/service/SalaryItemService.java | 2 + .../salary/service/SalarySobService.java | 3 + .../salary/service/TaxAgentService.java | 2 + .../impl/SalaryArchiveItemServiceImpl.java | 13 ++ .../service/impl/SalaryItemServiceImpl.java | 13 +- .../service/impl/SalarySobServiceImpl.java | 6 + .../service/impl/TaxAgentServiceImpl.java | 17 ++ .../web/SalarySystemConfigController.java | 40 ++++ .../wrapper/SalarySystemConfigWrapper.java | 49 ++++- 27 files changed, 785 insertions(+), 17 deletions(-) create mode 100644 src/com/engine/salary/entity/config/SalaryBillConfig.java create mode 100644 src/com/engine/salary/entity/config/SalaryConfig.java create mode 100644 src/com/engine/salary/entity/salaryarchive/config/ArchiveFieldConfig.java create mode 100644 src/com/engine/salary/entity/salarysob/config/SalarySobConfig.java create mode 100644 src/com/engine/salary/entity/taxagent/config/TaxAgentConfig.java diff --git a/src/com/engine/salary/entity/config/SalaryBillConfig.java b/src/com/engine/salary/entity/config/SalaryBillConfig.java new file mode 100644 index 000000000..688ef4e7d --- /dev/null +++ b/src/com/engine/salary/entity/config/SalaryBillConfig.java @@ -0,0 +1,14 @@ +package com.engine.salary.entity.config; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalaryBillConfig { + private Long id; +} diff --git a/src/com/engine/salary/entity/config/SalaryConfig.java b/src/com/engine/salary/entity/config/SalaryConfig.java new file mode 100644 index 000000000..f15811d2d --- /dev/null +++ b/src/com/engine/salary/entity/config/SalaryConfig.java @@ -0,0 +1,44 @@ +package com.engine.salary.entity.config; + +import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig; +import com.engine.salary.entity.salaryitem.config.SalaryItemConfig; +import com.engine.salary.entity.taxagent.config.TaxAgentConfig; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@XStreamAlias("SalaryConfig") +public class SalaryConfig { +// //版本 +// @XStreamAlias("version") +// @XStreamAsAttribute +// private String version; +// +// //基本信息 +//// @XStreamImplicit +// private List modules; + + //社保方案 + + //薪资项目 + @XStreamImplicit + private List salaryItemConfigs; + + //字段管理 + @XStreamImplicit + private List archiveFieldConfig; + + //扣缴义务人 + @XStreamImplicit + private List taxAgentConfigs; + +} diff --git a/src/com/engine/salary/entity/salaryarchive/config/ArchiveFieldConfig.java b/src/com/engine/salary/entity/salaryarchive/config/ArchiveFieldConfig.java new file mode 100644 index 000000000..1e77b158b --- /dev/null +++ b/src/com/engine/salary/entity/salaryarchive/config/ArchiveFieldConfig.java @@ -0,0 +1,176 @@ +package com.engine.salary.entity.salaryarchive.config; + +import com.engine.salary.enums.SalaryRoundingModeEnum; +import com.engine.salary.enums.SalarySystemTypeEnum; +import com.engine.salary.enums.SalaryValueTypeEnum; +import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + + +@Data +@Accessors(chain = true) +@NoArgsConstructor +@AllArgsConstructor +@XStreamAlias("ArchiveFieldConfig") +public class ArchiveFieldConfig { + /** + * 主键id + */ + @XStreamAlias("id") + @XStreamAsAttribute + private Long id; + + /** + * 名称 + */ + @XStreamAlias("name") + @XStreamAsAttribute + private String name; + + /** + * 编号 + */ + @XStreamAlias("code") + @XStreamAsAttribute + private String code; + + /** + * 是否是系统项目 + * + * @see SalarySystemTypeEnum + */ + @XStreamAlias("systemType") + @XStreamAsAttribute + private Integer systemType; + + /** + * 系统薪资项目的id(是从哪个系统薪资项目复制过来的) + */ + @XStreamAlias("sysSalaryItemId") + @XStreamAsAttribute + private Long sysSalaryItemId; + + /** + * 默认使用。0:默认不适用、1:默认使用 + */ + @XStreamAlias("useDefault") + @XStreamAsAttribute + private Integer useDefault; + + /** + * 薪资档案引用。0:薪资档案未引用、1:薪资档案引用 + */ + @XStreamAlias("useInEmployeeSalary") + @XStreamAsAttribute + private Integer useInEmployeeSalary; + + /** + * 核算时隐藏 + */ + @XStreamAlias("hideDefault") + @XStreamAsAttribute + private Integer hideDefault; + + /** + * 进位规则 + * + * @see SalaryRoundingModeEnum + */ + @XStreamAlias("roundingMode") + @XStreamAsAttribute + private Integer roundingMode; + + /** + * 保留的小数位数 + */ + @XStreamAlias("pattern") + @XStreamAsAttribute + private Integer pattern; + + /** + * 取值方式 + * + * @see SalaryValueTypeEnum + */ + @XStreamAlias("valueType") + @XStreamAsAttribute + private Integer valueType; + + /** + * 字段类型 + * + * @see SalaryDataTypeEnum + */ + @XStreamAlias("dataType") + @XStreamAsAttribute + private String dataType; + + /** + * 公式 + */ + @XStreamAlias("formulaId") + @XStreamAsAttribute + private Long formulaId; + + /** + * 备注 + */ + @XStreamAlias("description") + @XStreamAsAttribute + private String description; + + /** + * 是否可以编辑。0:不可编辑、1:可编辑 + */ + @XStreamAlias("canEdit") + @XStreamAsAttribute + private Integer canEdit; + + /** + * 可见性 + */ + @XStreamAlias("sharedType") + @XStreamAsAttribute + private Integer sharedType; + + /** + * 可见范围 + */ + @XStreamAlias("taxAgentIds") + @XStreamAsAttribute + private String taxAgentIds; + + /** + * 0不可删除,1可删除 + */ + @XStreamAlias("canDelete") + @XStreamAsAttribute + private Integer canDelete; + + /** + * 排序 + */ + @XStreamAlias("sortedIndex") + @XStreamAsAttribute + private Integer sortedIndex; + + /** + * 宽度 + */ + @XStreamAlias("width") + @XStreamAsAttribute + private Integer width; + + /** + * 默认值 + */ + @XStreamAlias("defaultValue") + @XStreamAsAttribute + private String defaultValue; + +} diff --git a/src/com/engine/salary/entity/salaryitem/config/FormulaConfig.java b/src/com/engine/salary/entity/salaryitem/config/FormulaConfig.java index 9930fa059..4ba6d8581 100644 --- a/src/com/engine/salary/entity/salaryitem/config/FormulaConfig.java +++ b/src/com/engine/salary/entity/salaryitem/config/FormulaConfig.java @@ -1,5 +1,8 @@ package com.engine.salary.entity.salaryitem.config; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamImplicit; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -12,55 +15,78 @@ import java.util.List; @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor +@XStreamAlias("FormulaConfig") public class FormulaConfig { /** * 主键id */ + @XStreamAlias("id") + @XStreamAsAttribute private Long id; /** * 名称 */ + @XStreamAlias("name") + @XStreamAsAttribute private String name; /** * 备注 */ + @XStreamAlias("description") + @XStreamAsAttribute private String description; /** * 模块 */ + @XStreamAlias("module") + @XStreamAsAttribute private String module; /** * 用途 */ + @XStreamAlias("useFor") + @XStreamAsAttribute private String useFor; /** * 引用类型 */ + @XStreamAlias("referenceType") + @XStreamAsAttribute private String referenceType; /** * 返回类型 */ + @XStreamAlias("returnType") + @XStreamAsAttribute private String returnType; /** * 校验类型 */ + @XStreamAlias("validateType") + @XStreamAsAttribute private String validateType; /** * 扩展参数 */ + @XStreamAlias("extendParam") + @XStreamAsAttribute private String extendParam; /** * 公式内容 */ + @XStreamAlias("formula") + @XStreamAsAttribute private String formula; /** * 公式实际运行脚本 */ + @XStreamAlias("formulaRunScript") + @XStreamAsAttribute private String formulaRunScript; - - private List vars; + @XStreamImplicit + private List varConfigs; } diff --git a/src/com/engine/salary/entity/salaryitem/config/FormulaVarConfig.java b/src/com/engine/salary/entity/salaryitem/config/FormulaVarConfig.java index 32707b286..dcd2fc438 100644 --- a/src/com/engine/salary/entity/salaryitem/config/FormulaVarConfig.java +++ b/src/com/engine/salary/entity/salaryitem/config/FormulaVarConfig.java @@ -1,5 +1,7 @@ package com.engine.salary.entity.salaryitem.config; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -10,40 +12,63 @@ import lombok.experimental.Accessors; @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor +@XStreamAlias("FormulaVarConfig") public class FormulaVarConfig { /** * 主键id */ + @XStreamAlias("id") + @XStreamAsAttribute private Long id; /** * 名称 */ + @XStreamAlias("name") + @XStreamAsAttribute private String name; + /** * 公式id */ + @XStreamAlias("formulaId") + @XStreamAsAttribute private Long formulaId; + /** * 字段id */ + @XStreamAlias("fieldId") + @XStreamAsAttribute private String fieldId; + /** * 字段名称 */ + @XStreamAlias("fieldName") + @XStreamAsAttribute private String fieldName; + /** * 字段类型,number,string */ + @XStreamAlias("fieldType") + @XStreamAsAttribute private String fieldType; + /** * 来源 */ + @XStreamAlias("source") + @XStreamAsAttribute private String source; + /** * 排序 */ + @XStreamAlias("orderIndex") + @XStreamAsAttribute private Integer orderIndex; } diff --git a/src/com/engine/salary/entity/salaryitem/config/SalaryItemConfig.java b/src/com/engine/salary/entity/salaryitem/config/SalaryItemConfig.java index 2e0d85f7c..8c1214012 100644 --- a/src/com/engine/salary/entity/salaryitem/config/SalaryItemConfig.java +++ b/src/com/engine/salary/entity/salaryitem/config/SalaryItemConfig.java @@ -4,6 +4,8 @@ import com.engine.salary.enums.SalaryRoundingModeEnum; import com.engine.salary.enums.SalarySystemTypeEnum; import com.engine.salary.enums.SalaryValueTypeEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -14,20 +16,27 @@ import lombok.experimental.Accessors; @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor +@XStreamAlias("SalaryItemConfig") public class SalaryItemConfig { /** * 主键id */ + @XStreamAlias("id") + @XStreamAsAttribute private Long id; /** * 名称 */ + @XStreamAlias("name") + @XStreamAsAttribute private String name; /** * 编号 */ + @XStreamAlias("code") + @XStreamAsAttribute private String code; /** @@ -35,26 +44,36 @@ public class SalaryItemConfig { * * @see SalarySystemTypeEnum */ + @XStreamAlias("systemType") + @XStreamAsAttribute private Integer systemType; /** * 系统薪资项目的id(是从哪个系统薪资项目复制过来的) */ + @XStreamAlias("sysSalaryItemId") + @XStreamAsAttribute private Long sysSalaryItemId; /** * 默认使用。0:默认不适用、1:默认使用 */ + @XStreamAlias("useDefault") + @XStreamAsAttribute private Integer useDefault; /** * 薪资档案引用。0:薪资档案未引用、1:薪资档案引用 */ + @XStreamAlias("useInEmployeeSalary") + @XStreamAsAttribute private Integer useInEmployeeSalary; /** * 核算时隐藏 */ + @XStreamAlias("hideDefault") + @XStreamAsAttribute private Integer hideDefault; /** @@ -62,11 +81,15 @@ public class SalaryItemConfig { * * @see SalaryRoundingModeEnum */ + @XStreamAlias("roundingMode") + @XStreamAsAttribute private Integer roundingMode; /** * 保留的小数位数 */ + @XStreamAlias("pattern") + @XStreamAsAttribute private Integer pattern; /** @@ -74,6 +97,8 @@ public class SalaryItemConfig { * * @see SalaryValueTypeEnum */ + @XStreamAlias("valueType") + @XStreamAsAttribute private Integer valueType; /** @@ -81,54 +106,74 @@ public class SalaryItemConfig { * * @see SalaryDataTypeEnum */ + @XStreamAlias("dataType") + @XStreamAsAttribute private String dataType; /** * 公式 */ + @XStreamAlias("formulaId") + @XStreamAsAttribute private Long formulaId; /** * 备注 */ + @XStreamAlias("description") + @XStreamAsAttribute private String description; /** * 是否可以编辑。0:不可编辑、1:可编辑 */ + @XStreamAlias("canEdit") + @XStreamAsAttribute private Integer canEdit; /** * 可见性 */ + @XStreamAlias("sharedType") + @XStreamAsAttribute private Integer sharedType; /** * 可见范围 */ + @XStreamAlias("taxAgentIds") + @XStreamAsAttribute private String taxAgentIds; /** * 0不可删除,1可删除 */ + @XStreamAlias("canDelete") + @XStreamAsAttribute private Integer canDelete; /** * 排序 */ + @XStreamAlias("sortedIndex") + @XStreamAsAttribute private Integer sortedIndex; /** * 宽度 */ + @XStreamAlias("width") + @XStreamAsAttribute private Integer width; /** * 默认值 */ + @XStreamAlias("defaultValue") + @XStreamAsAttribute private String defaultValue; - - private FormulaConfig formula; + @XStreamAlias("FormulaConfig") + private FormulaConfig formulaConfig; } diff --git a/src/com/engine/salary/entity/salaryitem/param/SalaryItemExportParam.java b/src/com/engine/salary/entity/salaryitem/param/SalaryItemExportParam.java index bf368aa9e..455472227 100644 --- a/src/com/engine/salary/entity/salaryitem/param/SalaryItemExportParam.java +++ b/src/com/engine/salary/entity/salaryitem/param/SalaryItemExportParam.java @@ -23,4 +23,5 @@ public class SalaryItemExportParam { private List ids; + } diff --git a/src/com/engine/salary/entity/salarysob/config/SalarySobConfig.java b/src/com/engine/salary/entity/salarysob/config/SalarySobConfig.java new file mode 100644 index 000000000..14692502e --- /dev/null +++ b/src/com/engine/salary/entity/salarysob/config/SalarySobConfig.java @@ -0,0 +1,104 @@ +package com.engine.salary.entity.salarysob.config; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@XStreamAlias("SalarySobConfig") +public class SalarySobConfig { + + /** + * 主键id + */ + @XStreamAlias("id") + @XStreamAsAttribute + private Long id; + + /** + * 名称 + */ + @XStreamAlias("name") + @XStreamAsAttribute + private String name; + + /** + * 个税扣缴义务人的主键id + */ + @XStreamAlias("taxAgentId") + @XStreamAsAttribute + private Long taxAgentId; + + /** + * 应税项目。1:正常工资薪金所得 + */ + @XStreamAlias("incomeCategory") + @XStreamAsAttribute + private Integer incomeCategory; + + /** + * 薪资周期。1:上上月、2:上月、3:本月、4:下月 + */ + @XStreamAlias("salaryCycleType") + @XStreamAsAttribute + private Integer salaryCycleType; + + /** + * 薪资周期的起始日期 + */ + @XStreamAlias("salaryCycleFromDay") + @XStreamAsAttribute + private Integer salaryCycleFromDay; + + /** + * 税款所属期。1:上上月、2:上月、3:本月、4:下月 + */ + @XStreamAlias("taxCycleType") + @XStreamAsAttribute + private Integer taxCycleType; + + /** + * 考勤周期。1:上上月、2:上月、3:本月、4:下月 + */ + @XStreamAlias("attendCycleType") + @XStreamAsAttribute + private Integer attendCycleType; + + /** + * 考勤周期的起始日期 + */ + @XStreamAlias("attendCycleFromDay") + @XStreamAsAttribute + private Integer attendCycleFromDay; + + /** + * 社保福利所属期。1:上上月、2:上月、3:本月、4:下月 + */ + @XStreamAlias("socialSecurityCycleType") + @XStreamAsAttribute + private Integer socialSecurityCycleType; + + /** + * 是否禁用。0:正常使用、1:禁用 + */ + @XStreamAlias("disable") + @XStreamAsAttribute + private Integer disable; + + /** + * 描述 + */ + @XStreamAlias("description") + @XStreamAsAttribute + private String description; + + +// private List salaryBillConfigs; + +} diff --git a/src/com/engine/salary/entity/taxagent/config/TaxAgentConfig.java b/src/com/engine/salary/entity/taxagent/config/TaxAgentConfig.java new file mode 100644 index 000000000..d22426bde --- /dev/null +++ b/src/com/engine/salary/entity/taxagent/config/TaxAgentConfig.java @@ -0,0 +1,55 @@ +package com.engine.salary.entity.taxagent.config; + +import com.engine.salary.entity.salarysob.config.SalarySobConfig; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamImplicit; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@XStreamAlias("TaxAgentConfig") +public class TaxAgentConfig { + + /** + * 主键id + */ + @XStreamAlias("id") + @XStreamAsAttribute + private Long id; + + /** + * 名称 + */ + @XStreamAlias("name") + @XStreamAsAttribute + private String name; + + + /** + * 备注 + */ + @XStreamAlias("description") + @XStreamAsAttribute + private String description; + + + /** + * 排序 + */ + @XStreamAlias("sortedIndex") + @XStreamAsAttribute + private Integer sortedIndex; + + //薪资账套 + @XStreamImplicit + private List salarySobConfigs; + +} diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.java b/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.java index 9f4ef0cd6..c96deb548 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.java +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.java @@ -1,12 +1,13 @@ package com.engine.salary.mapper.archive; +import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig; import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemQueryParam; import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; -import com.engine.salary.entity.siarchives.po.InsuranceArchivesOtherSchemePO; import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; public interface SalaryArchiveItemMapper { @@ -97,4 +98,6 @@ public interface SalaryArchiveItemMapper { void batchDeleteHistoryData(SalaryArchiveItemPO build); int batchUpdate(@Param("collection") List pos); + + List getAllConfig(@Param("ids") Collection ids); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.xml b/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.xml index 57a607f2c..4a3619497 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.xml +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveItemMapper.xml @@ -1137,4 +1137,77 @@ #{item.id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + item.id as item_id + ,item.name as item_name + , item.code as item_code + , item.system_type as item_system_type + , item.sys_salary_item_id as item_sys_salary_item_id + , item.use_default as item_use_default + , item.use_in_employee_salary as item_use_in_employee_salary + , item.rounding_mode as item_rounding_mode + , item.pattern as item_pattern + , item.value_type as item_value_type + , item.formula_id as item_formula_id + , item.description as item_description + , item.can_edit as item_can_edit + , item.can_delete as item_can_delete + , item.data_type as item_data_type + , item.shared_type as item_shared_type + , item.tax_agent_ids as item_tax_agent_ids + , item.sorted_index as item_sorted_index + , item.hide_default as item_hide_default + , item.width as item_width + , item.default_value as item_default_value + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java index 38e3aebfd..1d53a8f3c 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.java @@ -72,6 +72,8 @@ public interface SalaryItemMapper { List getConfig(@Param("ids") Collection ids); + List getAllConfig(@Param("ids") Collection ids); + } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml index c7b44dfa9..30f1a6bbd 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml @@ -610,7 +610,7 @@ - + @@ -622,7 +622,7 @@ - + @@ -722,7 +722,31 @@ where item.delete_type=0 and item.use_in_employee_salary = 0 and system_type = 0 - AND id IN + AND item.id IN + + #{id} + + + + + + SELECT @@ -509,6 +508,28 @@ and name = #{name} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.java b/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.java index 8a2155271..865e47591 100644 --- a/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.java +++ b/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.java @@ -1,5 +1,6 @@ package com.engine.salary.mapper.taxagent; +import com.engine.salary.entity.taxagent.config.TaxAgentConfig; import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam; import com.engine.salary.entity.taxagent.po.TaxAgentEmployeePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; @@ -69,4 +70,6 @@ public interface TaxAgentMapper { List listEmployee(); + List getAllConfig(); + } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.xml b/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.xml index b39f69b49..20d164b94 100644 --- a/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.xml +++ b/src/com/engine/salary/mapper/taxagent/TaxAgentMapper.xml @@ -263,5 +263,19 @@ where e.status not in (7) + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryArchiveItemService.java b/src/com/engine/salary/service/SalaryArchiveItemService.java index 70f53e9d9..d640fe17a 100644 --- a/src/com/engine/salary/service/SalaryArchiveItemService.java +++ b/src/com/engine/salary/service/SalaryArchiveItemService.java @@ -1,5 +1,6 @@ package com.engine.salary.service; +import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig; import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemSaveParam; import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam; @@ -156,4 +157,5 @@ public interface SalaryArchiveItemService { * @date 2022/11/14 13:38 */ String editSingleSalaryItem(SalaryArchiveItemSaveParam salaryArchiveItemSaveParam); + List getAllConfig(); } diff --git a/src/com/engine/salary/service/SalaryItemService.java b/src/com/engine/salary/service/SalaryItemService.java index 58037abe8..04c3e9257 100644 --- a/src/com/engine/salary/service/SalaryItemService.java +++ b/src/com/engine/salary/service/SalaryItemService.java @@ -153,6 +153,8 @@ public interface SalaryItemService { List getConfig(SalaryItemExportParam param); + List getAllConfig(SalaryItemExportParam param); + Map preview(SalaryItemImportParam param); ImportExcelResponse importSalaryItem(SalaryItemImportParam param); diff --git a/src/com/engine/salary/service/SalarySobService.java b/src/com/engine/salary/service/SalarySobService.java index bef31a87e..cd2689cc0 100644 --- a/src/com/engine/salary/service/SalarySobService.java +++ b/src/com/engine/salary/service/SalarySobService.java @@ -1,5 +1,6 @@ package com.engine.salary.service; +import com.engine.salary.entity.salarysob.config.SalarySobConfig; import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO; import com.engine.salary.entity.salarysob.param.SalarySobBasicSaveParam; import com.engine.salary.entity.salarysob.param.SalarySobDisableParam; @@ -154,4 +155,6 @@ public interface SalarySobService { * @return */ List listByTaxAgentIds(Collection taxAgentIds); + + List getConfig(Long taxAgentId); } diff --git a/src/com/engine/salary/service/TaxAgentService.java b/src/com/engine/salary/service/TaxAgentService.java index bab08d143..cfe02dda0 100644 --- a/src/com/engine/salary/service/TaxAgentService.java +++ b/src/com/engine/salary/service/TaxAgentService.java @@ -1,5 +1,6 @@ package com.engine.salary.service; +import com.engine.salary.entity.taxagent.config.TaxAgentConfig; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeTaxAgentDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentListDTO; @@ -258,4 +259,5 @@ public interface TaxAgentService { * @return */ Collection listEmployeeIdsInTaxAgent(Long taxAgentId); + List getAllConfig(); } diff --git a/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java index 19c39e199..5144ccdf8 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveItemServiceImpl.java @@ -8,6 +8,7 @@ import com.engine.salary.biz.SalaryItemBiz; import com.engine.salary.config.SalaryElogConfig; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig; import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO; import com.engine.salary.entity.salaryarchive.param.*; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; @@ -20,6 +21,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveFieldTypeEnum; import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum; import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum; import com.engine.salary.exception.SalaryRunTimeException; +import com.engine.salary.mapper.archive.SalaryArchiveItemMapper; import com.engine.salary.service.SalaryArchiveItemService; import com.engine.salary.service.SalaryArchiveService; import com.engine.salary.service.SalaryEmployeeService; @@ -27,6 +29,7 @@ import com.engine.salary.service.TaxAgentService; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.SalaryLoggerUtil; +import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.excel.ExcelUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.valid.ValidUtil; @@ -55,6 +58,11 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi private SalaryItemBiz salaryItemMapper = new SalaryItemBiz(); private SalaryArchiveItemBiz salaryArchiveItemMapper = new SalaryArchiveItemBiz(); + private SalaryArchiveItemMapper getSalaryArchiveItemMapper() { + return MapperProxyFactory.getProxy(SalaryArchiveItemMapper.class); + } + + @Override public SalaryArchiveItemPO getById(Long salaryArchiveItemId) { return salaryArchiveItemMapper.getById(salaryArchiveItemId); @@ -267,6 +275,11 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi return StringUtils.EMPTY; } + @Override + public List getAllConfig() { + return getSalaryArchiveItemMapper().getAllConfig(null); + } + /** * @return null * @description 构建薪资档案中调薪的更新PO diff --git a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java index fc7828baa..6703fdc30 100644 --- a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java @@ -540,6 +540,11 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService return getSalaryItemMapper().getConfig(param.getIds()); } + @Override + public List getAllConfig(SalaryItemExportParam param) { + return getSalaryItemMapper().getAllConfig(param.getIds()); + } + @Override public Map preview(SalaryItemImportParam param) { InputStream fileInputStream = null; @@ -717,8 +722,8 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService row.add(SalaryRoundingModeEnum.parseByValue(e.getRoundingMode()).getDefaultLabel()); row.add(e.getPattern()); row.add(SalaryValueTypeEnum.parseByValue(e.getValueType()).getDefaultLabel()); - row.add(e.getFormula() == null ? "" : e.getFormula().getFormula()); - row.add(e.getFormula() == null ? "" : JsonUtil.parseMap(Util.null2String(e.getFormula().getExtendParam()), String.class).getOrDefault("sqlReturnKey", "")); + row.add(e.getFormulaConfig() == null ? "" : e.getFormulaConfig().getFormula()); + row.add(e.getFormulaConfig() == null ? "" : JsonUtil.parseMap(Util.null2String(e.getFormulaConfig().getExtendParam()), String.class).getOrDefault("sqlReturnKey", "")); row.add(e.getSortedIndex()); row.add(e.getWidth()); row.add(e.getDefaultValue()); @@ -750,8 +755,8 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService row.add(SalaryRoundingModeEnum.parseByValue(e.getRoundingMode()).getDefaultLabel()); row.add(e.getPattern()); row.add(SalaryValueTypeEnum.parseByValue(e.getValueType()).getDefaultLabel()); - row.add(e.getFormula() == null ? "" : e.getFormula().getFormula()); - row.add(e.getFormula() == null ? "" : JsonUtil.parseMap(Util.null2String(e.getFormula().getExtendParam()), String.class).getOrDefault("sqlReturnKey", "")); + row.add(e.getFormulaConfig() == null ? "" : e.getFormulaConfig().getFormula()); + row.add(e.getFormulaConfig() == null ? "" : JsonUtil.parseMap(Util.null2String(e.getFormulaConfig().getExtendParam()), String.class).getOrDefault("sqlReturnKey", "")); row.add(e.getSortedIndex()); row.add(e.getWidth()); row.add(e.getDefaultValue()); diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index 28dcef63a..6fb14f13f 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -12,6 +12,7 @@ import com.engine.salary.entity.salaryitem.bo.SysSalaryItemBO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salaryitem.po.SysSalaryItemPO; import com.engine.salary.entity.salarysob.bo.*; +import com.engine.salary.entity.salarysob.config.SalarySobConfig; import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO; import com.engine.salary.entity.salarysob.param.*; import com.engine.salary.entity.salarysob.po.*; @@ -784,6 +785,11 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { return getSalarySobMapper().listSome(SalarySobPO.builder().taxAgentIds(taxAgentIds).build()); } + @Override + public List getConfig(Long taxAgentId) { + return getSalarySobMapper().getConfig(taxAgentId); + } + public List filterByAdmin(List salarySobPOS) { long employeeId = user.getUID(); diff --git a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java index aa0890cb7..9c004b049 100644 --- a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java @@ -13,11 +13,13 @@ import com.engine.salary.entity.datacollection.DataCollectionEmployee; 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.salarysob.config.SalarySobConfig; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.entity.siaccount.param.InsuranceAccountBatchParam; import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO; import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO; import com.engine.salary.entity.taxagent.bo.TaxAgentBO; +import com.engine.salary.entity.taxagent.config.TaxAgentConfig; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeTaxAgentDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentListDTO; @@ -89,6 +91,11 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { } + private SalarySobService getSalarySobService(User user) { + return ServiceUtil.getService(SalarySobServiceImpl.class, user); + } + + private SalaryAcctRecordService getSalaryAcctRecordService(User user) { return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user); } @@ -797,5 +804,15 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { return SalaryEntityUtil.properties(taxAgentEmpPOS, TaxAgentEmpPO::getEmployeeId); } + @Override + public List getAllConfig() { + List allConfig = getTaxAgentMapper().getAllConfig(); + allConfig.forEach(config->{ + List sobConfigs = getSalarySobService(user).getConfig(config.getId()); + config.setSalarySobConfigs(sobConfigs); + }); + return allConfig; + } + } diff --git a/src/com/engine/salary/web/SalarySystemConfigController.java b/src/com/engine/salary/web/SalarySystemConfigController.java index ae1b52d67..636b31767 100644 --- a/src/com/engine/salary/web/SalarySystemConfigController.java +++ b/src/com/engine/salary/web/SalarySystemConfigController.java @@ -199,6 +199,7 @@ public class SalarySystemConfigController { /** * 薪资核算人员匹配规则 + * * @param request * @param response * @param param @@ -214,6 +215,7 @@ public class SalarySystemConfigController { /** * 工资单反馈 + * * @param request * @param response * @param param @@ -229,6 +231,7 @@ public class SalarySystemConfigController { /** * 撤回个税申报 + * * @param request * @param response * @param param @@ -244,6 +247,7 @@ public class SalarySystemConfigController { /** * 删除档案 + * * @param request * @param response * @param param @@ -318,4 +322,40 @@ public class SalarySystemConfigController { User user = HrmUserVarify.getUser(request, response); return new ResponseResult>(user).run(getSalarySystemConfigWrapper(user)::getEncryptProgress, progressId); } + + // @POST +// @Path("/downloadConfig") +// @Produces(MediaType.APPLICATION_OCTET_STREAM) +// public Response downloadConfig(@Context HttpServletRequest request, @Context HttpServletResponse response) { +// try { +// User user = HrmUserVarify.getUser(request, response); +// XSSFWorkbook workbook = getAddUpDeductionWrapper(user).downloadTemplate(queryParam); +// String fileName = "累计专项附加扣除导入模板" + LocalDate.now(); +// try { +// fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } +// +// StreamingOutput output = outputStream -> { +// workbook.write(outputStream); +// outputStream.flush(); +// }; +// response.setContentType("application/octet-stream"); +// return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build(); +// } catch (Exception e) { +// log.error("累计专项附加扣除导入模板异常", e); +// throw e; +// } +// +// } + @POST + @Path("/downloadConfig") + @Produces(MediaType.APPLICATION_JSON) + public String downloadConfig(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalarySystemConfigWrapper(user)::downloadConfig); + + } + } diff --git a/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java b/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java index 46b470aa4..5065ce298 100644 --- a/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java +++ b/src/com/engine/salary/wrapper/SalarySystemConfigWrapper.java @@ -2,6 +2,17 @@ package com.engine.salary.wrapper; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.salary.entity.config.SalaryConfig; +import com.engine.salary.entity.salaryarchive.config.ArchiveFieldConfig; +import com.engine.salary.entity.salaryitem.config.SalaryItemConfig; +import com.engine.salary.entity.salaryitem.param.SalaryItemExportParam; +import com.engine.salary.entity.taxagent.config.TaxAgentConfig; +import com.engine.salary.service.SalaryArchiveItemService; +import com.engine.salary.service.SalaryItemService; +import com.engine.salary.service.TaxAgentService; +import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl; +import com.engine.salary.service.impl.SalaryItemServiceImpl; +import com.engine.salary.service.impl.TaxAgentServiceImpl; import com.engine.salary.sys.entity.param.AppSettingSaveParam; import com.engine.salary.sys.entity.param.MatchEmployeeModeSaveParam; import com.engine.salary.sys.entity.param.OrderRuleParam; @@ -17,6 +28,7 @@ import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.RuntimeTypeEnum; import com.engine.salary.util.valid.ValidUtil; +import com.thoughtworks.xstream.XStream; import org.apache.commons.lang3.StringUtils; import weaver.general.BaseBean; import weaver.hrm.User; @@ -39,6 +51,18 @@ public class SalarySystemConfigWrapper extends Service { return ServiceUtil.getService(SalarySysConfServiceImpl.class, user); } + private SalaryItemService getSalaryItemService(User user) { + return ServiceUtil.getService(SalaryItemServiceImpl.class, user); + } + + private SalaryArchiveItemService getSalaryArchiveItemService(User user) { + return ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user); + } + + private TaxAgentService getTaxAgentService(User user) { + return ServiceUtil.getService(TaxAgentServiceImpl.class, user); + } + public Map info() { BaseBean baseBean = new BaseBean(); String log = baseBean.getPropValue("hrmSalary", "log"); @@ -136,12 +160,12 @@ public class SalarySystemConfigWrapper extends Service { public AppSettingVO appSetting() { - return getSalarySysConfService(user).appSetting(); + return getSalarySysConfService(user).appSetting(); } public Map saveEncryptSetting(AppSettingSaveParam param) { - return getSalarySysConfService(user).saveEncryptSetting(param); + return getSalarySysConfService(user).saveEncryptSetting(param); } public Map getEncryptProgress(String progressId) { @@ -167,4 +191,25 @@ public class SalarySystemConfigWrapper extends Service { public void saveSalarySendFeedback(SalarySysConfPO param) { getSalarySysConfService(user).saveSalarySendFeedback(param); } + + public Object downloadConfig() { + XStream xStream = new XStream(); + //由于使用的注解,将自动检测注解开启 + xStream.autodetectAnnotations(true); + + SalaryConfig salaryConfig = new SalaryConfig(); + List salaryItemConfigs = getSalaryItemService(user).getAllConfig(SalaryItemExportParam.builder().build()); + salaryConfig.setSalaryItemConfigs(salaryItemConfigs); + + List archiveFieldConfigs = getSalaryArchiveItemService(user).getAllConfig(); + salaryConfig.setArchiveFieldConfig(archiveFieldConfigs); + + List taxAgentConfigs = getTaxAgentService(user).getAllConfig(); + salaryConfig.setTaxAgentConfigs(taxAgentConfigs); + + String s = xStream.toXML(salaryConfig); + System.out.println(s); + return s; + + } }