Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

姜永辉 1 год назад
Родитель
Сommit
0befd2affd

+ 7 - 0
src/main/java/com/dk/mdm/model/vo/sale/OrderItemVO.java

@@ -298,6 +298,13 @@ public class OrderItemVO extends PageInfo<OrderItemVO> implements Serializable {
     @ApiModelProperty(value = "成本单价")
     private BigDecimal costPrice;
 
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
     private static final long serialVersionUID = 1L;
 
 }

+ 26 - 8
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -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:负数
@@ -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);
+               }
+           }
         }
 
         //新建退货出库