薪酬系统-福利台账,退差数据新增时的可选择人员列表v1
This commit is contained in:
parent
9c897c87dd
commit
96a440a9a7
|
|
@ -0,0 +1,23 @@
|
|||
package com.engine.salary.entity.hrm.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author: sy
|
||||
* @Description: 人员信息列表
|
||||
* @Date: 2022/11/21
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class HrmInfoDTO {
|
||||
//员工id
|
||||
private Long employeeId;
|
||||
|
||||
//姓名
|
||||
private String username;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.engine.salary.entity.hrm.param;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @Author: sy
|
||||
* @Description: 人员查询
|
||||
* @Date: 2022/11/21
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class HrmQueryParam {
|
||||
|
||||
String userName;
|
||||
|
||||
private int pageNum;
|
||||
private int pageSize;
|
||||
|
||||
private Collection<Long> ids;
|
||||
}
|
||||
|
|
@ -4,6 +4,8 @@ import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
|||
import com.engine.salary.entity.hrm.DeptInfo;
|
||||
import com.engine.salary.entity.hrm.PositionInfo;
|
||||
import com.engine.salary.entity.hrm.SubCompanyInfo;
|
||||
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
|
||||
import com.engine.salary.entity.hrm.param.HrmQueryParam;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
|
@ -50,4 +52,6 @@ public interface EmployMapper {
|
|||
List<DeptInfo> getDeptInfoList(@Param("departmentIds") List<Long> departmentIds);
|
||||
|
||||
List<SubCompanyInfo> getSubCompanyInfoList(@Param("subDepartmentIds") List<Long> subDepartmentIds);
|
||||
|
||||
List<HrmInfoDTO> listHrmInfoByIdAndName(@Param("param") HrmQueryParam param);
|
||||
}
|
||||
|
|
@ -281,5 +281,64 @@
|
|||
</if>
|
||||
</select>
|
||||
|
||||
<select id="listHrmInfoByIdAndName" resultType="com.engine.salary.entity.hrm.dto.HrmInfoDTO">
|
||||
select e.id as employeeId,
|
||||
e.lastname as username
|
||||
from hrmresource e
|
||||
where 1=1
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND e.id IN
|
||||
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.userName != null and param.userName != ''">
|
||||
AND
|
||||
(
|
||||
e.lastname like CONCAT('%',#{param.userName},'%')
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="listHrmInfoByIdAndName" resultType="com.engine.salary.entity.hrm.dto.HrmInfoDTO" databaseId="sqlserver">
|
||||
select e.id as employeeId,
|
||||
e.lastname as username
|
||||
from hrmresource e
|
||||
where 1=1
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND e.id IN
|
||||
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.userName != null and param.userName != ''">
|
||||
AND
|
||||
(
|
||||
e.lastname like '%'+#{param.userName}+'%'
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="listHrmInfoByIdAndName" resultType="com.engine.salary.entity.hrm.dto.HrmInfoDTO" databaseId="oracle">
|
||||
select e.id as employeeId,
|
||||
e.lastname as username
|
||||
from hrmresource e
|
||||
where 1=1
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND e.id IN
|
||||
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.userName != null and param.userName != ''">
|
||||
AND
|
||||
(
|
||||
e.lastname like '%'||#{param.userName}||'%'
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
|
||||
import com.engine.salary.entity.hrm.param.HrmQueryParam;
|
||||
import com.engine.salary.entity.siaccount.param.RecessionParam;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
|
|
@ -9,4 +12,6 @@ public interface SIRecessionService {
|
|||
void save(RecessionParam param, Long employeeId);
|
||||
|
||||
void del(Collection<Long> ids, Long employeeId);
|
||||
|
||||
PageInfo<HrmInfoDTO> getEmployeeListByTaxAgent(HrmQueryParam param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,23 +2,34 @@ package com.engine.salary.service.impl;
|
|||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.encrypt.siaccount.InsuranceAccountDetailPOEncrypt;
|
||||
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
|
||||
import com.engine.salary.entity.hrm.param.HrmQueryParam;
|
||||
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
|
||||
import com.engine.salary.entity.siaccount.param.RecessionParam;
|
||||
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
||||
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO;
|
||||
import com.engine.salary.enums.siaccount.BillStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.PaymentStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.ProjectTypeEnum;
|
||||
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
||||
import com.engine.salary.mapper.datacollection.EmployMapper;
|
||||
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
|
||||
import com.engine.salary.service.SIRecessionService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.SalaryAssert;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
|
@ -35,6 +46,14 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
|
|||
return SqlProxyHandle.getProxy(InsuranceAccountDetailMapper.class);
|
||||
}
|
||||
|
||||
private TaxAgentService getTaxAgentService(User user) {
|
||||
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private EmployMapper getEmployMapper() {
|
||||
return MapperProxyFactory.getProxy(EmployMapper.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(RecessionParam param, Long employeeId) {
|
||||
|
||||
|
|
@ -282,4 +301,41 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
|
|||
insuranceAccountDetailPO.setTotal(perSum.add(comSum).toPlainString());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取当前登录人所控制的个税扣缴义务人的人员范围
|
||||
*/
|
||||
@Override
|
||||
public PageInfo<HrmInfoDTO> getEmployeeListByTaxAgent(HrmQueryParam param) {
|
||||
|
||||
// 当前登录人员
|
||||
Long currentEmployeeId = (long) user.getUID();
|
||||
|
||||
List<TaxAgentEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployee(currentEmployeeId);
|
||||
Set<Long> employeeIds = SalaryEntityUtil.properties(taxAgentEmployeeDTOS, TaxAgentEmployeeDTO::getEmployeeId);
|
||||
List<Long> empIds = new ArrayList<Long>(employeeIds);
|
||||
List<HrmInfoDTO> resultData = new ArrayList<>();
|
||||
if (employeeIds.size() > 0) {
|
||||
List<List<Long>> partition = Lists.partition(empIds, 1000);
|
||||
partition.forEach(p -> {
|
||||
param.setIds(p);
|
||||
resultData.addAll(getEmployMapper().listHrmInfoByIdAndName(param));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// 分页
|
||||
PageInfo<HrmInfoDTO> page = new PageInfo<>();
|
||||
if (null == resultData) {
|
||||
return page;
|
||||
}
|
||||
page.setTotal(resultData.size());
|
||||
|
||||
page.setList(SalaryPageUtil.subList(param.getPageNum(), param.getPageSize(), resultData));
|
||||
page.setPageSize(param.getPageSize());
|
||||
page.setPageNum(param.getPageNum());
|
||||
|
||||
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.engine.salary.web;
|
|||
|
||||
import com.engine.common.util.ParamUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
|
||||
import com.engine.salary.entity.hrm.param.HrmQueryParam;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAccountTabDTO;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAcctDetailImportFieldDTO;
|
||||
|
|
@ -683,5 +685,17 @@ public class SIAccountController {
|
|||
return new ResponseResult<EditAccountDetailParam, String>(user).run(getService(user)::editAccount, param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录人所控制的人员范围
|
||||
*/
|
||||
@POST
|
||||
@Path("/getEmployeeListByTaxAgent")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getEmployeeListByTaxAgent(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
||||
@RequestBody HrmQueryParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<HrmQueryParam, PageInfo<HrmInfoDTO>>(user).run(getSIAccountWrapper(user)::getEmployeeListByTaxAgent, param);
|
||||
}
|
||||
|
||||
// **********************************退差 end*********************************/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,12 @@ package com.engine.salary.wrapper;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
|
||||
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
|
||||
import com.engine.salary.entity.hrm.param.HrmQueryParam;
|
||||
import com.engine.salary.entity.siaccount.param.RecessionParam;
|
||||
import com.engine.salary.service.SIRecessionService;
|
||||
import com.engine.salary.service.impl.SIRecessionServiceImpl;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Collection;
|
||||
|
|
@ -38,4 +41,9 @@ public class SIAccountWrapper extends Service {
|
|||
long currentEmployeeId = user.getUID();
|
||||
getSIRecessionService(user).del(ids, currentEmployeeId);
|
||||
}
|
||||
|
||||
public PageInfo<HrmInfoDTO> getEmployeeListByTaxAgent(HrmQueryParam param) {
|
||||
|
||||
return getSIRecessionService(user).getEmployeeListByTaxAgent(param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue