|
|
|
|
@ -24,6 +24,12 @@ import org.dromara.oa.erp.mapper.ErpProjectInfoMapper;
|
|
|
|
|
import org.dromara.oa.erp.mapper.ErpProjectPlanMapper;
|
|
|
|
|
import org.dromara.oa.erp.mapper.ErpProjectPlanStageMapper;
|
|
|
|
|
import org.dromara.oa.erp.service.IErpContractOrderService;
|
|
|
|
|
import org.dromara.oa.erp.constant.ProjectCategoryConstant;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.github.yulichang.toolkit.JoinWrappers;
|
|
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
|
|
import org.dromara.system.api.RemoteCodeRuleService;
|
|
|
|
|
import org.dromara.workflow.api.RemoteWorkflowService;
|
|
|
|
|
import org.dromara.workflow.api.domain.RemoteStartProcess;
|
|
|
|
|
@ -70,11 +76,70 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService {
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public ErpProjectInfoVo queryById(Long projectId) {
|
|
|
|
|
ErpProjectInfo projectInfo = projectInfoMapper.selectById(projectId);
|
|
|
|
|
if (projectInfo == null) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return MapstructUtils.convert(projectInfo, ErpProjectInfoVo.class);
|
|
|
|
|
MPJLambdaWrapper<ErpProjectInfo> lqw = JoinWrappers.lambda(ErpProjectInfo.class)
|
|
|
|
|
.eq(ErpProjectInfo::getProjectId, projectId)
|
|
|
|
|
.eq(ErpProjectInfo::getProjectCategory, ProjectCategoryConstant.CONTRACT_ORDER)
|
|
|
|
|
.eq("t.del_flag", "0");
|
|
|
|
|
List<ErpProjectInfoVo> list = projectInfoMapper.selectCustomErpProjectInfoVoList(lqw);
|
|
|
|
|
return !list.isEmpty() ? list.get(0) : null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 分页查询合同订单列表
|
|
|
|
|
*
|
|
|
|
|
* @param bo 查询条件
|
|
|
|
|
* @param pageQuery 分页参数
|
|
|
|
|
* @return 合同订单分页列表
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public TableDataInfo<ErpProjectInfoVo> queryPageList(ErpProjectInfoBo bo, PageQuery pageQuery) {
|
|
|
|
|
MPJLambdaWrapper<ErpProjectInfo> lqw = buildQueryWrapper(bo);
|
|
|
|
|
Page<ErpProjectInfoVo> result = projectInfoMapper.selectCustomErpProjectInfoVoList(pageQuery.build(), lqw);
|
|
|
|
|
return TableDataInfo.build(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询符合条件的合同订单列表
|
|
|
|
|
*
|
|
|
|
|
* @param bo 查询条件
|
|
|
|
|
* @return 合同订单列表
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public List<ErpProjectInfoVo> queryList(ErpProjectInfoBo bo) {
|
|
|
|
|
MPJLambdaWrapper<ErpProjectInfo> lqw = buildQueryWrapper(bo);
|
|
|
|
|
return projectInfoMapper.selectCustomErpProjectInfoVoList(lqw);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 构建查询条件
|
|
|
|
|
*
|
|
|
|
|
* @param bo 查询条件
|
|
|
|
|
* @return 查询包装器
|
|
|
|
|
*/
|
|
|
|
|
private MPJLambdaWrapper<ErpProjectInfo> buildQueryWrapper(ErpProjectInfoBo bo) {
|
|
|
|
|
MPJLambdaWrapper<ErpProjectInfo> lqw = JoinWrappers.lambda(ErpProjectInfo.class)
|
|
|
|
|
.selectAll(ErpProjectInfo.class)
|
|
|
|
|
.eq(ErpProjectInfo::getProjectCategory, ProjectCategoryConstant.CONTRACT_ORDER)
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getContractFlag()), ErpProjectInfo::getContractFlag, bo.getContractFlag())
|
|
|
|
|
.like(StringUtils.isNotBlank(bo.getProjectCode()), ErpProjectInfo::getProjectCode, bo.getProjectCode())
|
|
|
|
|
.like(StringUtils.isNotBlank(bo.getProjectName()), ErpProjectInfo::getProjectName, bo.getProjectName())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getBusinessDirection()), ErpProjectInfo::getBusinessDirection, bo.getBusinessDirection())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getSpareFlag()), ErpProjectInfo::getSpareFlag, bo.getSpareFlag())
|
|
|
|
|
.eq(bo.getProjectTypeId() != null, ErpProjectInfo::getProjectTypeId, bo.getProjectTypeId())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getPaymentMethod()), ErpProjectInfo::getPaymentMethod, bo.getPaymentMethod())
|
|
|
|
|
.eq(bo.getDeptId() != null, ErpProjectInfo::getDeptId, bo.getDeptId())
|
|
|
|
|
.eq(bo.getManagerId() != null, ErpProjectInfo::getManagerId, bo.getManagerId())
|
|
|
|
|
.eq(bo.getChargeId() != null, ErpProjectInfo::getChargeId, bo.getChargeId())
|
|
|
|
|
.eq(bo.getDeputyId() != null, ErpProjectInfo::getDeputyId, bo.getDeputyId())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getPeopleId()), ErpProjectInfo::getPeopleId, bo.getPeopleId())
|
|
|
|
|
.eq(bo.getAmount() != null, ErpProjectInfo::getAmount, bo.getAmount())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getProjectStatus()), ErpProjectInfo::getProjectStatus, bo.getProjectStatus())
|
|
|
|
|
.eq(StringUtils.isNotBlank(bo.getFlowStatus()), ErpProjectInfo::getFlowStatus, bo.getFlowStatus())
|
|
|
|
|
.eq(bo.getContractId() != null, ErpProjectInfo::getContractId, bo.getContractId())
|
|
|
|
|
.eq(ErpProjectInfo::getProjectCategory, ProjectCategoryConstant.CONTRACT_ORDER)
|
|
|
|
|
.eq("t.del_flag", "0")
|
|
|
|
|
.orderByDesc(ErpProjectInfo::getCreateTime);
|
|
|
|
|
return lqw;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|