diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/dto/MaterialDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/dto/MaterialDto.java index 23a258cd..8711efc0 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/dto/MaterialDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/dto/MaterialDto.java @@ -14,7 +14,7 @@ public class MaterialDto implements Serializable{ /** * 物料标识 */ - private String material_uuid; + private String material_id; /** * 编码 */ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java index 8123f9ad..9bf5c6f3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/rest/CacheLineHandController.java @@ -49,7 +49,7 @@ public class CacheLineHandController{ @ApiOperation("规格下拉框查询") public CommonResult semiMaterialSpecQuery(@RequestBody JSONObject form) { log.info("海亮缓存线手持服务 [规格下拉框查询] 接口被请求, 请求参数-{}", form); - return RestBusinessTemplate.execute(() -> cacheLineHandService.materialQuery(form.getString("form"))); + return RestBusinessTemplate.execute(() -> cacheLineHandService.semiMaterialSpecQuery(form.getString("form"))); } @PostMapping("/workProcedureQuery") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java index 85abcc80..01d3e342 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/CacheLineHandServiceImpl.java @@ -14,6 +14,7 @@ import org.nl.config.thread.ThreadPoolExecutorUtil; import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; import org.nl.wms.pda.dto.CachelineVehileMaterialDto; import org.nl.wms.pda.dto.MaterialDto; import org.nl.wms.pda.service.CacheLineHandService; @@ -27,14 +28,16 @@ import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; /** - * @author gbx - * @Description: Title: CacheLineHandServiceImpl.java Description: 3中异常类型: + * CacheLineHandServiceImpl.java Description: 3中异常类型: * 1、比如要N个空箱子或N个满料料箱。查询出来以后,一个码都无法扫描出来,这时候标记这些箱子为异常 * 2、箱码扫描不出来,则用手持经过WMS中转传输给WCS,最后给电器。 * 3、AGV搬运过程中异常(非AGVERR),查询条件为设备、起始点等未完成的时候(有可能不是异常)。 + * + * @author gbx * @date 2023/3/22 */ @Service @@ -43,6 +46,7 @@ import java.util.stream.Collectors; public class CacheLineHandServiceImpl implements CacheLineHandService{ private final RedisUtils redisUtils; private final TaskServiceImpl taskServiceImp; + private final WmsToAcsServiceImpl wmsToAcsServiceImpl; @Autowired private LocalCache cache; @@ -54,6 +58,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ @Override public List materialQuery(String param) { + AtomicBoolean atomicBoolean = new AtomicBoolean(false); // StopWatch stopWatch = new StopWatch(); // stopWatch.start(); // stopWatch.stop(); @@ -72,14 +77,30 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ cache.setLocalCache("materialList", materialList); return getMaterialDto(materialList, param); } - //3.查db缓存到本地与redis + //3.查db JSONArray materialJsonArray = WQL.getWO("PDA_QUERY").addParam("flag", "5").process().getResultJSONArray(0); materialList = materialJsonArray.toJavaList(MaterialDto.class); - List finalMaterialList = materialList; - CompletableFuture f1 = CompletableFuture.runAsync(() -> cache.setLocalCache("materialList", finalMaterialList), pool); + //缓存到redis List finalMaterialList1 = materialList; - CompletableFuture f2 = CompletableFuture.runAsync(() -> redisUtils.set("materialList", finalMaterialList1, 3600, TimeUnit.SECONDS), pool); - return getMaterialDto(materialList, param); + CompletableFuture f1 = CompletableFuture.runAsync(() -> { + try { + redisUtils.set("materialList", finalMaterialList1, 3600, TimeUnit.SECONDS); + } + catch(Exception e) { + log.error("物料信息缓存redis失败: {}", e.getMessage(), e); + } + }, pool); + //缓存到本地 + List finalMaterialList = materialList; + CompletableFuture f2 = CompletableFuture.runAsync(() -> { + try { + cache.setLocalCache("materialList", finalMaterialList); + } + catch(Exception e) { + log.error("物料信息缓存本地失败: {}", e.getMessage(), e); + } + }, pool); + return materialList; } /** @@ -123,7 +144,6 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ @Override public void instOperation(JSONObject param) { String optType = param.getString("opt_type"); - PointToPointTask pointToPointTask = new PointToPointTask(); WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); JSONObject taskObject = taskTab.query("task_id =" + param.getString("instruct_uuid")).uniqueResult(0); //01-取消、02-完成、03-重发,根据操作类型执行相关操作 @@ -131,7 +151,10 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{ updateTaskStatus(taskObject, optType); } if("03".equals(optType)) { - pointToPointTask.createTask(taskObject); + JSONArray taskArray = new JSONArray(); + taskArray.add(taskObject); + //任务下发 + wmsToAcsServiceImpl.issueTaskToAcs(taskArray); } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql index 187ea8bf..fbe79220 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA_QUERY.wql @@ -42,17 +42,16 @@ IF 输入.flag = "1" QUERY SELECT - material_id material_uuid, - material_code, - material_spec + material_id `value`, + material_spec text FROM md_me_materialbase WHERE - is_delete = '0' + is_delete = '0' OPTION 输入.condition <> "" - material_code LIKE CONCAT ( '%', 输入.condition, '%' ) - OR material_spec LIKE CONCAT ( '%', 输入.condition, '%' ) + material_spec LIKE CONCAT ( '%', 输入.condition, '%' ) ENDOPTION + GROUP BY material_spec ENDSELECT ENDQUERY ENDIF @@ -60,8 +59,8 @@ IF 输入.flag = "2" QUERY SELECT - workprocedure_id, - workprocedure_name, + workprocedure_id value, + workprocedure_name text, workprocedure_code FROM PDM_BI_WorkProcedure @@ -78,7 +77,7 @@ IF 输入.flag = "3" QUERY SELECT - dict_id id, + dict_id value, label text FROM sys_dict @@ -95,7 +94,7 @@ IF 输入.flag = "4" QUERY SELECT - device_code id, + device_code value, device_name text FROM `pdm_bi_device` @@ -112,7 +111,7 @@ IF 输入.flag = "5" QUERY SELECT - mb.material_id material_uuid, + mb.material_id, mb.material_code, mb.material_spec, mb.material_name,