|
|
|
|
@ -28,6 +28,7 @@ import org.dromara.oa.erp.mapper.*;
|
|
|
|
|
import org.dromara.oa.excel.MarketProjectBudgetExcelExporter;
|
|
|
|
|
import org.dromara.oa.excel.RdProjectBudgetExcelExporter;
|
|
|
|
|
import org.dromara.oa.workflow.strategy.BudgetWorkflowStrategy;
|
|
|
|
|
import org.dromara.system.api.RemoteCodeRuleService;
|
|
|
|
|
import org.dromara.workflow.api.RemoteWorkflowService;
|
|
|
|
|
import org.dromara.workflow.api.domain.RemoteStartProcess;
|
|
|
|
|
import org.dromara.workflow.enums.FlowConfigEnum;
|
|
|
|
|
@ -54,6 +55,8 @@ import java.util.function.Function;
|
|
|
|
|
@Service
|
|
|
|
|
public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService<ErpBudgetInfoBo> implements IErpBudgetInfoService {
|
|
|
|
|
|
|
|
|
|
private static final String BUDGET_CODE_RULE = "1032";
|
|
|
|
|
|
|
|
|
|
private final ErpBudgetInfoMapper baseMapper;
|
|
|
|
|
|
|
|
|
|
private final ErpBudgetDetailMapper erpBudgetDetailMapper;
|
|
|
|
|
@ -98,6 +101,9 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService<ErpBudgetI
|
|
|
|
|
@DubboReference(timeout = 30000)
|
|
|
|
|
private RemoteWorkflowService remoteWorkflowService;
|
|
|
|
|
|
|
|
|
|
@DubboReference(timeout = 30000)
|
|
|
|
|
private RemoteCodeRuleService remoteCodeRuleService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected WorkflowStrategy<ErpBudgetInfoBo> getStrategy() {
|
|
|
|
|
return new BudgetWorkflowStrategy();
|
|
|
|
|
@ -276,8 +282,15 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService<ErpBudgetI
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public Boolean insertByBo(ErpBudgetInfoBo bo) {
|
|
|
|
|
String code = remoteCodeRuleService.selectCodeRuleCode(BUDGET_CODE_RULE);
|
|
|
|
|
if (StringUtils.isBlank(code)) {
|
|
|
|
|
throw new ServiceException("生成回款编号失败");
|
|
|
|
|
}
|
|
|
|
|
bo.setBudgetCode(code);
|
|
|
|
|
|
|
|
|
|
ErpBudgetInfo add = MapstructUtils.convert(bo, ErpBudgetInfo.class);
|
|
|
|
|
validEntityBeforeSave(add);
|
|
|
|
|
|
|
|
|
|
boolean flag = baseMapper.insert(add) > 0;
|
|
|
|
|
|
|
|
|
|
if (add.getProjectCategory().equals(ProjectCategoryEnum.MARKET.getCode())
|
|
|
|
|
|