|
|
@@ -1,6 +1,7 @@
|
|
|
package com.dk.mdm.service.ivt.outbound;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.dk.common.exception.BaseBusinessException;
|
|
|
import com.dk.common.infrastructure.annotaiton.Pagination;
|
|
|
import com.dk.common.infrastructure.constant.Constant;
|
|
|
import com.dk.common.infrastructure.enums.ErrorCodeEnum;
|
|
|
@@ -14,12 +15,20 @@ import com.dk.mdm.infrastructure.convert.ivt.OutboundItemConvert;
|
|
|
import com.dk.mdm.mapper.common.CommonMapper;
|
|
|
import com.dk.mdm.mapper.ivt.OutboundItemMapper;
|
|
|
import com.dk.mdm.mapper.ivt.OutboundMapper;
|
|
|
+import com.dk.mdm.mapper.sale.OrderItemMapper;
|
|
|
+import com.dk.mdm.mapper.sale.OrderMapper;
|
|
|
+import com.dk.mdm.model.pojo.ivt.InboundItem;
|
|
|
import com.dk.mdm.model.pojo.ivt.Outbound;
|
|
|
import com.dk.mdm.model.pojo.ivt.OutboundItem;
|
|
|
+import com.dk.mdm.model.pojo.sale.Order;
|
|
|
+import com.dk.mdm.model.pojo.sale.OrderItem;
|
|
|
import com.dk.mdm.model.query.ivt.OutboundItemQuery;
|
|
|
import com.dk.mdm.model.query.ivt.OutboundQuery;
|
|
|
import com.dk.mdm.model.response.ivt.OutboundItemResponse;
|
|
|
import com.dk.mdm.model.response.ivt.OutboundResponse;
|
|
|
+import com.dk.mdm.model.response.sale.OrderItemResponse;
|
|
|
+import com.dk.mdm.model.response.sale.OrderResponse;
|
|
|
+import com.dk.mdm.model.vo.ivt.InboundItemVO;
|
|
|
import com.dk.mdm.model.vo.ivt.OutboundItemVO;
|
|
|
import com.dk.mdm.model.vo.ivt.OutboundVO;
|
|
|
import com.dk.mdm.service.common.CommonService;
|
|
|
@@ -34,6 +43,7 @@ import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -73,6 +83,140 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
@Autowired
|
|
|
private AccountService accountService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private OrderMapper orderMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OrderItemMapper orderItemMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OutCommon outCommon;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 修改原总单数据(订单,出库单)
|
|
|
+ * posNegFlag :正负标识 true:正数,false:负数
|
|
|
+ * 默认传值过来的是负数
|
|
|
+ * @date : 2024/3/29 10:43
|
|
|
+ * @author : 寇珊珊
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = {Exception.class})
|
|
|
+ public void updatePrimaryTotal(OutboundVO outboundVO, Boolean posNegFlag) {
|
|
|
+ //region 原入库单
|
|
|
+ Map<String, List<OutboundItemVO>> outboundItemVOListOutPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
|
|
|
+ for (String str : outboundItemVOListOutPri.keySet()) {
|
|
|
+ List<OutboundItemVO> outboundItemList = outboundItemVOListOutPri.get(str);
|
|
|
+ //region 汇总退货数量 金额
|
|
|
+ BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //endregion
|
|
|
+ //查询原单
|
|
|
+ OutboundResponse outboundResponse = outboundMapper.selectById(str);
|
|
|
+ //校验数据
|
|
|
+ if (returnSumQty.compareTo(outboundResponse.getOutQty()) > 0) {
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ Outbound outboundPri = new Outbound();
|
|
|
+ outboundPri.setOutId(str);
|
|
|
+ if (posNegFlag) {
|
|
|
+ outboundPri.setReturnQty(returnSumQty.negate());
|
|
|
+ outboundPri.setReturnAmt(returnSumAmt.negate());
|
|
|
+ } else {
|
|
|
+ outboundPri.setReturnQty(returnSumQty);
|
|
|
+ outboundPri.setReturnAmt(returnSumAmt);
|
|
|
+ }
|
|
|
+ outboundMapper.updateReturnMessage(outboundPri);
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region 原销售订单
|
|
|
+ Map<String, List<OutboundItemVO>> outboundItemVOListOrderPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOrderId));
|
|
|
+ for (String str : outboundItemVOListOrderPri.keySet()) {
|
|
|
+ List<OutboundItemVO> outboundItemList = outboundItemVOListOrderPri.get(str);
|
|
|
+ //region 汇总退货数量 金额
|
|
|
+ BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //endregion
|
|
|
+ //查询原单
|
|
|
+ OrderResponse orderResponse = orderMapper.selectById(str);
|
|
|
+ //校验数据
|
|
|
+ if (returnSumQty.compareTo(orderResponse.getOutQty()) > 0) {
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ Order orderPri = new Order();
|
|
|
+ orderPri.setOrderId(str);
|
|
|
+ if (posNegFlag) {
|
|
|
+ orderPri.setReturnQty(returnSumQty.negate());
|
|
|
+ orderPri.setReturnAmt(returnSumAmt.negate());
|
|
|
+ } else {
|
|
|
+ orderPri.setReturnQty(returnSumQty);
|
|
|
+ orderPri.setReturnAmt(returnSumAmt);
|
|
|
+ }
|
|
|
+ orderMapper.updateReturnMessage(orderPri);
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 修改原明细(订单,出库)
|
|
|
+ * posNegFlag :正负标识 true:正数,false:负数
|
|
|
+ * 默认传值过来的是负数
|
|
|
+ * @date : 2024/3/29 10:46
|
|
|
+ * @author : 寇珊珊
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = {Exception.class})
|
|
|
+ public void updatePrimaryDetail(OutboundItemVO outboundItemVO, Boolean posNegFlag) {
|
|
|
+ //region 反写出库明细
|
|
|
+ if (outboundItemVO.getSOutItemId() != null) {
|
|
|
+ OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getSOutItemId());
|
|
|
+ //region 校验可退数量
|
|
|
+ if (outboundItemResponse.getOutQty().compareTo(outboundItemVO.getOutQty()) < 0) {
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+ //region 赋值修改
|
|
|
+ OutboundItem outboundItemPri = new OutboundItem();
|
|
|
+ outboundItemPri.setItemId(outboundItemVO.getSOutItemId());
|
|
|
+ if (posNegFlag) {
|
|
|
+ outboundItemPri.setReturnQty(outboundItemVO.getOutingQty().negate());
|
|
|
+ outboundItemPri.setReturnAmt(outboundItemVO.getOutingAmt().negate());
|
|
|
+ } else {
|
|
|
+ outboundItemPri.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
+ outboundItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ }
|
|
|
+ outboundItemMapper.updateReturnMessage(outboundItemPri);
|
|
|
+ //endregion
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region 反写订单明细
|
|
|
+ if (outboundItemVO.getSOrderItemId() != null) {
|
|
|
+ OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getSOrderItemId());
|
|
|
+ //region 校验可退数量
|
|
|
+ if (orderItemResponse.getOutQty().compareTo(outboundItemVO.getOutQty()) < 0) {
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
|
|
|
+ ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+ //region 赋值修改
|
|
|
+ OrderItem orderItem = new OrderItem();
|
|
|
+ orderItem.setItemId(outboundItemVO.getSOutItemId());
|
|
|
+ if (posNegFlag) {
|
|
|
+ orderItem.setReturnQty(outboundItemVO.getOutingQty().negate());
|
|
|
+ orderItem.setReturnAmt(outboundItemVO.getOutingAmt().negate());
|
|
|
+ } else {
|
|
|
+ orderItem.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
+ orderItem.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ }
|
|
|
+ orderItemMapper.updateReturnMessage(orderItem);
|
|
|
+ //endregion
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* @desc : 销售退货出库新建
|
|
|
@@ -81,6 +225,13 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public ResponseResultVO<?> saleReturnOutboundInsert(OutboundVO outboundVO) {
|
|
|
+
|
|
|
+ //region 如果没有客户id,要新建
|
|
|
+ if (outboundVO.getCusId() == null) {
|
|
|
+ outboundVO = outCommon.insertCustomer(outboundVO);
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 查询当前公司的系统参数 自动办理信息 并赋值
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("cpId", outboundVO.getCpId());
|
|
|
@@ -94,6 +245,10 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
+ //region 原入库单 原销售订单
|
|
|
+ this.updatePrimaryTotal(outboundVO, true);
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 总单
|
|
|
//获取 id/单号
|
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.PURCASERETURNINBOUND.getName(), false);
|
|
|
@@ -123,16 +278,19 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
.setOutAmt(BigDecimal.ZERO)
|
|
|
;
|
|
|
}
|
|
|
-
|
|
|
//实体转换
|
|
|
Outbound outbound = outboundConvert.convertToPo(outboundVO);
|
|
|
outboundMapper.insert(outbound);
|
|
|
//endregion
|
|
|
|
|
|
+ //region 新建多业务归属
|
|
|
+ outCommon.insertMultiOwner(outboundVO);
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 明细
|
|
|
//校验明细
|
|
|
if (outboundVO.getItemList().size() == 0) {
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getCode(),
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getCode(),
|
|
|
ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
|
|
|
}
|
|
|
for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
|
|
|
@@ -140,6 +298,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
outboundItemVO.setInventoryType(Constant.InventoryType.OUTBOUND.getName());
|
|
|
outboundItemVO.setInventoryDocCode(Constant.InventoryDocCode.SALE_RETURN.getValue());
|
|
|
//endregion
|
|
|
+ //region 新建明细
|
|
|
//总单id
|
|
|
outboundItemVO.setOutId(outboundVO.getOutId());
|
|
|
//出库类型
|
|
|
@@ -166,10 +325,13 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
outboundItemMapper.insert(outboundItem);
|
|
|
//endregion
|
|
|
|
|
|
+ //region 反写出库明细 反写订单明细
|
|
|
+ this.updatePrimaryDetail(outboundItemVO, true);
|
|
|
+ //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
- //region 已出库 账款
|
|
|
+ //region 账款
|
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
|
|
|
accountService.accReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
|
|
|
}
|
|
|
@@ -208,11 +370,23 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
+ //region 反写出库总单 反写订单总单
|
|
|
+ this.updatePrimaryTotal(outboundVO, false);
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 修改明细
|
|
|
List<OutboundItemVO> itemList = outboundVO.getItemList();
|
|
|
for (OutboundItemVO outboundItemVO : itemList) {
|
|
|
//根据id查询
|
|
|
OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
|
|
|
+
|
|
|
+ //region 不能新建
|
|
|
+ if(outboundItemVO.getSOrderItemId()==null){
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
|
|
|
+ ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 将库存需要的参数赋值
|
|
|
outboundItemVO.setInventoryType(Constant.InventoryType.OUTBOUND.getName());
|
|
|
outboundItemVO.setInventoryDocCode(Constant.InventoryDocCode.SALE_RETURN.getValue());
|
|
|
@@ -224,7 +398,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
outboundItemVO.setOutAmt(outboundItemVO.getOutAmt());
|
|
|
//endregion
|
|
|
|
|
|
- //赋值
|
|
|
+ //region 明细赋值
|
|
|
OutboundItem outboundItem = new OutboundItem();
|
|
|
outboundItem.setItemId(outboundItemVO.getItemId());
|
|
|
outboundItem.setOutQty(outboundItemVO.getOutingQty());
|
|
|
@@ -236,6 +410,11 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
new UpdateWrapper<OutboundItem>().lambda()
|
|
|
.eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
|
|
|
);
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region 反写出库明细 反写订单明细
|
|
|
+ this.updatePrimaryDetail(outboundItemVO, false);
|
|
|
+ //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
@@ -270,7 +449,14 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//region 修改明细
|
|
|
List<OutboundItemVO> itemList = outboundVO.getItemList();
|
|
|
for (OutboundItemVO outboundItemVO : itemList) {
|
|
|
- //赋值
|
|
|
+ //region 不能新建
|
|
|
+ if(outboundItemVO.getSOrderItemId()==null){
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
|
|
|
+ ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region 赋值明细
|
|
|
OutboundItem outboundItem = new OutboundItem();
|
|
|
outboundItem.setItemId(outboundItemVO.getItemId());
|
|
|
outboundItem.setOutingQty(outboundItemVO.getOutingQty());
|
|
|
@@ -280,6 +466,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
new UpdateWrapper<OutboundItem>().lambda()
|
|
|
.eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
|
|
|
);
|
|
|
+ //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
//region 修改出库总单
|
|
|
@@ -321,6 +508,11 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
+ //region 反写出库总单 反写订单总单
|
|
|
+ OutboundVO outboundVO = outboundConvert.convertResToVO(outboundResponse);
|
|
|
+ this.updatePrimaryTotal(outboundVO, false);
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 修改明细
|
|
|
for (OutboundItemResponse outboundItemResponse : outboundItemResponseList) {
|
|
|
//region 将库存需要的参数赋值
|
|
|
@@ -330,7 +522,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
outboundItemResponse.setOutAmt(outboundItemResponse.getOutAmt().negate());
|
|
|
//endregion
|
|
|
|
|
|
- //赋值
|
|
|
+ //region 赋值明细
|
|
|
OutboundItem outboundItem = new OutboundItem();
|
|
|
outboundItem.setItemId(outboundItemResponse.getItemId());
|
|
|
outboundItem.setFlgValid(false);
|
|
|
@@ -339,6 +531,12 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
new UpdateWrapper<OutboundItem>().lambda()
|
|
|
.eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
|
|
|
);
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region 反写出库明细 反写订单明细
|
|
|
+ OutboundItemVO outboundItemVO = outboundItemConvert.convertResToVO(outboundItemResponse);
|
|
|
+ this.updatePrimaryDetail(outboundItemVO, false);
|
|
|
+ //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
@@ -369,9 +567,15 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//region 自动办理参数false 出库中编辑
|
|
|
//自动办理标识为false 并且 自动办理参数为false 出库中
|
|
|
if (!outboundResponse.getFlgAutoHandle() && Constant.FlgHandleSetting.FALSE.getValue().equals(outboundResponse.getFlgHandleSetting())) {
|
|
|
+
|
|
|
+ //region 反写出库总单 反写订单总单
|
|
|
+ OutboundVO outboundVO = outboundConvert.convertResToVO(outboundResponse);
|
|
|
+ this.updatePrimaryTotal(outboundVO, false);
|
|
|
+ //endregion
|
|
|
+
|
|
|
//region 修改明细
|
|
|
for (OutboundItemResponse outboundItemResponse : outboundItemResponseList) {
|
|
|
- //赋值
|
|
|
+ //region 赋值明细
|
|
|
OutboundItem outboundItem = new OutboundItem();
|
|
|
outboundItem.setItemId(outboundItemResponse.getItemId());
|
|
|
outboundItem.setOutingQty(BigDecimal.ZERO);
|
|
|
@@ -381,6 +585,12 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
new UpdateWrapper<OutboundItem>().lambda()
|
|
|
.eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
|
|
|
);
|
|
|
+ //endregion
|
|
|
+
|
|
|
+ //region 反写出库明细 反写订单明细
|
|
|
+ OutboundItemVO outboundItemVO = outboundItemConvert.convertResToVO(outboundItemResponse);
|
|
|
+ this.updatePrimaryDetail(outboundItemVO, false);
|
|
|
+ //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
@@ -415,15 +625,22 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//region 编辑明细
|
|
|
//校验明细
|
|
|
if (outboundVO.getItemList().size() == 0) {
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getCode(),
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getCode(),
|
|
|
ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
|
|
|
}
|
|
|
for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
|
|
|
+ //region 不能新建
|
|
|
+ if(outboundItemVO.getSOrderItemId()==null){
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
|
|
|
+ ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
+
|
|
|
//查询原单
|
|
|
OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
|
|
|
//region 校验数量是否超出
|
|
|
- if (outboundItemVO.getOutingQty().compareTo(outboundItemResponse.getOutQty()) > 0) {
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.CANNOT_EXCEED_THE_QUANTITYIN_THE_WAREHOUSE.getCode(),
|
|
|
+ if (outboundItemVO.getOutingQty().compareTo(outboundItemResponse.getOutingQty()) > 0) {
|
|
|
+ throw new BaseBusinessException(ErrorCodeEnum.CANNOT_EXCEED_THE_QUANTITYIN_THE_WAREHOUSE.getCode(),
|
|
|
ErrorCodeEnum.CANNOT_EXCEED_THE_QUANTITYIN_THE_WAREHOUSE.getMessage());
|
|
|
}
|
|
|
//endregion
|
|
|
@@ -491,7 +708,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
);
|
|
|
//endregion
|
|
|
|
|
|
-
|
|
|
//region 入账
|
|
|
accountService.reversePayable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
|
|
|
//endregion
|
|
|
@@ -717,7 +933,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
// OutboundResponse outboundResponse = outboundMapper.selectMessageByOtherQuery(new OutboundQuery().setOutId(id).setOutStatus(Constant.OutStatus.CHUKUZHONG.getName()));
|
|
|
// //单据不存在
|
|
|
// if (outboundResponse == null) {
|
|
|
-// return ResponseResultUtil.error(ErrorCodeEnum.THERE_ORDER_IS_NOT_CAN_OUTBOUND_QUANTITY.getCode(),
|
|
|
+// throw new BaseBusinessException(ErrorCodeEnum.THERE_ORDER_IS_NOT_CAN_OUTBOUND_QUANTITY.getCode(),
|
|
|
// ErrorCodeEnum.THERE_ORDER_IS_NOT_CAN_OUTBOUND_QUANTITY.getMessage());
|
|
|
// }
|
|
|
// dataInfo.put("data", outboundResponse);
|