!7 批量保存,批量删除社保档案

Merge pull request !7 from reset/archive
This commit is contained in:
reset 2022-03-16 10:28:32 +00:00 committed by Gitee
commit 2c23c05dee
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
10 changed files with 216 additions and 5 deletions

View File

@ -6,12 +6,15 @@ import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.siarchives.bo.InsuranceArchivesBO;
import com.engine.salary.entity.siarchives.dto.InsuranceArchivesBaseDTO;
import com.engine.salary.entity.siarchives.dto.InsuranceArchivesFundSchemeDTO;
import com.engine.salary.entity.siarchives.dto.InsuranceArchivesOtherSchemeDTO;
import com.engine.salary.entity.siarchives.dto.InsuranceArchivesSocialSchemeDTO;
import com.engine.salary.entity.siarchives.param.InsuranceArchivesSaveParam;
import com.engine.salary.entity.siarchives.param.InsuranceArchivesSocialSaveParam;
import com.engine.salary.entity.siarchives.po.InsuranceArchivesFundSchemePO;
import com.engine.salary.entity.siarchives.po.InsuranceArchivesOtherSchemePO;
import com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO;
@ -19,9 +22,11 @@ import com.engine.salary.entity.sicategory.po.ICategoryPO;
import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO;
import com.engine.salary.entity.sischeme.po.InsuranceSchemePO;
import com.engine.salary.entity.taxrate.TaxAgent;
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.enums.sicategory.IsPaymentEnum;
import com.engine.salary.enums.sicategory.UndertakerEnum;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.TaxAgentMapper;
import com.engine.salary.mapper.siarchives.FundSchemeMapper;
import com.engine.salary.mapper.siarchives.OtherSchemeMapper;
@ -391,4 +396,69 @@ public class SIArchivesBiz {
}
/**
* 新增
* @param param
* @param employeeId
*/
public void insert(InsuranceArchivesSaveParam param, long employeeId) {
SalaryAssert.notNull(param.getWelfareType(), "福利类型为空");
switch (param.getWelfareType()) {
case SOCIAL_SECURITY:
socialSave(param, employeeId);
break;
case ACCUMULATION_FUND:
//fundSave(param, employeeId);
break;
case OTHER:
//otherSave(param, employeeId);
break;
default:
throw new SalaryRunTimeException("福利类型不存在");
}
}
/**
*
* @param paramReq
* @param employeeId
*/
public void socialSave(InsuranceArchivesSaveParam paramReq, long employeeId) {
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
try {
SocialSchemeMapper socialSchemeMapper = sqlSession.getMapper(SocialSchemeMapper.class);
InsuranceArchivesSocialSaveParam param = JSONObject.parseObject(paramReq.getBaseForm(), InsuranceArchivesSocialSaveParam.class);
SalaryAssert.notNull("员工id为空", param, param.getEmployeeId());
//删除社保数据
socialSchemeMapper.batchDeleteByEmployeeIds(Collections.singletonList(param.getEmployeeId()));
InsuranceArchivesSocialSchemePO insuranceArchivesSocialSchemePO =
InsuranceArchivesSocialSchemePO.builder()
//.id(IdGenerator.generate())
.welfareType(paramReq.getWelfareType().getValue())
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
.socialPaymentBaseString(paramReq.getPaymentForm())
.socialSchemeId(param.getSocialName())
.createTime(new Date())
.socialEndTime(param.getSocialEndTime())
.socialStartTime(param.getSocialStartTime())
.creator(employeeId)
.nonPayment(param.getNonPayment())
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
.employeeId(param.getEmployeeId())
.updateTime(new Date())
.underTake(param.getUnderTake().getValue())
.socialAccount(param.getSchemeAccount())
.paymentOrganization(param.getPaymentOrganization())
.build();
socialSchemeMapper.batchSave(Collections.singletonList(insuranceArchivesSocialSchemePO));
sqlSession.commit();
}finally {
sqlSession.close();
}
}
}

View File

@ -1,4 +1,4 @@
package com.engine.salary.cmd.archives;
package com.engine.salary.cmd.siarchives;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;

View File

@ -0,0 +1,26 @@
package com.engine.salary.entity.siarchives.param;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author weaver_cl
* @Description: TODO 社保档案保存
* @Date 2022/3/16
* @Version V1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InsuranceArchivesSaveParam {
private WelfareTypeEnum welfareType;
private String baseForm;
private String paymentForm;
}

View File

