Browse Source

核销添加回退功能

mssql
Yen 3 years ago
parent
commit
458bea94d6
  1. 2
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java
  2. 28
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  3. 2
      src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java
  4. 20
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

2
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java

@ -17,7 +17,7 @@ public class TbsAffairCommitBo {
@NotNull @NotNull
private Long costApplyId; private Long costApplyId;
/** 状态:0-否定,1-同意 */ /** 状态:0-否定,1-同意,2-退回 */
@NotNull @NotNull
private Integer state; private Integer state;

28
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -242,6 +242,7 @@ public class VtbVerificationController {
if(!verification.getVerificationState().equals(VtbVerificationState.Commiting.getCode())){ if(!verification.getVerificationState().equals(VtbVerificationState.Commiting.getCode())){
return R.error("费用申请处于未非审批状态!"); return R.error("费用申请处于未非审批状态!");
} }
boolean isBackCommit = affairCommit.getState()==2;
R<String> result = seeYonService.commonCommit(affairCommit,TbsSeeYonConst.VERIFICATION_FORM); R<String> result = seeYonService.commonCommit(affairCommit,TbsSeeYonConst.VERIFICATION_FORM);
if(result.getStatus()==200){ if(result.getStatus()==200){
// 判断是否含有下个节点 // 判断是否含有下个节点
@ -255,15 +256,24 @@ public class VtbVerificationController {
vtbVerificationService.successCommit(verification.getId()); vtbVerificationService.successCommit(verification.getId());
return R.ok(); return R.ok();
}else if ("stop".equals(flag)){ }else if ("stop".equals(flag)){
VtbVerification vtbVer = new VtbVerification(); if(isBackCommit){
vtbVer.setId(verification.getId()); VtbVerification vtbVer = new VtbVerification();
vtbVer.setVerificationState(VtbVerificationState.Stop.getCode()); vtbVer.setId(verification.getId());
vtbVerificationService.updateById(vtbVer); vtbVer.setVerificationState(VtbVerificationState.Rollback.getCode());
//还原活动为待核销状态 vtbVer.setSyFormId("");
TbsActivity activity = new TbsActivity(); vtbVer.setSyFlowId("");
activity.setId(verification.getActivityId()); vtbVerificationService.updateById(vtbVer);
activity.setActivityState(TbsActivityState.STATE_0_Todo); }else {
tbsActivityService.updateById(activity); VtbVerification vtbVer = new VtbVerification();
vtbVer.setId(verification.getId());
vtbVer.setVerificationState(VtbVerificationState.Stop.getCode());
vtbVerificationService.updateById(vtbVer);
//还原活动为待核销状态
TbsActivity activity = new TbsActivity();
activity.setId(verification.getActivityId());
activity.setActivityState(TbsActivityState.STATE_0_Todo);
tbsActivityService.updateById(activity);
}
return R.ok(); return R.ok();
}else if ("next".equals(flag)){ }else if ("next".equals(flag)){
return R.ok(); return R.ok();

2
src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java

@ -27,7 +27,7 @@ public class VtbVerificationBo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** id */ /** id(退回的核销要传) */
private Long id; private Long id;
/** 活动id */ /** 活动id */

20
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -88,7 +88,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(!costApply.getChargeState().equals(TbsCostApplyState.State_2_actioning.getCode())){ if(!costApply.getChargeState().equals(TbsCostApplyState.State_2_actioning.getCode())){
Assert.throwEx("状态不支持释放活动费用"); Assert.throwEx("状态不支持释放活动费用");
} }
BigDecimal releaseAmount = validActivity(activity,false); BigDecimal releaseAmount = validActivity(activity,false,false);
TbsActivity param = new TbsActivity(); TbsActivity param = new TbsActivity();
param.setId(activityId); param.setId(activityId);
param.setActivityState(TbsActivityState.STATE_4_Release); param.setActivityState(TbsActivityState.STATE_4_Release);
@ -157,9 +157,12 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(!costApply.getChargeState().equals(TbsCostApplyState.State_2_actioning.getCode())){ if(!costApply.getChargeState().equals(TbsCostApplyState.State_2_actioning.getCode())){
Assert.throwEx("当前费用状态不支持"); Assert.throwEx("当前费用状态不支持");
} }
validActivity(activity,true); //退回的审批跳过校验
boolean isCurrentCommit = verificationBo.getId()!=null;
validActivity(activity,true,isCurrentCommit);
VtbVerification verification = new VtbVerification(); VtbVerification verification = new VtbVerification();
verification.setId(verificationBo.getId()); verification.setId(verificationBo.getId());
verification.setVerificationState(VtbVerificationState.Commiting.getCode());
verification.setActivityId(verificationBo.getActivityId()); verification.setActivityId(verificationBo.getActivityId());
verification.setAttachIds(verificationBo.getAttachIds()); verification.setAttachIds(verificationBo.getAttachIds());
verification.setRemark(verificationBo.getRemark()); verification.setRemark(verificationBo.getRemark());
@ -210,7 +213,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
this.saveOrUpdate(verification); this.saveOrUpdate(verification);
this.commitSy(sysUser,verification); this.commitSy(sysUser,verification);
this.updateById(verification); this.updateById(verification);
if(verification.getSyFormId()==null||verification.getSyFlowId()==null){ if(!StringUtils.hasText(verification.getSyFormId())||!StringUtils.hasText(verification.getSyFlowId())){
Assert.throwEx("远程调用失败"); Assert.throwEx("远程调用失败");
} }
//移除历史提交记录 //移除历史提交记录
@ -271,9 +274,10 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
* 校验活动 * 校验活动
* @param activity * @param activity
* @param filterActTime 拦截活动结束 * @param filterActTime 拦截活动结束
* @param isCurrentCommit 是否当前活动占用提交
* @return * @return
*/ */
private BigDecimal validActivity(TbsActivity activity,boolean filterActTime){ private BigDecimal validActivity(TbsActivity activity,boolean filterActTime,boolean isCurrentCommit){
LocalDate nowDate = LocalDate.now(); LocalDate nowDate = LocalDate.now();
if(activity.getReopenFlag().equals(0) if(activity.getReopenFlag().equals(0)
&& filterActTime && filterActTime
@ -289,9 +293,11 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(activity.getFinishedFlag().equals(1)){ if(activity.getFinishedFlag().equals(1)){
Assert.throwEx("活动已完成"); Assert.throwEx("活动已完成");
} }
boolean isCommitting = this.checkCommitting(activity.getId()); if(!isCurrentCommit){
if(isCommitting){ boolean isCommitting = this.checkCommitting(activity.getId());
Assert.throwEx("该活动核销中,操作失败"); if(isCommitting){
Assert.throwEx("该活动核销中,操作失败");
}
} }
List<VtbFundFlow> fundFlowList = fundFlowService.listByActivity(activity.getId(),VtbFundFlowType.Verification); List<VtbFundFlow> fundFlowList = fundFlowService.listByActivity(activity.getId(),VtbFundFlowType.Verification);
BigDecimal totalFunFlow = BigDecimal.ZERO; BigDecimal totalFunFlow = BigDecimal.ZERO;

Loading…
Cancel
Save