package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; /** * 主题库分类的模板属性服务 * @author ludc * @date 2023/5/5 */ @Service public class CodeClassifyTemplateAttrServiceImpl extends ServiceImpl implements ICodeClassifyTemplateAttrService { /** * 数据操作层 */ @Resource private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper; /** * 查询所有的主题库分类的模板属性 * @param lambdaQueryWrapper 查询条件 * @param pageHelper 分页和排序 * @return 执行结果 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ @Override public DataGrid gridCodeClassifyTemplateAttr(LambdaQueryWrapper lambdaQueryWrapper , PageHelper pageHelper) throws VciBaseException { DataGrid dataGrid=new DataGrid<>(); //没有传递参数,就不执行查询逻辑 if(lambdaQueryWrapper == null){ dataGrid.setData(new ArrayList<>()); dataGrid.setTotal(0); return dataGrid; } Query query = new Query(); if (pageHelper == null) { pageHelper = new PageHelper(-1); query.setSize(-1); }else { query.setCurrent(pageHelper.getPage()); query.setSize(pageHelper.getLimit()); } //pageHelper.addDefaultAsc("ordernum"); query.setAscs("ordernum"); IPage doList = codeClassifyTemplateAttrMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper); if (!CollectionUtils.isEmpty(doList.getRecords())) { dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords())); dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClassifyTemplateAttrMapper.selectCount(lambdaQueryWrapper)))); } return dataGrid; } /** * 参照主题库分类的模板属性列表 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 主题库分类的模板属性显示对象列表,生效的内容 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ @Override public DataGrid refDataGridCodeClassifyTemplateAttr(Map conditionMap, PageHelper pageHelper) throws VciBaseException{ if(conditionMap == null){ conditionMap = new HashMap(); } return gridCodeClassifyTemplateAttr(Condition.getQueryWrapper(conditionMap,CodeClassifyTemplateAttr.class).lambda(),pageHelper); } /** * 批量数据对象转换为显示对象 * @param codeClassifyTemplateAttrDOs 数据对象列表 * @return 显示对象 * @throws VciBaseException 参数为空或者不存在的时候会抛出异常 */ @Override public List codeClassifyTemplateAttrDO2VOs(Collection codeClassifyTemplateAttrDOs) throws VciBaseException{ List voList = new ArrayList(); if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOs)){ for(CodeClassifyTemplateAttr s: codeClassifyTemplateAttrDOs){ CodeClassifyTemplateAttrVO vo = codeClassifyTemplateAttrDO2VO(s); if(vo != null){ voList.add(vo); } } } return voList; } /** * 数据对象转换为显示对象 * @param codeClassifyTemplateAttrDO 数据对象 * @return 显示对象 * @throws VciBaseException 拷贝属性出错的时候会抛出异常 */ @Override public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{ CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO(); if(codeClassifyTemplateAttrDO != null){ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo); //如果有lcstatus的类的话 vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributedatatype())); } return vo; } }