| | |
| | | package org.jeecg.modules.lsw.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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.common.exception.JeecgBootException; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.Serializable; |
| | | import java.util.Collection; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: 线边库物料信息 |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-30 |
| | | * @Date: 2025-06-30 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Service |
| | | public class LswMaterialServiceImpl extends ServiceImpl<LswMaterialMapper, LswMaterial> implements ILswMaterialService { |
| | | |
| | | @Autowired |
| | | private LswMaterialMapper lswMaterialMapper; |
| | | @Autowired |
| | | private LswMaterialInventoryMapper lswMaterialInventoryMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveMain(LswMaterial lswMaterial, List<LswMaterialInventory> lswMaterialInventoryList) { |
| | | lswMaterialMapper.insert(lswMaterial); |
| | | if(lswMaterialInventoryList!=null && lswMaterialInventoryList.size()>0) { |
| | | for(LswMaterialInventory entity:lswMaterialInventoryList) { |
| | | //外键设置 |
| | | entity.setMaterialId(lswMaterial.getId()); |
| | | lswMaterialInventoryMapper.insert(entity); |
| | | } |
| | | } |
| | | } |
| | | @Autowired |
| | | private LswMaterialMapper lswMaterialMapper; |
| | | @Autowired |
| | | private LswMaterialInventoryMapper lswMaterialInventoryMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateMain(LswMaterial lswMaterial,List<LswMaterialInventory> lswMaterialInventoryList) { |
| | | lswMaterialMapper.updateById(lswMaterial); |
| | | |
| | | //1.先删除子表数据 |
| | | lswMaterialInventoryMapper.deleteByMainId(lswMaterial.getId()); |
| | | |
| | | //2.子表数据重新插入 |
| | | if(lswMaterialInventoryList!=null && lswMaterialInventoryList.size()>0) { |
| | | for(LswMaterialInventory entity:lswMaterialInventoryList) { |
| | | //外键设置 |
| | | entity.setMaterialId(lswMaterial.getId()); |
| | | lswMaterialInventoryMapper.insert(entity); |
| | | } |
| | | } |
| | | } |
| | | @Override |
| | | public IPage<Map<String, Object>> getLswMaterialListData(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("materialModel") && StringUtils.isNotBlank(parameterMap.get("materialModel")[0])) { |
| | | paramMap.put("materialModel", parameterMap.get("materialModel")[0].trim()); |
| | | } |
| | | if (parameterMap.containsKey("materialCategory") && StringUtils.isNotBlank(parameterMap.get("materialCategory")[0])) { |
| | | paramMap.put("materialCategory", parameterMap.get("materialCategory")[0].trim()); |
| | | } |
| | | } |
| | | return super.getBaseMapper().getLswMaterialListData(pageData, paramMap); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delMain(String id) { |
| | | lswMaterialInventoryMapper.deleteByMainId(id); |
| | | lswMaterialMapper.deleteById(id); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean editMaterial(LswMaterial lswMaterial) { |
| | | LswMaterial entity = this.getBaseMapper().selectById(lswMaterial.getId()); |
| | | if(entity == null) { |
| | | throw new JeecgBootException("要编辑的数据不存在!"); |
| | | } |
| | | entity.setMaterialCategory(lswMaterial.getMaterialCategory()); |
| | | this.updateById(entity); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delBatchMain(Collection<? extends Serializable> idList) { |
| | | for(Serializable id:idList) { |
| | | lswMaterialInventoryMapper.deleteByMainId(id.toString()); |
| | | lswMaterialMapper.deleteById(id); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public LswMaterial queryByMaterialNumber(String materialNumber) { |
| | | LambdaQueryWrapper<LswMaterial> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(LswMaterial::getMaterialNumber, materialNumber); |
| | | queryWrapper.eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | List<LswMaterial> list = this.getBaseMapper().selectList(queryWrapper); |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return null; |
| | | } |
| | | return list.get(0); |
| | | } |
| | | |
| | | } |