From a35259c1efc1d749e104a168081b37874efa3460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 28 Feb 2022 11:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=E6=A1=86?= =?UTF-8?q?=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/cmd/TaxAgent/TaxAgentSaveCmd.java | 2 + .../cmd/TaxAgent/TaxAgentUpdateCmd.java | 1 - .../constant/SalaryDefaultTenantConstant.java | 13 +++++ .../constant/SalaryFormulaFieldConstant.java | 17 ++++++ .../salary/constant/SalaryItemConstant.java | 14 +++++ .../constant/SalaryItemDataTypeConstant.java | 21 +++++++ ...aryTemplateSalaryItemSetGroupConstant.java | 19 +++++++ .../constant/TaxRateDataIndexConstant.java | 56 +++++++++++++++++++ .../salary/entity/taxrate/TaxAgent.java | 12 ++-- .../engine/salary/mapper/TaxAgentMapper.java | 2 +- .../engine/salary/util/ResponseResult.java | 10 +++- src/com/engine/salary/web/DemoController.java | 17 +++++- .../engine/salary/web/TaxAgentController.java | 16 +++++- 13 files changed, 190 insertions(+), 10 deletions(-) create mode 100644 src/com/engine/salary/constant/SalaryDefaultTenantConstant.java create mode 100644 src/com/engine/salary/constant/SalaryFormulaFieldConstant.java create mode 100644 src/com/engine/salary/constant/SalaryItemConstant.java create mode 100644 src/com/engine/salary/constant/SalaryItemDataTypeConstant.java create mode 100644 src/com/engine/salary/constant/SalaryTemplateSalaryItemSetGroupConstant.java create mode 100644 src/com/engine/salary/constant/TaxRateDataIndexConstant.java diff --git a/src/com/engine/salary/cmd/TaxAgent/TaxAgentSaveCmd.java b/src/com/engine/salary/cmd/TaxAgent/TaxAgentSaveCmd.java index a05d2eefb..0d8f38772 100644 --- a/src/com/engine/salary/cmd/TaxAgent/TaxAgentSaveCmd.java +++ b/src/com/engine/salary/cmd/TaxAgent/TaxAgentSaveCmd.java @@ -38,11 +38,13 @@ public class TaxAgentSaveCmd extends AbstractCommonCommand> List list = mapper.listByName(Util.null2String(this.params.get("name"))); if (CollectionUtils.isNotEmpty(list)) { throw new SalaryRunTimeException("名称不允许重复"); +// apidatas.put("status",false); } TaxAgent taxAgent = TaxAgent.convertToPO(params, (long) user.getUID()); mapper.insert(taxAgent); + sqlSession.commit(); } finally { sqlSession.close(); } diff --git a/src/com/engine/salary/cmd/TaxAgent/TaxAgentUpdateCmd.java b/src/com/engine/salary/cmd/TaxAgent/TaxAgentUpdateCmd.java index cd3fd76b4..31bab72e8 100644 --- a/src/com/engine/salary/cmd/TaxAgent/TaxAgentUpdateCmd.java +++ b/src/com/engine/salary/cmd/TaxAgent/TaxAgentUpdateCmd.java @@ -13,7 +13,6 @@ import weaver.conn.mybatis.MyBatisFactory; import weaver.general.Util; import weaver.hrm.User; -import java.time.LocalDateTime; import java.util.*; public class TaxAgentUpdateCmd extends AbstractCommonCommand> { diff --git a/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java b/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java new file mode 100644 index 000000000..184ccee40 --- /dev/null +++ b/src/com/engine/salary/constant/SalaryDefaultTenantConstant.java @@ -0,0 +1,13 @@ +package com.engine.salary.constant; + +/** + * @description: 默认的租户key + * @author: xiajun + * @modified By: xiajun + * @date: Created in 2/8/22 11:25 AM + * @version:v1.0 + */ +public class SalaryDefaultTenantConstant { + + public static final String DEFAULT_TENANT_KEY = "all_teams"; +} diff --git a/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java b/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java new file mode 100644 index 000000000..0a75e8d53 --- /dev/null +++ b/src/com/engine/salary/constant/SalaryFormulaFieldConstant.java @@ -0,0 +1,17 @@ +package com.engine.salary.constant; + +/** + * @description: 薪酬管理公式编辑器的常量 + * @author: xiajun + * @modified By: xiajun + * @date: Created in 12/24/21 5:51 PM + * @version:v1.0 + */ +public class SalaryFormulaFieldConstant { + + // 公式变量的所属模块 + public static final String MODULE = "hrmsalary"; + + // 公式中变量的fieldId的分隔符 + public static final String FIELD_ID_SEPARATOR = "_"; +} diff --git a/src/com/engine/salary/constant/SalaryItemConstant.java b/src/com/engine/salary/constant/SalaryItemConstant.java new file mode 100644 index 000000000..de5fdb8ab --- /dev/null +++ b/src/com/engine/salary/constant/SalaryItemConstant.java @@ -0,0 +1,14 @@ +package com.engine.salary.constant; + +/** + * @Description: 薪资项目常量 + * @Author: wangxiangzhong + * @Date: 2021/12/30 13:32 + */ +public class SalaryItemConstant { + + /** + * 列表中薪资项目动态列后缀标识 + */ + public static final String DYNAMIC_SUFFIX = "_salaryItem"; +} diff --git a/src/com/engine/salary/constant/SalaryItemDataTypeConstant.java b/src/com/engine/salary/constant/SalaryItemDataTypeConstant.java new file mode 100644 index 000000000..c2150c2dc --- /dev/null +++ b/src/com/engine/salary/constant/SalaryItemDataTypeConstant.java @@ -0,0 +1,21 @@ +package com.engine.salary.constant; + +/** + * @description: 薪资项目的值的字段类型 + * @author: xiajun + * @modified By: xiajun + * @date: Created in 2/9/22 1:56 PM + * @version:v1.0 + */ +public class SalaryItemDataTypeConstant { + + /** + * 数字型 + */ + public static final String TYPE_NUMBER = "number"; + + /** + * 字符类型 + */ + public static final String TYPE_STRING = "string"; +} diff --git a/src/com/engine/salary/constant/SalaryTemplateSalaryItemSetGroupConstant.java b/src/com/engine/salary/constant/SalaryTemplateSalaryItemSetGroupConstant.java new file mode 100644 index 000000000..c2747dee0 --- /dev/null +++ b/src/com/engine/salary/constant/SalaryTemplateSalaryItemSetGroupConstant.java @@ -0,0 +1,19 @@ +package com.engine.salary.constant; + +/** + * @Description: 工资单模板项目设置分组id + * @Author: wangxiangzhong + * @Date: 2022/2/21 22:19 + */ +public class SalaryTemplateSalaryItemSetGroupConstant { + + /** + * 员工信息组id + */ + public static final String EMPLOYEE_INFO_GROUP_ID = String.valueOf(111111111111111111L); + + /** + * 无分类组id + */ + public static final String NO_TYPE_GROUP_ID = String.valueOf(222222222222222222L); +} diff --git a/src/com/engine/salary/constant/TaxRateDataIndexConstant.java b/src/com/engine/salary/constant/TaxRateDataIndexConstant.java new file mode 100644 index 000000000..f77d025d6 --- /dev/null +++ b/src/com/engine/salary/constant/TaxRateDataIndexConstant.java @@ -0,0 +1,56 @@ +package com.engine.salary.constant; + +/** + * @description: 个税税率表明细表的dataIndex + * @author: xiajun + * @modified By: xiajun + * @date: Created in 1/17/22 1:58 PM + * @version:v1.0 + */ +public class TaxRateDataIndexConstant { + + /** + * 序号 + */ + public static final String INDEX_NUM = "indexNum"; + + /** + * 收入下限(不含) + */ + public static final String INCOME_LOWER_LIMIT = "incomeLowerLimit"; + + /** + * 收入上限(含) + */ + public static final String INCOME_UPPER_LIMIT = "incomeUpperLimit"; + + /** + * 免税固定值 + */ + public static final String DUTY_FREE_VALUE = "dutyFreeValue"; + + /** + * 免税比例 + */ + public static final String DUTY_FREE_RATE = "dutyFreeRate"; + + /** + * 应纳税所得额下限(不含) + */ + public static final String TAXABLE_INCOME_LOWER_LIMIT = "taxableIncomeLLimit"; + + /** + * 应纳税所得额上限(含) + */ + public static final String TAXABLE_INCOME_UPPER_LIMIT = "taxableIncomeULimit"; + + /** + * 税率 + */ + public static final String TAX_RATE = "taxRate"; + + /** + * 速算扣除数 + */ + public static final String TAX_DEDUCTION = "taxDeduction"; +} diff --git a/src/com/engine/salary/entity/taxrate/TaxAgent.java b/src/com/engine/salary/entity/taxrate/TaxAgent.java index 59762bbb2..f7b6850a3 100644 --- a/src/com/engine/salary/entity/taxrate/TaxAgent.java +++ b/src/com/engine/salary/entity/taxrate/TaxAgent.java @@ -9,6 +9,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import static com.engine.salary.constant.SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY; + /** * 个税扣缴义务人表 */ @@ -51,17 +53,19 @@ public class TaxAgent { private Date updateTime; - public static TaxAgent convertToPO(Map param, Long employeeId) { + public static TaxAgent convertToPO(Map param, Long employeeId) { if (param == null) { return null; } return TaxAgent.builder() - .id((long)param.get("id")) - .name((String) param.get("name")) - .description((String) param.get("description")) + .id(param.get("id") == null ? null : (long) param.get("id")) + .name(param.get("name") == null ? null : (String) param.get("name")) + .description(param.get("description") == null ? null : (String) param.get("description")) + .deleteType(0) .createTime(new Date()) .updateTime(new Date()) .creator(employeeId) + .tenantKey(DEFAULT_TENANT_KEY) // .tenantKey(tenantKey) .build(); } diff --git a/src/com/engine/salary/mapper/TaxAgentMapper.java b/src/com/engine/salary/mapper/TaxAgentMapper.java index f65429966..e5cf3a8be 100644 --- a/src/com/engine/salary/mapper/TaxAgentMapper.java +++ b/src/com/engine/salary/mapper/TaxAgentMapper.java @@ -63,7 +63,7 @@ public interface TaxAgentMapper { */ int delete(TaxAgent taxAgent); - @Select("SELECT * FROM hrsa_tax_agent WHERE deleteType = 0 and name = #{name}") + @Select("SELECT * FROM hrsa_tax_agent WHERE delete_type = 0 and name = #{name}") List listByName(String name); diff --git a/src/com/engine/salary/util/ResponseResult.java b/src/com/engine/salary/util/ResponseResult.java index 98d987a18..fe6616dee 100644 --- a/src/com/engine/salary/util/ResponseResult.java +++ b/src/com/engine/salary/util/ResponseResult.java @@ -3,6 +3,7 @@ package com.engine.salary.util; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; +import com.engine.core.exception.ECException; import com.engine.salary.exception.SalaryRunTimeException; import weaver.general.BaseBean; @@ -18,11 +19,16 @@ public class ResponseResult extends HashMap { /** * 统一返回方法 */ - public static String run(Function,Map> f,Map m) { + public static String run(Function, Map> f, Map m) { try { return Ok(f.apply(m)); } catch (SalaryRunTimeException e) { return Error(e.getMessage()); + } catch (ECException e) { + BaseBean b = new BaseBean(); + b.writeLog(e); + Throwable cause = e.getCause(); + return Error(cause.getMessage()); } catch (Exception e) { BaseBean b = new BaseBean(); b.writeLog(e); @@ -36,7 +42,7 @@ public class ResponseResult extends HashMap { private static String Ok(Map map) { Map apidatas = new HashMap<>(); apidatas.put("status", true); - apidatas.put("data",map); + apidatas.put("data", map); return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect); } diff --git a/src/com/engine/salary/web/DemoController.java b/src/com/engine/salary/web/DemoController.java index 60618d6d0..d3878ae11 100644 --- a/src/com/engine/salary/web/DemoController.java +++ b/src/com/engine/salary/web/DemoController.java @@ -19,6 +19,9 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; public class DemoController { @@ -49,6 +52,18 @@ public class DemoController { @Produces(MediaType.TEXT_PLAIN) public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return ResponseResult.run(getService(user)::save, ParamUtil.request2Map(request)); + return ResponseResult.run(getService(user)::save, getRequestParams(request,response)); + } + + + protected Map getRequestParams(HttpServletRequest request, HttpServletResponse response){ + Map params = new HashMap(); + Enumeration em = request.getParameterNames(); + while(em.hasMoreElements()){ + String paramname = em.nextElement(); + params.put(paramname, request.getParameter(paramname)); + } + params.put("param_ip", request.getRemoteAddr());//加入ip + return params; } } diff --git a/src/com/engine/salary/web/TaxAgentController.java b/src/com/engine/salary/web/TaxAgentController.java index df366ac88..50b15c8fc 100644 --- a/src/com/engine/salary/web/TaxAgentController.java +++ b/src/com/engine/salary/web/TaxAgentController.java @@ -19,6 +19,9 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; public class TaxAgentController { @@ -52,7 +55,7 @@ public class TaxAgentController { @Produces(MediaType.TEXT_PLAIN) public String getFrom(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); - return ResponseResult.run(getService(user)::save, ParamUtil.request2Map(request)); + return ResponseResult.run(getService(user)::save, getRequestParams(request,response)); } /** @@ -66,5 +69,16 @@ public class TaxAgentController { return ResponseResult.run(getService(user)::update, ParamUtil.request2Map(request)); } + protected Map getRequestParams(HttpServletRequest request, HttpServletResponse response){ + Map params = new HashMap(); + Enumeration em = request.getParameterNames(); + while(em.hasMoreElements()){ + String paramname = em.nextElement(); + params.put(paramname, request.getParameter(paramname)); + } + params.put("param_ip", request.getRemoteAddr());//加入ip + return params; + } + }