no message
parent
984d32e185
commit
096ed2f73b
|
|
@ -259,7 +259,7 @@ public class PickServiceImpl implements PickService {
|
|||
pickDetail.getPick().getGdCode() + "-" + pickDetail.getItem().getCode(),
|
||||
UrlApi.stock(),
|
||||
resultJson,
|
||||
"info",
|
||||
"工单回传",
|
||||
200,
|
||||
"info");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ import org.springframework.data.domain.Pageable;
|
|||
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
|
|
@ -62,6 +64,12 @@ public class TaskServiceImpl implements TaskService {
|
|||
private final InventoryService inventoryService;
|
||||
private final InventoryLogService inventoryLogService;
|
||||
private final StockTypeToAreaMap stockTypeToAreaMap;
|
||||
// 存储日志信息
|
||||
private final ConcurrentHashMap<String, Boolean> lastPollLogMessages = new ConcurrentHashMap<>();
|
||||
// 存储日志添加顺序
|
||||
private final ConcurrentLinkedQueue<String> logOrderQueue = new ConcurrentLinkedQueue<>();
|
||||
// 集合最大容量
|
||||
private static final int MAX_LOG_CAPACITY = 135;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(TaskQueryCriteria criteria, Pageable pageable) {
|
||||
|
|
@ -174,7 +182,11 @@ public class TaskServiceImpl implements TaskService {
|
|||
|
||||
List<Point> pointList = pointService.queryPoints(null, BaseStatus.FREE, BaseStatus.BOX, areaName);
|
||||
if (pointList.isEmpty()) {
|
||||
logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", "分配失败,翻包区没有空闲点位!", "出库单分配", 200, "info");
|
||||
String logMessage = pick.getCode() + "工单分配失败,翻包区没有空闲点位!";
|
||||
if (!lastPollLogMessages.containsKey(logMessage)) {
|
||||
logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", logMessage, "出库单分配", 200, "info");
|
||||
addLog(logMessage);
|
||||
}
|
||||
return;
|
||||
}
|
||||
endPoint = pointList.get(0);
|
||||
|
|
@ -206,7 +218,23 @@ public class TaskServiceImpl implements TaskService {
|
|||
|
||||
|
||||
//保存日志
|
||||
logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", msgList.toString(), "出库单分配", 200, "info");
|
||||
String logMessage = msgList.toString();
|
||||
if (!lastPollLogMessages.containsKey(logMessage)) {
|
||||
logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", msgList.toString(), "出库单分配", 200, "info");
|
||||
addLog(logMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void addLog(String logMessage) {
|
||||
if (lastPollLogMessages.size() >= MAX_LOG_CAPACITY) {
|
||||
String oldestLog = logOrderQueue.poll();
|
||||
if (oldestLog != null) {
|
||||
lastPollLogMessages.remove(oldestLog);
|
||||
}
|
||||
}
|
||||
lastPollLogMessages.put(logMessage, true);
|
||||
logOrderQueue.offer(logMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -242,8 +270,8 @@ public class TaskServiceImpl implements TaskService {
|
|||
String dstAreaCode = AreaNameDic.XJJLQ.equals(point.getArea().getName()) ? AreaNameDic.XJFBCQ : AreaNameDic.DJFBCQ;
|
||||
|
||||
//容器
|
||||
Stock stock=stockService.findByPointCode(point.getCode());
|
||||
if (stock==null) {
|
||||
Stock stock = stockService.findByPointCode(point.getCode());
|
||||
if (stock == null) {
|
||||
return;
|
||||
}
|
||||
//起点
|
||||
|
|
|
|||
|
|
@ -44,6 +44,6 @@ public interface QuartzLogRepository extends JpaRepository<QuartzLog,Long>, JpaS
|
|||
*/
|
||||
@Modifying
|
||||
@Transactional
|
||||
@Query(value = "delete from sys_quartz_log where log_id in (SELECT log_id FROM (SELECT log_id FROM sys_quartz_log WHERE create_time < DATE_SUB(NOW(),INTERVAL 1 MONTH) LIMIT 10000) tmp) ", nativeQuery = true)
|
||||
@Query(value = "TRUNCATE TABLE sys_quartz_log ", nativeQuery = true)
|
||||
void cleanQuartzLog();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package com.youchain.modules.quartz.task;
|
||||
|
||||
import com.youchain.basicdata.domain.Point;
|
||||
import com.youchain.basicdata.service.PointService;
|
||||
import com.youchain.businessdata.domain.AgvTask;
|
||||
import com.youchain.businessdata.domain.Pick;
|
||||
import com.youchain.businessdata.domain.Task;
|
||||
|
|
@ -25,6 +27,9 @@ import java.util.*;
|
|||
@Service
|
||||
public class pickTask {
|
||||
|
||||
@Autowired
|
||||
public PointService pointService;
|
||||
|
||||
@Autowired
|
||||
public PickService pickService;
|
||||
|
||||
|
|
@ -57,7 +62,7 @@ public class pickTask {
|
|||
*/
|
||||
public void pickAgvTask() {
|
||||
/*查询分配完成的出库单*/
|
||||
List<String> statuses = Arrays.asList(BizStatus.ALLOCATE);
|
||||
List<String> statuses = Arrays.asList(BizStatus.ASSIGN, BizStatus.ALLOCATE);
|
||||
List<Pick> pickList = pickService.findByPickStatus(statuses, null);
|
||||
if (pickList.isEmpty()) {
|
||||
throw new BadRequestException("无已分配的出库单,下发任务失败!");
|
||||
|
|
@ -92,7 +97,10 @@ public class pickTask {
|
|||
}
|
||||
for (AgvTask agvTask : agvTaskList) {
|
||||
if (BizStatus.PICK.equals(agvTask.getType())) {
|
||||
kmReService.sendAgvTask(agvTask, kmReService.sendAgvTaskCcJson(agvTask));
|
||||
Point point = pointService.validatePoint(agvTask.getEndSlotCode());
|
||||
if(BaseStatus.FREE.equalsIgnoreCase(point.getStatus())){
|
||||
kmReService.sendAgvTask(agvTask, kmReService.sendAgvTaskCcJson(agvTask));
|
||||
}
|
||||
} else {
|
||||
kmReService.sendAgvTask(agvTask, kmReService.sendAgvTaskHjJson(agvTask));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue