From 0facbabf55853089ac52d3dd170d0627dd0456cc Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Mon, 20 May 2024 15:04:14 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=80=BCtemp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/salaryitem/bo/SalaryItemBO.java | 4 +++- .../entity/salaryitem/dto/SalaryItemFormDTO.java | 3 +++ .../salaryitem/param/SalaryItemSaveParam.java | 5 +++++ .../entity/salaryitem/po/SalaryItemPO.java | 6 ++++++ .../salarysob/dto/SalarySobItemFormDTO.java | 3 +++ .../salarysob/param/SalarySobItemSaveParam.java | 3 +++ .../entity/salarysob/po/SalarySobBackItemPO.java | 5 +++++ .../entity/salarysob/po/SalarySobItemPO.java | 5 +++++ .../mapper/salaryitem/SalaryItemMapper.xml | 16 ++++++++++++++-- .../mapper/salarysob/SalarySobBackItemMapper.xml | 1 + .../mapper/salarysob/SalarySobItemMapper.xml | 4 ++++ .../service/impl/SalaryItemServiceImpl.java | 1 + .../service/impl/SalarySobItemServiceImpl.java | 8 +++++++- 13 files changed, 60 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java b/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java index 1048360fa..49c1a9300 100644 --- a/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java +++ b/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java @@ -202,7 +202,8 @@ public class SalaryItemBO { .setTaxAgentIds(salaryItemPO.getTaxAgentIds()) .setSharedType(salaryItemPO.getSharedType()) .setSortedIndex(salaryItemPO.getSortedIndex()) - .setWidth(salaryItemPO.getWidth()); + .setWidth(salaryItemPO.getWidth()) + .setDefaultValue(salaryItemPO.getDefaultValue()); } /** @@ -283,6 +284,7 @@ public class SalaryItemBO { .taxAgentIds(saveParam.getTaxAgentIds()) .sortedIndex(saveParam.getSortedIndex()) .width(saveParam.getWidth()) + .defaultValue(saveParam.getDefaultValue()) .build(); // 开启了"薪资档案引用",取值方式固定为输入 // if (Objects.equals(saveParam.getUseInEmployeeSalary(), NumberUtils.INTEGER_ONE)) { diff --git a/src/com/engine/salary/entity/salaryitem/dto/SalaryItemFormDTO.java b/src/com/engine/salary/entity/salaryitem/dto/SalaryItemFormDTO.java index da0c6d4d5..15585ff2d 100644 --- a/src/com/engine/salary/entity/salaryitem/dto/SalaryItemFormDTO.java +++ b/src/com/engine/salary/entity/salaryitem/dto/SalaryItemFormDTO.java @@ -98,4 +98,7 @@ public class SalaryItemFormDTO { // 宽度 private Integer width; + + // 默认值 + private String defaultValue; } diff --git a/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java b/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java index a200cea77..6622f3173 100644 --- a/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java +++ b/src/com/engine/salary/entity/salaryitem/param/SalaryItemSaveParam.java @@ -107,4 +107,9 @@ public class SalaryItemSaveParam { * 宽度 */ private Integer width; + + /** + * 默认值 + */ + private String defaultValue; } diff --git a/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java b/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java index 8db3c3c89..1224b0c56 100644 --- a/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java +++ b/src/com/engine/salary/entity/salaryitem/po/SalaryItemPO.java @@ -191,4 +191,10 @@ public class SalaryItemPO { */ @ElogTransform(name = "宽度") private Integer width; + + /** + * 默认值 + */ + @ElogTransform(name = "默认值") + private String defaultValue; } diff --git a/src/com/engine/salary/entity/salarysob/dto/SalarySobItemFormDTO.java b/src/com/engine/salary/entity/salarysob/dto/SalarySobItemFormDTO.java index f23df1512..7c600fcb4 100644 --- a/src/com/engine/salary/entity/salarysob/dto/SalarySobItemFormDTO.java +++ b/src/com/engine/salary/entity/salarysob/dto/SalarySobItemFormDTO.java @@ -83,4 +83,7 @@ public class SalarySobItemFormDTO { // 薪资档案引用。0:薪资档案未引用、1:薪资档案引用 private Integer useInEmployeeSalary; + + // 默认值 + private String defaultValue; } diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobItemSaveParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobItemSaveParam.java index e19856374..f0e9c4004 100644 --- a/src/com/engine/salary/entity/salarysob/param/SalarySobItemSaveParam.java +++ b/src/com/engine/salary/entity/salarysob/param/SalarySobItemSaveParam.java @@ -78,6 +78,9 @@ public class SalarySobItemSaveParam { private Boolean canDelete; + // 默认值 + private String defaultValue; + /** * 进位规则 */ diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java index 659707a90..02e05af29 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobBackItemPO.java @@ -110,6 +110,11 @@ public class SalarySobBackItemPO{ @JsonIgnore private Date updateTime; + /** + * 默认值 + */ + private String defaultValue; + /** diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java index 15704802b..10d5112c6 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobItemPO.java @@ -115,6 +115,11 @@ public class SalarySobItemPO { //该分类是否隐藏(0不隐藏,1隐藏) private Long itemHide; + /** + * 默认值 + */ + private String defaultValue; + //in Collection ids; Collection salarySobIds; diff --git a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml index 93ec756ca..77e4b37d9 100644 --- a/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml +++ b/src/com/engine/salary/mapper/salaryitem/SalaryItemMapper.xml @@ -52,7 +52,8 @@ t.tax_agent_ids, t.sorted_index, t.hide_default, - t.width + t.width, + t.default_value @@ -221,6 +222,9 @@ width, + + default_value, + @@ -295,6 +299,9 @@ #{width}, + + #{defaultValue}, + @@ -369,7 +376,12 @@ width=#{width}, - sorted_index=#{sortedIndex}, + + sorted_index=#{sortedIndex}, + + + default_value=#{defaultValue}, + WHERE id = #{id} AND delete_type = 0 diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobBackItemMapper.xml b/src/com/engine/salary/mapper/salarysob/SalarySobBackItemMapper.xml index 430bb5734..85c51b081 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobBackItemMapper.xml +++ b/src/com/engine/salary/mapper/salarysob/SalarySobBackItemMapper.xml @@ -52,6 +52,7 @@ , t.delete_type , t.create_time , t.update_time + , t.default_value diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml index ed7016175..98fe7f070 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml +++ b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml @@ -37,6 +37,7 @@ , t.rounding_mode , t.pattern , t.value_type + , t.default_value @@ -336,6 +337,9 @@ value_type=#{valueType}, + + default_value=#{defaultValue}, + WHERE id = #{id} AND delete_type = 0 diff --git a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java index 82afc2e9e..b652d7e47 100644 --- a/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryItemServiceImpl.java @@ -249,6 +249,7 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService newSalaryItemPO.setTaxAgentIds(saveParam.getTaxAgentIds()); newSalaryItemPO.setSortedIndex(saveParam.getSortedIndex()); newSalaryItemPO.setWidth(saveParam.getWidth()); + newSalaryItemPO.setDefaultValue(saveParam.getDefaultValue()); salaryItemBiz.updateById(newSalaryItemPO); //改名后更新公式 diff --git a/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java index d857a9709..8f916f0b2 100644 --- a/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobItemServiceImpl.java @@ -396,6 +396,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe .roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()) .pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()) .valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()) + .defaultValue(itemParam.getDefaultValue()) .build(); salarySobItems.add(salarySobItemPO); @@ -475,6 +476,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe .roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()) .pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()) .valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()) + .defaultValue(itemParam.getDefaultValue()) .build(); salarySobItems.add(salarySobItemPO); @@ -509,6 +511,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe .roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()) .pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()) .valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()) + .defaultValue(itemParam.getDefaultValue()) .build(); getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO); // 保存薪资项目是否展示 @@ -565,6 +568,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe .roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()) .pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()) .valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()) + .defaultValue(itemParam.getDefaultValue()) .build(); salarySobItems.add(salarySobItemPO); @@ -597,6 +601,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe .roundingMode(itemParam.getRoundingMode() == null ? salaryItemPO.getRoundingMode() : itemParam.getRoundingMode()) .pattern(itemParam.getPattern() == null ? salaryItemPO.getPattern() : itemParam.getPattern()) .valueType(itemParam.getValueType() == null ? salaryItemPO.getValueType() : itemParam.getValueType()) + .defaultValue(itemParam.getDefaultValue()) .build(); getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO); @@ -776,7 +781,8 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe .setOriginSqlContent(valueType.equals(SalaryValueTypeEnum.SQL.getValue()) ? formulaContent : "") .setUseInEmployeeSalary(salaryItemPO.getUseInEmployeeSalary()) .setDescription(salarySobItemPO.getDescription()) - .setCanEdit((openFormulaForcedEditing || salaryItemPO.getCanEdit().equals(1)) ? 1 : 0); + .setCanEdit((openFormulaForcedEditing || salaryItemPO.getCanEdit().equals(1)) ? 1 : 0) + .setDefaultValue(salarySobItemPO.getDefaultValue()); } return salarySobItemFormDTO; } From 216c4cee84ef7d436f5a1e9694475b8c03e59566 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Mon, 17 Jun 2024 17:58:01 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BCtemp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/entity/salaryitem/bo/SalaryItemBO.java | 1 + .../salaryitem/dto/SalaryItemSobListDTO.java | 3 +++ .../salarysob/bo/SalarySobItemAggregateBO.java | 1 + .../entity/salarysob/dto/SalarySobItemDTO.java | 3 +++ .../mapper/salarysob/SalarySobItemMapper.xml | 15 +++++++++------ 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java b/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java index 49c1a9300..ab2e04bcd 100644 --- a/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java +++ b/src/com/engine/salary/entity/salaryitem/bo/SalaryItemBO.java @@ -171,6 +171,7 @@ public class SalaryItemBO { .sortedIndex(salaryItemPO.getSortedIndex()) .description(salaryItemPO.getDescription()) .salaryItemType(salaryItemPO.getUseInEmployeeSalary() == 0 ? "薪资项目" : "档案字段") + .defaultValue(salaryItemPO.getDefaultValue()) .build(); } ).collect(Collectors.toList()); diff --git a/src/com/engine/salary/entity/salaryitem/dto/SalaryItemSobListDTO.java b/src/com/engine/salary/entity/salaryitem/dto/SalaryItemSobListDTO.java index 10aaa12bc..f90b6ff41 100644 --- a/src/com/engine/salary/entity/salaryitem/dto/SalaryItemSobListDTO.java +++ b/src/com/engine/salary/entity/salaryitem/dto/SalaryItemSobListDTO.java @@ -113,6 +113,9 @@ public class SalaryItemSobListDTO { //排序 private Integer sortedIndex; + // 默认值 + private String defaultValue; + @SalaryTableColumn(text = "操作", width = "20%", column = "operate") private String operate; diff --git a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java index 511e946c7..b1a76a4a4 100644 --- a/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java +++ b/src/com/engine/salary/entity/salarysob/bo/SalarySobItemAggregateBO.java @@ -144,6 +144,7 @@ public class SalarySobItemAggregateBO { .canEdit(openFormulaForcedEditing || Objects.equals(salaryItemPO.getCanEdit(), 1)) .canDelete(openFormulaForcedEditing || salaryItemPO.getCanDelete() == null || Objects.equals(salaryItemPO.getCanDelete(), 1)) .width(salaryItemPO.getWidth()) + .defaultValue(salaryItemPO.getDefaultValue()) .build()); } } diff --git a/src/com/engine/salary/entity/salarysob/dto/SalarySobItemDTO.java b/src/com/engine/salary/entity/salarysob/dto/SalarySobItemDTO.java index 8b23d6446..9429f1522 100644 --- a/src/com/engine/salary/entity/salarysob/dto/SalarySobItemDTO.java +++ b/src/com/engine/salary/entity/salarysob/dto/SalarySobItemDTO.java @@ -112,4 +112,7 @@ public class SalarySobItemDTO { // 显示宽度 private Integer width; + + // 默认值 + private String defaultValue; } diff --git a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml index 98fe7f070..7f0267fc1 100644 --- a/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml +++ b/src/com/engine/salary/mapper/salarysob/SalarySobItemMapper.xml @@ -386,7 +386,7 @@ INSERT INTO hrsa_salary_sob_item(salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id, - sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type) + sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,default_value) VALUES ( @@ -404,13 +404,14 @@ #{item.canDelete}, #{item.roundingMode}, #{item.pattern}, - #{item.valueType} + #{item.valueType}, + #{item.defaultValue} ) INSERT INTO hrsa_salary_sob_item( salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id, - sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type) + sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,default_value) select @@ -428,14 +429,15 @@ #{item.canDelete,jdbcType=INTEGER}, #{item.roundingMode,jdbcType=INTEGER}, #{item.pattern,jdbcType=INTEGER}, - #{item.valueType,jdbcType=INTEGER} + #{item.valueType,jdbcType=INTEGER}, + #{item.defaultValue,jdbcType=VARCHAR} from dual INSERT INTO hrsa_salary_sob_item( salary_sob_id, salary_item_id, salary_sob_item_group_id, formula_id, - sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type) + sorted_index, description, create_time, update_time, creator, delete_type, tenant_key,can_delete,rounding_mode,pattern,value_type,default_value) VALUES ( #{item.salarySobId}, @@ -452,7 +454,8 @@ #{item.canDelete}, #{item.roundingMode}, #{item.pattern}, - #{item.valueType} + #{item.valueType}, + #{item.defaultValue} ) From fe8dcd0ccdc85cf7fadfbdcfeb827a5c0ea533fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Wed, 19 Jun 2024 11:21:00 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=A0=B8=E7=AE=97=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SalaryAcctCalculateServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java index c70f3ad81..b83ceb4cb 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctCalculateServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.util.StrUtil; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.cache.SalaryCacheKey; @@ -35,6 +36,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.util.StopWatch; import weaver.general.BaseBean; +import weaver.general.Util; import weaver.hrm.User; import weaver.wechat.util.Utils; @@ -111,7 +113,7 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc @Override public void calculate(SalaryAcctCalculateBO salaryAcctCalculateBO, DataCollectionEmployee simpleEmployee, List salarySobBackItems) { - StopWatch sw = new StopWatch("核算耗时明细,id:"+salaryAcctCalculateBO.getSalaryAcctRecordPO().getId()+""); + StopWatch sw = new StopWatch("核算耗时明细,id:" + salaryAcctCalculateBO.getSalaryAcctRecordPO().getId() + ""); Date now = new Date(); try { // 数据库字段加密用 @@ -213,16 +215,20 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc String resultValue; SalaryItemPO salaryItemPO = salaryItemMap.get(salaryItemId); ExpressFormula expressFormula; + String defaultValue; if (salarySobBackItemMap.containsKey(salaryItemId)) { // 如果薪资账套的回算项目中重新定义了回算项目公式,则使用薪资账套下的公式 SalarySobBackItemPO salarySobBackItemPO = salarySobBackItemMap.get(salaryItemId); expressFormula = expressFormulaMap.get(salarySobBackItemPO.getFormulaId()); + defaultValue = salarySobBackItemPO.getDefaultValue(); } else if (salaryItemIdKeySalarySobItemPOMap.containsKey(salaryItemId)) { // 如果薪资账套下重新定义了薪资项目的公式,则使用薪资账套下的公式,否则使用薪资项目本身的公式 SalarySobItemPO salarySobItemPO = salaryItemIdKeySalarySobItemPOMap.get(salaryItemId); expressFormula = expressFormulaMap.get(salarySobItemPO.getFormulaId()); + defaultValue = salarySobItemPO.getDefaultValue(); } else { expressFormula = expressFormulaMap.get(salaryItemPO.getFormulaId()); + defaultValue = salaryItemPO.getDefaultValue(); } if (Objects.nonNull(expressFormula)) { // 运行公式 @@ -244,6 +250,9 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc // 处理取值类型为“输入/导入”的薪资项目 String key = SalaryFormulaReferenceEnum.SALARY_ITEM.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + salaryItemPO.getCode(); resultValue = formulaVarValueMap.getOrDefault(key, StringUtils.EMPTY); + if (StrUtil.isBlank(resultValue)) { + resultValue = Util.null2String(defaultValue); + } } // 处理薪资档案 if (Objects.equals(salaryItemPO.getUseInEmployeeSalary(), NumberUtils.INTEGER_ONE)) {