1.0.53 合同订单审批流程优化,存储终版合同

dev
yinq 3 days ago
parent 68c1c1bdb7
commit 6560c1346f

@ -11,12 +11,15 @@ import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.oa.erp.domain.ErpContractInfo;
import org.dromara.oa.erp.domain.ErpProjectInfo;
import org.dromara.oa.erp.domain.ErpProjectPlan;
import org.dromara.oa.erp.domain.ErpProjectPlanStage;
import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo;
import org.dromara.oa.erp.domain.bo.ErpProjectPlanStageBo;
import org.dromara.oa.erp.domain.vo.ErpContractInfoVo;
import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo;
import org.dromara.oa.erp.mapper.ErpContractInfoMapper;
import org.dromara.oa.erp.mapper.ErpProjectInfoMapper;
import org.dromara.oa.erp.mapper.ErpProjectPlanMapper;
import org.dromara.oa.erp.mapper.ErpProjectPlanStageMapper;
@ -50,8 +53,10 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService {
private final ErpProjectInfoMapper projectInfoMapper;
private final ErpProjectPlanMapper projectPlanMapper;
private final ErpProjectPlanStageMapper planStageMapper;
private final ErpContractInfoMapper contractInfoMapper;
@DubboReference(timeout = 30000)
@DubboReference(timeout = 300000)
private RemoteWorkflowService remoteWorkflowService;
@DubboReference(timeout = 30000)
@ -84,9 +89,20 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService {
// 保存项目信息
ErpProjectInfo projectInfo = MapstructUtils.convert(bo, ErpProjectInfo.class);
validEntityBeforeSave(projectInfo);
if (StringUtils.isNotNull(bo.getOssId()) && StringUtils.isNotNull(bo.getContractId())) {
ErpContractInfoVo contractInfoVo = contractInfoMapper.selectVoById(bo.getContractId());
ErpContractInfo contractInfo = new ErpContractInfo();
contractInfo.setContractId(contractInfoVo.getContractId());
contractInfo.setSignatureAppendix(Long.valueOf(bo.getOssId()));
contractInfoMapper.updateById(contractInfo);
}
if (StringUtils.isNull(bo.getProjectId())) {
// 新增
String code = remoteCodeRuleService.selectCodeRuleCode("1018");
assert projectInfo != null;
projectInfo.setProjectCode(code);
projectInfoMapper.insert(projectInfo);
bo.setProjectId(projectInfo.getProjectId());
} else {
@ -124,10 +140,6 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService {
// 先保存项目信息和项目阶段计划
ErpProjectInfoVo vo = saveContractOrder(bo);
if (1==1) {
return vo;
}
// 后端发起需要忽略权限
bo.getVariables().put("ignore", true);
RemoteStartProcess startProcess = new RemoteStartProcess();
@ -136,6 +148,7 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService {
startProcess.setVariables(bo.getVariables());
startProcess.setBizExt(bo.getBizExt());
bo.getBizExt().setBusinessId(startProcess.getBusinessId());
bo.getBizExt().setBusinessCode(bo.getProjectCode());
boolean flagOne = remoteWorkflowService.startCompleteTask(startProcess);
if (!flagOne) {
throw new ServiceException("流程发起异常");

Loading…
Cancel
Save