This commit is contained in:
张秉卓
2025-12-29 15:59:50 +08:00
parent b4154934c0
commit c6e915a867
13 changed files with 212 additions and 48 deletions

View File

@ -1,7 +1,6 @@
package com.xjrsoft.module.contract.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -49,34 +48,19 @@ public class ContractFactController {
private final IContractFactService contractFactService;
private final DatalogService dataService;
// @GetMapping(value = "/page")
@GetMapping(value = "/page")
@ApiOperation(value="LngContractFact列表(分页)")
@SaCheckPermission("contractFact:list")
public R page(@Valid LngContractFactPageDto dto){
LambdaQueryWrapper<LngContractFact> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.like(StrUtil.isNotBlank(dto.getKNo()),LngContractFact::getKNo,dto.getKNo())
.like(StrUtil.isNotBlank(dto.getKName()),LngContractFact::getKName,dto.getKName())
.like(StrUtil.isNotBlank(dto.getKTypeCode1()),LngContractFact::getKTypeCode1,dto.getKTypeCode1())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngContractFact::getComId,dto.getComId())
.between(ObjectUtil.isNotNull(dto.getDateDraftStart()) && ObjectUtil.isNotNull(dto.getDateDraftEnd()),LngContractFact::getDateDraft,dto.getDateDraftStart(),dto.getDateDraftEnd())
.like(StrUtil.isNotBlank(dto.getPeriodTypeCode()),LngContractFact::getPeriodTypeCode,dto.getPeriodTypeCode())
.between(ObjectUtil.isNotNull(dto.getDateFromStart()) && ObjectUtil.isNotNull(dto.getDateFromEnd()),LngContractFact::getDateFrom,dto.getDateFromStart(),dto.getDateFromEnd())
.between(ObjectUtil.isNotNull(dto.getDateToStart()) && ObjectUtil.isNotNull(dto.getDateToEnd()),LngContractFact::getDateTo,dto.getDateToStart(),dto.getDateToEnd())
.like(StrUtil.isNotBlank(dto.getCurCode()),LngContractFact::getCurCode,dto.getCurCode())
.eq(ObjectUtil.isNotNull(dto.getAmount()),LngContractFact::getAmount,dto.getAmount())
.eq(ObjectUtil.isNotNull(dto.getEmpId()),LngContractFact::getEmpId,dto.getEmpId())
.like(StrUtil.isNotBlank(dto.getTel()),LngContractFact::getTel,dto.getTel())
.eq(ObjectUtil.isNotNull(dto.getBDeptId()),LngContractFact::getBDeptId,dto.getBDeptId())
.like(StrUtil.isNotBlank(dto.getBidSign()),LngContractFact::getBidSign,dto.getBidSign())
.like(StrUtil.isNotBlank(dto.getPreApproSign()),LngContractFact::getPreApproSign,dto.getPreApproSign())
.like(StrUtil.isNotBlank(dto.getAheadSign()),LngContractFact::getAheadSign,dto.getAheadSign())
.like(StrUtil.isNotBlank(dto.getTempSign()),LngContractFact::getTempSign,dto.getTempSign())
.like(StrUtil.isNotBlank(dto.getImpSign()),LngContractFact::getImpSign,dto.getImpSign())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngContractFact::getApproCode,dto.getApproCode())
.like(StrUtil.isNotBlank(dto.getKDesc()),LngContractFact::getKDesc,dto.getKDesc())
.like(StrUtil.isNotBlank(dto.getNote()),LngContractFact::getNote,dto.getNote())
.and(StrUtil.isNotBlank(dto.getKName()), r ->
r.like(LngContractFact::getKNo, dto.getKName())
.or()
.like(LngContractFact::getKName, dto.getKName())
)
.eq(StrUtil.isNotBlank(dto.getRelTypeCode()), LngContractFact::getRelTypeCode,dto.getRelTypeCode())
.orderByDesc(LngContractFact::getId)
.select(LngContractFact.class,x -> VoToColumnUtil.fieldsToColumns(LngContractFactPageVo.class).contains(x.getProperty()));
IPage<LngContractFact> page = contractFactService.page(ConventPage.getPage(dto), queryWrapper);

View File

