更新点位

This commit is contained in:
2022-12-24 15:22:53 +08:00
parent 1300ff3163
commit 33d6668766
5 changed files with 89 additions and 3 deletions

View File

@@ -19,12 +19,15 @@ import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.AcsTaskDto;
import org.nl.wms.sch.tasks.RegionTypeEnum;
import org.nl.wms.sch.tasks.utils.PointUpdateUtil;
import org.nl.wms.util.IdUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@RequiredArgsConstructor
@@ -178,6 +181,12 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask {
// 创建任务
JSONObject jsonTask = taskArr.getJSONObject(i);
String vehicle_type = jsonTask.getString("vehicle_type");
// 更新点位
Map query = new HashMap<>();
query.put("flag", "2");
query.put("region_code", RegionTypeEnum.DPJQB.getCode());
JSONArray array = WQL.getWO("QSCH_GjxCallEmpVehicleTask").addParamMap(query).process().getResultJSONArray(0);
PointUpdateUtil.updatePoint(array);
// 找叠盘架是否与对应的载具类型
JSONObject jsonDpjStart = pointTab.query("region_id = '" + RegionTypeEnum.DPJQB.getId() + "' and can_vehicle_type = '" + vehicle_type + "' and lock_type = '1' and is_used = '1' and is_delete = '0' and vehicle_qty <> '0'").uniqueResult(0);

View File

@@ -19,11 +19,14 @@ import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.AcsTaskDto;
import org.nl.wms.sch.tasks.RegionTypeEnum;
import org.nl.wms.sch.tasks.utils.PointUpdateUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@RequiredArgsConstructor
@@ -181,7 +184,12 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask {
// 创建任务
JSONObject jsonTask = taskArr.getJSONObject(i);
String vehicle_type = jsonTask.getString("vehicle_type");
// 更新碟盘架
Map query = new HashMap<>();
query.put("flag", "2");
query.put("region_code", RegionTypeEnum.DPJQA.getCode());
JSONArray array = WQL.getWO("QSCH_YqxCallEmpVehicleTask").addParamMap(query).process().getResultJSONArray(0);
PointUpdateUtil.updatePoint(array);
// 找叠盘架是否与对应的载具类型
JSONObject jsonDpjStart = pointTab.query("region_id = '" + RegionTypeEnum.DPJQA.getId() + "' and can_vehicle_type = '" + vehicle_type + "' and lock_type = '1' and is_used = '1' and is_delete = '0' and vehicle_qty <> '0'").uniqueResult(0);

View File

@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.vehicle_type TYPEAS s_string
输入.region_code TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -57,4 +58,17 @@
ENDSELECT
ENDQUERY
ENDIF
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
point_code as device_code
FROM
SCH_BASE_Point
WHERE
OPTION 输入.region_code <> ""
region_code = 输入.region_code
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.vehicle_type TYPEAS s_string
输入.region_code TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -57,4 +58,17 @@
ENDSELECT
ENDQUERY
ENDIF
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
point_code as device_code
FROM
SCH_BASE_Point
WHERE
OPTION 输入.region_code <> ""
region_code = 输入.region_code
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -0,0 +1,41 @@
package org.nl.wms.sch.tasks.utils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl;
import org.nl.wms.sch.tasks.RegionTypeEnum;
/**
* @Author: lyd
* @Description: 更新点位状态
* @Date: 2022/12/24
*/
public class PointUpdateUtil {
/**
* 访问acs获取点位数据更新点位信息
* 分拣呼叫空托盘、空钢托盘叠盘架
* @param pointCodes
* @deprecated 只更新点位状态和载具类型
*/
public static void updatePoint(JSONArray pointCodes) {
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
WmsToAcsServiceImpl wmsToAcsService = new WmsToAcsServiceImpl();
// 向ACS查询点位状态
JSONObject pointStatus = wmsToAcsService.getPointStatus(pointCodes);
// 找到对应的载具类型再去下发
JSONArray deviceDatas = pointStatus.getJSONArray("data");
for (int j = 0; j < deviceDatas.size(); j++) {
JSONObject pointObj = deviceDatas.getJSONObject(j);
String point_code = pointObj.getString("device_code");
JSONObject pointObj2 = pointTable.query("point_code = '" + point_code + "'").uniqueResult(0);
if (point_code.equals(RegionTypeEnum.DPJQB.getCode())) { // 碟盘机
String vehicleNum = pointObj.getString("vehicle_num");
pointObj2.put("vehicle_qty", vehicleNum);
pointTable.update(pointObj2);
}
}
}
}