80 Commits

Author SHA1 Message Date
a1761afba0 12-19-完善备注 2025-12-19 17:28:57 +08:00
8b4eba041f Merge branch 'dev' into updateMenu 2025-12-19 14:54:11 +08:00
zrl
67979deed8 建管项目列表 项目类型回显 2025-12-19 14:29:58 +08:00
zzz
2ce43be23e 建管项目修改 2025-12-18 20:07:35 +08:00
zzz
08b905e074 项目经理推荐及审批列表增加非空判断 2025-12-18 17:01:44 +08:00
zzz
e8ee492636 实用工具bug修复 2025-12-16 16:06:09 +08:00
zzz
dd5ce4bec4 实用工具,文件中心增加项目id 2025-12-16 14:07:43 +08:00
zzz
c27e793378 Merge remote-tracking branch 'origin/updateMenu' into updateMenu 2025-12-15 09:30:28 +08:00
zzz
fb794de044 bug 2025-12-15 09:30:21 +08:00
lcj
1b184dfb00 个人首页添加项目切换,派单详情,附件 2025-12-13 17:48:19 +08:00
0ffbba57e2 设计工程量清单添加新增修改删除,设计的设计方案增加附件的时候需要给类型 2025-12-13 17:45:19 +08:00
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
336 changed files with 5012 additions and 4542 deletions

View File

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

View File

