国内采购合同分页列表查询

This commit is contained in:
2026-01-06 17:47:03 +08:00
parent c8f20c3a5c
commit b9bf9a62a5
4 changed files with 61 additions and 29 deletions

View File

@ -13,27 +13,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.module.contract.dto.LngContractPageDto;
import com.xjrsoft.module.contract.dto.UpdateLngContractPurDto;
import com.xjrsoft.module.contract.entity.LngContractPur;
import com.xjrsoft.module.contract.entity.LngContractPurPngPoint;
import com.xjrsoft.module.contract.service.IContractPurPngService;
import com.xjrsoft.module.contract.vo.LngContractPurPageVo;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -58,21 +47,8 @@ public class ContractPurPngController {
@ApiOperation(value="LngContract列表(分页)")
@SaCheckPermission("contractPurPng:list")
public R page(@Valid LngContractPageDto dto){
LambdaQueryWrapper<LngContractPur> queryWrapper = new LambdaQueryWrapper<LngContractPur>();
queryWrapper.eq(ObjectUtil.isNotNull(dto.getId()),LngContractPur::getId,dto.getId())
.like(StrUtil.isNotBlank(dto.getKNo()),LngContractPur::getKNo,dto.getKNo())
.like(StrUtil.isNotBlank(dto.getKName()),LngContractPur::getKName,dto.getKName())
.like(StrUtil.isNotBlank(dto.getCpName()),LngContractPur::getCpName,dto.getCpName())
//.between(ObjectUtil.isNotNull(dto.getDateFromStart()) && ObjectUtil.isNotNull(dto.getDateFromEnd()),LngContract::getDateFrom,dto.getDateFromStart(),dto.getDateFromEnd())
//.between(ObjectUtil.isNotNull(dto.getDateToStart()) && ObjectUtil.isNotNull(dto.getDateToEnd()),LngContract::getDateTo,dto.getDateToStart(),dto.getDateToEnd())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngContractPur::getApproCode,dto.getApproCode())
.eq(LngContractPur::getCpTableName,"lng_supplier")
.like(StrUtil.isNotBlank(dto.getOnlineSign()),LngContractPur::getOnlineSign,dto.getOnlineSign())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngContractPur::getComId,dto.getComId());
IPage<LngContractPur> page = contractPurPngService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngContractPurPageVo> pageOutput = ConventPage.getPageOutput(page, LngContractPurPageVo.class);
return R.ok(pageOutput);
return R.ok(contractPurPngService.queryPage(dto));
}
@GetMapping(value = "/info")

View File

@ -1,9 +1,17 @@
package com.xjrsoft.module.contract.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractPur;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.dto.LngContractPageDto;
import com.xjrsoft.module.contract.entity.LngContractPur;
import com.xjrsoft.module.contract.vo.LngContractPurPageVo;
/**
* @title: mapper
@ -14,4 +22,23 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngContractPurMapper extends MPJBaseMapper<LngContractPur>, BaseMapper<LngContractPur> {
@Select("SELECT k.id, k.rule_user_id, k.k_no, k.k_name, su.su_sname AS cp_name, k.date_from," +
" k.date_to, GROUP_CONCAT(DISTINCT p.full_name) AS point_up_name," +
" GROUP_CONCAT(DISTINCT di_trans.name) AS trans_name, com.name as com_name," +
" k.appro_code, dd_a.name as appro_name, k.note" +
" FROM lng_contract k" +
" JOIN lng_contract_pur_png_point kppp ON kppp.k_id=k.id" +
" LEFT JOIN lng_supplier su on su.su_code=k.cp_code" +
" LEFT JOIN lng_b_station_png p on p.code=kppp.point_up_code" +
" LEFT JOIN xjr_dictionary_item di_trans on di_trans.code='LNG_YN'" +
" LEFT JOIN xjr_dictionary_detail dd_tran on dd_tran.item_id=di_trans.id AND dd_tran.code=kppp.trans_sign" +
" LEFT JOIN xjr_dictionary_item di_a on di_a.code='LNG_APPRO'" +
" LEFT JOIN xjr_dictionary_detail dd_a on dd_a.item_id=di_a.id AND dd_a.code=k.appro_code" +
" LEFT JOIN xjr_department com on com.id=k.com_id" +
" ${ew.customSqlSegment}" +
" GROUP BY k.id, k.k_no, k.k_name, su.su_sname, k.date_from, k.date_to,com.name, dd_a.name" +
" ORDER BY k.date_from DESC, k.k_no DESC")
IPage<LngContractPurPageVo> queryPage(IPage<LngContractPageDto> page,@Param(Constants.WRAPPER) QueryWrapper<LngContractPur> queryWrapper);
}

View File

@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.module.contract.dto.LngContractPageDto;
import com.xjrsoft.module.contract.entity.LngContractPur;
import com.xjrsoft.module.contract.vo.LngContractPageVo;
import com.xjrsoft.module.contract.vo.LngContractPurVo;
import lombok.Data;
@ -20,5 +23,7 @@ import java.util.List;
public interface IContractPurPngService extends MPJBaseService<LngContractPur>, MPJDeepService<LngContractPur>, MPJRelationService<LngContractPur> {
LngContractPurVo getInfoById(Long id);
PageOutput<LngContractPageVo> queryPage(LngContractPageDto dto);
}

View File

@ -2,16 +2,25 @@ package com.xjrsoft.module.contract.service.impl;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.module.contract.dto.LngContractPageDto;
import com.xjrsoft.module.contract.entity.LngContract;
import com.xjrsoft.module.contract.entity.LngContractPur;
import com.xjrsoft.module.contract.entity.LngContractPurPngPoint;
import com.xjrsoft.module.contract.entity.LngContractPurPngPointSales;
import com.xjrsoft.module.contract.mapper.LngContractPurMapper;
import com.xjrsoft.module.contract.mapper.LngContractPurPngPointSalesMapper;
import com.xjrsoft.module.contract.service.IContractPurPngService;
import com.xjrsoft.module.contract.vo.LngContractPageVo;
import com.xjrsoft.module.contract.vo.LngContractPurPageVo;
import com.xjrsoft.module.contract.vo.LngContractPurPngPointVo;
import com.xjrsoft.module.contract.vo.LngContractPurVo;
import com.xjrsoft.module.sales.entity.LngCustomer;
@ -35,6 +44,21 @@ public class ContractPurPngServiceImpl extends MPJBaseServiceImpl<LngContractPur
private final LngContractPurPngPointSalesMapper lngContractPurPngPointSalesMapper;
@Override
public PageOutput<LngContractPageVo> queryPage(LngContractPageDto dto) {
QueryWrapper<LngContractPur> queryWrapper = new QueryWrapper<>();
queryWrapper
.and(StringUtils.isNotBlank(dto.getKName()), r ->
r.like("k.k_no", dto.getKName())
.or()
.like("k.k_name", dto.getKName())
)
.like(StringUtils.isNotBlank(dto.getCpName()), "su.su_sname", dto.getCpName());
IPage<LngContractPurPageVo> page = this.baseMapper.queryPage(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngContractPageVo> pageOutput = ConventPage.getPageOutput(page, LngContractPageVo.class);
return pageOutput;
}
@Override
public LngContractPurVo getInfoById(Long id) {
LngContractPur lngContractPur = this.getByIdDeep(id);