Browse Source

提交代码

6 months ago
parent
commit
ce852599b3

+ 38 - 0
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/business/ProdInventory/controller/ProdInventoryController.java

@@ -1,5 +1,7 @@
 package com.xingxi.web.controller.business.ProdInventory.controller;
 
+import com.xingxi.business.ProdInventory.domain.ProdInventoryBill;
+import com.xingxi.business.ProdInventory.service.IProdInventoryBillService;
 import com.xingxi.common.annotation.Log;
 import com.xingxi.common.core.controller.BaseController;
 import com.xingxi.common.core.domain.AjaxResult;
@@ -28,6 +30,8 @@ public class ProdInventoryController extends BaseController {
 
     @Resource
     private IProdInventoryVoService prodInventoryVoService;
+    @Resource
+    private IProdInventoryBillService prodInventoryBillService;
 
     @RequiresPermissions("business:product:inventory:view")
     @GetMapping("/inventory")
@@ -35,6 +39,18 @@ public class ProdInventoryController extends BaseController {
         return prefix + "/prodInventory";
     }
 
+    /**
+     * 查询商品库存列表
+     */
+    @RequiresPermissions("business:prodInventory:list")
+    @PostMapping("/inventory/list")
+    @ResponseBody
+    public TableDataInfo inventoryList(ProdInventoryVo prodInventoryVo) {
+        startPage();
+        List<ProdInventoryVo> list = prodInventoryVoService.selectProdInventoryVoList(prodInventoryVo);
+        return getDataTable(list);
+    }
+
     @RequiresPermissions("business:product:inventory:view")
     @GetMapping("/mercInventory/{mercId}")
     public String inventory(@PathVariable("mercId") Long mercId, ModelMap mmap) {
@@ -64,4 +80,26 @@ public class ProdInventoryController extends BaseController {
     public AjaxResult addSave(ProdInventoryVo prodInventoryVo) {
         return toAjax(prodInventoryVoService.insertProdInventoryVo(prodInventoryVo));
     }
+
+    /**
+     * 新增保存商品库存
+     */
+    @RequiresPermissions("business:prodInventory:detail")
+    @GetMapping("/inventory/detail/{prodInventoryId}")
+    public String detail(@PathVariable("prodInventoryId") Long prodInventoryId, ModelMap mmap) {
+        mmap.put("prodInventoryId", prodInventoryId);
+        return prefix + "/prodInventoryDetail";
+    }
+
+    /**
+     * 新增保存商品库存
+     */
+    @RequiresPermissions("business:prodInventory:detail")
+    @PostMapping("/inventory/detailList")
+    @ResponseBody
+    public TableDataInfo detailList(ProdInventoryBill prodInventoryBill) {
+        startPage();
+        List<ProdInventoryBill> list = prodInventoryBillService.selectProdInventoryBillList(prodInventoryBill);
+        return getDataTable(list);
+    }
 }

+ 4 - 7
08.src/Xingxi/xingxi-admin/src/main/java/com/xingxi/web/controller/business/ProdInventory/service/impl/ProdInventoryOrderVoServiceImpl.java

@@ -6,7 +6,6 @@ import com.xingxi.business.ProdInventory.domain.ProdInventoryOrderDetail;
 import com.xingxi.business.ProdInventory.mapper.ProdInventoryBillMapper;
 import com.xingxi.business.ProdInventory.mapper.ProdInventoryMapper;
 import com.xingxi.business.ProdInventory.mapper.ProdInventoryOrderDetailMapper;
-import com.xingxi.business.ProdInventory.mapper.ProdInventoryOrderMapper;
 import com.xingxi.common.enums.EDelFlag;
 import com.xingxi.common.enums.EInventoryBillType;
 import com.xingxi.common.utils.DateUtils;
@@ -38,8 +37,6 @@ public class ProdInventoryOrderVoServiceImpl implements IProdInventoryOrderVoSer
     @Resource
     private ProdInventoryBillMapper prodInventoryBillMapper;
     @Resource
-    private ProdInventoryOrderMapper prodInventoryOrderMapper;
-    @Resource
     private ProdInventoryOrderVoMapper prodInventoryOrderVoMapper;
     @Resource
     private ProdInventoryOrderDetailMapper prodInventoryOrderDetailMapper;
@@ -80,7 +77,7 @@ public class ProdInventoryOrderVoServiceImpl implements IProdInventoryOrderVoSer
         Long mercId;
 
         ProdInventoryOrderVo checkResult = prodInventoryOrderVoMapper.selectProdInventoryOrderVoById(prodInventoryOrderVo.getInventoryOrderId());
-        if (EInventoryBillType.STOCKIN.getVal().equals(prodInventoryOrderVo.getIoFlag())) {
+        if (EInventoryBillType.STOCKIN.getVal().equals(checkResult.getIoFlag())) {
             mercId = checkResult.getInId();
         } else {
             mercId = checkResult.getOutId();
@@ -90,7 +87,7 @@ public class ProdInventoryOrderVoServiceImpl implements IProdInventoryOrderVoSer
             ProdInventory cond = new ProdInventory();
             cond.setProdId(prodInventoryOrderDetail.getProdId());
             cond.setProdAttrId(prodInventoryOrderDetail.getProdAttrId());
-            cond.setProdAttrId(mercId);
+            cond.setMercId(mercId);
             List<ProdInventory> listProdInventory = prodInventoryMapper.selectProdInventoryList(cond);
             Integer addInvQty = prodInventoryOrderDetail.getQuantity();
             ProdInventoryVo prodInventoryVo = new ProdInventoryVo();
@@ -114,7 +111,7 @@ public class ProdInventoryOrderVoServiceImpl implements IProdInventoryOrderVoSer
                 prodInventory.setCreateUser(ShiroUtils.getLoginName());
                 prodInventory.setCreateTime(nowDate);
                 effectRows = prodInventoryMapper.insertProdInventory(prodInventory);
-                prodInventoryVo = prodInventoryVoMapper.selectProdInventoryVoByProdInventoryId(prodInventoryVo.getProdInventoryId());
+                prodInventoryVo = prodInventoryVoMapper.selectProdInventoryVoByProdInventoryId(prodInventory.getProdInventoryId());
             }
 
             // 更新商品出入库明细单
@@ -127,7 +124,7 @@ public class ProdInventoryOrderVoServiceImpl implements IProdInventoryOrderVoSer
             // 更新商品出入库流水
             ProdInventoryBill prodInventoryBill = new ProdInventoryBill();
             prodInventoryBill.setBillTime(nowDate);
-            prodInventoryBill.setBillType(prodInventoryOrderVo.getIoFlag());
+            prodInventoryBill.setBillType(checkResult.getIoFlag());
             prodInventoryBill.setInventoryId(prodInventoryVo.getProdInventoryId());
             prodInventoryBill.setQuantity(addInvQty);
             prodInventoryBill.setDelFlag(EDelFlag.NO.getVal());

+ 1 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/mapper/ProdInventoryVoMapper.xml

@@ -61,6 +61,7 @@
             <if test="prodName != null and prodName != ''"> and m_prod.prodName like concat('%', #{prodName}, '%')</if>
             <if test="attrName != null  and attrName != ''"> and m_prod_attr.attrName like concat('%', #{attrName}, '%')</if>
         </where>
+        order by m_merchant_prod.mercId, m_merchant_prod.prodId
     </select>
 
     <update id="updateProdInventoryVo" parameterType="ProdInventoryVo">

+ 1 - 1
08.src/Xingxi/xingxi-admin/src/main/resources/templates/business/prodInventory/mercProdInventory.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 <head>
-    <th:block th:include="include :: header('商品库存列表')" />
+    <th:block th:include="include :: header('商户商品库存列表')" />
 </head>
 <body class="gray-bg">
      <div class="container-div">

+ 6 - 82
08.src/Xingxi/xingxi-admin/src/main/resources/templates/business/prodInventory/prodInventory.html

@@ -35,45 +35,17 @@
         </div>
     </div>
     <th:block th:include="include :: footer" />
-     <!-- 驳回请求区域 -->
-     <script id="addInventoryDiv" type="text/template">
-         <div class="col-xs-offset-1">
-             <form id="formAddInventory">
-                 <div class="select-list col-sm-12" style="margin-top: 10px; display: inline-block;">
-                     <div style="float: left; width: 100px; line-height: 30px">
-                         <label>库存数量:</label>
-                     </div>
-                     <div style="float: left; width: 200px;">
-                         <input type="text" class="form-control" id="quantity" readonly/>
-                     </div>
-                     <div style="float: left; width: 100px; line-height: 30px; margin-left: 20px;">
-                         <label>可售数量:</label>
-                     </div>
-                     <div style="float: left; width: 200px">
-                         <input type="text" class="form-control" id="availQty" readonly/>
-                     </div>
-                 </div>
-                 <div class="col-sm-12 select-list" style="margin-top: 10px; display: inline-block;">
-                     <div style="float: left; width: 100px; line-height: 30px">
-                        <label>增加库存数量:</label>
-                     </div>
-                     <div style="float: left; width: 200px">
-                         <input type="text" class="form-control" id="addInvQty" name="quantity"/>
-                     </div>
-                 </div>
-             </form>
-         </div>
-     </script>
     <script th:inline="javascript">
-        var editFlag = [[${@permission.hasPermi('business:prodInventory:edit')}]];
+        var detailFlag = [[${@permission.hasPermi('business:prodInventory:detail')}]];
         var prefix = ctx + "business/prodInventory";
 
         $(function() {
             var options = {
-                url: prefix + "/list",
-                createUrl: prefix + "/add",
-                removeUrl: prefix + "/remove",
+                url: prefix + "/inventory/list",
+                detailUrl: prefix + "/inventory/detail/{id}",
                 modalName: "商品库存",
+                pageSize: 25,
+                pageList: [10, 25, 50],
                 columns: [
                 {
                     field: 'prodName',
@@ -96,61 +68,13 @@
                     align: 'center',
                     formatter: function(value, row, index) {
                         var actions = [];
-                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="addInventory(' + row.prodInventoryId + ',' + row.prodId + ',' + row.prodAttrId + ',' + row.quantity + ',' + row.availQty + ')"><i class="fa fa-edit"></i>配置库存</a>');
+                        actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(' + row.prodInventoryId + ')"><i class="fa fa-edit"></i>库存流水</a>');
                         return actions.join('');
                     }
                 }]
             };
             $.table.init(options);
         });
-
-        function addInventory(prodInventoryId, prodId, prodAttrId, quantity, availQty) {
-            var content = $('#addInventoryDiv').html();
-            layer.open({
-                type: 1,
-                fix: false,
-                maxmin: false,
-                shade: 0.3,
-                area: ['800px', '480px'],
-                title: '添加标签',
-                // 弹层外区域关闭
-                shadeClose: true,
-                success: function(layero, index) {
-                    layero.find('#quantity').val(quantity);
-                    layero.find('#availQty').val(availQty);
-                },
-                content: content,
-                btn: ['<i class="fa fa-check"></i> 确定', '<i class="fa fa-remove"></i> 关闭'],
-                btn1: function() {
-                    var addInvQty = $("#addInvQty").val();
-                    var url = prefix + "/add";
-                    var data = {
-                        "prodInventoryId": prodInventoryId,
-                        "mercId": $("#mercId").val(),
-                        "prodId": prodId,
-                        "prodAttrId": prodAttrId,
-                        "addInvQty": addInvQty,
-                    };
-                    $.post(url, data, function(result) {
-                        if (result.code === web_status.SUCCESS) {
-                            $.modal.closeAll();
-                            $.modal.enable();
-                            $.modal.alertSuccess("添加成功。");
-                            refreshTab();
-                        } else if (result.code === web_status.WARNING) {
-                            $.modal.closeAll();
-                            $.modal.enable();
-                            $.modal.alertWarning(result.msg)
-                        } else {
-                            $.modal.closeAll();
-                            $.modal.enable();
-                            $.modal.alertError(result.msg);
-                        }
-                    });
-                    layer.closeAll();
-                }
-            });
-        }
     </script>
 </body>
 </html>

+ 86 - 0
08.src/Xingxi/xingxi-admin/src/main/resources/templates/business/prodInventory/prodInventoryDetail.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('商品库存列表')" />
+</head>
+<body class="gray-bg">
+    <div class="container-div">
+        <form id="detail-form">
+            <input type="hidden" id="prodInventoryId" name="inventoryId" th:value="${prodInventoryId}">
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+     <!-- 驳回请求区域 -->
+     <script id="addInventoryDiv" type="text/template">
+         <div class="col-xs-offset-1">
+             <form id="formAddInventory">
+                 <div class="select-list col-sm-12" style="margin-top: 10px; display: inline-block;">
+                     <div style="float: left; width: 100px; line-height: 30px">
+                         <label>库存数量:</label>
+                     </div>
+                     <div style="float: left; width: 200px;">
+                         <input type="text" class="form-control" id="quantity" readonly/>
+                     </div>
+                     <div style="float: left; width: 100px; line-height: 30px; margin-left: 20px;">
+                         <label>可售数量:</label>
+                     </div>
+                     <div style="float: left; width: 200px">
+                         <input type="text" class="form-control" id="availQty" readonly/>
+                     </div>
+                 </div>
+                 <div class="col-sm-12 select-list" style="margin-top: 10px; display: inline-block;">
+                     <div style="float: left; width: 100px; line-height: 30px">
+                        <label>增加库存数量:</label>
+                     </div>
+                     <div style="float: left; width: 200px">
+                         <input type="text" class="form-control" id="addInvQty" name="quantity"/>
+                     </div>
+                 </div>
+             </form>
+         </div>
+     </script>
+    <script th:inline="javascript">
+        var prefix = ctx + "business/prodInventory";
+        var billTypeFlags = [[${@dict.getType('inventory_bill_type')}]];
+
+        $(function() {
+            var options = {
+                formId: "detail-form",
+                url: prefix + "/inventory/detailList",
+                modalName: "商品库存流水",
+                showSearch: false,
+                showRefresh: false,
+                showColumns: false,
+                showToggle: false,
+                pageSize: 25,
+                pageList: [10, 25, 50],
+                columns: [
+                    {
+                        field: 'billTime',
+                        title: '流水时间'
+                    },
+                    {
+                        field: 'billType',
+                        title: '流水类型',
+                        formatter: function (value, row, index) {
+                            return $.table.selectDictLabel(billTypeFlags, value);
+                        }
+                    },
+                    {
+                        field: 'quantity',
+                        title: '数量'
+                    },
+                    {
+                        field: 'orderNo',
+                        title: '订单号'
+                    }
+                ]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 4 - 3
08.src/Xingxi/xingxi-admin/src/main/resources/templates/business/prodInventory/prodInventoryOrderEdit.html

@@ -76,14 +76,14 @@
                 createUrl: prefix + "/mercInventory/add",
                 removeUrl: prefix + "/remove",
                 modalName: "商品库存",
+                height: 300,
                 showSearch: false,
                 showRefresh: false,
                 showColumns: false,
                 showToggle: false,
                 clickToSelect: true,
+                rememberSelected: true,
                 queryParams: myQueryParams,
-                pageSize: 5,
-                pageList: [5],
                 columns: [
                     {
                         checkbox: true
@@ -114,7 +114,7 @@
             var inventoryOrderDetails = []
             if ($("#prod-list-table").bootstrapTable('getSelections').length === 0) {
                 $.modal.alertError("没有选择配置库存的商品!");
-            } else if (rows.length === 0) {
+            } else if (rows.length === 0 || !rows[0].prodName) {
                 $.modal.alertError("请选择需要增加库存的商品!");
             } else {
                 var hasData = false;
@@ -181,6 +181,7 @@
                 showColumns: false,
                 showToggle: false,
                 pagination: false,
+                height: 300,
                 clickToSelect: true,
                 data: invDatas,
                 columns: [