增加合同与公司对应关系表

目前完成生成合同接口,新增合同接口,修改合同接口,根据合同编码查询服务公司和服务类型接口
This commit is contained in:
1073413548 2024-09-13 15:27:48 +08:00
parent fd3f2d6654
commit 2c3e832a0c
18 changed files with 295 additions and 40 deletions

View File

@ -138,8 +138,10 @@ public class PsCompanyInfo extends TenantEntity {
* 2逻辑删除 0 默认有效
*/
private Long delFlag;
/**
* 公司类型1签约公司 2服务公司
*/
private String companyType;
}

View File

@ -59,6 +59,9 @@ public class PsContractBusiness extends TenantEntity {
* 2逻辑删除 0 默认有效
*/
private Long delFlag;
/**
* 服务公司id
*/
private Long companyId;
}

View File

@ -0,0 +1,47 @@
package com.pusong.business.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.pusong.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 公司信息对象 ps_company_info
*
* @author wls
* @date 2024-07-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ps_contract_company")
public class PsContractCompany extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 公司ID
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 合同编码
*/
private String contractCode;
/**
* 公司id
*/
private Long companyId;
/**
* 2逻辑删除 0 默认有效
*/
private Long delFlag;
}

View File

@ -13,6 +13,7 @@ import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 公司信息业务对象 ps_company_info
@ -139,4 +140,14 @@ public class PsCompanyInfoBo {
* 发票类型
*/
private String billType;
/**
* 公司类型1签约公司 2服务公司
*/
private String companyType;
/**
* 合同服务类别
*/
@NotEmpty(message = "合同服务类别不能为空")
private List<PsContractBusinessBo> businessList;
}

View File

