田源
2023-12-06 f099be6e30adfdea4580b09e33d75dc146a7a475
Merge remote-tracking branch 'origin/master'
已修改26个文件
372 ■■■■■ 文件已修改
Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/service/impl/FileServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java 174 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeButtonServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyProcessTempServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/service/impl/FileServiceImpl.java
@@ -279,7 +279,7 @@
        fileObject.setObjectName(bladeFile.getName());
        fileObject.setFileLink(bladeFile.getLink());
        // 添加之前赋默认值
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(fileObject, MdmBtmTypeConstant.FILE_OBJECT,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(fileObject, MdmBtmTypeConstant.FILE_OBJECT);
        fileObjectMapper.insert(fileObject);
        if(log.isDebugEnabled()){
            log.debug("新增文件",fileObject.toString());
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -1,24 +1,16 @@
package com.vci.ubcs.starter.util;
import com.alibaba.nacos.api.naming.pojo.healthcheck.impl.Http;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.apache.poi.ss.formula.functions.T;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.WebUtil;
import org.springframework.web.util.WebUtils;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
/**
@@ -37,7 +29,7 @@
     * @return
     * @throws VciBaseException
     */
    public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName, HttpServletRequest request/*不在多线程流中使用就不需要传request*/) throws VciBaseException {
    public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            baseModel.setOid(VciBaseUtil.getPk());
@@ -46,8 +38,53 @@
            baseModel.setLastModifyTime(new Date());
            baseModel.setTs(new Date());
            baseModel.setRevisionOid(VciBaseUtil.getPk());
            String account = Func.isEmpty(request) ? AuthUtil.getUser().getAccount() : AuthUtil.getUser(request).getAccount();
            baseModel.setBtmname(btmName);
            baseModel.setCreator(AuthUtil.getUser().getAccount());
            baseModel.setFirstR("1");
            baseModel.setFirstV("1");
            baseModel.setLastR("1");
            baseModel.setLastV("1");
            baseModel.setRevisionSeq(1);
            // TODO:目前只有编码规则中有用到,后期需要去掉这段代码的话,就把他加在编码规则新增中去
            if(Func.isBlank(baseModel.getOwner())){
                // 设置所有者
                baseModel.setOwner(AuthUtil.getUserId().toString());
            }
            baseModel.setVersionSeq(1);
            baseModel.setVersionRule("0");
            baseModel.setVersionValue("1");
            baseModel.setRevisionOid(VciBaseUtil.getPk());
            baseModel.setLastModifier(AuthUtil.getUser().getAccount());
            baseModel.setRevisionValue("1");
            baseModel.setRevisionRule("1");
            baseModel.setTenantId(AuthUtil.getTenantId());
        }catch (VciBaseException e){
            e.printStackTrace();
        }
        return (T)baseModel;
    }
    /**
     * 当在多线程流中调用时,获取不到请求头信息,
     * 所以得在多线程流外面获取到request
     * @param object 继承了BaseModel的实体对象
     * @param <T>   返回值的类型
     * @param btmName  业务类型
     * @return
     * @throws VciBaseException
     */
    public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName, BladeUser user) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            baseModel.setOid(VciBaseUtil.getPk());
            baseModel.setCreateTime(new Date());
            baseModel.setNameOid(VciBaseUtil.getPk());
            baseModel.setLastModifyTime(new Date());
            baseModel.setTs(new Date());
            baseModel.setRevisionOid(VciBaseUtil.getPk());
            baseModel.setBtmname(btmName);
            String account = Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount();
            baseModel.setCreator(account);
            baseModel.setFirstR("1");
            baseModel.setFirstV("1");
@@ -57,7 +94,7 @@
            // TODO:目前只有编码规则中有用到,后期需要去掉这段代码的话,就把他加在编码规则新增中去
            if(Func.isBlank(baseModel.getOwner())){
                // 设置所有者
                baseModel.setOwner(Func.isEmpty(request) ? AuthUtil.getUserId().toString():AuthUtil.getUserId(request).toString());
                baseModel.setOwner(Func.isNotEmpty(user) ? user.getUserId().toString():AuthUtil.getUserId().toString());
            }
            baseModel.setVersionSeq(1);
@@ -67,7 +104,7 @@
            baseModel.setLastModifier(account);
            baseModel.setRevisionValue("1");
            baseModel.setRevisionRule("1");
            baseModel.setTenantId(Func.isEmpty(request) ? AuthUtil.getTenantId():AuthUtil.getTenantId(request));
            baseModel.setTenantId(Func.isNotEmpty(user) ? user.getTenantId():AuthUtil.getTenantId());
        }catch (VciBaseException e){
            e.printStackTrace();
        }
@@ -81,7 +118,7 @@
     * @return
     * @throws VciBaseException
     */
    public static <T extends BaseModel> T updateDefaultAttrAssimt(T object,HttpServletRequest request) throws VciBaseException {
    public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            baseModel.setLastModifyTime(new Date());
@@ -89,8 +126,29 @@
            // 用户id
            // String userId = AuthUtil.getUserId().toString();
            // 要求改成账号
            String account = Func.isEmpty(request) ? AuthUtil.getUser().getAccount() : AuthUtil.getUser(request).getAccount();
            baseModel.setLastModifier(account);
            baseModel.setLastModifier(AuthUtil.getUser().getAccount());
        }catch (VciBaseException e){
            e.printStackTrace();
        }
        return (T)baseModel;
    }
    /**
     * 修改时填充默认值:多线程流中调用
     * @param object 继承了BaseModel的实体对象
     * @param <T>   返回值的类型
     * @return
     * @throws VciBaseException
     */
    public static <T extends BaseModel> T updateDefaultAttrAssimt(T object, BladeUser user) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            baseModel.setLastModifyTime(new Date());
            baseModel.setTs(new Date());
            // 用户id
            // String userId = AuthUtil.getUserId().toString();
            // 要求改成账号
            baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount());
        }catch (VciBaseException e){
            e.printStackTrace();
        }
