车车 il y a 2 mois
Parent
commit
d479e50697
12 fichiers modifiés avec 81 ajouts et 18 suppressions
  1. 4 5
      yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java
  2. 8 9
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/locktype/LockTypeController.java
  3. 9 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workdesign/workhandle/WorkflowWorkTicketController.java
  4. 1 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/jobcard/JobCardServiceImpl.java
  5. 3 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleService.java
  6. 30 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleServiceImpl.java
  7. 14 2
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkServiceImpl.java
  8. 3 0
      yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java
  9. 3 0
      yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java
  10. 1 1
      yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.java
  11. 1 1
      yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.java
  12. 4 0
      yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java

+ 4 - 5
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java

@@ -14,7 +14,6 @@ import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -34,14 +33,14 @@ public class BpmFormController {
 
     @PostMapping("/create")
     @Operation(summary = "创建动态表单")
-    @PreAuthorize("@ss.hasPermission('bpm:form:create')")
+    // @PreAuthorize("@ss.hasPermission('bpm:form:create')")
     public CommonResult<Long> createForm(@Valid @RequestBody BpmFormSaveReqVO createReqVO) {
         return success(formService.createForm(createReqVO));
     }
 
     @PutMapping("/update")
     @Operation(summary = "更新动态表单")
-    @PreAuthorize("@ss.hasPermission('bpm:form:update')")
+    // @PreAuthorize("@ss.hasPermission('bpm:form:update')")
     public CommonResult<Boolean> updateForm(@Valid @RequestBody BpmFormSaveReqVO updateReqVO) {
         formService.updateForm(updateReqVO);
         return success(true);
@@ -49,7 +48,7 @@ public class BpmFormController {
 
     @PutMapping("/updateStatus")
     @Operation(summary = "更新动态表单-禁用")
-    @PreAuthorize("@ss.hasPermission('bpm:form:update')")
+    // @PreAuthorize("@ss.hasPermission('bpm:form:update')")
     public CommonResult<Boolean> updateStatus(@Valid @RequestBody BpmFormStatusReqVO updateReqVO) {
         formService.updateStatus(updateReqVO);
         return success(true);
@@ -58,7 +57,7 @@ public class BpmFormController {
     @DeleteMapping("/delete")
     @Operation(summary = "删除动态表单")
     @Parameter(name = "id", description = "编号", required = true)
-    @PreAuthorize("@ss.hasPermission('bpm:form:delete')")
+    // @PreAuthorize("@ss.hasPermission('bpm:form:delete')")
     public CommonResult<Boolean> deleteForm(@RequestParam("id") Long id) {
         formService.deleteForm(id);
         return success(true);

+ 8 - 9
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/locktype/LockTypeController.java

@@ -17,7 +17,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -38,14 +37,14 @@ public class LockTypeController {
 
     @PostMapping("/insertLockType")
     @Operation(summary = "创建挂锁类型")
-    @PreAuthorize("@ss.hasPermission('iscs:lock-type:create')")
+    // @PreAuthorize("@ss.hasPermission('iscs:lock-type:create')")
     public CommonResult<Long> insertLockType(@Valid @RequestBody LockTypeSaveReqVO createReqVO) {
         return success(lockTypeService.createLockType(createReqVO));
     }
 
     @PutMapping("/updateLockType")
     @Operation(summary = "更新挂锁类型")
-    @PreAuthorize("@ss.hasPermission('iscs:lock-type:update')")
+    // @PreAuthorize("@ss.hasPermission('iscs:lock-type:update')")
     public CommonResult<Boolean> updateLockType(@Valid @RequestBody LockTypeSaveReqVO updateReqVO) {
         lockTypeService.updateLockType(updateReqVO);
         return success(true);
@@ -54,7 +53,7 @@ public class LockTypeController {
     @DeleteMapping("/deleteLockTypeList")
     @Parameter(name = "ids", description = "编号", required = true)
     @Operation(summary = "批量删除挂锁类型")
-                @PreAuthorize("@ss.hasPermission('iscs:lock-type:delete')")
+    // @PreAuthorize("@ss.hasPermission('iscs:lock-type:delete')")
     public CommonResult<Boolean> deleteLockTypeList(@RequestParam("ids") List<Long> ids) {
         lockTypeService.deleteLockTypeListByIds(ids);
         return success(true);
@@ -63,7 +62,7 @@ public class LockTypeController {
     @GetMapping("/selectLockTypeById")
     @Operation(summary = "获得挂锁类型")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('iscs:lock-type:query')")
+    // @PreAuthorize("@ss.hasPermission('iscs:lock-type:query')")
     public CommonResult<LockTypeRespVO> selectLockTypeById(@RequestParam("id") Long id) {
         LockTypeDO lockType = lockTypeService.getLockType(id);
         return success(BeanUtils.toBean(lockType, LockTypeRespVO.class));
@@ -71,7 +70,7 @@ public class LockTypeController {
 
     @GetMapping("/getLockTypePage")
     @Operation(summary = "获得挂锁类型分页")
-    @PreAuthorize("@ss.hasPermission('iscs:lock-type:query')")
+    // @PreAuthorize("@ss.hasPermission('iscs:lock-type:query')")
     public CommonResult<PageResult<LockTypeRespVO>> getLockTypePage(@Valid LockTypePageReqVO pageReqVO) {
         PageResult<LockTypeRespVO> pageResult = lockTypeService.getLockTypePage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, LockTypeRespVO.class));
@@ -79,15 +78,15 @@ public class LockTypeController {
 
     @GetMapping("/exportLockTypeExcel")
     @Operation(summary = "导出挂锁类型 Excel")
-    @PreAuthorize("@ss.hasPermission('iscs:lock-type:export')")
+    //@PreAuthorize("@ss.hasPermission('iscs:lock-type:export')")
     @ApiAccessLog(operateType = EXPORT)
     public void exportLockTypeExcel(@Valid LockTypePageReqVO pageReqVO,
-              HttpServletResponse response) throws IOException {
+                                    HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<LockTypeRespVO> list = lockTypeService.getLockTypePage(pageReqVO).getList();
         // 导出 Excel
         ExcelUtils.write(response, "挂锁类型.xls", "数据", LockTypeRespVO.class,
-                        BeanUtils.toBean(list, LockTypeRespVO.class));
+                BeanUtils.toBean(list, LockTypeRespVO.class));
     }
 
 }

+ 9 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workdesign/workhandle/WorkflowWorkTicketController.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workhandle;
 
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.WorkflowWorkNodeRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workhandle.vo.*;
 import cn.iocoder.yudao.module.iscs.service.workdesign.WorkflowWorkHandleService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -97,4 +98,12 @@ public class WorkflowWorkTicketController {
         return success(workTicketByNodeId);
     }
 
+    @PermitAll
+    @GetMapping("/getNodeDetailByNfc")
+    @Operation(summary = "通过归还的nfc获取最新的node详情")
+    public CommonResult<WorkflowWorkNodeRespVO> getNodeDetailByNfc(String nfc) {
+        WorkflowWorkNodeRespVO respVO = workflowWorkHandleService.getNodeDetailByNfc(nfc);
+        return success(respVO);
+    }
+
 }

+ 1 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/jobcard/JobCardServiceImpl.java

@@ -121,6 +121,7 @@ public class JobCardServiceImpl extends ServiceImpl<JobCardMapper, JobCardDO> im
                 .eq(AdminUserDO::getCardNfc, vo.getCardNfc()));
         Assert.isTrue(adminUserDO != null, "用户不存在!");
         AuthLoginRespVO authLoginRespVO = authService.passwordFreeLogin(new AuthPasswordFreeLoginReqVO().setUsername(adminUserDO.getUsername()));
+        authLoginRespVO.setIsTest(adminUserDO.getIsTest());
         return authLoginRespVO;
     }
 

+ 3 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleService.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.iscs.service.workdesign;
 
+import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.WorkflowWorkNodeRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workhandle.vo.*;
 
 import java.util.List;
@@ -32,5 +33,7 @@ public interface WorkflowWorkHandleService {
 
     WorkflowWorkTicketRespVO getWorkTicketByNodeId(Long nodeId);
 
+    WorkflowWorkNodeRespVO getNodeDetailByNfc(String nfc);
+
 
 }

+ 30 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleServiceImpl.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.iscs.service.workdesign;
 import cn.hutool.core.lang.Assert;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.ApprovalNodeReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowworknode.vo.WorkflowWorkNodeRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workhandle.vo.*;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.key.KeyDO;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.lock.LockDO;
@@ -676,5 +677,34 @@ public class WorkflowWorkHandleServiceImpl implements WorkflowWorkHandleService
         return bean;
     }
 
+    @Override
+    public WorkflowWorkNodeRespVO getNodeDetailByNfc(String nfc) {
+        Assert.notBlank(nfc, "请告诉我NFC");
+        // 获取钥匙关联的node
+        WorkflowWorkTicketKeyDO ticketKeyDO = keyService.getOne(Wrappers.<WorkflowWorkTicketKeyDO>lambdaQuery()
+                .eq(WorkflowWorkTicketKeyDO::getKeyNfc, nfc)
+                .ne(WorkflowWorkTicketKeyDO::getKeyStatus, "2")
+                .orderByDesc(WorkflowWorkTicketKeyDO::getId)
+                .last("limit 1"));
+
+        if (ticketKeyDO != null) {
+            return workflowWorkService.getMyWorkNodeDetail(ticketKeyDO.getNodeId());
+        }
+
+
+        // 获取挂锁关联的node
+        WorkflowWorkTicketLockDO ticketLockDO = lockService.getOne(Wrappers.<WorkflowWorkTicketLockDO>lambdaQuery()
+                .eq(WorkflowWorkTicketLockDO::getLockNfc, nfc)
+                .ne(WorkflowWorkTicketLockDO::getLockStatus, "5")
+                .orderByDesc(WorkflowWorkTicketLockDO::getId)
+                .last("limit 1"));
+
+        if (ticketLockDO != null) {
+            return workflowWorkService.getMyWorkNodeDetail(ticketLockDO.getNodeId());
+        }
+
+        return new WorkflowWorkNodeRespVO();
+    }
+
 
 }

+ 14 - 2
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkServiceImpl.java

@@ -471,7 +471,7 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
 
     @Override
     public PageResult<WorkflowWorkRespVO> getAppMyTicketPage(WorkflowWorkPageReqVO vo) {
-        Long loginUserId = getLoginUserId();
+        /*Long loginUserId = getLoginUserId();
         Assert.notNull(loginUserId, "请登录!");
         vo.setLoginUserId(loginUserId);
         Page page = new Page<>().setSize(vo.getPageSize()).setCurrent(vo.getPageNo());
@@ -488,8 +488,20 @@ public class WorkflowWorkServiceImpl extends ServiceImpl<WorkflowWorkMapper, Wor
                 String currentNodeName = list.stream().filter(o -> StringUtils.isNotBlank(o.getNodeName())).map(WorkflowWorkNodeDO::getNodeName).collect(Collectors.joining(","));
                 workflowWorkRespVO.setCurrentNodeName(currentNodeName);
             }
+        }*/
+        PageResult<WorkflowWorkDO> workflowWorkDOPageResult = workflowWorkMapper.selectPage(vo);
+        PageResult<WorkflowWorkRespVO> bean = BeanUtils.toBean(workflowWorkDOPageResult, WorkflowWorkRespVO.class);
+        // 查询当前节点
+        for (WorkflowWorkRespVO workflowWorkRespVO : bean.getList()) {
+            List<WorkflowWorkNodeDO> list = workflowWorkNodeService.list(Wrappers.<WorkflowWorkNodeDO>lambdaQuery()
+                    .eq(WorkflowWorkNodeDO::getWorkId, workflowWorkRespVO.getId())
+                    .eq(WorkflowWorkNodeDO::getApprovalStatus, "running"));
+            if (!list.isEmpty()) {
+                String currentNodeName = list.stream().filter(o -> StringUtils.isNotBlank(o.getNodeName())).map(WorkflowWorkNodeDO::getNodeName).collect(Collectors.joining(","));
+                workflowWorkRespVO.setCurrentNodeName(currentNodeName);
+            }
         }
-        return respVOPageResult;
+        return bean;
     }
 
     @Override

+ 3 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.java

@@ -33,4 +33,7 @@ public class AuthLoginRespVO {
     @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED)
     private String nickname;
 
+    @Schema(description = "是否测试(0-否 1-是)")
+    private Integer isTest;
+
 }

+ 3 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java

@@ -67,6 +67,9 @@ public class AuthPermissionInfoRespVO {
         @Schema(description = "性别")
         private Integer sex;
 
+        @Schema(description = "是否测试(0-否 1-是)")
+        private Integer isTest;
+
     }
 
     @Schema(description = "管理后台 - 登录用户的菜单信息 Response VO")

+ 1 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.java

@@ -36,7 +36,7 @@ public class SmsLogController {
 
     @GetMapping("/page")
     @Operation(summary = "获得短信日志分页")
-    @PreAuthorize("@ss.hasPermission('system:sms-log:query')")
+    // @PreAuthorize("@ss.hasPermission('system:sms-log:query')")
     public CommonResult<PageResult<SmsLogRespVO>> getSmsLogPage(@Valid SmsLogPageReqVO pageReqVO) {
         PageResult<SmsLogRespVO> pageResult = smsLogService.getSmsLogPage(pageReqVO);
         return success(pageResult);

+ 1 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.java

@@ -29,7 +29,7 @@ public class TenantDO extends BaseDO {
     /**
      * 套餐编号 - 系统
      */
-    public static final Long PACKAGE_ID_SYSTEM = 115L;
+    public static final Long PACKAGE_ID_SYSTEM = 0L;
 
     /**
      * 租户编号,自增

+ 4 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java

@@ -102,5 +102,9 @@ public class AdminUserDO extends TenantBaseDO {
      * app通知设备,逗号分割存储
      */
     private String deviceId;
+    /**
+     * 是否测试(0-否 1-是)
+     */
+    private Integer isTest;
 
 }