|
@ -3,20 +3,21 @@ package com.qs.serve.modules.vtb.service.impl; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.qs.serve.common.model.dto.R; |
|
|
import com.qs.serve.common.model.dto.R; |
|
|
import com.qs.serve.common.util.Assert; |
|
|
import com.qs.serve.common.util.*; |
|
|
import com.qs.serve.common.util.AuthContextUtils; |
|
|
import com.qs.serve.common.util.model.DateFormatString; |
|
|
import com.qs.serve.common.util.CollectionUtil; |
|
|
|
|
|
import com.qs.serve.common.util.CopierUtil; |
|
|
|
|
|
import com.qs.serve.modules.bms.entity.BmsChannel; |
|
|
import com.qs.serve.modules.bms.entity.BmsChannel; |
|
|
import com.qs.serve.modules.bms.entity.BmsChannelPoint; |
|
|
import com.qs.serve.modules.bms.entity.BmsChannelPoint; |
|
|
import com.qs.serve.modules.bms.entity.BmsSubject; |
|
|
import com.qs.serve.modules.bms.entity.BmsSubject; |
|
|
import com.qs.serve.modules.bms.service.BmsChannelPointService; |
|
|
import com.qs.serve.modules.bms.service.BmsChannelPointService; |
|
|
import com.qs.serve.modules.bms.service.BmsChannelService; |
|
|
import com.qs.serve.modules.bms.service.BmsChannelService; |
|
|
import com.qs.serve.modules.bms.service.BmsSubjectService; |
|
|
import com.qs.serve.modules.bms.service.BmsSubjectService; |
|
|
|
|
|
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; |
|
|
|
|
|
import com.qs.serve.modules.seeyon.service.SeeYonService; |
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
import com.qs.serve.modules.sys.service.SysUserService; |
|
|
import com.qs.serve.modules.sys.service.SysUserService; |
|
|
import com.qs.serve.modules.tbs.common.TbsActivityState; |
|
|
import com.qs.serve.modules.tbs.common.TbsActivityState; |
|
|
import com.qs.serve.modules.tbs.common.TbsCostApplyState; |
|
|
import com.qs.serve.modules.tbs.common.TbsCostApplyState; |
|
|
|
|
|
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; |
|
|
import com.qs.serve.modules.tbs.entity.*; |
|
|
import com.qs.serve.modules.tbs.entity.*; |
|
|
import com.qs.serve.modules.tbs.entity.bo.TbsActivityChannelBo; |
|
|
import com.qs.serve.modules.tbs.entity.bo.TbsActivityChannelBo; |
|
|
import com.qs.serve.modules.tbs.entity.bo.TbsActivityChannelPointBo; |
|
|
import com.qs.serve.modules.tbs.entity.bo.TbsActivityChannelPointBo; |
|
@ -68,6 +69,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
private final VtbVerificationSubjectService verificationSubjectService; |
|
|
private final VtbVerificationSubjectService verificationSubjectService; |
|
|
private final VtbFundFlowService fundFlowService; |
|
|
private final VtbFundFlowService fundFlowService; |
|
|
|
|
|
|
|
|
|
|
|
private final SeeYonService seeYonService; |
|
|
|
|
|
|
|
|
private final SysUserService sysUserService; |
|
|
private final SysUserService sysUserService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -99,8 +102,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
fundFlow.setActivityId(activity.getId()); |
|
|
fundFlow.setActivityId(activity.getId()); |
|
|
fundFlow.setUsedAmount(releaseAmount); |
|
|
fundFlow.setUsedAmount(releaseAmount); |
|
|
fundFlowService.save(fundFlow); |
|
|
fundFlowService.save(fundFlow); |
|
|
|
|
|
|
|
|
//todo 恢复预算
|
|
|
//todo 恢复预算
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -140,8 +143,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void commit(VtbVerificationBo verificationBo) { |
|
|
public void commit(VtbVerificationBo verificationBo) { |
|
|
|
|
|
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); |
|
|
|
|
|
sysUser.checkSyAccount(); |
|
|
TbsActivity activity = activityService.getById(verificationBo.getActivityId()); |
|
|
TbsActivity activity = activityService.getById(verificationBo.getActivityId()); |
|
|
TbsCostApply costApply = costApplyService.getById(activity.getCostApplyId()); |
|
|
TbsCostApply costApply = costApplyService.getById(activity.getCostApplyId()); |
|
|
|
|
|
if(!costApply.getChargeState().equals(TbsCostApplyState.State_2_actioning.getCode())){ |
|
|
|
|
|
Assert.throwEx("当前费用状态不支持"); |
|
|
|
|
|
} |
|
|
validActivity(activity,true); |
|
|
validActivity(activity,true); |
|
|
VtbVerification verification = new VtbVerification(); |
|
|
VtbVerification verification = new VtbVerification(); |
|
|
verification.setId(verificationBo.getId()); |
|
|
verification.setId(verificationBo.getId()); |
|
@ -193,6 +201,10 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
verification.setAmount(totalAmount); |
|
|
verification.setAmount(totalAmount); |
|
|
//保存
|
|
|
//保存
|
|
|
this.saveOrUpdate(verification); |
|
|
this.saveOrUpdate(verification); |
|
|
|
|
|
this.commitSy(sysUser,verification); |
|
|
|
|
|
if(verification.getSyFormId()==null||verification.getSyFlowId()==null){ |
|
|
|
|
|
Assert.throwEx("远程调用失败"); |
|
|
|
|
|
} |
|
|
//移除历史提交记录
|
|
|
//移除历史提交记录
|
|
|
if(verificationBo.getId()!=null){ |
|
|
if(verificationBo.getId()!=null){ |
|
|
verificationChannelService.removeByVerificationId(verificationBo.getId()); |
|
|
verificationChannelService.removeByVerificationId(verificationBo.getId()); |
|
@ -214,7 +226,36 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe |
|
|
activityParam.setId(activity.getId()); |
|
|
activityParam.setId(activity.getId()); |
|
|
activityParam.setActivityState(TbsActivityState.STATE_1_Checking); |
|
|
activityParam.setActivityState(TbsActivityState.STATE_1_Checking); |
|
|
activityService.updateById(activityParam); |
|
|
activityService.updateById(activityParam); |
|
|
//todo 提交到OA
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 提交到致远审批流程 |
|
|
|
|
|
* @param sysUser |
|
|
|
|
|
* @param verification |
|
|
|
|
|
*/ |
|
|
|
|
|
private void commitSy(SysUser sysUser,VtbVerification verification){ |
|
|
|
|
|
Map<String, Object> data = new HashMap<>(10); |
|
|
|
|
|
data.put("empId",sysUser.getCode()); |
|
|
|
|
|
data.put("applyTime", DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME)); |
|
|
|
|
|
data.put("verAmount",verification.getAmount()); |
|
|
|
|
|
data.put("verId",verification.getId()); |
|
|
|
|
|
BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); |
|
|
|
|
|
createProcess.setTemplateCode(TbsSeeYonConst.VERIFICATION_FORM); |
|
|
|
|
|
createProcess.setMemberLoginName(sysUser.getSyAccount()); |
|
|
|
|
|
createProcess.setSubjectTitle(TbsSeeYonConst.PRE_TITLE_VERIFICATION + verification.getRemark()); |
|
|
|
|
|
createProcess.setDataJson(JsonUtil.objectToJson(data)); |
|
|
|
|
|
R<String> flowIdResult = seeYonService.baseCreateProcess(createProcess); |
|
|
|
|
|
if(flowIdResult.getStatus()!=200){ |
|
|
|
|
|
Assert.throwEx("远程服务调用失败"); |
|
|
|
|
|
} |
|
|
|
|
|
String flowId = flowIdResult.getData(); |
|
|
|
|
|
String formId = null; |
|
|
|
|
|
R<String> formIdResult = seeYonService.getCheckFormId(verification.getId()); |
|
|
|
|
|
if(formIdResult.getStatus()==200){ |
|
|
|
|
|
formId = formIdResult.getData(); |
|
|
|
|
|
} |
|
|
|
|
|
verification.setSyFlowId(flowId); |
|
|
|
|
|
verification.setSyFormId(formId); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|