1.0.54 合同订单信息页面接口,通过项目类别区分项目与合同订单

dev
yinq 4 days ago
parent 3d26dce5b8
commit 1045837bd7

@ -0,0 +1,36 @@
package org.dromara.oa.erp.constant;
/**
*
*
* @author ruoyi
*/
public interface ProjectCategoryConstant {
/**
*
*/
String MARKET = "1";
/**
*
*/
String MARKET_PART = "2";
/**
*
*/
String RD = "3";
/**
*
*/
String PRE_PRODUCTION = "4";
/**
*
*/
String CONTRACT_ORDER = "9";
}

@ -13,6 +13,8 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo;
import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo;
import org.dromara.oa.erp.service.IErpContractOrderService;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -31,6 +33,15 @@ public class ErpContractOrderController extends BaseController {
private final IErpContractOrderService erpContractOrderService;
/**
*
*/
@SaCheckPermission("oa/erp:projectInfo:list")
@GetMapping("/list")
public TableDataInfo<ErpProjectInfoVo> list(ErpProjectInfoBo bo, PageQuery pageQuery) {
return erpContractOrderService.queryPageList(bo, pageQuery);
}
/**
*
*/

@ -49,7 +49,7 @@ public class ErpProjectInfo extends TenantEntity {
private String businessDirection;
/**
* 1 2 3 4 5
* 1 2 3 4 9
*/
private String projectCategory;

@ -54,7 +54,7 @@ public class ErpProjectInfoBo extends BaseEntity {
private String businessDirection;
/**
* 1 2 3 4 5
* 1 2 3 4 9
*/
@NotBlank(message = "项目类别", groups = { AddGroup.class, EditGroup.class })
private String projectCategory;

@ -62,7 +62,7 @@ public class ErpProjectInfoVo implements Serializable {
private String businessDirection;
/**
* 1 2 3 4 5
* 1 2 3 4 9
*/
@ExcelProperty(value = "项目类别", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "project_category")
@ -197,4 +197,16 @@ public class ErpProjectInfoVo implements Serializable {
@ExcelProperty(value = "分管副总名称")
private String deputyName;
/**
*
*/
@ExcelProperty(value = "合同编号")
private String contractCode;
/**
*
*/
@ExcelProperty(value = "合同名称")
private String contractName;
}

@ -2,6 +2,10 @@ package org.dromara.oa.erp.service;
import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo;
import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.List;
/**
* Service
@ -19,6 +23,23 @@ public interface IErpContractOrderService {
*/
ErpProjectInfoVo queryById(Long projectId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<ErpProjectInfoVo> queryPageList(ErpProjectInfoBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<ErpProjectInfoVo> queryList(ErpProjectInfoBo bo);
/**
*
*

@ -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;
}
/**

@ -14,6 +14,7 @@ import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.oa.erp.constant.ProjectCategoryConstant;
import org.dromara.oa.erp.enums.ProjectCategoryEnum;
import org.dromara.workflow.api.event.ProcessEvent;
import org.springframework.context.event.EventListener;
@ -121,6 +122,7 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService {
.eq(bo.getSortOrder() != null, ErpProjectInfo::getSortOrder, bo.getSortOrder())
.eq(bo.getContractId() != null, ErpProjectInfo::getContractId, bo.getContractId())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpProjectInfo::getActiveFlag, bo.getActiveFlag())
.ne(ErpProjectInfo::getProjectCategory, ProjectCategoryConstant.CONTRACT_ORDER)
.eq("t.del_flag", "0")
.orderByDesc(ErpProjectInfo::getCreateTime);
return lqw;
@ -318,6 +320,7 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService {
wrapper.like(StringUtils.isNotBlank(bo.getProjectCode()), ErpProjectInfo::getProjectCode, bo.getProjectCode())
.like(StringUtils.isNotBlank(bo.getProjectName()), ErpProjectInfo::getProjectName, bo.getProjectName())
.eq(StringUtils.isNotBlank(bo.getProjectStatus()), ErpProjectInfo::getProjectStatus, bo.getProjectStatus())
.ne(ErpProjectInfo::getProjectCategory, ProjectCategoryConstant.CONTRACT_ORDER)
.eq("t.del_flag", "0")
.and(w ->
{
@ -328,12 +331,8 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService {
w.eq(StringUtils.isNotBlank(bo.getProjectCategory()), ErpProjectInfo::getProjectCategory, ProjectCategoryEnum.RD.getCode())
.or().eq(StringUtils.isNotBlank(bo.getProjectCategory()), ErpProjectInfo::getProjectCategory, ProjectCategoryEnum.PRE_PRODUCTION.getCode());
}
}).orderByDesc(ErpProjectInfo::getCreateTime);
;
return wrapper;
}
}

@ -20,6 +20,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.oa.erp.constant.ProjectCategoryConstant;
import org.dromara.oa.erp.domain.ErpProjectPlan;
import org.dromara.oa.erp.domain.ErpProjectPlanStage;
import org.dromara.oa.erp.domain.bo.ErpProjectPlanBo;
@ -129,6 +130,7 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService {
.eq(bo.getContractId() != null, ErpProjectPlan::getContractId, bo.getContractId())
.eq(StringUtils.isNotBlank(bo.getOssId()), ErpProjectPlan::getOssId, bo.getOssId())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpProjectPlan::getActiveFlag, bo.getActiveFlag())
.ne("p.project_category", ProjectCategoryConstant.CONTRACT_ORDER)
.orderByDesc(ErpProjectPlan::getCreateTime);
return lqw;
}

@ -40,7 +40,9 @@
d.dept_name deptName,
u1.nick_name managerName,
u2.nick_name chargeName,
u3.nick_name deputyName
u3.nick_name deputyName,
c.contract_code contractCode,
c.contract_name contractName
from erp_project_info t
left join erp_project_type t1 on t1.project_type_id = t.project_type_id
left join erp_project_type t2 on t1.parent_id = t2.project_type_id
@ -48,6 +50,7 @@
left join sys_user u1 on u1.user_id = t.manager_id
left join sys_user u2 on u2.user_id = t.charge_id
left join sys_user u3 on u3.user_id = t.deputy_id
left join erp_contract_info c on t.contract_id = c.contract_id
${ew.getCustomSqlSegment}
</select>

Loading…
Cancel
Save