现场运行调整
This commit is contained in:
@@ -85,7 +85,7 @@
|
||||
callStockOutForContainer(this.selectedCargoArea, this.selectedPalletType)
|
||||
.then(res => {
|
||||
uni.hideLoading()
|
||||
this.$modal.msgSuccess('呼叫空托出库成功')
|
||||
this.$modal.msgSuccess('呼叫成功')
|
||||
|
||||
})
|
||||
.catch(err => {
|
||||
|
||||
@@ -405,7 +405,8 @@ public class MydoJobServiceImpl implements IMydoJobService
|
||||
.stockId(stockId)
|
||||
.stockDetailId(stockId + "-" + num)
|
||||
.stockStatus(BasStockCode.STOCK_STATUS_AVAILABLE)
|
||||
.trayCode(detail.getTrayCode())
|
||||
.productStatus(BasStockCode.PRODUCT_STATUS_NORMAL)
|
||||
.trayCode(inTrayMsg.getTrayCode())
|
||||
.jobId(jobId)
|
||||
.jobDetailId(jobId + "-" + num++)
|
||||
.stockinId(inTrayMsg.getStockinId())//获取单据号需要从托盘绑定信息表获取
|
||||
|
||||
@@ -318,11 +318,11 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
|
||||
//2.生成辊号库存对应托盘的出库作业
|
||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(stock.getTrayCode());
|
||||
|
||||
if (ObjUtil.isNull(mydoJob)){
|
||||
|
||||
String jobId = basJobIdService.getId(JobIdType.MYDOJOB_STOCKOUT);
|
||||
String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKOUT);
|
||||
|
||||
//判断出库类型,用于确定完成后是否生成回流任务
|
||||
//---1.遍历子单明细的辊号集合是否包含出库托盘库存的辊号集合
|
||||
//---2.如果全部匹配,则任务类型为整托出库,否则为拣选出库
|
||||
@@ -348,39 +348,40 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
.priority(10)
|
||||
.build();
|
||||
|
||||
//生成托盘主作业
|
||||
mydoJobService.insertMydoJob(mydoJob);
|
||||
|
||||
//>>>>>>>>>>>>>>>>>>>>>> 推送出库 <<<<<<<<<<<<<<<<<<<<<<<
|
||||
//>>>>>>>>>>>>>>>>>>>>>> 推送出库 <<<<<<<<<<<<<<<<<<<<<<<
|
||||
//>>>>>>>>>>>>>>>>>>>>>> 推送出库 <<<<<<<<<<<<<<<<<<<<<<<
|
||||
AjaxResult ajaxResult;
|
||||
/*-----------------推送wcs任务----------------- */
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("reqCode", UUID.randomUUID().toString());//请求码
|
||||
paramMap.put("jobId", mydoJob.getJobId());//作业号
|
||||
paramMap.put("taskNo", mydoJob.getTaskNo());//任务号
|
||||
paramMap.put("trayCode", mydoJob.getTrayCode());//容器编号
|
||||
paramMap.put("cargoSpaceId", mydoJob.getCargoSpaceId());//货位
|
||||
paramMap.put("inOrOut", mydoJob.getInOrOut());//任务类型
|
||||
|
||||
ajaxResult = apiWcsService.sendOutMydoJob(paramMap);
|
||||
|
||||
log.info("【推送出库】推送wcs出库作业,作业号:{},托盘条码:{},分配货位:{}", mydoJob.getJobId(), mydoJob.getTrayCode(), mydoJob.getCargoSpaceId());
|
||||
|
||||
if (ajaxResult.isSuccess()){
|
||||
|
||||
//生成托盘主作业
|
||||
mydoJobService.insertMydoJob(mydoJob);
|
||||
|
||||
//生成主任务后子任务明细重新计数
|
||||
num = 1;
|
||||
|
||||
log.info("【推送出库】生成并推送wcs作业成功,作业号:{},托盘条码:{},分配货位:{}", mydoJob.getJobId(), mydoJob.getTrayCode(), mydoJob.getCargoSpaceId());
|
||||
|
||||
//更新货位【预占用】
|
||||
cargoCurrent.setStatus(CargoSpaceCode.CARGOSPACE_STATUS_PRE_STOCKOUT);
|
||||
basCargoSpaceService.updateBasCargoSpace(cargoCurrent);
|
||||
|
||||
}
|
||||
log.info("【出库分配】生成出库作业,作业号:{},托盘号:{}", mydoJob.getJobId(), stock.getTrayCode());
|
||||
//
|
||||
// //>>>>>>>>>>>>>>>>>>>>>> 推送出库 <<<<<<<<<<<<<<<<<<<<<<<
|
||||
// //>>>>>>>>>>>>>>>>>>>>>> 推送出库 <<<<<<<<<<<<<<<<<<<<<<<
|
||||
// //>>>>>>>>>>>>>>>>>>>>>> 推送出库 <<<<<<<<<<<<<<<<<<<<<<<
|
||||
// AjaxResult ajaxResult;
|
||||
// /*-----------------推送wcs任务----------------- */
|
||||
// HashMap<String, Object> paramMap = new HashMap<>();
|
||||
// paramMap.put("reqCode", UUID.randomUUID().toString());//请求码
|
||||
// paramMap.put("jobId", mydoJob.getJobId());//作业号
|
||||
// paramMap.put("taskNo", mydoJob.getTaskNo());//任务号
|
||||
// paramMap.put("trayCode", mydoJob.getTrayCode());//容器编号
|
||||
// paramMap.put("cargoSpaceId", mydoJob.getCargoSpaceId());//货位
|
||||
// paramMap.put("inOrOut", mydoJob.getInOrOut());//任务类型
|
||||
//
|
||||
// ajaxResult = apiWcsService.sendOutMydoJob(paramMap);
|
||||
//
|
||||
// log.info("【推送出库】推送wcs出库作业,作业号:{},托盘条码:{},分配货位:{}", mydoJob.getJobId(), mydoJob.getTrayCode(), mydoJob.getCargoSpaceId());
|
||||
//
|
||||
// if (ajaxResult.isSuccess()){
|
||||
//
|
||||
// //生成主任务后子任务明细重新计数
|
||||
// num = 1;
|
||||
//
|
||||
// log.info("【推送出库】生成并推送wcs作业成功,作业号:{},托盘条码:{},分配货位:{}", mydoJob.getJobId(), mydoJob.getTrayCode(), mydoJob.getCargoSpaceId());
|
||||
//
|
||||
// //更新货位【预占用】
|
||||
// cargoCurrent.setStatus(CargoSpaceCode.CARGOSPACE_STATUS_PRE_STOCKOUT);
|
||||
// basCargoSpaceService.updateBasCargoSpace(cargoCurrent);
|
||||
//
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -716,16 +716,23 @@ public class PdaServiceImpl implements IPdaService {
|
||||
//>>>>>>>>>>>>>>>>>>>>>>> 生成回流 <<<<<<<<<<<<<<<<<<<<<<<<
|
||||
//获取托盘剩余库存
|
||||
List<BasStock> stocks = basStockService.selectBasStockListByTrayCode(trayCode);
|
||||
int trayType = mydoJobService.getTrayTypeByTrayCode(trayCode);
|
||||
//检查当前条码是否已经生成作业
|
||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCode);
|
||||
|
||||
if (ObjUtil.isEmpty(mydoJob)) {
|
||||
|
||||
String jobId = basJobIdService.getId(JobIdType.MYDOJOB_PICK_RETURN);
|
||||
String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKIN_BACK);
|
||||
int taskType = TaskType.TASKTYPE_PICK_BACK;
|
||||
|
||||
String jobId;
|
||||
String taskNo;
|
||||
int taskType;
|
||||
if (stocks.isEmpty()){
|
||||
jobId = basJobIdService.getId(JobIdType.MYDOJOB_STOCKIN_EMPTY_PALLET);
|
||||
taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKIN_EMPTY_PALLET);
|
||||
taskType = TaskType.TASKTYPE_STOCKIN_EMPTY_TRAY;
|
||||
}else{
|
||||
jobId = basJobIdService.getId(JobIdType.MYDOJOB_PICK_RETURN);
|
||||
taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKIN_BACK);
|
||||
taskType = TaskType.TASKTYPE_PICK_BACK;
|
||||
}
|
||||
|
||||
//--------------------------- 入库货位分配 ---------------------------
|
||||
//区分高矮货,只能在堆垛机上获取货物高度,高货位可放全部高度的托盘
|
||||
@@ -934,7 +941,7 @@ public class PdaServiceImpl implements IPdaService {
|
||||
log.info("【出库确认】移除版辊库存信息,辊号:{}", rollerNumber);
|
||||
|
||||
//更新分配数量、实际数量、明细状态
|
||||
stockoutDetail.setAssignNum(jobDetail.getOutQuantity());
|
||||
stockoutDetail.setAssignNum(BigDecimal.ONE);
|
||||
stockoutDetail.setStatus(1);
|
||||
outStockoutDetailService.updateOutStockoutDetail(stockoutDetail);
|
||||
log.info("【出库确认】更新出库单据明细状态,单号:{},辊号:{}", stockoutDetail.getStockoutId(), rollerNumber);
|
||||
|
||||
@@ -257,7 +257,7 @@ public class MydoJobHandler {
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void cancelMydoJobHandler_Out(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.status(TaskStatusEnum.CANCEL.getCode())
|
||||
.build()
|
||||
@@ -672,6 +672,8 @@ public class MydoJobHandler {
|
||||
.stockId(stockId)
|
||||
.stockDetailId(stockId + "-" + num)
|
||||
.stockStatus(BasStockCode.STOCK_STATUS_AVAILABLE)
|
||||
.productStatus(BasStockCode.PRODUCT_STATUS_NORMAL)
|
||||
.trayCode(inTrayMsg.getTrayCode())
|
||||
.jobId(mydoJob.getJobId())
|
||||
.jobDetailId(mydoJob.getJobId() + "-" + num++)
|
||||
.stockinId(inTrayMsg.getStockinId())//获取单据号需要从托盘绑定信息表获取
|
||||
|
||||
@@ -140,6 +140,106 @@ public class RequestWcsHandler {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 推送wcs单据【整托出库】作业
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsStockoutTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.inOrOut(TaskType.TASKTYPE_STOCKOUT)
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.build()
|
||||
);
|
||||
|
||||
if (mydoJobs.isEmpty()) return;
|
||||
|
||||
for (MydoJob mydoJob : mydoJobs) {
|
||||
|
||||
//初始化参数
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("reqCode", UUID.randomUUID().toString());//请求码
|
||||
paramMap.put("trayCode", mydoJob.getTrayCode());//容器编号
|
||||
paramMap.put("taskNo", mydoJob.getTaskNo());//容器编号
|
||||
paramMap.put("jobId", mydoJob.getJobId());
|
||||
paramMap.put("inOrOut", mydoJob.getInOrOut());
|
||||
paramMap.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
||||
|
||||
AjaxResult ajaxResult = apiWcsService.sendOutMydoJob(paramMap);
|
||||
|
||||
if (ajaxResult.isSuccess()){
|
||||
log.info("【推送出库】<整托>出库,wms作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode());
|
||||
mydoJob.setStatus(TaskStatusEnum.RUNNING.getCode());
|
||||
mydoJobService.updateMydoJob(mydoJob);
|
||||
|
||||
//更新库存状态【占用中】
|
||||
List<BasStock> stocks = basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode());
|
||||
if (!stocks.isEmpty()){
|
||||
for (BasStock stock : stocks) {
|
||||
stock.setStockStatus(BasStockCode.STOCK_STATUS_OCCUPIED);
|
||||
basStockService.updateBasStock(stock);
|
||||
}
|
||||
}
|
||||
|
||||
//更新货位状态【出库预占用】
|
||||
basCargoSpaceService.updateBasCargoSpaceStatus(mydoJob.getCargoSpaceId(), mydoJob.getTrayCode(), CargoSpaceCode.CARGOSPACE_STATUS_PRE_STOCKOUT);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 推送wcs单据【拣选出库】作业
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsPickingOutTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.inOrOut(TaskType.TASKTYPE_STOCKOUT_PICKING)
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.build()
|
||||
);
|
||||
|
||||
if (mydoJobs.isEmpty()) return;
|
||||
|
||||
for (MydoJob mydoJob : mydoJobs) {
|
||||
|
||||
//初始化参数
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("reqCode", UUID.randomUUID().toString());//请求码
|
||||
paramMap.put("trayCode", mydoJob.getTrayCode());//容器编号
|
||||
paramMap.put("taskNo", mydoJob.getTaskNo());//容器编号
|
||||
paramMap.put("jobId", mydoJob.getJobId());
|
||||
paramMap.put("inOrOut", mydoJob.getInOrOut());
|
||||
paramMap.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
||||
|
||||
AjaxResult ajaxResult = apiWcsService.sendOutMydoJob(paramMap);
|
||||
|
||||
if (ajaxResult.isSuccess()){
|
||||
log.info("【推送出库】<拣选>出库,wms作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode());
|
||||
mydoJob.setStatus(TaskStatusEnum.RUNNING.getCode());
|
||||
mydoJobService.updateMydoJob(mydoJob);
|
||||
|
||||
//更新库存状态【占用中】
|
||||
List<BasStock> stocks = basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode());
|
||||
if (!stocks.isEmpty()){
|
||||
for (BasStock stock : stocks) {
|
||||
stock.setStockStatus(BasStockCode.STOCK_STATUS_OCCUPIED);
|
||||
basStockService.updateBasStock(stock);
|
||||
}
|
||||
}
|
||||
|
||||
//更新货位状态【出库预占用】
|
||||
basCargoSpaceService.updateBasCargoSpaceStatus(mydoJob.getCargoSpaceId(), mydoJob.getTrayCode(), CargoSpaceCode.CARGOSPACE_STATUS_PRE_STOCKOUT);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 手动操作 - 推送wcs指定货位出库
|
||||
*/
|
||||
@@ -189,12 +289,13 @@ public class RequestWcsHandler {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 出库确认完成 - 推送wcs拣选回流任务
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsBackTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_BACK)
|
||||
@@ -213,6 +314,7 @@ public class RequestWcsHandler {
|
||||
paramMap.put("jobId", mydoJob.getJobId());
|
||||
paramMap.put("inOrOut", mydoJob.getInOrOut());
|
||||
paramMap.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
||||
paramMap.put("priority", mydoJob.getPriority());
|
||||
|
||||
AjaxResult ajaxResult = apiWcsService.sendBackMydoJob(paramMap);
|
||||
|
||||
@@ -247,7 +349,7 @@ public class RequestWcsHandler {
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsMoveTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_BACK)
|
||||
@@ -353,7 +455,7 @@ public class RequestWcsHandler {
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsInventoryBackTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.inOrOut(TaskType.TASKTYPE_INVENTORY_BACK)
|
||||
|
||||
Reference in New Issue
Block a user