1
0
Quellcode durchsuchen

库存校验优化,小票打印调整

lhm vor 3 Jahren
Ursprung
Commit
39e07852ee

+ 2 - 1
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -1664,7 +1664,8 @@ public class GoodsServiceImpl implements GoodsService {
         // 仓库可用库存
         wareQuantity = itemDTO.getQuantity();
         // 保税仓库存 + 展销店库存 - 出区数 >= 购买数
-        if (!((wareQuantity + Integer.parseInt(stockNum) - exitRegionNumber) > sellVolume)) {
+        int stockNumber = Integer.parseInt(stockNum);
+        if (!((wareQuantity + stockNumber - exitRegionNumber) > sellVolume)  || sellVolume > stockNumber) {
             // 库存不足
             log.error("商品条码:【{}】,sku:【{}】,门店库存:【{}】,保税仓库存:【{}】,出区数:【{}】,该商品仓库库存不足!", prodBarcode, sku, stockNum, wareQuantity, exitRegionNumber);
             throw new ServiceException(String.format("商品条码:【%s】,sku:【%s】,门店库存:【%s】,保税仓库存:【%s】,出区数:【%s】,该商品仓库库存不足!", prodBarcode, sku, stockNum, wareQuantity, exitRegionNumber));

+ 1 - 1
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -2332,7 +2332,7 @@ public class OrderServiceImpl implements OrderService {
                     // 当前出区数
                     Integer exitRegionNumber = goodsDto.getExitRegionNumber();
                     // 保税仓库存 + 门店库存 - 出区数 > 购买数
-                    if (!((warehouseStock + stockNum) - exitRegionNumber > sellVolume)) {
+                    if (!((warehouseStock + stockNum) - exitRegionNumber > sellVolume) || sellVolume > stockNum) {
                         // 库存不足
                         LOGGER.error("sku:【{}】库存不足,门店可用库存:【{}】,仓库可用库存:【{}】,购买数量:【{}】", sku, stockNum, warehouseStock, sellVolume);
                         throw new ServiceException(String.format("sku:【%s】库存不足,门店可用库存:【%s】,仓库可用库存:【%s】,购买数量:【%s】", sku, stockNum, warehouseStock, sellVolume));

+ 16 - 4
kmall-admin/src/main/webapp/js/sale/sale.js

@@ -697,6 +697,7 @@ let vm = new Vue({
             var overflowLi = this.$refs.overflowLi;
             console.log("vm.$refs.saomiao.value===>" + vm.$refs.saomiao.value);
             let scanSellVolume = calScanSellVolume(vm.$refs.saomiao.value);
+            console.log("scanSellVolume===>" + scanSellVolume);
             $.get("../goods/details/"+vm.prodBarcode+"/"+vm.storeId+"/"+vm.prodBarcode+"/"+scanSellVolume, function (r) {
                 if (r.code == 0) {
                     if(r.goodsDetails.length>1) {
@@ -749,6 +750,7 @@ let vm = new Vue({
             var overflowLi = this.$refs.overflowLi;
             console.log("vm.$refs.saomiao.value===>" + vm.$refs.saomiao.value);
             let scanSellVolume = calScanSellVolume(vm.$refs.saomiao.value);
+            console.log("scanSellVolume===>" + scanSellVolume);
                 $.get("../goods/detailsOld/"+vm.prodBarcode+"/"+vm.storeId+"/"+scanSellVolume, function (r) {
                     if (r.code == 0) {
                         r.goodsDetails.sellVolume = 1;
@@ -929,6 +931,9 @@ let vm = new Vue({
             var newIndex = ++vm.pendingIndex;
             vm.pendingIndex = newIndex > 3?1: newIndex;
             vm.goodsList = [];
+            vm.levelName = '';
+            vm.deductionScore = '';
+            vm.memberCurrentAvailableScore = '';
             vm.customClearData();
         },
         toResumePending:function(){
@@ -936,7 +941,10 @@ let vm = new Vue({
                 alert("当前没有挂起的订单");
                 return ;
             }
-            $('#pendignOrderModal').modal('show')
+            vm.levelName = '';
+            vm.deductionScore = '';
+            vm.memberCurrentAvailableScore = '';
+            $('#pendignOrderModal').modal('show');
         },
         resumePending:function(key){
             if(vm.pendingOrderMap.size == 0){
@@ -1661,8 +1669,8 @@ function getPrintContentOrder(ticket, callback) {
     content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.receipts + "元</span>";
     content += "</div>";
     content += "<div style=\"width: 100%;\">";
-    content += "<span style=\"float: left;width: 50%;text-align: left;\">优惠:</span>";
-    content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.coupon + "元</span>";
+    content += "<span style=\"float: left;width: 50%;text-align: left;\">优惠:</span>";
+    content += "<span style=\"float: right;width: 50%;text-align: right;\">" + (new BigNumber(ticket.cashInfo.coupon).subtract(new BigNumber(ticket.cashInfo.scoreDeductionPrice))) + "元</span>";
     content += "</div>";
     // content += "<div style=\"width: 100%;\">";
     // content += "<span style=\"float: left;width: 50%;text-align: left;\">运费:</span>";
@@ -2065,6 +2073,9 @@ function toPayOrder(payCode){
                     vm.goodsList = [];
                     vm.customname = '' ;
                     vm.customidcard = '';
+                    vm.levelName = '';
+                    vm.deductionScore = '';
+                    vm.memberCurrentAvailableScore = '';
                     vm.customClearData();
 
                 }else{
@@ -2108,7 +2119,7 @@ calScanSellVolume = function (prodBarcode) {
     if (goodsList === null || goodsList.length === 0) {
         return 1;
     }
-    let sellVolume = 0;
+    let sellVolume = 1;
     goodsList.forEach(goods => {
         if (prodBarcode === goods.prodBarcode) {
             sellVolume = sellVolume + goods.sellVolume;
@@ -2201,6 +2212,7 @@ handleSellVolume = function (currentGoodsDetail, type) {
     let sku = currentGoodsDetail.sku;
     let prodBarcode = currentGoodsDetail.prodBarcode;
     if ('add' === type) {
+        number = number + 1;
         $.get("../goods/number/add/"+ storeId +"/" + sku + "/" + prodBarcode + "/" + number, function (res) {
             if (res.code === 0) {
                 currentGoodsDetail.sellVolume += 1;