This commit is contained in:
zt
2025-08-20 17:02:36 +08:00
parent 4622875948
commit 2a327719e2
10 changed files with 77 additions and 1 deletions

View File

@ -261,6 +261,8 @@ springdoc:
packages-to-scan: org.dromara.out
- group: 19.消息模块
packages-to-scan: org.dromara.message
- group: 20.合同模块
packages-to-scan: org.dromara.ctr
# knife4j的增强配置不需要增强可以不配
knife4j:
enable: true

View File

@ -6,6 +6,9 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.ctr.domain.bo.CtrFileBo;
import org.dromara.ctr.domain.vo.CtrFileVo;
import org.dromara.ctr.service.ICtrFileService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -36,6 +39,8 @@ public class CtrExpensesContractController extends BaseController {
private final ICtrExpensesContractService ctrExpensesContractService;
private final ICtrFileService fileService;
/**
* 查询支出合同列表
*/
@ -102,4 +107,13 @@ public class CtrExpensesContractController extends BaseController {
@PathVariable Long[] ids) {
return toAjax(ctrExpensesContractService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 查询附件列表
*/
@SaCheckPermission("ctr:expensesContract:query")
@GetMapping("/file/list")
public TableDataInfo<CtrFileVo> list(CtrFileBo bo, PageQuery pageQuery) {
return fileService.queryPageList(bo, pageQuery);
}
}

View File

@ -6,6 +6,9 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.ctr.domain.bo.CtrFileBo;
import org.dromara.ctr.domain.vo.CtrFileVo;
import org.dromara.ctr.service.ICtrFileService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -36,6 +39,8 @@ public class CtrIncomeContractController extends BaseController {
private final ICtrIncomeContractService ctrIncomeContractService;
private final ICtrFileService fileService;
/**
* 查询收入合同列表
*/
@ -102,4 +107,14 @@ public class CtrIncomeContractController extends BaseController {
@PathVariable Long[] ids) {
return toAjax(ctrIncomeContractService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 查询附件列表
*/
@SaCheckPermission("ctr:incomeContract:query")
@GetMapping("/file/list")
public TableDataInfo<CtrFileVo> list(CtrFileBo bo, PageQuery pageQuery) {
return fileService.queryPageList(bo, pageQuery);
}
}

View File

@ -29,7 +29,6 @@ public class CtrFileBo extends BaseEntity {
/**
* 合同ID
*/
@NotNull(message = "合同ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long contractId;
/**

View File

@ -1,6 +1,9 @@
package org.dromara.ctr.domain.vo;
import java.math.BigDecimal;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.ctr.domain.CtrExpensesContract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -53,6 +56,12 @@ public class CtrExpensesContractVo implements Serializable {
@ExcelProperty(value = "合同类型")
private String contractType;
/**
* 合同类型名称
*/
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "contractType",other = "expenses_contract_type")
private String contractTypeName;
/**
* 供应商
*/

View File

@ -1,6 +1,9 @@
package org.dromara.ctr.domain.vo;
import java.math.BigDecimal;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.ctr.domain.CtrIncomeContract;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -53,6 +56,13 @@ public class CtrIncomeContractVo implements Serializable {
@ExcelProperty(value = "合同类型")
private String contractType;
/**
* 合同类型名称
*/
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "contractType",other = "income_contract_type")
private String contractTypeName;
/**
* 业主单位
*/

View File

@ -1,5 +1,6 @@
package org.dromara.ctr.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@ -9,6 +10,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.ctr.domain.CtrFile;
import org.dromara.ctr.service.ICtrFileService;
import org.springframework.stereotype.Service;
import org.dromara.ctr.domain.bo.CtrExpensesContractBo;
import org.dromara.ctr.domain.vo.CtrExpensesContractVo;
@ -32,6 +35,8 @@ public class CtrExpensesContractServiceImpl extends ServiceImpl<CtrExpensesContr
private final CtrExpensesContractMapper baseMapper;
private final ICtrFileService fileService;
/**
* 查询支出合同
*
@ -94,6 +99,13 @@ public class CtrExpensesContractServiceImpl extends ServiceImpl<CtrExpensesContr
CtrExpensesContract add = MapstructUtils.convert(bo, CtrExpensesContract.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if(!bo.getFileList().isEmpty()){
List<CtrFile> convert = MapstructUtils.convert(bo.getFileList(), CtrFile.class);
convert.forEach(item -> item.setContractId(add.getId()));
fileService.saveBatch(convert);
}
if (flag) {
bo.setId(add.getId());
}

View File

@ -1,5 +1,6 @@
package org.dromara.ctr.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@ -131,4 +132,5 @@ public class CtrFileServiceImpl extends ServiceImpl<CtrFileMapper, CtrFile> impl
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.ctr.domain.CtrFile;
import org.dromara.ctr.service.ICtrFileService;
import org.springframework.stereotype.Service;
import org.dromara.ctr.domain.bo.CtrIncomeContractBo;
import org.dromara.ctr.domain.vo.CtrIncomeContractVo;
@ -32,6 +34,8 @@ public class CtrIncomeContractServiceImpl extends ServiceImpl<CtrIncomeContractM
private final CtrIncomeContractMapper baseMapper;
private final ICtrFileService fileService;
/**
* 查询收入合同
*
@ -93,6 +97,11 @@ public class CtrIncomeContractServiceImpl extends ServiceImpl<CtrIncomeContractM
CtrIncomeContract add = MapstructUtils.convert(bo, CtrIncomeContract.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if(!bo.getFileList().isEmpty()){
List<CtrFile> convert = MapstructUtils.convert(bo.getFileList(), CtrFile.class);
convert.forEach(item -> item.setContractId(add.getId()));
fileService.saveBatch(convert);
}
if (flag) {
bo.setId(add.getId());
}

View File

@ -9,6 +9,7 @@ import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent;
@ -340,6 +341,9 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
.orderByDesc(DesVolumeFile::getCreateTime)
);
if(list.isEmpty()){
return Collections.emptyList();
}
List<Long> list1 = list.stream().map(DesVolumeFile::getVolumeCatalogId).distinct().toList();
return baseMapper.selectList(Wrappers.lambdaQuery(DesVolumeCatalog.class)