|
@@ -1,16 +1,16 @@
|
|
|
package com.ruoyi.ams.inv.service.impl;
|
|
|
|
|
|
-import com.ruoyi.ams.common.Constant;
|
|
|
import com.ruoyi.ams.config.domain.dto.LotattDTO;
|
|
|
import com.ruoyi.ams.inv.domain.InvLotAtt;
|
|
|
import com.ruoyi.ams.inv.domain.InvLotLocId;
|
|
|
import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
|
|
|
import com.ruoyi.ams.inv.domain.form.InvLotLocIdAdjForm;
|
|
|
-import com.ruoyi.ams.inv.domain.form.InvLotLocIdForm;
|
|
|
+import com.ruoyi.ams.inv.domain.form.InvLotLocIdMoveForm;
|
|
|
import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
|
|
|
import com.ruoyi.ams.inv.mapper.InvLotAttMapper;
|
|
|
import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
|
|
|
import com.ruoyi.ams.inv.service.IInvLotLocIdService;
|
|
|
+import com.ruoyi.base.constant.Constant;
|
|
|
import com.ruoyi.base.domain.BaseLocationInfo;
|
|
|
import com.ruoyi.base.service.IBaseLocationInfoService;
|
|
|
import com.ruoyi.base.service.SysIdsequenceService;
|
|
@@ -101,6 +101,7 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
|
|
|
String customerId = invLotLocIdAdjForm.getCustomerId();
|
|
|
String sku = invLotLocIdAdjForm.getSku();
|
|
|
String reason = invLotLocIdAdjForm.getReason(); // 原因描述
|
|
|
+ String updateBy = invLotLocIdAdjForm.getUpdateBy();
|
|
|
|
|
|
BaseLocationInfo baseLocationInfo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationNo
|
|
|
, Constant.WAREHOUSE_ID);
|
|
@@ -120,7 +121,7 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
|
|
|
invLotLocIdUpdate.setCustomerId(customerId);
|
|
|
invLotLocIdUpdate.setSku(sku);
|
|
|
invLotLocIdUpdate.setQty(new BigDecimal(qtyTo));
|
|
|
- invLotLocIdUpdate.setUpdateBy(invLotLocIdAdjForm.getUpdateBy());
|
|
|
+ invLotLocIdUpdate.setUpdateBy(updateBy);
|
|
|
if (updateInvLotLocId(invLotLocIdUpdate) <= 0) {
|
|
|
return AjaxResult.error("修改库存失败!");
|
|
|
}
|
|
@@ -133,12 +134,41 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
|
|
|
/**
|
|
|
* 库存移动
|
|
|
*
|
|
|
- * @param invLotLocIdForm
|
|
|
+ * @param invLotLocIdMoveForm
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public AjaxResult move(InvLotLocIdForm invLotLocIdForm) {
|
|
|
- return null;
|
|
|
+ public AjaxResult move(InvLotLocIdMoveForm invLotLocIdMoveForm) {
|
|
|
+ String locationFrom = invLotLocIdMoveForm.getLocationFrom();
|
|
|
+ String locationTo = invLotLocIdMoveForm.getLocationTo();
|
|
|
+ String reason = invLotLocIdMoveForm.getReason();
|
|
|
+ String updateBy = invLotLocIdMoveForm.getUpdateBy();
|
|
|
+ Long warehouseId = invLotLocIdMoveForm.getWarehouseId();
|
|
|
+ // 起始和目标库位
|
|
|
+ BaseLocationInfo baseLocationFrom = null;
|
|
|
+ BaseLocationInfo baseLocationTo = null;
|
|
|
+
|
|
|
+ // 验证库位
|
|
|
+ Boolean isIdleFrom = baseLocationInfoService.verifyLocationIsIdle(locationFrom, warehouseId);
|
|
|
+ if (!isIdleFrom) {
|
|
|
+ return AjaxResult.error("起始库位需要空闲状态!");
|
|
|
+ }
|
|
|
+ Boolean isIdle = baseLocationInfoService.verifyLocationIsIdle(locationTo, warehouseId);
|
|
|
+ if (!isIdle) {
|
|
|
+ return AjaxResult.error("目标库位需要空闲状态!");
|
|
|
+ }
|
|
|
+ Boolean isInStock = baseLocationInfoService.verifyLocationIsInStock(locationTo, warehouseId);
|
|
|
+ if (isInStock) {
|
|
|
+ return AjaxResult.error("目标库位有货!");
|
|
|
+ }
|
|
|
+ // 起始和目标库位
|
|
|
+ baseLocationFrom = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationFrom, warehouseId);
|
|
|
+ baseLocationTo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationTo, warehouseId);
|
|
|
+
|
|
|
+ // todo 下发任务
|
|
|
+ // todo 修改起始和目标库位状态
|
|
|
+
|
|
|
+ return AjaxResult.success("下发任务成功!");
|
|
|
}
|
|
|
|
|
|
/**
|