@@ -104,7 +162,7 @@
     * @return
     * @throws VciBaseException
     */
    public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object,HttpServletRequest request) throws VciBaseException {
    public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -158,7 +216,7 @@
            baseModel.setVersionRule(dataMap.getOrDefault("VERSIONRULE",""));
            baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE",""));
            baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
            baseModel.setLastModifier(Func.isEmpty(request) ? AuthUtil.getUser().getAccount() : AuthUtil.getUser(request).getAccount());
            baseModel.setLastModifier(AuthUtil.getUser().getAccount());
            baseModel.setLcStatus(dataMap.getOrDefault("LCSTATUS",""));
            baseModel.setName(dataMap.getOrDefault("NAME",""));
            baseModel.setTenantId(dataMap.getOrDefault("TENADTID",""));
@@ -170,6 +228,85 @@
            }
        }catch (VciBaseException e){
            e.printStackTrace();
            throw e;
        }
        return (T)baseModel;
    }
    /**
     * 新增时填充默认值:多线程流中调用
     * @param object 继承了BaseModel的实体对象
     * @param <T>   返回值的类型
     * @return
     * @throws VciBaseException
     */
    public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object, BladeUser user) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            baseModel.setOid(dataMap.getOrDefault("OID",""));
            baseModel.setId(dataMap.getOrDefault("ID",""));
            Map<String,Object> newDataMap=new HashMap<>();
            /*for (String key:dataMap.keySet()){
                Object value=dataMap.get(key);
                newDataMap.put(key.toLowerCase(Locale.ROOT),value);
            }*/
            /*    dataMap.forEach((key,value)->{
                newDataMap.put(key.toLowerCase(Locale.ROOT),value);
            });*/
            //baseModel.setData((Map)newDataMap);
            Object createTimeObj=dataMap.getOrDefault("CREATETIME","");
            if(createTimeObj!=null) {
                String createTime = createTimeObj.toString();
                baseModel.setCreateTime(chageStringToDate(createTime));
            }
            baseModel.setNameOid(dataMap.getOrDefault("NAMEOID",""));
            Object lastModifyTimeObj=dataMap.getOrDefault("LASTMODIFYTIME","");
            if(lastModifyTimeObj!=null) {
                String lastModifyTime = lastModifyTimeObj.toString();
                baseModel.setLastModifyTime(chageStringToDate(lastModifyTime));
            }
            Object tsObj=dataMap.getOrDefault("TS","");
            if(tsObj!=null) {
                String ts = tsObj.toString();
                baseModel.setTs(chageStringToDate(ts));
            }
            baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
            //用户id ; 要求改成了账号
            // String userId = AuthUtil.getUserId().toString();
            baseModel.setBtmname(dataMap.getOrDefault("BTMNAME",""));
            baseModel.setCreator(dataMap.getOrDefault("CREATOR",""));
            baseModel.setFirstR(dataMap.getOrDefault("FIRSTR",""));
            baseModel.setFirstV(dataMap.getOrDefault("FIRSTV",""));
            baseModel.setLastR(dataMap.getOrDefault("LASTR",""));
            baseModel.setLastV(dataMap.getOrDefault("LASTV",""));
            Object revisionseq =dataMap.getOrDefault("REVISIONSEQ","");
            if(revisionseq!=null){
                baseModel.setRevisionSeq(chageStringToInt(revisionseq.toString()));
            }
            baseModel.setOwner(dataMap.getOrDefault("OWNER",""));
            Object versionseq =dataMap.getOrDefault("VERSIONSEQ","");
            if(versionseq!=null){
                baseModel.setVersionSeq(chageStringToInt(versionseq.toString()));
            }
            baseModel.setVersionRule(dataMap.getOrDefault("VERSIONRULE",""));
            baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE",""));
            baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
            baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount());
            baseModel.setLcStatus(dataMap.getOrDefault("LCSTATUS",""));
            baseModel.setName(dataMap.getOrDefault("NAME",""));
            baseModel.setTenantId(dataMap.getOrDefault("TENADTID",""));
            baseModel.setDescription(dataMap.getOrDefault("DESCRIOTION",""));
            baseModel.setCopyFromVersion(dataMap.getOrDefault("COPYFROMVERSION",""));
            Object secretgrade=dataMap.get("SECRETGRADE");
            if(secretgrade!=null){
                baseModel.setSecretGrade(chageStringToInt(secretgrade.toString()));
            }
        }catch (VciBaseException e){
            e.printStackTrace();
            throw e;
        }
        return (T)baseModel;
    }
@@ -194,4 +331,5 @@
        }
        return date;
    }
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -258,9 +258,9 @@
                if (dockingPreClassify == null|| StringUtils.isBlank(dockingPreClassify.getOid())) {
                    dockingPreClassify = new DockingPreClassify();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
                } else {
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
                }
                dockingPreClassify.setOid(id);
                dockingPreClassify.setName(className);
@@ -314,10 +314,10 @@
                    jviewModelObject = jviewmodelMap.get(viewName);
                    //影响编码项的数据
                    jviewModelObject.setImpactList(impactList);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject);
                } else {
                    jviewModelObject =new DockingPreViewModel();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL);
                    jviewModelObject.setSourceClassifyId(jclassId);// 集团分类id
                    jviewModelObject.setViewName(viewName);// 集团视图名称
                    //影响编码项的数据
