bug修改;
This commit is contained in:
+8
@@ -842,6 +842,14 @@ public class StockOutOrderApplicationService {
|
||||
return stockOutOrderDomainService.auditState(stockOutOrderDO);
|
||||
}
|
||||
|
||||
public Boolean cancelAuditState(StockOutOrderDO stockOutOrderDO){
|
||||
return stockOutOrderDomainService.cancelAuditState(stockOutOrderDO);
|
||||
}
|
||||
|
||||
public Boolean cancelExecution(StockOutOrderDO stockOutOrderDO){
|
||||
return stockOutOrderDomainService.cancelExecution(stockOutOrderDO);
|
||||
}
|
||||
|
||||
public Boolean execution(String outOrderNumber){
|
||||
//Boolean execution = stockOutOrderDomainService.execution(outOrderNumber);
|
||||
StockOutOrderDO stockOutOrderDO = new StockOutOrderDO();
|
||||
|
||||
+97
@@ -604,6 +604,103 @@ public class StockOutOrderDomainService {
|
||||
.in(StockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds()));
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean cancelAuditState(StockOutOrderDO stockOutOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||
return stockOutOrderService.update(null, new UpdateWrapper<StockOutOrder>().lambda()
|
||||
.set(StockOutOrder::getStatus, 1)
|
||||
.set(StockOutOrder::getAuditStatus, 1)
|
||||
.set(StockOutOrder::getAuditRemark, null)
|
||||
.set(StockOutOrder::getAuditBy, null)
|
||||
.set(StockOutOrder::getAuditByName, null)
|
||||
.set(StockOutOrder::getAuditTime, null)
|
||||
.set(StockOutOrder::getUpdateBy, loginUser.getUserid())
|
||||
.set(StockOutOrder::getUpdateByName, userRealName)
|
||||
.set(StockOutOrder::getUpdateTime, new Date())
|
||||
.in(StockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds()));
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean cancelExecution(StockOutOrderDO stockOutOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||
|
||||
List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
|
||||
for (Long outOrderId : outOrderIds) {
|
||||
StockOutOrder stockOutOrder = stockOutOrderService.getById(outOrderId);
|
||||
if (stockOutOrder == null) {
|
||||
throw new ServiceException("出库单不存在");
|
||||
}
|
||||
String outOrderNumber = stockOutOrder.getOutOrderNumber();
|
||||
|
||||
//逻辑删除拣货单
|
||||
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
|
||||
.eq(PickingOrder::getOrderNumber, outOrderNumber)
|
||||
.eq(PickingOrder::getDelFlag, 1), false);
|
||||
if (pickingOrder != null) {
|
||||
Integer status = pickingOrder.getStatus();
|
||||
String pickingOrderNumber = pickingOrder.getPickingOrderNumber();
|
||||
if (status!=1) {
|
||||
throw new ServiceException("拣货单[" + pickingOrderNumber + "]已拣货,无法取消执行");
|
||||
} else {
|
||||
List<PickingMaterialDetail> list = pickingMaterialDetailService.list(new QueryWrapper<PickingMaterialDetail>().lambda()
|
||||
.eq(PickingMaterialDetail::getPickingOrderNumber, pickingOrderNumber)
|
||||
.eq(PickingMaterialDetail::getDelFlag, 1));
|
||||
if (list != null && list.size() > 0) {
|
||||
for (PickingMaterialDetail pickingMaterialDetail : list) {
|
||||
pickingMaterialDetail.setDelFlag(2);
|
||||
pickingMaterialDetailService.updateById(pickingMaterialDetail);
|
||||
}
|
||||
}
|
||||
pickingOrder.setDelFlag(2);
|
||||
pickingOrderService.updateById(pickingOrder);
|
||||
}
|
||||
}
|
||||
|
||||
//还原分配库存
|
||||
List<OutMaterialDetail> list = outMaterialDetailService.list(new QueryWrapper<OutMaterialDetail>().lambda()
|
||||
.eq(OutMaterialDetail::getOutOrderNumber, outOrderNumber)
|
||||
.eq(OutMaterialDetail::getDelFlag, 1));
|
||||
for (OutMaterialDetail materialDetail : list) {
|
||||
//还原库存
|
||||
BigDecimal allocationQuantity = materialDetail.getAllocationQuantity();
|
||||
Long materialInventoryId = materialDetail.getMaterialInventoryId();
|
||||
MaterialInventory materialInventory = materialInventoryMapper.selectById(materialInventoryId);
|
||||
if (materialInventory == null) {
|
||||
throw new ServiceException("库存信息不存在");
|
||||
}
|
||||
materialInventory.setAllocationQuantity(materialInventory.getAllocationQuantity().add(allocationQuantity));
|
||||
materialInventory.setFreezeQuantity(materialInventory.getFreezeQuantity().subtract(allocationQuantity));
|
||||
materialInventoryMapper.updateById(materialInventory);
|
||||
//逻辑删除库存调整记录
|
||||
Long uniqueId = materialDetail.getUniqueId();
|
||||
String relateNo = outOrderNumber+"#"+uniqueId;
|
||||
inventoryAdjustmentRecordService.update(new InventoryAdjustmentRecord(), new LambdaUpdateWrapper<InventoryAdjustmentRecord>()
|
||||
.set(InventoryAdjustmentRecord::getDelFlag, 2)
|
||||
.eq(InventoryAdjustmentRecord::getRelateNo, relateNo));
|
||||
}
|
||||
}
|
||||
|
||||
return stockOutOrderService.update(null, new UpdateWrapper<StockOutOrder>().lambda()
|
||||
.set(StockOutOrder::getStatus, 1)
|
||||
.set(StockOutOrder::getAuditStatus, 1)
|
||||
.set(StockOutOrder::getAuditRemark, null)
|
||||
.set(StockOutOrder::getAuditBy, null)
|
||||
.set(StockOutOrder::getAuditByName, null)
|
||||
.set(StockOutOrder::getAuditTime, null)
|
||||
.set(StockOutOrder::getUpdateBy, loginUser.getUserid())
|
||||
.set(StockOutOrder::getUpdateByName, userRealName)
|
||||
.set(StockOutOrder::getUpdateTime, new Date())
|
||||
.in(StockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds()));
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean execution(String outOrderNumber) {
|
||||
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
|
||||
|
||||
-9
@@ -96,15 +96,6 @@ public class MaterialInventoryApi extends BaseController {
|
||||
startPage();
|
||||
// 使用带批次属性的查询方法,批次属性值从库存表中获取
|
||||
List<MaterialInventoryPO> list = materialInventoryApplicationService.queryListWithBatchAttributes(materialInventoryDO);
|
||||
// 按更新时间倒序排序;update_time 为空的数据放最后
|
||||
list.sort((o1, o2) -> {
|
||||
Date t1 = o1.getUpdateTime();
|
||||
Date t2 = o2.getUpdateTime();
|
||||
if (t1 == null && t2 == null) return 0;
|
||||
if (t1 == null) return 1;
|
||||
if (t2 == null) return -1;
|
||||
return t2.compareTo(t1); // desc
|
||||
});
|
||||
TableDataInfo tableDataInfo = getDataTable(list);
|
||||
// 如果查询结果为空,抛出异常提示用户该物料在库存中不存在
|
||||
// if (tableDataInfo.getTotal() == 0) {
|
||||
|
||||
+20
@@ -217,6 +217,26 @@ public class StockOutOrderApi extends BaseController {
|
||||
return AjaxResult.success(stockOutOrderApplicationService.auditState(stockOutOrderDO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核出库单
|
||||
*/
|
||||
@ApiOperation("审核出库单")
|
||||
@PostMapping(value = "/cancelAuditState")
|
||||
public AjaxResult cancelAuditState(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
|
||||
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
|
||||
return AjaxResult.success(stockOutOrderApplicationService.cancelAuditState(stockOutOrderDO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核出库单
|
||||
*/
|
||||
@ApiOperation("审核出库单")
|
||||
@PostMapping(value = "/cancelExecution")
|
||||
public AjaxResult cancelExecution(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
|
||||
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
|
||||
return AjaxResult.success(stockOutOrderApplicationService.cancelExecution(stockOutOrderDO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核出库单
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user