运行调整
This commit is contained in:
@@ -318,11 +318,13 @@
|
||||
this.items.push({
|
||||
stockinDetailId: this.currentMaterial.stockinDetailId,
|
||||
productId: this.currentMaterial.rollerNumber,
|
||||
// productName: this.currentMaterial.productName,
|
||||
productName: this.currentMaterial.productName,
|
||||
rollerNumber: this.currentMaterial.rollerNumber,
|
||||
length: this.currentMaterial.length,
|
||||
perimeter: this.currentMaterial.perimeter,
|
||||
// colorSequence: this.currentMaterial.colorSequence,
|
||||
color: this.currentMaterial.color,
|
||||
spec: this.currentMaterial.spec,
|
||||
// color: this.currentMaterial.color,
|
||||
// spec: this.currentMaterial.spec,
|
||||
quantity: Number(this.currentQty)
|
||||
})
|
||||
// 清空当前扫码区,继续扫下一个
|
||||
@@ -355,10 +357,13 @@
|
||||
return {
|
||||
stockinDetailId: i.stockinDetailId,
|
||||
productId: i.rollerNumber,
|
||||
productName: i.productName,
|
||||
rollerNumber: i.rollerNumber,
|
||||
colorSequence: i.colorSequence,
|
||||
color: i.color,
|
||||
spec: i.spec,
|
||||
length: i.length,
|
||||
perimeter: i.perimeter,
|
||||
// colorSequence: i.colorSequence,
|
||||
// color: i.color,
|
||||
// spec: i.spec,
|
||||
quantity: i.quantity
|
||||
}
|
||||
})
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<uni-icons type="right" size="18" color="#ccc"></uni-icons>
|
||||
</view>
|
||||
|
||||
<view class="menu-card" @click="navigateTo('/pages/warehouse/outbound/trayConfirmManual')">
|
||||
<!-- <view class="menu-card" @click="navigateTo('/pages/warehouse/outbound/trayConfirmManual')">
|
||||
<view class="card-left">
|
||||
<view class="card-icon red">
|
||||
<uni-icons type="checkmarkempty" size="24" color="#fff"></uni-icons>
|
||||
@@ -39,7 +39,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<uni-icons type="right" size="18" color="#ccc"></uni-icons>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="menu-card" @click="navigateTo('/pages/warehouse/outbound/container')">
|
||||
<view class="card-left">
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
|
||||
<!-- 操作按钮 -->
|
||||
<view class="btn-section" >
|
||||
<button class="btn btn-blue" v-if="outboundList" @click="handleBarcode">查询</button>
|
||||
<button class="btn btn-orange" v-if="outboundList" @click="stockoutComplete">托盘确认出库</button>
|
||||
<button class="btn btn-green" v-if="outboundList" @click="stockoutCompleteAll">一键确认出库</button>
|
||||
<button class="btn btn-default" @click="resetForm">重置</button>
|
||||
@@ -437,6 +438,11 @@
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.btn-blue {
|
||||
background: #1da6fa;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.btn-orange {
|
||||
background: #fa8c16;
|
||||
color: #fff;
|
||||
|
||||
@@ -43,7 +43,7 @@ public class WcsServiceController extends BaseController {
|
||||
@PostMapping("/stockoutByManual")
|
||||
public AjaxResult stockoutByManual(@RequestBody Map<String, String> params) {
|
||||
AjaxResult ajaxResult = apiWcsService.stockoutByManual(params);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(params), "创建入库任务请求", ajaxResult);
|
||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(params), "手动指定货位出库", ajaxResult);
|
||||
requestLogService.insertRequestLog(requestLog);
|
||||
return ajaxResult;
|
||||
}
|
||||
|
||||
@@ -252,7 +252,7 @@ public class ApiErpService implements IApiErpService {
|
||||
// outStockoutService.autoAssignOutStockout(stockoutId);
|
||||
outStockoutService.autoAssignOutStockoutByErpBill(docNo);
|
||||
|
||||
log.info("【ERP推送出库】出库单据已经执行自动分配, 单据号:{}", docNo);
|
||||
log.info("【ERP推送出库】出库单据执行自动分配, 单据号:{}", docNo);
|
||||
|
||||
return AjaxResult.success("操作成功,erp下发出库单据号:" + docNo);
|
||||
|
||||
|
||||
@@ -89,14 +89,14 @@ public class ApiWcsService implements IApiWcsService {
|
||||
|
||||
//获取立库区域和托盘类型
|
||||
List<BasCargoSpace> basCargoSpaceEmptyTray = basCargoSpaceService.selectBasCargoSpaceListForEmptyTray(
|
||||
new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).build()
|
||||
new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).status(CargoSpaceCode.CARGOSPACE_STATUS_OCCUPIED).build()
|
||||
);
|
||||
// List<BasCargoSpace> basCargoSpaceContainer = basCargoSpaceService.selectBasCargoSpaceListForContainer(
|
||||
// new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).build()
|
||||
// );
|
||||
|
||||
if (basCargoSpaceEmptyTray.isEmpty()) {
|
||||
log.info("【呼叫容器】空容器呼叫失败,无可用的空容器库存");
|
||||
log.info("【呼叫容器】空容器呼叫失败,无可用的空容器库存,呼叫区域:{},呼叫托盘类型:{}", cargoAreaId, type);
|
||||
|
||||
//todo 此处可查存放库存较少的托盘出库
|
||||
}else{
|
||||
@@ -190,9 +190,9 @@ public class ApiWcsService implements IApiWcsService {
|
||||
String jobId = basJobIdService.getId(JobIdType.MYDOJOB_STOCKOUT_EMPTY_PALLET);
|
||||
String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKOUT_EMPTY_PALLET);
|
||||
int taskType = TaskType.TASKTYPE_STOCKOUT_EMPTY_TRAY;
|
||||
if (stockInfo.getEmptyStatus() > 0){
|
||||
taskType = TaskType.TASKTYPE_STOCKOUT_CONTAINER;
|
||||
}
|
||||
// if (stockInfo.getEmptyStatus() > 0){
|
||||
// taskType = TaskType.TASKTYPE_STOCKOUT_CONTAINER;
|
||||
// }
|
||||
|
||||
MydoJob mydoJob = new MydoJob().builder()
|
||||
.jobId(jobId)
|
||||
@@ -206,9 +206,11 @@ public class ApiWcsService implements IApiWcsService {
|
||||
.warehouseId("01")
|
||||
.build();
|
||||
mydoJobService.insertMydoJob(mydoJob);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
|
||||
log.info("【呼叫空托】生成空托盘出库作业,作业号:{},托盘号:{},出库货位:{}", jobId, cargoSpaceCurrent.getTrayCode(), cargoSpaceCurrent.getCargoSpaceId());
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -251,7 +253,7 @@ public class ApiWcsService implements IApiWcsService {
|
||||
List<InTrayMsg> trayMsgs = inTrayMsgService.selectInTrayMsgList(
|
||||
new InTrayMsg().builder().trayCode(wcsStockinReiceive.getTrayCode()).build()
|
||||
);
|
||||
if (trayMsgs.size() == 0){
|
||||
if (trayMsgs.isEmpty()){
|
||||
log.warn("【入库请求】未找到该托盘的绑定信息,请确认是否有绑定操作,托盘条码:{}", wcsStockinReiceive.getTrayCode());
|
||||
return AjaxResult.error("未找到该托盘的绑定信息,请确认是否有绑定操作");
|
||||
}
|
||||
@@ -442,8 +444,11 @@ public class ApiWcsService implements IApiWcsService {
|
||||
// return AjaxResult.error("该货位已被其它任务预占用,请等待任务执行完成后重试");
|
||||
// }
|
||||
|
||||
MydoJob job = mydoJobService.selectMydoJobByTrayCode(cargoSpace.getTrayCode());
|
||||
if (ObjUtil.isNull(job)){
|
||||
// MydoJob job = mydoJobService.selectMydoJobBy(cargoSpace.getTrayCode());
|
||||
List<MydoJob> jobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder().cargoSpaceId(cargoSpaceId).build()
|
||||
);
|
||||
if (jobs.isEmpty()){
|
||||
|
||||
String jobId = basJobIdService.getId(JobIdType.MYDOJOB_STOCKOUT_MANUAL);
|
||||
String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKOUT);
|
||||
@@ -500,6 +505,8 @@ public class ApiWcsService implements IApiWcsService {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}else{
|
||||
log.info("【wms指定出库】<指定货位出库>操作失败,已经存在当前货位的出库任务,出库货位:{}", cargoSpaceId);
|
||||
}
|
||||
|
||||
return AjaxResult.error();
|
||||
@@ -884,7 +891,7 @@ public class ApiWcsService implements IApiWcsService {
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult cancelWcsMydoJob(Map<String, Object> param){
|
||||
RequestLog requestLog = requestLogService.getRequestLog(WcsUrl.PUSH_OUT_MYDO_JOB, JSONUtil.toJsonStr(param), "wcs手动作废作业");
|
||||
RequestLog requestLog = requestLogService.getRequestLog(WcsUrl.CANCEL_WCS_MYDOJOB, JSONUtil.toJsonStr(param), "wcs手动作废作业");
|
||||
requestLog.setResponseBody(JSONUtil.toJsonStr(AjaxResult.success()));
|
||||
requestLog.setResponseStatus("0");
|
||||
requestLog.setIsSuccessful("1");
|
||||
|
||||
@@ -95,20 +95,20 @@ public class BasStockInfoServiceImpl implements IBasStockInfoService
|
||||
{
|
||||
BasStockInfo oldBasStockInfo = basStockInfoMapper.selectBasStockInfoByStockId(basStockInfo.getStockId());
|
||||
int i = basStockInfoMapper.updateBasStockInfo(basStockInfo);
|
||||
if (i>0 && oldBasStockInfo != null){
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
SysDept sysDept = sysDeptMapper.selectDeptById(loginUser.getDeptId());
|
||||
BasStockOperRecord basStockOperRecord = new BasStockOperRecord();
|
||||
basStockOperRecord.setStockId(basStockInfo.getStockId());
|
||||
basStockOperRecord.setCargoSpaceId(basStockInfo.getCargoSpaceId());
|
||||
basStockOperRecord.setUserId(loginUser.getUserId());
|
||||
basStockOperRecord.setUserName(loginUser.getUsername());
|
||||
basStockOperRecord.setDeptId(loginUser.getDeptId());
|
||||
basStockOperRecord.setDeptName(sysDept.getDeptName());
|
||||
basStockOperRecord.setCreateTime(DateUtils.getNowDate());
|
||||
//basStockOperRecord.setCargoSpaceName(oldBasStock.getCargoSpaceName());
|
||||
basStockOperRecordMapper.insertBasStockOperRecord(basStockOperRecord);
|
||||
}
|
||||
// if (i>0 && oldBasStockInfo != null){
|
||||
// LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
// SysDept sysDept = sysDeptMapper.selectDeptById(loginUser.getDeptId());
|
||||
// BasStockOperRecord basStockOperRecord = new BasStockOperRecord();
|
||||
// basStockOperRecord.setStockId(basStockInfo.getStockId());
|
||||
// basStockOperRecord.setCargoSpaceId(basStockInfo.getCargoSpaceId());
|
||||
// basStockOperRecord.setUserId(loginUser.getUserId());
|
||||
// basStockOperRecord.setUserName(loginUser.getUsername());
|
||||
// basStockOperRecord.setDeptId(loginUser.getDeptId());
|
||||
// basStockOperRecord.setDeptName(sysDept.getDeptName());
|
||||
// basStockOperRecord.setCreateTime(DateUtils.getNowDate());
|
||||
// //basStockOperRecord.setCargoSpaceName(oldBasStock.getCargoSpaceName());
|
||||
// basStockOperRecordMapper.insertBasStockOperRecord(basStockOperRecord);
|
||||
// }
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
@@ -352,10 +352,10 @@ public class MydoJobServiceImpl implements IMydoJobService
|
||||
List<InTrayMsg> inTrayMsgs = inTrayMsgService.selectInTrayMsgList(
|
||||
new InTrayMsg().builder().trayCode(mydoJob.getTrayCode()).build()
|
||||
);
|
||||
if (inTrayMsgs.isEmpty()){
|
||||
log.warn("【任务完成】查不到该作业对应的托盘绑定信息,请检查绑定状态,任务号:" + jobId);
|
||||
return AjaxResult.error("查不到该作业对应的托盘绑定信息,请检查绑定状态");
|
||||
}
|
||||
// if (inTrayMsgs.isEmpty()){
|
||||
// log.warn("【任务完成】查不到该作业对应的托盘绑定信息,请检查绑定状态,任务号:" + jobId);
|
||||
// return AjaxResult.error("查不到该作业对应的托盘绑定信息,请检查绑定状态");
|
||||
// }
|
||||
|
||||
//子任务
|
||||
List<MydoJobDetail> details = mydoJobDetailService.selectMydoJobDetailByJobId(jobId);
|
||||
@@ -431,7 +431,7 @@ public class MydoJobServiceImpl implements IMydoJobService
|
||||
}
|
||||
|
||||
inTrayMsgService.deleteInTrayMsgByRollerNumber(inTrayMsg.getRollerNumber());
|
||||
log.info("【账务处理】新增库存明细,移除库存辊号入库绑定信息,作业号:{},库存编号:{},辊号:{}", jobId, stockId, detail.getRollerNumber());
|
||||
log.info("【账务处理】新增库存明细,移除版辊入库绑定信息,作业号:{},库存编号:{},辊号:{}", jobId, stockId, detail.getRollerNumber());
|
||||
|
||||
//更新实际数量 = 当前入库数量
|
||||
InStockinDetail inStockinDetail = instockinDetailService.selectInStockinDetailByRollerNumber(detail.getRollerNumber());
|
||||
@@ -573,17 +573,20 @@ public class MydoJobServiceImpl implements IMydoJobService
|
||||
}
|
||||
|
||||
//--------------------处理库存信息--------------------
|
||||
basStockService.deleteBasStockByTrayCode(mydoJob.getTrayCode());
|
||||
basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode());
|
||||
log.info("【账务处理-手动出库】移除托盘和版辊库存,作业号:{},货位编号:{},托盘号:{}", jobId, mydoJob.getCargoSpaceId(), mydoJob.getTrayCode());
|
||||
//移除指定辊号的库存信息
|
||||
for (MydoJobDetail detail : details){
|
||||
|
||||
//移除指定辊号的库存明细
|
||||
basStockService.deleteBasStockByRollerNumber(detail.getRollerNumber());
|
||||
//如果条码没有库存明细,则移除主表信息
|
||||
if (basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()).size() == 0){
|
||||
basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode());
|
||||
}
|
||||
|
||||
}
|
||||
// for (MydoJobDetail detail : details){
|
||||
//
|
||||
// //移除指定辊号的库存明细
|
||||
// basStockService.deleteBasStockByRollerNumber(detail.getRollerNumber());
|
||||
// //如果条码没有库存明细,则移除主表信息
|
||||
// if (basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()).size() == 0){
|
||||
// basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode());
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
//--------------------更新货位状态--------------------
|
||||
BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||
@@ -710,7 +713,7 @@ public class MydoJobServiceImpl implements IMydoJobService
|
||||
|
||||
//3.移除当前托盘的绑定信息
|
||||
inTrayMsgService.deleteInTrayMsgByTrayCode(mydoJob.getTrayCode());
|
||||
log.info("【账务处理-空托盘出库】移除任务数据,生成历史记录,作业号:{},托盘号:{}", jobId, mydoJob.getTrayCode());
|
||||
log.info("【账务处理-空托盘】移除任务数据,生成历史记录,作业号:{},托盘号:{}", jobId, mydoJob.getTrayCode());
|
||||
|
||||
return AjaxResult.success();
|
||||
|
||||
|
||||
@@ -625,6 +625,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
.stockQuantity(stock.getQuantity())
|
||||
.outQuantity(BigDecimal.ZERO)
|
||||
.trayType(cargoCurrent.getTheType())
|
||||
.trayCode(mydoJob.getTrayCode())
|
||||
.status(0)
|
||||
.inDate(stock.getInDate())
|
||||
.rollerNumber(stock.getRollerNumber())
|
||||
@@ -644,7 +645,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
||||
|
||||
}
|
||||
|
||||
log.info("【出库单据分配】分配成功,单据号:{}", details.get(0).getStockoutId());
|
||||
log.info("【出库单据分配】已尝试执行分配操作,单据号:{}", details.get(0).getStockoutId());
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@@ -469,7 +469,8 @@ public class PdaController extends BaseController {
|
||||
@PostMapping("/stockoutTrayCodeCompleteManual")
|
||||
@PreAuthorize("@ss.hasPermi('out:bound:task:info')")
|
||||
public AjaxResult stockoutTrayCodeCompleteManual(String trayCode) {
|
||||
return pdaService.stockoutTrayCodeCompleteManual(trayCode);
|
||||
// return pdaService.stockoutTrayCodeCompleteManual(trayCode);
|
||||
return AjaxResult.error("手动出库目前不支持确认操作");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -177,10 +177,12 @@ public class PdaStockoutController extends BaseController {
|
||||
@PostMapping("/stockoutTrayCodeCompleteManual")
|
||||
@PreAuthorize("@ss.hasPermi('out:bound:task:info')")
|
||||
public AjaxResult stockoutTrayCodeCompleteManual(String trayCode) {
|
||||
return pdaService.stockoutTrayCodeCompleteManual(trayCode);
|
||||
// return pdaService.stockoutTrayCodeCompleteManual(trayCode);
|
||||
return AjaxResult.error("手动出库目前不支持确认操作");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 【手动指定出库】出库确认 - 托盘号查询 - 仅查询托盘上出库单中包含的版辊信息
|
||||
* @param trayCode 托盘号
|
||||
|
||||
@@ -130,7 +130,7 @@ public class PdaServiceImpl implements IPdaService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 入库绑盘(一托多料)
|
||||
* 入库绑盘(一托多料) - 已弃用
|
||||
*/
|
||||
@Override
|
||||
public String bindTray(BindTrayRequest request) {
|
||||
@@ -151,7 +151,7 @@ public class PdaServiceImpl implements IPdaService {
|
||||
|
||||
|
||||
/**
|
||||
* 绑定托盘信息(单托盘)
|
||||
* 绑定托盘信息(单托盘) - 已弃用
|
||||
* @param bindTrayMsg 绑盘请求体,包含托盘号和物料明细列表
|
||||
* @return
|
||||
*/
|
||||
@@ -317,7 +317,7 @@ public class PdaServiceImpl implements IPdaService {
|
||||
new InTrayMsg().builder()
|
||||
.trayCode(trayCode)
|
||||
.productId(item.getProductId())
|
||||
.productName(item.getProductName())
|
||||
.productName(detail.getProductName())
|
||||
.quantity(item.getQuantity())
|
||||
.rollerNumber(item.getRollerNumber())
|
||||
.stockinId(detail.getStockinId())
|
||||
@@ -337,7 +337,7 @@ public class PdaServiceImpl implements IPdaService {
|
||||
detail.setScanNum(BigDecimal.valueOf(1));
|
||||
inStockinDetailService.updateInStockinDetail(detail);
|
||||
|
||||
log.info("【绑定信息】<常规入库>操作成功,生成绑定信息,更新子单已扫码数量,辊号:{},托盘号:{}",item.getRollerNumber(), bindTrayMsg.getTrayCode());
|
||||
log.info("【绑定信息】<常规入库>操作成功,生成绑定信息,更新子单已扫码数量,辊号:{},托盘号:{},物料名称:{}",item.getRollerNumber(), bindTrayMsg.getTrayCode(), item.getProductName());
|
||||
|
||||
}
|
||||
|
||||
@@ -532,6 +532,7 @@ public class PdaServiceImpl implements IPdaService {
|
||||
new InTrayMsg().builder()
|
||||
.trayCode(request.getTrayCode())
|
||||
.productId(ProductType.EMPTY_TRAY)
|
||||
.productName("空托盘")
|
||||
.rollerNumber(ProductType.EMPTY_TRAY)
|
||||
.quantity(BigDecimal.valueOf(1))
|
||||
.warehouseId("01")
|
||||
@@ -840,63 +841,63 @@ 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;
|
||||
|
||||
//--------------------------- 入库货位分配 ---------------------------
|
||||
//区分高矮货,只能在堆垛机上获取货物高度,高货位可放全部高度的托盘
|
||||
BasCargoSpace cargoParam;
|
||||
String cargoAreaId = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId()).getCargoAreaId();
|
||||
if (trayType == 1){
|
||||
//1500*1200 低货位380H - 不限制高度
|
||||
cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build();
|
||||
}else if (trayType == 2){
|
||||
//1500*1200 高货位510H - 只能放指定层高的货位
|
||||
cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).theHeight(510).build();
|
||||
}else{
|
||||
//1500*1350 通用货位510H - 货区3任意层数
|
||||
cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build();
|
||||
}
|
||||
|
||||
if (cargoParam == null) {
|
||||
log.warn("【货位分配】该类型托盘立库中无可用货位");
|
||||
return AjaxResult.error("【货位分配失败】该类型托盘立库中无可用货位");
|
||||
}
|
||||
|
||||
BasCargoSpace cargoStockin = basCargoSpaceService.selectBasCargoSpaceForStockin(cargoParam);
|
||||
|
||||
//>>>生成wms的入库主作业
|
||||
MydoJob mydoJobBack = new MydoJob().builder()
|
||||
.jobId(jobId)
|
||||
.taskNo(taskNo)
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.warehouseId(cargoStockin.getWarehouseId())
|
||||
.warehouseName("立体库")
|
||||
.executionPhase("0")
|
||||
.inOrOut(taskType)
|
||||
.trayCode(trayCode)
|
||||
// .entranceId(wcsStockinReiceive.getEntranceId())
|
||||
.roadwayId(cargoStockin.getRoadwayId())
|
||||
.cargoSpaceId(cargoStockin.getCargoSpaceId())
|
||||
.cargoSpaceName(cargoStockin.getCargoSpaceName())
|
||||
.trayType(trayType)
|
||||
.build();
|
||||
|
||||
mydoJobService.insertMydoJob(mydoJobBack);
|
||||
log.info("【wms手动出库回流】<回流入库>作业,作业号:{},任务号:{},托盘号:{},分配货位:{}",mydoJobBack.getJobId() ,mydoJobBack.getTaskNo() ,mydoJobBack.getTrayCode(), cargoStockin.getCargoSpaceId());
|
||||
|
||||
return AjaxResult.success("确认成功");
|
||||
}else{
|
||||
log.info("【提示】<回流入库>wms已存在该条码作业,请确认该条码的任务状态后重试,托盘号:{}",mydoJob.getTrayCode());
|
||||
}
|
||||
// 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;
|
||||
//
|
||||
// //--------------------------- 入库货位分配 ---------------------------
|
||||
// //区分高矮货,只能在堆垛机上获取货物高度,高货位可放全部高度的托盘
|
||||
// BasCargoSpace cargoParam;
|
||||
// String cargoAreaId = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId()).getCargoAreaId();
|
||||
// if (trayType == 1){
|
||||
// //1500*1200 低货位380H - 不限制高度
|
||||
// cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build();
|
||||
// }else if (trayType == 2){
|
||||
// //1500*1200 高货位510H - 只能放指定层高的货位
|
||||
// cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).theHeight(510).build();
|
||||
// }else{
|
||||
// //1500*1350 通用货位510H - 货区3任意层数
|
||||
// cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build();
|
||||
// }
|
||||
//
|
||||
// if (cargoParam == null) {
|
||||
// log.warn("【货位分配】该类型托盘立库中无可用货位");
|
||||
// return AjaxResult.error("【货位分配失败】该类型托盘立库中无可用货位");
|
||||
// }
|
||||
//
|
||||
// BasCargoSpace cargoStockin = basCargoSpaceService.selectBasCargoSpaceForStockin(cargoParam);
|
||||
//
|
||||
// //>>>生成wms的入库主作业
|
||||
// MydoJob mydoJobBack = new MydoJob().builder()
|
||||
// .jobId(jobId)
|
||||
// .taskNo(taskNo)
|
||||
// .status(TaskStatusEnum.READY.getCode())
|
||||
// .warehouseId(cargoStockin.getWarehouseId())
|
||||
// .warehouseName("立体库")
|
||||
// .executionPhase("0")
|
||||
// .inOrOut(taskType)
|
||||
// .trayCode(trayCode)
|
||||
//// .entranceId(wcsStockinReiceive.getEntranceId())
|
||||
// .roadwayId(cargoStockin.getRoadwayId())
|
||||
// .cargoSpaceId(cargoStockin.getCargoSpaceId())
|
||||
// .cargoSpaceName(cargoStockin.getCargoSpaceName())
|
||||
// .trayType(trayType)
|
||||
// .build();
|
||||
//
|
||||
// mydoJobService.insertMydoJob(mydoJobBack);
|
||||
// log.info("【wms手动出库回流】<回流入库>作业,作业号:{},任务号:{},托盘号:{},分配货位:{}",mydoJobBack.getJobId() ,mydoJobBack.getTaskNo() ,mydoJobBack.getTrayCode(), cargoStockin.getCargoSpaceId());
|
||||
//
|
||||
// return AjaxResult.success("确认成功");
|
||||
// }else{
|
||||
// log.info("【提示】<回流入库>wms已存在该条码作业,请确认该条码的任务状态后重试,托盘号:{}",mydoJob.getTrayCode());
|
||||
// }
|
||||
|
||||
return AjaxResult.success("确认失败");
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ public class RequestWcsHandler {
|
||||
/**
|
||||
* 推送wcs带货容器出库作业
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
// @Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsContainerTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectOutMydoJobList(
|
||||
new MydoJob().builder()
|
||||
@@ -154,6 +154,14 @@ public class RequestWcsHandler {
|
||||
|
||||
if (mydoJobs.isEmpty()) return;
|
||||
|
||||
List<MydoJob> moveJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE)
|
||||
.build()
|
||||
);
|
||||
|
||||
if (!moveJobs.isEmpty()) return;
|
||||
|
||||
for (MydoJob mydoJob : mydoJobs) {
|
||||
|
||||
//初始化参数
|
||||
@@ -204,6 +212,14 @@ public class RequestWcsHandler {
|
||||
|
||||
if (mydoJobs.isEmpty()) return;
|
||||
|
||||
List<MydoJob> moveJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE)
|
||||
.build()
|
||||
);
|
||||
|
||||
if (!moveJobs.isEmpty()) return;
|
||||
|
||||
for (MydoJob mydoJob : mydoJobs) {
|
||||
|
||||
//初始化参数
|
||||
@@ -254,6 +270,14 @@ public class RequestWcsHandler {
|
||||
|
||||
if (mydoJobs.isEmpty()) return;
|
||||
|
||||
List<MydoJob> moveJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE)
|
||||
.build()
|
||||
);
|
||||
|
||||
if (!moveJobs.isEmpty()) return;
|
||||
|
||||
for (MydoJob mydoJob : mydoJobs){
|
||||
//初始化参数
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
@@ -347,12 +371,12 @@ public class RequestWcsHandler {
|
||||
/**
|
||||
* 推送wcs移库任务
|
||||
*/
|
||||
@Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
// @Scheduled(fixedRate = TIMEINTERVAL_2000)
|
||||
public void sendWcsMoveTask(){
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(
|
||||
new MydoJob().builder()
|
||||
.status(TaskStatusEnum.READY.getCode())
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_BACK)
|
||||
.inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE)
|
||||
.build()
|
||||
);
|
||||
|
||||
@@ -372,7 +396,7 @@ public class RequestWcsHandler {
|
||||
AjaxResult ajaxResult = apiWcsService.sendBackMydoJob(paramMap);
|
||||
|
||||
if (ajaxResult.isSuccess()){
|
||||
log.info("【推送回流入库】<托盘回流>入库,更新货位和库存预占用状态,wms作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode());
|
||||
log.info("【推送移库】推送移库作业,更新货位和库存预占用状态,wms作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode());
|
||||
mydoJob.setStatus(TaskStatusEnum.RUNNING.getCode());
|
||||
mydoJobService.updateMydoJob(mydoJob);
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="stockinId" column="stockin_id" />
|
||||
<result property="stockinDetailId" column="stockin_detail_id" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="userId" column="user_id" />
|
||||
@@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInTrayMsgVo">
|
||||
select id, tray_code, stockin_detail_id, product_id, quantity, warehouse_id, user_id, dept_id, create_time, tray_type, roller_number, color_sequence, color, length, perimeter, status from in_tray_msg
|
||||
select id, tray_code, stockin_detail_id, product_id, product_name, quantity, warehouse_id, user_id, dept_id, create_time, tray_type, roller_number, color_sequence, color, length, perimeter, status from in_tray_msg
|
||||
</sql>
|
||||
|
||||
<select id="selectInTrayMsgList" parameterType="InTrayMsg" resultMap="InTrayMsgResult">
|
||||
@@ -35,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="stockinId != null and stockinId != ''"> and stockin_id = #{stockinId}</if>
|
||||
<if test="stockinDetailId != null and stockinDetailId != ''"> and stockin_detail_id = #{stockinDetailId}</if>
|
||||
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and product_name = #{productName}</if>
|
||||
<if test="quantity != null "> and quantity = #{quantity}</if>
|
||||
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id = #{warehouseId}</if>
|
||||
<if test="userId != null "> and user_id = #{userId}</if>
|
||||
@@ -72,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="stockinId != null">stockin_id,</if>
|
||||
<if test="stockinDetailId != null">stockin_detail_id,</if>
|
||||
<if test="productId != null">product_id,</if>
|
||||
<if test="productName != null">product_name,</if>
|
||||
<if test="quantity != null">quantity,</if>
|
||||
<if test="warehouseId != null">warehouse_id,</if>
|
||||
<if test="userId != null">user_id,</if>
|
||||
@@ -90,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="stockinId != null">#{stockinId},</if>
|
||||
<if test="stockinDetailId != null">#{stockinDetailId},</if>
|
||||
<if test="productId != null">#{productId},</if>
|
||||
<if test="productName != null">#{productName},</if>
|
||||
<if test="quantity != null">#{quantity},</if>
|
||||
<if test="warehouseId != null">#{warehouseId},</if>
|
||||
<if test="userId != null">#{userId},</if>
|
||||
@@ -112,6 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="stockinId != null">stockin_id = #{stockinId},</if>
|
||||
<if test="stockinDetailId != null">stockin_detail_id = #{stockinDetailId},</if>
|
||||
<if test="productId != null">product_id = #{productId},</if>
|
||||
<if test="productName != null">product_name = #{productName},</if>
|
||||
<if test="quantity != null">quantity = #{quantity},</if>
|
||||
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
|
||||
<if test="userId != null">user_id = #{userId},</if>
|
||||
|
||||
Reference in New Issue
Block a user