1.0.23 项目信息、项目关联合同逻辑

dev
yinq 2 months ago
parent e409437714
commit 340c6f1788

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

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

@ -53,7 +53,7 @@ public class ErpProjectContractsServiceImpl implements IErpProjectContractsServi
@Override
public TableDataInfo<ErpProjectContractsVo> queryPageList(ErpProjectContractsBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ErpProjectContracts> lqw = buildQueryWrapper(bo);
Page<ErpProjectContractsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
Page<ErpProjectContractsVo> result = baseMapper.selectCustomErpProjectContractsVoList(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@ -66,7 +66,7 @@ public class ErpProjectContractsServiceImpl implements IErpProjectContractsServi
@Override
public List<ErpProjectContractsVo> queryList(ErpProjectContractsBo bo) {
MPJLambdaWrapper<ErpProjectContracts> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
return baseMapper.selectCustomErpProjectContractsVoList(lqw);
}
private MPJLambdaWrapper<ErpProjectContracts> buildQueryWrapper(ErpProjectContractsBo bo) {

@ -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<ErpProjectInfoVo> queryPageList(ErpProjectInfoBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ErpProjectInfo> lqw = buildQueryWrapper(bo);
Page<ErpProjectInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<ErpProjectInfoVo> queryPageList(ErpProjectInfoBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ErpProjectInfo> lqw = buildQueryWrapper(bo);
Page<ErpProjectInfoVo> result = baseMapper.selectCustomErpProjectInfoVoList(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
@ -66,33 +66,32 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService {
@Override
public List<ErpProjectInfoVo> queryList(ErpProjectInfoBo bo) {
MPJLambdaWrapper<ErpProjectInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
return baseMapper.selectCustomErpProjectInfoVoList(lqw);
}
private MPJLambdaWrapper<ErpProjectInfo> buildQueryWrapper(ErpProjectInfoBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<ErpProjectInfo> 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<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;

@ -7,7 +7,28 @@
</resultMap>
<select id="selectCustomErpProjectContractsVoList" resultMap="ErpProjectContractsResult">
select project_contracts_id, tenant_id, project_id, contract_id, sort_order, remark, active_flag, del_flag, create_dept, create_by, create_time, update_by, update_time from erp_project_contracts t
select t.project_contracts_id,
t.tenant_id,
t.project_id,
t.contract_id,
t.sort_order,
t.remark,
t.active_flag,
t.del_flag,
t.create_dept,
t.create_by,
t.create_time,
t.update_by,
t.update_time,
e.project_name,
c.contract_code,
c.contract_name,
c.total_price,
c.business_direction,
c.contract_status
from erp_project_contracts t
left join erp_project_info e on e.project_id = t.project_id
left join erp_contract_info c on c.contract_id = t.contract_id
${ew.getCustomSqlSegment}
</select>

@ -7,7 +7,46 @@
</resultMap>
<select id="selectCustomErpProjectInfoVoList" resultMap="ErpProjectInfoResult">
select project_id, tenant_id, contract_flag, project_code, project_name, business_direction, project_category, spare_flag, project_type_id, payment_method, dept_id, manager_id, charge_id, deputy_id, people_id, amount, project_status, flow_status, sort_order, contract_id, remark, active_flag, del_flag, create_dept, create_by, create_time, update_by, update_time from erp_project_info t
select t.project_id,
t.tenant_id,
t.contract_flag,
t.project_code,
t.project_name,
t.business_direction,
t.project_category,
t.spare_flag,
t.project_type_id,
t.payment_method,
t.dept_id,
t.manager_id,
t.charge_id,
t.deputy_id,
t.people_id,
t.amount,
t.project_status,
t.flow_status,
t.sort_order,
t.contract_id,
t.remark,
t.active_flag,
t.del_flag,
t.create_dept,
t.create_by,
t.create_time,
t.update_by,
t.update_time,
CONCAT(t2.type_name, '/', t1.type_name) typeName,
d.dept_name deptName,
u1.nick_name managerName,
u2.nick_name chargeName,
u3.nick_name deputyName
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
left join sys_dept d on d.dept_id = t.dept_id
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
${ew.getCustomSqlSegment}
</select>

Loading…
Cancel
Save