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 moveStock(TransTask transTask);
/**
* 线
*/
void cpCallStock();
/** /**
* *
* @param stockCode * @param stockCode

View File

@ -297,8 +297,6 @@ public class StockServiceImpl implements StockService {
/**更新库存和点位状态*/ /**更新库存和点位状态*/
updateStockAndPoints(stock, srcPoint, endPoint); 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) { 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"); AgvTask agvTask = new AgvTask(BizStatus.ASN, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "FORKLIFT_MOVE");
agvTaskService.create(agvTask); agvTaskService.create(agvTask);
agvTaskService.sendAgvTaskCCImpl(agvTask);//发送任务
return agvTask; return agvTask;
} }
@ -522,7 +521,6 @@ public class StockServiceImpl implements StockService {
moveInventory(task, dstStock, moveQty); moveInventory(task, dstStock, moveQty);
/**刷新拣货状态*/ /**刷新拣货状态*/
refreshPickStatus(task, moveQty); refreshPickStatus(task, moveQty);
@ -533,33 +531,21 @@ public class StockServiceImpl implements StockService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void moveStock(TransTask transTask) { public void moveStock(TransTask transTask) {
if (BizStatus.Cp_Off_Line.equals(transTask.getTaskType())) { switch (transTask.getTaskType()) {
Point srcPoint = validateSrcPoint(transTask.getPointCode());//起点 case BizStatus.Cp_Off_Up:
Stock stock = stockRepository.fingByPointCode(srcPoint.getCode()); moveCpOffUp();//呼叫空货架
if (stock == null) { break;
throw new RuntimeException(srcPoint.getCode() + "点位没有货架!"); case BizStatus.Cp_Off_Line:
moveCpOffLine(transTask);//送满货架
break;
case BizStatus.Fx_Off_Line:
moveFxOffLine(transTask);//滚筒
break;
} }
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("任务类型不存在!");
} }
}
@Override private void moveCpOffUp() {
@Transactional(rollbackFor = Exception.class)
public void cpCallStock() {
// 尝试从成品入库缓存区查询空车 // 尝试从成品入库缓存区查询空车
List<Stock> emptyStockList = stockRepository.findByEnmptyStock(AreaNameDic.CPRKHCQ); List<Stock> emptyStockList = stockRepository.findByEnmptyStock(AreaNameDic.CPRKHCQ);
if (emptyStockList.isEmpty()) { 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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void unBindContainer(String stockCode) { 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); List<AgvTask> findRepeat(String stockCode);
} }

View File

@ -62,14 +62,6 @@ public class pickTask {
} }
} }
/**
* 线
*/
public void cpCallStock() {
stockService.cpCallStock();
}
public void callJlTask() { public void callJlTask() {
/*查询拣货完成完成的出库单*/ /*查询拣货完成完成的出库单*/
List<String> statuses = Arrays.asList(BizStatus.PICK_ALL); 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"; String ATCALL = "ATCALL";
/**
* -
*/
public static String ATWORK = "ATWORK";
/** /**
* - * -
*/ */
public static String ARRIVED = "ARRIVED"; String ARRIVED = "ARRIVED";
/** /**
* - * -
*/ */
public static String UP_CONTAINER = "UP_CONTAINER"; String UP_CONTAINER = "UP_CONTAINER";
/**
*
*/
public static String FB_RETURN = "FB_RETURN";
/**
* -线
*/
public static String Cp_Off_Line = "Cp_Off_Line";
/** /**
* - * -
*/ */
public static String FINISH = "FINISH"; String FINISH = "FINISH";
/** /**
* * -
*/ */
public static String ASN = "ASN"; String FB_RETURN = "FB_RETURN";
/**
*
*/
public static String PICK = "PICK";
/** /**
* * -线
*/ */
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 * -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: freemarker:
check-template-location: false check-template-location: false
profiles: profiles:
active: prod #active: prod
#active: dev active: dev
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
data: data:
@ -36,11 +36,11 @@ spring:
redis: redis:
#数据库索引 #数据库索引
database: ${REDIS_DB:2} database: ${REDIS_DB:2}
host: ${REDIS_HOST:192.168.100.102} #host: ${REDIS_HOST:192.168.100.102}
password: ${REDIS_PWD:123456} #password: ${REDIS_PWD:123456}
#host: ${REDIS_HOST:localhost} host: ${REDIS_HOST:localhost}
#password: ${REDIS_PWD:} password: ${REDIS_PWD:}
port: ${REDIS_PORT:6379} port: ${REDIS_PORT:6379}
#连接超时时间 #连接超时时间
timeout: 5000 timeout: 5000