Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
已修改51个文件
已删除1个文件
已重命名4个文件
已复制4个文件
已添加6个文件
| | |
| | | String roleName = Func.toStr(claims.get(AuthUtil.ROLE_NAME)); |
| | | String userName = Func.toStr(claims.get(AuthUtil.USER_NAME)); |
| | | String nickName = Func.toStr(claims.get(AuthUtil.NICK_NAME)); |
| | | String tenantName = Func.toStr(claims.get("tenantName")); |
| | | String email = Func.toStr(claims.get("email")); |
| | | String deptName = Func.toStr(claims.get("deptName")); |
| | | String secretGrade = Func.toStr(claims.get("secretGrade")); |
| | | Kv detail = Kv.create().setAll((Map<? extends String, ?>) claims.get(AuthUtil.DETAIL)); |
| | | BladeUser bladeUser = new BladeUser(); |
| | | bladeUser.setClientId(clientId); |
| | |
| | | bladeUser.setRoleName(roleName); |
| | | bladeUser.setUserName(userName); |
| | | bladeUser.setNickName(nickName); |
| | | detail.put("tenantName",tenantName); |
| | | detail.put("deptName",deptName); |
| | | detail.put("email",email); |
| | | detail.put("secretGrade",secretGrade); |
| | | bladeUser.setDetail(detail); |
| | | return bladeUser; |
| | | } |
| | |
| | | <script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script> |
| | | <script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script> |
| | | <link rel="icon" href="<%= BASE_URL %>favicon.png"> |
| | | <script src="https://cdn.staticfile.org/FileSaver.js/2014-11-29/FileSaver.min.js"></script> |
| | | <script src="https://cdn.staticfile.org/xlsx/0.18.2/xlsx.full.min.js"></script> |
| | | <title>ubcsä¼ä¸å¹³å°</title> |
| | | <style> |
| | | html, |
| | |
| | | return request({ |
| | | url: 'api/ubcs-code/mdmEngineController/getFlowdUIInfoByClassifyOid', |
| | | method: 'get', |
| | | data |
| | | params:{ |
| | | ...data |
| | | } |
| | | }) |
| | | } |
| | |
| | | <basic-container> |
| | | <div class="main"> |
| | | <div class="top"> |
| | | <div class="testbox"> |
| | | <div class="testbox" style=""> |
| | | <div> |
| | | <!-- <el-button plain size="small" type="primary" @click="addvisible = true">å¢å |
| | | </el-button> |
| | |
| | | style="width: 180px; margin-left: 5px; margin-top: 10px"></el-input> --> |
| | | |
| | | </div> |
| | | <el-row style="height: 700px; width: 100%"> |
| | | <el-row style="width: 100%;margin-bottom: 20px"> |
| | | <div> |
| | | <el-button v-for="(item, index) in masterVrBtnList" :key="index" plain size="small" type="primary" v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)" |
| | | <el-button v-for="(item, index) in masterVrBtnList" :key="index" plain size="small" type="primary" |
| | | v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)" |
| | | @click="handelBtnClick(item)">{{ |
| | | item.name |
| | | }} |
| | |
| | | <el-input v-model="WupinFindValue" placeholder="请è¾å
¥å
³é®åæå车æ¥è¯¢" |
| | | size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"></el-input> |
| | | </div> |
| | | <el-table v-if="tableData.length != 0" v-loading="isLoading" :data="tableData" max-height="700" style="" |
| | | @cell-click="handleCellClick" @selection-change="handleSelectionChange" @sort-change="sortChange"> |
| | | <el-table v-if="tableData.length != 0" v-loading="isLoading" :data="tableData" :height="tableHeight" ref="dataTable" |
| | | @cell-click="handleCellClick" @row-click="handleRowClick" @select="handleSelection" @select-all="handleSelectionAll" @selection-change="handleSelectionChange" @sort-change="sortChange"> |
| | | <el-table-column fixed type="selection" width="55"></el-table-column> |
| | | <el-table-column fixed label="åºå·" type="index" width="55"> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <!-- æ°å¢--> |
| | | <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" |
| | | :disabledProp="disabledProp" :templateOid="templateOid" :visible.sync="addvisible" type="add" |
| | | @submit="AddSumbit"> |
| | | </FormTemplateDialog> |
| | | <!-- ä¿®æ¹--> |
| | | <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" |
| | | :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'ä¿®æ¹ç¼ç ä¿¡æ¯'" |
| | | :visible.sync="editvisible" |
| | | type="edit" @submit="EditSumbit"></FormTemplateDialog> |
| | | <!-- å·²å叿°æ®ä¿®æ¹--> |
| | | <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" |
| | | :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'å·²å叿°æ®æ´æ¹'" |
| | | :type="edit" |
| | | :visible.sync="DataVisible"></FormTemplateDialog> |
| | | <!-- åå¸--> |
| | | <set-personnel :parameter="this.parameter" :visible.sync="visibleFlow"></set-personnel> |
| | | <!-- é«çº§æ¥è¯¢--> |
| | | <advanced-query :options="this.options" :visible.sync="findvisible" @echoContion="echoContion"></advanced-query> |
| | | |
| | | <integration-transfer :data="transferData" :props="transferProps" :visible.sync="dialogPush" |
| | | @save="handelTransferSave"></integration-transfer> |
| | | <ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid" |
| | | :templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog> |
| | | </div> |
| | | |
| | | <div class="block" style="display: flex; justify-content: flex-end"> |
| | | <el-pagination :current-page="page.currentPage" :page-size="page.pageSizes" :page-sizes="page.pageSizes" |
| | | :total="page.total" layout="total, sizes, prev, pager, next, jumper" |
| | |
| | | @current-change="handleCurrentChange"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :visible.sync="batchImportData.visible"> |
| | | </BatchImport> |
| | | </div> |
| | | <div class="bottom"> |
| | | <el-collapse v-model="visibleNames"> |
| | | <el-collapse v-model="visibleNames" @change="handleCollapse"> |
| | | <el-collapse-item title="éä»¶å表" name="1"> |
| | | <fileInHtml :options="fileOptions"></fileInHtml> |
| | | </el-collapse-item> |
| | |
| | | datetime: "datetime", |
| | | }, |
| | | tableData: [], |
| | | tableHeight:'calc(100vh - 330px)', |
| | | DataVisible: false, |
| | | tableHeadData: [], |
| | | items: {}, |
| | |
| | | // ä¸»æ°æ®æé® |
| | | masterVrBtnList: [], |
| | | fileOptions:{ |
| | | ownbizOid:"1", |
| | | ownbizBtm:"1", |
| | | ownbizOid:"0", |
| | | ownbizBtm:"0", |
| | | fileDocClassify:'!=processAuditSuggest', |
| | | fileDocClassifyName:'', |
| | | hasDownload:true, |
| | | hasUpload:true |
| | | hasUpload:true, |
| | | height:100 |
| | | } |
| | | }; |
| | | }, |
| | |
| | | templateOid: { |
| | | handler(newval, oldval) { |
| | | this.parameter.code = newval; |
| | | this.fileOptions.ownbizOid="1"; |
| | | this.fileOptions.ownbizOid="0"; |
| | | this.parameter.vars.templateOid = newval |
| | | }, |
| | | deep: true, |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | //å±å¼éä»¶ |
| | | handleCollapse(activeNames) { |
| | | if (activeNames.length > 0) { |
| | | this.tableHeight = 'calc(100vh - 630px)'; |
| | | this.$refs.dataTable.doLayout() |
| | | } else { |
| | | this.tableHeight = 'calc(100vh - 330px)'; |
| | | this.$refs.dataTable.doLayout() |
| | | } |
| | | }, |
| | | // åå¸ |
| | | setHandler() { |
| | | if (this.selectRow.length <= 0) { |
| | |
| | | this.getListCodeByClassId(); |
| | | }, |
| | | async getListCodeByClassId() { |
| | | this.dialogPush=true; |
| | | this.transferData = []; |
| | | const response = await listCodeAttributeByClassId({ |
| | | codeClassifyId: this.codeClassifyOid, |
| | |
| | | const data = response.data.data; |
| | | this.transferData = data; |
| | | } |
| | | }, |
| | | handelTransferSave(val){ |
| | | console.log('åå¸',val) |
| | | }, |
| | | rend() { |
| | | this.tableData = this.tableHeadData; |
| | |
| | | handleRowClick(row,column){ |
| | | this.fileOptions.ownbizOid= row.oid; |
| | | this.fileOptions.ownbizBtm=row.btmname; |
| | | this.$refs.dataTable.toggleRowSelection(row); |
| | | }, |
| | | //å é¤ |
| | | enumDeleteRow(row) { |
| | |
| | | this.fileOptions.ownbizBtm=row.btmname; |
| | | |
| | | }, |
| | | //éæ©å
¨é¨ |
| | | handleSelectionAll() { |
| | | this.fileOptions.ownbizOid = '0'; |
| | | this.fileOptions.ownbizBtm = '0'; |
| | | |
| | | }, |
| | | //ç¼è¾ |
| | | editHandler() { |
| | | if (this.selectRow.length <= 0) { |
| | |
| | | this.batchImportData.type = type |
| | | this.batchImportData.codeClassifyOid = this.codeClassifyOid |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | |
| | | .bottom { |
| | | margin-top: 20px; |
| | | max-height: 43%; |
| | | overflow-y: scroll; |
| | | } |
| | | |
| | | .el-collapse-item__content{ |
| | | padding-bottom: 0; |
| | | } |
| | | </style> |
| | |
| | | :visible.sync="dialogVisible" |
| | | v-if="dialogVisible" |
| | | v-dialogDrag |
| | | top="5vh" |
| | | top="-5vh" |
| | | class="avue-dialog avue-dialog--top" |
| | | :title="title" |
| | | :width="width" |
| | | append-to-body |
| | |
| | | if (!formValidate) return; |
| | | let codeValidate = true; |
| | | // è¿è¡ç å¼ç³è¯·æ ¡éª |
| | | if (this.showCodeApply) { |
| | | codeValidate = await this.$refs.CodeApply.validate(); |
| | | if (!codeValidate) { |
| | | this.activeName = "codeApply"; |
| | | return false; |
| | | } |
| | | } |
| | | // if (this.showCodeApply) { |
| | | // codeValidate = await this.$refs.CodeApply.validate(); |
| | | // if (!codeValidate) { |
| | | // this.activeName = "codeApply"; |
| | | // return false; |
| | | // } |
| | | // } |
| | | let resembleQueryList = []; |
| | | if (this.$refs.resembleQueryRef) { |
| | | // è¿è¡ç¸ä¼¼é¡¹æ¥è¯¢ |
| | |
| | | codeClassifyOid: this.nodeClickList.oid, |
| | | functionId: 5, |
| | | }).then(res => { |
| | | console.log(res.data.buttons) |
| | | console.log('1-', res.data) |
| | | console.log('123-', res.data.buttons) |
| | | const flagsToDeleteBtn = ["CODEIMPORTHISTORY", "CODEBATCHADD", "CODESTARTPROCESS", "CODEEXPORT", "CODEQUERY"]; |
| | | //ä¸åèç¹æ¾ç¤ºä¸åæé® |
| | | if (!res.data.leaf) { |
| | | this.masterVrBtnList = res.data.buttons.filter(obj => flagsToDeleteBtn.includes(obj.uniqueFlag)); |
| | | } else { |
| | | this.masterVrBtnList = res.data.buttons |
| | | } |
| | | this.tableHeadDataFateher = res.data; |
| | | this.templateOids = res.data.tableDefineVO.oid; |
| | | let List = res.data.tableDefineVO.cols[0]; |
| | |
| | | sortable: item.sort, |
| | | width: item.minWidth |
| | | }; |
| | | this.tableHeadFindData.push(columnItem) |
| | | this.tableHeadFindData.push(Object.assign(item, columnItem)) |
| | | // console.log(' this.tableHeadFindData', this.tableHeadFindData) |
| | | }) |
| | | this.$emit('tableHeadDataFateher', this.tableHeadDataFateher); |
| | |
| | | this.TableRend(); // TableHeadRend() æ¹æ³å®æååæ§è¡ TableRend() |
| | | this.$emit('nodeClick',this.templateOids) |
| | | this.$emit("codeClassifyOid", this.nodeClickList.oid ) |
| | | console.log('æ ',this.nodeClickList.oid) |
| | | console.log('æ ',this.nodeClickList) |
| | | } catch (error) { |
| | | // å¤çé误 |
| | | this.$message.error(error) |
| | |
| | | editingRows: null, |
| | | editShows:"", |
| | | attrFlag: false, |
| | | referObject:{}, |
| | | //ç¼ç ç³è¯·é¢è§option |
| | | applicationoption: { |
| | | column: [] |
| | |
| | | //åç
§é
ç½®åç»ä»¶ |
| | | echoReferConfig(val){ |
| | | console.log('val--',val) |
| | | this.referObject=val |
| | | this.$set(this.CurrentCell,'referConfig',JSON.stringify(val)) |
| | | |
| | | }, |
| | |
| | | :before-open="beforeOpen" |
| | | :permission="permissionList" |
| | | v-model="form" |
| | | :height="options.height || 200" |
| | | ref="crud" |
| | | @row-del="rowDel" |
| | | @search-change="searchChange" |
| | |
| | | hasDel:validatenull(this.options.hasDel) ? true :this.options.hasDel, |
| | | hasDownload:validatenull(this.options.hasDownload) ? true :this.options.hasDownload, |
| | | option: { |
| | | height:(this.options.tableHeight?this.options.tableHeight:'auto'), |
| | | height:(this.options.tableHeight?this.options.tableHeight:'200'), |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchShow: false, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | |
| | | :show-overflow-tooltip="true" |
| | | align="center" |
| | | > |
| | | <!-- ç¼è¾åå±ç¤ºé»è¾ --> |
| | | <!-- <template slot-scope="{ row }">--> |
| | | <!-- <el-input v-if="editingRow === row && editShow== item.prop" v-model="row[item.prop]" @blur="saveRow"></el-input>--> |
| | | <!-- <span v-else>{{row[item.prop]}}</span>--> |
| | | <!-- <el-switch--> |
| | | <!-- v-if="editShow === 'true'"--> |
| | | <!-- v-model="row[item.prop]"--> |
| | | <!-- active-color="#13ce66"--> |
| | | <!-- inactive-color="#ff4949">--> |
| | | <!-- </el-switch>--> |
| | | <!-- </template>--> |
| | | <template slot-scope="{ row }"> |
| | | <el-input v-if="editingRow === row && editShow== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" v-model="row[item.prop]" |
| | | @blur="editingRows=null"></el-input> |
| | | <el-input-number size="small" controls-position="right" v-if="editingRow === row && editShow== item.prop && item.edit == 'number'" v-model="row[item.prop]" |
| | | @blur="editingRows=null" :style="{width:(item.width-10)+'px'}"></el-input-number> |
| | | <el-select v-model="row[item.prop]" filterable allow-create default-first-option slot="prepend" v-if="editingRow === row && editShow== item.prop && item.edit == 'select' " @blur="editingRows=null"> |
| | | <el-option |
| | | v-for="optionItem in item.data" |
| | | :key="optionItem.dictValue" |
| | | :label="optionItem.dictValue" |
| | | :value="optionItem.dictValue"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-switch |
| | | v-if="item.edit === 'switch' || item.edit === 'truefalse'" v-model="row[item.prop]" active-value="true" |
| | | inactive-value="false"> |
| | | </el-switch> |
| | | <span v-else>{{ row[item.prop] }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | tableData:[], |
| | | editingRow: null, |
| | | editShow: "", |
| | | editAttr: "" |
| | | editAttr: "", |
| | | columnType: { |
| | | text: "input", |
| | | combox: "select", |
| | | truefalse: "switch", |
| | | number: "number", |
| | | datetime: "datetime", |
| | | } |
| | | } |
| | | }, |
| | | watch:{ |
| | | ids:{ |
| | | handler(newval,oldval){ |
| | | this.BuinessOids=newval; |
| | | this.CrudHeaderRend() |
| | | this.BuinseseRend() |
| | | console.log(newval) |
| | | console.log(this.BuinessOids) |
| | | }, |
| | | deep:true |
| | | } |
| | |
| | | //è¡¨æ ¼å¤´æ¸²æ |
| | | CrudHeaderRend() { |
| | | if (this.codeClassifyOid != "") { |
| | | var data=new FormData() |
| | | data.append('templateId', this.templateId) |
| | | data.append('taskId', this.taskId) |
| | | data.append('modelKey', this.modelKey) |
| | | data.append('codeClassifyOid', this.codeClassifyOid) |
| | | FlowTable({ |
| | | templateId: this.templateId, |
| | | taskId : this.taskId , |
| | | modelKey: this.modelKey, |
| | | codeClassifyOid: this.codeClassifyOid |
| | | 'templateId': this.templateId, |
| | | 'taskId': this.taskId, |
| | | 'modelKey': this.modelKey, |
| | | 'codeClassifyOid': this.codeClassifyOid |
| | | }).then((res) => { |
| | | this.options = res.data.tableDefineVO.seniorQueryColumns; |
| | | this.List = res.data.tableDefineVO.cols[0]; |
| | |
| | | return row[column.property] == 'true' || row[column.property] == '1' ? 'æ¯' : 'å¦' |
| | | } |
| | | } |
| | | if (item.edit == 'select') { |
| | | //éè¦è·åä¸ææ¡æ°æ® |
| | | columnItem.data=[] |
| | | } |
| | | this.tableHeadData.push(columnItem) |
| | | } |
| | | this.tableHeadData.push(Object.assign(item, columnItem)) |
| | | }); |
| | | }); |
| | | } |
| | |
| | | }) |
| | | }, |
| | | // çå¬åå
æ ¼ç¹å»äºä»¶å¹¶å卿£å¨ç¼è¾çè¡ |
| | | handleCellClick(row, column) { |
| | | handleCellClick(row, column, cell, event) { |
| | | this.editingRow = row; |
| | | this.editShow = column.property; |
| | | }, |
| | |
| | | <template> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible" append-to-body="true" destroy-on-close width="30%" |
| | | <el-dialog :title="title" :visible.sync="dialogVisible" append-to-body="true" destroy-on-close width="35%" |
| | | @close="handelClose"> |
| | | <el-form :model="form"> |
| | | <el-form-item label="æ¥è¯¢æ¡ä»¶" label-width="70px" size="small"> |
| | |
| | | proxy: { |
| | | '/api': { |
| | | //æ¬å°æå¡æ¥å£å°å |
| | | target: 'http://localhost:37000', |
| | | // target: 'http://localhost:37000', |
| | | // target: 'http://192.168.1.51:37000', |
| | | // target: 'http://192.168.1.46:37000', |
| | | // target: 'http://dev.vci-tech.com:37000', |
| | | // target: 'http://192.168.1.51:37000/', |
| | | // target: 'http://192.168.1.104:37000', |
| | | target: 'http://192.168.1.104:37000', |
| | | // target: 'http://192.168.1.63:37000', |
| | | // target: 'http://192.168.3.7:37000', |
| | | // target: 'http://192.168.1.51:37000/', |
| | |
| | | */ |
| | | private final String tenantId; |
| | | /** |
| | | * ç§æ·åç§° |
| | | */ |
| | | private String tenantName; |
| | | /** |
| | | * ç¬¬ä¸æ¹è®¤è¯ID |
| | | */ |
| | | private final String oauthId; |
| | |
| | | * é¨é¨id |
| | | */ |
| | | private final String deptId; |
| | | /** |
| | | * é¨é¨åç§° |
| | | */ |
| | | private String deptName; |
| | | /** |
| | | * å²ä½id |
| | | */ |
| | |
| | | * ç¨æ·å¯çº§ |
| | | */ |
| | | private String secretGrade; |
| | | /** |
| | | * é®ä»¶ |
| | | */ |
| | | private String email; |
| | | |
| | | /** |
| | | * å¯ç çç¥ä¿®æ¹ç¶æ |
| | |
| | | private Long strategyUpdateStatus; |
| | | |
| | | |
| | | public BladeUserDetails(Long userId, String tenantId, String oauthId, String name, String realName, String deptId, String postId, String roleId, String roleName, String avatar, String username, String password, Kv detail,String secretGrade, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities,Long strategyUpdateStatus) { |
| | | public BladeUserDetails(Long userId, String tenantId, String oauthId, String name, String realName, String deptId, String postId, String roleId, String roleName, String avatar, String username, String password, Kv detail,String secretGrade, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities,Long strategyUpdateStatus,String tenantName,String deptName,String email) { |
| | | super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); |
| | | this.userId = userId; |
| | | this.tenantId = tenantId; |
| | |
| | | this.detail = detail; |
| | | this.secretGrade = secretGrade; |
| | | this.strategyUpdateStatus = strategyUpdateStatus; |
| | | this.tenantName = tenantName; |
| | | this.deptName = deptName; |
| | | this.email = email; |
| | | } |
| | | |
| | | public BladeUserDetails(Long userId, String tenantId, String oauthId, String name, String realName, String deptId, String postId, String roleId, String roleName, String avatar, String username, String password, Kv detail, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities) { |
| | |
| | | BladeUserDetails bladeUserDetails = new BladeUserDetails(user.getId(), |
| | | user.getTenantId(), StringPool.EMPTY, user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(userInfo.getRoles()), Func.toStr(user.getAvatar(), TokenUtil.DEFAULT_AVATAR), |
| | | username, AuthConstant.ENCRYPT + user.getPassword(), userInfo.getDetail(),user.getSecretGrade(), true, true, true, true, |
| | | AuthorityUtils.commaSeparatedStringToAuthorityList(Func.join(result.getData().getRoles())),user.getStrategyUpdateStatus()); |
| | | AuthorityUtils.commaSeparatedStringToAuthorityList(Func.join(result.getData().getRoles())),user.getStrategyUpdateStatus(),tenant.getData().getTenantName(),user.getDeptName(),user.getEmail()); |
| | | return bladeUserDetails; |
| | | } else { |
| | | throw new UsernameNotFoundException(result.getMsg()); |
| | |
| | | info.put(TokenUtil.DETAIL, principal.getDetail()); |
| | | info.put(TokenUtil.LICENSE, TokenUtil.LICENSE_NAME); |
| | | info.put(TokenUtil.STRATEGYUPDATESTATUS, principal.getStrategyUpdateStatus()); |
| | | info.put(TokenUtil.TENANTNAME, principal.getTenantName()); |
| | | info.put(TokenUtil.DEPTNAME, principal.getDeptName()); |
| | | info.put(TokenUtil.EMAIL, principal.getEmail()); |
| | | info.put(TokenUtil.SECRETGRADE, principal.getSecretGrade()); |
| | | ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(info); |
| | | |
| | | //tokenç¶æè®¾ç½® |
| | |
| | | public final static String LICENSE = TokenConstant.LICENSE; |
| | | public final static String LICENSE_NAME = TokenConstant.LICENSE_NAME; |
| | | public final static String STRATEGYUPDATESTATUS = "strategyUpdateStatus"; |
| | | public final static String TENANTNAME = "tenantName"; |
| | | public final static String DEPTNAME = "deptName"; |
| | | public final static String EMAIL = "email"; |
| | | public final static String SECRETGRADE = "secretGrade"; |
| | | |
| | | public final static String DEPT_HEADER_KEY = "Dept-Id"; |
| | | public final static String ROLE_HEADER_KEY = "Role-Id"; |
ÎļþÃû´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java ÐÞ¸Ä |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.dto; |
| | | |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | public class FlowTaskDTO implements Serializable { |
| | | public class FlowTaskDTO extends FlowTaskUser{ |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | |
| | | private Map<String, Object> variables;//æµç¨åæ° |
| | | |
| | | //æµç¨é¶æ®µç»å®ç屿§ |
| | | private List<ProcessStageAttr> stageAttrs; |
| | | private List<ProcessStageAttrDTO> stageAttrs; |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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.flow.core.dto; |
| | | |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * æµç¨æ¯ä¸ä¸ªèç¹å®¡æ ¸äºº |
| | | * |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | public class FlowTaskUserDTO extends FlowTaskUser { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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.flow.core.dto; |
| | | |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * æµç¨é¶æ®µ |
| | | * |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | public class ProcessStageAttrDTO extends ProcessStageAttr { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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.flow.core.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ |
| | | * |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | public class ProcessTemplateDTO extends ProcessTemplate { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
ÎļþÃû´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java ÐÞ¸Ä |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
ÎļþÃû´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessStageAttr.java ÐÞ¸Ä |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
ÎļþÃû´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java ÐÞ¸Ä |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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.flow.core.feign; |
| | | |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * æµç¨è¿ç¨è°ç¨å¤±è´¥å¤çç±» |
| | | * |
| | | * @author Chill |
| | | */ |
| | | @Component |
| | | public class IMDMFlowAttrClientFallback implements IMDMIFlowAttrClient { |
| | | |
| | | @Override |
| | | public R<List<ProcessStageAttrVO>> ssslist(String templateId, String modelKey, String taskId){ |
| | | return R.fail("è¿ç¨è°ç¨å¤±è´¥"); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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.flow.core.feign; |
| | | |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | import org.springblade.core.launch.constant.AppConstant; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 工使µè¿ç¨è°ç¨æ¥å£. |
| | | * |
| | | * @author Chill |
| | | */ |
| | | @FeignClient( |
| | | value = AppConstant.APPLICATION_FLOW_NAME, |
| | | fallback = IMDMFlowAttrClientFallback.class |
| | | ) |
| | | public interface IMDMIFlowAttrClient { |
| | | |
| | | String API_PREFIX = "/mdmflowclient"; |
| | | String GET_FLOW_ATTR_BY = API_PREFIX + "/ssslist"; |
| | | |
| | | |
| | | /** |
| | | * å¼å¯æµç¨ |
| | | * |
| | | * @return BladeFlow |
| | | */ |
| | | @PostMapping(GET_FLOW_ATTR_BY) |
| | | R<List<ProcessStageAttrVO>> ssslist(@RequestParam String templateId, @RequestParam String modelKey, @RequestParam String taskId); |
| | | } |
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskUserVO.java
Îļþ´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java ¸´ÖÆ |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | @TableName("ACT_DE_TASK_USER") |
| | | public class FlowTaskUser implements Serializable { |
| | | public class FlowTaskUserVO extends FlowTaskUser { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | private String id; |
| | | private String name;//ä¿åçè¿ä¸ªæ¶èåç§° |
| | | private String modelKey; |
| | | private String modelName; |
| | | private String classifyId; |
| | | private String templateId; |
| | | private String taskId;//æµç¨taskid |
| | | private String taskName; |
| | | private String userId; |
| | | private String userName; |
| | | private String description; |
| | | private Date created; |
| | | private Date lastUpdated; |
| | | private String createdBy; |
| | | private String lastUpdatedBy; |
| | | } |
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskVO.java
Îļþ´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java ¸´ÖÆ |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.vo; |
| | | |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | public class FlowTaskDTO implements Serializable { |
| | | public class FlowTaskVO extends FlowTaskUser{ |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | |
| | | private String conditionValue;//åæã驳åå°çä¸ä¸ä¸ªèç¹çæ¡ä»¶value |
| | | |
| | | //æµç¨ä¸åæ° |
| | | private List<FlowTaskDTO> toTasks;//æµç¨ä¸ä¸æ¥æé® |
| | | private List<FlowTaskVO> toTasks;//æµç¨ä¸ä¸æ¥æé® |
| | | private Map<String, Object> variables;//æµç¨åæ° |
| | | |
| | | //æµç¨é¶æ®µç»å®ç屿§ |
| | | private List<ProcessStageAttr> stageAttrs; |
| | | private List<ProcessStageAttrVO> stageAttrs; |
| | | |
| | | |
| | | |
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessStageAttrVO.java
Îļþ´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java ¸´ÖÆ |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ |
| | | * æµç¨é¶æ®µ |
| | | * |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | @TableName("ACT_DE_PROCESS_TEMPLATE") |
| | | public class ProcessTemplate implements Serializable { |
| | | public class ProcessStageAttrVO extends ProcessStageAttr { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | private String id; |
| | | private String templateId;//å½å模æ¿id |
| | | private String modelKey;//æµç¨æ¨¡åkey,é¨ç½²key |
| | | private String modelName;//é¨ç½²æµç¨åç§° |
| | | private String buttonTypeKey;//åºç¨æé®,ProcessTemplateTypeEnumçkey |
| | | private String buttonTypeValue;//åºç¨æé®,ProcessTemplateTypeEnumçvalue |
| | | private String description; |
| | | private Date created; |
| | | private Date lastUpdated; |
| | | private String createdBy; |
| | | private String lastUpdatedBy; |
| | | } |
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessTemplateVO.java
Îļþ´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java ¸´ÖÆ |
| | |
| | | * this software without specific prior written permission. |
| | | * Author: Chill åºéª (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.flow.engine.entity; |
| | | package com.vci.ubcs.flow.core.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ |
| | |
| | | * @author wang1 |
| | | */ |
| | | @Data |
| | | @TableName("ACT_DE_PROCESS_TEMPLATE") |
| | | public class ProcessTemplate implements Serializable { |
| | | public class ProcessTemplateVO extends ProcessTemplate { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | private String id; |
| | | private String templateId;//å½å模æ¿id |
| | | private String modelKey;//æµç¨æ¨¡åkey,é¨ç½²key |
| | | private String modelName;//é¨ç½²æµç¨åç§° |
| | | private String buttonTypeKey;//åºç¨æé®,ProcessTemplateTypeEnumçkey |
| | | private String buttonTypeValue;//åºç¨æé®,ProcessTemplateTypeEnumçvalue |
| | | private String description; |
| | | private Date created; |
| | | private Date lastUpdated; |
| | | private String createdBy; |
| | | private String lastUpdatedBy; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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.flow.business.feign; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | import com.vci.ubcs.flow.engine.service.ProcessStageAttrService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.flowable.engine.IdentityService; |
| | | import org.flowable.engine.RuntimeService; |
| | | import org.flowable.engine.TaskService; |
| | | import org.flowable.engine.runtime.ProcessInstance; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.tenant.annotation.NonDS; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * æµç¨è¿ç¨è°ç¨å®ç°ç±» |
| | | * |
| | | * @author Chill |
| | | */ |
| | | @NonDS |
| | | @RestController |
| | | @AllArgsConstructor |
| | | public class MDMFlowAttrClient implements IMDMIFlowAttrClient { |
| | | |
| | | private final ProcessStageAttrService processStageAttrService; |
| | | |
| | | @Override |
| | | @PostMapping(GET_FLOW_ATTR_BY) |
| | | public R<List<ProcessStageAttrVO>> ssslist(@RequestParam String templateId, @RequestParam String modelKey, @RequestParam String taskId) { |
| | | Map<String, Object> m = new HashMap<>(); |
| | | m.put("template_id", templateId); |
| | | m.put("task_id", taskId); |
| | | m.put("model_key", modelKey); |
| | | QueryWrapper q = Condition.getQueryWrapper(m, ProcessStageAttr.class) |
| | | .select("attr_id attrId,attr_name attrName,attr_group attrGroup"); |
| | | return R.data(processStageAttrService.list(q)); |
| | | } |
| | | |
| | | } |
| | |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import com.vci.ubcs.flow.engine.entity.FlowModel; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.engine.service.FlowEngineService; |
| | | import com.vci.ubcs.flow.engine.service.FlowTaskUserService; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | import com.vci.ubcs.flow.engine.service.FlowEngineService; |
| | | import com.vci.ubcs.flow.engine.service.ProcessStageAttrService; |
| | | import com.vci.ubcs.flow.engine.service.ProcessTemplateService; |
| | |
| | | * æµç¨é¶æ®µï¼è¿ä¸ªæµç¨,è¿ä¸ªèç¹ï¼ç»å®ç屿§ |
| | | */ |
| | | @GetMapping("/ssslist") |
| | | public R<List<ProcessStageAttr>> ssslist(@RequestParam String templateId,@RequestParam String modelKey,@RequestParam String taskId) { |
| | | public R<List<ProcessStageAttrVO>> ssslist(@RequestParam String templateId, @RequestParam String modelKey, @RequestParam String taskId) { |
| | | Map<String, Object> m = new HashMap<>(); |
| | | m.put("template_id", templateId); |
| | | m.put("task_id", taskId); |
| | |
| | | package com.vci.ubcs.flow.engine.controller; |
| | | |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.engine.service.FlowTaskUserService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.tenant.annotation.NonDS; |
| | |
| | | package com.vci.ubcs.flow.engine.controller; |
| | | |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.engine.service.VICFlowService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.tenant.annotation.NonDS; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.engine.entity.FlowModel; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskUser; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | package com.vci.ubcs.flow.engine.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | |
| | | /** |
| | | * æµç¨é¶æ®µ |
| | |
| | | package com.vci.ubcs.flow.engine.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | |
| | | /** |
| | | * æµç¨æ¨¡æ¿ |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.engine.entity.FlowExecution; |
| | | import com.vci.ubcs.flow.engine.entity.FlowModel; |
| | | import com.vci.ubcs.flow.engine.entity.FlowProcess; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | |
| | | package com.vci.ubcs.flow.engine.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.engine.entity.*; |
| | | |
| | | import java.util.List; |
| | |
| | | package com.vci.ubcs.flow.engine.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | |
| | | /** |
| | | * æµç¨é¶æ®µæå¡ |
| | |
| | | package com.vci.ubcs.flow.engine.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | */ |
| | | package com.vci.ubcs.flow.engine.service; |
| | | |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import org.springblade.core.tool.api.R; |
| | | |
| | | /** |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.node.ObjectNode; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.core.enums.FlowModeEnum; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | |
| | | import com.vci.ubcs.flow.engine.entity.FlowExecution; |
| | | import com.vci.ubcs.flow.engine.entity.FlowModel; |
| | | import com.vci.ubcs.flow.engine.entity.FlowProcess; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.engine.mapper.FlowMapper; |
| | | import com.vci.ubcs.flow.engine.service.FlowEngineService; |
| | | import com.vci.ubcs.flow.engine.utils.FlowCache; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import com.vci.ubcs.flow.engine.entity.*; |
| | | import com.vci.ubcs.flow.engine.mapper.FlowTaskUserMapper; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.engine.entity.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.engine.mapper.ProcessStageAttrMapper; |
| | | import com.vci.ubcs.flow.engine.service.ProcessStageAttrService; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.flow.core.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import com.vci.ubcs.flow.engine.entity.ProcessTemplate; |
| | | import com.vci.ubcs.flow.engine.mapper.ProcessTemplateMapper; |
| | | import com.vci.ubcs.flow.engine.service.ProcessTemplateService; |
| | | import com.vci.ubcs.starter.web.enumpck.ProcessTemplateTypeEnum; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.vci.ubcs.flow.core.constant.ProcessConstant; |
| | | import com.vci.ubcs.flow.core.dto.FlowTaskDTO; |
| | | import com.vci.ubcs.flow.core.entity.BladeFlow; |
| | | import com.vci.ubcs.flow.core.entity.FlowTaskUser; |
| | | import com.vci.ubcs.flow.core.utils.TaskUtil; |
| | | import com.vci.ubcs.flow.engine.entity.*; |
| | | import com.vci.ubcs.flow.engine.service.FlowEngineService; |
| | |
| | | */ |
| | | package com.vci.ubcs.report.config; |
| | | |
| | | import com.vci.ubcs.core.report.datasource.ReportDataSource; |
| | | //import org.springblade.core.report.datasource.ReportDataSource; |
| | | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | |
| | | @ConditionalOnProperty(value = "report.enabled", havingValue = "true", matchIfMissing = true) |
| | | public class BladeReportConfiguration { |
| | | |
| | | /** |
| | | * èªå®ä¹æ¥è¡¨å¯éæ°æ®æº |
| | | */ |
| | | @Bean |
| | | public ReportDataSource reportDataSource(DataSource dataSource) { |
| | | return new ReportDataSource(dataSource); |
| | | } |
| | | // /** |
| | | // * èªå®ä¹æ¥è¡¨å¯éæ°æ®æº |
| | | // */ |
| | | // @Bean |
| | | // public ReportDataSource reportDataSource(DataSource dataSource) { |
| | | // return new ReportDataSource(dataSource); |
| | | // } |
| | | |
| | | } |
| | |
| | | package com.vci.ubcs.resource.endpoint; |
| | | |
| | | import com.vci.ubcs.resource.entity.Attach; |
| | | import com.vci.ubcs.resource.service.IFileService; |
| | | import com.vci.ubcs.resource.utils.FileDownloadUtil; |
| | | import com.vci.ubcs.starter.web.util.LangBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import io.swagger.annotations.Api; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.SneakyThrows; |
| | |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.vci.ubcs</groupId> |
| | | <artifactId>ubcs-flow-api</artifactId> |
| | | <version>3.0.1.RELEASE</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.thoughtworks.xstream</groupId> |
| | | <artifactId>xstream</artifactId> |
| | | </dependency> |
| | |
| | | package com.vci.ubcs.code.vo.pagemodel; |
| | | |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | public class MdmUIInfoVO implements java.io.Serializable { |
| | |
| | | * å½ååç±»æ¯å¦ä¸ºå¶åèç¹ |
| | | */ |
| | | private boolean leaf; |
| | | |
| | | public List<SmOperationVO> getButtons() { |
| | | return buttons; |
| | | } |
| | |
| | | */ |
| | | private String deptId; |
| | | /** |
| | | * é¨é¨åç§° |
| | | */ |
| | | @TableField(exist = false) |
| | | private String deptName; |
| | | /** |
| | | * å¯ç çç¥ |
| | | */ |
| | | @TableField(exist = false) |
| | |
| | | import com.vci.ubcs.starter.web.pagemodel.SessionInfo; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | public static Map<String, String> getSystemVarValueMap() { |
| | | Map<String, String> systemVarMap = new HashMap(); |
| | | SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); |
| | | if (sessionInfo != null) { |
| | | systemVarMap.put("#CURRENTUSER.OID#", sessionInfo.getUserOid()); |
| | | systemVarMap.put("#CURRENTUSER.ID#", sessionInfo.getUserId()); |
| | | systemVarMap.put("#CURRENTUSER_NAME#", sessionInfo.getUserName()); |
| | | // SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); |
| | | // if (sessionInfo != null) { |
| | | systemVarMap.put("#CURRENTUSER.OID#", String.valueOf(AuthUtil.getUser().getUserId())); |
| | | systemVarMap.put("#CURRENTUSER.ID#", AuthUtil.getUser().getAccount()); |
| | | systemVarMap.put("#CURRENTUSER_NAME#", AuthUtil.getUser().getUserName()); |
| | | systemVarMap.put("#CURRENTDATETIME#", VciDateUtil.getNowString()); |
| | | systemVarMap.put("#CURRENTDATE#", VciDateUtil.getNowString("yyyy-MM-dd")); |
| | | systemVarMap.put("#CURRENTTIME#", VciDateUtil.getNowString("HH:mm:ss")); |
| | | systemVarMap.put("#CURRENTUSER.SECRETGRADE#", sessionInfo.getUserSecret()); |
| | | systemVarMap.put("#CURRENTUSER.GROUPNAME#", sessionInfo.getDeptName()); |
| | | systemVarMap.put("#CURRENTUSER.GROUPOID#", sessionInfo.getDeptOid()); |
| | | systemVarMap.put("#CURRENTUSER.EMAIL#", sessionInfo.getEmail()); |
| | | systemVarMap.put("#CURRENTUSER.ROLENAME#", (String) ((Collection) Optional.ofNullable(sessionInfo.getRolesName().values()).orElseGet(() -> { |
| | | return new ArrayList(); |
| | | })).stream().collect(Collectors.joining(","))); |
| | | systemVarMap.put("#CURRENTUSER.IPSECRET#", sessionInfo.getIpSecret()); |
| | | systemVarMap.put("#CURRENTUSER.BUSINESSUNIT#", sessionInfo.getOrgsOid()); |
| | | systemVarMap.put("#CURRENTUSER.BUSINESSUNITNAME#", sessionInfo.getOrgsName()); |
| | | } |
| | | systemVarMap.put("#CURRENTUSER.SECRETGRADE#", (String) AuthUtil.getUser().getDetail().get("secretGrade")); |
| | | systemVarMap.put("#CURRENTUSER.GROUPNAME#", (String) AuthUtil.getUser().getDetail().get("deptName")); |
| | | systemVarMap.put("#CURRENTUSER.GROUPOID#", AuthUtil.getUser().getDeptId()); |
| | | systemVarMap.put("#CURRENTUSER.EMAIL#", (String) AuthUtil.getUser().getDetail().get("email")); |
| | | systemVarMap.put("#CURRENTUSER.ROLENAME#", AuthUtil.getUser().getRoleName()); |
| | | systemVarMap.put("#CURRENTUSER.IPSECRET#", ""); |
| | | systemVarMap.put("#CURRENTUSER.BUSINESSUNIT#", AuthUtil.getUser().getTenantId()); |
| | | systemVarMap.put("#CURRENTUSER.BUSINESSUNITNAME#", (String) AuthUtil.getUser().getDetail().get("tenantName")); |
| | | // } |
| | | |
| | | return systemVarMap; |
| | | } |
| | |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.vci.ubcs</groupId> |
| | | <artifactId>ubcs-flow-api</artifactId> |
| | | <version>3.0.1.RELEASE</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | <!--axis2 end --> |
| | | |
| | | </dependencies> |
| | |
| | | import com.vci.ubcs.code.service.MdmEngineService; |
| | | import com.vci.ubcs.code.service.MdmIOService; |
| | | import com.vci.ubcs.code.vo.pagemodel.*; |
| | | import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.starter.annotation.VciBusinessLog; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | |
| | | */ |
| | | @Autowired |
| | | private MdmIOService mdmIOService; |
| | | |
| | | |
| | | /** |
| | | * ä¸è½½æ¹éç³è¯·ç导å
¥æ¨¡æ¿ |
| | |
| | | return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId); |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨åç±»è·åè¡¨æ ¼çå®ä¹ |
| | | * @param codeClassifyOid åç±»ä¸»é® |
| | | * @param functionId åè½çç¼å· |
| | | * @return UIç¸å
³çä¿¡æ¯ï¼ä»
å
å«è¡¨æ ¼ï¼ |
| | | */ |
| | | @GetMapping("/getFlowdUIInfoByClassifyOid") |
| | | public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid,String functionId,String templateId,String taskId,String modelKey){ |
| | | return engineService.getFlowUIInfoByClassifyOid(codeClassifyOid,functionId,templateId,taskId,modelKey); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/thisistest") |
| | | @ResponseBody |
| | |
| | | * @return UIç¸å
³çå
容 |
| | | */ |
| | | MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId); |
| | | /** |
| | | * 使ç¨å类主é®ï¼æ¨¡æ¿ä¸»é®ï¼é¶æ®µæ è¯ï¼æµç¨æ¨¡æ¿kekè·åæµç¨å®¡æ¹ä¸é¡µé¢çå
容ï¼å
å«æé® |
| | | * |
| | | * @param codeClassifyOid 主é¢åºåç±»ä¸»é® |
| | | * @param functionId åè½çç¼å·,é»è®¤5 |
| | | * @return UIç¸å
³çå
容 |
| | | */ |
| | | MdmUIInfoVO getFlowUIInfoByClassifyOid(String codeClassifyOid, String functionId,String templateId,String taskId,String modelKey); |
| | | |
| | | /** |
| | | * ä¼ å
¥ä¸å¡ç±»å以åç¸å
³æ°æ®è¿è¡æ¹éæå
¥æä½ |
| | |
| | | //é彿¾ä¸çº§çæ¨¡æ¿ |
| | | CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid); |
| | | // codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid); |
| | | if(StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){ |
| | | if(classifyDO==null&&StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){ |
| | | //说æå·²ç»æ¯é¡¶äºï¼ä¹æ²¡æ¾å°çè¯ï¼é£å°±è¿åäº |
| | | return null; |
| | | } |
| | |
| | | private IDockingLogeService dockingLogeService; |
| | | @Resource |
| | | private IDockingDataService dockingDataService; |
| | | @Resource |
| | | private IDockingTaskService dockingTaskService; |
| | | // @Resource |
| | | // private IDockingTaskService dockingTaskService; |
| | | @Resource |
| | | private IDockingSystemConfigService dockingSystemConfigService; |
| | | @Resource |
| | |
| | | } |
| | | |
| | | if(dockingTask_insert.size()!=0) { |
| | | dockingTaskService.saveBatch(dockingTask_insert); |
| | | // dockingTaskService.saveBatch(dockingTask_insert); |
| | | } |
| | | //dockingTaskDaoI.updateByPrimaryKeyæ¹æ³æ¥éäºï¼æä»¥æåäºè¿ä¸ª |
| | | boolean u = updateDockingDatasSendFlag(dataoid,SEND_FLAG_TRUE); |
| | |
| | | */ |
| | | @Autowired(required = false) |
| | | private DockingSystemMapper dockingSystemMapper; |
| | | /*** |
| | | * ä»»å¡çææå¡ |
| | | */ |
| | | @Autowired( required = false) |
| | | private IDockingTaskService dockingTaskService; |
| | | // /*** |
| | | // * ä»»å¡çææå¡ |
| | | // */ |
| | | // @Resource |
| | | // private IDockingTaskService dockingTaskService; |
| | | |
| | | |
| | | /** |
| | |
| | | dockingTaskDO_insert.add(dockingTaskDO); |
| | | }); |
| | | } |
| | | dockingTaskService.saveBatch(dockingTaskDO_insert); |
| | | // dockingTaskService.saveBatch(dockingTaskDO_insert); |
| | | }catch (Throwable e){ |
| | | msg="æ°æ®æ¨éå°å®æ¶ä»»å¡å¤±è´¥!"; |
| | | log.error("æ°æ®æ¨éå°å®æ¶ä»»å¡å¤±è´¥!"+e); |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | @Service |
| | | public class DokingSysManaentServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDokingSysManaentService { |
| | | |
| | | |
| | | /*** |
| | | * ä»»å¡çææå¡ |
| | | */ |
| | | @Autowired( required = false) |
| | | private IDockingTaskService dockingTaskService; |
| | | // /*** |
| | | // * ä»»å¡çææå¡ |
| | | // */ |
| | | // @Resource |
| | | // private IDockingTaskService dockingTaskService; |
| | | |
| | | |
| | | /*** |
| | |
| | | */ |
| | | @Override |
| | | public IPage<DockingTaskVO> gridDockingTask(DockingTask dockingTask, Query query) { |
| | | IPage<DockingTask> pages=dockingTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingTask)); |
| | | IPage<DockingTask> pages=null; |
| | | // IPage<DockingTask> pages=dockingTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingTask)); |
| | | return DockingTaskWrapper.build().pageVO(pages); |
| | | } |
| | | |
| | |
| | | import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.UITablePageVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.*; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient; |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant; |
| | | import com.vci.ubcs.omd.cache.EnumCache; |
| | | import com.vci.ubcs.omd.feign.*; |
| | |
| | | import com.vci.ubcs.starter.util.UBCSSqlKeyword; |
| | | import com.vci.ubcs.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.ubcs.starter.web.constant.RegExpConstant; |
| | | import com.vci.ubcs.starter.web.constant.VciSystemVarConstants; |
| | | import com.vci.ubcs.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | |
| | | * æ¿æ¢å符 |
| | | */ |
| | | public static final String SPECIAL_CHAR = "VCI"; |
| | | /** |
| | | * ä¸»æ°æ®æµç¨é¶æ®µæå¡ |
| | | */ |
| | | @Autowired |
| | | private IMDMIFlowAttrClient imdmiFlowAttrClient; |
| | | // @Autowired |
| | | // private CodeOsbtmtypeMapper codeOsbtmtypeMapper;---- |
| | | |
| | |
| | | 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()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨åç±»ç主é®è·åè¡¨æ ¼çå®ä¹-ubcsåä¿®æ¹è·åæµç¨é¶æ®µçæè·åæ¹æ³ |
| | | * @param codeClassifyOid |
| | | * @param templateId |
| | | * @param taskId |
| | | * @param modelKey |
| | | * @return |
| | | */ |
| | | public MdmUIInfoVO getTableDefineByClassifyOid_v2(String codeClassifyOid,String templateId,String taskId,String modelKey) { |
| | | MdmUIInfoVO uiInfoVO = new MdmUIInfoVO(); |
| | | CodeClassifyTemplateVO templateVO = getUsedTemplateByClassifyOid(codeClassifyOid); |
| | | uiInfoVO.setTemplateVO(templateVO); |
| | | UITableDefineVO uiTableDefineVO = wrapperTableDefineByTemplate(templateVO, true); |
| | | R<List<ProcessStageAttrVO>> r = imdmiFlowAttrClient.ssslist(templateId,modelKey,taskId); |
| | | List<ProcessStageAttrVO> stageAttrVOS = r.getData(); |
| | | List<String> attrList = new ArrayList<>(); |
| | | stageAttrVOS.stream().forEach(attr->{ |
| | | attrList.add(attr.getAttrId()); |
| | | }); |
| | | uiTableDefineVO.getCols().stream().forEach(list -> { |
| | | List<UITableFieldVO> visiableTableField = new ArrayList<>(); |
| | | visiableTableField = list.stream().filter(col -> |
| | | attrList.stream().anyMatch(s -> StringUtils.equalsIgnoreCase(col.getField(), s) || |
| | | (StringUtils.equalsIgnoreCase(col.getFieldType(), "combox") && StringUtils.equalsIgnoreCase(col.getSortField(), s)) |
| | | || (StringUtils.equalsIgnoreCase(col.getFieldType(), "refer") && StringUtils.equalsIgnoreCase(col.getQueryField(), s)) |
| | | )).collect(Collectors.toList()); |
| | | |
| | | visiableTableField.stream().forEach(vo -> { |
| | | uiTableDefineVO.setHasEditor(true); |
| | | if ("refer".equalsIgnoreCase(vo.getFieldType())) { |
| | | setReferConfig2EditConfig(vo); |
| | | } else if ("combox".equalsIgnoreCase(vo.getFieldType())) { |
| | | setComboxConfig2EditConfig(vo); |
| | | } else if (StringUtils.isNotBlank(vo.getDateFormate())) { |
| | | vo.setEdit("date"); |
| | | } else { |
| | | vo.setEdit(vo.getFieldType()); |
| | | } |
| | | }); |
| | | }); |
| | | uiInfoVO.setTableDefineVO(uiTableDefineVO); |
| | | wrapperResemble(templateVO, uiInfoVO); |
| | | return uiInfoVO; |
| | | } |
| | | |
| | | /** |
| | | * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨æ ¼å®ä¹çä¿¡æ¯ |
| | | * |
| | | * @param templateVO 模æ¿çæ¾ç¤ºå¯¹è±¡ |
| | |
| | | } |
| | | return uiInfoVO; |
| | | } |
| | | @Override |
| | | public MdmUIInfoVO getFlowUIInfoByClassifyOid(String codeClassifyOid, String functionId,String templateId,String taskId,String modelKey){ |
| | | // MdmUIInfoVO uiInfoVO = getTableDefineByClassifyOid_v2(codeClassifyOid,templateId,taskId,modelKey); |
| | | MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid)); |
| | | R<List<ProcessStageAttrVO>> r = imdmiFlowAttrClient.ssslist(templateId,modelKey,taskId); |
| | | List<ProcessStageAttrVO> stageAttrVOS = r.getData(); |
| | | Set<String> attrSet = new HashSet<>(); |
| | | stageAttrVOS.stream().forEach(attr->{ |
| | | attrSet.add(attr.getAttrId()); |
| | | }); |
| | | |
| | | try { |
| | | |
| | | UITableDefineVO tableDefineVO = uiInfoVO.getTableDefineVO(); |
| | | List<List<UITableFieldVO>> tableFieldVOs = tableDefineVO.getCols(); |
| | | List<UITableFieldVO> uiTableFieldVOS = tableFieldVOs.get(0); |
| | | uiTableFieldVOS.stream().forEach(ui->{ |
| | | // if(!attrSet.contains(ui.getField())){ |
| | | // ui.setEdit(null); |
| | | // ui.setEditConfig(null); |
| | | // } |
| | | }); |
| | | }catch (Exception e){ |
| | | throw new ServiceException("æ¨¡æ¿æ²¡æå®ä¹å±æ§ï¼è¯»å表头失败!"); |
| | | } |
| | | return uiInfoVO; |
| | | } |
| | | |
| | | /** |
| | | * 使ç¨å类主é®è·åå·¥å
·æ ä¸çæé®ä¿¡æ¯ |
| | |
| | | * @return 转æ¢åç |
| | | */ |
| | | private String getValueByFormulaForCBO(BaseModel cbo,String rule){ |
| | | Map<String, Object> dataMap = BeanUtils.beanToMap(cbo); |
| | | Map<String, Object> dataMap = null; |
| | | try{ |
| | | dataMap = VciBaseUtil.convertBean2Map(cbo); |
| | | }catch(Exception e){ |
| | | throw new VciBaseException("mapToBeanError:"+e); |
| | | } |
| | | Map<String, String> map = new HashMap<String, String>(); |
| | | for (String i : dataMap.keySet()) { |
| | | map.put(i, String.valueOf(dataMap.get(i))); |
| | |
| | | package com.vci.ubcs.omd.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.omd.dto.LifeCycleDTO; |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | 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.BeanUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Locale; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | @GetMapping("page") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "å页æ¥è¯¢çå½å¨æ",notes = "å页æ¥è¯¢çå½å¨æ") |
| | | public R<IPage<LifeCycleVO>> page(BladeQueryObject baseQueryObject){ |
| | | Map<String, Object> conditionMap = baseQueryObject.getConditionMap(); |
| | | if (conditionMap == null){ |
| | | conditionMap = new HashMap<>(); |
| | | } |
| | | return R.data(lifeCycleService.listLife(conditionMap,baseQueryObject.getQuery())); |
| | | public R<IPage<LifeCycleVO>> page(@RequestParam Map<String, Object> conditionMap, Query query){ |
| | | |
| | | return R.data(lifeCycleService.listLife(conditionMap,query)); |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | @GetMapping("page-event") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "å
¨é¨çäºä»¶",notes = "å页æ¥è¯¢äºä»¶") |
| | | public R<IPage<LifeCycleEventVO>> pageEvent(BladeQueryObject baseQueryObject){ |
| | | Map<String, Object> conditionMap = baseQueryObject.getConditionMap(); |
| | | if (conditionMap == null){ |
| | | conditionMap = new HashMap<>(); |
| | | @ApiOperation(value = "å
¨é¨çäºä»¶",notes = "listæ¥è¯¢äºä»¶") |
| | | public R<List<LifeCycleEventVO>> pageEvent(){ |
| | | return R.data(lifeCycleService.listEventNoPage()); |
| | | } |
| | | return R.data(lifeCycleService.listEvent(conditionMap,baseQueryObject.getQuery())); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | IPage<LifeCycleEventVO> listEvent(Map<String, Object> conditionMap, Query query); |
| | | |
| | | /** |
| | | * è·åå
¨é¨çäºä»¶ |
| | | */ |
| | | List<LifeCycleEventVO> listEventNoPage(); |
| | | |
| | | /** |
| | | * æ·»å ä¿å |
| | | * @param lifeCycleDTO æ°æ®ä¼ è¾å¯¹è±¡ |
| | | * @return æ·»å åçæ¾ç¤ºå¯¹è±¡ |
| | |
| | | return LifeCycleEventWrapper.build().pageVO(eventMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(conditionMap, LifeCycleEvent.class).lambda().orderByAsc(LifeCycleEvent::getEventFullName))); |
| | | } |
| | | |
| | | public List<LifeCycleEventVO> listEventNoPage(){ |
| | | QueryWrapper<LifeCycleEvent> queryWrapper = new QueryWrapper(); |
| | | List<LifeCycleEvent> lifeCycleEvents = eventMapper.selectList(queryWrapper); |
| | | List<LifeCycleEventVO> vos = new ArrayList<>(); |
| | | lifeCycleEvents.stream().forEach(lifeCycleEvent -> { |
| | | LifeCycleEventVO vo = new LifeCycleEventVO(); |
| | | BeanUtil.convert(lifeCycleEvent,vo); |
| | | vos.add(vo); |
| | | }); |
| | | return vos; |
| | | } |
| | | |
| | | /** |
| | | * æ·»å ä¿å |
| | | * |
| | |
| | | LifeCycleRule rule = selectByOid(lifeCycleDTO.getOid()); |
| | | //æ¥è¯¢éå¤ |
| | | QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class); |
| | | if(rule.getId().equals(lifeCycleDTO.getId())){ |
| | | throw new VciBaseException("çå½å¨æç¼å·ä¸è½ä¿®æ¹"); |
| | | } |
| | | |
| | | wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT)); |
| | | wrapper.ne("oid",lifeCycleDTO.getOid()); |
| | | if(baseMapper.selectCount(wrapper)>0){ |
| | |
| | | String lifeOid = lifeCycleRule.getOid(); |
| | | |
| | | QueryWrapper<LifeCycleNode> nodeWrapper = new QueryWrapper<>(); |
| | | nodeWrapper.eq("lifeCycleOid",lifeOid.toLowerCase(Locale.ROOT)); |
| | | nodeWrapper.eq("life_cycle_oid",lifeOid.toLowerCase(Locale.ROOT)); |
| | | List<LifeCycleNode> nodes = nodeMapper.selectList(nodeWrapper); |
| | | List<LifeCycleNodeVO> nodeVos = new ArrayList<>(); |
| | | nodes.stream().forEach(doo->{ |
| | |
| | | vo.setNodes(nodeVos); |
| | | |
| | | QueryWrapper<LifeCycleEdge> edgeWrapper = new QueryWrapper<>(); |
| | | edgeWrapper.eq("lifeCycleOid",lifeOid.toLowerCase(Locale.ROOT)); |
| | | edgeWrapper.eq("life_cycle_oid",lifeOid.toLowerCase(Locale.ROOT)); |
| | | List<LifeCycleEdge> edges = edgeMapper.selectList(edgeWrapper); |
| | | List<LifeCycleEdgeVO> edgeVos = new ArrayList<>(); |
| | | edges.stream().forEach(doo->{ |
| | |
| | | if (ObjectUtil.isEmpty(user)) { |
| | | return null; |
| | | } |
| | | user.setDeptName(Func.join(SysCache.getDeptNames(user.getDeptId()))); |
| | | UserInfo userInfo = new UserInfo(); |
| | | userInfo.setUser(user); |
| | | if (Func.isNotEmpty(user)) { |