Merge branch 'release/3.0.2.2504.01' into release/个税&业务线
This commit is contained in:
commit
344658a7ed
|
|
@ -28,4 +28,6 @@ public class SalarySobQueryParam extends BaseQueryParam {
|
|||
* 数据过滤级别
|
||||
*/
|
||||
private AuthFilterTypeEnum filterType;
|
||||
|
||||
private boolean isShare;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,6 @@ public class TaxAgentQueryParam extends BaseQueryParam {
|
|||
|
||||
//个税扣缴义务人名称
|
||||
private String name;
|
||||
|
||||
private boolean isShare;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
// 判断报表是否是登陆人创建的,或薪酬总管理员
|
||||
|
|
|
|||
|
|
@ -254,7 +254,11 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
|
|||
String imageId = Util.null2String(importParam.getImageId());
|
||||
Validate.notBlank(imageId, "imageId为空");
|
||||
// 获取所有个税扣缴义务人
|
||||
Collection<TaxAgentManageRangeEmployeeDTO> taxAgentList = getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId);
|
||||
// 获取所有个税扣缴义务人
|
||||
TaxAgentQueryParam param = TaxAgentQueryParam.builder().build();
|
||||
param.setFilterType(AuthFilterTypeEnum.ADMIN_DATA);
|
||||
Collection<TaxAgentPO> taxAgentList = getTaxAgentService(user).listAuth(param);
|
||||
// Collection<TaxAgentManageRangeEmployeeDTO> 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<TaxAgentManageRangeEmployeeDTO> optionalTemp = taxAgentList.stream().filter(m -> m.getTaxAgentName().equals(taxAgentName)).findFirst();
|
||||
Optional<TaxAgentPO> 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<String, String> 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 {
|
||||
//个税扣缴义务人不存在
|
||||
|
|
|
|||
|
|
@ -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<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(header);
|
||||
|
|
|
|||
|
|
@ -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<String, String> 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<Map<String, String>> columnsOptional = columns.stream().filter(column -> code.equals(column.get("code"))).findFirst();
|
||||
if (columnsOptional.isPresent()) {
|
||||
Map<String, String> 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)) {
|
||||
|
|
|
|||
|
|
@ -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<FormulaVar> 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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
//失效时间
|
||||
|
|
|
|||
|
|
@ -254,6 +254,9 @@ public class SalarySobServiceImpl extends Service implements SalarySobService {
|
|||
}
|
||||
|
||||
List<SalarySobPO> list = getSalarySobMapper().listSome(build);
|
||||
if (param.isShare() == true) {
|
||||
return list;
|
||||
}
|
||||
return getAuthService(user).auth(list, param.getFilterType(), SalarySobPO.class);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -471,15 +471,20 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd
|
|||
SpecialAddDeductionBiz SpecialAddDeductionBiz = new SpecialAddDeductionBiz();
|
||||
Long currentEmployeeId = (long) user.getUID();
|
||||
// 获取所有个税扣缴义务人
|
||||
Collection<TaxAgentManageRangeEmployeeDTO> taxAgentList =
|
||||
getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId);
|
||||
// Collection<TaxAgentManageRangeEmployeeDTO> taxAgentList =
|
||||
// getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId);
|
||||
|
||||
TaxAgentQueryParam param = TaxAgentQueryParam.builder().build();
|
||||
param.setFilterType(AuthFilterTypeEnum.ADMIN_DATA);
|
||||
Collection<TaxAgentPO> 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("该个税扣缴义务人无权限编辑此数据!");
|
||||
|
|
|
|||
|
|
@ -291,6 +291,9 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
public List<TaxAgentPO> listAuth(TaxAgentQueryParam queryParam) {
|
||||
List<TaxAgentPO> 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<Map<String, Object>> selectList(boolean needAuth) {
|
||||
List<TaxAgentPO> 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<String, Object> map = new HashMap<>(2);
|
||||
|
|
|
|||
|
|
@ -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<T, R> {
|
|||
SalaryContext.get().setValue("response", response);
|
||||
}
|
||||
|
||||
public T parseParams(HttpServletRequest request, Class<T> 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 统一返回方法
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue