From c57dd2ed157a0129045fbe538f9098020646b58e Mon Sep 17 00:00:00 2001 From: erdanergou Date: Sat, 11 Feb 2023 13:05:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MaterialController.java | 22 +++++++++++++++++-- .../impl/DepositoryRecordServiceImpl.java | 6 ++--- .../templates/pages/split/split-out.html | 10 +++++++++ .../pages/stockTaking/stockTaking.html | 8 +++---- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java index 19de1696..0509eab5 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -1480,7 +1480,6 @@ public class MaterialController { @PostMapping("/findMaterialForTaking") public RestResponse findMaterialForTaking(@RequestBody Map map, HttpServletRequest request) { String placeId = (String) map.get("placeId"); - // 用于查询物料 Map param = new HashMap<>(); param.put("mname", map.get("mname")); @@ -1488,7 +1487,26 @@ public class MaterialController { List inventory = materialService.findInventory(param); if ("0".equals(placeId)) { // 如果是默认库位 - return new RestResponse(inventory, materialService.findInventoryCount(param), 200); + if (inventory.size() > 1) { + return new RestResponse(inventory, materialService.findInventoryCount(param), 200); + } else { + // 获取当前物料 + InventoryP materialP = inventory.get(0); + MaterialAndPlace pm = placeService.findPlaceAndMaterialByMidAndPid(0, materialP.getId()); + if(pm!=null) { + Map paramForCode = new HashMap<>(); + paramForCode.put("mcode", materialP.getCode()); + paramForCode.put("codeFlag", 1); + List materialByBarCodeByCondition = materialService.findMaterialByBarCodeByCondition(paramForCode); + List splitInfoByMid = splitUnitService.findSplitInfoByMid(materialP.getMid()); + materialP.setSplitInfoList(splitInfoByMid); + materialP.setMaterialAndBarCodeList(materialByBarCodeByCondition); + materialP.setBaseUnitQuantity(pm.getQuantity()); + return new RestResponse(materialP, 1, 200); + }else { + return new RestResponse("", 0, 200); + } + } } else { // 如果不是默认库位 // 获取当前库位 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index e42bff27..3ee663bb 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -1267,15 +1267,15 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 如果当前库存数量满足要求 // 获取当前出库的具体数目 - int residue = trueOut / splitInfo.getQuantity(); + int residue = (int) Math.ceil(trueOut / (double)splitInfo.getQuantity()); // 获取剩余数目 int residue_realQuantity = trueOut - residue * splitInfo.getQuantity(); // 设置新总额 - inventory.setAmounts(inventory.getAmounts() - (residue + 1) * inventory.getPrice()); + inventory.setAmounts(inventory.getAmounts() - residue * inventory.getPrice()); // 设置新库存 - inventory.setQuantity(inventory.getQuantity() - residue - 1); + inventory.setQuantity(inventory.getQuantity() - residue ); //更新库存 materialMapper.updateInventory(inventory); diff --git a/src/main/resources/templates/pages/split/split-out.html b/src/main/resources/templates/pages/split/split-out.html index 9f74171f..55fdfab4 100644 --- a/src/main/resources/templates/pages/split/split-out.html +++ b/src/main/resources/templates/pages/split/split-out.html @@ -25,6 +25,13 @@ +
+ +
+ +
+
+
@@ -155,6 +162,9 @@ if (data.mcode !== '') { req.mcode = data.mcode } + if (data.version !== '') { + req.version = data.version + } //执行搜索重载 table.reload('currentTableId', { diff --git a/src/main/resources/templates/pages/stockTaking/stockTaking.html b/src/main/resources/templates/pages/stockTaking/stockTaking.html index 90d261b5..6878f210 100644 --- a/src/main/resources/templates/pages/stockTaking/stockTaking.html +++ b/src/main/resources/templates/pages/stockTaking/stockTaking.html @@ -167,14 +167,14 @@
-
-
@@ -1042,7 +1042,7 @@ materialTypeItem[3].value = material.typeId; textureChildren.childNodes[3].childNodes[1].value = material.texture === null || material.texture === undefined ? '' : material.texture; versionChildren.childNodes[3].childNodes[1].value = material.version === null || material.version === undefined ? '' : material.version; - inventoryChildren.childNodes[3].childNodes[1].value = material.quantity; + inventoryChildren.childNodes[3].childNodes[1].value = material.baseUnitQuantity; var idNumber = materialId.name.split("mid")[1]; // 获取物料与条形码的对应关系 var materialAndBarCodeList = material["materialAndBarCodeList"]; @@ -1058,7 +1058,7 @@ } let unitItem = $("#unit" + idNumber); unitItem.empty(); - unitItem.append(new Option(material.unit, "-1")); + unitItem.append(new Option(material.baseUnit, "-1")); let splitInfoList = material.splitInfoList; if (splitInfoList.length > 0) { $.each(splitInfoList, function (index, item) {