|
@ -98,7 +98,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService |
|
|
private WarehouseInventoryInquiryDetailMapper inventoryInquiryDetailMapper; |
|
|
private WarehouseInventoryInquiryDetailMapper inventoryInquiryDetailMapper; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private OutsourceRequisitionMapper requisitionMapper; |
|
|
private OutsourceRequisitionMapper outRequisitionMapper; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private BaseEmpRequisiteOrderMapper empRequisiteOrderMapper; |
|
|
private BaseEmpRequisiteOrderMapper empRequisiteOrderMapper; |
|
@ -1284,91 +1284,89 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService |
|
|
if (warehouseOutOrder == null) { |
|
|
if (warehouseOutOrder == null) { |
|
|
throw new BusinessException("更新出库单信息失败:缺少必要参数"); |
|
|
throw new BusinessException("更新出库单信息失败:缺少必要参数"); |
|
|
} |
|
|
} |
|
|
|
|
|
WarehouseOutOrder oldOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderByCode(warehouseOutOrder.getOutOrderCode()); |
|
|
List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList(); |
|
|
List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList(); |
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){ |
|
|
if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){ |
|
|
log.warn("保存委外单出库,物料列表信息为空:{}",warehouseOutOrder); |
|
|
|
|
|
throw new BusinessException("出库单详情数据为空"); |
|
|
throw new BusinessException("出库单详情数据为空"); |
|
|
}else { |
|
|
} |
|
|
|
|
|
// 检查outOrderSum是否含有null值
|
|
|
|
|
|
List<WarehouseOutOrderDetail> filtList = warehouseOutOrderDetailList.stream() |
|
|
|
|
|
.filter(item ->item.getActualOutOrderSum() != null).collect(Collectors.toList()); |
|
|
|
|
|
if (filtList.size()==0) { |
|
|
|
|
|
throw new BusinessException("实际出库数不能全为空,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
// 检查总出库数是否超出申请数
|
|
|
|
|
|
for (WarehouseOutOrderDetail detail: filtList) { |
|
|
|
|
|
int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0); |
|
|
|
|
|
int allOutNum = hasOutNum + detail.getActualOutOrderSum(); |
|
|
|
|
|
int applyNum = Optional.ofNullable(detail.getApplyOutOrderSum()).orElse(0); |
|
|
|
|
|
if(allOutNum > applyNum){ |
|
|
|
|
|
throw new BusinessException("物料"+detail.getMaterialNo()+"总出库数超出申请出库数,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
int updateRows = 0; |
|
|
int updateRows = 0; |
|
|
for (WarehouseOutOrderDetail warehouseOutOrderDetail : warehouseOutOrderDetailList) { |
|
|
for (WarehouseOutOrderDetail detail : filtList) { |
|
|
warehouseOutOrderDetail.setUpdateBy(loginName); |
|
|
detail.setUpdateBy(loginName); |
|
|
warehouseOutOrderDetail.setUpdateTime(DateUtils.getNowDate()); |
|
|
detail.setUpdateTime(DateUtils.getNowDate()); |
|
|
warehouseOutOrderDetail.setRemark(warehouseOutOrder.getRemark()); |
|
|
detail.setRemark(warehouseOutOrder.getRemark()); |
|
|
//设置已出库数
|
|
|
//设置已出库数
|
|
|
warehouseOutOrderDetail.setHasOutOrderSum(warehouseOutOrderDetail.getActualOutOrderSum()); |
|
|
int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0); |
|
|
//设置仓库员
|
|
|
hasOutNum = hasOutNum + detail.getActualOutOrderSum(); |
|
|
warehouseOutOrderDetail.setWarehouseName(loginName); |
|
|
detail.setHasOutOrderSum(hasOutNum); |
|
|
//更新数据库记录
|
|
|
detail.setWarehouseName(loginName); |
|
|
updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(warehouseOutOrderDetail); |
|
|
updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(detail); |
|
|
if (updateRows <= 0){ |
|
|
if (updateRows <= 0){ |
|
|
throw new BusinessException("更新出库单详情数据失败"); |
|
|
throw new BusinessException("更新出库单详情数据失败"); |
|
|
}else { |
|
|
} |
|
|
//更新库存查询记录,新增库存历史
|
|
|
//更新库存查询记录,新增库存历史
|
|
|
String materialNo = warehouseOutOrderDetail.getMaterialNo(); |
|
|
String materialNo = detail.getMaterialNo(); |
|
|
WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); |
|
|
WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); |
|
|
if(inventoryInquiry == null){ |
|
|
if(inventoryInquiry == null){ |
|
|
throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据"); |
|
|
throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据"); |
|
|
}else{ |
|
|
} |
|
|
int inquiryUpdateResult = updateWarehouseInventoryInquiry(warehouseOutOrder,warehouseOutOrderDetail,inventoryInquiry); |
|
|
int inquiryUpdateResult = updateWarehouseInventoryInquiry(oldOutOrder,detail,inventoryInquiry); |
|
|
if (inquiryUpdateResult <= 0){ |
|
|
if (inquiryUpdateResult <= 0){ |
|
|
throw new BusinessException("更新库存查询数据失败"); |
|
|
throw new BusinessException("更新库存查询数据失败"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
warehouseOutOrder.setUpdateBy(loginName); |
|
|
|
|
|
warehouseOutOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
//表明已出库
|
|
|
|
|
|
warehouseOutOrder.setWarehouseOutStatus("7"); |
|
|
|
|
|
//设置出库时间
|
|
|
|
|
|
warehouseOutOrder.setOutOrderTime(DateUtils.getNowDate()); |
|
|
|
|
|
//设置仓库员
|
|
|
|
|
|
warehouseOutOrder.setWarehouseName(loginName); |
|
|
|
|
|
//计算出库单主表的出库数
|
|
|
//计算出库单主表的出库数
|
|
|
Integer outOrderSum = 0; |
|
|
Integer outOrderSum = oldOutOrder.getOutOrderSum() != null ? oldOutOrder.getOutOrderSum() : 0; |
|
|
|
|
|
|
|
|
// 检查outOrderSum是否含有null值
|
|
|
|
|
|
boolean hasOutOrderSumNull = warehouseOutOrderDetailList.stream() |
|
|
|
|
|
.anyMatch(item -> item.getActualOutOrderSum() == null); |
|
|
|
|
|
|
|
|
|
|
|
if (hasOutOrderSumNull) { |
|
|
|
|
|
throw new BusinessException("存在实际出库数为空,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查outOrderSum是否含有null值
|
|
|
|
|
|
boolean hasOutOrderSumOver = warehouseOutOrderDetailList.stream() |
|
|
|
|
|
.anyMatch(item -> item.getActualOutOrderSum() > item.getApplyOutOrderSum()); |
|
|
|
|
|
|
|
|
|
|
|
if (hasOutOrderSumOver) { |
|
|
|
|
|
throw new BusinessException("存在实际出库数大于申请出库数,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
// 计算各个字段的总和
|
|
|
// 计算各个字段的总和
|
|
|
outOrderSum = warehouseOutOrderDetailList.stream() |
|
|
Integer detailOutOrderSum = filtList.stream() |
|
|
.mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum) |
|
|
.mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum) |
|
|
.sum(); |
|
|
.sum(); |
|
|
//设置出库单主表的出库数
|
|
|
outOrderSum = outOrderSum + detailOutOrderSum; |
|
|
warehouseOutOrder.setOutOrderSum(outOrderSum); |
|
|
|
|
|
|
|
|
|
|
|
//更新委外领料单
|
|
|
//更新委外领料单
|
|
|
OutsourceRequisitionVO temp = new OutsourceRequisitionVO(); |
|
|
OutsourceRequisitionVO temp = new OutsourceRequisitionVO(); |
|
|
temp.setOutsourceRequisitionNo(warehouseOutOrder.getRelatedOrderCode()); |
|
|
temp.setOutsourceRequisitionNo(oldOutOrder.getRelatedOrderCode()); |
|
|
List<OutsourceRequisitionVO> outRequisitions = requisitionMapper.selectOutsourceRequisitionList(temp); |
|
|
List<OutsourceRequisitionVO> outsourceRequisitions = outRequisitionMapper.selectOutsourceRequisitionList(temp); |
|
|
OutsourceRequisitionVO requisitionVO = outRequisitions.get(0); |
|
|
OutsourceRequisitionVO outRequisition = outsourceRequisitions.get(0); |
|
|
requisitionVO.setRequisitionStatus("2"); |
|
|
|
|
|
requisitionVO.setUpdateTime(DateUtils.getNowDate()); |
|
|
//设置出库单主表的出库数
|
|
|
requisitionVO.setUpdateBy(ShiroUtils.getLoginName()); |
|
|
oldOutOrder.setOutOrderSum(outOrderSum); |
|
|
int updateResult = requisitionMapper.updateOutsourceRequisition(requisitionVO); |
|
|
if(outOrderSum == oldOutOrder.getEnterpriseSum()){ |
|
|
|
|
|
oldOutOrder.setWarehouseOutStatus("7");//已出库
|
|
|
|
|
|
outRequisition.setRequisitionStatus("2");//全部领料
|
|
|
|
|
|
}else if(outOrderSum < oldOutOrder.getEnterpriseSum()){ |
|
|
|
|
|
oldOutOrder.setWarehouseOutStatus("5");//部分出库
|
|
|
|
|
|
outRequisition.setRequisitionStatus("1");//部分领料
|
|
|
|
|
|
} |
|
|
|
|
|
outRequisition.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
outRequisition.setUpdateBy(ShiroUtils.getLoginName()); |
|
|
|
|
|
int updateResult = outRequisitionMapper.updateOutsourceRequisition(outRequisition); |
|
|
if(updateResult<=0){ |
|
|
if(updateResult<=0){ |
|
|
throw new BusinessException("更新委外领料单失败!"); |
|
|
throw new BusinessException("更新委外领料单失败!"); |
|
|
} |
|
|
} |
|
|
|
|
|
oldOutOrder.setUpdateBy(loginName); |
|
|
return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); |
|
|
oldOutOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
oldOutOrder.setOutOrderTime(DateUtils.getNowDate()); |
|
|
|
|
|
oldOutOrder.setWarehouseName(loginName); |
|
|
|
|
|
return warehouseOutOrderMapper.updateWarehouseOutOrder(oldOutOrder); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 请购单-出库
|
|
|
// 员工领料单-出库
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Override |
|
|
@Override |
|
|
public int updateRequisitionOutWarehouse(WarehouseOutOrder warehouseOutOrder) { |
|
|
public int updateRequisitionOutWarehouse(WarehouseOutOrder warehouseOutOrder) { |
|
@ -1377,87 +1375,86 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService |
|
|
if (warehouseOutOrder == null) { |
|
|
if (warehouseOutOrder == null) { |
|
|
throw new BusinessException("更新出库单信息失败:缺少必要参数"); |
|
|
throw new BusinessException("更新出库单信息失败:缺少必要参数"); |
|
|
} |
|
|
} |
|
|
|
|
|
WarehouseOutOrder oldOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderByCode(warehouseOutOrder.getOutOrderCode()); |
|
|
List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList(); |
|
|
List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList(); |
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){ |
|
|
if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){ |
|
|
log.warn("保存请购单出库,物料列表信息为空:{}",warehouseOutOrder); |
|
|
|
|
|
throw new BusinessException("出库单详情数据为空"); |
|
|
throw new BusinessException("出库单详情数据为空"); |
|
|
}else { |
|
|
} |
|
|
|
|
|
// 检查outOrderSum是否含有null值
|
|
|
|
|
|
List<WarehouseOutOrderDetail> filtList = warehouseOutOrderDetailList.stream() |
|
|
|
|
|
.filter(item ->item.getActualOutOrderSum() != null).collect(Collectors.toList()); |
|
|
|
|
|
if (filtList.size()==0) { |
|
|
|
|
|
throw new BusinessException("实际出库数不能全为空,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
// 检查总出库数是否超出申请数
|
|
|
|
|
|
for (WarehouseOutOrderDetail detail: filtList) { |
|
|
|
|
|
int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0); |
|
|
|
|
|
int allOutNum = hasOutNum + detail.getActualOutOrderSum(); |
|
|
|
|
|
int applyNum = Optional.ofNullable(detail.getApplyOutOrderSum()).orElse(0); |
|
|
|
|
|
if(allOutNum > applyNum){ |
|
|
|
|
|
throw new BusinessException("物料"+detail.getMaterialNo()+"总出库数超出申请出库数,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
int updateRows = 0; |
|
|
int updateRows = 0; |
|
|
for (WarehouseOutOrderDetail warehouseOutOrderDetail : warehouseOutOrderDetailList) { |
|
|
for (WarehouseOutOrderDetail detail : filtList) { |
|
|
warehouseOutOrderDetail.setUpdateBy(loginName); |
|
|
detail.setUpdateBy(loginName); |
|
|
warehouseOutOrderDetail.setUpdateTime(DateUtils.getNowDate()); |
|
|
detail.setUpdateTime(DateUtils.getNowDate()); |
|
|
warehouseOutOrderDetail.setRemark(warehouseOutOrder.getRemark()); |
|
|
detail.setRemark(warehouseOutOrder.getRemark()); |
|
|
//设置已出库数
|
|
|
//设置已出库数
|
|
|
warehouseOutOrderDetail.setHasOutOrderSum(warehouseOutOrderDetail.getActualOutOrderSum()); |
|
|
int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0); |
|
|
//设置仓库员
|
|
|
hasOutNum = hasOutNum + detail.getActualOutOrderSum(); |
|
|
warehouseOutOrderDetail.setWarehouseName(loginName); |
|
|
detail.setHasOutOrderSum(hasOutNum); |
|
|
//更新数据库记录
|
|
|
detail.setWarehouseName(loginName); |
|
|
updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(warehouseOutOrderDetail); |
|
|
updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(detail); |
|
|
if (updateRows <= 0){ |
|
|
if (updateRows <= 0){ |
|
|
throw new BusinessException("更新出库单详情数据失败"); |
|
|
throw new BusinessException("更新出库单详情数据失败"); |
|
|
}else { |
|
|
} |
|
|
//更新库存查询记录,新增库存历史
|
|
|
//更新库存查询记录,新增库存历史
|
|
|
String materialNo = warehouseOutOrderDetail.getMaterialNo(); |
|
|
String materialNo = detail.getMaterialNo(); |
|
|
WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); |
|
|
WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); |
|
|
if(inventoryInquiry == null){ |
|
|
if(inventoryInquiry == null){ |
|
|
throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据"); |
|
|
throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据"); |
|
|
}else{ |
|
|
} |
|
|
int inquiryUpdateResult = updateWarehouseInventoryInquiry(warehouseOutOrder,warehouseOutOrderDetail,inventoryInquiry); |
|
|
int inquiryUpdateResult = updateWarehouseInventoryInquiry(oldOutOrder,detail,inventoryInquiry); |
|
|
if (inquiryUpdateResult <= 0){ |
|
|
if (inquiryUpdateResult <= 0){ |
|
|
throw new BusinessException("更新库存查询数据失败"); |
|
|
throw new BusinessException("更新库存查询数据失败"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
warehouseOutOrder.setUpdateBy(loginName); |
|
|
|
|
|
warehouseOutOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
//表明已出库
|
|
|
|
|
|
warehouseOutOrder.setWarehouseOutStatus("7"); |
|
|
|
|
|
//设置出库时间
|
|
|
|
|
|
warehouseOutOrder.setOutOrderTime(DateUtils.getNowDate()); |
|
|
|
|
|
//设置仓库员
|
|
|
|
|
|
warehouseOutOrder.setWarehouseName(loginName); |
|
|
|
|
|
//计算出库单主表的出库数
|
|
|
//计算出库单主表的出库数
|
|
|
Integer outOrderSum = 0; |
|
|
Integer outOrderSum = oldOutOrder.getOutOrderSum() != null ? oldOutOrder.getOutOrderSum() : 0; |
|
|
|
|
|
|
|
|
// 检查outOrderSum是否含有null值
|
|
|
|
|
|
boolean hasOutOrderSumNull = warehouseOutOrderDetailList.stream() |
|
|
|
|
|
.anyMatch(item -> item.getActualOutOrderSum() == null); |
|
|
|
|
|
|
|
|
|
|
|
if (hasOutOrderSumNull) { |
|
|
|
|
|
throw new BusinessException("存在实际出库数为空,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 检查outOrderSum是否含有null值
|
|
|
|
|
|
boolean hasOutOrderSumOver = warehouseOutOrderDetailList.stream() |
|
|
|
|
|
.anyMatch(item -> item.getActualOutOrderSum() > item.getApplyOutOrderSum()); |
|
|
|
|
|
|
|
|
|
|
|
if (hasOutOrderSumOver) { |
|
|
|
|
|
throw new BusinessException("存在实际出库数大于申请出库数,请检查!"); |
|
|
|
|
|
} |
|
|
|
|
|
// 计算各个字段的总和
|
|
|
// 计算各个字段的总和
|
|
|
outOrderSum = warehouseOutOrderDetailList.stream() |
|
|
Integer detailOutOrderSum = filtList.stream() |
|
|
.mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum) |
|
|
.mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum) |
|
|
.sum(); |
|
|
.sum(); |
|
|
//设置出库单主表的出库数
|
|
|
outOrderSum = outOrderSum + detailOutOrderSum; |
|
|
warehouseOutOrder.setOutOrderSum(outOrderSum); |
|
|
|
|
|
|
|
|
|
|
|
//更新员工领料单
|
|
|
//更新员工领料单
|
|
|
BaseEmpRequisiteOrderVO temp = new BaseEmpRequisiteOrderVO(); |
|
|
BaseEmpRequisiteOrderVO temp = new BaseEmpRequisiteOrderVO(); |
|
|
temp.setRequisitieCode(warehouseOutOrder.getRelatedOrderCode()); |
|
|
temp.setRequisitieCode(oldOutOrder.getRelatedOrderCode()); |
|
|
List<BaseEmpRequisiteOrderVO> empRequisiteOrderVOS = empRequisiteOrderMapper.selectBaseEmpRequisiteOrderList(temp); |
|
|
List<BaseEmpRequisiteOrderVO> empRequisiteOrderVOS = empRequisiteOrderMapper.selectBaseEmpRequisiteOrderList(temp); |
|
|
BaseEmpRequisiteOrderVO requisitionVO = empRequisiteOrderVOS.get(0); |
|
|
BaseEmpRequisiteOrderVO requisitionVO = empRequisiteOrderVOS.get(0); |
|
|
requisitionVO.setRequisitieStatus("2"); |
|
|
|
|
|
|
|
|
//设置出库单主表的出库数
|
|
|
|
|
|
oldOutOrder.setOutOrderSum(outOrderSum); |
|
|
|
|
|
if(outOrderSum == oldOutOrder.getEnterpriseSum()){ |
|
|
|
|
|
oldOutOrder.setWarehouseOutStatus("7");//已出库
|
|
|
|
|
|
requisitionVO.setRequisitieStatus("2");//全部领料
|
|
|
|
|
|
}else if(outOrderSum < oldOutOrder.getEnterpriseSum()){ |
|
|
|
|
|
oldOutOrder.setWarehouseOutStatus("5");//部分出库
|
|
|
|
|
|
requisitionVO.setRequisitieStatus("1");//部分领料
|
|
|
|
|
|
} |
|
|
requisitionVO.setUpdateTime(DateUtils.getNowDate()); |
|
|
requisitionVO.setUpdateTime(DateUtils.getNowDate()); |
|
|
requisitionVO.setUpdateBy(ShiroUtils.getLoginName()); |
|
|
requisitionVO.setUpdateBy(ShiroUtils.getLoginName()); |
|
|
int updateResult = empRequisiteOrderMapper.updateBaseEmpRequisiteOrder(requisitionVO); |
|
|
int updateResult = empRequisiteOrderMapper.updateBaseEmpRequisiteOrder(requisitionVO); |
|
|
if(updateResult<=0){ |
|
|
if(updateResult<=0){ |
|
|
throw new BusinessException("更新员工领料单失败!"); |
|
|
throw new BusinessException("更新员工领料单失败!"); |
|
|
} |
|
|
} |
|
|
return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); |
|
|
oldOutOrder.setUpdateBy(loginName); |
|
|
|
|
|
oldOutOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
|
|
oldOutOrder.setOutOrderTime(DateUtils.getNowDate()); |
|
|
|
|
|
oldOutOrder.setWarehouseName(loginName); |
|
|
|
|
|
return warehouseOutOrderMapper.updateWarehouseOutOrder(oldOutOrder); |
|
|
} |
|
|
} |
|
|
//新增出库单明细(员工领料)
|
|
|
//新增出库单明细(员工领料)
|
|
|
private void CreateOutOrderDetailByRequisiteOrderChildList(BaseEmpRequisiteOrderVO baseEmpRequisiteOrderVO, String outOrderCode) { |
|
|
private void CreateOutOrderDetailByRequisiteOrderChildList(BaseEmpRequisiteOrderVO baseEmpRequisiteOrderVO, String outOrderCode) { |
|
@ -1479,6 +1476,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService |
|
|
warehouseOutOrderDetail.setEnterpriseSum(Math.toIntExact(child.getMaterialNum())); |
|
|
warehouseOutOrderDetail.setEnterpriseSum(Math.toIntExact(child.getMaterialNum())); |
|
|
warehouseOutOrderDetail.setMakeNum(Math.toIntExact(child.getMaterialNum())); |
|
|
warehouseOutOrderDetail.setMakeNum(Math.toIntExact(child.getMaterialNum())); |
|
|
warehouseOutOrderDetail.setApplyOutOrderSum(Math.toIntExact(child.getMaterialNum())); |
|
|
warehouseOutOrderDetail.setApplyOutOrderSum(Math.toIntExact(child.getMaterialNum())); |
|
|
|
|
|
warehouseOutOrderDetail.setHasOutOrderSum(0); |
|
|
warehouseOutOrderDetail.setWarehouseOrderType("2"); |
|
|
warehouseOutOrderDetail.setWarehouseOrderType("2"); |
|
|
warehouseOutOrderDetail.setWarehouseOutType("2"); |
|
|
warehouseOutOrderDetail.setWarehouseOutType("2"); |
|
|
warehouseOutOrderDetail.setCreateTime(DateUtils.getNowDate()); |
|
|
warehouseOutOrderDetail.setCreateTime(DateUtils.getNowDate()); |
|
@ -1507,6 +1505,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService |
|
|
String materialNo = outOrderDetail.getMaterialNo(); |
|
|
String materialNo = outOrderDetail.getMaterialNo(); |
|
|
Long outOrderId = warehouseOutOrder.getOutOrderId(); |
|
|
Long outOrderId = warehouseOutOrder.getOutOrderId(); |
|
|
WarehouseOutOrder oldWarehouseOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderById(outOrderId); |
|
|
WarehouseOutOrder oldWarehouseOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderById(outOrderId); |
|
|
|
|
|
String outOrderCode = oldWarehouseOutOrder.getOutOrderCode(); |
|
|
//更新锁定数
|
|
|
//更新锁定数
|
|
|
Integer lockStockNum = inventoryInquiry.getLockStockNum(); |
|
|
Integer lockStockNum = inventoryInquiry.getLockStockNum(); |
|
|
int outNum = outOrderDetail.getActualOutOrderSum(); |
|
|
int outNum = outOrderDetail.getActualOutOrderSum(); |
|
@ -1556,13 +1555,37 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService |
|
|
if (insertDetailResult <= 0){ |
|
|
if (insertDetailResult <= 0){ |
|
|
throw new BusinessException("新增库存履历失败!"); |
|
|
throw new BusinessException("新增库存履历失败!"); |
|
|
} |
|
|
} |
|
|
|
|
|
}else if ("2".equals(oldWarehouseOutOrder.getWarehouseOrderType())){ //员工领料单
|
|
|
|
|
|
WarehouseInventoryInquiryDetail inquiryDetail = createInquiryDetail(materialNo,outOrderCode,outOrderDetail.getActualOutOrderSum()); |
|
|
|
|
|
inquiryDetail.setInquiryWarehouseType("10");//员工领料
|
|
|
|
|
|
inquiryDetail.setInquiryOrderType("10");//员工领料单
|
|
|
|
|
|
inquiryDetail.setInquiryBusinessType("7");//员工服务
|
|
|
|
|
|
int insertDetailResult = inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail); |
|
|
|
|
|
if (insertDetailResult <= 0){ |
|
|
|
|
|
throw new BusinessException("新增库存履历失败!"); |
|
|
|
|
|
} |
|
|
|
|
|
}else if ("3".equals(oldWarehouseOutOrder.getWarehouseOrderType())){ //委外领料单
|
|
|
|
|
|
WarehouseInventoryInquiryDetail inquiryDetail = createInquiryDetail(materialNo,outOrderCode,outOrderDetail.getActualOutOrderSum()); |
|
|
|
|
|
inquiryDetail.setInquiryWarehouseType("12");//委外领料
|
|
|
|
|
|
inquiryDetail.setInquiryOrderType("12");//委外领料单
|
|
|
|
|
|
inquiryDetail.setInquiryBusinessType("2");//委外
|
|
|
|
|
|
int insertDetailResult = inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail); |
|
|
|
|
|
if (insertDetailResult <= 0){ |
|
|
|
|
|
throw new BusinessException("新增库存履历失败!"); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return inquiryUpdateResult; |
|
|
return inquiryUpdateResult; |
|
|
} |
|
|
} |
|
|
|
|
|
/** 生成库存履历*/ |
|
|
|
|
|
public WarehouseInventoryInquiryDetail createInquiryDetail(String materialNo, String relatedCode, Integer outNum){ |
|
|
|
|
|
WarehouseInventoryInquiryDetail inquiryDetail = new WarehouseInventoryInquiryDetail(); |
|
|
|
|
|
inquiryDetail.setMaterialNo(materialNo); |
|
|
|
|
|
inquiryDetail.setInventoryHistoricalTime(DateUtils.getNowDate()); |
|
|
|
|
|
inquiryDetail.setCorrelationCode(relatedCode); |
|
|
|
|
|
inquiryDetail.setIncreaseDecreaseNum(outNum); |
|
|
|
|
|
inquiryDetail.setInventoryIncreaseDecrease("0");//减少
|
|
|
|
|
|
inquiryDetail.setCreateTime(DateUtils.getNowDate()); |
|
|
|
|
|
inquiryDetail.setCreateBy(ShiroUtils.getLoginName()); |
|
|
|
|
|
return inquiryDetail; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|