From 373210bde9db79e6cf69ed23b433711d218af846 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 30 十一月 2023 18:32:26 +0800 Subject: [PATCH] 字符集功能添加 --- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java | 35 +++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java | 39 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/字符集.json | 5 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java | 5 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java | 113 +++++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeRuleCharacterWapper.java | 73 +++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeRuleCharacterMapper.xml | 36 +++ Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java | 5 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeRuleCharacterEnum.java | 135 +++++++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeRuleCharacterMapper.java | 7 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java | 59 +++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRuleCharacter.java | 53 +++++ 12 files changed, 565 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRuleCharacter.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRuleCharacter.java new file mode 100644 index 0000000..a161963 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRuleCharacter.java @@ -0,0 +1,53 @@ +package com.vci.ubcs.code.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.vci.ubcs.starter.constant.CodeTableNameConstant; +import com.vci.ubcs.starter.revision.model.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +/** + * 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄 + * + * @author xj + * @date 2023-11-30 + */ +@TableName(CodeTableNameConstant.PL_CODE_RULE_CHARACTER) +@ApiModel(value = "CodeRuleCharacter瀵硅薄", description = "缂栫爜瑙勫垯瀛楃闆�") +@EqualsAndHashCode(callSuper = true) +@Data +public class CodeRuleCharacter extends BaseModel{ + /** + * 绂佹淇敼杩欎釜鍊� + */ + private static final long serialVersionUID = 4615707119066298941L; + /*** + * 鍙樿鍒檕id + */ + @NotBlank(message = "瑙勫垯鐨勪富閿笉鑳戒负绌�") + @ApiModelProperty(value = "瑙勫垯鐨勪富閿笉鑳戒负绌�") + private String codeRuleId; + /** + * 瀛楃闆� + */ + @ApiModelProperty(value = "瀛楃闆�") + private String chartValue; + /*** + * 瀛楃绫诲瀷 + */ + @ApiModelProperty(value = "瀛楃绫诲瀷") + @NotBlank(message = "瀛楃绫诲瀷涓嶈兘涓虹┖") + private String chartType; + + /*** + * 瀛楃绫诲瀷鏄剧ず鍊� + */ + @ApiModelProperty(value = "瀛楃绫诲瀷鏄剧ず鍊�") + @TableField(exist = false) + private String chartTypeText; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java new file mode 100644 index 0000000..74ce347 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java @@ -0,0 +1,35 @@ +package com.vci.ubcs.code.vo.pagemodel; + +import com.vci.ubcs.starter.revision.model.BaseModel; +import lombok.Data; + +/** + * 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄 + * + * @author xj + * @date 2023-11-30 + */ +@Data +public class CodeRuleCharacterVO extends BaseModel { + /** + * 绂佹淇敼杩欎釜鍊� + */ + private static final long serialVersionUID = 4615707119066298949L; + /*** + * 瑙勫垯oid + */ + private String codeRuleId; + /** + * 瀛楃闆� + */ + private String chartValue; + /*** + * 瀛楃绫诲瀷 + */ + private String chartType; + /*** + * 瀛楃绫诲瀷鏄剧ず鍊� + */ + private String chartTypeText; + +} diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\345\255\227\347\254\246\351\233\206.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\345\255\227\347\254\246\351\233\206.json" new file mode 100644 index 0000000..2f0428d --- /dev/null +++ "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\345\255\227\347\254\246\351\233\206.json" @@ -0,0 +1,5 @@ +{ + "codeRuleId": "1729702446013485056", + "chartValue": "abckzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", + "chartType": "charset" +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java index b227b64..74a8a3f 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java @@ -78,6 +78,11 @@ public static final String PL_CODE_RULE = "PL_CODE_RULE"; /** + * 缂栫爜瑙勫垯瀛楃闆� + */ + public static final String PL_CODE_RULE_CHARACTER = "PL_CODE_RULE_CHARACTER"; + + /** * 缂栫爜瑙勫垯鐨勬祦姘村�� */ public static final String PL_CODE_SERIALVALUE = "PL_CODE_SERIALVALUE"; diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java index b6b2664..cb5d649 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/constant/MdmEnumIdConstant.java @@ -80,4 +80,9 @@ * 绯荤粺鎺ュ彛绫诲瀷 */ public static final String SYS_INTEGRATION_LOG_TYPE="sysIntegrationLogType"; + + /*** + * 绯荤粺鎺ュ彛绫诲瀷 + */ + public static final String CODE_RULE_CHARACTER_TYPE="code_rule_character_type"; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java new file mode 100644 index 0000000..a7f08a7 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java @@ -0,0 +1,59 @@ +package com.vci.ubcs.code.controller; + +import com.vci.ubcs.code.service.ICodeRuleCharacterService; +import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/*** + * 瑙勫垯瀛楃闆嗛厤缃� + * @author xj + * @date 2023-11-30 + */ +@RestController +@RequestMapping("/codeRuleCharacterController") +public class CodeRuleCharacterController { + @Resource + private ICodeRuleCharacterService iCodeRuleCharacterService; + /** + * 浣跨敤缂栫爜瑙勫垯oid鑾峰彇鏁版嵁 + * @param codeRuleId 瑙勫垯oid + * @return 鏁版嵁鍐呭 + */ + @GetMapping("/list") + public R<List<Map<String,String>>> getDataByOid(@RequestParam("codeRuleId")String codeRuleId,@RequestParam("chartType")String chartType){ + return R.data(iCodeRuleCharacterService.getDataByRuleId(codeRuleId,chartType)); + } + /** + * 淇濆瓨瑙勫垯瀵硅薄 + * @param codeRuleCharacterVO 瑙勫垯瀛楃瀵硅薄 + * @return 鏁版嵁鍐呭 + */ + @PostMapping("/addSave") + public R addSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + } + /** + * 淇敼瑙勫垯瀵硅薄 + * @param codeRuleCharacterVO 瑙勫垯瀛楃瀵硅薄 + * @return 鏁版嵁鍐呭 + */ + @PostMapping("/editSave") + public R editSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + } + + /** + * 淇敼瑙勫垯瀵硅薄 + * @param codeRuleCharacterVO 瑙勫垯瀛楃瀵硅薄 + * @return 鏁版嵁鍐呭 + */ + @PostMapping("/delete") + public R delete(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeRuleCharacterEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeRuleCharacterEnum.java new file mode 100644 index 0000000..e48ba2b --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeRuleCharacterEnum.java @@ -0,0 +1,135 @@ +package com.vci.ubcs.code.enumpack; + +import com.vci.ubcs.starter.annotation.VciEnum; +import com.vci.ubcs.starter.web.constant.MdmEnumIdConstant; +import com.vci.ubcs.starter.web.enumpck.BaseEnum; + +/** + * 缂栫爜瑙勫垯鐮佹瀛楃鎺у埗绫诲瀷 + * @author weidy + * @date 2022-1-17 + */ +@VciEnum(name = MdmEnumIdConstant.CODE_RULE_CHARACTER_TYPE,text = "缂栫爜瑙勫垯鐮佹瀛楃鎺у埗绫诲瀷",description = "") +public enum CodeRuleCharacterEnum implements BaseEnum { + /** + * 鍙敤瀛楃闆� + */ + CODE_RULE_CHARACTER_CHARSET("charset","鍙敤瀛楃闆�"), + + /** + * 鍙敤瀛楃闆� + */ + CODE_RULE_CHARACTER_FILLERCHAR("fillerChar","鍙敤瀛楃闆�"), + + /** + * 琛ヤ綅瀛楃 + */ + CODE_RULE_CHARACTER_SEPARATOR("separator","琛ヤ綅瀛楃"), + /** + *鍓嶅悗缂�瀛楃 + */ + CODE_RULE_CHARACTER_PREFIX("prefix","鍓嶅悗缂�瀛楃"); + /** + * 鏋氫妇鐨勫�� + */ + private String value; + + /** + * 鏋氫妇鏄剧ず鏂囨湰 + */ + private String text; + + /** + * 鑾峰彇鏋氫妇鍊� + * + * @return 鏋氫妇鍊� + */ + @Override + public String getValue() { + return value; + } + + /** + * 璁剧疆鏋氫妇鍊� + * + * @param value 鏋氫妇鍊� + */ + public void setValue(String value) { + this.value = value; + } + + /** + * 鑾峰彇鏋氫妇鏄剧ず鏂囨湰 + * + * @return 鏄剧ず鏂囨湰 + */ + @Override + public String getText() { + return text; + } + + /** + * 璁剧疆鏄剧ず鏂囨湰 + * + * @param text 鏄剧ず鏂囨湰 + */ + public void setText(String text) { + this.text = text; + } + + /** + * 鏋勯�犲嚱鏁� + * + * @param value 鍊� + * @param text 鏄剧ず鏂囨湰 + */ + private CodeRuleCharacterEnum(String value, String text) { + this.value = value; + this.text = text; + } + + /** + * 鏍规嵁鍚嶇О鑾峰彇瀵瑰簲鐨勬灇涓惧�� + * + * @param text 鍚嶇О + * @return 鏋氫妇鍊� + */ + public static String getValueByText(String text) { + for (CodeRuleCharacterEnum wenum : CodeRuleCharacterEnum.values()) { + if (wenum.getText().equalsIgnoreCase(text)) { + return wenum.getValue(); + } + } + return ""; + } + + /** + * 鏍规嵁鏋氫妇鍊艰幏鍙栧悕绉� + * + * @param value 鏋氫妇鍊� + * @return 鍚嶇О + */ + public static String getTextByValue(String value) { + for (CodeRuleCharacterEnum wenum : CodeRuleCharacterEnum.values()) { + if (wenum.getValue().equalsIgnoreCase(value)) { + return wenum.getText(); + } + } + return ""; + } + + /** + * 鏍规嵁鏋氫妇鍊艰幏鍙栨灇涓惧璞� + * + * @param value 鏋氫妇鍊� + * @return 鏋氫妇瀵硅薄锛屼笉瀛樺湪鏃跺�欒繑鍥瀗ull + */ + public static CodeRuleCharacterEnum forValue(String value) { + for (CodeRuleCharacterEnum wenum : CodeRuleCharacterEnum.values()) { + if (wenum.getValue().equalsIgnoreCase(value)) { + return wenum; + } + } + return null; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeRuleCharacterMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeRuleCharacterMapper.java new file mode 100644 index 0000000..164f486 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeRuleCharacterMapper.java @@ -0,0 +1,7 @@ +package com.vci.ubcs.code.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.vci.ubcs.code.entity.CodeRuleCharacter; + +public interface CodeRuleCharacterMapper extends BaseMapper<CodeRuleCharacter>{ +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java new file mode 100644 index 0000000..f96aada --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java @@ -0,0 +1,39 @@ +package com.vci.ubcs.code.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.yulichang.base.MPJBaseService; +import com.vci.ubcs.code.entity.CodeAllCode; +import com.vci.ubcs.code.entity.CodeClassify; +import com.vci.ubcs.code.entity.CodeResembleRule; +import com.vci.ubcs.code.entity.CodeRuleCharacter; +import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO; +import com.vci.ubcs.starter.exception.VciBaseException; +import org.springblade.core.tool.api.R; + +import java.util.List; +import java.util.Map; + +/*** + * 瑙勫垯瀛楃闆嗛厤缃� + * @author xj + * @date 2023-11-30 + */ +public interface ICodeRuleCharacterService extends IService<CodeRuleCharacter> { + + /** + * 浣跨敤缂栫爜瑙勫垯oid鑾峰彇鏁版嵁 + * @param codeRuleId + * @param chartType + * @return + * @throws VciBaseException + */ + List<Map<String,String>> getDataByRuleId(String codeRuleId,String chartType)throws VciBaseException; + + /*** + * 淇濆瓨缂栫爜瑙勫垯瀛楃闆� + * @param codeRuleCharacterVO + * @return + */ + R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO)throws VciBaseException; + +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java new file mode 100644 index 0000000..aaabd6f --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java @@ -0,0 +1,113 @@ +package com.vci.ubcs.code.service.impl; + +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.base.Joiner; +import com.vci.ubcs.code.entity.CodeRuleCharacter; +import com.vci.ubcs.code.mapper.CodeRuleCharacterMapper; +import com.vci.ubcs.code.service.ICodeRuleCharacterService; +import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO; +import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/*** + * 缂栫爜瑙勫垯瀛楃闆嗘湇鍔� + * @author xj + * @date 2023-11-30 + */ +@Service +public class CodeRuleCharacterServiceImpl extends ServiceImpl<CodeRuleCharacterMapper, CodeRuleCharacter> implements ICodeRuleCharacterService { + + @Autowired + private CodeRuleCharacterMapper codeRuleCharacterMapper; + /*** + * 浣跨敤缂栫爜瑙勫垯oid鑾峰彇鏁版嵁 + * @param codeRuleId + * @param chartType + * @return + * @throws VciBaseException + */ + @Override + public List<Map<String, String>> getDataByRuleId(String codeRuleId,String chartType) throws VciBaseException { + List<Map<String,String>> charValueList=new ArrayList<>(); + CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleId).eq(CodeRuleCharacter::getChartType,chartType)); + List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + for (int i = 0; i < characterList.size(); i += 15) { + final int startIndex = i; + final int endIndex = Math.min(i + 15, characterList.size()); + List<Character> subList = characterList.subList(startIndex, endIndex); + Map<String, String> chartMap=new HashMap<>(); + // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶 + for (int j=1;j<subList.size()+1;j++){ + String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString(); + chartMap.put(String.valueOf(j),String.valueOf(characterValue)); + } + charValueList.add(chartMap); + } + return charValueList; + } + /*** + * 瀛楃闆嗘暟鎹繚瀛� + * @param codeRuleCharacterVO + * @return + * @throws VciBaseException + */ + @Override + public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO) throws VciBaseException { + VciBaseUtil.alertNotNull(codeRuleCharacterVO.getCodeRuleId(),"缂栫爜瑙勫垯id",codeRuleCharacterVO.getChartType(),"瀛楃闆嗙被鍨�"); + CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleCharacterVO.getCodeRuleId()).eq(CodeRuleCharacter::getChartType,codeRuleCharacterVO.getChartType())); + if(codeRuleCharacter!=null&& StringUtils.isNotBlank(codeRuleCharacter.getOid())) { + List<Character> oldCharacterList = StringUtils.isBlank(codeRuleCharacter.getChartValue())?new ArrayList<>():codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + List<Character> newCharacterList = StringUtils.isBlank(codeRuleCharacterVO.getChartValue())?new ArrayList<>():codeRuleCharacterVO.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + List<Character> intersectList = intersect(oldCharacterList, newCharacterList); + if (intersectList.size() > 0) { + String ss = Joiner.on(",").join(intersectList); + throw new VciBaseException("绯荤粺涓瓨鍦ㄧ浉搴旂殑瀛楃:銆�" + ss + "銆�"); + } + List<Character> allCharacterList = union(oldCharacterList, newCharacterList); + String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer)?integer.toString():"").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); + codeRuleCharacterMapper.updateById(codeRuleCharacter); + }else{ + codeRuleCharacter=new CodeRuleCharacter(); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleCharacter,"character"); + codeRuleCharacter.setCodeRuleId(codeRuleCharacterVO.getCodeRuleId()); + codeRuleCharacter.setChartType(codeRuleCharacterVO.getChartType()); + codeRuleCharacter.setChartValue(codeRuleCharacterVO.getChartValue()); + codeRuleCharacterMapper.insert(codeRuleCharacter); + } + return R.status(true); + } + /** + * 浜ら泦 + * @param list1 + * @param list2 + * @return + */ + private static List<Character> intersect(List<Character> list1, List<Character> list2) { + List<Character> intersect = list1.stream().filter(item -> list2.contains(item)).collect(Collectors.toList()); + return intersect; + } + + /** + * 骞堕泦锛堝幓閲嶏級 + * @param list1 + * @param list2 + * @return + */ + private static List<Character> union(List<Character> list1, List<Character> list2) { + list1.addAll(list2); + return list1.stream().distinct().collect(Collectors.toList()); + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeRuleCharacterWapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeRuleCharacterWapper.java new file mode 100644 index 0000000..70acd48 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeRuleCharacterWapper.java @@ -0,0 +1,73 @@ +package com.vci.ubcs.code.wrapper; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.vci.ubcs.code.entity.CodeRuleCharacter; +import com.vci.ubcs.code.enumpack.CodeRuleCharacterEnum; +import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Objects; + +/** + * 缂栫爜瀛楃鍖呰绫�,杩斿洖瑙嗗浘灞傛墍闇�鐨勫瓧娈� + * @author xj + * @date 2023-11-30 + */ +public class CodeRuleCharacterWapper extends BaseEntityWrapper<CodeRuleCharacter, CodeRuleCharacterVO> { + public static CodeRuleCharacterWapper build() { + return new CodeRuleCharacterWapper(); + } + @Override + public CodeRuleCharacterVO entityVO(CodeRuleCharacter entity) { + entity.setChartTypeText(CodeRuleCharacterEnum.getTextByValue(entity.getChartType())); + CodeRuleCharacterVO VO = Objects.requireNonNull(BeanUtil.copy(entity, CodeRuleCharacterVO.class)); + return VO; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param entitys + * @return + */ + public List<CodeRuleCharacterVO> entityVOs(Collection<CodeRuleCharacter> entitys) { + if(CollectionUtils.isEmpty(entitys)) {return new ArrayList<>();} + List<CodeRuleCharacterVO> vos=new ArrayList<>(); + if(!CollectionUtils.isEmpty(entitys)) { + entitys.stream().forEach(vo -> { + vos.add(entityVO(vo)); + }); + } + return vos; + } + + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param vos + * @return + */ + public List<CodeRuleCharacter> voentitys(Collection<CodeRuleCharacterVO> vos) { + if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();} + List<CodeRuleCharacter>entitys =new ArrayList<>(); + if(!CollectionUtils.isEmpty(vos)) { + vos.stream().forEach(vo -> { + entitys.add(voentity(vo)); + }); + } + return entitys; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param vo + * @return + */ + public CodeRuleCharacter voentity( CodeRuleCharacterVO vo) { + CodeRuleCharacter entity = Objects.requireNonNull(BeanUtil.copy(vo, CodeRuleCharacter.class)); + return entity; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeRuleCharacterMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeRuleCharacterMapper.xml new file mode 100644 index 0000000..014cd51 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeRuleCharacterMapper.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.vci.ubcs.code.mapper.CodeRuleCharacterMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="CodeResembleRuleResultMap" type="com.vci.ubcs.code.entity.CodeRuleCharacter"> + <id property="oid" column="OID"/> + <result property="btmname" column="BTMNAME"/> + <result property="revisionOid" column="REVISIONOID"/> + <result property="nameOid" column="NAMEOID"/> + <result property="lastR" column="LASTR"/> + <result property="firstR" column="FIRSTR"/> + <result property="lastV" column="LASTV"/> + <result property="firstV" column="FIRSTV"/> + <result property="creator" column="CREATOR"/> + <result property="createTime" column="CREATETIME"/> + <result property="lastModifier" column="LASTMODIFIER"/> + <result property="lastModifyTime" column="LASTMODIFYTIME"/> + <result property="revisionRule" column="REVISIONVALUE"/> + <result property="versionRule" column="VISIONRULE"/> + <result property="revisionValue" column="REVISIONRULE"/> + <result property="versionValue" column="VERSIONVALUE"/> + <result property="revisionSeq" column="REVISIONSEQ"/> + <result property="versionSeq" column="VERSIONSEQ"/> + <result property="lctid" column="LCTID"/> + <result property="lcStatus" column="LCSTATUS"/> + <result property="ts" column="TS"/> + <result property="id" column="ID"/> + <result property="name" column="NAME"/> + <result property="description" column="DESCRIPTION"/> + <result property="owner" column="OWNER"/> + <result property="copyFromVersion" column="COPYFROMVERSION"/> + <result property="codeRuleId" column="CODERULEID"/> + <result property="chartValue" column="CHARTVALUE"/> + <result property="chartType" column="CHARTTYPE"/> + </resultMap> +</mapper> -- Gitblit v1.9.3