package org.jeecg.modules.base.service.impl; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.base.entity.FactoryModel; import org.jeecg.modules.base.entity.Warehouse; import org.jeecg.modules.base.mapper.WarehouseClientMapper; import org.jeecg.modules.base.mapper.WarehouseMapper; import org.jeecg.modules.base.service.IWarehouseService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.*; /** * @Description: 仓库 * @Author: jeecg-boot * @Date: 2022-11-07 * @Version: V1.0 */ @Service public class WarehouseServiceImpl extends ServiceImpl implements IWarehouseService { @Autowired private WarehouseMapper warehouseMapper; @Autowired private WarehouseClientMapper warehouseClientMapper; @Override public Page> getWarehouseList(Page> page, Integer version, String enterpriseId) { return page.setRecords(warehouseMapper.getWarehouseList(page,version,enterpriseId)); } @Override public Integer getInitVersion() { List usableVersionList = warehouseMapper.getUsableList(); Set allVersionList = getVersionList(); if(CollectionUtils.isNotEmpty(usableVersionList)){ return usableVersionList.get(0).getVersion(); }else if(CollectionUtils.isNotEmpty(allVersionList)){ return allVersionList.stream().findFirst().get(); } return null; } @Override @Transactional(rollbackFor = Exception.class) public void delMain(String id) { warehouseClientMapper.deleteByMainId(id); warehouseMapper.deleteById(id); } @Override @Transactional(rollbackFor = Exception.class) public void delBatchMain(Collection idList) { for(Serializable id:idList) { warehouseClientMapper.deleteByMainId(id.toString()); warehouseMapper.deleteById(id); } } @Override public Set getVersionList() { Set set = new TreeSet(Comparator.reverseOrder()); set.addAll(warehouseMapper.getAllVersion()); return set; } @Override public List getLastUsableList() { return warehouseMapper.getLastUsableList(); } @Override public List getUsableList() { return warehouseMapper.getUsableList(); } @Override public Map getNowAndLastUsableVersion() { List usableList = warehouseMapper.getUsableList(); List lastUsableList = warehouseMapper.getLastUsableList(); Map map = new HashMap<>(2); if(CollectionUtils.isNotEmpty(usableList)){ map.put("usableVersion",usableList.get(0).getVersion()); } if(CollectionUtils.isNotEmpty(lastUsableList)){ map.put("lastUsableVersion",lastUsableList.get(0).getVersion()); } return map; } @Override public List getVersionStatusByVersion(Integer version) { return warehouseMapper.getVersionStatusByVersion(version); } }