From d5fae6385b7f55cb84986b4b7fa341ad1cd9f75f Mon Sep 17 00:00:00 2001
From: zhangxp <zhangxp@chicecm.com>
Date: 星期四, 01 六月 2023 18:31:04 +0800
Subject: [PATCH] 集成接口联调
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 338 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 257 insertions(+), 81 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index f96f6f5..5f36b78 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -4,10 +4,10 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeDeleteBatchDTO;
import com.vci.ubcs.code.dto.CodeOrderDTO;
import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
@@ -18,13 +18,17 @@
import com.vci.ubcs.code.mapper.CommonsMapper;
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
-import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
+import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.feign.IEnumClient;
-import com.vci.ubcs.omd.feign.IEnumItemClient;
+import com.vci.ubcs.omd.feign.IRevisionRuleClient;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.EnumVO;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
@@ -37,21 +41,32 @@
import com.vci.ubcs.starter.web.util.*;
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.feign.IDictBizClient;
-import net.logstash.logback.encoder.org.apache.commons.lang3.ObjectUtils;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
+import oracle.sql.TIMESTAMP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
-import org.springframework.beans.BeanUtils;
+import org.springblade.core.tool.utils.StringPool;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cglib.beans.BeanMap;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
+import java.beans.BeanInfo;
import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.math.BigDecimal;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@@ -120,6 +135,16 @@
*/
@Autowired
private ICodePhaseAttrService phaseAttrService;
+ /**
+ * 涓氬姟绫诲瀷鐨勬湇鍔�
+ */
+ @Autowired
+ private IBtmTypeClient btmTypeClient;
+ /**
+ * 鐗堟湰瑙勫垯鐨勬湇鍔�
+ */
+ @Resource
+ private IRevisionRuleClient revisionRuleClient;
//
/**
* 閫氱敤鏌ヨ
@@ -180,6 +205,14 @@
* 绌烘牸
*/
public static final String SPACE = " ";
+ /**
+ * 缂撳瓨锝嬶絽锝�
+ */
+ public static final String BTM_INIT_CACHE = "ubcs-code:btm";
+ /**
+ *
+ */
+ public static final String BTM_NAME = "btm:name";
/**
* 瀵嗙骇鐨勫瓧娈�
@@ -316,7 +349,7 @@
* @return 杩斿洖缂栫爜鐨勫唴瀹�
*/
@Override
- public String addSaveCode(CodeOrderDTO orderDTO) {
+ public String addSaveCode(CodeOrderDTO orderDTO) throws Exception {
VciBaseUtil.alertNotNull(orderDTO, "缂栫爜鐢宠鐩稿叧鐨勫睘鎬у拰鐮佹鐨勫唴瀹归兘涓虹┖", orderDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭",
orderDTO.getTemplateOid(), "妯℃澘鐨勪富閿�", orderDTO.getCodeRuleOid(), "缂栫爜瑙勫垯鐨勪富閿�");
CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
@@ -340,14 +373,14 @@
switchDateAttrOnOrder(templateVO, orderDTO);
//9.鐢熸垚缂栫爜鐨勪俊鎭�
// ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
- CodeWupin cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
+ BaseModel cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
// //榛樿鐨勫睘鎬ч兘涓嶇敤浠庡墠绔嫹璐�
// //璁剧疆缂栫爜闇�瑕佺殑榛樿灞炴�х殑鍐呭
copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false);
// //TODO:鍥犱负榛樿鐨勫睘鎬ч兘涓嶆嫹璐濓紝鐩墠闆嗗洟鐮佸彨name锛屽苟娌℃湁浠嶥TO鎷疯礉鍒癱bo閲屻�傚鍔犱竴涓崟鐙鐞嗭紝浠ュ悗鍐嶇湅瑕佷笉瑕佽皟鏁�
cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
// //end -- modify by lihang @20220407
- List<CodeWupin> cboList = new ArrayList<>();
+ List<BaseModel> cboList = new ArrayList<>();
//澶囨敞
cbo.setDescription(orderDTO.getDescription());
@@ -358,8 +391,8 @@
List<String> charList = new ArrayList<>();
- for (CodeWupin wupinEntity : cboList) {
- charList.add(wupinEntity.getId());
+ for (BaseModel baseModel : cboList) {
+ charList.add(baseModel.getId());
}
batchSaveSelectChar(templateVO, charList);
return codeList.size() > 0 ? codeList.get(0) : "";
@@ -709,7 +742,7 @@
* @param templateVO 妯℃澘鐨勬樉绀哄璞�
* @param edit 鏄惁涓轰慨鏀�
*/
- private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupin cbo,
+ private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, BaseModel cbo,
CodeOrderDTO orderDTO, CodeClassifyTemplateVO templateVO,
boolean edit) {
String fullPath = "";
@@ -738,14 +771,18 @@
try {
- BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(CodeWupin.class,orderDTO.getData()),cbo);
-
- cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid());
- cbo.setCodetemplateoid(templateVO.getOid());
- cbo.setCodeclsfpath(fullPath);
+ BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(BaseModel.class,orderDTO.getData()),cbo);
+ Map<String,String> data = new HashMap<>();
+ data.put(CODE_CLASSIFY_OID_FIELD,classifyFullInfo.getCurrentClassifyVO().getOid());
+ data.put(CODE_TEMPLATE_OID_FIELD,templateVO.getOid());
+ data.put(CODE_FULL_PATH_FILED,fullPath);
+ cbo.setData(data);
+// cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid());
+// cbo.setTemplateOid(templateVO.getOid());
+// cbo.setCodeclsfpath(fullPath);
cbo.setTs(new Date());
if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) {
- //鎵剧敓鍛藉懆鏈熺殑璧峰鐘舵�侊紝鎻掍釜鐐癸紝鐢熷懡鍛ㄦ湡鏄惁闇�瑕佸垱寤�
+ //鍏堝啓鍥哄畾锛屽悗闈㈢敓鍛藉懆鏈熷ソ浜嗗湪缂栧啓
if (StringUtils.isNotBlank(cbo.getLctid())) {
// OsLifeCycleVO lifeCycleVO = lifeCycleService.getLifeCycleById(cbo.getLctid());
// if (lifeCycleVO != null) {
@@ -782,72 +819,65 @@
* @throws VciBaseException 鍒濆鍖栧嚭閿欑殑鏄細鎶涘嚭寮傚父
*/
@Override
- public CodeWupin createCBOByBtmName(String btmName)
+ public BaseModel createCBOByBtmName(String btmName)
throws VciBaseException {
if(btmName!=null){
btmName = btmName.trim().toLowerCase();
}
- String userid = AuthUtil.getUser().getUserName();
-// if(!hasCreatedCbos.containsKey(btmName)){
-// if(StringUtils.isEmpty(userid)){
-// throw new VciBaseException(msgCodePrefix +"noHasUserid");
-// }
-// try {
-// hasCreatedCbos.put(btmName, createBusinessObject(btmName));
-// } catch (Exception e) {
-// logger.error("鍒涘缓涓氬姟绫诲瀷瀵硅薄",e);
-// throw new VciBaseException(msgCodePrefix + "initBoError",new String[]{btmName});
-// }
-// }
-// ClientBusinessObject cbo = cloneClientBusinessObject(hasCreatedCbos.get(btmName));
-
-// QueryWrapper<CodeOsbtmtypeEntity> btmWrapper = new QueryWrapper<>();
-// btmWrapper.eq("ID",btmName);
-// CodeOsbtmtypeEntity btmTypeVO = codeOsbtmtypeMapper.selectOne(btmWrapper);
-// OsBtmTypeVO btmTypeVO = btmService.getBtmById(boName);
- String userName = AuthUtil.getUser().getUserName();
- CodeWupin wupinEntity = new CodeWupin();
- wupinEntity.setOid(VciBaseUtil.getPk());
-// bo.setRevisionid((new ObjectUtility()).getNewObjectID36());
-// bo.setNameoid((new ObjectUtility()).getNewObjectID36());
- wupinEntity.setBtmname(btmName);
- wupinEntity.setLastR(String.valueOf(1));
- wupinEntity.setFirstR(String.valueOf(1));
- wupinEntity.setFirstV(String.valueOf(1));
- wupinEntity.setLastV(String.valueOf(1));
- wupinEntity.setCreator(userName);
- wupinEntity.setCreateTime(new Date());
- wupinEntity.setLastModifier(userName);
- wupinEntity.setLastModifyTime(new Date());
- wupinEntity.setRevisionRule("numberversionrule");
- wupinEntity.setVersionRule("0");
-// if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){
- //
-// OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid());
- wupinEntity.setRevisionValue("1");
-// }
-
- wupinEntity.setRevisionSeq(1);
- wupinEntity.setVersionSeq(1);
- //鎻掍釜鐐癸紝闇�瑕侀棶鍕囧摜鐗堟湰闂锛屽睍绀洪粯璁や负1
- wupinEntity.setVersionValue("1");
- wupinEntity.setLctid("wupinLC");
- wupinEntity.setLcStatus("Editing");
- wupinEntity.setId("");
- wupinEntity.setName("");
- wupinEntity.setDescription("");
- wupinEntity.setOwner(userName);
- wupinEntity.setCheckinby(userName);
- wupinEntity.setCopyFromVersion("");
- wupinEntity.setMaterialtype(1001);
- wupinEntity.setCaigouwl("true");
- wupinEntity.setShifoupihaoguanli("true");
- wupinEntity.setKucunwl("true");
- wupinEntity.setXiaoshouwl("false");
- wupinEntity.setPassing("true");
+ try {
+ String keyPrefix = BTM_NAME.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
+ String finalBtmName = btmName;
+ return CacheUtil.get(BTM_INIT_CACHE, keyPrefix, btmName, () -> {
+ BaseModel baseModel = createBaseModel(finalBtmName);
+ return baseModel;
+ });
+ } catch (Exception e) {
+ logger.error("鍒涘缓涓氬姟绫诲瀷瀵硅薄",e);
+ throw new VciBaseException("initBtmError",new String[]{btmName});
+ }
+// String userName = AuthUtil.getUser().getUserName();
+// CodeWupin wupinEntity = new CodeWupin();
+// wupinEntity.setOid(VciBaseUtil.getPk());
+//// bo.setRevisionid((new ObjectUtility()).getNewObjectID36());
+//// bo.setNameoid((new ObjectUtility()).getNewObjectID36());
+// wupinEntity.setBtmname(btmName);
+// wupinEntity.setLastR(String.valueOf(1));
+// wupinEntity.setFirstR(String.valueOf(1));
+// wupinEntity.setFirstV(String.valueOf(1));
+// wupinEntity.setLastV(String.valueOf(1));
+// wupinEntity.setCreator(userName);
+// wupinEntity.setCreateTime(new Date());
+// wupinEntity.setLastModifier(userName);
+// wupinEntity.setLastModifyTime(new Date());
+// wupinEntity.setRevisionRule("numberversionrule");
+// wupinEntity.setVersionRule("0");
+//// if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){
+// //
+//// OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid());
+// wupinEntity.setRevisionValue("1");
+//// }
+//
+// wupinEntity.setRevisionSeq(1);
+// wupinEntity.setVersionSeq(1);
+// //鎻掍釜鐐癸紝闇�瑕侀棶鍕囧摜鐗堟湰闂锛屽睍绀洪粯璁や负1
+// wupinEntity.setVersionValue("1");
+// wupinEntity.setLctid("wupinLC");
+// wupinEntity.setLcStatus("Editing");
+// wupinEntity.setId("");
+// wupinEntity.setName("");
+// wupinEntity.setDescription("");
+// wupinEntity.setOwner(userName);
+// wupinEntity.setCheckinby(userName);
+// wupinEntity.setCopyFromVersion("");
+// wupinEntity.setMaterialtype(1001);
+// wupinEntity.setCaigouwl("true");
+// wupinEntity.setShifoupihaoguanli("true");
+// wupinEntity.setKucunwl("true");
+// wupinEntity.setXiaoshouwl("false");
+// wupinEntity.setPassing("true");
// this.initTypeAttributeValue(wupinEntity,btmTypeVO);
- return wupinEntity;
+// return wupinEntity;
// return cbo;
@@ -1236,8 +1266,8 @@
//娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙�
if (!CollectionUtils.isEmpty(conditionMap)) {
Map<String, String> andConditionMap = new HashMap<>();
- andConditionMap.put("islastr", "1");
- andConditionMap.put("islastv", "1");
+ andConditionMap.put("lastr", "1");
+ andConditionMap.put("lastv", "1");
if (StringUtils.isNotBlank(orderDTO.getOid())) {
andConditionMap.put("oid", QueryOptionConstant.NOTEQUAL + orderDTO.getOid());
}
@@ -2066,7 +2096,7 @@
} else {
//琛ㄩ渶瑕佹敼
// conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY)
- conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_wupin where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED +
+ conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_classify where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED +
"' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )");
}
conditionMap.put("lastr", "1");
@@ -2883,4 +2913,150 @@
}
return buttonVOList;
}
+
+ /**
+ * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩稿叧鏁版嵁杩涜鎵归噺鎻掑叆鎿嶄綔
+ *
+ * @param btmType 涓氬姟绫诲瀷
+ * @param baseModels 澶勭悊鏁版嵁
+ * @return 澶勭悊鎴愬姛鏁版嵁鏉℃暟
+ */
+ @Override
+ public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception {
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
+ if(listR.getData().size() == 0){
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ //灏哹ean杞负map,mybatis缁熶竴澶勭悊
+ List<Map<String,String>> maps = new ArrayList<>();
+ baseModels.stream().forEach(model-> {
+ try {
+ maps.add(VciBaseUtil.convertBean2Map(model));
+ } catch (Exception e) {
+ throw new VciBaseException("绫诲瀷杞崲閿欒锛�" + e.toString());
+ }
+ });
+ return commonsMapper.insertByBaseModel(listR.getData().get(0).getTableName(), maps.get(0), maps);
+ }
+
+ /**
+ * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩竜id闆嗗悎鏌ヨ鏁版嵁杩涜杩斿洖
+ *
+ * @param btmType 涓氬姟绫诲瀷
+ * @param oids 闇�瑕佹煡璇㈢殑oid闆嗗悎 閫楀彿鍒嗗紑
+ * @return 鏌ヨ鍑虹殑鏁版嵁
+ */
+ @Override
+ public List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException {
+
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
+ if(listR.getData().size() == 0){
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ //鏌ヨ鏁版嵁
+ List<Map> maps = commonsMapper.selectBySql("select * from " + listR.getData().get(0).getTableName() + " where oid in ("
+ + VciBaseUtil.toInSql(oids.toString()) + ")");
+
+ List<BaseModel> baseModels = new ArrayList<>();
+ //灏嗘煡璇㈠埌鐨勬暟鎹浆鎹负basemodel锛屼娇鐢ㄧ殑鍙嶅皠鏂瑰紡鏉ヨ繘琛屽垱寤虹殑
+ for (Map map : maps) {
+ Object obj = BaseModel.class.newInstance();
+ BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
+ PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
+ for (PropertyDescriptor property : propertyDescriptors) {
+ Method setter = property.getWriteMethod();
+ if (setter != null) {
+ //oracle鐨勬椂闂翠负TIMESTAMP鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚data锛屽惁鍒欏皢鎶ラ敊
+ if(map.get(property.getName().toUpperCase()) instanceof TIMESTAMP){
+ LocalDateTime localDateTime = ((TIMESTAMP) map.get(property.getName().toUpperCase())).toLocalDateTime();
+ ZoneId zoneId = ZoneId.systemDefault();
+ ZonedDateTime zdt = localDateTime.atZone(zoneId);
+ Date date = Date.from(zdt.toInstant());
+ setter.invoke(obj,date);
+ map.remove(property.getName().toUpperCase());
+ } //oracle鐨勬暟瀛椾负BigDecimal鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚Integer锛屽惁鍒欏皢鎶ラ敊
+ else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal
+ && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())){
+ setter.invoke(obj, ((BigDecimal)map.get(property.getName().toUpperCase())).intValue());
+ map.remove(property.getName().toUpperCase());
+ }else if(map.get(property.getName().toUpperCase()) != null){
+ setter.invoke(obj, map.get(property.getName().toUpperCase()));
+ map.remove(property.getName().toUpperCase());
+ }
+ }
+ }
+ for (Object key : map.keySet()) {
+ map.put(key,String.valueOf(map.get(key)));
+ }
+
+ ((BaseModel) obj).setData(map);
+ baseModels.add((BaseModel) obj);
+ }
+ return baseModels;
+ }
+
+
+ /**
+ * 鏍规嵁涓氬姟绫诲瀷鍚嶇О鍒涘缓涓氬姟鏁版嵁婧愬璞�
+ * @param boName 涓氬姟绫诲瀷鍚嶇О
+ * @return 涓氬姟鏁版嵁瀵硅薄
+ */
+ public BaseModel createBaseModel(String boName) {
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(boName));
+ String userName = AuthUtil.getUser().getUserName();
+ BaseModel bo = new BaseModel();
+ bo.setOid(VciBaseUtil.getPk());
+// bo.setRevisionid(VciBaseUtil.getPk());
+// bo.setNameoid(VciBaseUtil.getPk());
+ bo.setBtmname(boName);
+ bo.setLastR("1");
+ bo.setFirstR("1");
+ bo.setFirstV("1");
+ bo.setLastV("1");
+ bo.setCreator(userName);
+ bo.setCreateTime(new Date());
+ bo.setLastModifier(userName);
+ bo.setLastModifyTime(new Date());
+ bo.setRevisionRule(listR.getData().get(0).getRevisionRuleId());
+ bo.setVersionRule(String.valueOf(listR.getData().get(0).getVersionRule()));
+ if(StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId())){
+ R<List<RevisionRuleVO>> revisionRuleVO = revisionRuleClient
+ .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId()));
+ bo.setRevisionValue(revisionRuleVO.getData().get(0).getStartCode());
+ }
+ bo.setRevisionSeq(1);
+ bo.setVersionSeq(1);
+ bo.setVersionValue(getVersionValue(WebUtil.getInt(listR.getData().get(0).getVersionRule())));
+ bo.setLctid(listR.getData().get(0).getLifeCycleId());
+// if(StringUtils.isNotBlank(listR.getData().get(0).getLifeCycleId())){
+// OsLifeCycleVO lifeCycleVO = lifeService.getLifeCycleById(listR.getData().get(0).getLifeCycleId());
+ bo.setLcStatus("Editing");
+// }
+ bo.setId("");
+ bo.setName("");
+ bo.setDescription("");
+ bo.setOwner(userName);
+// bo.setCheckinby(userName);
+ bo.setCopyFromVersion("");
+// this.initTypeAttributeValue(bo,btmTypeVO);
+ return bo;
+ }
+
+ /**
+ * 鑾峰彇鐗堟鐨勫��
+ * @param verRuleName 鐗堟鐨勮鍒�
+ * @return 鐗堟鐨勫�硷紝娌℃湁瑙勫垯鍒欎负绌�
+ */
+ private String getVersionValue(int verRuleName) {
+ if (verRuleName == 0) {
+ return "1";
+ } else if (verRuleName == 1) {
+ return "a";
+ } else if (verRuleName == 2) {
+ return "0";
+ }
+ return "";
+ }
}
--
Gitblit v1.9.3