package org.dromara.analy.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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.dromara.analy.domain.bo.StoreSilkInfoBo; import org.dromara.analy.domain.vo.StoreSilkInfoVo; import org.dromara.analy.domain.StoreSilkInfo; import org.dromara.analy.mapper.StoreSilkInfoMapper; import org.dromara.analy.service.IStoreSilkInfoService; import org.dromara.analy.mapper.FeedmatchTimeDataMapper; import org.dromara.analy.domain.FeedmatchTimeData; import java.util.List; import java.util.Map; import java.util.Collection; import java.util.HashMap; /** * 储丝柜产量Service业务层处理 * * @author zhuguifei * @date 2026-03-02 */ @Slf4j @RequiredArgsConstructor @Service public class StoreSilkInfoServiceImpl implements IStoreSilkInfoService { private final StoreSilkInfoMapper baseMapper; private final FeedmatchTimeDataMapper feedmatchTimeDataMapper; /** * 查询储丝柜产量 * * @param id 主键 * @return 储丝柜产量 */ @Override public StoreSilkInfoVo queryById(Long id){ return baseMapper.selectVoById(id); } /** * 分页查询储丝柜产量列表 * * @param bo 查询条件 * @param pageQuery 分页参数 * @return 储丝柜产量分页列表 */ @Override public TableDataInfo queryPageList(StoreSilkInfoBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); queryFeedmatchData(result); return TableDataInfo.build(result); } private void queryFeedmatchData(Page page) { if (page == null || page.getRecords() == null || page.getRecords().isEmpty()) { return; } List storeSilkInfoList = page.getRecords(); for (int i = 0; i < storeSilkInfoList.size(); i++) { StoreSilkInfoVo storeSilkInfoVo = storeSilkInfoList.get(i); } } /** * 查询符合条件的储丝柜产量列表 * * @param bo 查询条件 * @return 储丝柜产量列表 */ @Override public List queryList(StoreSilkInfoBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } private LambdaQueryWrapper buildQueryWrapper(StoreSilkInfoBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(StoreSilkInfo::getId); lqw.like(StringUtils.isNotBlank(bo.getMaterialname()), StoreSilkInfo::getMaterialname, bo.getMaterialname()); lqw.eq(StringUtils.isNotBlank(bo.getBatchcode()), StoreSilkInfo::getBatchcode, bo.getBatchcode()); lqw.eq(bo.getActualstarttime() != null, StoreSilkInfo::getActualstarttime, bo.getActualstarttime()); lqw.eq(bo.getDistimebegin() != null, StoreSilkInfo::getDistimebegin, bo.getDistimebegin()); lqw.eq(bo.getDistimeend() != null, StoreSilkInfo::getDistimeend, bo.getDistimeend()); lqw.eq(StringUtils.isNotBlank(bo.getSiloid()), StoreSilkInfo::getSiloid, bo.getSiloid()); return lqw; } /** * 新增储丝柜产量 * * @param bo 储丝柜产量 * @return 是否新增成功 */ @Override public Boolean insertByBo(StoreSilkInfoBo bo) { StoreSilkInfo add = MapstructUtils.convert(bo, StoreSilkInfo.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); } return flag; } /** * 修改储丝柜产量 * * @param bo 储丝柜产量 * @return 是否修改成功 */ @Override public Boolean updateByBo(StoreSilkInfoBo bo) { StoreSilkInfo update = MapstructUtils.convert(bo, StoreSilkInfo.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 */ private void validEntityBeforeSave(StoreSilkInfo entity){ //TODO 做一些数据校验,如唯一约束 } /** * 校验并批量删除储丝柜产量信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; } }