添加批次号;
This commit is contained in:
+40
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.TypeReference;
|
|||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||||
import com.mhd.common.core.exception.ServiceException;
|
import com.mhd.common.core.exception.ServiceException;
|
||||||
@@ -63,6 +64,8 @@ import org.springframework.util.CollectionUtils;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -508,6 +511,30 @@ public class StockInOrderDomainService {
|
|||||||
? loginUser.getUserPo().getUserName()
|
? loginUser.getUserPo().getUserName()
|
||||||
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||||
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||||
|
// 查询当天创建的入库单数量,用于生成batchNo
|
||||||
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String todayStr = dateFormat.format(new Date());
|
||||||
|
String todayStart = todayStr + " 00:00:00";
|
||||||
|
String todayEnd = todayStr + " 23:59:59";
|
||||||
|
SimpleDateFormat fullDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
Date todayStartDate = null;
|
||||||
|
try {
|
||||||
|
todayStartDate = fullDateFormat.parse(todayStart);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
Date todayEndDate = null;
|
||||||
|
try {
|
||||||
|
todayEndDate = fullDateFormat.parse(todayEnd);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
long todayStockInOrderCount = stockInOrderService.count(new LambdaQueryWrapper<StockInOrder>()
|
||||||
|
.ge(StockInOrder::getCreateTime, todayStartDate)
|
||||||
|
.le(StockInOrder::getCreateTime, todayEndDate)
|
||||||
|
.eq(StockInOrder::getDelFlag, 1));
|
||||||
|
String batchNo = "PC"+inOrderNumber+"-"+todayStockInOrderCount;
|
||||||
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||||
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||||
.filter(m -> m.getCollectQuantity() != null && m.getCollectQuantity().compareTo(BigDecimal.ZERO) != 0)
|
.filter(m -> m.getCollectQuantity() != null && m.getCollectQuantity().compareTo(BigDecimal.ZERO) != 0)
|
||||||
@@ -532,6 +559,8 @@ public class StockInOrderDomainService {
|
|||||||
}
|
}
|
||||||
receiptMaterialDetail.setReceiptQuantity(collectQuantity);
|
receiptMaterialDetail.setReceiptQuantity(collectQuantity);
|
||||||
receiptMaterialDetail.setAlreadyReceiptQuantity(collectQuantity);
|
receiptMaterialDetail.setAlreadyReceiptQuantity(collectQuantity);
|
||||||
|
|
||||||
|
receiptMaterialDetail.setBatchNo(batchNo);
|
||||||
BigDecimal quantity = receiptMaterialDetail.getQuantity();
|
BigDecimal quantity = receiptMaterialDetail.getQuantity();
|
||||||
if (quantity != null && quantity.compareTo(BigDecimal.ZERO) == 0) {
|
if (quantity != null && quantity.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
receiptMaterialDetail.setReceiptStatus(3);
|
receiptMaterialDetail.setReceiptStatus(3);
|
||||||
@@ -544,6 +573,7 @@ public class StockInOrderDomainService {
|
|||||||
if (stockReceiptOrder != null) {
|
if (stockReceiptOrder != null) {
|
||||||
stockReceiptOrder.setStatus(2);
|
stockReceiptOrder.setStatus(2);
|
||||||
stockReceiptOrder.setReceiptQuantity(stockReceiptOrder.getReceiptQuantity().add(collectQuantity));
|
stockReceiptOrder.setReceiptQuantity(stockReceiptOrder.getReceiptQuantity().add(collectQuantity));
|
||||||
|
stockReceiptOrder.setBatchNo(batchNo);
|
||||||
stockReceiptOrderService.updateById(stockReceiptOrder);
|
stockReceiptOrderService.updateById(stockReceiptOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -563,6 +593,7 @@ public class StockInOrderDomainService {
|
|||||||
} else {
|
} else {
|
||||||
BeanUtils.copyProperties(stockReceiptOrder, stockShelfOrder);
|
BeanUtils.copyProperties(stockReceiptOrder, stockShelfOrder);
|
||||||
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
|
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
|
||||||
|
stockShelfOrder.setBatchNo(batchNo);
|
||||||
stockShelfOrderService.save(stockShelfOrder);
|
stockShelfOrderService.save(stockShelfOrder);
|
||||||
}
|
}
|
||||||
log.info("生成上架单成功,上架单编号:{}", stockShelfOrder.getShelfOrderNumber());
|
log.info("生成上架单成功,上架单编号:{}", stockShelfOrder.getShelfOrderNumber());
|
||||||
@@ -574,6 +605,7 @@ public class StockInOrderDomainService {
|
|||||||
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||||
if (one != null) {
|
if (one != null) {
|
||||||
one.setQuantity(collectQuantity);
|
one.setQuantity(collectQuantity);
|
||||||
|
one.setBatchNo(batchNo);
|
||||||
shelfMaterialDetailService.updateById(one);
|
shelfMaterialDetailService.updateById(one);
|
||||||
} else {
|
} else {
|
||||||
BeanUtils.copyProperties(inMaterialDetailDO, shelfMaterialDetail);
|
BeanUtils.copyProperties(inMaterialDetailDO, shelfMaterialDetail);
|
||||||
@@ -581,6 +613,7 @@ public class StockInOrderDomainService {
|
|||||||
shelfMaterialDetail.setQuantity(collectQuantity);
|
shelfMaterialDetail.setQuantity(collectQuantity);
|
||||||
shelfMaterialDetail.setInUniqueId(uniqueId);
|
shelfMaterialDetail.setInUniqueId(uniqueId);
|
||||||
shelfMaterialDetail.setReceiptUniqueId(receiptMaterialDetail.getUniqueId());
|
shelfMaterialDetail.setReceiptUniqueId(receiptMaterialDetail.getUniqueId());
|
||||||
|
shelfMaterialDetail.setBatchNo(batchNo);
|
||||||
shelfMaterialDetailService.save(shelfMaterialDetail);
|
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -654,6 +687,10 @@ public class StockInOrderDomainService {
|
|||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaUpdateWrapper<StockReceiptOrder>()
|
||||||
|
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||||
|
|
||||||
// 如果 materialDetailId 为空,则创建上架单明细
|
// 如果 materialDetailId 为空,则创建上架单明细
|
||||||
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||||
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
@@ -713,6 +750,9 @@ public class StockInOrderDomainService {
|
|||||||
shelfMaterialDetail.setInUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
shelfMaterialDetail.setInUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
shelfMaterialDetail.setReceiptUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
shelfMaterialDetail.setReceiptUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
shelfMaterialDetail.setShelvesStatus(3);
|
shelfMaterialDetail.setShelvesStatus(3);
|
||||||
|
if (stockReceiptOrder!= null) {
|
||||||
|
shelfMaterialDetail.setBatchNo(stockReceiptOrder.getBatchNo());
|
||||||
|
}
|
||||||
shelfMaterialDetailService.save(shelfMaterialDetail);
|
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||||
stringObjectMap.put("materialDetailId", shelfMaterialDetail.getMaterialDetailId());
|
stringObjectMap.put("materialDetailId", shelfMaterialDetail.getMaterialDetailId());
|
||||||
stringObjectMap.put("level",2 );
|
stringObjectMap.put("level",2 );
|
||||||
|
|||||||
Reference in New Issue
Block a user