feat: 薪资范围需求

This commit is contained in:
fcli 2022-11-17 14:25:10 +08:00
parent e8347b88cc
commit 0aabfcd68a
4 changed files with 52 additions and 33 deletions

View File

@ -3,6 +3,7 @@
import com.engine.salary.entity.salaryBill.po.SalarySendRangeObj;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
public interface SalarySendRangeObjMapper {
@ -16,11 +17,15 @@ public interface SalarySendRangeObjMapper {
List<SalarySendRangeObj> selectByAll(SalarySendRangeObj salarySendRangeObj);
List<SalarySendRangeObj> selectBySalarySendIdAndSalarySendRangeId(@Param("salarySendId") Long salarySendId,
@Param("salarySendRangeIds") List<Long> salarySendRangeId,
@Param("tenantKey") String tenantKey);
List<SalarySendRangeObj> listBySalarySendIdAndRangeIds(@Param("salarySendId") Long salarySendId,
@Param("salarySendRangeIds") List<Long> salarySendRangeId,
@Param("tenantKey") String tenantKey);
int updateBatchSelective(List<SalarySendRangeObj> list);
int batchInsert(@Param("list") List<SalarySendRangeObj> list);
int deleteBySalarySendIds(@Param("salarySendIds") Collection<Long> salarySendIds);
}

View File

@ -186,11 +186,12 @@
</where>
</select>
<select id="selectBySalarySendIdAndSalarySendRangeId" resultMap="BaseResultMap">
<select id="listBySalarySendIdAndRangeIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from hrsa_salary_send_range_obj
where salary_send_id=#{salarySendId,jdbcType=BIGINT}
and delete_type = 0 and tenant_key = #{tenantKey}
<if test="salarySendRangeIds != null and salarySendRangeIds.size() != 0">
<foreach collection="salarySendRangeIds" separator="," open=" and (" close=" )" item="salarySendRangeId">
salary_send_range_id=#{salarySendRangeId,jdbcType=BIGINT}
@ -317,4 +318,15 @@
from dual
</foreach>
</insert>
<update id="deleteBySalarySendIds">
update hrsa_salary_send_range_obj
set delete_type = 1
where salary_send_id in (
<foreach collection="salarySendIds" item="salarySendId" separator=",">
#{salarySendId}
</foreach>
)
and delete_type = 0
</update>
</mapper>

View File

@ -16,27 +16,23 @@ public interface SalarySendRangeObjService {
*
* @param salarySendId
* @param rangeIds
* @param currentTenantKey
* @return
*/
List<SalarySendRangeObj> listBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds, String currentTenantKey);
List<SalarySendRangeObj> listBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds);
/**
* 保存筛选范围对象
*
* @param listObj
* @param currentEmployeeId
* @param currentTenantKey
*/
void batchInsert(List<SalarySendRangeObj> listObj, Long currentEmployeeId, String currentTenantKey);
void batchInsert(List<SalarySendRangeObj> listObj);
/**
* 根据工资饭发放id删除
*
* @param salarySendIds
* @param currentTenantKey
*/
void deleteBySalarySendIds(Collection<Long> salarySendIds, String currentTenantKey);
void deleteBySalarySendIds(Collection<Long> salarySendIds);
/**
* 根据范围id删除
@ -45,7 +41,7 @@ public interface SalarySendRangeObjService {
* @param currentEmployeeId
* @param currentTenantKey
*/
void deleteByRangeIds(Collection<Long> rangeIds, Long currentEmployeeId, String currentTenantKey);
void deleteByRangeIds(Collection<Long> rangeIds, Long currentEmployeeId);
/**
* 根据发放id和范围id获取发放信息id
@ -53,8 +49,7 @@ public interface SalarySendRangeObjService {
* @param salarySendId
* @param rangeIds
* @param employeeId
* @param tenantKey
* @return
*/
List<Long> getSendInfoIdsBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds, Long employeeId, String tenantKey);
List<Long> getSendInfoIdsBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds, Long employeeId);
}

View File

@ -4,6 +4,8 @@ import com.engine.core.impl.Service;
import com.engine.salary.entity.salaryBill.po.SalarySendRangeObj;
import com.engine.salary.mapper.salarybill.SalarySendRangeObjMapper;
import com.engine.salary.service.SalarySendRangeObjService;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.ibatis.session.SqlSession;
import weaver.conn.mybatis.MyBatisFactory;
@ -12,43 +14,48 @@ import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import static com.engine.salary.constant.SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY;
public class SalarySendRangeObjServiceImpl extends Service implements SalarySendRangeObjService {
private <R> R runSalarySendRangeObjMapper(Function<SalarySendRangeObjMapper, R> mapper) {
try (SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession()){
final SalarySendRangeObjMapper salarySendRangeObjMapper = sqlSession.getMapper(SalarySendRangeObjMapper.class);
try (SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession()) {
final SalarySendRangeObjMapper salarySendRangeObjMapper = sqlSession.getMapper(SalarySendRangeObjMapper.class);
return mapper.apply(salarySendRangeObjMapper);
}
}
@Override
public List<SalarySendRangeObj> listBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds, String currentTenantKey) {
if (salarySendId == null) {
public List<SalarySendRangeObj> listBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds) {
if (salarySendId == null || CollectionUtils.isEmpty(rangeIds)) {
return Collections.emptyList();
}
runSalarySendRangeObjMapper(mapper->
mapper.selectBySalarySendIdAndSalarySendRangeId(salarySendId, rangeIds, currentTenantKey)
return runSalarySendRangeObjMapper(mapper ->
mapper.listBySalarySendIdAndRangeIds(salarySendId, rangeIds, DEFAULT_TENANT_KEY)
);
return null;
}
@Override
public void batchInsert(List<SalarySendRangeObj> listObj, Long currentEmployeeId, String currentTenantKey) {
public void batchInsert(List<SalarySendRangeObj> listObj) {
if (listObj == null) {
return;
}
List<List<SalarySendRangeObj>> p = Lists.partition(listObj, 150);
p.forEach(list-> runSalarySendRangeObjMapper(m->m.batchInsert(list)));
}
@Override
public void deleteBySalarySendIds(Collection<Long> salarySendIds) {
runSalarySendRangeObjMapper(mapper->mapper.deleteBySalarySendIds(salarySendIds));
}
@Override
public void deleteByRangeIds(Collection<Long> rangeIds, Long currentEmployeeId) {
}
@Override
public void deleteBySalarySendIds(Collection<Long> salarySendIds, String currentTenantKey) {
}
@Override
public void deleteByRangeIds(Collection<Long> rangeIds, Long currentEmployeeId, String currentTenantKey) {
}
@Override
public List<Long> getSendInfoIdsBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds, Long employeeId, String tenantKey) {
public List<Long> getSendInfoIdsBySalarySendIdAndRangeIds(Long salarySendId, List<Long> rangeIds, Long employeeId) {
return null;
}
}