From 2bc3366202a838c41826a7c88586f95624403f5a Mon Sep 17 00:00:00 2001 From: siontion Date: Sun, 4 Feb 2024 16:16:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E7=89=A9=E6=96=99=E5=88=9D=E5=A7=8B=E5=8F=AF=E8=A7=86=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E5=BA=93=E5=AD=98=E6=95=B0=E9=87=8F=E4=B8=BA0?= =?UTF-8?q?=E7=9A=84=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 仓库管理 物料初始可视化,库存数量为0的展示 --- .../yunxi/mes/module/heli/enums/CodeEnum.java | 2 +- .../dal/mysql/mouldtype/MouldTypeMapper.java | 2 +- .../heli/dal/mysql/storage/StorageMapper.java | 2 + .../service/storage/StorageServiceImpl.java | 31 ++++-- .../storagecheck/StorageCheckServiceImpl.java | 20 +++- .../src/api/heli/equip/index.ts | 5 +- .../src/views/heli/equip/index.vue | 94 +++---------------- .../src/views/heli/storage/StorageForm.vue | 2 +- .../src/views/heli/storage/StorageOut.vue | 12 ++- .../src/views/heli/storage/index.vue | 2 +- .../src/views/heli/storage/outdex.vue | 4 +- .../views/heli/storagecheck/checkdetail.vue | 2 +- .../src/views/heli/storagecheck/index.vue | 2 +- 13 files changed, 75 insertions(+), 105 deletions(-) diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java index ffb1b6fb..f8524669 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/CodeEnum.java @@ -40,7 +40,7 @@ public enum CodeEnum { WAREHOUSE("仓库", "Wa", 4), STOCK_IN("入库单", "WI", 4, "yyyyMMdd"), STOCK_OUT("出库单", "WO", 4, "yyyyMMdd"), - STOCK_CHECK("盘点单据", "WC", 4, "yyyyMMdd"), + STOCK_CHECK("盘点单据", "WC", 3, "yyyyMMdd"), PROJECT_ORDER("业务订单", 3, "yyyyMM"), PROJECT_DELIVERY_ORDER("发货单", "HL", 3, "yyyyMM"), ; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/mouldtype/MouldTypeMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/mouldtype/MouldTypeMapper.java index fa8d597a..93853197 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/mouldtype/MouldTypeMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/mouldtype/MouldTypeMapper.java @@ -28,7 +28,7 @@ public interface MouldTypeMapper extends BaseMapperX { } default List> selectSimpleList() { - return selectMaps(new QueryWrapper().select("id", "name","mould_type_id").lambda()); + return selectMaps(new QueryWrapper().select("id", "name").lambda()); } } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java index f6735725..9484952d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java @@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -36,6 +37,7 @@ public interface StorageMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getMatName()), MaterialDO::getName, reqVO.getMatName()) .like(!StringUtils.isEmpty(reqVO.getStockNo()),StorageDO::getStockNo, reqVO.getStockNo()) .like(!StringUtils.isEmpty(reqVO.getHeaderNo()),StorageDO::getHeaderNo, reqVO.getHeaderNo()) + .eq(true,MaterialDO::getVirtualPart, YesOrNoEnum.N.name()) .eq(reqVO.getStockType() != null,StorageDO::getStockType, reqVO.getStockType()) .eq(reqVO.getStockInType() != null,StorageDO::getStockInType, reqVO.getStockInType()) .eq(reqVO.getWhId() != null,StorageDO::getWhId, reqVO.getWhId()) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java index ae5e2d8d..c7fd07f0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storage/StorageServiceImpl.java @@ -1,11 +1,16 @@ package com.chanko.yunxi.mes.module.heli.service.storage; import cn.hutool.core.lang.UUID; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; +import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; +import com.chanko.yunxi.mes.module.heli.enums.CodeEnum; +import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.util.*; import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; @@ -31,22 +36,36 @@ public class StorageServiceImpl implements StorageService { @Resource private StorageMapper storageMapper; + @Resource + private SerialNumberService serialNumberService; + @Override + @Transactional(rollbackFor = Exception.class) public Long createStorage(StorageSaveReqVO createReqVO) { // 插入 StorageDO storage = BeanUtils.toBean(createReqVO, StorageDO.class); - storage.setStockNo(UUID.fastUUID().toString(true)); - storageMapper.insert(storage); + + + SerialNumberDO serialNumberDO = new SerialNumberDO(); if(createReqVO.getStockType().equals(1)) { + // 月度流水号 + serialNumberDO = serialNumberService.getSerialNumber(CodeEnum.STOCK_IN.name(), new SimpleDateFormat("yyyyMMdd").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + // 入库前缀 - storage.setStockNo(STOCK_IN.getCode(storage.getId().toString())); + storage.setStockNo(STOCK_IN.getCode(serialNumberDO.getSerialNumber().toString())); }else{ + // 月度流水号 + serialNumberDO = serialNumberService.getSerialNumber(CodeEnum.STOCK_OUT.name(), new SimpleDateFormat("yyyyMMdd").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + // 出库前缀 - storage.setStockNo(STOCK_OUT.getCode(storage.getId().toString())); + storage.setStockNo(STOCK_OUT.getCode(serialNumberDO.getSerialNumber().toString())); } - - storageMapper.updateById(storage); + storageMapper.insert(storage); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); // 返回 return storage.getId(); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java index 112a0a5f..2d1fb13f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagecheck/StorageCheckServiceImpl.java @@ -1,6 +1,7 @@ package com.chanko.yunxi.mes.module.heli.service.storagecheck; import cn.hutool.core.lang.UUID; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagecheckmat.StorageCheckMatDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; @@ -9,14 +10,18 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagecheckmat.StorageCheckMatMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper; +import com.chanko.yunxi.mes.module.heli.enums.CodeEnum; +import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.heli.service.storagecheckmat.StorageCheckMatService; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.print.DocFlavor; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; import com.chanko.yunxi.mes.module.heli.controller.admin.storagecheck.vo.*; @@ -58,15 +63,24 @@ public class StorageCheckServiceImpl implements StorageCheckService { @Resource private StorageCheckMatService storageCheckMatService; + @Resource + private SerialNumberService serialNumberService; + @Override + @Transactional(rollbackFor = Exception.class) public Long createStorageCheck(StorageCheckSaveReqVO createReqVO) { // 插入 StorageCheckDO storageCheck = BeanUtils.toBean(createReqVO, StorageCheckDO.class); - storageCheck.setStockNo(UUID.fastUUID().toString(true)); + // 月度流水号 + SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(CodeEnum.STOCK_CHECK.name(), new SimpleDateFormat("yyyyMM").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + + storageCheck.setStockNo(STOCK_CHECK.getCode(serialNumberDO.getSerialNumber().toString())); + storageCheckMapper.insert(storageCheck); - storageCheck.setStockNo(STOCK_CHECK.getCode(storageCheck.getId().toString())); - storageCheckMapper.updateById(storageCheck); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); // 返回 return storageCheck.getId(); } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/equip/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/equip/index.ts index 6c87f6bc..d5768c97 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/equip/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/equip/index.ts @@ -6,10 +6,7 @@ export interface EquipVO { mouldTypeId: number status: number } -// 查询设备信息全页数据 -export const getSimpList = async () => { - return await request.get({ url: `/heli/equip/all-simples` }) -} + // 查询设备信息分页 export const getEquipPage = async (params) => { return await request.get({ url: `/heli/equip/page`, params }) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/equip/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/equip/index.vue index 4fc59c29..64fcbe7a 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/equip/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/equip/index.vue @@ -17,14 +17,11 @@ class="!w-240px" /> - - + + + + @@ -32,65 +29,7 @@ :value="dict.value" /> - - - - - - - - - - - - - - - - - - - - + 搜索 重置 @@ -118,10 +57,9 @@ - - - - + + +