bug
This commit is contained in:
@ -261,6 +261,8 @@ springdoc:
|
|||||||
packages-to-scan: org.dromara.out
|
packages-to-scan: org.dromara.out
|
||||||
- group: 19.消息模块
|
- group: 19.消息模块
|
||||||
packages-to-scan: org.dromara.message
|
packages-to-scan: org.dromara.message
|
||||||
|
- group: 20.合同模块
|
||||||
|
packages-to-scan: org.dromara.ctr
|
||||||
# knife4j的增强配置,不需要增强可以不配
|
# knife4j的增强配置,不需要增强可以不配
|
||||||
knife4j:
|
knife4j:
|
||||||
enable: true
|
enable: true
|
||||||
|
@ -6,6 +6,9 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
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.web.bind.annotation.*;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
@ -36,6 +39,8 @@ public class CtrExpensesContractController extends BaseController {
|
|||||||
|
|
||||||
private final ICtrExpensesContractService ctrExpensesContractService;
|
private final ICtrExpensesContractService ctrExpensesContractService;
|
||||||
|
|
||||||
|
private final ICtrFileService fileService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询支出合同列表
|
* 查询支出合同列表
|
||||||
*/
|
*/
|
||||||
@ -102,4 +107,13 @@ public class CtrExpensesContractController extends BaseController {
|
|||||||
@PathVariable Long[] ids) {
|
@PathVariable Long[] ids) {
|
||||||
return toAjax(ctrExpensesContractService.deleteWithValidByIds(List.of(ids), true));
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,9 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import jakarta.validation.constraints.*;
|
import jakarta.validation.constraints.*;
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
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.web.bind.annotation.*;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
@ -36,6 +39,8 @@ public class CtrIncomeContractController extends BaseController {
|
|||||||
|
|
||||||
private final ICtrIncomeContractService ctrIncomeContractService;
|
private final ICtrIncomeContractService ctrIncomeContractService;
|
||||||
|
|
||||||
|
private final ICtrFileService fileService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询收入合同列表
|
* 查询收入合同列表
|
||||||
*/
|
*/
|
||||||
@ -102,4 +107,14 @@ public class CtrIncomeContractController extends BaseController {
|
|||||||
@PathVariable Long[] ids) {
|
@PathVariable Long[] ids) {
|
||||||
return toAjax(ctrIncomeContractService.deleteWithValidByIds(List.of(ids), true));
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ public class CtrFileBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 合同ID
|
* 合同ID
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "合同ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private Long contractId;
|
private Long contractId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package org.dromara.ctr.domain.vo;
|
package org.dromara.ctr.domain.vo;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
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 org.dromara.ctr.domain.CtrExpensesContract;
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
@ -53,6 +56,12 @@ public class CtrExpensesContractVo implements Serializable {
|
|||||||
@ExcelProperty(value = "合同类型")
|
@ExcelProperty(value = "合同类型")
|
||||||
private String contractType;
|
private String contractType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同类型名称
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "contractType",other = "expenses_contract_type")
|
||||||
|
private String contractTypeName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商
|
* 供应商
|
||||||
*/
|
*/
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package org.dromara.ctr.domain.vo;
|
package org.dromara.ctr.domain.vo;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
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 org.dromara.ctr.domain.CtrIncomeContract;
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
@ -53,6 +56,13 @@ public class CtrIncomeContractVo implements Serializable {
|
|||||||
@ExcelProperty(value = "合同类型")
|
@ExcelProperty(value = "合同类型")
|
||||||
private String contractType;
|
private String contractType;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同类型名称
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "contractType",other = "income_contract_type")
|
||||||
|
private String contractTypeName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业主单位
|
* 业主单位
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.ctr.service.impl;
|
package org.dromara.ctr.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.ctr.domain.CtrFile;
|
||||||
|
import org.dromara.ctr.service.ICtrFileService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.ctr.domain.bo.CtrExpensesContractBo;
|
import org.dromara.ctr.domain.bo.CtrExpensesContractBo;
|
||||||
import org.dromara.ctr.domain.vo.CtrExpensesContractVo;
|
import org.dromara.ctr.domain.vo.CtrExpensesContractVo;
|
||||||
@ -32,6 +35,8 @@ public class CtrExpensesContractServiceImpl extends ServiceImpl<CtrExpensesContr
|
|||||||
|
|
||||||
private final CtrExpensesContractMapper baseMapper;
|
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);
|
CtrExpensesContract add = MapstructUtils.convert(bo, CtrExpensesContract.class);
|
||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
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) {
|
if (flag) {
|
||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.ctr.service.impl;
|
package org.dromara.ctr.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
@ -131,4 +132,5 @@ public class CtrFileServiceImpl extends ServiceImpl<CtrFileMapper, CtrFile> impl
|
|||||||
}
|
}
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.ctr.domain.CtrFile;
|
||||||
|
import org.dromara.ctr.service.ICtrFileService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.ctr.domain.bo.CtrIncomeContractBo;
|
import org.dromara.ctr.domain.bo.CtrIncomeContractBo;
|
||||||
import org.dromara.ctr.domain.vo.CtrIncomeContractVo;
|
import org.dromara.ctr.domain.vo.CtrIncomeContractVo;
|
||||||
@ -32,6 +34,8 @@ public class CtrIncomeContractServiceImpl extends ServiceImpl<CtrIncomeContractM
|
|||||||
|
|
||||||
private final CtrIncomeContractMapper baseMapper;
|
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);
|
CtrIncomeContract add = MapstructUtils.convert(bo, CtrIncomeContract.class);
|
||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
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) {
|
if (flag) {
|
||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import jakarta.annotation.Resource;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
||||||
import org.dromara.common.core.constant.HttpStatus;
|
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.ProcessDeleteEvent;
|
||||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||||
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||||
@ -340,6 +341,9 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
|
|||||||
.orderByDesc(DesVolumeFile::getCreateTime)
|
.orderByDesc(DesVolumeFile::getCreateTime)
|
||||||
|
|
||||||
);
|
);
|
||||||
|
if(list.isEmpty()){
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
List<Long> list1 = list.stream().map(DesVolumeFile::getVolumeCatalogId).distinct().toList();
|
List<Long> list1 = list.stream().map(DesVolumeFile::getVolumeCatalogId).distinct().toList();
|
||||||
|
|
||||||
return baseMapper.selectList(Wrappers.lambdaQuery(DesVolumeCatalog.class)
|
return baseMapper.selectList(Wrappers.lambdaQuery(DesVolumeCatalog.class)
|
||||||
|
Reference in New Issue
Block a user