@ -1,5 +1,6 @@
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.LngContractApproRel;
import org.apache.ibatis.annotations.Mapper;
@ -11,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
* @Version 1.0
*/
@Mapper
public interface LngContractApproRelMapper extends MPJBaseMapper<LngContractApproRel> {
public interface LngContractApproRelMapper extends MPJBaseMapper<LngContractApproRel>, BaseMapper<LngContractApproRel> {
}

View File

@ -1,5 +1,6 @@
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.LngContractFactCp;
import org.apache.ibatis.annotations.Mapper;
@ -11,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
* @Version 1.0
*/
@Mapper
public interface LngContractFactCpMapper extends MPJBaseMapper<LngContractFactCp> {
public interface LngContractFactCpMapper extends MPJBaseMapper<LngContractFactCp>, BaseMapper<LngContractFactCp> {
}

View File

@ -1,8 +1,12 @@
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.LngContractFact;
import com.xjrsoft.module.sales.vo.LngApproVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
@ -11,6 +15,22 @@ import org.apache.ibatis.annotations.Mapper;
* @Version 1.0
*/
@Mapper
public interface LngContractFactMapper extends MPJBaseMapper<LngContractFact> {
public interface LngContractFactMapper extends MPJBaseMapper<LngContractFact>, BaseMapper<LngContractFact> {
@Select("SELECT a.id, a.title, a.code, dd_qb.name as typeName," +
" u.name as empName, dept.name as bDeptName, a.date_appro AS dateAppro" +
" FROM lng_appro a" +
" LEFT JOIN xjr_dictionary_item di_qb on di_qb.code='LNG_QB'" +
" LEFT JOIN xjr_dictionary_detail dd_qb on dd_qb.item_id=di_qb.id AND dd_qb.code=a.type_code" +
" LEFT JOIN xjr_dictionary_item di_s on di_s.code='LNG_SECRET'" +
" LEFT JOIN xjr_dictionary_detail dd_s on dd_s.item_id=di_s.id AND dd_s.code=a.security_code" +
" LEFT JOIN xjr_dictionary_item di_u on di_u.code='LNG_URGEN'" +
" LEFT JOIN xjr_dictionary_detail dd_u on dd_u.item_id=di_u.id AND dd_u.code=a.urgency_code" +
" 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=a.appro_code" +
" LEFT JOIN xjr_user u on u.id=a.emp_id" +
" LEFT JOIN xjr_department dept on dept.id=a.dept_id" +
" LEFT JOIN xjr_department com on com.id=a.com_id" +
" WHERE a.id = #{id}")
LngApproVo getLngApproVo(@Param("id") Long id);
}

View File

@ -3,6 +3,7 @@ package com.xjrsoft.module.contract.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.google.common.collect.Lists;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.contract.entity.LngContractApproRel;
@ -12,9 +13,9 @@ import com.xjrsoft.module.contract.mapper.LngContractApproRelMapper;
import com.xjrsoft.module.contract.mapper.LngContractFactCpMapper;
import com.xjrsoft.module.contract.mapper.LngContractFactMapper;
import com.xjrsoft.module.contract.service.IContractFactService;
import com.xjrsoft.module.contract.vo.LngContractApproRelVo;
import com.xjrsoft.module.contract.vo.LngContractFactCpVo;
import com.xjrsoft.module.contract.vo.LngContractFactVo;
import com.xjrsoft.module.sales.vo.LngApproVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import lombok.AllArgsConstructor;
@ -55,7 +56,15 @@ public class ContractFactServiceImpl extends MPJBaseServiceImpl<LngContractFactM
new LambdaQueryWrapper<LngContractApproRel>()
.eq(LngContractApproRel::getTableId, lngContractFact.getId()));
if (CollectionUtils.isNotEmpty(lngContractApproRelList)) {
vo.setLngContractApproRelList(BeanUtil.copyToList(lngContractApproRelList, LngContractApproRelVo.class));
List<LngApproVo> approVoList = Lists.newArrayList();
lngContractApproRelList.forEach(x -> {
LngApproVo approVo = this.baseMapper.getLngApproVo(x.getApproId());
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_appro",
"lngFileUploadList", approVo.getId());
approVo.setLngFileUploadList(fileList);
approVoList.add(approVo);
});
vo.setLngApproVoList(approVoList);
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_contract_fact",
"lngFileUploadList", vo.getId());

View File

@ -25,9 +25,12 @@ import com.xjrsoft.module.sales.dto.UpdateLngApproDto;
import com.xjrsoft.module.sales.entity.LngAppro;
import com.xjrsoft.module.sales.service.IApproService;
import com.xjrsoft.module.sales.vo.LngApproPageVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -48,27 +51,36 @@ public class ApproController {
private final IApproService approService;
private final DatalogService dataService;
private final IFileClient fileClient;
// @GetMapping(value = "/page")
@GetMapping(value = "/page")
@ApiOperation(value="LngAppro列表(分页)")
@SaCheckPermission("appro:list")
public R page(@Valid LngApproPageDto dto){
LambdaQueryWrapper<LngAppro> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.like(StrUtil.isNotBlank(dto.getCode()),LngAppro::getCode,dto.getCode())
.like(StrUtil.isNotBlank(dto.getTitle()),LngAppro::getTitle,dto.getTitle())
.like(StrUtil.isNotBlank(dto.getTypeCode()),LngAppro::getTypeCode,dto.getTypeCode())
.like(StrUtil.isNotBlank(dto.getSecurityCode()),LngAppro::getSecurityCode,dto.getSecurityCode())
.like(StrUtil.isNotBlank(dto.getUrgencyCode()),LngAppro::getUrgencyCode,dto.getUrgencyCode())
.eq(ObjectUtil.isNotNull(dto.getEmpId()),LngAppro::getEmpId,dto.getEmpId())
.eq(ObjectUtil.isNotNull(dto.getBDeptId()),LngAppro::getBDeptId,dto.getBDeptId())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngAppro::getApproCode,dto.getApproCode())
.like(StrUtil.isNotBlank(dto.getContent()),LngAppro::getContent,dto.getContent())
.between(ObjectUtil.isNotNull(dto.getStartDate()) && ObjectUtil.isNotNull(dto.getEndDate()),
LngAppro::getDateAppro, dto.getStartDate(), dto.getEndDate())
.and(StrUtil.isNotBlank(dto.getTitle()), r ->
r.like(LngAppro::getCode, dto.getTitle())
.or()
.like(LngAppro::getTitle, dto.getTitle())
)
.eq(StrUtil.isNotBlank(dto.getTypeCode()),LngAppro::getTypeCode,dto.getTypeCode())
.eq(StrUtil.isNotBlank(dto.getApproCode()),LngAppro::getApproCode,dto.getApproCode())
.orderByDesc(LngAppro::getId)
.select(LngAppro.class,x -> VoToColumnUtil.fieldsToColumns(LngApproPageVo.class).contains(x.getProperty()));
IPage<LngAppro> page = approService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngApproPageVo> pageOutput = ConventPage.getPageOutput(page, LngApproPageVo.class);
List<LngApproPageVo> list = pageOutput.list;
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(x -> {
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_appro",
"lngFileUploadList", x.getId());
x.setLngFileUploadList(fileList);
});
}
return R.ok(pageOutput);
}