|
|
@@ -21,6 +21,7 @@ import com.dk.mdm.mapper.ivt.IntoReturnMapper;
|
|
|
import com.dk.common.service.BaseService;
|
|
|
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.IntoReturnQuery;
|
|
|
import com.dk.mdm.model.query.pur.PurchaseQuery;
|
|
|
@@ -79,14 +80,12 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
private OutboundService outboundService;
|
|
|
|
|
|
@Autowired
|
|
|
- private InboundService inboundService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
private InboundMapper inboundMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private InboundItemMapper inboundItemMapper;
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 查询
|
|
|
* @author : 于继渤
|
|
|
@@ -113,8 +112,10 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
//返回 采购退货明细不可为空,请重新操作
|
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.PURCHASE_RETURN_DETAIL_NOT_EXIST.getMessage());
|
|
|
}
|
|
|
+ //查询采购订单上的客户信息
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnVO.getPurId());
|
|
|
//设置总单
|
|
|
- intoReturnVO = this.insertTotal(intoReturnVO);
|
|
|
+ intoReturnVO = this.insertTotal(intoReturnVO, purchaseResponse);
|
|
|
//设置明细
|
|
|
intoReturnItemVOList = this.insertDetail(intoReturnVO, intoReturnItemVOList);
|
|
|
|
|
|
@@ -123,7 +124,11 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
inboundMapper.updateAmount(new Inbound().setIntoId(intoReturnVO.getIntoId())
|
|
|
.setReturnQty(inbound.getReturnQty().add(intoReturnVO.getSumQuantity()))
|
|
|
.setReturnAmt(inbound.getReturnAmt().add(intoReturnVO.getSumAmount())));
|
|
|
-
|
|
|
+ //反写订单已入库退货数量、金额
|
|
|
+ purchaseMapper.updateAmount(new Purchase().setPurId(purchaseResponse.getPurId())
|
|
|
+ .setReturnQty(purchaseResponse.getReturnQty().add(intoReturnVO.getSumQuantity()))
|
|
|
+ .setReturnAmt(purchaseResponse.getReturnAmt().add(intoReturnVO.getSumAmount()))
|
|
|
+ );
|
|
|
|
|
|
//反写入库订单明细、反写订单明细
|
|
|
for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
@@ -132,9 +137,9 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
InboundItem inboundItem = inboundItemMapper.selectById(intoReturnItemVO.getIntoItemId());
|
|
|
inboundItemMapper.updateAmount(
|
|
|
new InboundItem()
|
|
|
- .setItemId(inboundItem.getItemId())
|
|
|
- .setReturnQty(inboundItem.getReturnQty().add(intoReturnItemVO.getItemQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
- .setReturnAmt(inboundItem.getReturnAmt().add(intoReturnItemVO.getItemAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setItemId(inboundItem.getItemId())
|
|
|
+ .setReturnQty(inboundItem.getReturnQty().add(intoReturnItemVO.getItemQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setReturnAmt(inboundItem.getReturnAmt().add(intoReturnItemVO.getItemAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
);
|
|
|
//TODO 反写订单出库明细 退货数量和退货金额
|
|
|
//查询采购订单明细数据
|
|
|
@@ -149,41 +154,42 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-// //新建出库单
|
|
|
-// OutboundVO outboundVO = new OutboundVO();
|
|
|
-// //来源ID
|
|
|
-// outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
-// //来源单号
|
|
|
-// outboundVO.setFromNo(intoReturnVO.getReturnNo());
|
|
|
-// //部门
|
|
|
-// outboundVO.setOrgId(intoReturnVO.getOrgId());
|
|
|
-// //员工
|
|
|
-// outboundVO.setStaffId(intoReturnVO.getStaffId());
|
|
|
-// //供应商
|
|
|
-// outboundVO.setSupId(intoReturnVO.getSupId());
|
|
|
-// //出库状态
|
|
|
-// outboundVO.setOutStatus("出库状态-出库中");
|
|
|
-// outboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
|
|
|
-// outboundVO.setCpId(authUtils.getStaff().getCpId());
|
|
|
-// List<OutboundItemVO> itemList = new ArrayList<>();
|
|
|
-// Integer itemIndex = 0;
|
|
|
-//
|
|
|
-// for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
-// OutboundItemVO outboundItemVO = new OutboundItemVO();
|
|
|
-// outboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
|
|
|
-// outboundItemVO.setItemIndex(itemIndex +1);
|
|
|
-// outboundItemVO.setPriceOut(intoReturnItemVO.getPriceReturn());
|
|
|
-// outboundItemVO.setInvId("10112024-0305-0000-0000-000009593bb6");
|
|
|
-// itemList.add(outboundItemVO);
|
|
|
-// }
|
|
|
-//
|
|
|
-// outboundVO.setItemList(itemList);
|
|
|
-//
|
|
|
-//
|
|
|
-//
|
|
|
-// outboundService.insert(outboundVO);
|
|
|
+ //新建出库单
|
|
|
+ OutboundVO outboundVO = new OutboundVO();
|
|
|
+ //来源ID
|
|
|
+ outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
+ //来源单号
|
|
|
+ outboundVO.setFromNo(intoReturnVO.getReturnNo());
|
|
|
+ //部门
|
|
|
+ outboundVO.setOrgId(intoReturnVO.getOrgId());
|
|
|
+ //员工
|
|
|
+ outboundVO.setStaffId(intoReturnVO.getStaffId());
|
|
|
+ //出库状态
|
|
|
+ outboundVO.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName());
|
|
|
+ //供应商
|
|
|
+ outboundVO.setSupId(intoReturnVO.getSupId());
|
|
|
+ outboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
|
|
|
+ outboundVO.setCpId(authUtils.getStaff().getCpId());
|
|
|
|
|
|
+ outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
+ List<OutboundItemVO> itemList = new ArrayList<>();
|
|
|
+ Integer itemIndex = 0;
|
|
|
+ for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
+ //来源单ID 入库退货
|
|
|
+ OutboundItemVO outboundItemVO = new OutboundItemVO();
|
|
|
+
|
|
|
+ outboundItemVO.setFromId(intoReturnItemVO.getReturnId());
|
|
|
+ outboundItemVO.setFromItemId(intoReturnItemVO.getItemId());
|
|
|
+ outboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
|
|
|
+ outboundItemVO.setItemIndex(itemIndex + 1);
|
|
|
+ outboundItemVO.setPriceOut(intoReturnItemVO.getPriceReturn());
|
|
|
+ outboundItemVO.setInvId(intoReturnItemVO.getInvId());
|
|
|
+ itemList.add(outboundItemVO);
|
|
|
+ }
|
|
|
|
|
|
+ outboundVO.setItemList(itemList);
|
|
|
+ //新建出库单
|
|
|
+ outboundService.insertOutBound(outboundVO);
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
|
|
|
|
@@ -193,13 +199,12 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
* @author : 于继渤
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
- public IntoReturnVO insertTotal(IntoReturnVO intoReturnVO) {
|
|
|
+ public IntoReturnVO insertTotal(IntoReturnVO intoReturnVO, PurchaseResponse purchaseResponse) {
|
|
|
// 获取单号
|
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.OUTBOUND.getName(), false);
|
|
|
intoReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
|
|
|
.setReturnType(Constant.returnType.PURRETURN.getName());
|
|
|
- //查询采购订单上的客户信息
|
|
|
- PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnVO.getPurId());
|
|
|
+
|
|
|
//部门Id
|
|
|
intoReturnVO.setOrgId(purchaseResponse.getOrgId());
|
|
|
intoReturnVO.setReturnStatus("退货状态-通过");
|
|
|
@@ -257,50 +262,6 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
IntoReturnItem intoReturnItem = intoReturnItemConvert.convertToPo(intoReturnItemVO);
|
|
|
intoReturnItemService.insert(intoReturnItem);
|
|
|
|
|
|
-// //已出库数量
|
|
|
-
|
|
|
-// orderOutRejectItemVO.setOutOutQuantity(orderItem.getOutQuantity());
|
|
|
-// //已出库金额
|
|
|
-// orderOutRejectItemVO.setOutOutAmount(orderItem.getOutAmount());
|
|
|
-// //已出库退货数量
|
|
|
-// orderOutRejectItemVO.setOutRejectQuantity(orderItem.getRejectQuantity());
|
|
|
-// //已出库退货金额
|
|
|
-// orderOutRejectItemVO.setOutRejectAmount(orderItem.getRejectAmount());
|
|
|
-// //退货差价
|
|
|
-// orderOutRejectItemVO.setDifferencePrice(orderItem.getPriceSale().subtract(orderOutRejectItemVO.getOrderPriceSale()));
|
|
|
-// //退货差额
|
|
|
-// orderOutRejectItemVO.setDifferenceAmount(orderOutRejectItemVO.getDifferencePrice().multiply(orderOutRejectItemVO.getOutRejectQuantity()));
|
|
|
-// // 出库中数量 - 已出库数量 < 本次出库数量
|
|
|
-// if (orderOutRejectItemVO.getOutOutQuantity().add(orderOutRejectItemVO.getOutRejectQuantity()).compareTo(orderOutRejectItemVO.getRejectQuantity().negate()) == -1) {
|
|
|
-// throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORDER_GREATER_THAN_THE_REFUNDABLE_QUANTITY.getmessage());
|
|
|
-// }
|
|
|
-// //出库状态 出库中
|
|
|
-// orderOutRejectItemVO.setOutStatus(Constant.OutStatusConstant.OUT_ORDER_NOT_OUT.getName());
|
|
|
-// //出库中金额
|
|
|
-// orderOutRejectItemVO.setOutGoingAmount(orderOutRejectItemVO.getRejectAmount().abs());
|
|
|
-// //出库中数量
|
|
|
-// orderOutRejectItemVO.setOutGoingQuantity(orderOutRejectItemVO.getRejectQuantity().abs());
|
|
|
-// //出库中时间
|
|
|
-// orderOutRejectItemVO.setOutGoingTime(LocalDateTime.now());
|
|
|
-// //自动出库赋值 已出库数量、已出库金额、最后出库时间
|
|
|
-// if (orderOutRejectVO.getFlgAutoIvt()) {
|
|
|
-// //已出库数量
|
|
|
-// orderOutRejectItemVO.setOutQuantity(orderOutRejectItemVO.getRejectQuantity().abs());
|
|
|
-// //已出库金额
|
|
|
-// orderOutRejectItemVO.setOutAmount(orderOutRejectItemVO.getRejectAmount().abs());
|
|
|
-// //最后出库时间
|
|
|
-// orderOutRejectItemVO.setOutTime(LocalDateTime.now());
|
|
|
-// }
|
|
|
-// //实体转换
|
|
|
-// OrderOutRejectItem orderOutRejectItem = orderOutRejectItemConvert.convertToPo(orderOutRejectItemVO);
|
|
|
-// //明细新建
|
|
|
-// orderOutRejectItemMapper.insert(orderOutRejectItem);
|
|
|
-// orderOutRejectItemVO.setItemId(orderOutRejectItem.getItemId());
|
|
|
-// }
|
|
|
-//
|
|
|
-// return orderOutRejectItemVOList;
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
return intoReturnItemVOList;
|
|
|
}
|