|
|
@@ -17,6 +17,7 @@ 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.mac.AccountMapper;
|
|
|
+import com.dk.mdm.mapper.mst.MoneyAccountMapper;
|
|
|
import com.dk.mdm.mapper.sale.OrderItemMapper;
|
|
|
import com.dk.mdm.mapper.sale.OrderMapper;
|
|
|
import com.dk.mdm.model.pojo.ivt.InboundItem;
|
|
|
@@ -29,16 +30,19 @@ 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.mac.AccountResponse;
|
|
|
+import com.dk.mdm.model.response.mst.MoneyAccountResponse;
|
|
|
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.model.vo.mac.RecPayItemVO;
|
|
|
import com.dk.mdm.model.vo.mac.RecPayVO;
|
|
|
import com.dk.mdm.service.common.CommonService;
|
|
|
import com.dk.mdm.service.ivt.inventory.InventoryService;
|
|
|
import com.dk.mdm.service.mac.AccountService;
|
|
|
import com.dk.mdm.service.mac.ReceiptService;
|
|
|
+import com.dk.mdm.service.mst.MoneyAccountService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -98,6 +102,9 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
@Autowired
|
|
|
private ReceiptService receiptService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MoneyAccountMapper moneyAccountMapper;
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 修改原总单数据(订单,出库单)
|
|
|
* posNegFlag :正负标识 true:正数,false:负数
|
|
|
@@ -214,13 +221,13 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//endregion
|
|
|
//region 赋值修改
|
|
|
OrderItem orderItem = new OrderItem();
|
|
|
- orderItem.setItemId(outboundItemVO.getSOutItemId());
|
|
|
+ orderItem.setItemId(outboundItemVO.getSOrderItemId());
|
|
|
if (posNegFlag) {
|
|
|
- orderItem.setReturnQty(outboundItemVO.getOutingQty().negate());
|
|
|
- orderItem.setReturnAmt(outboundItemVO.getOutingAmt().negate());
|
|
|
+ orderItem.setReturnQty(isOutEdit ? outboundItemVO.getOutQty().negate() : outboundItemVO.getOutingQty().negate());
|
|
|
+ orderItem.setReturnAmt(isOutEdit ? outboundItemVO.getOutAmt().negate() : outboundItemVO.getOutingAmt().negate());
|
|
|
} else {
|
|
|
- orderItem.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
- orderItem.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ orderItem.setReturnQty(isOutEdit ? outboundItemVO.getOutQty() : outboundItemVO.getOutingQty());
|
|
|
+ orderItem.setReturnAmt(isOutEdit ? outboundItemVO.getOutAmt() : outboundItemVO.getOutingAmt());
|
|
|
}
|
|
|
orderItemMapper.updateReturnMessage(orderItem);
|
|
|
//endregion
|
|
|
@@ -303,14 +310,25 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//endregion
|
|
|
|
|
|
//根据id查询
|
|
|
- AccountResponse accountResponse = accountMapper.selectById(outboundVO.getCusId());
|
|
|
- //客户有资金账户的时候才往下校验
|
|
|
- if (accountResponse != null) {
|
|
|
- //退款的时候 判断资金账户金额是否充足
|
|
|
- BigDecimal result = accountResponse.getReceipt().add(outboundVO.getSumAmtRec());//getSumAmtRec 退款是负值 所以相加
|
|
|
- if (result.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
- return ResponseResultUtil.error(ResponseCodeEnum.NOT_LESS_RECEIPT_ZERO);
|
|
|
- }
|
|
|
+// AccountResponse accountResponse = accountMapper.selectById(outboundVO.getCusId());
|
|
|
+// //客户有资金账户的时候才往下校验
|
|
|
+// if (accountResponse != null) {
|
|
|
+// //退款的时候 判断资金账户金额是否充足
|
|
|
+// BigDecimal result = accountResponse.getReceipt().add(outboundVO.getSumAmtRec());//getSumAmtRec 退款是负值 所以相加
|
|
|
+// if (result.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+// return ResponseResultUtil.error(ResponseCodeEnum.NOT_LESS_THAN_ZERO);
|
|
|
+// }
|
|
|
+// }
|
|
|
+ List<RecPayItemVO> itemListRecPayItemVO = outboundVO.getItemListRecPayItemVO(); //前端传过来的收款方式
|
|
|
+ for(int i =0;i< itemListRecPayItemVO.size();i++){
|
|
|
+ //查出结算方式对应的数据
|
|
|
+ MoneyAccountResponse moneyAccountResponse = moneyAccountMapper.selectById(itemListRecPayItemVO.get(i).getMacId());
|
|
|
+ if(!moneyAccountResponse.getFlgNegative()){ //允许账户余额为负数 开了就不校验
|
|
|
+ BigDecimal result = moneyAccountResponse.getBalance().add(itemListRecPayItemVO.get(i).getAmtRec());//getSumAmtRec 退款是负值 所以相加
|
|
|
+ if (result.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.NOT_LESS_THAN_ZERO);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//新建退货出库
|