|
@@ -431,43 +431,61 @@ public class SocialSecurityConfirmController extends BaseController {
|
|
|
@PostMapping("/verifyDetail")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public AjaxResult verifyDetail(@RequestBody BizSocialSecurityConfirmDetail detail) {
|
|
|
+ String join = LockKey.join(LockKey.SOCIALSECURITYCONFIRMDETAIL,detail.getSocialSecurityConfirmId(),detail.getYear(),detail.getMonth(),detail.getCompanyId());
|
|
|
+ DistributionLock lock = new DistributionLock(join);
|
|
|
boolean bool = true;
|
|
|
- detail.setVerifierId(SecurityUtils.getUserId());
|
|
|
- if (detail.getStatus().equals(3)) {
|
|
|
- BizSocialSecurityConfirm bizSocialSecurityConfirm = socialSecurityConfirmService.getById(detail.getSocialSecurityConfirmId());
|
|
|
- QueryWrapper<BizSocialSecurityDeclare> qw = new QueryWrapper<>();
|
|
|
- qw.eq("work_order_id", bizSocialSecurityConfirm.getWorkOrderId());
|
|
|
-
|
|
|
- BizSocialSecurityDeclare bizSocialSecurityDeclare = socialSecurityDeclareService.getOne(qw);
|
|
|
- if (bizSocialSecurityDeclare != null) {
|
|
|
- QueryWrapper<BizSocialSecurityDeclareDetail> kqw = new QueryWrapper<>();
|
|
|
- kqw.eq("social_security_declare_id", bizSocialSecurityDeclare.getId());
|
|
|
- kqw.eq("year", detail.getYear());
|
|
|
- kqw.eq("month", detail.getMonth());
|
|
|
- BizSocialSecurityDeclareDetail socialSecurityDeclareDetail =
|
|
|
- socialSecurityDeclareDetailService.getOne(kqw);
|
|
|
- if (socialSecurityDeclareDetail == null) {
|
|
|
- socialSecurityDeclareDetail = new BizSocialSecurityDeclareDetail();
|
|
|
- }
|
|
|
- socialSecurityDeclareDetail.setSocialSecurityDeclareId(bizSocialSecurityDeclare.getId());
|
|
|
- socialSecurityDeclareDetail.setYear(detail.getYear());
|
|
|
- socialSecurityDeclareDetail.setMonth(detail.getMonth());
|
|
|
- socialSecurityDeclareDetail.setCompanyId(detail.getCompanyId());
|
|
|
- socialSecurityDeclareDetail.setStatus(socialSecurityDeclareDetail.getStatus() != null && socialSecurityDeclareDetail.getStatus() > 1 ? socialSecurityDeclareDetail.getStatus() : 1);
|
|
|
-
|
|
|
- if (socialSecurityDeclareDetail.getId() == null) {
|
|
|
- bool = socialSecurityDeclareDetailService.save(socialSecurityDeclareDetail);
|
|
|
- } else {
|
|
|
- bool = socialSecurityDeclareDetailService.updateById(socialSecurityDeclareDetail);
|
|
|
- }
|
|
|
+ try {
|
|
|
+ lock.lock();
|
|
|
+ detail.setVerifierId(SecurityUtils.getUserId());
|
|
|
+ List<BizSocialSecurityConfirmDetail> confirmDetailList = socialSecurityConfirmDetailService.query()
|
|
|
+ .eq("social_security_confirm_id",detail.getSocialSecurityConfirmId())
|
|
|
+ .eq("year",detail.getYear())
|
|
|
+ .eq("month", detail.getMonth())
|
|
|
+ .eq("status",3).list();
|
|
|
+ if(!confirmDetailList.isEmpty()) {
|
|
|
+ return error("审核失败,数据已被审核请刷新");
|
|
|
}
|
|
|
- bool = bool && addRecord(detail.getSocialSecurityConfirmId(), detail.getYear(), detail.getMonth(), SecurityUtils.getUserId(), "社保人员信息审核通过");
|
|
|
+ if (detail.getStatus().equals(3)) {
|
|
|
+ BizSocialSecurityConfirm bizSocialSecurityConfirm = socialSecurityConfirmService.getById(detail.getSocialSecurityConfirmId());
|
|
|
+ QueryWrapper<BizSocialSecurityDeclare> qw = new QueryWrapper<>();
|
|
|
+ qw.eq("work_order_id", bizSocialSecurityConfirm.getWorkOrderId());
|
|
|
+
|
|
|
+ BizSocialSecurityDeclare bizSocialSecurityDeclare = socialSecurityDeclareService.getOne(qw);
|
|
|
+ if (bizSocialSecurityDeclare != null) {
|
|
|
+ QueryWrapper<BizSocialSecurityDeclareDetail> kqw = new QueryWrapper<>();
|
|
|
+ kqw.eq("social_security_declare_id", bizSocialSecurityDeclare.getId());
|
|
|
+ kqw.eq("year", detail.getYear());
|
|
|
+ kqw.eq("month", detail.getMonth());
|
|
|
+ BizSocialSecurityDeclareDetail socialSecurityDeclareDetail =
|
|
|
+ socialSecurityDeclareDetailService.getOne(kqw);
|
|
|
+ if (socialSecurityDeclareDetail == null) {
|
|
|
+ socialSecurityDeclareDetail = new BizSocialSecurityDeclareDetail();
|
|
|
+ }
|
|
|
+ socialSecurityDeclareDetail.setSocialSecurityDeclareId(bizSocialSecurityDeclare.getId());
|
|
|
+ socialSecurityDeclareDetail.setYear(detail.getYear());
|
|
|
+ socialSecurityDeclareDetail.setMonth(detail.getMonth());
|
|
|
+ socialSecurityDeclareDetail.setCompanyId(detail.getCompanyId());
|
|
|
+ socialSecurityDeclareDetail.setStatus(socialSecurityDeclareDetail.getStatus() != null && socialSecurityDeclareDetail.getStatus() > 1 ? socialSecurityDeclareDetail.getStatus() : 1);
|
|
|
+
|
|
|
+ if (socialSecurityDeclareDetail.getId() == null) {
|
|
|
+ bool = socialSecurityDeclareDetailService.save(socialSecurityDeclareDetail);
|
|
|
+ } else {
|
|
|
+ bool = socialSecurityDeclareDetailService.updateById(socialSecurityDeclareDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bool = bool && addRecord(detail.getSocialSecurityConfirmId(), detail.getYear(), detail.getMonth(), SecurityUtils.getUserId(), "社保人员信息审核通过");
|
|
|
// return bool;
|
|
|
- } else {
|
|
|
- bool = bool && addRecord(detail.getSocialSecurityConfirmId(), detail.getYear(), detail.getMonth(), SecurityUtils.getUserId(), "社保人员信息审核不通过");
|
|
|
+ } else {
|
|
|
+ bool = bool && addRecord(detail.getSocialSecurityConfirmId(), detail.getYear(), detail.getMonth(), SecurityUtils.getUserId(), "社保人员信息审核不通过");
|
|
|
+ }
|
|
|
+ detail.setVerifierTime(new Date());
|
|
|
+ bool = bool && socialSecurityConfirmDetailService.updateById(detail);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return error("审核失败,请不要同时审核");
|
|
|
+ } finally {
|
|
|
+ lock.unlock();
|
|
|
}
|
|
|
- detail.setVerifierTime(new Date());
|
|
|
- bool = bool && socialSecurityConfirmDetailService.updateById(detail);
|
|
|
return toAjax(bool);
|
|
|
}
|
|
|
|