From 31235096bb7e8338ad94c1b86cae150a57da715e Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Sun, 23 Apr 2023 17:37:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=BE=80=E6=9C=9F?= =?UTF-8?q?=E7=B4=AF=E8=AE=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacollection/AddUpSituationManager.java | 64 +++++++++++++++++++ .../taxdeclaration/TaxDeclarationMapper.java | 2 +- .../taxdeclaration/TaxDeclarationMapper.xml | 9 +++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 src/com/engine/salary/maintainer/datacollection/AddUpSituationManager.java diff --git a/src/com/engine/salary/maintainer/datacollection/AddUpSituationManager.java b/src/com/engine/salary/maintainer/datacollection/AddUpSituationManager.java new file mode 100644 index 000000000..39a930ebe --- /dev/null +++ b/src/com/engine/salary/maintainer/datacollection/AddUpSituationManager.java @@ -0,0 +1,64 @@ +package com.engine.salary.maintainer.datacollection; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationSaveParam; +import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO; +import com.engine.salary.mapper.taxdeclaration.TaxDeclarationMapper; +import com.engine.salary.service.TaxDeclarationService; +import com.engine.salary.service.impl.TaxDeclarationServiceImpl; +import com.engine.salary.util.SalaryDateUtil; +import com.engine.salary.util.SalaryEntityUtil; +import com.engine.salary.util.db.MapperProxyFactory; +import weaver.general.BaseBean; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.YearMonth; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author Harryxzy + * @date 2023/04/23 17:23 + * @description 往期累计情况维护类 + */ +public class AddUpSituationManager extends Service { + + private TaxDeclarationMapper getTaxDeclarationMapper() { + return MapperProxyFactory.getProxy(TaxDeclarationMapper.class); + } + + private TaxDeclarationService getTaxDeclarationService() { + return ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); + } + + public String recoverAddUpHistoryData() { + // 获取已有的个税申报表记录 + List taxDeclarationList = getTaxDeclarationMapper().listSome(new TaxDeclarationPO()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + Map taxDeclarationMap = SalaryEntityUtil.convert2Map(taxDeclarationList, TaxDeclarationPO::getId, PO->PO.getTaxAgentId()+"-"+sdf.format(PO.getSalaryMonth())); + BaseBean bb = new BaseBean(); + List taxDeclarationIds = taxDeclarationList.stream().map(TaxDeclarationPO::getId).collect(Collectors.toList()); + bb.writeLog("往期累计数据恢复DataIds:"+ taxDeclarationIds); + bb.writeLog("往期累计数据恢复DataMap:"+ taxDeclarationMap); + // 循环调用生成申报单接口 + for(int i =0; i < taxDeclarationList.size(); i++){ + TaxDeclarationPO PO = taxDeclarationList.get(i); + bb.writeLog("开始删除生成:"+PO.getTaxAgentId()+"-"+PO.getSalaryMonth()); + // 删除记录 + int delete = getTaxDeclarationMapper().deleteByIdZj(PO.getId()); + LocalDate localDate = SalaryDateUtil.dateToLocalDate(PO.getSalaryMonth()); + // 调用生成申报单接口 + YearMonth yearMonth = YearMonth.of(localDate.getYear(),localDate.getMonth()); + try { + getTaxDeclarationService().save(TaxDeclarationSaveParam.builder().salaryMonth(yearMonth).taxAgentId(PO.getTaxAgentId()).build()); + }catch (Exception e){ + bb.writeLog("错误:"+e); + continue; + } + } + return "SUCCESS"; + } +} diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java index a252a430b..5785ed794 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.java @@ -1,7 +1,6 @@ package com.engine.salary.mapper.taxdeclaration; import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO; -import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.Collection; @@ -41,4 +40,5 @@ public interface TaxDeclarationMapper { */ void deleteByIds(@Param("ids") Collection ids); + int deleteByIdZj(Long id); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml index fb270b1e1..24ea392ff 100644 --- a/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml +++ b/src/com/engine/salary/mapper/taxdeclaration/TaxDeclarationMapper.xml @@ -32,6 +32,15 @@ ,t.income_category + + UPDATE hrsa_tax_declaration + SET delete_type = 1, + update_time ='2023-01-01' + WHERE delete_type = 0 + AND id = #{id} + + +