类型转换异常

This commit is contained in:
王奎兴
2026-07-14 13:52:36 +08:00
parent c536d2c5c6
commit c3b4923ce9
7 changed files with 179 additions and 0 deletions
@@ -1141,6 +1141,17 @@ public class StockOutOrderApplicationService {
return b;
}
public Boolean adjustPicking(StockOutOrderDO stockOutOrderDO){
Boolean b = stockOutOrderDomainService.adjustPicking(stockOutOrderDO);
return b;
}
public Boolean checkUpload(StockOutOrderDO stockOutOrderDO){
Boolean b = stockOutOrderDomainService.checkUpload(stockOutOrderDO);
return b;
}
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
Boolean b = stockOutOrderDomainService.genPickingOrderByOms(stockOutOrderDO);
// List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
@@ -528,4 +528,17 @@ public class OutMaterialDetail extends BaseVOEntity {
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
//仓码简易模式
@ApiModelProperty("出库重量")
@Excel(name = "出库重量")
private BigDecimal outWeight;
@ApiModelProperty("出库体积")
@Excel(name = "出库体积")
private BigDecimal outVolume;
@ApiModelProperty("出库数量")
@Excel(name = "出库数量")
private BigDecimal outQuantity;
}
@@ -568,4 +568,16 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO {
private String whNoGw;
private String seatNoGw;
private String khdm;
//仓码简易模式
@ApiModelProperty("出库重量")
@Excel(name = "出库重量")
private BigDecimal outWeight;
@ApiModelProperty("出库体积")
@Excel(name = "出库体积")
private BigDecimal outVolume;
@ApiModelProperty("出库数量")
@Excel(name = "出库数量")
private BigDecimal outQuantity;
}
@@ -520,4 +520,12 @@ public class OutMaterialDetailDO extends BaseVOEntity {
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
//仓码简易模式
@ApiModelProperty("出库重量")
@Excel(name = "出库重量")
private BigDecimal outWeight;
@ApiModelProperty("出库体积")
@Excel(name = "出库体积")
private BigDecimal outVolume;
}
@@ -23,8 +23,10 @@ import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
import com.mhd.wms.domain.handoverTaskOrder.service.HandoverTaskOrderDomainService;
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
@@ -113,6 +115,8 @@ public class StockOutOrderDomainService {
@Autowired
private IHandoverTaskOrderService handoverTaskOrderService;
@Autowired
private HandoverTaskOrderDomainService handoverTaskOrderDomainService;
@Autowired
private IOutOrderAbnormalService outOrderAbnormalService;
@Autowired
private PickingOrderDomainService pickingOrderDomainService;
@@ -867,6 +871,102 @@ public class StockOutOrderDomainService {
return inserted;
}
@Transactional(rollbackFor = Exception.class)
public Boolean adjustPicking(StockOutOrderDO stockOutOrderDO){
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
.eq(PickingOrder::getOrderNumber, outOrderNumber)
.eq(PickingOrder::getDelFlag, 1), false);
if (pickingOrder == null) {
throw new RuntimeException("拣货单不存在!");
}
pickingOrder.setStatus(2);
pickingOrderService.updateById(pickingOrder);
List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
if (CollectionUtils.isEmpty(materialDetailList)) {
throw new RuntimeException("出库单明细不存在!");
}
List<OutMaterialDetailDO> pickingMaterialDetailList = materialDetailList.stream()
.filter(m -> m.getOutWeight() != null || m.getOutVolume() != null)
.collect(Collectors.toList());
if (pickingMaterialDetailList != null && pickingMaterialDetailList.size() > 0) {
for (OutMaterialDetailDO outMaterialDetailDO : pickingMaterialDetailList) {
Long uniqueId = outMaterialDetailDO.getUniqueId();
BigDecimal outWeight = outMaterialDetailDO.getOutWeight();
BigDecimal outVolume = outMaterialDetailDO.getOutVolume();
PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper<PickingMaterialDetail>().lambda()
.eq(PickingMaterialDetail::getOutUniqueId, uniqueId)
.eq(PickingMaterialDetail::getDelFlag, 1), false);
if (pickingMaterialDetail != null) {
pickingMaterialDetail.setWeightLimit(outWeight);
pickingMaterialDetail.setTotalNetWeight(outWeight);
pickingMaterialDetail.setTotalGrossWeight(outVolume);
pickingMaterialDetail.setVolumeLimit(outVolume);
pickingMaterialDetail.setTotalVolume(outVolume);
pickingMaterialDetail.setPickingQuantity(pickingMaterialDetail.getQuantity());
pickingMaterialDetail.setAlreadyPickingQuantity(pickingMaterialDetail.getQuantity());
pickingMaterialDetailService.updateById(pickingMaterialDetail);
}
}
}
return Boolean.TRUE;
}
@Transactional(rollbackFor = Exception.class)
public Boolean checkUpload(StockOutOrderDO stockOutOrderDO){
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
.eq(StockOutOrder::getDelFlag, 1), false);
if (stockOutOrder == null) {
throw new RuntimeException("出库单不存在!");
}
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
.eq(PickingOrder::getOrderNumber, outOrderNumber)
.eq(PickingOrder::getDelFlag, 1), false);
if (pickingOrder == null) {
throw new RuntimeException("拣货单不存在!");
}
PickingOrderDO pickingOrderDO = new PickingOrderDO();
pickingOrderDO.setType(1);
pickingOrderDO.setPickingOrderId(pickingOrder.getPickingOrderId());
pickingOrderDomainService.completePicking(pickingOrderDO);
//复核
List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
if (materialDetailList != null && materialDetailList.size() > 0) {
for (OutMaterialDetailDO outMaterialDetailDO : materialDetailList) {
Long uniqueId = outMaterialDetailDO.getUniqueId();
PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper<PickingMaterialDetail>().lambda()
.eq(PickingMaterialDetail::getOutUniqueId, uniqueId)
.eq(PickingMaterialDetail::getDelFlag, 1), false);
if (pickingMaterialDetail != null) {
outMaterialDetailDO.setActualQuantity(pickingMaterialDetail.getPickingQuantity());
outMaterialDetailDO.setCheckArea(pickingMaterialDetail.getTotalArea());
outMaterialDetailDO.setCheckVolume(pickingMaterialDetail.getTotalVolume());
outMaterialDetailDO.setCheckNetWeight(pickingMaterialDetail.getTotalNetWeight());
outMaterialDetailDO.setCheckGrossWeight(pickingMaterialDetail.getTotalGrossWeight());
}
}
}
stockOutOrderDO.setMaterialDetailList(materialDetailList);
batchCheck(stockOutOrderDO);
checkConfirm(stockOutOrderDO);
//交接
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getOne(new LambdaQueryWrapper<HandoverTaskOrder>()
.eq(HandoverTaskOrder::getOrderNumber, outOrderNumber)
.eq(HandoverTaskOrder::getDelFlag, 1));
if (handoverTaskOrder != null) {
HandoverTaskOrderDO handoverTaskOrderDO = new HandoverTaskOrderDO();
List<Long> handoverTaskOrderId = new ArrayList<>();
handoverTaskOrderId.add(handoverTaskOrder.getHandoverTaskOrderId());
handoverTaskOrderDO.setHandoverTaskOrderIds(handoverTaskOrderId);
handoverTaskOrderDomainService.completeHandover(handoverTaskOrderDO);
}
return Boolean.TRUE;
}
@Transactional(rollbackFor = Exception.class)
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
List<StockOutOrder> stockOutOrderList = stockOutOrderService.list(new QueryWrapper<StockOutOrder>().lambda()
@@ -506,4 +506,16 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
private String bondInvtNoGw;
private String whNoGw;
private String seatNoGw;
//仓码简易模式
@ApiModelProperty("出库重量")
@Excel(name = "出库重量")
private BigDecimal outWeight;
@ApiModelProperty("出库体积")
@Excel(name = "出库体积")
private BigDecimal outVolume;
@ApiModelProperty("出库数量")
@Excel(name = "出库数量")
private BigDecimal outQuantity;
}
@@ -347,6 +347,29 @@ public class StockOutOrderApi extends BaseController {
return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO));
}
/**
* 生成拣货单
*/
@ApiOperation("生成拣货单")
@PostMapping("/adjustPicking")
public AjaxResult adjustPicking(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
return toAjax(stockOutOrderApplicationService.adjustPicking(stockOutOrderDO));
}
/**
* 生成拣货单
*/
@ApiOperation("生成拣货单")
@PostMapping("/checkUpload")
public AjaxResult checkUpload(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
return toAjax(stockOutOrderApplicationService.checkUpload(stockOutOrderDO));
}
/**
* 生成拣货单
*/