sql公式
This commit is contained in:
parent
5c2bb1bf58
commit
23da0fb5e4
|
|
@ -36,7 +36,6 @@ import com.engine.salary.mapper.sicategory.ICategoryMapper;
|
|||
import com.engine.salary.mapper.sischeme.InsuranceSchemeDetailMapper;
|
||||
import com.engine.salary.mapper.sischeme.InsuranceSchemeMapper;
|
||||
import com.engine.salary.util.SalaryAssert;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryFormItemUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
|
|
@ -85,7 +84,7 @@ public class SIArchivesBiz {
|
|||
.position(item.getJobtitleName())
|
||||
.username(item.getUsername())
|
||||
.telephone(item.getMobile())
|
||||
.dimissionDate(SalaryDateUtil.getFormatLocalDate(item.getDissmissdate()))
|
||||
.dimissionDate(item.getDissmissdate())
|
||||
.build();
|
||||
|
||||
// if (item.getStatus() == UserStatusEnum.unavailable) {
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 员工基本信息
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -52,7 +50,7 @@ public class DataCollectionEmployee {
|
|||
private String mobile;
|
||||
|
||||
//离职日期
|
||||
private Date dissmissdate;
|
||||
private String dissmissdate;
|
||||
|
||||
//状态
|
||||
private String status;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemDataDTO;
|
|||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentDataDTO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO;
|
||||
import com.engine.salary.enums.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salarysob.SalarySobAdjustRuleTypeEnum;
|
||||
import com.engine.salary.util.JsonUtil;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
|||
import com.engine.salary.entity.salaryformula.ExpressFormula;
|
||||
import com.engine.salary.entity.salaryformula.po.FormulaVar;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.enums.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.google.common.collect.Maps;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.engine.salary.entity.salaryformula.ExpressFormula;
|
|||
import com.engine.salary.entity.salaryformula.po.FormulaVar;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.enums.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.entity.salaryacct.po;
|
||||
|
||||
import com.engine.salary.annotation.SalaryFormulaVar;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -38,21 +39,25 @@ public class SalaryAcctEmployeePO {
|
|||
/**
|
||||
* 薪资账套id
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "薪资账套id", labelId = 86321, dataType = "number")
|
||||
private Long salarySobId;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "人员id", labelId = 86321, dataType = "number")
|
||||
private Long employeeId;
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人id
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "个税扣缴义务人id", labelId = 86321, dataType = "number")
|
||||
private Long taxAgentId;
|
||||
|
||||
/**
|
||||
* 薪资所属月
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "薪资所属月", labelId = 86321, dataType = "string")
|
||||
private Date salaryMonth;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ public class SalaryItemSaveParam {
|
|||
*
|
||||
* @see SalaryRoundingModeEnum
|
||||
*/
|
||||
@DataCheck(require = true, message = "舍入规则不允许为空")
|
||||
private Integer roundingMode;
|
||||
|
||||
//保留小数位
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.engine.salary.enums;
|
||||
package com.engine.salary.enums.salaryformula;
|
||||
|
||||
|
||||
import com.engine.salary.enums.BaseEnum;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package com.engine.salary.enums.salaryformula;
|
||||
|
||||
|
||||
import com.engine.salary.enums.BaseEnum;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 薪资项目SQL公式引用分类
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public enum SalarySQLReferenceEnum implements BaseEnum<String> {
|
||||
|
||||
EMPLOYEE_INFO("employeeInfo", "员工基本信息", 85366),
|
||||
SALARY_ACCT_EMPLOYEE("salaryAcctEmployee", "核算人员信息", 85368);
|
||||
private String value;
|
||||
|
||||
private String defaultLabel;
|
||||
|
||||
private int labelId;
|
||||
|
||||
SalarySQLReferenceEnum(String value, String defaultLabel, int labelId) {
|
||||
this.value = value;
|
||||
this.defaultLabel = defaultLabel;
|
||||
this.labelId = labelId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultLabel() {
|
||||
return defaultLabel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getLabelId() {
|
||||
return labelId;
|
||||
}
|
||||
|
||||
public static SalarySQLReferenceEnum parseByValue(String value) {
|
||||
for (SalarySQLReferenceEnum referenceEnum : SalarySQLReferenceEnum.values()) {
|
||||
if (Objects.equals(referenceEnum.getValue(), value)) {
|
||||
return referenceEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,13 +9,16 @@ import com.engine.salary.entity.datacollection.AddUpSituation;
|
|||
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
|
||||
import com.engine.salary.entity.datacollection.param.AttendQuoteFieldQueryParam;
|
||||
import com.engine.salary.entity.datacollection.po.OtherDeductionPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO;
|
||||
import com.engine.salary.entity.salaryformula.dto.SalaryFormulaTaxRateDTO;
|
||||
import com.engine.salary.entity.salaryformula.po.FormulaVar;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.entity.taxrate.TaxRateBase;
|
||||
import com.engine.salary.enums.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.ReferenceTypeEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
|
||||
import com.engine.salary.formlua.entity.parameter.DataType;
|
||||
import com.engine.salary.mapper.datacollection.AttendQuoteFieldMapper;
|
||||
import com.engine.salary.service.*;
|
||||
|
|
@ -92,7 +95,30 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
|
|||
|
||||
@Override
|
||||
public List<FormulaVar> fieldList(String sourceId, Map<String, Object> extendParam) {
|
||||
|
||||
List<FormulaVar> vars = new ArrayList<>();
|
||||
|
||||
//sql
|
||||
if (extendParam != null) {
|
||||
String referenceType = extendParam.get("referenceType") == null ? "" : extendParam.get("referenceType").toString();
|
||||
if (ReferenceTypeEnum.SQL.getValue().equals(referenceType)) {
|
||||
SalarySQLReferenceEnum referenceEnum = SalarySQLReferenceEnum.parseByValue(sourceId);
|
||||
if (referenceEnum != null) {
|
||||
switch (referenceEnum) {
|
||||
case EMPLOYEE_INFO:
|
||||
vars = convert2FormulaVar(SalaryFormulaEmployeeDTO.class, referenceEnum.getValue() + "");
|
||||
break;
|
||||
case SALARY_ACCT_EMPLOYEE:
|
||||
vars = convert2FormulaVar(SalaryAcctEmployeePO.class, referenceEnum.getValue() + "");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return vars;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 如果是其他数据源
|
||||
SalaryFormulaReferenceEnum referenceEnum = SalaryFormulaReferenceEnum.parseByValue(sourceId);
|
||||
if (referenceEnum != null) {
|
||||
|
|
@ -135,6 +161,16 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic
|
|||
|
||||
@Override
|
||||
public List<Map<String, Object>> fieldGroupList(Map<String, Object> extendParam) {
|
||||
|
||||
if (ReferenceTypeEnum.SQL.getValue().equals(extendParam.get("referenceType"))) {
|
||||
return Arrays.stream(SalarySQLReferenceEnum.values()).map(e -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("key", e.getValue());
|
||||
map.put("value", SalaryI18nUtil.getI18nLabel(e.getLabelId(), e.getDefaultLabel()));
|
||||
return map;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return Arrays.stream(SalaryFormulaReferenceEnum.values()).map(e -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("key", e.getValue());
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import com.engine.salary.entity.salaryformula.po.FormulaVar;
|
|||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.enums.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.SalaryValueTypeEnum;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.engine.salary.biz.TaxAgentBiz;
|
|||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
|
||||
import com.engine.salary.entity.salaryformula.ExpressFormula;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculateBO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculatePriorityBO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultBO;
|
||||
|
|
@ -21,6 +20,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultTempPO;
|
||||
import com.engine.salary.entity.salaryformula.ExpressFormula;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO;
|
||||
|
|
@ -39,7 +39,6 @@ import com.engine.salary.util.SalaryI18nUtil;
|
|||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.weaver.util.threadPool.ThreadPoolUtil;
|
||||
import com.weaver.util.threadPool.constant.ModulePoolEnum;
|
||||
import com.weaver.util.threadPool.entity.LocalRunnable;
|
||||
|
|
@ -112,7 +111,9 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
}
|
||||
// private LoggerTemplate salaryAcctRecordLoggerTemplate;
|
||||
|
||||
// private SIAccountService siAccountService;
|
||||
private SIAccountService getSIAccountService(User user) {
|
||||
return (SIAccountService) ServiceUtil.getService(SIAccountServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private AttendQuoteFieldService getAttendQuoteFieldService(User user) {
|
||||
return (AttendQuoteFieldService) ServiceUtil.getService(AttendQuoteFieldServiceImpl.class, user);
|
||||
|
|
@ -385,8 +386,8 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
List<SalaryItemPO> salaryItemPOS = getSalaryItemService(user).listAll();
|
||||
// 5、查询薪资核算记录所用薪资账套的调薪计薪规则
|
||||
List<SalarySobAdjustRulePO> salarySobAdjustRulePOS = getSalarySobAdjustRuleService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId());
|
||||
// todo 6、查询社保福利的所有字段
|
||||
Map<String, String> welfareColumns = Maps.newHashMap();//siAccountService.welfareColumns(tenantKey);
|
||||
// 6、查询社保福利的所有字段
|
||||
Map<String, String> welfareColumns = getSIAccountService(user).welfareColumns();
|
||||
// 7、查询考勤引用的所有字段
|
||||
List<AttendQuoteFieldListDTO> attendQuoteFieldListDTOS = getAttendQuoteFieldService(user).listAll();
|
||||
// 8、查询公式详情
|
||||
|
|
|
|||
|
|
@ -14,6 +14,10 @@ import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
|||
import com.engine.salary.entity.salaryitem.po.SysSalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.enums.SalaryItemTypeEnum;
|
||||
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.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.SalaryFormulaService;
|
||||
import com.engine.salary.service.SalaryItemService;
|
||||
|
|
@ -92,8 +96,8 @@ public class SalaryItemWrapper extends Service {
|
|||
salarySobItems = getSalarySobItemService(user).listBySalaryItemIds(salaryItemIds);
|
||||
if (CollectionUtils.isNotEmpty(salarySobItems)) {
|
||||
Set<Long> salaryItemIdsUseBySob = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId);
|
||||
salaryItemListDTOS.forEach(dto->{
|
||||
if (salaryItemIdsUseBySob.contains(dto.getId())){
|
||||
salaryItemListDTOS.forEach(dto -> {
|
||||
if (salaryItemIdsUseBySob.contains(dto.getId())) {
|
||||
dto.setCanDelete(false);
|
||||
}
|
||||
});
|
||||
|
|
@ -192,9 +196,26 @@ public class SalaryItemWrapper extends Service {
|
|||
*/
|
||||
public void save(SalaryItemSaveParam saveParam) {
|
||||
ValidUtil.doValidator(saveParam);
|
||||
validParam(saveParam);
|
||||
|
||||
getSalaryItemService(user).save(saveParam);
|
||||
}
|
||||
|
||||
private void validParam(SalaryItemSaveParam saveParam) {
|
||||
if (SalarySystemTypeEnum.parseByValue(saveParam.getSystemType()) == null) {
|
||||
throw new SalaryRunTimeException("系统内置的薪资项目异常");
|
||||
}
|
||||
if (SalaryRoundingModeEnum.parseByValue(saveParam.getRoundingMode()) == null) {
|
||||
throw new SalaryRunTimeException("舍入规则异常");
|
||||
}
|
||||
if (SalaryValueTypeEnum.parseByValue(saveParam.getValueType()) == null) {
|
||||
throw new SalaryRunTimeException("取值方式异常");
|
||||
}
|
||||
if (SalaryDataTypeEnum.parseByValue(saveParam.getDataType()) == null) {
|
||||
throw new SalaryRunTimeException("字段类型异常");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑薪资项目
|
||||
*
|
||||
|
|
@ -202,6 +223,7 @@ public class SalaryItemWrapper extends Service {
|
|||
*/
|
||||
public void update(SalaryItemSaveParam saveParam) {
|
||||
ValidUtil.doValidator(saveParam, RuntimeTypeEnum.UPDATE);
|
||||
validParam(saveParam);
|
||||
getSalaryItemService(user).update(saveParam);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue