Commit 198a91d6 LN

元器件数量需大于0。

安全库存bug修改。
1 个父辈 0b9c5dd5
......@@ -88,15 +88,15 @@ public class ComponentController {
throw new ValidateException("smfcore.valueCanotNull","{0}不能为空",new String[]{"ID"} );
}
//判断最大库存和最小库存
if(component.getMinStoreNum()>0 )
{
if(component.getMinStoreNum()<=component.getSafetyStoreNum()&& component.getSafetyStoreNum()<=component.getMaxStoreNum()){
}else{
throw new ValidateException("smfcore.component.storeError","请输入正确的库存,最小库存<=安全库存<=最大库存" );
}
}
// //判断最大库存和最小库存
// if(component.getMinStoreNum()>0 )
// {
// if(component.getMinStoreNum()<=component.getSafetyStoreNum()&& component.getSafetyStoreNum()<=component.getMaxStoreNum()){
//
// }else{
// throw new ValidateException("smfcore.component.storeError","请输入正确的库存,最小库存<=安全库存<=最大库存" );
// }
// }
componentManager.saveComponent(component);
// //修改元器件时更新storagePos中的数据
......
......@@ -129,6 +129,21 @@ public class ComponentManagerImpl implements IComponentManager {
throw new ValidateException("smfcore.valueCanotNull","{0}不能为空",new String[]{"partNumber"} );
// throw new BadRequestException("料号不能为空");
}
if(resources.getAmount()<=0){
throw new ValidateException("smfcore.component.amount.error","元器件数量必须大于0" );
}
//判断最大库存和最小库存
if(resources.getMinStoreNum()>0 )
{
if(resources.getMaxStoreNum()==0){
resources.setMaxStoreNum(999999999);
}
if(resources.getMinStoreNum()<=resources.getSafetyStoreNum()&& resources.getSafetyStoreNum()<=resources.getMaxStoreNum()){
}else{
throw new ValidateException("smfcore.component.storeError","请输入正确的库存,最小库存<=安全库存<=最大库存" );
}
}
if(resources.getProvider()==null){
resources.setProvider("");
}
......
......@@ -125,15 +125,15 @@ public class Component extends BasePo implements Serializable {
private boolean sizeConfirmed = false;
/**
* 最大库存
* 最大库存 盘数
*/
private int maxStoreNum = 999999999;
/**
* 最小库存
* 最小库存 盘数
*/
private int minStoreNum = 0;
/**
*安全库存
*安全库存 盘数
*/
private int safetyStoreNum=0;
/**
......
......@@ -147,6 +147,7 @@ public class MaterialStockController {
private List<SafetyInventoryDto> getSafetyInventoryList(SafetyInventoryQueryCriteria criteria) {
boolean needSupplement = criteria.isNeedSupplement();
Query query = QueryHelp.getQuery(criteria);
query.addCriteria(Criteria.where("safetyStoreNum").gt(0));
List<Component> componentList = componentManager.findByQuery(query);
Map<String, InventoryItem> inventoryItemMap = dataCache.getAllInventory(criteria.getStorageIdList(), criteria.getBlurry());
......@@ -164,22 +165,24 @@ public class MaterialStockController {
dto.setPartNumber(com.getPartNumber());
dto.setAmount(com.getAmount());
dto.setSupplementReel(0);
//判断是否需要补充
if (dto.getStockCount() < com.getMinStoreNum()) {
if (dto.getStockReel() > 0 && dto.getStockCount() > 0) {
int reelCount = dto.getStockCount() / dto.getStockReel();
//补充盘数
int needReel = (com.getMinStoreNum() - dto.getStockCount()) / reelCount;
dto.setSupplementReel(needReel);
} else {
int needReel = com.getMinStoreNum() / dto.getAmount();
dto.setSupplementReel(needReel);
}
dto.setSafetyStoreNum(com.getSafetyStoreNum());
//判断是否需要补充 判断当前盘数是否小于安全盘数
if (dto.getStockReel() < com.getSafetyStoreNum()) {
//// if (dto.getStockReel() > 0 && dto.getStockCount() > 0) {
//
// int reelCount = dto.getStockCount() / dto.getStockReel();
// //补充盘数
// int needReel = (com.getMinStoreNum() - dto.getStockCount()) / reelCount;
// dto.setSupplementReel(needReel);
// } else {
// int needReel = com.getMinStoreNum() / dto.getAmount();
// dto.setSupplementReel(needReel);
// }
dto.setSupplementReel(com.getMinStoreNum() - dto.getStockReel());
}
if (needSupplement ) {
if(dto.getSupplementReel() > 0){
if (needSupplement) {
if (dto.getSupplementReel() > 0) {
results.add(dto);
}
} else {
......
......@@ -45,4 +45,6 @@ public class SafetyInventoryDto implements Serializable {
@ApiModelProperty("需要补充盘数")
private int supplementReel=0;
@ApiModelProperty("安全库存")
private int safetyStoreNum=0;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!