From 671150e40ddb26cf9bab4d65938f8795f095bad7 Mon Sep 17 00:00:00 2001 From: z Date: Sat, 5 Jul 2025 02:52:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StorageInventoryController.java | 8 +- .../storageinventory/StorageInventoryDO.java | 4 +- .../StorageInventoryMapper.java | 41 +++- .../StorageInventoryService.java | 2 + .../StorageInventoryServiceImpl.java | 5 + mes-ui/mes-ui-admin-vue3/package.json | 2 +- .../src/api/heli/storageinventory/index.ts | 4 + .../views/heli/materialplan/standardbuy.vue | 12 +- .../views/heli/materialplan/storageLog.vue | 232 +++++++++--------- .../views/heli/storagelog/StorageLogForm.vue | 3 +- .../src/views/heli/storagelog/supplement.vue | 2 +- 11 files changed, 183 insertions(+), 132 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java index 504b284..f84013e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java @@ -123,5 +123,11 @@ public class StorageInventoryController { PageResult pageResult = storageInventoryService.getSupplementPage(pageReqVO); return success(pageResult); } - + @GetMapping("/realTimeInventory") + @Operation(summary = "获得实时库存分页") + @PreAuthorize("@ss.hasPermission('heli:storage-inventory:query')") + public CommonResult> realTimeInventory(@Valid StorageInventoryPageReqVO pageReqVO) { + PageResult pageResult = storageInventoryService.realTimeInventory(pageReqVO); + return success(pageResult); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageinventory/StorageInventoryDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageinventory/StorageInventoryDO.java index e44b31e..c40e79d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageinventory/StorageInventoryDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageinventory/StorageInventoryDO.java @@ -111,7 +111,8 @@ public class StorageInventoryDO extends BaseDO { @TableField(exist = false) private BigDecimal storageOkQty; - + @TableField(exist = false) + private BigDecimal sumKcMoney; @TableField(exist = false) private String matName; @@ -146,4 +147,5 @@ public class StorageInventoryDO extends BaseDO { private String invSafe; @TableField(exist = false) private Integer exist;//是否存在,盘库使用, 0存在 1不存在 + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageinventory/StorageInventoryMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageinventory/StorageInventoryMapper.java index 11d341e..e36003a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageinventory/StorageInventoryMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageinventory/StorageInventoryMapper.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory; import java.util.*; import java.util.stream.Collectors; +import cn.hutool.core.util.ObjectUtil; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; @@ -169,10 +170,10 @@ public interface StorageInventoryMapper extends BaseMapperX default PageResult getSupplementPage(StorageInventoryPageReqVO pageReqVO){ MPJLambdaWrapper subQuery = new MPJLambdaWrapper<>(); - subQuery.select(StorageInventoryDO::getMatCode) + subQuery.select(StorageInventoryDO::getMaterialId) .leftJoin(MaterialDO.class, "m", MaterialDO::getId, StorageInventoryDO::getMaterialId) .groupBy(StorageInventoryDO::getMaterialId) - .having("SUM(yard_amount) < COALESCE(MAX(m.inv_safe), 0)"); + .having("SUM(t.yard_amount) < COALESCE(MAX(m.inv_safe), 0)"); //执行子查询获取符合条件的matCode List qualifiedMatCodes = this.selectList(subQuery) .stream() @@ -217,4 +218,40 @@ public interface StorageInventoryMapper extends BaseMapperX return selectPage(pageReqVO, query); } + default PageResult realTimeInventory(StorageInventoryPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(StorageInventoryDO.class) + .select("ifnull(sum(t.yard_amount),0) storageOkQty") + .select("ROUND(ifnull(t.yard_amount * t.price,0), 2) as sumKcMoney") + .select("m.name as matName,m.code as matCode,d.label as matType,m.spec as matSpec,m.brand as matBrand") + .select("d1.label as matUnit") + .select("w.wh_name as whName","r.rg_name as rgName","p.pn_name as pnName") + .select("m.material_type as materialTypeId","m.unit as matUnitId") + .leftJoin(MaterialDO.class, "m", MaterialDO::getId, StorageInventoryDO::getMaterialId) + .leftJoin(DictDataDO.class,"d",DictDataDO::getValue, MaterialDO::getMaterialType) + .leftJoin(DictDataDO.class,"d1",DictDataDO::getValue, MaterialDO::getUnit) + .leftJoin(WarehouseDO.class,"w",WarehouseDO::getId, StorageInventoryDO::getWhId) + .leftJoin(RgDO.class,"r",RgDO::getId, StorageInventoryDO::getRgId) + .leftJoin(PnDO.class,"p",PnDO::getId, StorageInventoryDO::getPnId) + .disableSubLogicDel() + .groupBy(StorageInventoryDO::getId) + .orderByDesc(StorageInventoryDO::getId); + + query.like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatSpec()),MaterialDO::getSpec, pageReqVO.getMatSpec()) + .like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatName()), MaterialDO::getName, pageReqVO.getMatName()) + .like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatCode()), MaterialDO::getCode, pageReqVO.getMatCode()) + .like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getShortName()), MaterialDO::getShortName, pageReqVO.getShortName()) + .eq(ObjectUtil.isNotEmpty(pageReqVO.getMatType()),MaterialDO::getMaterialType, pageReqVO.getMatType()) + .eq(ObjectUtil.isNotEmpty(pageReqVO.getLotNo()),StorageInventoryDO::getLotNo, pageReqVO.getLotNo()) + .eq(true,MaterialDO::getVirtualPart, YesOrNoEnum.N.name()) + .ne(StorageInventoryDO::getYardAmount,0) + .eq(MaterialDO::getStatus,1) + .eq(pageReqVO.getWhId()!= null,StorageInventoryDO::getWhId, pageReqVO.getWhId()) + .eq(pageReqVO.getRgId()!= null,StorageInventoryDO::getRgId, pageReqVO.getRgId()) + .eq(pageReqVO.getPnId()!= null,StorageInventoryDO::getPnId, pageReqVO.getPnId()) + .eq("d.dict_type","heli_material_type") + .eq("d1.dict_type","heli_material_unit"); + return selectPage(pageReqVO, query); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryService.java index 80fff55..8959899 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryService.java @@ -57,4 +57,6 @@ public interface StorageInventoryService { List getStorageNowList(StorageInventoryPageReqVO queryReqVO); StorageInventoryDO selectNowByMatPnId(Long matId, Long pnId); + + PageResult realTimeInventory(StorageInventoryPageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryServiceImpl.java index cd359d4..ce27c14 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storageinventory/StorageInventoryServiceImpl.java @@ -101,4 +101,9 @@ public class StorageInventoryServiceImpl implements StorageInventoryService { .eq(StorageInventoryDO::getPnId, pnId)); } + @Override + public PageResult realTimeInventory(StorageInventoryPageReqVO pageReqVO) { + return storageInventoryMapper.realTimeInventory(pageReqVO); + } + } diff --git a/mes-ui/mes-ui-admin-vue3/package.json b/mes-ui/mes-ui-admin-vue3/package.json index 6fcf106..9a10915 100644 --- a/mes-ui/mes-ui-admin-vue3/package.json +++ b/mes-ui/mes-ui-admin-vue3/package.json @@ -6,7 +6,7 @@ "private": false, "scripts": { "i": "pnpm install", - "dev": "vite --mode dev", + "dev": "vite --mode base", "front": "vite --mode front", "ts:check": "vue-tsc --noEmit", "build:pro": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode pro", diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts index 21f7298..270d13c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts @@ -58,3 +58,7 @@ export const exportStorageInventory = async (params) => { export const getSupplementPage = async (params) => { return await request.get({ url: `/heli/storage-inventory/getSupplementPage`, params }) } +// 查询入/出库实时分页 +export const realTimeInventory = async (params) => { + return await request.get({ url: `/heli/storage-inventory/realTimeInventory`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue index c6d8a8d..201d5e4 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/standardbuy.vue @@ -255,14 +255,14 @@ const handleExportDetail = async () => { exportLoading.value = false } } -const getMat = async (rowids,amount,ids,matCodes,name) => { +const getMat = async (data) => { //formData.value.boomItemDOList = arrBoom for(var i = 0 ; i < list.value.length ; i ++){ - if(list.value[i].id == rowids){ - list.value[i].matRest = amount - list.value[i].matCode = matCodes - list.value[i].materialId = ids - list.value[i].materialName = name + if(list.value[i].id == data.rowid){ + list.value[i].matRest = data.matRest + list.value[i].matCode = data.matCode + list.value[i].materialId = data.materialId + list.value[i].materialName =data.matName // await updateRow(2,list.value[i]); break; } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue index 948c990..e9c9ae7 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/storageLog.vue @@ -1,54 +1,66 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue index 6e796d1..948660b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagelog/StorageLogForm.vue @@ -95,6 +95,7 @@ v-for="dict in pnCurrentList" :key="dict.id" :label="dict.pn_name"