@ -0,0 +1,58 @@
package com.engine.salary.entity.siarchives.param;
import com.engine.salary.enums.sicategory.UndertakerEnum;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author weaver_cl
* @Description: TODO 社保档案保存
* @Date 2022/3/16
* @Version V1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InsuranceArchivesSocialSaveParam {
//主键id
private Long id;
//员工id
private Long employeeId;
//暂不缴纳
private Integer nonPayment;
//福利类型
private WelfareTypeEnum welfareType;
//社保起始缴纳月
private String socialStartTime;
//社保最后缴纳月
private String socialEndTime;
//社保方案id
private Long socialSchemeId;
//社保方案id
//todo 前端需要调整
private Long socialName;
//社保账号
private String schemeAccount;
//社保缴纳组织
private Long paymentOrganization;
//社保个人实际承担方
private UndertakerEnum underTake;
//基数jsonString
private String paymentForm;
}

View File

@ -3,6 +3,9 @@ package com.engine.salary.mapper.siarchives;
import com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
/**
* @Author weaver_cl
* @Description: TODO
@ -17,4 +20,16 @@ public interface SocialSchemeMapper {
* @return
*/
InsuranceArchivesSocialSchemePO getSocialByEmployeeId(@Param("employeeId")Long employeeId);
/**
* 批量删除
* @param singletonList
*/
void batchDeleteByEmployeeIds(@Param("employeeIds") Collection<Long> singletonList);
/**
* 批量保存
* @param singletonList
*/
void batchSave(List<InsuranceArchivesSocialSchemePO> singletonList);
}

View File

@ -53,4 +53,6 @@
</mapper>

View File

@ -1,5 +1,7 @@
package com.engine.salary.service;
import com.engine.salary.entity.siarchives.param.InsuranceArchivesSaveParam;
import java.util.Map;
/**
@ -15,4 +17,6 @@ public interface SIArchivesService {
Map<String, Object> getBaseForm(Map<String, Object> params);
Map<String, Object> getPaymentForm(Map<String, Object> params);
String insert(InsuranceArchivesSaveParam param);
}

View File

@ -224,7 +224,7 @@ public class AttendQuoteFieldServiceImpl extends Service implements AttendQuoteF
// 本地已存在则更新交集
List<String> updateCodes = localFieldCodes.stream().filter(item -> attendFieldCodes.contains(item)).collect(Collectors.toList());
// 本地比attend多则删除差集(local - attend)
List<String> deleteCodes = localFieldCodes.stream().filter(item -> !attendFieldCodes.contains(item)).collect(Collectors.toList());
Collection<String> deleteCodes = localFieldCodes.stream().filter(item -> !attendFieldCodes.contains(item)).collect(Collectors.toList());
// attend比本地多则新增差集(attend - local)
List<String> saveCodes = attendFieldCodes.stream().filter(item -> !localFieldCodes.contains(item)).collect(Collectors.toList());
String hourI18n = SalaryI18nUtil.getI18nLabel(100743, "小时");

View File

@ -2,10 +2,13 @@ package com.engine.salary.service.impl;
import com.engine.core.impl.Service;
import com.engine.salary.biz.SIArchivesBiz;
import com.engine.salary.cmd.archives.SIArchivesTipsCmd;
import com.engine.salary.entity.siarchives.dto.InsuranceArchivesBaseDTO;
import com.engine.salary.cmd.siarchives.SIArchivesTipsCmd;
import com.engine.salary.entity.siarchives.param.InsuranceArchivesSaveParam;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.service.SIArchivesService;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryI18nUtil;
import weaver.general.Util;
import java.util.HashMap;
@ -44,4 +47,12 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
apidatas = siArchivesBiz.getPaymentForm(user,welfareTypeEnum, employeeId,(long) user.getUID(),schemeId);
return apidatas;
}
@Override
public String insert(InsuranceArchivesSaveParam param) {
SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
siArchivesBiz.insert(param,(long) user.getUID());
return null;
}
}

View File

@ -2,10 +2,12 @@ package com.engine.salary.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.siarchives.param.InsuranceArchivesSaveParam;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.service.SIArchivesService;
import com.engine.salary.service.impl.SIArchivesServiceImpl;
import com.engine.salary.util.ResponseResult;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
@ -38,6 +40,8 @@ public class SIArchivesController {
}
/**
* 查询档案基本信息表单
* @param request
@ -55,7 +59,13 @@ public class SIArchivesController {
return ResponseResult.run(getService(user)::getBaseForm, map);
}
/**
* 查询档案缴纳基数表单
* @param request
* @param response
* @param welfareTypeEnum
* @return
*/
@GET
@Path("/getPaymentForm")
@Produces(MediaType.APPLICATION_JSON)
@ -67,5 +77,20 @@ public class SIArchivesController {
return ResponseResult.run(getService(user)::getPaymentForm, map);
}
/**
* 保存档案
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/save")
@Produces(MediaType.APPLICATION_JSON)
public String insert(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody InsuranceArchivesSaveParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<InsuranceArchivesSaveParam,String>().run(getService(user)::insert, param);
}
}