@@ -372,9 +372,9 @@
                    dockingPreMetaAttr = jmetaattrMap.get(englishName);
                    dockingPreMetaAttr.setChineseName(chineseName);
                    dockingPreMetaAttr.setDefaultValue(defaultValue);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR);
                    dockingPreMetaAttr.setSourceClassifyId(jclassId);// 集团分类id
                    dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// 集团视图模型id
                    dockingPreMetaAttr.setChineseName(chineseName);// 属性名称
@@ -436,9 +436,9 @@
                    rangeObject = rangeMap.get(rangeKey);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    rangeObject.setTs(rangeObject.getLastModifyTime());
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -104,9 +104,9 @@
            DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping();
            if(dockingPreAttrMappingMap.containsKey(attrOid)){
                dockingPreAttrMapping=    dockingPreAttrMappingMap.get(attrOid);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping,null);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping);
            }else{
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM,null);
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//属性主键
                dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//英文名称
                dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//中文名称
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -175,8 +175,8 @@
                                        baseModel.setId(10+customCoding);
                                    }
                                    BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
                                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel,null);
                                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel,null);
                                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                    baseModel.getData().getOrDefault("groupCode", customCoding);
                                    updateCbos.add(baseModel);//更新数据集团code
@@ -189,14 +189,14 @@
                            dockingPreApplyForm.setMsg("申请:" + msg);
                            dockingPreApplyForm.setContent("");
                            dockingPreApplyForm.setGroupCode("");
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm,null);
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                        });
                        addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                            dockingPreApplyForm.setCode("2");
                            dockingPreApplyForm.setMsg("申请:" + msg);
                            dockingPreApplyForm.setContent("");
                            dockingPreApplyForm.setGroupCode("");
                            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM,null);
                            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                        });
                    }
                    if (editDockingPreApplyFormMap.size() > 0) {
@@ -300,7 +300,7 @@
                                if(partCoe.equals(classOid)){
                                    baseModel.setId(10+customCoding);
                                }
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel,null);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                //    baseModel.setId(customCoding);
                                baseModel.getData().put("groupCode", customCoding);
                                updateCbos.add(baseModel);//更新数据集团code
@@ -313,14 +313,14 @@
                        dockingPreApplyForm.setMsg("修改:" + msg);
                        dockingPreApplyForm.setContent("");
                        dockingPreApplyForm.setGroupCode("");
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm,null);
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                    });
                    addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                        dockingPreApplyForm.setCode("2");
                        dockingPreApplyForm.setMsg("修改:" + msg);
                        dockingPreApplyForm.setContent("");
                        dockingPreApplyForm.setGroupCode("");
                        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM,null);
                        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                    });
                }
                if (editDockingPreApplyFormMap.size() > 0) {
@@ -439,9 +439,9 @@
                        log.info("classify:-------------->链接名称:"+nodeLinkName);
                        log.info("classify:-------------->链接版本:"+version);
                        if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
                            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY,null);
                            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
                        } else {
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify,null);
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
                        }
                        dockingPreClassify.setOid(id);
                        dockingPreClassify.setName(className);
@@ -603,9 +603,9 @@
                log.info("classify:-------------->链接名称:"+nodeLinkName);
                if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
                } else {
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
                }
                dockingPreClassify.setOid(id);
                dockingPreClassify.setName(className);
@@ -660,10 +660,10 @@
                    jviewModelObject = jviewmodelMap.get(viewName);
                    //影响编码项的数据
                    jviewModelObject.setImpactList(impactList);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject);
                } else {
                    jviewModelObject =new DockingPreViewModel();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL);
                    jviewModelObject.setSourceClassifyId(jclassId);// 集团分类id
                    jviewModelObject.setViewName(viewName);// 集团视图名称
                    //影响编码项的数据
@@ -718,9 +718,9 @@
                    dockingPreMetaAttr = jmetaattrMap.get(englishName);
                    dockingPreMetaAttr.setChineseName(chineseName);
                    dockingPreMetaAttr.setDefaultValue(defaultValue);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR);
                    dockingPreMetaAttr.setSourceClassifyId(jclassId);// 集团分类id
                    dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// 集团视图模型id
                    dockingPreMetaAttr.setChineseName(chineseName);// 属性名称
@@ -782,9 +782,9 @@
                    rangeObject = rangeMap.get(rangeKey);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject);
                } else {
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE);
                    rangeObject.setNumTextValue(keyValue);
                    rangeObject.setNumText(rangeKey);
                    rangeObject.setTs(rangeObject.getLastModifyTime());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java
