Commit 43c924a5 LN

看板任务列表改成内存查询

1 个父辈 46d38152
package com.neotel.smfcore.core.kanban.rest; package com.neotel.smfcore.core.kanban.rest;
import cn.hutool.core.util.ObjectUtil;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.neotel.smfcore.common.bean.PageData; import com.neotel.smfcore.common.bean.PageData;
...@@ -45,6 +46,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -45,6 +46,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.*; import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Slf4j @Slf4j
...@@ -116,37 +119,111 @@ public class BoxKanbanController { ...@@ -116,37 +119,111 @@ public class BoxKanbanController {
if(criteria.getType()!=null &&criteria.getType().equals(0) ){ if(criteria.getType()!=null &&criteria.getType().equals(0) ){
criteria.setType(null); criteria.setType(null);
} }
Query query = QueryHelp.getQuery(criteria); List<DataLog> allTasks=taskService.getAllTasks();
String groupId = criteria.getGroupId(); List<BoxTaskDto> dtos=new ArrayList<>();
List<String> cidList = dataCache. getCidsByGroupId(groupId,true); for (DataLog datalog :
query.addCriteria(Criteria.where("cid").in(cidList)); allTasks) {
//判断类型
//只查找近12个小时未完成的任务 if (criteria.getType() != null && (!criteria.getType().equals(datalog.getType()))) {
//暂时改成48小时 continue;
Calendar calendar = Calendar.getInstance(); }
calendar.add(Calendar.HOUR_OF_DAY, -48); //料仓ID
query.addCriteria(Criteria.where("updateDate").gte(calendar.getTime())); if (criteria.getStorageId() != null && !(criteria.getStorageId().equals(datalog.getStorageId()))) {
continue;
Calendar ca2 = Calendar.getInstance(); }
ca2.add(Calendar.MINUTE, -10); //判断组
String groupId = criteria.getGroupId();
Date lastUpdateTime=new Date((new Date().getTime())-10 * 60 * 1000); List<String> cidList = dataCache.getCidsByGroupId(groupId, true);
//正常 if (!cidList.contains(datalog.getCid())) {
if(criteria.getTaskStatus()==1){ continue;
query.addCriteria(Criteria.where("updateDate").gte(ca2.getTime()).and("status").is(OP_STATUS.EXECUTING.name())); }
}//异常 boolean statusOk = false;
else if(criteria.getTaskStatus()==2){ Date lastUpdateTime = new Date((new Date().getTime()) - 10 * 60 * 1000);
query.addCriteria(Criteria.where("updateDate").lte(ca2.getTime()).and("status").is(OP_STATUS.EXECUTING.name())); //正常
}//等待 if (criteria.getTaskStatus() == 1) {
else if(criteria.getTaskStatus()==3){ if (lastUpdateTime.before(datalog.getUpdateDate()) && datalog.getStatus().equals(OP_STATUS.EXECUTING.name())) {
query.addCriteria(Criteria.where("status").is(OP_STATUS.WAIT.name())); statusOk = true;
}else{ }
query.addCriteria(Criteria.where("status").nin(OP_STATUS.CANCEL.name(), OP_STATUS.FINISHED.name())); }//异常
} else if (criteria.getTaskStatus() == 2) {
if (lastUpdateTime.after(datalog.getUpdateDate()) && datalog.getStatus().equals(OP_STATUS.EXECUTING.name())) {
statusOk = true;
}
}//等待
else if (criteria.getTaskStatus() == 3) {
if (datalog.getStatus().equals(OP_STATUS.WAIT.name())) {
statusOk = true;
}
} else {
if (datalog.getStatus().equals(OP_STATUS.WAIT.name()) || datalog.getStatus().equals(OP_STATUS.FINISHED.name())) {
statusOk = true;
}
}
if (!statusOk) {
continue;
}
PageData<DataLog> dataLogPageData=dataLogManager.findByPage(query,pageable); dtos.add(boxTaskMapper.toDto(datalog));
List<BoxTaskDto> boxTaskDtos=boxTaskMapper.toDto(dataLogPageData.getContent()); // boolean blurryOk = false;
return new PageData(boxTaskDtos, boxTaskDtos.size()); // // 如果是多字段
// String blurry = criteria.getBlurry();
// if (ObjectUtil.isNotEmpty(blurry)) {
// String[] blurrys = blurry.split(",");
// String[] valueArray = new String[]{datalog.getPosName(), datalog.getStorageName(), datalog.getCid(), datalog.getPartNumber(), datalog.getBarcode(), datalog.getSourceName()};
// for (String s : blurrys) {
// for (String v :
// valueArray) {
// Pattern pattern = Pattern.compile(QueryHelp.escapeExprSpecialWord(s), Pattern.CASE_INSENSITIVE);
// Matcher m = pattern.matcher(v);
// while (m.find()) {
// blurryOk = true;
// break;
// }
// if (blurryOk) break;
// }
// if (blurryOk) break;
//
// }
//
// } else {
// blurryOk = true;
// }
// if (blurryOk) {
// dtos.add(boxTaskMapper.toDto(datalog));
// }
}
return new PageData<>(dtos, dtos.size());
// Query query = QueryHelp.getQuery(criteria);
// String groupId = criteria.getGroupId();
// List<String> cidList = dataCache. getCidsByGroupId(groupId,true);
// query.addCriteria(Criteria.where("cid").in(cidList));
//
// //只查找近12个小时未完成的任务
// //暂时改成48小时
// Calendar calendar = Calendar.getInstance();
// calendar.add(Calendar.HOUR_OF_DAY, -48);
// query.addCriteria(Criteria.where("updateDate").gte(calendar.getTime()));
//
// Calendar ca2 = Calendar.getInstance();
// ca2.add(Calendar.MINUTE, -10);
//
// Date lastUpdateTime=new Date((new Date().getTime())-10 * 60 * 1000);
// //正常
// if(criteria.getTaskStatus()==1){
// query.addCriteria(Criteria.where("updateDate").gte(ca2.getTime()).and("status").is(OP_STATUS.EXECUTING.name()));
// }//异常
// else if(criteria.getTaskStatus()==2){
// query.addCriteria(Criteria.where("updateDate").lte(ca2.getTime()).and("status").is(OP_STATUS.EXECUTING.name()));
// }//等待
// else if(criteria.getTaskStatus()==3){
// query.addCriteria(Criteria.where("status").is(OP_STATUS.WAIT.name()));
// }else{
// query.addCriteria(Criteria.where("status").nin(OP_STATUS.CANCEL.name(), OP_STATUS.FINISHED.name()));
// }
//
// PageData<DataLog> dataLogPageData=dataLogManager.findByPage(query,pageable);
// List<BoxTaskDto> boxTaskDtos=boxTaskMapper.toDto(dataLogPageData.getContent());
// return new PageData(boxTaskDtos, boxTaskDtos.size());
} }
......
...@@ -14,35 +14,35 @@ public class BoxTaskQueryCriter { ...@@ -14,35 +14,35 @@ public class BoxTaskQueryCriter {
@QueryCondition(blurry = "storageName,cid,posName,partNumber,barcode,sourceName") @QueryCondition(blurry = "storageName,cid,posName,partNumber,barcode,sourceName")
private String blurry; private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "updateDate") // @QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "updateDate")
@DateTimeFormat(pattern = "yyyy-MM-dd") // @DateTimeFormat(pattern = "yyyy-MM-dd")
private BetweenData<Date> createDate; // private BetweenData<Date> createDate;
@ApiModelProperty("组ID") @ApiModelProperty("组ID")
private String groupId; private String groupId;
@ApiModelProperty("料仓CID") // @ApiModelProperty("料仓CID")
@QueryCondition // @QueryCondition
private String cid; // private String cid;
@ApiModelProperty("料仓ID") @ApiModelProperty("料仓ID")
@QueryCondition(isDBId =true) @QueryCondition(isDBId =true)
private String storageId; private String storageId;
@ApiModelProperty("库位号") // @ApiModelProperty("库位号")
@QueryCondition // @QueryCondition
private String posName; // private String posName;
@ApiModelProperty("条码") // @ApiModelProperty("条码")
@QueryCondition // @QueryCondition
private String barcode; // private String barcode;
@ApiModelProperty("PN") // @ApiModelProperty("PN")
@QueryCondition // @QueryCondition
private String partNumber; // private String partNumber;
//
@ApiModelProperty("来源") // @ApiModelProperty("来源")
@QueryCondition // @QueryCondition
private String sourceName; // private String sourceName;
@ApiModelProperty("任务状态:0=所有,1=正常,2=异常,3=等待") @ApiModelProperty("任务状态:0=所有,1=正常,2=异常,3=等待")
private int taskStatus=0 ; private int taskStatus=0 ;
......
...@@ -193,6 +193,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -193,6 +193,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
} }
} }
String respMsg = "unloadMaterialResp;"+ eventId+";" + resultCode+";"+resultMsg; String respMsg = "unloadMaterialResp;"+ eventId+";" + resultCode+";"+resultMsg;
log.info(respMsg);
session.write(respMsg); session.write(respMsg);
}else if(respCommand.isOrderMaterialExtCmd()){ }else if(respCommand.isOrderMaterialExtCmd()){
handleOrderMaterialExtCmd(session,resposArr); handleOrderMaterialExtCmd(session,resposArr);
...@@ -236,6 +237,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -236,6 +237,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
} }
String respMsg = "getInventoryResp;"+eventId+";"+resultCode+";"+resultMsg+";"+dataStr; String respMsg = "getInventoryResp;"+eventId+";"+resultCode+";"+resultMsg+";"+dataStr;
log.info(respMsg);
session.write(respMsg); session.write(respMsg);
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!