From b05ad1b3a75b871b9eb05bcc04af6ee8d9ce9c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Wed, 13 May 2026 16:05:49 +0800 Subject: [PATCH] 1 --- .../app/controller/PageController.java | 8 + .../app/controller/PdaOrderController.java | 6 + .../app/service/InventoryStockService.java | 2 + .../impl/InventoryStockServiceImpl.java | 7 + .../static/js/pdaOther/stockOtherOut.js | 247 ++++++++++++++++++ .../templates/pdaOther/stockOtherOut.ftl | 191 ++++++++++++++ 6 files changed, 461 insertions(+) create mode 100644 src/main/resources/static/js/pdaOther/stockOtherOut.js create mode 100644 src/main/resources/templates/pdaOther/stockOtherOut.ftl diff --git a/src/main/java/com/heai/modules/app/controller/PageController.java b/src/main/java/com/heai/modules/app/controller/PageController.java index f8d426e..a5ae784 100644 --- a/src/main/java/com/heai/modules/app/controller/PageController.java +++ b/src/main/java/com/heai/modules/app/controller/PageController.java @@ -540,4 +540,12 @@ public class PageController { model.addAttribute("titleName" ,titleName); return "/pda/toolInspectRepairSend"; } + + + @GetMapping("/pdaOther/stockOtherOut") + public String stockOtherOut (String menuId ,String titleName,Model model){ + model.addAttribute("menuId" ,menuId); + model.addAttribute("titleName" ,titleName); + return "/pdaOther/stockOtherOut"; + } } diff --git a/src/main/java/com/heai/modules/app/controller/PdaOrderController.java b/src/main/java/com/heai/modules/app/controller/PdaOrderController.java index 546ed2e..8b89137 100644 --- a/src/main/java/com/heai/modules/app/controller/PdaOrderController.java +++ b/src/main/java/com/heai/modules/app/controller/PdaOrderController.java @@ -302,6 +302,12 @@ public class PdaOrderController { return R.ok("操作成功!").put("row" ,resultData); } + @PostMapping("/getInventoryStockDataForOut") + public R getInventoryStockDataForOut(@RequestBody InventoryStockData inventoryStockData){ + InventoryStockData resultData = inventoryStockService.getInventoryStockDataForOut(inventoryStockData); + return R.ok("操作成功!").put("row" ,resultData); + } + @PostMapping("/getInventoryStockDataForChangeLocation") public R getInventoryStockDataForChangeLocation(@RequestBody InventoryStockData inventoryStockData){ InventoryStockData resultData = inventoryStockService.getInventoryStockDataForChangeLocation(inventoryStockData); diff --git a/src/main/java/com/heai/modules/app/service/InventoryStockService.java b/src/main/java/com/heai/modules/app/service/InventoryStockService.java index 63f3a0e..0502043 100644 --- a/src/main/java/com/heai/modules/app/service/InventoryStockService.java +++ b/src/main/java/com/heai/modules/app/service/InventoryStockService.java @@ -19,6 +19,8 @@ public interface InventoryStockService { * @date 2022/04/20 17:45 */ InventoryStockData getInventoryStockData(InventoryStockData inventoryStockData); + + InventoryStockData getInventoryStockDataForOut(InventoryStockData inventoryStockData); /** * @Method getInventoryStockData * @Description: 退料获取库存信息 diff --git a/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java b/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java index 10ea633..0a0bc91 100644 --- a/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java +++ b/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java @@ -48,6 +48,13 @@ public class InventoryStockServiceImpl implements InventoryStockService { InventoryStockData result = inventoryStockDao.getInventoryStockData(inventoryStockData); return result; } + + @Override + public InventoryStockData getInventoryStockDataForOut(InventoryStockData inventoryStockData) { + + InventoryStockData result = inventoryStockDao.getInventoryStockData(inventoryStockData); + return result; + } @Override public InventoryStockData getInventoryStockDataForReturn(InventoryStockData inventoryStockData) { diff --git a/src/main/resources/static/js/pdaOther/stockOtherOut.js b/src/main/resources/static/js/pdaOther/stockOtherOut.js new file mode 100644 index 0000000..39eee09 --- /dev/null +++ b/src/main/resources/static/js/pdaOther/stockOtherOut.js @@ -0,0 +1,247 @@ +var userId = $("#current_id").val(); +var userName = $("#current_username").val(); +var site = $("#current_site").val(); + +var titleName = $("#current_titleName").val(); + +var currentData = null; + + + +var wareHouseId = ''; + +var partNoData = null; + +var inventoryData = null; + +var tableList = new Array(); + +//页面初始化 +$(function(){ + if(titleName != null && titleName != ""){ + $("#titleName").text(titleName); + }else { + window.location.href="/login"; + } + $("#remark").val("库存报废") + + $("#partNo_search").focus(); + +}); + + + +function changeTableList(){ + var qtyOut = $("#qtyOut").val(); + var tableData = { + site: inventoryData.site, + partNo : inventoryData.partNo, + qtyOut : qtyOut, + batchNo : inventoryData.batchNo, + locationId : inventoryData.locationId, + warehouseId : inventoryData.warehouseId, + } + tableList.push(tableData); + changeTable(); +} + +function changeTable(){ + var str = ''; + if(tableList.length > 0){ + $("#wareHouse").val(tableList[0].warehouseId + "-" + tableList[0].wareHouseName); + } + for (let i = 0; i < tableList.length; i++) { + str += '' + + '' + + ''+tableList[i].partNo+'' + + '' + + ''+tableList[i].qtyOut+'' + + '' + + ''+tableList[i].batchNo+'' + + '' + + ''+tableList[i].locationId+''+ + ''; + } + $("#issue_table").html("").append(str); + $("#issue_cancel").click(); +} + +$("#partNo_search").bind("keydown",function(event){ + if (event.keyCode == 13) { + queryPart(); + } +}); + +function queryPart(){ + var partNoSearch = $("#partNo_search").val(); + if(partNoSearch == null || partNoSearch === ""){ + layer.msg("请扫描物料标签!"); + return false + } + var strList = partNoSearch.split("|"); + partNoData = { + site : '', + partNo : '', + wareHouseId : '', + batchNo: '', + locationId : '', + } + if(strList.length < 5){ + layer.msg("物料标签错误!"); + return false + } + for (let i = 0; i < strList.length; i++) { + if(i == 0){ + partNoData.site = strList[i]; + }else if(i == 1){ + partNoData.partNo = strList[i]; + }else if(i == 2){ + partNoData.wareHouseId = strList[i]; + }else if(i == 3){ + partNoData.batchNo = strList[i]; + }else if(i == 4){ + partNoData.locationId = strList[i]; + } + } + + getInventoryData() +} + +function getInventoryData(){ + var wareHouse = $("#wareHouse").val(); + if(wareHouse != null && wareHouse != ""){ + if(tableList.length > 0 && tableList[0].warehouseId != partNoData.wareHouseId){ + layer.msg("仓库编码错误!"); + return false + } + } + var jsonData = { + site : partNoData.site, + warehouseId : partNoData.wareHouseId, + batchNo : partNoData.batchNo, + locationId : partNoData.locationId, + partNo : partNoData.partNo, + } + $.ajax({ + url: "/pdaOrder/getInventoryStockDataForOut", + contentType: 'application/json', + type:"POST", + data:JSON.stringify(jsonData),//你的formid + dataType:"JSON", + async: true, + beforeSend: function(request) { + request.setRequestHeader("token", $.cookie("token")); + }, + success: function (data) { + if(data.code == 0){ + var row = data.row; + if(row != null && row.site != null){ + inventoryData = row; + wareHouseId = row.warehouseId; + initIssueModel(); + }else { + layer.msg("仓库无此物料信息!"); + } + }else { + layer.confirm(data.msg, { + btn: ['确定'] + }, function (index) { + layer.close(index); + }); + } + }, + error: function(data) { + var responseText = data.responseText; + var json_str = JSON.parse(responseText); + var status = json_str.status; + var message = json_str.message; + //判断是否是session超时 + if(403==status){ + layer.alert(message,function(){ + window.location.href="/login"; + }); + } + layer.closeAll('loading'); + } + }) +} + +function initIssueModel(){ + $("#qtyOut").val(inventoryData.qtyOnHand); + if(inventoryData.weightFactor!='-1'&&inventoryData.weightFactor!='0'&&inventoryData.weightFactor!=''&&inventoryData.weightFactor!=null){ + $("#qtyOutKG").val((inventoryData.qtyOnHand*inventoryData.weightFactor).toFixed(1)); + $("#qtyOutKG").removeAttr("disabled"); + }else { + $("#qtyOutKG").val(''); + $("#qtyOutKG").attr("disabled", "disabled"); + } + $("#issue_modal").modal(); +} +//失去焦点事件 +$('#qtyOutKG').blur(function () { + let qtyOutKG=$('#qtyOutKG').val(); + let weightFactor=inventoryData.weightFactor; + if(weightFactor!=0&&weightFactor!=-1&&qtyOutKG!=''){ + $('#qtyOut').val((qtyOutKG/weightFactor).toFixed(1)) + } +}) + +//失去焦点事件 +$('#qtyOut').blur(function () { + let qtyOut=$('#qtyOut').val(); + let weightFactor=inventoryData.weightFactor; + if(weightFactor!=0&&weightFactor!=-1&&qtyOut!=''){ + $('#qtyOutKG').val((qtyOut*weightFactor).toFixed(1)) + } +}) +//模态框显示触发 +$("#issue_modal").on("shown.bs.modal",function(){ + $("#qtyOut").focus(); +}); + +//模态框隐藏触发 +$("#issue_modal").on("hidden.bs.modal",function(){ + $("#partNo_search").val("").focus(); +}); + +$("#qtyOut").bind("keydown",function(event){ + if (event.keyCode == 13) { + saveTable(); + } +}); + +function saveTable(){ + var qtyOut = $("#qtyOut").val(); + if(qtyOut == null || qtyOut == "" || qtyOut <= 0){ + layer.msg("其他出库数量错误!"); + return false; + } + changeTableList(); +} + +//下级界面页面跳转 +function clearAll(){ + $("#wareHouse").val("") + $("#remark").val("库存报废") + $("#partNo_search").val("") + $("#qtyOut").val("") + $("#qtyOutKG").val("") + tableList= [] + changeTable(); +} + +//下级界面页面跳转 +function saveData(){ + clearAll() +} + +//初始化下拉框 +function selectInit(){ + $('.selectpicker').selectpicker({ + noneSelectedText: '', + noneResultsText: '', + liveSearch: true, + width:140, + size:5 //设置select高度,同时显示5个值 + }); +} diff --git a/src/main/resources/templates/pdaOther/stockOtherOut.ftl b/src/main/resources/templates/pdaOther/stockOtherOut.ftl new file mode 100644 index 0000000..c9d912a --- /dev/null +++ b/src/main/resources/templates/pdaOther/stockOtherOut.ftl @@ -0,0 +1,191 @@ + + + + + + + + + + + ${project_title!"赫艾Pda"} + + + + + + + + + + + + + +
+
+
+
+ <#----> + + +
+
+

+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + +
+ 物料编码 + + 数量 + + 批号 + + 库位 +
+
+
+ + + +
+
+ +
+ +
+
+ +
+ + +
+ + + + +
+ + + + + + + + + \ No newline at end of file