@ -65,6 +65,10 @@ public class PsContractBusinessBo {
*/
@JsonFormat(pattern ="yyyy-MM-dd")
private Date startDate;
/**
* 服务公司id
*/
private Long companyId;
/**
* 合同服务项目
*/

View File

@ -102,18 +102,18 @@ public class PsContractInfoBo {
* 是否续费
*/
private String isDue;
/**
* 合同服务类别
*/
@NotEmpty(message = "合同服务类别不能为空")
private List<PsContractBusinessBo> businessList;
/**
* 公司信息
* 签约公司信息
*/
@NotEmpty(message = "公司信息不能为空")
private PsCompanyInfoBo companyInfoBo;
/**
* 服务公司信息集合
*/
private List<PsCompanyInfoBo> serviceCompanyInfoList;
/**
* 修改合同说明
*/

View File

@ -16,7 +16,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -148,4 +148,8 @@ public class PsCompanyInfoVo implements Serializable {
* 发票类型
*/
private String billType;
/**
* 服务类别信息
*/
private List<PsContractBusinessVo> businessVoList;
}

View File

@ -0,0 +1,39 @@
package com.pusong.business.domain.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.pusong.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 公司信息对象 ps_company_info
*
* @author wls
* @date 2024-07-29
*/
@Data
public class PsContractCompanyVo {
/**
* 公司ID
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 合同编码
*/
private String contractCode;
/**
* 公司id
*/
private Long companyId;
}

View File

@ -51,7 +51,7 @@ public class PsContractInfoVo implements Serializable {
private Long customId;
/**
* 公司id
* 签约公司id
*/
private Long companyId;
@ -190,7 +190,7 @@ public class PsContractInfoVo implements Serializable {
*/
private String isDue;
/**
* 公司信息
* 签约公司信息不会有服务类别
*/
private PsCompanyInfoVo psCompanyInfoVo;
/**
@ -198,9 +198,9 @@ public class PsContractInfoVo implements Serializable {
*/
private PsCustomInfoVo psCustomInfoVo;
/**
* 服务类别信息
* 服务公司信息
*/
private List<PsContractBusinessVo> businessVoList;
private List<PsCompanyInfoVo> psCompanySerivceVo;
/**
* 汇款记录信息信息

View File

@ -11,6 +11,8 @@ import com.pusong.business.domain.vo.PsCompanyQueryVo;
import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 公司信息Mapper接口
*
@ -20,4 +22,6 @@ import org.apache.ibatis.annotations.Param;
public interface PsCompanyInfoMapper extends BaseMapperPlus<PsCompanyInfo, PsCompanyInfoVo> {
Page<PsCompanyQueryVo> selectPageList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
List<PsCompanyInfoVo> selectServiceCompanyList(@Param(Constants.WRAPPER) Wrapper<PsCompanyInfoVo> queryWrapper);
}

View File

@ -0,0 +1,23 @@
package com.pusong.business.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pusong.business.domain.PsApproverRecord;
import com.pusong.business.domain.PsCompanyInfo;
import com.pusong.business.domain.PsContractCompany;
import com.pusong.business.domain.vo.PsCompanyInfoVo;
import com.pusong.business.domain.vo.PsCompanyQueryVo;
import com.pusong.business.domain.vo.PsContractCompanyVo;
import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
/**
* 公司信息Mapper接口
*
* @author wls
* @date 2024-07-29
*/
public interface PsContractCompanyMapper extends BaseMapperPlus<PsContractCompany, PsContractCompanyVo> {
}

View File

@ -48,6 +48,13 @@ public interface IPsCompanyInfoService {
* @return 是否新增成功
*/
Boolean saveBo(PsCompanyInfoBo bo);
/**
* 保存合同公司关联表
* @param list
* @param contractCode
*/
void saveContractCompany(List<PsCompanyInfoBo> list,String contractCode );
/**
* 批量新增公司信息
*
@ -65,4 +72,9 @@ public interface IPsCompanyInfoService {
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 根据合同编码查询服务公司信息
*/
List<PsCompanyInfoVo> getServiceCompany(String controctCode);
}

View File

@ -7,11 +7,13 @@ import com.pusong.business.domain.PsApproverRecord;
import com.pusong.business.domain.PsContractInfo;
import com.pusong.business.domain.PsTaskAppoint;
import com.pusong.business.domain.PsTaskMain;
import com.pusong.business.domain.bo.PsContractBusinessBo;
import com.pusong.business.domain.bo.PsContractInfoBo;
import com.pusong.business.domain.vo.PsContractInfoVo;
import com.pusong.business.enums.*;
import com.pusong.business.mapper.PsTaskAppointMapper;
import com.pusong.business.mapper.PsTaskMainMapper;
import com.pusong.business.service.IPsCompanyInfoService;
import com.pusong.business.service.IPsContractBusinessService;
import com.pusong.business.service.IPsContractInfoService;
import com.pusong.business.service.IPsTaskService;
@ -40,6 +42,7 @@ public class UpdateContractApproverServiceImpl extends ApproverAbstractServiceIm
private final IPsTaskService taskService;
private final PsTaskMainMapper taskMainMapper;
private final PsTaskAppointMapper appointMapper;
private final IPsCompanyInfoService companyInfoService;
/**
* 1 审批成功 合同状态变为待派单 合同已派单任务重置
@ -52,9 +55,11 @@ public class UpdateContractApproverServiceImpl extends ApproverAbstractServiceIm
PsContractInfoVo src = contractInfoService.queryContractByCode(psApproverRecord.getContractCode());
//json化修改的数据
PsContractInfoBo bo = JSON.parseObject(psApproverRecord.getUpdateData(),PsContractInfoBo.class);
List<PsContractBusinessBo> businessBoslist = bo.getServiceCompanyInfoList().stream().flatMap(com -> com.getBusinessList().stream()).toList();
//2.删除所有服务类型和服务项目,.插入服务类型
businessService.saveList(bo.getBusinessList(),bo.getContractCode());
businessService.saveList(businessBoslist,bo.getContractCode());
//保存公司合同关联表
companyInfoService.saveContractCompany(bo.getServiceCompanyInfoList(),src.getContractCode());
//3.修改后操作
afterUpdateOperate(bo, src);
//插入合同

View File

@ -2,10 +2,12 @@ package com.pusong.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.pusong.business.domain.PsContractCompany;
import com.pusong.business.domain.PsContractInfo;
import com.pusong.business.domain.bo.PsCompanyQueryBo;
import com.pusong.business.domain.vo.PsCompanyQueryVo;
import com.pusong.business.domain.vo.PsSalaryVo;
import com.pusong.business.mapper.PsContractCompanyMapper;
import com.pusong.business.mapper.PsContractInfoMapper;
import com.pusong.business.service.IPsContractInfoService;
import com.pusong.common.core.exception.ServiceException;
@ -24,6 +26,7 @@ import com.pusong.business.domain.PsCompanyInfo;
import com.pusong.business.mapper.PsCompanyInfoMapper;
import com.pusong.business.service.IPsCompanyInfoService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@ -39,6 +42,7 @@ import java.util.Collection;
public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
private final PsCompanyInfoMapper baseMapper;
private final PsContractCompanyMapper contractCompanyMapper;
private final PsContractInfoMapper contractInfoMapper;
@ -110,14 +114,35 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
// //如果存在重复名称则修改
// if(CollectionUtils.isNotEmpty(list)){bo.setId(list.get(0).getId());}
// }
//公司类型默认签约公司
PsCompanyInfo add = MapstructUtils.convert(bo, PsCompanyInfo.class);
//新增时公司类型默认为签约公司
add.setCompanyType(add.getId() == null && StringUtils.isBlank(add.getCompanyType())?"1":add.getCompanyType());
validEntityBeforeSave(add);
boolean flag = baseMapper.insertOrUpdate(add);
if (flag) {
bo.setId(add.getId());
if(bo.getBusinessList() != null){//装填服务类型的公司id
bo.getBusinessList().forEach(b->b.setCompanyId(add.getId()));
}
}
return flag;
}
/**
* 保存公司合同关联表
*/
public void saveContractCompany(List<PsCompanyInfoBo> list,String contractCode ){
contractCompanyMapper.delete(Wrappers.<PsContractCompany>lambdaQuery().eq(PsContractCompany::getContractCode, contractCode));
List <PsContractCompany> saveList = new ArrayList<>();
for(PsCompanyInfoBo bo:list){
PsContractCompany contractCompany = new PsContractCompany();
contractCompany.setContractCode(contractCode);
contractCompany.setCompanyId(bo.getId());
saveList.add(contractCompany);
}
contractCompanyMapper.insertBatch(saveList);
}
/**
* 批量新增公司信息
*
@ -133,9 +158,12 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PsCompanyInfo entity){
if(entity.getId() != null){
//修改
private void validEntityBeforeSave(PsCompanyInfo info){
//新增公司时
if(info.getId() == null && StringUtils.equals(info.getCompanyType(),"2")){
Long count = baseMapper.selectCount(Wrappers.<PsCompanyInfo>lambdaQuery().eq(PsCompanyInfo::getCompanyType, "2")
.eq(PsCompanyInfo::getCompanyName, info.getCompanyName()).eq(PsCompanyInfo::getCustomerNum, info.getCustomerNum()));
if(count>0){throw new ServiceException("公司:"+info.getCompanyName()+";纳税人识别号:"+info.getCustomerNum()+" 已存在,请进行选择后重新提交");}
}
//TODO 修改公司时需要校验公司下是否有合同状态
}
@ -155,4 +183,16 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
}
return baseMapper.deleteBatchIds(ids) > 0;
}
/**
* 根据合同编码查询服务公司信息
* @param controctCode
* @return
*/
public List<PsCompanyInfoVo> getServiceCompany(String controctCode){
QueryWrapper<PsCompanyInfoVo> wq = Wrappers.<PsCompanyInfoVo>query().eq("pcc.del_flag", "0").eq("bus.del_flag","0")
.eq("det.del_flag","0").eq("pcc.controct_code", controctCode);
List<PsCompanyInfoVo> list = baseMapper.selectServiceCompanyList(wq);
return list;
}
}

View File

@ -99,8 +99,14 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
if(bo.getCompanyInfoBo().getCustomId() == null){
bo.getCompanyInfoBo().setCustomId(bo.getCustomId());
}
//2.插入公司信息
//2.插入签约公司信息
companyInfoService.saveBo(bo.getCompanyInfoBo());
//插入服务公司
for (PsCompanyInfoBo companyInfoBo : bo.getServiceCompanyInfoList()){
companyInfoBo.setCompanyType("2");
companyInfoService.saveBo(companyInfoBo);
}
//3.如果已存在合同则进行修改否则新增
if(add == null){
add = new PsContractInfo();
@ -113,7 +119,9 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
MapstructUtils.convert(bo, add);
}
add.setCompanyId(bo.getCompanyInfoBo().getId());//公司id
bo.getBusinessList().forEach(item->{
List<PsContractBusinessBo> list = bo.getServiceCompanyInfoList().stream().flatMap(com -> com.getBusinessList().stream()).toList();
list.forEach(item->{
BigDecimal mony = BigDecimal.ZERO;
if(CollectionUtils.isNotEmpty(item.getDetailBos())){
mony = item.getDetailBos().stream().map(PsContractBusinessDetailBo::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -123,14 +131,15 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
item.setBusinessAmount(mony);
}
});
BigDecimal sum = bo.getBusinessList().stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
//保存公司合同关联表
companyInfoService.saveContractCompany(bo.getServiceCompanyInfoList(),add.getContractCode());
BigDecimal sum = list.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
add.setContractAmount(sum);//合同总金额
add.setContractStatus(type == 1?ContractStatusEnum.INIT.getCode():ContractStatusEnum.CREATE.getCode());//合同状态
add.setIsCancel(CommonStatusEnum.INIT.getCode());
baseMapper.insertOrUpdate(add);
//4.删除所有服务类型和服务项目,.插入服务类型
businessService.saveList(bo.getBusinessList(),add.getContractCode());
businessService.saveList(list,add.getContractCode());
//7.生成合同
return makePdf(add,bo,true);
}
@ -149,7 +158,8 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
add.setCustomManager(LoginHelper.getUserId());//所属销售经理id
add.setCompanyId(bo.getCompanyInfoBo().getId());//公司id
MapstructUtils.convert(bo, add);
bo.getBusinessList().forEach(item->{
List<PsContractBusinessBo> list = bo.getServiceCompanyInfoList().stream().flatMap(com -> com.getBusinessList().stream()).toList();
list.forEach(item->{
BigDecimal mony = BigDecimal.ZERO;
if(CollectionUtils.isNotEmpty(item.getDetailBos())){
mony = item.getDetailBos().stream().map(PsContractBusinessDetailBo::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -159,7 +169,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
item.setBusinessAmount(mony);
}
});
BigDecimal sum = bo.getBusinessList().stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal sum = list.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
add.setContractAmount(sum);//合同总金额
return makePdf(add,bo,false);
}
@ -180,12 +190,13 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
return null;
}
PsContractInfoVo vo = MapstructUtils.convert(info, PsContractInfoVo.class);
//装填公司信息
//装填签约公司信息
if(vo.getCompanyId() != null){
vo.setPsCompanyInfoVo(companyInfoService.queryById(vo.getCompanyId()));
}
fillContractInfo(vo);
//装填服务公司信息
List<PsCompanyInfoVo> list = companyInfoService.getServiceCompany(vo.getContractCode());
vo.setPsCompanySerivceVo(list);
return vo;
}
@ -270,8 +281,14 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
}
//3.插入公司信息
companyInfoService.saveBo(bo.getCompanyInfoBo());
//插入服务公司
for (PsCompanyInfoBo companyInfoBo : bo.getServiceCompanyInfoList()){
companyInfoBo.setCompanyType("2");
companyInfoService.saveBo(companyInfoBo);
}
//4.装填合同信息
bo.getBusinessList().forEach(item->{
List<PsContractBusinessBo> list = bo.getServiceCompanyInfoList().stream().flatMap(com -> com.getBusinessList().stream()).toList();
list.forEach(item->{
BigDecimal mony = BigDecimal.ZERO;
if(CollectionUtils.isNotEmpty(item.getDetailBos())){
mony = item.getDetailBos().stream().map(PsContractBusinessDetailBo::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -281,7 +298,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
item.setBusinessAmount(mony);
}
});
BigDecimal sum = bo.getBusinessList().stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal sum = list.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
bo.setContractAmount(sum);//合同总金额
//5.已回款之后的合同修改后走审批
@ -301,7 +318,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
add.setCompanyId(bo.getCompanyInfoBo().getId());//公司id
this.updateByCode(add);
//4.删除所有服务类型和服务项目,.插入服务类型
businessService.saveList(bo.getBusinessList(),add.getContractCode());
businessService.saveList(list,add.getContractCode());
makePdf(add,bo,true);
}
return true;
@ -386,6 +403,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
* @param bo
*/
public Long makePdf(PsContractInfo add ,PsContractInfoBo bo,boolean isSave){
//todo 合同pdf
Long ossId = null;
SysDictData main = dictDataService.selectDict("contract_main", add.getContractMain());
bo.getBusinessList().forEach(item->{
@ -436,6 +454,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
log.error("生成pdf失败",e);
}
return ossId;
return null;
}
/**
@ -611,10 +630,11 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
return qw;
}
private PsContractInfoVo fillContractInfo(PsContractInfoVo vo){
//装填服务类型和服务项目信息
List<PsContractBusinessVo> list = businessService.selectBusinessList(List.of(vo.getContractCode()));
vo.setBusinessTypeName(StringUtils.join(list.stream().map(PsContractBusinessVo::getBusinessType).collect(Collectors.toList()), ","));
vo.setBusinessVoList(list);
// List<PsContractBusinessVo> list = businessService.selectBusinessList(List.of(vo.getContractCode()));
// vo.setBusinessTypeName(StringUtils.join(list.stream().map(PsContractBusinessVo::getBusinessType).collect(Collectors.toList()), ","));
fillMoney(vo);
if(vo.getFirstApplyDate() != null){
Date date = new Date();
@ -644,10 +664,10 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getIsCancel())){
vo.setContractStatusDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.CANCELLA.getCode())));
}
//合同作废审批
if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getIsCancel())){
vo.setContractStatusDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.CANCELLA.getCode())));
}
// //合同作废审批
// if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getIsCancel())){
// vo.setContractStatusDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.CANCELLA.getCode())));
// }
//天数
if(vo.getEndServiceDate() != null){
int num = DateUtils.differentDaysByMillisecond(new Date(), vo.getEndServiceDate());

View File

@ -283,7 +283,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
baseMapper.updateById(update);
//修改公司信息
if(CollectionUtils.isNotEmpty(bo.getCompanyInfoBos())){
bo.getCompanyInfoBos().forEach(item->item.setCustomId(bo.getId()));
bo.getCompanyInfoBos().forEach(item->{item.setCustomId(bo.getId());item.setCompanyType("1");});
companyInfoService.saveBatchBo(bo.getCompanyInfoBos());
}
if(CollectionUtils.isNotEmpty(bo.getCompanyIds())){

View File

@ -3,6 +3,17 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pusong.business.mapper.PsCompanyInfoMapper">
<resultMap id="serviceCompanyServiceResult" type="com.pusong.business.domain.vo.PsCompanyInfoVo">
<id column="ID" property="id"></id>
<collection columnPrefix="bus_" property="businessVoList" ofType="com.pusong.business.domain.vo.PsContractBusinessVo" >
<collection columnPrefix="detail_" property="detailVoList" ofType="com.pusong.business.domain.vo.PsContractBusinessDetailVo" >
<!-- <id column="ID" property="id"></id>-->
<!-- <result column="CUSTOMER_NAME" property="customerName" />-->
<!-- <result column="CUSTOMER_ID_NO" property="customerIdNo" />-->
</collection>
</collection>
</resultMap>
<select id="selectPageList" resultType="com.pusong.business.domain.vo.PsCompanyQueryVo">
select cus.custom_manager,
com.company_name,
@ -19,4 +30,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
${ew.getCustomSqlSegment}
</select>
<select id="selectServiceCompanyList" resultMap="serviceCompanyServiceResult">
select com.*,
bus.business_amount bus_business_amount,
bus.business_desc bus_business_desc,
bus.business_type bus_business_type,
bus.company_id bus_company_id,
bus.contract_code bus_contract_code,
bus.end_date bus_end_date,
bus.id bus_id,
bus.start_date bus_start_date,
det.contract_code detail_contract_code,
det.business_project detail_business_project,
det.business_project_label detail_business_project_label,
det.amount detail_amount,
det.amount_desc detail_amount_desc,
det.extent_info detail_extent_info
from ps_contract_company pcc
left join ps_company_info com on pcc.company_id = com.id
left join ps_contract_business bus on bus.company_id = com.id and bus.contract_code = pcc.contract_code
left join ps_contract_business_detail det on det.business_id = bus.id
${ew.getCustomSqlSegment}
</select>
</mapper>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pusong.business.mapper.PsContractCompanyMapper">
</mapper>