yuxc
2023-04-21 35a36f60cdbd9ef3bf2ab7be9f418f988c93c5eb
1、主题库定义相关代码。
2、枚举定义相关代码移植修改。
已修改20个文件
已删除1个文件
已重命名14个文件
已复制12个文件
已添加46个文件
5740 ■■■■ 文件已修改
Source/UBCS-WEB/src/api/omd/dict.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/const/omd/dict.js 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/omd/dict.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClsflowtempDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClstempattrDTO.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeTempbuttonDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeTempphaseDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClsflowtempEntity.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClstempattrEntity.java 297 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodePhaseattrEntity.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTempbuttonEntity.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTempphaseEntity.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/po/CodeClassifyPO.java 249 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClsflowtempVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstempattrVO.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstemplateVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodePhaseattrVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeTempbuttonVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeTempphaseVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/util/ExcelUtil.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/constant/QueryOptionConstant.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClientFallback.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/DictCache.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/Dict.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictEnum.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClient.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/DictVO.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClsflowtempController.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodePhaseattrController.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeTempbuttonController.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeTempphaseController.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeClassifyTemplateLC.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClsflowtempClient.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClstempattrClient.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClstemplateClient.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeOsbtmtypeClient.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodePhaseattrClient.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeTempbuttonClient.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeTempphaseClient.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClsflowtempClient.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClstempattrClient.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodePhaseattrClient.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeTempbuttonClient.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeTempphaseClient.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClsflowtempMapper.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeTempbuttonMapper.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeTempphaseMapper.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClsflowtempService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodePhaseattrService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempbuttonService.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClsflowtempServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java 537 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodePhaseattrServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClsflowtempWrapper.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClstempattrWrapper.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodePhaseattrWrapper.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeTempbuttonWrapper.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeTempphaseWrapper.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClsflowtempMapper.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstempattrMapper.xml 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstemplateMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodePhaseattrMapper.xml 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeTempbuttonMapper.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeTempphaseMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/DictController.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/DictClient.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictMapper.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IDictService.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/DictBizServiceImpl.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/DictServiceImpl.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/DictWrapper.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/DictMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IDictBizService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/omd/dict.js
ÎļþÃû´Ó Source/UBCS-WEB/src/api/omd/dictbiz.js ÐÞ¸Ä
@@ -2,7 +2,7 @@
export const getList = (current, size, params) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/list',
    url: '/api/ubcs-omd/dict/list',
    method: 'get',
    params: {
      ...params,
@@ -14,7 +14,7 @@
export const getParentList = (current, size, params) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/parent-list',
    url: '/api/ubcs-omd/dict/parent-list',
    method: 'get',
    params: {
      ...params,
@@ -26,7 +26,7 @@
export const getChildList = (current, size, parentId, params) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/child-list',
    url: '/api/ubcs-omd/dict/child-list',
    method: 'get',
    params: {
      ...params,
@@ -39,7 +39,7 @@
export const remove = (ids) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/remove',
    url: '/api/ubcs-omd/dict/remove',
    method: 'post',
    params: {
      ids,
@@ -49,7 +49,7 @@
export const add = (row) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/submit',
    url: '/api/ubcs-omd/dict/submit',
    method: 'post',
    data: row
  })
@@ -57,7 +57,7 @@
export const update = (row) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/submit',
    url: '/api/ubcs-omd/dict/submit',
    method: 'post',
    data: row
  })
