| | |
| | | //package com.vci.ubcs.code.service.impl; |
| | | package com.vci.ubcs.code.service.impl; |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.entity.CodeAllCode; |
| | | import com.vci.ubcs.code.mapper.CodeAllCodeMapper; |
| | | import com.vci.ubcs.code.service.*; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | // |
| | | //import com.alibaba.fastjson.JSONObject; |
| | | //import com.alibaba.nacos.common.utils.StringUtils; |
| | | //import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | //import com.baomidou.mybatisplus.extension.service.IService; |
| | | //import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | //import com.sun.corba.se.impl.orbutil.ObjectUtility; |
| | | //import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | //import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | //import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | //import com.vci.ubcs.code.entity.CodeAllCode; |
| | | //import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; |
| | | //import com.vci.ubcs.code.entity.CodeRule; |
| | | //import com.vci.ubcs.code.entity.CodeWupinEntity; |
| | | //import com.vci.ubcs.code.enumpack.CodeDefaultLC; |
| | | //import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; |
| | | //import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | //import com.vci.ubcs.code.mapper.CodeAllCodeMapper; |
| | | //import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper; |
| | | //import com.vci.ubcs.code.mapper.CodeRuleMapper; |
| | | //import com.vci.ubcs.code.service.*; |
| | | //import com.vci.ubcs.code.vo.CodeClstemplateVO; |
| | | //import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; |
| | | //import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; |
| | | //import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; |
| | | //import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | //import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | //import com.vci.ubcs.omd.entity.Dict; |
| | | //import com.vci.ubcs.starter.exception.VciBaseException; |
| | | //import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | //import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; |
| | | //import com.vci.ubcs.starter.web.pagemodel.KeyValue; |
| | | //import com.vci.ubcs.starter.web.toolmodel.DateConverter; |
| | | //import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | //import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | | //import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; |
| | | //import com.vci.ubcs.starter.web.util.WebUtil; |
| | | //import com.vci.ubcs.system.entity.DictBiz; |
| | | //import com.vci.ubcs.system.feign.IDictBizClient; |
| | | //import org.slf4j.Logger; |
| | | //import org.slf4j.LoggerFactory; |
| | | //import org.springblade.core.mp.support.Query; |
| | | //import org.springblade.core.secure.utils.AuthUtil; |
| | | //import org.springblade.core.tool.api.R; |
| | | //import org.springframework.beans.BeanUtils; |
| | | //import org.springframework.beans.factory.annotation.Autowired; |
| | | //import org.springframework.stereotype.Service; |
| | | // |
| | | ///** |
| | | // * 主数据引擎服务 |
| | | // * |
| | | // * @author weidy |
| | | // * @date 2022-2-22 |
| | | // */ |
| | | //@Service |
| | | //public class MdmEngineServiceImpl extends ServiceImpl<CodeAllCodeMapper, CodeAllCode> implements MdmEngineService { |
| | | |
| | | |
| | | /** |
| | | * 主数据引擎服务 |
| | | * |
| | | * @author weidy |
| | | * @date 2022-2-22 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class MdmEngineServiceImpl extends ServiceImpl<CodeAllCodeMapper, CodeAllCode> implements MdmEngineService { |
| | | // |
| | | // |
| | | // /** |
| | |
| | | // // @Autowired |
| | | // // private CodeOsbtmtypeMapper codeOsbtmtypeMapper; |
| | | // |
| | | // /** |
| | | // * 使用分类的主键获取可以使用的模板对象 |
| | | // * |
| | | // * @param codeClassifyOid 分类的主键 |
| | | // * @return 模板的显示对象 |
| | | // */ |
| | | // @Override |
| | | // public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) { |
| | | // return getUsedTemplateByClassifyOid(codeClassifyOid, true); |
| | | // } |
| | | /** |
| | | * 模板的服务 |
| | | */ |
| | | @Autowired(required = false) |
| | | private ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService; |
| | | |
| | | /*** |
| | | * 编码规则服务 |
| | | */ |
| | | @Autowired(required = false) |
| | | private ICodeRuleService codeRuleService; |
| | | /*** |
| | | * 分类模板服务 |
| | | */ |
| | | @Autowired(required = false) |
| | | private ICodeClstemplateService plCodeClstemplateService; |
| | | |
| | | /** |
| | | * 使用分类的主键获取可以使用的模板对象 |
| | | * |
| | | * @param codeClassifyOid 分类的主键 |
| | | * @return 模板的显示对象 |
| | | */ |
| | | @Override |
| | | public CodeClassifyTemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid) { |
| | | return getUsedTemplateByClassifyOid(codeClassifyOid, true); |
| | | } |
| | | // |
| | | // /** |
| | | // * 使用分类的主键获取可以使用的模板对象 |
| | | // * |
| | | // * @param codeClassifyOid 分类的主键 |
| | | // * @param hasAttr 包含属性 |
| | | // * @return 模板的显示对象 |
| | | // */ |
| | | // @Override |
| | | // public CodeClstemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) { |
| | | // List<CodeClstemplateVO> templateVOs = templateService.listReleaseTemplateByClassifyOid(codeClassifyOid, hasAttr); |
| | | // return templateVOs.get(templateVOs.size() - 1); |
| | | // } |
| | | /** |
| | | * 使用分类的主键获取可以使用的模板对象 |
| | | * |
| | | * @param codeClassifyOid 分类的主键 |
| | | * @param hasAttr 包含属性 |
| | | * @return 模板的显示对象 |
| | | */ |
| | | @Override |
| | | public CodeClassifyTemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr) { |
| | | CodeClassifyTemplateVO templateVO=new CodeClassifyTemplateVO(); |
| | | List<CodeClassifyTemplateVO>templateVOs=plCodeClstemplateService.listReleaseTemplateByClassifyOid(codeClassifyOid,hasAttr); |
| | | if(templateVOs.size()>0){ |
| | | templateVO= templateVOs.get(templateVOs.size() - 1); |
| | | } |
| | | return templateVO; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 使用分类的全部信息获取编码规则 |
| | | * |
| | | * @param fullInfoBO 分类的全部信息 |
| | | * @return 规则的内容 |
| | | */ |
| | | @Override |
| | | public CodeRuleVO getCodeRuleByClassifyFullInfo(CodeClassifyFullInfoBO fullInfoBO) { |
| | | //往上找 |
| | | String codeRuleOid = ""; |
| | | if (StringUtils.isNotBlank(fullInfoBO.getCurrentClassifyVO().getCoderuleoid())) { |
| | | codeRuleOid = fullInfoBO.getCurrentClassifyVO().getCoderuleoid(); |
| | | } else { |
| | | if (CollectionUtils.isEmpty(fullInfoBO.getParentClassifyVOs())) { |
| | | //说明已经是最高层级, |
| | | throw new VciBaseException("当前主题库分类,以及它的所有的上级分类都没有设置编码规则"); |
| | | } |
| | | List<CodeClassifyVO> parentClassifyVOList = fullInfoBO.getParentClassifyVOs().stream().sorted((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel())).collect(Collectors.toList()); |
| | | //从最高的level开始获取 |
| | | for (int i = 0; i < parentClassifyVOList.size(); i++) { |
| | | CodeClassifyVO record = parentClassifyVOList.get(i); |
| | | if (StringUtils.isNotBlank(record.getCoderuleoid())) { |
| | | codeRuleOid = record.getCoderuleoid(); |
| | | break; |
| | | } |
| | | } |
| | | if (StringUtils.isBlank(codeRuleOid)) { |
| | | throw new VciBaseException("当前主题库分类,以及它的所有的上级分类都没有设置编码规则"); |
| | | } |
| | | } |
| | | return codeRuleService.getObjectHasSecByOid(codeRuleOid); |
| | | } |
| | | // |
| | | // /** |
| | | // * 获取枚举的下拉选项 |
| | |
| | | //// batchSaveSelectChar(templateVO, cboList); |
| | | //// } |
| | | // |
| | | //} |
| | | } |