+ * 该方法将传入的整数值转换为至少3位数的字符串表示形式,
+ * 如果原始数字不足3位,则在前面补0;如果等于3位则直接返回;
+ * 超过3位时也直接返回原始字符串。
+ *
+ * @param value 需要格式化的整数值,用于生成订单号
+ * @return 至少3位数的订单号字符串
+ */
+ public String generateOrder(Integer value){
+ // 检查数字长度是否小于3位
+ if (value.toString().length()<3){
+ // 使用格式化确保返回3位数字符串,不足部分用0填充
+ return String.format("%03d", value);
+ // 检查数字长度是否正好是3位
+ }else if (value.toString().length()==3){
+ // 直接返回原值的字符串形式
+ return value.toString();
+ }
+ // 对于长度超过3位的情况,直接返回原值的字符串形式
+ return value.toString();
+ }
+
+}
diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java
index 9761a2c9..7a368247 100644
--- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java
+++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java
@@ -14,6 +14,7 @@ import org.dromara.common.core.domain.R;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.Utils.UniqueCodeUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
@@ -199,6 +200,27 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
private void validEntityBeforeSave(WmsCheckTask entity){
validCronBeforeSave(entity);
// TODO 唯一性等业务校验可在此补充
+
+ // 验证编码唯一性
+ UniqueCodeUtils.validateCodeUnique(
+ baseMapper,
+ entity.getTaskCode(),
+ WmsCheckTask::getTaskCode,
+ WmsCheckTask::getTaskId,
+ entity.getTaskId(),
+ "编码已存在"
+ );
+
+ // 验证名称唯一性
+ UniqueCodeUtils.validateCodeUnique(
+ baseMapper,
+ entity.getTaskName(),
+ WmsCheckTask::getTaskName,
+ WmsCheckTask::getTaskId,
+ entity.getTaskId(),
+ "名称已存在"
+ );
+
}
/**
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java
new file mode 100644
index 00000000..64ccd5d6
--- /dev/null
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java
@@ -0,0 +1,47 @@
+package org.dromara.job.snailjob;
+
+import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
+import com.aizuda.snailjob.client.job.core.dto.JobArgs;
+import com.aizuda.snailjob.client.model.ExecuteResult;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.common.core.domain.R;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+@Component
+@JobExecutor(name = "wsmCheckTsk")
+public class WmsCheckTaskExecutor {
+
+ private static final ObjectMapper objectMapper = new ObjectMapper();
+
+
+ @DubboReference(timeout = 15000)
+ private org.dromara.wms.api.RemoteInventoryCheckService remoteInventoryCheckService;
+
+
+ public WmsCheckTaskExecutor(org.dromara.wms.api.RemoteInventoryCheckService remoteInventoryCheckService) {
+ this.remoteInventoryCheckService = remoteInventoryCheckService;
+ }
+
+
+ public ExecuteResult jobExecute(JobArgs jobArgs) {
+ try {
+ String jsonStr = String.valueOf(jobArgs.getJobParams());
+ // 将 JSON 字符串转为 Map
+ Map