@@ -5,6 +5,7 @@
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.starter.revision.model.BaseModel;
import org.springblade.core.secure.BladeUser;
import java.util.Collection;
import java.util.List;
@@ -20,7 +21,7 @@
     * @param dataCBOList 业务数据
     */
    List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO,
                                        CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception;
                                        CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList, BladeUser user) throws Exception;
    /**
        * 回收码值
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java
@@ -63,7 +63,7 @@
        //处理新选择的数据
        roleList.stream().forEach(systemClassifyRole -> {
            if(StringUtil.isBlank(systemClassifyRole.getOid())){
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(systemClassifyRole,"systemClassifyRole",null);
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(systemClassifyRole,"systemClassifyRole");
                systemClassifyRole.setSystemId(systemId);
                systemClassifyRole.setSystemOid(systemOid);
                systemClassifyRole.setTenantId(AuthUtil.getTenantId());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -252,7 +252,7 @@
        codeBasicSecDO.setValueCutTypeText(EnumCache.getValue(EnumEnum.CODE_CUT_TYPE,codeBasicSecDTO.getValueCutType()));
        codeBasicSecDO.setCodeGetValueTypeText(EnumCache.getValue(EnumEnum.CODE_GET_VALUE_TYPE,codeBasicSecDTO.getCodeGetValueType()));
        //填充一些默认值
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO, MdmBtmTypeConstant.CODE_BASIC_SEC,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO, MdmBtmTypeConstant.CODE_BASIC_SEC);
        //排序号,默认等于当前已有的数量加1
        Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query()
            .lambda()
@@ -369,7 +369,7 @@
        }
        //将DTO转换为DO
        CodeBasicSec codeBasicSecDO = selectByOid(codeBasicSecDTO.getOid());
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeBasicSecDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeBasicSecDO);
        boolean status = codeRuleService.checkEditDelStatus(codeRuleService.getObjectByOid(codeBasicSecDO.getPkCodeRule()).getLcStatus());
        boolean resBoolean;
        CodeReferConfigVO codeReferConfigVO = null;
@@ -627,7 +627,7 @@
                continue;
            }
            // 更改创建时间,修改时间等默认值
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC,null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC);
            //固定码段
            if(newSecDO.getSecType().equals(CodeSecTypeEnum.CODE_FIXED_SEC.getValue())){
                // 固定码段存储好oid和码值的关联关系
@@ -652,7 +652,7 @@
            value.stream().forEach(item -> {
                item.setOid("");
                item.setCodeFixedSecOid(key);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item,null);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item);
                codeFixedDOValues.add(item);
            });
        });
@@ -697,7 +697,7 @@
            }
            codeClassValues.forEach((key, value) -> {
                value.stream().forEach(item -> {
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item);
                    item.setCodeClassifySecOid(key);
                    codeClassifyDOValues.add(item);
                });
@@ -1118,7 +1118,7 @@
        }else{
            //如果最大流水号不为空,说明无最好流水号,新增最大流水号
            CodeSerialValue codeSerialValue = new CodeSerialValue();
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeSerialValue, MdmBtmTypeConstant.CODE_SERIAL_VALUE,null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeSerialValue, MdmBtmTypeConstant.CODE_SERIAL_VALUE);
            codeSerialValue.setCodeRuleOid(codeRuleOid);
            codeSerialValue.setSerialUnit(serialUnitString);
            codeSerialValue.setCodeSecOid(codeBasicSec.getOid());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeButtonServiceImpl.java
@@ -118,7 +118,7 @@
        //将DTO转换为DO
        CodeButton codeButtonDO = new CodeButton();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeButtonDTO,codeButtonDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeButtonDO, MdmBtmTypeConstant.CODE_BUTTON,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeButtonDO, MdmBtmTypeConstant.CODE_BUTTON);
        boolean resInsertCodeButton = codeButtonMapper.insert(codeButtonDO) > 0;
        return resInsertCodeButton ? codeButtonDO2VO(codeButtonDO):null;
    }
@@ -135,7 +135,7 @@
        //将DTO转换为DO
        CodeButton codeButtonDO = selectByOid(codeButtonDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeButtonDTO,codeButtonDO);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeButtonDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeButtonDO);
        boolean resUpdateCodeButton = codeButtonMapper.updateById(codeButtonDO) > 0;
        return resUpdateCodeButton ? codeButtonDO2VO(codeButtonDO):null;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyProcessTempServiceImpl.java
@@ -144,7 +144,7 @@
        //将DTO转换为DO
        CodeClassifyProcessTemp codeClassifyProcessTempDO = new CodeClassifyProcessTemp();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyProcessTempDTO,codeClassifyProcessTempDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyProcessTempDO, MdmBtmTypeConstant.CODE_CLASSIFY_PROCESS_TEMPLATE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyProcessTempDO, MdmBtmTypeConstant.CODE_CLASSIFY_PROCESS_TEMPLATE);
        codeClassifyProcessTempMapper.insert(codeClassifyProcessTempDO);
        //因为业务类型本身没有控制版本,所有强制给版本revisionValue设置值,平台也会变成空。。。。
        //版本号不能使用默认的属性
@@ -164,7 +164,7 @@
        //将DTO转换为DO
        CodeClassifyProcessTemp codeClassifyProcessTempDO = selectByOid(codeClassifyProcessTempDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeClassifyProcessTempDTO,codeClassifyProcessTempDO);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyProcessTempDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyProcessTempDO);
        codeClassifyProcessTempMapper.updateById(codeClassifyProcessTempDO);
        return CodeClassifyProcessTempWrapper.build().entityVO(codeClassifyProcessTempDO);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -179,7 +179,7 @@
            codeClassifyEntity.setBtmTypeId(codeClassify.getBtmTypeId());
            codeClassifyEntity.setBtmTypeName(codeClassify.getBtmTypeName());
        }
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY);
        codeClassifyEntity.setLcStatus(FRAMEWORK_DATA_ENABLED);
        int insertNumber = codeClassifyMapper.insert(codeClassifyEntity);
        return R.status(SqlHelper.retBool(insertNumber));
@@ -716,7 +716,7 @@
            CodeSerialValue codeSerialValue = codeSerialValueMapper.selectOne(wrapper);
            if(codeSerialValue == null){
                CodeSerialValue newSerialValue = new CodeSerialValue();
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSerialValue,"codeserialvalue",null);
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSerialValue,"codeserialvalue");
                newSerialValue.setCodeRuleOid(codeAllCodeVO.getCodeRuleOid());
                newSerialValue.setCodeSecOid(codeBasicSec.getOid());
                newSerialValue.setSerialUnit(codeAllCodeVO.getSerialUnit());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -328,7 +328,7 @@
        //将DTO转换为DO
        CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateAttrDO,"codeclstempattr",null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateAttrDO,"codeclstempattr");
        baseMapper.insert(codeClassifyTemplateAttrDO);
        return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java
@@ -190,7 +190,7 @@
        //将DTO转换为DO
        CodeClassifyTemplateButton codeClassifyTemplateButtonDO = new CodeClassifyTemplateButton();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateButtonDO, MdmBtmTypeConstant.CODE_TEMPLATE_BUTTON,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateButtonDO, MdmBtmTypeConstant.CODE_TEMPLATE_BUTTON);
        if(codeClassifyTemplateButtonDO.getOrderNum()== null){
            //查询全部
            Long count = codeClassifyTemplateButtonMapper.selectCount(Wrappers.<CodeClassifyTemplateButton>query()
@@ -218,7 +218,7 @@
        //将DTO转换为DO
        CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyTemplateButtonDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyTemplateButtonDO);
        boolean resUpdateClsTempButton = codeClassifyTemplateButtonMapper.updateById(codeClassifyTemplateButtonDO) > 0;
        return resUpdateClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -130,7 +130,7 @@
        CodeClassifyValue codeClassifyValueDO = new CodeClassifyValue();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDTO,codeClassifyValueDO);
        //填充一些默认值
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyValueDO, MdmBtmTypeConstant.CODE_CLASSIFY_VALUE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyValueDO, MdmBtmTypeConstant.CODE_CLASSIFY_VALUE);
        LambdaQueryWrapper<CodeClassifyValue> wrapper = Wrappers.<CodeClassifyValue>query()
            .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid());
        if(Func.isEmpty(codeClassifyValueDO.getParentClassifyValueOid())){
@@ -159,7 +159,7 @@
        CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeClassifyValueDTO,codeClassifyValueDO);
        //填充一些默认值
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyValueDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyValueDO);
        boolean resBoolean = codeClassifyValueMapper.updateById(codeClassifyValueDO) > 0;
        return resBoolean;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java
@@ -117,7 +117,7 @@
        CodeFixedValue codeFixedValueDO = new CodeFixedValue();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueDTO,codeFixedValueDO);
        //填充一些默认值
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeFixedValueDO, MdmBtmTypeConstant.CODE_FIXED_VALUE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeFixedValueDO, MdmBtmTypeConstant.CODE_FIXED_VALUE);
        Long count = this.codeFixedValueMapper.selectCount(Wrappers.<CodeFixedValue>query()
            .lambda().eq(CodeFixedValue::getCodeFixedSecOid, codeFixedValueDO.getCodeFixedSecOid())
        )+1L;
@@ -140,7 +140,7 @@
        CodeFixedValue codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeFixedValueDTO,codeFixedValueDO);
        //填充一些默认值
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeFixedValueDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeFixedValueDO);
        boolean resBoolean = codeFixedValueMapper.updateById(codeFixedValueDO) > 0;
        return resBoolean;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
@@ -123,7 +123,7 @@
        // }
        CodeReferConfig codeReferConfig = CodeReferConfigWraper.build().entityDO(codeReferConfigVO);
        codeReferConfig.setOid(VciBaseUtil.getPk().toUpperCase());
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeReferConfig, MdmBtmTypeConstant.CODE_REFER_CONFIG,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeReferConfig, MdmBtmTypeConstant.CODE_REFER_CONFIG);
        codeReferConfig.setTenantId(AuthUtil.getTenantId());
        boolean resInsertReferConfig = this.codeReferconfigMapper.insert(codeReferConfig) > 0;
        if (!resInsertReferConfig) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
@@ -173,7 +173,7 @@
        //将DTO转换为DO
        CodeResembleRule codeResembleRuleDO = new CodeResembleRule();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,codeResembleRuleDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeResembleRuleDO, MdmBtmTypeConstant.CODE_RESEMBLE_RULE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeResembleRuleDO, MdmBtmTypeConstant.CODE_RESEMBLE_RULE);
        codeResembleRuleDO.setTenantId(AuthUtil.getTenantId());
        codeResembleRuleDO.setLctid("frameworkDataLc");
        codeResembleRuleDO.setLcStatus("Enabled");
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java
@@ -112,7 +112,7 @@
            codeRuleCharacterMapper.updateById(codeRuleCharacter);
        }else{
            codeRuleCharacter=new CodeRuleCharacter();
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleCharacter,"character",null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleCharacter,"character");
            codeRuleCharacter.setCodeRuleId(codeRuleCharacterVO.getCodeRuleId());
            codeRuleCharacter.setChartType(codeRuleCharacterVO.getChartType());
            codeRuleCharacter.setChartValue(codeRuleCharacterVO.getChartValue());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -163,7 +163,7 @@
        // 将DTO转换为DO
        CodeRule codeRule = Objects.requireNonNull(BeanUtil.copy(codeRuleDTO, CodeRule.class));
        // 填充默认值
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRule, MdmBtmTypeConstant.CODE_RULE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRule, MdmBtmTypeConstant.CODE_RULE);
        codeRule.setLctid(CODE_RULE_LC);
        codeRule.setLcStatus(FRAMEWORK_RELEASE_EDITING);
        codeRule.setOwnerText(AuthUtil.getUserAccount()+"("+AuthUtil.getNickName()+")");
@@ -239,7 +239,7 @@
                codeRule.setOwnerText(userR.getData().getAccount()+"("+userR.getData().getRealName()+")");
            }
        }
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeRule,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeRule);
        return R.status(codeRuleMapper.updateById(codeRule)>0);
    }
@@ -518,7 +518,7 @@
        }
        VciBaseUtil.alertNotNull(codeRuleDTO, "需要添加的数据对象");
        CodeRule codeRuleDO = new CodeRule();
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleDO,MdmBtmTypeConstant.CODE_RULE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleDO,MdmBtmTypeConstant.CODE_RULE);
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeRuleDTO, codeRuleDO);
        boolean exFlag = codeRuleMapper.insert(codeRuleDO)>0;
        List<CodeBasicSecDTO> secList = codeRuleDTO.getElements();
@@ -542,7 +542,7 @@
                continue;
            }
            // 更改创建时间,修改时间等默认值
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC,null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC);
            // 固定码段
            if(codeBasicSecDO.getSecType().equals(CodeSecTypeEnum.CODE_FIXED_SEC.getValue())){
                // 固定码段存储好oid和码值的关联关系
@@ -565,7 +565,7 @@
            value.stream().forEach(item -> {
                item.setOid("");
                item.setCodeFixedSecOid(key);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item,null);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(item);
                codeFixedDOValues.add(item);
            });
        });
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java
@@ -223,7 +223,7 @@
        //将DTO转换为DO
        CodeTemplatePhase codeTemplatePhaseDO = new CodeTemplatePhase();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseDTO, codeTemplatePhaseDO);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeTemplatePhaseDO, MdmBtmTypeConstant.CODE_TEMPLATE_PHASE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeTemplatePhaseDO, MdmBtmTypeConstant.CODE_TEMPLATE_PHASE);
        //WebUtil.setPersistence(false);
        boolean resInsertTempPhase = codeTemplatePhaseMapper.insert(codeTemplatePhaseDO) > 0;
        List<CodePhaseAttr> attrDOList = new ArrayList<>();
@@ -253,7 +253,7 @@
        //将DTO转换为DO
        CodeTemplatePhase codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeTemplatePhaseEntityDO,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeTemplatePhaseEntityDO);
        //WebUtil.setPersistence(false);
        codeTemplatePhaseMapper.updateById(codeTemplatePhaseEntityDO);
        //把以前的删除
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -191,7 +191,7 @@
                    DockingSysIntParam sysIntParamDO = new DockingSysIntParam();
                    sysIntParamDTO.setInfoOid(dockingSystemConfigDTO.getOid());
                    BeanUtilForVCI.copyPropertiesIgnoreCase(sysIntParamDTO, sysIntParamDO);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(sysIntParamDO, MdmBtmTypeConstant.SYS_INT_PARAMTERY,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(sysIntParamDO, MdmBtmTypeConstant.SYS_INT_PARAMTERY);
                    sysIntParamList.add(sysIntParamDO);
                });
            }
@@ -202,13 +202,13 @@
                    DockingSysIntHeader dockingSysIntHeader = new DockingSysIntHeader();
                    sysIntHeaderDTO.setInfoOid(dockingSystemConfigDTO.getOid());
                    BeanUtilForVCI.copyPropertiesIgnoreCase(sysIntHeaderDTO, dockingSysIntHeader);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSysIntHeader,MdmBtmTypeConstant.SYS_INT_HEADER,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSysIntHeader,MdmBtmTypeConstant.SYS_INT_HEADER);
                    sysIntHeaderList.add(dockingSysIntHeader);
                });
            }
            dockingSysIntParamService.saveBatch(sysIntParamList);
            dockingSysIntHeaderService.saveBatch(sysIntHeaderList);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystemConfig,MdmBtmTypeConstant.SYS_INT_INFO,null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystemConfig,MdmBtmTypeConstant.SYS_INT_INFO);
            dockingSystemConfigMapper.insert(dockingSystemConfig);
        }else{
            throw new Throwable("根据选择的集成系统未校验到系统中存在此集成系统,请核对!");
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
@@ -72,7 +72,7 @@
        VciBaseUtil.alertNotNull(dockingSystemDTO, "需要添加的数据对象");
        //将DTO转换为DO
        DockingSystem dockingSystem = Objects.requireNonNull(BeanUtil.copy(dockingSystemDTO, DockingSystem.class));
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystem, MdmBtmTypeConstant.SYS_INT_BASE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystem, MdmBtmTypeConstant.SYS_INT_BASE);
        dockingSystem.setLctid(CODE_RULE_LC);
        dockingSystem.setLcStatus(FRAMEWORK_RELEASE_EDITING);
        boolean resInsert = dockingSystemMapper.insert(dockingSystem) > 0;
@@ -108,7 +108,7 @@
            userClient.updateUserByAccount(dockingSystem.getId(),dockingSystemDTO.getId().toLowerCase(Locale.ROOT));
        }
        revisionModelUtil.copyFromDTOIgnore(dockingSystemDTO,dockingSystem);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingSystem,null);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingSystem);
        dockingSystemMapper.updateById(dockingSystem);
        return DockingSystemWrapper.build().entityVO(dockingSystem);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -68,6 +68,7 @@
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.log.annotation.OperateLog;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
@@ -505,6 +506,7 @@
        CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
        CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
        CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid());
        final BladeUser user = AuthUtil.getUser();
        //1.判断规则中除了流水码段,是否有其他码段
        checkSecValueOnOrder(ruleVO, orderDTO);
        //2.判断必输项
@@ -535,13 +537,13 @@
        //cbo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));、
        if(authUser) {
            // 要求显示账号,所以做了更改
            cbo.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
            cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
            cbo.setCreator(String.valueOf(user.getAccount()));
            cbo.setLastModifier(String.valueOf(user.getAccount()));
        }else{
            cbo.setCreator(orderDTO.getCreator());
            cbo.setLastModifier(orderDTO.getLastModifier());
        }
        cbo.setTenantId(AuthUtil.getTenantId());
        cbo.setTenantId(user.getTenantId());
        if(StringUtils.isNotBlank(orderDTO.getLcStatus())||StringUtils.isNotBlank(orderDTO.getData().get("lcStatus"))){
            cbo.setLcStatus(StringUtils.isNotBlank(orderDTO.getLcStatus())?orderDTO.getLcStatus():orderDTO.getData().get("lcStatus"));
        }
@@ -554,7 +556,7 @@
        cbo.setDescription(orderDTO.getDescription());
        cboList.add(cbo);
        List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList);
        List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList,user);
        batchSaveSelectChar(templateVO, cboList);
        return codeList.size() > 0 ? codeList.get(0) : "";
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -58,6 +58,7 @@
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Workbook;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
@@ -1206,6 +1207,7 @@
                    //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
                    List<ClientBusinessObject> finalNeedSaveCboList = needSaveCboList;
                    CodeClassifyTemplateVO finalTemplateVO = templateVO;
                    final BladeUser user = AuthUtil.getUser();
                    ruleRowIndexMap.keySet().parallelStream().forEach(ruleOid -> {
                        //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
                        List<String> rowIndexList = ruleRowIndexMap.get(ruleOid);
@@ -1222,7 +1224,7 @@
                        if (!CollectionUtils.isEmpty(thisCbos)) {
                            try {
                                // TODO 多线程流问题
                                productCodeService.productCodeAndSaveData(classifyFullInfo, finalTemplateVO, ruleVOMap.get(ruleOid), null, dataCBOList);
                                productCodeService.productCodeAndSaveData(classifyFullInfo, finalTemplateVO, ruleVOMap.get(ruleOid), null, dataCBOList,user);
                                importCount.add(dataCBOList.size());
                            } catch (Throwable e) {
                                log.error("批量产生编码的时候出错了", e);
@@ -1674,7 +1676,7 @@
                createRedisDatas(uuid + "-ok",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, newErrorMap,true);
            }else {
                uuid="";
                final BladeUser user = AuthUtil.getUser();
                //要把以上的错误的都抛出后,再继续处理时间和组合规则
                needSaveCboList = cboList.stream().filter(cbo -> {
                    String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX);
@@ -1694,7 +1696,7 @@
                        dataCBOIdList.add(baseModel.getOid());
                    });
                    try {
                        codeList = productCodeService.productCodeAndSaveData(classifyFullInfo,templateVO,ruleVO, orderDTO.getSecDTOList(),dataCBOList);
                        codeList = productCodeService.productCodeAndSaveData(classifyFullInfo,templateVO,ruleVO, orderDTO.getSecDTOList(),dataCBOList,user);
                        //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面
                        engineService.batchSaveSelectChar(templateVO, dataCBOList);
                    } catch (Exception e) {
@@ -2109,7 +2111,8 @@
                }).collect(Collectors.toList());
                List<ClientBusinessObject> finalNeedSaveCboList = needSaveCboList;
                Map<String, CodeRuleVO> finalRuleVOMap = ruleVOMap;
                // TODO: 多线程流套多线程流,有坑,我把这儿改了
                // TODO: 多线程流套多线程流,有坑,我把这儿改成单线程了
                final BladeUser user = AuthUtil.getUser();
                ruleRowIndexMap.keySet().stream().forEach(ruleOid -> {
                    List <BaseModel>dataCBOList=new CopyOnWriteArrayList<>();
                    List<String> rowIndexList = ruleRowIndexMap.get(ruleOid);
@@ -2121,7 +2124,7 @@
                            dataCBOList.add(baseModel);
                        });
                        try {
                            productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, finalRuleVOMap.get(ruleOid), null, dataCBOList);
                            productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, finalRuleVOMap.get(ruleOid), null, dataCBOList, user);
                        } catch (Throwable e) {
                            //success=false;
                            log.error("批量产生编码的时候出错了", e);
@@ -2134,6 +2137,7 @@
                    engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList);
                });
            }else {
                final BladeUser user = AuthUtil.getUser();
                List<BaseModel> dataCBOList=new ArrayList<>();
                List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> {
                    String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX);
@@ -2147,7 +2151,7 @@
                        dataCBOList.add(baseModel);
                    });
                    try {
                        productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList);
                        productCodeService.productCodeAndSaveData(classifyFullInfo, codeClassifyTemplateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList,user);
                    } catch (Exception e) {
                        log.error("批量产生编码的时候出错了", e);
                        needSaveCboList.stream().forEach(cbo -> {
@@ -2455,6 +2459,7 @@
            List<String>allNeedSaveCboList=new ArrayList<>();
            List<BaseModel> dataCBOList=new ArrayList<>();
            final BladeUser user = AuthUtil.getUser();
            needSaveCboList.stream().forEach(clientBusinessObject -> {
                BaseModel baseModel=new BaseModel();
                BeanUtil.convert(clientBusinessObject,baseModel);
@@ -2464,7 +2469,7 @@
            });
            try {
                List<String>applyGroupCodeIdList=new ArrayList<>();
                productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList);
                productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList,user);
                //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面
                engineService.batchSaveSelectChar(templateVO, dataCBOList);
                // if(!isProcess){
@@ -3337,7 +3342,7 @@
            String oid=rowData.getOid();
            String rowNumber=rowData.getRowIndex();
            ClientBusinessObject cbo = new ClientBusinessObject();
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId());
            rowData.getData().forEach((index,value)->{
                String field = fieldIndexMap.get(index);
                if(StringUtils.isBlank(field)){
@@ -3443,7 +3448,7 @@
        String fullPath = getFullPath(classifyFullInfo);
        codeImprotDataVO.getDatas().stream().forEach(rowData -> {
            ClientBusinessObject cbo=new ClientBusinessObject();
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId());
            rowData.forEach((field,value)->{
                try {
                    cbo.setAttributeValueWithNoCheck(field,value);
@@ -3497,7 +3502,7 @@
                            String fullPath,boolean newCode){
        rowDataList.stream().forEach(rowData -> {
            ClientBusinessObject cbo=new ClientBusinessObject();
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),null);
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId());
            rowData.getData().forEach((index,value)->{
                    String field = fieldIndexMap.get(index);
                if (StringUtils.isBlank(field)) {
@@ -3554,7 +3559,7 @@
                if (StringUtils.isBlank(field)) {
                    throw new VciBaseException("第" + (index + 1) + "列的标题在系统中不存在");
                }
                map.put(field,value);
                map.put(field.toUpperCase(),value);
            });
        try {
@@ -4260,7 +4265,7 @@
        Map<String,List<BaseModel>> indexTODataMap=new ConcurrentHashMap<>();
        // 查询不需要参与关键属性校验的除自己以外的所有分类oid
        final String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid());
        final HttpServletRequest request = org.springblade.core.tool.utils.WebUtil.getRequest();
        final BladeUser user = AuthUtil.getUser();
        List<ClientBusinessObject> repeatDataMap = cboList.parallelStream().filter(cbo -> {
            //每行都得查询.如果其中出现了错误,我们就直接抛出异常,其余的显示
            //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
@@ -4286,7 +4291,7 @@
                    List<BaseModel> newCboList = new ArrayList<>();
                    newDataList.stream().forEach(stringStringMap -> {
                        BaseModel baseModel=new BaseModel();
                        DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,request);
                        DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,user);
                        baseModel.setData(stringStringMap);
                        newCboList.add(baseModel);
                    });
@@ -4512,7 +4517,7 @@
        List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>();
        oldDataMap.stream().forEach(dataMap->{
            ClientBusinessObject clientBusinessObject=new ClientBusinessObject();
            DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,null);
            DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject);
            for (String key:dataMap.keySet()){
                Object value= dataMap.getOrDefault(key,"");
                clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString());
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -36,6 +36,7 @@
import com.vci.ubcs.starter.web.util.VciDateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.WebUtil;
@@ -98,7 +99,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception {
    public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList,BladeUser user) throws Exception {
        dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList());
        List<String> codeList = new ArrayList<>();
        final CodeRuleVO finalRuleVO = ruleVO;
@@ -114,7 +115,6 @@
            List<CodeAllCode> allCodeDOList = new CopyOnWriteArrayList<>();
            Map<String/**流水依据**/, HashMap<String/**码段的主键**/,String/**最大流水号**/>> maxSerialMap = new HashMap<>();
            // TODO 多线程流引发的问题已修改
            final HttpServletRequest request = WebUtil.getRequest();
            dataCBOList.parallelStream().forEach(cbo->{
                log.info("code:----->"+cbo.getId());
                //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
@@ -204,7 +204,7 @@
                    });
                }
                CodeAllCode allCodeDO = new CodeAllCode();
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,request);
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,user);
                allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid());
                allCodeDO.setCodeRuleOid(finalRuleVO.getOid());
                allCodeDO.setId(cbo.getId());
