fix:出库bug处理,产品库存页面增加权限限制
parent
2c6547f5ec
commit
0106da0c29
|
|
@ -53,14 +53,14 @@
|
|||
<el-table-column label="产品名称" align="center" prop="productName" show-overflow-tooltip />
|
||||
<el-table-column label="在库现存" align="center" prop="inventoryNum">
|
||||
<template slot-scope="scope">
|
||||
<el-link v-if="scope.row.inventoryNum" class="inventory-num inventory-num--stock" :underline="false" @click="handleInventoryInner(scope.row)">{{ scope.row.inventoryNum }}</el-link>
|
||||
<span v-else class="inventory-num inventory-num--empty">0</span>
|
||||
<el-link v-if="scope.row.inventoryNum && checkPermi(['inventory:info:button'])" class="inventory-num inventory-num--stock" :underline="false" @click="handleInventoryInner(scope.row)">{{ scope.row.inventoryNum }}</el-link>
|
||||
<span v-else :class="['inventory-num', scope.row.inventoryNum ? 'inventory-num--stock' : 'inventory-num--empty']">{{ scope.row.inventoryNum || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="在途库存" align="center" prop="purchaseNum">
|
||||
<template slot-scope="scope">
|
||||
<el-link v-if="scope.row.purchaseNum" class="inventory-num inventory-num--bind" :underline="false" @click="handlePurchaseStock(scope.row)">{{ scope.row.purchaseNum }}</el-link>
|
||||
<span v-else class="inventory-num inventory-num--empty">0</span>
|
||||
<el-link v-if="scope.row.purchaseNum && checkPermi(['inventory:info:button'])" class="inventory-num inventory-num--bind" :underline="false" @click="handlePurchaseStock(scope.row)">{{ scope.row.purchaseNum }}</el-link>
|
||||
<span v-else :class="['inventory-num', scope.row.purchaseNum ? 'inventory-num--bind' : 'inventory-num--empty']">{{ scope.row.purchaseNum || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可用量" align="center" prop="usableNum">
|
||||
|
|
@ -70,8 +70,8 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="锁单量" align="center" prop="bindNum">
|
||||
<template slot-scope="scope">
|
||||
<el-link v-if="scope.row.bindNum" class="inventory-num inventory-num--purchase" :underline="false" @click="handleBindOrder(scope.row)">{{ scope.row.bindNum }}</el-link>
|
||||
<span v-else class="inventory-num inventory-num--empty">0</span>
|
||||
<el-link v-if="scope.row.bindNum && checkPermi(['inventory:info:button'])" class="inventory-num inventory-num--purchase" :underline="false" @click="handleBindOrder(scope.row)">{{ scope.row.bindNum }}</el-link>
|
||||
<span v-else :class="['inventory-num', scope.row.bindNum ? 'inventory-num--purchase' : 'inventory-num--empty']">{{ scope.row.bindNum || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="累计发货" align="center" prop="outerNum">
|
||||
|
|
@ -82,8 +82,10 @@
|
|||
<el-table-column label="制造商" align="center" prop="vendorName" show-overflow-tooltip/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-download" @click="handleInnerLog(scope.row)">入库记录</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-upload2" @click="handleOuterLog(scope.row)">出库记录</el-button>
|
||||
<template v-if="checkPermi(['inventory:info:button'])">
|
||||
<el-button size="mini" type="text" icon="el-icon-download" @click="handleInnerLog(scope.row)">入库记录</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-upload2" @click="handleOuterLog(scope.row)">出库记录</el-button>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -344,6 +346,7 @@
|
|||
|
||||
<script>
|
||||
import { listInfo, getInfo, addInfo, updateInfo, delInfo, listAllVendors, listAllWarehouses, getPurchaseStock, getBindOrder, getInventoryInner } from "@/api/inventory/info";
|
||||
import { checkPermi } from "@/utils/permission";
|
||||
import { getInner } from "@/api/inventory/inner";
|
||||
import InnerLog from './innerLog';
|
||||
import OuterLog from './outerLog';
|
||||
|
|
@ -462,6 +465,7 @@ export default {
|
|||
this.getOptions();
|
||||
},
|
||||
methods: {
|
||||
checkPermi,
|
||||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位">
|
||||
<span>台</span>
|
||||
<span>个</span>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价">
|
||||
<template slot-scope="scope">
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位">
|
||||
<span>台</span>
|
||||
<span>个</span>
|
||||
</el-table-column>
|
||||
<el-table-column label="单价">
|
||||
<template slot-scope="scope">
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ public interface InventoryInfoMapper
|
|||
|
||||
int updateOrderCodeByProductSnList(@Param("productSnList") List<String> productSnList, @Param("orderCode") String orderCode);
|
||||
|
||||
int countByOrderCodeAndPurchaseNo(@Param("orderCode") String orderCode, @Param("purchaseNo") String purchaseNo);
|
||||
int countByOrderCodeAndPurchaseNo(@Param("orderCode") String orderCode, @Param("purchaseNo") String purchaseNo, @Param("productCode") String productCode);
|
||||
|
||||
void clearOrderCodeByIds(@Param("idList") List<Long> idList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
|||
throw new ServiceException("当前订单与采购单未建立绑定关系或绑定数量为0");
|
||||
}
|
||||
int totalBindNum = purchaseOrderMap.getBindNum();
|
||||
int alreadyBindNum = inventoryInfoMapper.countByOrderCodeAndPurchaseNo(inventoryDelivery.getOrderCode(), inventoryDelivery.getPurchaseNo());
|
||||
int alreadyBindNum = inventoryInfoMapper.countByOrderCodeAndPurchaseNo(inventoryDelivery.getOrderCode(), inventoryDelivery.getPurchaseNo(), inventoryDelivery.getProductCode());
|
||||
int remainingNum = totalBindNum - alreadyBindNum;
|
||||
if (newSnCount > remainingNum) {
|
||||
throw new ServiceException(String.format("新增SN码数量(%d)超过剩余可新增数量(%d),总绑定数(%d),已绑定数(%d)", newSnCount, remainingNum, totalBindNum, alreadyBindNum));
|
||||
|
|
@ -176,7 +176,7 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
|||
}
|
||||
|
||||
int totalBindNum = purchaseOrderMap.getBindNum();
|
||||
int alreadyBindNum = inventoryInfoMapper.countByOrderCodeAndPurchaseNo(inventoryDelivery.getOrderCode(), purchaseNo);
|
||||
int alreadyBindNum = inventoryInfoMapper.countByOrderCodeAndPurchaseNo(inventoryDelivery.getOrderCode(), purchaseNo, inventoryDelivery.getProductCode());
|
||||
int remainingNum = totalBindNum - alreadyBindNum;
|
||||
|
||||
if (newSnCount > remainingNum) {
|
||||
|
|
|
|||
|
|
@ -257,6 +257,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
inner join oms_inventory_inner t2 on t1.inner_code = t2.inner_code
|
||||
where t1.order_code = #{orderCode}
|
||||
and t2.purchase_no = #{purchaseNo}
|
||||
and t1.product_code = #{productCode}
|
||||
</select>
|
||||
|
||||
<update id="clearOrderCodeByIds">
|
||||
|
|
|
|||
Loading…
Reference in New Issue