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