|
|
|
|
@ -1,9 +1,12 @@
|
|
|
|
|
package org.dromara.oa.erp.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
|
|
import org.apache.seata.spring.annotation.GlobalTransactional;
|
|
|
|
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
|
|
|
|
import org.dromara.common.core.enums.OAStatusEnum;
|
|
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
@ -14,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.github.yulichang.toolkit.JoinWrappers;
|
|
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
|
|
import org.dromara.oa.erp.domain.*;
|
|
|
|
|
import org.dromara.oa.erp.enums.ProjectCategoryEnum;
|
|
|
|
|
import org.dromara.oa.erp.enums.RdBudgetCostEnums;
|
|
|
|
|
@ -21,6 +25,7 @@ import org.dromara.oa.erp.mapper.*;
|
|
|
|
|
import org.dromara.oa.workflow.strategy.BudgetWorkflowStrategy;
|
|
|
|
|
import org.dromara.workflow.api.RemoteWorkflowService;
|
|
|
|
|
import org.dromara.workflow.api.domain.RemoteStartProcess;
|
|
|
|
|
import org.dromara.workflow.enums.FlowConfigEnum;
|
|
|
|
|
import org.dromara.workflow.strategy.AbstractWorkflowService;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.dromara.oa.erp.domain.bo.ErpBudgetInfoBo;
|
|
|
|
|
@ -29,10 +34,7 @@ import org.dromara.oa.erp.service.IErpBudgetInfoService;
|
|
|
|
|
import org.dromara.workflow.strategy.WorkflowStrategy;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
|
import java.util.function.Function;
|
|
|
|
|
|
|
|
|
|
@ -250,7 +252,8 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService<ErpBudgetI
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getExportFlag()), ErpBudgetInfo::getExportFlag, bo.getExportFlag())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getBudgetStatus()), ErpBudgetInfo::getBudgetStatus, bo.getBudgetStatus())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getFlowStatus()), ErpBudgetInfo::getFlowStatus, bo.getFlowStatus())
|
|
|
|
|
.eq(bo.getContractId() != null, ErpBudgetInfo::getContractId, bo.getContractId());
|
|
|
|
|
.eq(bo.getContractId() != null, ErpBudgetInfo::getContractId, bo.getContractId())
|
|
|
|
|
.orderByDesc(ErpBudgetInfo::getCreateTime).orderByDesc(ErpBudgetInfo::getProjectCode);
|
|
|
|
|
return lqw;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -265,7 +268,6 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService<ErpBudgetI
|
|
|
|
|
public Boolean insertByBo(ErpBudgetInfoBo bo) {
|
|
|
|
|
ErpBudgetInfo add = MapstructUtils.convert(bo, ErpBudgetInfo.class);
|
|
|
|
|
validEntityBeforeSave(add);
|
|
|
|
|
add.setApprovedFlag(add.getProjectId());
|
|
|
|
|
add.setBudgetVersion(1L);
|
|
|
|
|
boolean flag = baseMapper.insert(add) > 0;
|
|
|
|
|
|
|
|
|
|
@ -692,8 +694,25 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService<ErpBudgetI
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
|
|
if (isValid) {
|
|
|
|
|
//TODO 做一些业务上的校验,判断是否需要校验
|
|
|
|
|
ids.forEach(id->{
|
|
|
|
|
ErpBudgetInfo erpBudgetInfo = baseMapper.selectById(id);
|
|
|
|
|
if(!erpBudgetInfo.getBudgetStatus().equals(OAStatusEnum.DRAFT.getStatus())
|
|
|
|
|
|| !erpBudgetInfo.getFlowStatus().equals(BusinessStatusEnum.DRAFT.getStatus())){
|
|
|
|
|
throw new ServiceException("此项目预算已进入审批,不能删除!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<ErpBudgetInfo> luw = new LambdaUpdateWrapper<>();
|
|
|
|
|
// luw.set(ObjectUtil.isNull(config.getPrefix()), SysOssConfig::getPrefix, "");
|
|
|
|
|
luw.set(ErpBudgetInfo::getBudgetVersion,null);
|
|
|
|
|
luw.set(ErpBudgetInfo::getDelFlag,"1");
|
|
|
|
|
luw.set(ErpBudgetInfo::getUpdateBy, LoginHelper.getUserId());
|
|
|
|
|
luw.set(ErpBudgetInfo::getUpdateTime,new Date());
|
|
|
|
|
luw.eq(ErpBudgetInfo::getBudgetId, erpBudgetInfo.getBudgetId());
|
|
|
|
|
boolean flag = baseMapper.update(null, luw) > 0;
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
|
|
return true;
|
|
|
|
|
// return baseMapper.deleteByIds(ids) > 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|