|
|
@@ -79,6 +79,7 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
|
|
|
@Autowired
|
|
|
private CommonMapper commonMapper;
|
|
|
+
|
|
|
@Pagination
|
|
|
public ResponseResultVO<PageList<InboundResponse>> selectByCond(InboundQuery inboundQuery) {
|
|
|
return super.mergeListWithCount(inboundQuery, inboundMapper.selectByInboundReturnCond(inboundQuery), inboundMapper.countByInboundReturnCond(inboundQuery));
|
|
|
@@ -119,47 +120,57 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
//返回 采购退货明细不可为空,请重新操作
|
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.PURCHASE_RETURN_DETAIL_NOT_EXIST.getMessage());
|
|
|
}
|
|
|
- //查询采购订单
|
|
|
- PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId()); //采购订单id
|
|
|
-
|
|
|
inboundVO.setReturnQty(inboundVO.getReturnQty().abs());
|
|
|
inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
|
|
|
- //反写采购订单已入库退货数量、金额
|
|
|
- purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
- .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getReturnQty()))
|
|
|
- .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundVO.getReturnAmt()))
|
|
|
- );
|
|
|
+ if (inboundVO.getFromId() != null) {
|
|
|
+ //查询采购订单
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId()); //采购订单id
|
|
|
+
|
|
|
+
|
|
|
+ //反写采购订单已入库退货数量、金额
|
|
|
+ purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
+ .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getReturnQty()))
|
|
|
+ .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundVO.getReturnAmt()))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
//反写入库订单明细、反写订单明细
|
|
|
for (InboundItemVO inboundItemVO : itemList) {
|
|
|
+
|
|
|
inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
|
|
|
inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
|
|
|
- //根据退货明细中入库明细id查询入库明细数据
|
|
|
- InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getItemId()); //原入库单明细id
|
|
|
- BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
- BigDecimal returnAmt = inboundItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
- //反写入库单退货数量金额
|
|
|
- InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getIntoId()); //原入库单id
|
|
|
- inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getIntoId())
|
|
|
- .setReturnQty(inboundResponse.getReturnQty().add(returnQty))
|
|
|
- .setReturnAmt(inboundResponse.getReturnAmt().add(returnAmt)));
|
|
|
- inboundItemMapper.updateAmount(
|
|
|
- new InboundItem()
|
|
|
- .setItemId(inboundItemResponse.getItemId())
|
|
|
- .setReturnQty(returnQty)
|
|
|
- .setReturnAmt(returnAmt)
|
|
|
- );
|
|
|
- //反写订单出库明细 退货数量和退货金额
|
|
|
- //查询采购订单明细数据
|
|
|
- PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
|
|
|
- //反写订单明细退货数量和退货金额
|
|
|
- purchaseItemMapper.updateAmount(
|
|
|
- new PurchaseItem()
|
|
|
- .setItemId(inboundItemVO.getFromItemId())
|
|
|
- .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- );
|
|
|
+ if (inboundItemVO.getItemId() != null) {
|
|
|
+ //根据退货明细中入库明细id查询入库明细数据
|
|
|
+ InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getItemId()); //原入库单明细id
|
|
|
+ BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
+ BigDecimal returnAmt = inboundItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
+
|
|
|
+ //反写入库单退货数量金额
|
|
|
+ InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getIntoId()); //原入库单id
|
|
|
+ inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getIntoId())
|
|
|
+ .setReturnQty(inboundResponse.getReturnQty().add(returnQty))
|
|
|
+ .setReturnAmt(inboundResponse.getReturnAmt().add(returnAmt)));
|
|
|
+ inboundItemMapper.updateAmount(
|
|
|
+ new InboundItem()
|
|
|
+ .setItemId(inboundItemResponse.getItemId())
|
|
|
+ .setReturnQty(returnQty)
|
|
|
+ .setReturnAmt(returnAmt)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (inboundItemVO.getFromItemId() != null) {
|
|
|
+ //反写订单出库明细 退货数量和退货金额
|
|
|
+ //查询采购订单明细数据
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
|
|
|
+ //反写订单明细退货数量和退货金额
|
|
|
+ purchaseItemMapper.updateAmount(
|
|
|
+ new PurchaseItem()
|
|
|
+ .setItemId(inboundItemVO.getFromItemId())
|
|
|
+ .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
inboundVO.setIntoingQty(inboundVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
inboundVO.setIntoingAmt(inboundVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
@@ -207,57 +218,67 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
inboundReturnResponse.setReturnAmt(inboundReturnResponse.getReturnAmt().abs());
|
|
|
|
|
|
inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
|
|
|
- //查询采购订单
|
|
|
- PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId());
|
|
|
- //采购订单原始退货数量 - 原始退货单退货数量
|
|
|
- BigDecimal purchaseReturnQty = purchaseResponse.getReturnQty().subtract(inboundReturnResponse.getReturnQty());
|
|
|
- BigDecimal purchaseReturnAmt = purchaseResponse.getReturnAmt().subtract(inboundReturnResponse.getReturnAmt());
|
|
|
- //反写采购订单已入库退货数量、金额
|
|
|
- purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
- .setReturnQty(purchaseReturnQty.add(inboundVO.getReturnAmt()))
|
|
|
- .setReturnAmt(purchaseReturnAmt.add(inboundVO.getReturnQty()))
|
|
|
- );
|
|
|
+ if(inboundVO.getFromId() != null ){
|
|
|
+ //查询采购订单
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId());
|
|
|
+ //采购订单原始退货数量 - 原始退货单退货数量
|
|
|
+ BigDecimal purchaseReturnQty = purchaseResponse.getReturnQty().subtract(inboundReturnResponse.getReturnQty());
|
|
|
+ BigDecimal purchaseReturnAmt = purchaseResponse.getReturnAmt().subtract(inboundReturnResponse.getReturnAmt());
|
|
|
+ //反写采购订单已入库退货数量、金额
|
|
|
+ purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
+ .setReturnQty(purchaseReturnQty.add(inboundVO.getReturnAmt()))
|
|
|
+ .setReturnAmt(purchaseReturnAmt.add(inboundVO.getReturnQty()))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
//校验明细
|
|
|
- if(inboundVO.getItemList() != null && inboundVO.getItemList().size() > 0){
|
|
|
+ if (inboundVO.getItemList() != null && inboundVO.getItemList().size() > 0) {
|
|
|
for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
|
|
|
- InboundItemResponse inboundItemReturnResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
|
|
|
- inboundItemReturnResponse.setReturnQty(inboundItemReturnResponse.getReturnQty().abs());
|
|
|
- inboundItemReturnResponse.setReturnAmt(inboundItemReturnResponse.getReturnAmt().abs());
|
|
|
inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
|
|
|
inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
|
|
|
- //查询采购订单明细数据
|
|
|
- PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
|
|
|
- BigDecimal purchaseItemReturnQty = purchaseItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
- BigDecimal purchaseItemReturnAmt = purchaseItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
- //反写采购订单明细退货数量和退货金额
|
|
|
- purchaseItemMapper.updateAmount(
|
|
|
- new PurchaseItem()
|
|
|
- .setItemId(inboundItemVO.getSPurItemId())
|
|
|
- .setReturnQty(purchaseItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- .setReturnAmt(purchaseItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- );
|
|
|
- //根据退货明细中入库明细id查询入库明细数据
|
|
|
- InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
|
|
|
- BigDecimal inboundItemReturnQty = inboundItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
- BigDecimal inboundItemReturnAmt = inboundItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
+ if(inboundItemVO.getSIntoItemId() != null ){
|
|
|
+ InboundItemResponse inboundItemReturnResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
|
|
|
+ inboundItemReturnResponse.setReturnQty(inboundItemReturnResponse.getReturnQty().abs());
|
|
|
+ inboundItemReturnResponse.setReturnAmt(inboundItemReturnResponse.getReturnAmt().abs());
|
|
|
+
|
|
|
+
|
|
|
+ //查询采购订单明细数据
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
|
|
|
+ BigDecimal purchaseItemReturnQty = purchaseItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
+ BigDecimal purchaseItemReturnAmt = purchaseItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
+ //反写采购订单明细退货数量和退货金额
|
|
|
+ purchaseItemMapper.updateAmount(
|
|
|
+ new PurchaseItem()
|
|
|
+ .setItemId(inboundItemVO.getSPurItemId())
|
|
|
+ .setReturnQty(purchaseItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setReturnAmt(purchaseItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ );
|
|
|
+ //根据退货明细中入库明细id查询入库明细数据
|
|
|
+ InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
|
|
|
+ BigDecimal inboundItemReturnQty = inboundItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
+ BigDecimal inboundItemReturnAmt = inboundItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
+
|
|
|
+
|
|
|
+ BigDecimal ReturnQty = inboundItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
+ BigDecimal ReturnAm = inboundItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
+ //反写原始入库单明细 不是负向的入库单
|
|
|
+ inboundItemMapper.updateAmount(
|
|
|
+ new InboundItem()
|
|
|
+ .setItemId(inboundItemResponse.getItemId())
|
|
|
+ .setReturnQty(ReturnQty)
|
|
|
+ .setReturnAmt(ReturnAm)
|
|
|
+ );
|
|
|
+ //反写原始入库单
|
|
|
+ InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getSIntoId());
|
|
|
+ BigDecimal inboundReturnQty = inboundResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
+ BigDecimal inboundReturnAmt = inboundResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
+ inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getSIntoId())
|
|
|
+ .setReturnQty(inboundReturnQty.add(inboundItemVO.getReturnQty()))
|
|
|
+ .setReturnAmt(inboundReturnAmt.add(inboundItemVO.getReturnAmt())));
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
- BigDecimal ReturnQty = inboundItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
- BigDecimal ReturnAm = inboundItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
- //反写原始入库单明细 不是负向的入库单
|
|
|
- inboundItemMapper.updateAmount(
|
|
|
- new InboundItem()
|
|
|
- .setItemId(inboundItemResponse.getItemId())
|
|
|
- .setReturnQty(ReturnQty)
|
|
|
- .setReturnAmt(ReturnAm)
|
|
|
- );
|
|
|
- //反写原始入库单
|
|
|
- InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getSIntoId());
|
|
|
- BigDecimal inboundReturnQty = inboundResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
- BigDecimal inboundReturnAmt = inboundResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
- inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getSIntoId())
|
|
|
- .setReturnQty(inboundReturnQty.add(inboundItemVO.getReturnQty()))
|
|
|
- .setReturnAmt(inboundReturnAmt.add(inboundItemVO.getReturnAmt())));
|
|
|
|
|
|
//修改采退明细
|
|
|
InboundItem inboundItem = new InboundItem();
|
|
|
@@ -273,7 +294,7 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
}
|
|
|
|
|
|
//删除 采退入库明细
|
|
|
- if(inboundVO.getDeleteItemList() != null && inboundVO.getDeleteItemList().size() > 0){
|
|
|
+ if (inboundVO.getDeleteItemList() != null && inboundVO.getDeleteItemList().size() > 0) {
|
|
|
for (InboundItemVO inboundItemVO : inboundVO.getDeleteItemList()) {
|
|
|
if (inboundItemVO.getItemId() != null) {
|
|
|
//修改 采退明细 状态
|
|
|
@@ -302,6 +323,7 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
inboundPurchaseReturnService.purchaseReturnInboundUpdate(inboundVO);
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 作废
|
|
|
* @date : 2022/6/28 16:58
|
|
|
@@ -325,13 +347,13 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
//自动办理标识
|
|
|
String flgHandleSetting = commonMapper.getSettingValue(map);
|
|
|
//自动办理标识为1 自动办理入库
|
|
|
- if(Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)){
|
|
|
+ if (Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)) {
|
|
|
inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
|
|
|
inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
|
|
|
}
|
|
|
|
|
|
//TODO //系统参数自动出入库办理 已出库(未退款)可以作废,已出库(已退款)不可以作废
|
|
|
- if(inboundResponse.getFlgHandleSetting() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())){
|
|
|
+ if (inboundResponse.getFlgHandleSetting() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
|
|
|
return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
|
|
|
ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getMessage());
|
|
|
}
|
|
|
@@ -340,62 +362,71 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
|
|
|
ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getMessage());
|
|
|
}
|
|
|
- //查询采购单
|
|
|
- PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundResponse.getFromId());
|
|
|
- if (purchaseResponse == null) {
|
|
|
- //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
- return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ if(inboundResponse.getFromId()!=null){
|
|
|
+ //查询采购单
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundResponse.getFromId());
|
|
|
+ if (purchaseResponse == null) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ //修改采购单 已入库数量/金额
|
|
|
+ //TODO 如果 退货存的 退货数量是负数的话
|
|
|
+ System.out.println(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty()));
|
|
|
+
|
|
|
+ purchaseMapper.updateAmount(
|
|
|
+ new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty().abs()))
|
|
|
+ .setReturnAmt(purchaseResponse.getReturnAmt().subtract(inboundResponse.getReturnAmt().abs())).setPurId(purchaseResponse.getPurId())
|
|
|
+ );
|
|
|
}
|
|
|
- //修改采购单 已入库数量/金额
|
|
|
- //TODO 如果 退货存的 退货数量是负数的话
|
|
|
- System.out.println(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty()));
|
|
|
|
|
|
- purchaseMapper.updateAmount(
|
|
|
- new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty().abs()))
|
|
|
- .setReturnAmt(purchaseResponse.getReturnAmt().subtract(inboundResponse.getReturnAmt().abs())).setPurId(purchaseResponse.getPurId())
|
|
|
- );
|
|
|
//查询退货明细
|
|
|
List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(inboundResponse.getIntoId()));
|
|
|
for (InboundItemResponse inboundItemRespons : inboundItemResponses) {
|
|
|
+ if(inboundItemRespons.getSIntoItemId() != null){
|
|
|
+ //查询源入库单明细
|
|
|
+ InboundItemResponse inboundItem = inboundItemMapper.selectById(inboundItemRespons.getSIntoItemId());
|
|
|
+ if (inboundItem == null) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ //修改入库单明细 已入库退货数量/金额
|
|
|
+ inboundItemMapper.updateAmount(new InboundItem()
|
|
|
+ .setItemId(inboundItem.getItemId())
|
|
|
+ .setReturnQty(inboundItem.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
|
|
|
+ .setReturnAmt(inboundItem.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs()))
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
- //查询源入库单明细
|
|
|
- InboundItemResponse inboundItem = inboundItemMapper.selectById(inboundItemRespons.getSIntoItemId());
|
|
|
- if (inboundItem == null) {
|
|
|
- //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
- return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ if(inboundItemRespons.getSIntoId() != null){
|
|
|
+ //查询源入库单 修改 已入库退货数量/金额
|
|
|
+ InboundResponse inboundRes = inboundMapper.selectById(inboundItemRespons.getSIntoId());
|
|
|
+ if (inboundRes == null) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ inboundMapper.updateAmount(new Inbound().setIntoId(inboundRes.getIntoId())
|
|
|
+ .setReturnQty(inboundRes.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
|
|
|
+ .setReturnAmt(inboundRes.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs())));
|
|
|
}
|
|
|
- //修改入库单明细 已入库退货数量/金额
|
|
|
- inboundItemMapper.updateAmount(new InboundItem()
|
|
|
- .setItemId(inboundItem.getItemId())
|
|
|
- .setReturnQty(inboundItem.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
|
|
|
- .setReturnAmt(inboundItem.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs()))
|
|
|
- );
|
|
|
|
|
|
|
|
|
- //查询源入库单 修改 已入库退货数量/金额
|
|
|
- InboundResponse inboundRes = inboundMapper.selectById(inboundItemRespons.getSIntoId());
|
|
|
- if (inboundRes == null) {
|
|
|
- //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
- return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ if(inboundItemRespons.getSPurItemId()!=null){
|
|
|
+ //查询采购单明细
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemRespons.getSPurItemId());
|
|
|
+ if (purchaseItemResponse == null) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ //修改采购单明细 已入库退货数量/金额
|
|
|
+ purchaseItemMapper.updateAmount(
|
|
|
+ new PurchaseItem()
|
|
|
+ .setItemId(purchaseItemResponse.getItemId())
|
|
|
+ .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
|
|
|
+ .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs()))
|
|
|
+ );
|
|
|
}
|
|
|
- inboundMapper.updateAmount(new Inbound().setIntoId(inboundRes.getIntoId())
|
|
|
- .setReturnQty(inboundRes.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
|
|
|
- .setReturnAmt(inboundRes.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs())));
|
|
|
|
|
|
|
|
|
- //查询采购单明细
|
|
|
- PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemRespons.getSPurItemId());
|
|
|
- if (purchaseItemResponse == null) {
|
|
|
- //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
- return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
- }
|
|
|
- //修改采购单明细 已入库退货数量/金额
|
|
|
- purchaseItemMapper.updateAmount(
|
|
|
- new PurchaseItem()
|
|
|
- .setItemId(purchaseItemResponse.getItemId())
|
|
|
- .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
|
|
|
- .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs()))
|
|
|
- );
|
|
|
}
|
|
|
//修改 负向入库单 状态为作废
|
|
|
inboundMapper.updateIntoStatus(new Inbound()
|
|
|
@@ -412,14 +443,13 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* @desc : 办理
|
|
|
* @date : 2022/6/28 16:58
|
|
|
* @author : 于继渤
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
- public ResponseResultVO<String> returnHandle(InboundVO inboundVO){
|
|
|
+ public ResponseResultVO<String> returnHandle(InboundVO inboundVO) {
|
|
|
//校验明细长度
|
|
|
List<InboundItemVO> itemList = inboundVO.getItemList();
|
|
|
//明细不存在
|
|
|
@@ -427,47 +457,55 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
//返回 采购退货明细不可为空,请重新操作
|
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.PURCHASE_RETURN_DETAIL_NOT_EXIST.getMessage());
|
|
|
}
|
|
|
- //查询采购订单
|
|
|
- PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId()); //采购订单id
|
|
|
-
|
|
|
inboundVO.setReturnQty(inboundVO.getReturnQty().abs());
|
|
|
inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
|
|
|
- //反写采购订单已入库退货数量、金额
|
|
|
- purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
- .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getReturnQty()))
|
|
|
- .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundVO.getReturnAmt()))
|
|
|
- );
|
|
|
+ if(inboundVO.getFromId() != null){
|
|
|
+ //查询采购订单
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId()); //采购订单id
|
|
|
+
|
|
|
+ //反写采购订单已入库退货数量、金额
|
|
|
+ purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
+ .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getReturnQty()))
|
|
|
+ .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundVO.getReturnAmt()))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
//反写入库订单明细、反写订单明细
|
|
|
for (InboundItemVO inboundItemVO : itemList) {
|
|
|
inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
|
|
|
inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
|
|
|
//根据退货明细中入库明细id查询入库明细数据
|
|
|
- InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId()); //原入库单明细id
|
|
|
- BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
- BigDecimal returnAmt = inboundItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
- //反写入库单退货数量金额
|
|
|
- InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getSIntoId()); //原入库单id
|
|
|
- inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getSIntoId())
|
|
|
- .setReturnQty(inboundResponse.getReturnQty().add(returnQty))
|
|
|
- .setReturnAmt(inboundResponse.getReturnAmt().add(returnAmt)));
|
|
|
- inboundItemMapper.updateAmount(
|
|
|
- new InboundItem()
|
|
|
- .setItemId(inboundItemResponse.getSIntoItemId())
|
|
|
- .setReturnQty(returnQty)
|
|
|
- .setReturnAmt(returnAmt)
|
|
|
- );
|
|
|
- //反写订单出库明细 退货数量和退货金额
|
|
|
- //查询采购订单明细数据
|
|
|
- PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
|
|
|
- //反写订单明细退货数量和退货金额
|
|
|
- purchaseItemMapper.updateAmount(
|
|
|
- new PurchaseItem()
|
|
|
- .setItemId(inboundItemVO.getSPurItemId())
|
|
|
- .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- );
|
|
|
+ if(inboundItemVO.getSIntoItemId() != null){
|
|
|
+ InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId()); //原入库单明细id
|
|
|
+ BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
+ BigDecimal returnAmt = inboundItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
+
|
|
|
+ //反写入库单退货数量金额
|
|
|
+ InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getSIntoId()); //原入库单id
|
|
|
+ inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getSIntoId())
|
|
|
+ .setReturnQty(inboundResponse.getReturnQty().add(returnQty))
|
|
|
+ .setReturnAmt(inboundResponse.getReturnAmt().add(returnAmt)));
|
|
|
+ inboundItemMapper.updateAmount(
|
|
|
+ new InboundItem()
|
|
|
+ .setItemId(inboundItemResponse.getSIntoItemId())
|
|
|
+ .setReturnQty(returnQty)
|
|
|
+ .setReturnAmt(returnAmt)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if(inboundItemVO.getSPurItemId() != null){
|
|
|
+ //反写订单出库明细 退货数量和退货金额
|
|
|
+ //查询采购订单明细数据
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
|
|
|
+ //反写订单明细退货数量和退货金额
|
|
|
+ purchaseItemMapper.updateAmount(
|
|
|
+ new PurchaseItem()
|
|
|
+ .setItemId(inboundItemVO.getSPurItemId())
|
|
|
+ .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
inboundItemVO.setIntoingQty(inboundItemVO.getReturnQty().abs());
|
|
|
inboundItemVO.setIntoingAmt(inboundItemVO.getReturnAmt().abs());
|
|
|
@@ -481,13 +519,14 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
inboundPurchaseReturnService.saleReturnHandleInbound(inboundVO);
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 采购退货入库撤销
|
|
|
* @date : 2022/6/28 16:58
|
|
|
* @author : 于继渤
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
- public ResponseResultVO<String> inboundReturnCancel(InboundVO inboundVO){
|
|
|
+ public ResponseResultVO<String> inboundReturnCancel(InboundVO inboundVO) {
|
|
|
inboundPurchaseReturnService.saleReturnInboundCancel(inboundVO);
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|