From 22791841996d87d99bb5df73afa1f3a909fd65c3 Mon Sep 17 00:00:00 2001 From: wanghao Date: Thu, 3 Apr 2025 17:04:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E8=B0=83=E6=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WmsHppTransferController.java | 117 ++++++++++++++++ .../dromara/wms/domain/WmsHppTransfer.java | 58 ++++++++ .../wms/domain/bo/WmsHppStorePlaceBo.java | 4 +- .../wms/domain/bo/WmsHppTransferBo.java | 46 +++++++ .../wms/domain/vo/WmsHppTransferVo.java | 78 +++++++++++ .../wms/mapper/WmsHppTransferMapper.java | 17 +++ .../wms/mapper/WmsInstockDetailMapper.java | 2 + .../wms/service/IWmsHppTransferService.java | 68 +++++++++ .../impl/WmsHppStorePlaceServiceImpl.java | 46 +++---- .../impl/WmsHppTransferServiceImpl.java | 129 ++++++++++++++++++ .../service/impl/WmsPdaApiServiceImpl.java | 33 +++-- .../mapper/wms/WmsHppTransferMapper.xml | 7 + 12 files changed, 566 insertions(+), 39 deletions(-) create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsHppTransferController.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppTransfer.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppTransferBo.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppTransferVo.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppTransferMapper.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsHppTransferService.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppTransferServiceImpl.java create mode 100644 ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsHppTransferMapper.xml diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsHppTransferController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsHppTransferController.java new file mode 100644 index 0000000..5f80e34 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsHppTransferController.java @@ -0,0 +1,117 @@ +package org.dromara.wms.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.wms.domain.vo.WmsHppTransferVo; +import org.dromara.wms.domain.bo.WmsHppTransferBo; +import org.dromara.wms.service.IWmsHppTransferService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 半成品调拨 + * 前端访问路由地址为:/wms/hppTransfer + * + * @author Yinq + * @date 2025-04-03 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/hppTransfer") +public class WmsHppTransferController extends BaseController { + + private final IWmsHppTransferService wmsHppTransferService; + + /** + * 查询半成品调拨列表 + */ + @SaCheckPermission("wms:hppTransfer:list") + @GetMapping("/list") + public TableDataInfo list(WmsHppTransferBo bo, PageQuery pageQuery) { + return wmsHppTransferService.queryPageList(bo, pageQuery); + } + + /** + * 导出半成品调拨列表 + */ + @SaCheckPermission("wms:hppTransfer:export") + @Log(title = "半成品调拨", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsHppTransferBo bo, HttpServletResponse response) { + List list = wmsHppTransferService.queryList(bo); + ExcelUtil.exportExcel(list, "半成品调拨", WmsHppTransferVo.class, response); + } + + /** + * 获取半成品调拨详细信息 + * + * @param transferId 主键 + */ + @SaCheckPermission("wms:hppTransfer:query") + @GetMapping("/{transferId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long transferId) { + return R.ok(wmsHppTransferService.queryById(transferId)); + } + + /** + * 新增半成品调拨 + */ + @SaCheckPermission("wms:hppTransfer:add") + @Log(title = "半成品调拨", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsHppTransferBo bo) { + return toAjax(wmsHppTransferService.insertByBo(bo)); + } + + /** + * 修改半成品调拨 + */ + @SaCheckPermission("wms:hppTransfer:edit") + @Log(title = "半成品调拨", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsHppTransferBo bo) { + return toAjax(wmsHppTransferService.updateByBo(bo)); + } + + /** + * 删除半成品调拨 + * + * @param transferIds 主键串 + */ + @SaCheckPermission("wms:hppTransfer:remove") + @Log(title = "半成品调拨", businessType = BusinessType.DELETE) + @DeleteMapping("/{transferIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] transferIds) { + return toAjax(wmsHppTransferService.deleteWithValidByIds(List.of(transferIds), true)); + } + + + /** + * 下拉框查询半成品调拨列表 + */ + + @GetMapping("/getWmsHppTransferList") + public R> getWmsHppTransferList(WmsHppTransferBo bo) { + List list = wmsHppTransferService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppTransfer.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppTransfer.java new file mode 100644 index 0000000..dc94355 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsHppTransfer.java @@ -0,0 +1,58 @@ +package org.dromara.wms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 半成品调拨对象 wms_hpp_transfer + * + * @author Yinq + * @date 2025-04-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_hpp_transfer") +public class WmsHppTransfer extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 表主键 + */ + @TableId(type = IdType.AUTO) + private Long transferId; + + /** + * 物料ID + */ + private Long materialId; + + /** + * 流水卡号 + */ + private String cardNo; + + /** + * 工装架子号 + */ + private String shelfNo; + + /** + * 库位编码 + */ + private String storePlaceCode; + + /** + * 调拨库位 + */ + private String transferPlaceCode; + + + + +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppStorePlaceBo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppStorePlaceBo.java index fea15f0..c585f38 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppStorePlaceBo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppStorePlaceBo.java @@ -23,13 +23,13 @@ public class WmsHppStorePlaceBo extends BaseEntity { /** * 主键id */ - @NotNull(message = "主键id不能为空", groups = { AddGroup.class, EditGroup.class }) + // @NotNull(message = "主键id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long objId; /** * 库位名 */ - @NotBlank(message = "库位名不能为空", groups = { AddGroup.class, EditGroup.class }) + // @NotBlank(message = "库位名不能为空", groups = { AddGroup.class, EditGroup.class }) private String storePlaceName; /** diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppTransferBo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppTransferBo.java new file mode 100644 index 0000000..a17a56a --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsHppTransferBo.java @@ -0,0 +1,46 @@ +package org.dromara.wms.domain.bo; + +import org.dromara.wms.domain.WmsHppTransfer; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 半成品调拨业务对象 wms_hpp_transfer + * + * @author Yinq + * @date 2025-04-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = WmsHppTransfer.class, reverseConvertGenerate = false) +public class WmsHppTransferBo extends BaseEntity { + + /** + * 物料ID + */ + private Long materialId; + + /** + * 流水卡号 + */ + private String cardNo; + + /** + * 工装架子号 + */ + private String shelfNo; + + /** + * 库位编码 + */ + private String storePlaceCode; + + /** + * 调拨库位 + */ + private String transferPlaceCode; + + +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppTransferVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppTransferVo.java new file mode 100644 index 0000000..7b49417 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsHppTransferVo.java @@ -0,0 +1,78 @@ +package org.dromara.wms.domain.vo; + +import org.dromara.wms.domain.WmsHppTransfer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 半成品调拨视图对象 wms_hpp_transfer + * + * @author Yinq + * @date 2025-04-03 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = WmsHppTransfer.class) +public class WmsHppTransferVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 表主键 + */ + @ExcelProperty(value = "表主键") + private Long transferId; + + /** + * 物料ID + */ + @ExcelProperty(value = "物料ID") + private Long materialId; + + /** + * 流水卡号 + */ + @ExcelProperty(value = "流水卡号") + private String cardNo; + + /** + * 工装架子号 + */ + @ExcelProperty(value = "工装架子号") + private String shelfNo; + + /** + * 库位编码 + */ + @ExcelProperty(value = "库位编码") + private String storePlaceCode; + + /** + * 调拨库位 + */ + @ExcelProperty(value = "调拨库位") + private String transferPlaceCode; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppTransferMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppTransferMapper.java new file mode 100644 index 0000000..f979adc --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsHppTransferMapper.java @@ -0,0 +1,17 @@ +package org.dromara.wms.mapper; + +import org.dromara.wms.domain.WmsHppTransfer; +import org.dromara.wms.domain.vo.WmsHppTransferVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.springframework.stereotype.Repository; + +/** + * 半成品调拨Mapper接口 + * + * @author Yinq + * @date 2025-04-03 + */ +@Repository +public interface WmsHppTransferMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockDetailMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockDetailMapper.java index cf53e47..91fb7b0 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockDetailMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockDetailMapper.java @@ -3,6 +3,7 @@ package org.dromara.wms.mapper; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.wms.domain.WmsInstockDetail; import org.dromara.wms.domain.vo.WmsInstockDetailVo; +import org.springframework.stereotype.Repository; /** * 入库单-物料Mapper接口 @@ -10,6 +11,7 @@ import org.dromara.wms.domain.vo.WmsInstockDetailVo; * @author LionLi * @date 2025-01-06 */ +@Repository public interface WmsInstockDetailMapper extends BaseMapperPlus { int updateDetail(WmsInstockDetail update); diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsHppTransferService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsHppTransferService.java new file mode 100644 index 0000000..e3505f8 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsHppTransferService.java @@ -0,0 +1,68 @@ +package org.dromara.wms.service; + +import org.dromara.wms.domain.vo.WmsHppTransferVo; +import org.dromara.wms.domain.bo.WmsHppTransferBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 半成品调拨Service接口 + * + * @author Yinq + * @date 2025-04-03 + */ +public interface IWmsHppTransferService { + + /** + * 查询半成品调拨 + * + * @param transferId 主键 + * @return 半成品调拨 + */ + WmsHppTransferVo queryById(Long transferId); + + /** + * 分页查询半成品调拨列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 半成品调拨分页列表 + */ + TableDataInfo queryPageList(WmsHppTransferBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的半成品调拨列表 + * + * @param bo 查询条件 + * @return 半成品调拨列表 + */ + List queryList(WmsHppTransferBo bo); + + /** + * 新增半成品调拨 + * + * @param bo 半成品调拨 + * @return 是否新增成功 + */ + Boolean insertByBo(WmsHppTransferBo bo); + + /** + * 修改半成品调拨 + * + * @param bo 半成品调拨 + * @return 是否修改成功 + */ + Boolean updateByBo(WmsHppTransferBo bo); + + /** + * 校验并批量删除半成品调拨信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppStorePlaceServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppStorePlaceServiceImpl.java index ea2f2bf..f5c9605 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppStorePlaceServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppStorePlaceServiceImpl.java @@ -7,9 +7,9 @@ import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.wms.domain.WmsHppStore; import org.dromara.wms.domain.WmsHppStorePlace; import org.dromara.wms.domain.bo.WmsHppStorePlaceBo; import org.dromara.wms.domain.vo.WmsHppStorePlaceVo; @@ -18,7 +18,6 @@ import org.dromara.wms.service.IWmsHppStorePlaceService; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Map; import java.util.Collection; /** @@ -40,7 +39,7 @@ public class WmsHppStorePlaceServiceImpl implements IWmsHppStorePlaceService { * @return 半成品库位 */ @Override - public WmsHppStorePlaceVo queryById(Long objId){ + public WmsHppStorePlaceVo queryById(Long objId) { return baseMapper.selectVoById(objId); } @@ -71,18 +70,20 @@ public class WmsHppStorePlaceServiceImpl implements IWmsHppStorePlaceService { } private MPJLambdaWrapper buildQueryWrapper(WmsHppStorePlaceBo bo) { - Map params = bo.getParams(); - MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsHppStorePlace.class) - .selectAll(WmsHppStorePlace.class) - .eq(bo.getObjId() != null, WmsHppStorePlace::getObjId, bo.getObjId()) - .like(StringUtils.isNotBlank(bo.getStorePlaceName()), WmsHppStorePlace::getStorePlaceName, bo.getStorePlaceName()) - .eq(StringUtils.isNotBlank(bo.getStorePlaceCode()), WmsHppStorePlace::getStorePlaceCode, bo.getStorePlaceCode()) - .eq(bo.getStoreId() != null, WmsHppStorePlace::getStoreId, bo.getStoreId()) - .eq(StringUtils.isNotBlank(bo.getUsedFlag()), WmsHppStorePlace::getUsedFlag, bo.getUsedFlag()) - .eq(StringUtils.isNotBlank(bo.getSpecitialType()), WmsHppStorePlace::getSpecitialType, bo.getSpecitialType()) - .eq(StringUtils.isNotBlank(bo.getPositionType()), WmsHppStorePlace::getPositionType, bo.getPositionType()) - .orderByDesc(WmsHppStorePlace::getCreateTime); - return lqw; + // Map params = bo.getParams(); + return JoinWrappers.lambda(WmsHppStorePlace.class) + .selectAll(WmsHppStorePlace.class) + .leftJoin(WmsHppStore.class,WmsHppStore::getObjId,WmsHppStorePlace::getStoreId) + .select(WmsHppStore::getStoreName) + // .eq(bo.getObjId() != null, WmsHppStorePlace::getObjId, bo.getObjId()) + .like(StringUtils.isNotBlank(bo.getStorePlaceName()), WmsHppStorePlace::getStorePlaceName, bo.getStorePlaceName()) + .eq(StringUtils.isNotBlank(bo.getStorePlaceCode()), WmsHppStorePlace::getStorePlaceCode, bo.getStorePlaceCode()) + .eq(bo.getStoreId() != null, WmsHppStorePlace::getStoreId, bo.getStoreId()) + .eq(StringUtils.isNotBlank(bo.getUsedFlag()), WmsHppStorePlace::getUsedFlag, bo.getUsedFlag()) + .eq(StringUtils.isNotBlank(bo.getSpecitialType()), WmsHppStorePlace::getSpecitialType, bo.getSpecitialType()) + .eq(StringUtils.isNotBlank(bo.getPositionType()), WmsHppStorePlace::getPositionType, bo.getPositionType()) + .orderByDesc(WmsHppStorePlace::getCreateTime); + } /** @@ -96,7 +97,7 @@ public class WmsHppStorePlaceServiceImpl implements IWmsHppStorePlaceService { WmsHppStorePlace add = MapstructUtils.convert(bo, WmsHppStorePlace.class); String username = LoginHelper.getUsername(); add.setCreateBy(username); - validEntityBeforeSave(add); + // validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setObjId(add.getObjId()); @@ -115,16 +116,11 @@ public class WmsHppStorePlaceServiceImpl implements IWmsHppStorePlaceService { WmsHppStorePlace update = MapstructUtils.convert(bo, WmsHppStorePlace.class); String username = LoginHelper.getUsername(); update.setUpdateBy(username); - validEntityBeforeSave(update); + // validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(WmsHppStorePlace entity){ - //TODO 做一些数据校验,如唯一约束 - } + /** * 校验并批量删除半成品库位信息 @@ -135,9 +131,9 @@ public class WmsHppStorePlaceServiceImpl implements IWmsHppStorePlaceService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + /* if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 - } + }*/ return baseMapper.deleteByIds(ids) > 0; } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppTransferServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppTransferServiceImpl.java new file mode 100644 index 0000000..14b33a1 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsHppTransferServiceImpl.java @@ -0,0 +1,129 @@ +package org.dromara.wms.service.impl; + +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.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.wms.domain.bo.WmsHppTransferBo; +import org.dromara.wms.domain.vo.WmsHppTransferVo; +import org.dromara.wms.domain.WmsHppTransfer; +import org.dromara.wms.mapper.WmsHppTransferMapper; +import org.dromara.wms.service.IWmsHppTransferService; + +import java.util.List; +import java.util.Collection; + +/** + * 半成品调拨Service业务层处理 + * + * @author Yinq + * @date 2025-04-03 + */ +@RequiredArgsConstructor +@Service +public class WmsHppTransferServiceImpl implements IWmsHppTransferService { + + private final WmsHppTransferMapper baseMapper; + + /** + * 查询半成品调拨 + * + * @param transferId 主键 + * @return 半成品调拨 + */ + @Override + public WmsHppTransferVo queryById(Long transferId){ + return baseMapper.selectVoById(transferId); + } + + /** + * 分页查询半成品调拨列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 半成品调拨分页列表 + */ + @Override + public TableDataInfo queryPageList(WmsHppTransferBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的半成品调拨列表 + * + * @param bo 查询条件 + * @return 半成品调拨列表 + */ + @Override + public List queryList(WmsHppTransferBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(WmsHppTransferBo bo) { + // Map params = bo.getParams(); + return JoinWrappers.lambda(WmsHppTransfer.class) + .selectAll(WmsHppTransfer.class) + .eq(bo.getMaterialId() != null, WmsHppTransfer::getMaterialId, bo.getMaterialId()) + .eq(StringUtils.isNotBlank(bo.getCardNo()), WmsHppTransfer::getCardNo, bo.getCardNo()) + .eq(StringUtils.isNotBlank(bo.getShelfNo()), WmsHppTransfer::getShelfNo, bo.getShelfNo()) + .eq(StringUtils.isNotBlank(bo.getStorePlaceCode()), WmsHppTransfer::getStorePlaceCode, bo.getStorePlaceCode()) + .eq(StringUtils.isNotBlank(bo.getTransferPlaceCode()), WmsHppTransfer::getTransferPlaceCode, bo.getTransferPlaceCode()) + .orderByDesc(WmsHppTransfer::getCreateTime); + + } + + /** + * 新增半成品调拨 + * + * @param bo 半成品调拨 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(WmsHppTransferBo bo) { + WmsHppTransfer add = MapstructUtils.convert(bo, WmsHppTransfer.class); + // validEntityBeforeSave(add); + return baseMapper.insert(add) > 0; + // if (flag) { + // bo.setTransferId(add.getTransferId()); + // } + // return flag; + } + + /** + * 修改半成品调拨 + * + * @param bo 半成品调拨 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(WmsHppTransferBo bo) { + WmsHppTransfer update = MapstructUtils.convert(bo, WmsHppTransfer.class); + // validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + + + /** + * 校验并批量删除半成品调拨信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + /* if(isValid){ + + }*/ + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java index f19f9a7..4eb913d 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java @@ -247,7 +247,6 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { /** * 出库连子表查物料库存 - * */ @Override public WmsInventory outSelectInVentoryByBatch(WmsOutstockRecord outstockRecord) { @@ -257,9 +256,9 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { @Override public List selectStoreInfo(String type) { - if (type.equals("原材料盘点")){ + if (type.equals("原材料盘点")) { return apiMapper.selectRawStore(); - }else if (type.equals("半成品盘点")){ + } else if (type.equals("半成品盘点")) { return apiMapper.selectSemiStore(); } return null; @@ -270,9 +269,9 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { public List storeCheckSelectLocation(String type, Long storeId) { - if (type.equals("原材料盘点")){ + if (type.equals("原材料盘点")) { return apiMapper.selectRawCheckLocationList(storeId); - }else if (type.equals("半成品盘点")){ + } else if (type.equals("半成品盘点")) { return apiMapper.selectSemiCheckLocationList(storeId); } @@ -284,11 +283,11 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { @Override public WmsInventoryCheck storeCheckSubmitOrder(String type, Long storeId, List list) { String tag = DateUtils.dateTime(); - String tabName=null; + String tabName = null; if (type.equals("原材料盘点")) { - tabName="wms_inventory_check"; - }else if (type.equals("半成品盘点")){ - tabName="wms_inventory_check_2"; + tabName = "wms_inventory_check"; + } else if (type.equals("半成品盘点")) { + tabName = "wms_inventory_check_2"; } WmsInventoryCheck wmsInventoryCheck = wmsInventoryCheckMapper.selectInventoryCheckOrder(tabName); @@ -305,7 +304,7 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { insert.setPlanWarehouseId(storeId); insert.setCreateBy(LoginHelper.getUserId()); insert.setTenantId(LoginHelper.getTenantId()); - wmsInventoryCheckMapper.insertTable(tabName,insert); + wmsInventoryCheckMapper.insertTable(tabName, insert); return insert; } @@ -315,10 +314,10 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsInventory.class); lqw.eq(WmsInventory::getLocationCode, locationCode); return wmsInventoryMapper.selectVoList(lqw); - }else if (type.equals("半成品盘点")){ + } else if (type.equals("半成品盘点")) { return wmsInventoryMapper.selectSemiInventoryListByLocation(locationCode); } - return null; + return null; } @@ -351,8 +350,18 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { } + private final WmsHppTransferMapper wmsHppTransferMapper; + @Override public Boolean seimMoveSubmit(Long id, String placeId) { + // 查询 + WmsHppStorageDetailVo wmsHppStorageDetailVo = hppStorageDetailMapper.selectVoById(id); + // 插入调拨 + WmsHppTransfer wmsHppTransfer = new WmsHppTransfer(); + BeanUtils.copyProperties(wmsHppStorageDetailVo, wmsHppTransfer); + wmsHppTransfer.setTransferPlaceCode(placeId); + wmsHppTransferMapper.insert(wmsHppTransfer); + // 修改台账 WmsHppStorageDetail hppStorageDetail = new WmsHppStorageDetail(); hppStorageDetail.setObjId(id); hppStorageDetail.setStorePlaceCode(placeId); diff --git a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsHppTransferMapper.xml b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsHppTransferMapper.xml new file mode 100644 index 0000000..5255153 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsHppTransferMapper.xml @@ -0,0 +1,7 @@ + + + + +