田源
2023-05-09 549ecbf13b14a4deb74e42828abcd46ccb68a7c0
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
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<CodeClassifyTemplateAttrMapper, CodeClassifyTemplateAttr> implements ICodeClassifyTemplateAttrService {
   /**
    * æ•°æ®æ“ä½œå±‚
    */
   @Resource
   private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper;
   /**
    * æŸ¥è¯¢æ‰€æœ‰çš„主题库分类的模板属性
    * @param lambdaQueryWrapper æŸ¥è¯¢æ¡ä»¶
    * @param pageHelper åˆ†é¡µå’ŒæŽ’序
    * @return æ‰§è¡Œç»“æžœ
    * @throws VciBaseException æŸ¥è¯¢æ¡ä»¶å’Œåˆ†é¡µå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
    */
   @Override
   public DataGrid<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(LambdaQueryWrapper<CodeClassifyTemplateAttr> lambdaQueryWrapper , PageHelper pageHelper) throws VciBaseException {
      DataGrid<CodeClassifyTemplateAttrVO> 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<CodeClassifyTemplateAttr> 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<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, Object> conditionMap, PageHelper pageHelper) throws VciBaseException{
      if(conditionMap == null){
         conditionMap = new HashMap<String, Object>();
      }
      return gridCodeClassifyTemplateAttr(Condition.getQueryWrapper(conditionMap,CodeClassifyTemplateAttr.class).lambda(),pageHelper);
   }
   /**
    * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
    * @param codeClassifyTemplateAttrDOs æ•°æ®å¯¹è±¡åˆ—表
    * @return æ˜¾ç¤ºå¯¹è±¡
    * @throws VciBaseException å‚数为空或者不存在的时候会抛出异常
    */
   @Override
   public List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOs) throws VciBaseException{
      List<CodeClassifyTemplateAttrVO> voList = new ArrayList<CodeClassifyTemplateAttrVO>();
      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;
   }
}