Merge branch 'feature/250101_编辑个税申报表' into custom/西部信托
# Conflicts: # src/com/engine/salary/service/impl/TaxDeclarationDetailServiceImpl.java
This commit is contained in:
commit
2135989cdb
|
|
@ -1,6 +1,9 @@
|
||||||
package com.engine.salary.entity.taxdeclaration.dto;
|
package com.engine.salary.entity.taxdeclaration.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个税申报表中的人员(组织架构中的人员+外部人员)
|
* 个税申报表中的人员(组织架构中的人员+外部人员)
|
||||||
|
|
@ -10,6 +13,9 @@ import lombok.Data;
|
||||||
* @author qiantao
|
* @author qiantao
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
**/
|
**/
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
public class TaxDeclarationEmployeeDTO {
|
public class TaxDeclarationEmployeeDTO {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.engine.salary.entity.taxdeclaration.param;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TaxDeclarationDetailFormEditParam {
|
||||||
|
|
||||||
|
//"个税申报记录id")
|
||||||
|
private Long taxDeclarationId;
|
||||||
|
|
||||||
|
private Long employeeId;
|
||||||
|
|
||||||
|
private String taxDeclarationIdStr;
|
||||||
|
|
||||||
|
private Map<String, Object> valueMap;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.engine.salary.entity.taxdeclaration.param;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TaxDeclarationDetailFormQueryParam {
|
||||||
|
|
||||||
|
//"个税申报记录id")
|
||||||
|
private Long taxDeclarationId;
|
||||||
|
|
||||||
|
private String taxDeclarationIdStr;
|
||||||
|
|
||||||
|
private Long employeeId;
|
||||||
|
}
|
||||||
|
|
@ -70,4 +70,6 @@ public interface TaxDeclarationDetailMapper {
|
||||||
List<TaxDeclarationDetailPO> listAll();
|
List<TaxDeclarationDetailPO> listAll();
|
||||||
|
|
||||||
int batchUpdate(@Param("collection") List<TaxDeclarationDetailPO> taxDeclarationDetailPos);
|
int batchUpdate(@Param("collection") List<TaxDeclarationDetailPO> taxDeclarationDetailPos);
|
||||||
|
|
||||||
|
void deleteByTaxDeclarationIdAndEmployeeId(@Param("taxDeclarationId") Long taxDeclarationId, @Param("employeeId") Long employeeId);
|
||||||
}
|
}
|
||||||
|
|
@ -31,6 +31,13 @@
|
||||||
, t.update_time
|
, t.update_time
|
||||||
, t.employee_type
|
, t.employee_type
|
||||||
</sql>
|
</sql>
|
||||||
|
<update id="deleteByTaxDeclarationIdAndEmployeeId">
|
||||||
|
UPDATE hrsa_tax_declaration_detail
|
||||||
|
SET delete_type = 1
|
||||||
|
WHERE delete_type = 0
|
||||||
|
AND tax_declaration_id = #{taxDeclarationId}
|
||||||
|
AND employee_id = #{employeeId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<resultMap id="resultMap" type="com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationEmployeeDTO">
|
<resultMap id="resultMap" type="com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationEmployeeDTO">
|
||||||
|
|
@ -39,7 +46,7 @@
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="listPage4EmployeeId" resultMap="resultMap">
|
<select id="listPage4EmployeeId" resultMap="resultMap">
|
||||||
SELECT employee_type, employee_id
|
SELECT employee_type, employee_id
|
||||||
FROM hrsa_tax_declaration_detail t
|
FROM hrsa_tax_declaration_detail t
|
||||||
LEFT JOIN hrmresource e ON e.id = t.employee_id
|
LEFT JOIN hrmresource e ON e.id = t.employee_id
|
||||||
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
|
LEFT JOIN hrmdepartment d ON d.id = e.DEPARTMENTID
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
package com.engine.salary.service;
|
package com.engine.salary.service;
|
||||||
|
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.*;
|
import com.engine.salary.entity.taxdeclaration.dto.*;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormEditParam;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO;
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO;
|
||||||
import com.engine.salary.util.page.PageInfo;
|
import com.engine.salary.util.page.PageInfo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个税申报表明细
|
* 个税申报表明细
|
||||||
|
|
@ -84,4 +87,8 @@ public interface TaxDeclarationDetailService {
|
||||||
* @param taxDeclarationIds 个税申报表id
|
* @param taxDeclarationIds 个税申报表id
|
||||||
*/
|
*/
|
||||||
void deleteByTaxDeclarationIds(Collection<Long> taxDeclarationIds);
|
void deleteByTaxDeclarationIds(Collection<Long> taxDeclarationIds);
|
||||||
|
|
||||||
|
Map<String, Object> getTaxDeclarationDetailForm(TaxDeclarationDetailFormQueryParam param);
|
||||||
|
|
||||||
|
void editTaxDeclarationDetailData(TaxDeclarationDetailFormEditParam param);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,19 @@ package com.engine.salary.service.impl;
|
||||||
|
|
||||||
import com.engine.common.util.ServiceUtil;
|
import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||||
import com.engine.salary.encrypt.EncryptUtil;
|
import com.engine.salary.encrypt.EncryptUtil;
|
||||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||||
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
|
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
|
||||||
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationDetailBO;
|
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationDetailBO;
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.*;
|
import com.engine.salary.entity.taxdeclaration.dto.*;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormEditParam;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO;
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationDetailPO;
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||||
import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
|
import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
|
||||||
|
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
import com.engine.salary.mapper.taxdeclaration.TaxDeclarationDetailMapper;
|
import com.engine.salary.mapper.taxdeclaration.TaxDeclarationDetailMapper;
|
||||||
import com.engine.salary.service.SalaryEmployeeService;
|
import com.engine.salary.service.SalaryEmployeeService;
|
||||||
|
|
@ -21,12 +25,17 @@ import com.engine.salary.sys.entity.vo.OrderRuleVO;
|
||||||
import com.engine.salary.sys.service.SalarySysConfService;
|
import com.engine.salary.sys.service.SalarySysConfService;
|
||||||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||||
import com.engine.salary.util.SalaryEntityUtil;
|
import com.engine.salary.util.SalaryEntityUtil;
|
||||||
|
import com.engine.salary.util.db.IdGenerator;
|
||||||
import com.engine.salary.util.db.MapperProxyFactory;
|
import com.engine.salary.util.db.MapperProxyFactory;
|
||||||
|
import com.engine.salary.util.page.Column;
|
||||||
import com.engine.salary.util.page.PageInfo;
|
import com.engine.salary.util.page.PageInfo;
|
||||||
import com.engine.salary.util.page.SalaryPageUtil;
|
import com.engine.salary.util.page.SalaryPageUtil;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
|
import org.apache.commons.lang3.math.NumberUtils;
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
|
import weaver.wechat.util.Utils;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -202,6 +211,45 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla
|
||||||
return TaxDeclarationDetailBO.convert2ListDTO4Annual(taxDeclarationDetailPOS, taxDeclarationEmployees, simpleEmployees);
|
return TaxDeclarationDetailBO.convert2ListDTO4Annual(taxDeclarationDetailPOS, taxDeclarationEmployees, simpleEmployees);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据权限范围过滤
|
||||||
|
*
|
||||||
|
* @param taxDeclarationPO
|
||||||
|
* @param taxDeclarationEmployeeDTOS
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<TaxDeclarationEmployeeDTO> filterByAuthority(TaxDeclarationPO taxDeclarationPO, List<TaxDeclarationEmployeeDTO> taxDeclarationEmployeeDTOS) {
|
||||||
|
long employeeId = user.getUID();
|
||||||
|
if (CollectionUtils.isEmpty(taxDeclarationEmployeeDTOS)) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
// 判断是否开启了分权
|
||||||
|
Boolean openDevolution = getTaxAgentService(user).isOpenDevolution();
|
||||||
|
// 是否是总管理员
|
||||||
|
Boolean isChief = getTaxAgentService(user).isChief(employeeId);
|
||||||
|
if (BooleanUtils.isFalse(openDevolution) || isChief) {
|
||||||
|
return taxDeclarationEmployeeDTOS;
|
||||||
|
}
|
||||||
|
// 查询权限范围内的人员
|
||||||
|
List<TaxAgentEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployee(employeeId);
|
||||||
|
Set<String> simpleEmployeeKeySet = SalaryEntityUtil.properties(taxAgentEmployeeDTOS, taxAgentEmployeeDTO -> taxAgentEmployeeDTO.getEmployeeId() + "-" + taxAgentEmployeeDTO.getTaxAgentId());
|
||||||
|
// 查询权限范围内的外部人员
|
||||||
|
// List<ExtEmployeePO> extEmployeePOS = extEmployeeService.listCanUseByEmployeeId(employeeId, tenantKey);
|
||||||
|
// Set<String> extEmployeeKeySet = SalaryEntityUtil.properties(extEmployeePOS, extEmployeePO -> extEmployeePO.getId() + "-" + extEmployeePO.getTaxAgentId());
|
||||||
|
// 根据权限范围过滤
|
||||||
|
return taxDeclarationEmployeeDTOS.stream().filter(taxDeclarationEmployeeDTO -> {
|
||||||
|
if (taxDeclarationEmployeeDTO.getEmployeeType() == null || Objects.equals(taxDeclarationEmployeeDTO.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())
|
||||||
|
&& simpleEmployeeKeySet.contains(taxDeclarationEmployeeDTO.getEmployeeId() + "-" + taxDeclarationPO.getTaxAgentId())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// if (Objects.equals(taxDeclarationEmployeeDTO.getEmployeeType(), EmployeeTypeEnum.EXT_EMPLOYEE.getValue())
|
||||||
|
// && extEmployeeKeySet.contains(taxDeclarationEmployeeDTO.getEmployeeId() + "-" + taxDeclarationPO.getTaxAgentId())) {
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
return false;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<TaxDeclarationWageListDTO> listDtoPageByParam4Wage(TaxDeclarationDetailListQueryParam queryParam) {
|
public PageInfo<TaxDeclarationWageListDTO> listDtoPageByParam4Wage(TaxDeclarationDetailListQueryParam queryParam) {
|
||||||
|
|
@ -254,4 +302,102 @@ public class TaxDeclarationDetailServiceImpl extends Service implements TaxDecla
|
||||||
public void deleteByTaxDeclarationIds(Collection<Long> taxDeclarationIds) {
|
public void deleteByTaxDeclarationIds(Collection<Long> taxDeclarationIds) {
|
||||||
getTaxDeclarationDetailMapper().deleteByTaxDeclarationIds(taxDeclarationIds);
|
getTaxDeclarationDetailMapper().deleteByTaxDeclarationIds(taxDeclarationIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> getTaxDeclarationDetailForm(TaxDeclarationDetailFormQueryParam param) {
|
||||||
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
if (param.getTaxDeclarationId() == null || param.getEmployeeId() == null) {
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
// 查询个税申报主表
|
||||||
|
TaxDeclarationPO taxDeclarationPO = getTaxDeclarationService(user).getById(param.getTaxDeclarationId());
|
||||||
|
if (taxDeclarationPO == null) {
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
List<TaxDeclarationDetailPO> taxDeclarationDetailPOS = listByTaxDeclarationIdAndEmployeeIds(param.getTaxDeclarationId(), Collections.singletonList(param.getEmployeeId()));
|
||||||
|
if (CollectionUtils.isEmpty(taxDeclarationDetailPOS)) {
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
Integer employeeType = taxDeclarationDetailPOS.stream().map(TaxDeclarationDetailPO::getEmployeeType).findFirst().orElse(0);
|
||||||
|
List<TaxDeclarationEmployeeDTO> taxDeclarationEmployeeDTOS = Collections.singletonList(TaxDeclarationEmployeeDTO.builder().employeeType(employeeType).employeeId(param.getEmployeeId()).build());
|
||||||
|
List<DataCollectionEmployee> simpleEmployees = getSalaryEmployeeService(user).getEmployeeByIds(Collections.singletonList(param.getEmployeeId()));
|
||||||
|
// 正常工资薪金所得
|
||||||
|
if (Objects.equals(taxDeclarationPO.getIncomeCategory(), IncomeCategoryEnum.WAGES_AND_SALARIES.getValue())) {
|
||||||
|
List<TaxDeclarationWageListDTO> taxDeclarationWageListDTOS = TaxDeclarationDetailBO.convert2ListDTO4Wage(taxDeclarationDetailPOS, taxDeclarationEmployeeDTOS, simpleEmployees);
|
||||||
|
PageInfo<TaxDeclarationWageListDTO> pageInfo = new PageInfo<>(TaxDeclarationWageListDTO.class);
|
||||||
|
List<Column> columns = pageInfo.getColumns();
|
||||||
|
resultMap.put("column", columns);
|
||||||
|
if (CollectionUtils.isNotEmpty(taxDeclarationWageListDTOS)) {
|
||||||
|
resultMap.put("data", taxDeclarationWageListDTOS.get(0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 劳务报酬所得
|
||||||
|
if (Objects.equals(taxDeclarationPO.getIncomeCategory(), IncomeCategoryEnum.REMUNERATION_FOR_LABOR.getValue())) {
|
||||||
|
List<TaxDeclarationLaborListDTO> taxDeclarationLaborListDTOS = listDto4Labor(param.getTaxDeclarationId(), taxDeclarationEmployeeDTOS);
|
||||||
|
PageInfo<TaxDeclarationLaborListDTO> pageInfo = new PageInfo<>(TaxDeclarationLaborListDTO.class);
|
||||||
|
List<Column> columns = pageInfo.getColumns();
|
||||||
|
resultMap.put("column", columns);
|
||||||
|
if (CollectionUtils.isNotEmpty(taxDeclarationLaborListDTOS)) {
|
||||||
|
resultMap.put("data", taxDeclarationLaborListDTOS.get(0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 全年一次性奖金收入
|
||||||
|
if (Objects.equals(taxDeclarationPO.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue())) {
|
||||||
|
List<TaxDeclarationAnnualListDTO> taxDeclarationLaborListDTOS = listDto4Annual(param.getTaxDeclarationId(), taxDeclarationEmployeeDTOS);
|
||||||
|
PageInfo<TaxDeclarationAnnualListDTO> pageInfo = new PageInfo<>(TaxDeclarationAnnualListDTO.class);
|
||||||
|
List<Column> columns = pageInfo.getColumns();
|
||||||
|
resultMap.put("column", columns);
|
||||||
|
if (CollectionUtils.isNotEmpty(taxDeclarationLaborListDTOS)) {
|
||||||
|
resultMap.put("data", taxDeclarationLaborListDTOS.get(0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void editTaxDeclarationDetailData(TaxDeclarationDetailFormEditParam param) {
|
||||||
|
if (param.getTaxDeclarationId() == null || param.getEmployeeId() == null || param.getValueMap() == null || param.getValueMap().isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询个税申报主表
|
||||||
|
TaxDeclarationPO taxDeclarationPO = getTaxDeclarationService(user).getById(param.getTaxDeclarationId());
|
||||||
|
if (taxDeclarationPO == null) {
|
||||||
|
throw new SalaryRunTimeException("个税申报表不存在,请刷新页面后重试");
|
||||||
|
}
|
||||||
|
List<TaxDeclarationDetailPO> taxDeclarationDetailPOS = getTaxDeclarationDetailMapper().listByTaxDeclarationIdAndEmployeeIds(param.getTaxDeclarationId(), Collections.singletonList(param.getEmployeeId()));
|
||||||
|
Integer employeeType = taxDeclarationDetailPOS.stream().map(TaxDeclarationDetailPO::getEmployeeType).distinct().collect(Collectors.toList()).get(0);
|
||||||
|
|
||||||
|
// 插入数据
|
||||||
|
List<TaxDeclarationDetailPO> needInsertList = Lists.newArrayListWithExpectedSize(param.getValueMap().size());
|
||||||
|
param.getValueMap().forEach((fieldCode, fieldValue) -> {
|
||||||
|
TaxDeclarationDetailPO taxDeclarationDetailPO = TaxDeclarationDetailPO.builder()
|
||||||
|
.id(IdGenerator.generate())
|
||||||
|
.taxDeclarationId(param.getTaxDeclarationId())
|
||||||
|
.employeeType(employeeType)
|
||||||
|
.employeeId(param.getEmployeeId())
|
||||||
|
.fieldCode(fieldCode)
|
||||||
|
.fieldValue(Utils.null2String(fieldValue))
|
||||||
|
.creator(Long.valueOf(user.getUID()))
|
||||||
|
.createTime(new Date())
|
||||||
|
.updateTime(new Date())
|
||||||
|
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||||
|
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||||
|
.build();
|
||||||
|
needInsertList.add(taxDeclarationDetailPO);
|
||||||
|
});
|
||||||
|
if (CollectionUtils.isNotEmpty(needInsertList)) {
|
||||||
|
// 先删除原有数据
|
||||||
|
deleteByTaxDeclarationIdAndEmployeeId(param.getTaxDeclarationId(), param.getEmployeeId());
|
||||||
|
batchSave(needInsertList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void deleteByTaxDeclarationIdAndEmployeeId(Long taxDeclarationId, Long employeeId) {
|
||||||
|
if (taxDeclarationId == null || employeeId == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
getTaxDeclarationDetailMapper().deleteByTaxDeclarationIdAndEmployeeId(taxDeclarationId, employeeId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,7 @@ import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationFormDTO;
|
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationFormDTO;
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO;
|
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO;
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationListDTO;
|
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationListDTO;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
import com.engine.salary.entity.taxdeclaration.param.*;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
|
||||||
import com.engine.salary.service.TaxDeclarationExcelService;
|
import com.engine.salary.service.TaxDeclarationExcelService;
|
||||||
import com.engine.salary.service.TaxDeclarationService;
|
import com.engine.salary.service.TaxDeclarationService;
|
||||||
import com.engine.salary.service.impl.TaxDeclarationExcelServiceImpl;
|
import com.engine.salary.service.impl.TaxDeclarationExcelServiceImpl;
|
||||||
|
|
@ -32,6 +30,7 @@ import javax.ws.rs.core.StreamingOutput;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|
@ -109,6 +108,25 @@ public class TaxDeclarationController {
|
||||||
return new ResponseResult<TaxDeclarationDetailListQueryParam, PageInfo>(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param);
|
return new ResponseResult<TaxDeclarationDetailListQueryParam, PageInfo>(user).run(getTaxDeclarationDetailWrapper(user)::listPage, param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//个税申报表 表单数据
|
||||||
|
@POST
|
||||||
|
@Path("/detail/getFormData")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String getTaxDeclarationDetailFormData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationDetailFormQueryParam param) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr()));
|
||||||
|
return new ResponseResult<TaxDeclarationDetailFormQueryParam, Map<String, Object>>(user).run(getTaxDeclarationDetailWrapper(user)::getTaxDeclarationDetailFormData, param);
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/detail/editFormData")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String editTaxDeclarationDetailData(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxDeclarationDetailFormEditParam param) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
param.setTaxDeclarationId(Long.parseLong(param.getTaxDeclarationIdStr()));
|
||||||
|
return new ResponseResult<TaxDeclarationDetailFormEditParam, String>(user).run(getTaxDeclarationDetailWrapper(user)::editTaxDeclarationDetailData, param);
|
||||||
|
}
|
||||||
|
|
||||||
//个税申报表相关信息
|
//个税申报表相关信息
|
||||||
@GET
|
@GET
|
||||||
@Path("/export")
|
@Path("/export")
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.engine.salary.wrapper;
|
||||||
|
|
||||||
import com.engine.common.util.ServiceUtil;
|
import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormEditParam;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailFormQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||||
|
|
@ -13,6 +15,7 @@ import com.engine.salary.util.page.PageInfo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -62,4 +65,12 @@ public class TaxDeclarationDetailWrapper extends Service {
|
||||||
|
|
||||||
return new PageInfo();
|
return new PageInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, Object> getTaxDeclarationDetailFormData(TaxDeclarationDetailFormQueryParam param) {
|
||||||
|
return getTaxDeclarationDetailService(user).getTaxDeclarationDetailForm(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editTaxDeclarationDetailData(TaxDeclarationDetailFormEditParam param) {
|
||||||
|
getTaxDeclarationDetailService(user).editTaxDeclarationDetailData(param);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue