69 Commits

Author SHA1 Message Date
zt
3b580788f1 Merge remote-tracking branch 'origin/updateMenu' into updateMenu 2025-12-12 18:16:20 +08:00
zt
7b6ff3bcc6 优化 2025-12-12 18:16:05 +08:00
zzz
8e5303838e 派单 2025-12-12 18:14:57 +08:00
28f92b6138 增值税发票excel导入 2025-12-12 18:10:42 +08:00
lcj
8ece9617d6 修改 bug 2025-12-12 17:46:35 +08:00
lcj
a5cf647f2b 修改bug 2025-12-12 17:12:04 +08:00
zzz
758e49973b 修改标后分析 2025-12-12 15:58:01 +08:00
zzz
876f8b700d 修改标后分析 2025-12-12 15:48:36 +08:00
zzz
53b777c7af 修改实用工具的模糊查询 2025-12-12 15:02:19 +08:00
5e749f6de6 新中大项目创建时添加建管项目修改 2025-12-12 14:54:35 +08:00
dcd0907cdd 12-12-修改收开票搜索条件 2025-12-12 11:58:04 +08:00
3f16621313 12-12-搭配角色流程列表修改 2025-12-12 11:28:02 +08:00
lcj
03b3c8141a 项目详情 2025-12-12 11:26:35 +08:00
zzz
509683386f 修改机械合同 2025-12-12 11:24:17 +08:00
e3b6c3d8d6 总体计划成本接口修改 2025-12-12 11:15:52 +08:00
29cdd7b3e7 总体计划成本接口修改 2025-12-12 10:40:47 +08:00
zzz
ee864c882a 修改税率 2025-12-12 10:08:30 +08:00
10e449c001 阶段成本分解接口修改 2025-12-12 09:41:22 +08:00
89d60dc528 阶段成本分解接口修改 2025-12-11 22:13:34 +08:00
zt
ce35086316 优化 2025-12-11 20:29:29 +08:00
e7376086f9 将供应商由建管转到新中大供应商,总体计划成本接口修改 2025-12-11 20:28:31 +08:00
zzz
4588f3f4c0 标后分析自动生成项目 2025-12-11 20:15:55 +08:00
lcj
97898aa395 修改权限 2025-12-11 18:56:57 +08:00
lcj
b4a7c6ba90 修改权限 2025-12-11 17:25:06 +08:00
4d6a225f96 12-11-权限修改,排除SuperAdmin 2025-12-11 16:38:31 +08:00
zzz
6d9b5a727d query权限去除 2025-12-11 11:42:25 +08:00
a79e08f6bc 12-11-大屏接口权限修改 2025-12-11 10:11:38 +08:00
lcj
e49ab63a0b 关联项目 2025-12-11 08:52:58 +08:00
lcj
2b3c86e763 Merge remote-tracking branch 'gitea/dev' into updateMenu 2025-12-10 19:02:01 +08:00
lcj
755969b069 Merge branch 'dev' into updateMenu 2025-12-10 18:49:14 +08:00
lcj
b10e7b4ca1 修改配置 2025-12-10 17:18:03 +08:00
lcj
ff9cc76ebc Merge remote-tracking branch 'gitea/updateMenu' into updateMenu 2025-12-10 15:59:50 +08:00
lcj
d125510267 Merge branch 'dev' into updateMenu 2025-12-10 15:56:18 +08:00
c709e04c88 标前管理人员任命添加审核状态 2025-12-09 19:31:55 +08:00
509fc8cc28 标前管理-风险信息,人员任命修改 2025-12-09 18:59:18 +08:00
833ea7af7d 标前管理-风险信息,人员任命 2025-12-09 14:33:49 +08:00
387a7488ab Merge branch 'dev' into updateMenu 2025-12-08 10:39:50 +08:00
67bbf94359 12-04-收票登记修改 2025-12-04 15:12:56 +08:00
zt
bf1b9cf98f Merge branch 'refs/heads/dev' into updateMenu 2025-12-02 17:46:42 +08:00
zt
e800ff3ac9 Merge branch 'refs/heads/dev' into updateMenu 2025-12-02 17:44:27 +08:00
zt
c96808efc1 bug 2025-12-02 17:42:35 +08:00
zt
e972efb247 设计权限 2025-12-02 16:24:39 +08:00
zt
f782edd68b 设计权限 2025-12-02 16:24:02 +08:00
a44777d7b2 Merge remote-tracking branch 'origin/updateMenu' into updateMenu 2025-11-28 19:55:38 +08:00
492fba5fd3 11-28-详情权限修改 2025-11-28 19:55:29 +08:00
zt
4f38db5fde bug 2025-11-28 18:56:59 +08:00
d37b41c967 11-28-详情权限修改 2025-11-28 16:05:21 +08:00
b8fb9413de 标前立项bug修改 2025-11-28 15:22:39 +08:00
zt
fa9fcb1167 bug 2025-11-28 11:32:35 +08:00
zt
94aaa90775 Merge branch 'refs/heads/dev' into updateMenu 2025-11-27 18:47:51 +08:00
6c9e23e662 修改立项及成本权限 2025-11-27 17:37:25 +08:00
zt
80b5f94cd4 bug 2025-11-27 11:44:03 +08:00
zt
af90b0f879 产值及人员 2025-11-27 09:26:30 +08:00
f07db8c368 车辆管理菜单修改和物资管理菜单修改 2025-11-26 19:18:52 +08:00
zt
8f4a3e167a 产值及人员 2025-11-26 17:18:04 +08:00
lg
3ccd54a03b 权限字符修改 2025-11-26 16:15:03 +08:00
zt
b0c875c9c4 班组 2025-11-26 10:25:44 +08:00
lg
cad5ba1101 权限字符修改 2025-11-25 19:40:59 +08:00
lcj
45d143ace3 进度计划菜单 2025-11-25 19:37:45 +08:00
zt
d32947afe2 人员管理 2025-11-25 19:15:12 +08:00
lcj
77482c71b3 安全菜单修改 2025-11-25 16:16:16 +08:00
zt
66893410e9 菜单 2025-11-25 16:05:58 +08:00
fbbc4846de 车辆管理菜单修改和机械台账菜单修改 2025-11-25 14:53:20 +08:00
lcj
18cbc0655b 安全 2025-11-25 10:47:18 +08:00
lcj
1b2f9aa755 安全 2025-11-25 09:42:28 +08:00
lg
04407d2f84 权限字符修改 2025-11-24 20:01:26 +08:00
2c1ca98e4e 菜单表修改 2025-11-24 14:55:49 +08:00
lcj
b116db0bcd 更换菜单表 2025-11-24 14:28:36 +08:00
30b1586a4a 设计合同付款、设计合同收款优化 2025-11-24 11:42:46 +08:00
316 changed files with 4748 additions and 4419 deletions

View File

@ -342,15 +342,15 @@ drone:
# 聊天服务
chat:
server:
port: 18088
port: 17077
# rabbitmq 配置
rabbitmq:
exchange-name: local-normal-exchange
queue-name: local-normal-queue
routing-key: local.normal.routing.key
delay-exchange-name: local-delay-queue
delay-queue-name: local-delay-exchange
delay-routing-key: local.delay.routing.key
dead-letter-exchange: local-dlx-exchange
dead-letter-queue: local-dlx-queue
dead-letter-routing-key: local.dlx.routing.key
exchange-name: menu-normal-exchange
queue-name: menu-normal-queue
routing-key: menu.normal.routing.key
delay-exchange-name: menu-delay-queue
delay-queue-name: menu-delay-exchange
delay-routing-key: menu.delay.routing.key
dead-letter-exchange: menu-dlx-exchange
dead-letter-queue: menu-dlx-queue
dead-letter-routing-key: menu.dlx.routing.key

View File

@ -73,8 +73,7 @@ public class ExcelReader {
// 从MultipartFile获取输入流
try (InputStream stream = file.getInputStream();
org.apache.poi.ss.usermodel.Workbook workbook = isXlsx ?
new XSSFWorkbook(stream) : new HSSFWorkbook(stream)) {
Workbook workbook = WorkbookFactory.create(stream)) {
for (int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++) {
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(sheetIndex);

View File

@ -32,7 +32,8 @@ public class DashScopeChat {
private final ChatClient chatClient;
private static final String DEFAULT_PROMPT = "你叫煤球,是一个博学的智能聊天助手,请根据用户提问回答!";
private static final String DEFAULT_PROMPT =
"你是一名智能助手,代号为“煤球”。回答时不要提及自身身份或角色设定,除非用户主动询问;请直接提供清晰、准确、专业的回答。";
private static final String DEFAULT_FILE_DIR = System.getProperty("user.dir") + "/chat-memory";

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.dromara.ai.domain.AIChatMemory;
import org.dromara.ai.domain.dto.AIChatMemoryQueryReq;
import org.dromara.ai.domain.dto.AIChatMemoryUpdateReq;
@ -13,11 +14,15 @@ import org.dromara.ai.service.IAIChatMemoryService;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.file.FileUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -27,6 +32,7 @@ import java.util.List;
* @author lilemy
* @date 2025-11-04
*/
@Slf4j
@Service
public class AIChatMemoryServiceImpl extends ServiceImpl<AIChatMemoryMapper, AIChatMemory>
implements IAIChatMemoryService {
@ -103,9 +109,42 @@ public class AIChatMemoryServiceImpl extends ServiceImpl<AIChatMemoryMapper, AIC
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
List<AIChatMemory> aiChatMemories = this.listByIds(ids);
if (aiChatMemories.size() != ids.size()) {
throw new ServiceException("数据不存在");
}
return baseMapper.deleteByIds(ids) > 0;
// 暂存文件路径
List<File> filesToDelete = new ArrayList<>();
for (AIChatMemory mem : aiChatMemories) {
if (StringUtils.isNotBlank(mem.getFileName())) {
File file = new File(System.getProperty("user.dir")
+ "/chat-memory/", mem.getFileName());
try {
// 防止目录穿越
if (file.getCanonicalPath().startsWith(
new File(System.getProperty("user.dir") + "/chat-memory").getCanonicalPath())) {
filesToDelete.add(file);
} else {
log.warn("危险的 filename 路径被拒绝删除: {}", mem.getFileName());
}
} catch (IOException e) {
log.warn("filename 获取失败: {}", mem.getFileName());
throw new ServiceException("文件获取失败: " + mem.getFileName());
}
}
}
// 删除数据库
boolean b = baseMapper.deleteByIds(ids) > 0;
if (!b) {
throw new ServiceException("数据库删除失败");
}
// 删除文件(非事务,不影响数据库逻辑)
for (File f : filesToDelete) {
if (f.exists() && !FileUtils.del(f)) {
log.warn("文件删除失败: {}", f.getAbsolutePath());
}
}
return true;
}
}

View File

@ -2,6 +2,7 @@ package org.dromara.bidding.controller;
import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@ -50,7 +51,7 @@ public class BusBiddingUserController extends BaseController {
/**
* 查询招投标人员列表
*/
@SaCheckPermission("bidding:biddingUser:getUser")
@SaCheckPermission(value = {"bidding:biddingUser:list","bidding:biddingUser:query","bidding:biddingUser:add"},mode = SaMode.OR)
@GetMapping("/getUser")
public R<List<SysUser>> getUser() {
return R.ok(busBiddingUserService.getUser());

View File

@ -1,26 +1,27 @@
package org.dromara.bigscreen.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.bigscreen.domain.dto.BusBwlBo;
import org.dromara.bigscreen.domain.vo.BusBwlVo;
import org.dromara.bigscreen.service.IBusBwlService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 备忘录
@ -39,7 +40,7 @@ public class BusBwlController extends BaseController {
/**
* 查询备忘录列表
*/
@SaCheckPermission("bwl:bwl:list")
// @SaCheckPermission("bwl:bwl:list")
@GetMapping("/list")
public TableDataInfo<BusBwlVo> list(BusBwlBo bo, PageQuery pageQuery) {
return busBwlService.queryPageList(bo, pageQuery);

View File

@ -1,27 +1,27 @@
package org.dromara.bigscreen.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.bigscreen.domain.dto.BusSygjBo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.bigscreen.domain.vo.BusSygjVo;
import org.dromara.bigscreen.service.IBusSygjService;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.bigscreen.domain.vo.BusSygjVo;
import org.dromara.bigscreen.service.IBusSygjService;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 实用工具
@ -40,7 +40,7 @@ public class BusSygjController extends BaseController {
/**
* 查询实用工具列表
*/
@SaCheckPermission("bigscreen:sygj:list")
// @SaCheckPermission("bigscreen:sygj:list")
@GetMapping("/list")
public TableDataInfo<BusSygjVo> list(BusSygjBo bo, PageQuery pageQuery) {
return busSygjService.queryPageList(bo, pageQuery);

View File

@ -1,26 +1,27 @@
package org.dromara.bigscreen.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.bigscreen.domain.dto.BusWjzxBo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.bigscreen.domain.vo.BusWjzxVo;
import org.dromara.bigscreen.service.IBusWjzxService;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.bigscreen.domain.vo.BusWjzxVo;
import org.dromara.bigscreen.service.IBusWjzxService;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 文件中心
@ -39,7 +40,7 @@ public class BusWjzxController extends BaseController {
/**
* 查询文件中心列表
*/
@SaCheckPermission("bigscreen:wjzx:list")
// @SaCheckPermission("bigscreen:wjzx:list")
@GetMapping("/list")
public TableDataInfo<BusWjzxVo> list(BusWjzxBo bo, PageQuery pageQuery) {
return busWjzxService.queryPageList(bo, pageQuery);

View File

@ -44,7 +44,6 @@ public class SysRoleWorkController extends BaseController {
/**
* 查询角色流程对应列表
*/
@SaCheckPermission("bigscreen:roleWork:list")
@GetMapping("/list")
public TableDataInfo<SysRoleWorkVo> list(SysRoleWorkBo bo, PageQuery pageQuery) {
return sysRoleWorkService.queryPageList(bo, pageQuery);

View File

@ -85,7 +85,7 @@ public class BusSygjServiceImpl extends ServiceImpl<BusSygjMapper, BusSygj> impl
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusSygj> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(BusSygj::getId);
lqw.eq(StringUtils.isNotBlank(bo.getGjm()), BusSygj::getGjm, bo.getGjm());
lqw.like(StringUtils.isNotBlank(bo.getGjm()), BusSygj::getGjm, bo.getGjm());
lqw.eq(StringUtils.isNotBlank(bo.getGjUrl()), BusSygj::getGjUrl, bo.getGjUrl());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BusSygj::getAuditStatus, bo.getAuditStatus());
lqw.eq(StringUtils.isNotBlank(bo.getType()), BusSygj::getType, bo.getType());

View File

@ -1,34 +1,33 @@
package org.dromara.bigscreen.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.bigscreen.domain.BusWjzx;
import org.dromara.bigscreen.domain.dto.BusWjzxBo;
import org.dromara.bigscreen.domain.vo.BusWjzxSjDateVo;
import org.dromara.bigscreen.domain.vo.BusWjzxVo;
import org.dromara.bigscreen.mapper.BusWjzxMapper;
import org.dromara.bigscreen.service.IBusWjzxService;
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
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.common.satoken.utils.LoginHelper;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
import org.dromara.xzd.biddingManagement.biddingDocument.domain.vo.XzdBiddingFileEstimateVo;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
import org.dromara.bigscreen.domain.vo.BusWjzxVo;
import org.dromara.bigscreen.domain.BusWjzx;
import org.dromara.bigscreen.mapper.BusWjzxMapper;
import org.dromara.bigscreen.service.IBusWjzxService;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 文件中心Service业务层处理
@ -53,7 +52,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
* @return 文件中心
*/
@Override
public BusWjzxVo queryById(Long id){
public BusWjzxVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@ -98,8 +97,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusWjzx> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(BusWjzx::getId);
lqw.eq(StringUtils.isNotBlank(bo.getWjm()), BusWjzx::getWjm, bo.getWjm());
lqw.like(StringUtils.isNotBlank(bo.getWjm()), BusWjzx::getWjm, bo.getWjm());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BusWjzx::getAuditStatus, bo.getAuditStatus());
lqw.eq(bo.getCreateBy() != null, BusWjzx::getCreateBy, bo.getCreateBy());
return lqw;
@ -115,7 +113,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
public Boolean insertByBo(BusWjzxBo bo) {
BusWjzx add = MapstructUtils.convert(bo, BusWjzx.class);
validEntityBeforeSave(add);
if (add != null && StringUtils.isNotBlank(add.getWjm())){
if (add != null && StringUtils.isNotBlank(add.getWjm())) {
String[] split = add.getWjm().split("\\.");
add.setWjlx(split[split.length - 1]);
}
@ -142,7 +140,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(BusWjzx entity){
private void validEntityBeforeSave(BusWjzx entity) {
//TODO 做一些数据校验,如唯一约束
}
@ -155,7 +153,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
ArrayList<Long> temp = new ArrayList<>();

View File

@ -24,10 +24,7 @@ import org.dromara.system.service.impl.SysRoleServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 角色流程对应Service业务层处理
@ -242,57 +239,57 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
Long userId = LoginHelper.getUserId();
// 获取当前登录用户的所有项目及对应所有角色
List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId);
//初始化
// LambdaQueryWrapper<SysRoleWork> lqw = new LambdaQueryWrapper<>();
// 获取项目
List<BusProjectVo> busProjectVoList = new ArrayList<>();
//维护一个该用户的 项目ID:角色ID map
Map<Long,Long> map = new HashMap<>();
//获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程
for (SysUserRole sysUserRole : allRoleList) {
// lqw.clear();
// lqw.eq(SysRoleWork::getProjectId,sysUserRole.getProjectId());
// lqw.eq(SysRoleWork::getRoleId, sysUserRole.getRoleId());
// SysRoleWork one = getOne(lqw);
// if (one != null){
// //先拿到该项目
// BusProjectQueryReq req = new BusProjectQueryReq();
// req.setId(sysUserRole.getProjectId());
// List<BusProjectVo> vos = projectService.queryList(req);
// if (vos != null && !vos.isEmpty()){
// if(!busProjectVoList.contains(vos.getFirst())){
// busProjectVoList.add(vos.getFirst());
// }
// }
// }
BusProjectQueryReq req = new BusProjectQueryReq();
req.setId(sysUserRole.getProjectId());
List<BusProjectVo> vos = projectService.queryList(req);
if (vos != null && !vos.isEmpty()){
if(!busProjectVoList.contains(vos.getFirst())){
busProjectVoList.add(vos.getFirst());
map.put(sysUserRole.getProjectId(),sysUserRole.getRoleId());
}
}
}
//遍历
List<SysRoleWork> roleWorks = this.list();
List<SysRoleVo> roleVos;
for (BusProjectVo projectVo : busProjectVoList) {
roleVos = new ArrayList<>();
//通过项目查找所有角色
LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>();
lqw1.eq(SysRoleWork::getProjectId,projectVo.getId());
//获取角色
List<SysRoleWork> roleWorkList = list(lqw1);
for (SysRoleWork sysRoleWork : roleWorkList) {
SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
if (sysRoleVo != null){
roleVos.add(sysRoleVo);
for (SysRoleWork roleWork : roleWorks) {
if (map.containsKey(projectVo.getId()) && roleWork.getRoleId().equals(map.get(projectVo.getId()))){
SysRoleVo sysRoleVo = roleService.selectRoleById(roleWork.getRoleId());
if (sysRoleVo != null){
roleVos.add(sysRoleVo);
}
}
}
projectVo.setRoleVos(roleVos);
}
//遍历
// for (BusProjectVo projectVo : busProjectVoList) {
// roleVos = new ArrayList<>();
// //通过项目查找所有角色
// LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>();
// lqw1.eq(SysRoleWork::getProjectId,projectVo.getId());
// List<SysRoleWork> roleWorkList = list(lqw1);
// //遍历
// for (SysRoleWork sysRoleWork : roleWorkList) {
// SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
// if (sysRoleVo != null){
// roleVos.add(sysRoleVo);
// }
// }
// projectVo.setRoleVos(roleVos);
// }
return busProjectVoList;
}

View File

@ -7,17 +7,21 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.dev33.satoken.annotation.SaMode;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseReq;
import org.dromara.cailiaoshebei.domain.bo.RemainingReq;
import org.dromara.cailiaoshebei.domain.dto.BusMrpDto;
import org.dromara.cailiaoshebei.domain.dto.BusMrpExportDto;
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
import org.dromara.cailiaoshebei.domain.vo.BusMrpVo;
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.design.domain.BusBillofquantities;
@ -67,6 +71,18 @@ public class BusMrpBaseController extends BaseController {
private final IBusBillofquantitiesService busBillofquantitiesService;
private final IBusBiddingPlanService busBiddingPlanService;
private final IBusMaterialbatchdemandplanService busMaterialbatchdemandplanService;
/**
* 查询物资-批次需求计划列表
*/
@SaCheckPermission("cailiaoshebei:mrpBase:list")
@GetMapping("/getPlanList")
public TableDataInfo<BusMaterialbatchdemandplanVo> list(BusMaterialbatchdemandplanBo bo, PageQuery pageQuery) {
return busMaterialbatchdemandplanService.queryPageList(bo, pageQuery);
}
/**
* 查询物资-批次需求计划基础信息列表
*/
@ -101,7 +117,7 @@ public class BusMrpBaseController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("cailiaoshebei:mrpBase:query")
// @SaCheckPermission("cailiaoshebei:mrpBase:query")
@GetMapping("/{id}")
public R<BusMrpVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -146,7 +162,7 @@ public class BusMrpBaseController extends BaseController {
/**
* 批量新增或修改
*/
@SaCheckPermission("cailiaoshebei:mrpBase:addbatch")
@SaCheckPermission("cailiaoshebei:mrpBase:add")
@RepeatSubmit()
@PostMapping("/batch")
public R<Void> batchAddOrUpdate(@RequestBody BusMrpDto dto) {
@ -156,6 +172,7 @@ public class BusMrpBaseController extends BaseController {
/**
* 获取剩余量
*/
@SaCheckPermission(value = {"cailiaoshebei:mrpBase:add","cailiaoshebei:mrpBase:edit"},mode = SaMode.OR)
@GetMapping("/remaining")
public R<List<Map<String,Object>>> remaining( RemainingReq req) {
String[] split = req.getLimitListId().split(",");
@ -171,7 +188,7 @@ public class BusMrpBaseController extends BaseController {
/**
* 导入物资需求批次计划
*/
@SaCheckPermission("cailiaoshebei:mrpBase:import")
@SaCheckPermission("cailiaoshebei:mrpBase:add")
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/import")
@ -200,7 +217,7 @@ public class BusMrpBaseController extends BaseController {
/**
* 获取工程量清单列表
*/
@SaCheckPermission("cailiaoshebei:mrpBase:getZhaoBiaoList")
@SaCheckPermission(value = {"cailiaoshebei:mrpBase:add","cailiaoshebei:mrpBase:edit"},mode = SaMode.OR)
@GetMapping("/getZhaoBiaoList")
public R<List<BusBiddingPlanVo>> getZhaoBiaoList(CoryObtainTheListReq req) {
BusBiddingPlanBo bo = new BusBiddingPlanBo();
@ -216,7 +233,7 @@ public class BusMrpBaseController extends BaseController {
* @param bo
* @return
*/
@SaCheckPermission("cailiaoshebei:mrpBase:getMore")
@SaCheckPermission("cailiaoshebei:mrpBase:list")
@GetMapping("/getMore")
public R<List<BusBillofquantitiesLimitListVo>> getMore(BusBiddingPlanBo bo) {
if (bo.getId() == null) {

View File

@ -1,6 +1,7 @@
package org.dromara.cailiaoshebei.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.servlet.http.HttpServletResponse;
@ -8,14 +9,12 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
import org.dromara.cailiaoshebei.domain.bo.FeedbackDto;
import org.dromara.cailiaoshebei.domain.bo.*;
import org.dromara.cailiaoshebei.domain.vo.BusLtnVo;
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
import org.dromara.cailiaoshebei.service.*;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException;
@ -27,11 +26,18 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.utils.logistics.LogisticsInquiryDemo;
import org.dromara.common.utils.logistics.LogisticsInquiryUtil;
import org.dromara.common.web.core.BaseController;
import org.dromara.design.domain.BusBillofquantities;
import org.dromara.design.domain.BusBillofquantitiesVersions;
import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
import org.dromara.tender.domain.bo.TenderSupplierInputReq;
import org.dromara.tender.domain.vo.TenderSupplierInputVo;
//import org.dromara.tender.service.ITenderSupplierInputService;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -64,6 +70,39 @@ public class BusPurchaseDocController extends BaseController {
private final IBusBillofquantitiesService busBillofquantitiesService;
private final IBusMrpBaseService busMrpBaseService;
private final IXzdSupplierInfoService xzdSupplierInfoService;
// private final ITenderSupplierInputService tenderSupplierInputService;
private final IBusLtnService busLtnService;
/**
* 查询物资-物流单号列表
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:list")
@GetMapping("/getLtnList")
public TableDataInfo<BusLtnVo> getLtnList(BusLtnBo bo, PageQuery pageQuery) {
return busLtnService.queryPageList(bo, pageQuery);
}
/**
* 根据材料名查询物资-批次需求计划基础信息列表
*/
@SaCheckPermission(value = {"cailiaoshebei:purchaseDoc:add","cailiaoshebei:purchaseDoc:edit"},mode = SaMode.OR)
@GetMapping("/getMrpBaseListByName")
public R<List<BusMrpBaseVo>> getListByName(BusMrpBaseReq req) {
return R.ok(busMrpBaseService.getListByName(req));
}
/**
* 根据材料名获取供应商列表
*/
@SaCheckPermission(value = {"cailiaoshebei:purchaseDoc:add","cailiaoshebei:purchaseDoc:edit"},mode = SaMode.OR)
@GetMapping("/getListByName")
public R<List<XzdSupplierInfoVo>> getListByName(TenderSupplierInputReq req) {
return R.ok(xzdSupplierInfoService.getListByName(req));
}
/**
* 查询物资-采购联系单列表
*/
@ -102,7 +141,7 @@ public class BusPurchaseDocController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:query")
// @SaCheckPermission("cailiaoshebei:purchaseDoc:query")
@GetMapping("/{id}")
public R<BusPurchaseDocVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -114,7 +153,7 @@ public class BusPurchaseDocController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:pdf")
@SaCheckPermission("cailiaoshebei:purchaseDoc:list")
@GetMapping("/pdf/{id}")
public R<String> getPic(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -2,10 +2,14 @@ package org.dromara.cailiaoshebei.controller;
import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysUserService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -36,6 +40,16 @@ public class BusPurchaseUserController extends BaseController {
private final IBusPurchaseUserService busPurchaseUserService;
private final ISysUserService userService;
/**
* 获取系统用户列表
*/
@SaCheckPermission(value = {"cailiaoshebei:purchaseUser:list","cailiaoshebei:purchaseUser:add","cailiaoshebei:purchaseUser:edit"},mode = SaMode.OR)
@GetMapping("/getUserList")
public TableDataInfo<SysUserVo> list(SysUserBo user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery);
}
/**
* 查询物资采购人员列表
*/
@ -61,7 +75,7 @@ public class BusPurchaseUserController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("cailiaoshebei:purchaseUser:query")
// @SaCheckPermission("cailiaoshebei:purchaseUser:query")
@GetMapping("/{id}")
public R<BusPurchaseUserVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -107,7 +121,7 @@ public class BusPurchaseUserController extends BaseController {
/**
* 新增或修改物资采购人员
*/
@SaCheckPermission("cailiaoshebei:purchaseUser:addOrUpdate")
@SaCheckPermission(value = {"cailiaoshebei:purchaseUser:add","cailiaoshebei:purchaseUser:edit"},mode = SaMode.OR)
@Log(title = "物资采购人员", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/addOrUpdate")
@ -121,7 +135,7 @@ public class BusPurchaseUserController extends BaseController {
*
* @param projectId 项目id
*/
@SaCheckPermission("cailiaoshebei:purchaseUser:byProject")
@SaCheckPermission("cailiaoshebei:purchaseUser:list")
@GetMapping("/byProject/{projectId}")
public R<BusPurchaseUserVo> getInfoByProject(@NotNull(message = "主键不能为空")
@PathVariable Long projectId) {

View File

@ -1,6 +1,7 @@
package org.dromara.cailiaoshebei.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.bean.BeanUtil;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotNull;
@ -47,7 +48,7 @@ public class BusTotalsupplyplanController extends BaseController {
/**
* 获取主数据列表
*/
@SaCheckPermission("design:totalsupplyplan:queryList")
@SaCheckPermission("design:totalsupplyplan:list")
@GetMapping("/queryList")
public R<List<BusTotalsupplyplanAuditVo>> queryList(TotalsupplyplanQueryListReq bo) {
BusTotalsupplyplanAuditBo busTotalsupplyplanAuditBo = BeanUtil.copyProperties(bo, BusTotalsupplyplanAuditBo.class);
@ -57,7 +58,7 @@ public class BusTotalsupplyplanController extends BaseController {
/**
* 根据主数据获取到详情
*/
@SaCheckPermission("design:totalsupplyplan:masterData")
@SaCheckPermission(value = {"design:totalsupplyplan:list","design:totalsupplyplan:add","design:totalsupplyplan:edit"},mode = SaMode.OR)
@GetMapping("/masterData")
public R<MasterDataReqDto> masterData(MasterDataReq bo) {
return R.ok(busTotalsupplyplanService.masterData(bo));
@ -86,7 +87,7 @@ public class BusTotalsupplyplanController extends BaseController {
/**
* 导入物资-总供应计划数据
*/
@SaCheckPermission("design:totalsupplyplan:import")
@SaCheckPermission("design:totalsupplyplan:add")
@Log(title = "物资-总供应计划", businessType = BusinessType.IMPORT)
@PostMapping("/import")
public R<Void> importData(@RequestPart("file") MultipartFile file) {
@ -98,7 +99,7 @@ public class BusTotalsupplyplanController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:totalsupplyplan:query")
// @SaCheckPermission("design:totalsupplyplan:query")
@GetMapping("/{id}")
public R<BusTotalsupplyplanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -130,7 +131,7 @@ public class BusTotalsupplyplanController extends BaseController {
/**
* 批量修改物资-总供应计划
*/
@SaCheckPermission("design:totalsupplyplan:batchEdit")
@SaCheckPermission("design:totalsupplyplan:edit")
@Log(title = "物资-总供应计划", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/batchEdit")

View File

@ -3,6 +3,7 @@ package org.dromara.cailiaoshebei.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -30,7 +31,10 @@ import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
import org.dromara.tender.domain.bo.TenderSupplierInputBo;
import org.dromara.tender.domain.vo.TenderSupplierInputVo;
import org.dromara.tender.service.ITenderSupplierInputService;
//import org.dromara.tender.service.ITenderSupplierInputService;
import org.dromara.xzd.domain.bo.XzdSupplierInfoBo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -63,7 +67,9 @@ public class BusPurchaseDocAppController extends BaseController {
private final IBusBillofquantitiesService busBillofquantitiesService;
private final ITenderSupplierInputService tenderSupplierInputService;
// private final ITenderSupplierInputService tenderSupplierInputService;
@Resource
private IXzdSupplierInfoService supplierInfoService;
/**
@ -78,8 +84,8 @@ public class BusPurchaseDocAppController extends BaseController {
* 查询供应商入库列表
*/
@GetMapping("/supList")
public TableDataInfo<TenderSupplierInputVo> list(TenderSupplierInputBo bo, PageQuery pageQuery) {
return tenderSupplierInputService.queryPageList(bo, pageQuery);
public TableDataInfo<XzdSupplierInfoVo> list(XzdSupplierInfoBo bo, PageQuery pageQuery) {
return supplierInfoService.queryPageList(bo, pageQuery);
}
/**

View File

@ -33,7 +33,7 @@ import org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo;
import org.dromara.tender.domain.vo.BusTenderPlanningLimitListVo;
import org.dromara.tender.service.IBusBiddingPlanService;
import org.dromara.tender.service.IBusBillofquantitiesLimitListService;
import org.dromara.tender.service.ITenderSupplierInputService;
//import org.dromara.tender.service.ITenderSupplierInputService;
import org.springframework.context.annotation.Lazy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;

View File

@ -54,7 +54,7 @@ public class SubAttendanceMachineUserController extends BaseController {
/**
* 删除考勤机用户
*/
@SaCheckPermission("contractor:attendanceMachineUser:remove")
@SaCheckPermission("contractor:attendanceMachineUser:add")
@Log(title = "分包考勤机用户", businessType = BusinessType.DELETE)
@RepeatSubmit()
@DeleteMapping()

View File

@ -1,6 +1,7 @@
package org.dromara.contractor.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
@ -26,9 +27,12 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.contractor.domain.SubConstructionUser;
import org.dromara.contractor.domain.SubConstructionUserFile;
import org.dromara.contractor.domain.dto.constructionuser.*;
import org.dromara.contractor.domain.dto.contractor.SubContractorQueryReq;
import org.dromara.contractor.domain.vo.constructionuser.*;
import org.dromara.contractor.domain.vo.contractor.SubContractorVo;
import org.dromara.contractor.service.ISubConstructionUserFileService;
import org.dromara.contractor.service.ISubConstructionUserService;
import org.dromara.contractor.service.ISubContractorService;
import org.dromara.project.domain.dto.project.BusProjectQueryReq;
import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq;
import org.dromara.project.domain.dto.projectteammember.BusProjectTeamMemberCreateReq;
@ -75,6 +79,8 @@ public class SubConstructionUserController extends BaseController {
private final IdCardEncryptorUtil idCardEncryptorUtil;
private final ISubConstructionUserFileService constructionUserFileService;
private final ISubContractorService contractorService;
/**
* 查询施工人员列表
*/
@ -84,6 +90,15 @@ public class SubConstructionUserController extends BaseController {
return constructionUserService.queryPageList(req, pageQuery);
}
/**
* 查询分包单位列表
*/
@GetMapping("/subContractorList")
public TableDataInfo<SubContractorVo> list(SubContractorQueryReq req, PageQuery pageQuery) {
return contractorService.queryPageList(req, pageQuery);
}
/**
* 新人池
@ -108,7 +123,7 @@ public class SubConstructionUserController extends BaseController {
/**
* 查询每个施工人员总的考勤列表
*/
@SaCheckPermission(value = {"contractor:constructionUser:listAttendanceTotal", "project:attendance:listAttendanceTotal"})
@SaCheckPermission(value = {"contractor:constructionUser:listAttendanceTotal", "project:attendance:listAttendanceTotal"}, mode = SaMode.OR)
@GetMapping("/list/attendance/total")
public TableDataInfo<SubConstructionUserAttendanceTotalVo> listAttendanceTotal(SubConstructionUserAttendanceQueryReq req,
PageQuery pageQuery) {
@ -232,7 +247,7 @@ public class SubConstructionUserController extends BaseController {
/**
* 施工人员迁移
*/
@SaCheckPermission("contractor:constructionUser:edit")
@SaCheckPermission("contractor:constructionUser:change")
@Log(title = "施工人员", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/change/project")
@ -254,9 +269,9 @@ public class SubConstructionUserController extends BaseController {
}
/**
* 查询项目班组列表
* 查询项目班组列表 contractor:constructionUser:newUserList
*/
@SaCheckPermission("project:projectTeam:addTeam")
@SaCheckPermission(value = {"project:projectTeam:addTeam", "contractor:constructionUser:newUserList","contractor:constructionUser:addTeam"}, mode = SaMode.OR)
@GetMapping("/projectList")
public TableDataInfo<BusProjectVo> list(BusProjectQueryReq req, PageQuery pageQuery) {
return projectService.queryPageList(req, pageQuery);
@ -265,7 +280,7 @@ public class SubConstructionUserController extends BaseController {
/**
* 查询项目班组列表
*/
@SaCheckPermission("project:projectTeam:addTeam")
// @SaCheckPermission("project:projectTeam:addTeam")
@GetMapping("/teamList")
public TableDataInfo<BusProjectTeamVo> teamList(BusProjectTeamQueryReq req, PageQuery pageQuery) {
return busProjectTeamService.queryPageList(req, pageQuery);
@ -274,7 +289,7 @@ public class SubConstructionUserController extends BaseController {
/**
* 添加项目班组
*/
@SaCheckPermission("project:projectTeam:addTeam")
@SaCheckPermission(value = {"project:projectTeam:addTeam", "contractor:constructionUser:addTeam"}, mode = SaMode.OR)
@RepeatSubmit()
@PostMapping("/addTeam")
public R<Long> add(@Validated(AddGroup.class) @RequestBody BusProjectTeamMemberCreateReq req) {

View File

@ -40,7 +40,7 @@ public class SubConstructionUserFileController extends BaseController {
/**
* 查询施工人员文件存储列表
*/
@SaCheckPermission(value = {"project:constructionUserFile:list", "contractor:constructionUserFile:list"}, mode = SaMode.OR)
//@SaCheckPermission(value = {"project:constructionUserFile:list", "contractor:constructionUserFile:list"}, mode = SaMode.OR)
@GetMapping("/list")
public R<List<SubConstructionUserFileVo>> list(SubConstructionUserFileQueryReq req) {
return R.ok(constructionUserFileService.queryList(req));

View File

@ -1,6 +1,7 @@
package org.dromara.contractor.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -94,7 +95,8 @@ public class SubContractorController extends BaseController {
/**
* 修改分包单位
*/
@SaCheckPermission("contractor:contractor:edit")
@SaCheckPermission(value = {"contractor:contractor:edit", "contractor:contractor:save"}
, mode = SaMode.OR)
@Log(title = "分包单位", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()

View File

@ -77,17 +77,19 @@ public class SubUserSalaryDetailController extends BaseController {
/**
* 工资计算与导出
*/
@SaCheckPermission("contractor:userSalaryDetail:salaryPageList")
@GetMapping("/salaryPageList")
public TableDataInfo<SubConstructionUserSalaryVo> salaryPageList( SubConstructionUserSalaryDto dto, PageQuery pageQuery) {
return subUserSalaryDetailService.salaryPageList(dto, pageQuery);
}
@SaCheckPermission("contractor:userSalaryDetail:export")
@GetMapping("/export")
public void export(HttpServletResponse response, SubConstructionUserSalaryDto dto) throws IOException {
subUserSalaryDetailService.export(response, dto);
}
@SaCheckPermission("contractor:userSalaryDetail:import")
@PutMapping("/import")
@RepeatSubmit(interval = 1, timeUnit = TimeUnit.MINUTES,message = "正在导入,请勿重复提交")
public R<Boolean> importData(@RequestParam("file") MultipartFile file) {

View File

@ -31,7 +31,9 @@ import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.SysUser;
import org.dromara.system.service.ISysUserService;
import org.dromara.tender.domain.TenderSupplierInput;
import org.dromara.tender.service.ITenderSupplierInputService;
//import org.dromara.tender.service.ITenderSupplierInputService;
import org.dromara.xzd.domain.XzdSupplierInfo;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@ -56,8 +58,10 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
@Resource
private IBusProjectService projectService;
// @Resource
// private ITenderSupplierInputService supplierInputService;
@Resource
private ITenderSupplierInputService supplierInputService;
private IXzdSupplierInfoService supplierInfoService;
@Resource
@Lazy
@ -195,7 +199,7 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
if (StringUtils.isNotBlank(custodianPhone) && !PhoneUtil.isPhone(custodianPhone)) {
throw new ServiceException("管理人手机号格式不正确", HttpStatus.BAD_REQUEST);
}
if (ObjectUtils.isNotEmpty(supplierId) && supplierInputService.getById(supplierId) == null) {
if (ObjectUtils.isNotEmpty(supplierId) && supplierInfoService.getById(supplierId) == null) {
throw new ServiceException("供应商不存在", HttpStatus.NOT_FOUND);
}
}
@ -253,9 +257,9 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
// 关联供应商名称
Long supplierId = contractor.getSupplierId();
if (supplierId != null) {
TenderSupplierInput supplierInput = supplierInputService.getById(supplierId);
if (supplierInput != null) {
contractorVo.setSupplierName(supplierInput.getSupplierName());
XzdSupplierInfo supplierInfo = supplierInfoService.getById(supplierId);
if (supplierInfo != null) {
contractorVo.setSupplierName(supplierInfo.getUnitName());
}
}
return contractorVo;

View File

@ -51,7 +51,7 @@ public class BusContactformtemplateController extends BaseController {
/**
* 查询联系单模板列表(不分页)
*/
@SaCheckPermission(value = {"cory:contactformtemplate:listNoPage", "cory:contactformtemplate:list"}, mode = SaMode.OR)
//@SaCheckPermission(value = {"cory:contactformtemplate:listNoPage", "cory:contactformtemplate:list"}, mode = SaMode.OR)
@GetMapping("/listNoPage")
public R<List<BusContactformtemplateVo>> listNoPage(BusContactformtemplateBo bo) {
return R.ok(busContactformtemplateService.queryList(bo));

View File

@ -83,7 +83,7 @@ public class BusContactnoticeController extends BaseController {
/**
* 修改联系单
*/
@SaCheckPermission("cory:contactnotice:edit")
// @SaCheckPermission("cory:contactnotice:edit")
@Log(title = "联系单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()

View File

@ -46,4 +46,7 @@ public class BusContactnoticeBo extends BaseEntity {
*/
@NotNull(message = "模板类型不能为空", groups = { QueryGroup.class })
private List<Long> types;
private Long id;
}

View File

@ -57,7 +57,7 @@ public class BusBillofquantitiesVersionsController extends BaseController {
/**
* 获取所有版本号
*/
@SaCheckPermission("design:billofquantitiesVersions:obtainAllVersionNumbers")
@SaCheckPermission("design:billofquantitiesVersions:list")
@GetMapping("/obtainAllVersionNumbers")
public TableDataInfo<BusBillofquantitiesVersionsVo> obtainAllVersionNumbers(ObtainAllVersionNumbersReq bo, PageQuery pageQuery) {
return busBillofquantitiesVersionsService.obtainAllVersionNumbers(bo, pageQuery);
@ -76,7 +76,7 @@ public class BusBillofquantitiesVersionsController extends BaseController {
/**
* 获取指定版本的sheet
*/
@SaCheckPermission("design:billofquantitiesVersions:sheetList")
@SaCheckPermission("design:billofquantitiesVersions:list")
@GetMapping("/sheetList")
public R<List<String>> sheetList(SheetListReq bo) {
return R.ok(busBillofquantitiesVersionsService.sheetList(bo));
@ -85,7 +85,7 @@ public class BusBillofquantitiesVersionsController extends BaseController {
/**
* 获取工程量清单列表
*/
@SaCheckPermission("design:billofquantitiesVersions:obtainTheList")
@SaCheckPermission("design:billofquantitiesVersions:list")
@GetMapping("/obtainTheList")
public R<List<ObtainTheListRes>> obtainTheList(CoryObtainTheListReq bo, PageQuery pageQuery) {
return R.ok(busBillofquantitiesVersionsService.obtainTheList(bo));
@ -114,6 +114,7 @@ public class BusBillofquantitiesVersionsController extends BaseController {
* 导出工程量清单版本列表
*/
@Log(title = "工程量清单版本", businessType = BusinessType.EXPORT)
@SaCheckPermission("design:billofquantitiesVersions:export")
@PostMapping("/export")
public void export(String versions,Long projectId, HttpServletResponse response) throws IOException {
Map<String, List<BillOfQuantitiesExport>> sheetDataMap = busBillofquantitiesVersionsService.export(versions,projectId);

View File

@ -130,7 +130,7 @@ public class BusDrawingreviewController extends BaseController {
/**
* 查询项目下的子项目列表
*/
@SaCheckPermission("design:drawingreviewReceipts:subProjectList")
// @SaCheckPermission("design:drawingreviewReceipts:subProjectList")
@GetMapping("/subProjectList/{id}")
public R<List<BusSubProjectVo>> listSubProject(@NotNull(message = "项目id不能为空")
@PathVariable Long id) {

View File

@ -98,7 +98,7 @@ public class BusDrawingreviewReceiptsController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:drawingreviewReceipts:query")
// @SaCheckPermission("design:drawingreviewReceipts:query")
@GetMapping("/{id}")
public R<BusDrawingreviewReceiptsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -119,7 +119,7 @@ public class BusDrawingreviewReceiptsController extends BaseController {
/**
* 修改设计-图纸评审验证
*/
@SaCheckPermission("design:drawingreviewReceipts:edit")
// @SaCheckPermission("design:drawingreviewReceipts:edit")
@Log(title = "设计-图纸评审验证", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -163,6 +163,8 @@ public class BusDrawingreviewReceiptsController extends BaseController {
private static final String TEMPLATE_PATH = "template/设计验证表.docx";
@PostMapping("/downloadWord")
public void generateDesignLeaderDoc(Long id, HttpServletResponse response) {
OutputStream outputStream = null;

View File

@ -15,6 +15,9 @@ import org.dromara.design.domain.DesCollectCatalogue;
import org.dromara.design.domain.dto.desCollect.DesCollectBatchDto;
import org.dromara.design.domain.vo.DesCollectCatalogueVo;
//import org.dromara.design.handler.UserDropdownSheetWriteHandler;
import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysUserService;
import org.dromara.tender.domain.bo.BusBillofquantitiesLimitListBo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@ -46,6 +49,7 @@ import org.springframework.web.multipart.MultipartFile;
public class DesCollectController extends BaseController {
private final IDesCollectService desCollectService;
private final ISysUserService userService;
/**
* 查询收资清单列表
@ -56,6 +60,13 @@ public class DesCollectController extends BaseController {
return desCollectService.queryPageList(bo, pageQuery);
}
@SaCheckPermission("design:collect:query")
@GetMapping("/userList")
public TableDataInfo<SysUserVo> list(SysUserBo user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery);
}
/**
* 导出收资清单列表
*/
@ -129,7 +140,7 @@ public class DesCollectController extends BaseController {
*
* @param projectId 项目ID
*/
@SaCheckPermission("design:collect:byProjectId")
@SaCheckPermission("design:collect:query")
@GetMapping("/byProjectId/{projectId}")
public R<DesCollectVo> getInfoByProjectId(@NotNull(message = "项目ID不能为空")
@PathVariable Long projectId) {

View File

@ -7,6 +7,7 @@ import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
@ -14,14 +15,20 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.design.domain.DesCollect;
import org.dromara.design.domain.DesCollectFile;
import org.dromara.design.domain.bo.DesCollectCatalogueBo;
import org.dromara.design.domain.bo.DesCollectFileBo;
import org.dromara.design.domain.dto.ExportDto;
import org.dromara.design.domain.dto.designchange.DesDesignExtendDetailDto;
import org.dromara.design.domain.vo.DesCollectCatalogueVo;
import org.dromara.design.domain.vo.DesCollectFileVo;
import org.dromara.design.domain.vo.DesCollectFileWordVo;
import org.dromara.design.domain.vo.designchange.DesDesignChangeVo;
import org.dromara.design.service.IDesCollectCatalogueService;
import org.dromara.design.service.IDesCollectFileService;
import org.dromara.design.service.IDesCollectService;
import org.dromara.project.domain.BusProject;
import org.dromara.project.service.IBusProjectService;
import org.springframework.core.io.ClassPathResource;
@ -56,6 +63,21 @@ public class DesCollectFileController extends BaseController {
private final IDesCollectFileService desCollectFileService;
private final IBusProjectService projectService;
private final IDesCollectService desCollectService;
private final IDesCollectCatalogueService desCollectCatalogueService;
@SaCheckPermission("design:collectFile:list")
@GetMapping("/catalogueList")
public TableDataInfo<DesCollectCatalogueVo> list(DesCollectCatalogueBo bo, PageQuery pageQuery) {
DesCollect desCollect = desCollectService.getOne(Wrappers.lambdaQuery(DesCollect.class)
.eq(DesCollect::getProjectId, bo.getProjectId()).last("limit 1"));
if (desCollect == null || !BusinessStatusEnum.FINISH.getStatus().equals(desCollect.getStatus())) {
return TableDataInfo.build();
}
return desCollectCatalogueService.queryPageList(bo, pageQuery);
}
/**
* 查询收资文件列表
@ -66,6 +88,8 @@ public class DesCollectFileController extends BaseController {
return desCollectFileService.queryPageList(bo, pageQuery);
}
/**
* 导出收资文件列表
*/
@ -142,6 +166,7 @@ public class DesCollectFileController extends BaseController {
}
private static final String TEMPLATE_PATH = "template/设计输入资料清单及评审表.docx";
@SaCheckPermission("design:collectFile:downloadWord")
@PostMapping("/downloadWord")
public void generateDesignLeaderDoc(Long projectId, HttpServletResponse response) {
OutputStream outputStream = null;

View File

@ -116,7 +116,7 @@ public class DesConstructionSchedulePlanController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:constructionSchedulePlan:query")
// @SaCheckPermission("design:constructionSchedulePlan:query")
@GetMapping("/{id}")
public R<DesConstructionSchedulePlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -177,6 +177,8 @@ public class DesConstructionSchedulePlanController extends BaseController {
private static final String TEMPLATE_RESOURCE_PATH = "template/CCCET-JL-CX-25设计计划表.docx";
// -------------------------- 2. 核心接口:修复单元格清空逻辑与数据填充 --------------------------
@SaCheckPermission("design:constructionSchedulePlan:downloadWord")
@PostMapping("/downloadWord")
public void fillCccetTemplate(Long projectId, HttpServletResponse response) {
// 1. 基础参数校验(避免空数据)

View File

@ -97,7 +97,7 @@ public class DesDesignChangeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:designChange:query")
// @SaCheckPermission("design:designChange:query")
@GetMapping("/{id}")
public R<DesDesignChangeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -118,7 +118,7 @@ public class DesDesignChangeController extends BaseController {
/**
* 修改设计变更管理
*/
@SaCheckPermission("design:designChange:edit")
// @SaCheckPermission("design:designChange:edit")
@Log(title = "设计变更管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -143,7 +143,7 @@ public class DesDesignChangeController extends BaseController {
/**
* 查询选择卷册目录
*/
@SaCheckPermission("design:designChange:catalogList")
// @SaCheckPermission("design:designChange:catalogList")
@GetMapping("/catalogList/{projectId}")
public R<List<DesVolumeCatalogVo>> catalogList(@PathVariable("projectId") Long projectId) {
return R.ok(desVolumeCatalogService.catalogList(projectId));
@ -152,7 +152,7 @@ public class DesDesignChangeController extends BaseController {
/**
* 查询选择目录下的蓝图
*/
@SaCheckPermission("design:designChange:blueprint")
// @SaCheckPermission("design:designChange:blueprint")
@GetMapping("/blueprint/{volumeCatalogId}")
public R<List<DesVolumeFile>> blueprint(@PathVariable("volumeCatalogId") Long volumeCatalogId) {
List<DesVolumeFile> list = desVolumeFileService.list(Wrappers.lambdaQuery(DesVolumeFile.class)

View File

@ -2,7 +2,10 @@ package org.dromara.design.controller;
import java.util.List;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@ -15,7 +18,15 @@ import org.dromara.design.domain.dto.desCollect.DesCollectBatchDto;
import org.dromara.design.domain.dto.desExtract.DesExtractBatchDto;
import org.dromara.design.domain.vo.DesCollectFileVo;
import org.dromara.design.domain.vo.DesUserVo;
import org.dromara.design.domain.vo.volumecatalog.DesVolumeCatalogVo;
import org.dromara.design.service.IDesUserService;
import org.dromara.design.service.IDesVolumeCatalogService;
import org.dromara.system.domain.bo.SysPostBo;
import org.dromara.system.domain.bo.SysRoleBo;
import org.dromara.system.domain.vo.SysRoleVo;
import org.dromara.system.domain.vo.SysUserInfoVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysUserService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -47,6 +58,10 @@ public class DesExtractController extends BaseController {
private final IDesExtractService desExtractService;
private final IDesUserService deUserService;
private final IDesVolumeCatalogService desVolumeCatalogService;
private final ISysUserService userService;
/**
* 查询提资清单列表
*/
@ -126,13 +141,29 @@ public class DesExtractController extends BaseController {
/**
* 查询用户的专业
*/
@SaCheckPermission("design:extract:userMajor")
@SaCheckPermission("design:extract:add")
@GetMapping("/userMajor")
public R<List<DesUserVo>> selectUserMajor(DesUserBo bo) {
bo.setUserType("2");
return R.ok( deUserService.queryList(bo));
}
@SaCheckPermission("design:extract:add")
@GetMapping("/catalogList/{projectId}")
public R<List<DesVolumeCatalogVo>> catalogList(@PathVariable("projectId") Long projectId) {
return R.ok(desVolumeCatalogService.catalogList(projectId));
}
@SaCheckPermission("design:extract:add")
@GetMapping("/userInfo/{userId}")
public R<SysUserInfoVo> userInfo(@PathVariable(value = "userId", required = false) Long userId) {
SysUserInfoVo userInfoVo = new SysUserInfoVo();
if (ObjectUtil.isNotNull(userId)) {
SysUserVo sysUser = userService.selectUserById(userId);
userInfoVo.setUser(sysUser);
}
return R.ok(userInfoVo);
}
/**
* 清单导出

View File

@ -47,50 +47,50 @@ public class DesPrelimSchemeController extends BaseController {
return desPrelimSchemeService.queryPageList(bo, pageQuery);
}
/**
* 导出设计初步方案列表
*/
@SaCheckPermission("design:prelimScheme:export")
@Log(title = "设计初步方案", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(DesPrelimSchemeBo bo, HttpServletResponse response) {
List<DesPrelimSchemeVo> list = desPrelimSchemeService.queryList(bo);
ExcelUtil.exportExcel(list, "设计初步方案", DesPrelimSchemeVo.class, response);
}
// /**
// * 导出设计初步方案列表
// */
// @SaCheckPermission("design:prelimScheme:export")
// @Log(title = "设计初步方案", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(DesPrelimSchemeBo bo, HttpServletResponse response) {
// List<DesPrelimSchemeVo> list = desPrelimSchemeService.queryList(bo);
// ExcelUtil.exportExcel(list, "设计初步方案", DesPrelimSchemeVo.class, response);
// }
/**
* 获取设计初步方案详细信息
*
* @param id 主键
*/
@SaCheckPermission("design:prelimScheme:query")
// @SaCheckPermission("design:prelimScheme:query")
@GetMapping("/{id}")
public R<DesPrelimSchemeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(desPrelimSchemeService.queryById(id));
}
/**
* 新增设计初步方案
*/
@SaCheckPermission("design:prelimScheme:add")
@Log(title = "设计初步方案", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody DesPrelimSchemeBo bo) {
return toAjax(desPrelimSchemeService.insertByBo(bo));
}
// /**
// * 新增设计初步方案
// */
// @SaCheckPermission("design:prelimScheme:add")
// @Log(title = "设计初步方案", businessType = BusinessType.INSERT)
// @RepeatSubmit()
// @PostMapping()
// public R<Void> add(@Validated(AddGroup.class) @RequestBody DesPrelimSchemeBo bo) {
// return toAjax(desPrelimSchemeService.insertByBo(bo));
// }
/**
* 修改设计初步方案
*/
@SaCheckPermission("design:prelimScheme:edit")
@Log(title = "设计初步方案", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DesPrelimSchemeBo bo) {
return toAjax(desPrelimSchemeService.updateByBo(bo));
}
// /**
// * 修改设计初步方案
// */
// @SaCheckPermission("design:prelimScheme:edit")
// @Log(title = "设计初步方案", businessType = BusinessType.UPDATE)
// @RepeatSubmit()
// @PutMapping()
// public R<Void> edit(@Validated(EditGroup.class) @RequestBody DesPrelimSchemeBo bo) {
// return toAjax(desPrelimSchemeService.updateByBo(bo));
// }
/**
* 删除设计初步方案
@ -109,7 +109,7 @@ public class DesPrelimSchemeController extends BaseController {
/**
* 新增设计初步方案文件
*/
@SaCheckPermission("design:prelimScheme:upload")
@SaCheckPermission("design:prelimScheme:add")
@Log(title = "设计初步方案", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/upload")
@ -121,7 +121,7 @@ public class DesPrelimSchemeController extends BaseController {
/**
* 修改设计方案文件
*/
@SaCheckPermission("design:prelimScheme:update")
@SaCheckPermission("design:prelimScheme:edit")
@Log(title = "设计初步方案", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/update/{id}")
@ -129,6 +129,8 @@ public class DesPrelimSchemeController extends BaseController {
return toAjax(desPrelimSchemeService.updateFile(file, projectId,id));
}
@SaCheckPermission("design:prelimScheme:export")
@Log(title = "设计初步方案", businessType = BusinessType.EXPORT)
@PostMapping("/exportZipWithStatus")
public void exportZipWithStatus(ExportDto dto, HttpServletResponse response) throws Exception {
desPrelimSchemeService.exportAsZipWithStatusPrefix(dto, response);

View File

@ -63,7 +63,7 @@ public class DesSchemeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:scheme:query")
// @SaCheckPermission("design:scheme:query")
@GetMapping("/{id}")
public R<DesSchemeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -109,7 +109,7 @@ public class DesSchemeController extends BaseController {
/**
* 新增设计方案文件
*/
@SaCheckPermission("design:scheme:upload")
@SaCheckPermission("design:scheme:add")
@Log(title = "设计方案", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/upload")
@ -120,7 +120,7 @@ public class DesSchemeController extends BaseController {
/**
* 修改设计方案文件
*/
@SaCheckPermission("design:scheme:update")
@SaCheckPermission("design:scheme:edit")
@Log(title = "设计方案", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/update/{id}")
@ -129,6 +129,7 @@ public class DesSchemeController extends BaseController {
}
@SaCheckPermission("design:scheme:export")
@PostMapping("/exportZipWithStatus")
public void exportZipWithStatus(ExportDto dto, HttpServletResponse response) throws Exception {
desSchemeService.exportAsZipWithStatusPrefix(dto, response);

View File

@ -61,7 +61,7 @@ public class DesSubcontractController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:subcontract:query")
// @SaCheckPermission("design:subcontract:query")
@GetMapping("/{id}")
public R<DesSubcontractVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -29,6 +29,9 @@ import org.dromara.design.domain.DesUserExcelData;
import org.dromara.design.domain.dto.desUser.DesUserBatchDto;
import org.dromara.project.domain.BusProject;
import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysUserService;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@ -64,6 +67,7 @@ public class DesUserController extends BaseController {
private final IDesUserService desUserService;
private final IBusProjectService projectService;
private final ISysUserService userService;
/**
* 查询设计人员列表
@ -74,6 +78,12 @@ public class DesUserController extends BaseController {
return desUserService.queryPageList(bo, pageQuery);
}
@SaCheckPermission("design:user:list")
@GetMapping("/userList")
public TableDataInfo<SysUserVo> list(SysUserBo user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery);
}
/**
* 导出设计人员列表
*/
@ -154,6 +164,7 @@ public class DesUserController extends BaseController {
private static final String TEMPLATE_PATH = "template/设计项目负责人任命通知单.docx";
@SaCheckPermission("design:user:downloadWord")
@PostMapping("/downloadWord")
public void generateDesignLeaderDoc( Long projectId,
HttpServletResponse response

View File

@ -87,7 +87,7 @@ public class DesVolumeCatalogController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:volumeCatalog:query")
// @SaCheckPermission("design:volumeCatalog:query")
@GetMapping("/{id}")
public R<DesVolumeCatalogVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id, String type) {
@ -99,7 +99,7 @@ public class DesVolumeCatalogController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("design:volumeCatalog:listFile")
// @SaCheckPermission("design:volumeCatalog:listFile")
@GetMapping("/listFileById/{id}")
public R<List<DesVolumeFileVo>> listFileById(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -233,7 +233,7 @@ public class DesVolumeCatalogController extends BaseController {
/**
* 查询设计人员列表
*/
@SaCheckPermission("design:volumeCatalog:majorList")
@SaCheckPermission("design:volumeCatalog:add")
@GetMapping("/majorList")
public R<List<DesUserVo>> list(DesUserBo bo) {
@ -248,6 +248,13 @@ public class DesVolumeCatalogController extends BaseController {
return R.ok(uniqueMajors);
}
@SaCheckPermission("design:volumeCatalog:add")
@GetMapping("/userList")
public TableDataInfo<DesUserVo> list(DesUserBo bo, PageQuery pageQuery) {
return desUserService.queryPageList(bo, pageQuery);
}
public static List<ExcelData> readExcel(MultipartFile file) throws IOException {
List<ExcelData> dataList = new ArrayList<>();

View File

@ -96,7 +96,7 @@ public class DesVolumeFileController extends BaseController {
}
@SaCheckPermission("design:volumeFile:joinList")
@GetMapping("/joinList")
public TableDataInfo<DesVolumeFileJoinVo> joinList(DesVolumeFileBo bo, PageQuery pageQuery) {
return desVolumeFileService.queryJoinPageList(bo, pageQuery);

View File

@ -70,7 +70,7 @@ public class DesVolumeFileViewerController extends BaseController {
/**
* 新增卷册文件查阅人
*/
@SaCheckPermission("design:volumeFileViewer:add")
// @SaCheckPermission("design:volumeFileViewer:add")
@Log(title = "卷册文件查阅人", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.bidding.domain.BusBiddingLimitList;
@ -36,19 +37,34 @@ import org.dromara.design.exportUtil.bill.BillOfQuantitiesExport;
import org.dromara.design.mapper.BusBillofquantitiesVersionsMapper;
import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
import org.dromara.project.domain.BusProjectDept;
import org.dromara.project.domain.vo.project.BusProjectVo;
import org.dromara.project.service.IBusProjectDeptService;
import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.vo.SysOssUploadVo;
import org.dromara.system.service.ISysDeptService;
import org.dromara.system.service.ISysOssService;
import org.dromara.tender.domain.BusBLimitListVersions;
import org.dromara.tender.domain.BusBillofquantitiesLimitList;
import org.dromara.tender.domain.vo.BusBLimitListVersionsVo;
import org.dromara.tender.enums.LimitListTypeEnum;
import org.dromara.tender.service.IBusBLimitListVersionsService;
import org.dromara.tender.service.IBusBillofquantitiesLimitListService;
import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysJdcbfj;
import org.dromara.xzd.costProjectApproval.costBudget.domain.XzdCbysZjhcb;
import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysJdcbfjService;
import org.dromara.xzd.costProjectApproval.costBudget.service.IXzdCbysZjhcbService;
import org.dromara.xzd.domain.XzdProject;
import org.dromara.xzd.service.IXzdProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@ -73,9 +89,20 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
private final IBusBiddingLimitListService busBiddingLimitListService;
private final IBusBLimitListVersionsService busBLimitListVersionsService;
private final IBusBiddingLimitVersionsService busBiddingLimitVersions;
private final IXzdCbysZjhcbService xzdCbysZjhcbService;
private final IXzdCbysJdcbfjService xzdCbysJdcbfjService;
@Lazy
@Resource
private IBusProjectService busProjectService;
@Lazy
@Resource
private IXzdProjectService xzdProjectService;
@Autowired
private ISysOssService ossService;
@Lazy
@Resource
private IBusProjectDeptService projectDeptService;
/**
* 查询工程量清单版本
@ -633,6 +660,32 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
if (!b) {
log.info("新增失败");
}
XzdCbysZjhcb zjhcb = new XzdCbysZjhcb();
BusProjectDept projectDept = projectDeptService.getBaseMapper().selectOne(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getProjectId, versions.getProjectId()));
if (projectDept != null){
zjhcb.setDeptId(projectDept.getDeptId());
}
zjhcb.setVesionId(busBLimitListVersions.getVersions());
zjhcb.setSysProjectId(versions.getProjectId());
String banBen = BatchNumberGenerator.generateBatchNumber("LXCBZTJHCB-");
zjhcb.setDocCode(banBen);
XzdProject xzdProject = xzdProjectService.getBaseMapper().selectOne(new LambdaQueryWrapper<XzdProject>().eq(XzdProject::getSysProjectId, versions.getProjectId()));
if (xzdProject != null){
zjhcb.setProjectId(xzdProject.getId());
zjhcb.setProjectLeader(xzdProject.getManagerResponsible());
zjhcb.setExecProjectManager(xzdProject.getManagerExecution());
zjhcb.setDocTitle(xzdProject.getProjectName());
}else {
zjhcb.setDocTitle(banBen);
}
zjhcb.setDocDate(LocalDate.now());
zjhcb.setBudgetCategory("1");
zjhcb.setContractAmount(BigDecimal.ZERO);
boolean save1 = xzdCbysZjhcbService.save(zjhcb);
if (!save1) {
log.info("新增失败");
}
}
}
@ -721,6 +774,34 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
if (!b) {
log.info("新增失败");
}
XzdCbysJdcbfj zjhcb = new XzdCbysJdcbfj();
BusProjectDept projectDept = projectDeptService.getBaseMapper().selectOne(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getProjectId, versions.getProjectId()));
if (projectDept != null){
zjhcb.setDeptId(projectDept.getDeptId());
}
zjhcb.setVesions(busBLimitListVersions.getVersions());
zjhcb.setSysProjectId(versions.getProjectId());
String banBen = BatchNumberGenerator.generateBatchNumber("LXCBJDCBFJZC-");
zjhcb.setDocCode(banBen);
XzdProject xzdProject = xzdProjectService.getBaseMapper().selectOne(new LambdaQueryWrapper<XzdProject>().eq(XzdProject::getSysProjectId, versions.getProjectId()));
if (xzdProject != null){
zjhcb.setProjectId(xzdProject.getId());
zjhcb.setProjectLeader(xzdProject.getManagerResponsible());
Long count = xzdCbysJdcbfjService.getBaseMapper().selectCount(new LambdaQueryWrapper<XzdCbysJdcbfj>()
.eq(XzdCbysJdcbfj::getSysProjectId, versions.getProjectId())
.eq(XzdCbysJdcbfj::getVesions, busBLimitListVersions.getVersions())
.eq(XzdCbysJdcbfj::getType, LimitListTypeEnum.SUB_COMPANY.getCode()));
zjhcb.setDocTitle(count == 0 ? xzdProject.getProjectName() :xzdProject.getProjectName()+count);
}else {
zjhcb.setDocTitle(banBen);
}
zjhcb.setDocDate(LocalDate.now());
zjhcb.setBudgetCategory("1");
zjhcb.setType(LimitListTypeEnum.SUB_COMPANY.getCode());
boolean save1 = xzdCbysJdcbfjService.save(zjhcb);
if (!save1) {
log.info("新增失败");
}
}
}
@ -796,6 +877,34 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
if (!b) {
log.info("新增失败");
}
XzdCbysJdcbfj zjhcb = new XzdCbysJdcbfj();
BusProjectDept projectDept = projectDeptService.getBaseMapper().selectOne(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getProjectId, versions.getProjectId()));
if (projectDept != null){
zjhcb.setDeptId(projectDept.getDeptId());
}
zjhcb.setVesions(busBLimitListVersions.getVersions());
zjhcb.setSysProjectId(versions.getProjectId());
String banBen = BatchNumberGenerator.generateBatchNumber("LXCBJDCBFJWZ-");
zjhcb.setDocCode(banBen);
XzdProject xzdProject = xzdProjectService.getBaseMapper().selectOne(new LambdaQueryWrapper<XzdProject>().eq(XzdProject::getSysProjectId, versions.getProjectId()));
if (xzdProject != null){
zjhcb.setProjectId(xzdProject.getId());
zjhcb.setProjectLeader(xzdProject.getManagerResponsible());
Long count = xzdCbysJdcbfjService.getBaseMapper().selectCount(new LambdaQueryWrapper<XzdCbysJdcbfj>()
.eq(XzdCbysJdcbfj::getSysProjectId, versions.getProjectId())
.eq(XzdCbysJdcbfj::getVesions, busBLimitListVersions.getVersions())
.eq(XzdCbysJdcbfj::getType, LimitListTypeEnum.SPECIAL.getCode()));
zjhcb.setDocTitle(count == 0 ? xzdProject.getProjectName() :xzdProject.getProjectName()+count);
}else {
zjhcb.setDocTitle(banBen);
}
zjhcb.setDocDate(LocalDate.now());
zjhcb.setBudgetCategory("1");
zjhcb.setType(LimitListTypeEnum.SPECIAL.getCode());
boolean save1 = xzdCbysJdcbfjService.save(zjhcb);
if (!save1) {
log.info("新增失败");
}
}
}

View File

@ -418,7 +418,7 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
if (list != null && !list.isEmpty()) {
long count = 0;
for (DesVolumeFile file : list) {
if (BusinessStatusEnum.DRAFT.getStatus().equals(file.getAuditStatus())) {
if (BusinessStatusEnum.DRAFT.getStatus().equals(file.getAuditStatus()) && !DesVolumeFile.WASTE.equals(file.getType())) {
count++;
}
}

View File

@ -2,12 +2,16 @@ package org.dromara.formalities.controller;
import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.formalities.domain.bo.BusFormalitiesAnnexBo;
import org.dromara.formalities.domain.bo.BusListOfFormalitiesBo;
import org.dromara.formalities.domain.vo.BusFormalitiesAnnexVo;
import org.dromara.formalities.domain.vo.BusListOfFormalitiesVo;
import org.dromara.formalities.service.IBusFormalitiesAnnexService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -39,6 +43,7 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
private final IBusFormalitiesAreConsolidatedService busFormalitiesAreConsolidatedService;
private final IBusFormalitiesAnnexService busFormalitiesAnnexService;
/**
* 查询合规性手续合账列表
*/
@ -57,14 +62,16 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
/**
* 查询手续办理清单模板列表
*/
@SaCheckPermission("formalities:formalitiesAreConsolidated:getTree")
// @SaCheckPermission("formalities:formalitiesAreConsolidated:getTree")
@SaCheckPermission("formalities:formalitiesAreConsolidated:list")
@GetMapping("/getTree")
public R<List<BusListOfFormalitiesVo>> getTree(BusFormalitiesAreConsolidatedBo bo) {
List<BusListOfFormalitiesVo> vo = busFormalitiesAreConsolidatedService.getFormalitieTree(bo);
return R.ok(vo);
}
@SaCheckPermission("formalities:formalitiesAreConsolidated:getWhetherItExists")
// @SaCheckPermission("formalities:formalitiesAreConsolidated:getWhetherItExists")
@SaCheckPermission("formalities:formalitiesAreConsolidated:list")
@GetMapping("/getWhetherItExists")
public R<Boolean> getWhetherItExists(BusFormalitiesAreConsolidatedBo bo) {
return R.ok(busFormalitiesAreConsolidatedService.getWhetherItExists(bo));
@ -108,7 +115,8 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
/**
* 新增手续模板和合规性手续合账
*/
@SaCheckPermission("formalities:formalitiesAreConsolidated:addFormalities")
// @SaCheckPermission("formalities:formalitiesAreConsolidated:addFormalities")
@SaCheckPermission("formalities:formalitiesAreConsolidated:add")
@Log(title = "合规性手续合账", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/addFormalities")
@ -131,7 +139,8 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
/**
* 修改合规性手续合账
*/
@SaCheckPermission("formalities:formalitiesAreConsolidated:editStatus")
// @SaCheckPermission("formalities:formalitiesAreConsolidated:editStatus")
@SaCheckPermission("formalities:formalitiesAreConsolidated:edit")
@Log(title = "合规性手续合账", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/editStatus")
@ -151,4 +160,46 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
@PathVariable Long[] ids) {
return toAjax(busFormalitiesAreConsolidatedService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 新增合规性手续附件
*/
@SaCheckPermission(value = {"formalities:formalitiesAreConsolidated:list","formalities:formalitiesAreConsolidated:add","formalities:formalitiesAreConsolidated:edit"},mode = SaMode.OR)
@Log(title = "合规性手续附件", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PutMapping("/fj")
public R<Void> add(BusFormalitiesAnnexBo bo,
@RequestPart("file") List<MultipartFile> file) {
return toAjax(busFormalitiesAnnexService.insertByBo(bo,file));
}
/**
* 查询合规性手续附件列表
*/
@SaCheckPermission(value = {"formalities:formalitiesAreConsolidated:list","formalities:formalitiesAreConsolidated:add","formalities:formalitiesAreConsolidated:edit"},mode = SaMode.OR)
@GetMapping("/listfj")
public TableDataInfo<BusFormalitiesAnnexVo> list(BusFormalitiesAnnexBo bo, PageQuery pageQuery) {
return busFormalitiesAnnexService.queryPageList(bo, pageQuery);
}
/**
* 删除合规性手续附件
*
* @param ids 主键串
*/
// @SaCheckPermission("formalities:formalitiesAnnex:remove")
@SaCheckPermission("formalities:formalitiesAreConsolidated:remove")
@Log(title = "合规性手续附件", businessType = BusinessType.DELETE)
@DeleteMapping("/fj/{ids}")
public R<Void> removefj(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(busFormalitiesAnnexService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -41,7 +41,7 @@ public class BusListOfFormalitiesController extends BaseController {
// return busListOfFormalitiesService.queryPageList(bo, pageQuery);
// }
/**
* 查询手续办理清单模板列表
* project:project:listSubMatrix
*/
@SaCheckPermission("formalities:listOfFormalities:list")
@GetMapping("/list")

View File

@ -4,6 +4,7 @@ import java.time.LocalDate;
import java.util.List;
import java.util.Map;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
@ -20,9 +21,11 @@ import org.dromara.contractor.domain.vo.constructionuser.SubConstructionUserVo;
import org.dromara.contractor.service.ISubConstructionUserService;
import org.dromara.gps.domain.bo.GpsEquipmentSonBo;
import org.dromara.gps.domain.vo.*;
import org.dromara.gps.service.IGpsEquipmentSonService;
import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.vo.SysUserVo;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -59,6 +62,22 @@ public class GpsEquipmentController extends BaseController {
private final IBusProjectService projectService;
@Lazy
private final IGpsEquipmentSonService gpsEquipmentSonService;
/**
* 查询GPS设备定位信息列表
*/
@SaCheckPermission(value = {"gps:equipment:list","gps:equipment:query","gps:equipment:add","gps:equipment:edit"}, mode = SaMode.OR)
@GetMapping("/getGpsList")
public R<List<GpsEquipmentSonVo>> getGpsList(GpsEquipmentSonBo bo) {
return R.ok(gpsEquipmentSonService.queryList(bo));
}
/**
* 获取用户打卡数据
* @param jsonData
@ -108,7 +127,8 @@ public class GpsEquipmentController extends BaseController {
/**
* 查询GPS设备用户列表
*/
@SaCheckPermission("gps:equipment:getUserList")
// @SaCheckPermission("gps:equipment:getUserList")
@SaCheckPermission(value = {"gps:equipment:list","gps:equipment:query","gps:equipment:add","gps:equipment:edit"}, mode = SaMode.OR)
@GetMapping("/getUserList")
public R<List<GpsUserVo>> getUserList(GpsEquipmentBo bo) {
return R.ok(gpsEquipmentService.getUserList(bo));
@ -162,7 +182,8 @@ public class GpsEquipmentController extends BaseController {
/**
* 项目列表
*/
@SaCheckPermission("gps:equipment:getProjectList")
// @SaCheckPermission("gps:equipment:getProjectList")
@SaCheckPermission(value = {"gps:equipment:list","gps:equipment:query","gps:equipment:add","gps:equipment:edit"}, mode = SaMode.OR)
@GetMapping("/getProjectList")
public R<List<GpsProjectVo>> getProjectList() {
return R.ok(gpsEquipmentService.getProjectList());
@ -173,7 +194,8 @@ public class GpsEquipmentController extends BaseController {
/**
* GPS人机关联绑定
*/
@SaCheckPermission("gps:equipment:bindManmachine")
// @SaCheckPermission("gps:equipment:bindManmachine")
@SaCheckPermission("gps:equipment:edit")
@Log(title = "GPS设备详细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/bindManmachine")
@ -188,7 +210,8 @@ public class GpsEquipmentController extends BaseController {
/**
* 查询施工人员列表
*/
@SaCheckPermission("gps:equipment:userList")
// @SaCheckPermission("gps:equipment:userList")
@SaCheckPermission(value = {"gps:equipment:list","gps:equipment:query","gps:equipment:add","gps:equipment:edit"}, mode = SaMode.OR)
@GetMapping("/userList")
public R<List<ConstructionUser>> list(SubConstructionUserQueryReq req) {
List<SubConstructionUser> list = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery()
@ -201,7 +224,8 @@ public class GpsEquipmentController extends BaseController {
/**
* GPS人机关联解绑
*/
@SaCheckPermission("gps:equipment:unbindManmachine")
// @SaCheckPermission("gps:equipment:unbindManmachine")
@SaCheckPermission("gps:equipment:edit")
@Log(title = "GPS设备详细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/unbindManmachine")

View File

@ -127,7 +127,8 @@ public class BusEnterRoadController extends BaseController {
}
@SaCheckPermission("land:enterRoad:upload")
// @SaCheckPermission("land:enterRoad:upload")
@SaCheckPermission("land:enterRoad:list")
@PostMapping("/upload/{projectId}")
public R<Boolean> upload(MultipartFile file, @NotNull(message = "所属项目不明确")
@PathVariable Long projectId) {

View File

@ -23,8 +23,10 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.land.domain.BusLandBlock;
import org.dromara.land.domain.bo.BusLandBlockBo;
import org.dromara.land.domain.bo.BusLandBlockImportBo;
import org.dromara.land.domain.bo.LandUnitBo;
import org.dromara.land.domain.vo.BusLandBlockVo;
import org.dromara.land.service.IBusLandBlockService;
import org.dromara.land.service.IBusLandBlockUnitProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -50,6 +52,8 @@ public class BusLandBlockController extends BaseController {
private final IBusLandBlockService busLandBlockService;
private final IBusLandBlockUnitProjectService busLandBlockUnitProjectService;
/**
* 查询地块信息列表
*/
@ -82,6 +86,16 @@ public class BusLandBlockController extends BaseController {
return R.ok(busLandBlockService.queryById(id));
}
@SaCheckPermission("land:landBlock:edit")
@Log(title = "地块关联方阵", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/LandUnit")
public R<Void> add(@Validated(AddGroup.class) @RequestBody LandUnitBo bo) {
busLandBlockUnitProjectService.insertBatch(bo.getLandId(), bo.getUnitBoList());
return toAjax(true);
}
/**
* 新增地块信息
*/
@ -118,7 +132,8 @@ public class BusLandBlockController extends BaseController {
return toAjax(busLandBlockService.deleteWithValidByIds(List.of(ids), true));
}
@SaCheckPermission("land:landBlock:upload")
// @SaCheckPermission("land:landBlock:upload")
@SaCheckPermission("land:landBlock:edit")
@PostMapping("/upload/{projectId}")
public R<Boolean> upload(MultipartFile file, @NotNull(message = "所属项目不明确")
@PathVariable Long projectId) {

View File

@ -19,10 +19,12 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.land.domain.BusLandTransferLedger;
import org.dromara.land.domain.BusLandTransferLedgerSon;
import org.dromara.land.domain.bo.BusLandTransferLedgerBo;
import org.dromara.land.domain.bo.BusLandTransferLedgerSonBo;
import org.dromara.land.domain.vo.BusLandTransferLedgerCountVo;
import org.dromara.land.domain.vo.BusLandTransferLedgerVo;
import org.dromara.land.service.IBusLandTransferLedgerService;
import org.dromara.land.service.impl.BusLandTransferLedgerSonServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -48,6 +50,41 @@ public class BusLandTransferLedgerController extends BaseController {
@Autowired
private BusLandTransferLedgerSonServiceImpl busLandTransferLedgerSonService;
/**
* 添加子级
*/
@SaCheckPermission("land:landTransferLedger:add")
@Log(title = "项目土地流转台账子级数据", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/childrenAdd")
public R<BusLandTransferLedgerSon> add(@RequestBody BusLandTransferLedgerSonBo busLandTransferLedgerSon){
BusLandTransferLedgerSon son = new BusLandTransferLedgerSon();
BeanUtils.copyProperties(busLandTransferLedgerSon, son);
boolean save = busLandTransferLedgerSonService.save(son);
if (save){
return R.ok(son);
}else {
return R.fail("添加子级失败");
}
}
/**
* 子级列表
*/
@SaCheckPermission("land:landTransferLedger:list")
@GetMapping("/childrenList")
public R<List<BusLandTransferLedgerSon>> getList(@RequestParam Long parentId){
LambdaQueryWrapper<BusLandTransferLedgerSon> lqw = new LambdaQueryWrapper<>();
lqw.eq(BusLandTransferLedgerSon::getParentId, parentId);
List<BusLandTransferLedgerSon> list = busLandTransferLedgerSonService.list(lqw);
return R.ok(list);
}
/**
* 查询项目土地流转台账列表
*/
@ -60,7 +97,7 @@ public class BusLandTransferLedgerController extends BaseController {
/**
* 查询项目土地流转台账方阵列表
*/
@SaCheckPermission("land:landTransferLedger:listUnit")
@SaCheckPermission("land:landTransferLedger:list")
@GetMapping("/listUnit")
public TableDataInfo<BusLandTransferLedgerVo> listUnit(BusLandTransferLedgerBo bo, PageQuery pageQuery) {
return busLandTransferLedgerService.queryUnitPageList(bo, pageQuery);
@ -125,7 +162,7 @@ public class BusLandTransferLedgerController extends BaseController {
}
@SaCheckPermission("land:landTransferLedger:count")
@SaCheckPermission("land:landTransferLedger:list")
@GetMapping("/count/{projectId}")
public R<BusLandTransferLedgerCountVo> count(@NotNull(message = "项目不能为空")
@PathVariable Long projectId) {
@ -135,7 +172,7 @@ public class BusLandTransferLedgerController extends BaseController {
/**
* 获取主页面三项主数据
*/
@SaCheckPermission("land:landTransferLedger:allCountValue")
@SaCheckPermission("land:landTransferLedger:list")
@GetMapping("/allCountValue/{projectId}")
R<Map<String,Object> > allCountValue(@PathVariable Long projectId){
LambdaQueryWrapper<BusLandTransferLedger> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@ -1,6 +1,7 @@
package org.dromara.materials.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
@ -12,12 +13,17 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.contractor.domain.dto.contractor.SubContractorQueryReq;
import org.dromara.contractor.domain.vo.contractor.SubContractorVo;
import org.dromara.contractor.service.ISubContractorService;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueCreateReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo;
import org.dromara.materials.domain.vo.materials.MatMaterialsByFormCodeVo;
import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryListVo;
import org.dromara.materials.service.IMatMaterialIssueService;
import org.dromara.materials.service.IMatMaterialsService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -36,6 +42,32 @@ public class MatMaterialIssueController extends BaseController {
@Resource
private IMatMaterialIssueService matMaterialIssueService;
@Resource
private IMatMaterialsService materialsService;
@Resource
private ISubContractorService contractorService;
/**
* 查询分包单位列表
*/
@SaCheckPermission(value = {"materials:materialIssue:add","materials:materialIssue:edit"},mode = SaMode.OR)
@GetMapping("/contractorList")
public R<List<SubContractorVo>> contractorList(SubContractorQueryReq req) {
return R.ok(contractorService.queryList(req));
}
/**
* 获取材料列表
*
* @param projectId 项目id
*/
@SaCheckPermission(value = {"materials:materialIssue:add","materials:materialIssue:edit"},mode = SaMode.OR)
@GetMapping("/listByFormCode/{projectId}")
public R<List<MatMaterialsByFormCodeVo>> listMaterialsByFormCode(@NotNull(message = "项目id不能为空")
@PathVariable Long projectId) {
return R.ok(materialsService.queryMaterialsByFormCode(projectId));
}
/**
* 查询物料领料单列表
@ -62,7 +94,7 @@ public class MatMaterialIssueController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("materials:materialIssue:query")
// @SaCheckPermission("materials:materialIssue:query")
@GetMapping("/{id}")
public R<MatMaterialIssueVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -1,10 +1,21 @@
package org.dromara.materials.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
import org.dromara.common.core.domain.R;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
@ -15,15 +26,23 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.ctr.domain.bo.CtrExpensesContractBo;
import org.dromara.ctr.domain.vo.CtrExpensesContractVo;
import org.dromara.ctr.service.ICtrExpensesContractService;
import org.dromara.materials.domain.bo.MatWarehouseBo;
import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveCreateReq;
import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveQueryReq;
import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveUpdateReq;
import org.dromara.materials.domain.vo.MatWarehouseVo;
import org.dromara.materials.domain.vo.materialreceive.MatMaterialReceiveVo;
import org.dromara.materials.service.IMatMaterialReceiveService;
import org.dromara.materials.service.IMatWarehouseService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 物料接收单
@ -40,6 +59,63 @@ public class MatMaterialReceiveController extends BaseController {
private IMatMaterialReceiveService matMaterialReceiveService;
@Resource
private ICtrExpensesContractService ctrExpensesContractService;
@Resource
private IBusPurchaseDocService busPurchaseDocService;
@Resource
private IBusMaterialbatchdemandplanService materialbatchdemandplanService;
@Resource
private IBusPlanDocAssociationService planDocAssociationService;
@Resource
private IMatWarehouseService matWarehouseService;
/**
* 查询物资仓库列表
*/
@SaCheckPermission(value = {"materials:materialReceive:list","materials:materialReceive:add","materials:materialReceive:edit"},mode = SaMode.OR)
@GetMapping("/getWarehouseList")
public TableDataInfo<MatWarehouseVo> list(MatWarehouseBo bo, PageQuery pageQuery) {
return matWarehouseService.queryPageList(bo, pageQuery);
}
/**
* 查询采购单关联的计划
*/
@SaCheckPermission(value = {"materials:materialReceive:add","materials:materialReceive:edit"},mode = SaMode.OR)
@GetMapping("/planList/{id}")
public R<List<BusMaterialbatchdemandplanVo>> list(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
List<BusPlanDocAssociation> list = planDocAssociationService.list(Wrappers.lambdaQuery(BusPlanDocAssociation.class)
.eq(BusPlanDocAssociation::getDocId, id));
if (CollectionUtil.isEmpty(list)) {
return R.ok(new ArrayList<>());
}
Map<Long, BigDecimal> collect = list.stream()
.filter(Objects::nonNull) // 过滤空对象
.collect(Collectors.toMap(
BusPlanDocAssociation::getPlanId,
BusPlanDocAssociation::getDemandQuantity,
(existing, replacement) -> existing // 保留第一个遇到的重复键
));
BusMaterialbatchdemandplanBo bo = new BusMaterialbatchdemandplanBo();
bo.setIds(new ArrayList<>(collect.keySet()));
List<BusMaterialbatchdemandplanVo> busMaterialbatchdemandplanVos = materialbatchdemandplanService.queryList(bo);
for (BusMaterialbatchdemandplanVo busMaterialbatchdemandplanVo : busMaterialbatchdemandplanVos) {
busMaterialbatchdemandplanVo.setDemandQuantity(collect.get(busMaterialbatchdemandplanVo.getId()));
}
return R.ok(busMaterialbatchdemandplanVos);
}
/**
* 查询物资-采购联系单列表
*/
@SaCheckPermission(value = {"materials:materialReceive:add","materials:materialReceive:edit"},mode = SaMode.OR)
@GetMapping("/getPurchaseDocList")
public TableDataInfo<BusPurchaseDocVo> getPurchaseDocList(BusPurchaseDocBo bo, PageQuery pageQuery) {
return busPurchaseDocService.queryPageList(bo, pageQuery);
}
/**
* 查询物料接收单列表
@ -66,7 +142,7 @@ public class MatMaterialReceiveController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("materials:materialReceive:query")
// @SaCheckPermission("materials:materialReceive:query")
@GetMapping("/{id}")
public R<MatMaterialReceiveVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -112,7 +188,7 @@ public class MatMaterialReceiveController extends BaseController {
/**
* 支出合同列表
*/
@SaCheckPermission("materials:materialReceive:ctrList")
@SaCheckPermission("materials:materialReceive:list")
@GetMapping("/ctrList")
public TableDataInfo<CtrExpensesContractVo> list(CtrExpensesContractBo bo, PageQuery pageQuery) {
return ctrExpensesContractService.queryPageList(bo, pageQuery);

View File

@ -66,7 +66,7 @@ public class MatMaterialsController extends BaseController {
/**
* 获取材料使用详情列表
*/
@SaCheckPermission("materials:materials:listUseDetail")
@SaCheckPermission("materials:materials:list")
@GetMapping("/listUseDetail")
public TableDataInfo<MatMaterialsUseDetailVo> listUseDetail(MatMaterialsQueryReq req, PageQuery pageQuery) {
return materialsService.queryUseDetailList(req, pageQuery);

View File

@ -11,10 +11,19 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.ctr.domain.bo.CtrExpensesContractBo;
import org.dromara.ctr.domain.vo.CtrExpensesContractVo;
import org.dromara.ctr.service.ICtrExpensesContractService;
import org.dromara.materials.domain.dto.materials.MatMaterialsQueryReq;
import org.dromara.materials.domain.dto.materialsinventory.MatMaterialsInventoryQueryReq;
import org.dromara.materials.domain.dto.materialsuserecord.MatMaterialsUseRecordCreateReq;
import org.dromara.materials.domain.dto.materialsuserecord.MatMaterialsUseRecordQueryReq;
import org.dromara.materials.domain.dto.materialsuserecord.MatMaterialsUseRecordUpdateReq;
import org.dromara.materials.domain.vo.materials.MatMaterialsVo;
import org.dromara.materials.domain.vo.materialsinventory.MatMaterialsInventoryVo;
import org.dromara.materials.domain.vo.materialsuserecord.MatMaterialsUseRecordVo;
import org.dromara.materials.service.IMatMaterialsInventoryService;
import org.dromara.materials.service.IMatMaterialsService;
import org.dromara.materials.service.IMatMaterialsUseRecordService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -34,6 +43,31 @@ public class MatMaterialsUseRecordController extends BaseController {
@Resource
private IMatMaterialsUseRecordService matMaterialsUseRecordService;
@Resource
private IMatMaterialsInventoryService materialsInventoryService;
@Resource
private IMatMaterialsService materialsService;
/**
* 查询材料列表
*/
@SaCheckPermission("materials:materialsUseRecord:list")
@GetMapping("/getMaterialsList")
public TableDataInfo<MatMaterialsVo> list(MatMaterialsQueryReq req, PageQuery pageQuery) {
return materialsService.queryPageList(req, pageQuery);
}
/**
* 查询材料出/入库列表
*/
@SaCheckPermission("materials:materialsUseRecord:list")
@GetMapping("/getMaterialsInventoryList")
public TableDataInfo<MatMaterialsInventoryVo> list(MatMaterialsInventoryQueryReq req, PageQuery pageQuery) {
return materialsInventoryService.queryPageList(req, pageQuery);
}
/**
* 查询材料使用登记列表
@ -49,7 +83,7 @@ public class MatMaterialsUseRecordController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("materials:materialsUseRecord:query")
// @SaCheckPermission("materials:materialsUseRecord:query")
@GetMapping("/{id}")
public R<MatMaterialsUseRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.materials.domain.MatMaterials;
import org.dromara.tender.domain.vo.TenderSupplierInputVo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import java.io.Serial;
import java.io.Serializable;
@ -56,7 +57,8 @@ public class MatMaterialsVo implements Serializable {
* 公司信息
*/
@ExcelProperty(value = "公司信息")
private TenderSupplierInputVo companyVo;
// private TenderSupplierInputVo companyVo;
private XzdSupplierInfoVo companyVo;
/**
* 项目id

View File

@ -33,7 +33,8 @@ import org.dromara.materials.mapper.MatMaterialsMapper;
import org.dromara.materials.service.*;
import org.dromara.project.domain.BusProject;
import org.dromara.project.service.IBusProjectService;
import org.dromara.tender.service.ITenderSupplierInputService;
//import org.dromara.tender.service.ITenderSupplierInputService;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
@ -54,8 +55,10 @@ import java.util.stream.Collectors;
public class MatMaterialsServiceImpl extends ServiceImpl<MatMaterialsMapper, MatMaterials>
implements IMatMaterialsService {
// @Resource
// private ITenderSupplierInputService tenderSupplierInputService;
@Resource
private ITenderSupplierInputService tenderSupplierInputService;
private IXzdSupplierInfoService supplierInfoService;
@Resource
private IBusProjectService projectService;
@ -233,7 +236,7 @@ public class MatMaterialsServiceImpl extends ServiceImpl<MatMaterialsMapper, Mat
if (companyId == null) {
throw new ServiceException("请填写公司ID", HttpStatus.BAD_REQUEST);
}
if (tenderSupplierInputService.getById(companyId) == null) {
if (supplierInfoService.getById(companyId) == null) {
throw new ServiceException("对应公司不存在", HttpStatus.BAD_REQUEST);
}
if (projectId == null) {
@ -285,7 +288,7 @@ public class MatMaterialsServiceImpl extends ServiceImpl<MatMaterialsMapper, Mat
// 关联查询项目信息
Long companyId = materials.getCompanyId();
if (companyId != null) {
materialsVo.setCompanyVo(tenderSupplierInputService.queryById(companyId));
materialsVo.setCompanyVo(supplierInfoService.queryById(companyId));
}
// 关联对象存储文件信息
String fileOssId = materials.getFileOssId();

View File

@ -2,10 +2,14 @@ package org.dromara.mechanical.controller;
import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.mechanical.domain.bo.BusMechanicaltypeBo;
import org.dromara.mechanical.domain.vo.BusMechanicaltypeVo;
import org.dromara.mechanical.service.IBusMechanicaltypeService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -36,6 +40,15 @@ public class BusMechanicalrewritingController extends BaseController {
private final IBusMechanicalrewritingService busMechanicalrewritingService;
private final IBusMechanicaltypeService busMechanicaltypeService;
@SaCheckPermission(value = {"mechanical:mechanicalrewriting:list","mechanical:mechanicalrewriting:add","mechanical:mechanicalrewriting:edit"},mode = SaMode.OR)
@GetMapping("/getTree")
public R<List<BusMechanicaltypeVo>> getTree(BusMechanicaltypeBo bo) {
return R.ok(busMechanicaltypeService.getTree(bo));
}
/**
* 查询机械台账列表
*/

View File

@ -70,7 +70,7 @@ public class BusMechanicaltypeController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("mechanical:mechanicaltype:query")
// @SaCheckPermission("mechanical:mechanicaltype:query")
@GetMapping("/{id}")
public R<BusMechanicaltypeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -132,7 +132,7 @@ public class JxYhzgbhVo implements Serializable {
/**
* 整改人
*/
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "discoverId")
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "abarbeitung")
private String abarbeitungName;
/**

View File

@ -97,7 +97,8 @@ public class OthDevicePresetController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("other:devicePreset:move")
// @SaCheckPermission("other:devicePreset:move")
@SaCheckPermission("other:devicePreset:edit")
@Log(title = "摄像头预置位", businessType = BusinessType.UPDATE)
@PutMapping("/move/{id}")
public R<Void> move(@NotNull(message = "主键不能为空")

View File

@ -1,6 +1,7 @@
package org.dromara.other.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.json.JSONUtil;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
@ -138,7 +139,8 @@ public class OthYs7DeviceController extends BaseController {
/**
* 根据项目查询萤石摄像头列表
*/
@SaCheckPermission("other:ys7Device:listProject")
// @SaCheckPermission("other:ys7Device:listProject")
@SaCheckPermission(value = {"other:ys7Device:list","other:ys7Device:edit","other:ys7Device:query"},mode = SaMode.OR)
@GetMapping("/list/project")
public TableDataInfo<OthYs7DeviceVo> listByProject(Long projectId, PageQuery pageQuery) {
return othYs7DeviceService.queryPageListByProject(projectId, pageQuery);
@ -216,7 +218,8 @@ public class OthYs7DeviceController extends BaseController {
/**
* 获取 token
*/
@SaCheckPermission("other:ys7Device:getToken")
// @SaCheckPermission("other:ys7Device:getToken")
@SaCheckPermission(value = {"other:ys7Device:list","other:ys7Device:edit","other:ys7Device:query"},mode = SaMode.OR)
@GetMapping("/get/token")
public R<String> getToken() {
return R.ok("操作成功", ys7Manager.getToken());

View File

@ -1,20 +1,29 @@
package org.dromara.other.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.other.domain.dto.devicepreset.OthDevicePresetCreateReq;
import org.dromara.other.domain.dto.devicepreset.OthDevicePresetQueryReq;
import org.dromara.other.domain.dto.devicepreset.OthDevicePresetUpdateReq;
import org.dromara.other.domain.dto.ys7deviceimg.OthYs7DeviceImgCaptureReq;
import org.dromara.other.domain.dto.ys7deviceimg.OthYs7DeviceImgQueryReq;
import org.dromara.other.domain.vo.devicepreset.OthDevicePresetVo;
import org.dromara.other.domain.vo.ys7deviceimg.OthYs7DeviceImgVo;
import org.dromara.other.service.IOthDevicePresetService;
import org.dromara.other.service.IOthYs7DeviceImgService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -35,6 +44,9 @@ public class OthYs7DeviceImgController extends BaseController {
@Resource
private IOthYs7DeviceImgService othYs7DeviceImgService;
@Resource
private IOthDevicePresetService othDevicePresetService;
/**
* 查询萤石摄像头图片列表
*/
@ -70,7 +82,8 @@ public class OthYs7DeviceImgController extends BaseController {
/**
* 萤石摄像头图片抓图
*/
@SaCheckPermission("other:ys7DeviceImg:capture")
// @SaCheckPermission("other:ys7DeviceImg:capture")
@SaCheckPermission(value = {"other:ys7DeviceImg:edit","other:ys7DeviceImg:add"},mode = SaMode.OR)
@Log(title = "萤石摄像头图片", businessType = BusinessType.INSERT)
@PostMapping("/capture")
public R<Void> capture(@RequestBody OthYs7DeviceImgCaptureReq req) {
@ -90,4 +103,73 @@ public class OthYs7DeviceImgController extends BaseController {
return toAjax(othYs7DeviceImgService.deleteWithValidByIds(List.of(ids)));
}
/**
* 查询摄像头预置位列表
*/
@SaCheckPermission("other:ys7DeviceImg:list")
@GetMapping("/preset/list")
public TableDataInfo<OthDevicePresetVo> listPreset(OthDevicePresetQueryReq req, PageQuery pageQuery) {
return othDevicePresetService.queryPageList(req, pageQuery);
}
/**
* 获取摄像头预置位详细信息
*
* @param id 主键
*/
@SaCheckPermission("other:ys7DeviceImg:query")
@GetMapping("/preset/{id}")
public R<OthDevicePresetVo> getInfoPreset(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(othDevicePresetService.queryById(id));
}
/**
* 新增摄像头预置位
*/
@SaCheckPermission("other:ys7DeviceImg:add")
@Log(title = "摄像头预置位", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/preset")
public R<Long> addPreset(@Validated(AddGroup.class) @RequestBody OthDevicePresetCreateReq req) {
return R.ok(othDevicePresetService.insertByBo(req));
}
/**
* 修改摄像头预置位
*/
@SaCheckPermission("other:ys7DeviceImg:edit")
@Log(title = "摄像头预置位", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/preset")
public R<Void> editPreset(@Validated(EditGroup.class) @RequestBody OthDevicePresetUpdateReq req) {
return toAjax(othDevicePresetService.updateByBo(req));
}
/**
* 调用摄像头预置位
*
* @param id 主键
*/
@SaCheckPermission("other:ys7DeviceImg:move")
@Log(title = "摄像头预置位", businessType = BusinessType.UPDATE)
@PutMapping("/preset/move/{id}")
public R<Void> movePreset(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return toAjax(othDevicePresetService.moveById(id));
}
/**
* 删除摄像头预置位
*
* @param id 主键串
*/
@SaCheckPermission("other:ys7DeviceImg:remove")
@Log(title = "摄像头预置位", businessType = BusinessType.DELETE)
@DeleteMapping("/preset/{id}")
public R<Void> removePreset(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return toAjax(othDevicePresetService.deleteById(id));
}
}

View File

@ -73,7 +73,7 @@ public class OutConstructionValueController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("out:constructionValue:query")
// @SaCheckPermission("out:constructionValue:query")
@GetMapping("/{id}")
public R<OutConstructionValueVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -83,7 +83,7 @@ public class OutConstructionValueController extends BaseController {
/**
* 获取所有施工产值
*/
@SaCheckPermission("out:constructionValue:query")
// @SaCheckPermission("out:constructionValue:query")
@GetMapping("/allValue")
public R<OutConstructionAllValueVo> getAllValue(OutConstructionValueBo bo) {
return R.ok(outConstructionValueService.getAllValue(bo));

View File

@ -151,7 +151,7 @@ public class OutConstructionValueRangeController extends BaseController {
/**
* 获取所有施工产值范围
*/
@SaCheckPermission("out:constructionValueRange:query")
// @SaCheckPermission("out:constructionValueRange:query")
@GetMapping("/allValue")
public R<OutConstructionAllValueRangeVo> getAllValue(OutConstructionValueRangeBo bo) {
return R.ok(outConstructionValueRangeService.getAllValue(bo));

View File

@ -2,6 +2,7 @@ package org.dromara.out.controller;
import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@ -39,7 +40,7 @@ public class OutMonthPlanAuditController extends BaseController {
/**
* 查询审核通过月度产值计划列表
*/
@SaCheckPermission("out:monthPlanAudit:list")
@SaCheckPermission(value = {"out:monthPlanAudit:list", "out:monthPlan:list"}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<OutMonthPlanAuditVo> list(OutMonthPlanAuditBo bo, PageQuery pageQuery) {
return outMonthPlanAuditService.queryPageList(bo, pageQuery);
@ -61,7 +62,7 @@ public class OutMonthPlanAuditController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("out:monthPlanAudit:query")
// @SaCheckPermission("out:monthPlanAudit:query")
@GetMapping("/{id}")
public R<OutMonthPlanAuditVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -1,6 +1,7 @@
package org.dromara.out.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -43,7 +44,7 @@ public class OutMonthPlanController extends BaseController {
/**
* 查询月度产值计划列表
*/
@SaCheckPermission("out:monthPlan:list")
@SaCheckPermission(value = {"out:monthPlan:list", "out:monthComplete:list"}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<OutMonthPlanVo> list(OutMonthPlanBo bo, PageQuery pageQuery) {
return outMonthPlanService.queryPageList(bo, pageQuery);
@ -65,7 +66,7 @@ public class OutMonthPlanController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("out:monthPlan:query")
// @SaCheckPermission("out:monthPlan:query")
@GetMapping("/{id}")
public R<OutMonthPlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -95,7 +96,7 @@ public class OutMonthPlanController extends BaseController {
/**
* 修改月度产值计划
*/
@SaCheckPermission("out:monthPlan:edit")
@SaCheckPermission(value = {"out:monthPlan:edit", "out:monthComplete:edit"}, mode = SaMode.OR)
@Log(title = "月度产值计划", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -132,7 +133,7 @@ public class OutMonthPlanController extends BaseController {
/**
* 获取该月份3种类型计划产值
*/
@SaCheckPermission("out:monthPlan:monthInfo")
// @SaCheckPermission("out:monthPlan:monthInfo")
@GetMapping("/monthInfo/{id}")
public R<List<OutMonthPlanVo>> infoByPlanMonth(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -39,7 +39,7 @@ public class OutSettlementValueOwnerController extends BaseController {
/**
* 查询结算产值登记(对甲)列表
*/
@SaCheckPermission("out:settlementValueOwner:list")
@SaCheckPermission("out:settlementValue:list")
@GetMapping("/list")
public TableDataInfo<OutSettlementValueOwnerVo> list(OutSettlementValueOwnerBo bo, PageQuery pageQuery) {
return outSettlementValueOwnerService.queryPageList(bo, pageQuery);
@ -61,7 +61,7 @@ public class OutSettlementValueOwnerController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("out:settlementValueOwner:query")
// @SaCheckPermission("out:settlementValueOwner:query")
@GetMapping("/{id}")
public R<OutSettlementValueOwnerVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -71,7 +71,7 @@ public class OutSettlementValueOwnerController extends BaseController {
/**
* 新增结算产值登记(对甲)
*/
@SaCheckPermission("out:settlementValueOwner:add")
@SaCheckPermission("out:settlementValue:add")
@Log(title = "结算产值登记(对甲)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -82,7 +82,7 @@ public class OutSettlementValueOwnerController extends BaseController {
/**
* 修改结算产值登记(对甲)
*/
@SaCheckPermission("out:settlementValueOwner:edit")
@SaCheckPermission("out:settlementValue:edit")
@Log(title = "结算产值登记(对甲)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -95,7 +95,7 @@ public class OutSettlementValueOwnerController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("out:settlementValueOwner:remove")
@SaCheckPermission("out:settlementValue:remove")
@Log(title = "结算产值登记(对甲)", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -39,7 +39,7 @@ public class OutSettlementValueSubcontractController extends BaseController {
/**
* 查询结算产值登记(对乙)列表
*/
@SaCheckPermission("out:settlementValueSubcontract:list")
@SaCheckPermission("out:settlementValue:list")
@GetMapping("/list")
public TableDataInfo<OutSettlementValueSubcontractVo> list(OutSettlementValueSubcontractBo bo, PageQuery pageQuery) {
return outSettlementValueSubcontractService.queryPageList(bo, pageQuery);
@ -61,7 +61,7 @@ public class OutSettlementValueSubcontractController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("out:settlementValueSubcontract:query")
// @SaCheckPermission("out:settlementValueSubcontract:query")
@GetMapping("/{id}")
public R<OutSettlementValueSubcontractVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -71,7 +71,7 @@ public class OutSettlementValueSubcontractController extends BaseController {
/**
* 新增结算产值登记(对乙)
*/
@SaCheckPermission("out:settlementValueSubcontract:add")
@SaCheckPermission("out:settlementValue:add")
@Log(title = "结算产值登记(对乙)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -82,7 +82,7 @@ public class OutSettlementValueSubcontractController extends BaseController {
/**
* 修改结算产值登记(对乙)
*/
@SaCheckPermission("out:settlementValueSubcontract:edit")
@SaCheckPermission("out:settlementValue:edit")
@Log(title = "结算产值登记(对乙)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -95,7 +95,7 @@ public class OutSettlementValueSubcontractController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("out:settlementValueSubcontract:remove")
@SaCheckPermission("out:settlementValue:remove")
@Log(title = "结算产值登记(对乙)", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -1,5 +1,6 @@
package org.dromara.out.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -70,7 +71,7 @@ public class OutTableController extends BaseController {
/**
* 施工产值报表(计划 VS 实际)
*/
// @SaCheckPermission("out:table:list")
@SaCheckPermission("out:table:monthlyConstruct")
@GetMapping("/monthlyConstruct")
public TableDataInfo<OutMonthlyConstructionVo> list(OutTableBo bo, PageQuery pageQuery) {
String month = bo.getMonth();
@ -299,7 +300,7 @@ public class OutTableController extends BaseController {
/**
* 结算产值 VS 业主结算报表
*/
// @SaCheckPermission("out:table:list")
@SaCheckPermission("out:table:compare")
@GetMapping("/comparisonOfOwnerAndSub")
public TableDataInfo<OutComparisonOfOwnerAndSubVo> comparisonOfOwnerAndSub(OutTableBo bo, PageQuery pageQuery) {
//分页查询所有父项目
@ -368,7 +369,7 @@ public class OutTableController extends BaseController {
/**
* 采购设计产值报表(计划 VS 实际)
*/
// @SaCheckPermission("out:table:list")
@SaCheckPermission("out:table:monthlyPurchase")
@GetMapping("/monthlyPurchase")
public TableDataInfo<OutDesignAndPurchaseValueVo> monthlyPurchase(OutTableBo bo, PageQuery pageQuery) {
@ -495,7 +496,7 @@ public class OutTableController extends BaseController {
/**
* 甲乙产值对比
*/
// @SaCheckPermission("out:table:list")
@SaCheckPermission("out:table:compare")
@GetMapping("/outCompare")
public TableDataInfo<OutCompareVo> outCompare(OutTableBo bo, PageQuery pageQuery) {

View File

@ -61,7 +61,7 @@ public class OutValueAllocationController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("out:valueAllocation:query")
// @SaCheckPermission("out:valueAllocation:query")
@GetMapping("/{id}")
public R<OutValueAllocationVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -46,7 +46,6 @@ public class PdMasterController extends BaseController {
/**
* 获取当前用户对应部门下的所有用户
*/
@SaCheckPermission("patch:master:findThis")
@GetMapping("/findThis")
public R<List<SysUser>> findThis() {
return R.ok(userService.findThis());
@ -86,7 +85,7 @@ public class PdMasterController extends BaseController {
* @param masterId 派单主表ID
* @return 进度详情列表
*/
@SaCheckPermission("patch:master:getProgressList")
// @SaCheckPermission("patch:master:getProgressList")
@GetMapping("/getProgressList/{masterId}")
public R<List<PdMasterProgressVo>> getProgressList(
@NotNull(message = "主表ID不能为空")
@ -97,7 +96,7 @@ public class PdMasterController extends BaseController {
/**
* 查询派单列表
*/
@SaCheckPermission("patch:master:list")
// @SaCheckPermission("patch:master:list")
@GetMapping("/list")
public TableDataInfo<PdMasterVo> list(PdMasterBo bo, PageQuery pageQuery) {
return pdMasterService.queryPageList(bo, pageQuery);

View File

@ -402,6 +402,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
pdMasterUserService.getBaseMapper().delete(new LambdaQueryWrapper<PdMasterUser>().in(PdMasterUser::getOrdersid, ids));
return baseMapper.deleteByIds(ids) > 0;
}

View File

@ -16,6 +16,8 @@ import org.dromara.progress.domain.PgsConstructionSchedulePlan;
import org.dromara.progress.domain.dto.constructionscheduleplan.*;
import org.dromara.progress.domain.vo.constructionscheduleplan.PgsConstructionSchedulePlanVo;
import org.dromara.progress.service.IPgsConstructionSchedulePlanService;
import org.dromara.project.domain.vo.project.BusProjectStructureVo;
import org.dromara.project.service.IBusProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -36,6 +38,21 @@ public class PgsConstructionSchedulePlanController extends BaseController {
@Resource
private IPgsConstructionSchedulePlanService pgsConstructionSchedulePlanService;
@Resource
private IBusProjectService projectService;
/**
* 获取项目结构
*
* @param id 主键
*/
@SaCheckPermission("progress:constructionSchedulePlan:list")
@GetMapping("/projectStructure/{id}")
public R<BusProjectStructureVo> getProjectStructure(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(projectService.getStructure(id));
}
/**
* 查询施工进度计划列表
*/
@ -60,7 +77,7 @@ public class PgsConstructionSchedulePlanController extends BaseController {
/**
* 根据项目id导出施工进度计划模版
*/
@SaCheckPermission("progress:constructionSchedulePlan:exportTemplate")
@SaCheckPermission("progress:constructionSchedulePlan:export")
@Log(title = "施工进度计划", businessType = BusinessType.EXPORT)
@PostMapping("/exportTemplate/{projectId}")
public void exportExcelByProjectId(@NotNull(message = "项目id不能为空")
@ -71,7 +88,7 @@ public class PgsConstructionSchedulePlanController extends BaseController {
/**
* 读取施工进度计划模版
*/
@SaCheckPermission("progress:constructionSchedulePlan:readTemplate")
@SaCheckPermission("progress:constructionSchedulePlan:import")
@Log(title = "施工进度计划", businessType = BusinessType.IMPORT)
@PostMapping("/readTemplate")
public R<Void> readExcel(@RequestParam("file") MultipartFile file, Long projectId) {
@ -121,7 +138,7 @@ public class PgsConstructionSchedulePlanController extends BaseController {
* 修改施工进度计划为完成状态
*
*/
@SaCheckPermission("progress:constructionSchedulePlan:editFinish")
@SaCheckPermission("progress:constructionSchedulePlan:edit")
@Log(title = "施工进度计划", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/finish")

View File

@ -49,7 +49,7 @@ public class PgsProgressCategoryController extends BaseController {
/**
* 根据进度父级查询进度类别列表
*/
@SaCheckPermission("progress:progressCategory:listByParent")
@SaCheckPermission("progress:progressCategory:list")
@GetMapping("/listByParent")
public R<List<PgsProgressCategoryVo>> listByParent(PgsProgressCategoryQueryByParentReq req) {
List<PgsProgressCategoryVo> list = pgsProgressCategoryService.queryListByParent(req);
@ -59,7 +59,7 @@ public class PgsProgressCategoryController extends BaseController {
/**
* 根据进度父级查询进度类别列表已完成产值
*/
@SaCheckPermission("progress:progressCategory:listByParent")
@SaCheckPermission("progress:progressCategory:list")
@GetMapping("/getValueByParentId")
public R<PgsProgressCategoryValueVo> getValueByParentId(PgsProgressCategoryQueryByParentReq req) {
return R.ok(pgsProgressCategoryService.getValueByParentId(req));
@ -68,7 +68,7 @@ public class PgsProgressCategoryController extends BaseController {
/**
* 根据项目获取进度类别模版顶级目录列表
*/
@SaCheckPermission("progress:progressCategory:listTopByProjectId")
@SaCheckPermission("progress:progressCategory:list")
@GetMapping("/listTopByProjectId/{projectId}")
public R<List<PgsProgressCategoryTopVo>> listTopByProjectId(@NotNull(message = "项目id不能为空")
@PathVariable Long projectId) {
@ -168,7 +168,7 @@ public class PgsProgressCategoryController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("progress:progressCategory:coordinate")
@SaCheckPermission("progress:progressCategory:list")
@GetMapping("/coordinate/{id}")
public R<PgsProgressCategoryCoordinateVo> getCoordinate(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -180,7 +180,7 @@ public class PgsProgressCategoryController extends BaseController {
*
* @param projectId 项目主键
*/
@SaCheckPermission("progress:progressCategory:projectNumber")
@SaCheckPermission("progress:progressCategory:query")
@GetMapping("/project/number/{projectId}")
public R<PgsProgressCategoryProjectVo> getProjectNumber(@NotNull(message = "项目主键不能为空")
@PathVariable Long projectId) {
@ -192,7 +192,7 @@ public class PgsProgressCategoryController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("progress:progressCategory:lastTime")
@SaCheckPermission("progress:progressCategory:add")
@GetMapping("/lastTime/{id}")
public R<PgsProgressCategoryLastTimeVo> getLastTimeInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -214,7 +214,7 @@ public class PgsProgressCategoryController extends BaseController {
/**
* 新增分项工程单价
*/
@SaCheckPermission("progress:progressCategory:price")
@SaCheckPermission("progress:progressCategory:edit")
@Log(title = "进度类别", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/price")
@ -247,7 +247,7 @@ public class PgsProgressCategoryController extends BaseController {
/**
* 批量新增设施进度类别
*/
@SaCheckPermission("progress:progressCategory:add")
@SaCheckPermission("progress:progressCategory:edit")
@Log(title = "进度类别", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/batch/facility")

View File

@ -19,6 +19,8 @@ import org.dromara.progress.domain.dto.progresscategorytemplate.PgsProgressCateg
import org.dromara.progress.domain.dto.progresscategorytemplate.PgsProgressCategoryTemplateUpdateReq;
import org.dromara.progress.domain.vo.progresscategorytemplate.PgsProgressCategoryTemplateVo;
import org.dromara.progress.service.IPgsProgressCategoryTemplateService;
import org.dromara.project.domain.vo.project.BusSubProjectVo;
import org.dromara.project.service.IBusProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -38,10 +40,23 @@ public class PgsProgressCategoryTemplateController extends BaseController {
@Resource
private IPgsProgressCategoryTemplateService pgsProgressCategoryTemplateService;
@Resource
private IBusProjectService projectService;
/**
* 查询项目下的子项目列表
*/
@SaCheckPermission("progress:progressCategoryTemplate:list")
@GetMapping("/list/sub/{id}")
public R<List<BusSubProjectVo>> listSubProject(@NotNull(message = "项目id不能为空")
@PathVariable Long id) {
return R.ok(projectService.querySubList(id));
}
/**
* 分页查询进度类别模版列表
*/
@SaCheckPermission("progress:progressCategoryTemplate:page")
@SaCheckPermission("progress:progressCategoryTemplate:list")
@GetMapping("/page")
public TableDataInfo<PgsProgressCategoryTemplateVo> page(PgsProgressCategoryTemplateQueryReq req, PageQuery pageQuery) {
return pgsProgressCategoryTemplateService.queryPageList(req, pageQuery);
@ -60,7 +75,7 @@ public class PgsProgressCategoryTemplateController extends BaseController {
/**
* 根据进度父级查询进度类别模版列表
*/
@SaCheckPermission("progress:progressCategoryTemplate:listByParent")
@SaCheckPermission("progress:progressCategoryTemplate:list")
@GetMapping("/listByParent")
public R<List<PgsProgressCategoryTemplateVo>> listByParent(PgsProgressCategoryTemplateQueryByParentReq req) {
List<PgsProgressCategoryTemplateVo> list = pgsProgressCategoryTemplateService.queryListByParent(req);
@ -70,7 +85,7 @@ public class PgsProgressCategoryTemplateController extends BaseController {
/**
* 获取系统顶级进度类别模版列表
*/
@SaCheckPermission("progress:progressCategoryTemplate:listSystemTop")
@SaCheckPermission("progress:progressCategoryTemplate:list")
@GetMapping("/listSystemTop/{projectId}")
public R<List<PgsProgressCategoryTemplateVo>> listSystemTop(@NotNull(message = "项目主键不能为空")
@PathVariable Long projectId) {

View File

@ -39,7 +39,7 @@ public class PgsProgressPlanController extends BaseController {
/**
* 查询进度计划列表
*/
@SaCheckPermission("progress:progressPlan:list")
@SaCheckPermission("progress:progressCategory:list")
@GetMapping("/list")
public TableDataInfo<PgsProgressPlanVo> list(PgsProgressPlanQueryReq req, PageQuery pageQuery) {
return pgsProgressPlanService.queryPageList(req, pageQuery);
@ -48,7 +48,7 @@ public class PgsProgressPlanController extends BaseController {
/**
* 导出进度计划列表
*/
@SaCheckPermission("progress:progressPlan:export")
@SaCheckPermission("progress:progressCategory:export")
@Log(title = "进度计划", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PgsProgressPlanQueryReq req, HttpServletResponse response) {
@ -61,7 +61,7 @@ public class PgsProgressPlanController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("progress:progressPlan:query")
@SaCheckPermission("progress:progressCategory:query")
@GetMapping("/{id}")
public R<PgsProgressPlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -71,7 +71,7 @@ public class PgsProgressPlanController extends BaseController {
/**
* 新增进度计划
*/
@SaCheckPermission("progress:progressPlan:add")
@SaCheckPermission("progress:progressCategory:add")
@Log(title = "进度计划", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -84,7 +84,7 @@ public class PgsProgressPlanController extends BaseController {
*
* @param ids 主键
*/
@SaCheckPermission("progress:progressPlan:remove")
@SaCheckPermission("progress:progressCategory:remove")
@Log(title = "进度计划", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

View File

@ -33,7 +33,7 @@ public class PgsProgressPlanDetailController extends BaseController {
/**
* 查询进度计划详情列表
*/
@SaCheckPermission("progress:progressPlanDetail:list")
@SaCheckPermission("progress:progressCategory:list")
@GetMapping("/list")
public TableDataInfo<PgsProgressPlanDetailVo> list(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery) {
return pgsProgressPlanDetailService.queryPageList(req, pageQuery);
@ -42,7 +42,7 @@ public class PgsProgressPlanDetailController extends BaseController {
/**
* 新增进度计划详情(普通设施)
*/
@SaCheckPermission("progress:progressPlanDetail:insertDetail")
@SaCheckPermission("progress:progressCategory:add")
@RepeatSubmit()
@PostMapping("/insert/detail")
public R<Void> insertFinishedDetail(@Validated @RequestBody PgsProgressPlanDetailFinishedCreateReq req) {
@ -52,7 +52,7 @@ public class PgsProgressPlanDetailController extends BaseController {
/**
* 新增进度计划详情(百分比设施)
*/
@SaCheckPermission("progress:progressPlanDetail:insertPercentage")
@SaCheckPermission("progress:progressCategory:add")
@RepeatSubmit()
@PostMapping("/insert/percentage")
public R<Void> insertPercentageDetail(@Validated @RequestBody PgsProgressPlanDetailCreateReq req) {
@ -72,7 +72,7 @@ public class PgsProgressPlanDetailController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("progress:progressPlanDetail:detailFinished")
@SaCheckPermission("progress:progressCategory:query")
@GetMapping("/detail/finished/{id}")
public TableDataInfo<PgsProgressPlanDetailFinishedVo> getFinishedDetail(@NotNull(message = "主键不能为空")
@PathVariable Long id,
@ -85,7 +85,7 @@ public class PgsProgressPlanDetailController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("progress:progressPlanDetail:detailUnFinish")
@SaCheckPermission("progress:progressCategory:query")
@GetMapping("/detail/unFinish/{id}")
public TableDataInfo<PgsProgressPlanDetailUnFinishVo> getUnFinishDetail(@NotNull(message = "主键不能为空")
@PathVariable Long id,
@ -96,7 +96,7 @@ public class PgsProgressPlanDetailController extends BaseController {
/**
* 删除进度计划详情
*/
@SaCheckPermission("progress:progressPlanDetail:removeDetail")
@SaCheckPermission("progress:progressCategory:remove")
@RepeatSubmit()
@DeleteMapping("/remove/detail")
public R<Void> removeDetail(@Validated PgsProgressPlanDetailRemoveReq req) {

View File

@ -172,6 +172,8 @@ public class BusAttendanceController extends BaseController {
ExcelUtil.exportExcel(list, "考勤", AttendanceTodayUserVo.class, response);
}
@SaCheckPermission("project:attendance:exportList")
@PostMapping("/exportList")
public void exportList(AttendanceExportDto dto, HttpServletResponse response) {
busAttendanceService.getExportList(dto, response);

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -62,7 +63,7 @@ public class BusAttendanceMachineController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("project:attendanceMachine:query")
@SaCheckPermission(value = {"project:attendanceMachine:query", "project:attendanceMachine:edit"}, mode = SaMode.OR)
@GetMapping("/{id}")
public R<BusAttendanceMachineVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -83,7 +84,7 @@ public class BusAttendanceMachineController extends BaseController {
/**
* 修改考勤机分包
*/
@SaCheckPermission("project:attendanceMachine:edit")
@SaCheckPermission(value = {"project:attendanceMachine:edit", "contractor:attendanceMachine:edit"}, mode = SaMode.OR)
@Log(title = "考勤机", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/contractor")
@ -96,7 +97,7 @@ public class BusAttendanceMachineController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("project:attendanceMachine:remove")
@SaCheckPermission(value = {"project:attendanceMachine:remove", "contractor:attendanceMachine:remove"}, mode = SaMode.OR)
@Log(title = "考勤机", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@ -108,7 +109,7 @@ public class BusAttendanceMachineController extends BaseController {
/**
* 批量重新下发
*/
@SaCheckPermission("project:attendanceMachine:reissue")
@SaCheckPermission(value = {"project:attendanceMachine:reissue", "contractor:attendanceMachine:reissue"}, mode = SaMode.OR)
@RepeatSubmit()
@PostMapping("/reissue/{ids}")
public R<Void> reissue(@NotEmpty(message = "主键不能为空")

View File

@ -34,7 +34,7 @@ public class BusAttendanceMachineUserController extends BaseController {
/**
* 查询考勤机用户列表
*/
@SaCheckPermission("project:attendanceMachineUser:list")
// @SaCheckPermission("project:attendanceMachineUser:list")
@GetMapping("/list")
public R<List<BusAttendanceMachineUserVo>> list(BusAttendanceMachineUserQueryReq req) {
return R.ok(busAttendanceMachineUserService.queryList(req));
@ -54,7 +54,7 @@ public class BusAttendanceMachineUserController extends BaseController {
/**
* 删除考勤机用户
*/
@SaCheckPermission("project:attendanceMachineUser:remove")
@SaCheckPermission("project:attendanceMachineUser:add")
@Log(title = "班组考勤机用户", businessType = BusinessType.DELETE)
@RepeatSubmit()
@DeleteMapping()

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -72,7 +73,7 @@ public class BusConstructionBlacklistController extends BaseController {
/**
* 新增黑名单
*/
@SaCheckPermission("project:constructionBlacklist:add")
@SaCheckPermission(value = {"project:constructionBlacklist:add", "contractor:constructionUser:constructionBlacklist"}, mode = SaMode.OR)
@Log(title = "黑名单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
@ -128,7 +129,10 @@ public class BusProjectController extends BaseController {
/**
* 查询项目以及项目下的分包公司列表
*/
@SaCheckPermission("project:project:listProjectContractorList")
@SaCheckPermission(value = {
"project:project:listProjectContractorList",
"contractor:constructionUser:change"
}, mode = SaMode.OR)
@GetMapping("/list/project/contractorList")
public R<List<BusProjectContractorTeamListVo>> listProjectContractorList() {
return R.ok(projectService.queryContractorTeamList());

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -57,7 +58,10 @@ public class BusProjectTeamController extends BaseController {
/**
* 查询项目班组列表
*/
@SaCheckPermission("project:projectTeam:list")
@SaCheckPermission(value = {"project:projectTeam:list",
"project:attendanceMachine:edit",
"contractor:userSalaryDetail:salaryPageList"
}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<BusProjectTeamVo> list(BusProjectTeamQueryReq req, PageQuery pageQuery) {
return busProjectTeamService.queryPageList(req, pageQuery);
@ -89,7 +93,7 @@ public class BusProjectTeamController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("project:projectTeam:query")
// @SaCheckPermission("project:projectTeam:query")
@GetMapping("/{id}")
public R<BusProjectTeamVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -134,7 +138,6 @@ public class BusProjectTeamController extends BaseController {
/**
* 考勤范围列表
*/
@SaCheckPermission("project:projectTeam:editPunchRange")
@GetMapping("/rangeList")
public TableDataInfo<BusProjectPunchrangeVo> list(BusProjectPunchrangeBo bo, PageQuery pageQuery) {
return busProjectPunchrangeService.queryPageList(bo, pageQuery);
@ -161,6 +164,7 @@ public class BusProjectTeamController extends BaseController {
/**
* 移除班组的管理
*/
@SaCheckPermission("project:projectTeam:getByUserId")
@PutMapping("/deleteUserId/{id}/{userId}")
public R<Boolean> deleteUserId(@PathVariable("id") Long id,@PathVariable("userId") Long userId){
return R.ok(busProjectTeamService.deleteUserId(id,userId));

View File

@ -64,7 +64,7 @@ public class BusWorkWageController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("project:workWage:query")
// @SaCheckPermission("project:workWage:query")
@GetMapping("/{id}")
public R<BusWorkWageVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {

View File

@ -139,7 +139,7 @@ public class BusProjectCreateReq implements Serializable {
/**
* 所属部门列表
*/
private List<Long> deptIds;
private Long deptIds;
/**
* xzd项目id

View File

@ -155,7 +155,7 @@ public class BusProjectUpdateReq implements Serializable {
/**
* 所属部门列表
*/
private List<Long> deptIds;
private Long deptIds;
/**
* 省份

View File

@ -6,6 +6,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.bo.Punchrange;
import org.dromara.system.domain.vo.SysRoleVo;
@ -92,6 +94,12 @@ public class BusProjectVo implements Serializable {
@ExcelDictFormat(dictType = "project_type")
private String projectType;
/**
* 项目类型名称
*/
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "projectType", other = "project_type")
private String projectTypeName;
/**
* 项目阶段
*/
@ -99,6 +107,12 @@ public class BusProjectVo implements Serializable {
@ExcelDictFormat(dictType = "project_stage")
private String projectStage;
/**
* 项目类型名称
*/
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "projectType", other = "project_stage")
private String projectStageName;
/**
* 项目地址
*/
@ -216,7 +230,18 @@ public class BusProjectVo implements Serializable {
/**
* 所属部门列表
*/
private List<Long> deptIds;
private Long deptIds;
/**
* 部门列表
*/
private String deptStr;
/**
* 部门名称列表
*/
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptIds")
private String deptNames;
/**
* 某个用户在此项目下的所有角色

View File

@ -4,7 +4,6 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.PhoneUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -397,8 +396,10 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
BeanUtils.copyProperties(req, project);
String playCardStart = req.getPlayCardStart();
String playCardEnd = req.getPlayCardEnd();
String punchRange = playCardStart + "," + playCardEnd;
project.setPunchRange(punchRange);
if (StringUtils.isNotBlank(playCardStart) && StringUtils.isNotBlank(playCardEnd)) {
String punchRange = playCardStart + "," + playCardEnd;
project.setPunchRange(punchRange);
}
// 数据校验
validEntityBeforeSave(project, true);
if (this.lambdaQuery().eq(BusProject::getProjectName, req.getProjectName()).count() > 0) {
@ -422,18 +423,16 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
throw new ServiceException("新增用户与项目关联失败,数据库异常", HttpStatus.ERROR);
}
// 保存项目与部门的关联
List<Long> deptIds = req.getDeptIds();
if (CollUtil.isNotEmpty(deptIds)) {
List<BusProjectDept> projectDeptList = deptIds.stream().map(deptId -> {
BusProjectDept projectDept = new BusProjectDept();
projectDept.setDeptId(deptId);
projectDept.setProjectId(projectId);
return projectDept;
}).toList();
boolean saveBatch = projectDeptService.saveBatch(projectDeptList);
if (!saveBatch) {
throw new ServiceException("保存项目与部门的关联失败", HttpStatus.ERROR);
}
Long count = projectDeptService.getBaseMapper().selectCount(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getProjectId, projectId));
if (count > 0) {
throw new ServiceException("项目已存在部门关联,请勿重复添加", HttpStatus.BAD_REQUEST);
}
BusProjectDept projectDept = new BusProjectDept();
projectDept.setDeptId(req.getDeptIds());
projectDept.setProjectId(projectId);
boolean save1 = projectDeptService.save(projectDept);
if (!save1) {
throw new ServiceException("新增项目与部门关联失败,数据库异常", HttpStatus.ERROR);
}
// 异步执行数据同步
self.insertProjectSyncThing(projectId)
@ -571,41 +570,19 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
throw new ServiceException("打卡范围增加失败", HttpStatus.ERROR);
}
}
List<Long> deptIds = req.getDeptIds();
// 根据项目查询部门
List<Long> oldDeptIds = projectDeptService.lambdaQuery()
.eq(BusProjectDept::getProjectId, project.getId())
.list()
.stream().map(BusProjectDept::getDeptId)
.toList();
if (CollUtil.isEmpty(deptIds) && CollUtil.isEmpty(oldDeptIds)) {
return true;
} else if (CollUtil.isEmpty(deptIds) && CollUtil.isNotEmpty(oldDeptIds)) {
//删除所有旧部门
boolean remove = projectDeptService.remove(Wrappers.lambdaQuery(BusProjectDept.class)
.eq(BusProjectDept::getProjectId, project.getId()));
if (!remove) {
throw new ServiceException("删除项目部门失败", HttpStatus.ERROR);
}
} else if (CollUtil.isNotEmpty(deptIds)) {
if (CollUtil.isNotEmpty(oldDeptIds)) {
//删除所有旧部门
boolean remove = projectDeptService.remove(Wrappers.lambdaQuery(BusProjectDept.class)
.eq(BusProjectDept::getProjectId, project.getId()));
if (!remove) {
throw new ServiceException("删除项目部门失败", HttpStatus.ERROR);
}
}
//新增部门
List<BusProjectDept> busProjectDepts = deptIds.stream().map(deptId -> {
BusProjectDept projectDept = new BusProjectDept();
projectDept.setDeptId(deptId);
projectDept.setProjectId(project.getId());
return projectDept;
}).toList();
boolean save = projectDeptService.saveBatch(busProjectDepts);
if (!save) {
throw new ServiceException("部门增加失败", HttpStatus.ERROR);
//删除所有旧部门
boolean remove = projectDeptService.remove(Wrappers.lambdaQuery(BusProjectDept.class)
.eq(BusProjectDept::getProjectId, project.getId()));
// if (!remove) {
// throw new ServiceException("删除项目部门失败", HttpStatus.ERROR);
// }
if (req.getDeptIds() != null) {
BusProjectDept projectDept = new BusProjectDept();
projectDept.setDeptId(req.getDeptIds());
projectDept.setProjectId(project.getId());
boolean save1 = projectDeptService.save(projectDept);
if (!save1) {
throw new ServiceException("新增项目与部门关联失败,数据库异常", HttpStatus.ERROR);
}
}
return true;
@ -644,7 +621,7 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
String projectName = entity.getProjectName();
String principalPhone = entity.getPrincipalPhone();
// 新增项目参数验证
if (create) {
/* if (create) {
if (StringUtils.isBlank(projectName)) {
throw new ServiceException("项目名称不能为空", HttpStatus.BAD_REQUEST);
}
@ -654,7 +631,7 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
}
if (StringUtils.isNotBlank(principalPhone) && !PhoneUtil.isPhone(principalPhone)) {
throw new ServiceException("负责人手机号格式不正确", HttpStatus.BAD_REQUEST);
}
}*/
}
/**
@ -738,10 +715,14 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
projectVo.setChildren(subProjectVoList);
}
// 关联所属部门
List<BusProjectDept> deptList = projectDeptService.lambdaQuery()
BusProjectDept dept = projectDeptService.lambdaQuery()
.eq(BusProjectDept::getProjectId, project.getId())
.list();
projectVo.setDeptIds(deptList.stream().map(BusProjectDept::getDeptId).toList());
.last("limit 1")
.one();
if (dept != null) {
projectVo.setDeptIds(dept.getDeptId());
projectVo.setDeptStr(dept.toString());
}
return projectVo;
}

View File

@ -42,7 +42,8 @@ public class QltFileFolderController extends BaseController {
/**
* 查询会议纪要列表
*/
@SaCheckPermission("quality:fileFolder:listAll")
// @SaCheckPermission("quality:fileFolder:listAll")
@SaCheckPermission("quality:fileFolder:list")
@GetMapping("/list-all")
public R<List<QltFileFolderVo>> listAll(QltListQueryDto dto) {
return R.ok(qltFileFolderService.listAll(dto));
@ -96,7 +97,8 @@ public class QltFileFolderController extends BaseController {
/**
* 创建文件或文件夹
*/
@SaCheckPermission("quality:fileFolder:create")
// @SaCheckPermission("quality:fileFolder:create")
@SaCheckPermission("quality:fileFolder:add")
@PostMapping("/create")
public R<QltFileFolder> create(@RequestBody QltFileFolderCreateDTO dto) {
return R.ok(qltFileFolderService.createFileOrFolder(dto));
@ -105,7 +107,8 @@ public class QltFileFolderController extends BaseController {
/**
* 删除文件或文件夹(级联删除子项)
*/
@SaCheckPermission("quality:fileFolder:delete")
// @SaCheckPermission("quality:fileFolder:delete")
@SaCheckPermission("quality:fileFolder:remove")
@DeleteMapping("/{ids}")
@Transactional
public R<Boolean> delete(@PathVariable List<Long> ids) {
@ -118,7 +121,8 @@ public class QltFileFolderController extends BaseController {
/**
* 移动文件或文件夹到指定目录
*/
@SaCheckPermission("quality:fileFolder:move")
// @SaCheckPermission("quality:fileFolder:move")
@SaCheckPermission("quality:fileFolder:edit")
@PostMapping("/move")
@Transactional
public R<Boolean> move(@RequestBody QltFileFolderMoveDTO dto) {
@ -154,7 +158,8 @@ public class QltFileFolderController extends BaseController {
}
@SaCheckPermission("quality:fileFolder:reName")
// @SaCheckPermission("quality:fileFolder:reName")
@SaCheckPermission("quality:fileFolder:edit")
@PutMapping("/reName")
public R<Boolean> reName(@RequestParam("id") Long id,
@RequestParam("name") String name) {
@ -162,7 +167,8 @@ public class QltFileFolderController extends BaseController {
}
@SaCheckPermission("quality:fileFolder:download")
// @SaCheckPermission("quality:fileFolder:download")
@SaCheckPermission("quality:fileFolder:edit")
@GetMapping("/download/{id}")
public void download(@PathVariable Long id, HttpServletResponse response) throws IOException {
qltFileFolderService.download(id, response);

View File

@ -42,7 +42,8 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 分页查询质量知识库文件列表
*/
@SaCheckPermission("quality:knowledgeDocument:filePage")
@SaCheckPermission("quality:knowledgeDocument:list")
// @SaCheckPermission("quality:knowledgeDocument:filePage")
@GetMapping("/file/page")
public TableDataInfo<QltKnowledgeDocumentVo> queryFilePageList(QltKnowledgeDocumentFileQueryReq req, PageQuery pageQuery) {
return qltKnowledgeDocumentService.queryFilePageByFolderId(req, pageQuery);
@ -51,7 +52,8 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 查询质量知识库文件列表
*/
@SaCheckPermission("quality:knowledgeDocument:fileList")
// @SaCheckPermission("quality:knowledgeDocument:fileList")
@SaCheckPermission("quality:knowledgeDocument:list")
@GetMapping("/file/list/{folderId}")
public R<List<QltKnowledgeDocumentVo>> queryFileListByFolderId(@NotNull(message = "主键不能为空")
@PathVariable Long folderId) {
@ -61,7 +63,7 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 查询质量知识库文件树列表
*/
@SaCheckPermission("quality:knowledgeDocument:folderTreeList")
@SaCheckPermission("quality:knowledgeDocument:list")
@GetMapping("/folder/tree/list")
public R<List<Tree<Long>>> queryFolderTreeList(QltKnowledgeDocumentQueryReq req) {
List<Tree<Long>> list = qltKnowledgeDocumentService.queryFolderTreeList(req);
@ -71,7 +73,8 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 查询质量知识库回收站文件列表
*/
@SaCheckPermission("quality:knowledgeDocument:recycleBinList")
// @SaCheckPermission("quality:knowledgeDocument:recycleBinList")
@SaCheckPermission("quality:knowledgeDocument:list")
@GetMapping("/recycleBin/list")
public TableDataInfo<QltKnowledgeDocumentVo> queryRecycleBinPageList(QltKnowledgeDocumentQueryReq req, PageQuery pageQuery) {
return qltKnowledgeDocumentService.queryRecycleBinPageList(req, pageQuery);
@ -92,7 +95,7 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 新增质量知识库文件
*/
@SaCheckPermission("quality:knowledgeDocument:file")
@SaCheckPermission("quality:knowledgeDocument:add")
@Log(title = "质量知识库", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/file")
@ -103,7 +106,7 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 修改质量知识库
*/
@SaCheckPermission("quality:knowledgeDocument:file")
@SaCheckPermission("quality:knowledgeDocument:edit")
@Log(title = "质量知识库", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/file")
@ -116,7 +119,7 @@ public class QltKnowledgeDocumentController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("quality:knowledgeDocument:file")
@SaCheckPermission("quality:knowledgeDocument:remove")
@Log(title = "质量知识库", businessType = BusinessType.DELETE)
@DeleteMapping("/file/{id}")
public R<Void> remove(@NotNull(message = "主键不能为空")
@ -129,7 +132,7 @@ public class QltKnowledgeDocumentController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("quality:knowledgeDocument:fileRecycleBin")
@SaCheckPermission("quality:knowledgeDocument:remove")
@Log(title = "质量知识库", businessType = BusinessType.DELETE)
@DeleteMapping("/file/recycleBin/{ids}")
public R<Void> removeRecycleBin(@NotNull(message = "主键不能为空")
@ -140,7 +143,8 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 根据主键id批量恢复
*/
@SaCheckPermission("quality:knowledgeDocument:recovery")
// @SaCheckPermission("quality:knowledgeDocument:recovery")
@SaCheckPermission("quality:knowledgeDocument:edit")
@Log(title = "质量知识库", businessType = BusinessType.UPDATE)
@PostMapping("/recovery/{ids}")
public R<Void> recoveryBatchById(@NotNull(message = "主键不能为空")
@ -151,7 +155,7 @@ public class QltKnowledgeDocumentController extends BaseController {
/**
* 畅写在线修改保存回调
*/
@SaCheckPermission("quality:knowledgeDocument:changxieCallback")
// @SaCheckPermission("quality:knowledgeDocument:changxieCallback")
@PostMapping("/changxie/callback/{id}")
public void singleFileUploads(@NotNull(message = "主键不能为空")
@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) {

View File

@ -62,7 +62,7 @@ public class QltQualityConstructionLogController extends BaseController {
/**
* 根据主键导出质量-施工日志
*/
@SaCheckPermission("quality:qualityConstructionLog:exportWord")
@SaCheckPermission("quality:qualityConstructionLog:export")
@Log(title = "质量-施工日志", businessType = BusinessType.EXPORT)
@PostMapping("/export/word")
public void exportWordById(@NotNull(message = "主键不能为空") Long id,

View File

@ -1,6 +1,7 @@
package org.dromara.quality.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -14,6 +15,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
import org.dromara.project.domain.vo.projectteam.BusProjectTeamVo;
import org.dromara.project.service.IBusProjectTeamService;
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionCreateReq;
import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionGisReq;
@ -43,10 +45,22 @@ public class QltQualityInspectionController extends BaseController {
private final IBusProjectTeamService busProjectTeamService;
/**
* 获取项目班组详细信息
*
* @param id 主键
*/
@SaCheckPermission(value = {"quality:qualityInspection:list","quality:qualityInspection:query","quality:qualityInspection:edit"}, mode = SaMode.OR)
@GetMapping("/bz/{id}")
public R<BusProjectTeamVo> getInfobz(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(busProjectTeamService.queryById(id));
}
/**
* 查询质量-检查工单列表
*/
@SaCheckPermission("quality:qualityInspection:list")
@SaCheckPermission(value = {"quality:qualityInspection:list","quality:subQualityInspection:list"}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<QltQualityInspectionVo> list(QltQualityInspectionQueryReq req, PageQuery pageQuery) {
return qualityInspectionService.queryPageList(req, pageQuery);
@ -74,7 +88,7 @@ public class QltQualityInspectionController extends BaseController {
/**
* 根据主键导出质量-检查工单
*/
@SaCheckPermission("quality:qualityInspection:exportWord")
@SaCheckPermission("quality:qualityInspection:export")
@Log(title = "质量-检查工单", businessType = BusinessType.EXPORT)
@PostMapping("/export/word")
public void exportWordById(@NotNull(message = "主键不能为空") Long id,
@ -87,7 +101,7 @@ public class QltQualityInspectionController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("quality:qualityInspection:query")
// @SaCheckPermission("quality:qualityInspection:query")
@GetMapping("/{id}")
public R<QltQualityInspectionVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -108,7 +122,7 @@ public class QltQualityInspectionController extends BaseController {
/**
* 修改质量-检查工单
*/
@SaCheckPermission("quality:qualityInspection:edit")
@SaCheckPermission(value = {"quality:qualityInspection:edit","quality:subQualityInspection:edit"}, mode = SaMode.OR)
@Log(title = "质量-检查工单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -132,6 +146,7 @@ public class QltQualityInspectionController extends BaseController {
/**
* 整改人选择列表
*/
@SaCheckPermission(value = {"quality:qualityInspection:edit","quality:qualityInspection:add","quality:qualityInspection:query","quality:qualityInspection:list"},mode = SaMode.OR)
@GetMapping("/listForeman/{projectId}")
public R<List<BusProjectTeamForemanVo>> listForeman(@NotNull(message = "项目id不能为空")
@PathVariable Long projectId) {

View File

@ -22,6 +22,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.oss.core.OssClient;
import org.dromara.common.oss.exception.OssException;
import org.dromara.common.oss.factory.OssFactory;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.utils.DocumentUtil;
import org.dromara.project.service.IBusProjectService;
import org.dromara.quality.constant.QltQualityConstant;
@ -364,7 +365,7 @@ public class QltQualityInspectionServiceImpl extends ServiceImpl<QltQualityInspe
lqw.eq(StringUtils.isNotBlank(rectificationUnit), QltQualityInspection::getRectificationUnit, rectificationUnit);
lqw.eq(ObjectUtils.isNotEmpty(projectId), QltQualityInspection::getProjectId, projectId);
lqw.eq(ObjectUtils.isNotEmpty(rectificationId), QltQualityInspection::getRectificationId, rectificationId);
lqw.eq(req.getCorrectorId() != null, QltQualityInspection::getCorrectorId, req.getCorrectorId());
lqw.eq(req.getCorrectorId() != null && !LoginHelper.isSuperAdmin(), QltQualityInspection::getCorrectorId, req.getCorrectorId());
lqw.eq(req.getCreateBy() != null, QltQualityInspection::getCreateBy, req.getCreateBy());
lqw.like(StringUtils.isNotBlank(req.getInspectionHeadline()), QltQualityInspection::getInspectionHeadline, req.getInspectionHeadline());
return lqw;

View File

@ -1,132 +0,0 @@
package org.dromara.safety.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.domain.R;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.safety.domain.dto.documentsafetymeeting.HseDocumentSafetyMeetingCreateFileReq;
import org.dromara.safety.domain.dto.documentsafetymeeting.HseDocumentSafetyMeetingCreateFolderReq;
import org.dromara.safety.domain.dto.documentsafetymeeting.HseDocumentSafetyMeetingQueryReq;
import org.dromara.safety.domain.vo.documentsafetymeeting.HseDocumentSafetyMeetingRecycleBinVo;
import org.dromara.safety.domain.vo.documentsafetymeeting.HseDocumentSafetyMeetingVo;
import org.dromara.safety.service.IHseDocumentSafetyMeetingService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 安全会议纪要
*
* @author lilemy
* @date 2025-04-14
*/
@Validated
@RestController
@RequestMapping("/safety/documentSafetyMeeting")
public class HseDocumentSafetyMeetingController extends BaseController {
@Resource
private IHseDocumentSafetyMeetingService documentSafetyMeetingService;
/**
* 查询安全会议纪要列表
*/
@SaCheckPermission("safety:documentSafetyMeeting:list")
@GetMapping("/list")
public R<List<HseDocumentSafetyMeetingVo>> list(HseDocumentSafetyMeetingQueryReq req) {
return R.ok(documentSafetyMeetingService.queryList(req));
}
/**
* 查询安全会议纪要回收站列表
*/
@SaCheckPermission("safety:documentSafetyMeeting:recycleBinList")
@GetMapping("/recycleBin/list")
public TableDataInfo<HseDocumentSafetyMeetingRecycleBinVo> list(HseDocumentSafetyMeetingQueryReq req, PageQuery pageQuery) {
return documentSafetyMeetingService.queryRecycleBinPageList(req, pageQuery);
}
/**
* 获取安全会议纪要详细信息
*
* @param id 主键
*/
@SaCheckPermission("safety:documentSafetyMeeting:query")
@GetMapping("/{id}")
public R<HseDocumentSafetyMeetingVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(documentSafetyMeetingService.queryById(id));
}
/**
* 新增安全会议纪要文件夹
*/
@SaCheckPermission("safety:documentSafetyMeeting:folder")
@Log(title = "安全会议纪要", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/folder")
public R<Long> addFolder(@RequestBody HseDocumentSafetyMeetingCreateFolderReq req) {
return R.ok(documentSafetyMeetingService.insertByFolder(req));
}
/**
* 新增安全会议纪要文件
*/
@SaCheckPermission("safety:documentSafetyMeeting:file")
@Log(title = "安全会议纪要", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/file")
public R<Long> addFile(@RequestPart("file") MultipartFile file, HseDocumentSafetyMeetingCreateFileReq req) {
return R.ok(documentSafetyMeetingService.insertByFile(file, req));
}
/**
* 批量恢复安全会议纪要文件
*
* @param ids 主键串
*/
@SaCheckPermission("safety:documentSafetyMeeting:recovery")
@Log(title = "安全会议纪要", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/recovery/{ids}")
public R<Void> recovery(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(documentSafetyMeetingService.recoveryBatchById(List.of(ids)));
}
/**
* 删除安全会议纪要
*
* @param ids 主键串
*/
@SaCheckPermission("safety:documentSafetyMeeting:remove")
@Log(title = "安全会议纪要", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(documentSafetyMeetingService.deleteWithRecycleBin(List.of(ids)));
}
/**
* 彻底删除安全会议纪要
*
* @param ids 主键串
*/
@SaCheckPermission("safety:documentSafetyMeeting:completelyDelete")
@Log(title = "安全会议纪要", businessType = BusinessType.DELETE)
@DeleteMapping("/completelyDelete/{ids}")
public R<Void> completelyDelete(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(documentSafetyMeetingService.completelyDelete(List.of(ids)));
}
}

View File

@ -1,27 +1,27 @@
package org.dromara.safety.controller;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.web.core.BaseController;
import org.dromara.quality.domain.dto.fileFolder.SafeListQueryDto;
import org.dromara.safety.domain.HseFileFolder;
import org.dromara.safety.domain.dto.fileFolder.FileFolderCreateDTO;
import org.dromara.safety.domain.dto.fileFolder.FileFolderMoveDTO;
import org.dromara.safety.domain.vo.fileFolder.FileFolderTreeVO;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.core.domain.R;
import org.dromara.safety.domain.vo.HseFileFolderVo;
import org.dromara.safety.domain.vo.fileFolder.FileFolderTreeVO;
import org.dromara.safety.service.IHseFileFolderService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
/**
* 会议纪要
*
@ -39,7 +39,7 @@ public class HseFileFolderController extends BaseController {
/**
* 查询会议纪要列表
*/
@SaCheckPermission("safety:fileFolder:listAll")
@SaCheckPermission("safety:fileFolder:list")
@GetMapping("/list-all")
public R<List<HseFileFolderVo>> listAll(SafeListQueryDto dto) {
return R.ok(hseFileFolderService.listAll(dto));
@ -47,6 +47,7 @@ public class HseFileFolderController extends BaseController {
/**
* 查询指定目录的树形结构(一次性加载所有层级)
*
* @return 树形结构列表
*/
@GetMapping("/tree-all")
@ -56,7 +57,7 @@ public class HseFileFolderController extends BaseController {
List<HseFileFolder> allItems = hseFileFolderService.list(new LambdaQueryWrapper<HseFileFolder>()
.eq(HseFileFolder::getProjectId, dto.getProjectId())
.like(HseFileFolder::getPath, "," + dto.getParentId() + ",") // 包含父ID的所有子项
.eq(dto.getType()!=null,HseFileFolder::getType, dto.getType())
.eq(dto.getType() != null, HseFileFolder::getType, dto.getType())
.orderByDesc(HseFileFolder::getId)
.orderByAsc(HseFileFolder::getSort)
);
@ -93,7 +94,7 @@ public class HseFileFolderController extends BaseController {
/**
* 创建文件或文件夹
*/
@SaCheckPermission("safety:fileFolder:create")
@SaCheckPermission("safety:fileFolder:add")
@PostMapping("/create")
public R<HseFileFolder> create(@RequestBody FileFolderCreateDTO dto) {
return R.ok(hseFileFolderService.createFileOrFolder(dto));
@ -103,7 +104,7 @@ public class HseFileFolderController extends BaseController {
* 删除文件或文件夹(级联删除子项)
*/
@SaCheckPermission("safety:fileFolder:delete")
@SaCheckPermission("safety:fileFolder:remove")
@DeleteMapping("/{ids}")
@Transactional
public R<Boolean> delete(@PathVariable List<Long> ids) {
@ -116,7 +117,7 @@ public class HseFileFolderController extends BaseController {
/**
* 移动文件或文件夹到指定目录
*/
@SaCheckPermission("safety:fileFolder:move")
@SaCheckPermission("safety:fileFolder:edit")
@PostMapping("/move")
@Transactional
public R<Boolean> move(@RequestBody FileFolderMoveDTO dto) {
@ -126,7 +127,7 @@ public class HseFileFolderController extends BaseController {
/**
* 上传ZIP文件并自动解压到指定目录支持多层级
*/
@SaCheckPermission("safety:fileFolder:create")
@SaCheckPermission("safety:fileFolder:add")
@PostMapping("/uploadAndUnzip")
public R<String> uploadAndUnzip(
@RequestParam("file") MultipartFile file,
@ -150,11 +151,11 @@ public class HseFileFolderController extends BaseController {
return R.ok(hseFileFolderService.unzip(id, parentId));
}
@SaCheckPermission("safety:fileFolder:reName")
@SaCheckPermission("safety:fileFolder:edit")
@PutMapping("/reName")
public R<Boolean> reName(@RequestParam("id") Long id,
@RequestParam("name") String name) {
return R.ok(hseFileFolderService.reName(id,name));
return R.ok(hseFileFolderService.reName(id, name));
}
@ -163,8 +164,4 @@ public class HseFileFolderController extends BaseController {
public void download(@PathVariable Long id, HttpServletResponse response) throws IOException {
hseFileFolderService.download(id, response);
}
}

View File

@ -42,7 +42,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 分页查询安全知识库文件列表
*/
@SaCheckPermission("safety:knowledgeDocument:filePage")
@SaCheckPermission("safety:knowledgeDocument:list")
@GetMapping("/file/page")
public TableDataInfo<HseKnowledgeDocumentVo> queryFilePageList(HseKnowledgeDocumentFileQueryReq req, PageQuery pageQuery) {
return hseKnowledgeDocumentService.queryFilePageByFolderId(req, pageQuery);
@ -51,7 +51,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 查询安全知识库文件列表
*/
@SaCheckPermission("safety:knowledgeDocument:fileList")
@SaCheckPermission("safety:knowledgeDocument:list")
@GetMapping("/file/list/{folderId}")
public R<List<HseKnowledgeDocumentVo>> queryFileListByFolderId(@NotNull(message = "主键不能为空")
@PathVariable Long folderId) {
@ -61,7 +61,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 查询安全知识库文件树列表
*/
@SaCheckPermission("safety:knowledgeDocument:folderTreeList")
@SaCheckPermission("safety:knowledgeDocument:list")
@GetMapping("/folder/tree/list")
public R<List<Tree<Long>>> queryFolderTreeList(HseKnowledgeDocumentQueryReq req) {
List<Tree<Long>> list = hseKnowledgeDocumentService.queryFolderTreeList(req);
@ -71,7 +71,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 查询安全知识库回收站文件列表
*/
@SaCheckPermission("safety:knowledgeDocument:recycleBinList")
@SaCheckPermission("safety:knowledgeDocument:list")
@GetMapping("/recycleBin/list")
public TableDataInfo<HseKnowledgeDocumentVo> queryRecycleBinPageList(HseKnowledgeDocumentQueryReq req, PageQuery pageQuery) {
return hseKnowledgeDocumentService.queryRecycleBinPageList(req, pageQuery);
@ -92,7 +92,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 新增安全知识库文件
*/
@SaCheckPermission("safety:knowledgeDocument:file")
@SaCheckPermission("safety:knowledgeDocument:add")
@Log(title = "安全知识库", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/file")
@ -103,7 +103,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 修改安全知识库
*/
@SaCheckPermission("safety:knowledgeDocument:file")
@SaCheckPermission("safety:knowledgeDocument:edit")
@Log(title = "安全知识库", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/file")
@ -116,7 +116,7 @@ public class HseKnowledgeDocumentController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("safety:knowledgeDocument:file")
@SaCheckPermission("safety:knowledgeDocument:remove")
@Log(title = "安全知识库", businessType = BusinessType.DELETE)
@DeleteMapping("/file/{id}")
public R<Void> remove(@NotNull(message = "主键不能为空")
@ -129,7 +129,7 @@ public class HseKnowledgeDocumentController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("safety:knowledgeDocument:fileRecycleBin")
@SaCheckPermission("safety:knowledgeDocument:remove")
@Log(title = "安全知识库", businessType = BusinessType.DELETE)
@DeleteMapping("/file/recycleBin/{ids}")
public R<Void> removeRecycleBin(@NotNull(message = "主键不能为空")
@ -140,7 +140,7 @@ public class HseKnowledgeDocumentController extends BaseController {
/**
* 根据主键id批量恢复
*/
@SaCheckPermission("safety:knowledgeDocument:recovery")
@SaCheckPermission("safety:knowledgeDocument:edit")
@Log(title = "安全知识库", businessType = BusinessType.UPDATE)
@PostMapping("/recovery/{ids}")
public R<Void> recoveryBatchById(@NotNull(message = "主键不能为空")

View File

@ -1,110 +0,0 @@
package org.dromara.safety.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.safety.domain.dto.questionbank.HseQuestionBankCreateReq;
import org.dromara.safety.domain.dto.questionbank.HseQuestionBankQueryReq;
import org.dromara.safety.domain.dto.questionbank.HseQuestionBankUpdateReq;
import org.dromara.safety.domain.vo.questionbank.HseQuestionBankVo;
import org.dromara.safety.service.IHseQuestionBankService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 题库
*
* @author lilemy
* @date 2025-03-24
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/safety/questionBank")
public class HseQuestionBankController extends BaseController {
private final IHseQuestionBankService questionBankService;
/**
* 查询题库列表
*/
@SaCheckPermission("safety:questionBank:list")
@GetMapping("/list")
public TableDataInfo<HseQuestionBankVo> list(HseQuestionBankQueryReq req, PageQuery pageQuery) {
return questionBankService.queryPageList(req, pageQuery);
}
/**
* 导出题库列表
*/
@SaCheckPermission("safety:questionBank:export")
@Log(title = "题库", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HseQuestionBankQueryReq req, HttpServletResponse response) {
List<HseQuestionBankVo> list = questionBankService.queryList(req);
ExcelUtil.exportExcel(list, "题库", HseQuestionBankVo.class, response);
}
/**
* 获取题库详细信息
*
* @param id 主键
*/
@SaCheckPermission("safety:questionBank:query")
@GetMapping("/{id}")
public R<HseQuestionBankVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(questionBankService.queryById(id));
}
/**
* 新增题库
*/
@SaCheckPermission("safety:questionBank:add")
@Log(title = "题库", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Long> add(@Validated(AddGroup.class) @RequestBody HseQuestionBankCreateReq req,
HttpServletRequest request) {
return R.ok(questionBankService.insertByBo(req, request));
}
/**
* 修改题库
*/
@SaCheckPermission("safety:questionBank:edit")
@Log(title = "题库", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody HseQuestionBankUpdateReq req) {
return toAjax(questionBankService.updateByBo(req));
}
/**
* 删除题库
*
* @param ids 主键串
*/
@SaCheckPermission("safety:questionBank:remove")
@Log(title = "题库", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(questionBankService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -1,108 +0,0 @@
package org.dromara.safety.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.safety.domain.dto.questionscategory.HseQuestionsCategoryCreateReq;
import org.dromara.safety.domain.dto.questionscategory.HseQuestionsCategoryQueryReq;
import org.dromara.safety.domain.dto.questionscategory.HseQuestionsCategoryUpdateReq;
import org.dromara.safety.domain.vo.questionscategory.HseQuestionsCategoryVo;
import org.dromara.safety.service.IHseQuestionsCategoryService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 题库类别
*
* @author lilemy
* @date 2025-04-15
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/safety/questionsCategory")
public class HseQuestionsCategoryController extends BaseController {
private final IHseQuestionsCategoryService questionsCategoryService;
/**
* 查询题库类别列表
*/
@SaCheckPermission("safety:questionsCategory:list")
@GetMapping("/list")
public TableDataInfo<HseQuestionsCategoryVo> list(HseQuestionsCategoryQueryReq req, PageQuery pageQuery) {
return questionsCategoryService.queryPageList(req, pageQuery);
}
/**
* 导出题库类别列表
*/
@SaCheckPermission("safety:questionsCategory:export")
@Log(title = "题库类别", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HseQuestionsCategoryQueryReq req, HttpServletResponse response) {
List<HseQuestionsCategoryVo> list = questionsCategoryService.queryList(req);
ExcelUtil.exportExcel(list, "题库类别", HseQuestionsCategoryVo.class, response);
}
/**
* 获取题库类别详细信息
*
* @param id 主键
*/
@SaCheckPermission("safety:questionsCategory:query")
@GetMapping("/{id}")
public R<HseQuestionsCategoryVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(questionsCategoryService.queryById(id));
}
/**
* 新增题库类别
*/
@SaCheckPermission("safety:questionsCategory:add")
@Log(title = "题库类别", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Long> add(@Validated(AddGroup.class) @RequestBody HseQuestionsCategoryCreateReq req) {
return R.ok(questionsCategoryService.insertByBo(req));
}
/**
* 修改题库类别
*/
@SaCheckPermission("safety:questionsCategory:edit")
@Log(title = "题库类别", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody HseQuestionsCategoryUpdateReq req) {
return toAjax(questionsCategoryService.updateByBo(req));
}
/**
* 删除题库类别
*
* @param ids 主键串
*/
@SaCheckPermission("safety:questionsCategory:remove")
@Log(title = "题库类别", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(questionsCategoryService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -1,108 +0,0 @@
package org.dromara.safety.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.safety.domain.dto.questionsconfig.HseQuestionsConfigCreateReq;
import org.dromara.safety.domain.dto.questionsconfig.HseQuestionsConfigQueryReq;
import org.dromara.safety.domain.dto.questionsconfig.HseQuestionsConfigUpdateReq;
import org.dromara.safety.domain.vo.questionsconfig.HseQuestionsConfigVo;
import org.dromara.safety.service.IHseQuestionsConfigService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 题库配置
*
* @author lilemy
* @date 2025-03-24
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/safety/questionsConfig")
public class HseQuestionsConfigController extends BaseController {
private final IHseQuestionsConfigService questionsConfigService;
/**
* 查询题库配置列表
*/
@SaCheckPermission("safety:questionsConfig:list")
@GetMapping("/list")
public TableDataInfo<HseQuestionsConfigVo> list(HseQuestionsConfigQueryReq req, PageQuery pageQuery) {
return questionsConfigService.queryPageList(req, pageQuery);
}
/**
* 导出题库配置列表
*/
@SaCheckPermission("safety:questionsConfig:export")
@Log(title = "题库配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HseQuestionsConfigQueryReq req, HttpServletResponse response) {
List<HseQuestionsConfigVo> list = questionsConfigService.queryList(req);
ExcelUtil.exportExcel(list, "题库配置", HseQuestionsConfigVo.class, response);
}
/**
* 获取题库配置详细信息
*
* @param id 主键
*/
@SaCheckPermission("safety:questionsConfig:query")
@GetMapping("/{id}")
public R<HseQuestionsConfigVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(questionsConfigService.queryById(id));
}
/**
* 新增题库配置
*/
@SaCheckPermission("safety:questionsConfig:add")
@Log(title = "题库配置", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Long> add(@Validated(AddGroup.class) @RequestBody HseQuestionsConfigCreateReq req) {
return R.ok(questionsConfigService.insertByBo(req));
}
/**
* 修改题库配置
*/
@SaCheckPermission("safety:questionsConfig:edit")
@Log(title = "题库配置", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody HseQuestionsConfigUpdateReq req) {
return toAjax(questionsConfigService.updateByBo(req));
}
/**
* 删除题库配置
*
* @param ids 主键串
*/
@SaCheckPermission("safety:questionsConfig:remove")
@Log(title = "题库配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(questionsConfigService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -1,20 +1,21 @@
package org.dromara.safety.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.project.domain.vo.projectteam.BusProjectTeamForemanVo;
import org.dromara.project.service.IBusProjectTeamService;
import org.dromara.safety.domain.dto.safetyinspection.*;
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionListGisVo;
import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionVo;
import org.dromara.safety.service.IHseSafetyInspectionService;
import org.springframework.validation.annotation.Validated;
@ -36,31 +37,31 @@ public class HseSafetyInspectionController extends BaseController {
private final IHseSafetyInspectionService safetyInspectionService;
private final IBusProjectTeamService projectTeamService;
/**
* 查询安全巡检工单列表
* 根据项目id查询项目班组班组长信息列表
*/
@SaCheckPermission("safety:safetyInspection:list")
@GetMapping("/list")
public TableDataInfo<HseSafetyInspectionVo> list(HseSafetyInspectionQueryReq req, PageQuery pageQuery) {
// return safetyInspectionService.queryPageList(req, pageQuery);
return safetyInspectionService.queryPageListWeb(req, pageQuery);
@SaCheckPermission(value = {"project:projectTeam:add", "safety:safetyInspection:edit"}, mode = SaMode.OR)
@GetMapping("/listForeman/{projectId}")
public R<List<BusProjectTeamForemanVo>> listForeman(@NotNull(message = "项目id不能为空")
@PathVariable Long projectId) {
return R.ok(projectTeamService.queryForemanListByProjectId(projectId));
}
/**
* 导出安全巡检工单列表
* 查询安全巡检工单列表
*/
@SaCheckPermission("safety:safetyInspection:export")
@Log(title = "安全巡检工单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HseSafetyInspectionQueryReq req, HttpServletResponse response) {
List<HseSafetyInspectionVo> list = safetyInspectionService.queryList(req);
ExcelUtil.exportExcel(list, "安全巡检工单", HseSafetyInspectionVo.class, response);
@SaCheckPermission(value = {"safety:safetyInspection:list", "safety:subSafetyInspection:list"}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<HseSafetyInspectionVo> list(HseSafetyInspectionQueryReq req, PageQuery pageQuery) {
return safetyInspectionService.queryPageListWeb(req, pageQuery);
}
/**
* 根据主键导出安全巡检工单
*/
@SaCheckPermission("safety:safetyInspection:exportWord")
@SaCheckPermission("safety:safetyInspection:query")
@Log(title = "安全巡检工单", businessType = BusinessType.EXPORT)
@PostMapping("/export/word")
public void exportWordById(@NotNull(message = "主键不能为空") Long id,
@ -68,20 +69,12 @@ public class HseSafetyInspectionController extends BaseController {
safetyInspectionService.exportWordById(id, response);
}
/**
* 查询大屏安全信息
*/
@GetMapping("/gis")
public R<HseSafetyInspectionListGisVo> queryGisList(HseSafetyInspectionGisReq req) {
return R.ok(safetyInspectionService.queryGisList(req));
}
/**
* 获取安全巡检工单详细信息
*
* @param id 主键
*/
@SaCheckPermission("safety:safetyInspection:query")
// @SaCheckPermission("safety:safetyInspection:query")
@GetMapping("/{id}")
public R<HseSafetyInspectionVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -102,7 +95,7 @@ public class HseSafetyInspectionController extends BaseController {
/**
* 新增安全巡检工单整改
*/
@SaCheckPermission("safety:safetyInspection:rectification")
@SaCheckPermission("safety:safetyInspection:edit")
@Log(title = "安全巡检工单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/rectification")
@ -113,7 +106,7 @@ public class HseSafetyInspectionController extends BaseController {
/**
* 新增安全巡检工单复查
*/
@SaCheckPermission("safety:safetyInspection:review")
@SaCheckPermission("safety:safetyInspection:edit")
@Log(title = "安全巡检工单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/review")
@ -124,7 +117,7 @@ public class HseSafetyInspectionController extends BaseController {
/**
* 修改安全巡检工单
*/
@SaCheckPermission("safety:safetyInspection:edit")
@SaCheckPermission(value = {"\"safety:safetyInspection:edit", "safety:subSafetyInspection:edit"}, mode = SaMode.OR)
@Log(title = "安全巡检工单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()

Some files were not shown because too many files have changed in this diff Show More