新增、删除申报表
This commit is contained in:
parent
bca7697d75
commit
ac2046a8e7
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.engine.salary.entity.taxdeclaration.param;
|
||||||
|
|
||||||
|
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||||
|
import com.engine.salary.util.valid.DataCheck;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增个税申报表参数
|
||||||
|
* <p>Copyright: Copyright (c) 2022</p>
|
||||||
|
* <p>Company: 泛微软件</p>
|
||||||
|
*
|
||||||
|
* @author qiantao
|
||||||
|
* @version 1.0
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TaxDeclarationAddParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 个税申报记录id
|
||||||
|
*/
|
||||||
|
@DataCheck(require = true, message = "个税申报记录id为空")
|
||||||
|
private Long taxDeclareRecordId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 薪资类型
|
||||||
|
*/
|
||||||
|
@DataCheck(require = true, message = "薪资类型为空")
|
||||||
|
private IncomeCategoryEnum incomeCategory;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.engine.salary.entity.taxdeclaration.param;
|
||||||
|
|
||||||
|
import com.engine.salary.util.valid.DataCheck;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除个税申报表参数
|
||||||
|
* <p>Copyright: Copyright (c) 2022</p>
|
||||||
|
* <p>Company: 泛微软件</p>
|
||||||
|
*
|
||||||
|
* @author qiantao
|
||||||
|
* @version 1.0
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TaxDeclarationDeleteParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 个税申报表id
|
||||||
|
*/
|
||||||
|
@DataCheck(require = true, message = "个税申报表id为空")
|
||||||
|
private Long taxDeclarationId;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.engine.salary.entity.taxdeclaration.param;
|
package com.engine.salary.entity.taxdeclaration.param;
|
||||||
|
|
||||||
|
import com.engine.salary.util.valid.DataCheck;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ package com.engine.salary.service;
|
||||||
import com.engine.salary.common.YearMonthRange;
|
import com.engine.salary.common.YearMonthRange;
|
||||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationAddParam;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDeleteParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||||
|
|
@ -73,4 +75,12 @@ public interface TaxDeclarationService {
|
||||||
*/
|
*/
|
||||||
List<TaxDeclarationPO> listByTaxCycleRange(YearMonthRange yearMonthRange);
|
List<TaxDeclarationPO> listByTaxCycleRange(YearMonthRange yearMonthRange);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增申报表
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
void addTaxDeclaration(TaxDeclarationAddParam param);
|
||||||
|
|
||||||
|
void deleteTaxDeclaration(TaxDeclarationDeleteParam param);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public interface TaxDeclarationValueService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<TaxDeclarationValuePO> listByTaxDeclarationIds(Collection<Long> taxDeclarationIds);
|
List<TaxDeclarationValuePO> listByTaxDeclarationIds(Collection<Long> taxDeclarationIds);
|
||||||
List<TaxDeclarationValuePO> listByTaxDeclarationId(Long taxDeclarationIds);
|
List<TaxDeclarationValuePO> listByTaxDeclarationId(Long taxDeclarationId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询个税申报表明细
|
* 查询个税申报表明细
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,23 @@ import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
import com.engine.salary.common.LocalDateRange;
|
import com.engine.salary.common.LocalDateRange;
|
||||||
import com.engine.salary.common.YearMonthRange;
|
import com.engine.salary.common.YearMonthRange;
|
||||||
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||||
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
|
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationAddParam;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDeleteParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationValuePO;
|
||||||
|
import com.engine.salary.entity.taxdeclaration.po.TaxDeclareRecordPO;
|
||||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||||||
|
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||||
|
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
import com.engine.salary.mapper.datacollection.AddUpSituationMapper;
|
import com.engine.salary.mapper.datacollection.AddUpSituationMapper;
|
||||||
import com.engine.salary.mapper.salaryacct.SalaryAcctRecordMapper;
|
import com.engine.salary.mapper.salaryacct.SalaryAcctRecordMapper;
|
||||||
|
|
@ -25,6 +32,8 @@ import com.engine.salary.util.SalaryI18nUtil;
|
||||||
import com.engine.salary.util.db.MapperProxyFactory;
|
import com.engine.salary.util.db.MapperProxyFactory;
|
||||||
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.engine.salary.util.valid.ValidUtil;
|
||||||
|
import dm.jdbc.util.IdGenerator;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.BooleanUtils;
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
|
|
@ -84,6 +93,16 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
||||||
return ServiceUtil.getService(SalaryAcctEmployeeServiceImpl.class, user);
|
return ServiceUtil.getService(SalaryAcctEmployeeServiceImpl.class, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private TaxDeclareRecordService getTaxDeclareRecordService(User user) {
|
||||||
|
return ServiceUtil.getService(TaxDeclareRecordServiceImpl.class, user);
|
||||||
|
}
|
||||||
|
|
||||||
|
private TaxDeclarationValueService getTaxDeclarationValueService(User user) {
|
||||||
|
return ServiceUtil.getService(TaxDeclarationValueServiceImpl.class, user);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TaxDeclarationPO> listByTaxCycleAndTaxAgentIds(YearMonth taxCycle, Collection<Long> taxAgentIds) {
|
public List<TaxDeclarationPO> listByTaxCycleAndTaxAgentIds(YearMonth taxCycle, Collection<Long> taxAgentIds) {
|
||||||
if (Objects.isNull(taxCycle) || CollectionUtils.isEmpty(taxAgentIds)) {
|
if (Objects.isNull(taxCycle) || CollectionUtils.isEmpty(taxAgentIds)) {
|
||||||
|
|
@ -102,8 +121,9 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
||||||
TaxDeclarationPO po = TaxDeclarationPO.builder().taxDeclareRecordId(taxDeclareRecordId).build();
|
TaxDeclarationPO po = TaxDeclarationPO.builder().taxDeclareRecordId(taxDeclareRecordId).build();
|
||||||
return getTaxDeclarationMapper().listSome(po);
|
return getTaxDeclarationMapper().listSome(po);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TaxDeclarationPO> listByTaxDeclareRecordId(Long taxDeclareRecordId,Integer incomeCategory) {
|
public List<TaxDeclarationPO> listByTaxDeclareRecordId(Long taxDeclareRecordId, Integer incomeCategory) {
|
||||||
if (Objects.isNull(taxDeclareRecordId)) {
|
if (Objects.isNull(taxDeclareRecordId)) {
|
||||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
|
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
|
||||||
}
|
}
|
||||||
|
|
@ -383,4 +403,76 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
||||||
.salaryMonths(LocalDateRange.builder().fromDate(yearMonthRange.getStartMonth()).endDate(yearMonthRange.getEndMonth()).build())
|
.salaryMonths(LocalDateRange.builder().fromDate(yearMonthRange.getStartMonth()).endDate(yearMonthRange.getEndMonth()).build())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增申报表
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void addTaxDeclaration(TaxDeclarationAddParam param) {
|
||||||
|
ValidUtil.doValidator(param);
|
||||||
|
|
||||||
|
Long taxDeclareRecordId = param.getTaxDeclareRecordId();
|
||||||
|
IncomeCategoryEnum incomeCategory = param.getIncomeCategory();
|
||||||
|
|
||||||
|
TaxDeclareRecordPO taxDeclareRecord = getTaxDeclareRecordService(user).getById(taxDeclareRecordId);
|
||||||
|
if (taxDeclareRecord == null) {
|
||||||
|
throw new SalaryRunTimeException("申报记录不存在!");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<TaxDeclarationPO> taxDeclarations = listByTaxDeclareRecordId(taxDeclareRecordId);
|
||||||
|
Optional<TaxDeclarationPO> first = taxDeclarations.stream().filter(taxDeclarationPO -> incomeCategory.getValue().equals(taxDeclarationPO.getIncomeCategory())).findFirst();
|
||||||
|
if (first.isPresent()) {
|
||||||
|
throw new SalaryRunTimeException("已存在" + incomeCategory.getDefaultLabel() + "申报表");
|
||||||
|
}
|
||||||
|
|
||||||
|
Date now = new Date();
|
||||||
|
TaxDeclarationPO taxDeclaration = TaxDeclarationPO
|
||||||
|
.builder()
|
||||||
|
.id(IdGenerator.generate())
|
||||||
|
.taxDeclareRecordId(taxDeclareRecord.getId())
|
||||||
|
.incomeCategory(incomeCategory.getValue())
|
||||||
|
.taxAgentId(taxDeclareRecord.getTaxAgentId())
|
||||||
|
.salaryMonth(taxDeclareRecord.getSalaryMonth())
|
||||||
|
.taxCycle(taxDeclareRecord.getTaxCycle())
|
||||||
|
.description(taxDeclareRecord.getRemark())
|
||||||
|
.controlView(0)
|
||||||
|
.creator((long) user.getUID())
|
||||||
|
.createTime(now)
|
||||||
|
.updateTime(now)
|
||||||
|
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
|
||||||
|
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||||
|
.build();
|
||||||
|
List<TaxDeclarationPO> objects = new ArrayList<>();
|
||||||
|
objects.add(taxDeclaration);
|
||||||
|
getTaxDeclarationMapper().batchInsert(objects);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增申报表
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void deleteTaxDeclaration(TaxDeclarationDeleteParam param) {
|
||||||
|
ValidUtil.doValidator(param);
|
||||||
|
Long taxDeclarationId = param.getTaxDeclarationId();
|
||||||
|
TaxDeclarationPO declarationPO = getById(taxDeclarationId);
|
||||||
|
|
||||||
|
if (declarationPO == null) {
|
||||||
|
throw new SalaryRunTimeException("申报表不存在!");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<TaxDeclarationValuePO> taxDeclarationValuePOS = getTaxDeclarationValueService(user).listByTaxDeclarationId(taxDeclarationId);
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(taxDeclarationValuePOS)) {
|
||||||
|
throw new SalaryRunTimeException("存在申报明细不允许删除,请先删除申报表明细!");
|
||||||
|
}
|
||||||
|
|
||||||
|
getTaxDeclarationMapper().deleteByIdZj(taxDeclarationId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1064,6 +1064,7 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
||||||
getTaxDeclareRecordMapper().updateIgnoreNull(taxDeclareRecord);
|
getTaxDeclareRecordMapper().updateIgnoreNull(taxDeclareRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private TaxDeclareRequest buildTaxDeclareRequest(Long id) {
|
private TaxDeclareRequest buildTaxDeclareRequest(Long id) {
|
||||||
// 查询供应商信息
|
// 查询供应商信息
|
||||||
TaxDeclarationApiConfigPO apiConfig = getTaxDeclarationApiConfigService(user).getConfig(true);
|
TaxDeclarationApiConfigPO apiConfig = getTaxDeclarationApiConfigService(user).getConfig(true);
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ public class TaxDeclarationController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除个税申报表
|
* 删除个税申报记录
|
||||||
*
|
*
|
||||||
* @param ids 个税申报记录id
|
* @param ids 个税申报记录id
|
||||||
* @return
|
* @return
|
||||||
|
|
@ -175,6 +175,36 @@ public class TaxDeclarationController {
|
||||||
return new ResponseResult<Long, List<TaxDeclarationTabDTO>>(user).run(getTaxDeclareRecordWrapper(user)::getTaxDeclarationTab, id);
|
return new ResponseResult<Long, List<TaxDeclarationTabDTO>>(user).run(getTaxDeclareRecordWrapper(user)::getTaxDeclarationTab, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增个税申报记录下的个税申报表TAB
|
||||||
|
*
|
||||||
|
* @param param 个税申报记录id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@POST
|
||||||
|
@Path("/addTaxDeclaration")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String addTaxDeclarationTab(@Context HttpServletRequest request, @Context HttpServletResponse response,TaxDeclarationAddParam param) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
return new ResponseResult<TaxDeclarationAddParam, String>(user).run(getTaxDeclareRecordWrapper(user)::addTaxDeclaration, param);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除申报表
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@POST
|
||||||
|
@Path("/deleteTaxDeclaration")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String deleteTaxDeclaration(@Context HttpServletRequest request, @Context HttpServletResponse response,TaxDeclarationDeleteParam param) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
return new ResponseResult<TaxDeclarationDeleteParam, String>(user).run(getTaxDeclareRecordWrapper(user)::deleteTaxDeclaration, param);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在线申报
|
* 在线申报
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -2,35 +2,14 @@ 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.component.WeaFormOption;
|
|
||||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
|
||||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationBO;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationFormDTO;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationInfoDTO;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationListDTO;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam;
|
|
||||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
|
||||||
import com.engine.salary.service.SalaryEmployeeService;
|
import com.engine.salary.service.SalaryEmployeeService;
|
||||||
import com.engine.salary.service.TaxAgentService;
|
import com.engine.salary.service.TaxAgentService;
|
||||||
import com.engine.salary.service.TaxDeclarationService;
|
import com.engine.salary.service.TaxDeclarationService;
|
||||||
import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
|
import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
|
||||||
import com.engine.salary.service.impl.TaxAgentServiceImpl;
|
import com.engine.salary.service.impl.TaxAgentServiceImpl;
|
||||||
import com.engine.salary.service.impl.TaxDeclarationServiceImpl;
|
import com.engine.salary.service.impl.TaxDeclarationServiceImpl;
|
||||||
import com.engine.salary.util.SalaryDateUtil;
|
|
||||||
import com.engine.salary.util.SalaryEntityUtil;
|
|
||||||
import com.engine.salary.util.SalaryI18nUtil;
|
|
||||||
import com.engine.salary.util.page.PageInfo;
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个税申报表
|
* 个税申报表
|
||||||
* <p>Copyright: Copyright (c) 2022</p>
|
* <p>Copyright: Copyright (c) 2022</p>
|
||||||
|
|
@ -53,106 +32,4 @@ public class TaxDeclarationWrapper extends Service {
|
||||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 个税申报表列表
|
|
||||||
*
|
|
||||||
* @param queryParam 列表查询条件
|
|
||||||
* @param
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public PageInfo listPage(TaxDeclarationListQueryParam queryParam) {
|
|
||||||
// 询个税申报表(分页)
|
|
||||||
PageInfo<TaxDeclarationPO> page = getTaxDeclarationService(user).listPageByParam(queryParam);
|
|
||||||
PageInfo<TaxDeclarationListDTO> dtoPage = new PageInfo<TaxDeclarationListDTO>(TaxDeclarationListDTO.class);
|
|
||||||
dtoPage.setPageNum(queryParam.getCurrent());
|
|
||||||
dtoPage.setPageSize(queryParam.getPageSize());
|
|
||||||
dtoPage.setTotal(page.getTotal());
|
|
||||||
List<TaxDeclarationPO> list = page.getList();
|
|
||||||
if (CollectionUtils.isNotEmpty(list)) {
|
|
||||||
// 查询人员
|
|
||||||
List<Long> employeeIds = SalaryEntityUtil.properties(list, TaxDeclarationPO::getCreator, Collectors.toList());
|
|
||||||
List<DataCollectionEmployee> employeeComInfos = getSalaryEmployeeService(user).getEmployeeByIdsAll(employeeIds);
|
|
||||||
// 查询个税扣缴义务人
|
|
||||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(list, TaxDeclarationPO::getTaxAgentId);
|
|
||||||
List<TaxAgentPO> taxAgentPOS = getTaxDeclarationService(user).countByTaxDeclarationId(taxAgentIds);
|
|
||||||
// 转换成列表dto
|
|
||||||
List<TaxDeclarationListDTO> taxDeclarationListDTOS = TaxDeclarationBO.convert2ListDTO(list, employeeComInfos, taxAgentPOS);
|
|
||||||
dtoPage.setList(taxDeclarationListDTOS);
|
|
||||||
}
|
|
||||||
return dtoPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public TaxDeclarationFormDTO getForm(Long id) {
|
|
||||||
TaxDeclarationFormDTO formDTO = new TaxDeclarationFormDTO();
|
|
||||||
if (Objects.nonNull(id)) {
|
|
||||||
// 查询个税申报表
|
|
||||||
TaxDeclarationPO taxDeclaration = getTaxDeclarationService(user).getById(id);
|
|
||||||
if (Objects.isNull(taxDeclaration)) {
|
|
||||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98877, "个税申报表不存在或已删除"));
|
|
||||||
}
|
|
||||||
// 查询个税扣缴义务人
|
|
||||||
TaxAgentPO taxAgent = getTaxAgentService(user).getById(id);
|
|
||||||
//日期转换
|
|
||||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
|
|
||||||
String transformDate = simpleDateFormat.format(taxDeclaration.getSalaryMonth());
|
|
||||||
// 转换成个税申报表详情dto
|
|
||||||
formDTO = TaxDeclarationFormDTO.builder().salaryMonth(SalaryDateUtil.String2YearMonth(transformDate)).taxAgentId(taxDeclaration.getTaxAgentId()).taxAgentName(Optional.ofNullable(taxAgent).map(TaxAgentPO::getName).orElse("")).description(taxDeclaration.getDescription()).build();
|
|
||||||
}
|
|
||||||
// 转换成前端所需的数据格式
|
|
||||||
// WeaForm weaForm = SalaryFormatUtil.<TaxDeclarationFormDTO>getInstance().buildForm(TaxDeclarationFormDTO.class, formDTO);
|
|
||||||
|
|
||||||
// 查询租户所有的个税扣缴义务人
|
|
||||||
Collection<TaxAgentPO> taxAgentListDTOS = getTaxAgentService(user).listAll();
|
|
||||||
// 表单中个税扣缴义务人的可选项
|
|
||||||
List<WeaFormOption> weaFormOptions = Lists.newArrayListWithExpectedSize(taxAgentListDTOS.size());
|
|
||||||
for (TaxAgentPO taxAgent : taxAgentListDTOS) {
|
|
||||||
weaFormOptions.add(new WeaFormOption("" + taxAgent.getId(), taxAgent.getName()));
|
|
||||||
}
|
|
||||||
// weaForm.getItems().forEach((k, v) -> {
|
|
||||||
// if (StringUtils.equals("taxAgentId", k)) {
|
|
||||||
// v.setOptions(weaFormOptions);
|
|
||||||
// }
|
|
||||||
// if (StringUtils.equals("salaryMonth", k)) {
|
|
||||||
// Map<String, Object> otherParams = new HashMap<>();
|
|
||||||
// otherParams.put("type", "month");
|
|
||||||
// v.setOtherParams(otherParams);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
return formDTO;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询个税申报表的基本信息
|
|
||||||
*
|
|
||||||
* @param id 个税申报表id
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public TaxDeclarationInfoDTO getTaxDeclarationInfoById(Long id) {
|
|
||||||
// 查询个税申报表
|
|
||||||
TaxDeclarationPO taxDeclaration = getTaxDeclarationService(user).getById(id);
|
|
||||||
if (Objects.isNull(taxDeclaration)) {
|
|
||||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98877, "个税申报表不存在或已删除"));
|
|
||||||
}
|
|
||||||
// 查询个税扣缴义务人
|
|
||||||
TaxAgentPO taxAgentPO = getTaxAgentService(user).getById(taxDeclaration.getTaxAgentId());
|
|
||||||
return TaxDeclarationInfoDTO.builder().salaryMonth(taxDeclaration.getSalaryMonth()).taxAgentId(taxDeclaration.getTaxAgentId()).taxAgentName(Optional.ofNullable(taxAgentPO).map(TaxAgentPO::getName).orElse("")).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 保存
|
|
||||||
*
|
|
||||||
* @param saveParam 保存参数
|
|
||||||
*/
|
|
||||||
public void save(TaxDeclarationSaveParam saveParam) {
|
|
||||||
getTaxDeclarationService(user).save(saveParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 撤回个税申报
|
|
||||||
* @param taxDeclarationId
|
|
||||||
*/
|
|
||||||
public void withDrawTaxDeclaration(Long taxDeclarationId) {
|
|
||||||
getTaxDeclarationService(user).withDrawTaxDeclaration(taxDeclarationId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -310,6 +310,19 @@ public class TaxDeclareRecordWrapper extends Service {
|
||||||
return tabs;
|
return tabs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增申报表
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
public void addTaxDeclaration(TaxDeclarationAddParam param) {
|
||||||
|
getTaxDeclarationService(user).addTaxDeclaration(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void deleteTaxDeclaration(TaxDeclarationDeleteParam param) {
|
||||||
|
getTaxDeclarationService(user).deleteTaxDeclaration(param);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询个税申报表的基本信息
|
* 查询个税申报表的基本信息
|
||||||
*
|
*
|
||||||
|
|
@ -767,4 +780,5 @@ public class TaxDeclareRecordWrapper extends Service {
|
||||||
public Map<String, Object> importData(DownloadTemplateParam param) {
|
public Map<String, Object> importData(DownloadTemplateParam param) {
|
||||||
return getTaxDeclarationExcelService(user).importData(param);
|
return getTaxDeclarationExcelService(user).importData(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue