Merge remote-tracking branch 'origin/feature/维护工具' into feature/维护工具

This commit is contained in:
钱涛 2023-04-23 18:00:41 +08:00
commit 598ff0cf9a
4 changed files with 96 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package com.engine.salary.maintainer;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.maintainer.datacollection.AddUpSituationManager;
import com.engine.salary.maintainer.salaryacct.SalaryAcctManager;
import com.engine.salary.maintainer.salaryacct.SalaryAcctSupplementParam;
import com.engine.salary.util.ResponseResult;
@ -11,6 +12,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;
@ -33,6 +35,10 @@ public class MaintainerController {
return ServiceUtil.getService(SalaryAcctManager.class, user);
}
private AddUpSituationManager getAddUpSituationManager(User user) {
return ServiceUtil.getService(AddUpSituationManager.class, user);
}
//---------------------------薪资核算 start ------------------------------------
/**
@ -53,4 +59,20 @@ public class MaintainerController {
//---------------------------薪资核算 end ------------------------------------
//---------------------------数据采集 往期累计情况 start ------------------------------------
/**
* 恢复所有已申报的往期累计数据
*
* @return
*/
@GET
@Path("/addupsituation/recover")
@Produces(MediaType.APPLICATION_JSON)
public String recoverAddUpSituationHistoryData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult< Map<String, Object>, String >(user).run(getAddUpSituationManager(user)::recoverAddUpHistoryData);
}
//---------------------------数据采集 往期累计情况 end ------------------------------------
}

View File

@ -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<TaxDeclarationPO> taxDeclarationList = getTaxDeclarationMapper().listSome(new TaxDeclarationPO());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Map<Long, String> taxDeclarationMap = SalaryEntityUtil.convert2Map(taxDeclarationList, TaxDeclarationPO::getId, PO->PO.getTaxAgentId()+"-"+sdf.format(PO.getSalaryMonth()));
BaseBean bb = new BaseBean();
List<Long> 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";
}
}

View File

@ -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<Long> ids);
int deleteByIdZj(Long id);
}

View File

@ -32,6 +32,15 @@
,t.income_category
</sql>
<update id="deleteByIdZj">
UPDATE hrsa_tax_declaration
SET delete_type = 1,
update_time ='2023-01-01'
WHERE delete_type = 0
AND id = #{id}
</update>
<!-- 根据主键获取单条记录 -->
<select id="getById" resultMap="BaseResultMap" parameterType="Long">
SELECT