|
@@ -69,7 +69,7 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
wrapper.eq("w.id", dto.getWarehouseId());
|
|
wrapper.eq("w.id", dto.getWarehouseId());
|
|
wrapper.eq("sj.to_warehouse_id", dto.getToWarehouseId());
|
|
wrapper.eq("sj.to_warehouse_id", dto.getToWarehouseId());
|
|
wrapper.eq("sjd.product_id", dto.getProductId());
|
|
wrapper.eq("sjd.product_id", dto.getProductId());
|
|
- wrapper.orderByDesc("sj", StockJournal::getCreateTime);
|
|
|
|
|
|
+ wrapper.orderByDesc("sjd", StockJournalDetails::getCreateTime);
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
|
|
if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
|
|
//产品编号过滤
|
|
//产品编号过滤
|
|
@@ -107,30 +107,32 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
if (ObjectUtil.isEmpty(records)) {
|
|
if (ObjectUtil.isEmpty(records)) {
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
- //给 采购退货 采购到货 的数据赋值关联单号
|
|
|
|
- List<Long> swIds = records.stream().map(StockJournalDetailsVo::getBusinessId).collect(Collectors.toList());
|
|
|
|
- if (ObjectUtil.isNotEmpty(swIds)) {
|
|
|
|
- Map<Long, StockWait> stockWaitMap = stockWaitService.mapKEntity(StockWait::getId, q -> q.in(StockWait::getId, swIds));
|
|
|
|
|
|
+
|
|
|
|
+ List<Long> swBusinessIds = records.stream().map(StockJournalDetailsVo::getBusinessId).distinct().filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isNotEmpty(swBusinessIds)) {
|
|
|
|
+ //给 采购退货 采购到货 的数据赋值关联单号
|
|
|
|
+ Map<Long, StockWait> stockWaitMap = stockWaitService.mapKEntity(StockWait::getId, q -> q.in(StockWait::getId, swBusinessIds));
|
|
|
|
+
|
|
|
|
+ //给 到货质检 赋值关联单号
|
|
|
|
+ IWrapper<StockWait> wrapper = IWrapper.getWrapper();
|
|
|
|
+ wrapper.in("qi", StockWait::getId, swBusinessIds);
|
|
|
|
+ List<StockWaitVo> stockWaitInfo = baseMapper.getStockWaitInfo(wrapper);
|
|
|
|
+ Map<Long, String> stockWaitInfoMap = stockWaitInfo.stream().collect(Collectors.toMap(StockWait::getId, StockWait::getBusinessCode));
|
|
|
|
+
|
|
for (StockJournalDetailsVo record : records) {
|
|
for (StockJournalDetailsVo record : records) {
|
|
|
|
+ //给 采购退货 采购到货 的数据赋值关联单号
|
|
StockWait stockWait = stockWaitMap.get(record.getBusinessId());
|
|
StockWait stockWait = stockWaitMap.get(record.getBusinessId());
|
|
- if (ObjectUtil.isEmpty(stockWait)) {
|
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(stockWait)) {
|
|
|
|
+ record.setLinkCode(stockWait.getBusinessCode());
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- record.setLinkCode(stockWait.getBusinessCode());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //给 到货质检 赋值关联单号
|
|
|
|
- List<Long> qIds = records.stream().map(StockJournalDetailsVo::getBusinessId).distinct().filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
|
- IWrapper<StockWait> wrapper = IWrapper.getWrapper();
|
|
|
|
- wrapper.in("qi", StockWait::getId, qIds);
|
|
|
|
- List<StockWaitVo> stockWaitInfo = baseMapper.getStockWaitInfo(wrapper);
|
|
|
|
- Map<Long, String> stockWaitInfoMap = stockWaitInfo.stream().collect(Collectors.toMap(StockWait::getId, StockWait::getBusinessCode));
|
|
|
|
- for (StockJournalDetailsVo record : records) {
|
|
|
|
- String linkCode = stockWaitInfoMap.get(record.getBusinessId());
|
|
|
|
- if (ObjectUtil.isEmpty(linkCode)) {
|
|
|
|
- continue;
|
|
|
|
|
|
+ //给 到货质检 赋值关联单号
|
|
|
|
+ String linkCode = stockWaitInfoMap.get(record.getBusinessId());
|
|
|
|
+ if (ObjectUtil.isNotEmpty(linkCode)) {
|
|
|
|
+ record.setLinkCode(linkCode);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- record.setLinkCode(linkCode);
|
|
|
|
}
|
|
}
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
@@ -167,14 +169,14 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
StockJournalDetails stockJournalDetails = getById(dto.getId());
|
|
StockJournalDetails stockJournalDetails = getById(dto.getId());
|
|
|
|
|
|
//根据流水获取入库批次
|
|
//根据流水获取入库批次
|
|
- List<Long> stockJournalDetailsList = stockJournalDetailsService.listObject(StockJournalDetails::getId,q -> q
|
|
|
|
- .eq(StockJournalDetails::getBusinessDetailsId,stockJournalDetails.getBusinessDetailsId())
|
|
|
|
- .eq(StockJournalDetails::getProductId,stockJournalDetails.getProductId())
|
|
|
|
- .eq(StockJournalDetails::getQuantity,stockJournalDetails.getQuantity())
|
|
|
|
|
|
+ List<Long> stockJournalDetailsList = stockJournalDetailsService.listObject(StockJournalDetails::getId, q -> q
|
|
|
|
+ .eq(StockJournalDetails::getBusinessDetailsId, stockJournalDetails.getBusinessDetailsId())
|
|
|
|
+ .eq(StockJournalDetails::getProductId, stockJournalDetails.getProductId())
|
|
|
|
+ .eq(StockJournalDetails::getQuantity, stockJournalDetails.getQuantity())
|
|
.orderByAsc(StockJournalDetails::getCreateTime)
|
|
.orderByAsc(StockJournalDetails::getCreateTime)
|
|
);
|
|
);
|
|
int batchIndex = stockJournalDetailsList.indexOf(stockJournalDetails.getId());
|
|
int batchIndex = stockJournalDetailsList.indexOf(stockJournalDetails.getId());
|
|
- if(batchIndex==-1){
|
|
|
|
|
|
+ if (batchIndex == -1) {
|
|
throw new ServiceException("找不到入库批次信息");
|
|
throw new ServiceException("找不到入库批次信息");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -199,29 +201,29 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
boolean update = stockService.update(q -> q
|
|
boolean update = stockService.update(q -> q
|
|
.eq(Stock::getProductId, stockJournalDetails.getProductId())
|
|
.eq(Stock::getProductId, stockJournalDetails.getProductId())
|
|
.eq(Stock::getWarehouseId, stockJournal.getWarehouseId())
|
|
.eq(Stock::getWarehouseId, stockJournal.getWarehouseId())
|
|
- .setSql("victoriatourist_json = JSON_SET(victoriatourist_json,'$.frozenQuantity',ifnull(json_unquote(victoriatourist_json -> '$.frozenQuantity'), 0) + "+subtract+")")
|
|
|
|
|
|
+ .setSql("victoriatourist_json = JSON_SET(victoriatourist_json,'$.frozenQuantity',ifnull(json_unquote(victoriatourist_json -> '$.frozenQuantity'), 0) + " + subtract + ")")
|
|
);
|
|
);
|
|
if (!update) {
|
|
if (!update) {
|
|
throw new ServiceException("操作失败请重试");
|
|
throw new ServiceException("操作失败请重试");
|
|
}
|
|
}
|
|
//修改待出入库数据
|
|
//修改待出入库数据
|
|
Long stockWaitDetailsId = stockJournalDetails.getBusinessDetailsId();
|
|
Long stockWaitDetailsId = stockJournalDetails.getBusinessDetailsId();
|
|
- Assert.notEmpty(stockWaitDetailsId,"无法关联入库信息,操作失败");
|
|
|
|
|
|
+ Assert.notEmpty(stockWaitDetailsId, "无法关联入库信息,操作失败");
|
|
|
|
|
|
|
|
|
|
boolean update1 = stockWaitDetailsService.update(q -> q
|
|
boolean update1 = stockWaitDetailsService.update(q -> q
|
|
.eq(StockWaitDetails::getId, stockWaitDetailsId)
|
|
.eq(StockWaitDetails::getId, stockWaitDetailsId)
|
|
- .setSql("receipt_quantity = receipt_quantity+"+subtract)
|
|
|
|
|
|
+ .setSql("receipt_quantity = receipt_quantity+" + subtract)
|
|
);
|
|
);
|
|
if (!update1) {
|
|
if (!update1) {
|
|
throw new ServiceException("操作失败请重试");
|
|
throw new ServiceException("操作失败请重试");
|
|
}
|
|
}
|
|
//修改待入库状态
|
|
//修改待入库状态
|
|
StockWaitDetails stockWaitDetails = stockWaitDetailsService.getById(stockWaitDetailsId);
|
|
StockWaitDetails stockWaitDetails = stockWaitDetailsService.getById(stockWaitDetailsId);
|
|
- Assert.notEmpty(stockWaitDetails,"无法查询到关联待入库信息,操作失败");
|
|
|
|
|
|
+ Assert.notEmpty(stockWaitDetails, "无法查询到关联待入库信息,操作失败");
|
|
StockWait stockWait = stockWaitService.getById(stockWaitDetails.getStockWaitId());
|
|
StockWait stockWait = stockWaitService.getById(stockWaitDetails.getStockWaitId());
|
|
|
|
|
|
- if (stockWait.getStatus()!=3) {
|
|
|
|
|
|
+ if (stockWait.getStatus() != 3) {
|
|
if (stockWaitDetails.getQuantity().compareTo(stockWaitDetails.getReceiptQuantity()) <= 0) {
|
|
if (stockWaitDetails.getQuantity().compareTo(stockWaitDetails.getReceiptQuantity()) <= 0) {
|
|
//完全入库
|
|
//完全入库
|
|
stockWait.setStatus(2);
|
|
stockWait.setStatus(2);
|
|
@@ -244,14 +246,14 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
Long arrivalStockRecordsDetailsId = arrivalStockRecordsDetailsIds.get(batchIndex);
|
|
Long arrivalStockRecordsDetailsId = arrivalStockRecordsDetailsIds.get(batchIndex);
|
|
|
|
|
|
ArrivalStockRecordsDetails oldarrivalStockRecordsDetails = arrivalStockRecordsDetailsService.getById(arrivalStockRecordsDetailsId);
|
|
ArrivalStockRecordsDetails oldarrivalStockRecordsDetails = arrivalStockRecordsDetailsService.getById(arrivalStockRecordsDetailsId);
|
|
- Assert.notEmpty(oldarrivalStockRecordsDetails,"查询不到相关质检信息");
|
|
|
|
- if(oldarrivalStockRecordsDetails.getQualityQuantity().compareTo(oldarrivalStockRecordsDetails.getQuantity())>=0){
|
|
|
|
|
|
+ Assert.notEmpty(oldarrivalStockRecordsDetails, "查询不到相关质检信息");
|
|
|
|
+ if (oldarrivalStockRecordsDetails.getQualityQuantity().compareTo(oldarrivalStockRecordsDetails.getQuantity()) >= 0) {
|
|
throw new ServiceException("该记录已质检完成禁止修改");
|
|
throw new ServiceException("该记录已质检完成禁止修改");
|
|
}
|
|
}
|
|
|
|
|
|
boolean update2 = arrivalStockRecordsDetailsService.update(q -> q
|
|
boolean update2 = arrivalStockRecordsDetailsService.update(q -> q
|
|
.eq(ArrivalStockRecordsDetails::getId, arrivalStockRecordsDetailsId)
|
|
.eq(ArrivalStockRecordsDetails::getId, arrivalStockRecordsDetailsId)
|
|
- .setSql("quantity = quantity+"+subtract)
|
|
|
|
|
|
+ .setSql("quantity = quantity+" + subtract)
|
|
);
|
|
);
|
|
if (!update2) {
|
|
if (!update2) {
|
|
throw new ServiceException("操作失败请重试");
|
|
throw new ServiceException("操作失败请重试");
|