Browse Source

Merge branch 'master' of lulihong0928/esb into master

esb 9 years ago
parent
commit
8d1e526927

+ 27 - 6
Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java

@ -12,9 +12,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.io.IOException;
/**
@ -59,12 +64,12 @@ public class CrawlerController {
    }
    @RequestMapping("datasetDetail")
    public String datasetDetail(Model model,Integer schemeId,String schemeNm,String checkedRowsIndex,String versionId) {
    public String datasetDetail(Model model,Integer schemeId,String schemeNm,String cacheDatasetId,String versionId) {
        model.addAttribute("contentPage", "/crawler/datasetDetail");
        model.addAttribute("schemeId",schemeId);
        model.addAttribute("versionId",versionId);
        model.addAttribute("schemeNm",schemeNm);
        model.addAttribute("checkedRowsIndex",checkedRowsIndex);
        model.addAttribute("cacheDatasetId",cacheDatasetId);
        return "pageView";
    }
@ -152,16 +157,32 @@ public class CrawlerController {
    @ResponseBody
    public String  getRelations(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "datasetIdStr", required = false) String datasetIdStr
    ) {
            @RequestParam(value = "datasetIdStr", required = false) String datasetIdStr,
            @RequestParam(value = "lines", required = false) String lines) {
        try {
            return crawlerService.getRelations(versionId, datasetIdStr);
            return crawlerService.getRelations(versionId, datasetIdStr,lines);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    @RequestMapping("setRelationsCache")
    @ResponseBody
    public Result  setRelationsCache(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "lines", required = false) String lines
    ) {
        try {
            crawlerService.setLinesCache(versionId,lines);
            return Result.success("缓存映射关系成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return Result.error("缓存映射关系失败");
    }
    /**
     * 删除任务编排数据

+ 10 - 0
Hos-resource/src/main/java/com/yihu/ehr/crawler/dao/CrawlerFlowDao.java

@ -27,4 +27,14 @@ public class CrawlerFlowDao extends SQLGeneralDAO {
        super.execute(sql);
    }
    public List<CrawlerFlowModel> getCrawlerFlowList(Integer versionId,List<String> datasetCodes) {
        String adapterVersionHql = "FROM CrawlerFlowModel where schemeVersionId= :schemeVersionId and datasetCode in (:datasetCode) and inputDatasetCode in (:inputDatasetCode)";
        Query query = getCurrentSession().createQuery(adapterVersionHql);
        query.setParameter("schemeVersionId", versionId);
        query.setParameterList("datasetCode", datasetCodes);
        query.setParameterList("inputDatasetCode", datasetCodes);
        List<CrawlerFlowModel> modelList = query.list();
        return modelList;
    }
}

+ 24 - 2
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerService.java

@ -1,5 +1,7 @@
package com.yihu.ehr.crawler.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.ehr.crawler.dao.CrawlerDatasetDao;
import com.yihu.ehr.crawler.dao.CrawlerFlowDao;
import com.yihu.ehr.crawler.dao.CrawlerFlowHeadDao;
@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;
@Transactional
@ -45,7 +48,11 @@ public class CrawlerService {
    private CrawlerFlowHeadDao crawlerFlowHeadDao;
    @Resource(name = AdapterMetadataService.BEAN_ID)
    private AdapterMetadataService adapterMetadataService;
    private static Map<Integer,List<FlowLines>> lineCache= new HashMap<>();
    public static Map<Integer, List<FlowLines>> getLineCache() {
        return lineCache;
    }
    /**
     * 保存编排映射关系
     *
@ -259,7 +266,7 @@ public class CrawlerService {
    public DetailModelResult getDataSetResult(Integer limit, Integer offset){
        try {
            StringBuffer stringBuffer = new StringBuffer();
            String sql = "SELECT a.scheme_id, a.scheme_version_id, GROUP_CONCAT(a.dataset_id SEPARATOR ',') AS datasetId, GROUP_CONCAT(a.dataset_name SEPARATOR ',') AS datasetName" +
            String sql = "SELECT 1 as status, a.scheme_id, a.scheme_version_id, GROUP_CONCAT(a.dataset_id SEPARATOR ',') AS datasetId, GROUP_CONCAT(a.dataset_name SEPARATOR ',') AS datasetName" +
                    " FROM crawler_dataset a " +
                    " GROUP BY a.scheme_id, a.scheme_version_id ";
            stringBuffer.append(sql);
@ -365,11 +372,16 @@ public class CrawlerService {
     * @param datasetIdStr
     * @return
     */
    public String getRelations(Integer schemeVersionId, String datasetIdStr) {
    public String getRelations(Integer schemeVersionId, String datasetIdStr,String lineStr) {
        JSONObject jsonObject = new JSONObject();
        try {
            List<MappingDataset> datasets = getSchemeDatasetByChecked(schemeVersionId, datasetIdStr);
            List<FlowLines> lines = getFlowLines(schemeVersionId);
            if (StringUtil.isEmpty(lineStr)){
                lines = getFlowLines(schemeVersionId);
            }else {
                lines=lineCache.get(schemeVersionId);
            }
            jsonObject.put("tables", datasets);
            jsonObject.put("rels", lines);
        } catch (Exception e) {
@ -378,4 +390,14 @@ public class CrawlerService {
        return jsonObject.toString();
    }
    public void setLinesCache(Integer schemeVersionId,String lines) throws IOException {
        ObjectMapper objectMapper=new ObjectMapper();
        ObjectNode rootNode=objectMapper.readValue(lines,ObjectNode.class);
        String lineJson=rootNode.get("lines").toString();
        List<FlowLines> line=objectMapper.readValue(lineJson,List.class);
        lineCache.put(schemeVersionId,line);
    }
}

+ 36 - 19
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/crawler/dataMappingJs.jsp

@ -5,42 +5,59 @@
<script src="${contextRoot}/develop/lib/jobMapping/fabric.js"></script>
<script src="${contextRoot}/develop/lib/jobMapping/sly.js"></script>
<script src="${contextRoot}/develop/lib/jobMapping/underscore.js"></script>
<script src="${contextRoot}/develop/lib/jobMapping/data.js"></script>
<%--<script src="${contextRoot}/develop/lib/jobMapping/data.js"></script>--%>
<script src="${contextRoot}/develop/lib/jobMapping/tableViewer.js"></script>
<script>
    (function(win,$) {
        var checkRowObjs = $(parent.jobLayout.grid.getCheckedRowObjs()).find(".mapping");
        var mappingData = window.top.jQuery.data( checkRowObjs[0], "initData");
        if(mappingData){
            $('#main').tableViewer(JSON.parse(mappingData))
        }else{
        var pcurIndex = checkRowObjs.data("rowindex");
        var mappingData = parent.jobLayout.cacheMappingInitData[pcurIndex];
        $.ajax({
            url: "${contextRoot}/crawler/getRelations",
            type: "post",
            dataType: "json",
            data:{versionId: "${versionId}",datasetIdStr:"${datasetIdStr}",lines:mappingData},
            success: function (data) {
                
                if(data){
                    $('#main').tableViewer(JSON.parse(data))
                }
            }
        });
        $("#btn_close").click(function () {
            parent.jobLayout.dialog.close();
        });
        $("#btn_save").click(function () {
            $.TableView.curTV.data.rels = $.TableView.curTV.getResult().lines;
            var parentCheckRowData =parent.jobLayout.grid.getCheckedRows()[0];
            var initData = JSON.stringify($.TableView.curTV.data);
            var mappingData = JSON.stringify($.TableView.curTV.getResult());
            //修改缓存数据映射的值
            parent.jobLayout.cacheMappingInitData[pcurIndex]= initData;
            parent.jobLayout.cacheMappingData[pcurIndex]= mappingData;
            $.ajax({
                url: "${contextRoot}/crawler/getRelations",
                url: "${contextRoot}/crawler/setRelationsCache",
                type: "post",
                dataType: "json",
                data:{versionId: "${versionId}",datasetIdStr:"${datasetIdStr}"},
                data:{versionId: "${versionId}",lines:mappingData},
                success: function (data) {
                    debugger
                    if(data){
                        $('#main').tableViewer(JSON.parse(data))
                    
                    if(data.successFlg){
                        parent.jobLayout.dialog.close();//关闭窗口
                    }
                }
            });
        }
        $("#btn_close").click(function () {
            parent.jobLayout.dialog.close();
        });
        $("#btn_save").click(function () {
            $.TableView.curTV.data.rels = $.TableView.curTV.getResult().lines;
            window.top.jQuery.data( checkRowObjs[0], "initData",  JSON.stringify($.TableView.curTV.data));
            window.top.jQuery.data( checkRowObjs[0], "mappingData",  JSON.stringify($.TableView.curTV.getResult()));
            parent.jobLayout.dialog.close();
        });
    })(window, jQuery);
</script>

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/crawler/datasetDetail.jsp

@ -35,7 +35,7 @@
      <span>取消</span>
    </div>
    <div id="btn_save" class="l-button">
      <span>确定</span>
      <span>确认</span>
    </div>
  </div>

+ 20 - 31
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/crawler/datasetDetailJs.jsp

@ -12,7 +12,8 @@
      var jobDataset = {};
      var Util = $.Util;
      var schemeId = '${schemeId}';
      var checkedRowsIndex = '${checkedRowsIndex}'==""?[]:JSON.parse('${checkedRowsIndex}');
      
      var cacheDatasetId = Util.isStrEmpty(${cacheDatasetId})?{}:${cacheDatasetId};
      //数据集处理
      jobDataset.attr = {
        grid:null,
@ -63,38 +64,24 @@
                },
                //默认选中
                isChecked:function(row){
                    if(checkedRowsIndex!=null && checkedRowsIndex.length>0){
                        for(var i=0;i<checkedRowsIndex.length;i++){
                            if(row.__index == checkedRowsIndex[i].index){
                                return true;
                            }
                        }
                        return false;
                    }
                    if(checkedRowsIndex.length==0 || checkedRowsIndex==null){
                        if(row.checked=="1")
                        {
                    
                    var datasetIdList = Util.isObjEmpty(cacheDatasetId) ?[]:cacheDatasetId.split(",");
                    for(var i=0;i<datasetIdList.length;i++){
                        if(datasetIdList[i]== row.datasetId){
                            return true;
                        }
                        else{
                            return false;
                        }
                    }
                    return false;
                },
                //选中修改值
                onCheckRow:function(checked,data,rowid,rowdata)
                {
                    var checkRowsList = jobDataset.attr.grid.getCheckedRows();
                    checkedRowsIndex = null;
                    if(jobDataset.attr.grid.data.detailModelList.length==checkRowsList.length){
                        $(".l-grid1 .l-grid-header-table tr").eq(0).addClass("l-checked");
                    }else{
                        $(".l-grid1 .l-grid-header-table tr").eq(0).removeClass("l-checked");
                    }
                    for(var  i=0;i<checkRowsList.length;i++){
                        checkedRowsIndex.push({index:checkRowsList[i].__index,datasetId:checkRowsList[i].datasetId});//缓存勾选的记录索引
                    }
                    //修改行checked值
                    if(checked)
                        data.checked ="1";
@ -109,24 +96,26 @@
        },
        event: function () {
          $("#btn_save").click(function () {
              
                var checkRowsList = jobDataset.attr.grid.getCheckedRows();
                var checkRowObjs = $(parent.jobLayout.grid.getCheckedRowObjs()).find(".sel-dataset-name");
                var datasetName = "";
                var dataSets = "";
                var  checkedRowsIndex = [];
                var pcheckRowObjs = $(parent.jobLayout.grid.getCheckedRowObjs()).find(".sel-dataset-name");//父窗口选中行的数据集列
                var pcurIndex = pcheckRowObjs.attr("data-rowindex");
                var datasetName = "",dataSetIds = "",datasetCodes = "";
                for(var  i=0;i<checkRowsList.length;i++){
                      datasetName += checkRowsList[i].datasetName+",";//数据集名称
                      dataSets+=checkRowsList[i].datasetId+",";//数据集ID
                      checkedRowsIndex.push({index:checkRowsList[i].__index});//缓存勾选的记录索引
                      dataSetIds+=checkRowsList[i].datasetId+",";//数据集ID
                      datasetCodes+=checkRowsList[i].datasetCode+",";//数据集编码
                }
              checkRowObjs.val(datasetName.toString().substring(0,datasetName.length-1));
              window.top.jQuery.data( checkRowObjs[0], "dataSets",dataSets);
              window.top.jQuery.data( checkRowObjs[0], "checkedRowsIndex", checkedRowsIndex);
              pcheckRowObjs.val(datasetName.toString().substring(0,datasetName.length-1));//给父级窗口的数据集名称赋值
              //修改缓存数据集ID和数据集编码的值
              parent.jobLayout.cacheDatasetIdList[pcurIndex]= dataSetIds;
              parent.jobLayout.cacheDatasetCodeList[pcurIndex]= datasetCodes;
              parent.jobLayout.dialog.close();
              parent.jobLayout.dialog.close(); //关闭窗口
          });
          $("#btn_close").click(function () {
              parent.jobLayout.dialog.close();
              parent.jobLayout.dialog.close(); //关闭窗口
          });
        }
      };

+ 101 - 37
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/crawler/jobLayoutJs.jsp

@ -10,11 +10,14 @@
    var schemeVersionList = [];
    var validAdd = null;
    /* *************************** 自定义模块 ***************************** */
    var jobLayout = {
        dialog:null,
        grid:null,
        cacheDatasetIdList:[],
        cacheDatasetCodeList:[],
        cacheMappingInitData:[],
        cacheMappingData:[],
        init:function(){
            var me = this;
            $('.m-retrieve-area').show();
@ -51,6 +54,7 @@
                validate : true,
                unSetValidateAttr:false,
                columns: [
                    { display: 'status', name: 'status', hide:true },
                    { display: 'scheme_id', name: 'scheme_id', hide:true },
                    { display: 'datasetId', name: 'datasetId', hide:true },
                    {display:'适配方案',name:'', width: '20%',render: function (row, rowindex, value, column) {
@ -64,7 +68,7 @@
                        return  select.prop("outerHTML");
                    }},
                    {display:'版本',name:'',width: '20%',render: function (row, rowindex, value, column) {
                        var select= '<select class="sel-version-name form-control required"  id="versionNm'+rowindex+'" style="margin-top:3px;font-size:12px;">';
                        var select= '<select class="sel-version-name form-control required"  data-rowindex="'+rowindex+'" id="versionNm'+rowindex+'" style="margin-top:3px;font-size:12px;">';
                        var versionList = [];
                        for(var i=0;i<schemeVersionList.length;i++){
                            if(schemeVersionList[i].schemeId == row.scheme_id){
@ -91,17 +95,25 @@
                    }},
                    {display:'操作', name: 'operator', width: '20%', render: function (row, rowindex, value, column) {
                        var html = '<div class="m-inline-buttons" style="width:120px;">';
                        html += '<a href="javascript:void(0)" style="width: 80px;" class="mapping"  data-rowindex="'+rowindex+'" data-datasetid="'+row.datasetId+'" onclick="javascript:jobLayout.mapping(\''+rowindex+'\')">数据映射</a>';
                        html += '<a href="javascript:void(0)" style="width: 80px;" class="mapping"  data-rowindex="'+rowindex+'" onclick="javascript:jobLayout.mapping(\''+rowindex+'\')">数据映射</a>';
                        html += '<a class="m-btn-delete" onclick="javascript:jobLayout.delete(\''+rowindex+'\')"></a>';
                        return html;
                    }}
                ],
                onSuccess:function(data, grid){//成功获取服务器数据的事件
                    //缓存初始化勾选的数据集id
                    var detailModelList = data.detailModelList;
                    for(var i=0;i<detailModelList.length;i++){
                        me.cacheDatasetIdList[i] = detailModelList[i].datasetId;
                        me.cacheDatasetCodeList[i]="";
                        me.cacheMappingInitData[i]="";
                        me.cacheMappingData[i]="";
                    }
                },
                onAfterShowData: function (gridData) {//显示完数据事件
                    validAdd = new jQuery.jValidation.Validation($("#div_job_grid"),{immediate:true,onSubmit:false});
//                    $('#div_job_grid').on('blur','.required',function() {
//                        jQuery.jValidation.Validation.validateElement(this);
//                    });
                    //【适配方案】change事件
                    $(".sel-scheme-name").on("change", function() {
                        var rowIndex = $(this).attr("id").replace("schemeNm","");
@ -117,16 +129,29 @@
                        }
                        $("#versionNm"+rowIndex).html("");
                        $("#versionNm"+rowIndex).append(option);
                        //改变
                        jQuery.data($("#dataSets"+rowIndex)[0], "checkedRowsIndex", []);
                        jQuery.data($(".mapping").eq(rowIndex)[0], "mappingData","");
                        //清空值
                        me.cacheDatasetIdList[rowIndex]="";
                        me.cacheDatasetCodeList[rowIndex]="";
                        me.cacheMappingInitData[rowIndex]="";
                        me.cacheMappingData[rowIndex]="";
                        $("#dataSets"+rowIndex).val("");
                    });
                    //【版本】change事件
                    $(".sel-version-name").on("change", function() {
                        var rowIndex = $(this).data("rowindex");
                        //清空值
                        me.cacheDatasetIdList[rowIndex]="";
                        me.cacheDatasetCodeList[rowIndex]="";
                        me.cacheMappingInitData[rowIndex]="";
                        me.cacheMappingData[rowIndex]="";
                        $("#dataSets"+rowIndex).val("");
                    });
                    //【数据集名称】focus事件
                    $(".sel-dataset-name").on("focus", function() {
                        
                        var rowindex = $(this).attr("data-rowindex");
                        jobLayout.grid.select(rowindex);//选中行
                        var selectedVersionId = $("#versionNm"+rowindex).val();
@ -134,13 +159,22 @@
                            $.ligerDialog.error("当前版本为空,不能选择数据集!");
                            return false;
                        }
                        /* 判断适配方案与版本是否重复*/
                        var resultArr =  me.getGridData();
                        var uniqueArr = me.uniqueArray(resultArr);
                        if(resultArr.length!==uniqueArr.length){
                            $.ligerDialog.error("相同适配方案下,不能有相同的版本!");
                            return false;
                        }
                        var row = jobLayout.grid.getSelectedRow();
                        var checkedRowsIndex =JSON.stringify(jQuery.data($("#dataSets"+rowindex)[0], "checkedRowsIndex"))  || "";//获取缓存勾选的数据集
                        var cacheDatasetId =JSON.stringify(me.cacheDatasetIdList[rowindex]);//获取缓存勾选的数据集
                        var  params = {
                            schemeId:$("#schemeNm"+rowindex).val(),
                            versionId: $("#versionNm"+rowindex).val(),
                            schemeNm:$("#schemeNm"+rowindex).find("option:selected").text(),
                            checkedRowsIndex:checkedRowsIndex};
                            cacheDatasetId:cacheDatasetId};
                        me.dialog = $.ligerDialog.open({
                            height: 600,
                            width: 600,
@ -161,6 +195,7 @@
            $('#btnAdd').click(function () {
                me.gridScrollTop();//1、将滚动条滚动到底部
                var dataRow = {
                    status:'',
                    scheme_id:'',
                    scheme_version_id:'',
                    datasetName:'',
@ -175,30 +210,15 @@
                //将新添加的行插入到最后一列
                me.grid.addRow(dataRow);
                $(".sel-scheme-name#schemeNm"+rowData.length).trigger("change");
                
                $(".m-btn-delete").eq(rowData.length).data("flag","add");
                me.cacheDatasetIdList.push("");
                me.cacheDatasetCodeList.push("");
            });
            $('#btnSave').click(function(){
                
                if(!validAdd.validate()){
                    return false;
                }
                var rowData = me.grid.getData();
                var resultArr = [];
                for (var i = 0; i < rowData.length; i++) {
                    var row = {     schemeId:$("#schemeNm"+i).val(),
                                    versionId: $("#versionNm"+i).val(),
                                    dataSets:jQuery.data($("#dataSets"+i)[0], "dataSets")==undefined?rowData[i].datasetId:jQuery.data($("#dataSets"+i)[0], "dataSets"),
                                     relation:jQuery.data( $(".mapping").eq(i)[0], "mappingData")==undefined || ""?"":jQuery.data( $(".mapping").eq(i)[0], "mappingData")}
                    resultArr.push(row);
                }
                /* 判断适配方案与版本是否重复*/
                var uniqueArr = me.uniqueArray(resultArr);
                if(resultArr.length!==uniqueArr.length){
                    $.ligerDialog.error("相同适配方案下,不能有相同的版本!");
                    return false;
                }
                var resultArr =  me.getGridData();//获取表格数据
                $.ajax({
                    url: "${contextRoot}/crawler/saveDateSet",
@ -221,6 +241,21 @@
            });
        },
        getGridData:function(){
            
            var me = this;
            var rowData = this.grid.getData();
            var resultArr = [];
            for (var i = 0; i < rowData.length; i++) {
                var row = {
                    schemeId:$("#schemeNm"+i).val(),
                    versionId: $("#versionNm"+i).val(),
                    dataSets:me.cacheDatasetIdList[i],
                    relation:me.cacheMappingData[i]}
                resultArr.push(row);
            }
            return resultArr;
        },
        contains:function(a, e){
            for(j=0;j<a.length;j++)if(a[j]==e)return true;
            return false;
@ -252,7 +287,7 @@
        mapping:function(rowindex){
            
            var versionId = $("#versionNm"+rowindex).val();
            var datasetIdStr =  jQuery.data($("#dataSets"+rowindex)[0], "dataSets")==undefined?$(".mapping").eq(rowindex).data("datasetid"):jQuery.data($("#dataSets"+rowindex)[0], "dataSets");
            var datasetIdStr =  this.cacheDatasetIdList[rowindex]==undefined?"":this.cacheDatasetIdList[rowindex];
            if(versionId==null){
                $.ligerDialog.error("当前版本为空,不能进行数据映射!");
                return false;
@ -273,15 +308,33 @@
            });
        },
        //删除数据映射
        delete:function(rowindex)
        {
            
        delete:function(rowindex) {
            this.grid.select(rowindex);//选中行
            var me = this;
           var addFlag =  $(".m-btn-delete").eq(rowindex).data("flag");//判断是否是新增的数据。若是新增的数据,则直接删除数据,不发送后台请求
            if(addFlag=="add"){
            var row = me.grid.getSelectedRow();
            var rowData = me.grid.getData();
            //判断是否是新增的数据。若是新增的数据,则直接删除数据,不发送后台请求
            if(row.__status=="add"){
                $.ligerDialog.confirm("确定要删除该适配方案数据映射吗?", function (confirm) {
                    if (confirm)
                    {
                        
                        //保存当前编辑的数据
                        for (var i = 0; i < rowData.length; i++) {
                            me.grid.rows[i].scheme_id = $("#schemeNm"+i).val();
                            me.grid.rows[i].scheme_version_id= $("#versionNm"+i).val();
                            me.grid.rows[i].datasetName= $("#dataSets"+i).val();
                        }
                        //删除行缓存的数据
                        var cacheDatasetIdList = me.cacheDatasetIdList;
                        var cacheDatasetCodeList = me.cacheDatasetCodeList;
                        var cacheMappingInitData = me.cacheMappingInitData;
                        var cacheMappingData = me.cacheMappingData;
                        cacheDatasetIdList.splice(rowindex,1);
                        cacheDatasetCodeList.splice(rowindex,1);
                        cacheMappingInitData.splice(rowindex,1);
                        cacheMappingData.splice(rowindex,1);
                        //删除行
                        me.grid.deleteRow(rowindex);
                    }
                });
@ -291,6 +344,17 @@
                    $.ligerDialog.error("当前没有选择适配版本,不能删除!");
                    return false;
                }
                var addFlag = false;
                for (var i = 0; i < rowData.length; i++) {
                    if(rowData[i].status==""){//新增
                        addFlag = true;
                        break;
                    }
                }
                if(addFlag){//有新增数据并且未保存
                    $.ligerDialog.error("当前有未保存的数据,请先保存,再删除");
                    return false;
                }
                $.ligerDialog.confirm("确定要删除该适配方案数据映射吗?", function (confirm) {
                    if (confirm)
                    {
@ -303,7 +367,7 @@
                            success :function(data){
                                if(data.successFlg) {
                                    $.ligerDialog.success(data.message);
                                    jobLayout.grid.loadData(true);
                                    jobLayout.grid.loadData(true);//重新加载表格数据
                                }
                                else{
                                    $.ligerDialog.error(data.message);

+ 5 - 3
Hos-resource/src/main/webapp/develop/lib/jobMapping/tableViewer.js

@ -86,9 +86,11 @@
		var $fromTr,$toTr;
		_.each(relsData,function(rel) {
			$fromTr = tables[rel.from].$node.find('li.u-table-tr[code='+rel.fromPort+']'),
			$toTr = tables[rel.to].$node.find('li.u-table-tr[code='+rel.toPort+']');
			TV.drawLine($fromTr,$toTr);
			if(tables[rel.from]!=undefined && tables[rel.to]!=undefined){
				$fromTr = tables[rel.from].$node.find('li.u-table-tr[code='+rel.fromPort+']'),
					$toTr = tables[rel.to].$node.find('li.u-table-tr[code='+rel.toPort+']');
				TV.drawLine($fromTr,$toTr);
			}
		});
		
		TV.updateMeta();