package vip.xiaonuo.quality.service.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import vip.xiaonuo.quality.entity.QualityFenxibaogao; import vip.xiaonuo.quality.entity.QualityManufacturer; import vip.xiaonuo.quality.entity.QualityReagent; import vip.xiaonuo.quality.mapper.QualityReagentMapper; import vip.xiaonuo.quality.param.QualityManufacturerParam; import vip.xiaonuo.quality.param.QualityReagentParam; import vip.xiaonuo.quality.param.vo.ShiJiParam; import vip.xiaonuo.quality.service.IQualityReagentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** *

* 质量试剂使用情况 服务实现类 *

* * @author author * @since 2024-12-11 */ @Service public class QualityReagentServiceImpl extends ServiceImpl implements IQualityReagentService { @Autowired private QualityReagentMapper reagentMapper; @Override public List getList(QualityReagentParam reagentParam) { String orgId = reagentParam.getOrgId(); String produce = reagentParam.getProduce(); Integer timeType = reagentParam.getTimeType(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId); queryWrapper.eq(StringUtils.isNotBlank(produce), "regent_name", produce); if (0 == timeType) { queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y')"); } else { queryWrapper.ge("create_time", DateUtil.beginOfYear(new Date())); queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-m')"); } queryWrapper.orderByAsc("create_time"); return reagentMapper.selectList(queryWrapper); } @Override public Page listPage(QualityManufacturerParam manufacturerParam) { String orgId = manufacturerParam.getOrgId(); Page page = new Page<>(manufacturerParam.getPageNum(), manufacturerParam.getPageSize()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId); queryWrapper.orderByDesc("create_time"); return reagentMapper.selectPage(page, queryWrapper); } @Override public List getShiJi(ShiJiParam shiJiParam) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.select("reagent_name "); wrapper.eq(StringUtils.isNotBlank(shiJiParam.getOrgId()),"org_id",shiJiParam.getOrgId()).groupBy("reagent_name"); List list = this.list(wrapper); return list; } }