add:增加打包间子卷信息展示

This commit is contained in:
zhangzq
2025-03-11 11:45:15 +08:00
parent 34918c8721
commit 57afe00a14
14 changed files with 59 additions and 44 deletions

View File

@@ -196,7 +196,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("手工入库"));
}
whereJson.put("box_no", whereJson.getString("box_no"));
JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status = '0'").getResultJSONArray(0);
JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status in ('0','1')").getResultJSONArray(0);
if (ObjectUtil.isEmpty(resultJSONArray)) {
throw new BadRequestException("未查询到子卷包装信息!");
}

View File

@@ -181,6 +181,7 @@ public class DjqTask extends AbstractAcsTask {
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -159,6 +159,7 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -130,6 +130,7 @@ public class GzqTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -142,6 +142,7 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -117,6 +117,7 @@ public class SendDjqKzjTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -116,6 +116,7 @@ public class SendGzqKzjTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -115,6 +115,7 @@ public class ShiftingTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -194,6 +194,7 @@ public class ZxDjwTask extends AbstractAcsTask {
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -288,6 +288,7 @@ public class ZxqTask extends AbstractAcsTask {
}
@Override
@Transactional
public String createTask(JSONObject form) {
Assert.notNull(form, "请求参数不能为空");
String taskType = form.getString("task_type");

View File

@@ -161,62 +161,67 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
}
}
// 确定巷道:找相同规格木箱的最多的巷道
if (ObjectUtil.isEmpty(block_num)) {
block_num = getMaxBlock(whereJson);
}
// 确定排:找某一巷道规格木箱的最多排
whereJson.put("block_num", block_num);
String row_num = getMaxRow(whereJson);
// 确定仓位
whereJson.put("row_num", row_num);
whereJson.put("notMove",true);
JSONObject jsonAttr = getBox(whereJson);
// 为空则新找巷道
if (ObjectUtil.isEmpty(jsonAttr)) {
whereJson.put("flag", "1");
notOutBlockList.add(whereJson.getString("block_num"));
String join = "('" + String.join("','", notOutBlockList) + "')";
whereJson.put("not_block_id", join);
List<JSONObject> blockList = WQL.getWO("BST_OUTBOX").addParamMap(whereJson)
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
for (int i = 0; i < blockList.size(); i++) {
JSONObject json = blockList.get(i);
json.put("stor_id", whereJson.getString("stor_id"));
json.put("sect_id", whereJson.getString("sect_id"));
json.put("box_length", whereJson.getString("box_length"));
json.put("box_width", whereJson.getString("box_width"));
json.put("box_high", whereJson.getString("box_high"));
json.put("num", whereJson.getString("num"));
String row_num_2 = getMaxRow(json);
json.put("row_num", row_num_2);
JSONObject jsonAttr_2 = getBox(json);
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
jsonAttr = jsonAttr_2;
break;
} else {
continue;
JSONObject jsonBox;
if (structArray.size() == 1){
jsonBox = structArray.getJSONObject(0);
}else {
//大于一个的话则走查找逻辑
// 确定巷道:找相同规格木箱的最多的巷道
if (ObjectUtil.isEmpty(block_num)) {
block_num = getMaxBlock(whereJson);
}
// 确定排:找某一巷道规格木箱的最多排
whereJson.put("block_num", block_num);
String row_num = getMaxRow(whereJson);
// 确定仓位
whereJson.put("row_num", row_num);
whereJson.put("notMove",true);
jsonBox = getBox(whereJson);
// 为空则新找巷道
if (ObjectUtil.isEmpty(jsonBox)) {
whereJson.put("flag", "1");
notOutBlockList.add(whereJson.getString("block_num"));
String join = "('" + String.join("','", notOutBlockList) + "')";
whereJson.put("not_block_id", join);
List<JSONObject> blockList = WQL.getWO("BST_OUTBOX").addParamMap(whereJson)
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
for (int i = 0; i < blockList.size(); i++) {
JSONObject json = blockList.get(i);
json.put("stor_id", whereJson.getString("stor_id"));
json.put("sect_id", whereJson.getString("sect_id"));
json.put("box_length", whereJson.getString("box_length"));
json.put("box_width", whereJson.getString("box_width"));
json.put("box_high", whereJson.getString("box_high"));
json.put("num", whereJson.getString("num"));
String row_num_2 = getMaxRow(json);
json.put("row_num", row_num_2);
JSONObject jsonAttr_2 = getBox(json);
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
jsonBox = jsonAttr_2;
break;
}
}
}
}
if (ObjectUtil.isEmpty(jsonAttr)) {
if (ObjectUtil.isEmpty(jsonBox)) {
notOutRowList.clear();
notOutBlockList.clear();
throw new BadRequestException("没有符合规格的木箱!");
}
// 查询木箱对应的托盘号
JSONObject jsonVeExt = veExtTab.query("pcsn = '" + jsonAttr.getString("storagevehicle_code") + "'")
JSONObject jsonVeExt = veExtTab.query("pcsn = '" + jsonBox.getString("storagevehicle_code") + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(jsonVeExt)) {
throw new BadRequestException("此木箱没有绑定托盘号!"+jsonAttr.getString("storagevehicle_code"));
throw new BadRequestException("此木箱没有绑定托盘号!"+jsonBox.getString("storagevehicle_code"));
}
// 锁定起点
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("验箱出库锁"));
attrTab.update(jsonAttr);
jsonBox.put("lock_type", IOSEnum.LOCK_TYPE.code("验箱出库锁"));
attrTab.update(jsonBox);
// 清空缓存
notOutRowList.clear();
notOutBlockList.clear();
return jsonAttr.getString("storagevehicle_code");
return jsonBox.getString("storagevehicle_code");
}
@Override

View File

@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/szls")
@RequestMapping("/api/szls/getStructInfo")
@Slf4j
public class LmsToBigScreenController {
private final LmsToBigScreenService LmsToBigScreenService;

View File

@@ -6,7 +6,7 @@ spring:
freemarker:
check-template-location: false
profiles:
active: dev
active: prod
jackson:
time-zone: GMT+8
data:

View File

@@ -134,6 +134,7 @@ https://juejin.cn/post/6844903775631572999
<root level="info">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="jdbc" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>