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