@ -73,8 +73,7 @@ public class ExcelReader {
// 从MultipartFile获取输入流 // 从MultipartFile获取输入流
try (InputStream stream = file.getInputStream(); try (InputStream stream = file.getInputStream();
org.apache.poi.ss.usermodel.Workbook workbook = isXlsx ? Workbook workbook = WorkbookFactory.create(stream)) {
new XSSFWorkbook(stream) : new HSSFWorkbook(stream)) {
for (int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++) { for (int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++) {
org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(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 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"; 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.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.dromara.ai.domain.AIChatMemory; import org.dromara.ai.domain.AIChatMemory;
import org.dromara.ai.domain.dto.AIChatMemoryQueryReq; import org.dromara.ai.domain.dto.AIChatMemoryQueryReq;
import org.dromara.ai.domain.dto.AIChatMemoryUpdateReq; 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.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StringUtils; 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.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -27,6 +32,7 @@ import java.util.List;
* @author lilemy * @author lilemy
* @date 2025-11-04 * @date 2025-11-04
*/ */
@Slf4j
@Service @Service
public class AIChatMemoryServiceImpl extends ServiceImpl<AIChatMemoryMapper, AIChatMemory> public class AIChatMemoryServiceImpl extends ServiceImpl<AIChatMemoryMapper, AIChatMemory>
implements IAIChatMemoryService { implements IAIChatMemoryService {
@ -103,9 +109,42 @@ public class AIChatMemoryServiceImpl extends ServiceImpl<AIChatMemoryMapper, AIC
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) { List<AIChatMemory> aiChatMemories = this.listByIds(ids);
//TODO 做一些业务上的校验,判断是否需要校验 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 java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; 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") @GetMapping("/getUser")
public R<List<SysUser>> getUser() { public R<List<SysUser>> getUser() {
return R.ok(busBiddingUserService.getUser()); return R.ok(busBiddingUserService.getUser());

View File

@ -1,26 +1,27 @@
package org.dromara.bigscreen.controller; 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 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.dto.BusBwlBo;
import org.dromara.bigscreen.domain.vo.BusBwlVo; import org.dromara.bigscreen.domain.vo.BusBwlVo;
import org.dromara.bigscreen.service.IBusBwlService; 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.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; 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.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.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") @GetMapping("/list")
public TableDataInfo<BusBwlVo> list(BusBwlBo bo, PageQuery pageQuery) { public TableDataInfo<BusBwlVo> list(BusBwlBo bo, PageQuery pageQuery) {
return busBwlService.queryPageList(bo, pageQuery); return busBwlService.queryPageList(bo, pageQuery);

View File

@ -1,27 +1,27 @@
package org.dromara.bigscreen.controller; 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 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.dromara.bigscreen.domain.dto.BusSygjBo;
import org.springframework.web.bind.annotation.*; import org.dromara.bigscreen.domain.vo.BusSygjVo;
import org.springframework.validation.annotation.Validated; import org.dromara.bigscreen.service.IBusSygjService;
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.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; 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.excel.utils.ExcelUtil;
import org.dromara.bigscreen.domain.vo.BusSygjVo; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.bigscreen.service.IBusSygjService; 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.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") @GetMapping("/list")
public TableDataInfo<BusSygjVo> list(BusSygjBo bo, PageQuery pageQuery) { public TableDataInfo<BusSygjVo> list(BusSygjBo bo, PageQuery pageQuery) {
return busSygjService.queryPageList(bo, pageQuery); return busSygjService.queryPageList(bo, pageQuery);

View File

@ -1,26 +1,27 @@
package org.dromara.bigscreen.controller; 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 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.dromara.bigscreen.domain.dto.BusWjzxBo;
import org.springframework.web.bind.annotation.*; import org.dromara.bigscreen.domain.vo.BusWjzxVo;
import org.springframework.validation.annotation.Validated; import org.dromara.bigscreen.service.IBusWjzxService;
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.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; 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.excel.utils.ExcelUtil;
import org.dromara.bigscreen.domain.vo.BusWjzxVo; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.bigscreen.service.IBusWjzxService; 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.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") @GetMapping("/list")
public TableDataInfo<BusWjzxVo> list(BusWjzxBo bo, PageQuery pageQuery) { public TableDataInfo<BusWjzxVo> list(BusWjzxBo bo, PageQuery pageQuery) {
return busWjzxService.queryPageList(bo, pageQuery); return busWjzxService.queryPageList(bo, pageQuery);

View File

@ -28,6 +28,7 @@ import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
@ -37,8 +38,11 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.patch.domain.bo.PdMasterBo; import org.dromara.patch.domain.bo.PdMasterBo;
import org.dromara.patch.domain.vo.PdMasterBymiAndQt; import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
import org.dromara.patch.domain.vo.PdMasterVo;
import org.dromara.patch.service.IPdMasterService; import org.dromara.patch.service.IPdMasterService;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.service.IBusProjectService; import org.dromara.project.service.IBusProjectService;
import org.dromara.project.service.IBusUserProjectRelevancyService;
import org.dromara.system.domain.SysMenu; import org.dromara.system.domain.SysMenu;
import org.dromara.system.domain.vo.RouterVo; import org.dromara.system.domain.vo.RouterVo;
import org.dromara.system.service.impl.SysMenuServiceImpl; import org.dromara.system.service.impl.SysMenuServiceImpl;
@ -98,6 +102,8 @@ public class PersonalHomeController extends BaseController {
private final SysMenuServiceImpl sysMenuService; private final SysMenuServiceImpl sysMenuService;
private final IBusUserProjectRelevancyService userProjectRelevancyService;
// region AI 模块 // region AI 模块
/** /**
@ -189,7 +195,7 @@ public class PersonalHomeController extends BaseController {
QueryWrapper<FlowTaskBo> queryWrapper = new QueryWrapper<>(); QueryWrapper<FlowTaskBo> queryWrapper = new QueryWrapper<>();
List<Long> definitionIds = new ArrayList<>(); List<Long> definitionIds = new ArrayList<>();
if (!"0".equals(projectId)) { if (StringUtils.isNotBlank(projectId) && !"0".equals(projectId)) {
List<FlowDefinition> flowDefinitions = flowDefinitionMapper.selectList(new LambdaQueryWrapper<FlowDefinition>() List<FlowDefinition> flowDefinitions = flowDefinitionMapper.selectList(new LambdaQueryWrapper<FlowDefinition>()
.select(FlowDefinition::getId) .select(FlowDefinition::getId)
.like(FlowDefinition::getFlowCode, projectId)); .like(FlowDefinition::getFlowCode, projectId));
@ -198,9 +204,31 @@ public class PersonalHomeController extends BaseController {
definitionIds.add(flowDefinition.getId()); definitionIds.add(flowDefinition.getId());
}); });
} }
if (definitionIds.isEmpty()) { } else {
return null; // 获取当前用户的所有项目
List<BusUserProjectRelevancy> projectRelevancyList = userProjectRelevancyService.lambdaQuery()
.eq(BusUserProjectRelevancy::getUserId, LoginHelper.getUserId())
.list();
List<Long> projectIds = projectRelevancyList.stream().map(BusUserProjectRelevancy::getProjectId).distinct().toList();
if (CollUtil.isEmpty(projectIds)) {
return R.ok();
} }
LambdaQueryWrapper<FlowDefinition> lqw = new LambdaQueryWrapper<>();
lqw.select(FlowDefinition::getId);
lqw.and(w -> {
for (Long id : projectIds) {
w.or().like(FlowDefinition::getFlowCode, id);
}
});
List<FlowDefinition> flowDefinitions = flowDefinitionMapper.selectList(lqw);
if (flowDefinitions != null && !flowDefinitions.isEmpty()) {
flowDefinitions.forEach(flowDefinition -> {
definitionIds.add(flowDefinition.getId());
});
}
}
if (definitionIds.isEmpty()) {
return R.ok();
} }
queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey()); queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey());
queryWrapper.in("t.processed_by", LoginHelper.getUserIdStr()); queryWrapper.in("t.processed_by", LoginHelper.getUserIdStr());
@ -229,7 +257,7 @@ public class PersonalHomeController extends BaseController {
taskInfoDto.setTotal((long) page.size()); taskInfoDto.setTotal((long) page.size());
taskInfoDto.setWeekCount((long) weeklyTasks.size()); taskInfoDto.setWeekCount((long) weeklyTasks.size());
BusPdSjVo busPdSjVo = pdMasterService.queryPageListByDate(); BusPdSjVo busPdSjVo = pdMasterService.queryPageListByDate(projectId);
BusWjzxSjDateVo busWjzxSjDateVo = busWjzxService.queryWjzx(); BusWjzxSjDateVo busWjzxSjDateVo = busWjzxService.queryWjzx();
taskInfoDto.setBusWjzxSjDateVo(busWjzxSjDateVo); taskInfoDto.setBusWjzxSjDateVo(busWjzxSjDateVo);
@ -299,6 +327,16 @@ public class PersonalHomeController extends BaseController {
return pdMasterService.queryPageListBy(bo, pageQuery); return pdMasterService.queryPageListBy(bo, pageQuery);
} }
/**
* 获取派单详细信息
*
* @param id 主键
*/
@GetMapping("/pd/{id}")
public R<PdMasterVo> getPdInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(pdMasterService.queryById(id));
}
/** /**
* 查询备忘录列表 * 查询备忘录列表

View File

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

View File

@ -37,6 +37,11 @@ public class BusSygj extends BaseEntity {
*/ */
private String gjUrl; private String gjUrl;
/**
* 项目id
*/
private Long projectId;
/** /**
* 图片id * 图片id

View File

@ -37,6 +37,10 @@ public class BusWjzx extends BaseEntity {
*/ */
private String wjId; private String wjId;
/**
* 项目id
*/
private Long projectId;
/** /**

View File

@ -9,6 +9,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import java.util.List;
/** /**
* 实用工具业务对象 bus_sygj * 实用工具业务对象 bus_sygj
* *
@ -36,6 +38,11 @@ public class BusSygjBo extends BaseEntity {
*/ */
private String gjUrl; private String gjUrl;
/**
* 项目id
*/
private Long projectId;
private Long imgId; private Long imgId;
/** /**
@ -58,5 +65,10 @@ public class BusSygjBo extends BaseEntity {
*/ */
private String gnms; private String gnms;
/**
* 项目id
*/
private List<Long> collect;
} }

View File

@ -9,6 +9,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import java.util.List;
/** /**
* 文件中心业务对象 bus_wjzx * 文件中心业务对象 bus_wjzx
* *
@ -31,6 +33,11 @@ public class BusWjzxBo extends BaseEntity {
*/ */
private String wjm; private String wjm;
/**
* 项目id
*/
private Long projectId;
/** /**
* 文件上传路径 * 文件上传路径
*/ */
@ -51,5 +58,7 @@ public class BusWjzxBo extends BaseEntity {
*/ */
private String auditStatus; private String auditStatus;
private List<Long> collect;
} }

View File

@ -46,6 +46,11 @@ public class BusSygjVo implements Serializable {
@ExcelProperty(value = "工具路径") @ExcelProperty(value = "工具路径")
private String gjUrl; private String gjUrl;
/**
* 项目id
*/
private Long projectId;
/** /**
* 审核标志 * 审核标志
*/ */

View File

@ -46,6 +46,11 @@ public class BusWjzxVo implements Serializable {
@ExcelProperty(value = "文件上传路径") @ExcelProperty(value = "文件上传路径")
private String wjId; private String wjId;
/**
* 项目id
*/
private Long projectId;
/** /**
* 文件描述 * 文件描述
*/ */

View File

@ -5,7 +5,7 @@ public enum DpEnum {
ZLGLLX_ZXGL("专项检查", "1"), ZLGLLX_ZXGL("专项检查", "1"),
ZLGLLX_DQJC("定期检查", "2"), ZLGLLX_DQJC("定期检查", "2"),
ZLGLLX_RCXJ("日常巡检", "3"), ZLGLLX_RCXJ("日常巡检", "3"),
ZLGDZT_ZG("工单状态-整改", "1"), ZLGDZT_ZG("工单状态-整改", "2"),
RYZT_ZG("人员状态-在岗", "1"), RYZT_ZG("人员状态-在岗", "1"),
RYZT_LG("工单状态-离岗", "0"), RYZT_LG("工单状态-离岗", "0"),
JSLX_AQY("角色类型-安全员", "SAFETY_OFFICER"); JSLX_AQY("角色类型-安全员", "SAFETY_OFFICER");

View File

@ -34,7 +34,8 @@ public interface IBusWjzxService extends IService<BusWjzx>{
* @param pageQuery 分页参数 * @param pageQuery 分页参数
* @return 文件中心分页列表 * @return 文件中心分页列表
*/ */
TableDataInfo<BusWjzxVo> queryPageList(BusWjzxBo bo, PageQuery pageQuery); /** TableDataInfo<BusWjzxVo> queryPageList(BusWjzxBo bo, PageQuery pageQuery);
/**
* 分页查询文件中心列表 * 分页查询文件中心列表
* *
* @return 文件中心分页列表 * @return 文件中心分页列表

View File

@ -16,6 +16,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.project.domain.BusProjectDept;
import org.dromara.project.mapper.BusProjectDeptMapper;
import org.dromara.system.service.impl.SysOssServiceImpl; import org.dromara.system.service.impl.SysOssServiceImpl;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,6 +30,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Collection; import java.util.Collection;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 实用工具Service业务层处理 * 实用工具Service业务层处理
@ -44,6 +48,8 @@ public class BusSygjServiceImpl extends ServiceImpl<BusSygjMapper, BusSygj> impl
private final SysOssServiceImpl sysOssService; private final SysOssServiceImpl sysOssService;
private final BusProjectDeptMapper busProjectDeptMapper;
/** /**
* 查询实用工具 * 查询实用工具
* *
@ -64,6 +70,12 @@ public class BusSygjServiceImpl extends ServiceImpl<BusSygjMapper, BusSygj> impl
*/ */
@Override @Override
public TableDataInfo<BusSygjVo> queryPageList(BusSygjBo bo, PageQuery pageQuery) { public TableDataInfo<BusSygjVo> queryPageList(BusSygjBo bo, PageQuery pageQuery) {
// 查询改项目下的公司
if (bo.getProjectId() == null)throw new RuntimeException("项目id不能为空");
BusProjectDept busProjectDept = busProjectDeptMapper.selectOne(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getProjectId, bo.getProjectId()));
List<BusProjectDept> busProjectDepts = busProjectDeptMapper.selectList(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getDeptId, busProjectDept.getDeptId()));
List<Long> collect = busProjectDepts.stream().map(BusProjectDept::getProjectId).collect(Collectors.toList());
bo.setCollect(collect);
LambdaQueryWrapper<BusSygj> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<BusSygj> lqw = buildQueryWrapper(bo);
Page<BusSygjVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<BusSygjVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
@ -85,11 +97,13 @@ public class BusSygjServiceImpl extends ServiceImpl<BusSygjMapper, BusSygj> impl
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusSygj> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<BusSygj> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(BusSygj::getId); 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.getGjUrl()), BusSygj::getGjUrl, bo.getGjUrl());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BusSygj::getAuditStatus, bo.getAuditStatus()); lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BusSygj::getAuditStatus, bo.getAuditStatus());
lqw.eq(StringUtils.isNotBlank(bo.getType()), BusSygj::getType, bo.getType()); lqw.eq(StringUtils.isNotBlank(bo.getType()), BusSygj::getType, bo.getType());
lqw.eq(StringUtils.isNotBlank(bo.getGnms()), BusSygj::getGnms, bo.getGnms()); lqw.eq(StringUtils.isNotBlank(bo.getGnms()), BusSygj::getGnms, bo.getGnms());
// lqw.eq(bo.getProjectId() != null , BusSygj::getProjectId, bo.getProjectId());
lqw.in(bo.getCollect() != null , BusSygj::getProjectId, bo.getCollect());
lqw.eq(bo.getCreateBy() != null, BusSygj::getCreateBy, bo.getCreateBy()); lqw.eq(bo.getCreateBy() != null, BusSygj::getCreateBy, bo.getCreateBy());
return lqw; return lqw;
} }

View File

@ -1,33 +1,36 @@
package org.dromara.bigscreen.service.impl; 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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.bigscreen.domain.BusSygj;
import org.dromara.bigscreen.domain.BusWjzx;
import org.dromara.bigscreen.domain.dto.BusWjzxBo; import org.dromara.bigscreen.domain.dto.BusWjzxBo;
import org.dromara.bigscreen.domain.vo.BusWjzxSjDateVo; 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.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent; import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.domain.event.ProcessTaskEvent;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.page.TableDataInfo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.dromara.project.domain.BusProjectDept;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.dromara.project.mapper.BusProjectDeptMapper;
import lombok.RequiredArgsConstructor;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.service.impl.SysOssServiceImpl; 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.context.event.EventListener;
import org.springframework.stereotype.Service; 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.time.LocalDate;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -45,6 +48,8 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
private final SysOssServiceImpl sysOssService; private final SysOssServiceImpl sysOssService;
private final BusProjectDeptMapper busProjectDeptMapper;
/** /**
* 查询文件中心 * 查询文件中心
@ -53,7 +58,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
* @return 文件中心 * @return 文件中心
*/ */
@Override @Override
public BusWjzxVo queryById(Long id){ public BusWjzxVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@ -66,6 +71,13 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
*/ */
@Override @Override
public TableDataInfo<BusWjzxVo> queryPageList(BusWjzxBo bo, PageQuery pageQuery) { public TableDataInfo<BusWjzxVo> queryPageList(BusWjzxBo bo, PageQuery pageQuery) {
// 查询改项目下的公司
if (bo.getProjectId() == null)throw new RuntimeException("项目id不能为空");
BusProjectDept busProjectDept = busProjectDeptMapper.selectOne(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getProjectId, bo.getProjectId()));
List<BusProjectDept> busProjectDepts = busProjectDeptMapper.selectList(new LambdaQueryWrapper<BusProjectDept>().eq(BusProjectDept::getDeptId, busProjectDept.getDeptId()));
List<Long> collect = busProjectDepts.stream().map(BusProjectDept::getProjectId).collect(Collectors.toList());
bo.setCollect(collect);
LambdaQueryWrapper<BusWjzx> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<BusWjzx> lqw = buildQueryWrapper(bo);
Page<BusWjzxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<BusWjzxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
@ -98,8 +110,9 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusWjzx> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<BusWjzx> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(BusWjzx::getId); 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(bo.getProjectId() != null, BusWjzx::getProjectId, bo.getProjectId());
lqw.in(bo.getCollect() != null , BusWjzx::getProjectId, bo.getCollect());
lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BusWjzx::getAuditStatus, bo.getAuditStatus()); lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BusWjzx::getAuditStatus, bo.getAuditStatus());
lqw.eq(bo.getCreateBy() != null, BusWjzx::getCreateBy, bo.getCreateBy()); lqw.eq(bo.getCreateBy() != null, BusWjzx::getCreateBy, bo.getCreateBy());
return lqw; return lqw;
@ -115,7 +128,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
public Boolean insertByBo(BusWjzxBo bo) { public Boolean insertByBo(BusWjzxBo bo) {
BusWjzx add = MapstructUtils.convert(bo, BusWjzx.class); BusWjzx add = MapstructUtils.convert(bo, BusWjzx.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
if (add != null && StringUtils.isNotBlank(add.getWjm())){ if (add != null && StringUtils.isNotBlank(add.getWjm())) {
String[] split = add.getWjm().split("\\."); String[] split = add.getWjm().split("\\.");
add.setWjlx(split[split.length - 1]); add.setWjlx(split[split.length - 1]);
} }
@ -142,7 +155,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(BusWjzx entity){ private void validEntityBeforeSave(BusWjzx entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
@ -155,7 +168,7 @@ public class BusWjzxServiceImpl extends ServiceImpl<BusWjzxMapper, BusWjzx> impl
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
ArrayList<Long> temp = new ArrayList<>(); ArrayList<Long> temp = new ArrayList<>();

View File

@ -169,7 +169,7 @@ public class DpzaglServiceImpl implements DpzaglService {
// 站班会 // 站班会
HseTeamMeetingQueryReq hseTeamMeetingQueryReq = new HseTeamMeetingQueryReq(); HseTeamMeetingQueryReq hseTeamMeetingQueryReq = new HseTeamMeetingQueryReq();
// List<HseTeamMeetingVo> hseTeamMeetingVos = teamMeetingService.queryList(hseTeamMeetingQueryReq); // List<HseTeamMeetingVo> hseTeamMeetingVos = teamMeetingService.queryList(hseTeamMeetingQueryReq);
List<HseTeamMeeting> hseTeamMeetings = teamMeetingService.getBaseMapper().selectList(new LambdaQueryWrapper<HseTeamMeeting>().eq(HseTeamMeeting::getProjectId, bo.getProjectId())); List<HseTeamMeeting> hseTeamMeetings = teamMeetingService.getBaseMapper().selectList(new LambdaQueryWrapper<HseTeamMeeting>().ge(HseTeamMeeting::getProjectId, bo.getProjectId()));
dpznglVo.setZbhList(MapstructUtils.convert(hseTeamMeetings, HseTeamMeetingVo.class)); dpznglVo.setZbhList(MapstructUtils.convert(hseTeamMeetings, HseTeamMeetingVo.class));
dpznglVo.getZbhList().forEach(hseTeamMeetingVo -> {if ( hseTeamMeetingVo.getCompereId() != null){hseTeamMeetingVo.setCompereName(userService.selectNicknameByIds(hseTeamMeetingVo.getCompereId().toString()));}}); dpznglVo.getZbhList().forEach(hseTeamMeetingVo -> {if ( hseTeamMeetingVo.getCompereId() != null){hseTeamMeetingVo.setCompereName(userService.selectNicknameByIds(hseTeamMeetingVo.getCompereId().toString()));}});
return dpznglVo; return dpznglVo;
@ -197,8 +197,8 @@ public class DpzaglServiceImpl implements DpzaglService {
dpznglVo.setZxjcAq(list.stream().filter(zl -> DpEnum.ZLGLLX_ZXGL.getTypeValue().equals(zl.getCheckType())).count()); dpznglVo.setZxjcAq(list.stream().filter(zl -> DpEnum.ZLGLLX_ZXGL.getTypeValue().equals(zl.getCheckType())).count());
dpznglVo.setDqjcAq(list.stream().filter(zl -> DpEnum.ZLGLLX_DQJC.getTypeValue().equals(zl.getCheckType())).count()); dpznglVo.setDqjcAq(list.stream().filter(zl -> DpEnum.ZLGLLX_DQJC.getTypeValue().equals(zl.getCheckType())).count());
dpznglVo.setRcxjAq(list.stream().filter(zl -> DpEnum.ZLGLLX_RCXJ.getTypeValue().equals(zl.getCheckType())).count()); dpznglVo.setRcxjAq(list.stream().filter(zl -> DpEnum.ZLGLLX_RCXJ.getTypeValue().equals(zl.getCheckType())).count());
dpznglVo.setAqZgsl(list.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getReviewType())).count()); dpznglVo.setAqZgsl(list.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getStatus())).count());
List<HseSafetyInspectionVo> convert = MapstructUtils.convert(list.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getReviewType())).collect(Collectors.toList()), HseSafetyInspectionVo.class); List<HseSafetyInspectionVo> convert = MapstructUtils.convert(list.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getStatus())).collect(Collectors.toList()), HseSafetyInspectionVo.class);
convert.forEach(zl ->{if (zl.getCorrectorId() != null)zl.setCorrectorName(userService.selectNicknameByIds(zl.getCorrectorId().toString()));}); convert.forEach(zl ->{if (zl.getCorrectorId() != null)zl.setCorrectorName(userService.selectNicknameByIds(zl.getCorrectorId().toString()));});
dpznglVo.setAqZgList(convert); dpznglVo.setAqZgList(convert);
} }
@ -234,8 +234,8 @@ public class DpzaglServiceImpl implements DpzaglService {
dpznglVo.setZxjcZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_ZXGL.getTypeValue().equals(zl.getInspectionType())).count()); dpznglVo.setZxjcZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_ZXGL.getTypeValue().equals(zl.getInspectionType())).count());
dpznglVo.setDqjcZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_DQJC.getTypeValue().equals(zl.getInspectionType())).count()); dpznglVo.setDqjcZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_DQJC.getTypeValue().equals(zl.getInspectionType())).count());
dpznglVo.setRcxjZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_RCXJ.getTypeValue().equals(zl.getInspectionType())).count()); dpznglVo.setRcxjZl(zsZl.stream().filter(zl -> DpEnum.ZLGLLX_RCXJ.getTypeValue().equals(zl.getInspectionType())).count());
dpznglVo.setZlZgsl(zsZl.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getVerificationType())).count()); dpznglVo.setZlZgsl(zsZl.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getInspectionStatus())).count());
List<QltQualityInspection> collect = zsZl.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getVerificationType())).collect(Collectors.toList()); List<QltQualityInspection> collect = zsZl.stream().filter(zl -> DpEnum.ZLGDZT_ZG.getTypeValue().equals(zl.getInspectionStatus())).collect(Collectors.toList());
List<QltQualityInspectionVo> convert = MapstructUtils.convert(collect, QltQualityInspectionVo.class); List<QltQualityInspectionVo> convert = MapstructUtils.convert(collect, QltQualityInspectionVo.class);
convert.forEach(zl ->{if (zl.getCorrectorId() != null)zl.setCorrectorName(userService.selectNicknameByIds(zl.getCorrectorId().toString()));}); convert.forEach(zl ->{if (zl.getCorrectorId() != null)zl.setCorrectorName(userService.selectNicknameByIds(zl.getCorrectorId().toString()));});
dpznglVo.setZlZgList(convert); dpznglVo.setZlZgList(convert);

