diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdGroupbucketMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdGroupbucketMapper.xml
index 3167d61..4641959 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdGroupbucketMapper.xml
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdGroupbucketMapper.xml
@@ -79,7 +79,8 @@
LEFT JOIN st_ivt_structattr ss ON mg.bucket_code = ss.storagevehicle_code
LEFT JOIN md_me_materialbase m ON m.material_id = mg.material_id
LEFT JOIN md_pb_classstandard class ON class.class_id = m.material_type_id
- WHERE IFNULL( ss.storagevehicle_code, '' ) ]]> ''
+ INNER JOIN md_pb_storagevehicleext ext ON ext.material_id = mg.material_id AND ext.pcsn = mg.pcsn AND mg.bucket_code = ext.storagevehicle_code
+ WHERE IFNULL( ss.storagevehicle_code, '' ) ]]> '' AND ext.canuse_qty != 0
AND mg.material_id = #{material_id}
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 ce19078..de478ee 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
@@ -86,6 +86,7 @@ public class StructattrServiceImpl extends ServiceImpl(page.getPage() + 1 ,page.getSize()), new LambdaQueryWrapper()
.eq(StrUtil.isNotEmpty(stor_id),Structattr::getStor_id, stor_id)
@@ -95,6 +96,7 @@ public class StructattrServiceImpl extends ServiceImpl handler(List list, StrategyStructParam param) {
log.info("---------执行middle入库分配规则---------");
@@ -69,8 +77,18 @@ public class MiddleRuleHandler extends Decisioner extDaoLikeList = extList.stream()
.filter(row -> row.getMaterial_id().equals(strategyMater.getMaterial_id())
&& row.getPcsn().equals(strategyMater.getPcsn())
).collect(Collectors.toList());
if (ObjectUtil.isEmpty(extDaoLikeList)) {
+ // 判断是否有任务
+ Structattr attr = this.taskLikeMaterial(json);
+ if (ObjectUtil.isNotEmpty(attr)) {
+ resuList.add(attr);
+ return resuList;
+ }
// 为空:查询空的一组可用货位
return this.queryAttrGroup(structattr,param.getExt_id());
}
@@ -121,6 +144,12 @@ public class MiddleRuleHandler extends Decisioner extList = iMdPbStoragevehicleextService.list(
@@ -188,8 +217,8 @@ public class MiddleRuleHandler extends Decisioner taskList = taskService.list(
+ new QueryWrapper().lambda()
+ .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
+ .eq(SchBaseTask::getIs_delete, IOSConstant.ZERO)
+ .in(SchBaseTask::getPoint_code1, "CZJT01", "CZJT02")
+ );
+
+ // 校验是否有正在执行的任务
+ for (SchBaseTask task : taskList) {
+ JSONObject request = JSONObject.parseObject(task.getRequest_param());
+ String material_id = request.getString("material_id");
+ String pcsn = request.getString("pcsn");
+
+ if (json.getString("material_id").equals(material_id) && json.getString("pcsn").equals(pcsn)) {
+ // 找对应组的仓位
+ Structattr attrLike = iStructattrService.getOne(
+ new QueryWrapper().lambda()
+ .eq(Structattr::getStruct_code, task.getPoint_code2())
+ );
+ List attrListRest = iStructattrService.list(
+ new QueryWrapper().lambda()
+ .eq(Structattr::getSect_id, IOSEnum.SECT_ID.code("中间站库区"))
+ .eq(Structattr::getBlock_num, attrLike.getBlock_num())
+ .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
+ .eq(Structattr::getIs_delete, IOSConstant.ZERO)
+ .eq(Structattr::getIs_used, IOSConstant.ONE)
+ .and(row -> row.isNull(Structattr::getStoragevehicle_code)
+ .or().eq(Structattr::getStoragevehicle_code, "")
+ )
+ .orderByAsc(Structattr::getStruct_code)
+ );
+ structattr = attrListRest.stream().findFirst().orElse(null);
+ break;
+ }
+ }
+ return structattr;
+ }
+
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/controller/AcsToWmsController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/controller/AcsToWmsController.java
index 0948fb5..2a3eecc 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/controller/AcsToWmsController.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/controller/AcsToWmsController.java
@@ -49,4 +49,18 @@ public class AcsToWmsController {
return new ResponseEntity<>(acsToWmsService.applyTask(whereJson), HttpStatus.OK);
}
+ @PostMapping("/getConfirm")
+ @Log(value = "ACS向WMS反馈取货完成")
+ @SaIgnore
+ public ResponseEntity