fujunling
2023-06-09 d1eb1ce1d2fcb0c76f5d3b1a6ae00bf3f263b2f1
Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
已修改6个文件
已添加2个文件
391 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/integration/application.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/integration/sysInfo.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/integration/applicationForm.vue 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/integration/systemInfo.vue 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/integration/application.js
@@ -7,4 +7,12 @@
      method: 'get',
      params: params
    })
  }
  }
  // ç”³é¢†å•状态
export const queryApplyStat = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/queryApplyState',
    method: 'get',
    params: params
  })
}
Source/UBCS-WEB/src/api/integration/sysInfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
import request from '@/router/axios';
// é›†æˆç³»ç»Ÿä¿¡æ¯ç®¡ç†åˆ—表
export const getSysInfoList = (params) => {
    return request({
      url: '/api/ubcs-code/dockingManagement/gridSysIntBase',
      method: 'get',
      params: params
    })
  }
  // é›†æˆç³»ç»Ÿä¿¡æ¯ç®¡ç†æ–°å¢ž
export const sysInfoAdd = (params) => {
  return request({
    url: '/api/ubcs-code/dockingManagement/addSave',
    method: 'post',
    data: params
  })
}
 // é›†æˆç³»ç»Ÿä¿¡æ¯ç®¡ç†æ–°å¢ž
 export const sysInfoEdit = (params) => {
    return request({
      url: '/api/ubcs-code/dockingManagement/editSave',
      method: 'put',
      data: params
    })
  }
   // é›†æˆç³»ç»Ÿä¿¡æ¯ç®¡ç†æ–°å¢ž
export const sysInfoDel = (params) => {
    return request({
      url: '/api/ubcs-code/dockingManagement/deleteDataById',
      method: 'delete',
      params: params
    })
  }
Source/UBCS-WEB/src/views/integration/applicationForm.vue
@@ -2,7 +2,8 @@
    <basic-container>
        <avue-crud :table-loading="loading" :data="data" :option="option" :search.sync="searchParam" :page.sync="page"
            ref="crud" @refresh-change="getDataList" @search-change="handleSearch" @search-reset="handleReset"
            @size-change="handleSizePage" @current-change="handleCurrentPage" @on-load="getDataList">
            @size-change="handleSizePage" @current-change="handleCurrentPage" @on-load="getDataList"
            @selection-change="selectionChange" @row-click="handleRowClick">
            <template slot="menuLeft">
                <el-button icon="el-icon-document" size="small" type="primary" @click="handleStatus">集团申请状态
                </el-button>
