根据前端原有通用代码适配,修改缓存线初始化下拉框id为value,值为text

This commit is contained in:
2023-03-24 11:29:50 +08:00
parent 8cc3caa49b
commit dc945ab6a2
4 changed files with 44 additions and 22 deletions

View File

@@ -14,7 +14,7 @@ public class MaterialDto implements Serializable{
/** /**
* 物料标识 * 物料标识
*/ */
private String material_uuid; private String material_id;
/** /**
* 编码 * 编码
*/ */

View File

@@ -49,7 +49,7 @@ public class CacheLineHandController{
@ApiOperation("规格下拉框查询") @ApiOperation("规格下拉框查询")
public CommonResult<Object> semiMaterialSpecQuery(@RequestBody JSONObject form) { public CommonResult<Object> semiMaterialSpecQuery(@RequestBody JSONObject form) {
log.info("海亮缓存线手持服务 [规格下拉框查询] 接口被请求, 请求参数-{}", form); log.info("海亮缓存线手持服务 [规格下拉框查询] 接口被请求, 请求参数-{}", form);
return RestBusinessTemplate.execute(() -> cacheLineHandService.materialQuery(form.getString("form"))); return RestBusinessTemplate.execute(() -> cacheLineHandService.semiMaterialSpecQuery(form.getString("form")));
} }
@PostMapping("/workProcedureQuery") @PostMapping("/workProcedureQuery")

View File

@@ -14,6 +14,7 @@ import org.nl.config.thread.ThreadPoolExecutorUtil;
import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.common.utils.RedisUtils;
import org.nl.modules.wql.WQL; import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; 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.CachelineVehileMaterialDto;
import org.nl.wms.pda.dto.MaterialDto; import org.nl.wms.pda.dto.MaterialDto;
import org.nl.wms.pda.service.CacheLineHandService; import org.nl.wms.pda.service.CacheLineHandService;
@@ -27,14 +28,16 @@ import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* @author gbx * CacheLineHandServiceImpl.java Description: 3中异常类型:
* @Description: Title: CacheLineHandServiceImpl.java Description: 3中异常类型:
* 1、比如要N个空箱子或N个满料料箱。查询出来以后一个码都无法扫描出来这时候标记这些箱子为异常 * 1、比如要N个空箱子或N个满料料箱。查询出来以后一个码都无法扫描出来这时候标记这些箱子为异常
* 2、箱码扫描不出来则用手持经过WMS中转传输给WCS最后给电器。 * 2、箱码扫描不出来则用手持经过WMS中转传输给WCS最后给电器。
* 3、AGV搬运过程中异常非AGVERR,查询条件为设备、起始点等未完成的时候(有可能不是异常)。 * 3、AGV搬运过程中异常非AGVERR,查询条件为设备、起始点等未完成的时候(有可能不是异常)。
*
* @author gbx
* @date 2023/3/22 * @date 2023/3/22
*/ */
@Service @Service
@@ -43,6 +46,7 @@ import java.util.stream.Collectors;
public class CacheLineHandServiceImpl implements CacheLineHandService{ public class CacheLineHandServiceImpl implements CacheLineHandService{
private final RedisUtils redisUtils; private final RedisUtils redisUtils;
private final TaskServiceImpl taskServiceImp; private final TaskServiceImpl taskServiceImp;
private final WmsToAcsServiceImpl wmsToAcsServiceImpl;
@Autowired @Autowired
private LocalCache cache; private LocalCache cache;
@@ -54,6 +58,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
@Override @Override
public List<MaterialDto> materialQuery(String param) { public List<MaterialDto> materialQuery(String param) {
AtomicBoolean atomicBoolean = new AtomicBoolean(false);
// StopWatch stopWatch = new StopWatch(); // StopWatch stopWatch = new StopWatch();
// stopWatch.start(); // stopWatch.start();
// stopWatch.stop(); // stopWatch.stop();
@@ -72,14 +77,30 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
cache.setLocalCache("materialList", materialList); cache.setLocalCache("materialList", materialList);
return getMaterialDto(materialList, param); return getMaterialDto(materialList, param);
} }
//3.查db缓存到本地与redis //3.查db
JSONArray materialJsonArray = WQL.getWO("PDA_QUERY").addParam("flag", "5").process().getResultJSONArray(0); JSONArray materialJsonArray = WQL.getWO("PDA_QUERY").addParam("flag", "5").process().getResultJSONArray(0);
materialList = materialJsonArray.toJavaList(MaterialDto.class); materialList = materialJsonArray.toJavaList(MaterialDto.class);
List<MaterialDto> finalMaterialList = materialList; //缓存到redis
CompletableFuture<Void> f1 = CompletableFuture.runAsync(() -> cache.setLocalCache("materialList", finalMaterialList), pool);
List<MaterialDto> finalMaterialList1 = materialList; List<MaterialDto> finalMaterialList1 = materialList;
CompletableFuture<Void> f2 = CompletableFuture.runAsync(() -> redisUtils.set("materialList", finalMaterialList1, 3600, TimeUnit.SECONDS), pool); CompletableFuture<Void> f1 = CompletableFuture.runAsync(() -> {
return getMaterialDto(materialList, param); try {
redisUtils.set("materialList", finalMaterialList1, 3600, TimeUnit.SECONDS);
}
catch(Exception e) {
log.error("物料信息缓存redis失败: {}", e.getMessage(), e);
}
}, pool);
//缓存到本地
List<MaterialDto> finalMaterialList = materialList;
CompletableFuture<Void> 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 @Override
public void instOperation(JSONObject param) { public void instOperation(JSONObject param) {
String optType = param.getString("opt_type"); String optType = param.getString("opt_type");
PointToPointTask pointToPointTask = new PointToPointTask();
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTab = WQLObject.getWQLObject("sch_base_task");
JSONObject taskObject = taskTab.query("task_id =" + param.getString("instruct_uuid")).uniqueResult(0); JSONObject taskObject = taskTab.query("task_id =" + param.getString("instruct_uuid")).uniqueResult(0);
//01-取消、02-完成、03-重发,根据操作类型执行相关操作 //01-取消、02-完成、03-重发,根据操作类型执行相关操作
@@ -131,7 +151,10 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
updateTaskStatus(taskObject, optType); updateTaskStatus(taskObject, optType);
} }
if("03".equals(optType)) { if("03".equals(optType)) {
pointToPointTask.createTask(taskObject); JSONArray taskArray = new JSONArray();
taskArray.add(taskObject);
//任务下发
wmsToAcsServiceImpl.issueTaskToAcs(taskArray);
} }
} }

View File

@@ -42,17 +42,16 @@
IF 输入.flag = "1" IF 输入.flag = "1"
QUERY QUERY
SELECT SELECT
material_id material_uuid, material_id `value`,
material_code, material_spec text
material_spec
FROM FROM
md_me_materialbase md_me_materialbase
WHERE WHERE
is_delete = '0' is_delete = '0'
OPTION 输入.condition <> "" OPTION 输入.condition <> ""
material_code LIKE CONCAT ( '%', 输入.condition, '%' ) material_spec LIKE CONCAT ( '%', 输入.condition, '%' )
OR material_spec LIKE CONCAT ( '%', 输入.condition, '%' )
ENDOPTION ENDOPTION
GROUP BY material_spec
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF
@@ -60,8 +59,8 @@
IF 输入.flag = "2" IF 输入.flag = "2"
QUERY QUERY
SELECT SELECT
workprocedure_id, workprocedure_id value,
workprocedure_name, workprocedure_name text,
workprocedure_code workprocedure_code
FROM FROM
PDM_BI_WorkProcedure PDM_BI_WorkProcedure
@@ -78,7 +77,7 @@
IF 输入.flag = "3" IF 输入.flag = "3"
QUERY QUERY
SELECT SELECT
dict_id id, dict_id value,
label text label text
FROM FROM
sys_dict sys_dict
@@ -95,7 +94,7 @@
IF 输入.flag = "4" IF 输入.flag = "4"
QUERY QUERY
SELECT SELECT
device_code id, device_code value,
device_name text device_name text
FROM FROM
`pdm_bi_device` `pdm_bi_device`
@@ -112,7 +111,7 @@
IF 输入.flag = "5" IF 输入.flag = "5"
QUERY QUERY
SELECT SELECT
mb.material_id material_uuid, mb.material_id,
mb.material_code, mb.material_code,
mb.material_spec, mb.material_spec,
mb.material_name, mb.material_name,