|
|
@ -8,6 +8,8 @@ import com.qs.serve.common.util.*; |
|
|
|
import com.qs.serve.modules.data.entity.DataAffairCommit; |
|
|
|
import com.qs.serve.modules.data.mapper.DataAffairCommitMapper; |
|
|
|
import com.qs.serve.modules.seeyon.entity.CtpAffair; |
|
|
|
import com.qs.serve.modules.seeyon.entity.SyAffairStateResult; |
|
|
|
import com.qs.serve.modules.seeyon.enums.SyAffairState; |
|
|
|
import com.qs.serve.modules.seeyon.service.SeeYonRequestService; |
|
|
|
import com.qs.serve.modules.sys.entity.SysPostUser; |
|
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
@ -30,6 +32,7 @@ import com.qs.serve.modules.vtb.entity.*; |
|
|
|
import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl; |
|
|
|
import com.qs.serve.task.TbsTask; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
import org.springframework.beans.BeansException; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@ -51,6 +54,7 @@ import java.util.stream.Collectors; |
|
|
|
* @author YenHex |
|
|
|
* @since 2023/2/14 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
@AllArgsConstructor |
|
|
|
public class VtbVerificationApplication { |
|
|
@ -69,6 +73,7 @@ public class VtbVerificationApplication { |
|
|
|
private SysUserService sysUserService; |
|
|
|
private SeeYonRequestService seeYonService; |
|
|
|
private VtbFundFlowService vtbFundFlowService; |
|
|
|
private VtbVerificationOperationServiceImpl verificationOperationService; |
|
|
|
|
|
|
|
public R<?> commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){ |
|
|
|
//临时测试
|
|
|
@ -85,6 +90,7 @@ public class VtbVerificationApplication { |
|
|
|
List<VtbVerificationSubjectCenter> verificationSubjectCenterList = vtbVerificationSubjectCenterService.listByVerificationId(verification.getId()); |
|
|
|
List<VtbVerificationSubject> verificationSubjects = vtbVerificationSubjectService.listByVerificationId(verification.getId()); |
|
|
|
//检测参数的金额
|
|
|
|
log.debug("checkParamAmount 检测参数的核销金额"); |
|
|
|
this.checkParamAmount(affairCommit, verificationSubjectCenterList, verificationSubjects); |
|
|
|
boolean isBackCommit = affairCommit.getState()==2; |
|
|
|
R<String> result; |
|
|
@ -94,24 +100,41 @@ public class VtbVerificationApplication { |
|
|
|
result = R.ok(); |
|
|
|
} |
|
|
|
if(result.getStatus()==200){ |
|
|
|
//提交审批
|
|
|
|
log.debug("提交审批到致远,{}",JsonUtil.objectToJson(result)); |
|
|
|
// 判断是否含有下个节点
|
|
|
|
try { |
|
|
|
Thread.sleep(3000); |
|
|
|
Thread.sleep(500); |
|
|
|
} catch (InterruptedException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
String summeryResult = result.getData(); |
|
|
|
if(!result.getData().equals("stop")){ |
|
|
|
VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class); |
|
|
|
summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString()); |
|
|
|
if(devFlag){ |
|
|
|
summeryResult = "finished"; |
|
|
|
return R.ok(); |
|
|
|
} |
|
|
|
}else { |
|
|
|
//verificationOperationService.runCompensate(verification.getId()+"");
|
|
|
|
|
|
|
|
String templateCode = verificationOperationService.getTemplateCode(); |
|
|
|
SyAffairStateResult stateResult = verificationOperationService.checkAffairState(verification.getId()+"",templateCode); |
|
|
|
SyAffairState affairState = stateResult.getState(); |
|
|
|
String summeryResult = affairState.toString(); |
|
|
|
if(affairState.equals(SyAffairState.backed)||affairState.equals(SyAffairState.refuse)){ |
|
|
|
summeryResult = "refuse"; |
|
|
|
} |
|
|
|
//提交审批
|
|
|
|
log.debug("提交审批到致远,检查单据[{}]状态:{}",verification.getVerificationCode(),affairState); |
|
|
|
|
|
|
|
R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult); |
|
|
|
|
|
|
|
// String summeryResult = result.getData();
|
|
|
|
// if(!result.getData().equals("stop")){
|
|
|
|
// VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class);
|
|
|
|
// summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString());
|
|
|
|
// if(devFlag){
|
|
|
|
// summeryResult = "finished";
|
|
|
|
// return R.ok();
|
|
|
|
// }
|
|
|
|
// }else {
|
|
|
|
// summeryResult = "refuse";
|
|
|
|
// }
|
|
|
|
// R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult);
|
|
|
|
|
|
|
|
try { |
|
|
|
//解决同步冻结时有过期的活动
|
|
|
|
TbsTask tbsTask = SpringUtils.getBean(TbsTask.class); |
|
|
@ -182,6 +205,8 @@ public class VtbVerificationApplication { |
|
|
|
@NotNull |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public R commitAffairSuccess(TbsAffairCommitBo affairCommit, VtbVerification verification, boolean isBackCommit, String flag) { |
|
|
|
log.debug("单据[{}]状态:{},",verification.getVerificationCode(),flag); |
|
|
|
|
|
|
|
String userId = AuthContextUtils.getSysUserId(); |
|
|
|
SysUser sysUser = sysUserService.getById(userId); |
|
|
|
try { |
|
|
@ -226,8 +251,10 @@ public class VtbVerificationApplication { |
|
|
|
//释放费用
|
|
|
|
boolean isRelease = affairCommit.getReleaseFlag()!=null&&affairCommit.getReleaseFlag().equals(1); |
|
|
|
if (isStop){ |
|
|
|
log.debug("单据[{}]状态:{},中止审批",verification.getVerificationCode(),flag); |
|
|
|
backCommitAndStop(verification, isBackCommit); |
|
|
|
if(isRelease){ |
|
|
|
log.debug("单据[{}]状态:{},中止审批并释放费用",verification.getVerificationCode(),flag); |
|
|
|
vtbVerificationService.release(verification.getActivityId(),sysUser.getCode(),false); |
|
|
|
} |
|
|
|
}else if (!isFinish && !isNext){ |
|
|
|