@@ -66,7 +66,7 @@
export const getDict = (id) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/detail',
    url: '/api/ubcs-omd/dict/detail',
    method: 'get',
    params: {
      id,
@@ -75,14 +75,14 @@
}
export const getDictTree = () => {
  return request({
    url: '/api/ubcs-omd/dict-biz/tree?code=DICT',
    url: '/api/ubcs-omd/dict/tree?code=DICT',
    method: 'get'
  })
}
export const getDictionary = (params) => {
  return request({
    url: '/api/ubcs-omd/dict-biz/dictionary',
    url: '/api/ubcs-omd/dict/dictionary',
    method: 'get',
    params,
  })
Source/UBCS-WEB/src/const/omd/dict.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,213 @@
export const optionParent = {
  height: 'auto',
  calcHeight: 30,
  tip: false,
  searchShow: true,
  searchMenuSpan: 10,
  border: true,
  index: true,
  selection: true,
  viewBtn: true,
  menuWidth: 250,
  dialogWidth: 880,
  dialogClickModal: false,
  column: [
    {
      label: "代号",
      prop: "code",
      search: true,
      slot: true,
      span: 24,
      rules: [
        {
          required: true,
          message: "请输入代号",
          trigger: "blur"
        }
      ]
    },
    {
      label: "名称",
      prop: "dictValue",
      search: true,
      align: "center",
      rules: [
        {
          required: true,
          message: "请输入名称",
          trigger: "blur"
        }
      ]
    },
    {
      label: "枚举排序",
      prop: "sort",
      type: "number",
      align: "right",
      width: 100,
      hide: true,
      rules: [
        {
          required: true,
          message: "请输入枚举排序",
          trigger: "blur"
        }
      ]
    },
    // {
    //   label: "封存",
    //   prop: "isSealed",
    //   type: "switch",
    //   align: "center",
    //   width: 100,
    //   dicData: [
    //     {
    //       label: "否",
    //       value: 0
    //     },
    //     {
    //       label: "是",
    //       value: 1
    //     }
    //   ],
    //   value: 0,
    //   slot: true,
    //   rules: [
    //     {
    //       required: true,
    //       message: "请选择封存",
    //       trigger: "blur"
    //     }
    //   ]
    // },
    {
      label: "描述",
      width: 150,
      align: "center",
      prop: "remark",
      // hide: true
    }
  ]
};
export const optionChild = {
  height: 'auto',
  calcHeight: 95,
  tip: false,
  searchShow: true,
  searchMenuSpan: 10,
  tree: true,
  border: true,
  index: true,
  selection: true,
  viewBtn: true,
  menuWidth: 300,
  dialogWidth: 880,
  dialogClickModal: false,
  column: [
    {
      label: "代号",
      prop: "code",
      addDisabled: true,
      editDisabled: true,
      search: true,
      span: 24,
      rules: [
        {
          required: true,
          message: "请输入代号",
          trigger: "blur"
        }
      ]
    },
    {
      label: "名称",
      prop: "dictValue",
      search: true,
      align: "center",
      rules: [
        {
          required: true,
          message: "请输入名称",
          trigger: "blur"
        }
      ]
    },
    {
      label: "上级",
      prop: "parentId",
      type: "tree",
      dicData: [],
      hide: true,
      props: {
        label: "title"
      },
      addDisabled: true,
      editDisabled: true,
      rules: [
        {
          required: false,
          message: "请选择上级",
          trigger: "click"
        }
      ]
    },
    {
      label: "值",
      prop: "dictKey",
      width: 80,
      rules: [
        {
          required: true,
          message: "请输入值",
          trigger: "blur"
        }
      ]
    },
    {
      label: "枚举排序",
      prop: "sort",
      type: "number",
      align: "right",
      hide: true,
      rules: [
        {
          required: true,
          message: "请输入枚举排序",
          trigger: "blur"
        }
      ]
    },
    // {
    //   label: "封存",
    //   prop: "isSealed",
    //   type: "switch",
    //   align: "center",
    //   width: 80,
    //   dicData: [
    //     {
    //       label: "否",
    //       value: 0
    //     },
    //     {
    //       label: "是",
    //       value: 1
    //     }
    //   ],
    //   value: 0,
    //   slot: true,
    //   rules: [
    //     {
    //       required: true,
    //       message: "请选择封存",
    //       trigger: "blur"
    //     }
    //   ]
    // },
    {
      label: "描述",
      prop: "remark",
      // hide: true
    }
  ]
};
Source/UBCS-WEB/src/views/omd/dict.vue
ÎļþÃû´Ó Source/UBCS-WEB/src/views/omd/dictbiz.vue ÐÞ¸Ä
@@ -39,7 +39,7 @@
          size="small"
          @click.stop="handleRowClick(scope.row)"
          v-if="userInfo.role_name.includes('admin')"
        >字典配置
        >枚举配置
        </el-button>
      </template>
      <template slot-scope="{row}" slot="code">
@@ -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">
@@ -84,16 +84,16 @@
          >删 é™¤
          </el-button>
        </template>
        <template slot-scope="scope" slot="menu">
          <el-button
            type="text"
            icon="el-icon-circle-plus-outline"
            size="small"
            @click.stop="handleAdd(scope.row,scope.index)"
            v-if="userInfo.role_name.includes('admin')"
          >新增子项
          </el-button>
        </template>
<!--        <template slot-scope="scope" slot="menu">-->
<!--          <el-button-->
<!--            type="text"-->
<!--            icon="el-icon-circle-plus-outline"-->
<!--            size="small"-->
<!--            @click.stop="handleAdd(scope.row,scope.index)"-->
<!--            v-if="userInfo.role_name.includes('admin')"-->
<!--          >新增子项-->
<!--          </el-button>-->
<!--        </template>-->
        <template slot-scope="{row}" slot="isSealed">
          <el-tag>{{ row.isSealed === 0 ? '否' : '是' }}</el-tag>
        </template>
@@ -111,8 +111,8 @@
    add,
    getDict,
    getDictTree
  } from "@/api/omd/dictbiz";
  import {optionParent, optionChild} from "@/option/system/dictbiz";
  } from "@/api/omd/dict";
  import {optionParent, optionChild} from "@/const/omd/dict";
  import {mapGetters} from "vuex";
  export default {
Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml
@@ -62,13 +62,17 @@
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.0</version>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.0</version>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClsflowtempDTO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClsflowtempDTO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,21 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板流程 æ•°æ®ä¼ è¾“对象实体类
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeClsflowtempDTO extends CodeClsflowtempEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClstempattrDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.dto;
import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ç¼–码库定义-模板属性 æ•°æ®ä¼ è¾“对象实体类
 *
 * @author yuxc
 * @since 2023-04-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeClstempattrDTO extends CodeClstempattrEntity {
    private static final long serialVersionUID = 1L;
    /**
     * æ‰€å±žæ¨¡æ¿é˜¶æ®µ
     */
    private String codephaseoid;
    /**
     * æ‰€å±žæ¨¡æ¿é˜¶æ®µæ˜¾ç¤ºæ–‡æœ¬
     */
    private String codephaseoidName;
    /**
     * èŽ·å– æ‰€å±žæ¨¡æ¿é˜¶æ®µ
     */
    public String getCodephaseoid (){
        return codephaseoid;
    }
    /**
     * è®¾ç½® æ‰€å±žæ¨¡æ¿é˜¶æ®µ
     */
    public void setCodephaseoid (String codephaseoid){
        this.codephaseoid = codephaseoid;
    }
    /**
     * èŽ·å–æ‰€å±žæ¨¡æ¿é˜¶æ®µæ˜¾ç¤ºæ–‡æœ¬
     */
    public String getCodephaseoidName (){
        return codephaseoidName;
    }
    /**
     * è®¾ç½®æ‰€å±žæ¨¡æ¿é˜¶æ®µæ˜¾ç¤ºæ–‡æœ¬
     */
    public void setCodephaseoidName (String codephaseoidName){
        this.codephaseoidName = codephaseoidName;
    }
    @Override
    public String toString() {
        return "CodePhaseAttrDTO{" +
            "codephaseoid='" + codephaseoid +"',"+
            "codephaseoidName='" + codephaseoidName +"'," +
            "}" + super.toString();
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeTempbuttonDTO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeTempbuttonDTO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,21 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板按钮扩展 æ•°æ®ä¼ è¾“对象实体类
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeTempbuttonDTO extends CodeTempbuttonEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeTempphaseDTO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeTempphaseDTO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,21 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板阶段 æ•°æ®ä¼ è¾“对象实体类
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeTempphaseDTO extends CodeTempphaseEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClsflowtempEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * ç¼–码库定义-模板流程 å®žä½“ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Data
@TableName("PL_CODE_CLSFLOWTEMP")
@ApiModel(value = "CodeClsflowtemp对象", description = "编码库定义-模板流程")
@EqualsAndHashCode(callSuper = true)
public class CodeClsflowtempEntity extends BaseModel {
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String islastr;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codeclassifyoid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifytemplateoid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codeprocessuse;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String processversion;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codetempattroidarr;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codetempattroidarrname;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClstempattrEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,297 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * ç¼–码库定义-模板属性 å®žä½“ç±»
 *
 * @author yuxc
 * @since 2023-04-19
 */
@Data
@TableName("PL_CODE_CLSTEMPATTR")
@ApiModel(value = "CodeClstempattr对象", description = "编码库定义-模板属性")
@EqualsAndHashCode(callSuper = true)
public class CodeClstempattrEntity extends BaseModel {
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifytemplateoid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String attributedatatype;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String keyattrflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String queryattrflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String seniorqueryattrflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String samerepeatattrflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String sortattrflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String qrcodeflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String barcodeflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String componentrule;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String verifyrule;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifyinvokelevel;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifyinvokeattr;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifyinvokeattrname;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifyinvokeeditflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Short ordernum;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String formdisplayflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String tabledisplayflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String attributegroup;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String enumid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String enumname;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String enumeditflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String referbtmid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String referbtmname;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String referconfig;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String requireflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String readonlyflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Short controllength;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String formdisplaystyle;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String tabledisplaystyle;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String formhref;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String tablehref;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Short precisionlength;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Short scalelength;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String valuearea;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codedateformat;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String tabledisplayjs;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String textareaflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String imageflag;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String defaultvalue;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String prefixvalue;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String suffixvalue;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String filtersourceattr;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String filtersourceattrname;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String enumstring;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Short attrtablewidth;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String explain;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String libraryidentification;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String parentcode;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String parentname;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String parentqueryattr;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodePhaseattrEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * ç¼–码库定义-模板阶段-属性 å®žä½“ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Data
@TableName("PL_CODE_PHASEATTR")
@ApiModel(value = "CodePhaseattr对象", description = "编码库定义-模板阶段-属性")
@EqualsAndHashCode(callSuper = true)
public class CodePhaseattrEntity extends BaseModel {
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codephaseoid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String attributegroup;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTempbuttonEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * ç¼–码库定义-模板按钮扩展 å®žä½“ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Data
@TableName("PL_CODE_TEMPBUTTON")
@ApiModel(value = "CodeTempbutton对象", description = "编码库定义-模板按钮扩展")
@EqualsAndHashCode(callSuper = true)
public class CodeTempbuttonEntity extends BaseModel {
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifytemplateoid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String classifybuttonoid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String buttonuse;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Short ordernum;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeTempphaseEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * ç¼–码库定义-模板阶段 å®žä½“ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Data
@TableName("PL_CODE_TEMPPHASE")
@ApiModel(value = "CodeTempphase对象", description = "编码库定义-模板阶段")
@EqualsAndHashCode(callSuper = true)
public class CodeTempphaseEntity extends BaseModel {
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String codeclassifytemplateoid;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/po/CodeClassifyPO.java
@@ -1,158 +1,169 @@
package com.vci.ubcs.code.po;
import com.vci.ubcs.com.vci.starter.poi.annotation.ExcelColumn;
/**
 * ä¸»é¢˜åº“分类的导入导出对象
 * @author weidy
 * @date 2022-04-01
 */
public class CodeClassifyPO implements java.io.Serializable{
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 6101784029360306020L;
    /**
     * æ‰€åœ¨æ•°æ®è¡Œ
     */
    private String rowIndex;
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 6101784029360306020L;
    /**
     * æ‰€åœ¨æ•°æ®è¡Œ
     */
    @ExcelColumn(rowIndexColumn = true,value = "")
    private String rowIndex;
    /**
     * åˆ†ç±»ç¼–号
     */
    private String id;
    /**
     * åˆ†ç±»åç§°
     */
    private String name;
    /**
     * åˆ†ç±»ç¼–号
     */
    @ExcelColumn(value="分类编号",nullable = false)
    private String id;
    /**
     * åˆ†ç±»åç§°
     */
    @ExcelColumn(value="分类名称",nullable = false)
    private String name;
    /**
     * æè¿°
     */
    private String description;
    /**
     * æè¿°
     */
    @ExcelColumn(value = "描述")
    private String description;
    /**
     * ç¼–码规则编号
     */
    private String codeRuleId;
    /**
     * ç¼–码规则编号
     */
    @ExcelColumn(value = "编码规则编号")
    private String codeRuleId;
    /**
     * ä¸šåŠ¡ç±»åž‹ç¼–å·
     */
    private String btmTypeId;
    /**
     * ä¸šåŠ¡ç±»åž‹ç¼–å·
     */
    @ExcelColumn(value = "业务类型编号")
    private String btmTypeId;
    /**
     * æŸ¥é‡è§„则编号
     */
    private String keyRepeatRuleId;
    /**
     * æŸ¥é‡è§„则编号
     */
    @ExcelColumn(value = "查重规则编号")
    private String keyRepeatRuleId;
    /**
     * åˆ†ç±»è·¯å¾„
     */
    private String path;
    /**
     * åˆ†ç±»è·¯å¾„
     */
    @ExcelColumn(value = "分类路径",nullable = false)
    private String path;
    /**
     * çŠ¶æ€æ–‡æœ¬
     */
    private String lcStatusText;
    /**
     * çŠ¶æ€æ–‡æœ¬
     */
    @ExcelColumn(value = "状态")
    private String lcStatusText;
    /**
     * çŠ¶æ€
     */
    private String lcStatus;
    /**
     * çŠ¶æ€
     */
    private String lcStatus;
    public String getDescription() {
        return description;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getRowIndex() {
        return rowIndex;
    }
    public String getRowIndex() {
        return rowIndex;
    }
    public void setRowIndex(String rowIndex) {
        this.rowIndex = rowIndex;
    }
    public void setRowIndex(String rowIndex) {
        this.rowIndex = rowIndex;
    }
    public String getId() {
        return id;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCodeRuleId() {
        return codeRuleId;
    }
    public String getCodeRuleId() {
        return codeRuleId;
    }
    public void setCodeRuleId(String codeRuleId) {
        this.codeRuleId = codeRuleId;
    }
    public void setCodeRuleId(String codeRuleId) {
        this.codeRuleId = codeRuleId;
    }
    public String getBtmTypeId() {
        return btmTypeId;
    }
    public String getBtmTypeId() {
        return btmTypeId;
    }
    public void setBtmTypeId(String btmTypeId) {
        this.btmTypeId = btmTypeId;
    }
    public void setBtmTypeId(String btmTypeId) {
        this.btmTypeId = btmTypeId;
    }
    public String getKeyRepeatRuleId() {
        return keyRepeatRuleId;
    }
    public String getKeyRepeatRuleId() {
        return keyRepeatRuleId;
    }
    public void setKeyRepeatRuleId(String keyRepeatRuleId) {
        this.keyRepeatRuleId = keyRepeatRuleId;
    }
    public void setKeyRepeatRuleId(String keyRepeatRuleId) {
        this.keyRepeatRuleId = keyRepeatRuleId;
    }
    public String getPath() {
        return path;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
    public void setPath(String path) {
        this.path = path;
    }
    public String getLcStatusText() {
        return lcStatusText;
    }
    public String getLcStatusText() {
        return lcStatusText;
    }
    public void setLcStatusText(String lcStatusText) {
        this.lcStatusText = lcStatusText;
    }
    public void setLcStatusText(String lcStatusText) {
        this.lcStatusText = lcStatusText;
    }
    public String getLcStatus() {
        return lcStatus;
    }
    public String getLcStatus() {
        return lcStatus;
    }
    public void setLcStatus(String lcStatus) {
        this.lcStatus = lcStatus;
    }
    public void setLcStatus(String lcStatus) {
        this.lcStatus = lcStatus;
    }
    @Override
    public String toString() {
        return "CodeClassifyPO{" +
                "rowIndex='" + rowIndex + '\'' +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", codeRuleId='" + codeRuleId + '\'' +
                ", btmTypeId='" + btmTypeId + '\'' +
                ", keyRepeatRuleId='" + keyRepeatRuleId + '\'' +
                ", path='" + path + '\'' +
                ", lcStatusText='" + lcStatusText + '\'' +
                ", lcStatus='" + lcStatus + '\'' +
                '}';
    }
    @Override
    public String toString() {
        return "CodeClassifyPO{" +
            "rowIndex='" + rowIndex + '\'' +
            ", id='" + id + '\'' +
            ", name='" + name + '\'' +
            ", description='" + description + '\'' +
            ", codeRuleId='" + codeRuleId + '\'' +
            ", btmTypeId='" + btmTypeId + '\'' +
            ", keyRepeatRuleId='" + keyRepeatRuleId + '\'' +
            ", path='" + path + '\'' +
            ", lcStatusText='" + lcStatusText + '\'' +
            ", lcStatus='" + lcStatus + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClsflowtempVO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClsflowtempVO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,22 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.vo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板流程 è§†å›¾å®žä½“ç±»
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeClsflowtempVO extends CodeClsflowtempEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstempattrVO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstempattrVO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,27 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.vo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板属性 è§†å›¾å®žä½“ç±»
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-19
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeClstempattrVO extends CodeClstempattrEntity {
    private static final long serialVersionUID = 1L;
    /**
     * æµ‹è¯•
     * å±žæ€§ç±»åž‹æ˜¾ç¤º
     */
    TEST("test"),
    ;
    final String name;
    private String attributeDataTypeText;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeClstemplateVO.java
@@ -20,6 +20,8 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
 * ç¼–码库定义-模板管理 è§†å›¾å®žä½“ç±»
 *
@@ -31,4 +33,9 @@
public class CodeClstemplateVO extends CodeClstemplateEntity {
    private static final long serialVersionUID = 1L;
    /**
     * åŒ…含的属性内容
     */
    private List<CodeClstempattrVO> attributes;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodePhaseattrVO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodePhaseattrVO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,22 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.vo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板阶段-属性 è§†å›¾å®žä½“ç±»
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodePhaseattrVO extends CodePhaseattrEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeTempbuttonVO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeTempbuttonVO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,22 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.vo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板按钮扩展 è§†å›¾å®žä½“ç±»
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeTempbuttonVO extends CodeTempbuttonEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeTempphaseVO.java
copy from Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java copy to Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeTempphaseVO.java
Îļþ´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ¸´ÖÆ
@@ -14,26 +14,22 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.enums;
package com.vci.ubcs.code.vo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * ç¼–码库定义-模板阶段 è§†å›¾å®žä½“ç±»
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
    /**
     * æµ‹è¯•
     */
    TEST("test"),
    ;
    final String name;
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeTempphaseVO extends CodeTempphaseEntity {
    private static final long serialVersionUID = 1L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/poi/util/ExcelUtil.java
@@ -11,12 +11,40 @@
import com.vci.ubcs.com.vci.starter.web.util.LangBaseUtil;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import org.apache.commons.io.IOUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFDataValidationHelper;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationConstraint;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFDataValidation;
import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint;
import org.apache.poi.xssf.usermodel.XSSFDataValidationHelper;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.utils.StringUtil;
@@ -24,6 +52,9 @@
import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import sun.reflect.annotation.*;
import java.math.BigDecimal;
import java.nio.channels.FileChannel;
import java.util.*;
@@ -790,7 +821,11 @@
            Map<Field, ExcelColumn> excelColumnSet = getExcelColumnAnnotations(doClass);
            Map<String, ExcelColumn> excelTitleMap = (Map)((Map)Optional.of(excelColumnSet).get()).values().stream().collect(Collectors.toMap((s) -> {
//                return s.value();
                return s;
//                ExcelColumn s1 = (ExcelColumn) s;
//                s1.value();
//                ((InvocationHandler) ((Proxy) s).).memberValues.get("value");
                return ((ExcelColumn) s).value();
//                return ((AnnotationInvocationHandler) ((Proxy) s).h).memberValues.get("value");
            }, (t) -> {
                return t;
            }));
@@ -1046,7 +1081,7 @@
    private static Object getCellValue(Cell cell, FormulaEvaluator evaluator) {
        if (cell != null) {
            Object cellValue = null;
            CellType cellTypeEnum = cell.getCellType();
            CellType cellTypeEnum = cell.getCellTypeEnum();
            switch (cellTypeEnum) {
                case STRING:
                    String thisCellValue = cell.getStringCellValue();
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/com/vci/starter/web/constant/QueryOptionConstant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.vci.ubcs.com.vci.starter.web.constant;
public class QueryOptionConstant {
    public static final String IN = "\\IN";
    public static final String NOTIN = "\\NOTIN";
    public static final String NOTEQUAL = "!=";
    public static final String MORE = ">";
    public static final String MORETHAN = ">=";
    public static final String LESS = "<";
    public static final String LESSTHAN = "<=";
    public static final String OR = "\\OR";
    public static final String ISNULL = "=null";
    public static final String ISNOTNULL = "!=null";
    public static final String EQUAL = "=";
    public static final String AND = "and";
    public static final String NO_OR_AND = "${no_or_and}";
    public QueryOptionConstant() {
    }
}
Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java
@@ -22,8 +22,10 @@
import com.vci.ubcs.system.entity.DictBiz;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.Valid;
import java.util.List;
/**
@@ -41,6 +43,7 @@
    String GET_BY_ID = API_PREFIX + "/dict-biz/get-by-id";
    String GET_VALUE = API_PREFIX + "/dict-biz/get-value";
    String GET_LIST = API_PREFIX + "/dict-biz/get-list";
    String CHECK_VALUE = API_PREFIX + "/dict-biz/check-value";
    /**
     * èŽ·å–å­—å…¸å®žä½“
@@ -70,4 +73,13 @@
    @GetMapping(GET_LIST)
    R<List<DictBiz>> getList(@RequestParam("code") String code);
    /**
     * æ£€æŸ¥å­—典是否存在,存在即返回,不存在新增
     *
     * @param dictBiz å­—典数据
     * @return
     */
    @GetMapping(CHECK_VALUE)
    R getCheck(@Valid @RequestBody DictBiz dictBiz);
}
Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClientFallback.java
@@ -43,4 +43,9 @@
    public R<List<DictBiz>> getList(String code) {
        return R.fail("获取数据失败");
    }
    @Override
    public R getCheck(DictBiz dictBiz) {
        return R.fail("获取数据失败");
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/DictCache.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/cache/DictBizCache.java ÐÞ¸Ä
@@ -16,9 +16,9 @@
 */
package com.vci.ubcs.omd.cache;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.enums.DictBizEnum;
import com.vci.ubcs.omd.feign.IDictBizClient;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.enums.DictEnum;
import com.vci.ubcs.omd.feign.IDictClient;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -34,17 +34,17 @@
 *
 * @author Chill
 */
public class DictBizCache {
public class DictCache {
    private static final String DICT_ID = "dictBiz:id";
    private static final String DICT_VALUE = "dictBiz:value";
    private static final String DICT_LIST = "dictBiz:list";
    private static final String DICT_ID = "dict:id";
    private static final String DICT_VALUE = "dict:value";
    private static final String DICT_LIST = "dict:list";
    private static IDictBizClient dictClient;
    private static IDictClient dictClient;
    private static IDictBizClient getDictClient() {
    private static IDictClient getDictClient() {
        if (dictClient == null) {
            dictClient = SpringUtil.getBean(IDictBizClient.class);
            dictClient = SpringUtil.getBean(IDictClient.class);
        }
        return dictClient;
    }
@@ -55,10 +55,10 @@
     * @param id ä¸»é”®
     * @return DictBiz
     */
    public static DictBizM getById(Long id) {
    public static Dict getById(Long id) {
        String keyPrefix = DICT_ID.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
        return CacheUtil.get(DICT_CACHE, keyPrefix, id, () -> {
            R<DictBizM> result = getDictClient().getById(id);
            R<Dict> result = getDictClient().getById(id);
            return result.getData();
        });
    }
@@ -70,7 +70,7 @@
     * @param dictKey Integer型字典键
     * @return String
     */
    public static String getValue(DictBizEnum code, Integer dictKey) {
    public static String getValue(DictEnum code, Integer dictKey) {
        return getValue(code.getName(), dictKey);
    }
@@ -97,7 +97,7 @@
     * @param dictKey String型字典键
     * @return String
     */
    public static String getValue(DictBizEnum code, String dictKey) {
    public static String getValue(DictEnum code, String dictKey) {
        return getValue(code.getName(), dictKey);
    }
@@ -122,10 +122,10 @@
     * @param code å­—典编号
     * @return List<DictBiz>
     */
    public static List<DictBizM> getList(String code) {
    public static List<Dict> getList(String code) {
        String keyPrefix = DICT_LIST.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON);
        return CacheUtil.get(DICT_CACHE, keyPrefix, code, () -> {
            R<List<DictBizM>> result = getDictClient().getList(code);
            R<List<Dict>> result = getDictClient().getList(code);
            return result.getData();
        });
    }
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/Dict.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/DictBizM.java ÐÞ¸Ä
@@ -25,6 +25,7 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.type.Alias;
import java.io.Serializable;
@@ -34,9 +35,10 @@
 * @author Chill
 */
@Data
@TableName("pl_sys_dict_biz")
@ApiModel(value = "DictBiz对象", description = "DictBiz对象")
public class DictBizM implements Serializable {
@TableName("pl_sys_dict")
@Alias("pl_sys_dict_omd")
@ApiModel(value = "Dict对象", description = "Dict对象")
public class Dict implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -49,12 +51,6 @@
    private Long id;
    /**
     * ç§Ÿæˆ·ID
     */
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**
     * çˆ¶ä¸»é”®
     */
    @JsonSerialize(using = ToStringSerializer.class)
@@ -64,19 +60,19 @@
    /**
     * å­—典码
     */
    @ApiModelProperty(value = "字典码")
    @ApiModelProperty(value = "枚举码")
    private String code;
    /**
     * å­—典值
     */
    @ApiModelProperty(value = "字典值")
    @ApiModelProperty(value = "枚举值")
    private String dictKey;
    /**
     * å­—典名称
     */
    @ApiModelProperty(value = "字典名称")
    @ApiModelProperty(value = "枚举名称")
    private String dictValue;
    /**
@@ -88,7 +84,7 @@
    /**
     * å­—典备注
     */
    @ApiModelProperty(value = "字典备注")
    @ApiModelProperty(value = "枚举备注")
    private String remark;
    /**
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictEnum.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/enums/DictBizEnum.java ÐÞ¸Ä
@@ -20,13 +20,13 @@
import lombok.Getter;
/**
 * ä¸šåŠ¡å­—å…¸æžšä¸¾ç±»
 * æžšä¸¾ç±»
 *
 * @author Chill
 */
@Getter
@AllArgsConstructor
public enum DictBizEnum {
public enum DictEnum {
    /**
     * æµ‹è¯•
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictBizClient.java ÐÞ¸Ä
@@ -17,7 +17,7 @@
package com.vci.ubcs.omd.feign;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.entity.Dict;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
@@ -35,15 +35,15 @@
 */
@FeignClient(
    value = AppConstant.APPLICATION_NAME_OMD,
    fallback = IDictBizClientFallback.class
    fallback = IDictClientFallback.class
)
public interface IDictBizClient {
public interface IDictClient {
    String API_PREFIX = "/client";
    String GET_BY_ID = API_PREFIX + "/dict-biz/get-by-id";
    String GET_VALUE = API_PREFIX + "/dict-biz/get-value";
    String GET_LIST = API_PREFIX + "/dict-biz/get-list";
    String CHECK_VALUE = API_PREFIX + "/dict-biz/check-value";
    String GET_BY_ID = API_PREFIX + "/dict/get-by-id";
    String GET_VALUE = API_PREFIX + "/dict/get-value";
    String GET_LIST = API_PREFIX + "/dict/get-list";
    String CHECK_VALUE = API_PREFIX + "/dict/check-value";
    /**
     * èŽ·å–å­—å…¸å®žä½“
@@ -52,7 +52,7 @@
     * @return
     */
    @GetMapping(GET_BY_ID)
    R<DictBizM> getById(@RequestParam("id") Long id);
    R<Dict> getById(@RequestParam("id") Long id);
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”å€¼
@@ -71,7 +71,7 @@
     * @return
     */
    @GetMapping(GET_LIST)
    R<List<DictBizM>> getList(@RequestParam("code") String code);
    R<List<Dict>> getList(@RequestParam("code") String code);
    /**
     * æ£€æŸ¥å­—典是否存在,存在即返回,不存在新增
@@ -80,6 +80,6 @@
     * @return
     */
    @GetMapping(CHECK_VALUE)
    R getCheck(@Valid @RequestBody DictBizM dict);
    R getCheck(@Valid @RequestBody Dict dict);
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictClientFallback.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IDictBizClientFallback.java ÐÞ¸Ä
@@ -17,7 +17,7 @@
package com.vci.ubcs.omd.feign;
import org.springblade.core.tool.api.R;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.entity.Dict;
import org.springframework.stereotype.Component;
import java.util.List;
@@ -28,9 +28,9 @@
 * @author Chill
 */
@Component
public class IDictBizClientFallback implements IDictBizClient {
public class IDictClientFallback implements IDictClient {
    @Override
    public R<DictBizM> getById(Long id) {
    public R<Dict> getById(Long id) {
        return R.fail("获取数据失败");
    }
@@ -40,12 +40,12 @@
    }
    @Override
    public R<List<DictBizM>> getList(String code) {
    public R<List<Dict>> getList(String code) {
        return R.fail("获取数据失败");
    }
    @Override
    public R getCheck(DictBizM dict) {
    public R getCheck(Dict dict) {
        return R.fail("获取数据失败");
    }
}
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/DictVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/DictBizMVO.java ÐÞ¸Ä
@@ -19,7 +19,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.entity.Dict;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -35,8 +35,8 @@
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "DictBizVO对象", description = "DictBizVO对象")
public class DictBizMVO extends DictBizM implements INode<DictBizM> {
@ApiModel(value = "DictVO对象", description = "DictVO对象")
public class DictVO extends Dict implements INode<Dict> {
    private static final long serialVersionUID = 1L;
    /**
     * ä¸»é”®ID
@@ -54,10 +54,10 @@
     * å­å­™èŠ‚ç‚¹
     */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<DictBizM> children;
    private List<Dict> children;
    @Override
    public List<DictBizM> getChildren() {
    public List<Dict> getChildren() {
        if (this.children == null) {
            this.children = new ArrayList<>();
        }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -18,11 +18,14 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.mapper.CodeClassifyMapper;
import com.vci.ubcs.code.service.ICodeClassifyService;
import com.vci.ubcs.code.vo.CodeOsattributeVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject;
import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
import com.vci.ubcs.com.vci.starter.util.LocalFileUtil;
import com.vci.ubcs.com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.com.vci.starter.web.pagemodel.DataGrid;
@@ -33,25 +36,19 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.springblade.core.boot.ctrl.BladeController;
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.IResultCode;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
import com.vci.ubcs.code.service.ICodeClassifyService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -70,7 +67,7 @@
 */
@RestController
@AllArgsConstructor
@RequestMapping("ubcs-code/codeClassify")
@RequestMapping("/codeClassify")
@Api(value = "主题库定义表", tags = "主题库定义表接口")
public class CodeClassifyController extends BladeController {
@@ -175,7 +172,7 @@
     * @return æ‰§è¡Œç»“æžœ success为true为可以删除,false表示有数据引用
     */
    @PostMapping( "/checkIsCanDelete")
    public R checkIsCanDelete(CodeClassify codeClassify)  {
    public R checkIsCanDelete(@Valid @RequestBody CodeClassify codeClassify)  {
        return codeClassifyService.checkIsCanDelete(codeClassify);
    }
@@ -185,7 +182,7 @@
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delCodeClassify(CodeClassify codeClassify) {
    public R delCodeClassify(@Valid @RequestBody CodeClassify codeClassify) {
        return codeClassifyService.deleteCodeClassify(codeClassify);
    }
@@ -195,7 +192,7 @@
     * @return
     */
    @PostMapping( "/enableData")
    public R enable(CodeClassify codeClassify) {
    public R enable(@Valid @RequestBody CodeClassify codeClassify) {
        return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_ENABLED);
    }
@@ -205,7 +202,7 @@
     * @return
     */
    @PostMapping( "/disableData")
    public R disable(CodeClassify codeClassify) {
    public R disable(@Valid @RequestBody CodeClassify codeClassify) {
        return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_DISABLED);
    }
@@ -226,7 +223,7 @@
     * @return ä¸»é¢˜åº“分类显示树
     */
    @GetMapping("/referTree")
    public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
    public List<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject)  {
        return codeClassifyService.referTree(treeQueryObject);
    }
@@ -235,7 +232,7 @@
     * @param oid åˆ†ç±»ä¸»é”®
     */
    @GetMapping("/exportClassify")
    public void exportClassify(String oid, HttpServletResponse response) throws IOException {
    public void exportClassify(@ApiParam(value = "主键", required = true) @RequestParam String oid, HttpServletResponse response) throws IOException {
        String excelName = codeClassifyService.exportClassify(oid);
        try {
            ControllerUtil.writeFileToResponse(response,excelName);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClsflowtempController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import com.vci.ubcs.code.mapper.CodeClsflowtempMapper;
import com.vci.ubcs.code.service.ICodeClsflowtempService;
import com.vci.ubcs.code.vo.CodeClsflowtempVO;
import com.vci.ubcs.code.wrapper.CodeClsflowtempWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * ç¼–码库定义-模板流程 æŽ§åˆ¶å™¨
 *
 * @author yuxc
 * @since 2023-04-20
 */
@RestController
@AllArgsConstructor
@RequestMapping("ubcs-code/CodeClsflowtemp")
@Api(value = "编码库定义-模板流程", tags = "编码库定义-模板流程接口")
public class CodeClsflowtempController extends BladeController {
    private final ICodeClsflowtempService CodeClsflowtempService;
    private CodeClsflowtempMapper codeClsflowtempMapper;
    /**
     * ç¼–码库定义-模板流程 è¯¦æƒ…
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入CodeClsflowtemp")
    public R<CodeClsflowtempVO> detail(CodeClsflowtempEntity CodeClsflowtemp) {
        CodeClsflowtempEntity detail = CodeClsflowtempService.getOne(Condition.getQueryWrapper(CodeClsflowtemp));
        return R.data(CodeClsflowtempWrapper.build().entityVO(detail));
    }
    /**
     * ç¼–码库定义-模板流程 åˆ†é¡µ
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入CodeClsflowtemp")
    public R<IPage<CodeClsflowtempVO>> list(CodeClsflowtempEntity CodeClsflowtemp, Query query) {
        IPage<CodeClsflowtempEntity> pages = CodeClsflowtempService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeClsflowtemp));
        return R.data(CodeClsflowtempWrapper.build().pageVO(pages));
    }
    /**
     * ç¼–码库定义-模板流程 è‡ªå®šä¹‰åˆ†é¡µ
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入CodeClsflowtemp")
    public R<IPage<CodeClsflowtempVO>> page(CodeClsflowtempVO CodeClsflowtemp, Query query) {
        IPage<CodeClsflowtempVO> pages = CodeClsflowtempService.selectCodeClsflowtempPage(Condition.getPage(query), CodeClsflowtemp);
        return R.data(pages);
    }
    /**
     * ç¼–码库定义-模板流程 æ–°å¢ž
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入CodeClsflowtemp")
    public R save(@Valid @RequestBody CodeClsflowtempEntity CodeClsflowtemp) {
        return R.status(CodeClsflowtempService.save(CodeClsflowtemp));
    }
    /**
     * ç¼–码库定义-模板流程 ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入CodeClsflowtemp")
    public R update(@Valid @RequestBody CodeClsflowtempEntity CodeClsflowtemp) {
        return R.status(CodeClsflowtempService.updateById(CodeClsflowtemp));
    }
    /**
     * ç¼–码库定义-模板流程 æ–°å¢žæˆ–修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入CodeClsflowtemp")
    public R submit(@Valid @RequestBody CodeClsflowtempEntity CodeClsflowtemp) {
        return R.status(CodeClsflowtempService.saveOrUpdate(CodeClsflowtemp));
    }
    /**
     * ç¼–码库定义-模板流程 åˆ é™¤
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(SqlHelper.retBool(codeClsflowtempMapper.deleteBatchIds(Func.toLongList(ids))));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstempattrController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
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.wrapper.CodeClstempattrWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * ç¼–码库定义-模板属性 æŽ§åˆ¶å™¨
 *
 * @author yuxc
 * @since 2023-04-19
 */
@RestController
@AllArgsConstructor
@RequestMapping("/CodeClstempattr")
@Api(value = "编码库定义-模板属性", tags = "编码库定义-模板属性接口")
public class CodeClstempattrController extends BladeController {
    private final ICodeClstempattrService CodeClstempattrService;
    /**
     * ç¼–码库定义-模板属性 è¯¦æƒ…
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入CodeClstempattr")
    public R<CodeClstempattrVO> detail(CodeClstempattrEntity CodeClstempattr) {
        CodeClstempattrEntity detail = CodeClstempattrService.getOne(Condition.getQueryWrapper(CodeClstempattr));
        return R.data(CodeClstempattrWrapper.build().entityVO(detail));
    }
    /**
     * ç¼–码库定义-模板属性 åˆ†é¡µ
     */
    @GetMapping("/list")
    @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));
        return R.data(CodeClstempattrWrapper.build().pageVO(pages));
    }
    /**
     * ç¼–码库定义-模板属性 è‡ªå®šä¹‰åˆ†é¡µ
     */
    @GetMapping("/page")
    @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);
        return R.data(pages);
    }
    /**
     * ç¼–码库定义-模板属性 æ–°å¢ž
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入CodeClstempattr")
    public R save(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) {
        return R.status(CodeClstempattrService.save(CodeClstempattr));
    }
    /**
     * ç¼–码库定义-模板属性 ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入CodeClstempattr")
    public R update(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) {
        return R.status(CodeClstempattrService.updateById(CodeClstempattr));
    }
    /**
     * ç¼–码库定义-模板属性 æ–°å¢žæˆ–修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入CodeClstempattr")
    public R submit(@Valid @RequestBody CodeClstempattrEntity CodeClstempattr) {
        return R.status(CodeClstempattrService.saveOrUpdate(CodeClstempattr));
    }
    /**
     * ç¼–码库定义-模板属性 åˆ é™¤
     */
    @PostMapping("/remove")
    @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)));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClstemplateController.java
@@ -16,27 +16,33 @@
 */
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.vci.ubcs.code.mapper.CodeButtonMapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.dto.CodeClstemplateDTO;
import com.vci.ubcs.code.entity.CodeClstemplateEntity;
import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC;
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.code.vo.pagemodel.TreeQueryObject;
import com.vci.ubcs.code.wrapper.PlCodeClstemplateWrapper;
import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vci.ubcs.code.entity.CodeClstemplateEntity;
import com.vci.ubcs.code.vo.CodeClstemplateVO;
import com.vci.ubcs.code.wrapper.PlCodeClstemplateWrapper;
import com.vci.ubcs.code.service.ICodeClstemplateService;
import org.springblade.core.boot.ctrl.BladeController;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
 * ç¼–码库定义-模板管理 æŽ§åˆ¶å™¨
@@ -46,7 +52,7 @@
 */
@RestController
@AllArgsConstructor
@RequestMapping("/plCodeClstemplate")
@RequestMapping("/codeClstemplate")
@Api(value = "编码库定义-模板管理", tags = "编码库定义-模板管理接口")
public class CodeClstemplateController extends BladeController {
@@ -65,7 +71,7 @@
        return R.data(PlCodeClstemplateWrapper.build().entityVO(detail));
    }
    /**
     * ç¼–码库定义-模板管理 åˆ†é¡µ
     * ç¼–码库定义-模板管理 åˆ†é¡µ,分类模板列表对应以前平台的gridCodeClassifyTemplate
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
@@ -126,5 +132,120 @@
        return R.status(SqlHelper.retBool(codeClstemplateMapper.deleteBatchIds(Func.toLongList(ids))));
    }
    /**
     * åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ ‘
     * @param treeQueryObject æ ‘形查询对象
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºæ ‘
     */
    @GetMapping("/treeCodeClassifyTemplate")
    public List<Tree> treeCodeClassifyTemplate(TreeQueryObject treeQueryObject)  {
        return  plCodeClstemplateService.treeCodeClassifyTemplate(treeQueryObject);
    }
//    /**
//     * åˆ†ç±»æ¨¡æ¿åˆ—表
//     * @param baseQueryObject åŸºç¡€æŸ¥è¯¢å¯¹è±¡
//     * @return æ˜¾ç¤ºå¯¹è±¡
//     */
//    @GetMapping("/gridCodeClassifyTemplate")
//    public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(BaseQueryObject baseQueryObject){
//
//        return  plCodeClstemplateService.gridCodeClassifyTemplate(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper());
//    }
    /**
     * æ£€æŸ¥ åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¯å¦åˆ é™¤
     * @param codeClstemplateDTO åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ•°æ®ä¼ è¾“对象,必须要有oid和ts属性
     * @return æ‰§è¡Œç»“æžœ success为true为可以删除,false表示有数据引用,obj为true表示有下级
     */
    @PostMapping( "/checkIsCanDelete")
    public R checkIsCanDelete(@RequestBody CodeClstemplateDTO codeClstemplateDTO)  {
        return plCodeClstemplateService.checkIsCanDelete(codeClstemplateDTO);
    }
    /**
     * åˆ é™¤åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param codeClstemplateDTO åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ•°æ®ä¼ è¾“对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delCodeClassifyTemplate( CodeClstemplateDTO codeClstemplateDTO) {
        return plCodeClstemplateService.deleteCodeClassifyTemplate(codeClstemplateDTO);
    }
    /**
     * ä¸»é”®èŽ·å–åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param oid ä¸»é”®
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºå¯¹è±¡
     */
    @GetMapping("/getObjectByOid")
    public R<CodeClstemplateVO> getObjectByOid(String oid){
        CodeClstemplateVO codeClassifyTemplateVO = plCodeClstemplateService.getObjectByOid(oid);
        return R.data(codeClassifyTemplateVO);
    }
    /**
     * ä¸»é”®æ‰¹é‡èŽ·å–åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param oids ä¸»é”®ï¼Œå¤šä¸ªä»¥é€—号分隔,但是受性能影响,建议一次查询不超过10000个
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºå¯¹è±¡
     */
    @GetMapping("/listDataByOids")
    public R<Collection<CodeClstemplateVO>> listCodeClassifyTemplateByOids(String oids){
        Collection<CodeClstemplateVO> voCollection =  plCodeClstemplateService.listCodeClassifyTemplateByOids(VciBaseUtil.str2List(oids));
        return  R.data(voCollection) ;
    }
    /**
     * å‚ç…§æ ‘ åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param treeQueryObject æ ‘形查询对象
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºæ ‘
     */
    @GetMapping("/referTree")
    public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
        return plCodeClstemplateService.referTree(treeQueryObject);
    }
    /**
     * å¯ç”¨
     * @param codeClstemplateEntity oid
     * @return
     */
    @PostMapping( "/enableData")
    public R enable( CodeClstemplateDTO codeClstemplateDTO) {
        return plCodeClstemplateService.updateLcStatus(codeClstemplateDTO.getOid(), CodeClassifyTemplateLC.RELEASED.getValue());
    }
    /**
     * åœç”¨
     * @param codeClassifyDTO oid
     * @return
     */
    @PostMapping( "/disableData")
    public R disableData( CodeClstemplateDTO codeClassifyDTO) {
        return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.DISABLED.getValue());
    }
    /**
     * å†ç¼–辑
     * @param codeClassifyDTO oid
     * @return
     */
    @PostMapping( "/editDate")
    public R editDate( CodeClstemplateDTO codeClassifyDTO) {
        return plCodeClstemplateService.updateLcStatus(codeClassifyDTO.getOid(),CodeClassifyTemplateLC.EDITING.getValue());
    }
    /**
     * å‡ç‰ˆ
     * @param codeClassifyDTO
     * @return oid模板oid
     */
    @PostMapping( "/upgrade")
    public R Upgrade(@RequestBody CodeClstemplateDTO codeClassifyDTO) {
        return plCodeClstemplateService.Upgrade(codeClassifyDTO);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodePhaseattrController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import com.vci.ubcs.code.mapper.CodePhaseattrMapper;
import com.vci.ubcs.code.service.ICodePhaseattrService;
import com.vci.ubcs.code.vo.CodePhaseattrVO;
import com.vci.ubcs.code.wrapper.CodePhaseattrWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * ç¼–码库定义-模板阶段-属性 æŽ§åˆ¶å™¨
 *
 * @author yuxc
 * @since 2023-04-20
 */
@RestController
@AllArgsConstructor
@RequestMapping("ubcs-code/CodePhaseattr")
@Api(value = "编码库定义-模板阶段-属性", tags = "编码库定义-模板阶段-属性接口")
public class CodePhaseattrController extends BladeController {
    private final ICodePhaseattrService CodePhaseattrService;
    private CodePhaseattrMapper codePhaseattrMapper;
    /**
     * ç¼–码库定义-模板阶段-属性 è¯¦æƒ…
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入CodePhaseattr")
    public R<CodePhaseattrVO> detail(CodePhaseattrEntity CodePhaseattr) {
        CodePhaseattrEntity detail = CodePhaseattrService.getOne(Condition.getQueryWrapper(CodePhaseattr));
        return R.data(CodePhaseattrWrapper.build().entityVO(detail));
    }
    /**
     * ç¼–码库定义-模板阶段-属性 åˆ†é¡µ
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入CodePhaseattr")
    public R<IPage<CodePhaseattrVO>> list(CodePhaseattrEntity CodePhaseattr, Query query) {
        IPage<CodePhaseattrEntity> pages = CodePhaseattrService.page(Condition.getPage(query), Condition.getQueryWrapper(CodePhaseattr));
        return R.data(CodePhaseattrWrapper.build().pageVO(pages));
    }
    /**
     * ç¼–码库定义-模板阶段-属性 è‡ªå®šä¹‰åˆ†é¡µ
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入CodePhaseattr")
    public R<IPage<CodePhaseattrVO>> page(CodePhaseattrVO CodePhaseattr, Query query) {
        IPage<CodePhaseattrVO> pages = CodePhaseattrService.selectCodePhaseattrPage(Condition.getPage(query), CodePhaseattr);
        return R.data(pages);
    }
    /**
     * ç¼–码库定义-模板阶段-属性 æ–°å¢ž
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入CodePhaseattr")
    public R save(@Valid @RequestBody CodePhaseattrEntity CodePhaseattr) {
        return R.status(CodePhaseattrService.save(CodePhaseattr));
    }
    /**
     * ç¼–码库定义-模板阶段-属性 ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入CodePhaseattr")
    public R update(@Valid @RequestBody CodePhaseattrEntity CodePhaseattr) {
        return R.status(CodePhaseattrService.updateById(CodePhaseattr));
    }
    /**
     * ç¼–码库定义-模板阶段-属性 æ–°å¢žæˆ–修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入CodePhaseattr")
    public R submit(@Valid @RequestBody CodePhaseattrEntity CodePhaseattr) {
        return R.status(CodePhaseattrService.saveOrUpdate(CodePhaseattr));
    }
    /**
     * ç¼–码库定义-模板阶段-属性 åˆ é™¤
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(SqlHelper.retBool(codePhaseattrMapper.deleteBatchIds(Func.toLongList(ids))));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeTempbuttonController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import com.vci.ubcs.code.mapper.CodeTempbuttonMapper;
import com.vci.ubcs.code.service.ICodeTempbuttonService;
import com.vci.ubcs.code.vo.CodeTempbuttonVO;
import com.vci.ubcs.code.wrapper.CodeTempbuttonWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * ç¼–码库定义-模板按钮扩展 æŽ§åˆ¶å™¨
 *
 * @author yuxc
 * @since 2023-04-20
 */
@RestController
@AllArgsConstructor
@RequestMapping("ubcs-code/CodeTempbutton")
@Api(value = "编码库定义-模板按钮扩展", tags = "编码库定义-模板按钮扩展接口")
public class CodeTempbuttonController extends BladeController {
    private final ICodeTempbuttonService CodeTempbuttonService;
    private CodeTempbuttonMapper codeTempbuttonMapper;
    /**
     * ç¼–码库定义-模板按钮扩展 è¯¦æƒ…
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入CodeTempbutton")
    public R<CodeTempbuttonVO> detail(CodeTempbuttonEntity CodeTempbutton) {
        CodeTempbuttonEntity detail = CodeTempbuttonService.getOne(Condition.getQueryWrapper(CodeTempbutton));
        return R.data(CodeTempbuttonWrapper.build().entityVO(detail));
    }
    /**
     * ç¼–码库定义-模板按钮扩展 åˆ†é¡µ
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入CodeTempbutton")
    public R<IPage<CodeTempbuttonVO>> list(CodeTempbuttonEntity CodeTempbutton, Query query) {
        IPage<CodeTempbuttonEntity> pages = CodeTempbuttonService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeTempbutton));
        return R.data(CodeTempbuttonWrapper.build().pageVO(pages));
    }
    /**
     * ç¼–码库定义-模板按钮扩展 è‡ªå®šä¹‰åˆ†é¡µ
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入CodeTempbutton")
    public R<IPage<CodeTempbuttonVO>> page(CodeTempbuttonVO CodeTempbutton, Query query) {
        IPage<CodeTempbuttonVO> pages = CodeTempbuttonService.selectCodeTempbuttonPage(Condition.getPage(query), CodeTempbutton);
        return R.data(pages);
    }
    /**
     * ç¼–码库定义-模板按钮扩展 æ–°å¢ž
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入CodeTempbutton")
    public R save(@Valid @RequestBody CodeTempbuttonEntity CodeTempbutton) {
        return R.status(CodeTempbuttonService.save(CodeTempbutton));
    }
    /**
     * ç¼–码库定义-模板按钮扩展 ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入CodeTempbutton")
    public R update(@Valid @RequestBody CodeTempbuttonEntity CodeTempbutton) {
        return R.status(CodeTempbuttonService.updateById(CodeTempbutton));
    }
    /**
     * ç¼–码库定义-模板按钮扩展 æ–°å¢žæˆ–修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入CodeTempbutton")
    public R submit(@Valid @RequestBody CodeTempbuttonEntity CodeTempbutton) {
        return R.status(CodeTempbuttonService.saveOrUpdate(CodeTempbutton));
    }
    /**
     * ç¼–码库定义-模板按钮扩展 åˆ é™¤
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(SqlHelper.retBool(codeTempbuttonMapper.deleteBatchIds(Func.toLongList(ids))));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeTempphaseController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
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.code.wrapper.CodeTempphaseWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * ç¼–码库定义-模板阶段 æŽ§åˆ¶å™¨
 *
 * @author yuxc
 * @since 2023-04-20
 */
@RestController
@AllArgsConstructor
@RequestMapping("ubcs-code/CodeTempphase")
@Api(value = "编码库定义-模板阶段", tags = "编码库定义-模板阶段接口")
public class CodeTempphaseController extends BladeController {
    private final ICodeTempphaseService CodeTempphaseService;
    private CodeTempphaseMapper codeTempphaseMapper;
    /**
     * ç¼–码库定义-模板阶段 è¯¦æƒ…
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入CodeTempphase")
    public R<CodeTempphaseVO> detail(CodeTempphaseEntity CodeTempphase) {
        CodeTempphaseEntity detail = CodeTempphaseService.getOne(Condition.getQueryWrapper(CodeTempphase));
        return R.data(CodeTempphaseWrapper.build().entityVO(detail));
    }
    /**
     * ç¼–码库定义-模板阶段 åˆ†é¡µ
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入CodeTempphase")
    public R<IPage<CodeTempphaseVO>> list(CodeTempphaseEntity CodeTempphase, Query query) {
        IPage<CodeTempphaseEntity> pages = CodeTempphaseService.page(Condition.getPage(query), Condition.getQueryWrapper(CodeTempphase));
        return R.data(CodeTempphaseWrapper.build().pageVO(pages));
    }
    /**
     * ç¼–码库定义-模板阶段 è‡ªå®šä¹‰åˆ†é¡µ
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入CodeTempphase")
    public R<IPage<CodeTempphaseVO>> page(CodeTempphaseVO CodeTempphase, Query query) {
        IPage<CodeTempphaseVO> pages = CodeTempphaseService.selectCodeTempphasePage(Condition.getPage(query), CodeTempphase);
        return R.data(pages);
    }
    /**
     * ç¼–码库定义-模板阶段 æ–°å¢ž
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入CodeTempphase")
    public R save(@Valid @RequestBody CodeTempphaseEntity CodeTempphase) {
        return R.status(CodeTempphaseService.save(CodeTempphase));
    }
    /**
     * ç¼–码库定义-模板阶段 ä¿®æ”¹
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入CodeTempphase")
    public R update(@Valid @RequestBody CodeTempphaseEntity CodeTempphase) {
        return R.status(CodeTempphaseService.updateById(CodeTempphase));
    }
    /**
     * ç¼–码库定义-模板阶段 æ–°å¢žæˆ–修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入CodeTempphase")
    public R submit(@Valid @RequestBody CodeTempphaseEntity CodeTempphase) {
        return R.status(CodeTempphaseService.saveOrUpdate(CodeTempphase));
    }
    /**
     * ç¼–码库定义-模板阶段 åˆ é™¤
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(SqlHelper.retBool(codeTempphaseMapper.deleteBatchIds(Func.toLongList(ids))));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/CodeClassifyTemplateLC.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
package com.vci.ubcs.code.enumpack;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
public enum CodeClassifyTemplateLC {
    /**
     * ç¼–辑中
     */
    EDITING(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING,"编辑中"),
    /**
     * å·²å‘布
     */
    RELEASED(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED,"已发布"),
    /**
     * åœç”¨
     */
    DISABLED(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED,"停用");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private CodeClassifyTemplateLC(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (CodeClassifyTemplateLC wenum : CodeClassifyTemplateLC.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (CodeClassifyTemplateLC wenum : CodeClassifyTemplateLC.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static CodeClassifyTemplateLC forValue(String value) {
        for (CodeClassifyTemplateLC wenum : CodeClassifyTemplateLC.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClsflowtempClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodeClsflowtempMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import com.vci.ubcs.code.service.ICodeClsflowtempService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
 * ç¼–码库定义-模板流程 Feign实现类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@ApiIgnore()
@RestController
@AllArgsConstructor
public class CodeClsflowtempClient implements ICodeClsflowtempClient {
    private CodeClsflowtempMapper codeClsflowtempMapper;
    @Override
    @GetMapping(TOP)
    public BladePage<CodeClsflowtempEntity> top(Integer current, Integer size) {
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
        IPage<CodeClsflowtempEntity> page = codeClsflowtempMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClstempattrClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodeClstempattrMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import com.vci.ubcs.code.service.ICodeClstempattrService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
 * ç¼–码库定义-模板属性 Feign实现类
 *
 * @author yuxc
 * @since 2023-04-19
 */
@ApiIgnore()
@RestController
@AllArgsConstructor
public class CodeClstempattrClient implements ICodeClstempattrClient {
    private CodeClstempattrMapper codeClstempattrMapper;
    @Override
    @GetMapping(TOP)
    public BladePage<CodeClstempattrEntity> top(Integer current, Integer size) {
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
        IPage<CodeClstempattrEntity> page = codeClstempattrMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClstemplateClient.java
@@ -16,8 +16,12 @@
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodeClstemplateMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodeClstemplateEntity;
import com.vci.ubcs.code.service.ICodeClstemplateService;
@@ -36,7 +40,7 @@
@AllArgsConstructor
public class CodeClstemplateClient implements lCodeClstemplateClient {
    private final ICodeClstemplateService plCodeClstemplateService;
    private final CodeClstemplateMapper codeClstemplateMapper;
    @Override
    @GetMapping(TOP)
@@ -44,9 +48,9 @@
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
//        IPage<CodeClstemplateEntity> page = service.page(Condition.getPage(query));
//        return BladePage.of(page);
        return null;
        IPage<CodeClstemplateEntity> page = codeClstemplateMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeOsbtmtypeClient.java
@@ -16,8 +16,12 @@
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodeOsbtmtypeEntity;
import com.vci.ubcs.code.service.ICodeOsbtmtypeService;
@@ -36,7 +40,7 @@
@AllArgsConstructor
public class CodeOsbtmtypeClient implements ICodeOsbtmtypeClient {
    private final ICodeOsbtmtypeService PLCodeOsbtmtypeService;
    private final CodeOsbtmtypeMapper codeOsbtmtypeMapper;
    @Override
    @GetMapping(TOP)
@@ -44,9 +48,8 @@
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
//        IPage<CodeOsbtmtypeEntity> page = service.page(Condition.getPage(query));
        return null;
//        return BladePage.of(page);
        IPage<CodeOsbtmtypeEntity> page = codeOsbtmtypeMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodePhaseattrClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodePhaseattrMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import com.vci.ubcs.code.service.ICodePhaseattrService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
 * ç¼–码库定义-模板阶段-属性 Feign实现类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@ApiIgnore()
@RestController
@AllArgsConstructor
public class CodePhaseattrClient implements ICodePhaseattrClient {
    private final CodePhaseattrMapper codePhaseattrMapper;
    @Override
    @GetMapping(TOP)
    public BladePage<CodePhaseattrEntity> top(Integer current, Integer size) {
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
        IPage<CodePhaseattrEntity> page = codePhaseattrMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeTempbuttonClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodeTempbuttonMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import com.vci.ubcs.code.service.ICodeTempbuttonService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
 * ç¼–码库定义-模板按钮扩展 Feign实现类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@ApiIgnore()
@RestController
@AllArgsConstructor
public class CodeTempbuttonClient implements ICodeTempbuttonClient {
    private final CodeTempbuttonMapper codeTempbuttonMapper;
    @Override
    @GetMapping(TOP)
    public BladePage<CodeTempbuttonEntity> top(Integer current, Integer size) {
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
        IPage<CodeTempbuttonEntity> page = codeTempbuttonMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeTempphaseClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.mapper.CodeTempphaseMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import com.vci.ubcs.code.service.ICodeTempphaseService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
 * ç¼–码库定义-模板阶段 Feign实现类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@ApiIgnore()
@RestController
@AllArgsConstructor
public class CodeTempphaseClient implements ICodeTempphaseClient {
    private final CodeTempphaseMapper codeTempphaseMapper;
    @Override
    @GetMapping(TOP)
    public BladePage<CodeTempphaseEntity> top(Integer current, Integer size) {
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
        IPage<CodeTempphaseEntity> page = codeTempphaseMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
        return BladePage.of(page);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClsflowtempClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import org.springblade.core.mp.support.BladePage;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * ç¼–码库定义-模板流程 Feign接口类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@FeignClient(
    value = "ubcs-code"
)
public interface ICodeClsflowtempClient {
    String API_PREFIX = "/clientFlowtemp";
    String TOP = API_PREFIX + "/top";
    /**
     * èŽ·å–ç¼–ç åº“å®šä¹‰-模板流程列表
     *
     * @param current   é¡µå·
     * @param size      é¡µæ•°
     * @return BladePage
     */
    @GetMapping(TOP)
    BladePage<CodeClsflowtempEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeClstempattrClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import org.springblade.core.mp.support.BladePage;
import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * ç¼–码库定义-模板属性 Feign接口类
 *
 * @author yuxc
 * @since 2023-04-19
 */
@FeignClient(
    value = "ubcs-code"
)
public interface ICodeClstempattrClient {
    String API_PREFIX = "/clientTempAttr";
    String TOP = API_PREFIX + "/top";
    /**
     * èŽ·å–ç¼–ç åº“å®šä¹‰-模板属性列表
     *
     * @param current   é¡µå·
     * @param size      é¡µæ•°
     * @return BladePage
     */
    @GetMapping(TOP)
    BladePage<CodeClstempattrEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodePhaseattrClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import org.springblade.core.mp.support.BladePage;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * ç¼–码库定义-模板阶段-属性 Feign接口类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@FeignClient(
    value = "ubcs-code"
)
public interface ICodePhaseattrClient {
    String API_PREFIX = "/clientPhaseattr";
    String TOP = API_PREFIX + "/top";
    /**
     * èŽ·å–ç¼–ç åº“å®šä¹‰-模板阶段-属性列表
     *
     * @param current   é¡µå·
     * @param size      é¡µæ•°
     * @return BladePage
     */
    @GetMapping(TOP)
    BladePage<CodePhaseattrEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeTempbuttonClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import org.springblade.core.mp.support.BladePage;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * ç¼–码库定义-模板按钮扩展 Feign接口类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@FeignClient(
    value = "ubcs-code"
)
public interface ICodeTempbuttonClient {
    String API_PREFIX = "/clientTempButton";
    String TOP = API_PREFIX + "/top";
    /**
     * èŽ·å–ç¼–ç åº“å®šä¹‰-模板按钮扩展列表
     *
     * @param current   é¡µå·
     * @param size      é¡µæ•°
     * @return BladePage
     */
    @GetMapping(TOP)
    BladePage<CodeTempbuttonEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/ICodeTempphaseClient.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.feign;
import org.springblade.core.mp.support.BladePage;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * ç¼–码库定义-模板阶段 Feign接口类
 *
 * @author yuxc
 * @since 2023-04-20
 */
@FeignClient(
    value = "ubcs-code"
)
public interface ICodeTempphaseClient {
    String API_PREFIX = "/clientPhase";
    String TOP = API_PREFIX + "/top";
    /**
     * èŽ·å–ç¼–ç åº“å®šä¹‰-模板阶段列表
     *
     * @param current   é¡µå·
     * @param size      é¡µæ•°
     * @return BladePage
     */
    @GetMapping(TOP)
    BladePage<CodeTempphaseEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -49,7 +50,7 @@
     * @return
     */
    @MapKey("oid")
    Map<String,String> selectAllLevelChildOid(String oid);
    Map<String,String> selectAllLevelChildOid(@Param("oid") String oid);
    /**
     * æ ¡éªŒæ˜¯å¦åŒ…含子节点
@@ -58,7 +59,7 @@
     * @return true è¡¨ç¤ºåŒ…含
     */
//    @MapKey("oid")
    Boolean checkHasChild(String oid);
    Boolean checkHasChild(@Param("oid") String oid);
    /**
     * æŸ¥æ‰¾æ ‘形结构
@@ -66,7 +67,7 @@
     * @param oid åˆ†ç±»çš„主键
     * @return æ•°æ®é›†åˆ
     */
    List<CodeClassify> selectCodeClassifyVOByTree(String oid);
    List<CodeClassify> selectCodeClassifyVOByTree(@Param("oid") String oid);
    /**
     * æŸ¥æ‰¾æ ‘形结构
@@ -74,14 +75,14 @@
     * @param oid åˆ†ç±»çš„主键
     * @return æ•°æ®é›†åˆ
     */
    List<CodeClassify> selectAllLevelChildHasPath(String oid);
    List<CodeClassify> selectAllLevelChildHasPath(@Param("oid") String oid);
    @MapKey("oid")
    List<Map<String,Object>> selectAllLevelParentByOid(String oid);
    List<Map<String,Object>> selectAllLevelParentByOid(@Param("oid") String oid);
    @MapKey("oid")
    List<Map<String,Object>> selectByFieldPath(String fieldPath);
    List<Map<String,Object>> selectByFieldPath(@Param("fieldPath") String fieldPath);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClsflowtempMapper.java
copy from Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java copy to Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClsflowtempMapper.java
Îļþ´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java ¸´ÖÆ
@@ -14,51 +14,30 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.mapper;
package com.vci.ubcs.code.mapper;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import com.vci.ubcs.code.vo.CodeClsflowtempVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * Mapper æŽ¥å£
 * ç¼–码库定义-模板流程 Mapper æŽ¥å£
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
public interface DictBizMapper extends BaseMapper<DictBizM> {
public interface CodeClsflowtempMapper extends BaseMapper<CodeClsflowtempEntity> {
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”ä¸­æ–‡
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param code    å­—典编号
     * @param dictKey å­—典序号
     * @param page
     * @param CodeClsflowtemp
     * @return
     */
    String getValue(String code, String dictKey);
    List<CodeClsflowtempVO> selectCodeClsflowtempPage(IPage page, CodeClsflowtempVO CodeClsflowtemp);
    /**
     * èŽ·å–å­—å…¸è¡¨
     *
     * @param code å­—典编号
     * @return
     */
    List<DictBizM> getList(String code);
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> tree();
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> parentTree();
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstempattrMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.mapper;
import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import com.vci.ubcs.code.vo.CodeClstempattrVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * ç¼–码库定义-模板属性 Mapper æŽ¥å£
 *
 * @author yuxc
 * @since 2023-04-19
 */
public interface CodeClstempattrMapper extends BaseMapper<CodeClstempattrEntity> {
    /**
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param page
     * @param CodeClstempattr
     * @return
     */
    List<CodeClstempattrVO> selectCodeClstempattrPage(IPage page, CodeClstempattrVO CodeClstempattr);
    /**
     * æ¡ä»¶æŸ¥è¯¢æŽ’序
     *
     * @param classifytemplateoid
     * @return
     */
    List<CodeClstempattrEntity> selectByClassifytemplateoid(String classifytemplateoid);
    List<CodeClstempattrEntity> selectRefByOid(String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClstemplateMapper.java
@@ -20,6 +20,7 @@
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.Param;
import java.util.List;
@@ -40,5 +41,21 @@
     */
    List<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage page, CodeClstemplateVO plCodeClstemplate);
    /**
     * èŽ·å–æ‰€æœ‰å±‚çº§ä¸‹çº§çš„ä¸»é”®
     *
     * @param oid
     * @return
     */
    List<String> selectAllLevelChildOid(@Param("oid") String oid);
    /**
     * æ ¡éªŒæ˜¯å¦æœ‰ä¸‹çº§èŠ‚ç‚¹ï¼Œä¸æ ¡éªŒæ˜¯å¦å…³è”äº†æ•°æ®
     *
     * @param oid
     * @return
     */
    int countAllLevelChildOid(@Param("oid") String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java
copy from Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java copy to Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodePhaseattrMapper.java
Îļþ´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java ¸´ÖÆ
@@ -14,51 +14,31 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.mapper;
package com.vci.ubcs.code.mapper;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import com.vci.ubcs.code.vo.CodePhaseattrVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * Mapper æŽ¥å£
 * ç¼–码库定义-模板阶段-属性 Mapper æŽ¥å£
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
public interface DictBizMapper extends BaseMapper<DictBizM> {
public interface CodePhaseattrMapper extends BaseMapper<CodePhaseattrEntity> {
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”ä¸­æ–‡
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param code    å­—典编号
     * @param dictKey å­—典序号
     * @param page
     * @param CodePhaseattr
     * @return
     */
    String getValue(String code, String dictKey);
    List<CodePhaseattrVO> selectCodePhaseattrPage(IPage page, CodePhaseattrVO CodePhaseattr);
    /**
     * èŽ·å–å­—å…¸è¡¨
     *
     * @param code å­—典编号
     * @return
     */
    List<DictBizM> getList(String code);
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> tree();
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> parentTree();
    List<CodePhaseattrEntity> selectByPhasea(String oid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeTempbuttonMapper.java
copy from Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java copy to Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeTempbuttonMapper.java
Îļþ´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java ¸´ÖÆ
@@ -14,51 +14,30 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.mapper;
package com.vci.ubcs.code.mapper;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import com.vci.ubcs.code.vo.CodeTempbuttonVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * Mapper æŽ¥å£
 * ç¼–码库定义-模板按钮扩展 Mapper æŽ¥å£
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
public interface DictBizMapper extends BaseMapper<DictBizM> {
public interface CodeTempbuttonMapper extends BaseMapper<CodeTempbuttonEntity> {
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”ä¸­æ–‡
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param code    å­—典编号
     * @param dictKey å­—典序号
     * @param page
     * @param CodeTempbutton
     * @return
     */
    String getValue(String code, String dictKey);
    List<CodeTempbuttonVO> selectCodeTempbuttonPage(IPage page, CodeTempbuttonVO CodeTempbutton);
    /**
     * èŽ·å–å­—å…¸è¡¨
     *
     * @param code å­—典编号
     * @return
     */
    List<DictBizM> getList(String code);
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> tree();
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> parentTree();
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeTempphaseMapper.java
copy from Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java copy to Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeTempphaseMapper.java
Îļþ´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java ¸´ÖÆ
@@ -14,51 +14,30 @@
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.omd.mapper;
package com.vci.ubcs.code.mapper;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import com.vci.ubcs.code.vo.CodeTempphaseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
 * Mapper æŽ¥å£
 * ç¼–码库定义-模板阶段 Mapper æŽ¥å£
 *
 * @author Chill
 * @author yuxc
 * @since 2023-04-20
 */
public interface DictBizMapper extends BaseMapper<DictBizM> {
public interface CodeTempphaseMapper extends BaseMapper<CodeTempphaseEntity> {
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”ä¸­æ–‡
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param code    å­—典编号
     * @param dictKey å­—典序号
     * @param page
     * @param CodeTempphase
     * @return
     */
    String getValue(String code, String dictKey);
    List<CodeTempphaseVO> selectCodeTempphasePage(IPage page, CodeTempphaseVO CodeTempphase);
    /**
     * èŽ·å–å­—å…¸è¡¨
     *
     * @param code å­—典编号
     * @return
     */
    List<DictBizM> getList(String code);
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> tree();
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> parentTree();
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClsflowtempService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import com.vci.ubcs.code.vo.CodeClsflowtempVO;
/**
 * ç¼–码库定义-模板流程 æœåŠ¡ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
public interface ICodeClsflowtempService extends IService<CodeClsflowtempEntity> {
    /**
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param page
     * @param CodeClsflowtemp
     * @return
     */
    IPage<CodeClsflowtempVO> selectCodeClsflowtempPage(IPage<CodeClsflowtempVO> page, CodeClsflowtempVO CodeClsflowtemp);
    /**
     * æ¨¡æ¿åˆ é™¤çš„æ—¶å€™è§¦å‘
     * @param classifyTemplateOid æ¨¡æ¿çš„主键
     * @return å—影响的内容
     */
    int codeTemplateDeleteTrigger(String classifyTemplateOid) ;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstempattrService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service;
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.vo.CodeClstempattrVO;
import java.util.Collection;
import java.util.List;
/**
 * ç¼–码库定义-模板属性 æœåŠ¡ç±»
 *
 * @author yuxc
 * @since 2023-04-19
 */
public interface ICodeClstempattrService extends IService<CodeClstempattrEntity> {
    /**
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param page
     * @param CodeClstempattr
     * @return
     */
    IPage<CodeClstempattrVO> selectCodeClstempattrPage(IPage<CodeClstempattrVO> page, CodeClstempattrVO CodeClstempattr);
    /**
     * ä½¿ç”¨æ¨¡æ¿çš„主键获取模板的属性--批量
     * @param templateOidCollection æ¨¡æ¿çš„主键
     * @return å±žæ€§çš„信息
     */
    List<CodeClstempattrVO> listCodeClassifyTemplateAttrByTemplateOids(Collection<String> templateOidCollection);
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeClassifyTemplateAttrDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    List<CodeClstempattrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClstempattrEntity>  codeClassifyTemplateAttrDOs);
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param  codeClassifyTemplateAttrDO æ•°æ®å¯¹è±¡
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    CodeClstempattrVO codeClassifyTemplateAttrDO2VO(CodeClstempattrEntity codeClassifyTemplateAttrDO);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClstemplateService.java
@@ -18,8 +18,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.dto.CodeClstemplateDTO;
import com.vci.ubcs.code.entity.CodeClstemplateEntity;
import com.vci.ubcs.code.vo.CodeClstemplateVO;
import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject;
import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
import org.springblade.core.tool.api.R;
import java.util.Collection;
import java.util.List;
/**
 * ç¼–码库定义-模板管理 æœåŠ¡ç±»
@@ -38,5 +45,113 @@
     */
    IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate);
    /**
     * æŸ¥è¯¢åˆ†ç±»æ¨¡æ¿å¯¹è±¡ æ ‘
     * @param treeQueryObject æ ‘查询对象
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡ æ˜¾ç¤ºæ ‘
     */
    List<Tree> treeCodeClassifyTemplate(TreeQueryObject treeQueryObject);
    /**
     * æ ¹æ®æ ‘形查询对象来查询数据对象
     *
     * @param treeQueryObject æ ‘形查询对象
     * @return æŸ¥è¯¢ç»“æžœ,数据对象
     */
    List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject);
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeClstemplateEntitys æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClstemplateEntitys);
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeClstemplateEntitys æ•°æ®å¯¹è±¡åˆ—表
     * @param hasAttr æ˜¯å¦åŒ…含属性
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClstemplateEntitys, boolean hasAttr);
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param  codeClstemplateEntity æ•°æ®å¯¹è±¡
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    CodeClstemplateVO codeClassifyTemplateDO2VO(CodeClstemplateEntity codeClstemplateEntity);
//    /**
//     * åˆ†ç±»æ¨¡æ¿åˆ—表
//     * @param conditionMap æŸ¥è¯¢æ¡ä»¶
//     * @param pageHelper åˆ†é¡µå¯¹è±¡
//     * @return æ˜¾ç¤ºå¯¹è±¡
//     */
//    DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(Map<String, String> conditionMap, PageHelper pageHelper) ;
    /**
     * æ£€æŸ¥ åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¯å¦åˆ é™¤
     * @param codeClstemplateDTO åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ•°æ®ä¼ è¾“对象,必须要有oid和ts属性
     * @return æ‰§è¡Œç»“æžœ success为true为可以删除,false表示有数据引用,obj为true表示有下级
     */
    R checkIsCanDelete(CodeClstemplateDTO codeClstemplateDTO);
    /**
     * æ£€æŸ¥æ˜¯å¦æœ‰ä¸‹çº§æ˜¯å¦å…³è”了数据
     *
     * @param oid ä¸»é”®
     * @return true è¡¨ç¤ºæœ‰å¼•用,false表示没有引用
     */
    boolean checkChildIsLinked(String oid);
    /**
     * æ ¡éªŒæ˜¯å¦æœ‰ä¸‹çº§èŠ‚ç‚¹ï¼Œä¸æ ¡éªŒæ˜¯å¦å…³è”äº†æ•°æ®
     *
     * @param oid ä¸»é”®
     * @return true表示有下级,false表示没有下级
     */
    boolean checkHasChild(String oid);
    /**
     * åˆ é™¤åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param codeClstemplateDTO åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ•°æ®ä¼ è¾“对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO);
    /**
     * ä¸»é”®èŽ·å–åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param oid ä¸»é”®
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºå¯¹è±¡
     */
    CodeClstemplateVO getObjectByOid(String oid) ;
    /**
     * ä¸»é”®æ‰¹é‡èŽ·å–åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param oidCollections ä¸»é”®é›†åˆï¼Œä½†æ˜¯å—性能影响,建议一次查询不超过10000个
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºå¯¹è±¡
     */
    Collection<CodeClstemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections);
    /**
     * å‚ç…§æ ‘ åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param treeQueryObject æ ‘形查询对象
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºæ ‘
     */
    List<Tree> referTree(TreeQueryObject treeQueryObject);
    /**
     * å¯ç”¨ã€åœç”¨
     * @param oid
     * @param lcStatus
     * @return
     */
    R updateLcStatus(String oid, String lcStatus);
    /**
     * å‡ç‰ˆ
     */
    R Upgrade(CodeClstemplateDTO codeClassifyDTO);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodePhaseattrService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import com.vci.ubcs.code.vo.CodePhaseattrVO;
/**
 * ç¼–码库定义-模板阶段-属性 æœåŠ¡ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
public interface ICodePhaseattrService extends IService<CodePhaseattrEntity> {
    /**
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param page
     * @param CodePhaseattr
     * @return
     */
    IPage<CodePhaseattrVO> selectCodePhaseattrPage(IPage<CodePhaseattrVO> page, CodePhaseattrVO CodePhaseattr);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempbuttonService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import com.vci.ubcs.code.vo.CodeTempbuttonVO;
/**
 * ç¼–码库定义-模板按钮扩展 æœåŠ¡ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
public interface ICodeTempbuttonService extends IService<CodeTempbuttonEntity> {
    /**
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param page
     * @param CodeTempbutton
     * @return
     */
    IPage<CodeTempbuttonVO> selectCodeTempbuttonPage(IPage<CodeTempbuttonVO> page, CodeTempbuttonVO CodeTempbutton);
    /**
     * æ¨¡æ¿åˆ é™¤çš„æ—¶å€™è§¦å‘
     * @param classifyTemplateOid æ¨¡æ¿çš„主键
     * @return å—影响的数据行
     */
    int codeTemplateDeleteTrigger(String classifyTemplateOid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempphaseService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import com.vci.ubcs.code.vo.CodeTempphaseVO;
/**
 * ç¼–码库定义-模板阶段 æœåŠ¡ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
public interface ICodeTempphaseService extends IService<CodeTempphaseEntity> {
    /**
     * è‡ªå®šä¹‰åˆ†é¡µ
     *
     * @param page
     * @param CodeTempphase
     * @return
     */
    IPage<CodeTempphaseVO> selectCodeTempphasePage(IPage<CodeTempphaseVO> page, CodeTempphaseVO CodeTempphase);
    /**
     * æ¨¡æ¿åˆ é™¤çš„æ—¶å€™è§¦å‘
     * @param classifyTemplateOid æ¨¡æ¿çš„主键
     * @return å—影响的数据
     */
    int codeTemplateDeleteTrigger(String classifyTemplateOid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -39,11 +39,11 @@
import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.com.vci.starter.web.util.LangBaseUtil;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import com.vci.ubcs.core.log.exception.ServiceException;
import org.apache.poi.hssf.util.HSSFColor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -67,12 +67,11 @@
    @Resource
    private CodeClstemplateMapper codeClstemplateMapper;
//    @Resource
//    private ICodeRuleService codeRuleService;
    @Resource
    private ICodeRuleService codeRuleService;
    @Resource
    private CodeOsbtmtypeMapper codeOsbtmtypeMapper;
    @Resource
    CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper;
@@ -116,8 +115,11 @@
        codeClassifyEntity.setCreator(AuthUtil.getUser().getUserName());
        codeClassifyEntity.setCreateTime(new Date());
        codeClassifyEntity.setTs(new Date());
        codeClassifyEntity.setOwner(AuthUtil.getUser().getUserName());
        codeClassifyEntity.setLastModifier(AuthUtil.getUser().getUserName());
        codeClassifyEntity.setLastModifyTime(new Date());
        codeClassifyEntity.setRevisionSeq(1);
        codeClassifyEntity.setVersionSeq(1);
        int insertNumber = codeClassifyMapper.insert(codeClassifyEntity);
        return R.status(SqlHelper.retBool(insertNumber));
    }
@@ -168,7 +170,11 @@
        if(codeClassifyEntity == null || codeClassifyEntity.getOid() == null){
            return R.fail("传入数据不能为空!");
        }
        codeClassifyEntity = selectByOid(codeClassifyEntity.getOid());
        CodeClassify codeClassifyNew = selectByOid(codeClassifyEntity.getOid());
        if(codeClassifyNew == null){
            return R.fail("未查询到相关数据!");
        }
        codeClassifyNew.setTs(codeClassifyEntity.getTs());
        return checkIsCanDeleteForDO(codeClassifyEntity);
    }
@@ -194,11 +200,11 @@
    private R checkIsCanDeleteForDO(CodeClassify codeClassifyEntity) {
        //检查ts
        Map<String,Object> condition = new HashMap<>(2);
        condition.put("oid",codeClassifyEntity.getOid());
        condition.put("ts",codeClassifyEntity.getTs());
        CodeClassify detail = codeClassifyMapper
            .selectOne(Condition.getQueryWrapper(condition,CodeClassify.class));
//        Map<String,Object> condition = new HashMap<>(2);
//        condition.put("oid",codeClassifyEntity.getOid());
//        condition.put("ts",codeClassifyEntity.getTs());
        CodeClassify detail = codeClassifyMapper.selectOne(Condition.getQueryWrapper(codeClassifyEntity));
//            .selectOne(Condition.getQueryWrapper(condition,CodeClassify.class));
        if(detail == null){//不是最新的不让改
            throw new ServiceException("当前数据不是最新,请刷新后再修改!");
//            return R.fail("当前数据不是最新,请刷新后再修改!");
@@ -327,6 +333,9 @@
        //查询修改前ts
        CodeClassify codeClassify = codeClassifyMapper.selectById(oid);//主要是为了查询ts
        codeClassify.setLcStatus(lcStatus);
        codeClassify.setTs(new Date());
        codeClassify.setLastModifyTime(new Date());
        codeClassify.setLastModifier(AuthUtil.getUser().getUserName());
        //启用、停用
//        int u = codeClassifyMapper.updateLcStatus(oid,lcStatus);
        int count = codeClassifyMapper.updateById(codeClassify);
@@ -667,19 +676,24 @@
            });
            throw new VciBaseException("路径有重复,{0}",new String[]{rowIndexList.stream().collect(Collectors.joining(","))});
        }
        //编号获取业务类型服务还未完成,所以等业务类型完成后进行后续的完成
//        Map<String, CodeRuleVO> ruleVOMap = Optional.ofNullable(codeRuleService.listCodeRuleByIds(
//            poList.stream().filter(s->StringUtils.isNotBlank(s.getCodeRuleId())).map(CodeClassifyPO::getCodeRuleId).collect(Collectors.toList()))
//        ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
        Map<String, CodeRuleVO> ruleVOMap = null;
        Map<String,CodeKeyAttrRepeatRuleVO> keyRuleVOMap =Optional.ofNullable(iCodeKeyattrrepeatService.listCodeKeyAttrRepeatRuleByOids(
            poList.stream().filter(s->StringUtils.isNotBlank(s.getKeyRepeatRuleId())).map(CodeClassifyPO::getKeyRepeatRuleId).collect(Collectors.toList()))
        //编号获取业务类型服务
        List<String> ruleOids = poList.stream().filter(
                s -> StringUtils.isNotBlank(s.getCodeRuleId()))
            .map(CodeClassifyPO::getCodeRuleId)
            .collect(Collectors.toList());
        Map<String, CodeRuleVO> ruleVOMap = Optional.ofNullable(ruleOids.size()==0 ? null:codeRuleService.listCodeRuleByOids(ruleOids)
        ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
//        codeOsbtmtypeMapper.selectList((Wrapper<CodeOsbtmtypeEntity>) poList);
//        Map<String, CodeOsbtmtypeVO> btmVOMap = Optional.ofNullable(
//            codeOsbtmtypeMapper.selectList((Wrapper<CodeOsbtmtypeEntity>) poList)
//        ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
        Map<String, CodeOsbtmtypeVO> btmVOMap = null;
        List<String> keyOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId()))
            .map(CodeClassifyPO::getKeyRepeatRuleId).collect(Collectors.toList());
        Map<String,CodeKeyAttrRepeatRuleVO> keyRuleVOMap =Optional.ofNullable(keyOids.size()==0 ? null: iCodeKeyattrrepeatService.listCodeKeyAttrRepeatRuleByOids(keyOids)
        ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
        List<String> btmOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId()))
            .map(CodeClassifyPO::getBtmTypeId).collect(Collectors.toList());
        Map<String, CodeOsbtmtypeEntity> btmVOMap = Optional.ofNullable(btmOids.size()==0 ? null: codeOsbtmtypeMapper.selectBatchIds(btmOids)
        ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2));
//        Map<String, CodeOsbtmtypeVO> btmVOMap = null;
        Map<String/**路径**/,String/**主键**/> oidPathMap = new HashMap<>();
        //我们需要查询所有已经存在的分类,主要是路径,用来判断分类的数据
@@ -709,7 +723,7 @@
            classify.setDescription(po.getDescription());
            oidPathMap.put(po.getPath(),classify.getOid());
            if(StringUtils.isNotBlank(po.getBtmTypeId())){
                CodeOsbtmtypeVO typeVO = btmVOMap.get(po.getBtmTypeId().toLowerCase(Locale.ROOT));
                CodeOsbtmtypeVO typeVO = (CodeOsbtmtypeVO)btmVOMap.get(po.getBtmTypeId().toLowerCase(Locale.ROOT));
                classify.setBtmTypeId(typeVO.getId());
                classify.setBtmTypeName(typeVO.getName());
            }
@@ -801,7 +815,7 @@
                    classifyDO.setTs(new Date());
                    classifyDO.setBtmname("codeclassify");
                    classifyDO.setLcStatus("Enabled");
                    classifyDO.setId("0");
                    classifyDO.setOwner(AuthUtil.getUser().getUserName());
                    classifyDO.setCreator(AuthUtil.getUser().getUserName());
                    classifyDO.setLastModifier(AuthUtil.getUser().getUserName());
                    classifyDO.setLastModifyTime(new Date());
@@ -920,7 +934,7 @@
        List<Map<String,Object>> cbos = codeClassifyMapper.selectAllLevelParentByOid(oid);
        Map<String,String> oidLevelMap = new HashMap<>();
        Optional.ofNullable(cbos).orElseGet(()->new ArrayList<>()).stream().forEach(cbo->{
            oidLevelMap.put(cbo.get("oid").toString(),cbo.get("level").toString());
            oidLevelMap.put(cbo.get("OID").toString(),cbo.get("LEVEL").toString());
        });
        if(CollectionUtils.isEmpty(oidLevelMap)){
            return new ArrayList<>();
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClsflowtempServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service.impl;
import com.alibaba.nacos.api.utils.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import com.vci.ubcs.code.mapper.CodeClsflowtempMapper;
import com.vci.ubcs.code.service.ICodeClsflowtempService;
import com.vci.ubcs.code.vo.CodeClsflowtempVO;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * ç¼–码库定义-模板流程 æœåŠ¡å®žçŽ°ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Service
public class CodeClsflowtempServiceImpl extends ServiceImpl<CodeClsflowtempMapper, CodeClsflowtempEntity> implements ICodeClsflowtempService {
    @Override
    public IPage<CodeClsflowtempVO> selectCodeClsflowtempPage(IPage<CodeClsflowtempVO> page, CodeClsflowtempVO CodeClsflowtemp) {
        return page.setRecords(baseMapper.selectCodeClsflowtempPage(page, CodeClsflowtemp));
    }
    /**
     * æ¨¡æ¿åˆ é™¤çš„æ—¶å€™è§¦å‘
     *
     * @param classifyTemplateOid æ¨¡æ¿çš„主键
     * @return å—影响的内容
     */
    @Override
    public int codeTemplateDeleteTrigger(String classifyTemplateOid) {
        int updateCount = 0;
        if(StringUtils.isBlank(classifyTemplateOid)){
            Map<String,Object> conditionMap = new HashMap<>();
            conditionMap.put("classifyTemplateOid",classifyTemplateOid);
            List<CodeClsflowtempEntity> codeClsflowtempEntities = baseMapper.selectByMap(conditionMap);
            if(!CollectionUtils.isEmpty(codeClsflowtempEntities)){
                updateCount += baseMapper.deleteBatchIds(codeClsflowtempEntities.stream()
                    .map(CodeClsflowtempEntity::getOid).collect(Collectors.toList()));
            }
        }
        return updateCount;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstempattrServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service.impl;
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.mapper.CodeClstempattrMapper;
import com.vci.ubcs.code.service.ICodeClstempattrService;
import com.vci.ubcs.code.vo.CodeClstempattrVO;
import com.vci.ubcs.com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
 * ç¼–码库定义-模板属性 æœåŠ¡å®žçŽ°ç±»
 *
 * @author yuxc
 * @since 2023-04-19
 */
@Service
public class CodeClstempattrServiceImpl extends ServiceImpl<CodeClstempattrMapper, CodeClstempattrEntity> implements ICodeClstempattrService {
    @Resource
    CodeClstempattrMapper codeClstempattrMapper;
    @Override
    public IPage<CodeClstempattrVO> selectCodeClstempattrPage(IPage<CodeClstempattrVO> page, CodeClstempattrVO CodeClstempattr) {
        return page.setRecords(baseMapper.selectCodeClstempattrPage(page, CodeClstempattr));
    }
    /**
     * ä½¿ç”¨æ¨¡æ¿çš„主键获取模板的属性--批量
     *
     * @param templateOidCollection æ¨¡æ¿çš„主键
     * @return å±žæ€§çš„信息
     */
    @Override
    public List<CodeClstempattrVO> listCodeClassifyTemplateAttrByTemplateOids(Collection<String> templateOidCollection) {
        if(CollectionUtils.isEmpty(templateOidCollection)){
            return new ArrayList<>();
        }
        List<CodeClstempattrEntity> attrDOList = new ArrayList<>();
        VciBaseUtil.switchCollectionForOracleIn(templateOidCollection).stream().forEach(templateOids->{
//            Map<String,String> conditionMap = new HashMap<>();
//            conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")");
//            PageHelper pageHelper = new PageHelper(-1);
//            pageHelper.addDefaultAsc("orderNum");
            List<CodeClstempattrEntity> attrDOS = baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
            if(!CollectionUtils.isEmpty(attrDOS)){
                attrDOList.addAll(attrDOS);
            }
        });
        return codeClassifyTemplateAttrDO2VOs(attrDOList);
    }
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeClassifyTemplateAttrDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<CodeClstempattrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClstempattrEntity>  codeClassifyTemplateAttrDOs){
        List<CodeClstempattrVO> voList = new ArrayList<CodeClstempattrVO>();
        if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOs)){
            for(CodeClstempattrEntity s: codeClassifyTemplateAttrDOs){
                CodeClstempattrVO vo =  codeClassifyTemplateAttrDO2VO(s);
                if(vo != null){
                    voList.add(vo);
                }
            }
        }
        return voList;
    }
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param  codeClassifyTemplateAttrDO æ•°æ®å¯¹è±¡
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public  CodeClstempattrVO codeClassifyTemplateAttrDO2VO(CodeClstempattrEntity codeClassifyTemplateAttrDO){
        CodeClstempattrVO vo = new CodeClstempattrVO();
        if(codeClassifyTemplateAttrDO != null){
            BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo);
            //如果有lcstatus的类的话
            vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributedatatype()));
        }
        return vo;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -16,13 +16,40 @@
 */
package com.vci.ubcs.code.service.impl;
import com.alibaba.nacos.api.utils.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.bo.TreeWrapperOptions;
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.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.service.ICodeClstemplateService;
import com.vci.ubcs.code.vo.CodeClstempattrVO;
import com.vci.ubcs.code.vo.CodeClstemplateVO;
import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject;
import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
import com.vci.ubcs.com.vci.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
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.FrameWorkLangCodeConstant.*;
import static com.vci.ubcs.code.service.impl.CodeClassifyServiceImpl.PARENT_FIELD_NAME;
/**
 * ç¼–码库定义-模板管理 æœåŠ¡å®žçŽ°ç±»
@@ -33,8 +60,518 @@
@Service
public class CodeClstemplateServiceImpl extends ServiceImpl<CodeClstemplateMapper, CodeClstemplateEntity> implements ICodeClstemplateService {
    /**
     * æ¨¡æ¿å±žæ€§çš„æœåŠ¡
     */
    @Lazy
    @Autowired(required = false)
    CodeClstempattrServiceImpl codeClstempattrService;
    /**
     * å¯¹è±¡çš„æ“ä½œ
     */
    @Autowired(required = false)
    private RevisionModelUtil revisionModelUtil;
    @Autowired(required = false)
    private CodeClstempattrMapper codeClstempattrMapper;
    @Autowired(required = false)
    private CodeTempphaseServiceImpl codeTempphaseServiceImpl;
    @Autowired(required = false)
    private CodeTempbuttonServiceImpl codeTempbuttonServiceImpl;
    @Autowired(required = false)
    private CodeClsflowtempServiceImpl codeClsflowtempServiceImpl;
    @Override
    public IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate) {
        return page.setRecords(baseMapper.selectPlCodeClstemplatePage(page, plCodeClstemplate));
    }
    /**
     * æŸ¥è¯¢åˆ†ç±»æ¨¡æ¿å¯¹è±¡ æ ‘
     * @param treeQueryObject æ ‘查询对象
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡ æ˜¾ç¤ºæ ‘
     */
    @Override
    public List<Tree> treeCodeClassifyTemplate(TreeQueryObject treeQueryObject) {
        List<CodeClstemplateEntity> doList =selectCodeClassifyTemplateDOByTree(treeQueryObject);
        List<CodeClstemplateVO> voList = codeClassifyTemplateDO2VOs(doList);
        TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME);
        treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
        return revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClstemplateVO s) ->{
            //可以在这里处理树节点的显示
            return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
                .getLcStatus()) ? (" ã€åœç”¨ã€‘ ") : "");
        });
    }
    /**
     * æ ¹æ®æ ‘形查询对象来查询数据对象
     *
     * @param treeQueryObject æ ‘形查询对象
     * @return æŸ¥è¯¢ç»“æžœ,数据对象
     */
    @Override
    public List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject) {
//        VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(null,CodeClassifyTemplateDO.class);
//        VciParentQueryOption parentQueryOption = new VciParentQueryOption();
//        parentQueryOption.setParentFieldName(PARENT_FIELD_NAME);
//        queryWrapperForDO.parentQueryChild(treeQueryObject,parentQueryOption);
        CodeClstemplateEntity codeClstemplateEntity = new CodeClstemplateEntity();
        return baseMapper.selectList(Condition.getQueryWrapper(codeClstemplateEntity));
//        return codeClassifyTemplateMapper.selectByWrapper(queryWrapperForDO);
    }
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeClassifyTemplateDOs æ•°æ®å¯¹è±¡åˆ—表
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClassifyTemplateDOs) {
        return codeClassifyTemplateDO2VOs(codeClassifyTemplateDOs,false);
    }
    /**
     * æ‰¹é‡æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param codeClassifyTemplateDOs æ•°æ®å¯¹è±¡åˆ—表
     * @param hasAttr æ˜¯å¦åŒ…含属性
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity>  codeClassifyTemplateDOs,boolean hasAttr) {
        List<CodeClstemplateVO> voList = new ArrayList<CodeClstemplateVO>();
        if(!CollectionUtils.isEmpty(codeClassifyTemplateDOs)){
            for(CodeClstemplateEntity s: codeClassifyTemplateDOs){
                CodeClstemplateVO vo =  codeClassifyTemplateDO2VO(s);
                if(vo != null){
                    voList.add(vo);
                }
            }
        }
        if(hasAttr){
            //一个分类里面总不能超过1000个生效的版本吧!!!
            VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClstemplateVO::getOid).collect(Collectors.toList())).forEach(tempOids->{
                List<CodeClstempattrVO> attrVOList = codeClstempattrService.listCodeClassifyTemplateAttrByTemplateOids(tempOids);
                if(!CollectionUtils.isEmpty(attrVOList)){
                    Map<String, List<CodeClstempattrVO>> attrVOMap = attrVOList.stream().collect(Collectors.groupingBy(s -> s.getClassifytemplateoid()));
                    voList.stream().forEach(templateVO->{
                        if(attrVOMap.containsKey(templateVO.getOid())){
                            templateVO.setAttributes(attrVOMap.get(templateVO.getOid()));
                        }
                    });
                }
            });
        }
        return voList;
    }
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     * @param  codeClassifyTemplateDO æ•°æ®å¯¹è±¡
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public  CodeClstemplateVO codeClassifyTemplateDO2VO(CodeClstemplateEntity codeClassifyTemplateDO) {
        CodeClstemplateVO vo = new CodeClstemplateVO();
        if(codeClassifyTemplateDO != null){
            BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDO,vo);
            //如果有lcstatus的类的话
            vo.setLcStatusText(CodeClassifyTemplateLC.getTextByValue(vo.getLcStatus()));
        }
        return vo;
    }
    /**
     * æ£€æŸ¥ åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¯å¦åˆ é™¤
     * @param codeClstemplateDTO åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ•°æ®ä¼ è¾“对象,必须要有oid和ts属性
     * @return æ‰§è¡Œç»“æžœ success为true为可以删除,false表示有数据引用,obj为true表示有下级
     */
    @Override
    public R checkIsCanDelete(CodeClstemplateDTO codeClstemplateDTO) {
        VciBaseUtil.alertNotNull(codeClstemplateDTO,"数据传输对象",codeClstemplateDTO.getOid(),"主键");
        CodeClstemplateEntity codeClstemplateEntity = baseMapper.selectById(codeClstemplateDTO.getOid());
        return checkIsCanDeleteForDO(codeClstemplateDTO,codeClstemplateEntity);
    }
    /**
     * æ ¡éªŒæ˜¯å¦å¯ä»¥åˆ é™¤ï¼Œå¦‚果存在下级,并且下级有数据引用则不能删除
     * @param codeClstemplateDTO æ•°æ®ä¼ è¾“对象
     * @param codeClstemplateEntity æ•°æ®åº“中的数据对象
     * @return success为true为可以删除,false表示有数据引用,obj为true表示有下级
     */
    private R checkIsCanDeleteForDO(CodeClstemplateDTO codeClstemplateDTO, CodeClstemplateEntity codeClstemplateEntity) {
        CodeClstemplateEntity codeClassifyTemplateDOCopyFromDTO = new CodeClstemplateEntity();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClstemplateDTO,codeClassifyTemplateDOCopyFromDTO);
        //检查ts
        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){//不是最新的不让改
            return R.fail("当前数据不是最新,请刷新后再修改!");
        }
        //校验下级是否有引用
        if(checkChildIsLinked(codeClstemplateEntity.getOid())){
            return R.fail(DATA_CASCADE_LINKED_NOT_DELETE);
        }
        return R.status(checkHasChild(codeClstemplateEntity.getOid()));
    }
    /**
     * æ£€æŸ¥æ˜¯å¦æœ‰ä¸‹çº§æ˜¯å¦å…³è”了数据
     *
     * @param oid ä¸»é”®
     * @return true è¡¨ç¤ºæœ‰å¼•用,false表示没有引用
     */
    @Override
    public boolean checkChildIsLinked(String oid) {
        VciBaseUtil.alertNotNull(oid,"主键");
        List<String> childOids = baseMapper.selectAllLevelChildOid(oid.trim());
        if(!CollectionUtils.isEmpty(childOids)){
            for(String childOid: childOids){
                if(!checkIsLinked(childOid)){
                    return false;
                }
            }
            return true;
        }
        return false;
    }
    /**
     * æ ¡éªŒæ˜¯å¦è¢«å¼•用
     * @param oid ä¸»é”®
     */
    private boolean checkIsLinked(String oid){
        //TODO æ·»åŠ éœ€è¦æ ¡éªŒå¼•ç”¨çš„åœ°æ–¹
        return false;
    }
    /**
     * æ ¡éªŒæ˜¯å¦æœ‰ä¸‹çº§èŠ‚ç‚¹ï¼Œä¸æ ¡éªŒæ˜¯å¦å…³è”äº†æ•°æ®
     *
     * @param oid ä¸»é”®
     * @return true表示有下级,false表示没有下级
     */
    @Override
    public boolean checkHasChild(String oid) {
        VciBaseUtil.alertNotNull(oid,"主键");
        return baseMapper.countAllLevelChildOid(oid.trim()) > 0;
    }
    /**
     * åˆ é™¤åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param codeClstemplateDTO åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ•°æ®ä¼ è¾“对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @Override
    public R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO) {
        checkIsCanDelete(codeClstemplateDTO);
        VciBaseUtil.alertNotNull(codeClstemplateDTO,"分类模板对象数据对象",codeClstemplateDTO.getOid(),"分类模板对象的主键");
        CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(codeClstemplateDTO.getOid());
        //只有编辑中才能删
        if(!CodeClassifyTemplateLC.EDITING.getValue().equals(codeClassifyTemplateDO.getLcStatus())){
            return R.fail("只有编辑中的,模板才能删除!");
        }
        R baseResult = checkIsCanDeleteForDO(codeClstemplateDTO,codeClassifyTemplateDO);
        //模板oid
        String templateOid = codeClstemplateDTO.getOid();
        int updateCount = 0;
//        WebUtil.setPersistence(false);//不执行保存
//        BatchCBO batchCBO = new BatchCBO();
        if(baseResult.isSuccess()) {
            //找下级的,这个是可以删除的时候
            List<String> childrenOids = baseMapper.selectAllLevelChildOid(codeClassifyTemplateDO.getOid().trim());
            if (!CollectionUtils.isEmpty(childrenOids)) {
                Collection<Collection<String>> childrenCollections = VciBaseUtil.switchCollectionForOracleIn(childrenOids);
                for (Collection<String> s : childrenCollections) {
                    updateCount += baseMapper.deleteBatchIds(s);
//                    batchCBO.copyFromOther(batchCBOi);
                }
            }
        }else{
            return baseResult;
        }
        //执行删除操作
        updateCount += baseMapper.deleteById(codeClassifyTemplateDO.getOid());
//        batchCBO.copyFromOther(batchCBO_delete);
        //删除模板属性
//        VciQueryWrapperForDO templateQueryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
//        templateQueryWrapper.addQueryMap("classifyTemplateOid",templateOid);
        List<CodeClstempattrEntity> codeClstempattrEntityList = codeClstempattrMapper.selectRefByOid(templateOid);
        if(!CollectionUtils.isEmpty(codeClstempattrEntityList)) {
            List<String> templateAttrOids = new ArrayList<String>();
            for (CodeClstempattrEntity codeClstempattrEntity:codeClstempattrEntityList){
                templateAttrOids.add(codeClstempattrEntity.getOid());
            }
            updateCount += codeClstempattrMapper.deleteBatchIds(templateAttrOids);
//            batchCBO.copyFromOther(batchCBO_templateAttr_delete);
        }
        //调用模板阶段方法
        updateCount += codeTempphaseServiceImpl.codeTemplateDeleteTrigger(templateOid);
        //调用模板按钮方法
        updateCount += codeTempbuttonServiceImpl.codeTemplateDeleteTrigger(templateOid);
        //调用模板流程方法
        updateCount += codeClsflowtempServiceImpl.codeTemplateDeleteTrigger(templateOid);
        return updateCount > 0?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL);
    }
    /**
     * ä¸»é”®èŽ·å–åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param oid ä¸»é”®
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public  CodeClstemplateVO getObjectByOid(String oid) {
        return codeClassifyTemplateDO2VO(selectByOid(oid));
    }
    @Override
    public Collection<CodeClstemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections) {
        VciBaseUtil.alertNotNull(oidCollections,"数据对象主键集合");
        List<CodeClstemplateEntity> codeClassifyTemplateDOList = listCodeClassifyTemplateDOByOidCollections(oidCollections);
        return codeClassifyTemplateDO2VOs(codeClassifyTemplateDOList);
    }
    /**
     * å‚ç…§æ ‘ åˆ†ç±»æ¨¡æ¿å¯¹è±¡
     * @param treeQueryObject æ ‘形查询对象
     * @return åˆ†ç±»æ¨¡æ¿å¯¹è±¡æ˜¾ç¤ºæ ‘
     * @throws VciBaseException æŸ¥è¯¢æ¡ä»¶å’Œåˆ†é¡µå‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    @Override
    public List<Tree> referTree(TreeQueryObject treeQueryObject) {
        if(treeQueryObject == null){
            treeQueryObject = new TreeQueryObject();
        }
        if(treeQueryObject.getConditionMap() == null){
            treeQueryObject.setConditionMap(new HashMap<>());
        }
        if(treeQueryObject.getConditionMap().containsKey(LC_STATUS)) {
            treeQueryObject.getConditionMap().remove(LC_STATUS);
        }
        treeQueryObject.getConditionMap().put(LC_STATUS,CodeClassifyTemplateLC.RELEASED.getValue());
        return treeCodeClassifyTemplate(treeQueryObject);
    }
    /**
     * ä½¿ç”¨ä¸»é”®é›†åˆæŸ¥è¯¢æ•°æ®å¯¹è±¡
     * @param oidCollections ä¸»é”®çš„集合
     * @return æ•°æ®å¯¹è±¡åˆ—表
     */
    private List<CodeClstemplateEntity> listCodeClassifyTemplateDOByOidCollections(Collection<String> oidCollections){
        List<CodeClstemplateEntity> codeClassifyTemplateDOList = new ArrayList<CodeClstemplateEntity>();
        if(!CollectionUtils.isEmpty(oidCollections)){
            Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
            for(Collection<String> oids: oidCollectionsList){
                List<CodeClstemplateEntity> tempDOList =  baseMapper.selectBatchIds(oids); //codeClassifyTemplateMapper.selectByPrimaryKeyCollection(oids);
                if(!CollectionUtils.isEmpty(tempDOList)){
                    codeClassifyTemplateDOList.addAll(tempDOList);
                }
            }
        }
        return  codeClassifyTemplateDOList;
    }
    /**
     * ä¸»é”®æŸ¥è¯¢æ•°æ®å¯¹è±¡
     * @param oid ä¸»é”®
     * @return  æ•°æ®å¯¹è±¡
     */
    private CodeClstemplateEntity  selectByOid(String oid) {
        VciBaseUtil.alertNotNull(oid,"主键");
        CodeClstemplateEntity codeClstemplateEntity = baseMapper.selectById(oid.trim());
        if(codeClstemplateEntity == null || StringUtils.isBlank(codeClstemplateEntity.getOid())){
            throw new VciBaseException(DATA_OID_NOT_EXIST);
        }
        return codeClstemplateEntity;
    }
    /**
     * å¯ç”¨ã€åœç”¨
     * @param oid
     * @param lcStatus
     * @return
     */
    @Override
    public R updateLcStatus( String oid, String lcStatus){
        CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid);
        //停用的时候,验证模板是否为已发布
        if(CodeClassifyTemplateLC.DISABLED.getValue().equals(lcStatus)){
//            CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid);
            if(!CodeClassifyTemplateLC.RELEASED.getValue().equals(codeClassifyTemplateDO.getLcStatus())){
                return R.fail("模板未启用,不能停用!");
            }
        }
        //启用、停用
        codeClassifyTemplateDO.setLcStatus(lcStatus);
        int u = baseMapper.updateById(codeClassifyTemplateDO);
//        codeClassifyTemplateMapper.updateLcStatus(oid,lcStatus);
        return u==0?R.fail("修改失败!"):R.success("修改成功");
    }
    /**
     * å‡ç‰ˆ
     * @param codeClassifyDTO
     */
    @Override
    public R Upgrade(CodeClstemplateDTO codeClassifyDTO) {
        //旧的模板oid
        String templateOldOid = codeClassifyDTO.getOid();
        //只有已发布的才能升版
        CodeClstemplateEntity codeClassifyTemplateDOOld =  baseMapper.selectById(templateOldOid);
        if(!FRAMEWORK_RELEASE_RELEASED.equals(codeClassifyTemplateDOOld.getLcStatus())){
            return R.fail("该模板未发布,不能升版!");
        }
        //需要新增的升级模板
//        ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate");
        CodeClstemplateEntity codeCls_template = baseMapper.selectById(templateOldOid);
        CodeClstemplateEntity codeCls_template_insert = null;
//            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());
//            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());
//        }catch (VCIError e){
//            e.printStackTrace();
//            logger.error("===============>分类模板-升版复制出错oid: "+templateOldOid+",mes"+e.error_message);
//            return BaseResult.error("升版出错");
//        }
//
//
//        CodeClassifyTemplateDO codeClassifyTemplateDO = new CodeClassifyTemplateDO();
//        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyDTO,codeClassifyTemplateDO);
//        WebUtil.copyValueToObjectFromCbos(clientBusinessObject_template_insert,codeClassifyTemplateDO);
//        //modify by weidy@2022-2-27
//        //升版后不能使用insert方法,因为那个永远是新增一条数据,
//        //上方先从dto转给do,然后把升版的初始化的属性拷贝给do,最后再从do拷贝到cbo上
//        WebUtil.copyValueToCboFromObj(clientBusinessObject_template_insert,codeClassifyTemplateDO);
//        //升版过后的模板oid
//        String templateNewOid = codeClassifyTemplateDO.getOid();
//
//        //需要复制的模板属性
//        //查询老模板下边的所有属性,赋值新模板oid
//        VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
//        codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid);
//        List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery);
//        for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO :codeClassifyTemplateAttrDOList){
//            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);
//
//        //一起保存数据
//        WebUtil.setPersistence(false);//不执行保存
//        //保存模板
//        BatchCBO batchCBOTemplate = new BatchCBO();
//        //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);
//        //保存模板属性
//        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 BaseResult.success("升版成功!");
        return R.success("升版成功!");
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodePhaseattrServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import com.vci.ubcs.code.mapper.CodePhaseattrMapper;
import com.vci.ubcs.code.service.ICodePhaseattrService;
import com.vci.ubcs.code.vo.CodePhaseattrVO;
import org.springframework.stereotype.Service;
/**
 * ç¼–码库定义-模板阶段-属性 æœåŠ¡å®žçŽ°ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Service
public class CodePhaseattrServiceImpl extends ServiceImpl<CodePhaseattrMapper, CodePhaseattrEntity> implements ICodePhaseattrService {
    @Override
    public IPage<CodePhaseattrVO> selectCodePhaseattrPage(IPage<CodePhaseattrVO> page, CodePhaseattrVO CodePhaseattr) {
        return page.setRecords(baseMapper.selectCodePhaseattrPage(page, CodePhaseattr));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service.impl;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import com.vci.ubcs.code.mapper.CodeTempbuttonMapper;
import com.vci.ubcs.code.service.ICodeTempbuttonService;
import com.vci.ubcs.code.vo.CodeTempbuttonVO;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * ç¼–码库定义-模板按钮扩展 æœåŠ¡å®žçŽ°ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Service
public class CodeTempbuttonServiceImpl extends ServiceImpl<CodeTempbuttonMapper, CodeTempbuttonEntity> implements ICodeTempbuttonService {
    @Override
    public IPage<CodeTempbuttonVO> selectCodeTempbuttonPage(IPage<CodeTempbuttonVO> page, CodeTempbuttonVO CodeTempbutton) {
        return page.setRecords(baseMapper.selectCodeTempbuttonPage(page, CodeTempbutton));
    }
    /**
     * æ¨¡æ¿åˆ é™¤çš„æ—¶å€™è§¦å‘
     *
     * @param classifyTemplateOid æ¨¡æ¿çš„主键
     * @return å—影响的数据行
     */
    @Override
    public int codeTemplateDeleteTrigger(String classifyTemplateOid) {
        int updateCount = 0;
        if(StringUtils.isNotBlank(classifyTemplateOid)){
            Map<String,Object> conditionMap = new HashMap<>();
            conditionMap.put("classifyTemplateOid",classifyTemplateOid);
            List<CodeTempbuttonEntity> codeTempbuttonEntities = baseMapper.selectByMap(conditionMap);
            if(!CollectionUtils.isEmpty(codeTempbuttonEntities)){
                updateCount += baseMapper.deleteBatchIds(codeTempbuttonEntities.stream()
                    .map(CodeTempbuttonEntity::getOid).collect(Collectors.toList()));
            }
        }
        return updateCount;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * ç¼–码库定义-模板阶段 æœåŠ¡å®žçŽ°ç±»
 *
 * @author yuxc
 * @since 2023-04-20
 */
@Service
public class CodeTempphaseServiceImpl extends ServiceImpl<CodeTempphaseMapper, CodeTempphaseEntity> implements ICodeTempphaseService {
    @Autowired(required = false)
    private CodePhaseattrMapper codePhaseattrMapper;
    @Override
    public IPage<CodeTempphaseVO> selectCodeTempphasePage(IPage<CodeTempphaseVO> page, CodeTempphaseVO CodeTempphase) {
        return page.setRecords(baseMapper.selectCodeTempphasePage(page, CodeTempphase));
    }
    /**
     * æ¨¡æ¿åˆ é™¤çš„æ—¶å€™è§¦å‘
     *
     * @param templateOid æ¨¡æ¿çš„主键
     * @return å—影响的数据
     */
    @Override
    public int codeTemplateDeleteTrigger(String templateOid) {
        int updateCount = 0;
        Map<String,Object> condition = new HashMap<>(1);
        condition.put("classifyTemplateOid",templateOid);
        List<CodeTempphaseEntity> codeTempphaseEntities = baseMapper.selectByMap(condition);
        if(!CollectionUtils.isEmpty(codeTempphaseEntities)) {
            updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTempphaseEntity::getOid).collect(Collectors.toList()));
//            batchCBO.copyFromOther(codeTemplatePhaseMapper.batchDeleteByOids(templatePhaseDOS.stream().map(CodeTemplatePhaseDO::getOid).collect(Collectors.toList())));
//            conditionMap.put("codePhaseOid", QueryOptionConstant.IN + "(select oid from " + getPhaseTable() + " where codeClassifyTemplateOid='" + classifyTemplateOid + "')");
            List<CodePhaseattrEntity> phaseAttrDOS = codePhaseattrMapper.selectByPhasea(templateOid);
            if(!CollectionUtils.isEmpty(phaseAttrDOS)){
                updateCount += codePhaseattrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList()));
            }
        }
        return updateCount;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClsflowtempWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import com.vci.ubcs.code.entity.CodeClsflowtempEntity;
import com.vci.ubcs.code.vo.CodeClsflowtempVO;
import java.util.Objects;
/**
 * ç¼–码库定义-模板流程 åŒ…装类,返回视图层所需的字段
 *
 * @author yuxc
 * @since 2023-04-20
 */
public class CodeClsflowtempWrapper extends BaseEntityWrapper<CodeClsflowtempEntity, CodeClsflowtempVO>  {
    public static CodeClsflowtempWrapper build() {
        return new CodeClsflowtempWrapper();
     }
    @Override
    public CodeClsflowtempVO entityVO(CodeClsflowtempEntity CodeClsflowtemp) {
        CodeClsflowtempVO CodeClsflowtempVO = Objects.requireNonNull(BeanUtil.copy(CodeClsflowtemp, CodeClsflowtempVO.class));
        //User createUser = UserCache.getUser(CodeClsflowtemp.getCreateUser());
        //User updateUser = UserCache.getUser(CodeClsflowtemp.getUpdateUser());
        //CodeClsflowtempVO.setCreateUserName(createUser.getName());
        //CodeClsflowtempVO.setUpdateUserName(updateUser.getName());
        return CodeClsflowtempVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeClstempattrWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import com.vci.ubcs.code.vo.CodeClstempattrVO;
import java.util.Objects;
/**
 * ç¼–码库定义-模板属性 åŒ…装类,返回视图层所需的字段
 *
 * @author yuxc
 * @since 2023-04-19
 */
public class CodeClstempattrWrapper extends BaseEntityWrapper<CodeClstempattrEntity, CodeClstempattrVO>  {
    public static CodeClstempattrWrapper build() {
        return new CodeClstempattrWrapper();
     }
    @Override
    public CodeClstempattrVO entityVO(CodeClstempattrEntity CodeClstempattr) {
        CodeClstempattrVO CodeClstempattrVO = Objects.requireNonNull(BeanUtil.copy(CodeClstempattr, CodeClstempattrVO.class));
        //User createUser = UserCache.getUser(CodeClstempattr.getCreateUser());
        //User updateUser = UserCache.getUser(CodeClstempattr.getUpdateUser());
        //CodeClstempattrVO.setCreateUserName(createUser.getName());
        //CodeClstempattrVO.setUpdateUserName(updateUser.getName());
        return CodeClstempattrVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodePhaseattrWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import com.vci.ubcs.code.entity.CodePhaseattrEntity;
import com.vci.ubcs.code.vo.CodePhaseattrVO;
import java.util.Objects;
/**
 * ç¼–码库定义-模板阶段-属性 åŒ…装类,返回视图层所需的字段
 *
 * @author yuxc
 * @since 2023-04-20
 */
public class CodePhaseattrWrapper extends BaseEntityWrapper<CodePhaseattrEntity, CodePhaseattrVO>  {
    public static CodePhaseattrWrapper build() {
        return new CodePhaseattrWrapper();
     }
    @Override
    public CodePhaseattrVO entityVO(CodePhaseattrEntity CodePhaseattr) {
        CodePhaseattrVO CodePhaseattrVO = Objects.requireNonNull(BeanUtil.copy(CodePhaseattr, CodePhaseattrVO.class));
        //User createUser = UserCache.getUser(CodePhaseattr.getCreateUser());
        //User updateUser = UserCache.getUser(CodePhaseattr.getUpdateUser());
        //CodePhaseattrVO.setCreateUserName(createUser.getName());
        //CodePhaseattrVO.setUpdateUserName(updateUser.getName());
        return CodePhaseattrVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeTempbuttonWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import com.vci.ubcs.code.entity.CodeTempbuttonEntity;
import com.vci.ubcs.code.vo.CodeTempbuttonVO;
import java.util.Objects;
/**
 * ç¼–码库定义-模板按钮扩展 åŒ…装类,返回视图层所需的字段
 *
 * @author yuxc
 * @since 2023-04-20
 */
public class CodeTempbuttonWrapper extends BaseEntityWrapper<CodeTempbuttonEntity, CodeTempbuttonVO>  {
    public static CodeTempbuttonWrapper build() {
        return new CodeTempbuttonWrapper();
     }
    @Override
    public CodeTempbuttonVO entityVO(CodeTempbuttonEntity CodeTempbutton) {
        CodeTempbuttonVO CodeTempbuttonVO = Objects.requireNonNull(BeanUtil.copy(CodeTempbutton, CodeTempbuttonVO.class));
        //User createUser = UserCache.getUser(CodeTempbutton.getCreateUser());
        //User updateUser = UserCache.getUser(CodeTempbutton.getUpdateUser());
        //CodeTempbuttonVO.setCreateUserName(createUser.getName());
        //CodeTempbuttonVO.setUpdateUserName(updateUser.getName());
        return CodeTempbuttonVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeTempphaseWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill åº„骞 (smallchill@163.com)
 */
package com.vci.ubcs.code.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import com.vci.ubcs.code.entity.CodeTempphaseEntity;
import com.vci.ubcs.code.vo.CodeTempphaseVO;
import java.util.Objects;
/**
 * ç¼–码库定义-模板阶段 åŒ…装类,返回视图层所需的字段
 *
 * @author yuxc
 * @since 2023-04-20
 */
public class CodeTempphaseWrapper extends BaseEntityWrapper<CodeTempphaseEntity, CodeTempphaseVO>  {
    public static CodeTempphaseWrapper build() {
        return new CodeTempphaseWrapper();
     }
    @Override
    public CodeTempphaseVO entityVO(CodeTempphaseEntity CodeTempphase) {
        CodeTempphaseVO CodeTempphaseVO = Objects.requireNonNull(BeanUtil.copy(CodeTempphase, CodeTempphaseVO.class));
        //User createUser = UserCache.getUser(CodeTempphase.getCreateUser());
        //User updateUser = UserCache.getUser(CodeTempphase.getUpdateUser());
        //CodeTempphaseVO.setCreateUserName(createUser.getName());
        //CodeTempphaseVO.setUpdateUserName(updateUser.getName());
        return CodeTempphaseVO;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -87,12 +87,11 @@
                           on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
                 left join pl_code_resemblerule coderesembleruleoid
                           on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
        where
        <where>
            <if test="oid != null and oid != ''">
                codeclassify0.parentcodeclassifyoid = #{oid}
                codeclassify0.parentcodeclassifyoid = '${oid}'
            </if>
            <if test="oid = null or oid = ''">
            <if test="oid = null">
                codeclassify0.parentcodeclassifyoid is null
            </if>
        </where>
@@ -132,14 +131,12 @@
                 left join pl_code_resemblerule coderesembleruleoid
                           on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
            START WITH
        <where>
            <if test="oid != null and oid != ''">
                codeclassify0.parentCodeClassifyOid = #{oid}
            <if test="oid != null ">
                codeclassify0.parentCodeClassifyOid = '${oid}'
            </if>
            <if test="oid = null or oid = ''">
            <if test="oid = null ">
                codeclassify0.parentCodeClassifyOid is null
            </if>
        </where>
        CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid
    </select>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClsflowtempMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
<?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.CodeClsflowtempMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="CodeClsflowtempResultMap" type="com.vci.ubcs.code.entity.CodeClsflowtempEntity">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="ISLASTR" property="islastr"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CODECLASSIFYOID" property="codeclassifyoid"/>
        <result column="CLASSIFYTEMPLATEOID" property="classifytemplateoid"/>
        <result column="CODEPROCESSUSE" property="codeprocessuse"/>
        <result column="PROCESSVERSION" property="processversion"/>
        <result column="CODETEMPATTROIDARR" property="codetempattroidarr"/>
        <result column="CODETEMPATTROIDARRNAME" property="codetempattroidarrname"/>
    </resultMap>
    <select id="selectCodeClsflowtempPage" resultMap="CodeClsflowtempResultMap">
        select * from PL_CODE_CLSFLOWTEMP where is_deleted = 0
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstempattrMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,166 @@
<?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.CodeClstempattrMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="CodeClstempattrResultMap" type="com.vci.ubcs.code.entity.CodeClstempattrEntity">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CLASSIFYTEMPLATEOID" property="classifytemplateoid"/>
        <result column="ATTRIBUTEDATATYPE" property="attributedatatype"/>
        <result column="KEYATTRFLAG" property="keyattrflag"/>
        <result column="QUERYATTRFLAG" property="queryattrflag"/>
        <result column="SENIORQUERYATTRFLAG" property="seniorqueryattrflag"/>
        <result column="SAMEREPEATATTRFLAG" property="samerepeatattrflag"/>
        <result column="SORTATTRFLAG" property="sortattrflag"/>
        <result column="QRCODEFLAG" property="qrcodeflag"/>
        <result column="BARCODEFLAG" property="barcodeflag"/>
        <result column="COMPONENTRULE" property="componentrule"/>
        <result column="VERIFYRULE" property="verifyrule"/>
        <result column="CLASSIFYINVOKELEVEL" property="classifyinvokelevel"/>
        <result column="CLASSIFYINVOKEATTR" property="classifyinvokeattr"/>
        <result column="CLASSIFYINVOKEATTRNAME" property="classifyinvokeattrname"/>
        <result column="CLASSIFYINVOKEEDITFLAG" property="classifyinvokeeditflag"/>
        <result column="ORDERNUM" property="ordernum"/>
        <result column="FORMDISPLAYFLAG" property="formdisplayflag"/>
        <result column="TABLEDISPLAYFLAG" property="tabledisplayflag"/>
        <result column="ATTRIBUTEGROUP" property="attributegroup"/>
        <result column="ENUMID" property="enumid"/>
        <result column="ENUMNAME" property="enumname"/>
        <result column="ENUMEDITFLAG" property="enumeditflag"/>
        <result column="REFERBTMID" property="referbtmid"/>
        <result column="REFERBTMNAME" property="referbtmname"/>
        <result column="REFERCONFIG" property="referconfig"/>
        <result column="REQUIREFLAG" property="requireflag"/>
        <result column="READONLYFLAG" property="readonlyflag"/>
        <result column="CONTROLLENGTH" property="controllength"/>
        <result column="FORMDISPLAYSTYLE" property="formdisplaystyle"/>
        <result column="TABLEDISPLAYSTYLE" property="tabledisplaystyle"/>
        <result column="FORMHREF" property="formhref"/>
        <result column="TABLEHREF" property="tablehref"/>
        <result column="PRECISIONLENGTH" property="precisionlength"/>
        <result column="SCALELENGTH" property="scalelength"/>
        <result column="VALUEAREA" property="valuearea"/>
        <result column="CODEDATEFORMAT" property="codedateformat"/>
        <result column="TABLEDISPLAYJS" property="tabledisplayjs"/>
        <result column="TEXTAREAFLAG" property="textareaflag"/>
        <result column="IMAGEFLAG" property="imageflag"/>
        <result column="DEFAULTVALUE" property="defaultvalue"/>
        <result column="PREFIXVALUE" property="prefixvalue"/>
        <result column="SUFFIXVALUE" property="suffixvalue"/>
        <result column="FILTERSOURCEATTR" property="filtersourceattr"/>
        <result column="FILTERSOURCEATTRNAME" property="filtersourceattrname"/>
        <result column="ENUMSTRING" property="enumstring"/>
        <result column="ATTRTABLEWIDTH" property="attrtablewidth"/>
        <result column="EXPLAIN" property="explain"/>
        <result column="LIBRARYIDENTIFICATION" property="libraryidentification"/>
        <result column="PARENTCODE" property="parentcode"/>
        <result column="PARENTNAME" property="parentname"/>
        <result column="PARENTQUERYATTR" property="parentqueryattr"/>
    </resultMap>
    <select id="selectCodeClstempattrPage" resultMap="CodeClstempattrResultMap">
        select * from PL_CODE_CLSTEMPATTR where is_deleted = 0
    </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
                           on codeclstempattr0.classifyTemplateOid = classifytemplateoid.oid
        where codeclstempattr0.classifytemplateoid = #{oid}
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClstemplateMapper.xml
@@ -40,5 +40,12 @@
        select * from PL_CODE_CLSTEMPLATE where is_deleted = 0
    </select>
    <select id="selectAllLevelChildOid" resultType="java.lang.String" >
        select oid from PL_CODE_CLSTEMPLATE START WITH codeClassifyOid = #{oid} CONNECT BY PRIOR codeClassifyOid= OID
    </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>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodePhaseattrMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
<?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.CodePhaseattrMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="CodePhaseattrResultMap" type="com.vci.ubcs.code.entity.CodePhaseattrEntity">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CODEPHASEOID" property="codephaseoid"/>
        <result column="ATTRIBUTEGROUP" property="attributegroup"/>
    </resultMap>
    <select id="selectCodePhaseattrPage" resultMap="CodePhaseattrResultMap">
        select * from PL_CODE_PHASEATTR where is_deleted = 0
    </select>
    <select id="selectByPhasea" 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 platformbtm_codephaseattr
        where codephaseoid in
              (select oid
               from platformbtm_codetempphase
               where codeClassifyTemplateOid = #{oid})
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeTempbuttonMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
<?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.CodeTempbuttonMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="CodeTempbuttonResultMap" type="com.vci.ubcs.code.entity.CodeTempbuttonEntity">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CLASSIFYTEMPLATEOID" property="classifytemplateoid"/>
        <result column="CLASSIFYBUTTONOID" property="classifybuttonoid"/>
        <result column="BUTTONUSE" property="buttonuse"/>
        <result column="ORDERNUM" property="ordernum"/>
    </resultMap>
    <select id="selectCodeTempbuttonPage" resultMap="CodeTempbuttonResultMap">
        select * from PL_CODE_TEMPBUTTON where is_deleted = 0
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeTempphaseMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
<?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.CodeTempphaseMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="CodeTempphaseResultMap" type="com.vci.ubcs.code.entity.CodeTempphaseEntity">
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CODECLASSIFYTEMPLATEOID" property="codeclassifytemplateoid"/>
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
    </resultMap>
    <select id="selectCodeTempphasePage" resultMap="CodeTempphaseResultMap">
        select * from PL_CODE_TEMPPHASE where is_deleted = 0
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/DictController.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/DictBizOmdController.java ÐÞ¸Ä
@@ -17,11 +17,13 @@
package com.vci.ubcs.omd.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.service.IDictBizService;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.vci.ubcs.omd.wrapper.DictBizWrapper;
import com.vci.ubcs.common.constant.CommonConstant;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.service.IDictService;
import com.vci.ubcs.omd.vo.DictVO;
import com.vci.ubcs.omd.wrapper.DictWrapper;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
@@ -30,6 +32,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringPool;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
@@ -47,11 +50,11 @@
@NonDS
@RestController
@AllArgsConstructor
@RequestMapping("/dict-biz")
@Api(value = "业务字典", tags = "业务字典")
public class DictBizOmdController extends BladeController {
@RequestMapping("/dict")
@Api(value = "枚举定义", tags = "枚举定义")
public class DictController extends BladeController {
    private final IDictBizService dictService;
    private final IDictService dictService;
    /**
     * è¯¦æƒ…
@@ -59,9 +62,9 @@
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入dict")
    public R<DictBizMVO> detail(DictBizM dict) {
        DictBizM detail = dictService.getOne(Condition.getQueryWrapper(dict));
        return R.data(DictBizWrapper.build().entityVO(detail));
    public R<DictVO> detail(Dict dict) {
        Dict detail = dictService.getOne(Condition.getQueryWrapper(dict));
        return R.data(DictWrapper.build().entityVO(detail));
    }
    /**
@@ -69,14 +72,14 @@
     */
    @GetMapping("/list")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "code", value = "字典编号", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "dictValue", value = "字典名称", paramType = "query", dataType = "string")
        @ApiImplicitParam(name = "code", value = "枚举编号", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "dictValue", value = "枚举名称", paramType = "query", dataType = "string")
    })
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "列表", notes = "传入dict")
    public R<List<DictBizMVO>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
        List<DictBizM> list = dictService.list(Condition.getQueryWrapper(dict, DictBizM.class).lambda().orderByAsc(DictBizM::getSort));
        return R.data(DictBizWrapper.build().listNodeVO(list));
    public R<List<DictVO>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
        List<Dict> list = dictService.list(Condition.getQueryWrapper(dict, Dict.class).lambda().orderByAsc(Dict::getSort));
        return R.data(DictWrapper.build().listNodeVO(list));
    }
    /**
@@ -84,12 +87,12 @@
     */
    @GetMapping("/parent-list")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "code", value = "字典编号", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "dictValue", value = "字典名称", paramType = "query", dataType = "string")
        @ApiImplicitParam(name = "code", value = "枚举编号", paramType = "query", dataType = "string"),
        @ApiImplicitParam(name = "dictValue", value = "枚举名称", paramType = "query", dataType = "string")
    })
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "列表", notes = "传入dict")
    public R<IPage<DictBizMVO>> parentList(@ApiIgnore @RequestParam Map<String, Object> dict, Query query) {
    public R<IPage<DictVO>> parentList(@ApiIgnore @RequestParam Map<String, Object> dict, Query query) {
        return R.data(dictService.parentList(dict, query));
    }
@@ -104,7 +107,7 @@
    })
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "列表", notes = "传入dict")
    public R<List<DictBizMVO>> childList(@ApiIgnore @RequestParam Map<String, Object> dict, @RequestParam(required = false, defaultValue = "-1") Long parentId) {
    public R<List<DictVO>> childList(@ApiIgnore @RequestParam Map<String, Object> dict, @RequestParam(required = false, defaultValue = "-1") Long parentId) {
        return R.data(dictService.childList(dict, parentId));
    }
@@ -114,8 +117,8 @@
    @GetMapping("/tree")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "树形结构", notes = "树形结构")
    public R<List<DictBizMVO>> tree() {
        List<DictBizMVO> tree = dictService.tree();
    public R<List<DictVO>> tree() {
        List<DictVO> tree = dictService.tree();
        return R.data(tree);
    }
@@ -125,8 +128,8 @@
    @GetMapping("/parent-tree")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "树形结构", notes = "树形结构")
    public R<List<DictBizMVO>> parentTree() {
        List<DictBizMVO> tree = dictService.parentTree();
    public R<List<DictVO>> parentTree() {
        List<DictVO> tree = dictService.parentTree();
        return R.data(tree);
    }
@@ -136,7 +139,7 @@
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入dict")
    public R submit(@Valid @RequestBody DictBizM dict) {
    public R submit(@Valid @RequestBody Dict dict) {
        CacheUtil.clear(DICT_CACHE);
        return R.status(dictService.submit(dict));
    }
@@ -159,8 +162,8 @@
    @GetMapping("/dictionary")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "获取字典", notes = "获取字典")
    public R<List<DictBizM>> dictionary(String code) {
        List<DictBizM> tree = dictService.getList(code);
    public R<List<Dict>> dictionary(String code) {
        List<Dict> tree = dictService.getList(code);
        return R.data(tree);
    }
@@ -170,9 +173,9 @@
    @GetMapping("/dictionary-tree")
    @ApiOperationSupport(order = 9)
    @ApiOperation(value = "获取字典树", notes = "获取字典树")
    public R<List<DictBizMVO>> dictionaryTree(String code) {
        List<DictBizM> tree = dictService.getList(code);
        return R.data(DictBizWrapper.build().listNodeVO(tree));
    public R<List<DictVO>> dictionaryTree(String code) {
        List<Dict> tree = dictService.getList(code);
        return R.data(DictWrapper.build().listNodeVO(tree));
    }
    /**
@@ -181,9 +184,21 @@
    @PostMapping("/check")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入dict")
    public R checkOrInsert(@Valid @RequestBody DictBizM dict) {
    public R checkOrInsert(@Valid @RequestBody Dict dict) {
        CacheUtil.clear(DICT_CACHE);
        return dictService.checkOrInsert(dict);
    }
    /**
     * å­—典键值列表
     */
    @GetMapping("/select")
    @ApiOperationSupport(order = 10)
    @ApiOperation(value = "字典键值列表", notes = "字典键值列表")
    public R<List<Dict>> select() {
        List<Dict> list = dictService.list(Wrappers.<Dict>query().lambda().eq(Dict::getParentId, CommonConstant.TOP_PARENT_ID));
        list.forEach(dict -> dict.setDictValue(dict.getCode() + StringPool.COLON + StringPool.SPACE + dict.getDictValue()));
        return R.data(list);
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/DictClient.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/DictBizClient.java ÐÞ¸Ä
@@ -17,8 +17,8 @@
package com.vci.ubcs.omd.feign;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.service.IDictBizService;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.service.IDictService;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
@@ -38,13 +38,13 @@
@ApiIgnore
@RestController
@AllArgsConstructor
public class DictBizClient implements IDictBizClient {
public class DictClient implements IDictClient {
    private final IDictBizService service;
    private final IDictService service;
    @Override
    @GetMapping(GET_BY_ID)
    public R<DictBizM> getById(Long id) {
    public R<Dict> getById(Long id) {
        return R.data(service.getById(id));
    }
@@ -56,13 +56,13 @@
    @Override
    @GetMapping(GET_LIST)
    public R<List<DictBizM>> getList(String code) {
    public R<List<Dict>> getList(String code) {
        return R.data(service.getList(code));
    }
    @Override
    @GetMapping(CHECK_VALUE)
    public R getCheck(DictBizM dict) {
    public R getCheck(Dict dict) {
        return service.checkOrInsert(dict);
    }
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictMapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/DictBizMapper.java ÐÞ¸Ä
@@ -18,8 +18,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.vo.DictVO;
import java.util.List;
@@ -28,7 +28,7 @@
 *
 * @author Chill
 */
public interface DictBizMapper extends BaseMapper<DictBizM> {
public interface DictMapper extends BaseMapper<Dict> {
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”ä¸­æ–‡
@@ -45,20 +45,20 @@
     * @param code å­—典编号
     * @return
     */
    List<DictBizM> getList(String code);
    List<Dict> getList(String code);
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> tree();
    List<DictVO> tree();
    /**
     * èŽ·å–æ ‘å½¢èŠ‚ç‚¹
     *
     * @return
     */
    List<DictBizMVO> parentTree();
    List<DictVO> parentTree();
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IDictService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IDictBizService.java ÐÞ¸Ä
@@ -19,8 +19,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.vo.DictVO;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@@ -32,38 +32,38 @@
 *
 * @author Chill
 */
public interface IDictBizService extends IService<DictBizM> {
public interface IDictService extends IService<Dict> {
    /**
     * æ ‘形结构
     *
     * @return
     */
    List<DictBizMVO> tree();
    List<DictVO> tree();
    /**
     * æ ‘形结构
     *
     * @return
     */
    List<DictBizMVO> parentTree();
    List<DictVO> parentTree();
    /**
     * èŽ·å–å­—å…¸è¡¨å¯¹åº”ä¸­æ–‡
     * èŽ·å–æžšä¸¾è¡¨å¯¹åº”ä¸­æ–‡
     *
     * @param code    å­—典编号
     * @param dictKey å­—典序号
     * @param code    æžšä¸¾ç¼–号
     * @param dictKey æžšä¸¾åºå·
     * @return
     */
    String getValue(String code, String dictKey);
    /**
     * èŽ·å–å­—å…¸è¡¨
     * èŽ·å–æžšä¸¾è¡¨
     *
     * @param code å­—典编号
     * @param code æžšä¸¾ç¼–号
     * @return
     */
    List<DictBizM> getList(String code);
    List<Dict> getList(String code);
    /**
     * æ–°å¢žæˆ–修改
@@ -71,7 +71,7 @@
     * @param dict
     * @return
     */
    boolean submit(DictBizM dict);
    boolean submit(Dict dict);
    /**
     * åˆ é™¤å­—å…¸
@@ -88,7 +88,7 @@
     * @param query
     * @return
     */
    IPage<DictBizMVO> parentList(Map<String, Object> dict, Query query);
    IPage<DictVO> parentList(Map<String, Object> dict, Query query);
    /**
     * å­åˆ—表
@@ -97,7 +97,7 @@
     * @param parentId
     * @return
     */
    List<DictBizMVO> childList(Map<String, Object> dict, Long parentId);
    List<DictVO> childList(Map<String, Object> dict, Long parentId);
    /**
     * æ–°å¢žæˆ–修改
@@ -105,5 +105,5 @@
     * @param dict
     * @return
     */
    R checkOrInsert(DictBizM dict);
    R checkOrInsert(Dict dict);
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/DictBizServiceImpl.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/DictServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
package com.vci.ubcs.omd.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.core.log.exception.ServiceException;
import com.vci.ubcs.omd.mapper.DictMapper;
import com.vci.ubcs.omd.service.IDictService;
import com.vci.ubcs.omd.wrapper.DictWrapper;
import com.vci.ubcs.common.constant.CommonConstant;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import com.vci.ubcs.omd.cache.DictCache;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.vo.DictVO;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE;
/**
 * æœåŠ¡å®žçŽ°ç±»
 *
 * @author Chill
 */
@Service
public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements IDictService {
    @Override
    public List tree() {
        return  ForestNodeMerger.merge((List)baseMapper.tree());
    }
    @Override
    public List<DictVO> parentTree() {
        return ForestNodeMerger.merge((List)baseMapper.parentTree());
    }
    @Override
    public String getValue(String code, String dictKey) {
        return Func.toStr(baseMapper.getValue(code, dictKey), StringPool.EMPTY);
    }
    @Override
    public List<Dict> getList(String code) {
        return baseMapper.getList(code);
    }
    @Override
    public boolean submit(Dict dict) {
        LambdaQueryWrapper<Dict> lqw = Wrappers.<Dict>query().lambda().eq(Dict::getCode, dict.getCode()).eq(Dict::getDictKey, dict.getDictKey());
        Long cnt = baseMapper.selectCount((Func.isEmpty(dict.getId())) ? lqw : lqw.notIn(Dict::getId, dict.getId()));
        if (cnt > 0L) {
            throw new ServiceException("当前枚举键值已存在!");
        }
        // ä¿®æ”¹é¡¶çº§å­—典后同步更新下属字典的编号
        if (Func.isNotEmpty(dict.getId()) && dict.getParentId().longValue() == BladeConstant.TOP_PARENT_ID) {
            Dict parent = DictCache.getById(dict.getId());
            this.update(Wrappers.<Dict>update().lambda().set(Dict::getCode, dict.getCode()).eq(Dict::getCode, parent.getCode()).ne(Dict::getParentId, BladeConstant.TOP_PARENT_ID));
        }
        if (Func.isEmpty(dict.getParentId())) {
            dict.setParentId(BladeConstant.TOP_PARENT_ID);
        }
        dict.setIsDeleted(BladeConstant.DB_NOT_DELETED);
        CacheUtil.clear(DICT_CACHE);
        return saveOrUpdate(dict);
    }
    @Override
    public boolean removeDict(String ids) {
        Long cnt = baseMapper.selectCount(Wrappers.<Dict>query().lambda().in(Dict::getParentId, Func.toLongList(ids)));
        if (cnt > 0L) {
            throw new ServiceException("请先删除子节点!");
        }
        return removeByIds(Func.toLongList(ids));
    }
    @Override
    public IPage<DictVO> parentList(Map<String, Object> dict, Query query) {
        IPage<Dict> page = this.page(Condition.getPage(query), Condition.getQueryWrapper(dict, Dict.class).lambda().eq(Dict::getParentId, CommonConstant.TOP_PARENT_ID).orderByAsc(Dict::getSort));
        return DictWrapper.build().pageVO(page);
    }
    @Override
    public List<DictVO> childList(Map<String, Object> dict, Long parentId) {
        if (parentId < 0) {
            return new ArrayList<>();
        }
        dict.remove("parentId");
        Dict parentDict = DictCache.getById(parentId);
        List<Dict> list = this.list(Condition.getQueryWrapper(dict, Dict.class).lambda().ne(Dict::getId, parentId).eq(Dict::getCode, parentDict.getCode()).orderByAsc(Dict::getSort));
        return DictWrapper.build().listNodeVO(list);
    }
    @Override
    public R checkOrInsert(Dict dict) {
        LambdaQueryWrapper<Dict> lqw = Wrappers.<Dict>query().lambda().eq(Dict::getCode, dict.getCode()).eq(Dict::getDictKey, dict.getDictKey());
        Long cnt = baseMapper.selectCount((Func.isEmpty(dict.getId())) ? lqw : lqw.notIn(Dict::getId, dict.getId()));
        if (cnt > 0L) {
            return R.fail("枚举已经存在!");
        }
        if (Func.isEmpty(dict.getParentId())) {
            dict.setParentId(BladeConstant.TOP_PARENT_ID);
        }
        dict.setIsDeleted(BladeConstant.DB_NOT_DELETED);
        CacheUtil.clear(DICT_CACHE);
        if(saveOrUpdate(dict) == true){
            return R.success("操作成功!");
        }
        return R.fail("操作失败!");
    }
}
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/DictWrapper.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/DictBizWrapper.java ÐÞ¸Ä
@@ -16,9 +16,9 @@
 */
package com.vci.ubcs.omd.wrapper;
import com.vci.ubcs.omd.cache.DictBizCache;
import com.vci.ubcs.omd.entity.DictBizM;
import com.vci.ubcs.omd.vo.DictBizMVO;
import com.vci.ubcs.omd.cache.DictCache;
import com.vci.ubcs.omd.entity.Dict;
import com.vci.ubcs.omd.vo.DictVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
@@ -35,26 +35,26 @@
 *
 * @author Chill
 */
public class DictBizWrapper extends BaseEntityWrapper<DictBizM, DictBizMVO> {
public class DictWrapper extends BaseEntityWrapper<Dict, DictVO> {
    public static DictBizWrapper build() {
        return new DictBizWrapper();
    public static DictWrapper build() {
        return new DictWrapper();
    }
    @Override
    public DictBizMVO entityVO(DictBizM dict) {
        DictBizMVO dictVO = Objects.requireNonNull(BeanUtil.copy(dict, DictBizMVO.class));
    public DictVO entityVO(Dict dict) {
        DictVO dictVO = Objects.requireNonNull(BeanUtil.copy(dict, DictVO.class));
        if (Func.equals(dict.getParentId(), BladeConstant.TOP_PARENT_ID)) {
            dictVO.setParentName(BladeConstant.TOP_PARENT_NAME);
        } else {
            DictBizM parent = DictBizCache.getById(dict.getParentId());
            Dict parent = DictCache.getById(dict.getParentId());
            dictVO.setParentName(parent.getDictValue());
        }
        return dictVO;
    }
    public List<DictBizMVO> listNodeVO(List<DictBizM> list) {
        List<DictBizMVO> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictBizMVO.class)).collect(Collectors.toList());
    public List<DictVO> listNodeVO(List<Dict> list) {
        List<DictVO> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictVO.class)).collect(Collectors.toList());
        return ForestNodeMerger.merge((List)collect);
    }
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/DictMapper.xml
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/DictBizMapper.xml ÐÞ¸Ä
@@ -1,11 +1,10 @@
<?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.omd.mapper.DictBizMapper">
<mapper namespace="com.vci.ubcs.omd.mapper.DictMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="dictResultMap" type="com.vci.ubcs.omd.entity.DictBizM">
    <resultMap id="dictResultMap" type="com.vci.ubcs.omd.entity.Dict">
        <id column="id" property="id"/>
        <result column="tenant_id" property="tenantId"/>
        <result column="parent_id" property="parentId"/>
        <result column="code" property="code"/>
        <result column="dict_key" property="dictKey"/>
@@ -26,7 +25,7 @@
    <select id="getValue" resultType="java.lang.String">
        select
            dict_value
        from pl_sys_dict_biz where code = #{param1} and dict_key = #{param2} and is_deleted = 0
        from pl_sys_dict where code = #{param1} and dict_key = #{param2} and is_deleted = 0
    </select>
    <!-- oracle ç‰ˆæœ¬ -->
@@ -37,15 +36,15 @@
    </select>-->
    <select id="getList" resultMap="dictResultMap">
        select id, tenant_id, parent_id, code, dict_key, dict_value, sort, remark from pl_sys_dict_biz where code = #{param1} and parent_id > 0 and is_sealed = 0 and is_deleted = 0
        select id, parent_id, code, dict_key, dict_value, sort, remark from pl_sys_dict where code = #{param1} and parent_id > 0 and is_sealed = 0 and is_deleted = 0
    </select>
    <select id="tree" resultMap="treeNodeResultMap">
        select id, parent_id, dict_value as title, id as "value", id as "key" from pl_sys_dict_biz where is_deleted = 0
        select id, parent_id, dict_value as title, id as "value", id as "key" from pl_sys_dict where is_deleted = 0
    </select>
    <select id="parentTree" resultMap="treeNodeResultMap">
        select id, parent_id, dict_value as title, id as "value", id as "key" from pl_sys_dict_biz where is_deleted = 0 and parent_id = 0
        select id, parent_id, dict_value as title, id as "value", id as "key" from pl_sys_dict where is_deleted = 0 and parent_id = 0
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/DictBizClient.java
@@ -60,4 +60,15 @@
        return R.data(service.getList(code));
    }
    /**
     * æ–°å¢žæˆ–修改
     *
     * @param dictBiz
     * @return
     */
    @Override
    @GetMapping(CHECK_VALUE)
    public R getCheck(DictBiz dictBiz) {
        return service.checkOrInsert(dictBiz);
    }
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IDictBizService.java
@@ -22,6 +22,7 @@
import org.springblade.core.mp.support.Query;
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.vo.DictBizVO;
import org.springblade.core.tool.api.R;
import java.util.List;
import java.util.Map;
@@ -98,4 +99,11 @@
     */
    List<DictBizVO> childList(Map<String, Object> dict, Long parentId);
    /**
     * æ–°å¢žæˆ–修改
     *
     * @param dictBiz
     * @return
     */
    R checkOrInsert(DictBiz dictBiz);
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/DictBizServiceImpl.java
@@ -21,7 +21,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.common.constant.CommonConstant;
import org.springblade.core.log.exception.ServiceException;
import com.vci.ubcs.core.log.exception.ServiceException;
import com.vci.ubcs.system.cache.DictBizCache;
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.mapper.DictBizMapper;
@@ -31,6 +31,7 @@
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.Func;
@@ -116,4 +117,26 @@
        List<DictBiz> list = this.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().ne(DictBiz::getId, parentId).eq(DictBiz::getCode, parentDict.getCode()).orderByAsc(DictBiz::getSort));
        return DictBizWrapper.build().listNodeVO(list);
    }
    @Override
    public R checkOrInsert(DictBiz dictBiz) {
        LambdaQueryWrapper<DictBiz> lqw = Wrappers.<DictBiz>query().lambda().eq(DictBiz::getCode, dictBiz.getCode()).eq(DictBiz::getDictKey, dictBiz.getDictKey());
        Long cnt = baseMapper.selectCount((Func.isEmpty(dictBiz.getId())) ? lqw : lqw.notIn(DictBiz::getId, dictBiz.getId()));
        if (cnt > 0L) {
            return R.fail("字典已经存在!");
        }
        if (Func.isEmpty(dictBiz.getParentId())) {
            dictBiz.setParentId(BladeConstant.TOP_PARENT_ID);
        }
        dictBiz.setIsDeleted(BladeConstant.DB_NOT_DELETED);
        CacheUtil.clear(DICT_CACHE);
        if(saveOrUpdate(dictBiz) == true){
            return R.success("操作成功!");
        }
        return R.fail("操作失败!");
    }
}