From d40d81aa421c7cdb959556fedffef71fc62cde80 Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期三, 16 四月 2025 10:07:22 +0800 Subject: [PATCH] 完成备件模块 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareController.java | 8 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareBo.java | 7 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutdtBo.java | 77 +++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutServiceImpl.java | 105 +++++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java | 21 + eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutBo.java | 7 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutdtVo.java | 97 ++++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareMapper.java | 9 eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareInoutdtMapper.xml | 15 + eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsSpareInoutdt.java | 72 +++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareVo.java | 5 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutdtService.java | 68 ++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutdtServiceImpl.java | 138 +++++++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutdtMapper.java | 24 + eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareMapper.xml | 10 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutVo.java | 6 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutdtController.java | 105 +++++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutController.java | 1 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutService.java | 4 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutMapper.java | 8 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareService.java | 12 21 files changed, 789 insertions(+), 10 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareController.java index e030bc3..24401fd 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareController.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareController.java @@ -6,6 +6,8 @@ import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.eims.domain.vo.EimsSpareInoutVo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -45,6 +47,12 @@ return eimsSpareService.queryPageList(bo, pageQuery); } + @SaCheckPermission("eims:spare:list") + @GetMapping("/listInout") + public TableDataInfo<EimsSpareInoutdtVo> listInout(EimsSpareBo bo, PageQuery pageQuery) { + return eimsSpareService.querySpareInoutList(bo, pageQuery); + } + /** * 瀵煎嚭澶囦欢鍙拌处鍒楄〃 */ diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutController.java index f0f8c34..aebd6ff 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutController.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutController.java @@ -45,6 +45,7 @@ return eimsSpareInoutService.queryPageList(bo, pageQuery); } + /** * 瀵煎嚭澶囦欢鍑哄叆搴撳垪琛� */ diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutdtController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutdtController.java new file mode 100644 index 0000000..8bf9fb0 --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsSpareInoutdtController.java @@ -0,0 +1,105 @@ +package org.dromara.eims.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; +import org.dromara.eims.domain.bo.EimsSpareInoutdtBo; +import org.dromara.eims.service.IEimsSpareInoutdtService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 澶囦欢鍑哄叆搴撴槑缁� + * + * @author zhuguifei + * @date 2025-04-11 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/eims/spareInoutdt") +public class EimsSpareInoutdtController extends BaseController { + + private final IEimsSpareInoutdtService eimsSpareInoutdtService; + + /** + * 鏌ヨ澶囦欢鍑哄叆搴撴槑缁嗗垪琛� + */ + @SaCheckPermission("eims:spareInoutdt:list") + @GetMapping("/list") + public TableDataInfo<EimsSpareInoutdtVo> list(EimsSpareInoutdtBo bo, PageQuery pageQuery) { + return eimsSpareInoutdtService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭澶囦欢鍑哄叆搴撴槑缁嗗垪琛� + */ + @SaCheckPermission("eims:spareInoutdt:export") + @Log(title = "澶囦欢鍑哄叆搴撴槑缁�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EimsSpareInoutdtBo bo, HttpServletResponse response) { + List<EimsSpareInoutdtVo> list = eimsSpareInoutdtService.queryList(bo); + ExcelUtil.exportExcel(list, "澶囦欢鍑哄叆搴撴槑缁�", EimsSpareInoutdtVo.class, response); + } + + /** + * 鑾峰彇澶囦欢鍑哄叆搴撴槑缁嗚缁嗕俊鎭� + * + * @param id 涓婚敭 + */ + @SaCheckPermission("eims:spareInoutdt:query") + @GetMapping("/{id}") + public R<EimsSpareInoutdtVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(eimsSpareInoutdtService.queryById(id)); + } + + /** + * 鏂板澶囦欢鍑哄叆搴撴槑缁� + */ + @SaCheckPermission("eims:spareInoutdt:add") + @Log(title = "澶囦欢鍑哄叆搴撴槑缁�", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsSpareInoutdtBo bo) { + return toAjax(eimsSpareInoutdtService.insertByBo(bo)); + } + + /** + * 淇敼澶囦欢鍑哄叆搴撴槑缁� + */ + @SaCheckPermission("eims:spareInoutdt:edit") + @Log(title = "澶囦欢鍑哄叆搴撴槑缁�", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsSpareInoutdtBo bo) { + return toAjax(eimsSpareInoutdtService.updateByBo(bo)); + } + + /** + * 鍒犻櫎澶囦欢鍑哄叆搴撴槑缁� + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("eims:spareInoutdt:remove") + @Log(title = "澶囦欢鍑哄叆搴撴槑缁�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(eimsSpareInoutdtService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsSpareInoutdt.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsSpareInoutdt.java new file mode 100644 index 0000000..aa09db2 --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsSpareInoutdt.java @@ -0,0 +1,72 @@ +package org.dromara.eims.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.math.BigDecimal; + +/** + * 澶囦欢鍑哄叆搴撴槑缁嗗璞� eims_spare_inoutdt + * + * @author zhuguifei + * @date 2025-04-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("eims_spare_inoutdt") +public class EimsSpareInoutdt extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 鍑哄簱鍗曟垨鍏ュ簱鍗昳d + */ + private Long inoutId; + + /** + * 澶囦欢id + */ + private Long spareId; + + /** + * 涔嬪墠搴撳瓨 + */ + private Long beforeStock; + + /** + * 瀹為檯搴撳瓨 + */ + private Long actualStock; + + /** + * 鏁伴噺 + */ + private Long quantity; + + /** + * 鍗曚环 + */ + private BigDecimal unitPrice; + + /** + * 閲戦 + */ + private BigDecimal amount; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareBo.java index daed6f9..f46d491 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareBo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareBo.java @@ -114,4 +114,11 @@ private String remark; + + /** + * 鍑哄簱鍏ュ簱鏁伴噺 + */ + private Long quantity; + + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutBo.java index 4af19e2..0ab9a03 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutBo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutBo.java @@ -9,7 +9,10 @@ import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.eims.domain.vo.EimsSpareVo; /** * 澶囦欢鍑哄叆搴撲笟鍔″璞� eims_spare_inout @@ -69,5 +72,9 @@ */ private String remark; + //鍑哄叆搴撻�夋嫨鐨勫浠舵槑缁� + private List<EimsSpareBo> spareList; + + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutdtBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutdtBo.java new file mode 100644 index 0000000..5f62b5a --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsSpareInoutdtBo.java @@ -0,0 +1,77 @@ +package org.dromara.eims.domain.bo; + +import org.dromara.eims.domain.EimsSpareInoutdt; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 澶囦欢鍑哄叆搴撴槑缁嗕笟鍔″璞� eims_spare_inoutdt + * + * @author zhuguifei + * @date 2025-04-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = EimsSpareInoutdt.class, reverseConvertGenerate = false) +public class EimsSpareInoutdtBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) + private Long id; + + /** + * 鍑哄簱鍗曟垨鍏ュ簱鍗昳d + */ + @NotNull(message = "鍑哄簱鍗曟垨鍏ュ簱鍗昳d涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long inoutId; + + /** + * 澶囦欢id + */ + @NotNull(message = "澶囦欢id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long spareId; + + /** + * 涔嬪墠搴撳瓨 + */ + @NotNull(message = "涔嬪墠搴撳瓨涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long beforeStock; + + /** + * 瀹為檯搴撳瓨 + */ + @NotNull(message = "瀹為檯搴撳瓨涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long actualStock; + + /** + * 鏁伴噺 + */ + @NotNull(message = "鏁伴噺涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long quantity; + + /** + * 鍗曚环 + */ + @NotNull(message = "鍗曚环涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long unitPrice; + + /** + * 閲戦 + */ + @NotNull(message = "閲戦涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long amount; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutVo.java index 12c8120..226eb4a 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutVo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutVo.java @@ -11,11 +11,12 @@ import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.eims.domain.bo.EimsSpareBo; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -87,5 +88,6 @@ @ExcelProperty(value = "澶囨敞") private String remark; - + //鍑哄叆搴撻�夋嫨鐨勫浠舵槑缁� + private List<EimsSpareVo> spareList; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutdtVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutdtVo.java new file mode 100644 index 0000000..a4203cf --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareInoutdtVo.java @@ -0,0 +1,97 @@ +package org.dromara.eims.domain.vo; + +import org.dromara.eims.domain.EimsSpareInoutdt; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + + +/** + * 澶囦欢鍑哄叆搴撴槑缁嗚鍥惧璞� eims_spare_inoutdt + * + * @author zhuguifei + * @date 2025-04-11 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = EimsSpareInoutdt.class) +public class EimsSpareInoutdtVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 鍑哄簱鍗曟垨鍏ュ簱鍗昳d + */ + @ExcelProperty(value = "鍑哄簱鍗曟垨鍏ュ簱鍗昳d") + private Long inoutId; + + /** + * 澶囦欢id + */ + @ExcelProperty(value = "澶囦欢id") + private Long spareId; + + /** + * 涔嬪墠搴撳瓨 + */ + @ExcelProperty(value = "涔嬪墠搴撳瓨") + private Long beforeStock; + + /** + * 瀹為檯搴撳瓨 + */ + @ExcelProperty(value = "瀹為檯搴撳瓨") + private Long actualStock; + + /** + * 鏁伴噺 + */ + @ExcelProperty(value = "鏁伴噺") + private Long quantity; + + /** + * 鍗曚环 + */ + @ExcelProperty(value = "鍗曚环") + private BigDecimal unitPrice; + + /** + * 閲戦 + */ + @ExcelProperty(value = "閲戦") + private BigDecimal amount; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + //澶囦欢 + private String spareName; + private String spareCode; + private String modelNo; + //鍑哄叆搴撳崟 + private String orderCode; + private Date orderTime; + private String type; + private String unit; + + +} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareVo.java index 2a47785..81f9561 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareVo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsSpareVo.java @@ -142,6 +142,9 @@ */ @ExcelProperty(value = "澶囨敞") private String remark; - + /** + * 鍑哄簱鍏ュ簱鏁伴噺 + */ + private Long quantity; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutMapper.java index bffe366..b032996 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutMapper.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutMapper.java @@ -1,8 +1,15 @@ package org.dromara.eims.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.eims.domain.EimsSpareInout; +import org.dromara.eims.domain.EimsSpareInoutdt; import org.dromara.eims.domain.vo.EimsSpareInoutVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; /** * 澶囦欢鍑哄叆搴揗apper鎺ュ彛 @@ -12,4 +19,5 @@ */ public interface EimsSpareInoutMapper extends BaseMapperPlus<EimsSpareInout, EimsSpareInoutVo> { + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutdtMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutdtMapper.java new file mode 100644 index 0000000..16b0e7e --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareInoutdtMapper.java @@ -0,0 +1,24 @@ +package org.dromara.eims.mapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.dromara.eims.domain.EimsMaintSt; +import org.dromara.eims.domain.EimsSpareInoutdt; +import org.dromara.eims.domain.vo.EimsMaintStVo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 澶囦欢鍑哄叆搴撴槑缁哅apper鎺ュ彛 + * + * @author zhuguifei + * @date 2025-04-11 + */ +public interface EimsSpareInoutdtMapper extends BaseMapperPlus<EimsSpareInoutdt, EimsSpareInoutdtVo> { + + Page<EimsSpareInoutdtVo> selectSpareInoutdtList(@Param("page") Page<EimsSpareInoutdtVo> page, @Param(Constants.WRAPPER) Wrapper<EimsSpareInoutdt> queryWrapper); +} + diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareMapper.java index 23538f2..fe03121 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareMapper.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsSpareMapper.java @@ -1,6 +1,13 @@ package org.dromara.eims.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.eims.domain.EimsSpare; +import org.dromara.eims.domain.EimsSpareInout; +import org.dromara.eims.domain.vo.EimsSpareInoutVo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; import org.dromara.eims.domain.vo.EimsSpareVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -11,5 +18,5 @@ * @date 2025-03-20 */ public interface EimsSpareMapper extends BaseMapperPlus<EimsSpare, EimsSpareVo> { - + Page<EimsSpareInoutdtVo> selectSpareInoutList(@Param("page") Page<EimsSpareInoutdtVo> page, @Param(Constants.WRAPPER) Wrapper<EimsSpare> queryWrapper); } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutService.java index f16e11a..9dd4ab4 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutService.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutService.java @@ -65,4 +65,8 @@ * @return 鏄惁鍒犻櫎鎴愬姛 */ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); + + + + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutdtService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutdtService.java new file mode 100644 index 0000000..6b9b36d --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareInoutdtService.java @@ -0,0 +1,68 @@ +package org.dromara.eims.service; + +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; +import org.dromara.eims.domain.bo.EimsSpareInoutdtBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 澶囦欢鍑哄叆搴撴槑缁哠ervice鎺ュ彛 + * + * @author zhuguifei + * @date 2025-04-11 + */ +public interface IEimsSpareInoutdtService { + + /** + * 鏌ヨ澶囦欢鍑哄叆搴撴槑缁� + * + * @param id 涓婚敭 + * @return 澶囦欢鍑哄叆搴撴槑缁� + */ + EimsSpareInoutdtVo queryById(Long id); + + /** + * 鍒嗛〉鏌ヨ澶囦欢鍑哄叆搴撴槑缁嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 澶囦欢鍑哄叆搴撴槑缁嗗垎椤靛垪琛� + */ + TableDataInfo<EimsSpareInoutdtVo> queryPageList(EimsSpareInoutdtBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勫浠跺嚭鍏ュ簱鏄庣粏鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @return 澶囦欢鍑哄叆搴撴槑缁嗗垪琛� + */ + List<EimsSpareInoutdtVo> queryList(EimsSpareInoutdtBo bo); + + /** + * 鏂板澶囦欢鍑哄叆搴撴槑缁� + * + * @param bo 澶囦欢鍑哄叆搴撴槑缁� + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(EimsSpareInoutdtBo bo); + + /** + * 淇敼澶囦欢鍑哄叆搴撴槑缁� + * + * @param bo 澶囦欢鍑哄叆搴撴槑缁� + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(EimsSpareInoutdtBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ浠跺嚭鍏ュ簱鏄庣粏淇℃伅 + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); +} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareService.java index 0569fbf..e61c8db 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareService.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsSpareService.java @@ -1,5 +1,8 @@ package org.dromara.eims.service; +import org.dromara.eims.domain.bo.EimsSpareInoutBo; +import org.dromara.eims.domain.vo.EimsSpareInoutVo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; import org.dromara.eims.domain.vo.EimsSpareVo; import org.dromara.eims.domain.bo.EimsSpareBo; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -65,4 +68,13 @@ * @return 鏄惁鍒犻櫎鎴愬姛 */ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); + + + /** + * 鏍规嵁澶囦欢鏌ヨ鍑哄叆搴撴槑缁� + * @param bo + * @param pageQuery + * @return + */ + TableDataInfo<EimsSpareInoutdtVo> querySpareInoutList(EimsSpareBo bo, PageQuery pageQuery); } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutServiceImpl.java index d58fa5b..334eb44 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutServiceImpl.java @@ -1,5 +1,7 @@ package org.dromara.eims.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.dromara.common.core.constant.DictConstants; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -8,16 +10,24 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.eims.domain.EimsSpare; +import org.dromara.eims.domain.EimsSpareInoutdt; +import org.dromara.eims.domain.bo.EimsSpareBo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; +import org.dromara.eims.domain.vo.EimsSpareVo; +import org.dromara.eims.mapper.EimsSpareInoutdtMapper; +import org.dromara.eims.mapper.EimsSpareMapper; import org.springframework.stereotype.Service; import org.dromara.eims.domain.bo.EimsSpareInoutBo; import org.dromara.eims.domain.vo.EimsSpareInoutVo; import org.dromara.eims.domain.EimsSpareInout; import org.dromara.eims.mapper.EimsSpareInoutMapper; import org.dromara.eims.service.IEimsSpareInoutService; +import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; /** * 澶囦欢鍑哄叆搴揝ervice涓氬姟灞傚鐞� @@ -30,6 +40,8 @@ public class EimsSpareInoutServiceImpl implements IEimsSpareInoutService { private final EimsSpareInoutMapper baseMapper; + private final EimsSpareInoutdtMapper inoutdtMapper; + private final EimsSpareMapper spareMapper; /** * 鏌ヨ澶囦欢鍑哄叆搴� @@ -39,7 +51,33 @@ */ @Override public EimsSpareInoutVo queryById(Long id){ - return baseMapper.selectVoById(id); + EimsSpareInoutVo eimsSpareInoutVo = baseMapper.selectVoById(id); + QueryWrapper<EimsSpareInoutdt> queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(EimsSpareInoutdt::getInoutId, id); + List<EimsSpareInoutdtVo> dtVos = inoutdtMapper.selectVoList(queryWrapper); + if(!dtVos.isEmpty()){ + Map<Long, Long> map = dtVos.stream() + .collect(Collectors.toMap( + EimsSpareInoutdtVo::getSpareId, + EimsSpareInoutdtVo::getQuantity + )); + List<Long> spareIdList = dtVos.stream() + .map(EimsSpareInoutdtVo::getSpareId) // 鑾峰彇 spareId 瀛楁 + .toList(); + + List<EimsSpareVo> eimsSpareListVos = spareMapper.selectVoBatchIds(spareIdList); + + for (EimsSpareVo spareVo : eimsSpareListVos) { + // 鍋囪 quantity 鐨勫�兼槸涓�涓浐瀹氬�硷紙渚嬪 10锛� + spareVo.setQuantity(map.get(spareVo.getId())); + } + + eimsSpareInoutVo.setSpareList(eimsSpareListVos); + } + + + + return eimsSpareInoutVo; } /** @@ -55,6 +93,7 @@ Page<EimsSpareInoutVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } + /** * 鏌ヨ绗﹀悎鏉′欢鐨勫浠跺嚭鍏ュ簱鍒楄〃 @@ -81,19 +120,73 @@ return lqw; } + /** * 鏂板澶囦欢鍑哄叆搴� * * @param bo 澶囦欢鍑哄叆搴� * @return 鏄惁鏂板鎴愬姛 */ + @Transactional(rollbackFor = Exception.class) @Override - public Boolean insertByBo(EimsSpareInoutBo bo) { + public synchronized Boolean insertByBo(EimsSpareInoutBo bo) { EimsSpareInout add = MapstructUtils.convert(bo, EimsSpareInout.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); + } + //鍏ュ簱锛嬪簱瀛� 鍑哄簱-搴撳瓨 锛堥粯璁ゅ叆搴擄級 + int OperationType; + + //鍑哄簱 + if(bo.getType().equals(DictConstants.SPARE_INOUT_TYPE_DETAIL.CK)){ + OperationType = -1; + } else { + OperationType = 1; + } + + List<EimsSpareBo> spareList = Optional.ofNullable(bo.getSpareList()).orElse(new ArrayList<>()); + // 鎻掑叆鍑哄簱鏄庣粏 + List<EimsSpareInoutdt> dtList = spareList.stream() + .map(eimsSpareBo -> { + EimsSpareInoutdt dt = new EimsSpareInoutdt(); + dt.setInoutId(add.getId()); + dt.setSpareId(eimsSpareBo.getId()); + dt.setBeforeStock(eimsSpareBo.getActualStock()); + // 娉ㄦ剰鍏ュ簱鍑哄簱 + dt.setActualStock(eimsSpareBo.getActualStock() + (eimsSpareBo.getQuantity() * OperationType)); + dt.setQuantity(eimsSpareBo.getQuantity()); + + // 璁剧疆鍗曚环鍜岄噾棰� + Optional.ofNullable(eimsSpareBo.getReferPrice()).ifPresent(referPrice -> { + dt.setUnitPrice(referPrice); + dt.setAmount(referPrice.multiply(BigDecimal.valueOf(eimsSpareBo.getQuantity()))); + }); + + return dt; + }) + .toList(); + + // 鎵归噺鎻掑叆鏁版嵁 + if (!dtList.isEmpty()) { + inoutdtMapper.insertBatch(dtList); + } + + // 鏇存柊澶囦欢鐨勫簱瀛� + List<EimsSpare> updateSpareList = spareList.stream().map(spareBo -> { + EimsSpare spare = new EimsSpare(); + spare.setId(spareBo.getId()); + spare.setActualStock(spareBo.getActualStock() + (spareBo.getQuantity() * OperationType)); + // 璁剧疆鍗曚环鍜岄噾棰� + Optional.ofNullable(spareBo.getReferPrice()).ifPresent(referPrice -> { + spare.setStockAmount(referPrice.multiply(BigDecimal.valueOf(spare.getActualStock()))); + }); + return spare; + }).toList(); + + if (!updateSpareList.isEmpty()) { + spareMapper.updateBatchById(updateSpareList); } return flag; } @@ -132,4 +225,6 @@ } return baseMapper.deleteByIds(ids) > 0; } + + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutdtServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutdtServiceImpl.java new file mode 100644 index 0000000..a9f1a04 --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareInoutdtServiceImpl.java @@ -0,0 +1,138 @@ +package org.dromara.eims.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.eims.domain.vo.EimsMaintStVo; +import org.springframework.stereotype.Service; +import org.dromara.eims.domain.bo.EimsSpareInoutdtBo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; +import org.dromara.eims.domain.EimsSpareInoutdt; +import org.dromara.eims.mapper.EimsSpareInoutdtMapper; +import org.dromara.eims.service.IEimsSpareInoutdtService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 澶囦欢鍑哄叆搴撴槑缁哠ervice涓氬姟灞傚鐞� + * + * @author zhuguifei + * @date 2025-04-11 + */ +@RequiredArgsConstructor +@Service +public class EimsSpareInoutdtServiceImpl implements IEimsSpareInoutdtService { + + private final EimsSpareInoutdtMapper baseMapper; + + /** + * 鏌ヨ澶囦欢鍑哄叆搴撴槑缁� + * + * @param id 涓婚敭 + * @return 澶囦欢鍑哄叆搴撴槑缁� + */ + @Override + public EimsSpareInoutdtVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 鍒嗛〉鏌ヨ澶囦欢鍑哄叆搴撴槑缁嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 澶囦欢鍑哄叆搴撴槑缁嗗垎椤靛垪琛� + */ + @Override + public TableDataInfo<EimsSpareInoutdtVo> queryPageList(EimsSpareInoutdtBo bo, PageQuery pageQuery) { + Page<EimsSpareInoutdtVo> result = baseMapper.selectSpareInoutdtList(pageQuery.build(), buildWrapper(bo)); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勫浠跺嚭鍏ュ簱鏄庣粏鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @return 澶囦欢鍑哄叆搴撴槑缁嗗垪琛� + */ + @Override + public List<EimsSpareInoutdtVo> queryList(EimsSpareInoutdtBo bo) { + LambdaQueryWrapper<EimsSpareInoutdt> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<EimsSpareInoutdt> buildQueryWrapper(EimsSpareInoutdtBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<EimsSpareInoutdt> lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getInoutId() != null, EimsSpareInoutdt::getInoutId, bo.getInoutId()); + lqw.eq(bo.getSpareId() != null, EimsSpareInoutdt::getSpareId, bo.getSpareId()); + return lqw; + } + + private QueryWrapper<EimsSpareInoutdt> buildWrapper(EimsSpareInoutdtBo bo) { + Map<String, Object> params = bo.getParams(); + QueryWrapper<EimsSpareInoutdt> qw = Wrappers.query(); + qw.eq("io.id",bo.getInoutId()); + return qw; + } + + /** + * 鏂板澶囦欢鍑哄叆搴撴槑缁� + * + * @param bo 澶囦欢鍑哄叆搴撴槑缁� + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(EimsSpareInoutdtBo bo) { + EimsSpareInoutdt add = MapstructUtils.convert(bo, EimsSpareInoutdt.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 淇敼澶囦欢鍑哄叆搴撴槑缁� + * + * @param bo 澶囦欢鍑哄叆搴撴槑缁� + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(EimsSpareInoutdtBo bo) { + EimsSpareInoutdt update = MapstructUtils.convert(bo, EimsSpareInoutdt.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(EimsSpareInoutdt entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ浠跺嚭鍏ュ簱鏄庣粏淇℃伅 + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java index 1c8619a..4cdd95b 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.eims.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -8,6 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.eims.domain.EimsSpareInout; +import org.dromara.eims.domain.bo.EimsSpareInoutBo; +import org.dromara.eims.domain.vo.EimsSpareInoutVo; +import org.dromara.eims.domain.vo.EimsSpareInoutdtVo; import org.springframework.stereotype.Service; import org.dromara.eims.domain.bo.EimsSpareBo; import org.dromara.eims.domain.vo.EimsSpareVo; @@ -56,6 +61,13 @@ return TableDataInfo.build(result); } + + @Override + public TableDataInfo<EimsSpareInoutdtVo> querySpareInoutList(EimsSpareBo bo, PageQuery pageQuery) { + Page<EimsSpareInoutdtVo> result = baseMapper.selectSpareInoutList(pageQuery.build(), buildWrapper(bo)); + return TableDataInfo.build(result); + } + /** * 鏌ヨ绗﹀悎鏉′欢鐨勫浠跺彴璐﹀垪琛� * @@ -79,6 +91,13 @@ lqw.like(StringUtils.isNotBlank(bo.getSupplier()), EimsSpare::getSupplier, bo.getSupplier()); lqw.eq(StringUtils.isNotBlank(bo.getUnit()), EimsSpare::getUnit, bo.getUnit()); return lqw; + } + + private QueryWrapper<EimsSpare> buildWrapper(EimsSpareBo bo) { + Map<String, Object> params = bo.getParams(); + QueryWrapper<EimsSpare> qw = Wrappers.query(); + qw.eq( "sp.id", bo.getId()); + return qw; } /** @@ -132,4 +151,6 @@ } return baseMapper.deleteByIds(ids) > 0; } + + } diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareInoutdtMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareInoutdtMapper.xml new file mode 100644 index 0000000..af3b48d --- /dev/null +++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareInoutdtMapper.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.dromara.eims.mapper.EimsSpareInoutdtMapper"> + <resultMap type="org.dromara.eims.domain.vo.EimsSpareInoutdtVo" id="SpareInoutdtVoResult"> + </resultMap> + <select id="selectSpareInoutdtList" resultMap="SpareInoutdtVoResult"> + SELECT dt.*, sp.name spareName, sp.code spareCode, sp.model_no modelNo, sp.unit unit, io.order_code orderCode + FROM eims_spare_inoutdt dt + LEFT JOIN eims_spare_inout io on dt.inout_id = io.id + LEFT JOIN eims_spare sp on dt.spare_id = sp.id + ${ew.getCustomSqlSegment} + </select> +</mapper> diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareMapper.xml index 8384ab3..f41d665 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareMapper.xml +++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsSpareMapper.xml @@ -3,5 +3,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.eims.mapper.EimsSpareMapper"> - + <resultMap type="org.dromara.eims.domain.vo.EimsSpareInoutdtVo" id="SpareInoutdtVoResult"> + </resultMap> + <select id="selectSpareInoutList" resultMap="SpareInoutdtVoResult"> + SELECT io.*, dt.quantity, dt.actual_stock, dt.unit_price, dt.amount + FROM eims_spare_inout io + JOIN eims_spare_inoutdt dt on io.id = dt.inout_id + JOIN eims_spare sp on dt.spare_id = sp.id + ${ew.getCustomSqlSegment} + </select> </mapper> -- Gitblit v1.9.3