Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
| | |
| | | // 新增数据 |
| | | export function addSaveCode(data) { |
| | | return request({ |
| | | url: 'api/ubcs-code/ubcs-code/mdmEngineController/addSaveCode', |
| | | url: 'api/ubcs-code/mdmEngineController/addSaveCode', |
| | | method: 'post', |
| | | data |
| | | }) |
| | |
| | | //修改数据 |
| | | export function editSaveCode(data) { |
| | | return request({ |
| | | url: 'api/ubcs-code/ubcs-code/mdmEngineController/editSaveCode', |
| | | url: 'api/ubcs-code/mdmEngineController/editSaveCode', |
| | | method: 'put', |
| | | data |
| | | }) |
| | |
| | | } |
| | | }) |
| | | } |
| | | // 批量修改数据 |
| | | export function batchUpdateCode(data) { |
| | | return request({ |
| | | url: 'api/ubcs-code/mdmEngineController/batchUpdateCode', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | |
| | | <basic-container> |
| | | <avue-tabs :option="Taboption" @change="handleChange"></avue-tabs> |
| | | <span v-if="type.prop==='tab1'"> |
| | | <attrCrud :ProData="ProData" :crudOid="crudOid" :crudArray="crudArray" :Formlist="Formlist" :codeClassifyOid="codeClassifyOid"></attrCrud> |
| | | <attrCrud :ProData="ProData" :crudOid="crudOid" :crudLCStatus="crudLCStatus" :crudArray="crudArray" :Formlist="Formlist" :codeClassifyOid="codeClassifyOid"></attrCrud> |
| | | </span> |
| | | <span v-else-if="type.prop==='tab2'"> |
| | | <FlowPath :code="this.crudOid"></FlowPath> |
| | | <FlowPath :code="this.crudOid" :crudLCStatus="crudLCStatus"></FlowPath> |
| | | |
| | | </span> |
| | | <span v-else-if="type.prop==='tab3'"> |
| | |
| | | <script> |
| | | export default { |
| | | name: "TemplatePro.vue", |
| | | props: ['ProData','crudOid','crudArray','Formlist','codeClassifyOid'], |
| | | props: ['ProData','crudOid','crudLCStatus','crudArray','Formlist','codeClassifyOid'], |
| | | data: function () { |
| | | return { |
| | | type: {}, |
| | |
| | | <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"> |
| | | |
| | | <!--新增--> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">添加 {{ msg }}</el-button> |
| | | <el-button v-if="attrEditVisible == false && attrFlagChiledren==false && crudLCStatus=='Editing'" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">添加 {{ msg }}</el-button> |
| | | <!-- 全屏编辑--> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button> |
| | | <el-button v-if=" attrEditVisible == false && attrFlagChiledren==false && crudLCStatus=='Editing'" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">全屏编辑</el-button> |
| | | <!-- 验证规则--> |
| | | <el-button icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-info" size="small" @click="ruleAddHandler">验证规则</el-button> |
| | | <!-- 属性分组--> |
| | | <el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-menu" size="small" @click="attrVisibleHandle">属性分组</el-button> |
| | | |
| | | |
| | | <!-- 分类注入--> |
| | | <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-magic-stick" size="small" @click="injectBtn">分类注入</el-button> |
| | | <!-- 组合规则--> |
| | | <el-button size="small" @click="isShowHandler">组合规则</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" size="small" @click="isShowHandler">组合规则</el-button> |
| | | <!-- 枚举注入--> |
| | | <el-button size="small" @click="enmuVisHandle">枚举注入</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" size="small" @click="enmuVisHandle">枚举注入</el-button> |
| | | <!-- 级联属性--> |
| | | <el-button size="small" @click="CascadeHandle">级联属性</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" size="small" @click="CascadeHandle">级联属性</el-button> |
| | | <!-- 预览排序--> |
| | | <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">预览排序</el-button> |
| | | |
| | | |
| | | <!-- 保存--> |
| | | <el-button size="small" @click="addsHandler" icon="el-icon-check">保存</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" size="small" @click="addsHandler" icon="el-icon-check">保存</el-button> |
| | | <!-- 删除--> |
| | | <el-button size="small" @click="CrudRemove" icon="el-icon-delete">删除</el-button> |
| | | <el-button v-if="crudLCStatus=='Editing'" size="small" @click="CrudRemove" icon="el-icon-delete">删除</el-button> |
| | | <!-- 重置--> |
| | | <el-button size="small" @click="reset" icon="el-icon-refresh-right">重置</el-button> |
| | | <!-- 同步到其他模板--> |
| | |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | crudLCStatus: { |
| | | type: String, |
| | | default: 'Editing' |
| | | }, |
| | | crudArray: { |
| | | type: Array, |
| | | }, |
| | |
| | | <el-container> |
| | | <!-- 左侧菜单--> |
| | | <el-aside > |
| | | <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"> |
| | | <basic-container style="overflow:hidden;"> |
| | | <div> |
| | | <div> |
| | | <div style="display: flex; flex-direction: column;"> |
| | |
| | | </el-dialog> |
| | | <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | style="height: 80.5vh;padding-top: 5px;padding-bottom: 30px" |
| | | style="height: calc(100vh - 230px);" |
| | | @node-click="nodeClick" |
| | | class="classifyTree" |
| | | > |
| | |
| | | </basic-container> |
| | | </el-aside> |
| | | <el-main> |
| | | <basic-container style="height: 85vh; max-height: 155vh; "> |
| | | <basic-container style="height: calc(100vh - 150px);"> |
| | | <!-- 右侧表格--> |
| | | <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> |
| | | <span v-if="type.prop==='tab1'"> |
| | |
| | | <div style="margin-bottom: 5px"><el-tag>主题库分类</el-tag></div> |
| | | <!-- 克隆模板的树 沿用首页树的loading和option,但是data和v-model绑定的数据创建一个新的变量,另外点击方法也是重新获取来操作克隆模板的数据--> |
| | | <avue-tree v-model="TreeAvueform" v-loading="loading" :data="Treedata" |
| | | :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | style="height: 50.5vh;margin-right: 10px" |
| | | @node-click="ClonenodeClick" |
| | | :defaultExpandAll="false" |
| | | :option="Treeoption" |
| | | style="height: 50.5vh;margin-right: 10px" |
| | | @node-click="ClonenodeClick" |
| | | > |
| | | </avue-tree> |
| | | </el-aside> |
| | |
| | | </template> |
| | | <template #menu="{ size, row ,index}"> |
| | | <el-button type="text" |
| | | v-if="row.lcStatus != 'Released'" |
| | | v-if="row.lcStatus == 'Editing'" |
| | | icon="el-icon-edit-outline " |
| | | :size="size" |
| | | @click="$refs.textCrud.rowEdit(row)">编辑</el-button> |
| | | :size="size" |
| | | @click="$refs.textCrud.rowEdit(row)">编辑</el-button> |
| | | <el-button type="text" |
| | | v-if="row.lcStatus == 'Editing'" |
| | | icon="el-icon-delete" |
| | | :size="size" |
| | | @click="$refs.textCrud.rowDel(row,index)">删除</el-button> |
| | |
| | | </avue-crud> |
| | | |
| | | </basic-container> |
| | | <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro> |
| | | <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudLCStatus="this.crudLCStatus" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro> |
| | | </span> |
| | | <!-- 编码规则--> |
| | | <el-dialog :visible.sync="MasterdialogVisible" title="为【编码规则】选取值" append-to-body> |
| | |
| | | addFlag:false, |
| | | // 表格当前行id |
| | | crudOid:"", |
| | | //当前选中模板状态 |
| | | crudLCStatus:'', |
| | | //表格当前选择数组 |
| | | crudArray:[], |
| | | //模板属性展示内容 |
| | |
| | | //行单选事件 |
| | | selectHandle(selection,row){ |
| | | this.crudOid=row.oid; |
| | | this.crudLCStatus=row.lcStatus; |
| | | this.crudArray=selection; |
| | | console.log(selection,row) |
| | | gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': row.oid}).then(res => { |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .el-container{ |
| | | height: 100%; |
| | | } |
| | | .el-aside { |
| | | height: calc(100% - 30px); |
| | | } |
| | | .el-main { |
| | | height: calc(100% - 30px); |
| | | } |
| | | .el-form { |
| | | display: flex; |
| | | flex-wrap: wrap; /* 设置可换行,以便在小屏幕设备上使用多行布局 */ |
| | |
| | | <template> |
| | | <avue-crud ref="crud" :table-loading="loading" :data="data" v-model="form" :option="option" :page.sync="page" |
| | | <avue-crud ref="crud" :table-loading="loading" :data="data" v-model="form" :option="option" :page.sync="page" :permission="permissionList" |
| | | :search.sync="search" @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" |
| | | @row-update="handleEdit" @refresh-change="handleRefresh" @size-change="handleSizePage" |
| | | @current-change="handleCurrentPage"> |
| | |
| | | |
| | | <script> |
| | | import { getFlowpathList, getStartList, flowpathSave, flowpathDelete } from '@/api/template/flowpath.js' |
| | | import {mapGetters} from "vuex"; |
| | | export default { |
| | | name: 'FlowPath', |
| | | props: { |
| | | code: { |
| | | typeof: String, |
| | | required: true, |
| | | default: "" |
| | | } |
| | | code: { |
| | | typeof: String, |
| | | required: true, |
| | | default: "" |
| | | }, |
| | | crudLCStatus: { |
| | | type: String, |
| | | default: 'Editing' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | created() { |
| | | this.getStart() |
| | | }, |
| | | computed:{ |
| | | ...mapGetters([ "permission"]), |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.crudLCStatus=='Editing', |
| | | viewBtn: false, |
| | | delBtn: this.crudLCStatus=='Editing', |
| | | editBtn: this.crudLCStatus=='Editing' |
| | | }; |
| | | }, |
| | | }, |
| | | methods: { |
| | | async getStart() { |
| | | const response = await getStartList() |
| | |
| | | |
| | | <script> |
| | | import {businese} from '@/api/work/businese' |
| | | import {FlowTable} from "@/api/GetItem"; |
| | | import {FlowTable, batchUpdateCode} from "@/api/GetItem"; |
| | | import {validatenull} from "@/util/validate"; |
| | | import {getDictionary} from "@/api/system/dict"; |
| | | import vciWebRefer from "../refer/vciWebRefer.vue"; |
| | | |
| | | export default { |
| | | name: "BusinessWork", |
| | | components: { vciWebRefer }, |
| | | props:['ids','templateId',"taskId","modelKey","codeClassifyOid"], |
| | | data() { |
| | | return { |
| | |
| | | HandlerSave(){ |
| | | this.editingRow = null; |
| | | //保存 |
| | | this.$message.success(this.tableData[0].tuhao) |
| | | batchUpdateCode(this.tableData).then(res => { |
| | | console.log(res) |
| | | if(res.data.data.success){ |
| | | this.$message.success("保存成功"); |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | //表格头渲染 |
| | | CrudHeaderRend() { |
| | |
| | | ] |
| | | }, |
| | | { |
| | | label: "路由缓存", |
| | | prop: "keepAlive", |
| | | type: "switch", |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: false |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: true |
| | | } |
| | | ], |
| | | hide: true |
| | | }, |
| | | { |
| | | label: "菜单备注", |
| | | prop: "remark", |
| | | type: "textarea", |
| | |
| | | "classifys": { |
| | | "classify": [ |
| | | { |
| | | "classCode": "010301", |
| | | "classCode": "020201", |
| | | "fullclsfNamePath": "", |
| | | "library": "EqpLib", |
| | | "library": "wupin", |
| | | "sections": { |
| | | "section": [ |
| | | { |
| | | "name": "固定码段2", |
| | | "value": "" |
| | | }, |
| | | { |
| | | "name": "分类码段父", |
| | | "value": "001" |
| | | }, |
| | | { |
| | | "name": "分类码段子", |
| | | "value": "0012" |
| | | }, |
| | | { |
| | | "name": "可变码段", |
| | | "value": "" |
| | | }, |
| | | { |
| | | "name": "test", |
| | | "value": "7E1C92A2-9B6F-4DB3-48C7-F42D1304E36B" |
| | | }, |
| | | { |
| | | "name": "流水码段", |
| | | "value": "" |
| | | } |
| | | ] |
| | | }, |
| | | "objects": { |
| | | "object": [ |
| | | { |
| | | "code": "", |
| | | "creator": "weidy", |
| | | "id": "20", |
| | | "id": "111111112222222233333333", |
| | | "status": "Released", |
| | | "operate": "create", |
| | | "prop": [ |
| | | { |
| | | "key": "fpNo", |
| | | "text": "设备型号", |
| | | "value": "11sdsa22" |
| | | }, |
| | | { |
| | | "key": "fpName", |
| | | "text": "设备名称", |
| | | "value": "顶顶顶顶12" |
| | | }, |
| | | { |
| | | "key": "manufacturer", |
| | | "text": "生产厂家", |
| | | "value": "呜呜呜呜2" |
| | | }, |
| | | { |
| | | "key": "belongSystem", |
| | | "text": "所属系统", |
| | | "value": "呜呜呜呜2" |
| | | }, |
| | | { |
| | | "key": "responsibilityInfo", |
| | | "text": "责任人信息", |
| | | "value": "文呃呃呃2" |
| | | }, |
| | | { |
| | | "key": "fpWeight", |
| | | "text": "重量(KG)", |
| | | "value": "12" |
| | | }, |
| | | { |
| | | "key": "gravityX", |
| | | "text": "重心X", |
| | | "value": "22" |
| | | }, |
| | | { |
| | | "key": "gravityY", |
| | | "text": "重心Y", |
| | | "value": "32" |
| | | }, |
| | | { |
| | | "key": "gravityZ", |
| | | "text": "重心Z", |
| | | "value": "42" |
| | | }, |
| | | { |
| | | "key": "inertiaX", |
| | | "text": "转动惯量X", |
| | | "value": "52" |
| | | }, |
| | | { |
| | | "key": "inertiaY", |
| | | "text": "转动惯量Y", |
| | | "value": "62" |
| | | }, |
| | | { |
| | | "key": "inertiaZ", |
| | | "text": "转动惯量Z", |
| | | "value": "72" |
| | | }, |
| | | { |
| | | "key": "inertiaXY", |
| | | "text": "转动惯量XY", |
| | | "value": "82" |
| | | }, |
| | | { |
| | | "key": "inertiaYZ", |
| | | "text": "转动惯量YZ", |
| | | "value": "92" |
| | | }, |
| | | { |
| | | "key": "inertiaXZ", |
| | | "text": "转动惯量XZ", |
| | | "value": "102" |
| | | }, |
| | | { |
| | | "key": "operatingTemperatureLimit", |
| | | "text": "工作温度限制", |
| | | "value": "162" |
| | | }, |
| | | { |
| | | "key": "equipmentPower", |
| | | "text": "设备功率(供电功率、辐射功率)", |
| | | "value": "172" |
| | | }, |
| | | { |
| | | "key": "electricModel", |
| | | "text": "电连接器型号", |
| | | "value": "182" |
| | | }, |
| | | { |
| | | "key": "fpAgreement", |
| | | "text": "成品协议书", |
| | | "value": "192" |
| | | } |
| | | ], |
| | | "status": "Released" |
| | | } |
| | | ] |
| | | }, |
| | | "sections": { |
| | | "section": [ |
| | | { |
| | | "name": "层级码段", |
| | | "value": "010301" |
| | | "creator": "weidy", |
| | | "prop": [] |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | "systemId": "RLM", |
| | | "systemId": "MPM", |
| | | "user": { |
| | | "ip": "0:0:0:0:0:0:0:1", |
| | | "trueName": "weidy", |
| | | "userName": "weidy" |
| | | "ip": "192.168.0.1", |
| | | "trueName": "llz", |
| | | "userName": "llz" |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | package com.vci.ubcs.system.feign; |
| | | |
| | | import com.vci.ubcs.system.entity.*; |
| | | import com.vci.ubcs.system.vo.DeptVO; |
| | | import com.vci.ubcs.system.vo.RoleVO; |
| | | import org.springblade.core.launch.constant.AppConstant; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | |
| | | String MENU = API_PREFIX + "/menu"; |
| | | String MENU_BUTTON = API_PREFIX + "/menu-button"; |
| | | String DEPT = API_PREFIX + "/dept"; |
| | | String TREE = API_PREFIX + "/tree"; |
| | | String DEPT_IDS = API_PREFIX + "/dept-ids"; |
| | | String DEPT_LIST = API_PREFIX + "/dept-list"; |
| | | String DEPT_IDS_FUZZY = API_PREFIX + "/dept-ids-fuzzy"; |
| | | String DEPT_NAME = API_PREFIX + "/dept-name"; |
| | | String DEPT_NAMES = API_PREFIX + "/dept-names"; |
| | |
| | | String POST_NAME = API_PREFIX + "/post-name"; |
| | | String POST_NAMES = API_PREFIX + "/post-names"; |
| | | String ROLE = API_PREFIX + "/role"; |
| | | String ROLE_TREE = API_PREFIX + "/role-tree"; |
| | | String ROLE_LIST = API_PREFIX + "/role-list"; |
| | | String ROLE_IDS = API_PREFIX + "/role-ids"; |
| | | String ROLE_NAME = API_PREFIX + "/role-name"; |
| | | String ROLE_NAMES = API_PREFIX + "/role-names"; |
| | |
| | | */ |
| | | @GetMapping(DEPT) |
| | | R<Dept> getDept(@RequestParam("id") Long id); |
| | | |
| | | /** |
| | | * 获取部门 |
| | | * |
| | | * @param tenantId 主键 |
| | | * @return List<Dept></Dept> |
| | | */ |
| | | @GetMapping(TREE) |
| | | public R<List<DeptVO>> tree(@RequestParam("tenantId")String tenantId); |
| | | |
| | | /** |
| | | * 获取部门 |
| | | * |
| | | * @param tenantId 主键 |
| | | * @return List<Dept></Dept> |
| | | */ |
| | | @GetMapping(DEPT_LIST) |
| | | public R<List<DeptVO>> deptList(@RequestParam("tenantId")String tenantId); |
| | | |
| | | /** |
| | | * 获取部门id |
| | |
| | | @GetMapping(ROLE_IDS) |
| | | R<String> getRoleIds(@RequestParam("tenantId") String tenantId, @RequestParam("roleNames") String roleNames); |
| | | |
| | | /*** |
| | | * 获取角色 |
| | | * @param tenantId 租户id |
| | | * @return 角色 |
| | | */ |
| | | @GetMapping(ROLE_TREE) |
| | | R<List<RoleVO>> roleTree(@RequestParam("tenantId") String tenantId); |
| | | |
| | | /*** |
| | | * 获取角色 |
| | | * @param tenantId 租户id |
| | | * @return 角色 |
| | | */ |
| | | @GetMapping(ROLE_LIST) |
| | | R<List<RoleVO>> roleList(@RequestParam("tenantId") String tenantId); |
| | | |
| | | /** |
| | | * 获取角色名 |
| | | * |
| | |
| | | package com.vci.ubcs.system.feign; |
| | | |
| | | import com.vci.ubcs.system.entity.*; |
| | | import com.vci.ubcs.system.vo.DeptVO; |
| | | import com.vci.ubcs.system.vo.RoleVO; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | public R<Dept> getDept(Long id) { |
| | | return R.fail("获取数据失败"); |
| | | } |
| | | |
| | | @Override |
| | | public R<List<DeptVO>> tree(String tenantId) {return R.fail("获取数据失败");} |
| | | |
| | | @Override |
| | | public R<List<DeptVO>> deptList(String tenantId) {return R.fail("获取数据失败");} |
| | | |
| | | @Override |
| | | public R<String> getDeptIds(String tenantId, String deptNames) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R<List<RoleVO>> roleTree(String tenantId) {return R.fail("获取数据失败");} |
| | | |
| | | @Override |
| | | public R<List<RoleVO>> roleList(String tenantId) {return R.fail("获取数据失败");} |
| | | |
| | | @Override |
| | | public R<String> getRoleName(Long id) { |
| | | return R.fail("获取数据失败"); |
| | | } |
| | |
| | | |
| | | String API_PREFIX = "/client"; |
| | | String USER_INFO = API_PREFIX + "/user-info"; |
| | | String USER_ALL = API_PREFIX + "/user-all"; |
| | | String USER_INFO_BY_TYPE = API_PREFIX + "/user-info-by-type"; |
| | | String USER_INFO_BY_ID = API_PREFIX + "/user-info-by-id"; |
| | | String USER_INFO_BY_ACCOUNT = API_PREFIX + "/user-info-by-account"; |
| | |
| | | R<UserInfo> userInfo(@RequestParam("tenantId") String tenantId, @RequestParam("account") String account); |
| | | |
| | | /** |
| | | * 获取所有用户 |
| | | * @return |
| | | */ |
| | | @GetMapping(USER_ALL) |
| | | R<List<User>> selectAllUser(); |
| | | |
| | | /** |
| | | * 获取用户信息 |
| | | * |
| | | * @param tenantId 租户ID |
| | |
| | | * @return Map对象 |
| | | * @version 2016年3月20日 11:03:01 |
| | | */ |
| | | public static Map convertBean2Map(Object bean) throws Exception { |
| | | public static Map convertBean2Map(Object bean,Set<String> existFild) throws Exception { |
| | | Class type = bean.getClass(); |
| | | Map returnMap = new HashMap(); |
| | | BeanInfo beanInfo = Introspector.getBeanInfo(type); |
| | |
| | | |
| | | if (result != null) { |
| | | if ("data".equals(propertyName)){ |
| | | returnMap.putAll((Map) result); |
| | | if(existFild == null){ |
| | | returnMap.putAll((Map) result); |
| | | }else{ |
| | | Map resulMap = (Map) result; |
| | | for (Object o : resulMap.keySet()) { |
| | | if(existFild.contains(o)){ |
| | | returnMap.put(o,resulMap.get(o)); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, result); |
| | | } |
| | |
| | | List<TableColVO> uiTableFieldVOs = new ArrayList<>(); |
| | | // 快速查询列 |
| | | List<TableColVO> queryColumns = new ArrayList<>(); |
| | | if(!codeReferConfig.getCodeShowFieldConfigVOS().isEmpty()){ |
| | | if(!CollectionUtils.isEmpty(codeReferConfig.getCodeShowFieldConfigVOS())){ |
| | | codeReferConfig.getCodeShowFieldConfigVOS().stream().forEach(showField ->{ |
| | | TableColVO tableColVO = new TableColVO(); |
| | | BeanUtil.copy(showField,tableColVO); |
| | |
| | | public String addSaveCode(CodeOrderDTO orderDTO) throws Exception { |
| | | VciBaseUtil.alertNotNull(orderDTO, "编码申请相关的属性和码段的内容都为空", orderDTO.getCodeClassifyOid(), "主题库分类的主键", |
| | | orderDTO.getTemplateOid(), "模板的主键", orderDTO.getCodeRuleOid(), "编码规则的主键"); |
| | | VciSystemVarConstants.getSystemVarValueMap(); |
| | | CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); |
| | | CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); |
| | | CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid()); |
| | |
| | | |
| | | // baseModels.stream().forEach(model-> { |
| | | try { |
| | | map = VciBaseUtil.convertBean2Map(cbo); |
| | | map = VciBaseUtil.convertBean2Map(cbo,null); |
| | | } catch (Exception e) { |
| | | throw new VciBaseException("类型转换错误:" + e.getMessage()); |
| | | } |
| | |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | //将bean转为map,mybatis统一处理 |
| | | //获取当前业务类型所有字段用来做对比 |
| | | R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(btmType); |
| | | if (!allAttributeByBtmId.isSuccess() || allAttributeByBtmId.getData().getAttributes().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应字段信息,请检查!"); |
| | | } |
| | | Set<String> existFild = allAttributeByBtmId.getData().getAttributes().stream().map(btmTypeAttributeVO -> { |
| | | return btmTypeAttributeVO.getId(); |
| | | }).collect(Collectors.toSet()); |
| | | //将bean转为map,mybatis统一处理 |
| | | List<Map<String, String>> maps = new ArrayList<>(); |
| | | baseModels.stream().forEach(model -> { |
| | | try { |
| | | maps.add(VciBaseUtil.convertBean2Map(model)); |
| | | maps.add(VciBaseUtil.convertBean2Map(model,existFild)); |
| | | } catch (Exception e) { |
| | | throw new VciBaseException("类型转换错误:" + e.toString()); |
| | | } |
| | |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | //获取当前业务类型所有字段用来做对比 |
| | | R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(btmType); |
| | | if (!allAttributeByBtmId.isSuccess() || allAttributeByBtmId.getData().getAttributes().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应字段信息,请检查!"); |
| | | } |
| | | Set<String> existFild = allAttributeByBtmId.getData().getAttributes().stream().map(btmTypeAttributeVO -> { |
| | | return btmTypeAttributeVO.getId(); |
| | | }).collect(Collectors.toSet()); |
| | | //将bean转为map,mybatis统一处理 |
| | | List<Map<String, String>> maps = new ArrayList<>(); |
| | | |
| | | baseModels.stream().forEach(model -> { |
| | | try { |
| | | maps.add(VciBaseUtil.convertBean2Map(model)); |
| | | maps.add(VciBaseUtil.convertBean2Map(model,existFild)); |
| | | } catch (Exception e) { |
| | | throw new VciBaseException("类型转换错误:" + e.getMessage()); |
| | | } |
| | |
| | | //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面 |
| | | engineService.batchSaveSelectChar(templateVO, dataCBOList); |
| | | // if(!isProcess){ |
| | | needSaveCboList.stream().forEach(needSaveCbo->{ |
| | | dataCBOList.stream().forEach(needSaveCbo->{ |
| | | XMLResultDataObjectDetailDO resultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); |
| | | resultDataObjectDetailDO.setCode(needSaveCbo.getId()); |
| | | String oid=needSaveCbo.getOid(); |
| | |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.BeanUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.entity.CodeAllCode; |
| | | import com.vci.ubcs.code.entity.CodeClassifyValue; |
| | | import com.vci.ubcs.code.entity.CodeSerialValue; |
| | | import com.vci.ubcs.code.enumpack.CodeCutTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | import com.vci.ubcs.code.lifecycle.CodeAllCodeLC; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyValueMapper; |
| | | import com.vci.ubcs.code.mapper.CodeSerialValueMapper; |
| | | import com.vci.ubcs.code.service.ICodeWupinService; |
| | | import com.vci.ubcs.code.service.MdmEngineService; |
| | |
| | | */ |
| | | @Resource |
| | | private CodeSerialValueMapper serialValueMapper; |
| | | |
| | | /** |
| | | * 流水号的相关的信息 |
| | | */ |
| | | @Resource |
| | | private CodeClassifyValueMapper codeClassifyValueMapper; |
| | | |
| | | /** |
| | | * 所有的编码的内容 |
| | |
| | | break; |
| | | case CODE_CLASSIFY_SEC: |
| | | //分类码段的,也是从前端选择了码值即可,不论码值的长度是多少 |
| | | CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue); |
| | | if(codeClassifyValueDO!=null) { |
| | | secValue = codeClassifyValueDO.getId(); |
| | | } |
| | | break; |
| | | case CODE_LEVEL_SEC: |
| | | //层级码段,需要从分类上获取相应的信息 |
| | |
| | | private String getValueByFormulaForCBO(BaseModel cbo,String rule) { |
| | | Map<String, Object> dataMap = null; |
| | | try{ |
| | | dataMap = VciBaseUtil.convertBean2Map(cbo); |
| | | dataMap = VciBaseUtil.convertBean2Map(cbo,null); |
| | | }catch(Exception e){ |
| | | throw new VciBaseException("mapToBeanError:"+e); |
| | | } |
| | |
| | | import com.vci.ubcs.starter.web.pagemodel.SessionInfo; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.system.feign.ISysClient; |
| | | import com.vci.ubcs.system.user.entity.User; |
| | | import com.vci.ubcs.system.user.feign.IUserClient; |
| | | import com.vci.ubcs.system.vo.DeptVO; |
| | | import com.vci.ubcs.system.vo.RoleVO; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | */ |
| | | @Autowired |
| | | private IBtmTypeClient btmTypeClient; |
| | | |
| | | /** |
| | | * 人员服务 |
| | | */ |
| | | @Autowired |
| | | private ISysClient sysClient; |
| | | |
| | | /** |
| | | * 人员服务 |
| | | */ |
| | | @Autowired |
| | | private IUserClient userClient; |
| | | |
| | | /** |
| | | * 通用查询 |
| | |
| | | coderefersecSearchVO = JSONObject.toJavaObject(JSONObject.parseObject(referConfig), CoderefersecSearchVO.class); |
| | | } |
| | | String buildSqlwhere=""; |
| | | if(coderefersecSearchVO!=null){ |
| | | Map<String,Object> condtionMap=new HashMap<>(); |
| | | List<CodeSrchCondConfigVO> codeSrchCondConfigVOList=coderefersecSearchVO.getCodeSrchCondConfigVOS(); |
| | | if(coderefersecSearchVO!=null) { |
| | | if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.DEFAULT.getValue()) || coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.GRID.getValue())) {//默认样式/列表 |
| | | Map<String, Object> condtionMap = new HashMap<>(); |
| | | List<CodeSrchCondConfigVO> codeSrchCondConfigVOList = coderefersecSearchVO.getCodeSrchCondConfigVOS(); |
| | | |
| | | if(!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) { |
| | | codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> { |
| | | condtionMap.put(codeSrchCondConfigVO.getFilterField()+codeSrchCondConfigVO.getFilterType(),codeSrchCondConfigVO.getFilterValue()); |
| | | }); |
| | | buildSqlwhere= UBCSSqlKeyword.buildSqlwhere(condtionMap); |
| | | if (!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) { |
| | | codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> { |
| | | condtionMap.put(codeSrchCondConfigVO.getFilterField() + codeSrchCondConfigVO.getFilterType(), codeSrchCondConfigVO.getFilterValue()); |
| | | }); |
| | | buildSqlwhere = UBCSSqlKeyword.buildSqlwhere(condtionMap); |
| | | } |
| | | |
| | | //使用传入的业务类型查询表 |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId)); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | String referTable = listR.getData().get(0).getTableName(); |
| | | StringBuffer sb = new StringBuffer(); |
| | | sb.append(" select * from "); |
| | | sb.append(referTable); |
| | | sb.append(" where 1=1 "); |
| | | if (StringUtils.isNotBlank(buildSqlwhere)) { |
| | | sb.append(buildSqlwhere); |
| | | } |
| | | List<Map> ListMap = commonsMapper.selectBySql(sb.toString()); |
| | | String valueField = coderefersecSearchVO.getValueField(); |
| | | String textField = coderefersecSearchVO.getTextField(); |
| | | final int[] num = {0}; |
| | | if (!CollectionUtils.isEmpty(ListMap)) { |
| | | ListMap.stream().forEach(map -> { |
| | | num[0]++; |
| | | String id = map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString(); |
| | | String value = map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString(); |
| | | String text = map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString(); |
| | | String description = map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString(); |
| | | CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, text, "", description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.TREE.getValue())) {//树形 |
| | | |
| | | /* Map<String, Object> condtionMap = new HashMap<>(); |
| | | List<CodeSrchCondConfigVO> codeSrchCondConfigVOList = coderefersecSearchVO.getCodeSrchCondConfigVOS(); |
| | | List<CodeShowFieldConfigVO> codeShowFieldConfigVOS=coderefersecSearchVO.getCodeShowFieldConfigVOS(); |
| | | |
| | | if (!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) { |
| | | codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> { |
| | | condtionMap.put(codeSrchCondConfigVO.getFilterField() + codeSrchCondConfigVO.getFilterType(), codeSrchCondConfigVO.getFilterValue()); |
| | | }); |
| | | buildSqlwhere = UBCSSqlKeyword.buildSqlwhere(condtionMap); |
| | | } |
| | | //使用传入的业务类型查询表 |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId)); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | String referTable = listR.getData().get(0).getTableName(); |
| | | StringBuffer sb = new StringBuffer(); |
| | | sb.append(" select * from "); |
| | | sb.append(referTable); |
| | | |
| | | |
| | | |
| | | sb.append(" where 1=1 "); |
| | | if (StringUtils.isNotBlank(buildSqlwhere)) { |
| | | sb.append(buildSqlwhere); |
| | | } |
| | | List<Map> ListMap = commonsMapper.selectBySql(sb.toString()); |
| | | String valueField = coderefersecSearchVO.getValueField(); |
| | | String textField = coderefersecSearchVO.getTextField(); |
| | | final int[] num = {0}; |
| | | if (!CollectionUtils.isEmpty(ListMap)) { |
| | | ListMap.stream().forEach(map -> { |
| | | num[0]++; |
| | | String id = map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString(); |
| | | String value = map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString(); |
| | | String text = map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString(); |
| | | String description = map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString(); |
| | | CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, text, "", description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | */ |
| | | |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTGRIDREFERS.getValue()) ||////部门列表 |
| | | coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue())//部门树 |
| | | ) { |
| | | R<List<DeptVO>> r = sysClient.deptList(""); |
| | | if (r.isSuccess()) { |
| | | List<DeptVO> deptVOList = r.getData(); |
| | | if (!CollectionUtils.isEmpty(deptVOList)) { |
| | | deptVOList.stream().forEach(deptVO -> { |
| | | String id = String.valueOf(deptVO.getId()); |
| | | int num = deptVO.getSort(); |
| | | String value = String.valueOf(deptVO.getId()); |
| | | String text = deptVO.getDeptName(); |
| | | String description = deptVO.getRemark(); |
| | | String pid = deptVO.getParentId() + ""; |
| | | CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num + "", value, text, pid, description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | } |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.SMUSERREFER.getValue())//用户 |
| | | || coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.SMUSERGRIDREFER.getValue())//用户列表 |
| | | ) { |
| | | R<List<User>> r=userClient.selectAllUser(); |
| | | if (r.isSuccess()) { |
| | | List<User> userList = r.getData(); |
| | | if (!CollectionUtils.isEmpty(userList)) { |
| | | final int[] num = {0}; |
| | | userList.stream().forEach(user -> { |
| | | String value=StringUtils.isBlank(user.getAccount())?"":user.getAccount(); |
| | | //String value= String.valueOf(StringUtils.isBlank(user.getCode())?"":user.getCode()); |
| | | String text=StringUtils.isBlank(user.getName())?"":user.getName(); |
| | | String pid=user.getDeptId(); |
| | | num[0]++; |
| | | String description=""; |
| | | String id= String.valueOf(user.getId()); |
| | | CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, text, pid, description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.SMROLEREFER.getValue())) {//角色列表 |
| | | |
| | | R<List<RoleVO>> r = sysClient.roleTree(""); |
| | | if (r.isSuccess()) { |
| | | List<RoleVO> roleVOList = r.getData(); |
| | | if (!CollectionUtils.isEmpty(roleVOList)) { |
| | | roleVOList.stream().forEach(roleVO -> { |
| | | String id = String.valueOf(roleVO.getId()); |
| | | int num = roleVO.getSort(); |
| | | String value = String.valueOf(roleVO.getId()); |
| | | String text = roleVO.getRoleName(); |
| | | String description = roleVO.getRoleAlias(); |
| | | String pid = roleVO.getParentId() + ""; |
| | | CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num + "", value, text, pid, description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | } |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.ORGDUTYREFER.getValue())) {//职务 |
| | | |
| | | |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.SMWORKTYPEREFER.getValue())) {//工种 |
| | | |
| | | |
| | | } else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.WFPROCESSTEMPLATEREFER.getValue())) {//流程模板 |
| | | |
| | | } |
| | | } |
| | | //使用传入的业务类型查询表 |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId)); |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | String referTable = listR.getData().get(0).getTableName(); |
| | | StringBuffer sb=new StringBuffer(); |
| | | sb.append(" select * from "); |
| | | sb.append(referTable); |
| | | sb.append(" where 1=1 "); |
| | | if(StringUtils.isNotBlank(buildSqlwhere)){ |
| | | sb.append( buildSqlwhere ); |
| | | } |
| | | List<Map> ListMap= commonsMapper.selectBySql(sb.toString()); |
| | | String valueField=coderefersecSearchVO.getValueField(); |
| | | String textField=coderefersecSearchVO.getTextField(); |
| | | final int[] num = {0}; |
| | | if(!CollectionUtils.isEmpty(ListMap)){ |
| | | ListMap.stream().forEach(map->{ |
| | | num[0]++; |
| | | String id= map.getOrDefault("OID".toUpperCase(Locale.ROOT),"").toString(); |
| | | String value= map.getOrDefault(valueField.toUpperCase(Locale.ROOT),"").toString(); |
| | | String text=map.getOrDefault(textField.toUpperCase(Locale.ROOT),"").toString(); |
| | | String description=map.getOrDefault("description".toUpperCase(Locale.ROOT),"").toString(); |
| | | CodeSectionValueVO sectionValueVO=new CodeSectionValueVO(id, num[0]+"",value,text,"",description); |
| | | codeSectionValueVOList.add(sectionValueVO); |
| | | }); |
| | | } |
| | | log.info(libId); |
| | | }else if(secType.equals("codelevelsec")) {//层级码段 |
| | |
| | | }); |
| | | Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2)); |
| | | List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>(); |
| | | Map<String,String> errorMap=new HashMap<>(); |
| | | for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) { |
| | | String sectype = codeBasicSecVO.getSecType(); |
| | | String classifySecOid= codeBasicSecVO.getOid(); |
| | | String message=""; |
| | | if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) { |
| | | String name = codeBasicSecVO.getName(); |
| | | String sectypeText = codeBasicSecVO.getSecTypeText(); |
| | |
| | | CodeClassifyValue codeClassifyValue= codeClassifyValueDOMap.get(sectypeValue); |
| | | sectypeValue=codeClassifyValue.getOid(); |
| | | }else { |
| | | objerrorCode = "101"; |
| | | throw new Throwable("传入的分类码段:【" + name + " 值:" + sectypeValue + "】,不符合当前分类层级代号"); |
| | | //throw new Throwable("传入的分类码段:【" + name + " 值:" + sectypeValue + "】,不符合当前分类层级代号"); |
| | | message="传入的分类码段:【" + name + " 值:" + sectypeValue + "】,不符合当前分类层级代号"; |
| | | errorMap.put("error",errorMap.getOrDefault("error","")+";"+message); |
| | | } |
| | | } |
| | | } |
| | | if(StringUtils.isBlank(sectypeValue)){ |
| | | message="传入的分类码段:【" + name + " 】的值不允许为空"; |
| | | errorMap.put("error",errorMap.getOrDefault("error","")+";"+message); |
| | | } |
| | | CodeOrderSecDTO.setSecValue(sectypeValue); |
| | | codeOrderSecDTOList.add(CodeOrderSecDTO); |
| | | } else { |
| | | objerrorCode="101"; |
| | | throw new Throwable("传入的码段规则缺少" + name + "码段"); |
| | | message="传入的码段规则缺少" + name + "码段"; |
| | | errorMap.put("error",errorMap.getOrDefault("error","")+";"+message); |
| | | } |
| | | } |
| | | } |
| | | if(errorMap.size()>0){ |
| | | objerrorCode="101"; |
| | | throw new Throwable(errorMap.getOrDefault("error","")); |
| | | } |
| | | return codeOrderSecDTOList; |
| | | } |
| | | /*** |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <data systemId="DMS"> |
| | | <user userName="1" trueName="测试[1]" ip="172.16.0.30"/> |
| | | <classifys> |
| | | <classify classCode="ECOLib" library="ECOLib" fullclsfNamePath=""> |
| | | <sections> |
| | | <section name="产品代号" value="CH4-0000"/> |
| | | <section name="固定码段" value="-"/> |
| | | <section name="固定码段" value="GG"/> |
| | | <section name="日期码段" value="2023"/> |
| | | <section name="固定码段" value="-"/> |
| | | </sections> |
| | | <objects> |
| | | <object code="" id="474EDA77-E498-44B8-8D4A-21EAC0B5643C" status="Editing" operate="create" creator="1"> |
| | | <prop key="name" text="名称" value=""/> |
| | | </object> |
| | | </objects> |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <data> |
| | | <errorid>0</errorid> |
| | | <msg>成功!</msg> |
| | | <library id="wupin" name=""> |
| | | <classify id="46B5DB5E-F783-DFE9-B48A-C4A367D02AC0" name="锁" pid="0C600A6A-6398-FC30-D13E-121201FDA908" classCode="020201" description="锁" fullPathName="" lcStatus="Enabled" isLeaf="false"> |
| | | <codeRule id="1673234841140858880" ruleCode="csfjl" num="" name="csfjl" description=""> |
| | | <codeSection id="1673235191453323264" sectionCode="gdmd" num="1" name="固定码段2" description="" secType="codefixedsec" secTypeText="固定码段" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr=""> |
| | | <sectionValue> |
| | | <sectionValue id="1673235273523269632" num="2" name="" value="002" pid="" description=""/> |
| | | <sectionValue id="1673235247598276608" num="1" name="" value="001" pid="" description=""/> |
| | | </sectionValue> |
| | | </codeSection> |
| | | <codeSection id="1673235394948370432" sectionCode="flmdf" num="2" name="分类码段父" description="" secType="codeclassifysec" secTypeText="分类码段" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr=""> |
| | | <sectionValue> |
| | | <sectionValue id="1673235471532167168" num="1" name="二" value="001" pid="" description=""/> |
| | | <sectionValue id="1673235449524654080" num="1" name="一" value="001" pid="" description=""/> |
| | | </sectionValue> |
| | | </codeSection> |
| | | <codeSection id="1673235616541839360" sectionCode="flmdz" num="3" name="分类码段子" description="" secType="codeclassifysec" secTypeText="分类码段" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="1673235394948370432" codeDateFormatStr=""> |
| | | <sectionValue> |
| | | <sectionValue id="1673235791276544000" num="1" name="小二" value="0012" pid="1673235471532167168" description=""/> |
| | | <sectionValue id="1673235759584382976" num="1" name="小一" value="0011" pid="1673235449524654080" description=""/> |
| | | </sectionValue> |
| | | </codeSection> |
| | | <codeSection id="1673235886290112512" sectionCode="kbmd" num="4" name="可变码段" description="" secType="codevariablesec" secTypeText="可变码段" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="10" parentClassifySecOid="" codeDateFormatStr=""> |
| | | <sectionValue/> |
| | | </codeSection> |
| | | <codeSection id="1673988942388662272" sectionCode="test" num="5" name="test" description="test" secType="coderefersec" secTypeText="引用码段" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="" parentClassifySecOid="" codeDateFormatStr=""> |
| | | <sectionValue> |
| | | <sectionValue id="1639320528018317313" num="2" name="test" value="1639320528018317313" pid="0" description=""/> |
| | | <sectionValue id="1645315334091575297" num="2" name="测试" value="1645315334091575297" pid="0" description=""/> |
| | | <sectionValue id="1669250221378990082" num="2" name="testadd" value="1669250221378990082" pid="0" description=""/> |
| | | <sectionValue id="1638774609350848520" num="2" name="哈哈哈" value="1638774609350848520" pid="0" description="1"/> |
| | | <sectionValue id="1679395918649556993" num="2" name="重庆" value="1679395918649556993" pid="0" description=""/> |
| | | <sectionValue id="1636660930383716368" num="2" name="宏博远达" value="1636660930383716368" pid="0" description=""/> |
| | | </sectionValue> |
| | | </codeSection> |
| | | <codeSection id="1676064343214657536" sectionCode="flow" num="6" name="流水码段" description="流水码段" secType="codeserialsec" secTypeText="流水码段" pkCodeRule="1673234841140858880" codeSecLengthType="code_sec_length_variable" codeSecLength="4" parentClassifySecOid="" codeDateFormatStr=""> |
| | | <sectionValue/> |
| | | </codeSection> |
| | | </codeRule> |
| | | </classify> |
| | | </classifys> |
| | | </data> |
| | | </library> |
| | | </data> |
| | |
| | | |
| | | import com.vci.ubcs.system.entity.*; |
| | | import com.vci.ubcs.system.service.*; |
| | | import com.vci.ubcs.system.vo.DeptVO; |
| | | import com.vci.ubcs.system.vo.RoleVO; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.tenant.annotation.NonDS; |
| | | import org.springblade.core.tool.api.R; |
| | |
| | | public R<String> getDeptIds(String tenantId, String deptNames) { |
| | | return R.data(deptService.getDeptIds(tenantId, deptNames)); |
| | | } |
| | | @Override |
| | | public R<List<DeptVO>> tree(String tenantId) { |
| | | return R.data(deptService.tree(tenantId)); |
| | | } |
| | | |
| | | @Override |
| | | public R<List<DeptVO>> deptList(String tenantId) { |
| | | return R.data(deptService.deptList(tenantId)); |
| | | } |
| | | |
| | | @Override |
| | | public R<String> getDeptIdsByFuzzy(String tenantId, String deptNames) { |
| | |
| | | public R<String> getRoleIds(String tenantId, String roleNames) { |
| | | return R.data(roleService.getRoleIds(tenantId, roleNames)); |
| | | } |
| | | |
| | | @Override |
| | | public R<List<RoleVO>> roleTree(String tenantId) { |
| | | return R.data(roleService.tree(tenantId)); |
| | | } |
| | | @Override |
| | | public R<List<RoleVO>> roleList(String tenantId) { |
| | | return R.data(roleService.roleList(tenantId)); |
| | | } |
| | | @Override |
| | | @GetMapping(ROLE_NAME) |
| | | public R<String> getRoleName(Long id) { |
| | |
| | | * @return |
| | | */ |
| | | List<String> getDeptNames(Long[] ids); |
| | | |
| | | /** |
| | | * 获取树形节点 |
| | | * |
| | | * @param tenantId |
| | | * @return |
| | | */ |
| | | List<DeptVO> deptList(String tenantId); |
| | | } |
| | |
| | | List<RoleVO> tree(String tenantId, String excludeRole); |
| | | |
| | | /** |
| | | * 获取树形节点 |
| | | * |
| | | * @param tenantId |
| | | * @param excludeRole |
| | | * @return |
| | | */ |
| | | List<RoleVO> roleList(String tenantId); |
| | | |
| | | /** |
| | | * 获取角色名 |
| | | * |
| | | * @param ids |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.system.entity.Dept; |
| | | import com.vci.ubcs.system.vo.DeptVO; |
| | | import com.vci.ubcs.system.vo.RoleVO; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | */ |
| | | IPage<DeptVO> lazyList(String tenantId, Long parentId, Map<String, Object> param, Query query); |
| | | |
| | | /** |
| | | /** |
| | | * 树形结构 |
| | | * |
| | | * @param tenantId |
| | |
| | | */ |
| | | List<DeptVO> search(String deptName, Long parentId); |
| | | |
| | | /** |
| | | * 树形结构 |
| | | * |
| | | * @param tenantId |
| | | * @return |
| | | */ |
| | | List<DeptVO> deptList(String tenantId); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.system.entity.Role; |
| | | import com.vci.ubcs.system.vo.RoleVO; |
| | | import org.springblade.core.tool.api.R; |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.util.List; |
| | |
| | | List<RoleVO> tree(String tenantId); |
| | | |
| | | /** |
| | | * 加载角色列表 |
| | | * @param tenantId |
| | | * @return |
| | | */ |
| | | List<RoleVO> roleList(String tenantId); |
| | | |
| | | /** |
| | | * 权限配置 |
| | | * |
| | | * @param roleIds 角色id集合 |
| | |
| | | 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.system.vo.RoleVO; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import com.vci.ubcs.system.cache.SysCache; |
| | | import com.vci.ubcs.system.entity.Dept; |
| | |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.node.ForestNodeMerger; |
| | | import org.springblade.core.tool.utils.Func; |
| | |
| | | return baseMapper.lazyList(tenantId, parentId, param, Condition.getPage(query)); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<DeptVO> deptList(String tenantId) { |
| | | // 这里判断我们自己配置的管理组租户,可以查询所有 |
| | | List<DeptVO> tree = baseMapper.deptList(tenantId.equals(this.tenantId) ? "":tenantId); |
| | | return tree; |
| | | } |
| | | |
| | | @Override |
| | | public List<DeptVO> tree(String tenantId) { |
| | | // 这里判断我们自己配置的管理组租户,可以查询所有 |
| | |
| | | import com.vci.ubcs.system.service.IRoleMenuService; |
| | | import com.vci.ubcs.system.service.IRoleScopeService; |
| | | import com.vci.ubcs.system.service.IRoleService; |
| | | import com.vci.ubcs.system.vo.DeptVO; |
| | | import com.vci.ubcs.system.wrapper.RoleWrapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.constant.RoleConstant; |
| | | import org.springblade.core.tool.node.ForestNodeMerger; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<RoleVO> roleList(String tenantId) { |
| | | // 这里判断我们自己配置的管理组租户,可以查询所有 |
| | | List<RoleVO> tree = baseMapper.roleList(tenantId.equals(tenantId) ? "":tenantId); |
| | | return tree; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean grant(@NotEmpty List<Long> roleIds, List<Long> menuIds, List<Long> dataScopeIds, List<Long> apiScopeIds) { |
| | | return grantRoleMenu(roleIds, menuIds) && grantDataScope(roleIds, dataScopeIds) && grantApiScope(roleIds, apiScopeIds); |
| | |
| | | </foreach> |
| | | and is_deleted = 0 |
| | | </select> |
| | | |
| | | <select id="deptList" resultMap="deptVOResultMap"> |
| | | SELECT |
| | | dept.* , |
| | | ( |
| | | SELECT |
| | | CASE WHEN count(1) > 0 THEN 1 ELSE 0 END |
| | | FROM |
| | | pl_org_dept |
| | | WHERE |
| | | parent_id = dept.id and is_deleted = 0 |
| | | ) AS "has_children" |
| | | FROM |
| | | pl_org_dept dept |
| | | WHERE dept.is_deleted = 0 |
| | | <if test="_parameter!=null and _parameter!=''"> |
| | | and tenant_id = #{_parameter} |
| | | </if> |
| | | ORDER BY sort |
| | | </select> |
| | | </mapper> |
| | |
| | | select * from pl_org_role where is_deleted = 0 |
| | | </select> |
| | | |
| | | <select id="roleList" resultMap="roleResultMap"> |
| | | select * from pl_org_role |
| | | WHERE is_deleted = 0 |
| | | <if test="_parameter!=null and _parameter!=''"> |
| | | and tenant_id = #{_parameter} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="tree" resultMap="treeNodeResultMap"> |
| | | select id, parent_id, role_name as title, id as "value", id as "key" from pl_org_role where is_deleted = 0 |
| | | <if test="param1!=null"> |
| | |
| | | public R<UserInfo> userInfo(String tenantId, String account, String userType) { |
| | | return R.data(service.userInfo(tenantId, account, UserEnum.of(userType))); |
| | | } |
| | | @Override |
| | | @GetMapping(USER_ALL) |
| | | public R<List<User>> selectAllUser() { |
| | | return R.data(service.selectAllUser()); |
| | | } |
| | | |
| | | @Override |
| | | @PostMapping(USER_AUTH_INFO) |
| | |
| | | */ |
| | | List<User> listByUser(List<Long> userId); |
| | | |
| | | /** |
| | | /*** |
| | | * 查询所有用户 |
| | | * @return |
| | | */ |
| | | public List<User> listAllUser(); |
| | | /** |
| | | * 根据部门ID查询用户列表 |
| | | * |
| | | * @param deptId 部门ID |
| | |
| | | * @return |
| | | */ |
| | | List<User> selectAllUser(User user, Long deptId); |
| | | /** |
| | | * 获取所有 |
| | | * |
| | | * @param user |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | List<User> selectAllUser(); |
| | | |
| | | /** |
| | | * 自定义分页 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<User> listAllUser() { |
| | | return this.list(); |
| | | } |
| | | |
| | | @Override |
| | | public List<User> listByDept(List<Long> deptId) { |
| | | LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery(); |
| | | deptId.forEach(id -> queryWrapper.like(User::getDeptId, id).or()); |
| | |
| | | List<User> users = baseMapper.selectUserPage(user, deptIdList, (AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : AuthUtil.getTenantId())); |
| | | return users; |
| | | } |
| | | @Override |
| | | public List<User> selectAllUser(){ |
| | | LambdaQueryWrapper<User> wrapper= Wrappers.lambdaQuery(); |
| | | wrapper.eq(User::getIsDeleted,0); |
| | | List<User> users = baseMapper.selectList(wrapper); |
| | | return users; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<UserVO> selectUserSearch(UserVO user, Query query) { |