简易模式收货及上架;
This commit is contained in:
+9
-16
@@ -544,23 +544,16 @@ public class StockInOrderApplicationService {
|
|||||||
*/
|
*/
|
||||||
public Boolean auditState(StockInOrderDO stockInOrderDO){
|
public Boolean auditState(StockInOrderDO stockInOrderDO){
|
||||||
Boolean b = stockInOrderDomainService.auditState(stockInOrderDO);
|
Boolean b = stockInOrderDomainService.auditState(stockInOrderDO);
|
||||||
// List<Long> inOrderIds = stockInOrderDO.getInOrderIds();
|
return b;
|
||||||
// if (inOrderIds != null && !inOrderIds.isEmpty()) {
|
}
|
||||||
// StockInOrder stockInOrder = stockInOrderService.getById(inOrderIds.get(0));
|
|
||||||
// Integer needCustomsDeclaration = stockInOrder.getNeedCustomsDeclaration();
|
|
||||||
// Integer auditStatus = stockInOrder.getAuditStatus();
|
|
||||||
// try {
|
|
||||||
// if (needCustomsDeclaration != null && needCustomsDeclaration == 1 && auditStatus != null && auditStatus == 3) {
|
|
||||||
// Long inOrderId = stockInOrder.getInOrderId();
|
|
||||||
// List<Long> idList = new ArrayList<>();
|
|
||||||
// idList.add(inOrderId);
|
|
||||||
// //batchPush(idList);
|
|
||||||
// }
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// throw new ServiceException("推送关务系统失败!");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO){
|
||||||
|
Boolean b = stockInOrderDomainService.receiptEasyMode(stockInOrderDO);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean shelfEasyMode(StockInOrderDO stockInOrderDO){
|
||||||
|
Boolean b = stockInOrderDomainService.shelfEasyMode(stockInOrderDO);
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -414,4 +414,8 @@ public class InMaterialDetail extends BaseVOEntity {
|
|||||||
private BigDecimal erpPriceGw;
|
private BigDecimal erpPriceGw;
|
||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+4
@@ -439,4 +439,8 @@ public class InMaterialDetailPO extends StockInOrderBasePO {
|
|||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
private String khdm;
|
private String khdm;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+4
@@ -404,4 +404,8 @@ public class InMaterialDetailDO extends StockInOrderBaseDO {
|
|||||||
private BigDecimal erpPriceGw;
|
private BigDecimal erpPriceGw;
|
||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+231
-1
@@ -1,14 +1,17 @@
|
|||||||
package com.mhd.wms.domain.stockInOrder.service;
|
package com.mhd.wms.domain.stockInOrder.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.TypeReference;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
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.exception.ServiceException;
|
import com.mhd.common.core.exception.ServiceException;
|
||||||
import com.mhd.common.core.utils.IgnoreNullUtil;
|
import com.mhd.common.core.utils.IgnoreNullUtil;
|
||||||
import com.mhd.common.core.utils.OrderSequence;
|
import com.mhd.common.core.utils.OrderSequence;
|
||||||
import com.mhd.common.core.utils.StringUtils;
|
import com.mhd.common.core.utils.StringUtils;
|
||||||
import com.mhd.common.core.utils.bean.BeanUtils;
|
import com.mhd.common.core.utils.bean.BeanUtils;
|
||||||
|
import com.mhd.common.core.utils.uuid.IdGenerator;
|
||||||
import com.mhd.common.core.web.domain.AjaxResult;
|
import com.mhd.common.core.web.domain.AjaxResult;
|
||||||
import com.mhd.common.security.utils.SecurityUtils;
|
import com.mhd.common.security.utils.SecurityUtils;
|
||||||
import com.mhd.system.api.SystemServiceFeign;
|
import com.mhd.system.api.SystemServiceFeign;
|
||||||
@@ -27,9 +30,11 @@ import com.mhd.wms.domain.materialWarehouseControl.repository.facade.IMaterialWa
|
|||||||
import com.mhd.wms.domain.materialWarehouseControl.repository.po.MaterialWarehouseControlPO;
|
import com.mhd.wms.domain.materialWarehouseControl.repository.po.MaterialWarehouseControlPO;
|
||||||
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
||||||
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
||||||
|
import com.mhd.wms.domain.receiptMaterialDetail.entity.ReceiptMaterialDetail;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO;
|
||||||
|
import com.mhd.wms.domain.shelfMaterialDetail.entity.ShelfMaterialDetail;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDetailService;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDetailService;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
||||||
@@ -37,9 +42,13 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
|||||||
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
|
import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
|
||||||
|
import com.mhd.wms.domain.stockReceiptOrder.repository.facade.IStockReceiptOrderService;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
|
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
||||||
@@ -50,6 +59,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -81,12 +91,18 @@ public class StockInOrderDomainService {
|
|||||||
private IMaterialGoodsRuleService materialGoodsRuleService;
|
private IMaterialGoodsRuleService materialGoodsRuleService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMaterialWarehouseControlService materialWarehouseControlService;
|
private IMaterialWarehouseControlService materialWarehouseControlService;
|
||||||
@Autowired
|
@Resource
|
||||||
private SystemServiceFeign systemServiceFeign;
|
private SystemServiceFeign systemServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IShelfMaterialDetailService shelfMaterialDetailService;
|
private IShelfMaterialDetailService shelfMaterialDetailService;
|
||||||
|
@Autowired
|
||||||
|
private IStockReceiptOrderService stockReceiptOrderService;
|
||||||
|
@Autowired
|
||||||
|
private IStockShelfOrderService stockShelfOrderService;
|
||||||
|
@Autowired
|
||||||
|
private IdGenerator idGenerator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询入库单列表
|
* 分页查询入库单列表
|
||||||
@@ -483,6 +499,220 @@ public class StockInOrderDomainService {
|
|||||||
.in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
.in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO) {
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
|
||||||
|
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||||
|
? loginUser.getUserPo().getUserName()
|
||||||
|
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||||
|
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||||
|
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||||
|
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||||
|
.filter(m -> m.getCollectQuantity() != null && m.getCollectQuantity().compareTo(BigDecimal.ZERO) != 0)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) {
|
||||||
|
for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) {
|
||||||
|
BigDecimal collectQuantity = inMaterialDetailDO.getCollectQuantity();
|
||||||
|
Long materialBaseInfoId = inMaterialDetailDO.getMaterialBaseInfoId();
|
||||||
|
Long uniqueId = inMaterialDetailDO.getUniqueId();
|
||||||
|
ReceiptMaterialDetail receiptMaterialDetail = receiptMaterialDetailService.getOne(new QueryWrapper<ReceiptMaterialDetail>().lambda()
|
||||||
|
.eq(ReceiptMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
|
.eq(ReceiptMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ReceiptMaterialDetail::getDelFlag, 1), false);
|
||||||
|
receiptMaterialDetail.setReceiptQuantity(collectQuantity);
|
||||||
|
BigDecimal quantity = receiptMaterialDetail.getQuantity();
|
||||||
|
if (quantity != null && quantity.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
|
receiptMaterialDetail.setReceiptStatus(3);
|
||||||
|
}
|
||||||
|
receiptMaterialDetailService.updateById(receiptMaterialDetail);
|
||||||
|
|
||||||
|
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new QueryWrapper<StockReceiptOrder>().lambda()
|
||||||
|
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||||
|
if (stockReceiptOrder != null) {
|
||||||
|
stockReceiptOrder.setStatus(2);
|
||||||
|
stockReceiptOrder.setReceiptQuantity(stockReceiptOrder.getReceiptQuantity().add(collectQuantity));
|
||||||
|
stockReceiptOrderService.updateById(stockReceiptOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||||
|
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockInOrder::getDelFlag, 1), false);
|
||||||
|
if (stockInOrder != null) {
|
||||||
|
stockInOrder.setStatus(3);
|
||||||
|
stockInOrderService.updateById(stockInOrder);
|
||||||
|
}
|
||||||
|
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||||
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockShelfOrder::getDelFlag, 1));
|
||||||
|
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||||
|
if (list!=null && list.size()>0) {
|
||||||
|
stockShelfOrder = list.get(0);
|
||||||
|
} else {
|
||||||
|
BeanUtils.copyProperties(stockReceiptOrder, stockShelfOrder);
|
||||||
|
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
|
||||||
|
stockShelfOrderService.save(stockShelfOrder);
|
||||||
|
}
|
||||||
|
log.info("生成上架单成功,上架单编号:{}", stockShelfOrder.getShelfOrderNumber());
|
||||||
|
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||||
|
ShelfMaterialDetail one = shelfMaterialDetailService.getOne(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||||
|
.eq(ShelfMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
|
.eq(ShelfMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ShelfMaterialDetail::getLevel, 1)
|
||||||
|
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||||
|
if (one != null) {
|
||||||
|
one.setQuantity(collectQuantity);
|
||||||
|
shelfMaterialDetailService.updateById(one);
|
||||||
|
} else {
|
||||||
|
BeanUtils.copyProperties(inMaterialDetailDO, shelfMaterialDetail);
|
||||||
|
shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||||
|
shelfMaterialDetail.setQuantity(collectQuantity);
|
||||||
|
shelfMaterialDetail.setInUniqueId(uniqueId);
|
||||||
|
shelfMaterialDetail.setReceiptUniqueId(receiptMaterialDetail.getUniqueId());
|
||||||
|
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("生成上架单成功,上架单编号:{},上架单明细编号:{}", stockShelfOrder.getShelfOrderNumber(), shelfMaterialDetail.getShelfOrderNumber());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stockInOrderService.update(null, new UpdateWrapper<StockInOrder>().lambda()
|
||||||
|
.set(StockInOrder::getAuditStatus, stockInOrderDO.getAuditStatus())
|
||||||
|
.in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean shelfEasyMode(StockInOrderDO stockInOrderDO) {
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
|
||||||
|
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||||
|
? loginUser.getUserPo().getUserName()
|
||||||
|
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||||
|
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||||
|
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||||
|
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||||
|
.filter(m -> StringUtils.isNotBlank(m.getShelfJson()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) {
|
||||||
|
for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) {
|
||||||
|
Long materialDetailId1 = inMaterialDetailDO.getMaterialDetailId();
|
||||||
|
Long materialBaseInfoId = inMaterialDetailDO.getMaterialBaseInfoId();
|
||||||
|
Long uniqueId = inMaterialDetailDO.getUniqueId();
|
||||||
|
String shelfJson = inMaterialDetailDO.getShelfJson();
|
||||||
|
List<Map<String, Object>> shelfList = JSON.parseObject(shelfJson, new TypeReference<List<Map<String, Object>>>(){});
|
||||||
|
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||||
|
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockInOrder::getDelFlag, 1), false);
|
||||||
|
if (stockInOrder != null) {
|
||||||
|
stockInOrder.setStatus(4);
|
||||||
|
stockInOrderService.updateById(stockInOrder);
|
||||||
|
}
|
||||||
|
int index=0;
|
||||||
|
for (Map<String, Object> stringObjectMap : shelfList) {
|
||||||
|
BigDecimal shelvesQuantity = (BigDecimal) stringObjectMap.get("shelvesQuantity");
|
||||||
|
String shelfOrderNumber = (String) stringObjectMap.get("shelfOrderNumber");
|
||||||
|
String warehouseCode = (String) stringObjectMap.get("warehouseCode");
|
||||||
|
String warehouseName = (String) stringObjectMap.get("warehouseName");
|
||||||
|
String storageCode = (String) stringObjectMap.get("storageCode");
|
||||||
|
String storageName = (String) stringObjectMap.get("storageName");
|
||||||
|
String storageLocationCode = (String) stringObjectMap.get("storageLocationCode");
|
||||||
|
String storageLocationName = (String) stringObjectMap.get("storageLocationName");
|
||||||
|
Long warehouseId = (Long) stringObjectMap.get("warehouseId");
|
||||||
|
Long storageSectionId = (Long) stringObjectMap.get("storageSectionId");
|
||||||
|
Long storageLocationId = (Long) stringObjectMap.get("storageLocationId");
|
||||||
|
// Integer level = (Integer) stringObjectMap.get("level");
|
||||||
|
|
||||||
|
// 如果 materialDetailId 不为空,则更新上架单明细
|
||||||
|
if (stringObjectMap.containsKey("materialDetailId")) {
|
||||||
|
Long materialDetailId = (Long) stringObjectMap.get("materialDetailId");
|
||||||
|
ShelfMaterialDetail detail = shelfMaterialDetailService.getById(materialDetailId);
|
||||||
|
detail.setShelvesQuantity(shelvesQuantity);
|
||||||
|
detail.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||||
|
detail.setWarehouseId(warehouseId);
|
||||||
|
detail.setStorageSectionId(storageSectionId);
|
||||||
|
detail.setStorageLocationId(storageLocationId);
|
||||||
|
detail.setWarehouseCode(warehouseCode);
|
||||||
|
detail.setWarehouseName(warehouseName);
|
||||||
|
detail.setStorageCode(storageCode);
|
||||||
|
detail.setStorageName(storageName);
|
||||||
|
detail.setStorageLocationCode(storageLocationCode);
|
||||||
|
detail.setStorageLocationName(storageLocationName);
|
||||||
|
shelfMaterialDetailService.updateById(detail);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果 materialDetailId 为空,则创建上架单明细
|
||||||
|
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||||
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockShelfOrder::getDelFlag, 1));
|
||||||
|
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||||
|
if (list!=null && list.size()>0) {
|
||||||
|
stockShelfOrder = list.get(0);
|
||||||
|
stockShelfOrder.setStatus(2);
|
||||||
|
stockShelfOrderService.updateById(stockShelfOrder);
|
||||||
|
} else {
|
||||||
|
throw new RuntimeException("未找到上架单!");
|
||||||
|
}
|
||||||
|
ShelfMaterialDetail one = shelfMaterialDetailService.getOne(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||||
|
.eq(ShelfMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
|
.eq(ShelfMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||||
|
if (one != null) {
|
||||||
|
if (index == 0) {
|
||||||
|
one.setShelvesQuantity(shelvesQuantity);
|
||||||
|
one.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||||
|
one.setWarehouseId(warehouseId);
|
||||||
|
one.setStorageSectionId(storageSectionId);
|
||||||
|
one.setStorageLocationId(storageLocationId);
|
||||||
|
one.setShelfOrderNumber(shelfOrderNumber);
|
||||||
|
one.setWarehouseCode(warehouseCode);
|
||||||
|
one.setWarehouseName(warehouseName);
|
||||||
|
one.setStorageCode(storageCode);
|
||||||
|
one.setStorageName(storageName);
|
||||||
|
one.setStorageLocationCode(storageLocationCode);
|
||||||
|
one.setStorageLocationName(storageLocationName);
|
||||||
|
one.setLevel(1);
|
||||||
|
one.setParentUniqueId(0l);
|
||||||
|
one.setShelvesStatus(3);
|
||||||
|
shelfMaterialDetailService.updateById(one);
|
||||||
|
stringObjectMap.put("materialDetailId", one.getMaterialDetailId());
|
||||||
|
stringObjectMap.put("level",1);
|
||||||
|
} else {
|
||||||
|
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||||
|
BeanUtils.copyProperties(one, shelfMaterialDetail);
|
||||||
|
shelfMaterialDetail.setQuantity(BigDecimal.ZERO);
|
||||||
|
shelfMaterialDetail.setShelvesQuantity(shelvesQuantity);
|
||||||
|
shelfMaterialDetail.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||||
|
shelfMaterialDetail.setShelfOrderNumber(shelfOrderNumber);
|
||||||
|
shelfMaterialDetail.setWarehouseCode(warehouseCode);
|
||||||
|
shelfMaterialDetail.setWarehouseName(warehouseName);
|
||||||
|
shelfMaterialDetail.setStorageCode(storageCode);
|
||||||
|
shelfMaterialDetail.setStorageName(storageName);
|
||||||
|
shelfMaterialDetail.setStorageLocationCode(storageLocationCode);
|
||||||
|
shelfMaterialDetail.setStorageLocationName(storageLocationName);
|
||||||
|
shelfMaterialDetail.setLevel(2);
|
||||||
|
shelfMaterialDetail.setParentUniqueId(one.getUniqueId());
|
||||||
|
shelfMaterialDetail.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
|
shelfMaterialDetail.setInUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
|
shelfMaterialDetail.setReceiptUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
|
shelfMaterialDetail.setShelvesStatus(3);
|
||||||
|
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||||
|
stringObjectMap.put("materialDetailId", shelfMaterialDetail.getMaterialDetailId());
|
||||||
|
stringObjectMap.put("level",2 );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new RuntimeException("未找到上架单明细!");
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
InMaterialDetail inMaterialDetail = materialDetailService.getById(materialDetailId1);
|
||||||
|
inMaterialDetail.setShelfJson(JSON.toJSONString(shelfList));
|
||||||
|
materialDetailService.updateById(inMaterialDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 取消入库单
|
* @description 取消入库单
|
||||||
|
|||||||
+4
@@ -401,4 +401,8 @@ public class InMaterialDetailDTO extends BaseVOEntity {
|
|||||||
private BigDecimal erpPriceGw;
|
private BigDecimal erpPriceGw;
|
||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+20
@@ -192,6 +192,26 @@ public class StockInOrderApi extends BaseController {
|
|||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核入库单
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda简易模式收货")
|
||||||
|
@PostMapping(value = "/receiptEasyMode")
|
||||||
|
public AjaxResult receiptEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||||
|
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||||
|
return AjaxResult.success(stockInOrderApplicationService.receiptEasyMode(stockInOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核入库单
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda简易模式上架")
|
||||||
|
@PostMapping(value = "/shelfEasyMode")
|
||||||
|
public AjaxResult shelfEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||||
|
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||||
|
return AjaxResult.success(stockInOrderApplicationService.shelfEasyMode(stockInOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* oms下发单明细保存
|
* oms下发单明细保存
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user