|
|
@@ -24,10 +24,12 @@ import com.dk.common.mapper.BaseMapper;
|
|
|
import com.dk.mdm.model.pojo.ivt.IntoReturnItem;
|
|
|
import com.dk.mdm.model.pojo.pur.Purchase;
|
|
|
import com.dk.mdm.model.pojo.pur.PurchaseItem;
|
|
|
+import com.dk.mdm.model.query.ivt.IntoReturnItemQuery;
|
|
|
import com.dk.mdm.model.query.ivt.IntoReturnQuery;
|
|
|
import com.dk.mdm.model.query.pur.PurchaseQuery;
|
|
|
import com.dk.mdm.model.response.ivt.InboundItemResponse;
|
|
|
import com.dk.mdm.model.response.ivt.InboundResponse;
|
|
|
+import com.dk.mdm.model.response.ivt.IntoReturnItemResponse;
|
|
|
import com.dk.mdm.model.response.ivt.IntoReturnResponse;
|
|
|
import com.dk.mdm.model.response.pur.PurchaseItemResponse;
|
|
|
import com.dk.mdm.model.response.pur.PurchaseResponse;
|
|
|
@@ -88,6 +90,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
@Autowired
|
|
|
private InboundItemMapper inboundItemMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InboundItemService inboundItemService;
|
|
|
|
|
|
/**
|
|
|
* @desc : 查询
|
|
|
@@ -272,7 +276,7 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
intoReturnItemVO.setOutQty(intoReturnItemVO.getItemQty().abs());
|
|
|
intoReturnItemVO.setOutAmt(intoReturnItemVO.getItemAmt().abs());
|
|
|
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
intoReturnItemVO.setOutingQty(intoReturnItemVO.getItemQty().abs());
|
|
|
intoReturnItemVO.setOutingAmt(intoReturnItemVO.getItemAmt().abs());
|
|
|
}
|
|
|
@@ -285,7 +289,6 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
}
|
|
|
|
|
|
|
|
|
- //TODO 未完成
|
|
|
|
|
|
/**
|
|
|
* @desc : 作废
|
|
|
@@ -294,16 +297,84 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public ResponseResultVO<String> cancel(IntoReturnVO intoReturnVO) {
|
|
|
- //根据订单id查询到订单
|
|
|
-// Purchase purchase = purchaseMapper.selectPurchaseByRighting(new PurchaseQuery().setPurId(purId));
|
|
|
-//
|
|
|
-//
|
|
|
-// //查询采购退货数据List
|
|
|
-// List<IntoReturn> intoReturnList = intoReturnMapper.selectReturnList(intoReturnIdList);
|
|
|
-//
|
|
|
-// //根据订单id查询所有退货单
|
|
|
-// List<IntoReturnResponse> intoReturnResponsesList = intoReturnMapper.selectByCond(new IntoReturnQuery().setIntoReturnIdList(intoReturnIdList));
|
|
|
- return null;
|
|
|
+ //根据入库退货单id查询到退货单
|
|
|
+ IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(intoReturnVO.getReturnId());
|
|
|
+ if(intoReturnResponse.getReturnStatus().equals(Constant.returnStatus.OUT_REJECT_STATUS_RIGHTING_NOT.getName())){
|
|
|
+ //当前单据已经作废,不能重复操
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ISFLGVALID_FALSE.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询入库单 修改 已入库退货数量/金额
|
|
|
+ InboundResponse inboundResponse = inboundMapper.selectById(intoReturnVO.getIntoId());
|
|
|
+ if (inboundResponse == null ) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ inboundMapper.updateAmount(new Inbound()
|
|
|
+ .setReturnQty(inboundResponse.getReturnQty().subtract(intoReturnResponse.getSumQuantity()))
|
|
|
+ .setReturnAmt(inboundResponse.getReturnAmt().subtract(intoReturnResponse.getSumAmount())));
|
|
|
+
|
|
|
+ //查询采购单
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnResponse.getPurId());
|
|
|
+ if (purchaseResponse == null ) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ //修改采购单 已入库数量/金额
|
|
|
+ purchaseMapper.updateAmount(
|
|
|
+ new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(intoReturnResponse.getSumQuantity()))
|
|
|
+ .setReturnAmt(purchaseResponse.getReturnAmt().subtract(intoReturnResponse.getSumAmount())).setPurId(intoReturnResponse.getPurId())
|
|
|
+ );
|
|
|
+
|
|
|
+ //查询入库退货单明细
|
|
|
+ List<IntoReturnItemResponse> intoReturnItemList = intoReturnItemService.selectByCond(new IntoReturnItemQuery().setReturnId(intoReturnResponse.getReturnId())).getData().getList();
|
|
|
+ //明细不存在
|
|
|
+ if (intoReturnItemList == null || intoReturnItemList.size() == 0) {
|
|
|
+ //返回 采购退货明细不可为空,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.PURCHASE_RETURN_DETAIL_NOT_EXIST.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (intoReturnItemList != null && intoReturnItemList.size() > 0) {
|
|
|
+ for (IntoReturnItemResponse intoReturnItemResponse : intoReturnItemList) {
|
|
|
+ //查询入库单明细
|
|
|
+ InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(intoReturnItemResponse.getIntoItemId());
|
|
|
+ if (inboundItemResponse == null) {
|
|
|
+ //返回 单据所对应的原始单据不存在,请重新操作
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
+ }
|
|
|
+ //修改入库单明细 已入库退货数量/金额
|
|
|
+ inboundItemService.updateByUuid(new InboundItem()
|
|
|
+ .setItemId(intoReturnItemResponse.getIntoItemId())
|
|
|
+ .setReturnQty(inboundItemResponse.getReturnQty().subtract(intoReturnItemResponse.getItemQty()))
|
|
|
+ .setReturnAmt(inboundItemResponse.getReturnAmt().subtract(intoReturnItemResponse.getItemAmt()))
|
|
|
+ );
|
|
|
+ //查询采购单明细
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemResponse.getPurId());
|
|
|
+ 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(intoReturnItemResponse.getItemQty()))
|
|
|
+ .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(intoReturnItemResponse.getItemAmt()))
|
|
|
+
|
|
|
+ );
|
|
|
+ }
|
|
|
+ //TODO 未处理出库单
|
|
|
+
|
|
|
+ //修改入库退货单明细
|
|
|
+ super.updateByUuid(
|
|
|
+ new IntoReturn()
|
|
|
+ .setReturnId(intoReturnVO.getReturnId())
|
|
|
+ //修改退货状态 作废
|
|
|
+ .setReturnStatus(Constant.returnStatus.OUT_REJECT_STATUS_RIGHTING_NOT.getName())
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+ return ResponseResultUtil.success();
|
|
|
}
|
|
|
|
|
|
}
|