@@ -237,13 +237,13 @@
                        log.info("oldmaxSerial--->"+serialValueDO.getMaxSerial()+"---- newmaxSerial---->"+maxSerial);
                        if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<VciBaseUtil.getDouble(maxSerial)){
                            serialValueDO.setMaxSerial(String.valueOf(maxSerial));
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,null);
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,user);
                            editSerialValueList.add(serialValueDO);
                        }
                    }else{
                        //没有
                        CodeSerialValue serialValueDO = new CodeSerialValue();
                        DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,request);
                        DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,user);
                        serialValueDO.setCodeRuleOid(finalRuleVO.getOid());
                        serialValueDO.setSerialUnit(serialUnit);
                        serialValueDO.setCodeSecOid(secOid);
@@ -419,7 +419,7 @@
            saveSerialValue( finalRuleVO, lastMaxSerialValueMap, maxSerialValueMap);
            allCodeDOList.stream().forEach(
                allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",null);allCode.setLctid("codeAllCodeLC");}
                allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",user);allCode.setLctid("codeAllCodeLC");}
            );
@@ -982,7 +982,7 @@
                                BaseModel cbo, CodeClassifyTemplateVO templateVO,
                                List<CodeAllCode> allCodeDOList, String serialUnitString, String serialValueString,String codeDelimiter){
        CodeAllCode allCodeDO = new CodeAllCode();
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,null);
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE);
        allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid());
        allCodeDO.setCodeRuleOid(ruleVO.getOid());
        allCodeDO.setId(cbo.getId());
