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.LswMaterialInbound; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.mapper.LswMaterialInboundMapper; import org.jeecg.modules.lsw.service.ILswMaterialInboundService; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; 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 * @Version: V1.0 */ @Service public class LswMaterialInboundServiceImpl extends ServiceImpl implements ILswMaterialInboundService { @Autowired private ILswMaterialInventoryService inventoryService; @Autowired private ILswMaterialService materialService; @Override public IPage> getlswMaterialInboundListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { IPage pageData = new Page(pageNo, pageSize); Map paramMap = new HashMap(); Map 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().getlswMaterialInboundListData(pageData, paramMap); } @Override @Transactional(rollbackFor = Exception.class) public boolean inboundMaterial(LswMaterialInbound materialInbound) { if (StringUtils.isBlank(materialInbound.getMaterialNumber()) || StringUtils.isBlank(materialInbound.getFactoryId()) || StringUtils.isBlank(materialInbound.getWarehouseId()) || materialInbound.getQuantity() == null || materialInbound.getQuantity().intValue() > 0 || StringUtils.isBlank(materialInbound.getBatchNumber())) { return false; } LswMaterial material = materialService.queryByMaterialNumber(materialInbound.getMaterialNumber()); if(material == null) { return false; } //保存入库信息 materialInbound.setDelFlag(CommonConstant.DEL_FLAG_0); materialInbound.setReceiveTime(new Date()); super.save(materialInbound); //保存库存信息 LswMaterialInventory lswMaterialInventory = new LswMaterialInventory(materialInbound, material.getId(), material.getMaterialCategory()); inventoryService.save(lswMaterialInventory); return true; } }