From 97a69bce8b08a5c178270d694a422b102d289ebf Mon Sep 17 00:00:00 2001 From: siontion Date: Sat, 20 Jan 2024 16:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=87=BA=E5=BA=93=20?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 入库出库 页面接口调整 --- .../storagemat/StorageMatController.java | 10 ++ .../storagemat/vo/StorageMatValidRespVO.java | 37 ++++ .../mysql/storagemat/StorageMatMapper.java | 2 +- .../service/storagemat/StorageMatService.java | 117 +++++++------ .../storagemat/StorageMatServiceImpl.java | 158 ++++++++++-------- .../mapper/storagemat/StorageMatMapper.xml | 18 +- .../src/api/heli/storagemat/index.ts | 5 + .../src/views/heli/storage/StorageForm.vue | 34 ---- .../src/views/heli/storage/StorageOut.vue | 91 ++++------ 9 files changed, 246 insertions(+), 226 deletions(-) create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatValidRespVO.java diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java index 0b80f945..18f7161b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/StorageMatController.java @@ -106,4 +106,14 @@ public class StorageMatController { BeanUtils.toBean(list, StorageMatRespVO.class)); } + + @GetMapping("/get-materials") + @Operation(summary = "获得入/出库物料") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:storage-mat:query')") + public CommonResult> getStorageMatList() { + List list = storageMatService.getStorageMatList(); + return success(BeanUtils.toBean(list, StorageMatValidRespVO.class)); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatValidRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatValidRespVO.java new file mode 100644 index 00000000..a2c7aaea --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagemat/vo/StorageMatValidRespVO.java @@ -0,0 +1,37 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +@Data +public class StorageMatValidRespVO { + + private Long matId; + + private String matName; + + private String matCode; + + private String materialType; + + private Long whId; + + private Long rgId; + + private Long pnId; + + private BigDecimal matRest; + + private String lotNo; + + private String spec; + + private String unit; + + private String storageOkQty; + + +} \ 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/storagemat/StorageMatMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java index 18c84920..22be3ced 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagemat/StorageMatMapper.java @@ -33,5 +33,5 @@ public interface StorageMatMapper extends BaseMapperX { .betweenIfPresent(StorageMatDO::getUpdateTime, reqVO.getUpdateTime()) .orderByDesc(StorageMatDO::getId)); } - + List selectStorageMatValid(); } \ 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/service/storagemat/StorageMatService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java index 69cb544a..b1d35aac 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatService.java @@ -1,55 +1,62 @@ -package com.chanko.yunxi.mes.module.heli.service.storagemat; - -import java.util.*; -import javax.validation.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; - -/** - * 入/出库物料 Service 接口 - * - * @author 管理员 - */ -public interface StorageMatService { - - /** - * 创建入/出库物料 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createStorageMat(@Valid StorageMatSaveReqVO createReqVO); - - /** - * 更新入/出库物料 - * - * @param updateReqVO 更新信息 - */ - void updateStorageMat(@Valid StorageMatSaveReqVO updateReqVO); - - /** - * 删除入/出库物料 - * - * @param id 编号 - */ - void deleteStorageMat(Long id); - - /** - * 获得入/出库物料 - * - * @param id 编号 - * @return 入/出库物料 - */ - StorageMatDO getStorageMat(Long id); - - /** - * 获得入/出库物料分页 - * - * @param pageReqVO 分页查询 - * @return 入/出库物料分页 - */ - PageResult getStorageMatPage(StorageMatPageReqVO pageReqVO); - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.storagemat; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 入/出库物料 Service 接口 + * + * @author 管理员 + */ +public interface StorageMatService { + + /** + * 创建入/出库物料 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createStorageMat(@Valid StorageMatSaveReqVO createReqVO); + + /** + * 更新入/出库物料 + * + * @param updateReqVO 更新信息 + */ + void updateStorageMat(@Valid StorageMatSaveReqVO updateReqVO); + + /** + * 删除入/出库物料 + * + * @param id 编号 + */ + void deleteStorageMat(Long id); + + /** + * 获得入/出库物料 + * + * @param id 编号 + * @return 入/出库物料 + */ + StorageMatDO getStorageMat(Long id); + + /** + * 获得入/出库物料分页 + * + * @param pageReqVO 分页查询 + * @return 入/出库物料分页 + */ + PageResult getStorageMatPage(StorageMatPageReqVO pageReqVO); + + /** + * 获得入/出库物料列表 + * + * @return 入/出库物料分页 + */ + List getStorageMatList(); + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java index 00bd5029..638a4b19 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagemat/StorageMatServiceImpl.java @@ -1,74 +1,84 @@ -package com.chanko.yunxi.mes.module.heli.service.storagemat; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; - -import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper; - -import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; - -/** - * 入/出库物料 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class StorageMatServiceImpl implements StorageMatService { - - @Resource - private StorageMatMapper storageMatMapper; - - @Override - public Long createStorageMat(StorageMatSaveReqVO createReqVO) { - // 插入 - StorageMatDO storageMat = BeanUtils.toBean(createReqVO, StorageMatDO.class); - storageMatMapper.insert(storageMat); - // 返回 - return storageMat.getId(); - } - - @Override - public void updateStorageMat(StorageMatSaveReqVO updateReqVO) { - // 校验存在 - validateStorageMatExists(updateReqVO.getId()); - // 更新 - StorageMatDO updateObj = BeanUtils.toBean(updateReqVO, StorageMatDO.class); - storageMatMapper.updateById(updateObj); - } - - @Override - public void deleteStorageMat(Long id) { - // 校验存在 - validateStorageMatExists(id); - // 删除 - storageMatMapper.deleteById(id); - } - - private void validateStorageMatExists(Long id) { - if (storageMatMapper.selectById(id) == null) { - throw exception(STORAGE_MAT_NOT_EXISTS); - } - } - - @Override - public StorageMatDO getStorageMat(Long id) { - return storageMatMapper.selectById(id); - } - - @Override - public PageResult getStorageMatPage(StorageMatPageReqVO pageReqVO) { - return storageMatMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.storagemat; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.storagemat.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 入/出库物料 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class StorageMatServiceImpl implements StorageMatService { + + @Resource + private StorageMatMapper storageMatMapper; + + @Resource + private StorageMatMapper storageMatGlobalMapper; + + @Override + public Long createStorageMat(StorageMatSaveReqVO createReqVO) { + // 插入 + StorageMatDO storageMat = BeanUtils.toBean(createReqVO, StorageMatDO.class); + storageMatMapper.insert(storageMat); + // 返回 + return storageMat.getId(); + } + + @Override + public void updateStorageMat(StorageMatSaveReqVO updateReqVO) { + // 校验存在 + validateStorageMatExists(updateReqVO.getId()); + // 更新 + StorageMatDO updateObj = BeanUtils.toBean(updateReqVO, StorageMatDO.class); + storageMatMapper.updateById(updateObj); + } + + @Override + public void deleteStorageMat(Long id) { + // 校验存在 + validateStorageMatExists(id); + // 删除 + storageMatMapper.deleteById(id); + } + + private void validateStorageMatExists(Long id) { + if (storageMatMapper.selectById(id) == null) { + throw exception(STORAGE_MAT_NOT_EXISTS); + } + } + + @Override + public StorageMatDO getStorageMat(Long id) { + return storageMatMapper.selectById(id); + } + + @Override + public PageResult getStorageMatPage(StorageMatPageReqVO pageReqVO) { + return storageMatMapper.selectPage(pageReqVO); + } + + @Override + public List getStorageMatList() { + return storageMatMapper.selectStorageMatValid(); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml index 4eb2a07b..47bb0e92 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagemat/StorageMatMapper.xml @@ -8,5 +8,21 @@ 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagemat/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagemat/index.ts index ebe2da7c..b8bf86c8 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/storagemat/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storagemat/index.ts @@ -13,6 +13,11 @@ export interface StorageMatVO { description: string } +// 查询入/出库物料详情 +export const getStorageMatList = async () => { + return await request.get({ url: `/heli/storage-mat/get-materials`}) +} + // 查询入/出库物料分页 export const getStorageMatPage = async (params) => { return await request.get({ url: `/heli/storage-mat/page`, params }) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue index e62dba2d..9d47dba9 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue @@ -400,9 +400,6 @@ const matUploadChange = (file, files) => { } const refreshAttachments = (files, type) => { - formData.value.attachments = formData.value.attachments.filter((value, index, array) => { - return value.businessFileType != type; - }); for (let i = 0; i < files.length; i++) { let file = files[i]; file.businessFileType = type; @@ -514,37 +511,6 @@ const onAddItem = () => { } -// 复制数据 -const handlefuke = (index, item) => { - const data: any = formData.value.matItemDOList[index] - - // 复制数据 - const newData: any = { - ...data, - cid: matCount, - stockId: item.stockId, - matId: item.matId, - matName: item.matName, - matCode: item.matCode, - matType: item.matType, - matSpec: item.matSpec, - matUnit: item.matUnit, - whId: item.whId, - rgId: item.rgId, - pnId: item.pnId, - pnlist: item.pnlist, - storageOkQty: item.storageOkQty, - lotNo: item.lotNo, - projectNo: '', - description: item.description, - productBomItemValueDOList: [] - } - matCount = matCount + 1 - // 添加新数据 - formData.value.matItemDOList.splice(index + 1, 0, newData) - -} - //删除新增物料信息 const handleDelete2 = (index: number) => { formData.value.matItemDOList.splice(index, 1) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageOut.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageOut.vue index 2d48eef5..b4268ebd 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageOut.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageOut.vue @@ -3,7 +3,7 @@ - + - - - + - + - + + - - - + @@ -220,7 +205,7 @@