fix:取货点未qzz_point
This commit is contained in:
@@ -3255,7 +3255,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
StructAllsetDto left = needStructs.get(0);
|
StructAllsetDto left = needStructs.get(0);
|
||||||
StructAllsetDto right = needStructs.get(needStructs.size()-1);
|
StructAllsetDto right = needStructs.get(needStructs.size()-1);
|
||||||
//确认左/右出库并根据出库顺序获取货位集合
|
//确认左/右出库并根据出库顺序获取货位集合
|
||||||
List<JSONObject> structs = 左右出库确认(needStructs, left, right);
|
List<JSONObject> structs = 左右出库确认(needStructs, left, right,whereJson.getString("iostorinv_id"));
|
||||||
//attr.struct_code,attr.lock_type,attr.storagevehicle_code,attr.inv_code,storagevehicle_code
|
//attr.struct_code,attr.lock_type,attr.storagevehicle_code,attr.inv_code,storagevehicle_code
|
||||||
List<String> needStructList = needStructs.stream().map(StructAllsetDto::getStruct_code).collect(Collectors.toList());
|
List<String> needStructList = needStructs.stream().map(StructAllsetDto::getStruct_code).collect(Collectors.toList());
|
||||||
/**
|
/**
|
||||||
@@ -3270,29 +3270,29 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
for (int i = 0; i < structs.size(); i++) {
|
for (int i = 0; i < structs.size(); i++) {
|
||||||
JSONObject item = structs.get(i);
|
JSONObject item = structs.get(i);
|
||||||
item.put("task_group_id",taskGroup);
|
item.put("task_group_id",taskGroup);
|
||||||
item.put("seq",i);
|
item.put("sort_seq",i);
|
||||||
item.put("point_code",point_code);
|
item.put("point_code",point_code);
|
||||||
item.put("point_id",jsonPoint2.getString("point_id"));
|
item.put("point_id",jsonPoint2.getString("point_id"));
|
||||||
String structCode = item.getString("struct_code");
|
String structCode = item.getString("struct_code");
|
||||||
if (CollectionUtils.isEmpty(needStructs)){
|
if (CollectionUtils.isEmpty(needStructList)){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!item.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (needStructList.contains(structCode)){
|
if (needStructList.contains(structCode)){
|
||||||
//出库
|
//出库
|
||||||
this.createOut(item);
|
this.createOut(item);
|
||||||
needStructList.remove(structCode);
|
needStructList.remove(structCode);
|
||||||
}else {
|
}else {
|
||||||
//移库
|
//移库:如果当前存在业务锁定则说明存在相关任务,不需要移库,直接跳过
|
||||||
|
if (!item.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
this.createMove(item);
|
this.createMove(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<JSONObject> 左右出库确认(List<StructAllsetDto> structs, StructAllsetDto left, StructAllsetDto right) {
|
private List<JSONObject> 左右出库确认(List<StructAllsetDto> structs, StructAllsetDto left, StructAllsetDto right,String invId) {
|
||||||
/**
|
/**
|
||||||
* 1.查询当前排被锁住的货位集合
|
* 1.查询当前排被锁住的货位集合
|
||||||
* 2.过滤仓位没有没有被其他单据锁定的货位
|
* 2.过滤仓位没有没有被其他单据锁定的货位
|
||||||
@@ -3308,9 +3308,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
//查询当前排
|
//查询当前排
|
||||||
//lock_type('2','3','6','7')
|
//lock_type('2','3','6','7')
|
||||||
// 查询仓位被锁住的货位
|
// 查询仓位被锁住的货位
|
||||||
HashMap param = MapOf.of("flag", "51", "sect_id",left.getSect_id(),"block_num", left.getBlock_num(), "row_num", left.getRow_num());
|
HashMap param = MapOf.of("invId",invId,"flag", "51", "sect_id",left.getSect_id(),"block_num", left.getBlock_num(), "row_num", left.getRow_num());
|
||||||
JSONArray allLock = WQL.getWO("ST_OUTIVT04").addParamMap(param).process().getResultJSONArray(0);
|
JSONArray allLock = WQL.getWO("ST_OUTIVT04").addParamMap(param).process().getResultJSONArray(0);
|
||||||
List<JSONObject> hasLock = this.isNumList(allLock);
|
List<JSONObject> hasLock = this.isNumList(allLock);
|
||||||
|
|
||||||
String option;
|
String option;
|
||||||
//如果货位有锁定则需要判断左右
|
//如果货位有锁定则需要判断左右
|
||||||
//口回口口回口*口口 <--->
|
//口回口口回口*口口 <--->
|
||||||
@@ -3360,8 +3361,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
//查询当前排最大order
|
//查询当前排最大order
|
||||||
HashMap maxParam = MapOf.of("flag", "52", "sect_id",left.getSect_id(),"block_num", left.getBlock_num(), "row_num", left.getRow_num());
|
HashMap maxParam = MapOf.of("flag", "52", "sect_id",left.getSect_id(),"block_num", left.getBlock_num(), "row_num", left.getRow_num());
|
||||||
JSONObject result = WQL.getWO("ST_OUTIVT04").addParamMap(maxParam).process().uniqueResult(0);
|
JSONObject result = WQL.getWO("ST_OUTIVT04").addParamMap(maxParam).process().uniqueResult(0);
|
||||||
Integer maxSeq = result.getInteger("maxSeq");
|
Integer maxSeq = result.getInteger("maxseq");
|
||||||
Integer minSeq = result.getInteger("minSeq");
|
Integer minSeq = result.getInteger("minseq");
|
||||||
int leftVe = Integer.valueOf(left.getOut_order_seq()) - minSeq;
|
int leftVe = Integer.valueOf(left.getOut_order_seq()) - minSeq;
|
||||||
int rightVe = maxSeq - Integer.valueOf(right.getOut_order_seq());
|
int rightVe = maxSeq - Integer.valueOf(right.getOut_order_seq());
|
||||||
option = leftVe>rightVe?"03":"02";
|
option = leftVe>rightVe?"03":"02";
|
||||||
@@ -3369,8 +3370,9 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
option = placementType;
|
option = placementType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//option确认了左边出库还是右边出库03左边,02右边
|
//option确认了左边出库还是右边出库03右边,02左边
|
||||||
HashMap structParam = MapOf.of("flag", "53", "out_order_seq",option,"sect_id",left.getSect_id(),"block_num", left.getBlock_num(), "row_num", left.getRow_num());
|
String orderBy = "order by out_order_seq "+(option.equals("02")?"asc":"desc");
|
||||||
|
HashMap structParam = MapOf.of("flag", "53", "order_by",orderBy,"sect_id",left.getSect_id(),"block_num", left.getBlock_num(), "row_num", left.getRow_num());
|
||||||
return WQL.getWO("ST_OUTIVT04").addParamMap(structParam).process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
return WQL.getWO("ST_OUTIVT04").addParamMap(structParam).process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
}
|
}
|
||||||
@Transactional
|
@Transactional
|
||||||
@@ -3429,7 +3431,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
form.put("point_code1", json.getString("struct_code"));
|
form.put("point_code1", json.getString("struct_code"));
|
||||||
form.put("point_code2", jsonMove.getString("struct_code"));
|
form.put("point_code2", jsonMove.getString("struct_code"));
|
||||||
form.put("task_group_id", struct.getLongValue("task_group_id")); // 任务组
|
form.put("task_group_id", struct.getLongValue("task_group_id")); // 任务组
|
||||||
form.put("sort_seq", struct.getIntValue("seq") + 1); // 任务组顺序号
|
form.put("sort_seq", struct.getIntValue("sort_seq") + 1); // 任务组顺序号
|
||||||
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
|
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
|
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
json.put("task_type", form.getString("task_type"));
|
json.put("task_type", form.getString("task_type"));
|
||||||
@@ -3472,7 +3474,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
param.put("material_id", oneDis.getMaterial_id());
|
param.put("material_id", oneDis.getMaterial_id());
|
||||||
// 更新出库任务:任务组和顺序号
|
// 更新出库任务:任务组和顺序号
|
||||||
param.put("task_group_id", struct.getString("task_group_id")); // 任务组
|
param.put("task_group_id", struct.getString("task_group_id")); // 任务组
|
||||||
param.put("sort_seq", struct.getString("sort_seq")+1); // 任务组顺序号
|
param.put("sort_seq", struct.getIntValue("sort_seq")+1); // 任务组顺序号
|
||||||
String create_task_id = outTask.createTask(param);
|
String create_task_id = outTask.createTask(param);
|
||||||
//批量更细分配明细
|
//批量更细分配明细
|
||||||
List<Long> disIds = list.stream().map(StIvtIostorinvdis::getIostorinvdis_id).collect(Collectors.toList());
|
List<Long> disIds = list.stream().map(StIvtIostorinvdis::getIostorinvdis_id).collect(Collectors.toList());
|
||||||
|
|||||||
@@ -18,8 +18,9 @@
|
|||||||
输入.iostorinvdtl_id TYPEAS s_string
|
输入.iostorinvdtl_id TYPEAS s_string
|
||||||
输入.block_num TYPEAS s_string
|
输入.block_num TYPEAS s_string
|
||||||
输入.sect_id TYPEAS s_string
|
输入.sect_id TYPEAS s_string
|
||||||
|
输入.invId TYPEAS s_string
|
||||||
输入.row_num TYPEAS s_string
|
输入.row_num TYPEAS s_string
|
||||||
输入.out_order_seq TYPEAS s_string
|
输入.order_by TYPEAS f_string
|
||||||
输入.iostorinvdis_id TYPEAS s_string
|
输入.iostorinvdis_id TYPEAS s_string
|
||||||
|
|
||||||
[临时表]
|
[临时表]
|
||||||
@@ -278,7 +279,7 @@
|
|||||||
IF 输入.flag = "51"
|
IF 输入.flag = "51"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
attr.struct_code,attr.lock_type,attr.storagevehicle_code,attr.inv_code
|
attr.struct_code,attr.lock_type,attr.storagevehicle_code,attr.inv_code,attr.out_order_seq
|
||||||
FROM
|
FROM
|
||||||
st_ivt_structattr attr
|
st_ivt_structattr attr
|
||||||
WHERE
|
WHERE
|
||||||
@@ -287,13 +288,16 @@
|
|||||||
AND attr.row_num = 输入.row_num
|
AND attr.row_num = 输入.row_num
|
||||||
AND attr.sect_id = 输入.sect_id
|
AND attr.sect_id = 输入.sect_id
|
||||||
AND IFNULL( attr.storagevehicle_code, '' ) <> ''
|
AND IFNULL( attr.storagevehicle_code, '' ) <> ''
|
||||||
|
OPTION 输入.invId <> ""
|
||||||
|
attr.inv_id <> 输入.invId
|
||||||
|
ENDOPTION
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
IF 输入.flag = "52"
|
IF 输入.flag = "52"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
MAX(attr.out_order_seq) as maxSeq,MIN(attr.out_order_seq) as minSeq
|
MAX(attr.out_order_seq) as maxseq,MIN(attr.out_order_seq) as minseq
|
||||||
FROM
|
FROM
|
||||||
st_ivt_structattr attr
|
st_ivt_structattr attr
|
||||||
WHERE
|
WHERE
|
||||||
@@ -305,25 +309,22 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
IF 输入.flag = "53"
|
IF 输入.flag = "53"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
attr.struct_code,attr.lock_type,attr.storagevehicle_code,attr.inv_code
|
attr.struct_code,attr.lock_type,attr.storagevehicle_code,attr.inv_code
|
||||||
FROM
|
FROM
|
||||||
st_ivt_structattr attr
|
st_ivt_structattr attr
|
||||||
WHERE
|
WHERE
|
||||||
attr.block_num = 输入.block_num
|
attr.block_num = 输入.block_num
|
||||||
AND attr.row_num = 输入.row_num
|
AND attr.row_num = 输入.row_num
|
||||||
AND attr.sect_id = 输入.sect_id
|
AND attr.sect_id = 输入.sect_id
|
||||||
AND IFNULL( attr.storagevehicle_code, '' ) <> ''
|
AND IFNULL( attr.storagevehicle_code, '' ) <> ''
|
||||||
OPTION 输入.out_order_seq == "03"
|
OPTION 输入.order_by <> ""
|
||||||
ORDER BY out_order_seq asc
|
1=1 输入.order_by
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.out_order_seq == "02"
|
ENDSELECT
|
||||||
ORDER BY out_order_seq desc
|
ENDQUERY
|
||||||
ENDOPTION
|
ENDIF
|
||||||
ENDSELECT
|
|
||||||
ENDQUERY
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF 输入.flag = "6"
|
IF 输入.flag = "6"
|
||||||
QUERY
|
QUERY
|
||||||
|
|||||||
Reference in New Issue
Block a user