@@ -1015,11 +1015,11 @@
                    //说明有
                    serialValueDO = maxSerialValueMap.get(secOid).get(unit);
                    serialValueDO.setMaxSerial(maxSerial.toString());
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,null);
                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO);
                    editSerialValueDOList.add(serialValueDO);
                }else{
                    serialValueDO = new CodeSerialValue();
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,null);
                    DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE);
                    serialValueDO.setCodeRuleOid(ruleVO.getOid());
                    serialValueDO.setSerialUnit(unit);
                    serialValueDO.setCodeSecOid(secOid);
@@ -1249,7 +1249,7 @@
        saveSerialValue( finalRuleVO, lastMaxSerialValueMap, maxSerialValueMap);
        allCodeDOList.stream().forEach(
            allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",null);allCode.setLctid("codeAllCodeLC");}
            allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");}
        );
        Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus()));
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -2295,7 +2295,7 @@
        List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>();
        oldDataMap.stream().forEach(dataMap->{
            ClientBusinessObject clientBusinessObject=new ClientBusinessObject();
            DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,null);
            DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject);
            for (String key:dataMap.keySet()){
                Object value= dataMap.getOrDefault(key,"");
                clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString());
@@ -2320,7 +2320,7 @@
    /***
     * 根据穿入的参数信息校验码段规则
     * 根据传入的参数信息校验码段规则
     */
    private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOs(List<SectionVO> SectionVOList,CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo) throws Throwable{
        List<CodeBasicSecVO>  codeBasicSecVOS= ruleVO.getSecVOList();
@@ -2370,7 +2370,7 @@
                    CodeOrderSecDTO.setSecValue(sectypeValue);
                    codeOrderSecDTOList.add(CodeOrderSecDTO);
                } else {
                    message="传入的码段规则缺少" + name + "码段";
                    message="传入的码段规则缺少" + name;
                    errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
                }
            }