|
|
@ -3,8 +3,13 @@ package com.qs.serve.modules.tbs.service.impl; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
import com.qs.serve.common.config.properties.ProjectProperties; |
|
|
|
import com.qs.serve.common.framework.manager.AsyncFactory; |
|
|
|
import com.qs.serve.common.framework.manager.AsyncManager; |
|
|
|
import com.qs.serve.common.model.dto.R; |
|
|
|
import com.qs.serve.common.model.enums.BudgetLogOptFlag; |
|
|
|
import com.qs.serve.common.util.*; |
|
|
|
import com.qs.serve.common.util.model.DateFormatString; |
|
|
|
import com.qs.serve.modules.bms.entity.BmsSubject; |
|
|
|
import com.qs.serve.modules.bms.service.BmsSubjectService; |
|
|
|
import com.qs.serve.modules.goods.entity.GoodsCategory; |
|
|
@ -14,6 +19,8 @@ import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; |
|
|
|
import com.qs.serve.modules.goods.service.GoodsCategoryService; |
|
|
|
import com.qs.serve.modules.goods.service.GoodsSkuService; |
|
|
|
import com.qs.serve.modules.goods.service.GoodsSpuService; |
|
|
|
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; |
|
|
|
import com.qs.serve.modules.seeyon.service.SeeYonRequestService; |
|
|
|
import com.qs.serve.modules.sys.entity.SysAttach; |
|
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
|
import com.qs.serve.modules.sys.service.SysAttachService; |
|
|
@ -21,6 +28,7 @@ import com.qs.serve.modules.sys.service.SysUserService; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsCenterType; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsGoodsType; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; |
|
|
|
import com.qs.serve.modules.tbs.common.consts.ConditionMapEnum; |
|
|
|
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; |
|
|
|
import com.qs.serve.modules.tbs.entity.*; |
|
|
@ -42,6 +50,7 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
@ -76,8 +85,56 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
private final VtbFundFlowService vtbFundFlowService; |
|
|
|
|
|
|
|
private SysAttachService attachService; |
|
|
|
private SeeYonRequestService seeYonService; |
|
|
|
private ProjectProperties projectProperties; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void commitApply(Long id) { |
|
|
|
seeYonService.testConnection(); |
|
|
|
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); |
|
|
|
TbsBudget tbsBudget = this.getById(id); |
|
|
|
Map<String,Object> data = new HashMap<>(); |
|
|
|
data.put("exsp5", tbsBudget.getBudgetCode()); |
|
|
|
data.put("orgId", tbsBudget.getId().toString()); |
|
|
|
data.put("applyUserCode", sysUser.getCode()); |
|
|
|
data.put("applyUserName", sysUser.getName()); |
|
|
|
data.put("targetId", tbsBudget.getId()+""); |
|
|
|
data.put("targetCode", tbsBudget.getBudgetNumber()); |
|
|
|
data.put("exsp1",TbsSeeYonConst.CostApplyContractConf.Code()); |
|
|
|
//添加跳转地址业务
|
|
|
|
String baseJumpUrl = JumpToUtil.getJumpUrl(projectProperties.getWebUrl(),TbsSeeYonConst.CostApplyConf.Code(),id+""); |
|
|
|
data.put("cmsLink",baseJumpUrl); |
|
|
|
|
|
|
|
data.put("rowDate",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME)); |
|
|
|
data.put("rowState","03"); |
|
|
|
|
|
|
|
String templateCode = TbsSeeYonConst.BudgetApplyConf.Code(); |
|
|
|
BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); |
|
|
|
createProcess.setTemplateCode(templateCode); |
|
|
|
createProcess.setMemberLoginName(sysUser.getSyAccount()); |
|
|
|
createProcess.setSubjectTitle(tbsBudget.getBudgetCode()+"【"+tbsBudget.getBudgetNumber()+"】"); |
|
|
|
createProcess.setTargetId(tbsBudget.getId()+""); |
|
|
|
createProcess.setDataJson(JsonUtil.objectToJson(data)); |
|
|
|
R<String> flowIdResult = seeYonService.baseCreateProcess(createProcess); |
|
|
|
if(flowIdResult.getStatus()!=200){ |
|
|
|
Assert.throwEx("远程服务调用失败"); |
|
|
|
} |
|
|
|
String formId = null; |
|
|
|
R<String> formIdResult = seeYonService.getFormId(templateCode,tbsBudget.getId()); |
|
|
|
if(formIdResult.getStatus()==200){ |
|
|
|
formId = formIdResult.getData(); |
|
|
|
} |
|
|
|
tbsBudget.setSubmitTime(LocalDateTime.now()); |
|
|
|
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); |
|
|
|
tbsBudget.setSyFormId(formId); |
|
|
|
this.updateById(tbsBudget); |
|
|
|
|
|
|
|
//请求校验是否成功
|
|
|
|
AsyncManager.me().execute(AsyncFactory.submitBudgetApply(tbsBudget.getId()+"")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void modify(TbsBudgetBo budgetBo) { |
|
|
|