薪资档案
This commit is contained in:
parent
77229d18a0
commit
126444b9f3
|
|
@ -5,6 +5,8 @@ import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemQueryParam;
|
|||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.mapper.archive.SalaryArchiveItemMapper;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.PageUtil;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import weaver.conn.mybatis.MyBatisFactory;
|
||||
|
||||
|
|
@ -67,8 +69,8 @@ public class SalaryArchiveItemBiz {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
mapper.deleteBatchIds(effectiveSalaryItemDels);
|
||||
sqlSession.commit();
|
||||
mapper.deleteBatchIds(effectiveSalaryItemDels);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
@ -101,7 +103,7 @@ public class SalaryArchiveItemBiz {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
return mapper.salaryItemAdjustRecordList(queryParam,salaryItemIds);
|
||||
return mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
@ -117,4 +119,17 @@ public class SalaryArchiveItemBiz {
|
|||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public PageInfo<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> page = new PageInfo<SalaryItemAdjustRecordListDTO>(salaryItemAdjustRecordListDTOS);
|
||||
return page;
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 个税扣缴义务人调整
|
||||
* @Author: wangxiangzhong
|
||||
|
|
@ -17,9 +19,9 @@ import lombok.NoArgsConstructor;
|
|||
//个税扣缴义务人调整")
|
||||
public class SalaryArchiveTaxAgentFormDTO {
|
||||
|
||||
//薪资档案id")
|
||||
//薪资档案id
|
||||
private Long salaryArchiveId;
|
||||
|
||||
//个税扣缴义务人调整")
|
||||
// private WeaForm salaryArchiveTaxAgentForm;
|
||||
//个税扣缴义务人调整
|
||||
private Map<String,Object> salaryArchiveTaxAgentForm;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,11 +5,16 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 薪资项目调整记录列表
|
||||
* @Author: wangxiangzhong
|
||||
* @Date: 2021/11/1 16:34
|
||||
*/
|
||||
* 薪资项目调整记录列表
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
|
@ -21,10 +26,10 @@ import lombok.NoArgsConstructor;
|
|||
//}, tableType = WeaTableTypeEnum.NONE)
|
||||
public class SingleSalaryItemAdjustRecordListDTO {
|
||||
|
||||
// //主键id")
|
||||
// //主键id")
|
||||
// @JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
//
|
||||
//
|
||||
// //调整项目")
|
||||
// @WeaFormat(
|
||||
// label = "调整项目",
|
||||
|
|
@ -32,7 +37,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
private String adjustItem;
|
||||
//
|
||||
//
|
||||
// //调整前")
|
||||
// @WeaFormat(
|
||||
// label = "调整前",
|
||||
|
|
@ -40,23 +45,23 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
private String adjustBefore;
|
||||
//
|
||||
//
|
||||
// //调整后")
|
||||
// @WeaFormat(
|
||||
// label = "调整后",
|
||||
// labelId = 85434,
|
||||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
// private String adjustAfter;
|
||||
//
|
||||
private String adjustAfter;
|
||||
//
|
||||
// //调整原因")
|
||||
// @WeaFormat(
|
||||
// label = "调整原因",
|
||||
// labelId = 85431,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
// private String adjustReason;
|
||||
//
|
||||
private String adjustReason;
|
||||
//
|
||||
// //生效日期")
|
||||
// @WeaFormat(
|
||||
// label = "生效日期",
|
||||
|
|
@ -64,16 +69,16 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "15%")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd")
|
||||
// private LocalDate effectiveTime;
|
||||
//
|
||||
private Date effectiveTime;
|
||||
//
|
||||
// //操作人")
|
||||
// @WeaFormat(
|
||||
// label = "操作人",
|
||||
// labelId = 85435,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
// private String operator;
|
||||
//
|
||||
private String operator;
|
||||
//
|
||||
// //操作时间")
|
||||
// @WeaFormat(
|
||||
// label = "操作时间",
|
||||
|
|
@ -81,25 +86,25 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
// private Date operateTime;
|
||||
//
|
||||
private Date operateTime;
|
||||
//
|
||||
// //备注")
|
||||
// @WeaFormat(
|
||||
// label = "备注",
|
||||
// labelId = 84961,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
// private String description;
|
||||
//
|
||||
private String description;
|
||||
//
|
||||
// /**
|
||||
// * 薪资档案id
|
||||
// */
|
||||
// @JsonIgnore
|
||||
// private Long salaryArchiveId;
|
||||
//
|
||||
private Long salaryArchiveId;
|
||||
//
|
||||
// /**
|
||||
// * 薪资项目id
|
||||
// */
|
||||
// @JsonIgnore
|
||||
// private Long salaryItemId;
|
||||
private Long salaryItemId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
package com.engine.salary.entity.salaryarchive.dto;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableType;
|
||||
import com.engine.salary.annotation.SalaryTable;
|
||||
import com.engine.salary.annotation.SalaryTableColumn;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -7,119 +12,73 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 个税扣缴义务人调整记录列表
|
||||
* @Author: wangxiangzhong
|
||||
* @Date: 2021/11/1 16:34
|
||||
*/
|
||||
* 个税扣缴义务人调整记录列表
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
//个税扣缴义务人调整记录列表")
|
||||
//@TableOperates(tableType = WeaTableTypeEnum.CHECKBOX)
|
||||
@SalaryTable(pageId = "a4f85287-e3f9-4275-1567-7d06e54y6rj8", tableType = WeaTableType.CHECKBOX)
|
||||
public class TaxAgentAdjustRecordListDTO {
|
||||
//主键id")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@SalaryTableColumn(column = "id", display = false)
|
||||
private Long id;
|
||||
|
||||
// /**
|
||||
// * 人员信息表的主键id
|
||||
// */
|
||||
// private Long employeeId;
|
||||
//
|
||||
// //姓名")
|
||||
// @WeaFormat(
|
||||
// label = "姓名",
|
||||
// labelId = 85429,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String username;
|
||||
//
|
||||
// //部门")
|
||||
// @WeaFormat(
|
||||
// label = "部门",
|
||||
// labelId = 86185,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String departmentName;
|
||||
//
|
||||
// //员工状态")
|
||||
// @WeaFormat(
|
||||
// label = "员工状态",
|
||||
// labelId = 86187,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String employeeStatus;
|
||||
//
|
||||
// //调整前")
|
||||
// @WeaFormat(
|
||||
// label = "调整前",
|
||||
// labelId = 85433,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String adjustBefore;
|
||||
//
|
||||
// //调整后")
|
||||
// @WeaFormat(
|
||||
// label = "调整后",
|
||||
// labelId = 85434,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String adjustAfter;
|
||||
//
|
||||
// //调整原因")
|
||||
// @WeaFormat(
|
||||
// label = "调整原因",
|
||||
// labelId = 85431,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String adjustReason;
|
||||
//
|
||||
// //生效日期")
|
||||
// @WeaFormat(
|
||||
// label = "生效日期",
|
||||
// labelId = 85904,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd")
|
||||
// private LocalDate effectiveTime;
|
||||
//
|
||||
// //操作人")
|
||||
// @WeaFormat(
|
||||
// label = "操作人",
|
||||
// labelId = 85435,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String operator;
|
||||
//
|
||||
// //操作时间")
|
||||
// @WeaFormat(
|
||||
// label = "操作时间",
|
||||
// labelId = 85436,
|
||||
// tableColumn = @TableColumn(width = "150")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
// private Date operateTime;
|
||||
//
|
||||
// //备注")
|
||||
// @WeaFormat(
|
||||
// label = "备注",
|
||||
// labelId = 84961,
|
||||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
// private String description;
|
||||
//
|
||||
// /**
|
||||
// * 薪资档案id
|
||||
// */
|
||||
// @JsonIgnore
|
||||
// private Long salaryArchiveId;
|
||||
//
|
||||
// /**
|
||||
// * 个税扣缴义务人id
|
||||
// */
|
||||
// @JsonIgnore
|
||||
// private Long taxAgentId;
|
||||
/**
|
||||
* 人员信息表的主键id
|
||||
*/
|
||||
private Long employeeId;
|
||||
|
||||
@SalaryTableColumn(text = "姓名", width = "10%", column = "username")
|
||||
private String username;
|
||||
|
||||
@SalaryTableColumn(text = "部门", width = "10%", column = "departmentName")
|
||||
private String departmentName;
|
||||
|
||||
@SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus")
|
||||
private String employeeStatus;
|
||||
|
||||
@SalaryTableColumn(text = "调整前", width = "10%", column = "adjustBefore")
|
||||
private String adjustBefore;
|
||||
|
||||
@SalaryTableColumn(text = "调整后", width = "10%", column = "adjustAfter")
|
||||
private String adjustAfter;
|
||||
|
||||
@SalaryTableColumn(text = "调整原因", width = "10%", column = "adjustReason")
|
||||
private String adjustReason;
|
||||
|
||||
@SalaryTableColumn(text = "生效日期", width = "10%", column = "effectiveTime")
|
||||
private Date effectiveTime;
|
||||
|
||||
@SalaryTableColumn(text = "操作人", width = "10%", column = "operator")
|
||||
private String operator;
|
||||
|
||||
@SalaryTableColumn(text = "操作时间", width = "10%", column = "operateTime")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date operateTime;
|
||||
|
||||
@SalaryTableColumn(text = "备注", width = "10%", column = "description")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 薪资档案id
|
||||
*/
|
||||
private Long salaryArchiveId;
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人id
|
||||
*/
|
||||
@JsonIgnore
|
||||
private Long taxAgentId;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ public class SalaryArchiveTaxAgentQueryParam {
|
|||
*/
|
||||
private Date effectiveTime;
|
||||
|
||||
Long salaryArchiveId;
|
||||
|
||||
Collection<Long> salaryArchivesIds;
|
||||
|
||||
Collection<Long> employeeIds;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人调整保存参数
|
||||
|
|
@ -29,15 +29,18 @@ public class SalaryArchiveTaxAgentSaveParam {
|
|||
private Long salaryArchiveId;
|
||||
|
||||
//生效时间")
|
||||
private LocalDate effectiveTime;
|
||||
private Date effectiveTime;
|
||||
|
||||
//调整原因")
|
||||
private SalaryArchiveTaxAgentAdjustReasonEnum adjustReason;
|
||||
/**
|
||||
* 调整原因
|
||||
* @see SalaryArchiveTaxAgentAdjustReasonEnum
|
||||
*/
|
||||
private String adjustReason;
|
||||
|
||||
//个税扣缴义务人id")
|
||||
private Long taxAgentId;
|
||||
|
||||
public static void checkParam(SalaryArchiveTaxAgentSaveParam saveParam, Long employeeId, String tenantKey) {
|
||||
public static void checkParam(SalaryArchiveTaxAgentSaveParam saveParam) {
|
||||
if (saveParam.getSalaryArchiveId() == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel( 100305, "薪资档案id必传"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.engine.salary.mapper.archive;
|
||||
|
||||
import com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.TaxAgentAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
|
@ -8,74 +10,98 @@ import java.util.List;
|
|||
|
||||
public interface SalaryArchiveTaxAgentMapper {
|
||||
|
||||
/**
|
||||
/**
|
||||
* 查询所有记录
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<SalaryArchiveTaxAgentPO> listAll();
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> listAll();
|
||||
|
||||
/**
|
||||
* 条件查询
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<SalaryArchiveTaxAgentPO> listSome(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* 根据主键查询
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 返回记录,没有返回null
|
||||
*/
|
||||
SalaryArchiveTaxAgentPO getById(Long id);
|
||||
|
||||
/**
|
||||
SalaryArchiveTaxAgentPO getById(Long id);
|
||||
|
||||
/**
|
||||
* 新增,忽略null字段
|
||||
*
|
||||
* @param salaryArchiveTaxAgent 新增的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int insertIgnoreNull(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
int insertIgnoreNull(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
*
|
||||
* @param salaryArchiveTaxAgent 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int update(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
int update(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
* 修改,忽略null字段
|
||||
*
|
||||
* @param salaryArchiveTaxAgent 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int updateIgnoreNull(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
int updateIgnoreNull(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
* 删除记录
|
||||
*
|
||||
* @param salaryArchiveTaxAgent 待删除的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int delete(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
int delete(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> listByParam(@Param("param") SalaryArchiveTaxAgentQueryParam build);
|
||||
List<SalaryArchiveTaxAgentPO> listByParam(@Param("param") SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
void deleteBySalaryArchiveId(@Param("collection")List<Long> salaryArchiveIds);
|
||||
void deleteBySalaryArchiveId(@Param("collection") List<Long> salaryArchiveIds);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> getEffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build);
|
||||
List<SalaryArchiveTaxAgentPO> getEffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> getIneffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build);
|
||||
List<SalaryArchiveTaxAgentPO> getIneffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
void deleteBatchIds(List<Long> ids);
|
||||
void deleteBatchIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
* @param salaryArchiveTaxAgentSaves
|
||||
*/
|
||||
void batchInsert(@Param("collection") List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgentSaves);
|
||||
/**
|
||||
* 批量插入
|
||||
*
|
||||
* @param salaryArchiveTaxAgentSaves
|
||||
*/
|
||||
void batchInsert(@Param("collection") List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgentSaves);
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询薪资项目调整记录列表
|
||||
*
|
||||
* @param page
|
||||
* @param param
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
// IPage<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordList(Page<TaxAgentAdjustRecordListDTO> page, @Param("param") TaxAgentAdjustRecordQueryParam param, @Param("tenantKey") String tenantKey);
|
||||
|
||||
/**
|
||||
* 查询薪资项目调整记录列表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordList(@Param("param") TaxAgentAdjustRecordQueryParam param);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> getTaxAgentLtTimeBySalaryArchiveId(SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO build);
|
||||
}
|
||||
|
|
@ -333,6 +333,9 @@
|
|||
FROM hrsa_salary_archive_tax_agent t
|
||||
WHERE delete_type = 0
|
||||
AND t.effective_time <= #{effectiveTime}
|
||||
<if test="salaryArchiveId != null">
|
||||
AND t.salary_archive_id = #{salaryArchiveId}
|
||||
</if>
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
|
|
@ -342,7 +345,10 @@
|
|||
<include refid="baseColumns"/>
|
||||
FROM hrsa_salary_archive_tax_agent t
|
||||
WHERE delete_type = 0
|
||||
AND t.effective_time >= #{effectiveTime}
|
||||
AND t.effective_time > #{effectiveTime}
|
||||
<if test="salaryArchiveId != null">
|
||||
AND t.salary_archive_id = #{salaryArchiveId}
|
||||
</if>
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
|
|
@ -436,5 +442,289 @@
|
|||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="taxAgentAdjustRecordList"
|
||||
resultType="com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO">
|
||||
SELECT
|
||||
<include refid="taxAgentAdjustRecordColumn"/>
|
||||
FROM hrsa_salary_archive_tax_agent t1
|
||||
LEFT JOIN hrmresource e ON e.id = t1.employee_id
|
||||
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
|
||||
LEFT JOIN hrmresource o ON o.id = t1.operator
|
||||
WHERE
|
||||
t1.delete_type = 0
|
||||
AND e.status != '7'
|
||||
<!-- 关键字(姓名、部门、个税扣缴义务人) -->
|
||||
<if test="param.keyword != null and param.keyword != ''">
|
||||
AND (
|
||||
e.lastname like CONCAT('%',#{param.keyword},'%')
|
||||
OR d.departmentname like CONCAT('%',#{param.keyword},'%')
|
||||
-- OR (t1.adjust_before like CONCAT('%',#{param.keyword},'%') OR t1.adjust_after like
|
||||
CONCAT('%',#{param.keyword},'%'))
|
||||
)
|
||||
</if>
|
||||
<include refid="paramSql"/>
|
||||
ORDER BY t1.effective_time DESC,t1.id DESC
|
||||
</select>
|
||||
<select id="taxAgentAdjustRecordList"
|
||||
resultType="com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO" databaseId="oracle">
|
||||
SELECT
|
||||
<include refid="taxAgentAdjustRecordColumn"/>
|
||||
FROM hrsa_salary_archive_tax_agent t1
|
||||
LEFT JOIN hrmresource e ON e.id = t1.employee_id
|
||||
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
|
||||
LEFT JOIN hrmresource o ON o.id = t1.operator
|
||||
WHERE
|
||||
t1.delete_type = 0
|
||||
AND e.status != '7'
|
||||
|
||||
<if test="param.keyword != null and param.keyword != ''">
|
||||
AND (
|
||||
e.lastname like '%'||#{param.keyword}||'%'
|
||||
OR d.departmentname like '%'||#{param.keyword}||'%'
|
||||
-- OR (t1.adjust_before like '%'||#{param.keyword}||'%' OR t1.adjust_after like '%'||#{param.keyword}||'%' )
|
||||
)
|
||||
</if>
|
||||
<include refid="paramSql"/>
|
||||
ORDER BY t1.effective_time DESC,t1.id DESC
|
||||
</select>
|
||||
<select id="taxAgentAdjustRecordList"
|
||||
resultType="com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO" databaseId="sqlserver">
|
||||
SELECT
|
||||
<include refid="taxAgentAdjustRecordColumn"/>
|
||||
FROM hrsa_salary_archive_tax_agent t1
|
||||
LEFT JOIN hrmresource e ON e.id = t1.employee_id
|
||||
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
|
||||
LEFT JOIN hrmresource o ON o.id = t1.operator
|
||||
WHERE
|
||||
t1.delete_type = 0
|
||||
AND e.status != '7'
|
||||
|
||||
<if test="param.keyword != null and param.keyword != ''">
|
||||
AND (
|
||||
e.lastname like '%'+#{param.keyword}+'%'
|
||||
OR d.departmentname like '%'+#{param.keyword}+'%'
|
||||
-- OR (t1.adjust_before like '%'+#{param.keyword}+'%' OR t1.adjust_after like '%'+#{param.keyword}+'%' )
|
||||
)
|
||||
</if>
|
||||
<include refid="paramSql"/>
|
||||
|
||||
ORDER BY t1.effective_time DESC,t1.id DESC
|
||||
</select>
|
||||
|
||||
<sql id="taxAgentAdjustRecordColumn">
|
||||
t1
|
||||
.
|
||||
id
|
||||
,
|
||||
t1.employee_id,
|
||||
e.lastname as username,
|
||||
e.status AS employeeStatus,
|
||||
d.departmentname AS departmentName,
|
||||
t1.effective_time,
|
||||
t1.adjust_reason,
|
||||
t1.tax_agent_id AS adjust_after,
|
||||
o.lastname AS operator,
|
||||
t1.operate_time,
|
||||
t1.description,
|
||||
t1.salary_archive_id,
|
||||
t1.tax_agent_id
|
||||
</sql>
|
||||
|
||||
<sql id="paramSql">
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND t1.id IN
|
||||
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<!-- 薪资档案id -->
|
||||
<if test="param.salaryArchiveId != null">
|
||||
AND t1.salary_archive_id = #{param.salaryArchiveId}
|
||||
</if>
|
||||
<!-- 姓名 -->
|
||||
<if test="param.username != null and param.username != ''">
|
||||
AND e.lastname like CONCAT('%',#{param.username},'%')
|
||||
</if>
|
||||
<!-- 岗位 -->
|
||||
<if test="param.positionIds != null and param.positionIds.size()>0">
|
||||
AND e.position IN
|
||||
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<!-- 状态 -->
|
||||
<if test="param.userstatus != null and param.userstatus != ''">
|
||||
AND e.status = #{param.userstatus}
|
||||
</if>
|
||||
<!-- 部门 -->
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<!-- 调整原因 -->
|
||||
<if test="param.adjustReason != null and param.adjustReason != ''">
|
||||
AND t1.adjust_reason = #{param.adjustReason}
|
||||
</if>
|
||||
<!-- 生效日期 -->
|
||||
<if test="param.effectiveTime != null and param.effectiveTime.size() == 2">
|
||||
AND (t1.effective_time BETWEEN #{param.effectiveTime[0]} AND #{param.effectiveTime[1]})
|
||||
</if>
|
||||
<!-- 操作日期 -->
|
||||
<if test="param.operateTime != null and param.operateTime.size() == 2">
|
||||
AND (t1.operate_time BETWEEN CONCAT(#{param.operateTime[0]},' 00:00:00') AND
|
||||
CONCAT(#{param.operateTime[1]},' 23:59:59'))
|
||||
</if>
|
||||
<!-- 操作人 -->
|
||||
<if test="param.operatorIds != null and param.operatorIds.size()>0">
|
||||
AND t1.operator IN
|
||||
<foreach collection="param.operatorIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<!-- 备注 -->
|
||||
<if test="param.description != null and param.description != ''">
|
||||
AND t1.description like CONCAT('%',#{param.description},'%')
|
||||
</if>
|
||||
</sql>
|
||||
<sql id="paramSql" databaseId="oracle">
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND t1.id IN
|
||||
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.salaryArchiveId != null">
|
||||
AND t1.salary_archive_id = #{param.salaryArchiveId}
|
||||
</if>
|
||||
|
||||
<if test="param.username != null and param.username != ''">
|
||||
AND e.lastname like '%'||#{param.username}||'%'
|
||||
</if>
|
||||
|
||||
<if test="param.positionIds != null and param.positionIds.size()>0">
|
||||
AND e.position IN
|
||||
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.userstatus != null and param.userstatus != ''">
|
||||
AND e.status = #{param.userstatus}
|
||||
</if>
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.adjustReason != null and param.adjustReason != ''">
|
||||
AND t1.adjust_reason = #{param.adjustReason}
|
||||
</if>
|
||||
|
||||
<if test="param.effectiveTime != null and param.effectiveTime.size() == 2">
|
||||
AND (t1.effective_time BETWEEN #{param.effectiveTime[0]} AND #{param.effectiveTime[1]})
|
||||
</if>
|
||||
|
||||
<if test="param.operateTime != null and param.operateTime.size() == 2">
|
||||
AND (t1.operate_time BETWEEN #{param.operateTime[0]}||' 00:00:00' AND #{param.operateTime[1]}||' 23:59:59' )
|
||||
</if>
|
||||
|
||||
<if test="param.operatorIds != null and param.operatorIds.size()>0">
|
||||
AND t1.operator IN
|
||||
<foreach collection="param.operatorIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.description != null and param.description != ''">
|
||||
AND t1.description like '%'||#{param.description}||'%'
|
||||
</if>
|
||||
</sql>
|
||||
<sql id="paramSql" databaseId="sqlserver">
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND t1.id IN
|
||||
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.salaryArchiveId != null">
|
||||
AND t1.salary_archive_id = #{param.salaryArchiveId}
|
||||
</if>
|
||||
|
||||
<if test="param.username != null and param.username != ''">
|
||||
AND e.lastname like '%'+#{param.username}+'%'
|
||||
</if>
|
||||
|
||||
<if test="param.positionIds != null and param.positionIds.size()>0">
|
||||
AND e.position IN
|
||||
<foreach collection="param.positionIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.userstatus != null and param.userstatus != ''">
|
||||
AND e.status = #{param.userstatus}
|
||||
</if>
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.adjustReason != null and param.adjustReason != ''">
|
||||
AND t1.adjust_reason = #{param.adjustReason}
|
||||
</if>
|
||||
|
||||
<if test="param.effectiveTime != null and param.effectiveTime.size() == 2">
|
||||
AND (t1.effective_time BETWEEN #{param.effectiveTime[0]} AND #{param.effectiveTime[1]})
|
||||
</if>
|
||||
|
||||
<if test="param.operateTime != null and param.operateTime.size() == 2">
|
||||
AND (t1.operate_time BETWEEN #{param.operateTime[0]}+' 00:00:00' AND #{param.operateTime[1]}+' 23:59:59' )
|
||||
</if>
|
||||
|
||||
<if test="param.operatorIds != null and param.operatorIds.size()>0">
|
||||
AND t1.operator IN
|
||||
<foreach collection="param.operatorIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.description != null and param.description != ''">
|
||||
AND t1.description like '%'+#{param.description}+'%'
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<select id="getTaxAgentLtTimeBySalaryArchiveId" resultMap="BaseResultMap"
|
||||
parameterType="com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_salary_archive_tax_agent t
|
||||
WHERE delete_type = 0
|
||||
AND t.effective_time < #{effectiveTime}
|
||||
<if test="salaryArchiveId != null">
|
||||
AND t.salary_archive_id = #{salaryArchiveId}
|
||||
</if>
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getAdjustBeforeTaxAgent" resultMap="BaseResultMap"
|
||||
parameterType="com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_salary_archive_tax_agent t
|
||||
WHERE delete_type = 0
|
||||
AND t.effective_time < #{effectiveTime}
|
||||
AND t.salary_archive_id = #{salaryArchiveId}
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -6,6 +6,7 @@ import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
|
|||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -73,7 +74,7 @@ public interface SalaryArchiveItemService {
|
|||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
// Page<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(Page<SalaryItemAdjustRecordListDTO> page, SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds, String tenantKey);
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage( SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds);
|
||||
|
||||
/**
|
||||
* 薪资调整记录列表
|
||||
|
|
|
|||
|
|
@ -0,0 +1,86 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.TaxAgentAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 薪资档案-个税扣缴义务人
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public interface SalaryArchiveTaxAgentService {
|
||||
|
||||
/**
|
||||
* 获取已经生效的个税扣缴义务人
|
||||
*
|
||||
* @param salaryArchiveId
|
||||
* @return
|
||||
*/
|
||||
SalaryArchiveTaxAgentPO getEffectiveTaxAgent(Long salaryArchiveId);
|
||||
|
||||
/**
|
||||
* 获取单个薪资档案个税扣缴义务人记录
|
||||
*
|
||||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
SalaryArchiveTaxAgentPO getById(Long salaryArchiveTaxAgentId);
|
||||
|
||||
/**
|
||||
* 获取调整前的个税扣缴义务人
|
||||
*
|
||||
* @param salaryArchiveTaxAgent
|
||||
* @return
|
||||
*/
|
||||
SalaryArchiveTaxAgentPO getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent);
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人的调整记录(分页)
|
||||
*
|
||||
* @param page
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
// Page<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListPage(Page<TaxAgentAdjustRecordListDTO> page, TaxAgentAdjustRecordQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人的调整记录
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
List<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 保存个税扣缴义务人调整
|
||||
*
|
||||
* @param saveParam
|
||||
* @return
|
||||
*/
|
||||
String saveTaxAgent(SalaryArchiveTaxAgentSaveParam saveParam);
|
||||
|
||||
/**
|
||||
* 删除个税扣缴义务人调整
|
||||
*
|
||||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
String deleteTaxAgent(Long salaryArchiveTaxAgentId);
|
||||
|
||||
/**
|
||||
* 导出-个税扣缴义务人的调整记录列表
|
||||
*
|
||||
* @param map
|
||||
* @param username
|
||||
* @param eteamsId
|
||||
* @param queryParam
|
||||
*/
|
||||
// void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, TaxAgentAdjustRecordQueryParam queryParam);
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
|||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.SalaryArchiveItemService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
|
@ -250,11 +251,10 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
|
|||
}
|
||||
|
||||
|
||||
// @Override
|
||||
// public Page<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(Page<SalaryItemAdjustRecordListDTO> page, SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds, String tenantKey) {
|
||||
// salaryArchiveItemMapper.salaryItemAdjustRecordList(page, queryParam, salaryItemIds, tenantKey);
|
||||
// return page;
|
||||
// }
|
||||
@Override
|
||||
public PageInfo<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds) {
|
||||
return salaryArchiveItemMapper.salaryItemAdjustRecordListPage(queryParam, salaryItemIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,281 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.TaxAgentAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.mapper.archive.SalaryArchiveMapper;
|
||||
import com.engine.salary.mapper.archive.SalaryArchiveTaxAgentMapper;
|
||||
import com.engine.salary.service.SalaryArchiveTaxAgentService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 薪资档案-个税扣缴义务人
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryArchiveTaxAgentService {
|
||||
private static final Logger log = LoggerFactory.getLogger(SalaryArchiveTaxAgentServiceImpl.class);
|
||||
private SalaryArchiveMapper salaryArchiveMapper;
|
||||
private SalaryArchiveTaxAgentMapper salaryArchiveTaxAgentMapper;
|
||||
private TaxAgentService taxAgentService;
|
||||
// private SalaryBatchService salaryBatchService;
|
||||
|
||||
@Override
|
||||
public SalaryArchiveTaxAgentPO getById(Long salaryArchiveTaxAgentId) {
|
||||
return salaryArchiveTaxAgentMapper.getById(salaryArchiveTaxAgentId);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public Page<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListPage(Page<TaxAgentAdjustRecordListDTO> page, TaxAgentAdjustRecordQueryParam queryParam, String tenantKey) {
|
||||
// salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(page, queryParam, tenantKey);
|
||||
// return page;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public List<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
return salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取未生效
|
||||
*
|
||||
* @param salaryArchiveId
|
||||
* @return
|
||||
*/
|
||||
private SalaryArchiveTaxAgentPO getIneffectiveTaxAgent(Long salaryArchiveId) {
|
||||
List<SalaryArchiveTaxAgentPO> ineffectiveTaxAgentList = salaryArchiveTaxAgentMapper.getIneffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam.builder().salaryArchiveId(salaryArchiveId).effectiveTime(new Date()).build());
|
||||
return CollectionUtils.isNotEmpty(ineffectiveTaxAgentList) ? ineffectiveTaxAgentList.get(0) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前已生效
|
||||
*
|
||||
* @param salaryArchiveId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public SalaryArchiveTaxAgentPO getEffectiveTaxAgent(Long salaryArchiveId) {
|
||||
List<SalaryArchiveTaxAgentPO> effectiveTaxAgentList = salaryArchiveTaxAgentMapper.getEffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam.builder().salaryArchiveId(salaryArchiveId).effectiveTime(new Date()).build());
|
||||
return CollectionUtils.isNotEmpty(effectiveTaxAgentList) ? effectiveTaxAgentList.get(0) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String saveTaxAgent(SalaryArchiveTaxAgentSaveParam saveParam) {
|
||||
// 校验参数
|
||||
SalaryArchiveTaxAgentSaveParam.checkParam(saveParam);
|
||||
|
||||
// 薪资档案
|
||||
SalaryArchivePO salaryArchive = salaryArchiveMapper.getById(saveParam.getSalaryArchiveId());
|
||||
// 获取当前已生效
|
||||
SalaryArchiveTaxAgentPO effectiveTaxAgent = getEffectiveTaxAgent(saveParam.getSalaryArchiveId());
|
||||
// 获取当前已生效之前的
|
||||
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = Lists.newArrayList();
|
||||
if (effectiveTaxAgent != null) {
|
||||
salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getTaxAgentLtTimeBySalaryArchiveId(
|
||||
SalaryArchiveTaxAgentQueryParam
|
||||
.builder()
|
||||
.salaryArchiveId(saveParam.getSalaryArchiveId())
|
||||
.effectiveTime(effectiveTaxAgent.getEffectiveTime())
|
||||
.build());
|
||||
}
|
||||
// 获取未生效数据
|
||||
SalaryArchiveTaxAgentPO ineffectiveTaxAgent = getIneffectiveTaxAgent(saveParam.getSalaryArchiveId());
|
||||
|
||||
// 待保存生效时间
|
||||
Date saveEffectiveTime = saveParam.getEffectiveTime();
|
||||
// 当天
|
||||
Date today = new Date();
|
||||
|
||||
// 1.检验是否可以调整
|
||||
if (effectiveTaxAgent != null) {
|
||||
// 当前已经生效的时间
|
||||
Date effectiveTime = effectiveTaxAgent.getEffectiveTime();
|
||||
// 1.1 如果早于<当前已生效
|
||||
if (saveEffectiveTime.before(effectiveTime)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100429, "生效日期不可早于当前已生效的调整日期"));
|
||||
// 1.2 如果等于当前已生效
|
||||
} else if (saveEffectiveTime.equals(effectiveTime)) {
|
||||
if (CollectionUtils.isNotEmpty(salaryArchiveTaxAgents) && salaryArchiveTaxAgents.get(0).getTaxAgentId().equals(saveParam.getTaxAgentId())) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100432, "调整前后不可相同"));
|
||||
}
|
||||
if (ineffectiveTaxAgent != null && ineffectiveTaxAgent.getTaxAgentId().equals(saveParam.getTaxAgentId())) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100434, "与未生效的调整后不可相同"));
|
||||
}
|
||||
// 1.3 如果>已经生效且<=今天
|
||||
} else if (saveEffectiveTime.after(effectiveTime) && !saveEffectiveTime.after(today)) {
|
||||
if (effectiveTaxAgent.getTaxAgentId().equals(saveParam.getTaxAgentId())) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100432, "调整前后不可相同"));
|
||||
}
|
||||
if (ineffectiveTaxAgent != null && ineffectiveTaxAgent.getTaxAgentId().equals(saveParam.getTaxAgentId())) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100434, "与未生效的调整后不可相同"));
|
||||
}
|
||||
// 1.4 如果>今天
|
||||
} else if (saveEffectiveTime.after(today) && effectiveTaxAgent.getTaxAgentId().equals(saveParam.getTaxAgentId())) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100432, "调整前后不可相同"));
|
||||
}
|
||||
} else if (ineffectiveTaxAgent != null && ineffectiveTaxAgent.getTaxAgentId().equals(saveParam.getTaxAgentId())) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100434, "与未生效的调整后不可相同"));
|
||||
}
|
||||
// 2.数据处理
|
||||
// 2.数据处理,有的就先删后增
|
||||
if (effectiveTaxAgent != null && saveEffectiveTime.equals(effectiveTaxAgent.getEffectiveTime())) {
|
||||
salaryArchiveTaxAgentMapper.delete(SalaryArchiveTaxAgentPO.builder().id(effectiveTaxAgent.getId()).build());
|
||||
}
|
||||
if (ineffectiveTaxAgent != null && saveEffectiveTime.after(today)) {
|
||||
salaryArchiveTaxAgentMapper.delete(SalaryArchiveTaxAgentPO.builder().id(ineffectiveTaxAgent.getId()).build());
|
||||
}
|
||||
insertTaxAgent(salaryArchive, saveParam);
|
||||
// 3.todo 日志处理
|
||||
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入
|
||||
*
|
||||
* @param salaryArchive
|
||||
* @param saveParam
|
||||
*/
|
||||
private void insertTaxAgent(SalaryArchivePO salaryArchive, SalaryArchiveTaxAgentSaveParam saveParam) {
|
||||
long employeeId = user.getUID();
|
||||
Date now = new Date();
|
||||
SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = SalaryArchiveTaxAgentPO.builder()
|
||||
// .id(IdGenerator.generate())
|
||||
.salaryArchiveId(saveParam.getSalaryArchiveId())
|
||||
.employeeId(salaryArchive.getEmployeeId())
|
||||
.effectiveTime(saveParam.getEffectiveTime())
|
||||
.adjustReason(saveParam.getAdjustReason())
|
||||
// 调整后
|
||||
.taxAgentId(saveParam.getTaxAgentId())
|
||||
.operator(employeeId)
|
||||
.operateTime(now)
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.creator(employeeId)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
salaryArchiveTaxAgentMapper.insertIgnoreNull(salaryArchiveTaxAgent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String deleteTaxAgent(Long salaryArchiveTaxAgentId) {
|
||||
SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentMapper.getById(salaryArchiveTaxAgentId);
|
||||
if (salaryArchiveTaxAgent == null) {
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
if (salaryArchiveTaxAgent.getEffectiveTime().after(new Date())) {
|
||||
salaryArchiveTaxAgent.setDeleteType(1);
|
||||
// 删除未生效数据
|
||||
salaryArchiveTaxAgentMapper.delete(salaryArchiveTaxAgent);
|
||||
}
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, TaxAgentAdjustRecordQueryParam queryParam, Long currentEmployeeId, String currentTenantKey) {
|
||||
// List<ExcelSheetData> sheetList = new ArrayList<>();
|
||||
//
|
||||
// ExcelSheetData excelSheetData = new ExcelSheetData();
|
||||
// // 1.工作簿名称
|
||||
// String nameI18n = SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 99978, "个税扣缴义务人调整记录");
|
||||
// excelSheetData.setSheetName(nameI18n);
|
||||
// String[] header = {
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85429, "姓名"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86187, "员工状态"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86185, "部门"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85433, "调整前"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85434, "调整后"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85431, "调整原因"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85904, "生效日期"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85435, "操作人"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85436, "操作时间"),
|
||||
// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 84961, "备注")
|
||||
// };
|
||||
// // 2.表头
|
||||
// excelSheetData.setHeaders(Collections.singletonList(header));
|
||||
//
|
||||
// // 获取记录
|
||||
// List<TaxAgentAdjustRecordListDTO> list = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam, currentTenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build(), currentTenantKey);
|
||||
// // 个税扣缴义务人
|
||||
// Collection<TaxAgentListDTO> taxAgentList = taxAgentService.findAll(currentTenantKey);
|
||||
// // 人员信息赋值
|
||||
// list.forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
// listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
// }
|
||||
// Optional<TaxAgentAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
// Optional<TaxAgentListDTO> optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst();
|
||||
// m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : "");
|
||||
// Optional<TaxAgentListDTO> optionalAfter = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustAfter())).findFirst();
|
||||
// m.setAdjustAfter(optionalAfter.isPresent() ? optionalAfter.get().getName() : "");
|
||||
//
|
||||
// m.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(m.getEmployeeStatus(), currentEmployeeId, currentTenantKey));
|
||||
// m.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason(), currentEmployeeId, currentTenantKey));
|
||||
// });
|
||||
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// List<List<Object>> rows = new ArrayList<>();
|
||||
// for (TaxAgentAdjustRecordListDTO dto : list) {
|
||||
// List<Object> row = new ArrayList<>();
|
||||
// row.add(dto.getUsername());
|
||||
// row.add(dto.getEmployeeStatus());
|
||||
// row.add(dto.getDepartmentName());
|
||||
// row.add(dto.getAdjustBefore());
|
||||
// row.add(dto.getAdjustAfter());
|
||||
// row.add(dto.getAdjustReason());
|
||||
// row.add(dto.getEffectiveTime() + "");
|
||||
// row.add(dto.getOperator());
|
||||
// row.add(format.format(dto.getOperateTime()));
|
||||
// row.add(dto.getDescription());
|
||||
// rows.add(row);
|
||||
// }
|
||||
// // 3.表数据
|
||||
// excelSheetData.setRows(rows);
|
||||
//
|
||||
// sheetList.add(excelSheetData);
|
||||
//
|
||||
// salaryBatchService.simpleExportExcel(ExportExcelInfo.builder()
|
||||
// .bizId(map.get("biz").toString())
|
||||
// .flag(true)
|
||||
// .userId(currentEmployeeId)
|
||||
// .eteamsId(eteamsId)
|
||||
// .tenantKey(currentTenantKey)
|
||||
// .operator(username)
|
||||
// .module(map.get("module").toString())
|
||||
// .fileName(nameI18n + SalaryDateUtil.getFormatLocalDateTime(LocalDateTime.now()))
|
||||
// .handlerName(map.get("function").toString())
|
||||
// .dataType(nameI18n)
|
||||
// .function(map.get("function").toString()).build(), sheetList);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public SalaryArchiveTaxAgentPO getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent) {
|
||||
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getAdjustBeforeTaxAgent(
|
||||
SalaryArchiveTaxAgentPO
|
||||
.builder()
|
||||
.salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId())
|
||||
.effectiveTime(salaryArchiveTaxAgent.getEffectiveTime())
|
||||
.build());
|
||||
return CollectionUtils.isNotEmpty(salaryArchiveTaxAgents) ? salaryArchiveTaxAgents.get(0) : null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -15,6 +15,9 @@ public class PageInfo<T> extends com.github.pagehelper.PageInfo<T> {
|
|||
List<Column> columns = new ArrayList<>();
|
||||
List<DataSource> dataSource = new ArrayList<>();
|
||||
|
||||
public PageInfo() {
|
||||
}
|
||||
|
||||
public PageInfo(List<T> list) {
|
||||
super(list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,10 +3,13 @@ package com.engine.salary.web;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.*;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.wrapper.SalaryArchiveItemWrapper;
|
||||
import com.engine.salary.wrapper.SalaryArchiveTaxAgentWrapper;
|
||||
import com.engine.salary.wrapper.SalaryArchiveWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
@ -17,10 +20,7 @@ import weaver.hrm.User;
|
|||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
|
@ -48,7 +48,10 @@ public class SalaryArchiveController {
|
|||
private SalaryArchiveItemWrapper getSalaryArchiveItemWrapper(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveItemWrapper.class, user);
|
||||
}
|
||||
// private SalaryArchiveTaxAgentWrapper salaryArchiveTaxAgentWrapper;
|
||||
|
||||
private SalaryArchiveTaxAgentWrapper getSalaryArchiveTaxAgentWrapper(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveTaxAgentWrapper.class, user);
|
||||
}
|
||||
|
||||
|
||||
// /******** 薪资档案主表 start ***********************************************************************************************/
|
||||
|
|
@ -64,7 +67,7 @@ public class SalaryArchiveController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveQueryParam, Map<String,Object>>().run(getSalaryArchiveWrapper(user)::list, queryParam);
|
||||
return new ResponseResult<SalaryArchiveQueryParam, Map<String, Object>>().run(getSalaryArchiveWrapper(user)::list, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -318,87 +321,89 @@ public class SalaryArchiveController {
|
|||
// ******** 薪资项目调整 end ***********************************************************************************************/
|
||||
|
||||
// ******** 个税扣缴义务人调整 start ***********************************************************************************************/
|
||||
// /**
|
||||
// * 获取个税扣缴义务人调整表单
|
||||
// *
|
||||
// * @param salaryArchiveId
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/getTaxAgentForm")
|
||||
// @ApiOperation("获取个税扣缴义务人调整表单")
|
||||
// @WeaPermission
|
||||
// public WeaResult<SalaryArchiveTaxAgentFormDTO> getTaxAgentForm(@RequestParam(value = "salaryArchiveId") Long salaryArchiveId) {
|
||||
// SalaryArchiveTaxAgentFormDTO form = salaryArchiveTaxAgentWrapper.getTaxAgentForm(salaryArchiveId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey());
|
||||
// return WeaResult.success(form);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 通过薪资档案的个税扣缴义务人id获取个税扣缴义务人调整表单
|
||||
// *
|
||||
// * @param salaryArchiveTaxAgentId
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/getTaxAgentFormBySalaryArchiveTaxAgentId")
|
||||
// @ApiOperation("获取薪资项目调整表单")
|
||||
// @WeaPermission
|
||||
// public WeaResult<SalaryArchiveTaxAgentFormDTO> getTaxAgentFormBySalaryArchiveTaxAgentId(@RequestParam Long salaryArchiveTaxAgentId) {
|
||||
// SalaryArchiveTaxAgentFormDTO form = salaryArchiveTaxAgentWrapper.getTaxAgentFormBySalaryArchiveTaxAgentId(salaryArchiveTaxAgentId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey());
|
||||
// return WeaResult.success(form);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 保存个税扣缴义务人调整
|
||||
// *
|
||||
// * @param saveParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/saveTaxAgent")
|
||||
// @ApiOperation("保存个税扣缴义务人调整")
|
||||
// @WeaPermission
|
||||
// public WeaResult<String> saveTaxAgent(@RequestBody SalaryArchiveTaxAgentSaveParam saveParam) {
|
||||
// return WeaResult.success(salaryArchiveTaxAgentWrapper.saveTaxAgent(saveParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 删除个税扣缴义务人调整
|
||||
// *
|
||||
// * @param salaryArchiveTaxAgentId
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/deleteTaxAgent")
|
||||
// @ApiOperation("删除个税扣缴义务人调整")
|
||||
// @WeaPermission
|
||||
// public WeaResult<String> deleteTaxAgent(@RequestParam(value = "salaryArchiveTaxAgentId") Long salaryArchiveTaxAgentId) {
|
||||
// return WeaResult.success(salaryArchiveTaxAgentWrapper.deleteTaxAgent(salaryArchiveTaxAgentId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
// /******** 薪资项目调整 end ***********************************************************************************************/
|
||||
//
|
||||
// /******** 薪资项目调整记录 start ***********************************************************************************************/
|
||||
// /**
|
||||
// * 薪资项目调整记录列表的高级搜索
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/adjustRecord/getSalaryItemSearchCondition")
|
||||
// @ApiOperation("薪资项目调整记录列表的高级搜索")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaSearchCondition> getSalaryItemSearchCondition() {
|
||||
// return WeaResult.success(salaryArchiveItemWrapper.getAdjustRecordSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/adjustRecord/salaryItemList")
|
||||
// @ApiOperation("薪资项目调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<SalaryItemAdjustRecordListDTO>> salaryItemList(@RequestBody SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(salaryArchiveItemWrapper.adjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
|
||||
/**
|
||||
* 获取个税扣缴义务人调整表单
|
||||
*
|
||||
* @param salaryArchiveId
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/getTaxAgentForm")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getTaxAgentForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "salaryArchiveId") Long salaryArchiveId) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, SalaryArchiveTaxAgentFormDTO>().run(getSalaryArchiveTaxAgentWrapper(user)::getTaxAgentForm, salaryArchiveId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过薪资档案的个税扣缴义务人id获取个税扣缴义务人调整表单`
|
||||
*
|
||||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/getTaxAgentFormBySalaryArchiveTaxAgentId")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getTaxAgentFormBySalaryArchiveTaxAgentId(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "salaryArchiveTaxAgentId") Long salaryArchiveTaxAgentId) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, SalaryArchiveTaxAgentFormDTO>().run(getSalaryArchiveTaxAgentWrapper(user)::getTaxAgentFormBySalaryArchiveTaxAgentId, salaryArchiveTaxAgentId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存个税扣缴义务人调整
|
||||
*
|
||||
* @param saveParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/saveTaxAgent")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String saveTaxAgent(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveTaxAgentSaveParam saveParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveTaxAgentSaveParam, String>().run(getSalaryArchiveTaxAgentWrapper(user)::saveTaxAgent, saveParam);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除个税扣缴义务人调整
|
||||
*
|
||||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
/**
|
||||
* 保存个税扣缴义务人调整
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/deleteTaxAgent")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String deleteTaxAgent(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Long salaryArchiveTaxAgentId) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, String>().run(getSalaryArchiveTaxAgentWrapper(user)::deleteTaxAgent, salaryArchiveTaxAgentId);
|
||||
}
|
||||
|
||||
// ******** 薪资项目调整 end ***********************************************************************************************/
|
||||
|
||||
// ******** 薪资项目调整记录 start ***********************************************************************************************/
|
||||
|
||||
|
||||
/**
|
||||
* 薪资项目调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/adjustRecord/salaryItemList")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String adjustRecordList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryItemAdjustRecordQueryParam, List<SalaryItemAdjustRecordListDTO>>().run(getSalaryArchiveItemWrapper(user)::adjustRecordList, queryParam);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 单个档案的薪资项目调整记录列表
|
||||
// *
|
||||
|
|
@ -436,7 +441,7 @@ public class SalaryArchiveController {
|
|||
// @ApiOperation("个税扣缴义务人调整记录列表的高级搜索")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaSearchCondition> getTaxAgentSearchCondition() {
|
||||
// return WeaResult.success(salaryArchiveTaxAgentWrapper.getAdjustRecordSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).getAdjustRecordSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
|
|
@ -449,7 +454,7 @@ public class SalaryArchiveController {
|
|||
// @ApiOperation("个税扣缴义务人调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<TaxAgentAdjustRecordListDTO>> taxAgentList(@RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(salaryArchiveTaxAgentWrapper.adjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).adjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
|
|
@ -462,7 +467,7 @@ public class SalaryArchiveController {
|
|||
// @ApiOperation("单个档案的个税扣缴义务人调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<SingleTaxAgentAdjustRecordListDTO>> SingleTaxAgentAdjustRecordList(@RequestBody SingleTaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(salaryArchiveTaxAgentWrapper.singleTaxAgentAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).singleTaxAgentAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
|
|
@ -475,7 +480,7 @@ public class SalaryArchiveController {
|
|||
// @ApiOperation("导出个税扣缴义务人调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<Map<String, Object>> exportTaxAgentList(@RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(salaryArchiveTaxAgentWrapper.exportAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).exportAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
// /******** 个税扣缴义务人调整记录 end ***********************************************************************************************/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,30 +190,28 @@ public class SalaryArchiveItemWrapper extends Service {
|
|||
return list;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 单个档案的薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// public WeaTable<SingleSalaryItemAdjustRecordListDTO> singleSalaryItemAdjustRecordList(SingleSalaryItemAdjustRecordQueryParam queryParam, Long employeeId, String tenantKey) {
|
||||
/**
|
||||
* 单个档案的薪资项目调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
// public WeaTable<SingleSalaryItemAdjustRecordListDTO> singleSalaryItemAdjustRecordList(SingleSalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// if (queryParam.getSalaryArchiveId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
// }
|
||||
// // 获取所有可被引用的薪资项目
|
||||
// List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems(tenantKey);
|
||||
// List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
// List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
//
|
||||
// Page<SalaryItemAdjustRecordListDTO> page = new Page<>(queryParam.getCurrent(), queryParam.getPageSize(), true);
|
||||
// SalaryItemAdjustRecordQueryParam adjustRecordQueryParam = new SalaryItemAdjustRecordQueryParam();
|
||||
// BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
// page = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(page, adjustRecordQueryParam, salaryItemIds, tenantKey);
|
||||
// Page<SingleSalaryItemAdjustRecordListDTO> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
// PageInfo<SalaryItemAdjustRecordListDTO> page = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(adjustRecordQueryParam, salaryItemIds);
|
||||
//
|
||||
// List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds, tenantKey);
|
||||
// List<SalaryItemAdjustRecordListDTO> list = page.getRecords();
|
||||
// PageInfo<SingleSalaryItemAdjustRecordListDTO> listPage = new PageInfo<SingleSalaryItemAdjustRecordListDTO>();
|
||||
//
|
||||
// List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
// List<SalaryItemAdjustRecordListDTO> list = page.getList();
|
||||
// List<SingleSalaryItemAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
// list.forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
|
|
@ -222,24 +220,24 @@ public class SalaryArchiveItemWrapper extends Service {
|
|||
// Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
//
|
||||
// m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason(), employeeId, tenantKey));
|
||||
// m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
//
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecordList = new SingleSalaryItemAdjustRecordListDTO();
|
||||
// BeanUtils.copyProperties(m, singleSalaryItemAdjustRecordList);
|
||||
// resultList.add(singleSalaryItemAdjustRecordList);
|
||||
// });
|
||||
// listPage.setRecords(resultList);
|
||||
// listPage.setList(resultList);
|
||||
//
|
||||
// WeaTable<SingleSalaryItemAdjustRecordListDTO> weaTable = FormatManager.<SingleSalaryItemAdjustRecordListDTO>getInstance()
|
||||
// .genTable(SingleSalaryItemAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// List<Long> salaryItemPageIds = listPage.getRecords().stream().map(SingleSalaryItemAdjustRecordListDTO::getSalaryItemId).collect(Collectors.toList());
|
||||
// List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(queryParam.getSalaryArchiveId(), salaryItemPageIds, tenantKey);
|
||||
// List<Long> salaryItemPageIds = listPage.getList().stream().map(SingleSalaryItemAdjustRecordListDTO::getSalaryItemId).collect(Collectors.toList());
|
||||
// List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(queryParam.getSalaryArchiveId(), salaryItemPageIds);
|
||||
// // 行记录按钮权限控制
|
||||
// for (int i = 0; i < listPage.getRecords().size(); i++) {
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecord = listPage.getRecords().get(i);
|
||||
// for (int i = 0; i < listPage.getList().size(); i++) {
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecord = (SingleSalaryItemAdjustRecordListDTO)listPage.getList().get(i);
|
||||
// Optional<SalaryArchiveItemPO> optional = effectiveSalaryItems.stream().filter(f -> f.getSalaryItemId().equals(singleSalaryItemAdjustRecord.getSalaryItemId())).findFirst();
|
||||
// LocalDate effectiveDate = optional.map(SalaryArchiveItemPO::getEffectiveTime).orElse(null);
|
||||
// Date effectiveDate = optional.map(SalaryArchiveItemPO::getEffectiveTime).orElse(null);
|
||||
// List<Permission> permissions = weaTable.getOperatesPermission().get(i);
|
||||
// for (int j = 0; j < permissions.size(); j++) {
|
||||
// Permission permission = permissions.get(j);
|
||||
|
|
@ -253,8 +251,6 @@ public class SalaryArchiveItemWrapper extends Service {
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
// // 在外展示操作按钮
|
||||
// weaTable.getOperates().get(0).setOuter(Boolean.TRUE);
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
|
|
|
|||
|
|
@ -0,0 +1,312 @@
|
|||
package com.engine.salary.wrapper;
|
||||
|
||||
import com.api.browser.bean.SearchConditionGroup;
|
||||
import com.api.browser.bean.SearchConditionItem;
|
||||
import com.api.browser.bean.SearchConditionOption;
|
||||
import com.api.browser.util.ConditionFactory;
|
||||
import com.api.browser.util.ConditionType;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import com.engine.salary.entity.taxrate.TaxAgent;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.SalaryArchiveTaxAgentService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 薪资档案-个税扣缴义务人
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public class SalaryArchiveTaxAgentWrapper extends Service {
|
||||
private SalaryArchiveTaxAgentService salaryArchiveTaxAgentService;
|
||||
private TaxAgentService taxAgentService;
|
||||
// @Resource
|
||||
// private SalaryBatchService salaryBatchService;
|
||||
// @Autowired
|
||||
// private ExecutorService taskExecutor;
|
||||
|
||||
/**
|
||||
* 获取个税扣缴义务人调整表单
|
||||
* 获取调整原因和扣税义务人列表
|
||||
*
|
||||
* @param salaryArchiveId
|
||||
* @return
|
||||
*/
|
||||
public SalaryArchiveTaxAgentFormDTO getTaxAgentForm(Long salaryArchiveId) {
|
||||
if (salaryArchiveId == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
}
|
||||
// 个税扣缴义务人下拉列表
|
||||
Collection<TaxAgent> taxAgentList = taxAgentService.findAll();
|
||||
// 构建表单
|
||||
Map<String, Object> form = buildTaxAgentForm(taxAgentList, null, "", "", null);
|
||||
|
||||
return SalaryArchiveTaxAgentFormDTO.builder()
|
||||
.salaryArchiveId(salaryArchiveId)
|
||||
.salaryArchiveTaxAgentForm(form)
|
||||
.build();
|
||||
}
|
||||
|
||||
private Map<String, Object> buildTaxAgentForm(Collection<TaxAgent> taxAgentList, Date effectiveTime, String adjustReason, String adjustBefore, Long adjustAfter) {
|
||||
// 个税扣缴义务人调整原因下拉列表
|
||||
List<SalaryArchiveTaxAgentAdjustReasonEnum> salaryArchiveTaxAgentAdjustReasonEnums = Arrays.asList(SalaryArchiveTaxAgentAdjustReasonEnum.values());
|
||||
|
||||
ConditionFactory conditionFactory = new ConditionFactory(user);
|
||||
|
||||
//条件组
|
||||
List<SearchConditionGroup> addGroups = new ArrayList<SearchConditionGroup>();
|
||||
List<SearchConditionItem> items = new ArrayList<SearchConditionItem>();
|
||||
|
||||
SearchConditionItem effectiveTimeItem = conditionFactory.createCondition(ConditionType.DATEPICKER, 502327, "effectiveTime");
|
||||
effectiveTimeItem.setColSpan(1);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行
|
||||
effectiveTimeItem.setFieldcol(12); //条件输入框所占宽度,默认值18
|
||||
effectiveTimeItem.setViewAttr(3); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2
|
||||
effectiveTimeItem.setLength(10); // 设置输入长度
|
||||
effectiveTimeItem.setLabel("生效时间"); //设置文本值 这个将覆盖多语言标签的值
|
||||
effectiveTimeItem.setRules("required"); //设置字段填入规则
|
||||
items.add(effectiveTimeItem);
|
||||
|
||||
SearchConditionItem adjustReasonItem = conditionFactory.createCondition(ConditionType.SELECT, 502227, "adjustReason");
|
||||
List<SearchConditionOption> selectOptions = new ArrayList<>(); //设置选项值
|
||||
Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).forEach(r -> {
|
||||
if (r.getValue().equals(adjustReason)) {
|
||||
selectOptions.add(new SearchConditionOption(r.getValue(), r.getDefaultLabel(), true));
|
||||
}
|
||||
selectOptions.add(new SearchConditionOption(r.getValue(), r.getDefaultLabel()));
|
||||
});
|
||||
adjustReasonItem.setOptions(selectOptions);
|
||||
effectiveTimeItem.setColSpan(1);
|
||||
effectiveTimeItem.setFieldcol(12);
|
||||
effectiveTimeItem.setViewAttr(3);
|
||||
effectiveTimeItem.setLength(10);
|
||||
adjustReasonItem.setLabel("调整原因");
|
||||
effectiveTimeItem.setRules("required"); //设置字段填入规则
|
||||
items.add(adjustReasonItem);
|
||||
|
||||
SearchConditionItem adjustBeforeItem = conditionFactory.createCondition(ConditionType.INPUT, 502327, "adjustBefore");
|
||||
adjustBeforeItem.setColSpan(1);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行
|
||||
adjustBeforeItem.setFieldcol(12); //条件输入框所占宽度,默认值18
|
||||
adjustBeforeItem.setViewAttr(1); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2
|
||||
adjustBeforeItem.setLength(10); // 设置输入长度
|
||||
adjustBeforeItem.setLabel("调整前"); //设置文本值 这个将覆盖多语言标签的值
|
||||
adjustBeforeItem.setRules("required"); //设置字段填入规则
|
||||
adjustBeforeItem.setValue(adjustBefore);
|
||||
items.add(adjustBeforeItem);
|
||||
|
||||
|
||||
SearchConditionItem taxAgentItem = conditionFactory.createCondition(ConditionType.SELECT, 502227, "taxAgentId");
|
||||
List<SearchConditionOption> taxAgentOptions = new ArrayList<>(); //设置选项值
|
||||
taxAgentList.forEach(t -> {
|
||||
if (t.getId().equals(adjustAfter)) {
|
||||
taxAgentOptions.add(new SearchConditionOption(t.getId().toString(), t.getName(), true));
|
||||
}
|
||||
taxAgentOptions.add(new SearchConditionOption(t.getId().toString(), t.getName()));
|
||||
});
|
||||
adjustReasonItem.setOptions(selectOptions);
|
||||
effectiveTimeItem.setColSpan(1);
|
||||
effectiveTimeItem.setFieldcol(12);
|
||||
effectiveTimeItem.setViewAttr(3);
|
||||
effectiveTimeItem.setLength(10);
|
||||
adjustReasonItem.setLabel("调整后");
|
||||
effectiveTimeItem.setRules("required"); //设置字段填入规则
|
||||
items.add(taxAgentItem);
|
||||
|
||||
addGroups.add(new SearchConditionGroup("表单", true, items));
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("form", addGroups);
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过薪资档案的个税扣缴义务人id获取个税扣缴义务人调整表单
|
||||
*
|
||||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
public SalaryArchiveTaxAgentFormDTO getTaxAgentFormBySalaryArchiveTaxAgentId(Long salaryArchiveTaxAgentId) {
|
||||
if (salaryArchiveTaxAgentId == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100489, "薪资档案的个税扣缴义务人id不能为空"));
|
||||
}
|
||||
SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentService.getById(salaryArchiveTaxAgentId);
|
||||
if (salaryArchiveTaxAgent == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100484, "该薪资档案的个税扣缴义务人的调整记录不存在"));
|
||||
}
|
||||
// 个税扣缴义务人下拉列表
|
||||
Collection<TaxAgent> taxAgentList = taxAgentService.findAll();
|
||||
// 调整前
|
||||
String adjustBefore = "";
|
||||
SalaryArchiveTaxAgentPO adjustBeforePo = salaryArchiveTaxAgentService.getAdjustBeforeTaxAgent(salaryArchiveTaxAgent);
|
||||
|
||||
if (adjustBeforePo != null) {
|
||||
Optional<TaxAgent> optional = taxAgentList.stream().filter(f -> f.getId().equals(adjustBeforePo.getTaxAgentId())).findFirst();
|
||||
adjustBefore = optional.isPresent() ? optional.get().getName() : "";
|
||||
}
|
||||
|
||||
Date effectiveTime = salaryArchiveTaxAgent.getEffectiveTime();
|
||||
String adjustReason = salaryArchiveTaxAgent.getAdjustReason();
|
||||
Long adjustAfter = salaryArchiveTaxAgent.getTaxAgentId();
|
||||
|
||||
// 构建表单
|
||||
Map<String, Object> taxAgentForm = buildTaxAgentForm(taxAgentList, effectiveTime, adjustReason, adjustBefore, adjustAfter);
|
||||
|
||||
return SalaryArchiveTaxAgentFormDTO.builder()
|
||||
.salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId())
|
||||
.salaryArchiveTaxAgentForm(taxAgentForm)
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存个税扣缴义务人调整
|
||||
*
|
||||
* @param saveParam
|
||||
* @return
|
||||
*/
|
||||
public String saveTaxAgent(SalaryArchiveTaxAgentSaveParam saveParam) {
|
||||
return salaryArchiveTaxAgentService.saveTaxAgent(saveParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除个税扣缴义务人调整
|
||||
*
|
||||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
public String deleteTaxAgent(Long salaryArchiveTaxAgentId) {
|
||||
return salaryArchiveTaxAgentService.deleteTaxAgent(salaryArchiveTaxAgentId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
// public Map<String,Object> adjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// Page<TaxAgentAdjustRecordListDTO> page = new Page<>(queryParam.getCurrent(), queryParam.getPageSize(), true);
|
||||
// page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(page, queryParam, tenantKey);
|
||||
//
|
||||
// Page<TaxAgentAdjustRecordListDTO> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
// // 个税扣缴义务人
|
||||
// Collection<TaxAgentListDTO> taxAgentList = taxAgentService.findAll(tenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
|
||||
// List<TaxAgentAdjustRecordListDTO> list = page.getRecords();
|
||||
// list.stream().forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
// listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
// }
|
||||
// Optional<TaxAgentAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
// Optional<TaxAgentListDTO> optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst();
|
||||
// m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : "");
|
||||
// Optional<TaxAgentListDTO> optionalAfter = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustAfter())).findFirst();
|
||||
// m.setAdjustAfter(optionalAfter.isPresent() ? optionalAfter.get().getName() : "");
|
||||
//
|
||||
// m.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(m.getEmployeeStatus()));
|
||||
//
|
||||
// m.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
// });
|
||||
// listPage.setRecords(list);
|
||||
// WeaTable<TaxAgentAdjustRecordListDTO> weaTable = FormatManager.<TaxAgentAdjustRecordListDTO>getInstance()
|
||||
// .genTable(TaxAgentAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 单个档案的个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// public WeaTable<SingleTaxAgentAdjustRecordListDTO> singleTaxAgentAdjustRecordList(SingleTaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// if (queryParam.getSalaryArchiveId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
// }
|
||||
//
|
||||
// Page<TaxAgentAdjustRecordListDTO> page = new Page<>(queryParam.getCurrent(), queryParam.getPageSize(), true);
|
||||
// TaxAgentAdjustRecordQueryParam adjustRecordQueryParam = new TaxAgentAdjustRecordQueryParam();
|
||||
// BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
// page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(page, adjustRecordQueryParam, tenantKey);
|
||||
//
|
||||
// Page<SingleTaxAgentAdjustRecordListDTO> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
// // 个税扣缴义务人
|
||||
// Collection<TaxAgentListDTO> taxAgentList = taxAgentService.findAll(tenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build(), tenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> list = page.getRecords();
|
||||
// List<SingleTaxAgentAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
// list.forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
// listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
// }
|
||||
// Optional<TaxAgentAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
// Optional<TaxAgentListDTO> optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst();
|
||||
// m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : "");
|
||||
// Optional<TaxAgentListDTO> optionalAfter = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustAfter())).findFirst();
|
||||
// m.setAdjustAfter(optionalAfter.isPresent() ? optionalAfter.get().getName() : "");
|
||||
//
|
||||
// m.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
//
|
||||
//
|
||||
// SingleTaxAgentAdjustRecordListDTO singleTaxAgentAdjustRecordList = new SingleTaxAgentAdjustRecordListDTO();
|
||||
// BeanUtils.copyProperties(m, singleTaxAgentAdjustRecordList);
|
||||
// resultList.add(singleTaxAgentAdjustRecordList);
|
||||
// });
|
||||
// listPage.setRecords(resultList);
|
||||
// WeaTable<SingleTaxAgentAdjustRecordListDTO> weaTable = FormatManager.<SingleTaxAgentAdjustRecordListDTO>getInstance()
|
||||
// .genTable(SingleTaxAgentAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// // 获取当前已生效
|
||||
// SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentService.getEffectiveTaxAgent(queryParam.getSalaryArchiveId(), tenantKey);
|
||||
// LocalDate effectiveDate = (salaryArchiveTaxAgent == null ? null : salaryArchiveTaxAgent.getEffectiveTime());
|
||||
//
|
||||
// // 行记录按钮权限控制
|
||||
// for (int i = 0; i < listPage.getRecords().size(); i++) {
|
||||
// SingleTaxAgentAdjustRecordListDTO singleTaxAgentAdjustRecord = listPage.getRecords().get(i);
|
||||
// List<Permission> permissions = weaTable.getOperatesPermission().get(i);
|
||||
// for (int j = 0; j < permissions.size(); j++) {
|
||||
// Permission permission = permissions.get(j);
|
||||
// if (effectiveDate != null && singleTaxAgentAdjustRecord.getEffectiveTime().isBefore(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(true);
|
||||
// }
|
||||
// if (j > 0 && singleTaxAgentAdjustRecord.getEffectiveTime().equals(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(false);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// // 在外展示操作按钮
|
||||
// weaTable.getOperates().get(0).setOuter(Boolean.TRUE);
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// // 构建异步导出参数
|
||||
// Map<String, Object> map = salaryBatchService.buildeExportParam("exportSalaryArchiveTaxAgentAdjustRecord");
|
||||
//
|
||||
// String username = UserContext.getCurrentUser().getUsername();
|
||||
// String eteamsId = TenantRpcContext.getEteamsId();
|
||||
// salaryArchiveTaxAgentService.exportAdjustRecordList(map, username, eteamsId, queryParam);
|
||||
// return map;
|
||||
// }
|
||||
}
|
||||
Loading…
Reference in New Issue