View File

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

View File

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

View File

@ -1,6 +1,7 @@
package org.dromara.cailiaoshebei.controller; package org.dromara.cailiaoshebei.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -8,14 +9,12 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation; import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo; import org.dromara.cailiaoshebei.domain.bo.*;
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo; import org.dromara.cailiaoshebei.domain.vo.BusLtnVo;
import org.dromara.cailiaoshebei.domain.bo.FeedbackDto;
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo; 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.domain.vo.BusPurchaseDocVo;
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService; import org.dromara.cailiaoshebei.service.*;
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException; 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.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; 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.common.web.core.BaseController;
import org.dromara.design.domain.BusBillofquantities; import org.dromara.design.domain.BusBillofquantities;
import org.dromara.design.domain.BusBillofquantitiesVersions; import org.dromara.design.domain.BusBillofquantitiesVersions;
import org.dromara.design.service.IBusBillofquantitiesService; import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -64,6 +70,39 @@ public class BusPurchaseDocController extends BaseController {
private final IBusBillofquantitiesService busBillofquantitiesService; 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 主键 * @param id 主键
*/ */
@SaCheckPermission("cailiaoshebei:purchaseDoc:query") // @SaCheckPermission("cailiaoshebei:purchaseDoc:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<BusPurchaseDocVo> getInfo(@NotNull(message = "主键不能为空") public R<BusPurchaseDocVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
@ -114,7 +153,7 @@ public class BusPurchaseDocController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("cailiaoshebei:purchaseDoc:pdf") @SaCheckPermission("cailiaoshebei:purchaseDoc:list")
@GetMapping("/pdf/{id}") @GetMapping("/pdf/{id}")
public R<String> getPic(@NotNull(message = "主键不能为空") public R<String> getPic(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {

View File

@ -2,10 +2,14 @@ package org.dromara.cailiaoshebei.controller;
import java.util.List; import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.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.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -36,6 +40,16 @@ public class BusPurchaseUserController extends BaseController {
private final IBusPurchaseUserService busPurchaseUserService; 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 主键 * @param id 主键
*/ */
@SaCheckPermission("cailiaoshebei:purchaseUser:query") // @SaCheckPermission("cailiaoshebei:purchaseUser:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<BusPurchaseUserVo> getInfo(@NotNull(message = "主键不能为空") public R<BusPurchaseUserVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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) @Log(title = "物资采购人员", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/addOrUpdate") @PostMapping("/addOrUpdate")
@ -121,7 +135,7 @@ public class BusPurchaseUserController extends BaseController {
* *
* @param projectId 项目id * @param projectId 项目id
*/ */
@SaCheckPermission("cailiaoshebei:purchaseUser:byProject") @SaCheckPermission("cailiaoshebei:purchaseUser:list")
@GetMapping("/byProject/{projectId}") @GetMapping("/byProject/{projectId}")
public R<BusPurchaseUserVo> getInfoByProject(@NotNull(message = "主键不能为空") public R<BusPurchaseUserVo> getInfoByProject(@NotNull(message = "主键不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {

View File

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

View File

@ -3,6 +3,7 @@ package org.dromara.cailiaoshebei.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@ -30,7 +31,10 @@ import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService; import org.dromara.design.service.IBusBillofquantitiesVersionsService;
import org.dromara.tender.domain.bo.TenderSupplierInputBo; import org.dromara.tender.domain.bo.TenderSupplierInputBo;
import org.dromara.tender.domain.vo.TenderSupplierInputVo; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -63,7 +67,9 @@ public class BusPurchaseDocAppController extends BaseController {
private final IBusBillofquantitiesService busBillofquantitiesService; 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") @GetMapping("/supList")
public TableDataInfo<TenderSupplierInputVo> list(TenderSupplierInputBo bo, PageQuery pageQuery) { public TableDataInfo<XzdSupplierInfoVo> list(XzdSupplierInfoBo bo, PageQuery pageQuery) {
return tenderSupplierInputService.queryPageList(bo, 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.domain.vo.BusTenderPlanningLimitListVo;
import org.dromara.tender.service.IBusBiddingPlanService; import org.dromara.tender.service.IBusBiddingPlanService;
import org.dromara.tender.service.IBusBillofquantitiesLimitListService; 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.context.annotation.Lazy;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; 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) @Log(title = "分包考勤机用户", businessType = BusinessType.DELETE)
@RepeatSubmit() @RepeatSubmit()
@DeleteMapping() @DeleteMapping()

View File

@ -1,6 +1,7 @@
package org.dromara.contractor.controller; package org.dromara.contractor.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet; 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.SubConstructionUser;
import org.dromara.contractor.domain.SubConstructionUserFile; import org.dromara.contractor.domain.SubConstructionUserFile;
import org.dromara.contractor.domain.dto.constructionuser.*; 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.constructionuser.*;
import org.dromara.contractor.domain.vo.contractor.SubContractorVo;
import org.dromara.contractor.service.ISubConstructionUserFileService; import org.dromara.contractor.service.ISubConstructionUserFileService;
import org.dromara.contractor.service.ISubConstructionUserService; 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.project.BusProjectQueryReq;
import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq; import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq;
import org.dromara.project.domain.dto.projectteammember.BusProjectTeamMemberCreateReq; import org.dromara.project.domain.dto.projectteammember.BusProjectTeamMemberCreateReq;
@ -75,6 +79,8 @@ public class SubConstructionUserController extends BaseController {
private final IdCardEncryptorUtil idCardEncryptorUtil; private final IdCardEncryptorUtil idCardEncryptorUtil;
private final ISubConstructionUserFileService constructionUserFileService; private final ISubConstructionUserFileService constructionUserFileService;
private final ISubContractorService contractorService;
/** /**
* 查询施工人员列表 * 查询施工人员列表
*/ */
@ -84,6 +90,15 @@ public class SubConstructionUserController extends BaseController {
return constructionUserService.queryPageList(req, pageQuery); 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") @GetMapping("/list/attendance/total")
public TableDataInfo<SubConstructionUserAttendanceTotalVo> listAttendanceTotal(SubConstructionUserAttendanceQueryReq req, public TableDataInfo<SubConstructionUserAttendanceTotalVo> listAttendanceTotal(SubConstructionUserAttendanceQueryReq req,
PageQuery pageQuery) { PageQuery pageQuery) {
@ -232,7 +247,7 @@ public class SubConstructionUserController extends BaseController {
/** /**
* 施工人员迁移 * 施工人员迁移
*/ */
@SaCheckPermission("contractor:constructionUser:edit") @SaCheckPermission("contractor:constructionUser:change")
@Log(title = "施工人员", businessType = BusinessType.UPDATE) @Log(title = "施工人员", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping("/change/project") @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") @GetMapping("/projectList")
public TableDataInfo<BusProjectVo> list(BusProjectQueryReq req, PageQuery pageQuery) { public TableDataInfo<BusProjectVo> list(BusProjectQueryReq req, PageQuery pageQuery) {
return projectService.queryPageList(req, 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") @GetMapping("/teamList")
public TableDataInfo<BusProjectTeamVo> teamList(BusProjectTeamQueryReq req, PageQuery pageQuery) { public TableDataInfo<BusProjectTeamVo> teamList(BusProjectTeamQueryReq req, PageQuery pageQuery) {
return busProjectTeamService.queryPageList(req, 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() @RepeatSubmit()
@PostMapping("/addTeam") @PostMapping("/addTeam")
public R<Long> add(@Validated(AddGroup.class) @RequestBody BusProjectTeamMemberCreateReq req) { 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") @GetMapping("/list")
public R<List<SubConstructionUserFileVo>> list(SubConstructionUserFileQueryReq req) { public R<List<SubConstructionUserFileVo>> list(SubConstructionUserFileQueryReq req) {
return R.ok(constructionUserFileService.queryList(req)); return R.ok(constructionUserFileService.queryList(req));

View File

@ -1,6 +1,7 @@
package org.dromara.contractor.controller; package org.dromara.contractor.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; 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) @Log(title = "分包单位", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()

View File

@ -77,17 +77,19 @@ public class SubUserSalaryDetailController extends BaseController {
/** /**
* 工资计算与导出 * 工资计算与导出
*/ */
@SaCheckPermission("contractor:userSalaryDetail:salaryPageList")
@GetMapping("/salaryPageList") @GetMapping("/salaryPageList")
public TableDataInfo<SubConstructionUserSalaryVo> salaryPageList( SubConstructionUserSalaryDto dto, PageQuery pageQuery) { public TableDataInfo<SubConstructionUserSalaryVo> salaryPageList( SubConstructionUserSalaryDto dto, PageQuery pageQuery) {
return subUserSalaryDetailService.salaryPageList(dto, pageQuery); return subUserSalaryDetailService.salaryPageList(dto, pageQuery);
} }
@SaCheckPermission("contractor:userSalaryDetail:export")
@GetMapping("/export") @GetMapping("/export")
public void export(HttpServletResponse response, SubConstructionUserSalaryDto dto) throws IOException { public void export(HttpServletResponse response, SubConstructionUserSalaryDto dto) throws IOException {
subUserSalaryDetailService.export(response, dto); subUserSalaryDetailService.export(response, dto);
} }
@SaCheckPermission("contractor:userSalaryDetail:import")
@PutMapping("/import") @PutMapping("/import")
@RepeatSubmit(interval = 1, timeUnit = TimeUnit.MINUTES,message = "正在导入,请勿重复提交") @RepeatSubmit(interval = 1, timeUnit = TimeUnit.MINUTES,message = "正在导入,请勿重复提交")
public R<Boolean> importData(@RequestParam("file") MultipartFile file) { 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.domain.SysUser;
import org.dromara.system.service.ISysUserService; import org.dromara.system.service.ISysUserService;
import org.dromara.tender.domain.TenderSupplierInput; 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.beans.BeanUtils;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -56,8 +58,10 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
@Resource @Resource
private IBusProjectService projectService; private IBusProjectService projectService;
// @Resource
// private ITenderSupplierInputService supplierInputService;
@Resource @Resource
private ITenderSupplierInputService supplierInputService; private IXzdSupplierInfoService supplierInfoService;
@Resource @Resource
@Lazy @Lazy
@ -195,7 +199,7 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
if (StringUtils.isNotBlank(custodianPhone) && !PhoneUtil.isPhone(custodianPhone)) { if (StringUtils.isNotBlank(custodianPhone) && !PhoneUtil.isPhone(custodianPhone)) {
throw new ServiceException("管理人手机号格式不正确", HttpStatus.BAD_REQUEST); 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); throw new ServiceException("供应商不存在", HttpStatus.NOT_FOUND);
} }
} }
@ -253,9 +257,9 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
// 关联供应商名称 // 关联供应商名称
Long supplierId = contractor.getSupplierId(); Long supplierId = contractor.getSupplierId();
if (supplierId != null) { if (supplierId != null) {
TenderSupplierInput supplierInput = supplierInputService.getById(supplierId); XzdSupplierInfo supplierInfo = supplierInfoService.getById(supplierId);
if (supplierInput != null) { if (supplierInfo != null) {
contractorVo.setSupplierName(supplierInput.getSupplierName()); contractorVo.setSupplierName(supplierInfo.getUnitName());
} }
} }
return contractorVo; 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") @GetMapping("/listNoPage")
public R<List<BusContactformtemplateVo>> listNoPage(BusContactformtemplateBo bo) { public R<List<BusContactformtemplateVo>> listNoPage(BusContactformtemplateBo bo) {
return R.ok(busContactformtemplateService.queryList(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) @Log(title = "联系单", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()

View File

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

View File

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

View File

@ -98,7 +98,7 @@ public class BusDrawingreviewReceiptsController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("design:drawingreviewReceipts:query") // @SaCheckPermission("design:drawingreviewReceipts:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<BusDrawingreviewReceiptsVo> getInfo(@NotNull(message = "主键不能为空") public R<BusDrawingreviewReceiptsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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) @Log(title = "设计-图纸评审验证", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -163,6 +163,8 @@ public class BusDrawingreviewReceiptsController extends BaseController {
private static final String TEMPLATE_PATH = "template/设计验证表.docx"; private static final String TEMPLATE_PATH = "template/设计验证表.docx";
@PostMapping("/downloadWord") @PostMapping("/downloadWord")
public void generateDesignLeaderDoc(Long id, HttpServletResponse response) { public void generateDesignLeaderDoc(Long id, HttpServletResponse response) {
OutputStream outputStream = null; 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.dto.desCollect.DesCollectBatchDto;
import org.dromara.design.domain.vo.DesCollectCatalogueVo; import org.dromara.design.domain.vo.DesCollectCatalogueVo;
//import org.dromara.design.handler.UserDropdownSheetWriteHandler; //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.dromara.tender.domain.bo.BusBillofquantitiesLimitListBo;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -46,6 +49,7 @@ import org.springframework.web.multipart.MultipartFile;
public class DesCollectController extends BaseController { public class DesCollectController extends BaseController {
private final IDesCollectService desCollectService; private final IDesCollectService desCollectService;
private final ISysUserService userService;
/** /**
* 查询收资清单列表 * 查询收资清单列表
@ -56,6 +60,13 @@ public class DesCollectController extends BaseController {
return desCollectService.queryPageList(bo, pageQuery); 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 * @param projectId 项目ID
*/ */
@SaCheckPermission("design:collect:byProjectId") @SaCheckPermission("design:collect:query")
@GetMapping("/byProjectId/{projectId}") @GetMapping("/byProjectId/{projectId}")
public R<DesCollectVo> getInfoByProjectId(@NotNull(message = "项目ID不能为空") public R<DesCollectVo> getInfoByProjectId(@NotNull(message = "项目ID不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {

View File

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

View File

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

View File

@ -97,7 +97,7 @@ public class DesDesignChangeController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("design:designChange:query") // @SaCheckPermission("design:designChange:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<DesDesignChangeVo> getInfo(@NotNull(message = "主键不能为空") public R<DesDesignChangeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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) @Log(title = "设计变更管理", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -143,7 +143,7 @@ public class DesDesignChangeController extends BaseController {
/** /**
* 查询选择卷册目录 * 查询选择卷册目录
*/ */
@SaCheckPermission("design:designChange:catalogList") // @SaCheckPermission("design:designChange:catalogList")
@GetMapping("/catalogList/{projectId}") @GetMapping("/catalogList/{projectId}")
public R<List<DesVolumeCatalogVo>> catalogList(@PathVariable("projectId") Long projectId) { public R<List<DesVolumeCatalogVo>> catalogList(@PathVariable("projectId") Long projectId) {
return R.ok(desVolumeCatalogService.catalogList(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}") @GetMapping("/blueprint/{volumeCatalogId}")
public R<List<DesVolumeFile>> blueprint(@PathVariable("volumeCatalogId") Long volumeCatalogId) { public R<List<DesVolumeFile>> blueprint(@PathVariable("volumeCatalogId") Long volumeCatalogId) {
List<DesVolumeFile> list = desVolumeFileService.list(Wrappers.lambdaQuery(DesVolumeFile.class) 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 java.util.List;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; 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.dto.desExtract.DesExtractBatchDto;
import org.dromara.design.domain.vo.DesCollectFileVo; import org.dromara.design.domain.vo.DesCollectFileVo;
import org.dromara.design.domain.vo.DesUserVo; 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.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.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -47,6 +58,10 @@ public class DesExtractController extends BaseController {
private final IDesExtractService desExtractService; private final IDesExtractService desExtractService;
private final IDesUserService deUserService; 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") @GetMapping("/userMajor")
public R<List<DesUserVo>> selectUserMajor(DesUserBo bo) { public R<List<DesUserVo>> selectUserMajor(DesUserBo bo) {
bo.setUserType("2"); bo.setUserType("2");
return R.ok( deUserService.queryList(bo)); 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); return desPrelimSchemeService.queryPageList(bo, pageQuery);
} }
/** // /**
* 导出设计初步方案列表 // * 导出设计初步方案列表
*/ // */
@SaCheckPermission("design:prelimScheme:export") // @SaCheckPermission("design:prelimScheme:export")
@Log(title = "设计初步方案", businessType = BusinessType.EXPORT) // @Log(title = "设计初步方案", businessType = BusinessType.EXPORT)
@PostMapping("/export") // @PostMapping("/export")
public void export(DesPrelimSchemeBo bo, HttpServletResponse response) { // public void export(DesPrelimSchemeBo bo, HttpServletResponse response) {
List<DesPrelimSchemeVo> list = desPrelimSchemeService.queryList(bo); // List<DesPrelimSchemeVo> list = desPrelimSchemeService.queryList(bo);
ExcelUtil.exportExcel(list, "设计初步方案", DesPrelimSchemeVo.class, response); // ExcelUtil.exportExcel(list, "设计初步方案", DesPrelimSchemeVo.class, response);
} // }
/** /**
* 获取设计初步方案详细信息 * 获取设计初步方案详细信息
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("design:prelimScheme:query") // @SaCheckPermission("design:prelimScheme:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<DesPrelimSchemeVo> getInfo(@NotNull(message = "主键不能为空") public R<DesPrelimSchemeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(desPrelimSchemeService.queryById(id)); return R.ok(desPrelimSchemeService.queryById(id));
} }
/** // /**
* 新增设计初步方案 // * 新增设计初步方案
*/ // */
@SaCheckPermission("design:prelimScheme:add") // @SaCheckPermission("design:prelimScheme:add")
@Log(title = "设计初步方案", businessType = BusinessType.INSERT) // @Log(title = "设计初步方案", businessType = BusinessType.INSERT)
@RepeatSubmit() // @RepeatSubmit()
@PostMapping() // @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody DesPrelimSchemeBo bo) { // public R<Void> add(@Validated(AddGroup.class) @RequestBody DesPrelimSchemeBo bo) {
return toAjax(desPrelimSchemeService.insertByBo(bo)); // return toAjax(desPrelimSchemeService.insertByBo(bo));
} // }
/** // /**
* 修改设计初步方案 // * 修改设计初步方案
*/ // */
@SaCheckPermission("design:prelimScheme:edit") // @SaCheckPermission("design:prelimScheme:edit")
@Log(title = "设计初步方案", businessType = BusinessType.UPDATE) // @Log(title = "设计初步方案", businessType = BusinessType.UPDATE)
@RepeatSubmit() // @RepeatSubmit()
@PutMapping() // @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DesPrelimSchemeBo bo) { // public R<Void> edit(@Validated(EditGroup.class) @RequestBody DesPrelimSchemeBo bo) {
return toAjax(desPrelimSchemeService.updateByBo(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) @Log(title = "设计初步方案", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/upload") @PostMapping("/upload")
@ -121,7 +121,7 @@ public class DesPrelimSchemeController extends BaseController {
/** /**
* 修改设计方案文件 * 修改设计方案文件
*/ */
@SaCheckPermission("design:prelimScheme:update") @SaCheckPermission("design:prelimScheme:edit")
@Log(title = "设计初步方案", businessType = BusinessType.UPDATE) @Log(title = "设计初步方案", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/update/{id}") @PostMapping("/update/{id}")
@ -129,6 +129,8 @@ public class DesPrelimSchemeController extends BaseController {
return toAjax(desPrelimSchemeService.updateFile(file, projectId,id)); return toAjax(desPrelimSchemeService.updateFile(file, projectId,id));
} }
@SaCheckPermission("design:prelimScheme:export")
@Log(title = "设计初步方案", businessType = BusinessType.EXPORT)
@PostMapping("/exportZipWithStatus") @PostMapping("/exportZipWithStatus")
public void exportZipWithStatus(ExportDto dto, HttpServletResponse response) throws Exception { public void exportZipWithStatus(ExportDto dto, HttpServletResponse response) throws Exception {
desPrelimSchemeService.exportAsZipWithStatusPrefix(dto, response); desPrelimSchemeService.exportAsZipWithStatusPrefix(dto, response);

View File

@ -61,7 +61,7 @@ public class DesSubcontractController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("design:subcontract:query") // @SaCheckPermission("design:subcontract:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<DesSubcontractVo> getInfo(@NotNull(message = "主键不能为空") public R<DesSubcontractVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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.design.domain.dto.desUser.DesUserBatchDto;
import org.dromara.project.domain.BusProject; import org.dromara.project.domain.BusProject;
import org.dromara.project.service.IBusProjectService; 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.core.io.ClassPathResource;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -64,6 +67,7 @@ public class DesUserController extends BaseController {
private final IDesUserService desUserService; private final IDesUserService desUserService;
private final IBusProjectService projectService; private final IBusProjectService projectService;
private final ISysUserService userService;
/** /**
* 查询设计人员列表 * 查询设计人员列表
@ -74,6 +78,12 @@ public class DesUserController extends BaseController {
return desUserService.queryPageList(bo, pageQuery); 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"; private static final String TEMPLATE_PATH = "template/设计项目负责人任命通知单.docx";
@SaCheckPermission("design:user:downloadWord")
@PostMapping("/downloadWord") @PostMapping("/downloadWord")
public void generateDesignLeaderDoc( Long projectId, public void generateDesignLeaderDoc( Long projectId,
HttpServletResponse response HttpServletResponse response

View File

@ -87,7 +87,7 @@ public class DesVolumeCatalogController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("design:volumeCatalog:query") // @SaCheckPermission("design:volumeCatalog:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<DesVolumeCatalogVo> getInfo(@NotNull(message = "主键不能为空") public R<DesVolumeCatalogVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id, String type) { @PathVariable Long id, String type) {
@ -99,7 +99,7 @@ public class DesVolumeCatalogController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("design:volumeCatalog:listFile") // @SaCheckPermission("design:volumeCatalog:listFile")
@GetMapping("/listFileById/{id}") @GetMapping("/listFileById/{id}")
public R<List<DesVolumeFileVo>> listFileById(@NotNull(message = "主键不能为空") public R<List<DesVolumeFileVo>> listFileById(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
@ -233,7 +233,7 @@ public class DesVolumeCatalogController extends BaseController {
/** /**
* 查询设计人员列表 * 查询设计人员列表
*/ */
@SaCheckPermission("design:volumeCatalog:majorList") @SaCheckPermission("design:volumeCatalog:add")
@GetMapping("/majorList") @GetMapping("/majorList")
public R<List<DesUserVo>> list(DesUserBo bo) { public R<List<DesUserVo>> list(DesUserBo bo) {
@ -248,6 +248,13 @@ public class DesVolumeCatalogController extends BaseController {
return R.ok(uniqueMajors); 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 { public static List<ExcelData> readExcel(MultipartFile file) throws IOException {
List<ExcelData> dataList = new ArrayList<>(); List<ExcelData> dataList = new ArrayList<>();
@ -261,37 +268,13 @@ public class DesVolumeCatalogController extends BaseController {
Row row = sheet.getRow(rowIndex); Row row = sheet.getRow(rowIndex);
if (hasValidData(row)) { if (hasValidData(row)) {
String designSubitem = getCellValue(row.getCell(0)); String designSubitem = getCellValue(row.getCell(0));
if (designSubitem == null || designSubitem.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:子项名称不能为空");
}
String specialty = getCellValue(row.getCell(1)); String specialty = getCellValue(row.getCell(1));
if (specialty == null || specialty.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:专业不能为空");
}
String specialtyId = getCellValue(row.getCell(2)); String specialtyId = getCellValue(row.getCell(2));
if (specialtyId == null || specialtyId.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:专业"+specialty+"不存在,推荐使用系统下载模板进行数据填充");
}
String principal = getCellValue(row.getCell(3)); String principal = getCellValue(row.getCell(3));
if (principal == null || principal.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:人员不能为空");
}
String principalId = getCellValue(row.getCell(4)); String principalId = getCellValue(row.getCell(4));
if (principalId == null || principalId.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:人员"+principal+"不存在,推荐使用系统下载模板进行数据填充");
}
String volumeNumber = getCellValue(row.getCell(5)); String volumeNumber = getCellValue(row.getCell(5));
if (volumeNumber == null || volumeNumber.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:卷册编号不能为空");
}
String documentName = getCellValue(row.getCell(6)); String documentName = getCellValue(row.getCell(6));
if (documentName == null || documentName.isEmpty()){
throw new RuntimeException(""+(rowIndex+1)+"行:资料名称不能为空");
}
LocalDate plannedCompletion = getLocalDateValue(row.getCell(7)); LocalDate plannedCompletion = getLocalDateValue(row.getCell(7));
if (plannedCompletion == null){
throw new RuntimeException(""+(rowIndex+1)+"行:计划出图时间不能为空");
}
ExcelData excelData = new ExcelData( ExcelData excelData = new ExcelData(
designSubitem, specialtyId, principalId, volumeNumber, documentName, designSubitem, specialtyId, principalId, volumeNumber, documentName,

View File

@ -96,7 +96,7 @@ public class DesVolumeFileController extends BaseController {
} }
@SaCheckPermission("design:volumeFile:joinList")
@GetMapping("/joinList") @GetMapping("/joinList")
public TableDataInfo<DesVolumeFileJoinVo> joinList(DesVolumeFileBo bo, PageQuery pageQuery) { public TableDataInfo<DesVolumeFileJoinVo> joinList(DesVolumeFileBo bo, PageQuery pageQuery) {
return desVolumeFileService.queryJoinPageList(bo, 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) @Log(title = "卷册文件查阅人", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()

View File

@ -9,8 +9,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/** /**
* 工程量清单业务对象 bus_billofquantities * 工程量清单业务对象 bus_billofquantities
* *
@ -37,7 +35,7 @@ public class BusBillofquantitiesBo extends BaseEntity {
/** /**
* 表名 * 表名
*/ */
// @NotBlank(message = "表名不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "表名不能为空", groups = { AddGroup.class, EditGroup.class })
private String sheet; private String sheet;
@ -74,7 +72,7 @@ public class BusBillofquantitiesBo extends BaseEntity {
/** /**
* 数量 * 数量
*/ */
private BigDecimal quantity; private Long quantity;
/** /**
* 备注 * 备注

View File

@ -10,7 +10,6 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -85,7 +84,7 @@ public class BusBillofquantitiesVo implements Serializable {
* 数量 * 数量
*/ */
@ExcelProperty(value = "数量") @ExcelProperty(value = "数量")
private BigDecimal quantity; private Long quantity;
/** /**
* 备注 * 备注

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.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.bidding.domain.BusBiddingLimitList; 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.mapper.BusBillofquantitiesVersionsMapper;
import org.dromara.design.service.IBusBillofquantitiesService; import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService; 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.domain.vo.SysOssUploadVo;
import org.dromara.system.service.ISysDeptService;
import org.dromara.system.service.ISysOssService; import org.dromara.system.service.ISysOssService;
import org.dromara.tender.domain.BusBLimitListVersions; import org.dromara.tender.domain.BusBLimitListVersions;
import org.dromara.tender.domain.BusBillofquantitiesLimitList; 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.IBusBLimitListVersionsService;
import org.dromara.tender.service.IBusBillofquantitiesLimitListService; 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.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -73,9 +89,20 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
private final IBusBiddingLimitListService busBiddingLimitListService; private final IBusBiddingLimitListService busBiddingLimitListService;
private final IBusBLimitListVersionsService busBLimitListVersionsService; private final IBusBLimitListVersionsService busBLimitListVersionsService;
private final IBusBiddingLimitVersionsService busBiddingLimitVersions; private final IBusBiddingLimitVersionsService busBiddingLimitVersions;
private final IXzdCbysZjhcbService xzdCbysZjhcbService;
private final IXzdCbysJdcbfjService xzdCbysJdcbfjService;
@Lazy
@Resource
private IBusProjectService busProjectService;
@Lazy
@Resource
private IXzdProjectService xzdProjectService;
@Autowired @Autowired
private ISysOssService ossService; private ISysOssService ossService;
@Lazy
@Resource
private IBusProjectDeptService projectDeptService;
/** /**
* 查询工程量清单版本 * 查询工程量清单版本
@ -633,6 +660,32 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
if (!b) { if (!b) {
log.info("新增失败"); 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) { if (!b) {
log.info("新增失败"); 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) { if (!b) {
log.info("新增失败"); 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()) { if (list != null && !list.isEmpty()) {
long count = 0; long count = 0;
for (DesVolumeFile file : list) { for (DesVolumeFile file : list) {
if (BusinessStatusEnum.DRAFT.getStatus().equals(file.getAuditStatus())) { if (BusinessStatusEnum.DRAFT.getStatus().equals(file.getAuditStatus()) && !DesVolumeFile.WASTE.equals(file.getType())) {
count++; count++;
} }
} }
@ -529,8 +529,8 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl<DesVolumeCatalogMap
// 主 Sheet 设置表头 // 主 Sheet 设置表头
Row sheetRow = mainSheet.createRow(0); Row sheetRow = mainSheet.createRow(0);
String[] headers = {"*子项名称", "*专业", "*专业编码", String[] headers = {"子项名称", "专业", "专业编码",
"*人员", "*人员编码", "*卷册号", "*资料名称", "*计划出图时间"}; "人员", "人员编码", "卷册号", "资料名称", "计划出图时间"};
for (int i = 0; i < headers.length; i++) { for (int i = 0; i < headers.length; i++) {
Cell cell = sheetRow.createCell(i); Cell cell = sheetRow.createCell(i);
cell.setCellValue(headers[i]); cell.setCellValue(headers[i]);

View File

@ -2,12 +2,16 @@ package org.dromara.formalities.controller;
import java.util.List; import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.formalities.domain.bo.BusFormalitiesAnnexBo;
import org.dromara.formalities.domain.bo.BusListOfFormalitiesBo; 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.domain.vo.BusListOfFormalitiesVo;
import org.dromara.formalities.service.IBusFormalitiesAnnexService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -39,6 +43,7 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
private final IBusFormalitiesAreConsolidatedService busFormalitiesAreConsolidatedService; 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") @GetMapping("/getTree")
public R<List<BusListOfFormalitiesVo>> getTree(BusFormalitiesAreConsolidatedBo bo) { public R<List<BusListOfFormalitiesVo>> getTree(BusFormalitiesAreConsolidatedBo bo) {
List<BusListOfFormalitiesVo> vo = busFormalitiesAreConsolidatedService.getFormalitieTree(bo); List<BusListOfFormalitiesVo> vo = busFormalitiesAreConsolidatedService.getFormalitieTree(bo);
return R.ok(vo); return R.ok(vo);
} }
@SaCheckPermission("formalities:formalitiesAreConsolidated:getWhetherItExists") // @SaCheckPermission("formalities:formalitiesAreConsolidated:getWhetherItExists")
@SaCheckPermission("formalities:formalitiesAreConsolidated:list")
@GetMapping("/getWhetherItExists") @GetMapping("/getWhetherItExists")
public R<Boolean> getWhetherItExists(BusFormalitiesAreConsolidatedBo bo) { public R<Boolean> getWhetherItExists(BusFormalitiesAreConsolidatedBo bo) {
return R.ok(busFormalitiesAreConsolidatedService.getWhetherItExists(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) @Log(title = "合规性手续合账", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/addFormalities") @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) @Log(title = "合规性手续合账", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping("/editStatus") @PutMapping("/editStatus")
@ -151,4 +160,46 @@ public class BusFormalitiesAreConsolidatedController extends BaseController {
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(busFormalitiesAreConsolidatedService.deleteWithValidByIds(List.of(ids), true)); 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); // return busListOfFormalitiesService.queryPageList(bo, pageQuery);
// } // }
/** /**
* 查询手续办理清单模板列表 * project:project:listSubMatrix
*/ */
@SaCheckPermission("formalities:listOfFormalities:list") @SaCheckPermission("formalities:listOfFormalities:list")
@GetMapping("/list") @GetMapping("/list")

View File

@ -4,6 +4,7 @@ import java.time.LocalDate;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource; 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.contractor.service.ISubConstructionUserService;
import org.dromara.gps.domain.bo.GpsEquipmentSonBo; import org.dromara.gps.domain.bo.GpsEquipmentSonBo;
import org.dromara.gps.domain.vo.*; import org.dromara.gps.domain.vo.*;
import org.dromara.gps.service.IGpsEquipmentSonService;
import org.dromara.project.service.IBusProjectService; import org.dromara.project.service.IBusProjectService;
import org.dromara.system.domain.SysUser; import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.domain.vo.SysUserVo;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -59,6 +62,22 @@ public class GpsEquipmentController extends BaseController {
private final IBusProjectService projectService; 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 * @param jsonData
@ -108,7 +127,8 @@ public class GpsEquipmentController extends BaseController {
/** /**
* 查询GPS设备用户列表 * 查询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") @GetMapping("/getUserList")
public R<List<GpsUserVo>> getUserList(GpsEquipmentBo bo) { public R<List<GpsUserVo>> getUserList(GpsEquipmentBo bo) {
return R.ok(gpsEquipmentService.getUserList(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") @GetMapping("/getProjectList")
public R<List<GpsProjectVo>> getProjectList() { public R<List<GpsProjectVo>> getProjectList() {
return R.ok(gpsEquipmentService.getProjectList()); return R.ok(gpsEquipmentService.getProjectList());
@ -173,7 +194,8 @@ public class GpsEquipmentController extends BaseController {
/** /**
* GPS人机关联绑定 * GPS人机关联绑定
*/ */
@SaCheckPermission("gps:equipment:bindManmachine") // @SaCheckPermission("gps:equipment:bindManmachine")
@SaCheckPermission("gps:equipment:edit")
@Log(title = "GPS设备详细", businessType = BusinessType.UPDATE) @Log(title = "GPS设备详细", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/bindManmachine") @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") @GetMapping("/userList")
public R<List<ConstructionUser>> list(SubConstructionUserQueryReq req) { public R<List<ConstructionUser>> list(SubConstructionUserQueryReq req) {
List<SubConstructionUser> list = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery() List<SubConstructionUser> list = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery()
@ -201,7 +224,8 @@ public class GpsEquipmentController extends BaseController {
/** /**
* GPS人机关联解绑 * GPS人机关联解绑
*/ */
@SaCheckPermission("gps:equipment:unbindManmachine") // @SaCheckPermission("gps:equipment:unbindManmachine")
@SaCheckPermission("gps:equipment:edit")
@Log(title = "GPS设备详细", businessType = BusinessType.UPDATE) @Log(title = "GPS设备详细", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/unbindManmachine") @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}") @PostMapping("/upload/{projectId}")
public R<Boolean> upload(MultipartFile file, @NotNull(message = "所属项目不明确") public R<Boolean> upload(MultipartFile file, @NotNull(message = "所属项目不明确")
@PathVariable Long projectId) { @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.BusLandBlock;
import org.dromara.land.domain.bo.BusLandBlockBo; import org.dromara.land.domain.bo.BusLandBlockBo;
import org.dromara.land.domain.bo.BusLandBlockImportBo; 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.domain.vo.BusLandBlockVo;
import org.dromara.land.service.IBusLandBlockService; import org.dromara.land.service.IBusLandBlockService;
import org.dromara.land.service.IBusLandBlockUnitProjectService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -50,6 +52,8 @@ public class BusLandBlockController extends BaseController {
private final IBusLandBlockService busLandBlockService; private final IBusLandBlockService busLandBlockService;
private final IBusLandBlockUnitProjectService busLandBlockUnitProjectService;
/** /**
* 查询地块信息列表 * 查询地块信息列表
*/ */
@ -82,6 +86,16 @@ public class BusLandBlockController extends BaseController {
return R.ok(busLandBlockService.queryById(id)); 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)); return toAjax(busLandBlockService.deleteWithValidByIds(List.of(ids), true));
} }
@SaCheckPermission("land:landBlock:upload") // @SaCheckPermission("land:landBlock:upload")
@SaCheckPermission("land:landBlock:edit")
@PostMapping("/upload/{projectId}") @PostMapping("/upload/{projectId}")
public R<Boolean> upload(MultipartFile file, @NotNull(message = "所属项目不明确") public R<Boolean> upload(MultipartFile file, @NotNull(message = "所属项目不明确")
@PathVariable Long projectId) { @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.BusLandTransferLedger;
import org.dromara.land.domain.BusLandTransferLedgerSon; import org.dromara.land.domain.BusLandTransferLedgerSon;
import org.dromara.land.domain.bo.BusLandTransferLedgerBo; 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.BusLandTransferLedgerCountVo;
import org.dromara.land.domain.vo.BusLandTransferLedgerVo; import org.dromara.land.domain.vo.BusLandTransferLedgerVo;
import org.dromara.land.service.IBusLandTransferLedgerService; import org.dromara.land.service.IBusLandTransferLedgerService;
import org.dromara.land.service.impl.BusLandTransferLedgerSonServiceImpl; import org.dromara.land.service.impl.BusLandTransferLedgerSonServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -48,6 +50,41 @@ public class BusLandTransferLedgerController extends BaseController {
@Autowired @Autowired
private BusLandTransferLedgerSonServiceImpl busLandTransferLedgerSonService; 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") @GetMapping("/listUnit")
public TableDataInfo<BusLandTransferLedgerVo> listUnit(BusLandTransferLedgerBo bo, PageQuery pageQuery) { public TableDataInfo<BusLandTransferLedgerVo> listUnit(BusLandTransferLedgerBo bo, PageQuery pageQuery) {
return busLandTransferLedgerService.queryUnitPageList(bo, 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}") @GetMapping("/count/{projectId}")
public R<BusLandTransferLedgerCountVo> count(@NotNull(message = "项目不能为空") public R<BusLandTransferLedgerCountVo> count(@NotNull(message = "项目不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {
@ -135,7 +172,7 @@ public class BusLandTransferLedgerController extends BaseController {
/** /**
* 获取主页面三项主数据 * 获取主页面三项主数据
*/ */
@SaCheckPermission("land:landTransferLedger:allCountValue") @SaCheckPermission("land:landTransferLedger:list")
@GetMapping("/allCountValue/{projectId}") @GetMapping("/allCountValue/{projectId}")
R<Map<String,Object> > allCountValue(@PathVariable Long projectId){ R<Map<String,Object> > allCountValue(@PathVariable Long projectId){
LambdaQueryWrapper<BusLandTransferLedger> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BusLandTransferLedger> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@ -1,6 +1,7 @@
package org.dromara.materials.controller; package org.dromara.materials.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; 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.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; 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.MatMaterialIssueCreateReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueQueryReq;
import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq; import org.dromara.materials.domain.dto.materialissue.MatMaterialIssueUpdateReq;
import org.dromara.materials.domain.vo.materialissue.MatMaterialIssueVo; 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.domain.vo.materialsinventory.MatMaterialsInventoryListVo;
import org.dromara.materials.service.IMatMaterialIssueService; import org.dromara.materials.service.IMatMaterialIssueService;
import org.dromara.materials.service.IMatMaterialsService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -36,6 +42,32 @@ public class MatMaterialIssueController extends BaseController {
@Resource @Resource
private IMatMaterialIssueService matMaterialIssueService; 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 主键 * @param id 主键
*/ */
@SaCheckPermission("materials:materialIssue:query") // @SaCheckPermission("materials:materialIssue:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<MatMaterialIssueVo> getInfo(@NotNull(message = "主键不能为空") public R<MatMaterialIssueVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {

View File

@ -1,10 +1,21 @@
package org.dromara.materials.controller; package org.dromara.materials.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; 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.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; 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.core.domain.R;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; 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.bo.CtrExpensesContractBo;
import org.dromara.ctr.domain.vo.CtrExpensesContractVo; import org.dromara.ctr.domain.vo.CtrExpensesContractVo;
import org.dromara.ctr.service.ICtrExpensesContractService; 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.MatMaterialReceiveCreateReq;
import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveQueryReq; import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveQueryReq;
import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveUpdateReq; 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.domain.vo.materialreceive.MatMaterialReceiveVo;
import org.dromara.materials.service.IMatMaterialReceiveService; import org.dromara.materials.service.IMatMaterialReceiveService;
import org.dromara.materials.service.IMatWarehouseService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List; 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; private IMatMaterialReceiveService matMaterialReceiveService;
@Resource @Resource
private ICtrExpensesContractService ctrExpensesContractService; 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 主键 * @param id 主键
*/ */
@SaCheckPermission("materials:materialReceive:query") // @SaCheckPermission("materials:materialReceive:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<MatMaterialReceiveVo> getInfo(@NotNull(message = "主键不能为空") public R<MatMaterialReceiveVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
@ -112,7 +188,7 @@ public class MatMaterialReceiveController extends BaseController {
/** /**
* 支出合同列表 * 支出合同列表
*/ */
@SaCheckPermission("materials:materialReceive:ctrList") @SaCheckPermission("materials:materialReceive:list")
@GetMapping("/ctrList") @GetMapping("/ctrList")
public TableDataInfo<CtrExpensesContractVo> list(CtrExpensesContractBo bo, PageQuery pageQuery) { public TableDataInfo<CtrExpensesContractVo> list(CtrExpensesContractBo bo, PageQuery pageQuery) {
return ctrExpensesContractService.queryPageList(bo, 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") @GetMapping("/listUseDetail")
public TableDataInfo<MatMaterialsUseDetailVo> listUseDetail(MatMaterialsQueryReq req, PageQuery pageQuery) { public TableDataInfo<MatMaterialsUseDetailVo> listUseDetail(MatMaterialsQueryReq req, PageQuery pageQuery) {
return materialsService.queryUseDetailList(req, 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.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; 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.MatMaterialsUseRecordCreateReq;
import org.dromara.materials.domain.dto.materialsuserecord.MatMaterialsUseRecordQueryReq; import org.dromara.materials.domain.dto.materialsuserecord.MatMaterialsUseRecordQueryReq;
import org.dromara.materials.domain.dto.materialsuserecord.MatMaterialsUseRecordUpdateReq; 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.domain.vo.materialsuserecord.MatMaterialsUseRecordVo;
import org.dromara.materials.service.IMatMaterialsInventoryService;
import org.dromara.materials.service.IMatMaterialsService;
import org.dromara.materials.service.IMatMaterialsUseRecordService; import org.dromara.materials.service.IMatMaterialsUseRecordService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -34,6 +43,31 @@ public class MatMaterialsUseRecordController extends BaseController {
@Resource @Resource
private IMatMaterialsUseRecordService matMaterialsUseRecordService; 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 主键 * @param id 主键
*/ */
@SaCheckPermission("materials:materialsUseRecord:query") // @SaCheckPermission("materials:materialsUseRecord:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<MatMaterialsUseRecordVo> getInfo(@NotNull(message = "主键不能为空") public R<MatMaterialsUseRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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.common.excel.convert.ExcelDictConvert;
import org.dromara.materials.domain.MatMaterials; import org.dromara.materials.domain.MatMaterials;
import org.dromara.tender.domain.vo.TenderSupplierInputVo; import org.dromara.tender.domain.vo.TenderSupplierInputVo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
@ -57,7 +58,8 @@ public class MatMaterialsVo implements Serializable {
* 公司信息 * 公司信息
*/ */
@ExcelProperty(value = "公司信息") @ExcelProperty(value = "公司信息")
private TenderSupplierInputVo companyVo; // private TenderSupplierInputVo companyVo;
private XzdSupplierInfoVo companyVo;
/** /**
* 项目id * 项目id

View File

@ -342,11 +342,7 @@ public class MatMaterialsInventoryServiceImpl extends ServiceImpl<MatMaterialsIn
.select(MatMaterials::getId) .select(MatMaterials::getId)
.like(MatMaterials::getMaterialsName, materialsName); .like(MatMaterials::getMaterialsName, materialsName);
List<Long> materialsIdList = materialsService.listObjs(materialsQueryWrapper, obj -> (Long) obj); List<Long> materialsIdList = materialsService.listObjs(materialsQueryWrapper, obj -> (Long) obj);
if (CollUtil.isNotEmpty(materialsIdList)){ lqw.in(MatMaterialsInventory::getMaterialsId, materialsIdList);
lqw.in(MatMaterialsInventory::getMaterialsId, materialsIdList);
}else {
lqw.eq(MatMaterialsInventory::getMaterialsId, -1);
}
} }
// 模糊查询 // 模糊查询
lqw.like(StringUtils.isNotBlank(operator), MatMaterialsInventory::getOperator, operator); lqw.like(StringUtils.isNotBlank(operator), MatMaterialsInventory::getOperator, operator);

View File

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

View File

@ -2,10 +2,14 @@ package org.dromara.mechanical.controller;
import java.util.List; import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.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.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -36,6 +40,15 @@ public class BusMechanicalrewritingController extends BaseController {
private final IBusMechanicalrewritingService busMechanicalrewritingService; 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 主键 * @param id 主键
*/ */
@SaCheckPermission("mechanical:mechanicaltype:query") // @SaCheckPermission("mechanical:mechanicaltype:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<BusMechanicaltypeVo> getInfo(@NotNull(message = "主键不能为空") public R<BusMechanicaltypeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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; private String abarbeitungName;
/** /**

View File

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

View File

@ -1,6 +1,7 @@
package org.dromara.other.controller; package org.dromara.other.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; 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") @GetMapping("/list/project")
public TableDataInfo<OthYs7DeviceVo> listByProject(Long projectId, PageQuery pageQuery) { public TableDataInfo<OthYs7DeviceVo> listByProject(Long projectId, PageQuery pageQuery) {
return othYs7DeviceService.queryPageListByProject(projectId, pageQuery); return othYs7DeviceService.queryPageListByProject(projectId, pageQuery);
@ -216,7 +218,8 @@ public class OthYs7DeviceController extends BaseController {
/** /**
* 获取 token * 获取 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") @GetMapping("/get/token")
public R<String> getToken() { public R<String> getToken() {
return R.ok("操作成功", ys7Manager.getToken()); return R.ok("操作成功", ys7Manager.getToken());

View File

@ -1,20 +1,29 @@
package org.dromara.other.controller; package org.dromara.other.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.domain.R; 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.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; 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.OthYs7DeviceImgCaptureReq;
import org.dromara.other.domain.dto.ys7deviceimg.OthYs7DeviceImgQueryReq; 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.domain.vo.ys7deviceimg.OthYs7DeviceImgVo;
import org.dromara.other.service.IOthDevicePresetService;
import org.dromara.other.service.IOthYs7DeviceImgService; import org.dromara.other.service.IOthYs7DeviceImgService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -35,6 +44,9 @@ public class OthYs7DeviceImgController extends BaseController {
@Resource @Resource
private IOthYs7DeviceImgService othYs7DeviceImgService; 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) @Log(title = "萤石摄像头图片", businessType = BusinessType.INSERT)
@PostMapping("/capture") @PostMapping("/capture")
public R<Void> capture(@RequestBody OthYs7DeviceImgCaptureReq req) { public R<Void> capture(@RequestBody OthYs7DeviceImgCaptureReq req) {
@ -90,4 +103,73 @@ public class OthYs7DeviceImgController extends BaseController {
return toAjax(othYs7DeviceImgService.deleteWithValidByIds(List.of(ids))); 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 主键 * @param id 主键
*/ */
@SaCheckPermission("out:constructionValue:query") // @SaCheckPermission("out:constructionValue:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<OutConstructionValueVo> getInfo(@NotNull(message = "主键不能为空") public R<OutConstructionValueVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
@ -83,7 +83,7 @@ public class OutConstructionValueController extends BaseController {
/** /**
* 获取所有施工产值 * 获取所有施工产值
*/ */
@SaCheckPermission("out:constructionValue:query") // @SaCheckPermission("out:constructionValue:query")
@GetMapping("/allValue") @GetMapping("/allValue")
public R<OutConstructionAllValueVo> getAllValue(OutConstructionValueBo bo) { public R<OutConstructionAllValueVo> getAllValue(OutConstructionValueBo bo) {
return R.ok(outConstructionValueService.getAllValue(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") @GetMapping("/allValue")
public R<OutConstructionAllValueRangeVo> getAllValue(OutConstructionValueRangeBo bo) { public R<OutConstructionAllValueRangeVo> getAllValue(OutConstructionValueRangeBo bo) {
return R.ok(outConstructionValueRangeService.getAllValue(bo)); return R.ok(outConstructionValueRangeService.getAllValue(bo));

View File

@ -2,6 +2,7 @@ package org.dromara.out.controller;
import java.util.List; import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; 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") @GetMapping("/list")
public TableDataInfo<OutMonthPlanAuditVo> list(OutMonthPlanAuditBo bo, PageQuery pageQuery) { public TableDataInfo<OutMonthPlanAuditVo> list(OutMonthPlanAuditBo bo, PageQuery pageQuery) {
return outMonthPlanAuditService.queryPageList(bo, pageQuery); return outMonthPlanAuditService.queryPageList(bo, pageQuery);
@ -61,7 +62,7 @@ public class OutMonthPlanAuditController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("out:monthPlanAudit:query") // @SaCheckPermission("out:monthPlanAudit:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<OutMonthPlanAuditVo> getInfo(@NotNull(message = "主键不能为空") public R<OutMonthPlanAuditVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,13 +1,14 @@
package org.dromara.patch.domain; package org.dromara.patch.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial; import java.io.Serial;
import java.util.Date;
/** /**
* 派单对象 pd_master * 派单对象 pd_master
@ -63,7 +64,12 @@ public class PdMaster extends BaseEntity {
/** /**
* 任务状态 * 任务状态
*/ */
private String taskStatus="0"; private String taskStatus = "0";
/**
* 文件 id
*/
private String fileIds;
/** /**
* 备注 * 备注

View File

@ -1,15 +1,14 @@
package org.dromara.patch.domain.bo; package org.dromara.patch.domain.bo;
import org.dromara.patch.domain.PdMaster;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.patch.domain.PdMaster;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/** /**
* 派单业务对象 pd_master * 派单业务对象 pd_master
@ -25,7 +24,7 @@ public class PdMasterBo extends BaseEntity {
/** /**
* 主键ID * 主键ID
*/ */
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) @NotNull(message = "主键ID不能为空", groups = {EditGroup.class})
private Long id; private Long id;
/** /**
@ -84,5 +83,9 @@ public class PdMasterBo extends BaseEntity {
*/ */
private String userName; private String userName;
/**
* 文件 id
*/
private String fileIds;
} }

View File

@ -1,21 +1,18 @@
package org.dromara.patch.domain.vo; package org.dromara.patch.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.patch.domain.PdMaster;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.patch.domain.PdMaster;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
* 派单视图对象 pd_master * 派单视图对象 pd_master
* *
@ -96,6 +93,16 @@ public class PdMasterVo implements Serializable {
@ExcelProperty(value = "子用户") @ExcelProperty(value = "子用户")
private String slaveName; private String slaveName;
/**
* 文件 id
*/
private String fileIds;
/**
* 文件名称
*/
@Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "fileIds")
private String fileNames;
/** /**
* 前端显示 * 前端显示

View File

@ -1,16 +1,16 @@
package org.dromara.patch.service; package org.dromara.patch.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.bigscreen.domain.vo.BusPdSjVo; import org.dromara.bigscreen.domain.vo.BusPdSjVo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.patch.domain.PdMaster;
import org.dromara.patch.domain.bo.PdMasterBo;
import org.dromara.patch.domain.bo.PdMasterProgressReq; import org.dromara.patch.domain.bo.PdMasterProgressReq;
import org.dromara.patch.domain.vo.PdMasterBymiAndQt; import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
import org.dromara.patch.domain.vo.PdMasterProgressVo; import org.dromara.patch.domain.vo.PdMasterProgressVo;
import org.dromara.patch.domain.vo.PdMasterVo; import org.dromara.patch.domain.vo.PdMasterVo;
import org.dromara.patch.domain.bo.PdMasterBo;
import org.dromara.patch.domain.PdMaster;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -20,8 +20,9 @@ import java.util.List;
* @author Lion Li * @author Lion Li
* @date 2025-08-19 * @date 2025-08-19
*/ */
public interface IPdMasterService extends IService<PdMaster>{ public interface IPdMasterService extends IService<PdMaster> {
List<PdMasterProgressVo> queryProgressList(Long masterId); List<PdMasterProgressVo> queryProgressList(Long masterId);
void validEntityBeforeSave(PdMaster entity); void validEntityBeforeSave(PdMaster entity);
// 新增进度 // 新增进度
@ -32,6 +33,7 @@ public interface IPdMasterService extends IService<PdMaster>{
// 删除进度 // 删除进度
Boolean removeProgress(Long id); Boolean removeProgress(Long id);
/** /**
* 查询派单 * 查询派单
* *
@ -94,7 +96,8 @@ public interface IPdMasterService extends IService<PdMaster>{
/** /**
* 查询派单列表 * 查询派单列表
* *
* @param projectId 项目 id
* @return 派单列表 * @return 派单列表
*/ */
BusPdSjVo queryPageListByDate(); BusPdSjVo queryPageListByDate(String projectId);
} }

View File

@ -1,35 +1,33 @@
package org.dromara.patch.service.impl; package org.dromara.patch.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import cn.hutool.core.collection.CollUtil;
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 org.dromara.bigscreen.domain.vo.BusPdSjVo; import org.dromara.bigscreen.domain.vo.BusPdSjVo;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.mybatis.core.page.TableDataInfo;
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.satoken.utils.LoginHelper;
import org.dromara.common.translation.annotation.Translation; import org.dromara.patch.domain.PdMaster;
import org.dromara.patch.domain.PdMasterSon; import org.dromara.patch.domain.PdMasterSon;
import org.dromara.patch.domain.PdMasterUser; import org.dromara.patch.domain.PdMasterUser;
import org.dromara.patch.domain.bo.PdMasterBo;
import org.dromara.patch.domain.bo.PdMasterProgressReq; import org.dromara.patch.domain.bo.PdMasterProgressReq;
import org.dromara.patch.domain.vo.PdMasterBymiAndQt; import org.dromara.patch.domain.vo.PdMasterBymiAndQt;
import org.dromara.patch.domain.vo.PdMasterProgressVo; import org.dromara.patch.domain.vo.PdMasterProgressVo;
import org.dromara.patch.enums.TaskStatusEnum;
import org.dromara.patch.service.IPdMasterSonService;
import org.dromara.patch.service.IPdMasterUserService;
import org.dromara.system.domain.SysUser;
import org.springframework.stereotype.Service;
import org.dromara.patch.domain.bo.PdMasterBo;
import org.dromara.patch.domain.vo.PdMasterVo; import org.dromara.patch.domain.vo.PdMasterVo;
import org.dromara.patch.domain.PdMaster; import org.dromara.patch.enums.TaskStatusEnum;
import org.dromara.patch.mapper.PdMasterMapper; import org.dromara.patch.mapper.PdMasterMapper;
import org.dromara.patch.service.IPdMasterService; import org.dromara.patch.service.IPdMasterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.dromara.patch.service.IPdMasterSonService;
import org.dromara.patch.service.IPdMasterUserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -86,7 +84,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
if (one == null) { if (one == null) {
throw new RuntimeException("执行人未找到!"); throw new RuntimeException("执行人未找到!");
} }
if (!Objects.equals(userId, one.getSlaveid())){ if (!Objects.equals(userId, one.getSlaveid())) {
throw new RuntimeException("执行人不匹配!"); throw new RuntimeException("执行人不匹配!");
} }
if (progress.getOrdersId() == null) { if (progress.getOrdersId() == null) {
@ -105,7 +103,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
bigDecimal = bigDecimal.add(new BigDecimal(masterSon.getProgress())); bigDecimal = bigDecimal.add(new BigDecimal(masterSon.getProgress()));
} }
//bigDecimal是否为100,100变更数据状态 //bigDecimal是否为100,100变更数据状态
if (bigDecimal.compareTo(new BigDecimal("100")) == 0){ if (bigDecimal.compareTo(new BigDecimal("100")) == 0) {
//更新主表状态 //更新主表状态
PdMaster pdMaster = baseMapper.selectById(progress.getOrdersId()); PdMaster pdMaster = baseMapper.selectById(progress.getOrdersId());
pdMaster.setTaskStatus(TaskStatusEnum.FINISHED.getValue()); pdMaster.setTaskStatus(TaskStatusEnum.FINISHED.getValue());
@ -116,6 +114,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
} }
return false; return false;
} }
@Override @Override
public Boolean editProgress(PdMasterProgressVo progress) { public Boolean editProgress(PdMasterProgressVo progress) {
if (progress.getOrdersId() == null) { if (progress.getOrdersId() == null) {
@ -158,8 +157,10 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
baseMapper.updateById(master); baseMapper.updateById(master);
} }
} }
/** /**
* 根据主表ID查询进度详情列表 * 根据主表ID查询进度详情列表
*
* @param masterId 主表ID * @param masterId 主表ID
* @return 进度详情列表 * @return 进度详情列表
*/ */
@ -170,6 +171,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
} }
return baseMapper.selectProgressByMasterId(masterId); return baseMapper.selectProgressByMasterId(masterId);
} }
/** /**
* 查询派单 * 查询派单
* *
@ -177,7 +179,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
* @return 派单 * @return 派单
*/ */
@Override @Override
public PdMasterVo queryById(Long id){ public PdMasterVo queryById(Long id) {
//1、获取基础数据 //1、获取基础数据
PdMasterVo pdMasterVo = baseMapper.selectVoById(id); PdMasterVo pdMasterVo = baseMapper.selectVoById(id);
//2、查询下面的用户 //2、查询下面的用户
@ -209,7 +211,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
for (PdMasterSon pdMasterSon : list) { for (PdMasterSon pdMasterSon : list) {
bigDecimal = bigDecimal.add(new BigDecimal(pdMasterSon.getProgress())); bigDecimal = bigDecimal.add(new BigDecimal(pdMasterSon.getProgress()));
} }
item.setCompletionProgress(bigDecimal+"%"); item.setCompletionProgress(bigDecimal + "%");
//执行人 //执行人
PdMasterUser one1 = pdMasterUserService.getById(item.getId()); PdMasterUser one1 = pdMasterUserService.getById(item.getId());
item.setSlaveName(one1.getSlaveName()); item.setSlaveName(one1.getSlaveName());
@ -222,39 +224,53 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
PdMasterBymiAndQt res = new PdMasterBymiAndQt(); PdMasterBymiAndQt res = new PdMasterBymiAndQt();
// 获取登陆人 // 获取登陆人
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
Long projectId = bo.getProjectId();
//获取我派发的 //获取我派发的
List<PdMasterVo> pdMasters = baseMapper.selectVoList(new LambdaQueryWrapper<PdMaster>().eq(PdMaster::getCreateBy, userId)); List<PdMasterVo> pdMasters = baseMapper.selectVoList(new LambdaQueryWrapper<PdMaster>()
.eq(projectId != null && projectId != 0, PdMaster::getProjectId, projectId)
.eq(PdMaster::getCreateBy, userId));
pdMasters = pdJudge(bo.getTaskType(), pdMasters); pdMasters = pdJudge(bo.getTaskType(), pdMasters);
res.setWpd(pdMasters); res.setWpd(pdMasters);
// 获取其他部门派发给我的 // 获取其他部门派发给我的
List<PdMasterUser> pdMasterUsers = pdMasterUserService.getBaseMapper().selectList(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getSlaveid, userId)); List<PdMasterUser> pdMasterUsers = pdMasterUserService.getBaseMapper().selectList(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getSlaveid, userId));
if (pdMasterUsers != null && pdMasterUsers.size() > 0) { if (CollUtil.isNotEmpty(pdMasterUsers)) {
List<Long> collect = pdMasterUsers.stream().map(item ->item.getOrdersid()).collect((Collectors.toList())); List<Long> collect = pdMasterUsers.stream().map(PdMasterUser::getOrdersid).collect((Collectors.toList()));
List<PdMasterVo> pdMasterVos = baseMapper.selectVoByIds(collect); List<PdMasterVo> pdMasterVos = baseMapper.selectVoList(new LambdaQueryWrapper<PdMaster>()
.eq(projectId != null && projectId != 0, PdMaster::getProjectId, projectId)
.in(PdMaster::getId, collect));
pdMasterVos = pdJudge(bo.getTaskType(), pdMasterVos); pdMasterVos = pdJudge(bo.getTaskType(), pdMasterVos);
res.setQtbm(pdMasterVos); res.setQtbm(pdMasterVos);
} }
return res; return res;
} }
@Override @Override
public BusPdSjVo queryPageListByDate() { public BusPdSjVo queryPageListByDate(String projectId) {
BusPdSjVo res = new BusPdSjVo(); BusPdSjVo res = new BusPdSjVo();
// 获取登陆人 // 获取登陆人
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
//获取我派发的 //获取我派发的
Long l = baseMapper.selectCount(new LambdaQueryWrapper<PdMaster>().eq(PdMaster::getCreateBy, userId)); Long l = baseMapper.selectCount(new LambdaQueryWrapper<PdMaster>()
.eq(PdMaster::getCreateBy, userId)
.eq(StringUtils.isNotBlank(projectId) && !projectId.equals("0"), PdMaster::getProjectId, projectId));
//其他部门派发给我的 //其他部门派发给我的
Long count = pdMasterUserService.getBaseMapper().selectCount(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getSlaveid, userId)); List<PdMasterUser> pdMasterUsers = pdMasterUserService.getBaseMapper()
.selectList(new LambdaQueryWrapper<PdMasterUser>()
.eq(PdMasterUser::getSlaveid, userId));
Long l1 = 0L;
if (CollUtil.isNotEmpty(pdMasterUsers)) {
Set<Long> ids = pdMasterUsers.stream().map(PdMasterUser::getOrdersid).collect(Collectors.toSet());
l1 = baseMapper.selectCount(new LambdaQueryWrapper<PdMaster>()
.eq(StringUtils.isNotBlank(projectId) && !projectId.equals("0"), PdMaster::getProjectId, projectId)
.in(PdMaster::getId, ids));
}
res.setWdpdrw(l); res.setWdpdrw(l);
res.setQtbmpd(count); res.setQtbmpd(l1);
return res; return res;
} }
private List<PdMasterVo> pdJudge(Integer flow ,List<PdMasterVo> records) { private List<PdMasterVo> pdJudge(Integer flow, List<PdMasterVo> records) {
if (records == null || records.size() == 0) return records; if (records == null || records.size() == 0) return records;
//获取当前主数据下面的进度百分比 //获取当前主数据下面的进度百分比
@ -264,12 +280,12 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
for (PdMasterSon pdMasterSon : list) { for (PdMasterSon pdMasterSon : list) {
bigDecimal = bigDecimal.add(new BigDecimal(pdMasterSon.getProgress())); bigDecimal = bigDecimal.add(new BigDecimal(pdMasterSon.getProgress()));
} }
item.setCompletionProgress(bigDecimal+"%"); item.setCompletionProgress(bigDecimal + "%");
if (bigDecimal.compareTo(new BigDecimal("0")) == 0) { if (bigDecimal.compareTo(new BigDecimal("0")) == 0) {
item.setTapName("待处理"); item.setTapName("待处理");
}else if (bigDecimal.compareTo(new BigDecimal("100")) == 0) { } else if (bigDecimal.compareTo(new BigDecimal("100")) == 0) {
item.setTapName("已完成"); item.setTapName("已完成");
}else if (bigDecimal.compareTo(new BigDecimal("100")) < 0) { } else if (bigDecimal.compareTo(new BigDecimal("100")) < 0) {
item.setTapName("进行中"); item.setTapName("进行中");
} }
//执行人 //执行人
@ -286,17 +302,11 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
if (flow == 4) { if (flow == 4) {
return true; return true;
} else if (flow == 1) { } else if (flow == 1) {
if (item.getTapName().equals("进行中")) { return item.getTapName().equals("进行中");
return true;
}
} else if (flow == 2) { } else if (flow == 2) {
if (item.getTapName().equals("已完成")) { return item.getTapName().equals("已完成");
return true;
}
} else if (flow == 3) { } else if (flow == 3) {
if (item.getTapName().equals("待处理")) { return item.getTapName().equals("待处理");
return true;
}
} }
return false; return false;
@ -309,7 +319,6 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
} }
/** /**
* 查询符合条件的派单列表 * 查询符合条件的派单列表
* *
@ -371,7 +380,7 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
//1、修改数据 //1、修改数据
PdMaster update = MapstructUtils.convert(bo, PdMaster.class); PdMaster update = MapstructUtils.convert(bo, PdMaster.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
if (baseMapper.updateById(update) > 0){ if (baseMapper.updateById(update) > 0) {
//2、删除子用户 //2、删除子用户
pdMasterUserService.remove(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getOrdersid, bo.getId())); pdMasterUserService.remove(new LambdaQueryWrapper<PdMasterUser>().eq(PdMasterUser::getOrdersid, bo.getId()));
//3、新增子用户 //3、新增子用户
@ -399,12 +408,12 @@ public class PdMasterServiceImpl extends ServiceImpl<PdMasterMapper, PdMaster> i
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
pdMasterUserService.getBaseMapper().delete(new LambdaQueryWrapper<PdMasterUser>().in(PdMasterUser::getOrdersid, ids));
return baseMapper.deleteByIds(ids) > 0; 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.dto.constructionscheduleplan.*;
import org.dromara.progress.domain.vo.constructionscheduleplan.PgsConstructionSchedulePlanVo; import org.dromara.progress.domain.vo.constructionscheduleplan.PgsConstructionSchedulePlanVo;
import org.dromara.progress.service.IPgsConstructionSchedulePlanService; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -36,6 +38,21 @@ public class PgsConstructionSchedulePlanController extends BaseController {
@Resource @Resource
private IPgsConstructionSchedulePlanService pgsConstructionSchedulePlanService; 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导出施工进度计划模版 * 根据项目id导出施工进度计划模版
*/ */
@SaCheckPermission("progress:constructionSchedulePlan:exportTemplate") @SaCheckPermission("progress:constructionSchedulePlan:export")
@Log(title = "施工进度计划", businessType = BusinessType.EXPORT) @Log(title = "施工进度计划", businessType = BusinessType.EXPORT)
@PostMapping("/exportTemplate/{projectId}") @PostMapping("/exportTemplate/{projectId}")
public void exportExcelByProjectId(@NotNull(message = "项目id不能为空") 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) @Log(title = "施工进度计划", businessType = BusinessType.IMPORT)
@PostMapping("/readTemplate") @PostMapping("/readTemplate")
public R<Void> readExcel(@RequestParam("file") MultipartFile file, Long projectId) { 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) @Log(title = "施工进度计划", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping("/finish") @PutMapping("/finish")

View File

@ -49,7 +49,7 @@ public class PgsProgressCategoryController extends BaseController {
/** /**
* 根据进度父级查询进度类别列表 * 根据进度父级查询进度类别列表
*/ */
@SaCheckPermission("progress:progressCategory:listByParent") @SaCheckPermission("progress:progressCategory:list")
@GetMapping("/listByParent") @GetMapping("/listByParent")
public R<List<PgsProgressCategoryVo>> listByParent(PgsProgressCategoryQueryByParentReq req) { public R<List<PgsProgressCategoryVo>> listByParent(PgsProgressCategoryQueryByParentReq req) {
List<PgsProgressCategoryVo> list = pgsProgressCategoryService.queryListByParent(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") @GetMapping("/getValueByParentId")
public R<PgsProgressCategoryValueVo> getValueByParentId(PgsProgressCategoryQueryByParentReq req) { public R<PgsProgressCategoryValueVo> getValueByParentId(PgsProgressCategoryQueryByParentReq req) {
return R.ok(pgsProgressCategoryService.getValueByParentId(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}") @GetMapping("/listTopByProjectId/{projectId}")
public R<List<PgsProgressCategoryTopVo>> listTopByProjectId(@NotNull(message = "项目id不能为空") public R<List<PgsProgressCategoryTopVo>> listTopByProjectId(@NotNull(message = "项目id不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {
@ -168,7 +168,7 @@ public class PgsProgressCategoryController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("progress:progressCategory:coordinate") @SaCheckPermission("progress:progressCategory:list")
@GetMapping("/coordinate/{id}") @GetMapping("/coordinate/{id}")
public R<PgsProgressCategoryCoordinateVo> getCoordinate(@NotNull(message = "主键不能为空") public R<PgsProgressCategoryCoordinateVo> getCoordinate(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
@ -180,7 +180,7 @@ public class PgsProgressCategoryController extends BaseController {
* *
* @param projectId 项目主键 * @param projectId 项目主键
*/ */
@SaCheckPermission("progress:progressCategory:projectNumber") @SaCheckPermission("progress:progressCategory:query")
@GetMapping("/project/number/{projectId}") @GetMapping("/project/number/{projectId}")
public R<PgsProgressCategoryProjectVo> getProjectNumber(@NotNull(message = "项目主键不能为空") public R<PgsProgressCategoryProjectVo> getProjectNumber(@NotNull(message = "项目主键不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {
@ -192,7 +192,7 @@ public class PgsProgressCategoryController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("progress:progressCategory:lastTime") @SaCheckPermission("progress:progressCategory:add")
@GetMapping("/lastTime/{id}") @GetMapping("/lastTime/{id}")
public R<PgsProgressCategoryLastTimeVo> getLastTimeInfo(@NotNull(message = "主键不能为空") public R<PgsProgressCategoryLastTimeVo> getLastTimeInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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) @Log(title = "进度类别", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/price") @PostMapping("/price")
@ -247,7 +247,7 @@ public class PgsProgressCategoryController extends BaseController {
/** /**
* 批量新增设施进度类别 * 批量新增设施进度类别
*/ */
@SaCheckPermission("progress:progressCategory:add") @SaCheckPermission("progress:progressCategory:edit")
@Log(title = "进度类别", businessType = BusinessType.INSERT) @Log(title = "进度类别", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/batch/facility") @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.dto.progresscategorytemplate.PgsProgressCategoryTemplateUpdateReq;
import org.dromara.progress.domain.vo.progresscategorytemplate.PgsProgressCategoryTemplateVo; import org.dromara.progress.domain.vo.progresscategorytemplate.PgsProgressCategoryTemplateVo;
import org.dromara.progress.service.IPgsProgressCategoryTemplateService; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -38,10 +40,23 @@ public class PgsProgressCategoryTemplateController extends BaseController {
@Resource @Resource
private IPgsProgressCategoryTemplateService pgsProgressCategoryTemplateService; 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") @GetMapping("/page")
public TableDataInfo<PgsProgressCategoryTemplateVo> page(PgsProgressCategoryTemplateQueryReq req, PageQuery pageQuery) { public TableDataInfo<PgsProgressCategoryTemplateVo> page(PgsProgressCategoryTemplateQueryReq req, PageQuery pageQuery) {
return pgsProgressCategoryTemplateService.queryPageList(req, 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") @GetMapping("/listByParent")
public R<List<PgsProgressCategoryTemplateVo>> listByParent(PgsProgressCategoryTemplateQueryByParentReq req) { public R<List<PgsProgressCategoryTemplateVo>> listByParent(PgsProgressCategoryTemplateQueryByParentReq req) {
List<PgsProgressCategoryTemplateVo> list = pgsProgressCategoryTemplateService.queryListByParent(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}") @GetMapping("/listSystemTop/{projectId}")
public R<List<PgsProgressCategoryTemplateVo>> listSystemTop(@NotNull(message = "项目主键不能为空") public R<List<PgsProgressCategoryTemplateVo>> listSystemTop(@NotNull(message = "项目主键不能为空")
@PathVariable Long projectId) { @PathVariable Long projectId) {

View File

@ -39,7 +39,7 @@ public class PgsProgressPlanController extends BaseController {
/** /**
* 查询进度计划列表 * 查询进度计划列表
*/ */
@SaCheckPermission("progress:progressPlan:list") @SaCheckPermission("progress:progressCategory:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<PgsProgressPlanVo> list(PgsProgressPlanQueryReq req, PageQuery pageQuery) { public TableDataInfo<PgsProgressPlanVo> list(PgsProgressPlanQueryReq req, PageQuery pageQuery) {
return pgsProgressPlanService.queryPageList(req, 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) @Log(title = "进度计划", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(PgsProgressPlanQueryReq req, HttpServletResponse response) { public void export(PgsProgressPlanQueryReq req, HttpServletResponse response) {
@ -61,7 +61,7 @@ public class PgsProgressPlanController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("progress:progressPlan:query") @SaCheckPermission("progress:progressCategory:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<PgsProgressPlanVo> getInfo(@NotNull(message = "主键不能为空") public R<PgsProgressPlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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) @Log(title = "进度计划", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -84,7 +84,7 @@ public class PgsProgressPlanController extends BaseController {
* *
* @param ids 主键 * @param ids 主键
*/ */
@SaCheckPermission("progress:progressPlan:remove") @SaCheckPermission("progress:progressCategory:remove")
@Log(title = "进度计划", businessType = BusinessType.DELETE) @Log(title = "进度计划", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") 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") @GetMapping("/list")
public TableDataInfo<PgsProgressPlanDetailVo> list(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery) { public TableDataInfo<PgsProgressPlanDetailVo> list(PgsProgressPlanDetailQueryReq req, PageQuery pageQuery) {
return pgsProgressPlanDetailService.queryPageList(req, pageQuery); return pgsProgressPlanDetailService.queryPageList(req, pageQuery);
@ -42,7 +42,7 @@ public class PgsProgressPlanDetailController extends BaseController {
/** /**
* 新增进度计划详情(普通设施) * 新增进度计划详情(普通设施)
*/ */
@SaCheckPermission("progress:progressPlanDetail:insertDetail") @SaCheckPermission("progress:progressCategory:add")
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/insert/detail") @PostMapping("/insert/detail")
public R<Void> insertFinishedDetail(@Validated @RequestBody PgsProgressPlanDetailFinishedCreateReq req) { 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() @RepeatSubmit()
@PostMapping("/insert/percentage") @PostMapping("/insert/percentage")
public R<Void> insertPercentageDetail(@Validated @RequestBody PgsProgressPlanDetailCreateReq req) { public R<Void> insertPercentageDetail(@Validated @RequestBody PgsProgressPlanDetailCreateReq req) {
@ -72,7 +72,7 @@ public class PgsProgressPlanDetailController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("progress:progressPlanDetail:detailFinished") @SaCheckPermission("progress:progressCategory:query")
@GetMapping("/detail/finished/{id}") @GetMapping("/detail/finished/{id}")
public TableDataInfo<PgsProgressPlanDetailFinishedVo> getFinishedDetail(@NotNull(message = "主键不能为空") public TableDataInfo<PgsProgressPlanDetailFinishedVo> getFinishedDetail(@NotNull(message = "主键不能为空")
@PathVariable Long id, @PathVariable Long id,
@ -85,7 +85,7 @@ public class PgsProgressPlanDetailController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("progress:progressPlanDetail:detailUnFinish") @SaCheckPermission("progress:progressCategory:query")
@GetMapping("/detail/unFinish/{id}") @GetMapping("/detail/unFinish/{id}")
public TableDataInfo<PgsProgressPlanDetailUnFinishVo> getUnFinishDetail(@NotNull(message = "主键不能为空") public TableDataInfo<PgsProgressPlanDetailUnFinishVo> getUnFinishDetail(@NotNull(message = "主键不能为空")
@PathVariable Long id, @PathVariable Long id,
@ -96,7 +96,7 @@ public class PgsProgressPlanDetailController extends BaseController {
/** /**
* 删除进度计划详情 * 删除进度计划详情
*/ */
@SaCheckPermission("progress:progressPlanDetail:removeDetail") @SaCheckPermission("progress:progressCategory:remove")
@RepeatSubmit() @RepeatSubmit()
@DeleteMapping("/remove/detail") @DeleteMapping("/remove/detail")
public R<Void> removeDetail(@Validated PgsProgressPlanDetailRemoveReq req) { public R<Void> removeDetail(@Validated PgsProgressPlanDetailRemoveReq req) {

View File

@ -2682,9 +2682,6 @@ public class PgsProgressCategoryServiceImpl extends ServiceImpl<PgsProgressCateg
} }
} }
} }
if (listValues.isEmpty()){
throw new ServiceException("没有数据");
}
try { try {
ExcelUtil.exportMultiSheetExcelEnhanced(listValues, names, PgsProgressCategoryVo.class, null, response); ExcelUtil.exportMultiSheetExcelEnhanced(listValues, names, PgsProgressCategoryVo.class, null, response);
} catch (IOException e) { } catch (IOException e) {

View File

@ -203,9 +203,9 @@ public class PgsProgressCategoryTemplateServiceImpl extends ServiceImpl<PgsProgr
if (project == null) { if (project == null) {
throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND);
} }
if (entity.getConstructionType() == null) { // if (entity.getConstructionType() == null) {
entity.setConstructionType(project.getProjectType()); // entity.setConstructionType(project.getProjectType());
} // }
} }
if (parentId != 0) { if (parentId != 0) {
if (this.getById(parentId) == null) { if (this.getById(parentId) == null) {

View File

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

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller; package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@ -62,7 +63,7 @@ public class BusAttendanceMachineController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("project:attendanceMachine:query") @SaCheckPermission(value = {"project:attendanceMachine:query", "project:attendanceMachine:edit"}, mode = SaMode.OR)
@GetMapping("/{id}") @GetMapping("/{id}")
public R<BusAttendanceMachineVo> getInfo(@NotNull(message = "主键不能为空") public R<BusAttendanceMachineVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @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) @Log(title = "考勤机", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping("/contractor") @PutMapping("/contractor")
@ -96,7 +97,7 @@ public class BusAttendanceMachineController extends BaseController {
* *
* @param ids 主键串 * @param ids 主键串
*/ */
@SaCheckPermission("project:attendanceMachine:remove") @SaCheckPermission(value = {"project:attendanceMachine:remove", "contractor:attendanceMachine:remove"}, mode = SaMode.OR)
@Log(title = "考勤机", businessType = BusinessType.DELETE) @Log(title = "考勤机", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") 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() @RepeatSubmit()
@PostMapping("/reissue/{ids}") @PostMapping("/reissue/{ids}")
public R<Void> reissue(@NotEmpty(message = "主键不能为空") 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") @GetMapping("/list")
public R<List<BusAttendanceMachineUserVo>> list(BusAttendanceMachineUserQueryReq req) { public R<List<BusAttendanceMachineUserVo>> list(BusAttendanceMachineUserQueryReq req) {
return R.ok(busAttendanceMachineUserService.queryList(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) @Log(title = "班组考勤机用户", businessType = BusinessType.DELETE)
@RepeatSubmit() @RepeatSubmit()
@DeleteMapping() @DeleteMapping()

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller; package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; 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) @Log(title = "黑名单", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()

View File

@ -1,6 +1,7 @@
package org.dromara.project.controller; package org.dromara.project.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty; 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") @GetMapping("/list/project/contractorList")
public R<List<BusProjectContractorTeamListVo>> listProjectContractorList() { public R<List<BusProjectContractorTeamListVo>> listProjectContractorList() {
return R.ok(projectService.queryContractorTeamList()); return R.ok(projectService.queryContractorTeamList());

View File

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

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