From 99af0223ae0858c69d1b75106d5f8bb0ab14b129 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 27 八月 2025 17:04:29 +0800 Subject: [PATCH] art: 移库单回调出库逻辑添加 --- src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java | 67 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 1 deletions(-) diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java index 6ce2d72..bf8c3db 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java @@ -1,18 +1,83 @@ package org.jeecg.modules.lsw.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.lsw.entity.LswMaterial; +import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.entity.LswMaterialOutbound; +import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; import org.jeecg.modules.lsw.mapper.LswMaterialOutboundMapper; +import org.jeecg.modules.lsw.service.ILswMaterialInboundService; +import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; +import org.jeecg.modules.lsw.service.ILswMaterialService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; /** * @Description: 鐗╂枡鍑哄簱鍗� * @Author: jeecg-boot - * @Date: 2025-06-30 + * @Date: 2025-06-30 * @Version: V1.0 */ @Service public class LswMaterialOutboundServiceImpl extends ServiceImpl<LswMaterialOutboundMapper, LswMaterialOutbound> implements ILswMaterialOutboundService { + @Autowired + private ILswMaterialService materialService; + @Autowired + private ILswMaterialInventoryService materialInventoryService; + @Override + public IPage<Map<String, Object>> getlswMaterialOutboundListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + Map<String, String> paramMap = new HashMap<String, String>(); + Map<String, String[]> parameterMap = req.getParameterMap(); + if (null != parameterMap) { + if (parameterMap.containsKey("materialNumber") && StringUtils.isNotBlank(parameterMap.get("materialNumber")[0])) { + paramMap.put("materialNumber", parameterMap.get("materialNumber")[0]); + } + if (parameterMap.containsKey("materialName") && StringUtils.isNotBlank(parameterMap.get("materialName")[0])) { + paramMap.put("materialName", parameterMap.get("materialName")[0].trim()); + } + if (parameterMap.containsKey("batchNumber") && StringUtils.isNotBlank(parameterMap.get("batchNumber")[0])) { + paramMap.put("batchNumber", parameterMap.get("batchNumber")[0].trim()); + } + } + return super.getBaseMapper().getlswMaterialOutboundListData(pageData, paramMap); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean outboundMaterial(LswMaterialOutbound outbound) { + if (StringUtils.isBlank(outbound.getMaterialNumber()) + || StringUtils.isBlank(outbound.getFactoryId()) + || StringUtils.isBlank(outbound.getWarehouseId()) + || outbound.getQuantity() == null + || outbound.getQuantity().intValue() > 0 + || StringUtils.isBlank(outbound.getBatchNumber()) + || StringUtils.isBlank(outbound.getInventoryId())) { + return false; + } + LswMaterialInventory inventory = materialInventoryService.getById(outbound.getInventoryId()); + if(inventory == null) { + return false; + } + //鏇存柊搴撳瓨鐘舵�� + inventory.setInventoryStatus(MaterialInventoryStatusEnum.OUTBOUND.name()); + materialInventoryService.updateById(inventory); + //淇濆瓨鍑哄簱淇℃伅 + outbound.setDelFlag(CommonConstant.DEL_FLAG_0); + outbound.setOutboundTime(new Date()); + super.save(outbound); + return true; + } } -- Gitblit v1.9.3