no message

main
HUOJIN\92525 2024-08-04 22:49:41 +08:00
parent 01cc3e3113
commit 348af9207f
6 changed files with 139 additions and 117 deletions

View File

@ -195,11 +195,6 @@ public interface StockService {
*/
void moveStock(TransTask transTask);
/**
* 线
*/
void cpCallStock();
/**
*
* @param stockCode

View File

@ -297,8 +297,6 @@ public class StockServiceImpl implements StockService {
/**更新库存和点位状态*/
updateStockAndPoints(stock, srcPoint, endPoint);
agvTaskService.sendAgvTaskCCImpl(agvTask);//发送任务
}
@ -364,6 +362,7 @@ public class StockServiceImpl implements StockService {
private AgvTask createAndSendAgvTask(Stock stock, Point srcPoint, Point endPoint) {
AgvTask agvTask = new AgvTask(BizStatus.ASN, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "FORKLIFT_MOVE");
agvTaskService.create(agvTask);
agvTaskService.sendAgvTaskCCImpl(agvTask);//发送任务
return agvTask;
}
@ -501,8 +500,8 @@ public class StockServiceImpl implements StockService {
/**验证目标容器*/
Stock dstStock = validatedstStock(dstStockCode);
if(dstStock.getStatus().equals(BaseStatus.USED)){
throw new RuntimeException(dstStock.getCode()+"目标托盘已使用,请绑定新的托盘!");
if (dstStock.getStatus().equals(BaseStatus.USED)) {
throw new RuntimeException(dstStock.getCode() + "目标托盘已使用,请绑定新的托盘!");
}
/**待拣货数量*/
@ -522,7 +521,6 @@ public class StockServiceImpl implements StockService {
moveInventory(task, dstStock, moveQty);
/**刷新拣货状态*/
refreshPickStatus(task, moveQty);
@ -533,33 +531,21 @@ public class StockServiceImpl implements StockService {
@Override
@Transactional(rollbackFor = Exception.class)
public void moveStock(TransTask transTask) {
if (BizStatus.Cp_Off_Line.equals(transTask.getTaskType())) {
Point srcPoint = validateSrcPoint(transTask.getPointCode());//起点
Stock stock = stockRepository.fingByPointCode(srcPoint.getCode());
if (stock == null) {
throw new RuntimeException(srcPoint.getCode() + "点位没有货架!");
}
List<Point> endPointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.CPRKQ, null, null);
if (endPointList.isEmpty()) {
throw new RuntimeException("成品入库区没有空闲点位!");
}
Point endPoint = endPointList.get(0);
AgvTask agvTask = new AgvTask(BizStatus.Cp_Off_Line, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "RACK_MOVE");
agvTaskService.create(agvTask);
agvTaskService.sendAgvTaskHJImpl(agvTask);
endPoint.setStatus(BaseStatus.USED);
pointRepository.save(endPoint);
stock.setStatus(BaseStatus.USED);
stockRepository.save(stock);
} else {
throw new RuntimeException("任务类型不存在!");
switch (transTask.getTaskType()) {
case BizStatus.Cp_Off_Up:
moveCpOffUp();//呼叫空货架
break;
case BizStatus.Cp_Off_Line:
moveCpOffLine(transTask);//送满货架
break;
case BizStatus.Fx_Off_Line:
moveFxOffLine(transTask);//滚筒
break;
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void cpCallStock() {
private void moveCpOffUp() {
// 尝试从成品入库缓存区查询空车
List<Stock> emptyStockList = stockRepository.findByEnmptyStock(AreaNameDic.CPRKHCQ);
if (emptyStockList.isEmpty()) {
@ -590,6 +576,30 @@ public class StockServiceImpl implements StockService {
}
}
private void moveCpOffLine(TransTask transTask) {
Point srcPoint = validateSrcPoint(transTask.getPointCode());//起点
Stock stock = stockRepository.fingByPointCode(srcPoint.getCode());
if (stock == null) {
throw new RuntimeException(srcPoint.getCode() + "点位没有货架!");
}
List<Point> endPointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.CPRKQ, null, null);
if (endPointList.isEmpty()) {
throw new RuntimeException("成品入库区没有空闲点位!");
}
Point endPoint = endPointList.get(0);
AgvTask agvTask = new AgvTask(BizStatus.Cp_Off_Line, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "RACK_MOVE");
agvTaskService.create(agvTask);
agvTaskService.sendAgvTaskHJImpl(agvTask);
endPoint.setStatus(BaseStatus.USED);
pointRepository.save(endPoint);
stock.setStatus(BaseStatus.USED);
stockRepository.save(stock);
}
private void moveFxOffLine(TransTask transTask) {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void unBindContainer(String stockCode) {

View File

@ -32,6 +32,6 @@ public interface AgvTaskRepository extends JpaRepository<AgvTask, Long>, JpaSpec
/**
*
*/
@Query(value = " from AgvTask agv where agv.stockCode=:stockCode and agv.status in ('OPEN','ATCALL','UP_CONTAINER','ARRIVED')")
@Query(value = " from AgvTask agv where agv.stockCode=:stockCode and agv.status not in ('CANCEL','FINISH') ")
List<AgvTask> findRepeat(String stockCode);
}

View File

@ -62,14 +62,6 @@ public class pickTask {
}
}
/**
* 线
*/
public void cpCallStock() {
stockService.cpCallStock();
}
public void callJlTask() {
/*查询拣货完成完成的出库单*/
List<String> statuses = Arrays.asList(BizStatus.PICK_ALL);

View File

@ -9,221 +9,246 @@ public interface BizStatus {
/**
* -||-
*/
public static String OPEN = "OPEN";
String OPEN = "OPEN";
/**
* -
*/
public static String ACTIVE = "ACTIVE";
String ACTIVE = "ACTIVE";
/**
* -
*/
public static String RECEIVING = "RECEIVING";
String RECEIVING = "RECEIVING";
/**
* -
*/
public static String RECEIVED = "RECEIVED";
String RECEIVED = "RECEIVED";
/**
* -
*/
public static String PUTAWAY = "PUTAWAY";
String PUTAWAY = "PUTAWAY";
/**
* -||-
*/
public static String CANCEL = "CANCEL";
String CANCEL = "CANCEL";
/**
* -
*/
public static String CLOSE = "CLOSE";
String CLOSE = "CLOSE";
/**
*
*/
public static String ASSIGN = "ASSIGN";
String ASSIGN = "ASSIGN";
/**
* -;
*/
public static String ALLOCATE = "ALLOCATE";
String ALLOCATE = "ALLOCATE";
/**
* -
*/
public static String PICKUP = "PICKUP";
String PICKUP = "PICKUP";
/**
* -
*/
public static String PICK_ALL = "PICK_ALL";
String PICK_ALL = "PICK_ALL";
/**
* -;
*/
public static String SHIP_PART = "SHIP_PART";
String SHIP_PART = "SHIP_PART";
/**
* -;
*/
public static String SHIP_ALL = "SHIP_ALL";
String SHIP_ALL = "SHIP_ALL";
/**
* -
*/
public static String ATCALL = "ATCALL";
/**
* -
*/
public static String ATWORK = "ATWORK";
String ATCALL = "ATCALL";
/**
* -
*/
public static String ARRIVED = "ARRIVED";
String ARRIVED = "ARRIVED";
/**
* -
*/
public static String UP_CONTAINER = "UP_CONTAINER";
/**
*
*/
public static String FB_RETURN = "FB_RETURN";
/**
* -线
*/
public static String Cp_Off_Line = "Cp_Off_Line";
String UP_CONTAINER = "UP_CONTAINER";
/**
* -
*/
public static String FINISH = "FINISH";
String FINISH = "FINISH";
/**
*
* -
*/
public static String ASN = "ASN";
/**
*
*/
public static String PICK = "PICK";
String FB_RETURN = "FB_RETURN";
/**
*
* -线
*/
public static String CALL_PICK = "CALL_PICK";
String Cp_Off_Up = "Cp_Off_Up";
/**
*
* -线
*/
public static String INV = "INV";
String Cp_Off_Line = "Cp_Off_Line";
/**
* -线
*/
String Fx_Off_Line = "Fx_Off_Line";
/**
* -
*/
String ASN = "ASN";
/**
* -
*/
String PICK = "PICK";
/**
* -
*/
String CALL_PICK = "CALL_PICK";
/**
* -
*/
String INV = "INV";
/**
* -
*/
public static String MOVE = "MOVE";
String MOVE = "MOVE";
/**
* -
*/
public static String INVENTORY_ADJUST = "INVENTORY_ADJUST";
String INVENTORY_ADJUST = "INVENTORY_ADJUST";
/**
* -
*/
public static String MODIFY_LOT = "MODIFY_LOT";
String MODIFY_LOT = "MODIFY_LOT";
/**
* -
*/
public static String MODIFY_STATUS = "MODIFY_STATUS";
String MODIFY_STATUS = "MODIFY_STATUS";
/**
* -
*/
public static String PICK_DOWN = "PICK_DOWN";
String PICK_DOWN = "PICK_DOWN";
/**
* -退
*/
public static String PICK_CANCEL = "PICK_CANCEL";
String PICK_CANCEL = "PICK_CANCEL";
/**
* -
*/
public static String SHIPPING = "SHIPPING";
String SHIPPING = "SHIPPING";
/**
* -
*/
public static String RECEIVING_UP = "RECEIVING_UP";
String RECEIVING_UP = "RECEIVING_UP";
/**
* -
*/
public static String RECEIVING_CANCEL = "RECEIVING_CANCEL";
String RECEIVING_CANCEL = "RECEIVING_CANCEL";
/**
* -
*/
public static String ZONE = "ZONE";
String ZONE = "ZONE";
/**
* -
*/
public static String ITEM = "ITEM";
String ITEM = "ITEM";
/**
* -
*/
public static String WAREHOUSE = "WAREHOUSE";
String WAREHOUSE = "WAREHOUSE";
/**
* -;
*/
public static String COUNT = "COUNT";
String COUNT = "COUNT";
/**
* -;
*/
public static String ADJUST = "ADJUST";
String ADJUST = "ADJUST";
/**
* -ADD
*/
public static int ADD = 1;
int ADD = 1;
/**
* -
*/
public static int INVARIANT = 0;
int INVARIANT = 0;
/**
* -
*/
public static int REDUCE = -1;
int REDUCE = -1;
/**
*
*/
public static String QT = "QT";
String QT = "QT";
/**
*
*/
public static String HT = "HT";
String HT = "HT";
/**
*
*/
public static String XJ = "XJ";
String XJ = "XJ";
/**
*
*/
public static String MF = "MF";
String MF = "MF";
/**
*
*/
public static String ZC = "ZC";
String ZC = "ZC";
/**
*
*/
public static String EMPTY_IN = "EMPTY_IN";
String EMPTY_IN = "EMPTY_IN";
/**
* /
*/
public static String EMPTY_OUT = "EMPTY_OUT";
String EMPTY_OUT = "EMPTY_OUT";
}

View File

@ -6,8 +6,8 @@ spring:
freemarker:
check-template-location: false
profiles:
active: prod
#active: dev
#active: prod
active: dev
jackson:
time-zone: GMT+8
data:
@ -36,11 +36,11 @@ spring:
redis:
#数据库索引
database: ${REDIS_DB:2}
host: ${REDIS_HOST:192.168.100.102}
password: ${REDIS_PWD:123456}
#host: ${REDIS_HOST:192.168.100.102}
#password: ${REDIS_PWD:123456}
#host: ${REDIS_HOST:localhost}
#password: ${REDIS_PWD:}
host: ${REDIS_HOST:localhost}
password: ${REDIS_PWD:}
port: ${REDIS_PORT:6379}
#连接超时时间
timeout: 5000