diff --git a/pom.xml b/pom.xml
index 1181acf..b5219df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -267,46 +267,46 @@
-
-
- public
- aliyun nexus
- https://maven.aliyun.com/repository/public
-
- true
-
-
-
- spring-milestones
- spring Milestones
- https://repo.spring.io/milestone
-
- false
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- spring-snapshots
- Spring Snapshots
- https://repo.spring.io/snapshot
-
- false
-
-
-
+
+
+
+
+
+
+
+
+
-
-
- public
- aliyun nexus
- https://maven.aliyun.com/repository/public
-
- true
-
-
- false
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index c3d5860..851b4d2 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -125,6 +125,7 @@
com.microsoft.sqlserver
mssql-jdbc
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java
index b450df4..465b485 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java
@@ -17,6 +17,7 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.uuid.UUID;
+import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.log.domain.RequestLog;
import com.ruoyi.log.service.IRequestLogService;
import com.ruoyi.out.outStockout.domain.OutStockout;
@@ -127,6 +128,13 @@ public class ToWmsApiController {
return ajaxResult;
}
+ @PostMapping("/requestInSpace")
+ public AjaxResult requestInSpace(@RequestBody ReMaterialParam reMaterialParam) {
+ AjaxResult ajaxResult = toWmsService.requestInSpace(reMaterialParam);
+ RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "requestInSpace", ajaxResult);
+ requestLogService.insertRequestLog(requestLog);
+ return ajaxResult;
+ }
/**
* 出库单据保存
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java
index b821ace..0424d6c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java
@@ -62,4 +62,6 @@ public interface IToWmsService {
* 作废物料
*/
AjaxResult InvalidProduct(BasProduct basProduct);
+
+ AjaxResult requestInSpace(ReMaterialParam reMaterialParam);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java
index 3a5d329..c4dd546 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java
@@ -224,7 +224,6 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJob.setTrayCode(serial);
mydoJob.setLineId(erpBill);
mydoJob.setDepartmentId(String.valueOf(size));
- mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
mydoJob.setEntranceId(requestEnter.getEntranceId());
mydoJob.setClassId(requestEnter.getFloor());
mydoJobService.insertMydoJob(mydoJob);
@@ -253,15 +252,13 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJobDetail.setStockinId(inStockId);
mydoJobDetailService.insertMydoJobDetail(mydoJobDetail);
- //修改货位状态
- basCargoSpace.setStatus("3");
- basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
-
+ //2026-01-30 优化,将入库分货位拆到巷道口处理
+// basCargoSpace.setStatus("3");
+// basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
//修改作业状态为正执行
result.put("jobId", mydoJob.getJobId());
result.put("taskNo", mydoJob.getTaskNo());
- result.put("cargoSpaceId", mydoJob.getCargoSpaceId());
result.put("trayCode", mydoJob.getTrayCode());
result.put("flag",requestEnter.getFlag());
result.put("roadwayId", mydoJob.getRoadwayId());
@@ -417,16 +414,8 @@ public class ToWmsServiceImpl implements IToWmsService {
@Override
public AjaxResult reMaterial(ReMaterialParam reMaterialParam) {
- //重新分配物料
MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId());
- MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
- mydoJobDetailParam.setJobId(mydoJob.getJobId());
- List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
- String stockOutId = mydoJobDetails.get(0).getInOrOutId();
- // 作废作业
- mydoJobService.OuthandInvalidation(new String[]{mydoJob.getJobId()});
- //调用自动分配
- return outStockoutService.autoAllot(stockOutId);
+ return mydoJobService.reMaterial(mydoJob);
}
@Override
@@ -581,6 +570,40 @@ public class ToWmsServiceImpl implements IToWmsService {
return AjaxResult.error(basProduct.getProductGuid()+"物料不存在");
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult requestInSpace(ReMaterialParam reMaterialParam) {
+ MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId());
+ if (ObjUtil.isNotNull(mydoJob)) {
+ if(mydoJob.getCargoSpaceId() != null && !"".equals(mydoJob.getCargoSpaceId())){
+ BasCargoSpace space = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
+ if (ObjUtil.isNotNull(space)) {
+ return AjaxResult.success(space);
+ }
+ }
+ BasCargoSpace basCargoSpaceParam = new BasCargoSpace();
+ basCargoSpaceParam.setWarehouseId(mydoJob.getWarehouseId());
+ basCargoSpaceParam.setRoadwayId(mydoJob.getRoadwayId());
+ BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam);
+ if (ObjUtil.isNull(basCargoSpace)) {
+ return AjaxResult.error("WCS请求入库分配货位,没有可用货位!");
+ }else{
+ try{
+ basCargoSpace.setStatus("3");
+ basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
+ mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
+ mydoJobService.updateMydoJob(mydoJob);
+ return AjaxResult.success(basCargoSpace);
+ }catch (Exception e){
+ e.printStackTrace();
+ return AjaxResult.error("WCS请求入库分配货位,货位分配失败!");
+ }
+ }
+ }else{
+ return AjaxResult.error("WCS请求入库分配货位,入库任务不存在!");
+ }
+ }
+
private static final Map PATTERNS = createPatterns();
private static Map createPatterns() {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java
index b2384e0..796217c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java
@@ -111,4 +111,6 @@ public interface IMydoJobService
MydoJob selectMydoJobByEntranceId(MydoJob mydoJob);
List getInJobBySerial(String serial);
+
+ AjaxResult reMaterial(MydoJob mydoJob);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java
index 2c41182..d322b72 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java
@@ -565,4 +565,29 @@ public class MydoJobServiceImpl implements IMydoJobService {
public List getInJobBySerial(String trayCode) {
return mydoJobMapper.getInJobBySerial(trayCode);
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult reMaterial(MydoJob mydoJob) {
+ try {
+ //修改货位状态
+ BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
+ if (cargoSpace != null) {
+ cargoSpace.setStatus("6");
+ basCargoSpaceService.updateBasCargoSpace(cargoSpace);
+
+ basStockMapper.deleteBySpaceAndTray(mydoJob.getCargoSpaceId(),mydoJob.getTrayCode());
+ }
+ mydoJob.setStatus("5");
+ mydoJob.setFinishTime(DateUtil.formatDateTime(DateUtil.date()));
+ updateMydoJob(mydoJob);
+ insertHistory(mydoJob.getJobId());
+ }catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ log.error("任务处理异常", e);
+ return AjaxResult.error();
+ }
+ return AjaxResult.success();
+
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java
index cf9f1f1..3d9d0a2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java
@@ -2,6 +2,7 @@ package com.ruoyi.stock.stock.mapper;
import com.ruoyi.stock.stock.domain.BasStock;
import org.apache.ibatis.annotations.Param;
+import org.springframework.security.core.parameters.P;
import java.util.List;
@@ -70,4 +71,6 @@ public interface BasStockMapper
void resetPdRecord();
List getStockBySerial(String trayCode);
+
+ void deleteBySpaceAndTray(@Param("cargoSpaceId") String cargoSpaceId, @Param("trayCode") String trayCode);
}
diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml
index 86b54e1..0c21a0c 100644
--- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml
@@ -248,4 +248,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+ delete from bas_stock where tray_code = #{trayCode} and cargo_space_id=#{cargoSpaceId}
+