This commit is contained in:
loujf
2022-10-14 12:40:42 +08:00
parent 936f7195f0
commit 10dbfe7190
7 changed files with 99 additions and 69 deletions

View File

@@ -1358,6 +1358,7 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe
json.put("one_qty",one_qty);
json.put("two_qty",two_qty);
json.put("tool_coordinate",tool_coordinate);
json.put("material_code",material);
HttpResponse result = acsToWmsService.applyTaskManipulatorToWms(json);
if (ObjectUtil.isNotEmpty(result)) {

View File

@@ -163,7 +163,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
jo.put("device_code", parent_device_code);
jo.putAll(json);
log.info("lnshApplyTaskToWms-----请求参数{}", jo.toString());
log.info("applyIntoKiln-----请求参数{}", jo.toString());
HttpResponse result2 = null;
try {
//{"status":400,"timestamp":"2021-10-22 16:32:22","message":"业务类型不正确!"}
@@ -177,7 +177,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
//网络不通
System.out.println(msg);
}
log.info("lnshApplyTaskToWms-----输出参数{}", result2.body());
log.info("applyIntoKiln-----输出参数{}", result2.body());
return result2;
} finally {
MDC.remove(log_file_type);
@@ -323,7 +323,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String methods_url = addressDto.getMethods_url();
String url = wmsurl + methods_url;
log.info("getVehicleTokiln----请求参数{}", json.toString());
log.info("inKiln----请求参数{}", json.toString());
HttpResponse result = null;
try {
result = HttpRequest.post(url)
@@ -334,7 +334,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
} catch (Exception e) {
System.out.println(e.getMessage());
}
log.info("getVehicleTokiln----返回参数{}", result.body());
log.info("inKiln----返回参数{}", result.body());
return result;
} finally {

View File

@@ -15,7 +15,7 @@ public class PressureUtil {
public static String record(JSONObject whereJson) {
String device_code = (String) whereJson.get("device_code");
String reason = (String) whereJson.get("reason");
int qty =Integer.valueOf((String)whereJson.get("qty"));
int qty =Integer.valueOf(whereJson.get("qty").toString());
String record_id = "";
//根据设备查询当前设备以及排产单号
JSONObject joo = WQL.getWO("QSTRUCT_RULE").addParam("flag", "12").addParam("point_code", device_code).process().uniqueResult(0);

View File

@@ -106,16 +106,32 @@ public class StructFindUtil {
//获取空闲的输送线的上料位
public static JSONObject getConveyor(JSONObject jsonObject) {
//判断现在是否能去输送线
/*//判断现在是否能去输送线
String material_id = jsonObject.getString("material_id");
WQLObject materialTable = WQLObject.getWQLObject("MD_ME_Material");
JSONObject materialObj = materialTable.query("material_id ='" + material_id + "'").uniqueResult(0);
//获取可以用的输送线数组
JSONObject result = WQL.getWO("QSTRUCT_RULE").addParam("flag", "6")
.addParam("material_type", materialObj.getString("material_type"))
.addParam("material_code", materialObj.getString("material_code"))
.process().uniqueResult(0);
return result;
JSONObject materialObj = materialTable.query("material_id ='" + material_id + "'").uniqueResult(0);*/
// 查询空闲输送线
JSONArray arr = WQL.getWO("QSTRUCT_RULE").addParam("flag", "13")
.process().getResultJSONArray(0);
// 匹配叫料的类型和输送线的类型
String materialType = jsonObject.getString("material_type");
String materialCode = jsonObject.getString("material_code");
for (Object o : arr) {
JSONObject line = (JSONObject) o;
String lineMaterialType = line.getString("material_type");
String lineMaterialCode = line.getString("material_code");
// 先匹配类型
if (StrUtil.equals(materialType, lineMaterialType)) {
// 如果规定了特定类型 且 物料类型和特定类型不一致 下一轮循环
if (StrUtil.isNotEmpty(lineMaterialCode) && !StrUtil.equals(materialCode, lineMaterialCode)) {
continue;
}
return line;
}
}
return null;
}
public static JSONObject getEmptyMto(JSONObject jsonObject) {

View File

@@ -220,10 +220,7 @@ IF 输入.flag = "6"
AND task.task_code IS NULL
AND point.point_status = '00'
OPTION 输入.material_type <> ""
point.material_type = 输入.material_type
ENDOPTION
OPTION point.material_code <> "0"
point.material_code = 输入.material_code
point.material_type = 输入.material_type
ENDOPTION
ENDSELECT
ENDQUERY
@@ -305,6 +302,12 @@ IF 输入.flag = "9"
OPTION 输入.is_full <> ""
ivt.is_full = 输入.is_full
ENDOPTION
OPTION 输入.material_type <> ""
material.material_type = 输入.material_type
ENDOPTION
OPTION 输入.material_id <> ""
ivt.material_id = 输入.material_id
ENDOPTION
order by ruledis.out_seq_no
ENDSELECT
ENDQUERY
@@ -389,48 +392,47 @@ IF 输入.flag = "13"
WHERE
point.area_type = '07'
AND device_point_type = '01'
AND point.MODE <> '0'
AND point.`mode` <> '0'
AND point.point_status='00'
AND ( point.vehicle_code = '' OR point.vehicle_code IS NULL )
AND task.task_code IS NULL
ORDER BY
material_code DESC
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "14"
QUERY
SELECT DISTINCT
point.point_code AS struct_code,
point.point_id AS struct_id,
point.point_name AS struct_name,
point.vehicle_code,
ivt.canuse_qty,
ruledis.out_seq_no,
material.material_id,
material.material_code,
material.material_name,
material.material_spec
FROM
st_ivt_structivt ivt
LEFT JOIN sch_base_point point ON point.point_id = ivt.struct_id
LEFT JOIN st_rule_IOdisStruct ruledis ON ruledis.struct_uuid = ivt.struct_id
LEFT JOIN md_me_material material ON material.material_id = ivt.material_id
WHERE
ivt.canuse_qty > 0
AND point.point_status = '02'
AND point.lock_type = '00'
AND point.is_used = '1'
and TIME_TO_SEC(timediff(now(),ivt.instorage_time)) >=ivt.stewing_time*60
OPTION 输入.area_type <> ""
point.area_type = 输入.area_type
ENDOPTION
OPTION 输入.material_type <> ""
material.material_type = 输入.material_type
ENDOPTION
OPTION 输入.material_code <> ""
material.material_code = 输入.material_code
ENDOPTION
order by ruledis.out_seq_no
SELECT DISTINCT
point.point_code AS struct_code,
point.point_id AS struct_id,
point.point_name AS struct_name,
point.vehicle_code,
ivt.canuse_qty,
ruledis.out_seq_no,
material.material_id,
material.material_code,
material.material_name,
material.material_spec
FROM
st_ivt_structivt ivt
LEFT JOIN sch_base_point point ON point.point_id = ivt.struct_id
LEFT JOIN st_rule_IOdisStruct ruledis ON ruledis.struct_uuid = ivt.struct_id
LEFT JOIN md_me_material material ON material.material_id = ivt.material_id
WHERE
ivt.canuse_qty > 0
AND point.point_status = '02'
AND point.lock_type = '00'
AND point.is_used = '1'
and TIME_TO_SEC(timediff(now(),ivt.instorage_time)) >=ivt.stewing_time*60
OPTION 输入.area_type <> ""
point.area_type = 输入.area_type
ENDOPTION
OPTION 输入.material_type <> ""
material.material_type = 输入.material_type
ENDOPTION
order by ruledis.out_seq_no
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -61,6 +61,7 @@
WHERE
task.is_delete = '0'
and task.produceTask_status <> '05'
OPTION 输入.search <> ""
(task.producetask_code like 输入.search)
ENDOPTION

View File

@@ -36,9 +36,11 @@ public class AutoOutStructTask {
//1.首先更新所有输送线的点位状态
JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", "07").addParam("flag", "4").process().getResultJSONArray(0);
PointUpdateUtil.updatePoint(pointarr);
//2找一个空余的缓存线,对应的物料是否有库存
JSONArray arr = WQL.getWO("QSTRUCT_RULE").addParam("flag", "13").process().getResultJSONArray(0);
String material_id = "";
// 查询空余的入窑输送线
JSONArray arr = WQL.getWO("QSTRUCT_RULE").addParam("flag", "13")
.process().getResultJSONArray(0);
/*String material_id = "";
String vehicle_code = "";
String point_code = "";
for (int i = 0; i < arr.size(); i++) {
@@ -50,7 +52,6 @@ public class AutoOutStructTask {
}
JSONObject outObj = WQL.getWO("QSTRUCT_RULE").addParam("flag", "14")
.addParam("material_type", material_type)
.addParam("material_code", material_code)
.process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(outObj)) {
material_id = outObj.getString("material_id");
@@ -61,24 +62,33 @@ public class AutoOutStructTask {
}
if (StrUtil.isEmpty(material_id)) {
return;
}
JSONObject param = new JSONObject();
param.put("flag", "9");
param.put("area_type", "01");
param.put("if_full", "1");
JSONObject structObj = WQL.getWO("QSTRUCT_RULE").addParamMap(param).process().uniqueResult(0);
}*/
// 遍历输送线,给每一个输送线创建叫料任务
CallMaterialTask callMaterialTask = new CallMaterialTask();
JSONObject taskObj = new JSONObject();
taskObj.put("next_point_code", point_code);
taskObj.put("vehicle_code", structObj.get("vehicle_code"));
taskObj.put("material_id", structObj.get("material_id"));
taskObj.put("create_mode", "02");
taskObj.put("is_full", "1");
taskObj.put("workprocedure_id", WorkProcedureEnum.SZGX.getId());
callMaterialTask.createTask(taskObj);
return;
for (Object o : arr) {
JSONObject line = (JSONObject) o;
JSONObject param = new JSONObject();
param.put("flag", "9");
param.put("area_type", "01");
param.put("if_full", "1");
param.put("material_type", line.getString("material_type"));
if (StrUtil.isNotEmpty(line.getString("material_code"))) {
param.put("material_code", line.getString("material_code"));
}
JSONObject structObj = WQL.getWO("QSTRUCT_RULE").addParamMap(param).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(structObj)) {
JSONObject taskObj = new JSONObject();
taskObj.put("next_point_code", line.getString("point_code"));
taskObj.put("vehicle_code", structObj.get("vehicle_code"));
taskObj.put("material_id", structObj.get("material_id"));
taskObj.put("create_mode", "02");
taskObj.put("is_full", "1");
taskObj.put("workprocedure_id", WorkProcedureEnum.SZGX.getId());
callMaterialTask.createTask(taskObj);
}
}
}
}