diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectContractsVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectContractsVo.java index b49205ca..74268d59 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectContractsVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectContractsVo.java @@ -10,6 +10,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -65,5 +66,43 @@ public class ErpProjectContractsVo implements Serializable { @ExcelDictFormat(dictType = "active_flag") private String activeFlag; + /** + * 项目名称 + */ + @ExcelProperty(value = "项目名称") + private String projectName; + + /** + * 合同编号 + */ + @ExcelProperty(value = "合同编号") + private String contractCode; + + /** + * 合同名称 + */ + @ExcelProperty(value = "合同名称") + private String contractName; + + /** + * 合同总价 + */ + @ExcelProperty(value = "合同总价") + private BigDecimal totalPrice; + + /** + * 业务方向 + */ + @ExcelProperty(value = "业务方向", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "business_direction") + private String businessDirection; + + /** + * 合同状态 + */ + @ExcelProperty(value = "合同状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "contract_status") + private String contractStatus; + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectInfoVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectInfoVo.java index aa6ec86d..badc9e93 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectInfoVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpProjectInfoVo.java @@ -161,5 +161,34 @@ public class ErpProjectInfoVo implements Serializable { @ExcelDictFormat(dictType = "active_flag") private String activeFlag; + /** + * 项目类型名称 + */ + @ExcelProperty(value = "项目类型名称") + private String typeName; + + /** + * 部门名称 + */ + @ExcelProperty(value = "部门名称") + private String deptName; + + /** + * 项目经理名称 + */ + @ExcelProperty(value = "项目经理名称") + private String managerName; + + /** + * 部门负责人名称 + */ + @ExcelProperty(value = "部门负责人名称") + private String chargeName; + + /** + * 分管副总名称 + */ + @ExcelProperty(value = "分管副总名称") + private String deputyName; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectContractsServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectContractsServiceImpl.java index 0b1316be..9e7dfa6f 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectContractsServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectContractsServiceImpl.java @@ -53,7 +53,7 @@ public class ErpProjectContractsServiceImpl implements IErpProjectContractsServi @Override public TableDataInfo queryPageList(ErpProjectContractsBo bo, PageQuery pageQuery) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + Page result = baseMapper.selectCustomErpProjectContractsVoList(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -66,7 +66,7 @@ public class ErpProjectContractsServiceImpl implements IErpProjectContractsServi @Override public List queryList(ErpProjectContractsBo bo) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + return baseMapper.selectCustomErpProjectContractsVoList(lqw); } private MPJLambdaWrapper buildQueryWrapper(ErpProjectContractsBo bo) { diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java index 1d9ad6b1..4c79c278 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java @@ -2,9 +2,9 @@ package org.dromara.oa.erp.service.impl; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; - 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 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 com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -39,23 +39,23 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { * @return 项目信息 */ @Override - public ErpProjectInfoVo queryById(Long projectId){ + public ErpProjectInfoVo queryById(Long projectId) { return baseMapper.selectVoById(projectId); } - /** - * 分页查询项目信息列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 项目信息分页列表 - */ - @Override - public TableDataInfo queryPageList(ErpProjectInfoBo bo, PageQuery pageQuery) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } + /** + * 分页查询项目信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目信息分页列表 + */ + @Override + public TableDataInfo queryPageList(ErpProjectInfoBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectCustomErpProjectInfoVoList(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } /** * 查询符合条件的项目信息列表 @@ -66,33 +66,32 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { @Override public List queryList(ErpProjectInfoBo bo) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + return baseMapper.selectCustomErpProjectInfoVoList(lqw); } private MPJLambdaWrapper buildQueryWrapper(ErpProjectInfoBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(ErpProjectInfo.class) - .selectAll(ErpProjectInfo.class) - .eq(StringUtils.isNotBlank(bo.getContractFlag()), ErpProjectInfo::getContractFlag, bo.getContractFlag()) - .eq(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.getProjectCategory()), ErpProjectInfo::getProjectCategory, bo.getProjectCategory()) - .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.getSortOrder() != null, ErpProjectInfo::getSortOrder, bo.getSortOrder()) - .eq(bo.getContractId() != null, ErpProjectInfo::getContractId, bo.getContractId()) - .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpProjectInfo::getActiveFlag, bo.getActiveFlag()) -; + .selectAll(ErpProjectInfo.class) + .eq(StringUtils.isNotBlank(bo.getContractFlag()), ErpProjectInfo::getContractFlag, bo.getContractFlag()) + .eq(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.getProjectCategory()), ErpProjectInfo::getProjectCategory, bo.getProjectCategory()) + .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.getSortOrder() != null, ErpProjectInfo::getSortOrder, bo.getSortOrder()) + .eq(bo.getContractId() != null, ErpProjectInfo::getContractId, bo.getContractId()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpProjectInfo::getActiveFlag, bo.getActiveFlag()); return lqw; } @@ -129,7 +128,7 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(ErpProjectInfo entity){ + private void validEntityBeforeSave(ErpProjectInfo entity) { //TODO 做一些数据校验,如唯一约束 } @@ -142,7 +141,7 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectContractsMapper.xml b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectContractsMapper.xml index d189af5d..ec19551c 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectContractsMapper.xml +++ b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectContractsMapper.xml @@ -7,7 +7,28 @@ diff --git a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectInfoMapper.xml b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectInfoMapper.xml index a5697740..49228186 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectInfoMapper.xml +++ b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpProjectInfoMapper.xml @@ -7,7 +7,46 @@