监控大屏更新
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.ext.dp.service.imp;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -12,6 +13,8 @@ import org.nl.modules.system.service.dto.UserDto;
|
||||
import org.nl.utils.RsaUtils;
|
||||
import org.nl.wms.ext.dp.service.BigScreenService;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.core.engine.object.WO;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -162,9 +165,11 @@ public class BigScreenServiceImpl implements BigScreenService {
|
||||
//查询熟化区的入库转储任务
|
||||
JSONObject jo = new JSONObject();
|
||||
|
||||
//静止中
|
||||
JSONArray allrows = WQL.getWO("QST_BIG_SCREEN").addParam("flag", "11").process()
|
||||
.getResultJSONArray(0);
|
||||
|
||||
//静止完成
|
||||
JSONArray allrows2 = WQL.getWO("QST_BIG_SCREEN").addParam("flag", "12").process()
|
||||
.getResultJSONArray(0);
|
||||
jo.put("allrows", allrows);
|
||||
@@ -235,6 +240,23 @@ public class BigScreenServiceImpl implements BigScreenService {
|
||||
//查询熟化仓位信息
|
||||
JSONArray allrows = WQL.getWO("QST_BIG_SCREEN").addParam("flag", "5").process()
|
||||
.getResultJSONArray(0);
|
||||
//物料标签明细表【md_base_materialLabelDtl】
|
||||
WQLObject materialLabelDtlTab = WQLObject.getWQLObject("md_base_materialLabelDtl");
|
||||
//拼接库存信息
|
||||
for (int i = 0; i < allrows.size(); i++) {
|
||||
JSONObject json = allrows.getJSONObject(i);
|
||||
String labeldtl_uuid = json.getString("labeldtl_uuid");
|
||||
if (StrUtil.isNotEmpty(labeldtl_uuid)) {
|
||||
JSONObject jsonObject1 = materialLabelDtlTab.query("labeldtl_uuid = '" + labeldtl_uuid + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonObject1)) {
|
||||
JSONObject labelObj = WQL.getWO("QST_BIG_SCREEN").addParam("flag", "13").addParam("labeldtl_uuid", labeldtl_uuid).process().uniqueResult(0);
|
||||
//配方-批次-重量(YC-B8-1000)
|
||||
String material_ivt_info = labelObj.getString("formula") + "-" + labelObj.getString("pcsn") + "-" + labelObj.getString("weight");
|
||||
json.put("material_ivt_info", material_ivt_info);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return allrows;
|
||||
}
|
||||
|
||||
@@ -351,6 +373,24 @@ public class BigScreenServiceImpl implements BigScreenService {
|
||||
//查询熟化仓位信息
|
||||
JSONArray allrows = WQL.getWO("QST_BIG_SCREEN").addParam("flag", "10").process()
|
||||
.getResultJSONArray(0);
|
||||
//物料标签明细表【md_base_materialLabelDtl】
|
||||
WQLObject materialLabelDtlTab = WQLObject.getWQLObject("md_base_materialLabelDtl");
|
||||
//拼接库存信息
|
||||
for (int i = 0; i < allrows.size(); i++) {
|
||||
JSONObject json = allrows.getJSONObject(i);
|
||||
String labeldtl_uuid = json.getString("labeldtl_uuid");
|
||||
if (StrUtil.isNotEmpty(labeldtl_uuid)) {
|
||||
JSONObject jsonObject1 = materialLabelDtlTab.query("labeldtl_uuid = '" + labeldtl_uuid + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonObject1)) {
|
||||
JSONObject labelObj = WQL.getWO("QST_BIG_SCREEN").addParam("flag", "13").addParam("labeldtl_uuid", labeldtl_uuid).process().uniqueResult(0);
|
||||
//配方-批次-重量(YC-B8-1000)
|
||||
String material_ivt_info = labelObj.getString("formula") + "-" + labelObj.getString("pcsn") + "-" + labelObj.getString("weight");
|
||||
json.put("material_ivt_info", material_ivt_info);
|
||||
json.put("color", labelObj.getString("color"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return allrows;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.date_begin TYPEAS s_string
|
||||
输入.date_end TYPEAS s_string
|
||||
输入.flag TYPEAS s_string
|
||||
输入.date_begin TYPEAS s_string
|
||||
输入.date_end TYPEAS s_string
|
||||
输入.labeldtl_uuid TYPEAS s_string
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
@@ -171,6 +172,7 @@ IF 输入.flag = "3"
|
||||
material.formula,
|
||||
point.point_code AS struct_code,
|
||||
ivt.label_code,
|
||||
ivt.labeldtl_uuid,
|
||||
CASE
|
||||
|
||||
WHEN point.is_active = '0' THEN
|
||||
@@ -392,23 +394,41 @@ IF 输入.flag = "8"
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "12"
|
||||
QUERY
|
||||
SELECT
|
||||
round ( sum( ivt.canuse_qty ), 0 ) AS finished_quantity,
|
||||
ivt.label_code,
|
||||
mst.formula,
|
||||
mst.pcsn
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN sch_base_point point ON point.point_uuid = ivt.struct_uuid
|
||||
LEFT JOIN md_base_materialLabelMst mst ON ivt.label_uuid = ivt.label_uuid
|
||||
WHERE
|
||||
TIMESTAMPDIFF( HOUR, ivt.instorage_time, now( ) ) >= ivt.stand_hour
|
||||
AND point.area_type IN ( '01', '02' )
|
||||
GROUP BY
|
||||
mst.formula,mst.pcsn,ivt.label_code
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
IF 输入.flag = "12"
|
||||
QUERY
|
||||
SELECT
|
||||
round ( sum( ivt.canuse_qty ), 0 ) AS finished_quantity,
|
||||
ivt.label_code,
|
||||
mst.formula,
|
||||
mst.pcsn
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN sch_base_point point ON point.point_uuid = ivt.struct_uuid
|
||||
LEFT JOIN md_base_materialLabelMst mst ON ivt.label_uuid = ivt.label_uuid
|
||||
WHERE
|
||||
TIMESTAMPDIFF( HOUR, ivt.instorage_time, now( ) ) >= ivt.stand_hour
|
||||
AND point.area_type IN ( '01', '02' )
|
||||
GROUP BY
|
||||
mst.formula,mst.pcsn,ivt.label_code
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "13"
|
||||
SELECT
|
||||
mst.material_uuid,
|
||||
mst.material_code,
|
||||
mst.material_name,
|
||||
mst.formula,
|
||||
mst.pcsn,
|
||||
mst.color,
|
||||
dtl.weight
|
||||
FROM
|
||||
md_base_materialLabelDtl dtl
|
||||
LEFT JOIN md_base_materialLabelMst mst ON dtl.label_uuid = mst.label_uuid
|
||||
OPTION 输入.labeldtl_uuid <> ""
|
||||
dtl.labeldtl_uuid = 输入.labeldtl_uuid
|
||||
ENDOPTION
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -166,6 +166,12 @@ public class ProduceTaskController {
|
||||
produceTaskService.materialBack(map);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
@ApiOperation("空托回库")
|
||||
@PostMapping("/emptyVehicleBack")
|
||||
public ResponseEntity<Object> emptyVehicleBack(@RequestBody Map map) {
|
||||
produceTaskService.emptyVehicleBack(map);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("根据设备id查询任务")
|
||||
@GetMapping("/{id}")
|
||||
|
||||
@@ -131,6 +131,12 @@ public interface ProduceTaskService {
|
||||
* @param map
|
||||
*/
|
||||
void materialBack(Map map);
|
||||
/**
|
||||
* 空托回库
|
||||
*
|
||||
* @param map
|
||||
*/
|
||||
void emptyVehicleBack(Map map);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -507,6 +507,28 @@ public class ProduceTaskServiceImpl implements ProduceTaskService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void emptyVehicleBack(Map map) {
|
||||
String id = MapUtil.getStr(map, "id");
|
||||
if (StrUtil.isEmpty(id)) throw new BadRequestException("所选屏位置不能为空!");
|
||||
|
||||
String point_code = "BCPSL0" + id;
|
||||
//判断点位上有没有托盘,没有托盘不允许回库
|
||||
// JSONObject pointObj = WQLObject.getWQLObject("sch_base_point").query("point_code='" + point_code + "'").uniqueResult(0);
|
||||
// String vehicle_code = pointObj.optString("vehicle_code");
|
||||
|
||||
//判断是否有到该设备的未完成的AGV任务
|
||||
//任务基础表【sch_base_task】
|
||||
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONObject taskJson = taskTab.query(" is_delete='0' and task_status<>'06' and start_point_code = '" + point_code + "' and handle_class = '" + InEmptyVehicleTask.class.getName() + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(taskJson)) throw new BadRequestException("该设备有未完成的搬运任务,不能重复操作!");
|
||||
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("start_point_code", point_code);
|
||||
InEmptyVehicleTask inEmptyVehicleTask = new InEmptyVehicleTask();
|
||||
inEmptyVehicleTask.createTask(param);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONArray queryIdDevice(String id) {
|
||||
@@ -571,10 +593,10 @@ public class ProduceTaskServiceImpl implements ProduceTaskService {
|
||||
//标签标识
|
||||
String label_uuid = labelObj.getString("label_uuid");
|
||||
HashMap param = new HashMap();
|
||||
param.put("flag","1");
|
||||
param.put("label_uuid",label_uuid);
|
||||
param.put("flag", "1");
|
||||
param.put("label_uuid", label_uuid);
|
||||
JSONObject jsonObject = WQL.getWO("QPDM_PRODUCETASK_005").addParamMap(param).process().uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonObject))return jsonObject.getString("ivt_qty");
|
||||
if (ObjectUtil.isNotEmpty(jsonObject)) return jsonObject.getString("ivt_qty");
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,6 +121,8 @@ public class InEmptyVehicleTask extends AbstractAcsTask {
|
||||
String task_status = TaskStatusEnum.SURE_START.getCode();
|
||||
String start_point_code = etvObj.optString("start_point_code");
|
||||
String next_point_code = etvObj.optString("next_point_code");
|
||||
|
||||
|
||||
JSONObject jsonTask = new JSONObject();
|
||||
jsonTask.put("task_uuid", IdUtil.simpleUUID());
|
||||
jsonTask.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||
|
||||
Reference in New Issue
Block a user