代码修改
This commit is contained in:
@@ -39,8 +39,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.transaction.reactive.TransactionContextManager;
|
|
||||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -258,7 +256,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "2":
|
case "2":
|
||||||
// 叫料出库
|
// 叫料出库
|
||||||
@@ -276,7 +273,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// 批次 物料,客户要从排产单里面去取
|
// 批次 物料,客户要从排产单里面去取
|
||||||
jsonObject.put("material_id", produceInfoByCode.getString("material_id"));
|
jsonObject.put("material_id", produceInfoByCode.getString("material_id"));
|
||||||
callMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject));
|
callMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "3":
|
case "3":
|
||||||
@@ -331,41 +327,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
callEmptyVehicleTask.createTask((JSONObject) JSON.toJSON(jsonObject));
|
callEmptyVehicleTask.createTask((JSONObject) JSON.toJSON(jsonObject));
|
||||||
break;
|
break;
|
||||||
// 生产rgv搬运任务
|
|
||||||
case "5":
|
|
||||||
jsonObject.put("next_point_code", device_code);
|
|
||||||
jsonObject.put("create_mode", "01");
|
|
||||||
// 1 判断有没有执行的Rgv搬运任务
|
|
||||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_type='04' and is_delete='0' and acs_task_type<>'07'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(taskObj)) {
|
|
||||||
JSONObject result = new JSONObject();
|
|
||||||
result.put("status", HttpStatus.CREATED.value());
|
|
||||||
result.put("message", "失败!");
|
|
||||||
result.put("data", new JSONObject());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
// 寻找起点
|
|
||||||
// 更新所有设备的点位的状态
|
|
||||||
// JSONArray pointConveyArr = pointTable.query("area_type='07' and device_point_type ='01'
|
|
||||||
// ").getResultJSONArray(0);
|
|
||||||
JSONArray pointConveyArr = WQL.getWO("ACSTOMES_001").addParam("area_type", "07").addParam("flag", "4").process().getResultJSONArray(0);
|
|
||||||
|
|
||||||
PointUpdateUtil.updatePoint(pointConveyArr);
|
|
||||||
// 假如没有设置哪个输送线先出,没有按照先进先出
|
|
||||||
JSONObject param = new JSONObject();
|
|
||||||
String rule = WQLObject.getWQLObject("sys_param").query("code='is_outrule'").uniqueResult(0).getString("value");
|
|
||||||
if (StrUtil.equals(rule, "1")) {
|
|
||||||
param = WQL.getWO("ACSTOMES_001").addParam("flag", "3").process().uniqueResult(0);
|
|
||||||
} else {
|
|
||||||
param = WQL.getWO("ACSTOMES_001").addParam("flag", "2").process().uniqueResult(0);
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isEmpty(param)) {
|
|
||||||
throw new BadRequestException("未找到合适的输送线可以出!");
|
|
||||||
}
|
|
||||||
jsonObject.put("start_point_code", param.getString("point_code"));
|
|
||||||
jsonObject.put("vehicle_code", param.getString("vehicle_code"));
|
|
||||||
rgvTask.createTask((JSONObject) JSON.toJSON(jsonObject));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
result.put("status", HttpStatus.OK.value());
|
result.put("status", HttpStatus.OK.value());
|
||||||
@@ -391,8 +352,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
vehicle_code = jsonObject.get("vehicle_code").toString();
|
vehicle_code = jsonObject.get("vehicle_code").toString();
|
||||||
}
|
}
|
||||||
if (device_code.startsWith("FJJXSXLW") && StrUtil.isNotBlank(vehicle_code)) {
|
if (device_code.startsWith("FJJXSXLW") && StrUtil.isNotBlank(vehicle_code)) {
|
||||||
WQLObject.getWQLObject("st_buss_vehiclegroup")
|
WQLObject.getWQLObject("st_buss_vehiclegroup").delete("vehicle_code = '" + vehicle_code + "'");
|
||||||
.delete("vehicle_code = '" + vehicle_code + "'");
|
|
||||||
}
|
}
|
||||||
String qty = String.valueOf(jsonObject.get("qty"));
|
String qty = String.valueOf(jsonObject.get("qty"));
|
||||||
// 产品编码
|
// 产品编码
|
||||||
@@ -554,7 +514,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
String start_area = taskobj.getString("start_area");
|
String start_area = taskobj.getString("start_area");
|
||||||
JSONObject requestParam = taskobj.getJSONObject("request_param");
|
JSONObject requestParam = taskobj.getJSONObject("request_param");
|
||||||
if ("22".equals(start_area)) {
|
if ("22".equals(start_area)) {
|
||||||
JSONObject materialObj =WQLObject.getWQLObject("MD_ME_Material").query("material_id='" + requestParam.getString("material_id") + "'").uniqueResult(0);
|
JSONObject materialObj = WQLObject.getWQLObject("MD_ME_Material").query("material_id='" + requestParam.getString("material_id") + "'").uniqueResult(0);
|
||||||
groupObj.put("material_code", materialObj.getString("material_code"));
|
groupObj.put("material_code", materialObj.getString("material_code"));
|
||||||
groupObj.put("material_name", materialObj.getString("material_name"));
|
groupObj.put("material_name", materialObj.getString("material_name"));
|
||||||
groupObj.put("material_spec", materialObj.getString("material_spec"));
|
groupObj.put("material_spec", materialObj.getString("material_spec"));
|
||||||
@@ -604,20 +564,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
param.put("start_point_code", device_code);
|
param.put("start_point_code", device_code);
|
||||||
param.put("vehicle_code", vehicle_code);
|
param.put("vehicle_code", vehicle_code);
|
||||||
// 根据起点去找终点
|
|
||||||
ConveyorTask task = new ConveyorTask();
|
|
||||||
|
|
||||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||||
String device_id =
|
String device_id = pointTable.query("point_code ='" + device_code + "'").uniqueResult(0).getString("device_id");
|
||||||
pointTable
|
String next_point_code = pointTable.query("device_id ='" + device_id + "' and device_point_type ='02'").uniqueResult(0).getString("point_code");
|
||||||
.query("point_code ='" + device_code + "'")
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("device_id");
|
|
||||||
String next_point_code =
|
|
||||||
pointTable
|
|
||||||
.query("device_id ='" + device_id + "' and device_point_type ='02'")
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("point_code");
|
|
||||||
param.put("next_point_code", next_point_code);
|
param.put("next_point_code", next_point_code);
|
||||||
}
|
}
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
@@ -652,10 +602,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if (StrUtil.isEmpty(vehicle_code)) {
|
if (StrUtil.isEmpty(vehicle_code)) {
|
||||||
throw new BadRequestException("托盘条码不能为空!");
|
throw new BadRequestException("托盘条码不能为空!");
|
||||||
}
|
}
|
||||||
JSONObject vehicleObj =
|
JSONObject vehicleObj = WQLObject.getWQLObject("st_buss_vehiclegroup").query("vehicle_code='" + vehicle_code + "'").uniqueResult(0);
|
||||||
WQLObject.getWQLObject("st_buss_vehiclegroup")
|
|
||||||
.query("vehicle_code='" + vehicle_code + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(vehicleObj)) {
|
if (ObjectUtil.isEmpty(vehicleObj)) {
|
||||||
throw new BadRequestException("为找到托盘号为'" + vehicle_code + "'的组盘信息!");
|
throw new BadRequestException("为找到托盘号为'" + vehicle_code + "'的组盘信息!");
|
||||||
}
|
}
|
||||||
@@ -741,18 +688,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
log.debug("ACS的getVehicleInfoBycode请求参数为:" + jsonObject);
|
log.debug("ACS的getVehicleInfoBycode请求参数为:" + jsonObject);
|
||||||
String device_code = (String) jsonObject.get("device_code");
|
String device_code = (String) jsonObject.get("device_code");
|
||||||
WQLObject point_table = WQLObject.getWQLObject("sch_base_point");
|
WQLObject point_table = WQLObject.getWQLObject("sch_base_point");
|
||||||
String vehicle_code =
|
String vehicle_code = point_table.query("point_code='" + device_code + "'").uniqueResult(0).getString("vehicle_code");
|
||||||
point_table
|
|
||||||
.query("point_code='" + device_code + "'")
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("vehicle_code");
|
|
||||||
if (StrUtil.isEmpty(vehicle_code)) {
|
if (StrUtil.isEmpty(vehicle_code)) {
|
||||||
throw new BadRequestException("未找到该点位上的托盘信息!");
|
throw new BadRequestException("未找到该点位上的托盘信息!");
|
||||||
}
|
}
|
||||||
JSONObject vehicleObj =
|
JSONObject vehicleObj = WQLObject.getWQLObject("st_buss_vehiclegroup").query("vehicle_code='" + vehicle_code + "' AND is_delete='0'").uniqueResult(0);
|
||||||
WQLObject.getWQLObject("st_buss_vehiclegroup")
|
|
||||||
.query("vehicle_code='" + vehicle_code + "' AND is_delete='0'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(vehicleObj)) {
|
if (ObjectUtil.isEmpty(vehicleObj)) {
|
||||||
throw new BadRequestException("未找到托盘号为'" + vehicle_code + "'的托盘信息!");
|
throw new BadRequestException("未找到托盘号为'" + vehicle_code + "'的托盘信息!");
|
||||||
}
|
}
|
||||||
@@ -798,23 +738,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if (StrUtil.equals("FJJXS1", device_code)
|
if (StrUtil.equals("FJJXS1", device_code)
|
||||||
|| StrUtil.equals("FJJXS2", device_code)
|
|| StrUtil.equals("FJJXS2", device_code)
|
||||||
|| StrUtil.equals("FJJXS3", device_code)) {
|
|| StrUtil.equals("FJJXS3", device_code)) {
|
||||||
device_id =
|
device_id = WQLObject.getWQLObject("pdm_base_device").query("device_code ='" + device_code + "'").uniqueResult(0).getString("device_id");
|
||||||
WQLObject.getWQLObject("pdm_base_device")
|
|
||||||
.query("device_code ='" + device_code + "'")
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("device_id");
|
|
||||||
} else {
|
} else {
|
||||||
device_id =
|
device_id = WQLObject.getWQLObject("sch_base_point").query("point_code='" + device_code + "'").uniqueResult(0).getString("device_id");
|
||||||
WQLObject.getWQLObject("sch_base_point")
|
|
||||||
.query("point_code='" + device_code + "'")
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("device_id");
|
|
||||||
}
|
}
|
||||||
// 根据物料code 去找物料id
|
// 根据物料code 去找物料id
|
||||||
JSONObject materiObj =
|
JSONObject materiObj = WQLObject.getWQLObject("MD_ME_Material").query("material_code='" + material_code + "'").uniqueResult(0);
|
||||||
WQLObject.getWQLObject("MD_ME_Material")
|
|
||||||
.query("material_code='" + material_code + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (!StrUtil.equals(device_id, taskObj.getString("device_id"))) {
|
if (!StrUtil.equals(device_id, taskObj.getString("device_id"))) {
|
||||||
throw new BadRequestException("设备标识不一样!");
|
throw new BadRequestException("设备标识不一样!");
|
||||||
}
|
}
|
||||||
@@ -836,6 +765,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// 排产工单完成!
|
// 排产工单完成!
|
||||||
if (StrUtil.equals("2", type)) {
|
if (StrUtil.equals("2", type)) {
|
||||||
taskObj.put("producetask_status", "05");
|
taskObj.put("producetask_status", "05");
|
||||||
|
taskObj.put("producetask_finish_type", "01");
|
||||||
taskObj.put("real_qty", qty);
|
taskObj.put("real_qty", qty);
|
||||||
}
|
}
|
||||||
taskTable.update(taskObj);
|
taskTable.update(taskObj);
|
||||||
@@ -940,10 +870,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if (StrUtil.isEmpty(material_code)) {
|
if (StrUtil.isEmpty(material_code)) {
|
||||||
throw new BadRequestException("物料条码不能为空!");
|
throw new BadRequestException("物料条码不能为空!");
|
||||||
}
|
}
|
||||||
JSONObject returnjo =
|
JSONObject returnjo = WQLObject.getWQLObject("MD_ME_CribbingInfo").query("material_code='" + material_code + "'").uniqueResult(0);
|
||||||
WQLObject.getWQLObject("MD_ME_CribbingInfo")
|
|
||||||
.query("material_code='" + material_code + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(returnjo)) {
|
if (ObjectUtil.isEmpty(returnjo)) {
|
||||||
throw new BadRequestException("未找到物料编码为'" + material_code + "'的垛形参数信息!");
|
throw new BadRequestException("未找到物料编码为'" + material_code + "'的垛形参数信息!");
|
||||||
}
|
}
|
||||||
@@ -980,10 +907,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if (StrUtil.equals(status, "UNKNOWN") || StrUtil.equals("UNAVAILABLE", status)) {
|
if (StrUtil.equals(status, "UNKNOWN") || StrUtil.equals("UNAVAILABLE", status)) {
|
||||||
device_status = "5";
|
device_status = "5";
|
||||||
}
|
}
|
||||||
JSONObject statsObj =
|
JSONObject statsObj = deviceStatus_table.query("device_type ='1' and device_code ='" + agv_no + "'").uniqueResult(0);
|
||||||
deviceStatus_table
|
|
||||||
.query("device_type ='1' and device_code ='" + agv_no + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
statsObj.put("device_status", device_status);
|
statsObj.put("device_status", device_status);
|
||||||
statsObj.put("update_time", DateUtil.now());
|
statsObj.put("update_time", DateUtil.now());
|
||||||
deviceStatus_table.update(statsObj);
|
deviceStatus_table.update(statsObj);
|
||||||
@@ -1000,34 +924,19 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
public Map<String, Object> queryCribbingInfo(Map jsonObject) {
|
public Map<String, Object> queryCribbingInfo(Map jsonObject) {
|
||||||
log.debug("ACS的queryCribbingInfo请求参数为:" + jsonObject);
|
log.debug("ACS的queryCribbingInfo请求参数为:" + jsonObject);
|
||||||
String device_code = (String) jsonObject.get("device_code");
|
String device_code = (String) jsonObject.get("device_code");
|
||||||
JSONObject task =
|
JSONObject task = WQLObject.getWQLObject("sch_base_task").query(
|
||||||
WQLObject.getWQLObject("sch_base_task")
|
"is_delete = '0' AND task_status <> '07' AND next_point_code = '" + device_code + "'").uniqueResult(0);
|
||||||
.query(
|
|
||||||
"is_delete = '0' AND task_status <> '07' AND next_point_code = '"
|
|
||||||
+ device_code
|
|
||||||
+ "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(task)) {
|
if (ObjectUtil.isNotEmpty(task)) {
|
||||||
throw new BadRequestException("当前点位有空托任务未完成!");
|
throw new BadRequestException("当前点位有空托任务未完成!");
|
||||||
}
|
}
|
||||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||||
// JSONObject produceInfoByCode = this.getProduceInfoByCode(device_code);
|
|
||||||
// 根据点位获取排产单
|
String vehicle_code = pointTable.query("point_code = '" + device_code + "'").uniqueResult(0).getString("vehicle_code");
|
||||||
// String material_id = produceInfoByCode.getString("material_id");
|
|
||||||
String vehicle_code =
|
|
||||||
pointTable
|
|
||||||
.query("point_code = '" + device_code + "'")
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("vehicle_code");
|
|
||||||
WQLObject group_table = WQLObject.getWQLObject("st_buss_vehiclegroup");
|
WQLObject group_table = WQLObject.getWQLObject("st_buss_vehiclegroup");
|
||||||
// 从组盘表里面去获取组盘信息
|
// 从组盘表里面去获取组盘信息
|
||||||
JSONObject result = group_table.query("vehicle_code = '" + vehicle_code + "'").uniqueResult(0);
|
JSONObject result = group_table.query("vehicle_code = '" + vehicle_code + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(result)) {
|
if (ObjectUtil.isNotEmpty(result)) {
|
||||||
String product_code =
|
String product_code = WQLObject.getWQLObject("md_me_cribbinginfo").query("material_id = " + result.getString("material_id")).uniqueResult(0).getString("product_code");
|
||||||
WQLObject.getWQLObject("md_me_cribbinginfo")
|
|
||||||
.query("material_id = " + result.getString("material_id"))
|
|
||||||
.uniqueResult(0)
|
|
||||||
.getString("product_code");
|
|
||||||
result.put("product_code", product_code);
|
result.put("product_code", product_code);
|
||||||
}
|
}
|
||||||
JSONObject resultJSON = new JSONObject();
|
JSONObject resultJSON = new JSONObject();
|
||||||
@@ -1041,17 +950,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
public Map<String, Object> queryPrintInfoByCode(Map jsonObject) {
|
public Map<String, Object> queryPrintInfoByCode(Map jsonObject) {
|
||||||
log.debug("ACS的queryPrintInfoByCode请求参数为:" + jsonObject);
|
log.debug("ACS的queryPrintInfoByCode请求参数为:" + jsonObject);
|
||||||
// 找出最近的一个到包装位的任务
|
// 找出最近的一个到包装位的任务
|
||||||
JSONObject taskObj =
|
JSONObject taskObj = WQLObject.getWQLObject("sch_base_task").query(
|
||||||
WQLObject.getWQLObject("sch_base_task")
|
"next_point_code='BZSLW' and is_delete='0' and task_type='07'", "update_time desc").uniqueResult(0);
|
||||||
.query(
|
JSONObject result = WQL.getWO("ACSTOMES_001").addParam("flag", "9").addParam("task_id", taskObj.getString("task_id")).process().uniqueResult(0);
|
||||||
"next_point_code='BZSLW' and is_delete='0' and task_type='07'", "update_time desc")
|
|
||||||
.uniqueResult(0);
|
|
||||||
JSONObject result =
|
|
||||||
WQL.getWO("ACSTOMES_001")
|
|
||||||
.addParam("flag", "9")
|
|
||||||
.addParam("task_id", taskObj.getString("task_id"))
|
|
||||||
.process()
|
|
||||||
.uniqueResult(0);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1064,17 +965,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
WQLObject group_table = WQLObject.getWQLObject("st_buss_vehiclegroup");
|
WQLObject group_table = WQLObject.getWQLObject("st_buss_vehiclegroup");
|
||||||
WQLObject point_table = WQLObject.getWQLObject("sch_base_point");
|
WQLObject point_table = WQLObject.getWQLObject("sch_base_point");
|
||||||
|
|
||||||
JSONObject taskObj =
|
JSONObject taskObj = task_table.query("task_code ='" + task_code + "' and task_status='06'and is_delete='0'").uniqueResult(0);
|
||||||
task_table
|
|
||||||
.query("task_code ='" + task_code + "' and task_status='06'and is_delete='0'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(taskObj)) {
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
throw new BadRequestException("任务号为'" + task_code + "' 执行中的任务未找到");
|
throw new BadRequestException("任务号为'" + task_code + "' 执行中的任务未找到");
|
||||||
}
|
}
|
||||||
String start_point_code = taskObj.getString("start_point_code");
|
String start_point_code = taskObj.getString("start_point_code");
|
||||||
String next_point_code = taskObj.getString("next_point_code");
|
String next_point_code = taskObj.getString("next_point_code");
|
||||||
JSONObject startObj =
|
JSONObject startObj = point_table.query("point_code ='" + start_point_code + "'").uniqueResult(0);
|
||||||
point_table.query("point_code ='" + start_point_code + "'").uniqueResult(0);
|
|
||||||
|
|
||||||
if (!StrUtil.equals(startObj.getString("area_type"), AreaEnum.YZQY.getCode())) {
|
if (!StrUtil.equals(startObj.getString("area_type"), AreaEnum.YZQY.getCode())) {
|
||||||
throw new BadRequestException("只能取消任务类型为下料任务!");
|
throw new BadRequestException("只能取消任务类型为下料任务!");
|
||||||
@@ -1084,13 +981,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
nextObj.put("lock_type", "00");
|
nextObj.put("lock_type", "00");
|
||||||
point_table.update(nextObj);
|
point_table.update(nextObj);
|
||||||
task_table.delete(taskObj);
|
task_table.delete(taskObj);
|
||||||
JSONObject groupObj =
|
JSONObject groupObj = group_table.query("task_id ='" + taskObj.getString("task_id") + "'").uniqueResult(0);
|
||||||
group_table.query("task_id ='" + taskObj.getString("task_id") + "'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(groupObj)) {
|
if (ObjectUtil.isEmpty(groupObj)) {
|
||||||
throw new BadRequestException("找不到task_id为" + taskObj.getString("task_id") + "的盘信息");
|
throw new BadRequestException("找不到task_id为" + taskObj.getString("task_id") + "的盘信息");
|
||||||
}
|
}
|
||||||
group_table.delete(groupObj);
|
group_table.delete(groupObj);
|
||||||
|
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
result.put("status", HttpStatus.OK.value());
|
result.put("status", HttpStatus.OK.value());
|
||||||
result.put("message", "任务状态反馈成功!");
|
result.put("message", "任务状态反馈成功!");
|
||||||
|
|||||||
@@ -47,8 +47,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
|||||||
taskTab.update(jsonTask);
|
taskTab.update(jsonTask);
|
||||||
HashMap map = new HashMap();
|
HashMap map = new HashMap();
|
||||||
map.put("bill_status", "40");
|
map.put("bill_status", "40");
|
||||||
WQLObject.getWQLObject("st_buss_EmptyVehicleRecord")
|
WQLObject.getWQLObject("st_buss_EmptyVehicleRecord").update(map, "task_uuid='" + jsonTask.getString("task_id") + "'");
|
||||||
.update(map, "task_uuid='" + jsonTask.getString("task_id") + "'");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TaskStatusEnum.FINISHED.getCode().equals(status)) {
|
if (TaskStatusEnum.FINISHED.getCode().equals(status)) {
|
||||||
@@ -60,8 +59,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
|||||||
/// 审核单据
|
/// 审核单据
|
||||||
HashMap map = new HashMap();
|
HashMap map = new HashMap();
|
||||||
map.put("bill_status", "50");
|
map.put("bill_status", "50");
|
||||||
WQLObject.getWQLObject("st_buss_EmptyVehicleRecord")
|
WQLObject.getWQLObject("st_buss_EmptyVehicleRecord").update(map, "task_uuid='" + jsonTask.getString("task_id") + "'");
|
||||||
.update(map, "task_uuid='" + jsonTask.getString("task_id") + "'");
|
|
||||||
// 解锁仓位,托盘信息,回写到点位上去
|
// 解锁仓位,托盘信息,回写到点位上去
|
||||||
String vehicle_code = jsonTask.getString("vehicle_code");
|
String vehicle_code = jsonTask.getString("vehicle_code");
|
||||||
// 插入刚托盘木托盘表
|
// 插入刚托盘木托盘表
|
||||||
|
|||||||
@@ -6,15 +6,14 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.nl.common.utils.UserInfoUtil;
|
||||||
import org.nl.exception.BadRequestException;
|
import org.nl.exception.BadRequestException;
|
||||||
import org.nl.modules.system.util.CodeUtil;
|
import org.nl.modules.system.util.CodeUtil;
|
||||||
import org.nl.common.utils.UserInfoUtil;
|
|
||||||
import org.nl.utils.SpringContextHolder;
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.nl.wms.WorkProcedureEnum;
|
import org.nl.wms.WorkProcedureEnum;
|
||||||
import org.nl.wms.common.PointUpdateUtil;
|
import org.nl.wms.common.PointUpdateUtil;
|
||||||
import org.nl.wms.common.SortingUtil;
|
import org.nl.wms.common.SortingUtil;
|
||||||
import org.nl.wms.common.StructFindUtil;
|
import org.nl.wms.common.StructFindUtil;
|
||||||
import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl;
|
|
||||||
import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl;
|
import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl;
|
||||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||||
import org.nl.wms.sch.manage.AreaEnum;
|
import org.nl.wms.sch.manage.AreaEnum;
|
||||||
@@ -27,10 +26,13 @@ import org.nl.wms.st.ivt.StoreIvtServiceImpl;
|
|||||||
import org.nl.wql.WQL;
|
import org.nl.wql.WQL;
|
||||||
import org.nl.wql.core.bean.WQLObject;
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1、半托缓存到分拣机械手
|
||||||
|
*
|
||||||
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CallMaterialTask extends AbstractAcsTask {
|
public class CallMaterialTask extends AbstractAcsTask {
|
||||||
private final String THIS_CLASS = CallMaterialTask.class.getName();
|
private final String THIS_CLASS = CallMaterialTask.class.getName();
|
||||||
@@ -169,15 +171,7 @@ public class CallMaterialTask extends AbstractAcsTask {
|
|||||||
public void findStartPoint() {
|
public void findStartPoint() {
|
||||||
String task_status = TaskStatusEnum.SURE_START.getCode();
|
String task_status = TaskStatusEnum.SURE_START.getCode();
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||||
JSONArray taskArry =
|
JSONArray taskArry = taskTab.query("task_status='" + task_status + "' AND handle_class='" + THIS_CLASS + "' AND is_delete='0' ").getResultJSONArray(0);
|
||||||
taskTab
|
|
||||||
.query(
|
|
||||||
"task_status='"
|
|
||||||
+ task_status
|
|
||||||
+ "' AND handle_class='"
|
|
||||||
+ THIS_CLASS
|
|
||||||
+ "' AND is_delete='0' ")
|
|
||||||
.getResultJSONArray(0);
|
|
||||||
for (int i = 0; i < taskArry.size(); i++) {
|
for (int i = 0; i < taskArry.size(); i++) {
|
||||||
JSONObject taskObj = taskArry.getJSONObject(i);
|
JSONObject taskObj = taskArry.getJSONObject(i);
|
||||||
String task_id = taskObj.getString("task_id");
|
String task_id = taskObj.getString("task_id");
|
||||||
@@ -203,8 +197,7 @@ public class CallMaterialTask extends AbstractAcsTask {
|
|||||||
// 终点加锁
|
// 终点加锁
|
||||||
HashMap lock_map = new HashMap();
|
HashMap lock_map = new HashMap();
|
||||||
lock_map.put("lock_type", "01");
|
lock_map.put("lock_type", "01");
|
||||||
WQLObject.getWQLObject("sch_base_point")
|
WQLObject.getWQLObject("sch_base_point").update(lock_map, "point_code = '" + inStructObj.getString("struct_code") + "'");
|
||||||
.update(lock_map, "point_code = '" + inStructObj.getString("struct_code") + "'");
|
|
||||||
// 修改任务状态
|
// 修改任务状态
|
||||||
taskObj.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
taskObj.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||||
taskObj.put("update_optid", UserInfoUtil.getCurrentUserId());
|
taskObj.put("update_optid", UserInfoUtil.getCurrentUserId());
|
||||||
@@ -251,6 +244,9 @@ public class CallMaterialTask extends AbstractAcsTask {
|
|||||||
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
||||||
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PointServiceImpl pointService = SpringContextHolder.getBean(PointServiceImpl.class);
|
PointServiceImpl pointService = SpringContextHolder.getBean(PointServiceImpl.class);
|
||||||
String task_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
String task_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||||
String start_area = "";
|
String start_area = "";
|
||||||
@@ -347,6 +343,14 @@ public class CallMaterialTask extends AbstractAcsTask {
|
|||||||
qty_unit_id = outStructObj.getString("qty_unit_id");
|
qty_unit_id = outStructObj.getString("qty_unit_id");
|
||||||
|
|
||||||
start_point_code = outStructObj.getString("struct_code");
|
start_point_code = outStructObj.getString("struct_code");
|
||||||
|
|
||||||
|
// 判断起点有没有未完成的指令
|
||||||
|
JSONObject beforTaskObj2 = taskTable.query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
|
||||||
|
.uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(beforTaskObj2)) {
|
||||||
|
throw new BadRequestException("存在指令号为'" + beforTaskObj2.getString("task_code") + "' 未完成!");
|
||||||
|
}
|
||||||
|
|
||||||
vehicle_code = outStructObj.getString("vehicle_code");
|
vehicle_code = outStructObj.getString("vehicle_code");
|
||||||
// 创建出库单据
|
// 创建出库单据
|
||||||
JSONObject iosObj = new JSONObject();
|
JSONObject iosObj = new JSONObject();
|
||||||
@@ -430,10 +434,7 @@ public class CallMaterialTask extends AbstractAcsTask {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void forceFinish(String task_id) {
|
public void forceFinish(String task_id) {
|
||||||
JSONObject taskObj =
|
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||||
WQLObject.getWQLObject("SCH_BASE_Task")
|
|
||||||
.query("task_id = '" + task_id + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,117 +0,0 @@
|
|||||||
package org.nl.wms.sch.manage.buss;
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import org.nl.common.utils.UserInfoUtil;
|
|
||||||
import org.nl.exception.BadRequestException;
|
|
||||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
|
||||||
import org.nl.wms.sch.manage.AreaEnum;
|
|
||||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
|
||||||
import org.nl.wql.core.bean.WQLObject;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class ConveyorTask extends AbstractAcsTask {
|
|
||||||
private final String THIS_CLASS = ConveyorTask.class.getName();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
|
||||||
/**
|
|
||||||
*改变任务状态
|
|
||||||
**/
|
|
||||||
String task_id = taskObj.getString("task_id");
|
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task");
|
|
||||||
JSONObject jsonTask = taskTab.query("task_id='" + task_id + "'").uniqueResult(0);
|
|
||||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
|
||||||
//更新任务状态为执行中
|
|
||||||
jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
|
||||||
jsonTask.put("update_time", DateUtil.now());
|
|
||||||
taskTab.update(jsonTask);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (TaskStatusEnum.FINISHED.getCode().equals(status)) {
|
|
||||||
// 更新任务状态为完成
|
|
||||||
jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
|
||||||
jsonTask.put("taskfinish_mode", taskObj.getString("taskfinish_mode"));
|
|
||||||
jsonTask.put("update_time", DateUtil.now());
|
|
||||||
jsonTask.put("remark", "任务执行完成");
|
|
||||||
taskTab.update(jsonTask);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void findStartPoint() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void findNextPoint() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String createTask(JSONObject form) {
|
|
||||||
JSONObject taskObj = new JSONObject();
|
|
||||||
//只需要传起点就好,跟载具
|
|
||||||
String vehicle_code = form.getString("vehicle_code");
|
|
||||||
String start_point_code = form.getString("start_point_code");
|
|
||||||
String next_point_code = form.getString("next_point_code");
|
|
||||||
if (StrUtil.isEmpty(vehicle_code)) {
|
|
||||||
throw new BadRequestException("载具不能为空!");
|
|
||||||
}
|
|
||||||
if (StrUtil.isEmpty(start_point_code)) {
|
|
||||||
throw new BadRequestException("起点不能为空!");
|
|
||||||
}
|
|
||||||
taskObj.put("task_id", IdUtil.getSnowflake(1, 1).nextId() + "");
|
|
||||||
String task_status = TaskStatusEnum.EXECUTING.getCode();
|
|
||||||
taskObj.put("task_code", IdUtil.getSnowflake(1, 1).nextId() + "");
|
|
||||||
taskObj.put("task_type", "06");
|
|
||||||
//输送任务
|
|
||||||
taskObj.put("acs_task_type", "2");
|
|
||||||
String start_area = AreaEnum.RYSSXQ.getCode();
|
|
||||||
String next_area = AreaEnum.RYSSXQ.getCode();
|
|
||||||
taskObj.put("task_status", task_status);
|
|
||||||
taskObj.put("start_point_code", start_point_code);
|
|
||||||
taskObj.put("start_area", start_area);
|
|
||||||
taskObj.put("next_area", next_area);
|
|
||||||
taskObj.put("next_point_code", next_point_code);
|
|
||||||
taskObj.put("vehicle_code", vehicle_code);
|
|
||||||
taskObj.put("create_name", UserInfoUtil.getNickName());
|
|
||||||
taskObj.put("create_id", UserInfoUtil.getCurrentUserId());
|
|
||||||
taskObj.put("create_time", DateUtil.now());
|
|
||||||
taskObj.put("update_optid", UserInfoUtil.getCurrentUserId());
|
|
||||||
taskObj.put("update_name", UserInfoUtil.getNickName());
|
|
||||||
taskObj.put("update_time", DateUtil.now());
|
|
||||||
taskObj.put("handle_class", THIS_CLASS);
|
|
||||||
//任务基础表【sch_base_task】
|
|
||||||
WQLObject.getWQLObject("sch_base_task").insert(taskObj);
|
|
||||||
return taskObj.getString("task_id");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void forceFinish(String task_id) {
|
|
||||||
if (StrUtil.isEmpty(task_id)) {
|
|
||||||
throw new BadRequestException("任务id不能为空!");
|
|
||||||
}
|
|
||||||
JSONObject taskjo = WQLObject.getWQLObject("sch_base_task").query("task_id='" + task_id + "'").uniqueResult(0);
|
|
||||||
taskjo.getString("taskfinish_mode");
|
|
||||||
this.updateTaskStatus(taskjo, TaskStatusEnum.FINISHED.getCode());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void pullBack(String task_id) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void cancel(String task_id) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -26,6 +26,11 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {"is_full":"1","device_code":"BTHCW02","type":"1","vehicle_code":"0000","start_point_code":"BTHCW02","create_mode":"01"}
|
||||||
|
* 半托缓存到包装线送料
|
||||||
|
* 如半托缓存位上的料呆太久了,通过电器触发强制从半托缓存到包装线
|
||||||
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -134,7 +139,6 @@ public class FmjToPackIngTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
String next_point_code = "BZSLW";
|
String next_point_code = "BZSLW";
|
||||||
String material_id = ivtObj.getString("material_id");
|
String material_id = ivtObj.getString("material_id");
|
||||||
String is_full = ivtObj.getString("is_full");
|
|
||||||
String qty = ivtObj.getString("canuse_qty");
|
String qty = ivtObj.getString("canuse_qty");
|
||||||
String pcsn = ivtObj.getString("pcsn");
|
String pcsn = ivtObj.getString("pcsn");
|
||||||
String vehicle_code = ivtObj.getString("vehicle_code");
|
String vehicle_code = ivtObj.getString("vehicle_code");
|
||||||
|
|||||||
@@ -68,9 +68,7 @@ public class RgvTask extends AbstractAcsTask {
|
|||||||
if (StrUtil.isEmpty(start_point_code)) {
|
if (StrUtil.isEmpty(start_point_code)) {
|
||||||
throw new BadRequestException("起点不能为空!");
|
throw new BadRequestException("起点不能为空!");
|
||||||
}
|
}
|
||||||
JSONObject beforTaskObj = WQLObject.getWQLObject("sch_base_task").
|
JSONObject beforTaskObj = WQLObject.getWQLObject("sch_base_task").query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
|
||||||
query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
||||||
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -131,7 +131,6 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
|||||||
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotEmpty(next_point_code)) {
|
if (StrUtil.isNotEmpty(next_point_code)) {
|
||||||
PointDto nextPoint = pointService.findByCode(next_point_code);
|
|
||||||
task_status = TaskStatusEnum.START_AND_POINT.getCode();
|
task_status = TaskStatusEnum.START_AND_POINT.getCode();
|
||||||
// 锁定终点
|
// 锁定终点
|
||||||
HashMap lock_map = new HashMap();
|
HashMap lock_map = new HashMap();
|
||||||
|
|||||||
@@ -170,9 +170,7 @@ public class StructToConveyorTask extends AbstractAcsTask {
|
|||||||
throw new BadRequestException("终点不能为空!");
|
throw new BadRequestException("终点不能为空!");
|
||||||
}
|
}
|
||||||
//判断起点有没有未完成的指令
|
//判断起点有没有未完成的指令
|
||||||
JSONObject beforTaskObj = taskTable.
|
JSONObject beforTaskObj = taskTable.query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
|
||||||
query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
||||||
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,8 @@ import org.nl.wms.sch.service.dto.PointDto;
|
|||||||
import org.nl.wql.core.bean.WQLObject;
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 压机到货架
|
* 压机到到输送线任务
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|||||||
@@ -20,6 +20,11 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1、分拣机械手满料
|
||||||
|
* 分拣机械手到包装
|
||||||
|
*/
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.nl.exception.BadRequestException;
|
import org.nl.exception.BadRequestException;
|
||||||
import org.nl.wms.sch.AcsUtil;
|
import org.nl.wms.sch.AcsUtil;
|
||||||
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.nl.wms.sch.service.PointService;
|
import org.nl.wms.sch.service.PointService;
|
||||||
import org.nl.wms.sch.service.dto.PointDto;
|
import org.nl.wms.sch.service.dto.PointDto;
|
||||||
import org.nl.wql.WQL;
|
import org.nl.wql.WQL;
|
||||||
@@ -131,6 +132,19 @@ public class PointServiceImpl implements PointService {
|
|||||||
throw new BadRequestException("编码已存在!");
|
throw new BadRequestException("编码已存在!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 点位修改
|
||||||
|
JSONObject point = wo.query("point_id = '" + dto.getPoint_id() + "'").uniqueResult(0);
|
||||||
|
//判断是否有未完成的任务,如果有,不让修改
|
||||||
|
// 判断起点有没有未完成的指令
|
||||||
|
WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||||
|
|
||||||
|
JSONObject beforTaskObj = taskTable.query("is_delete='0' and (start_point_code='" + point.getString("point_code")+"' or next_point_code= '"+ point.getString("point_code")+ "') and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
|
||||||
|
.uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
||||||
|
throw new BadRequestException("任务号【'" + beforTaskObj.getString("task_code") + "'】未完成,无法修改!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Long currentUserId = UserInfoUtil.getCurrentUserId();
|
Long currentUserId = UserInfoUtil.getCurrentUserId();
|
||||||
String nickName = UserInfoUtil.getNickName();
|
String nickName = UserInfoUtil.getNickName();
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.exception.BadRequestException;
|
import org.nl.exception.BadRequestException;
|
||||||
import org.nl.common.utils.UserInfoUtil;
|
import org.nl.common.utils.UserInfoUtil;
|
||||||
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.nl.wms.st.basedata.service.KilnService;
|
import org.nl.wms.st.basedata.service.KilnService;
|
||||||
import org.nl.wql.WQL;
|
import org.nl.wql.WQL;
|
||||||
import org.nl.wql.core.bean.WQLObject;
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
@@ -28,8 +29,8 @@ public class KilnServiceImpl implements KilnService {
|
|||||||
public Map<String, Object> kilnCacheQuery(Map whereJson, Pageable page) {
|
public Map<String, Object> kilnCacheQuery(Map whereJson, Pageable page) {
|
||||||
JSONObject map = new JSONObject();
|
JSONObject map = new JSONObject();
|
||||||
map.put("flag", "1");
|
map.put("flag", "1");
|
||||||
if (ObjectUtil.isNotEmpty(whereJson.get("point_code")))
|
if (ObjectUtil.isNotEmpty(whereJson.get("search")))
|
||||||
map.put("point_code", "%" + whereJson.get("point_code") + "%");
|
map.put("point_code", "%" + whereJson.get("search") + "%");
|
||||||
map.put("point_status", whereJson.get("point_status"));
|
map.put("point_status", whereJson.get("point_status"));
|
||||||
map.put("lock_type", whereJson.get("lock_type"));
|
map.put("lock_type", whereJson.get("lock_type"));
|
||||||
map.put("is_used", whereJson.get("is_used"));
|
map.put("is_used", whereJson.get("is_used"));
|
||||||
@@ -95,8 +96,8 @@ public class KilnServiceImpl implements KilnService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//先删除库存 永远插入库存
|
//先删除库存 永远插入库存
|
||||||
structIvtTab.delete("struct_id = '"+jsonObject.getString("struct_id")+"'");
|
structIvtTab.delete("struct_id = '" + jsonObject.getString("struct_id") + "'");
|
||||||
stockrecordId="";
|
stockrecordId = "";
|
||||||
if (ObjectUtil.isEmpty(stockrecordId)) { // 仓位库存id为空,就插入
|
if (ObjectUtil.isEmpty(stockrecordId)) { // 仓位库存id为空,就插入
|
||||||
JSONObject structIvt = new JSONObject();
|
JSONObject structIvt = new JSONObject();
|
||||||
structIvt.put("stockrecord_id", IdUtil.getSnowflake(1, 1).nextId());
|
structIvt.put("stockrecord_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
@@ -141,7 +142,7 @@ public class KilnServiceImpl implements KilnService {
|
|||||||
// 存在相应载具的话删掉在存
|
// 存在相应载具的话删掉在存
|
||||||
if (ObjectUtil.isNotEmpty(vehicle_code)) {
|
if (ObjectUtil.isNotEmpty(vehicle_code)) {
|
||||||
vehicleGroupTab.delete("vehicle_code = '" + vehicle_code + "'");
|
vehicleGroupTab.delete("vehicle_code = '" + vehicle_code + "'");
|
||||||
structIvtTab.delete("vehicle_code <> '" + vehicle_code + "' and struct_id = '"+jsonObject.getString("struct_id")+"'");
|
structIvtTab.delete("vehicle_code <> '" + vehicle_code + "' and struct_id = '" + jsonObject.getString("struct_id") + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject vehicleGroup = new JSONObject();
|
JSONObject vehicleGroup = new JSONObject();
|
||||||
@@ -152,7 +153,7 @@ public class KilnServiceImpl implements KilnService {
|
|||||||
vehicleGroup.put("material_code", materialObj.getString("material_code"));
|
vehicleGroup.put("material_code", materialObj.getString("material_code"));
|
||||||
vehicleGroup.put("material_name", materialObj.getString("material_name"));
|
vehicleGroup.put("material_name", materialObj.getString("material_name"));
|
||||||
vehicleGroup.put("material_spec", materialObj.getString("material_spec"));
|
vehicleGroup.put("material_spec", materialObj.getString("material_spec"));
|
||||||
vehicleGroup.put("task_id", IdUtil.getSnowflake(1,1).nextId());
|
vehicleGroup.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
vehicleGroup.put("create_id", currentUserId);
|
vehicleGroup.put("create_id", currentUserId);
|
||||||
vehicleGroup.put("create_name", nickName);
|
vehicleGroup.put("create_name", nickName);
|
||||||
vehicleGroup.put("create_time", now);
|
vehicleGroup.put("create_time", now);
|
||||||
@@ -163,11 +164,22 @@ public class KilnServiceImpl implements KilnService {
|
|||||||
vehicleGroup.put("device_id", jsonObject.getString("device_id"));
|
vehicleGroup.put("device_id", jsonObject.getString("device_id"));
|
||||||
vehicleGroup.put("qty", ivt_qty);
|
vehicleGroup.put("qty", ivt_qty);
|
||||||
vehicleGroup.put("is_full", is_full);
|
vehicleGroup.put("is_full", is_full);
|
||||||
vehicleGroup.put("material_move_id", IdUtil.getSnowflake(1,1).nextId());
|
vehicleGroup.put("material_move_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
vehicleGroupTab.insert(vehicleGroup);
|
vehicleGroupTab.insert(vehicleGroup);
|
||||||
}
|
}
|
||||||
// 点位修改
|
// 点位修改
|
||||||
JSONObject point = pointTab.query("point_id = '" + jsonObject.getString("point_id") + "'").uniqueResult(0);
|
JSONObject point = pointTab.query("point_id = '" + jsonObject.getString("point_id") + "'").uniqueResult(0);
|
||||||
|
//判断是否有未完成的任务,如果有,不让修改
|
||||||
|
// 判断起点有没有未完成的指令
|
||||||
|
WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||||
|
|
||||||
|
JSONObject beforTaskObj = taskTable.query("is_delete='0' and (start_point_code='" + point.getString("point_code") + "' or next_point_code= '" + point.getString("point_code") + "') and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
|
||||||
|
.uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
||||||
|
throw new BadRequestException("任务号【'" + beforTaskObj.getString("task_code") + "'】未完成,无法修改!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(point)) throw new BadRequestException("被删除或无权限,操作失败!");
|
if (ObjectUtil.isEmpty(point)) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||||
point.put("point_status", point_status);
|
point.put("point_status", point_status);
|
||||||
point.put("lock_type", jsonObject.getString("lock_type"));
|
point.put("lock_type", jsonObject.getString("lock_type"));
|
||||||
|
|||||||
@@ -61,9 +61,9 @@
|
|||||||
WHERE
|
WHERE
|
||||||
area_type = 输入.area_type
|
area_type = 输入.area_type
|
||||||
OPTION 输入.point_code <> ""
|
OPTION 输入.point_code <> ""
|
||||||
point.point_code LIKE 输入.point_code
|
( point.point_code LIKE 输入.point_code
|
||||||
OR
|
OR
|
||||||
point.point_name LIKE 输入.point_code
|
point.point_name LIKE 输入.point_code)
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.point_status <> ""
|
OPTION 输入.point_status <> ""
|
||||||
point.point_status = 输入.point_status
|
point.point_status = 输入.point_status
|
||||||
|
|||||||
Reference in New Issue
Block a user