rev:1.移库自动扩容2.虚拟区自动扩容3.出库设置任务报错信息信息优化
This commit is contained in:
@@ -24,7 +24,9 @@ import org.nl.wms.basedata.st.service.StorattrService;
|
|||||||
import org.nl.wms.basedata.st.service.StructattrService;
|
import org.nl.wms.basedata.st.service.StructattrService;
|
||||||
import org.nl.wms.basedata.st.service.dto.StorattrDto;
|
import org.nl.wms.basedata.st.service.dto.StorattrDto;
|
||||||
import org.nl.wms.basedata.st.service.dto.StructattrDto;
|
import org.nl.wms.basedata.st.service.dto.StructattrDto;
|
||||||
|
import org.nl.wms.basedata.st.service.impl.StructattrServiceImpl;
|
||||||
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
|
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
|
||||||
|
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
|
||||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.nl.wms.sch.service.PointService;
|
import org.nl.wms.sch.service.PointService;
|
||||||
@@ -41,6 +43,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PC端出入库新增
|
* PC端出入库新增
|
||||||
@@ -64,6 +67,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
|
|
||||||
private final RedissonClient redissonClient;
|
private final RedissonClient redissonClient;
|
||||||
|
|
||||||
|
private JSONObject struct_jo = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> pageQuery(Map whereJson, Pageable page) {
|
public Map<String, Object> pageQuery(Map whereJson, Pageable page) {
|
||||||
@@ -551,6 +555,18 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
//判断是否为主存区,主存区调用自动分配,虚拟区调用普通查询
|
//判断是否为主存区,主存区调用自动分配,虚拟区调用普通查询
|
||||||
if (StrUtil.isNotEmpty(need_sect) && !"00".equals(need_sect_jo.getString("sect_type_attr"))) {
|
if (StrUtil.isNotEmpty(need_sect) && !"00".equals(need_sect_jo.getString("sect_type_attr"))) {
|
||||||
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("sect_id = '" + need_sect + "' AND lock_type = '1' AND is_delete = '0' AND IFNULL( storagevehicle_code, '' ) = ''").uniqueResult(0);
|
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("sect_id = '" + need_sect + "' AND lock_type = '1' AND is_delete = '0' AND IFNULL( storagevehicle_code, '' ) = ''").uniqueResult(0);
|
||||||
|
// 如果为空则扩容
|
||||||
|
if (ObjectUtil.isEmpty(struct_jo)) {
|
||||||
|
JSONObject jsonParam = new JSONObject();
|
||||||
|
jsonParam.put("sect_id", whereJson.get("sect_id"));
|
||||||
|
jsonParam.put("stor_id", whereJson.get("stor_id"));
|
||||||
|
jsonParam.put("num", 50);
|
||||||
|
|
||||||
|
StructattrServiceImpl bean = SpringContextHolder.getBean(StructattrServiceImpl.class);
|
||||||
|
bean.oneCreate(jsonParam);
|
||||||
|
|
||||||
|
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("sect_id = '" + need_sect + "' AND lock_type = '1' AND is_delete = '0' AND IFNULL( storagevehicle_code, '' ) = ''").uniqueResult(0);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
jo_form.put("sect_id", whereJson.get("sect_id"));
|
jo_form.put("sect_id", whereJson.get("sect_id"));
|
||||||
struct_jo = this.autoDis(jo_form);
|
struct_jo = this.autoDis(jo_form);
|
||||||
@@ -1359,8 +1375,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
* */
|
* */
|
||||||
|
|
||||||
|
|
||||||
JSONObject struct_jo = new JSONObject();
|
|
||||||
|
|
||||||
String box_no = whereJson.getString("box_no");
|
String box_no = whereJson.getString("box_no");
|
||||||
|
|
||||||
String sect_id = whereJson.getString("sect_id");
|
String sect_id = whereJson.getString("sect_id");
|
||||||
@@ -1728,7 +1742,9 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(struct_jo)) {
|
if (ObjectUtil.isEmpty(struct_jo)) {
|
||||||
throw new BadRequestException("未查询到可用的仓位!");
|
// 主存区类型更改成中转区类型:找一排主存区的更改中转区、把一排中转区的更改成主存区(只允许调用一次)
|
||||||
|
updateStructSect(col_num);
|
||||||
|
autoDisMove(whereJson);
|
||||||
}
|
}
|
||||||
return struct_jo;
|
return struct_jo;
|
||||||
}
|
}
|
||||||
@@ -2115,4 +2131,107 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
|||||||
map.put("bill_status", "99");
|
map.put("bill_status", "99");
|
||||||
dtl_wql.update(map, "iostorinv_id = '" + mst_row.get("iostorinv_id") + "'");
|
dtl_wql.update(map, "iostorinv_id = '" + mst_row.get("iostorinv_id") + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateStructSect(String layer_num) {
|
||||||
|
WQLObject attr = WQLObject.getWQLObject("st_ivt_structattr");
|
||||||
|
WQLObject point = WQLObject.getWQLObject("sch_base_point");
|
||||||
|
/*
|
||||||
|
* 1.将主存区的一排更改为中转区
|
||||||
|
* 2.将中转区的一排更改为主存区
|
||||||
|
*/
|
||||||
|
String block_num = "";
|
||||||
|
String row_num = "";
|
||||||
|
// 1.找主存区数量小的一排转为中转区
|
||||||
|
// 根据块、排进行分组,优先空排 -> 有货数量少的
|
||||||
|
List<JSONObject> attrListAllEmp = WQL.getWO("ST_UPDATESTRUCTSECT_01").addParam("flag", "1")
|
||||||
|
.addParam("layer_num", layer_num).process().getResultJSONArray(0)
|
||||||
|
.toJavaList(JSONObject.class);
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(attrListAllEmp)) {
|
||||||
|
// 如果为空则查找有空位的排
|
||||||
|
List<JSONObject> attrListEmp = WQL.getWO("ST_UPDATESTRUCTSECT_01").addParam("flag", "2")
|
||||||
|
.addParam("layer_num", layer_num).process().getResultJSONArray(0)
|
||||||
|
.toJavaList(JSONObject.class);
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(attrListEmp)) {
|
||||||
|
throw new BadRequestException("自动扩容失败,主存区没有空位可扩容!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断是这排是否被锁住
|
||||||
|
String block_num_in = attrListEmp.stream()
|
||||||
|
.map(row -> row.getString("block_num"))
|
||||||
|
.collect(Collectors.joining("','"));
|
||||||
|
|
||||||
|
String row_num_in = attrListEmp.stream()
|
||||||
|
.map(row -> row.getString("row_num"))
|
||||||
|
.collect(Collectors.joining("','"));
|
||||||
|
|
||||||
|
List<JSONObject> rowList = attr.query("block_num in ('" + block_num_in + "') AND row_num in ('" + row_num_in + "') and layer_num = '" + layer_num + "' and sect_code = 'ZC01'")
|
||||||
|
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
|
|
||||||
|
for (int i = 0; i < attrListEmp.size(); i++) {
|
||||||
|
JSONObject json = attrListEmp.get(i);
|
||||||
|
|
||||||
|
List<JSONObject> collect = rowList.stream()
|
||||||
|
.filter(row -> row.getString("block_num").equals(json.getString("block_num")) &&
|
||||||
|
row.getString("row_num").equals(json.getString("row_num"))
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 判断是否全部都为未锁定
|
||||||
|
boolean isLock = collect.stream()
|
||||||
|
.allMatch(row -> row.getString("lock_type").equals("1"));
|
||||||
|
|
||||||
|
if (!isLock) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
block_num = json.getString("block_num");
|
||||||
|
row_num = json.getString("row_num");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
JSONObject json = attrListAllEmp.get(0);
|
||||||
|
block_num = json.getString("block_num");
|
||||||
|
row_num = json.getString("row_num");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2.将中转区的一排更改为主存区
|
||||||
|
// 查询中转区满的一排
|
||||||
|
List<JSONObject> attrListAllNoEmp = WQL.getWO("ST_UPDATESTRUCTSECT_01").addParam("flag", "3")
|
||||||
|
.addParam("layer_num", layer_num).process().getResultJSONArray(0)
|
||||||
|
.toJavaList(JSONObject.class);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(attrListAllNoEmp)) {
|
||||||
|
// 更新仓位为主存区
|
||||||
|
JSONObject jsonParam2 = new JSONObject();
|
||||||
|
jsonParam2.put("sect_id", RegionTypeEnum.ZC01.getId());
|
||||||
|
jsonParam2.put("sect_code", "ZC01");
|
||||||
|
jsonParam2.put("sect_name", RegionTypeEnum.ZC01.getName());
|
||||||
|
|
||||||
|
JSONObject json = attrListAllNoEmp.get(0);
|
||||||
|
// 更新仓位
|
||||||
|
attr.update(jsonParam2,"sect_code = 'ZZ01' AND block_num = '"+json.getString("block_num")+"' AND row_num = '"+json.getString("row_num")+"' AND layer_num = '"+layer_num+"'");
|
||||||
|
|
||||||
|
// 更新点位
|
||||||
|
jsonParam2.put("region_id", RegionTypeEnum.ZC01.getId());
|
||||||
|
jsonParam2.put("region_code", "ZC01");
|
||||||
|
jsonParam2.put("region_name", RegionTypeEnum.ZC01.getName());
|
||||||
|
point.update(jsonParam2,"region_code = 'ZZ01' AND block_num = '"+json.getString("block_num")+"' AND row_num = '"+json.getString("row_num")+"' AND layer_num = '"+layer_num+"'");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新仓位为中转区
|
||||||
|
JSONObject jsonParam = new JSONObject();
|
||||||
|
jsonParam.put("sect_id", RegionTypeEnum.ZZ01.getId());
|
||||||
|
jsonParam.put("sect_code", "ZZ01");
|
||||||
|
jsonParam.put("sect_name", RegionTypeEnum.ZZ01.getName());
|
||||||
|
attr.update(jsonParam,"sect_code = 'ZC01' AND block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND layer_num = '"+layer_num+"'");
|
||||||
|
|
||||||
|
// 更新点位
|
||||||
|
jsonParam.put("region_id", RegionTypeEnum.ZZ01.getId());
|
||||||
|
jsonParam.put("region_code", "ZZ01");
|
||||||
|
jsonParam.put("region_name", RegionTypeEnum.ZZ01.getName());
|
||||||
|
point.update(jsonParam,"region_code = 'ZC01' AND block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND layer_num = '"+layer_num+"'");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,214 @@
|
|||||||
|
[交易说明]
|
||||||
|
交易名: 更新仓位属性查询
|
||||||
|
所属模块:
|
||||||
|
功能简述:
|
||||||
|
版权所有:
|
||||||
|
表引用:
|
||||||
|
版本经历:
|
||||||
|
|
||||||
|
[数据库]
|
||||||
|
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||||
|
|
||||||
|
[IO定义]
|
||||||
|
#################################################
|
||||||
|
## 表字段对应输入参数
|
||||||
|
#################################################
|
||||||
|
输入.flag TYPEAS s_string
|
||||||
|
输入.layer_num TYPEAS s_string
|
||||||
|
|
||||||
|
[临时表]
|
||||||
|
--这边列出来的临时表就会在运行期动态创建
|
||||||
|
|
||||||
|
[临时变量]
|
||||||
|
--所有中间过程变量均可在此处定义
|
||||||
|
|
||||||
|
[业务过程]
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 1、输入输出检查 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 2、主过程前处理 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 3、业务主过程 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
IF 输入.flag = "1"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num,
|
||||||
|
COUNT( sa.struct_code ) AS struct_num
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa
|
||||||
|
WHERE
|
||||||
|
sa.is_delete = '0'
|
||||||
|
AND sa.is_used = '1'
|
||||||
|
AND sa.sect_code = 'ZC01'
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
sa.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num
|
||||||
|
) a
|
||||||
|
WHERE
|
||||||
|
EXISTS (
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
block_num,
|
||||||
|
row_num,
|
||||||
|
COUNT( sa2.struct_code ) AS struct_num
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa2
|
||||||
|
WHERE
|
||||||
|
sa2.lock_type = '1'
|
||||||
|
AND sa2.is_used = '1'
|
||||||
|
AND sa2.is_delete = '0'
|
||||||
|
AND sa2.sect_code = 'ZC01'
|
||||||
|
AND IFNULL( sa2.storagevehicle_code, '' ) = ''
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
sa2.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa2.block_num,
|
||||||
|
sa2.row_num
|
||||||
|
) b
|
||||||
|
WHERE
|
||||||
|
b.block_num = a.block_num
|
||||||
|
AND b.row_num = a.row_num
|
||||||
|
AND a.struct_num = b.struct_num
|
||||||
|
) ORDER BY struct_num DESC
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "2"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num,
|
||||||
|
COUNT( sa.struct_code ) AS struct_num
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa
|
||||||
|
WHERE
|
||||||
|
sa.is_delete = '0'
|
||||||
|
AND sa.is_used = '1'
|
||||||
|
AND sa.lock_type = '1'
|
||||||
|
AND sa.sect_code = 'ZC01'
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
sa.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num
|
||||||
|
) a
|
||||||
|
WHERE
|
||||||
|
EXISTS (
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
block_num,
|
||||||
|
row_num,
|
||||||
|
COUNT( sa2.struct_code ) AS struct_num
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa2
|
||||||
|
WHERE
|
||||||
|
sa2.lock_type = '1'
|
||||||
|
AND sa2.is_used = '1'
|
||||||
|
AND sa2.is_delete = '0'
|
||||||
|
AND sa2.sect_code = 'ZC01'
|
||||||
|
AND IFNULL( sa2.storagevehicle_code, '' ) = ''
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
sa2.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa2.block_num,
|
||||||
|
sa2.row_num
|
||||||
|
) b
|
||||||
|
WHERE
|
||||||
|
b.block_num = a.block_num
|
||||||
|
AND b.row_num = a.row_num
|
||||||
|
) ORDER BY struct_num DESC
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "3"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num,
|
||||||
|
COUNT( sa.struct_code ) AS struct_num
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa
|
||||||
|
WHERE
|
||||||
|
sa.is_delete = '0'
|
||||||
|
AND sa.is_used = '1'
|
||||||
|
AND sa.lock_type = '1'
|
||||||
|
AND sa.sect_code = 'ZZ01'
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
sa.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa.block_num,
|
||||||
|
sa.row_num
|
||||||
|
) a
|
||||||
|
WHERE
|
||||||
|
EXISTS (
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
block_num,
|
||||||
|
row_num,
|
||||||
|
COUNT( sa2.struct_code ) AS struct_num
|
||||||
|
FROM
|
||||||
|
st_ivt_structattr sa2
|
||||||
|
WHERE
|
||||||
|
sa2.lock_type = '1'
|
||||||
|
AND sa2.is_used = '1'
|
||||||
|
AND sa2.is_delete = '0'
|
||||||
|
AND sa2.sect_code = 'ZZ01'
|
||||||
|
AND IFNULL( sa2.storagevehicle_code, '' ) <> ''
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
sa2.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
sa2.block_num,
|
||||||
|
sa2.row_num
|
||||||
|
) b
|
||||||
|
WHERE
|
||||||
|
b.block_num = a.block_num
|
||||||
|
AND b.row_num = a.row_num
|
||||||
|
AND a.struct_num = b.struct_num
|
||||||
|
) ORDER BY struct_num DESC
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
@@ -2671,7 +2671,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (int k = 0; k < numArr.size(); k++) {
|
for (int k = 0; k < numArr.size(); k++) {
|
||||||
JSONObject json = numArr.getJSONObject(k);
|
JSONObject json = numArr.getJSONObject(k);
|
||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ", 锁定单据号:"+json.getString("inv_code");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
||||||
@@ -2705,7 +2705,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (int k = 0; k < numArr.size(); k++) {
|
for (int k = 0; k < numArr.size(); k++) {
|
||||||
JSONObject json = numArr.getJSONObject(k);
|
JSONObject json = numArr.getJSONObject(k);
|
||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ", 锁定单据号:"+json.getString("inv_code");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
||||||
@@ -2739,7 +2739,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (int k = 0; k < numArr.size(); k++) {
|
for (int k = 0; k < numArr.size(); k++) {
|
||||||
JSONObject json = numArr.getJSONObject(k);
|
JSONObject json = numArr.getJSONObject(k);
|
||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ", 锁定单据号:"+json.getString("inv_code");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
||||||
@@ -3131,7 +3131,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (int k = 0; k < numArr.size(); k++) {
|
for (int k = 0; k < numArr.size(); k++) {
|
||||||
JSONObject json = numArr.getJSONObject(k);
|
JSONObject json = numArr.getJSONObject(k);
|
||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ", 锁定单据号:"+json.getString("inv_code");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
||||||
@@ -3163,7 +3163,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (int k = 0; k < numArr.size(); k++) {
|
for (int k = 0; k < numArr.size(); k++) {
|
||||||
JSONObject json = numArr.getJSONObject(k);
|
JSONObject json = numArr.getJSONObject(k);
|
||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ", 锁定单据号:"+json.getString("inv_code");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
||||||
@@ -3195,7 +3195,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (int k = 0; k < numArr.size(); k++) {
|
for (int k = 0; k < numArr.size(); k++) {
|
||||||
JSONObject json = numArr.getJSONObject(k);
|
JSONObject json = numArr.getJSONObject(k);
|
||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ", 锁定单据号:"+json.getString("inv_code");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务,无法生成任务!");
|
||||||
|
|||||||
Reference in New Issue
Block a user