@@ -12,7 +13,7 @@
</template>
<script>
import { getList } from '@/api/integration/application.js'
import { getList, queryApplyStat } from '@/api/integration/application.js'
import { dateFormat } from '@/util/date.js'
export default {
    data() {
@@ -25,6 +26,7 @@
                total: 0
            },
            searchParam: {},
            stateParam: {},
            option: {
                height: "auto",
                index: true,
@@ -33,7 +35,8 @@
                columnBtn: false,
                searchMenuSpan: 8,
                highlightCurrentRow: true,
                menu:false,
                menu: false,
                selection: true,
                column: [
                    {
                        label: '申请单号',
@@ -77,9 +80,6 @@
                        prop: 'lastModifyTime',
                        type: 'datetime',
                        search: true,
                        formatter: () => {
                        }
                    }, {
                        label: '返回标识',
                        width: 100,
@@ -100,8 +100,20 @@
        }
    },
    methods: {
        handleStatus() {
        async handleStatus() {
            const { oids } = this.stateParam
            if (this.$utilFunc.isEmpty(oids)) {
                this.$message({
                    type: "error",
                    message: "请至少选择一条数据!"
                })
            } else {
                console.log(this.stateParam)
                const response = await queryApplyStat(this.stateParam)
                if (response.status === 200) {
                    console.log(response)
                }
            }
        },
        async getDataList() {
            this.loading = true
@@ -140,7 +152,19 @@
            this.page.currentPage = 1
            this.getDataList()
            done()
        }
        },
        selectionChange(list) {
            console.log(list)
            let newData = list.map(item => {
                const { dataOid } = item
                return dataOid
            })
            this.stateParam = { oids: newData.toString() }
            console.log(newData)
        },
        handleRowClick(row) {
            this.$refs.crud.toggleRowSelection(row, true)
        },
    }
}
</script>
Source/UBCS-WEB/src/views/integration/systemInfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,224 @@
<template>
    <basic-container>
        <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page" :search.sync="search"
            @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit"
            @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage"
            @selection-change="selectionChange" @row-click="handleRowClick">
            <template slot="menuLeft">
                <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">查 è¯¢
                </el-button>
                <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">删 é™¤
                </el-button>
            </template>
            <template slot="search" slot-scope="{row,size}">
                <el-select v-model="selectValue" size="small" @change="handleSelect">
                    <el-option v-for="item in selectOption" :key="item.value" :label="item.label" :value="item.value">
                    </el-option>
                </el-select>
                <el-input :placeholder="`请输入${selectValue === 'id' ? '系统编号' : '系统名称'}并按回车查询`" :size="size"
                    style="width:300px;margin-left: 10px;" v-model="search[selectValue]" clearable
                    @keyup.enter.native="handleEnter" @clear="handleClear"></el-input>
            </template>
        </avue-crud>
    </basic-container>
</template>
<script>
import { getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel } from '@/api/integration/sysInfo.js'
export default {
    data() {
        return {
            loading: false,
            page: {
                currentPage: 1,
                pageSize: 10,
                total: 0
            },
            selectOption: [{
                value: 'id',
                label: '系统编号'
            }, {
                value: 'name',
                label: '系统名称'
            }],
            selectValue: 'id',
            search: {},
            delIds: [],
            data: [],
            option: {
                height: "auto",
                border: true,
                align: 'center',
                menuAlign: 'center',
                index: true,
                searchMenuSpan: 8,
                searchBtn: false,
                emptyBtn: false,
                columnBtn: false,
                defaultSort: {
                    prop: 'id,name',
                    order: 'descending'
                },
                selection: true,
                column: [
                    {
                        label: '系统编号',
                        prop: 'id',
                        sortable: true,
                        rules: [{
                            required: true,
                            message: '系统编号不能为空',
                            trigger: 'blur'
                        }]
                    }, {
                        label: '系统名称',
                        prop: 'name',
                        sortable: true,
                        rules: [{
                            required: true,
                            message: '系统名称不能为空',
                            trigger: 'blur'
                        }]
                    },
                    {
                        label: '系统描述',
                        prop: 'description',
                        type: 'textarea'
                    }
                ]
            },
        }
    },
    methods: {
        // èŽ·å–åˆ—è¡¨
        async getDataList() {
            this.loading = true
            console.log(this.search)
            const { pageSize, currentPage } = this.page
            let param = { size: pageSize, current: currentPage }
            const response = await getSysInfoList({ ...param, ...this.search })
            if (response.status === 200) {
                console.log(response)
                this.loading = false
                const data = response.data.data
                this.data = data.records
                this.page.total = data.total
            } else this.loading = false
        },
        // æ–°å¢ž
        async handleSave(row, done, loading) {
            const response = await sysInfoAdd(row)
            if (response.status === 200) {
                loading()
                this.$message({
                    type: 'success',
                    message: '新增数据成功!'
                })
                done()
                this.$refs.crud.refreshTable()
                this.getDataList()
            }
        },
        // ç¼–辑
        async handleEdit(row, index, done, loading) {
            console.log(row)
            const { oid, id, name, description } = row
            const response = await sysInfoEdit({ oid, id, name, description })
            if (response.status === 200) {
                loading()
                this.$message({
                    type: 'success',
                    message: '修改数据成功!'
                })
                done()
                this.getDataList()
            }
        },
        // åˆ é™¤å•条
        handleDelete(row) {
            const { oid } = row
            this.deleteSysInfo({ oids: oid })
        },
        // å¤šæ¡æ•°æ®åˆ é™¤
        handleDeleteByIds() {
            const { oids } = this.delIds
            if (this.$utilFunc.isEmpty(oids)) {
                this.$message({
                    type: "error",
                    message: "请至少选择一条数据!"
                })
            } else {
                this.deleteSysInfo(this.delIds)
            }
        },
        // åˆ é™¤æŽ¥å£
        deleteSysInfo(param) {
            this.$confirm('是否确定删除选择的集成系统?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(async () => {
                const response = await sysInfoDel(param)
                if (response.status === 200) {
                    console.log(response)
                    this.$message({
                        type: 'success',
                        message: '删除成功!'
                    });
                    this.getDataList()
                }
            })
        },
        // é€‰æ‹©æ¡†å†…容选择后
        handleSelect(event) {
            this.selectValue = event
            if (this.selectValue === 'id') {
                this.search['name'] = ''
                delete this.search['name']
            } else {
                this.search['id'] = ''
                delete this.search['id']
            }
        },
        // enter搜索
        handleEnter() {
            if (this.search[this.selectValue] === '') return
            else this.getDataList()
        },
        // è¾“入框清空
        handleClear() {
            this.search = {}
            this.getDataList()
        },
        // åˆ·æ–°æŒ‰é’®
        handleRefresh() {
            this.getDataList()
        },
        handleSizePage(event) {
            this.page.pageSize = event
        },
        handleCurrentPage(event) {
            this.page.currentPage = event
        },
        // ç‚¹å‡»é€‰æ‹©
        handleRowClick(row) {
            this.$refs.crud.toggleRowSelection(row, true)
        },
        // å¤šé€‰
        selectionChange(list) {
            console.log(list)
            let newData = list.map(item => {
                const { oid } = item
                return oid
            })
            this.delIds = { oids: newData.toString() }
            console.log(this.delIds)
        },
    }
}
</script>
<style lang="scss" scoped>
::v-deep(.avue-crud .el-select) {
    width: 100px !important;
}
</style>
Source/UBCS-WEB/vue.config.js
@@ -26,16 +26,11 @@
    proxy: {
      '/api': {
        //本地服务接口地址
         target: 'http://localhost:37000',
        //  target: 'http://localhost:37000',
        //target: 'http://192.168.1.51:37000',
        //target: 'http://192.168.3.7:37000',
        // target: 'http://dev.vci-tech.com:37000',
        // target: 'http://192.168.1.51:37000/',
        //   target: 'http://localhost:37000',
        // target: 'http://192.168.1.63:37000',
        //target: 'http://192.168.3.7:37000',
        // target: 'http://dev.vci-tech.com:37000',
        target: 'http://dev.vci-tech.com:37000',
        //target: 'http://192.168.1.51:37000/',
        //远程演示服务地址,可用于直接启动项目
        // target: 'https://saber.bladex.vip/api',
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
@@ -14,6 +14,7 @@
import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -84,12 +85,17 @@
    /**
     * åˆ é™¤ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象,oid和ts需要传输
     * @param oids ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delSystemData( DockingSystemDTO dockingSystemDTO) {
        return R.status(dockingSystemService.delSystemData(dockingSystemDTO));
    @DeleteMapping( "/deleteDataById")
    public R deleteDataById( String oids) {
        try {
            return R.status(dockingSystemService.deleteDataById(oids));
        }catch (VciBaseException e){
            R.fail(e.getMessage());
        }
        return R.success("操作成功");
    }
    /**
     * ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯åˆ—表
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java
@@ -26,5 +26,5 @@
    DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO);
    boolean delSystemData(DockingSystemDTO dockingSystemDTO);
    boolean deleteDataById(String oids);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
@@ -1,14 +1,18 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
import com.vci.ubcs.code.mapper.DockingSystemMapper;
import com.vci.ubcs.code.service.IDockingSystemService;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
@@ -17,8 +21,10 @@
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING;
import static com.vci.ubcs.code.constant.MdmLifeCycleConstant.CODE_RULE_LC;
@@ -35,6 +41,12 @@
     */
    @Autowired(required = false)
    private  DockingSystemMapper dockingSystemMapper;
    /***
     * é›†æˆç³»ç»Ÿç®¡ç†æœåŠ¡
     */
    @Autowired(required = false)
    private DockingSystemConfigMapper dockingSystemConfigMapper;
    /**
     * å¯¹è±¡çš„æ“ä½œ
@@ -69,20 +81,40 @@
        return DockingSystemWrapper.build().entityVO(dockingSystem);
    }
    /***
     * æ ¹æ®ç³»ç»Ÿä¸»é”®åˆ é™¤ç³»ç»Ÿåç§°
     * @param oids
     * @return
     * @throws VciBaseException
     */
    @Override
    public boolean delSystemData(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO,"系统集成的系统信息数据对象",dockingSystemDTO.getOid(),"系统集成的系统信息的主键");
        /*DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
        BaseResult baseResult = checkIsCanDeleteForDO(sysIntBaseDTO,sysIntBaseDO);
        if(baseResult.isSuccess()) {
    public boolean deleteDataById(String oids) throws VciBaseException {
        String message="";
        try {
            VciBaseUtil.alertNotNull(oids, "系统集成的系统信息的主键");
            List<DockingSystem> dockingSystemList = dockingSystemMapper.selectBatchIds(VciBaseUtil.str2List(oids));
            Map<String/**系统oid**/, String/**系统名称**/> systemNameMap = dockingSystemList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t.getName(),(o1, o2)->o2));
            List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigMapper.selectList(Wrappers.<DockingSystemConfig>query().lambda().in(DockingSystemConfig::getSourceSystemOid, VciBaseUtil.str2List(oids)));
            Set<String> systemOidList=new HashSet<>();
            Map<String,String> errorMap = new HashMap<>();
            if (!CollectionUtils.isEmpty(dockingSystemConfigList)) {
                dockingSystemConfigList.stream().forEach(dockingSystemConfig -> {
                    if(!systemOidList.contains(dockingSystemConfig.getSourceSystemOid())&&
                        systemNameMap.containsKey(dockingSystemConfig.getSourceSystemOid())){
                        String systemName=systemNameMap.get(dockingSystemConfig.getSourceSystemOid());
                        errorMap.put("error",errorMap.getOrDefault("error","") + ";"+systemName);
                    }
                    systemOidList.add(dockingSystemConfig.getSourceSystemOid());
                });
            }
            if(errorMap.size()>0){
                throw  new Throwable(errorMap.getOrDefault("error",""));
            }
            return    dockingSystemMapper.deleteBatchIds(VciBaseUtil.str2List(oids))>0;
        }catch (Throwable e){
            e.printStackTrace();
            throw  new VciBaseException(e.getMessage());
        }else{
            return baseResult;
        }
        //执行删除操作
        BatchCBO batchCBO = sysIntBaseMapper.deleteByPrimaryKey(sysIntBaseDO.getOid());
        return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
*/
        return false;
    }
}