Browse Source

-- 删除任务问题修改

star 1 year ago
parent
commit
8ecb6e487e

+ 16 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/tm/TsPostApiController.java

@@ -7,15 +7,13 @@ import com.ruoyi.ams.tm.entity.TsDataResponse;
 import com.ruoyi.ams.tm.entity.TsRequest;
 import com.ruoyi.ams.tm.entity.TsTaskStateResponse;
 import com.ruoyi.ams.tm.service.ITsTaskService;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.taiye.service.ProcessService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 @Slf4j
@@ -119,6 +117,20 @@ public class TsPostApiController {
         return iTsTaskService.delOrderByAgvNo(agvNo);
     }
 
+    /**
+     * 根据任务号取消任务
+     */
+    @ApiOperation("根据任务号取消任务")
+    @PostMapping("/delTask")
+    public AjaxResult delTask(String taskNo) {
+        WcsTask wcsTask = wcsTaskService.selectWcsTaskByTaskNo(taskNo);
+        if (wcsTask == null) {
+            AjaxResult.error("任务查询不存在");
+        }
+        wcsTaskService.delTaskByTM(wcsTask);
+        return AjaxResult.success("任务取消指令下发成功!");
+    }
+
     /**
          * TS-创建充电任务
      */

+ 1 - 1
warewms-ams/src/main/java/com/ruoyi/ams/task/service/impl/WcsTaskServiceImpl.java

@@ -338,7 +338,7 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
 
             TsDataResponse tsResult = tsTaskService.delOrderByIndex(wcsTask.getDeviceName());
             if("true".equals(tsResult.getSuccess())){
-                tsTaskService.tsTaskStateBack(wcsTask.getDeviceName(),"tsOrderFailed",wcsTask.getAgvNo());
+                tsTaskService.tsTaskStateBack(wcsTask.getDeviceName(),"tsOrder Failed",wcsTask.getAgvNo());
                 return AjaxResult.success("取消成功!");
             }else{
                 return AjaxResult.error("取消失败!错误码:"+tsResult.getError_code()+",错误信息:"+tsResult.getMsg());

+ 12 - 4
warewms-ams/src/main/java/com/ruoyi/ams/tm/service/impl/TsTaskServiceImpl.java

@@ -164,10 +164,6 @@ public class TsTaskServiceImpl implements ITsTaskService {
                     wcsTask.setRemark("任务开始执行!");
                     break;
                 case 2:
-                    if (wcsTask.getState() != 4 || wcsTask.getState() != 6) {
-                        log.info("任务未取卸货,不能直接完成!" + wcsTask.getTaskNo()+"——"+ wcsTask.getTaskNo());
-                        return TsTaskStateResponse.error("任务未取卸货,不能直接完成!" ,"");
-                    }
                     // 解锁终点库位
                     baseLocationInfoService.unLockLocationStockStatus(Long.parseLong(wcsTask.getLocationTo()), Constant.WAREHOUSE_ID, "TS-TM");
                     // 将中间缓存位库存移动到终点
@@ -246,6 +242,18 @@ public class TsTaskServiceImpl implements ITsTaskService {
                     if (!StringUtils.isEmpty(wcsTask.getExt8())) {
                         redisCache.unlockCacheObject(Long.parseLong(wcsTask.getExt8()));
                     }
+                    //关闭下料 任务生成和取货申请状态
+                    if (wcsTask.getTaskType().equals(Constant.FLOW_CONFIG_ID.PM_XL.name())){
+                        writePlcState(PLCEnum.PACKING_BLANK_1.getMetadata(), false);
+                        Thread.sleep(500);
+                        writePlcState(PLCEnum.PACKING_BLANK_2.getMetadata(), false);
+                    }
+                    //关闭上空 任务生成和卸货申请状态
+                    if (wcsTask.getTaskType().equals(Constant.FLOW_CONFIG_ID.PM_SK.name())) {
+                        writePlcState(PLCEnum.PACKING_CALL_EMPTY_1.getMetadata(), false);
+                        Thread.sleep(500);
+                        writePlcState(PLCEnum.PACKING_CALL_EMPTY_2.getMetadata(), false);
+                    }
                     wcsTask.setRemark("任务取消!");
                     break;
                 default: