diff --git a/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java b/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java index d0555321d..fc0094ba5 100644 --- a/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java +++ b/src/com/engine/salary/entity/salarysob/param/SalarySobQueryParam.java @@ -28,4 +28,6 @@ public class SalarySobQueryParam extends BaseQueryParam { * 数据过滤级别 */ private AuthFilterTypeEnum filterType; + + private boolean isShare; } diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java index 410b0b2b4..1ac46a384 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentQueryParam.java @@ -26,4 +26,6 @@ public class TaxAgentQueryParam extends BaseQueryParam { //个税扣缴义务人名称 private String name; + + private boolean isShare; } diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java index 7d0d48d53..d92d62957 100644 --- a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java +++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java @@ -303,6 +303,7 @@ public class SalaryStatisticsReportWrapper extends Service { // 如果是被分享的报表,校验分享权限,通过后将user赋值为报表创建人 User creator = new User(); creator.setUid(po.getCreator().intValue()); + creator.setLogintype("1"); user = creator; } else { // 判断报表是否是登陆人创建的,或薪酬总管理员 diff --git a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java index 889d945cf..e4f04dc4d 100644 --- a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java @@ -254,7 +254,11 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction String imageId = Util.null2String(importParam.getImageId()); Validate.notBlank(imageId, "imageId为空"); // 获取所有个税扣缴义务人 - Collection taxAgentList = getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId); + // 获取所有个税扣缴义务人 + TaxAgentQueryParam param = TaxAgentQueryParam.builder().build(); + param.setFilterType(AuthFilterTypeEnum.ADMIN_DATA); + Collection taxAgentList = getTaxAgentService(user).listAuth(param); + // Collection taxAgentList = getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId); //个税扣缴义务人 String taxAgentId = Util.null2String(importParam.getTaxAgentId()); // 获取租户下所有的人员 @@ -356,17 +360,17 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction errorData.add(errorMessageMap); errorSum += 1; } else { - Optional optionalTemp = taxAgentList.stream().filter(m -> m.getTaxAgentName().equals(taxAgentName)).findFirst(); + Optional optionalTemp = taxAgentList.stream().filter(m -> m.getName().equals(taxAgentName)).findFirst(); if (optionalTemp.isPresent()) { - if (StringUtils.isNotEmpty(taxAgentId) && !optionalTemp.get().getTaxAgentId().equals(Long.valueOf(taxAgentId))) { + if (StringUtils.isNotEmpty(taxAgentId) && !optionalTemp.get().getId().equals(Long.valueOf(taxAgentId))) { //个税扣缴义务人与导入时选择的不一致 Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", rowIndex + "个税扣缴义务人与导入时选择的不一致"); errorData.add(errorMessageMap); errorSum += 1; } else { - addUpDeduction.setTaxAgentId(optionalTemp.get().getTaxAgentId()); - taxAgentEmployees = optionalTemp.get().getEmployeeList(); + addUpDeduction.setTaxAgentId(optionalTemp.get().getId()); + // taxAgentEmployees = optionalTemp.get().getEmployeeList(); } } else { //个税扣缴义务人不存在 diff --git a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java index 0ff7b6674..5c5e58bbf 100644 --- a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java +++ b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java @@ -275,7 +275,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa .collect(Collectors.toList()); effectiveFields.forEach(attendQuoteField -> { - header.add(attendQuoteField.getFieldName()); + header.add(Util.formatMultiLang(attendQuoteField.getFieldName(), String.valueOf(user.getLanguage()))); } ); } @@ -606,7 +606,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa header.add(SalaryI18nUtil.getI18nLabel(86317, "证件号码")); // 动态列 for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) { - header.add(attendQuoteField.getFieldName()); + header.add(Util.formatMultiLang(attendQuoteField.getFieldName(), String.valueOf(user.getLanguage()))); } List> rows = new ArrayList<>(); rows.add(header); diff --git a/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java index 2448254f9..9ddab6625 100644 --- a/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java +++ b/src/com/engine/salary/service/impl/AttendQuoteFieldServiceImpl.java @@ -27,6 +27,7 @@ import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; +import weaver.general.Util; import weaver.hrm.User; import java.util.*; @@ -292,7 +293,7 @@ public class AttendQuoteFieldServiceImpl extends Service implements AttendQuoteF Map column = columnsOptional.get(); updates.add(AttendQuoteFieldPO.builder() .code(column.get("code")) - .fieldName(column.get("name")) + .fieldName(Util.formatMultiLang(column.get("name"), String.valueOf(user.getLanguage()))) .updateTime(now) .build()); } @@ -312,7 +313,7 @@ public class AttendQuoteFieldServiceImpl extends Service implements AttendQuoteF Optional> columnsOptional = columns.stream().filter(column -> code.equals(column.get("code"))).findFirst(); if (columnsOptional.isPresent()) { Map column = columnsOptional.get(); - saves.add(buildAttendQuoteField(column.get("code"), column.get("name"))); + saves.add(buildAttendQuoteField(column.get("code"), Util.formatMultiLang(column.get("name"), String.valueOf(user.getLanguage())))); } } if (CollectionUtils.isNotEmpty(saves)) { diff --git a/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java b/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java index 8a447abba..7c2262f15 100644 --- a/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/RemoteExcelServiceImpl.java @@ -36,6 +36,7 @@ import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import weaver.general.Util; import weaver.hrm.User; import java.lang.reflect.Field; @@ -483,7 +484,7 @@ public class RemoteExcelServiceImpl extends Service implements RemoteExcelServic List formulaVars = fields.stream().map(e -> { FormulaVar formulaVar = new FormulaVar(); formulaVar.setFieldId(referenceEnum.getValue() + SalaryFormulaFieldConstant.FIELD_ID_SEPARATOR + e.getId()); - formulaVar.setName(e.getFieldName()); + formulaVar.setName(Util.formatMultiLang(e.getFieldName(), String.valueOf(user.getLanguage()))); formulaVar.setSource("" + referenceEnum.getValue()); formulaVar.setFieldType(DataType.NUMBER); return formulaVar; diff --git a/src/com/engine/salary/service/impl/SICompensationServiceImpl.java b/src/com/engine/salary/service/impl/SICompensationServiceImpl.java index a6c4cb5d8..276a39af7 100644 --- a/src/com/engine/salary/service/impl/SICompensationServiceImpl.java +++ b/src/com/engine/salary/service/impl/SICompensationServiceImpl.java @@ -1,7 +1,6 @@ package com.engine.salary.service.impl; import com.alibaba.fastjson.JSON; -import com.alipay.oceanbase.jdbc.StringUtils; import com.cloudstore.eccom.pc.table.WeaTable; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.engine.common.util.ServiceUtil; @@ -41,6 +40,7 @@ import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.Column; import com.google.common.collect.Lists; import com.engine.salary.util.db.IdGenerator; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import weaver.hrm.User; diff --git a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java index 21884ad0f..c4aa6554f 100644 --- a/src/com/engine/salary/service/impl/SalarySendServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySendServiceImpl.java @@ -1,7 +1,6 @@ package com.engine.salary.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Validator; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.api.formmode.mybatis.util.SqlProxyHandle; @@ -1752,9 +1751,6 @@ public class SalarySendServiceImpl extends Service implements SalarySendService } String mobile = employee.getMobile(); - if (Validator.isMobile(mobile)) { - throw new SalaryRunTimeException("手机号信息有误"); - } boolean checkSendSMS = MessageUtil.checkSendSMS(); if (!checkSendSMS) { @@ -1782,6 +1778,9 @@ public class SalarySendServiceImpl extends Service implements SalarySendService //取出验证码 String cacheValue = getSalaryCacheService(user).get(SALARY_CACHE_SMS_CODE + "_" + id); + if (cacheValue == null) { + throw new SalaryRunTimeException("未获取到验证码,请重新发送"); + } String[] cache = cacheValue.split("_"); String code = cache[0]; //失效时间 diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index c2038c425..b3fc0eb7f 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -254,6 +254,9 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { } List list = getSalarySobMapper().listSome(build); + if (param.isShare() == true) { + return list; + } return getAuthService(user).auth(list, param.getFilterType(), SalarySobPO.class); } diff --git a/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java b/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java index 47ba33ff0..85cc9ba47 100644 --- a/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java @@ -471,15 +471,20 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd SpecialAddDeductionBiz SpecialAddDeductionBiz = new SpecialAddDeductionBiz(); Long currentEmployeeId = (long) user.getUID(); // 获取所有个税扣缴义务人 - Collection taxAgentList = - getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId); + // Collection taxAgentList = + // getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId); + + TaxAgentQueryParam param = TaxAgentQueryParam.builder().build(); + param.setFilterType(AuthFilterTypeEnum.ADMIN_DATA); + Collection taxAgentList = getTaxAgentService(user).listAuth(param); + SpecialAddDeductionPO byId = SpecialAddDeductionBiz.getById(specialAddDeductionParam.getId()); if (byId == null) { throw new SalaryRunTimeException("该数据不存在!"); } //管理员可以编辑该扣缴义务人数据,其他人可以编辑本人数据 boolean canEdit = byId.getEmployeeId().equals((long) user.getUID()) - || taxAgentList.stream().anyMatch(t -> Objects.equals(t.getTaxAgentId(), byId.getTaxAgentId())); + || taxAgentList.stream().anyMatch(t -> Objects.equals(t.getId(), byId.getTaxAgentId())); if (!canEdit) { //没有编辑权限 throw new SalaryRunTimeException("该个税扣缴义务人无权限编辑此数据!"); diff --git a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java index 072c68985..f92992600 100644 --- a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java @@ -291,6 +291,9 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { public List listAuth(TaxAgentQueryParam queryParam) { List taxAgents = getTaxAgentMapper().listBySome(queryParam); AuthFilterTypeEnum filterType = queryParam.getFilterType(); + if (queryParam.isShare()) { + return taxAgents; + } return getAuthService(user).auth(taxAgents, filterType, TaxAgentPO.class); } @@ -586,7 +589,7 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { public List> selectList(boolean needAuth) { List taxAgents = getTaxAgentMapper().listAll(); if (needAuth) { - taxAgents = handleForDevolution(taxAgents, (long) user.getUID(), true); + taxAgents = getAuthService(user).auth(taxAgents, AuthFilterTypeEnum.QUERY_DATA, TaxAgentPO.class); } return taxAgents.stream().map(m -> { Map map = new HashMap<>(2); diff --git a/src/com/engine/salary/util/ResponseResult.java b/src/com/engine/salary/util/ResponseResult.java index 2036fd1a2..4fef6c0a1 100644 --- a/src/com/engine/salary/util/ResponseResult.java +++ b/src/com/engine/salary/util/ResponseResult.java @@ -8,6 +8,7 @@ import com.engine.salary.common.SalaryContext; import com.engine.salary.exception.ExceptionUtil; import com.engine.salary.exception.SalaryRunTimeException; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import weaver.general.BaseBean; @@ -15,6 +16,7 @@ import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.function.Consumer; @@ -52,6 +54,17 @@ public class ResponseResult { SalaryContext.get().setValue("response", response); } + public T parseParams(HttpServletRequest request, Class clazz) { + T t = null; + try { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + t = mapper.readValue(request.getInputStream(), clazz); + } catch (IOException e) { + log.error("salary api parseParams fail , param {}", t, e); + } + return t; + } /** * 统一返回方法 diff --git a/src/com/engine/salary/wrapper/AttendQuoteDataWrapper.java b/src/com/engine/salary/wrapper/AttendQuoteDataWrapper.java index 2e5d4e579..523ec3c58 100644 --- a/src/com/engine/salary/wrapper/AttendQuoteDataWrapper.java +++ b/src/com/engine/salary/wrapper/AttendQuoteDataWrapper.java @@ -92,7 +92,7 @@ public class AttendQuoteDataWrapper extends Service { attendQuoteFields.stream() .filter(attendQuoteField->effectiveColumns.contains(Util.null2String(attendQuoteField.getId()))) .forEach(attendQuoteField -> { - columns.add(Column.builder().title(attendQuoteField.getFieldName()) + columns.add(Column.builder().title(Util.formatMultiLang(attendQuoteField.getFieldName(), String.valueOf(user.getLanguage()))) .dataIndex(attendQuoteField.getId() + "_attendQuoteData") .key(attendQuoteField.getId() + "_attendQuoteData").display(Boolean.TRUE).build()); }