From 38a424ae9b559878d0eb91417b02adc475577bb5 Mon Sep 17 00:00:00 2001 From: z Date: Thu, 6 Mar 2025 16:53:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=9F=A5=E8=AF=A2=E7=89=A9?= =?UTF-8?q?=E6=96=99=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../storagelogNow/StorageMaterialDO.java | 2 +- .../storagelog/StorageMaterialMapper.java | 13 ++++------ .../storagelog/StorageLogServiceImpl.java | 25 ++++++++++++++++++- .../src/views/heli/purchaseorder/detail.vue | 6 +---- .../src/views/heli/storage/materials.vue | 4 +-- 5 files changed, 33 insertions(+), 17 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageMaterialDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageMaterialDO.java index 0d35bf1..cffba31 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageMaterialDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageMaterialDO.java @@ -50,7 +50,7 @@ public class StorageMaterialDO extends BaseDO { private String pnName; @TableField(exist = false) - private String matRest; + private BigDecimal matRest; @TableField(exist = false) private String num; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageMaterialMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageMaterialMapper.java index 5130563..c3f6f30 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageMaterialMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageMaterialMapper.java @@ -46,20 +46,17 @@ public interface StorageMaterialMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(StorageMaterialDO.class) - .select("ifnull(sum(t.storage_ok_qty),0) mat_rest") - .select("count(t.id) num"); + .select("ifnull(sum(t.storage_ok_qty),0) matRest") + .select("count(t.id) num") + + .orderByDesc(StorageMaterialDO::getId); query.like(!StringUtils.isEmpty(reqVO.getMatType()),StorageMaterialDO::getMatType, reqVO.getMatType()) .like(!StringUtils.isEmpty(reqVO.getMatSpec()),StorageMaterialDO::getMatSpec, reqVO.getMatSpec()) .like(!StringUtils.isEmpty(reqVO.getMatName()), StorageMaterialDO::getMatName, reqVO.getMatName()) .like(!StringUtils.isEmpty(reqVO.getMatCode()), StorageMaterialDO::getMatCode, reqVO.getMatCode()) .like(!StringUtils.isEmpty(reqVO.getLotNo()),StorageMaterialDO::getLotNo, reqVO.getLotNo()) - .eq(reqVO.getWhId()!=null,StorageMaterialDO::getWhId,reqVO.getWhId()) - .groupBy(StorageMaterialDO::getMatCode) - .groupBy(StorageMaterialDO::getWhId) - .groupBy(StorageMaterialDO::getPnId) - .groupBy(StorageMaterialDO::getRgId) - .orderByDesc(StorageMaterialDO::getId); + .groupBy(StorageMaterialDO::getId).orderByDesc(StorageMaterialDO::getId); return selectPage(reqVO,query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java index 77c3d00..a9726e9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagelog/StorageLogServiceImpl.java @@ -1,5 +1,7 @@ package com.chanko.yunxi.mes.module.heli.service.storagelog; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; @@ -13,9 +15,12 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageMaterialMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; + +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; @@ -119,7 +124,25 @@ public class StorageLogServiceImpl implements StorageLogService { @Override public PageResult getStorageNowPageGroupMaterial(StorageLogPageReqVO pageReqVO) { - return storageMaterialMapper.selectMaterialGroupNow(pageReqVO); + PageResult pageResult = storageMaterialMapper.selectMaterialGroupNow(pageReqVO); + if (ObjectUtil.isNotEmpty(pageReqVO.getWhId())){ + for (StorageMaterialDO storageMaterialDO : pageResult.getList()) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StorageLogNowDO::getWhId,pageReqVO.getWhId()); + wrapper.eq(StorageLogNowDO::getMatCode,storageMaterialDO.getMatCode()); + List list = storageLogNowMapper.selectList(wrapper); + if (list!=null&&list.size()>0){ + storageMaterialDO.setMatRest(list.stream() + .map(StorageLogNowDO::getStorageOkQty) + .filter(Objects::nonNull) // 确保过滤掉 null 值 + .reduce(BigDecimal.ZERO, BigDecimal::add)); + }else { + storageMaterialDO.setMatRest(BigDecimal.ZERO); + + } + } + } + return pageResult; } @Override diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/detail.vue index e5213fe..87098d2 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/detail.vue @@ -663,12 +663,8 @@ import { useTagsViewStore } from '@/store/modules/tagsView' import MaterialSelect from '@/views/heli/hlvuestyle/materialSelect.vue' import CompositionSelect from '@/views/heli/hlvuestyle/compositionSelect.vue' -import materials from '@/views/heli/storage/materials.vue' -import MaterialDialog from '@/views/heli/purchaseorder/materialDialog.vue' -import BoomDialog from '@/views/heli/purchaseorder/boomDialog.vue' -import SupplierSelect from '@/views/heli/hlvuestyle/supplierSelect.vue' -import {setFlagsFromString} from "node:v8"; +import SupplierSelect from '@/views/heli/hlvuestyle/supplierSelect.vue' const reload: any = inject('reload') const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/materials.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/materials.vue index 671106f..5cbf609 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/materials.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/materials.vue @@ -41,7 +41,8 @@ {{scope.row.num>1&&formType=='group'? '':scope.row.pnName}} - + + @@ -125,7 +126,6 @@ const getList = async () => { data = await StorageLogApi.getStorageNowMaterialGroupPage(queryReqVo) }else if(formType.value == 'group'){ data = await StorageLogApi.getStorageNowMaterialGroupPage(queryReqVo) - console.log(JSON.stringify(data)) data.list.forEach(mat =>{ mat.storageOkQty = mat.matRest mat.requireAmount = mat.matRest