修复一些wql语句的空格,大小写引起的查询异常;

This commit is contained in:
2023-03-27 21:34:34 +08:00
parent 27057ae53d
commit 3d8ed010b9
6 changed files with 40 additions and 23 deletions

View File

@@ -112,14 +112,14 @@ public class CacheLineHandController{
@PostMapping("/instOperation")
@Log("任务操作")
@ApiOperation("任务操作")
public CommonResult<Void> instOperation(@RequestBody JSONObject param) {
public CommonResult<String> instOperation(@RequestBody JSONObject param) {
log.info("海亮缓存线手持服务 [任务操作] 接口被请求, 请求参数-{}", param);
return RestBusinessTemplate.execute(() -> {
//任务类型和任务ID校验instruct_uuid为前端参数命名本来应为task_id
if(StringUtils.isEmpty(param.getString("instruct_uuid")) || StringUtils.isEmpty(param.getString("opt_type"))) {
throw new BizCoreException(ResultCode.MISS_PARAMETER);
}
cacheLineHandService.instOperation(param);
return cacheLineHandService.instOperation(param);
});
}

View File

@@ -94,7 +94,7 @@ public interface CacheLineHandService{
* @author gbx
* @date 2023/3/23
*/
void instOperation(JSONObject param);
String instOperation(JSONObject param);
/**
* 任务分页查询

View File

@@ -31,6 +31,7 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.xml.transform.Result;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadPoolExecutor;
@@ -184,25 +185,28 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
}
@Override
public void instOperation(JSONObject param) {
public String instOperation(JSONObject param) {
String optType = param.getString("opt_type");
SpeMachineryTask SpeMachineryTask = new SpeMachineryTask();
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task");
JSONObject taskObject = taskTab.query("task_id =" + param.getString("instruct_uuid")).uniqueResult(0);
//01-取消、02-完成、03-任务下发,根据操作类型执行相关操作
if("01".equals(optType) || "02".equals(optType)) {
updateTaskStatus(taskObject, optType);
return updateTaskStatus(taskObject, optType);
}
//任务下发
if("03".equals(optType)) {
SpeMachineryTask.createTask(taskObject);
else if("03".equals(optType)) {
return SpeMachineryTask.createTask(taskObject);
}
else{
return null;
}
}
/**
* 任务取消和完成操作,更新任务状态
*/
public void updateTaskStatus(JSONObject taskObj, String status) {
public String updateTaskStatus(JSONObject taskObj, String status) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
HashMap<String,String> map = new HashMap<>(4);
@@ -210,12 +214,14 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
map.put("update_optid", currentUserId);
map.put("update_optname", nickName);
map.put("update_time", DateUtil.now());
WQLObject.getWQLObject("sch_base_task").update(map, "task_id = '" + taskObj.getString("task_id") + "'");
int result = (WQLObject.getWQLObject("sch_base_task").update(map, "task_id = '" + taskObj.getString("task_id") + "'").getSucess());
return Integer.toString(result);
}
@Override
@Async
public void cacheLineMaterSync(String cachelineCode) {
public void cacheLineMaterSync(
String cachelineCode) {
if(StringUtils.isEmpty(cachelineCode)) {
return;
}
@@ -363,7 +369,8 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
@Override
@Transactional(rollbackFor = Exception.class)
public void setEmptyBox(JSONObject param) {
public void setEmptyBox(
JSONObject param) {
// 缓存线位置编码
String position_code = param.getString("position_code");
// 载具条码
@@ -558,7 +565,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
// JSONArray arr = WQLObject.getWQLObject("sch_cacheline_position").query("cacheLine_code like '%" + wcsdevice_code + "%'").getResultJSONArray(0);
// StringBuilder sd = new StringBuilder();
// for(int i = 0; i < arr.size(); i++) {
// JSONObject row = arr.getJSONObject(i);
// JSONObject row = arr.getJSONObject(i);.
// sd.append(row.getString("task_id")).append(",");
// }
// String taskIdList = sd.toString();
@@ -567,16 +574,16 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
String wcsdevice_code = param.getString("wcsdevice_code");
String position_code = param.getString("position_code");
//根据缓存线编码和缓存线点位查找任务ID
JSONObject posiObj = WQLObject.getWQLObject("sch_cacheline_position").query("position_code = " + position_code + " and cacheLine_code like '%" + wcsdevice_code + "%'").uniqueResult(0);
JSONObject posiObj = WQLObject.getWQLObject("sch_cacheline_position").query("position_code like '%" + position_code + "%'" + " and cacheLine_code like '%" + wcsdevice_code + "%'").uniqueResult(0);
//查不到点位信息
if(null == posiObj) {
throw new BadRequestException("未找到该缓存线的点位信息!");
}
//查不到任务信息
if(StringUtils.isNotEmpty(posiObj.getString("task_id"))) {
if(StringUtils.isEmpty(posiObj.getString("task_id"))) {
throw new BadRequestException("未找到该缓存线的点位的任务信息!");
}
return WQL.getWO("QSCH_TASK_01").addParam("flag", 10).addParam("task_id", posiObj.getString("task_id")).process().getResultJSONArray(0);
return WQL.getWO("PDA_QUERY").addParam("flag", "10").addParam("task_id", posiObj.getString("task_id")).process().getResultJSONArray(0);
}
/**

View File

@@ -17,6 +17,14 @@
输入.condition TYPEAS s_string
输入.cacheLine_code TYPEAS s_string
输入.product_area TYPEAS s_string
输入.status TYPEAS s_string
输入.inst_num TYPEAS s_string
输入.start_point TYPEAS s_string
输入.end_point TYPEAS s_string
输入.start_date TYPEAS s_string
输入.end_date TYPEAS s_string
输入.task_id TYPEAS s_string
[临时表]
@@ -239,17 +247,20 @@
OPTION 输入.status <> ""
find_in_set(task.task_status,输入.status)
ENDOPTION
OPTION 输入.inst_num <>""
(task.task_code like 输入.inst_num)
OPTION 输入.inst_num <> ""
(task.task_code like CONCAT ('%', 输入.inst_num, '%'))
ENDOPTION
OPTION 输入.vehicle_code <> ""
(task.vehicle_code like 输入.vehicle_code)
(task.vehicle_code like CONCAT ('%', 输入.vehicle_code, '%'))
ENDOPTION
OPTION 输入.start_point <> ""
(task.point_code1 like 输入.start_point)
(task.point_code1 like CONCAT ('%', 输入.start_point, '%'))
ENDOPTION
OPTION 输入.task_id <> ""
(task.task_id = 输入.task_id )
ENDOPTION
OPTION 输入.end_point <> ""
(task.point_code2 like 输入.end_point)
(task.point_code2 like CONCAT ('%', 输入.end_point, '%'))
ENDOPTION
OPTION 输入.start_date <> ""
task.create_time >= 输入.start_date

View File

@@ -53,8 +53,8 @@ public class SpeMachineryTask extends AbstractAcsTask {
@Override
public String createTask(JSONObject form) {
String start_point_code = form.getString("start_point_code");
String next_point_code = form.getString("next_point_code");
String start_point_code = form.getString("point_code1");
String next_point_code = form.getString("point_code2");
String vehicle_code = form.getString("vehicle_code");
String type = form.getString("type");
if (StrUtil.isEmpty(start_point_code)) {
@@ -68,7 +68,6 @@ public class SpeMachineryTask extends AbstractAcsTask {
}
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + "";
JSONObject task = new JSONObject();
task.put("taskdtl_id", taskdtl_id);
task.put("task_id", taskdtl_id);
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
task.put("task_type", type);