fix:干燥剂模板

This commit is contained in:
zhouz
2024-07-14 18:37:39 +08:00
parent 3ebe629301
commit c916dad331
2 changed files with 51 additions and 34 deletions

View File

@@ -60,8 +60,8 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
// 判断起点点位是否存在
JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" +
IOSEnum.IS_NOTANDYES.code("") + "' AND is_used = '" +
IOSEnum.IS_NOTANDYES.code("") + "'")
IOSEnum.IS_NOTANDYES.code("") + "' AND is_used = '" +
IOSEnum.IS_NOTANDYES.code("") + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) {
@@ -150,11 +150,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
/**
* 找一个空仓位(空托盘区)
*
* @param jsonParam {
* stor_id: 仓库标识
* sect_id: 库区标识
* vehicle_type: 载具类型
* }
* stor_id: 仓库标识
* sect_id: 库区标识
* vehicle_type: 载具类型
* }
* @return JSONObject 仓位对象
*/
private JSONObject getStruct(JSONObject jsonParam) {
@@ -167,10 +168,10 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
*/
JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " +
"AND is_used = '" + IOSEnum.IS_NOTANDYES.code("") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("") + "' " +
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonParam.getString("stor_id")+"' " +
"AND storagevehicle_type = '" +jsonParam.getString("vehicle_type")+"'"+
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonParam.getString("stor_id") + "' " +
"AND storagevehicle_type = '" + jsonParam.getString("vehicle_type") + "'" +
"AND height = '2'" +
"AND sect_id = '"+jsonParam.getString("sect_id")+"'").getResultJSONArray(0);
"AND sect_id = '" + jsonParam.getString("sect_id") + "'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(structArray)) {
notInRowList.clear();
@@ -182,11 +183,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
String block_num = getMinBlock(jsonParam);
// 确定排:查看每排的载具数量,找到数量最小的那排
jsonParam.put("block_num",block_num);
jsonParam.put("block_num", block_num);
String row_num = getMinRow(jsonParam);
// 确定仓位: 找到相同托盘类型的伸位
jsonParam.put("row_num",row_num);
jsonParam.put("row_num", row_num);
JSONObject jsonAttr = queryStruct(jsonParam);
// 为空则新找巷道
@@ -209,7 +210,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
json.put("vehicle_type", jsonParam.getString("vehicle_type"));
String row_num_2 = getMinRow(json);
json.put("row_num",row_num_2);
json.put("row_num", row_num_2);
JSONObject jsonAttr_2 = queryStruct(json);
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
@@ -225,10 +226,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
/**
* 确定巷道
*
* @param jsonParam {
* stor_id: 仓库标识
* sect_id: 库区标识
* }
* stor_id: 仓库标识
* sect_id: 库区标识
* }
* @return String 巷道
*/
private String getMinBlock(JSONObject jsonParam) {
@@ -247,7 +249,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
.collect(Collectors.joining("','"));
jsonParam.put("flag", "2");
jsonParam.put("block_in", "('"+block_in+"')");
jsonParam.put("block_in", "('" + block_in + "')");
List<JSONObject> boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam)
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
@@ -282,11 +284,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
/**
* 获取最小排
*
* @param jsonParam {
* stor_id: 仓库标识
* sect_id: 库区标识
* block_num 巷道
* }
* stor_id: 仓库标识
* sect_id: 库区标识
* block_num 巷道
* }
* @return String
*/
private String getMinRow(JSONObject jsonParam) {
@@ -305,7 +308,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
.collect(Collectors.joining("','"));
jsonParam.put("flag", "2");
jsonParam.put("row_in", "('"+row_in+"')");
jsonParam.put("row_in", "('" + row_in + "')");
List<JSONObject> boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam)
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
@@ -346,12 +349,13 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
/**
* 确定仓位
*
* @param jsonParam {
* stor_id: 仓库标识
* sect_id: 库区标识
* block_num 巷道
* row_num: 排
* }
* stor_id: 仓库标识
* sect_id: 库区标识
* block_num 巷道
* row_num: 排
* }
* @return JSONObject 仓位
*/
private JSONObject queryStruct(JSONObject jsonParam) {
@@ -371,7 +375,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
// 新的一排
String row_num_new = this.getMinRow(jsonParam);
jsonParam.put("row_num",row_num_new);
jsonParam.put("row_num", row_num_new);
jsonAttr = this.getStructOne(jsonParam);
}
@@ -380,12 +384,13 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
/**
* 获取一个货位公共方法
*
* @param jsonParam {
* sect_id库区
* stor_id仓库
* block_num 巷道
* row_num :排
* }
* sect_id库区
* stor_id仓库
* block_num 巷道
* row_num :排
* }
* @return JSONObject 仓位
*/
private JSONObject getStructOne(JSONObject jsonParam) {

View File

@@ -1921,7 +1921,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// 创建前先判断是否有已创建相同任务
List<String> taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")));
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(taskTypes);
existTaskList1 = existTaskList1.stream().filter(r->StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
existTaskList1 = existTaskList1.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(existTaskList1)) {
jo.put("point_code3", pointCode3);
//终点为输送线点位
@@ -2360,7 +2360,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String material_barcode = param.getString("material_barcode");
String vehicle_code = param.getString("vehicle_code");
//干燥剂模板
String desiccantTemplate = "4";
String desiccantTemplate = "6";
//是否开盖
String isUncap = "1";
JSONObject vehicle_info = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + material_barcode + "'").uniqueResult(0);
@@ -2373,6 +2373,18 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, material_barcode)
);
//获取包装关系
JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + material_barcode + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(sub_jo)) {
String material_type = sub_jo.getString("material_type");
if (material_type.equals("FG1")) {
desiccantTemplate = "6";
}
if (material_type.equals("FG2")) {
desiccantTemplate = "4";
}
}
//根据木箱高度,判断入库仓位的高度
String height = "";
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();