Source/UBCS-WEB/src/const/code/codeSynonym.js
@@ -4,6 +4,7 @@ tip: false, searchShow: true, searchMenuSpan: 6, searchLabelWidth:120, border: true, index: true, viewBtn: true, Source/UBCS-WEB/src/const/code/codebutton.js
@@ -2,8 +2,10 @@ height:'auto', calcHeight: 30, tip: false, searchLabelWidth:120, searchShow: true, searchMenuSpan: 6, // searchSpan:8, border: true, index: true, viewBtn: true, @@ -241,7 +243,7 @@ { label: "ç¶æ", type: "select", dicUrl: "/api/ubcs-omd/dict-biz/dictionary?code=codeLcstatus", dicUrl: "/api/ubcs-omd/dict/dictionary?code=codeLcstatus", props: { label: "dictValue", value: "dictKey" @@ -294,7 +296,7 @@ label: "æé®çä½ç½®", type: "select", weight :'140px', dicUrl: "/api/ubcs-omd/dict-biz/dictionary?code=codeButtonPosition", dicUrl: "/api/ubcs-omd/dict/dictionary?code=codeButtonPosition", props: { label: "dictValue", value: "dictKey" Source/UBCS-WEB/src/const/code/plCodeKeyattrrepeat.js
@@ -4,6 +4,7 @@ tip: false, searchShow: true, searchMenuSpan: 6, searchLabelWidth:120, border: true, index: true, viewBtn: true, Source/UBCS-WEB/src/const/omd/dict.js
@@ -112,6 +112,7 @@ editDisabled: true, search: true, span: 24, hide: true, rules: [ { required: true, Source/UBCS-WEB/src/views/code/codebutton.vue
@@ -25,7 +25,7 @@ plain @click="enableOrgDuty(true)">å¯ ç¨ </el-button> <el-button type="primary" <el-button type="warning" size="small" icon="el-icon-star-off" plain Source/UBCS-WEB/src/views/omd/dict.vue
@@ -49,7 +49,7 @@ <el-tag>{{ row.isSealed === 0 ? 'å¦' : 'æ¯' }}</el-tag> </template> </avue-crud> <el-dialog :title="`[${dictValue}]æä¸¾é ç½®`" <el-dialog :title="`[${dictValue}]æä¸¾é¡¹é ç½®`" append-to-body :visible.sync="box" width="1000px"> Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml
@@ -12,6 +12,11 @@ <name>${project.artifactId}</name> <version>${bladex.project.version}</version> <dependencies> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>4.2</version> </dependency> <!-- <dependency>--> <!-- <groupId>com.thoughtworks.xstream</groupId>--> Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClsflowtempEntity.java
@@ -16,6 +16,7 @@ */ package com.vci.ubcs.code.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.vci.ubcs.starter.revision.model.BaseModel; @@ -37,11 +38,6 @@ public class CodeClsflowtempEntity extends BaseModel { /** * */ @ApiModelProperty(value = "") private String islastr; /** * */ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClstempattrEntity.java
@@ -16,6 +16,7 @@ */ package com.vci.ubcs.code.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.vci.ubcs.starter.revision.model.BaseModel; import lombok.Data; @@ -201,12 +202,12 @@ * */ @ApiModelProperty(value = "") private Short precisionlength; private Integer precisionlength; /** * */ @ApiModelProperty(value = "") private Short scalelength; private Integer scalelength; /** * */ @@ -271,6 +272,7 @@ * */ @ApiModelProperty(value = "") @TableField("\"EXPLAIN\"") private String explain; /** * Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClstemplateEntity.java
@@ -16,6 +16,7 @@ */ package com.vci.ubcs.code.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.vci.ubcs.starter.annotation.Transient; import com.vci.ubcs.starter.revision.model.BaseModel; @@ -56,6 +57,7 @@ /** * 主é¢åºåç±»ä¸»é®æ¾ç¤ºææ¬ */ @TableField(exist = false) @Transient(referColumn = "codeClassifyOid.name") private String codeClassifyOidName; Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeOsbtmtypeattributeEntity.java
@@ -16,7 +16,11 @@ */ package com.vci.ubcs.code.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -41,6 +45,13 @@ */ private static final long serialVersionUID = -4431848943790920077L; @JsonSerialize( using = ToStringSerializer.class ) @ApiModelProperty("主é®id") @TableId(value = "OID",type = IdType.ASSIGN_UUID) private String oid; /** * æå±ä¸å¡ç±»å */ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeOsbtmtypeattributeVO.java
@@ -32,4 +32,11 @@ public class CodeOsbtmtypeattributeVO extends CodeOsbtmtypeattributeEntity { private static final long serialVersionUID = 1L; public String id; public String name; public String attrDataType; public String attributeLength; public String referBtmTypeId; public String referBtmTypeName; } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/PatternUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package com.vci.ubcs.starter.util; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternUtil { //*${xxx}* public static Pattern dynamic = Pattern.compile(".*\\$\\{([a-z]+)\\}.*"); public static Pattern dynamicLimitCount = Pattern.compile("\\$\\{([a-z]+)\\}"); /** * 夿å 容䏿¯å¦å å«å¨æåæ°(${key}å½¢å¼ç) * * @param content è¦å¤æçå 容 * @return */ public static boolean isContainsDynamicParameter(String content) { if(StringUtils.isBlank(content)){ return false; } return dynamic.matcher(content).matches(); } /** * æç §å¨æå 容çåæ°åºç°é¡ºåº,å°åæ°æ¾å°Listä¸ * * @param content * @return */ public static List<String> getKeyListByContent(String content) { if(StringUtils.isBlank(content)){ return new ArrayList<>(); } Set<String> paramSet = new LinkedHashSet<>(); Matcher m = dynamicLimitCount.matcher(content); while (m.find()) { paramSet.add(m.group(1)); } return new ArrayList<>(paramSet); } } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BooleanEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.vci.ubcs.starter.web.enumpck; public enum BooleanEnum { TRUE("true"), FASLE("false"); private final String value; private BooleanEnum(String value) { this.value = value; } public String getValue() { return this.value; } } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/BeanUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,174 @@ package com.vci.ubcs.starter.web.util; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import org.springframework.cglib.beans.BeanCopier; import org.springframework.cglib.core.Converter; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; public class BeanUtil { private static final ConcurrentMap<String, BeanCopier> beanCopierMap = new ConcurrentHashMap(); public BeanUtil() { } public static BeanCopier getBeanCopier(Class<?> source, Class<?> target, boolean useConverter) { String beanCopierKey = generateBeanKey(source, target); if (beanCopierMap.containsKey(beanCopierKey)) { return (BeanCopier)beanCopierMap.get(beanCopierKey); } else { BeanCopier beanCopier = BeanCopier.create(source, target, useConverter); beanCopierMap.putIfAbsent(beanCopierKey, beanCopier); return (BeanCopier)beanCopierMap.get(beanCopierKey); } } public static String generateBeanKey(Class<?> source, Class<?> target) { return source.getName() + "@" + target.getName(); } public static void convert(Object source, Object target, boolean useConvert) { if (source != null && target != null) { BeanCopier beanCopier = getBeanCopier(source.getClass(), target.getClass(), useConvert); beanCopier.copy(source, target, useConvert ? new DeepCopyConverter(target) : null); } } public static void convert(Object source, Object target) { convert(source, target, true); } public static class DeepCopyConverter implements Converter { private Object target; public DeepCopyConverter(Object target) { this.target = target; } public Object convert(Object value, Class targetClazz, Object methodName) { if (value instanceof List) { List values = (List)value; List retList = new ArrayList(values.size()); this.copyForCollection(values, retList, methodName); return retList; } else { if (value instanceof Set) { Set values = (Set)value; Set retSet = new HashSet(); this.copyForCollection(values, retSet, methodName); } else if (value instanceof Vector) { Vector values = (Vector)value; Vector retVector = new Vector(); this.copyForCollection(values, retVector, methodName); } else if (value instanceof Map) { Map values = (Map)value; Map retMap = new HashMap(); Iterator var6 = values.keySet().iterator(); while(var6.hasNext()) { Object key = var6.next(); Object mapValue = values.get(key); String tempFieldName = methodName.toString().replace("set", ""); String fieldName = tempFieldName.substring(0, 1).toLowerCase() + tempFieldName.substring(1); Class clazz = ClassUtil.getElementType(this.target.getClass(), fieldName); Object targetAttr = null; try { targetAttr = clazz.newInstance(); } catch (Throwable var15) { } BeanUtil.convert(mapValue, targetAttr); retMap.put(key, targetAttr); } } else if (!ClassUtil.isPrimitive(targetClazz)) { Object targetAttr = null; try { targetAttr = targetClazz.newInstance(); } catch (Throwable var14) { } BeanUtil.convert(value, targetAttr); return targetAttr; } if (value instanceof Boolean && targetClazz.equals(String.class)) { return String.valueOf(value); } else if (!(value instanceof String) || !targetClazz.equals(Boolean.class) && !targetClazz.equals(Boolean.TYPE)) { if (value instanceof Date && targetClazz.equals(String.class)) { return VciDateUtil.date2Str((Date)value, "yyyy-MM-dd HH:mm:ss.SSS"); } else if (value instanceof String && targetClazz.equals(Date.class)) { DateConverter dateConverter = new DateConverter(); dateConverter.setAsText((String)value); return dateConverter.getValue(); } else { return value; } } else { return "true".equalsIgnoreCase((String)value) ? true : false; } } } private void copyForCollection(Collection<?> sourceCollection, Collection targetCollection, Object methodName) { Iterator var4 = sourceCollection.iterator(); while(true) { while(var4.hasNext()) { Object source = var4.next(); if (source instanceof Collection) { List<Object> targetValues = new ArrayList(); this.copyForCollection((Collection)source, targetValues, methodName); targetCollection.add(targetValues); } else { String tempFieldName; String fieldName; Class clazz; Object targetAttr; if (!(source instanceof Map)) { tempFieldName = methodName.toString().replace("set", ""); fieldName = tempFieldName.substring(0, 1).toLowerCase() + tempFieldName.substring(1); clazz = ClassUtil.getElementType(this.target.getClass(), fieldName); targetAttr = null; try { targetAttr = clazz.newInstance(); } catch (Throwable var13) { } BeanUtil.convert(source, targetAttr); targetCollection.add(targetAttr); } else { tempFieldName = methodName.toString().replace("set", ""); fieldName = tempFieldName.substring(0, 1).toLowerCase() + tempFieldName.substring(1); clazz = ClassUtil.getElementType(this.target.getClass(), fieldName); targetAttr = null; try { targetAttr = clazz.newInstance(); } catch (Throwable var14) { } Map map = (Map)source; Iterator var11 = map.keySet().iterator(); while(var11.hasNext()) { Object key = var11.next(); VciBaseUtil.setValueForField(key.toString(), targetAttr, VciBaseUtil.getStringValueFromObject(map.get(key))); } targetCollection.add(targetAttr); } } } return; } } } } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/ClassUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package com.vci.ubcs.starter.web.util; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.Date; import java.util.HashMap; import java.util.Map; public class ClassUtil { private static final Map<Class<?>, Class<?>> primitiveMap = new HashMap(9); public ClassUtil() { } public static boolean isPrimitive(Class<?> clazz) { return primitiveMap.containsKey(clazz) ? true : clazz.isPrimitive(); } public static Class<?> getElementType(Class<?> tartget, String fieldName) { Class<?> elementTypeClass = null; try { Type type = VciBaseUtil.getFieldForObject(fieldName, tartget).getGenericType(); ParameterizedType t = (ParameterizedType)type; String classStr = t.getActualTypeArguments()[0].toString().replace("class ", ""); if (classStr.contains("<")) { classStr = classStr.substring(classStr.lastIndexOf("<") + 1, classStr.indexOf(">")); } elementTypeClass = Thread.currentThread().getContextClassLoader().loadClass(classStr); return elementTypeClass; } catch (SecurityException | ClassNotFoundException var6) { throw new RuntimeException("get fieldName[" + fieldName + "] error", var6); } } static { primitiveMap.put(String.class, String.class); primitiveMap.put(Boolean.class, Boolean.TYPE); primitiveMap.put(Byte.class, Byte.TYPE); primitiveMap.put(Character.class, Character.TYPE); primitiveMap.put(Double.class, Double.TYPE); primitiveMap.put(Float.class, Float.TYPE); primitiveMap.put(Integer.class, Integer.TYPE); primitiveMap.put(Long.class, Long.TYPE); primitiveMap.put(Short.class, Short.TYPE); primitiveMap.put(Date.class, Date.class); } } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import org.slf4j.Logger; @@ -135,6 +136,11 @@ return 0.0D; } } } public static boolean getBoolean(String s) { return BooleanEnum.TRUE.getValue().equals(s); } public static String removeComma(String s) { @@ -1199,5 +1205,19 @@ } public static void setValueForField(String fieldName, Object obj, String value) { try { Field field = getFieldForObject(fieldName, obj); if (field != null) { setValueForField(field, obj, value); } } catch (Exception var4) { if (log.isErrorEnabled()) { log.error("è®¾ç½®å±æ§çå¼åºéäºé误", var4); } } } } Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -62,6 +62,12 @@ <artifactId>orai18n</artifactId> <version>${orai18n.version}</version> </dependency> <dependency> <groupId>com.vci.ubcs</groupId> <artifactId>ubcs-dict-api</artifactId> <version>3.0.1.RELEASE</version> <scope>compile</scope> </dependency> </dependencies> Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java
@@ -18,10 +18,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.dto.CodeClstempattrDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.service.ICodeClstempattrService; import com.vci.ubcs.code.vo.CodeClstempattrVO; import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.code.wrapper.CodeClstempattrWrapper; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -31,9 +36,12 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Collection; import java.util.List; /** * ç¼ç åºå®ä¹-模æ¿å±æ§ æ§å¶å¨ @@ -43,11 +51,11 @@ */ @RestController @AllArgsConstructor @RequestMapping("/CodeClstempattr") @RequestMapping("/codeClassifyTempAttrController") @Api(value = "ç¼ç åºå®ä¹-模æ¿å±æ§", tags = "ç¼ç åºå®ä¹-模æ¿å±æ§æ¥å£") public class CodeClstempattrController extends BladeController { private final ICodeClstempattrService CodeClstempattrService; private final ICodeClstempattrService codeClstempattrService; /** * ç¼ç åºå®ä¹-模æ¿å±æ§ 详æ @@ -56,7 +64,7 @@ @ApiOperationSupport(order = 1) @ApiOperation(value = "详æ ", notes = "ä¼ å ¥CodeClstempattr") public R<CodeClstempattrVO> detail(CodeClstempattrEntity CodeClstempattr) { CodeClstempattrEntity detail = CodeClstempattrService.getOne(Condition.getQueryWrapper(CodeClstempattr)); CodeClstempattrEntity detail = codeClstempattrService.getOne(Condition.getQueryWrapper(CodeClstempattr)); return R.data(CodeClstempattrWrapper.build().entityVO(detail)); } /** @@ -66,7 +74,7 @@ @ApiOperationSupport(order = 2) @ApiOperation(value = "å页", notes = "ä¼ å ¥CodeClstempattr") public R<IPage<CodeClstempattrVO>> list(CodeClstempattrEntity CodeClstempattr, Query query) { IPage<CodeClstempattrEntity> pages = CodeClstempattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeClstempattr)); IPage<CodeClstempattrEntity> pages = codeClstempattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeClstempattr)); return R.data(CodeClstempattrWrapper.build().pageVO(pages)); } @@ -77,7 +85,7 @@ @ApiOperationSupport(order = 3) @ApiOperation(value = "å页", notes = "ä¼ å ¥CodeClstempattr") public R<IPage<CodeClstempattrVO>> page(CodeClstempattrVO CodeClstempattr, Query query) { IPage<CodeClstempattrVO> pages = CodeClstempattrService.selectCodeClstempattrPage(Condition.getPage(query), CodeClstempattr); IPage<CodeClstempattrVO> pages = codeClstempattrService.selectCodeClstempattrPage(Condition.getPage(query), CodeClstempattr); return R.data(pages); } @@ -88,7 +96,7 @@ @ApiOperationSupport(order = 4) @ApiOperation(value = "æ°å¢", notes = "ä¼ å ¥CodeClstempattr") public R save(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) { return R.status(CodeClstempattrService.save(CodeClstempattr)); return R.status(codeClstempattrService.save(CodeClstempattr)); } /** @@ -98,7 +106,7 @@ @ApiOperationSupport(order = 5) @ApiOperation(value = "ä¿®æ¹", notes = "ä¼ å ¥CodeClstempattr") public R update(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) { return R.status(CodeClstempattrService.updateById(CodeClstempattr)); return R.status(codeClstempattrService.updateById(CodeClstempattr)); } /** @@ -108,7 +116,7 @@ @ApiOperationSupport(order = 6) @ApiOperation(value = "æ°å¢æä¿®æ¹", notes = "ä¼ å ¥CodeClstempattr") public R submit(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) { return R.status(CodeClstempattrService.saveOrUpdate(CodeClstempattr)); return R.status(codeClstempattrService.saveOrUpdate(CodeClstempattr)); } /** @@ -118,8 +126,133 @@ @ApiOperationSupport(order = 7) @ApiOperation(value = "é»è¾å é¤", notes = "ä¼ å ¥ids") public R remove(@ApiParam(value = "主é®éå", required = true) @RequestParam String ids) { return R.status(CodeClstempattrService.removeBatchByIds(Func.toLongList(ids))); return R.status(codeClstempattrService.removeBatchByIds(Func.toLongList(ids))); } /** * 主é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ï¼å 嫿¥è¯¢æ¡ä»¶ï¼åé¡µï¼æåºç * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表 */ @GetMapping("/gridCodeClassifyTemplateAttr") public DataGrid<CodeClstempattrVO> gridCodeClassifyTemplateAttr(BaseQueryObject baseQueryObject){ if(baseQueryObject == null){ baseQueryObject = new BaseQueryObject(); } return codeClstempattrService.gridCodeClassifyTemplateAttr(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); } /** * å¢å 主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PostMapping( "/addSave") public R<CodeClstempattrVO> addSave(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO){ CodeClstempattrVO codeClassifyTemplateAttrVO = codeClstempattrService.addSave(codeClassifyTemplateAttrDTO); return R.data(codeClassifyTemplateAttrVO); } /** * æ¹éä¿ååè¡¨æ°æ® * @param list * @return */ @PostMapping( "/batchAddSave") public R<List<CodeClstempattrVO>> batchAddSaves(@RequestBody List<CodeClstempattrDTO> list){ if(CollectionUtils.isEmpty(list)){ return R.fail("å表ä¸è½ä¸ºç©º!"); } List<CodeClstempattrVO> codeClassifyTemplateAttrVOs = codeClstempattrService.batchAddSave(list); return R.data(codeClassifyTemplateAttrVOs); } /** * ä¿®æ¹ ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PutMapping("/editSave") public R<CodeClstempattrVO> editSave(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO){ return codeClstempattrService.editSave(codeClassifyTemplateAttrDTO); } /** * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ @DeleteMapping( "/deleteData") public R delCodeClassifyTemplateAttr(@RequestBody CodeClstempattrDTO codeClassifyTemplateAttrDTO) { return codeClstempattrService.deleteCodeClassifyTemplateAttr(codeClassifyTemplateAttrDTO); } /** * 主é®è·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oid ä¸»é® * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/getObjectByOid") public R<CodeClstempattrVO> getObjectByOid(String oid){ CodeClstempattrVO codeClassifyTemplateAttrVO = codeClstempattrService.getObjectByOid(oid); return R.data(codeClassifyTemplateAttrVO); } /** * 䏻鮿¹éè·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oids 主é®ï¼å¤ä¸ªä»¥éå·åéï¼ä½æ¯åæ§è½å½±åï¼å»ºè®®ä¸æ¬¡æ¥è¯¢ä¸è¶ è¿10000个 * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/listDataByOids") public R listCodeClassifyTemplateAttrByOids(String oids){ Collection<CodeClstempattrVO> voCollection = codeClstempattrService.listCodeClassifyTemplateAttrByOids(VciBaseUtil.str2List(oids)); // BaseResult baseResult = BaseResult.success(); // baseResult.setData(voCollection); return R.data(voCollection); } /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ï¼å 嫿¥è¯¢æ¡ä»¶ï¼åé¡µï¼æåºç * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 */ @GetMapping("/refDataGrid") public DataGrid<CodeClstempattrVO> refDataGridCodeClassifyTemplateAttr(BaseQueryObject baseQueryObject){ if(baseQueryObject == null){ baseQueryObject = new BaseQueryObject(); } return codeClstempattrService.refDataGridCodeClassifyTemplateAttr(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); } /** * æ¥è¯¢è¿ä¸ªä¸å¡ç±»åä¸çææå±æ§,æé¤æè¿ä¸ªæ¨¡æ¿å·²ç»åå¨ç屿§ * @param baseQueryObject * @return */ @GetMapping("/codeClassifyTemplateAttrByBtm") public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ return codeClstempattrService.codeClassifyTemplateAttrByBtm(baseQueryObject); } /** * æ¥è¯¢è¿ä¸ªä¸å¡ç±»åä¸ãè¿ä¸ªæ¨¡æ¿å·²ç»åå¨ç屿§ * @param baseQueryObject * @return */ @GetMapping("/codeClassifyTemplateAttrByBtmHave") public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ return codeClstempattrService.codeClassifyTemplateAttrByBtmHave(baseQueryObject); } /** * 忥å°å ¶ä»æ¨¡æ¿ * @param codeClassifyAttrDTO id è±æåç§° * @return æ§è¡ç»æ */ @PostMapping( "/copyto") public R copyto(@RequestBody CodeClstempattrDTO codeClassifyAttrDTO) { return codeClstempattrService.copyto(codeClassifyAttrDTO); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java
@@ -25,8 +25,9 @@ import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.code.wrapper.PlCodeClstemplateWrapper; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; @@ -142,16 +143,37 @@ return plCodeClstemplateService.treeCodeClassifyTemplate(treeQueryObject); } // /** // * å类模æ¿å表 // * @param baseQueryObject åºç¡æ¥è¯¢å¯¹è±¡ // * @return æ¾ç¤ºå¯¹è±¡ // */ // @GetMapping("/gridCodeClassifyTemplate") // public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(BaseQueryObject baseQueryObject){ // // return plCodeClstemplateService.gridCodeClassifyTemplate(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); // } /** * å类模æ¿å表 * @param plCodeClstemplate åºç¡æ¥è¯¢å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/gridCodeClassifyTemplate") public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query){ return plCodeClstemplateService.gridCodeClassifyTemplate(plCodeClstemplate,query); } /** * å¢å å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PostMapping( "/addSave") public R<CodeClstemplateVO> addSave(@RequestBody CodeClstemplateDTO codeClassifyTemplateDTO){ return plCodeClstemplateService.addSave(codeClassifyTemplateDTO); } /** * ä¿®æ¹ å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PutMapping("/editSave") public R<CodeClstemplateVO> editSave(@RequestBody CodeClstemplateDTO codeClassifyTemplateDTO){ return plCodeClstemplateService.editSave(codeClassifyTemplateDTO); } /** @@ -234,7 +256,7 @@ * @return */ @PostMapping( "/editDate") public R editDate( CodeClstemplateDTO codeClassifyDTO) { public R editDate(@RequestBody CodeClstemplateDTO codeClassifyDTO) { return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.EDITING.getValue()); } @@ -248,4 +270,26 @@ return plCodeClstemplateService.Upgrade(codeClassifyDTO); } @GetMapping( "/upgrade1") public R upgrade1(@RequestBody CodeClstemplateDTO codeClassifyDTO) { return Upgrade(codeClassifyDTO); } /** * å é * @param codeClassifyDTO * @return oid模æ¿oid */ @PostMapping( "/copy") public R copyTemplate(@RequestBody CodeClstemplateDTO codeClassifyDTO) { return plCodeClstemplateService.copyTemplate(codeClassifyDTO); } @GetMapping( "/copyTemplate1") public R copyTemplate1(@RequestBody CodeClstemplateDTO codeClassifyDTO) { return copyTemplate(codeClassifyDTO); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -81,6 +81,9 @@ @MapKey("oid") List<Map<String,Object>> selectAllLevelParentByOid(@Param("oid") String oid); @MapKey("oid") List<Map<String,Object>> selectAllLevelParents(@Param("oid") String oid); @MapKey("oid") List<Map<String,Object>> selectByFieldPath(@Param("fieldPath") String fieldPath); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java
@@ -39,6 +39,7 @@ */ List<CodeClstempattrVO> selectCodeClstempattrPage(IPage page, CodeClstempattrVO CodeClstempattr); /** * æ¡ä»¶æ¥è¯¢æåº * Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java
@@ -20,9 +20,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * ç¼ç åºå®ä¹-模æ¿ç®¡ç Mapper æ¥å£ @@ -57,5 +59,17 @@ */ int countAllLevelChildOid(@Param("oid") String oid); /** * æ ¡éªæ¯å¦æä¸çº§èç¹ï¼ä¸æ ¡éªæ¯å¦å ³èäºæ°æ® * * @param nameoid * @return */ // @MapKey("REVISIONSEQ") Map<String,Object> getNextRevision(@Param("nameoid") String nameoid); List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(@Param("codeclassifyoid") String codeclassifyoid, @Param("lcstatus") String lcstatus); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java
@@ -41,4 +41,7 @@ List<CodePhaseattrEntity> selectByPhasea(String oid); List<CodePhaseattrEntity> selectByPhaseaIds(String oids); List<CodePhaseattrEntity> listLinkAttrDOByTemplateAttrDOS(String id,String codeClassifyTemplateOid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -198,4 +198,18 @@ * @return 主é¢åºæ¾ç¤ºæ */ List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject); /** * è·åè¿ä¸ªåç±»ä¸çä¸å¡ç±»åï¼å½å没æå°±è·åä¸çº§ç第ä¸ä¸ªä¸å¡ç±»å * @param oid å½ååç±»çoid * @return oid,id,name,btmtypeid,btmtypename */ CodeClassify selectBtmOrParentBtm(String oid); /** * è·åææä¸çº§æ°æ® * @param oid æ°æ®ä¸»é® * @return æ¥è¯¢ç»æ */ List<CodeClassify> selectAllLevelParents(String oid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java
@@ -18,11 +18,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.dto.CodeClstempattrDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.vo.CodeClstempattrVO; import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; import java.util.Map; /** * ç¼ç åºå®ä¹-模æ¿å±æ§ æå¡ç±» @@ -61,5 +68,77 @@ * @return æ¾ç¤ºå¯¹è±¡ */ CodeClstempattrVO codeClassifyTemplateAttrDO2VO(CodeClstempattrEntity codeClassifyTemplateAttrDO); /** * æ¥è¯¢ææç主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return æ§è¡ç»æ */ DataGrid<CodeClstempattrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper); /** * å¢å 主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ CodeClstempattrVO addSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO); List<CodeClstempattrVO> batchAddSave(List<CodeClstempattrDTO> list); /** * ä¿®æ¹ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ R<CodeClstempattrVO> editSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO); /** * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ R deleteCodeClassifyTemplateAttr(CodeClstempattrDTO codeClassifyTemplateAttrDTO); /** * 主é®è·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oid ä¸»é® * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ CodeClstempattrVO getObjectByOid(String oid); /** * 䏻鮿¹éè·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oidCollections 主é®éåï¼ä½æ¯åæ§è½å½±åï¼å»ºè®®ä¸æ¬¡æ¥è¯¢ä¸è¶ è¿10000个 * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ */ Collection<CodeClstempattrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections); /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 */ DataGrid<CodeClstempattrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper); /** * æ¥è¯¢è¿ä¸ªæ¨¡æ¿ï¼ä¸å¡ç±»åä¸çæææªéæ©ç屿§ * @param baseQueryObject * @return */ DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject); /** * æ¥è¯¢è¿ä¸ªæ¨¡æ¿ï¼ä¸å¡ç±»åä¸å·²éæ©ç屿§ * @param baseQueryObject * @return */ DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject); /** * 忥å°å ¶ä»æ¨¡æ¿ * @param codeClassifyAttrDTO oid * @return */ R copyto(CodeClstempattrDTO codeClassifyAttrDTO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java
@@ -22,11 +22,14 @@ import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; import java.util.Map; /** * ç¼ç åºå®ä¹-模æ¿ç®¡ç æå¡ç±» @@ -154,4 +157,30 @@ * åç */ R Upgrade(CodeClstemplateDTO codeClassifyDTO); /** * 模æ¿å é */ R copyTemplate(CodeClstemplateDTO codeClassifyDTO); /** * å类模æ¿å表 * @param plCodeClstemplate æ¥è¯¢æ¡ä»¶ * @param query å页对象 * @return æ¾ç¤ºå¯¹è±¡ */ DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query); /** * å¢å å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ R<CodeClstemplateVO> addSave(CodeClstemplateDTO codeClassifyTemplateDTO); /** * ä¿®æ¹å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ R<CodeClstemplateVO> editSave(CodeClstemplateDTO codeClassifyTemplateDTO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java
@@ -18,8 +18,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.entity.CodeTempphaseEntity; import com.vci.ubcs.code.vo.CodePhaseattrVO; import com.vci.ubcs.code.vo.CodeTempphaseVO; import java.util.List; /** * ç¼ç åºå®ä¹-模æ¿é¶æ®µ æå¡ç±» @@ -45,4 +49,11 @@ * @return åå½±åçæ°æ® */ int codeTemplateDeleteTrigger(String classifyTemplateOid); /** * 模æ¿ä¿®æ¹è§¦ååè½ * @param codeClassifyTemplateAttrDOInsert 屿§çæ°æ®å¯¹è±¡ * @return åå½±åçæ°æ® */ List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> codeClassifyTemplateAttrDOInsert); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity; @@ -25,13 +23,15 @@ import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.core.log.exception.ServiceException; import com.vci.ubcs.starter.bo.WriteExcelData; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.poi.bo.ReadExcelOption; import com.vci.ubcs.starter.poi.bo.WriteExcelOption; import com.vci.ubcs.starter.poi.constant.ExcelLangCodeConstant; import com.vci.ubcs.starter.poi.util.ExcelUtil; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.LocalFileUtil; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; @@ -40,7 +40,6 @@ import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.log.exception.ServiceException; import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -985,4 +984,41 @@ return treeCodeClassify(treeQueryObject); } /** * è·åè¿ä¸ªåç±»ä¸çä¸å¡ç±»åï¼å½å没æå°±è·åä¸çº§ç第ä¸ä¸ªä¸å¡ç±»å * @param oid å½ååç±»çoid * @return oid,id,name,btmtypeid,btmtypenameï¼æ²¡æå°±è¿ånull */ @Override public CodeClassify selectBtmOrParentBtm(String oid){ List<CodeClassify> oidList = selectAllLevelParents(oid); return oidList.size()==0?null:oidList.get(0); } /** * è·åææå±çº§ä¸çº§å ³èä¸å¡ç±»åæ°æ® * @param oid å½ååç±»çoid * @return oid,id,name,btmtypeid,btmtypename */ @Override public List<CodeClassify> selectAllLevelParents(String oid){ // String sql = "select oid,id,name,btmtypeid,btmtypename from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) + " where btmtypeid is not null start with oid= :oid connect by prior PARENTCODECLASSIFYOID=oid "; // Map< String,String> conditionMap = new HashMap< String,String>(); // conditionMap.put("oid",oid); // List<Map> dataList = boService.queryBySqlForMap(sql,conditionMap); List<Map<String, Object>> dataList = codeClassifyMapper.selectAllLevelParents(oid); List<CodeClassify> oidList = new ArrayList<CodeClassify>(); if(!CollectionUtils.isEmpty(dataList)){ for(Map data:dataList){ CodeClassify codeClassifyDO = new CodeClassify(); codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(data.get("OID"))); codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(data.get("ID"))); codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(data.get("NAME"))); codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPEID"))); codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPENAME"))); oidList.add(codeClassifyDO); } } return oidList; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java
@@ -16,23 +16,47 @@ */ package com.vci.ubcs.code.service.impl; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeClstempattrDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.mapper.CodeClstempattrMapper; import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.mapper.CodeOsbtmtypeattributeMapper; import com.vci.ubcs.code.service.ICodeClstempattrService; import com.vci.ubcs.code.service.ICodeTempphaseService; import com.vci.ubcs.code.vo.CodeClstempattrVO; import com.vci.ubcs.code.vo.CodeOsbtmtypeattributeVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.PatternUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.*; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import com.vci.ubcs.system.entity.DictBiz; import com.vci.ubcs.system.feign.IDictBizClient; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanMap; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.*; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; /** * ç¼ç åºå®ä¹-模æ¿å±æ§ æå¡å®ç°ç±» @@ -45,6 +69,22 @@ @Resource CodeClstempattrMapper codeClstempattrMapper; // @Resource // ICodeTempphaseService codeTempphaseService; @Resource IDictBizClient iDictBizClient; @Resource CodeClstemplateMapper codeClstemplateMapper; @Resource CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; @Resource ICodeTempphaseService codeTempphaseService; /** * 对象çæä½ */ @Autowired(required = false) private RevisionModelUtil revisionModelUtil; @Override public IPage<CodeClstempattrVO> selectCodeClstempattrPage(IPage<CodeClstempattrVO> page, CodeClstempattrVO CodeClstempattr) { @@ -112,4 +152,647 @@ } return vo; } /** * æ¥è¯¢ææç主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return æ§è¡ç»æ */ @Override public DataGrid<CodeClstempattrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) { DataGrid<CodeClstempattrVO> dataGrid=new DataGrid<CodeClstempattrVO>(); //没æä¼ éåæ°ï¼å°±ä¸æ§è¡æ¥è¯¢é»è¾ if(conditionMap.size()==0){ dataGrid.setData(new ArrayList<>()); dataGrid.setTotal(0); return dataGrid; } if (pageHelper == null) { pageHelper = new PageHelper(-1); } pageHelper.addDefaultAsc("ordernum"); // IPage iPage = new IPage(); Query query = new Query(); query.setAscs("ordernum"); // query.setSize(100); if(pageHelper.getLimit() != -1){ query.setSize(pageHelper.getLimit()); query.setCurrent(pageHelper.getPage()); } // Condition.getPage(query) CodeClstempattrVO codeClstempattrVO = new CodeClstempattrVO(); // BeanUtil.toBean(map,codeClstempattrVO); // BeanUtil BeanMap beanMap = BeanMap.create(codeClstempattrVO); beanMap.putAll(conditionMap); // Condition.getQueryWrapper( IPage<CodeClstempattrEntity> doList = baseMapper. selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClstempattrVO)); if (!CollectionUtils.isEmpty(doList.getRecords())) { // CodeClstempattrEntity codeClstempattrEntity = new CodeClstempattrEntity(); // BeanUtils.copyProperties(conditionMap, codeClstempattrEntity); // List<CodeClstempattrEntity> codeClstempattrEntities = new ArrayList<>(); // BeanUtils.copyProperties(doList,codeClstempattrEntities); // codeClstempattrEntities.addAll(doList); dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords())); dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(Condition.getQueryWrapper(codeClstempattrVO))))); } return dataGrid; } /** * å¢å 主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ @Override public CodeClstempattrVO addSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO){ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡"); //å°DTO转æ¢ä¸ºDO CodeClstempattrEntity codeClassifyTemplateAttrDO = new CodeClstempattrEntity(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); baseMapper.insert(codeClassifyTemplateAttrDO); return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO); } /** * æ¹éæ·»å * @param codeClassifyTemplateAttrDTOs æ°æ®ä¼ è¾å¯¹è±¡ * @return ä¿ååçæ¾ç¤ºå¯¹è±¡ */ @Override @Transactional public List<CodeClstempattrVO> batchAddSave(List<CodeClstempattrDTO> codeClassifyTemplateAttrDTOs) { if(CollectionUtils.isEmpty(codeClassifyTemplateAttrDTOs)){ return new ArrayList<>(); } //忿屿§çè±æåç§°ï¼ç¬¬ä¸ä¸ªéªè¯éè¦ç¨å° Map<String,CodeClstempattrDTO> attrDTOMap =codeClassifyTemplateAttrDTOs.stream().collect(Collectors.toMap(s->s.getId().toLowerCase(Locale.ROOT), t->t)); //æ¾å±æ§ä¸æååéå¤ Map<String, Long> nameCountMap = codeClassifyTemplateAttrDTOs.stream().collect(Collectors.groupingBy(s -> s.getName(), Collectors.counting())); List<String> repeatNameList = nameCountMap.keySet().stream().filter(s -> nameCountMap.get(s) > 1).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(repeatNameList)){ throw new VciBaseException("模æ¿å±æ§ä¸æåç§°ã{0}ãéå¤",new String[]{ repeatNameList.stream().collect(Collectors.joining(","))}); } //æ¾å±æ§è±æååéå¤ Map<String, Long> idCountMap = codeClassifyTemplateAttrDTOs.stream().collect(Collectors.groupingBy(s -> s.getId().toLowerCase(Locale.ROOT), Collectors.counting())); List<String> repeatIdList = idCountMap.keySet().stream().filter(s -> idCountMap.get(s) > 1).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(repeatIdList)){ throw new VciBaseException("模æ¿å±æ§è±æåç§°ã{0}ãéå¤",new String[]{ repeatIdList.stream().collect(Collectors.joining(","))}); } //模æ¿oid String CLASSIFYTEMPLATEOID = null; //è½¬æ¢ List<CodeClstempattrEntity> codeClassifyTemplateAttrDOInsert = new ArrayList<CodeClstempattrEntity>(); List<String> prefix = new ArrayList<>(); List<String> suffix = new ArrayList<>(); List<String> dateFormates = new ArrayList<>(); for (CodeClstempattrEntity codeClassifyTemplateAttrDTO:codeClassifyTemplateAttrDTOs){ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡"); //å°DTO转æ¢ä¸ºDO CodeClstempattrEntity codeClassifyTemplateAttrDO = new CodeClstempattrEntity(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO); if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getPrefixvalue())){ prefix.add(codeClassifyTemplateAttrDO.getPrefixvalue()); } if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getSuffixvalue())){ suffix.add(codeClassifyTemplateAttrDO.getSuffixvalue()); } if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getCodedateformat())){ dateFormates.add(codeClassifyTemplateAttrDO.getCodedateformat()); } //å¤æä¼ è¿æ¥çæä¸¾æ³¨å ¥æ¯å¦æ¯jsonArræ ¼å¼ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getEnumstring())&&!checkKVArr(codeClassifyTemplateAttrDO.getEnumstring())){ throw new VciBaseException("{0}{1}屿§çæä¸¾æ³¨å ¥æ°æ®æ ¼å¼é误!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); } //åç±»æ³¨å ¥ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getClassifyinvokeattr()) && !CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(codeClassifyTemplateAttrDO.getClassifyinvokelevel()) && VciBaseUtil.getInt(codeClassifyTemplateAttrDO.getClassifyinvokelevel()) < 0){ throw new VciBaseException("{0}{1}屿§çæ¯åç±»æ³¨å ¥ï¼ä½æ¯æ³¨å ¥å±çº§ä¸è½å°äº0!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); } //å¤æä¼ è¿æ¥çåç §é ç½®æ¯å¦æ¯jsonæ ¼å¼ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getReferconfig())&&!checkKVObj(codeClassifyTemplateAttrDO.getReferconfig())){ throw new VciBaseException("{0}{1}屿§çåç §é ç½®æ°æ®æ ¼å¼é误!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); } if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getCodedateformat()) && !checkDateFormat(codeClassifyTemplateAttrDO.getCodedateformat())){ throw new VciBaseException("{0}{1}屿§çæ¶é´æ ¼å¼ä¸ç¬¦åè¦æ±",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()}); } //妿æ¯ç»åè§åï¼éé¢ä½¿ç¨ç屿§ä¸è½ç¼ºå¤±ï¼ä¹é½å¾æ¾ç¤º String componentrule = codeClassifyTemplateAttrDTO.getComponentrule(); boolean isContainsDynamicParameter = PatternUtil.isContainsDynamicParameter(componentrule); if(isContainsDynamicParameter){ List<String> userdAttrList = PatternUtil.getKeyListByContent(componentrule);//å å«çææ${xxx}ä¸çxxx if(!CollectionUtils.isEmpty(userdAttrList)){ String unExistAttr = userdAttrList.stream().filter(s -> !attrDTOMap.containsKey(s.toLowerCase(Locale.ROOT))).collect(Collectors.joining(",")); if(StringUtils.isNotBlank(unExistAttr)){ throw new VciBaseException("{0}屿§æ¯ç»åè§åï¼ä½æ¯è§åéå å«ç屿§[{1}]å¨å½å模æ¿ä¸ä¸åå¨!",new String[]{codeClassifyTemplateAttrDO.getName(), unExistAttr}); } //è¦ççè¡¨åæ¯å¦æ¾ç¤º String unFormDisplayAttr = userdAttrList.stream().filter(s -> !VciBaseUtil.getBoolean(attrDTOMap.getOrDefault(s.toLowerCase(Locale.ROOT), new CodeClstempattrDTO()).getFormdisplayflag())).collect(Collectors.joining(",")); if(StringUtils.isNotBlank(unFormDisplayAttr)){ throw new VciBaseException("{0}屿§æ¯ç»åè§åï¼ä½æ¯è§åéå å«ç屿§[{1}]å¨å½å模æ¿ä¸æ²¡æè®¾ç½® è¡¨åæ¾ç¤º ",new String[]{codeClassifyTemplateAttrDO.getName(),unFormDisplayAttr}); } } } if(CLASSIFYTEMPLATEOID==null){ CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifytemplateoid(); } } //æ§è¡æ°æ®ä¿åæä½ // WebUtil.setPersistence(false);//䏿§è¡ä¿å //å é½å äº // VciQueryWrapperForDO deleteAttrWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // deleteAttrWrapper.addQueryMap("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID); Map<String,Object> condition = new HashMap<>(); condition.put("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID); List<CodeClstempattrEntity> codeClassifyTemplateAttrDODelete = baseMapper.selectByMap(condition); //oids List<String> oids = new ArrayList<String>(); for (CodeClstempattrEntity codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){ oids.add(codeClassifyTemplateAttrDO.getOid()); } // BatchCBO batchCBOTemplateDelete = new BatchCBO(); if(!CollectionUtils.isEmpty(oids)){ baseMapper.deleteBatchIds(oids); } //åæ°å¢ if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ this.saveBatch(codeClassifyTemplateAttrDOInsert); } //è°ç¨é¶æ®µ if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ codeTempphaseService.codeTemplateAttrModifyTrigger(codeClassifyTemplateAttrDOInsert); } // SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); //å¤çå¯è¾å¯éçå符 if(!CollectionUtils.isEmpty(prefix)){ for (String s : prefix) { DictBiz dictBiz = new DictBiz(); dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR); dictBiz.setDictKey(s); dictBiz.setDictValue("prefix"); iDictBizClient.getCheck(dictBiz) ; } // .saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"prefix",prefix,sessionInfo); } if(!CollectionUtils.isEmpty(suffix)){ for (String s : suffix) { DictBiz dictBiz = new DictBiz(); dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR); dictBiz.setDictKey(s); dictBiz.setDictValue("suffix"); iDictBizClient.getCheck(dictBiz) ; } // charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"suffix",suffix,sessionInfo); } if(!CollectionUtils.isEmpty(dateFormates)){ for (String s : dateFormates) { DictBiz dictBiz = new DictBiz(); dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR); dictBiz.setDictKey(s); dictBiz.setDictValue("dateFormates"); iDictBizClient.getCheck(dictBiz) ; } // charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"dateFormates",dateFormates,sessionInfo); } // WebUtil.setPersistence(true);//æ§è¡ä¿å // boService.persistenceBatch(batchCBOTemplateDelete);//ä¸èµ·æ§è¡ä¿å return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOInsert); } public boolean checkKVArr(String kvString){ boolean isKV = true; try { JSONObject.parseArray(kvString, KeyValue.class); }catch (Exception e){ isKV=false; } return isKV; } public boolean checkKVObj(String kvString){ boolean isKV = true; try { JSONObject.parseObject(kvString, UIFormReferVO.class); }catch (Exception e){ isKV=false; } return isKV; } /** * æ ¡éªæ¶é´æ ¼å¼ * @param dateFormat æ¶é´æ ¼å¼ * @return trueè¡¨ç¤ºæ ¡éªéè¿ */ public boolean checkDateFormat(String dateFormat){ try{ VciDateUtil.date2Str(new Date(),dateFormat); return true; }catch (Throwable e){ return false; } } /** * ä¿®æ¹ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿ è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ */ @Override public R editSave(CodeClstempattrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"æ°æ®å¯¹è±¡",codeClassifyTemplateAttrDTO.getOid(),"主é¢åºåç±»çæ¨¡æ¿å±æ§ä¸»é®"); //å¤æä¼ è¿æ¥çæä¸¾æ³¨å ¥æ¯å¦æ¯jsonArræ ¼å¼ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getEnumstring())&&!checkKVArr(codeClassifyTemplateAttrDTO.getEnumstring())){ throw new VciBaseException("æä¸¾æ³¨å ¥æ°æ®æ ¼å¼é误!"); } //å¤æä¼ è¿æ¥çåç §é ç½®æ¯å¦æ¯jsonæ ¼å¼ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){ throw new VciBaseException("æä¸¾æ³¨å ¥æ°æ®æ ¼å¼é误!"); } //æ£æ¥ts CodeClstempattrEntity codeClassifyTemplateAttrDOCopyFromDTO = new CodeClstempattrEntity(); // BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDOCopyFromDTO); // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOCopyFromDTO); //æ£æ¥ts // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClassifyTemplateAttrDTO.getOid()); // condition.put("ts",codeClassifyTemplateAttrDTO.getTs()); CodeClstempattrEntity detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//䏿¯ææ°çä¸è®©æ¹ return R.fail("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); } //å°DTO转æ¢ä¸ºDO CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); baseMapper.updateById(codeClassifyTemplateAttrDO); return R.data(codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO)); } /** * å é¤ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§ * @param codeClassifyTemplateAttrDTO 主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ * @throws VciBaseException åæ°ä¸ºç©ºï¼è¢«å¼ç¨æ¶æåºå¼å¸¸ */ @Override public R deleteCodeClassifyTemplateAttr(CodeClstempattrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"主é¢åºåç±»çæ¨¡æ¿å±æ§æ°æ®å¯¹è±¡",codeClassifyTemplateAttrDTO.getOid(),"主é¢åºåç±»çæ¨¡æ¿å±æ§ç主é®"); CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); R baseResult = checkIsCanDeleteForDO(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); if(baseResult.isSuccess()) { }else{ return baseResult; } //æ§è¡å é¤æä½ int deleteNum = baseMapper.deleteById(codeClassifyTemplateAttrDO.getOid()); return deleteNum>0?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL); } /** * æ ¡éªæ¯å¦å¯ä»¥å é¤ï¼å¦æåå¨ä¸çº§ï¼å¹¶ä¸ä¸çº§ææ°æ®å¼ç¨åä¸è½å é¤ * @param codeClassifyTemplateAttrDTO æ°æ®ä¼ è¾å¯¹è±¡ * @param codeClassifyTemplateAttrDO æ°æ®åºä¸çæ°æ®å¯¹è±¡ * @return success为true为å¯ä»¥å é¤ï¼falseè¡¨ç¤ºææ°æ®å¼ç¨ï¼obj为true表示æä¸çº§ */ private R checkIsCanDeleteForDO(CodeClstempattrDTO codeClassifyTemplateAttrDTO, CodeClstempattrEntity codeClassifyTemplateAttrDO) { // boService.checkTs(codeClassifyTemplateAttrDO); // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClassifyTemplateAttrDTO.getOid()); // condition.put("ts",codeClassifyTemplateAttrDTO.getTs()); CodeClstempattrEntity detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); // .selectOne(Condition.getQueryWrapper(condition,CodeClstempattrEntity.class)); if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//䏿¯ææ°çä¸è®©æ¹ return R.fail("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); } if(!checkIsLinked(codeClassifyTemplateAttrDO.getOid())) { return R.success("å¯ä»¥å é¤ï¼"); }else{ return R.fail(DATA_LINKED_NOT_DELETE); } } /** * æ ¡éªæ¯å¦è¢«å¼ç¨ * @param oid ä¸»é® * @throws VciBaseException 被å¼ç¨çæ¶å伿åºå¼å¸¸ */ private boolean checkIsLinked(String oid) throws VciBaseException{ //TODO æ·»å éè¦æ ¡éªå¼ç¨çå°æ¹ return false; } /** * 主é®è·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oid ä¸»é® * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºï¼æ°æ®ä¸å卿¶ä¼æåºå¼å¸¸ */ @Override public CodeClstempattrVO getObjectByOid(String oid) throws VciBaseException{ return codeClassifyTemplateAttrDO2VO(selectByOid(oid)); } /** * 䏻鮿¥è¯¢æ°æ®å¯¹è±¡ * @param oid ä¸»é® * @return æ°æ®å¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¹¶ä¸æ°æ®ä¸åå¨çæ¶å伿åºå¼å¸¸ */ private CodeClstempattrEntity selectByOid(String oid) throws VciBaseException{ VciBaseUtil.alertNotNull(oid,"主é®"); CodeClstempattrEntity codeClassifyTemplateAttrDO = baseMapper.selectById(oid.trim()); if(codeClassifyTemplateAttrDO == null || StringUtils.isBlank(codeClassifyTemplateAttrDO.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); } return codeClassifyTemplateAttrDO; } /** * 䏻鮿¹éè·å主é¢åºåç±»çæ¨¡æ¿å±æ§ * @param oidCollections 主é®éåï¼ä½æ¯åæ§è½å½±åï¼å»ºè®®ä¸æ¬¡æ¥è¯¢ä¸è¶ è¿10000个 * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException æ¥è¯¢åºç°å¼å¸¸æ¶ä¼æåº */ @Override public Collection<CodeClstempattrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections) { VciBaseUtil.alertNotNull(oidCollections,"æ°æ®å¯¹è±¡ä¸»é®éå"); List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = listCodeClassifyTemplateAttrDOByOidCollections(oidCollections); return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOList); } /** * 使ç¨ä¸»é®éåæ¥è¯¢æ°æ®å¯¹è±¡ * @param oidCollections 主é®çéå * @return æ°æ®å¯¹è±¡å表 */ private List<CodeClstempattrEntity> listCodeClassifyTemplateAttrDOByOidCollections(Collection<String> oidCollections){ List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = new ArrayList<CodeClstempattrEntity>(); if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ List<CodeClstempattrEntity> tempDOList = baseMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeClassifyTemplateAttrDOList.addAll(tempDOList); } } } return codeClassifyTemplateAttrDOList; } /** * åç §ä¸»é¢åºåç±»çæ¨¡æ¿å±æ§å表 * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåº * @return 主é¢åºåç±»çæ¨¡æ¿å±æ§æ¾ç¤ºå¯¹è±¡å表ï¼çæçå 容 * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ */ @Override public DataGrid<CodeClstempattrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ if(conditionMap == null){ conditionMap = new HashMap<String, String>(); } return gridCodeClassifyTemplateAttr(conditionMap,pageHelper); } /** * æ¥è¯¢è¿ä¸ªæ¨¡æ¿ï¼ä¸å¡ç±»åä¸çæææªéæ©ç屿§ * @param baseQueryObject * @return */ @Override public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ if(baseQueryObject.getConditionMap() == null){ baseQueryObject.setConditionMap(new HashMap<>()); } DataGrid<CodeOsbtmtypeattributeVO> dataGrid=new DataGrid<CodeOsbtmtypeattributeVO>(); //模æ¿oid String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); String name = baseQueryObject.getConditionMap().getOrDefault("name",""); String id = baseQueryObject.getConditionMap().getOrDefault("id",""); //没æoid䏿§è¡é»è¾ if(StringUtils.isBlank(templateAttrOid)){ dataGrid.setData(new ArrayList<>()); dataGrid.setTotal(0); return dataGrid; } //æ¥è¯¢æ¨¡æ¿å¯¹è±¡ CodeClstemplateEntity codeClassifyTemplateDO = codeClstemplateMapper.selectById(templateAttrOid); //è¿ä¸ªä¸å¡ç±»åä¸çææå±æ§ List<CodeOsbtmtypeattributeVO> boAttrs = (List<CodeOsbtmtypeattributeVO>) codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId());// this.btmService.listAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId()); // codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()); // BeanUtils.copyProperties(codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()),boAttrs); //æé»è®¤ç屿§ä¹æ·»å å°boAttrs if(boAttrs == null){ boAttrs = new ArrayList<>(); } if(!false){ // List<CodeOsbtmtypeattributeVO> finalBoAttrs = boAttrs; // attributeService.getDefaultAttributeVOs().stream().forEach(attr-> { // CodeOsbtmtypeattributeVO attributeVO = new CodeOsbtmtypeattributeVO(); // BeanUtil.convert(attr, attributeVO); // if ("id".equalsIgnoreCase(attributeVO.getId())) { // attributeVO.setName("ä¼ä¸ç¼ç "); // } // if ("name".equalsIgnoreCase(attributeVO.getId())) { // attributeVO.setName("éå¢ç "); // } // attributeVO.setAttrDataType(attr.getAttributeDataType()); // attributeVO.setAttributeLength(attr.getAttrLength()); // attributeVO.setReferBtmTypeId(attr.getBtmTypeId()); // attributeVO.setReferBtmTypeName(attr.getBtmTypeName()); // finalBoAttrs.add(attributeVO); // }); // boAttrs = finalBoAttrs; Object o = null; } //è¿ä¸ªæ¨¡æ¿ä¸å·²ç»æç屿§ // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); Map<String,Object> condition = new HashMap<>(1); condition.put("CLASSIFYTEMPLATEOID",templateAttrOid); List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClstempattrMapper.selectByMap(condition); List<String> btmOids = new ArrayList<String>(); for (CodeClstempattrEntity codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ btmOids.add(codeClassifyTemplateAttrDO.getId()); } //è¿æ»¤æå·²ç»åå¨ç屿§ List<CodeOsbtmtypeattributeVO> boAttrss = new ArrayList<CodeOsbtmtypeattributeVO>(); for (CodeOsbtmtypeattributeVO osBtmTypeAttributeVO:boAttrs){ if(!btmOids.contains(osBtmTypeAttributeVO.getId())){ //ççæ¯ä¸æ¯ææ¨¡ç³æ¥è¯¢ boolean inSearch = true; if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){ inSearch = false; } if(StringUtils.isNotBlank(id) && !osBtmTypeAttributeVO.getId().contains(id.replace("*",""))){ inSearch = false; } if(inSearch) { boAttrss.add(osBtmTypeAttributeVO); } } } dataGrid.setData(boAttrss); dataGrid.setTotal(boAttrss.size()); return dataGrid; } /** * æ¥è¯¢è¿ä¸ªæ¨¡æ¿ï¼ä¸å¡ç±»åä¸å·²éæ©ç屿§ * @param baseQueryObject * @return */ @Override public DataGrid<CodeOsbtmtypeattributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ DataGrid<CodeOsbtmtypeattributeVO> dataGrid=new DataGrid<CodeOsbtmtypeattributeVO>(); //模æ¿oid String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); //没æoid䏿§è¡é»è¾ if(StringUtils.isBlank(templateAttrOid)){ dataGrid.setData(new ArrayList<>()); dataGrid.setTotal(0); return dataGrid; } //æ¥è¯¢æ¨¡æ¿å¯¹è±¡ CodeClstemplateEntity codeClassifyTemplateDO = codeClstemplateMapper.selectById(templateAttrOid); //è¿ä¸ªä¸å¡ç±»åä¸çææå±æ§ List<CodeOsbtmtypeattributeVO> boAttrs = (List<CodeOsbtmtypeattributeVO>) codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId());//this.btmService.listAttributeByBtmIdHasDefault(codeClassifyTemplateDO.getBtmTypeId()); // codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()); // BeanUtils.copyProperties(codeOsbtmtypeattributeMapper.selectById(codeClassifyTemplateDO.getBtmTypeId()),boAttrs); //è¿ä¸ªæ¨¡æ¿ä¸å·²ç»æç屿§ //æé»è®¤ç屿§ä¹æ·»å å°boAttrs if(boAttrs == null){ boAttrs = new ArrayList<>(); } // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); // Map<String,Object> condition = new HashMap<>(1); // condition.put("CLASSIFYTEMPLATEOID",templateAttrOid); QueryWrapper<CodeClstempattrEntity> wrapper=new QueryWrapper<>(); wrapper.eq("CLASSIFYTEMPLATEOID",templateAttrOid); List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClstempattrMapper.selectList(wrapper); List<String> btmOids = new ArrayList<String>(); for (CodeClstempattrEntity codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ btmOids.add(codeClassifyTemplateAttrDO.getId()); } //è¿æ»¤æé¤äºèªèº«çå«ç屿§ List<CodeOsbtmtypeattributeVO> boAttrss = new ArrayList<CodeOsbtmtypeattributeVO>(); for (CodeOsbtmtypeattributeVO osBtmTypeAttributeVO:boAttrs){ if(btmOids.contains(osBtmTypeAttributeVO.getId())){ boAttrss.add(osBtmTypeAttributeVO); } } dataGrid.setData(boAttrss); dataGrid.setTotal(boAttrss.size()); return dataGrid; } /** * 忥å°å ¶ä»æ¨¡æ¿ * @param codeClassifyTemplateAttrDTO oid * @return */ @Override public R copyto(CodeClstempattrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ String templateAttrOid = codeClassifyTemplateAttrDTO.getOid(); //æ¥è¯¢åºæ¥è¦å¤å¶ç对象 CodeClstempattrEntity codeClassifyTemplateAttrDO = selectByOid(templateAttrOid); String id = codeClassifyTemplateAttrDO.getId();//è±æåç§° String classfyTemplateOid = codeClassifyTemplateAttrDO.getClassifytemplateoid(); //æ¥è¯¢å ¶ä»id=idçæ¨¡æ¿å±æ§ // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // queryWrapper.addQueryMap("id",id); // Map<String,Object> condition = new HashMap<>(1); // condition.put("id",id); QueryWrapper<CodeClstempattrEntity> wrapper=new QueryWrapper<>(); wrapper.eq("id",id); //ææid=idçæ¨¡æ¿å±æ§ List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList =codeClstempattrMapper.selectList(wrapper); //è¦å é¤ç模æ¿å±æ§çoids List<String> deleteOids = new ArrayList<String>(); //è¦ä¿®æ¹ç模æ¿å±æ§å¯¹è±¡ List<CodeClstempattrEntity> codeClassifyTemplateAttrDOListInsert = new ArrayList<CodeClstempattrEntity>(); for (CodeClstempattrEntity codeClassifyTemplateAttrDOi:codeClassifyTemplateAttrDOList){ String oid = codeClassifyTemplateAttrDOi.getOid(); String templateOldOid = codeClassifyTemplateAttrDOi.getClassifytemplateoid(); CodeClstempattrEntity codeClassifyTemplateAttrDOInsert = new CodeClstempattrEntity(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,codeClassifyTemplateAttrDOInsert); codeClassifyTemplateAttrDOInsert.setOid(oid); codeClassifyTemplateAttrDOInsert.setClassifytemplateoid(templateOldOid); codeClassifyTemplateAttrDOListInsert.add(codeClassifyTemplateAttrDOInsert); deleteOids.add(codeClassifyTemplateAttrDOi.getOid()); } // WebUtil.setPersistence(false);//䏿§è¡ä¿å //å é¤ // BatchCBO batchCBOTemplateAttrDelete = codeClassifyTemplateAttrDOissifyTemplateAttrMapper.batchDeleteByOids(deleteOids); codeClstempattrMapper.deleteBatchIds(deleteOids); //åæ°å¢ // BatchCBO batchCBOTemplateAttrInsert = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOListInsert); // batchCBOTemplateAttrDelete.copyFromOther(batchCBOTemplateAttrInsert); this.saveBatch(codeClassifyTemplateAttrDOListInsert); // WebUtil.setPersistence(true);//æ§è¡ä¿å // boService.persistenceBatch(batchCBOTemplateAttrDelete);//ä¸èµ·æ§è¡ä¿å return R.success("æä½æåï¼"); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -20,36 +20,37 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.dto.CodeClstemplateDTO; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.entity.CodeClstemplateEntity; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC; import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.mapper.CodeClstempattrMapper; import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.mapper.*; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.CodeClstempattrVO; import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.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.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED; import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.LC_STATUS; import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*; import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; import static com.vci.ubcs.code.service.impl.CodeClassifyServiceImpl.PARENT_FIELD_NAME; @@ -83,6 +84,23 @@ private CodeTempbuttonServiceImpl codeTempbuttonServiceImpl; @Autowired(required = false) private CodeClsflowtempServiceImpl codeClsflowtempServiceImpl; @Autowired(required = false) private CodeClsflowtempMapper codeClsflowtempMapper; @Autowired(required = false) private CodeTempphaseMapper codeTempphaseMapper; @Autowired(required = false) private CodeTempbuttonMapper codeTempbuttonMapper; @Autowired(required = false) private CodePhaseattrMapper codePhaseattrMapper; @Autowired(required = false) private ICodeClassifyService codeClassifyService; @Autowired(required = false) private CodeClstemplateMapper codeClstemplateMapper; @Autowired(required = false) private CodePhaseattrServiceImpl codePhaseattrServiceImpl; @Override public IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate) { return page.setRecords(baseMapper.selectPlCodeClstemplatePage(page, plCodeClstemplate)); @@ -119,8 +137,12 @@ // VciParentQueryOption parentQueryOption = new VciParentQueryOption(); // parentQueryOption.setParentFieldName(PARENT_FIELD_NAME); // queryWrapperForDO.parentQueryChild(treeQueryObject,parentQueryOption); CodeClstemplateEntity codeClstemplateEntity = new CodeClstemplateEntity(); return baseMapper.selectList(Condition.getQueryWrapper(codeClstemplateEntity)); // CodeClstemplateEntity codeClstemplateEntity = new CodeClstemplateEntity(); // codeClstemplateEntity.set return baseMapper.selectCodeClassifyTemplateDOByTree( treeQueryObject.getConditionMap().get("codeclassifyoid"), treeQueryObject.getConditionMap().get("lcStatus")); // return baseMapper.selectList(Condition.getQueryWrapper(codeClstemplateEntity)); // return codeClassifyTemplateMapper.selectByWrapper(queryWrapperForDO); } @@ -210,19 +232,20 @@ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClstemplateDTO,codeClassifyTemplateDOCopyFromDTO); //æ£æ¥ts Map<String,Object> condition = new HashMap<>(2); condition.put("oid",codeClstemplateDTO.getOid()); condition.put("ts",codeClstemplateDTO.getTs()); // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClstemplateDTO.getOid()); // condition.put("ts",codeClstemplateDTO.getTs()); CodeClstemplateEntity detail = baseMapper .selectOne(Condition.getQueryWrapper(condition,CodeClstemplateEntity.class)); if(detail == null){//䏿¯ææ°çä¸è®©æ¹ .selectById(codeClstemplateDTO.getOid()); if(!detail.getTs().toString().equals(codeClstemplateDTO.getTs().toString())){//䏿¯ææ°çä¸è®©æ¹ return R.fail("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); } //æ ¡éªä¸çº§æ¯å¦æå¼ç¨ if(checkChildIsLinked(codeClstemplateEntity.getOid())){ return R.fail(DATA_CASCADE_LINKED_NOT_DELETE); } return R.status(checkHasChild(codeClstemplateEntity.getOid())); return R.success(String.valueOf(checkHasChild(codeClstemplateEntity.getOid()))); } /** @@ -273,6 +296,7 @@ * @param codeClstemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @return å é¤ç»æåé¦ï¼ï¼successï¼æåï¼failï¼å¤±è´¥ */ @Transactional @Override public R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO) { checkIsCanDelete(codeClstemplateDTO); @@ -362,8 +386,8 @@ * åç §æ å类模æ¿å¯¹è±¡ * @param treeQueryObject æ å½¢æ¥è¯¢å¯¹è±¡ * @return å类模æ¿å¯¹è±¡æ¾ç¤ºæ * @throws VciBaseException æ¥è¯¢æ¡ä»¶åå页åºéçæ¶å伿åºå¼å¸¸ */ @Transactional @Override public List<Tree> referTree(TreeQueryObject treeQueryObject) { if(treeQueryObject == null){ @@ -418,6 +442,7 @@ * @param lcStatus * @return */ @Transactional @Override public R updateLcStatus( String oid, String lcStatus){ CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid); @@ -440,6 +465,7 @@ * åç * @param codeClassifyDTO */ @Transactional @Override public R Upgrade(CodeClstemplateDTO codeClassifyDTO) { @@ -454,93 +480,95 @@ //éè¦æ°å¢çåçº§æ¨¡æ¿ // ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate"); CodeClstemplateEntity codeCls_template = baseMapper.selectById(templateOldOid); CodeClstemplateEntity codeCls_template_insert = null; CodeClstemplateEntity codeCls_template_insert = new CodeClstemplateEntity(); // ClientBusinessObject clientBusinessObject_template_insert = null; // try { //// clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, ""); //// codeCls_template_insert.setOid((new ObjectUtility()).getNewObjectID36()); //// toBo.setRevisionid((new ObjectUtility()).getNewObjectID36()); // codeCls_template_insert.setNameOid(codeCls_template.getNameOid()); // codeCls_template_insert.setBtmname(codeCls_template.getBtmname()); //// codeCls_template_insert.setIsLast(1); //// codeCls_template_insert.setIsFirstr(0); //// codeCls_template_insert.setIsFirstv(1); //// codeCls_template_insert.setIsLastV(1); // codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName()); // codeCls_template_insert.setCreateTime(new Date()); // codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName()); // codeCls_template_insert.setLastModifyTime(new Date()); // codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule()); // codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule()); // RevisionValueObject rvObj = this.getNextRevision(fromBo.getBtmName(), fromBo.getNameoid(), item.revRuleName, item.revInput, revisionVal); // codeCls_template_insert.setRevisionSeq(rvObj.getRevisionSeq()); // codeCls_template_insert.setRevisionValue(rvObj.getRevisionVal()); // clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, ""); codeCls_template_insert.setOid(VciBaseUtil.getPk()); codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk()); codeCls_template_insert.setNameOid(codeCls_template.getNameOid()); codeCls_template_insert.setBtmname(codeCls_template.getBtmname()); codeCls_template_insert.setLastR(String.valueOf(1)); codeCls_template_insert.setFirstR(String.valueOf(0)); codeCls_template_insert.setFirstV(String.valueOf(1)); codeCls_template_insert.setLastV(String.valueOf(1)); codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName()); codeCls_template_insert.setCreateTime(new Date()); codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName()); codeCls_template_insert.setLastModifyTime(new Date()); codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule()); codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule()); Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid()); codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString())); codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString()); // VersionValueObject versionObj = this.getVersionValue(item.verRuleName); // codeCls_template_insert.setVersionSeq(versionObj.getVersionSeq()); // codeCls_template_insert.setVersionValue(versionObj.getVersionVal()); // codeCls_template_insert.setLctId(codeCls_template.getLctId()); // codeCls_template_insert.setLcStatus(this.getLcFirstStatus(item.lifeCycle)); // codeCls_template_insert.setId(codeCls_template.getId()); // codeCls_template_insert.setName(codeCls_template.getName()); // codeCls_template_insert.setDescription(codeCls_template.getDescription()); // codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName()); //// codeCls_template_insert.setCheckinBy(userName); // codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString())); codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString()); codeCls_template_insert.setLctid(codeCls_template.getLctid()); codeCls_template_insert.setLcStatus("Editing"); codeCls_template_insert.setId(codeCls_template.getId()); codeCls_template_insert.setName(codeCls_template.getName()); codeCls_template_insert.setDescription(codeCls_template.getDescription()); codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName()); // codeCls_template_insert.setCheckinBy(userName); codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); // }catch (VCIError e){ // e.printStackTrace(); // logger.error("===============>å类模æ¿-åçå¤å¶åºéoidï¼ "+templateOldOid+",mes"+e.error_message); // return BaseResult.error("åçåºé"); // } // // // CodeClassifyTemplateDO codeClassifyTemplateDO = new CodeClassifyTemplateDO(); int insertCount = baseMapper.insert(codeCls_template_insert); // CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); // BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyDTO,codeClassifyTemplateDO); // WebUtil.copyValueToObjectFromCbos(clientBusinessObject_template_insert,codeClassifyTemplateDO); // //modify by weidy@2022-2-27 // //åçåä¸è½ä½¿ç¨insertæ¹æ³ï¼å 为é£ä¸ªæ°¸è¿æ¯æ°å¢ä¸æ¡æ°æ®ï¼ // //䏿¹å ä»dto转ç»doï¼ç¶åæåççåå§åç屿§æ·è´ç»doï¼æååä»doæ·è´å°cboä¸ //modify by weidy@2022-2-27 //åçåä¸è½ä½¿ç¨insertæ¹æ³ï¼å 为é£ä¸ªæ°¸è¿æ¯æ°å¢ä¸æ¡æ°æ®ï¼ //䏿¹å ä»dto转ç»doï¼ç¶åæåççåå§åç屿§æ·è´ç»doï¼æååä»doæ·è´å°cboä¸ // WebUtil.copyValueToCboFromObj(clientBusinessObject_template_insert,codeClassifyTemplateDO); // //åçè¿åçæ¨¡æ¿oid // String templateNewOid = codeClassifyTemplateDO.getOid(); // // //éè¦å¤å¶ç模æ¿å±æ§ // //æ¥è¯¢è模æ¿ä¸è¾¹çææå±æ§ï¼èµå¼æ°æ¨¡æ¿oid //åçè¿åçæ¨¡æ¿oid String templateNewOid = codeCls_template_insert.getOid(); //éè¦å¤å¶ç模æ¿å±æ§ //æ¥è¯¢è模æ¿ä¸è¾¹çææå±æ§ï¼èµå¼æ°æ¨¡æ¿oid // VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid); Map<String,Object> condition = new HashMap<>(1); condition.put("classifyTemplateOid",templateOldOid); List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); // List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); // for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO :codeClassifyTemplateAttrDOList){ for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){ // String attrOid = VciBaseUtil.getPk(); // codeClassifyTemplateAttrDO.setOid(attrOid); // codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid); // } // // //å¤å¶æ¨¡æ¿æµç¨ // List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); // // //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ // Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); // // List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhaseDO>)phase_attrMap.get("phase");//模æ¿é¶æ®µ // List<CodePhaseAttrDO> codePhaseAttrDOList = (ArrayList<CodePhaseAttrDO>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ // // //å¤å¶æ¨¡æ¿æé® // List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid); // // //ä¸èµ·ä¿åæ°æ® codeClassifyTemplateAttrDO.setOid(null); codeClassifyTemplateAttrDO.setClassifytemplateoid(templateNewOid); codeClstempattrMapper.insert(codeClassifyTemplateAttrDO); } //å¤å¶æ¨¡æ¿æµç¨ List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//模æ¿é¶æ®µ List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ //å¤å¶æ¨¡æ¿æé® List<CodeTempbuttonEntity> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid); //ä¸èµ·ä¿åæ°æ® // WebUtil.setPersistence(false);//䏿§è¡ä¿å // //ä¿åæ¨¡æ¿ //ä¿åæ¨¡æ¿ // BatchCBO batchCBOTemplate = new BatchCBO(); // //batchCBOä¿åçæ¶åæ²¡æè½å¤èªå¨updateæºæ°æ®çisLastR // //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); // //使ç¨saveRevisionBuisnessObjectå¯ä»¥è§£å³è¿ä¸ªé®é¢ï¼è¿éå ææ¶æ§è¡ä¸¤æ¬¡ä¿å //batchCBOä¿åçæ¶åæ²¡æè½å¤èªå¨updateæºæ°æ®çisLastR //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); //使ç¨saveRevisionBuisnessObjectå¯ä»¥è§£å³è¿ä¸ªé®é¢ï¼è¿éå ææ¶æ§è¡ä¸¤æ¬¡ä¿å // try { // clientBusinessObjectOperation.saveRevisionBuinessObject(clientBusinessObject_template_insert); // } catch (VCIError vciError) { // throw new VciBaseException("åçä¿ååºéäº",new String[0],vciError); // } // // end --modify by lihang @20220408 // //codeClassifyTemplateMapper.insert(codeClassifyTemplateDO); // //ä¿å模æ¿å±æ§ // end --modify by lihang @20220408 //codeClassifyTemplateMapper.insert(codeClassifyTemplateDO); //ä¿å模æ¿å±æ§ // if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOList)){ // BatchCBO batchCBOTemplateAttr = codeClassifyTemplateAttrDaoI.batchInsert(codeClassifyTemplateAttrDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplateAttr); @@ -572,8 +600,432 @@ // WebUtil.setPersistence(true);//æ§è¡ä¿å // // boService.persistenceBatch(batchCBOTemplate);//ä¸èµ·æ§è¡ä¿å // // return BaseResult.success("åçæåï¼"); return R.success("åçæåï¼"); } @Override @Transactional public R copyTemplate(CodeClstemplateDTO codeClassifyDTO) { //æ§ç模æ¿oid String oldOid = codeClassifyDTO.getOid(); //æ°ç模æ¿oid String newOid = VciBaseUtil.getPk(); //åç±»oid,å¤å¶è¿æ¥çæ°çåç±»oid String codeClassifyOid = codeClassifyDTO.getCodeClassifyOid(); //å¤å¶æ¨¡æ¿ CodeClstemplateEntity codeClassifyTemplateDO_old = baseMapper.selectById(oldOid);//æ§æ¨¡æ¿ //éªè¯ï¼ä¸å¡ç±»åæ¯ä¸æ¯ä¸è´ CodeClassify codeClassifyDO_old = codeClassifyService.selectBtmOrParentBtm(codeClassifyTemplateDO_old.getCodeClassifyOid()); if(codeClassifyDO_old==null){ return R.fail("å¤å¶çæ¨¡æ¿æå±å类以åä¸çº§æ²¡æä¸å¡ç±»åï¼è¯·éæ°éæ©!"); } //æ¾å½ååç±»ä¸çä¸å¡ç±»å CodeClassify codeClassifyDO_new = codeClassifyService.selectBtmOrParentBtm(codeClassifyOid); if(codeClassifyDO_new==null){ return R.fail("å½åå类没æä¸å¡ç±»åï¼è¯·éæ°éæ©!"); } if(!codeClassifyDO_old.getBtmTypeId().equals(codeClassifyDO_new.getBtmTypeId())){ return R.fail("éæ©çåç±»åå½ååç±»ä¸å¡ç±»åä¸ä¸è´ï¼è¯·éæ°éæ©!"); } codeClassifyTemplateDO_old.setId(codeClassifyDTO.getId());//è±æåç§° codeClassifyTemplateDO_old.setName(codeClassifyDTO.getName());//䏿åç§° codeClassifyTemplateDO_old.setDescription(codeClassifyDTO.getDescription());//æè¿° codeClassifyTemplateDO_old.setCodeClassifyOid(codeClassifyOid);//åç±»oid codeClassifyTemplateDO_old.setOid(newOid); List<CodeClstemplateEntity> codeClassifyTemplateDOList = new ArrayList<CodeClstemplateEntity>(); codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old); //å¤å¶æ¨¡æ¿å±æ§ List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid); //å¤å¶æ¨¡æ¿æµç¨ List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid); //å¤å¶æ¨¡æ¿é¶æ®µï¼é¶æ®µå±æ§ Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid); List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//模æ¿é¶æ®µ List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//é¶æ®µå±æ§ //å¤å¶æ¨¡æ¿æé® List<CodeTempbuttonEntity> codeClassifyTemplateButtonDOList = copyTemplateButton(oldOid,newOid); // baseMapper.insert(codeClassifyTemplateDOList); this.saveBatch(codeClassifyTemplateDOList); codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList); codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList); codeClstempattrService.saveBatch(codeClassifyTemplateAttrDOList); codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList); codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList); //ä¸èµ·ä¿åæ°æ® // WebUtil.setPersistence(false);//䏿§è¡ä¿å // //ä¿åæ¨¡æ¿ // BatchCBO batchCBOTemplate = codeClassifyTemplateMapper.batchInsert(codeClassifyTemplateDOList); // //ä¿å模æ¿å±æ§ // if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOList)) { // BatchCBO batchCBOTemplateAttr = codeClassifyTemplateAttrDaoI.batchInsert(codeClassifyTemplateAttrDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplateAttr); // } // // //ä¿åæ¨¡æ¿æµç¨ // if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) { // BatchCBO batchCBOTemplateProcessAttr = codeClassifyProcessTempDaoI.batchInsert(codeClassifyProcessTempDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplateProcessAttr); // } // // //模æ¿é¶æ®µ // if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) { // BatchCBO batchCBOTemplatePhaseAttr = codeTemplatePhaseDaoI.batchInsert(codeClassifyPhaseDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttr); // } // // //模æ¿é¶æ®µå±æ§ // if(!CollectionUtils.isEmpty(codePhaseAttrDOList)) { // BatchCBO batchCBOTemplatePhaseAttrAttr = codePhaseAttrDaoI.batchInsert(codePhaseAttrDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttrAttr); // } // // //æ¨¡æ¿æé® // if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOList)) { // BatchCBO batchCBOTemplateButtonAttr = codeClassifyTemplateButtonDaoI.batchInsert(codeClassifyTemplateButtonDOList); // batchCBOTemplate.copyFromOther(batchCBOTemplateButtonAttr); // } // // // WebUtil.setPersistence(true);//æ§è¡ä¿å // // boService.persistenceBatch(batchCBOTemplate);//ä¸èµ·æ§è¡ä¿å return R.success("å¤å¶æåï¼"); } private HashMap<String,Object> getVersionValue(int verRuleName) { HashMap<String,Object> obj = new HashMap<>(2); obj.put("VersionSeq",1); if (verRuleName == 0) { obj.put("VersionVal","1"); } else if (verRuleName == 1) { obj.put("VersionVal","a"); } else if (verRuleName == 2) { obj.put("VersionVal","0"); } return obj; } /** * å¤å¶æ¨¡æ¿æµç¨ */ public List<CodeClsflowtempEntity> copyTemplateProcess(String templateOldOid,String templateNewOid){ // VciQueryWrapperForDO processWrapper = new VciQueryWrapperForDO(CodeClassifyProcessTempDO.class); // processWrapper.addQueryMap("classifyTemplateOid",templateOldOid); Map<String,Object> condition = new HashMap<>(1); condition.put("classifyTemplateOid",templateOldOid); List<CodeClsflowtempEntity> codeClsflowtempEntities = codeClsflowtempMapper.selectByMap(condition); // List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = codeClassifyProcessTempDaoI.selectByWrapper(processWrapper);//è¦ä¿åçæ°çæ¨¡æ¿æµç¨ for (CodeClsflowtempEntity codeClassifyProcessTempDO:codeClsflowtempEntities){ // String newOid = VciBaseUtil.getPk(); codeClassifyProcessTempDO.setOid(null); //codeClassifyProcessTempDO.setCodeClassifyOid(templateNewOid); codeClassifyProcessTempDO.setClassifytemplateoid(templateNewOid); // codeClsflowtempMapper.insert(codeClassifyProcessTempDO); //modify by lihang - @20220406 设置模æ¿ä¸»é®ä½ç½®åºéï¼å¯¼è´åççæ¨¡æ¿ä¸çæµç¨æ¯ç©ºçã } return codeClsflowtempEntities; } /** * å¤å¶æ¨¡æ¿é¶æ®µï¼æ¨¡æ¿å±æ§ * @param templateOldOid * @param templateNewOid * @return map phase:(List<CodeTemplatePhaseDO>) phaseAttr:(List<CodePhaseAttrDO>) */ public Map copyTemplatePhase_attr(String templateOldOid,String templateNewOid){ //模æ¿é¶æ®µ // VciQueryWrapperForDO phaseWrapper = new VciQueryWrapperForDO(CodeTemplatePhaseDO.class); // phaseWrapper.addQueryMap("codeClassifyTemplateOid",templateOldOid); Map<String,Object> condition = new HashMap<>(1); condition.put("codeclassifyTemplateOid",templateOldOid); List<CodeTempphaseEntity> codeTempphaseEntities = codeTempphaseMapper.selectByMap(condition); // List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = codeTemplatePhaseDaoI.selectByWrapper(phaseWrapper);//è¦ä¿åçæ°çæ¨¡æ¿æµç¨ Map<String,String> phaseKeyMap = new HashMap<String,String>();//éè¦å¤å¶ç模æ¿é¶æ®µå±æ§,key:value,模æ¿é¶æ®µèoid:模æ¿å±æ§æ°oid List<String> phaseOidList = new ArrayList<String>(); for (CodeTempphaseEntity codeTemplatePhaseDO:codeTempphaseEntities){ String oldoid = codeTemplatePhaseDO.getOid(); String newOid = VciBaseUtil.getPk(); codeTemplatePhaseDO.setOid(newOid); codeTemplatePhaseDO.setCodeclassifytemplateoid(templateNewOid); phaseKeyMap.put(oldoid,newOid); phaseOidList.add(oldoid); } //模æ¿é¶æ®µç屿§ List<CodePhaseattrEntity> codePhaseAttrDOList = new ArrayList<CodePhaseattrEntity>(); if(!CollectionUtils.isEmpty(phaseOidList)){//size()==0ä¸è¾¹æ¹æ³ä¼æ¥é // Map<String,String> conditionMap = new HashMap<>(); // conditionMap.put("codephaseoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(phaseOidList.toArray(new String[0])) + ")"); // codePhaseAttrDOList = codePhaseAttrDaoI.selectByCondition(conditionMap,new PageHelper(-1)); codePhaseAttrDOList = codePhaseattrMapper.selectByPhaseaIds(VciBaseUtil.toInSql(phaseOidList.toArray(new String[0]))); } for (CodePhaseattrEntity codePhaseAttrDO:codePhaseAttrDOList){ String oldPhaseoid = codePhaseAttrDO.getCodephaseoid(); // String newOid = VciBaseUtil.getPk(); codePhaseAttrDO.setOid(null); codePhaseAttrDO.setCodephaseoid(phaseKeyMap.get(oldPhaseoid)); // codePhaseattrMapper.insert(codePhaseAttrDO); } Map phaseMap = new HashMap(); phaseMap.put("phase",codeTempphaseEntities); phaseMap.put("phaseAttr",codePhaseAttrDOList); return phaseMap; } /** * å¤å¶æ¨¡æ¿æé® */ public List<CodeTempbuttonEntity> copyTemplateButton(String templateOldOid,String templateNewOid){ Map<String,Object> condition = new HashMap<>(1); condition.put("classifyTemplateOid",templateOldOid); // VciQueryWrapperForDO buttonWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateButtonDO.class); // buttonWrapper.addQueryMap("classifyTemplateOid",templateOldOid); List<CodeTempbuttonEntity> codeTempbuttonEntities = codeTempbuttonMapper.selectByMap(condition); // List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = codeClassifyTemplateButtonDaoI.selectByWrapper(buttonWrapper); for (CodeTempbuttonEntity codeClassifyTemplateButtonDO:codeTempbuttonEntities){ // String newOid = VciBaseUtil.getPk(); codeClassifyTemplateButtonDO.setOid(null); codeClassifyTemplateButtonDO.setClassifytemplateoid(templateNewOid); } return codeTempbuttonEntities; } /** * å¤å¶æ¨¡æ¿å±æ§ */ public List<CodeClstempattrEntity> copyTemplateAttr(String templateOldOid,String templateNewOid){ // VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); // codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid); Map<String,Object> condition = new HashMap<>(1); condition.put("classifyTemplateOid",templateOldOid); // List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){ // String attrOid = VciBaseUtil.getPk(); codeClassifyTemplateAttrDO.setOid(null); codeClassifyTemplateAttrDO.setClassifytemplateoid(templateNewOid); // codeClstempattrMapper.insert(codeClassifyTemplateAttrDO); } return codeClstempattrEntities; } /** * å类模æ¿å表 * * @param plCodeClstemplate æ¥è¯¢æ¡ä»¶ * @param query å页对象 * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ */ @Override public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query) throws VciBaseException { DataGrid<CodeClstemplateVO> dataGrid=new DataGrid<CodeClstemplateVO>(); //没æä¼ åç±»idï¼ä¸æ§è¡æ¥è¯¢é»è¾ï¼ç´æ¥è¿å // if(conditionMap.size()==0){ // dataGrid.setData(new ArrayList<>()); // dataGrid.setTotal(0); // return dataGrid; // } // if (pageHelper == null) { // pageHelper = new PageHelper(-1); // } // pageHelper.addDefaultDesc("revisionSeq"); List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), plCodeClstemplate); if (!CollectionUtils.isEmpty(doList)) { // QueryWrapper<CodeClstemplateVO> codeClstemplateVOQueryWrapper = new QueryWrapper<>(); // codeClstemplateVOQueryWrapper.allEq(plCodeClstemplate); List<CodeClstemplateEntity> codeClstemplateEntity = new ArrayList<>(); BeanUtils.copyProperties(doList,codeClstemplateEntity); dataGrid.setData(codeClassifyTemplateDO2VOs(codeClstemplateEntity)); dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClstemplateMapper.selectCount(Condition.getQueryWrapper(plCodeClstemplate))))); } return dataGrid; } /** * å¢å å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿ è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ */ @Override public R<CodeClstemplateVO> addSave(CodeClstemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"éè¦æ·»å çæ°æ®å¯¹è±¡"); //å°DTO转æ¢ä¸ºDO CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDO); //æ¥è¯¢å类以åä¸çº§åç±»çä¸å¡ç±»åbtmtypeidãbtmtypename List<CodeClassify> codeClassifyDOList = codeClassifyService.selectAllLevelParents(codeClassifyTemplateDTO.getCodeClassifyOid()); //ææåç±»é½æ²¡æä¸å¡ç±»åï¼è¿åæç¤º if(codeClassifyDOList.size()==0){ return R.fail("æ·»å æ¨¡æ¿æ·»å 失败,åç±»åä¸çº§åç±»é½æ²¡æå ³èä¸å¡ç±»åï¼"); } //设置btmtypeidåname CodeClassify codeClassifyDO = codeClassifyDOList.get(0); codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId()); codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName()); codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING); codeClassifyTemplateDO.setTs(new Date()); codeClassifyTemplateDO.setOwner(AuthUtil.getUser().getUserName()); codeClassifyTemplateDO.setLctid("codeClsTempLc"); codeClassifyTemplateDO.setVersionValue("1"); codeClassifyTemplateDO.setVersionSeq(1); codeClassifyTemplateDO.setRevisionValue("1"); codeClassifyTemplateDO.setRevisionSeq(1); codeClassifyTemplateDO.setVersionRule("0"); codeClassifyTemplateDO.setRevisionRule("numberversionrule"); codeClassifyTemplateDO.setLastModifyTime(new Date()); codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName()); codeClassifyTemplateDO.setCreator(AuthUtil.getUser().getUserName()); codeClassifyTemplateDO.setCreateTime(new Date()); codeClassifyTemplateDO.setLastV("1"); codeClassifyTemplateDO.setLastR("1"); codeClassifyTemplateDO.setFirstV("1"); codeClassifyTemplateDO.setFirstR("1"); codeClassifyTemplateDO.setBtmname("codeclstemplate"); baseMapper.insert(codeClassifyTemplateDO); //é»è®¤æ·»å 模æ¿å±æ§ // List<CodeClassifyTemplateAttrDO> attrDOList = new ArrayList<>(); // CodeClassifyTemplateAttrDO codeAttr = new CodeClassifyTemplateAttrDO(); // codeAttr.setId("id"); // codeAttr.setName("ä¼ä¸ç¼ç "); // codeAttr.setAttributeDataType("VTString"); // codeAttr.setAttrTableWidth(150); // codeAttr.setOrderNum(1); // codeAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); // codeAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); // codeAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); // attrDOList.add(codeAttr); // // // CodeClassifyTemplateAttrDO groupAttr = new CodeClassifyTemplateAttrDO(); // groupAttr.setId("name"); // groupAttr.setName("éå¢ç "); // groupAttr.setAttributeDataType("VTString"); // groupAttr.setAttrTableWidth(150); // groupAttr.setOrderNum(2); // groupAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); // groupAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); // groupAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); // attrDOList.add(groupAttr); // // CodeClassifyTemplateAttrDO descAttr = new CodeClassifyTemplateAttrDO(); // descAttr.setId("description"); // descAttr.setName("æè¿°"); // descAttr.setAttrTableWidth(150); // descAttr.setAttributeDataType("VTString"); // descAttr.setOrderNum(3); // descAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); // descAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); // descAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); // attrDOList.add(descAttr); // // CodeClassifyTemplateAttrDO statusAttr = new CodeClassifyTemplateAttrDO(); // statusAttr.setId("lcstatus"); // statusAttr.setName("ç¶æ"); // statusAttr.setAttrTableWidth(70); // statusAttr.setOrderNum(4); // statusAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); // statusAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); // statusAttr.setAttributeDataType("VTString"); // statusAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); // attrDOList.add(statusAttr); // // // CodeClassifyTemplateAttrDO secAttr = new CodeClassifyTemplateAttrDO(); // secAttr.setId("secretgrade"); // secAttr.setName("å¯çº§"); // secAttr.setAttrTableWidth(70); // secAttr.setAttributeDataType(VciFieldTypeEnum.VTInteger.name()); // secAttr.setEnumId("Enumsecretgrade"); // secAttr.setEnumName("å¯çº§"); // secAttr.setOrderNum(4); // secAttr.setFormDisplayFlag(BooleanEnum.TRUE.getValue()); // secAttr.setTableDisplayFlag(BooleanEnum.TRUE.getValue()); // secAttr.setClassifyTemplateOid(codeClassifyTemplateDO.getOid()); // attrDOList.add(secAttr); return R.data(codeClassifyTemplateDO2VO(codeClassifyTemplateDO)); } /** * ä¿®æ¹å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ * @throws VciBaseException åæ°ä¸ºç©ºï¼å¯ä¸é¡¹ï¼å¿ è¾é¡¹ä¸éè¿æ¶ä¼æåºå¼å¸¸ */ @Override public R editSave(CodeClstemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"æ°æ®å¯¹è±¡",codeClassifyTemplateDTO.getOid(),"å类模æ¿å¯¹è±¡ä¸»é®"); //æ£æ¥ts CodeClstemplateEntity codeClassifyTemplateDOCopyFromDTO = new CodeClstemplateEntity(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDOCopyFromDTO); CodeClstemplateEntity codeClassifyTemplateDO = null; if(codeClassifyTemplateDOCopyFromDTO.getOid() == null){ baseMapper.insert(codeClassifyTemplateDOCopyFromDTO); return R.data(codeClassifyTemplateDOCopyFromDTO); }else{ // Map<String,Object> condition = new HashMap<>(2); // condition.put("oid",codeClassifyTemplateDOCopyFromDTO.getOid()); // condition.put("ts",codeClassifyTemplateDOCopyFromDTO.getTs()); CodeClstemplateEntity detail = baseMapper .selectById(codeClassifyTemplateDOCopyFromDTO.getOid()); // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO); if(detail.getTs().compareTo(codeClassifyTemplateDOCopyFromDTO.getTs()) != 0){//䏿¯ææ°çä¸è®©æ¹ return R.fail("å½åæ°æ®ä¸æ¯ææ°ï¼è¯·å·æ°ååä¿®æ¹ï¼"); } //å°DTO转æ¢ä¸ºDO codeClassifyTemplateDO = selectByOid(codeClassifyTemplateDTO.getOid()); String lcstatus = codeClassifyTemplateDO.getLcStatus(); String versionvalue = codeClassifyTemplateDO.getVersionValue(); //åªæç¼è¾ä¸æè½ä¿®æ¹ if(!CodeClassifyTemplateLC.EDITING.getValue().equals(codeClassifyTemplateDO.getLcStatus())){ return R.fail("åªæç¼è¾ä¸çï¼æ¨¡æ¿æè½ä¿®æ¹ï¼"); } revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateDTO,codeClassifyTemplateDO); //ä¸ä¿®æ¹çæ¬å·åç¶æ codeClassifyTemplateDO.setLcStatus(lcstatus); codeClassifyTemplateDO.setVersionValue(versionvalue); codeClassifyTemplateDO.setTs(new Date()); codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName()); codeClassifyTemplateDO.setLastModifyTime(new Date()); baseMapper.updateById(codeClassifyTemplateDO); } return R.data(codeClassifyTemplateDO2VO(codeClassifyTemplateDO)); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java
@@ -18,12 +18,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.entity.CodeClstempattrEntity; import com.vci.ubcs.code.entity.CodePhaseattrEntity; import com.vci.ubcs.code.entity.CodeTempphaseEntity; import com.vci.ubcs.code.mapper.CodePhaseattrMapper; import com.vci.ubcs.code.mapper.CodeTempphaseMapper; import com.vci.ubcs.code.service.ICodeTempphaseService; import com.vci.ubcs.code.vo.CodeTempphaseVO; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -45,6 +47,8 @@ @Autowired(required = false) private CodePhaseattrMapper codePhaseattrMapper; @Autowired(required = false) private CodePhaseattrServiceImpl codePhaseattrServiceImpl; @Override public IPage<CodeTempphaseVO> selectCodeTempphasePage(IPage<CodeTempphaseVO> page, CodeTempphaseVO CodeTempphase) { @@ -61,7 +65,7 @@ public int codeTemplateDeleteTrigger(String templateOid) { int updateCount = 0; Map<String,Object> condition = new HashMap<>(1); condition.put("classifyTemplateOid",templateOid); condition.put("codeclassifytemplateoid",templateOid); List<CodeTempphaseEntity> codeTempphaseEntities = baseMapper.selectByMap(condition); if(!CollectionUtils.isEmpty(codeTempphaseEntities)) { updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTempphaseEntity::getOid).collect(Collectors.toList())); @@ -74,5 +78,35 @@ } return updateCount; } /** * 模æ¿ä¿®æ¹è§¦ååè½ * @param attrDOList 屿§çæ°æ®å¯¹è±¡ * @return åå½±åçæ°æ® */ @Override public List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> attrDOList){ //屿§ä¿®æ¹çæ¶åï¼éè¦åæ¥ä¿®æ¹å¯¹åºå±æ§çåç§° // BatchCBO batchCBO = new BatchCBO(); List<CodePhaseattrEntity> phaseAttrDOS =codePhaseattrMapper.listLinkAttrDOByTemplateAttrDOS(VciBaseUtil.toInSql(attrDOList.stream() .map(CodeClstempattrEntity::getId).collect(Collectors.toList()).toArray(new String[0])),attrDOList.get(0).getClassifytemplateoid()); if(!CollectionUtils.isEmpty(phaseAttrDOS)){ //说ææå±æ§,æä»¬å»æ¿æ¢ä¸ä¸ Map<String, CodeClstempattrEntity> attrDOMap = attrDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); phaseAttrDOS.stream().forEach(phaseAttrDO->{ if(attrDOMap.containsKey(phaseAttrDO.getId())){ CodeClstempattrEntity attrDO = attrDOMap.get(phaseAttrDO.getId()); phaseAttrDO.setId(attrDO.getId()); phaseAttrDO.setName(attrDO.getName()); phaseAttrDO.setAttributegroup(attrDO.getAttributegroup()); } }); // codePhaseattrMapper. codePhaseattrServiceImpl.saveBatch(phaseAttrDOS); // BatchCBO updateCBO = // codePhaseAttrMapper.batchUpdate(phaseAttrDOS); // batchCBO.copyFromOther(updateCBO); } return attrDOList; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java
@@ -18,14 +18,9 @@ import com.vci.ubcs.code.entity.CodeButtonEntity; import com.vci.ubcs.code.vo.CodeButtonVO; import com.vci.ubcs.system.cache.DictBizCache; import com.vci.ubcs.system.cache.DictCache; import com.vci.ubcs.system.enums.DictEnum; import com.vci.ubcs.omd.cache.DictCache; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springframework.boot.autoconfigure.security.SecurityProperties; import java.util.List; import java.util.Objects; @@ -45,8 +40,8 @@ @Override public CodeButtonVO entityVO(CodeButtonEntity codebutton) { CodeButtonVO codebuttonVO = Objects.requireNonNull(BeanUtil.copy(codebutton, CodeButtonVO.class)); codebuttonVO.setUsedpositiontypeName(DictBizCache.getValue("codeButtonPosition", codebutton.getUsedpositiontype())); codebuttonVO.setLcstatusName(DictBizCache.getValue("codeLcstatus", codebutton.getLcstatus())); codebuttonVO.setUsedpositiontypeName(DictCache.getValue("codeButtonPosition", codebutton.getUsedpositiontype())); codebuttonVO.setLcstatusName(DictCache.getValue("codeLcstatus", codebutton.getLcstatus())); return codebuttonVO; } Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -153,4 +153,12 @@ where a.paths = #{fieldPath} </select> <select id="selectAllLevelParents" resultType="java.util.HashMap"> select oid, id, name, btmtypeid, btmtypename from PL_CODE_CLASSIFY where btmtypeid is not null start with oid = #{oid} connect by prior PARENTCODECLASSIFYOID = oid </select> </mapper> Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClsflowtempMapper.xml
@@ -8,7 +8,7 @@ <result column="REVISIONOID" property="revisionOid"/> <result column="NAMEOID" property="nameOid"/> <result column="BTMNAME" property="btmname"/> <result column="ISLASTR" property="islastr"/> <result column="LASTR" property="lastR"/> <result column="FIRSTR" property="firstR"/> <result column="LASTV" property="lastV"/> <result column="FIRSTV" property="firstV"/> Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstempattrMapper.xml
@@ -85,79 +85,17 @@ <select id="selectCodeClstempattrPage" resultMap="CodeClstempattrResultMap"> select * from PL_CODE_CLSTEMPATTR where is_deleted = 0 select * from PL_CODE_CLSTEMPATTR where 1=1 </select> <select id="selectByClassifytemplateoid" resultMap="CodeClstempattrResultMap"> select * from PL_CODE_CLSTEMPATTR where classifytemplateoid in (${classifytemplateoid}) </select> <select id="selectRefByOid" resultType="com.vci.ubcs.code.entity.CodeClstempattrEntity"> select codeclstempattr0.EXPLAIN as explain, codeclstempattr0.SAMEREPEATATTRFLAG as samerepeatattrflag, codeclstempattr0.LASTMODIFIER as lastmodifier, codeclstempattr0.ATTRTABLEWIDTH as attrtablewidth, codeclstempattr0.CONTROLLENGTH as controllength, codeclstempattr0.CLASSIFYTEMPLATEOID as classifytemplateoid, codeclstempattr0.VERIFYRULE as verifyrule, codeclstempattr0.ENUMNAME as enumname, codeclstempattr0.TABLEDISPLAYFLAG as tabledisplayflag, codeclstempattr0.PARENTQUERYATTR as parentqueryattr, codeclstempattr0.ID as id, codeclstempattr0.FILTERSOURCEATTRNAME as filtersourceattrname, codeclstempattr0.VALUEAREA as valuearea, codeclstempattr0.TABLEDISPLAYSTYLE as tabledisplaystyle, codeclstempattr0.TABLEDISPLAYJS as tabledisplayjs, codeclstempattr0.FORMDISPLAYFLAG as formdisplayflag, codeclstempattr0.DEFAULTVALUE as defaultvalue, codeclstempattr0.FORMHREF as formhref, codeclstempattr0.BTMNAME as btmname, codeclstempattr0.READONLYFLAG as readonlyflag, codeclstempattr0.NAME as name, codeclstempattr0.COMPONENTRULE as componentrule, codeclstempattr0.SORTATTRFLAG as sortattrflag, codeclstempattr0.REFERBTMNAME as referbtmname, codeclstempattr0.ENUMID as enumid, codeclstempattr0.FORMDISPLAYSTYLE as formdisplaystyle, codeclstempattr0.SCALELENGTH as scalelength, codeclstempattr0.PARENTNAME as parentname, codeclstempattr0.PRECISIONLENGTH as precisionlength, codeclstempattr0.PREFIXVALUE as prefixvalue, codeclstempattr0.FILTERSOURCEATTR as filtersourceattr, codeclstempattr0.TEXTAREAFLAG as textareaflag, codeclstempattr0.BARCODEFLAG as barcodeflag, codeclstempattr0.DESCRIPTION as description, codeclstempattr0.KEYATTRFLAG as keyattrflag, codeclstempattr0.QRCODEFLAG as qrcodeflag, codeclstempattr0.OID as oid, codeclstempattr0.CLASSIFYINVOKELEVEL as classifyinvokelevel, codeclstempattr0.CLASSIFYINVOKEATTRNAME as classifyinvokeattrname, codeclstempattr0.CLASSIFYINVOKEATTR as classifyinvokeattr, codeclstempattr0.REFERBTMID as referbtmid, codeclstempattr0.CLASSIFYINVOKEEDITFLAG as classifyinvokeeditflag, codeclstempattr0.CODEDATEFORMAT as codedateformat, codeclstempattr0.SENIORQUERYATTRFLAG as seniorqueryattrflag, codeclstempattr0.OWNER as owner, codeclstempattr0.ATTRIBUTEDATATYPE as attributedatatype, codeclstempattr0.CREATOR as creator, codeclstempattr0.CREATETIME as createtime, codeclstempattr0.ENUMEDITFLAG as enumeditflag, codeclstempattr0.ATTRIBUTEGROUP as attributegroup, codeclstempattr0.PARENTCODE as parentcode, codeclstempattr0.SUFFIXVALUE as suffixvalue, codeclstempattr0.ORDERNUM as ordernum, codeclstempattr0.REFERCONFIG as referconfig, codeclstempattr0.REQUIREFLAG as requireflag, codeclstempattr0.LIBRARYIDENTIFICATION as libraryidentification, codeclstempattr0.ENUMSTRING as enumstring, codeclstempattr0.IMAGEFLAG as imageflag, codeclstempattr0.LASTMODIFYTIME as lastmodifytime, codeclstempattr0.TABLEHREF as tablehref, codeclstempattr0.QUERYATTRFLAG as queryattrflag, codeclstempattr0.TS as ts, classifytemplateoid.name as classifyTemplateOidName from platformbtm_codeclstempattr codeclstempattr0 left join platformbtm_codeclstemplate classifytemplateoid <select id="selectRefByOid" resultMap="CodeClstempattrResultMap"> select codeclstempattr0.OID as oid from PL_CODE_CLSTEMPATTR codeclstempattr0 left join PL_CODE_CLSTEMPLATE classifytemplateoid on codeclstempattr0.classifyTemplateOid = classifytemplateoid.oid where codeclstempattr0.classifytemplateoid = #{oid} </select> Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstemplateMapper.xml
@@ -37,7 +37,7 @@ <select id="selectPlCodeClstemplatePage" resultMap="plCodeClstemplateResultMap"> select * from PL_CODE_CLSTEMPLATE where is_deleted = 0 select * from PL_CODE_CLSTEMPLATE where is_deleted = 0 order by revisionSeq </select> <select id="selectAllLevelChildOid" resultType="java.lang.String" > @@ -45,7 +45,57 @@ </select> <select id="countAllLevelChildOid" resultType="java.lang.Integer" > select count(OID) countsize from platformbtm_codeclstemplate START WITH codeClassifyOid = #{oid} CONNECT BY PRIOR codeClassifyOid = OID select count(OID) countsize from PL_CODE_CLSTEMPLATE START WITH codeClassifyOid = #{oid} CONNECT BY PRIOR codeClassifyOid = OID </select> <select id="getNextRevision" resultType="map" > select max(revisionSeq) + 1 revisionSeq, max(revisionSeq) + 1 revisionVal, max(VersionSeq) + 1 VersionSeq, max(VersionSeq) + 1 VersionVal from PL_CODE_CLSTEMPLATE where nameoid = #{nameoid} </select> <select id="selectCodeClassifyTemplateDOByTree" resultMap="plCodeClstemplateResultMap"> SELECT codeclstemplate0.CODECLASSIFYOID AS codeclassifyoid, codeclstemplate0.LASTMODIFIER AS lastmodifier, codeclstemplate0.REVISIONSEQ AS revisionseq, codeclstemplate0.VERSIONVALUE AS versionvalue, codeclstemplate0.DESCRIPTION AS description, codeclstemplate0.OID AS oid, codeclstemplate0.VERSIONSEQ AS versionseq, --codeclstemplate0.CHECKINBY AS checkinby, codeclstemplate0.BTMTYPENAME AS btmtypename, codeclstemplate0.REVISIONRULE AS revisionrule, codeclstemplate0.ID AS id, codeclstemplate0.OWNER AS owner, --codeclstemplate0.CHECKOUTBY AS checkoutby, codeclstemplate0.BTMTYPEID AS btmtypeid, codeclstemplate0.CREATOR AS creator, codeclstemplate0.CREATETIME AS createtime, codeclstemplate0.FIRSTV AS isfirstv, codeclstemplate0.REVISIONOID AS revisionoid, codeclstemplate0.BTMNAME AS btmname, --codeclstemplate0.CHECKOUTTIME AS checkouttime, codeclstemplate0.REVISIONVALUE AS revisionvalue, codeclstemplate0.VERSIONRULE AS versionrule, codeclstemplate0.NAME AS name, codeclstemplate0.LASTR AS islastr, codeclstemplate0.LASTMODIFYTIME AS lastmodifytime, codeclstemplate0.COPYFROMVERSION AS copyfromversion, codeclstemplate0.NAMEOID AS nameoid, codeclstemplate0.LCSTATUS AS lcstatus, codeclstemplate0.LASTV AS islastv, --codeclstemplate0.CHECKINTIME AS checkintime, codeclstemplate0.FIRSTR AS isfirstr, codeclstemplate0.TS AS ts, codeclassifyoid.name AS codeClassifyOidName FROM PL_CODE_CLSTEMPLATE codeclstemplate0 LEFT JOIN PL_CODE_CLASSIFY codeclassifyoid ON codeclstemplate0.codeClassifyOid = codeclassifyoid.oid WHERE codeclstemplate0.codeclassifyoid = #{codeclassifyoid} and codeclstemplate0.lcstatus = #{lcstatus} AND (codeclstemplate0.lastr = '1' AND codeclstemplate0.lastv = '1') </select> </mapper> Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodePhaseattrMapper.xml
@@ -70,12 +70,87 @@ checkintime, codephaseoid, isfirstr from platformbtm_codephaseattr from PL_CODE_PHASEATTR where codephaseoid in (select oid from platformbtm_codetempphase from PL_CODE_TEMPPHASE where codeClassifyTemplateOid = #{oid}) </select> <select id="selectByPhaseaIds" resultType="com.vci.ubcs.code.entity.CodePhaseattrEntity"> select lastmodifier, revisionseq, versionvalue, description, oid, versionseq, checkinby, revisionrule, lctid, id, owner, checkoutby, creator, createtime, isfirstv, attributegroup, revisionoid, btmname, checkouttime, revisionvalue, versionrule, name, islastr, lastmodifytime, copyfromversion, nameoid, lcstatus, islastv, checkintime, codephaseoid, isfirstr from PL_CODE_PHASEATTR where codephaseoid in (#{oids}) </select> <select id="listLinkAttrDOByTemplateAttrDOS" resultType="com.vci.ubcs.code.entity.CodePhaseattrEntity"> SELECT lastmodifier, revisionseq, versionvalue, description, oid, versionseq, /*checkinby,*/ revisionrule, lctid, id, owner, /*checkoutby, */ creator, createtime, /*is*/ firstv, attributegroup, revisionoid, btmname, /*checkouttime,*/ revisionvalue, versionrule, name, /*is*/ lastr, lastmodifytime, copyfromversion, nameoid, lcstatus, /*is*/ lastv, /*checkintime,*/ codephaseoid, /*is*/ firstr, ts FROM PL_CODE_PHASEATTR where ID IN (#{id}) AND codephaseoid in (select oid from PL_CODE_TEMPPHASE where codeClassifyTemplateOid =#{codeClassifyTemplateOid}) </select> </mapper>