diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPbStoragevehicleextService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPbStoragevehicleextService.java
index b499669..1615d10 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPbStoragevehicleextService.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPbStoragevehicleextService.java
@@ -1,8 +1,11 @@
package org.nl.wms.basedata_manage.service;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
+import java.util.List;
+
/**
*
* 载具扩展属性信息表 服务类
@@ -13,4 +16,18 @@ import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
*/
public interface IMdPbStoragevehicleextService extends IService {
+ /**
+ * 更新库存以及仓位状态
+ * @param updateIvtList :{
+ * type: 更新类型
+ * storagevehicle_code: 载具编码
+ * material_id: 物料标识
+ * pcsn: 批次
+ * qty_unit_id: 计量单位标识
+ * qty_unit_name: 计量单位名称
+ * change_qty: 变动数量
+ * remark: 备注
+ * }
+ */
+ void updateIvt(List updateIvtList);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java
index 1f0ad54..977392b 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java
@@ -82,4 +82,12 @@ public interface IStructattrService extends IService {
*/
void changeActive(JSONObject json);
+ /**
+ * 更新锁状态
+ * @param updateAttrList {
+ * struct_code :仓位编码
+ * lock_type :锁定类型
+ * }
+ */
+ void updateLock(List updateAttrList);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java
index a962322..1e1cb71 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java
@@ -1,8 +1,14 @@
package org.nl.wms.basedata_manage.service.dao.mapper;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
+import java.util.Map;
+
/**
*
* 载具扩展属性信息表 Mapper 接口
@@ -13,4 +19,11 @@ import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
*/
public interface MdPbStoragevehicleextMapper extends BaseMapper {
+ /**
+ * 获取可用库存分页查询
+ * @param page 分页条件
+ * @param whereJson 查询条件
+ * @return IPage
+ */
+ IPage getCanuseIvt(Page page, @Param("param") Map whereJson);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml
index 0ccbc16..f4b0355 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml
@@ -2,4 +2,58 @@
+
+
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/EmBiDeviceinfoServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/EmBiDeviceinfoServiceImpl.java
index d25874c..b5450e8 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/EmBiDeviceinfoServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/EmBiDeviceinfoServiceImpl.java
@@ -52,7 +52,7 @@ public class EmBiDeviceinfoServiceImpl extends ServiceImpl().lambda()
@@ -74,7 +74,7 @@ public class EmBiDeviceinfoServiceImpl extends ServiceImpl ids) {
this.baseMapper.deleteBatchIds(ids);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsCustomerbaseServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsCustomerbaseServiceImpl.java
index 6039501..6db8857 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsCustomerbaseServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsCustomerbaseServiceImpl.java
@@ -52,7 +52,7 @@ public class MdCsCustomerbaseServiceImpl extends ServiceImpl().lambda()
@@ -74,7 +74,7 @@ public class MdCsCustomerbaseServiceImpl extends ServiceImpl ids) {
this.baseMapper.deleteBatchIds(ids);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java
index dc54a95..736881d 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdCsSupplierbaseServiceImpl.java
@@ -52,7 +52,7 @@ public class MdCsSupplierbaseServiceImpl extends ServiceImpl().lambda()
@@ -74,7 +74,7 @@ public class MdCsSupplierbaseServiceImpl extends ServiceImpl ids) {
this.baseMapper.deleteBatchIds(ids);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java
index 5f75529..03d7f46 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java
@@ -50,7 +50,7 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl ids) {
this.baseMapper.deleteBatchIds(ids);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java
index 1d6a1cb..ff7818b 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java
@@ -79,7 +79,7 @@ public class MdPbClassstandardServiceImpl extends ServiceImpl().lambda()
@@ -109,7 +109,7 @@ public class MdPbClassstandardServiceImpl extends ServiceImpl ids) {
// 查询所有数据
List daoList = this.list(
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java
index c3b6823..d3c278a 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbMeasureunitServiceImpl.java
@@ -52,7 +52,7 @@ public class MdPbMeasureunitServiceImpl extends ServiceImpl().lambda()
@@ -74,7 +74,7 @@ public class MdPbMeasureunitServiceImpl extends ServiceImpl ids) {
this.baseMapper.deleteBatchIds(ids);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java
index dc39b24..74b0839 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java
@@ -1,11 +1,16 @@
package org.nl.wms.basedata_manage.service.impl;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
+import org.nl.wms.warehouse_management.service.util.UpdateIvtUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
+
/**
*
* 载具扩展属性信息表 服务实现类
@@ -17,4 +22,16 @@ import org.springframework.stereotype.Service;
@Service
public class MdPbStoragevehicleextServiceImpl extends ServiceImpl implements IMdPbStoragevehicleextService {
+ /**
+ * 更新库存工具类
+ */
+ @Autowired
+ private UpdateIvtUtils updateIvtUtils;
+
+ @Override
+ public void updateIvt(List updateIvtList) {
+ for (JSONObject json : updateIvtList) {
+ updateIvtUtils.updateIvt(json);
+ }
+ }
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java
index 2db2a1c..4670939 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java
@@ -56,7 +56,7 @@ public class MdPbStoragevehicleinfoServiceImpl extends ServiceImpl ids) {
this.baseMapper.deleteBatchIds(ids);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java
index cd757de..95dbe26 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -28,9 +29,11 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* 仓位实现类
@@ -223,4 +226,23 @@ public class StructattrServiceImpl extends ServiceImpl updateAttrList) {
+ List attrList = this.list(
+ new QueryWrapper().lambda()
+ .in(Structattr::getStruct_code,
+ updateAttrList.stream()
+ .map(row -> row.getString("struct_code"))
+ .collect(Collectors.toList())
+ )
+ );
+ for (JSONObject json : updateAttrList) {
+ Structattr attrDao = attrList.stream()
+ .filter(row -> row.getStruct_code().equals(json.getString("struct_code")))
+ .findFirst().orElse(null);
+ attrDao.setLock_type(json.getString("lock_type"));
+ this.update(attrDao);
+ }
+ }
+
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java
new file mode 100644
index 0000000..fde3ef5
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java
@@ -0,0 +1,42 @@
+package org.nl.wms.sch_manage.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import org.apache.commons.lang3.StringUtils;
+import org.nl.common.exception.BadRequestException;
+import org.nl.common.utils.MapOf;
+
+import java.util.Map;
+
+/**
+ * 任务枚举类
+ *
+ * @author Liuxy
+ * @Date 2025/05/26
+ */
+@AllArgsConstructor
+@Getter
+public enum TaskEnum {
+
+ // ACS有限级别
+ ACS_PRIORITY(MapOf.of("1", "1", "2", "2", "3", "4"))
+ ;
+
+ private Map code;
+
+ public String code(String desc) {
+ String code = this.getCode().get(desc);
+ if (StringUtils.isNotEmpty(code)) {
+ return code;
+ }
+ throw new BadRequestException(this.name() + "对应类型" + desc + "未定义");
+ }
+
+ public String check(String code) {
+ for (Map.Entry entry : this.getCode().entrySet())
+ if (entry.getValue().equals("code")) {
+ return entry.getValue();
+ }
+ throw new BadRequestException(this.name() + "对应类型" + code + "未定义");
+ }
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java
index f93195e..c87e3a5 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java
@@ -23,6 +23,7 @@ import org.nl.wms.sch_manage.service.dto.SchBasePointQuery;
import org.nl.wms.sch_manage.service.util.PointUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
@@ -73,6 +74,7 @@ public class SchBasePointServiceImpl extends ServiceImpl ids) {
// 真删除
pointMapper.deleteBatchIds(ids);
@@ -163,6 +167,7 @@ public class SchBasePointServiceImpl extends ServiceImpl().eq(SchBaseTaskconfig::getConfig_code, entity.getConfig_code()));
if (ObjectUtil.isNotEmpty(schBaseTaskconfig)) {
@@ -93,6 +95,7 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl ids) {
// 真删除
schBaseTaskconfigMapper.deleteBatchIds(ids);
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java
new file mode 100644
index 0000000..17d1300
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java
@@ -0,0 +1,162 @@
+package org.nl.wms.sch_manage.service.util.tasks;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.nl.common.exception.BadRequestException;
+import org.nl.common.utils.SecurityUtils;
+import org.nl.config.IdUtil;
+import org.nl.wms.sch_manage.enums.TaskStatus;
+import org.nl.wms.sch_manage.service.ISchBaseTaskService;
+import org.nl.wms.sch_manage.service.dao.SchBaseTask;
+import org.nl.wms.sch_manage.service.util.AbstractTask;
+import org.nl.wms.sch_manage.service.util.AcsTaskDto;
+import org.nl.wms.sch_manage.service.util.TaskType;
+import org.nl.wms.warehouse_management.service.IStIvtMoveinvService;
+import org.nl.wms.warehouse_management.service.IStIvtMoveinvdtlService;
+import org.nl.wms.warehouse_management.service.dao.StIvtMoveinvdtl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @Author: Liuxy
+ * @Description: 移库任务类
+ * @Date: 2025/5/25
+ */
+@Component(value = "MoveTask")
+@TaskType("MoveTask")
+public class MoveTask extends AbstractTask {
+
+ /**
+ * 任务服务类
+ */
+ @Autowired
+ private ISchBaseTaskService taskService;
+
+ /**
+ * 移库主表服务类
+ */
+ @Autowired
+ private IStIvtMoveinvService iStIvtMoveinvService;
+
+ /**
+ * 移库明细服务类
+ */
+ @Autowired
+ private IStIvtMoveinvdtlService iStIvtMoveinvdtlService;
+
+ @Override
+ public String create(JSONObject json) {
+ SchBaseTask task = new SchBaseTask();
+ task.setTask_id(IdUtil.getStringId());
+ task.setTask_code(IdUtil.getStringId());
+ task.setTask_status(TaskStatus.CREATE.getCode());
+ task.setConfig_code(json.getString("config_code"));
+ task.setPoint_code1(json.getString("point_code1"));
+ task.setPoint_code2(json.getString("point_code2"));
+ task.setVehicle_code(json.getString("vehicle_code"));
+ task.setRequest_param(json.toString());
+ task.setPriority(json.getString("Priority"));
+ task.setCreate_id(SecurityUtils.getCurrentUserId());
+ task.setCreate_name(SecurityUtils.getCurrentNickName());
+ task.setCreate_time(DateUtil.now());
+ taskService.save(task);
+ return task.getTask_id();
+ }
+
+ @Override
+ public AcsTaskDto sendAcsParam(String taskId) {
+ SchBaseTask taskDao = taskService.getById(taskId);
+
+ // 组织下发给acs的数据
+ AcsTaskDto acsTaskDto = new AcsTaskDto();
+ acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
+ acsTaskDto.setTask_code(taskDao.getTask_code());
+ acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
+ acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
+ acsTaskDto.setPriority(taskDao.getPriority());
+ acsTaskDto.setTask_type("1");
+ return acsTaskDto;
+ }
+
+ @Override
+ protected void updateStatus(String task_code, TaskStatus status) {
+ // 校验任务
+ SchBaseTask taskObj = taskService.getByCode(task_code);
+ if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
+ throw new BadRequestException("该任务已完成!");
+ }
+ if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
+ throw new BadRequestException("该任务已取消!");
+ }
+ // 根据传来的类型去对任务进行操作
+ if (status.equals(TaskStatus.EXECUTING)) {
+ // 更新明细状态
+ iStIvtMoveinvService.executing(taskObj);
+ taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
+ taskObj.setRemark("执行中");
+ taskService.updateById(taskObj);
+ }
+ if (status.equals(TaskStatus.FINISHED)) {
+ this.finishTask(taskObj);
+ }
+ if (status.equals(TaskStatus.CANCELED)) {
+ this.cancelTask(taskObj);
+ }
+ }
+
+ @Override
+ public void forceFinish(String task_code) {
+ SchBaseTask taskObj = taskService.getByCode(task_code);
+ if (ObjectUtil.isEmpty(taskObj)) {
+ throw new BadRequestException("该任务不存在");
+ }
+ this.finishTask(taskObj);
+ }
+
+ @Override
+ public void cancel(String task_code) {
+ SchBaseTask taskObj = taskService.getByCode(task_code);
+ if (ObjectUtil.isEmpty(taskObj)) {
+ throw new BadRequestException("该任务不存在");
+ }
+ if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) {
+ throw new BadRequestException("只能取消生成中的任务!");
+ }
+ this.cancelTask(taskObj);
+ }
+
+ @Override
+ public void backMes(String task_code) {
+ }
+
+ @Transactional
+ public void finishTask(SchBaseTask taskObj) {
+ // 完成任务
+ StIvtMoveinvdtl dtlDao = iStIvtMoveinvdtlService.getOne(
+ new QueryWrapper().lambda()
+ .eq(StIvtMoveinvdtl::getTask_id, taskObj.getTask_id())
+ );
+ iStIvtMoveinvService.confirmTask(dtlDao);
+ // 更新任务状态
+ taskObj.setRemark("已完成");
+ taskObj.setTask_status(TaskStatus.FINISHED.getCode());
+ taskService.updateById(taskObj);
+ }
+
+ @Transactional
+ public void cancelTask(SchBaseTask taskObj) {
+ // 删除任务
+ StIvtMoveinvdtl dtlDao = iStIvtMoveinvdtlService.getOne(
+ new QueryWrapper().lambda()
+ .eq(StIvtMoveinvdtl::getTask_id, taskObj.getTask_id())
+ );
+ iStIvtMoveinvService.cancelTask(dtlDao);
+ // 更新任务状态
+ taskObj.setRemark("已取消");
+ taskObj.setTask_status(TaskStatus.CANCELED.getCode());
+ taskService.updateById(taskObj);
+ }
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/MoveStorController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/MoveStorController.java
new file mode 100644
index 0000000..5c0b918
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/MoveStorController.java
@@ -0,0 +1,84 @@
+package org.nl.wms.warehouse_management.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.nl.common.base.TableDataInfo;
+import org.nl.common.domain.query.PageQuery;
+import org.nl.common.logging.annotation.Log;
+import org.nl.wms.warehouse_management.service.IStIvtMoveinvService;
+import org.nl.wms.warehouse_management.service.dto.MoveInsertDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+import java.util.Set;
+
+/**
+ *
+ * 基础分类表 控制层
+ *
+ *
+ * @author Liuxy
+ * @since 2025-05-26
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/api/moveStor")
+@Slf4j
+public class MoveStorController {
+
+ @Autowired
+ private IStIvtMoveinvService iStIvtMoveinvService;
+
+ @GetMapping
+ @Log("查询移库单")
+ public ResponseEntity