车车 3 months ago
parent
commit
3c2700054b

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

@@ -35,6 +35,12 @@ public class WorkflowWorkTicketController {
         return success(workflowWorkHandleService.insertWorkTicket(vo));
     }
 
+    @PostMapping("/updateWorkTicket")
+    @Operation(summary = "更新作业票")
+    public CommonResult<Boolean> updateWorkTicket(@Valid @RequestBody WorkHandleSaveReqVO vo) {
+        return success(workflowWorkHandleService.updateWorkTicket(vo));
+    }
+
     @PostMapping("/updatePointLock")
     @Operation(summary = "点位上锁(归还钥匙)")
     public CommonResult<BackDataVO> updatePointLock(@Valid @RequestBody KeyBackVO vo) {

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

@@ -14,6 +14,8 @@ public interface WorkflowWorkHandleService {
 
     Boolean insertWorkTicket(WorkHandleSaveReqVO vo);
 
+    Boolean updateWorkTicket(WorkHandleSaveReqVO vo);
+
     BackDataVO updatePointLock(KeyBackVO vo);
 
     Boolean updateUserLock(UserLockVO vo);

+ 23 - 1
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workdesign/WorkflowWorkHandleServiceImpl.java

@@ -63,6 +63,7 @@ public class WorkflowWorkHandleServiceImpl implements WorkflowWorkHandleService
     @Transactional
     @Override
     public Boolean insertWorkTicket(WorkHandleSaveReqVO vo) {
+        LocalDateTime now = LocalDateTime.now();
         Long nodeId = vo.getNodeId();
         Assert.notNull(nodeId, "nodeId不可为空");
         // 检查是否重复下发作业
@@ -76,7 +77,6 @@ public class WorkflowWorkHandleServiceImpl implements WorkflowWorkHandleService
         // Assert.isTrue(list.isEmpty(), "切勿重复下发作业");
         WorkflowWorkNodeDO nodeDO = workflowWorkNodeService.getById(vo.getNodeId());
         Assert.notNull(nodeDO, "任务nodeId = " + nodeId + "不存在");
-        LocalDateTime now = LocalDateTime.now();
         Long ticketId = 0L;
         if (StringUtils.isNotBlank(vo.getTicketContent())) {
             WorkflowWorkTicketDO workflowWorkTicketDO = new WorkflowWorkTicketDO();
@@ -153,6 +153,28 @@ public class WorkflowWorkHandleServiceImpl implements WorkflowWorkHandleService
         return true;
     }
 
+    @Transactional
+    @Override
+    public Boolean updateWorkTicket(WorkHandleSaveReqVO vo) {
+        LocalDateTime now = LocalDateTime.now();
+        Long nodeId = vo.getNodeId();
+        Assert.notNull(nodeId, "nodeId不可为空");
+        // 检查是否重复下发作业
+        WorkflowWorkTicketDO ticketDO = ticketService.getOne(Wrappers.<WorkflowWorkTicketDO>lambdaQuery().eq(WorkflowWorkTicketDO::getNodeId, vo.getNodeId()));
+        if (ticketDO != null) {
+            // 如果存在只做更新操作
+            WorkflowWorkTicketDO workflowWorkTicketDO = new WorkflowWorkTicketDO();
+            workflowWorkTicketDO.setId(ticketDO.getId());
+            workflowWorkTicketDO.setTicketContent(vo.getTicketContent());
+            workflowWorkTicketDO.setTicketStatus("5");
+            workflowWorkTicketDO.setTicketStartTime(now);
+            ticketService.updateById(workflowWorkTicketDO);
+            return true;
+        } else {
+            return false;
+        }
+    }
+
     /**
      * 点位上锁(归还钥匙)
      *

+ 2 - 3
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/usercharacteristic/UserCharacteristicController.java

@@ -13,7 +13,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.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -32,9 +31,9 @@ public class UserCharacteristicController {
     private UserCharacteristicService userCharacteristicService;
 
     @DeleteMapping("/deleteUserCharacteristicList")
-    // @Parameter(name = "ids", description = "编号", required = true)
+    @Parameter(name = "ids", description = "编号", required = true)
     @Operation(summary = "批量删除用户特征表(指纹、面部)")
-                @PreAuthorize("@ss.hasPermission('iscs:user-characteristic:delete')")
+    // @PreAuthorize("@ss.hasPermission('iscs:user-characteristic:delete')")
     public CommonResult<Boolean> deleteUserCharacteristicList(@RequestParam("ids") List<Long> ids) {
         userCharacteristicService.deleteUserCharacteristicListByIds(ids);
         return success(true);

+ 7 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/appnotify/AppNotifySendServiceImpl.java

@@ -13,6 +13,7 @@ import com.aliyuncs.profile.DefaultProfile;
 import com.aliyuncs.push.model.v20160801.PushRequest;
 import com.aliyuncs.push.model.v20160801.PushResponse;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -322,9 +323,14 @@ public class AppNotifySendServiceImpl implements AppNotifySendService {
     private Set<String> getDeviceIdByUserId(Long userId) {
         // 示例:模拟返回设备ID(实际项目中需替换为真实查询逻辑)
         String deviceId = adminUserService.getUser(userId).getDeviceId();
-        return new TreeSet<>(new ArrayList<>(Arrays.asList(deviceId.split(","))));
+        if (StringUtils.isNotBlank(deviceId)) {
+            return new TreeSet<>(new ArrayList<>(Arrays.asList(deviceId.split(","))));
+        } else {
+            return new TreeSet<>();
+        }
     }
 
+
     /**
      * 通过站内信获取相同发送信息
      *