diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/BomDetailList.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/BomDetailList.vue index 140f69f..8e51b96 100644 --- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/BomDetailList.vue +++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/BomDetailList.vue @@ -64,8 +64,8 @@ <span slot="action" slot-scope="text, record"> <a v-has="'bomDetail:edit'" @click="handleEdit(record)">编辑</a> <a-divider type="vertical" /> - <a-popconfirm title="确定删除吗?" v-has="'bomDetail:edit'" @confirm="() => handleDelete(record.id)"> - <a>删除</a> + <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> + <a v-has="'bomDetail:delete'">删除</a> </a-popconfirm> </span> diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/CircleTaskHeaderList.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/CircleTaskHeaderList.vue index 7ee89d8..d9b141d 100644 --- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/CircleTaskHeaderList.vue +++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/CircleTaskHeaderList.vue @@ -93,7 +93,7 @@ <!-- 操作按钮区域 --> <div class="table-operator"> - <a-button @click="createCheckOut()" type="primary">出库查看</a-button> + <a-button v-has="'taskHeader:checkOut'" @click="createCheckOut()" type="primary">出库查看</a-button> <!-- <a-button type="primary" icon="download" @click="handleExportXls('任务表')">导出</a-button>--> <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">--> <!-- <a-button type="primary" icon="import">导入</a-button>--> @@ -151,17 +151,17 @@ </template> <span slot="action" slot-scope="text, record"> - <a v-if="record.status == 1" @click="executeTask(record)">执行</a> + <a v-if="record.status == 1" v-has="'taskHeader:executeTask'" @click="executeTask(record)">执行</a> <a-divider type="vertical" /> - <a v-if="record.status < 100" @click="completeTask(record)">完成</a> + <a v-if="record.status < 100" v-has="'taskHeader:completeTask'" @click="completeTask(record)">完成</a> <a-divider type="vertical" /> <a-dropdown> <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-menu slot="overlay"> - <a-menu-item v-has="'circleTaskHeader:edit'"> + <a-menu-item v-has="'taskHeader:edit'"> <a @click="handleEdit(record)">编辑</a> </a-menu-item> - <a-menu-item v-has="'circleTaskHeader:delete'" > + <a-menu-item v-has="'taskHeader:delete'" > <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> <a>删除</a> </a-popconfirm> diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ReceiptTaskHeaderList.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ReceiptTaskHeaderList.vue index 2d31876..830e119 100644 --- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ReceiptTaskHeaderList.vue +++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ReceiptTaskHeaderList.vue @@ -93,8 +93,8 @@ <!-- 操作按钮区域 --> <div class="table-operator"> - <a-button @click="createEmptyIn()" type="primary">空托入库</a-button> - <a-button @click="createManyEmptyIn()" type="primary">空托组入库</a-button> + <a-button @click="createEmptyIn()" v-has="'taskHeader:emptyIn'" type="primary">空托入库</a-button> + <a-button @click="createManyEmptyIn()" v-has="'taskHeader:manyEmptyIn'" type="primary">空托组入库</a-button> </div> <!-- table区域-begin --> @@ -146,19 +146,19 @@ </template> <span slot="action" slot-scope="text, record"> - <a v-if="record.status == 1" @click="executeTask(record)">执行</a> + <a v-if="record.status == 1" v-has="'taskHeader:executeTask'" @click="executeTask(record)">执行</a> <a-divider type="vertical" /> - <a v-if="record.status < 100" @click="cancelTask(record)">取消</a> + <a v-if="record.status < 100" v-has="'taskHeader:cancelTask'" @click="cancelTask(record)">取消</a> <a-divider type="vertical" /> - <a v-if="record.status < 100" @click="completeTask(record)">完成</a> + <a v-if="record.status < 100" v-has="'taskHeader:completeTask'" @click="completeTask(record)">完成</a> <a-divider type="vertical" /> <a-dropdown> <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-menu slot="overlay"> - <a-menu-item v-has="'receiptTaskHeader:edit'"> + <a-menu-item v-has="'taskHeader:edit'"> <a @click="handleEdit(record)">编辑</a> </a-menu-item> - <a-menu-item v-has="'receiptTaskHeader:delete'"> + <a-menu-item v-has="'taskHeader:delete'"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> <a>删除</a> </a-popconfirm> diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ShipmentTaskHeaderList.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ShipmentTaskHeaderList.vue index 9aed809..e97a7c3 100644 --- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ShipmentTaskHeaderList.vue +++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/ShipmentTaskHeaderList.vue @@ -93,8 +93,8 @@ <!-- 操作按钮区域 --> <div class="table-operator"> - <a-button @click="createEmptyOut()" type="primary" >空托出库</a-button> - <a-button @click="createManyEmptyOut()" type="primary" >空托组出库</a-button> + <a-button @click="createEmptyOut()" v-has="'taskHeader:emptyOut'" type="primary" >空托出库</a-button> + <a-button @click="createManyEmptyOut()" v-has="'taskHeader:manyEmptyOut'" type="primary" >空托组出库</a-button> </div> <!-- table区域-begin --> @@ -146,19 +146,19 @@ </template> <span slot="action" slot-scope="text, record"> - <a v-if="record.status == 1" @click="executeTask(record)">执行</a> + <a v-if="record.status == 1" v-has="'taskHeader:executeTask'" @click="executeTask(record)">执行</a> <a-divider type="vertical" /> - <a v-if="record.status < 100" @click="cancelTask(record)">取消</a> + <a v-if="record.status < 100" v-has="'taskHeader:executeTask'" @click="cancelTask(record)">取消</a> <a-divider type="vertical" /> - <a v-if="record.status < 100" @click="completeTask(record)">完成</a> + <a v-if="record.status < 100" v-has="'taskHeader:executeTask'" @click="completeTask(record)">完成</a> <a-divider type="vertical" /> <a-dropdown> <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-menu slot="overlay"> - <a-menu-item v-has="'shipmentTaskHeader:edit'"> + <a-menu-item v-has="'taskHeader:edit'"> <a @click="handleEdit(record)">编辑</a> </a-menu-item> - <a-menu-item v-has="'shipmentTaskHeader:delete'"> + <a-menu-item v-has="'taskHeader:delete'"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> <a>删除</a> </a-popconfirm> diff --git a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/TransferTaskHeaderList.vue b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/TransferTaskHeaderList.vue index 35f3710..c1778a8 100644 --- a/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/TransferTaskHeaderList.vue +++ b/jeecg-boot-master/ant-design-vue-jeecg/src/views/system/task/TransferTaskHeaderList.vue @@ -93,8 +93,8 @@ <!-- 操作按钮区域 --> <div class="table-operator"> - <a-button @click="createTransfer()" type="primary">移库任务</a-button> - <a-button @click="createOverStation()" type="primary">跨站任务</a-button> + <a-button @click="createTransfer()" v-has="'taskHeader:transfer'" type="primary">移库任务</a-button> + <a-button @click="createOverStation()" v-has="'taskHeader:overStation'" type="primary">跨站任务</a-button> <!-- <a-button type="primary" icon="download" @click="handleExportXls('任务表')">导出</a-button>--> <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">--> <!-- <a-button type="primary" icon="import">导入</a-button>--> @@ -152,17 +152,17 @@ </template> <span slot="action" slot-scope="text, record"> - <a v-if="record.status == 1" @click="executeTask(record)">执行</a> + <a v-if="record.status == 1" v-has="'taskHeader:executeTask'" @click="executeTask(record)">执行</a> <a-divider type="vertical" /> - <a v-if="record.status < 100" @click="completeTask(record)">完成</a> + <a v-if="record.status < 100" v-has="'taskHeader:completeTask'" @click="completeTask(record)">完成</a> <a-divider type="vertical" /> <a-dropdown> <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-menu slot="overlay"> - <a-menu-item v-has="'transferTaskHeader:edit'"> + <a-menu-item v-has="'taskHeader:edit'"> <a @click="handleEdit(record)">编辑</a> </a-menu-item> - <a-menu-item v-has="'transferTaskHeader:delete'"> + <a-menu-item v-has="'taskHeader:delete'"> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> <a>删除</a> </a-popconfirm> diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java index 0891101..8a9680c 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java @@ -9,6 +9,7 @@ import com.jeecg.dingtalk.api.core.response.Response; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonSendStatus; @@ -121,6 +122,7 @@ public class SysAnnouncementController { * @return */ @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("Announcement:add") public Result<SysAnnouncement> add(@RequestBody SysAnnouncement sysAnnouncement) { Result<SysAnnouncement> result = new Result<SysAnnouncement>(); try { @@ -145,6 +147,7 @@ public class SysAnnouncementController { * @return */ @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + @RequiresPermissions("Announcement:edit") public Result<SysAnnouncement> eidt(@RequestBody SysAnnouncement sysAnnouncement) { Result<SysAnnouncement> result = new Result<SysAnnouncement>(); SysAnnouncement sysAnnouncementEntity = sysAnnouncementService.getById(sysAnnouncement.getId()); @@ -171,6 +174,7 @@ public class SysAnnouncementController { * @return */ @RequestMapping(value = "/delete", method = RequestMethod.DELETE) + @RequiresPermissions("Announcement:delete") public Result<SysAnnouncement> delete(@RequestParam(name="id",required=true) String id) { Result<SysAnnouncement> result = new Result<SysAnnouncement>(); SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id); @@ -193,6 +197,7 @@ public class SysAnnouncementController { * @return */ @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) + @RequiresPermissions("Announcement:deleteBatch") public Result<SysAnnouncement> deleteBatch(@RequestParam(name="ids",required=true) String ids) { Result<SysAnnouncement> result = new Result<SysAnnouncement>(); if(ids==null || "".equals(ids.trim())) { diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictController.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictController.java index 5e21130..edca33c 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictController.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictController.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresRoles; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; @@ -338,6 +339,7 @@ public class SysDictController { * @return */ //@RequiresRoles({"admin"}) + @RequiresPermissions("dict:add") @RequestMapping(value = "/add", method = RequestMethod.POST) public Result<SysDict> add(@RequestBody SysDict sysDict) { Result<SysDict> result = new Result<SysDict>(); @@ -359,6 +361,7 @@ public class SysDictController { * @return */ //@RequiresRoles({"admin"}) + @RequiresPermissions("dict:edit") @RequestMapping(value = "/edit", method = { RequestMethod.PUT,RequestMethod.POST }) public Result<SysDict> edit(@RequestBody SysDict sysDict) { Result<SysDict> result = new Result<SysDict>(); @@ -381,6 +384,7 @@ public class SysDictController { * @return */ //@RequiresRoles({"admin"}) + @RequiresPermissions("dict:delete") @RequestMapping(value = "/delete", method = RequestMethod.DELETE) @CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true) public Result<SysDict> delete(@RequestParam(name="id",required=true) String id) { diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/controller/TaskHeaderController.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/controller/TaskHeaderController.java index 41df1d0..43c268e 100644 --- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/controller/TaskHeaderController.java +++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/controller/TaskHeaderController.java @@ -112,6 +112,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务表-添加") @ApiOperation(value="任务表-添加", notes="任务表-添加") @PostMapping(value = "/add") + @RequiresPermissions("taskHeader:add") public Result<String> add(@RequestBody TaskHeader taskHeader) { taskHeaderService.save(taskHeader); return Result.OK("添加成功!"); @@ -124,7 +125,8 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-编辑") @ApiOperation(value="任务表-编辑", notes="任务表-编辑") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + @RequiresPermissions("taskHeader:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody TaskHeader taskHeader) { taskHeaderService.updateById(taskHeader); return Result.OK("编辑成功!"); @@ -137,6 +139,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-通过id删除") @ApiOperation(value="任务表-通过id删除", notes="任务表-通过id删除") + @RequiresPermissions("taskHeader:edit") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name="id",required=true) String id) { taskHeaderService.delMain(id); @@ -150,6 +153,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-批量删除") @ApiOperation(value="任务表-批量删除", notes="任务表-批量删除") + @RequiresPermissions("taskHeader:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.taskHeaderService.delBatchMain(Arrays.asList(ids.split(","))); @@ -202,6 +206,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务详情-添加") @ApiOperation(value="任务详情-添加", notes="任务详情-添加") @PostMapping(value = "/addTaskDetail") + @RequiresPermissions("taskDetail:add") public Result<String> addTaskDetail(@RequestBody TaskDetail taskDetail) { taskDetailService.save(taskDetail); return Result.OK("添加成功!"); @@ -214,6 +219,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务详情-编辑") @ApiOperation(value="任务详情-编辑", notes="任务详情-编辑") + @RequiresPermissions("taskDetail:edit") @RequestMapping(value = "/editTaskDetail", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> editTaskDetail(@RequestBody TaskDetail taskDetail) { taskDetailService.updateById(taskDetail); @@ -227,6 +233,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务详情-通过id删除") @ApiOperation(value="任务详情-通过id删除", notes="任务详情-通过id删除") + @RequiresPermissions("taskDetail:delete") @DeleteMapping(value = "/deleteTaskDetail") public Result<String> deleteTaskDetail(@RequestParam(name="id",required=true) String id) { taskDetailService.removeById(id); @@ -240,6 +247,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务详情-批量删除") @ApiOperation(value="任务详情-批量删除", notes="任务详情-批量删除") + @RequiresPermissions("taskDetail:deleteBatch") @DeleteMapping(value = "/deleteBatchTaskDetail") public Result<String> deleteBatchTaskDetail(@RequestParam(name="ids",required=true) String ids) { this.taskDetailService.removeByIds(Arrays.asList(ids.split(","))); @@ -324,6 +332,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务表-完成任务") @ApiOperation(value="任务表-完成任务", notes="任务表-完成任务") @PostMapping( "/completeTaskByWMS") + @RequiresPermissions("taskHeader:completeTask") public Result completeTaskByWMS(@RequestBody TaskHeader taskHeader){ if(taskHeader == null) { return Result.error("taskHeader不能为空"); @@ -346,6 +355,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @ApiOperation(value="任务表-取消任务", notes="任务表-取消任务") @PostMapping( "/cancelTask") @ResponseBody + @RequiresPermissions("taskHeader:cancelTask") public Result cancelTask(@RequestParam(name="ids",required=true) String ids) { if (StringUtils.isEmpty(ids)) { return Result.error("taskId不能为空"); @@ -370,6 +380,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务表-执行任务") @ApiOperation(value="任务表-执行任务", notes="任务表-执行任务") @PostMapping( "/execute") + @RequiresPermissions("taskHeader:executeTask") public Result execute(@RequestBody TaskHeader taskHeader) { { if (taskHeader == null) { @@ -393,6 +404,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务表-创建空托入库任务") @ApiOperation(value="任务表-创建空托入库任务", notes="任务表-创建空托入库任务") @PostMapping( "/createEmptyIn") + @RequiresPermissions("taskHeader:emptyIn") public Result createEmptyIn(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String contaienrCode = taskHeader.getContainerCode(); String toLocationCode = taskHeader.getToLocationCode(); @@ -413,6 +425,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-创建空托出库任务") @ApiOperation(value="任务表-创建空托出库任务", notes="任务表-创建空托出库任务") + @RequiresPermissions("taskHeader:emptyOut") @PostMapping( "/createEmptyOut") public Result createEmptyOut(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String contaienrCode = taskHeader.getContainerCode(); @@ -434,6 +447,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-创建移库任务") @ApiOperation(value="任务表-创建移库任务", notes="任务表-创建移库任务") + @RequiresPermissions("taskHeader:transfer") @PostMapping( "/createTransferTask") public Result createTransferTask(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String fromLocationCode = taskHeader.getFromLocationCode(); @@ -456,6 +470,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务表-创建出库查看任务") @ApiOperation(value="任务表-创建出库查看任务", notes="任务表-创建出库查看任务") @PostMapping( "/createCheckOutTask") + @RequiresPermissions("taskHeader:checkOut") public Result createCheckOutTask(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String containerCode = taskHeader.getContainerCode(); String toPortCode = taskHeader.getToPortCode(); @@ -476,6 +491,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-创建跨站任务") @ApiOperation(value="任务表-创建跨站任务", notes="任务表-创建跨站任务") + @RequiresPermissions("taskHeader:overStation") @PostMapping( "/createOverStationTask") public Result createOverStationTask(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String containerCode = taskHeader.getContainerCode(); @@ -499,6 +515,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade @AutoLog(value = "任务表-创建空托盘组入库") @ApiOperation(value="任务表-创建空托盘组入库", notes="任务表-创建空托盘组入库") @PostMapping( "/createManyEmptyIn") + @RequiresPermissions("taskHeader:manyEmptyIn") public Result createManyEmptyIn(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String containerCode = taskHeader.getContainerCode(); String toLocationCode = taskHeader.getToLocationCode(); @@ -518,6 +535,7 @@ public class TaskHeaderController extends JeecgController<TaskHeader, ITaskHeade */ @AutoLog(value = "任务表-创建空托盘组出库") @ApiOperation(value="任务表-创建空托盘组出库", notes="任务表-创建空托盘组出库") + @RequiresPermissions("taskHeader:manyEmptyOut") @PostMapping( "/createManyEmptyOut") public Result createManyEmptyOut(@RequestBody TaskHeader taskHeader, HttpServletRequest req) { String containerCode = taskHeader.getContainerCode();