产值及人员

This commit is contained in:
zt
2025-11-26 17:18:04 +08:00
parent 3ccd54a03b
commit 8f4a3e167a
21 changed files with 115 additions and 35 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -163,6 +163,7 @@ public class BusProjectTeamController extends BaseController {
/**
* 移除班组的管理
*/
@SaCheckPermission("project:projectTeam:getByUserId")
@PutMapping("/deleteUserId/{id}/{userId}")
public R<Boolean> deleteUserId(@PathVariable("id") Long id,@PathVariable("userId") Long userId){
return R.ok(busProjectTeamService.deleteUserId(id,userId));

View File

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

View File

@ -66,6 +66,11 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
*/
List<SysMenu> selectMenuTreeByUserId(Long userId, Long projectId);
/**
* 根据菜单Id递归查询
*/
List<SysMenu> selectMenuRecursive(@Param("menuId") Long menuId);
/**
* 根据角色ID查询菜单树信息
*

View File

@ -155,6 +155,11 @@ public class SysMenuServiceImpl implements ISysMenuService {
menus = baseMapper.selectMenuTreeAll();
} else {
menus = baseMapper.selectMenuTreeByUserId(userId, projectId);
//默认加上审核(1957390269665816577)和操作新中大(1989220837058502657)
List<SysMenu> sh = baseMapper.selectMenuRecursive(1957390269665816577L);
List<SysMenu> xzd = baseMapper.selectMenuRecursive(1989220837058502657L);
menus.addAll(sh);
menus.addAll(xzd);
}
return getChildPerms(menus, 0);
}

View File

@ -4,6 +4,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import cn.dev33.satoken.annotation.SaMode;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
@ -55,7 +56,10 @@ public class TenderSupplierInputController extends BaseController {
/**
* 查询供应商入库列表
*/
@SaCheckPermission("supplierInput:supplierInput:list")
@SaCheckPermission(value = {"supplierInput:supplierInput:list",
"contractor:contractor:add",
"contractor:contractor:edit"
}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<TenderSupplierInputVo> list(TenderSupplierInputBo bo, PageQuery pageQuery) {
return tenderSupplierInputService.queryPageList(bo, pageQuery);

View File

@ -106,4 +106,59 @@
order by m.order_num
</select>
<select id="selectMenuRecursive" resultMap="SysMenuResult">
WITH RECURSIVE menu_tree AS (
SELECT
menu_id,
menu_name,
parent_id,
order_num,
path,
component,
query_param,
is_frame,
is_cache,
menu_type,
visible,
status,
perms,
icon,
menu_source,
create_dept,
create_by,
create_time,
update_by,
update_time,
remark
FROM sys_menu_update
WHERE menu_id = #{menuId}
UNION ALL
SELECT
m.menu_id,
m.menu_name,
m.parent_id,
m.order_num,
m.path,
m.component,
m.query_param,
m.is_frame,
m.is_cache,
m.menu_type,
m.visible,
m.status,
m.perms,
m.icon,
m.menu_source,
m.create_dept,
m.create_by,
m.create_time,
m.update_by,
m.update_time,
m.remark
FROM sys_menu_update m
INNER JOIN menu_tree t ON m.parent_id = t.menu_id
)
SELECT * FROM menu_tree
ORDER BY parent_id, order_num
</select>
</mapper>