feat(wms): 添加订单项数量修改功能
- 在PurchaseReturnController中新增updateItemNum方法用于修改采购退货订单项数量 - 在TransferCompanyController中新增updateItemNum方法用于修改转储公司订单项数量 - 在TransferFactoryController中新增updateItemNum方法用于修改工厂调拨订单项数量 - 新增UpdateItemNumRequest请求类用于接收数量修改参数 - 添加业务逻辑验证确保修改后的数量不低于最小限制值 - 更新TransferCompanyItemVO和TransferFactoryItemVO添加数量限制相关字段
This commit is contained in:
parent
f2bccd0a4a
commit
b4cdc6387e
|
|
@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
||||||
|
import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest;
|
||||||
import com.nflg.wms.admin.service.BasdeSerialNumberControllerService;
|
import com.nflg.wms.admin.service.BasdeSerialNumberControllerService;
|
||||||
import com.nflg.wms.admin.service.SapService;
|
import com.nflg.wms.admin.service.SapService;
|
||||||
import com.nflg.wms.admin.util.PdfGeneratorUtil;
|
import com.nflg.wms.admin.util.PdfGeneratorUtil;
|
||||||
|
|
@ -109,6 +110,22 @@ public class PurchaseReturnController extends BaseController {
|
||||||
return ApiResult.success(vos);
|
return ApiResult.success(vos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改订单项数量
|
||||||
|
*/
|
||||||
|
@PostMapping("updateItemNum")
|
||||||
|
public ApiResult<Void> updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) {
|
||||||
|
WmsReturnRequestItem item = returnRequestItemService.getById(request.getId());
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在");
|
||||||
|
BigDecimal min = item.getRequestQuantity().subtract(item.getLeft());
|
||||||
|
VUtil.trueThrowBusinessError(request.getNum().compareTo(min) < 0).throwMessage("数量不能小于" + min);
|
||||||
|
BigDecimal difference = request.getNum().subtract(item.getRequestQuantity());
|
||||||
|
item.setLeft(item.getLeft().add(difference));
|
||||||
|
item.setRequestQuantity(request.getNum());
|
||||||
|
returnRequestItemService.updateById(item);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取送货单的入库信息
|
* 获取送货单的入库信息
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
||||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
|
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
|
||||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item1DTO;
|
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item1DTO;
|
||||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item2DTO;
|
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item2DTO;
|
||||||
|
import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest;
|
||||||
import com.nflg.wms.admin.repository.InMaterialScanRecordRespository;
|
import com.nflg.wms.admin.repository.InMaterialScanRecordRespository;
|
||||||
import com.nflg.wms.admin.repository.InventoryForOutRepository;
|
import com.nflg.wms.admin.repository.InventoryForOutRepository;
|
||||||
import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository;
|
import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository;
|
||||||
|
|
@ -223,6 +224,22 @@ public class TransferCompanyController extends BaseController {
|
||||||
return ApiResult.success(vo);
|
return ApiResult.success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改订单项数量
|
||||||
|
*/
|
||||||
|
@PostMapping("updateItemNum")
|
||||||
|
public ApiResult<Void> updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) {
|
||||||
|
WmsTransferCompanyItem item = transferCompanyItemService.getById(request.getId());
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在");
|
||||||
|
BigDecimal min = item.getNum().subtract(item.getLeft());
|
||||||
|
VUtil.trueThrowBusinessError(request.getNum().compareTo(min) < 0).throwMessage("数量不能小于" + min);
|
||||||
|
BigDecimal difference = request.getNum().subtract(item.getNum());
|
||||||
|
item.setLeft(item.getLeft().add(difference));
|
||||||
|
item.setNum(request.getNum());
|
||||||
|
transferCompanyItemService.updateById(item);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取转储单(PDA使用)
|
* 获取转储单(PDA使用)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
||||||
|
import com.nflg.wms.admin.pojo.request.UpdateItemNumRequest;
|
||||||
import com.nflg.wms.admin.repository.InMaterialScanRecordRespository;
|
import com.nflg.wms.admin.repository.InMaterialScanRecordRespository;
|
||||||
import com.nflg.wms.admin.repository.InventoryForOutRepository;
|
import com.nflg.wms.admin.repository.InventoryForOutRepository;
|
||||||
import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository;
|
import com.nflg.wms.admin.repository.OutMaterialScanRecordRespository;
|
||||||
|
|
@ -221,6 +222,22 @@ public class TransferFactoryController extends BaseController {
|
||||||
return ApiResult.success(vo);
|
return ApiResult.success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改订单项数量
|
||||||
|
*/
|
||||||
|
@PostMapping("updateItemNum")
|
||||||
|
public ApiResult<Void> updateItemNum(@Valid @RequestBody UpdateItemNumRequest request) {
|
||||||
|
WmsTransferFactoryItem item = transferFactoryItemService.getById(request.getId());
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项不存在");
|
||||||
|
BigDecimal min = item.getNum().subtract(item.getLeft());
|
||||||
|
VUtil.trueThrowBusinessError(request.getNum().compareTo(min) < 0).throwMessage("数量不能小于" + min);
|
||||||
|
BigDecimal difference = request.getNum().subtract(item.getNum());
|
||||||
|
item.setLeft(item.getLeft().add(difference));
|
||||||
|
item.setNum(request.getNum());
|
||||||
|
transferFactoryItemService.updateById(item);
|
||||||
|
return ApiResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取调拨单(PDA使用)
|
* 获取调拨单(PDA使用)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,15 @@ public class TransferCompanyItemVO {
|
||||||
return num.subtract(left);
|
return num.subtract(left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转储数量最小值
|
||||||
|
*/
|
||||||
|
private BigDecimal numLimit;
|
||||||
|
|
||||||
|
public BigDecimal getNumLimit() {
|
||||||
|
return outNum;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 已入库数量
|
* 已入库数量
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,15 @@ public class TransferFactoryItemVO {
|
||||||
return num.subtract(left);
|
return num.subtract(left);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调库数量最小值
|
||||||
|
*/
|
||||||
|
private BigDecimal numLimit;
|
||||||
|
|
||||||
|
public BigDecimal getNumLimit() {
|
||||||
|
return num.subtract(left);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 已入库数量
|
* 已入库数量
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue