项目需求变更,留着以备他用

前端界面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>签核关卡设定</title>
<!--jquery-->
<script type="text/javascript"src="inc/plugins/jquery/1.9.1/jquery-1.9.1.js"></script>
<!--easyUI-->
<link rel="stylesheet" type="text/css"href="inc/plugins/jquery.easyui/1.5/themes/gray/easyui.css">
<link rel="stylesheet" type="text/css"href="inc/plugins/jquery.easyui/1.5/themes/icon.css">
<script type="text/javascript"src="inc/plugins/jquery.easyui/1.5/jquery.easyui.min.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){$('#mingcheng').treegrid({url:'gate/allGATEBASIC',method:'get',idField:'ID',treeField:'GATENAME',animate: true,collapsible: true,fitColumns: true,singleSelect: true,columns:[[{field:'GATENAME',title:'签核关卡',width:100,editor:'text'},//{field:'guanqia',title:'关卡',width:100},{field:'DEPT',title:'部门',width:100,editor:{type: 'combobox',options: {url: "dept/alldept",method: "get",valueField: "DNAME",textField: "DNAME",editable: false}}},{field:'WAY',title:'评核方式',width:100,editor:'text'},{field:'WEIGHT',title:'权重',width:100,editor:'text'},{field:'STARTDATE',title:'适用起始日期',width:100,editor:'datebox'},{field:'BELONGS',title:'分组标志'}]]});$("#mingcheng").treegrid('hideColumn','BELONGS');$('#quanzhong').treegrid({singleSelect:true,url:'treegrid_data4.json',method:'get',idField:'ID',treeField:'qianhe',animate: true,collapsible: true,fitColumns: true,//fit: true,columns:[[{field:'qianhe',title:'签核关卡',width:100,editor:'text'},{field:'fangshi',title:'评核方式',width:100,editor:'text'},{field:'dept',title:'单位',width:100,editor:'text'},{field:'kebie',title:'课别',width:100,editor:'text'},//{field:'guanqia',title:'关卡',width:100},{field:'quanzhong',title:'权重',width:100,editor:'text'},{field:'startyear',title:'适用起始年份',width:100,editor:'text'},{field:'startmonth',title:'适用起始月份',width:100,editor:'text'}]]});/* $('#mingcheng').datagrid({singleSelect:true,url:'datagrid_data1.json',columns:[[{field:'niandu',title:'年度',width:100},{field:'yuefen',title:'月份',width:100},{field:'xiangmumingcheng',title:'绩效项目名称',width:100},{field:'dept',title:'部门别',width:100},{field:'quanzhong',title:'权重',width:100},{field:'efectdate',title:'生效日期',width:100},{field:'stop',title:'是否停用',width:100},{field:'beizhu',title:'备注',width:100}]]}); */
});var mingcheng_editingId;
var mingcheng_operation;
var mingcheng_editingrows=[];
function mingcheng_append(){var appendleaveflag = false;//var amount;if(mingcheng_editingrows.length==0)$.messager.prompt('提示', '请输入关卡数量', function(amount){if (amount){if(!isNum(amount)){$.messager.alert('提示','请输入数字');//appendleaveflag = true;}else if(amount=="0"){$.messager.alert('提示','关卡数量不能为0');}else{mingcheng_operation = "add";if (mingcheng_editingId != undefined){$('#mingcheng').treegrid('select', mingcheng_editingId);return;}//var node = $('#mingcheng').treegrid('getSelected');$.ajax({url: "gate/getnextBELONGS",success: function(data){mingcheng_editingId = data.extend.nextbelongs;mingcheng_editingrows.push(data.extend.nextbelongs);$('#mingcheng').treegrid('append', {data: [{ID: data.extend.nextbelongs,GATENAME: "try",//treegrid id BELONGS: data.extend.nextbelongs}]});$('#mingcheng').treegrid("beginEdit",data.extend.nextbelongs);for(var i=0;i<amount;i++){var bottomid = i+1;if(bottomid<10)bottomid="0"+bottomid;var obj_id = data.extend.nextbelongs+bottomid;mingcheng_editingrows.push(obj_id);$('#mingcheng').treegrid('append', {parent: data.extend.nextbelongs,//treegrid 父id 必须指定data: [{ID: obj_id,//treegrid id GATENAME: "TRY",_parentId: data.extend.nextbelongs,BELONGS: data.extend.nextbelongs}]});$('#mingcheng').treegrid("beginEdit",obj_id);}}});}}});
}
function mingcheng_edit(){mingcheng_operation = "edit";if (mingcheng_editingId != undefined){$('#mingcheng').treegrid('select', mingcheng_editingId);return;}var row = $('#mingcheng').treegrid('getSelected');mingcheng_editingrows.push(row.ID);if (row){if(row._parentId!=null){$.messager.alert('提示','请选择根节点');return;}if(row.state=="closed"){$("#mingcheng").treegrid('expand',row.ID);}var allrows = $("#mingcheng").treegrid('getChildren',row.ID);$.each(allrows,function(i,item){mingcheng_editingrows.push(item.ID);});$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});}
}
function mingcheng_save(){if(mingcheng_operation=="add"){var addleaveflag=false;var children;if(mingcheng_editingrows.length!=0){var json={};$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('endEdit',item);});//选出子节点children$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('selectRow',item);var row = $("#mingcheng").treegrid('getSelected');if(row._parentId==undefined){children = $("#mingcheng").treegrid('getChildren',row.ID);}$("#mingcheng").treegrid('unselect',item);});//格式检验for(var i=0;i<children.length;i++){for(var j=i+1;j<children.length;j++){if(children[i].GATENAME==children[j].GATENAME){$.messager.alert('提示','同一项目下不能有相同的名称');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});addleaveflag=true;break;}else if(children[i].WAY==children[j].WAY){$.messager.alert('提示','同一项目下不能有相同的评核方式');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});addleaveflag=true;break;}}if(addleaveflag==true)break;}if(addleaveflag==true)return;addleaveflag=false;var addweightsum=0;$.each(children,function(i,item){addweightsum+=parseInt(item.WEIGHT);if(item.GATENAME==""||item.WAY==""||item.WEIGHT==""){$.messager.alert('提示','关卡的名称、评核方式和权重不能为空');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});addleaveflag=true;return;}});if(addleaveflag==true)return;addleaveflag=false;if(addweightsum!=100){$.messager.alert('提示','各关卡权重之和应为100');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});return;}$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('selectRow',item);var row = $("#mingcheng").treegrid('getSelected');if(row._parentId==undefined){if(row.GATENAME==""||row.STARTDATE==""){$.messager.alert('提示','根节点的名称和适用起始日期不能为空');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});addleaveflag=true;return;}json = JSON.stringify(row);}$("#mingcheng").treegrid('unselect',item);});if(addleaveflag==true)return;addleaveflag=false;$.ajax({async: false,url: "gate/saveGATEBASIC",type: 'post',data: json,dataType: "json",contentType:"application/json;charsetset=UTF-8",success: function(data){if(data.extend.msg=="savesuccess")$.messager.alert('提示','保存成功');else if(data.extend.msg=="existedGATENAME"){$.messager.alert('提示','已存在此名称');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});}else if(data.extend.msg=="savefailed")$.messager.alert('提示','保存失败');}});}}else if(mingcheng_operation=="edit"){var editleaveflag;var children;if(mingcheng_editingrows.length!=0){var json={};$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('endEdit',item);});//选出子节点children$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('selectRow',item);var row = $("#mingcheng").treegrid('getSelected');if(row._parentId==undefined){children = $("#mingcheng").treegrid('getChildren',row.ID);}$("#mingcheng").treegrid('unselect',item);});//格式检验for(var i=0;i<children.length;i++){for(var j=i+1;j<children.length;j++){if(children[i].GATENAME==children[j].GATENAME){$.messager.alert('提示','同一项目下不能有相同的名称');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});editleaveflag=true;break;}else if(children[i].WAY==children[j].WAY){$.messager.alert('提示','同一项目下不能有相同的评核方式');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});editleaveflag=true;break;}}if(editleaveflag==true)break;}if(editleaveflag==true)return;editleaveflag=false;var addweightsum=0;$.each(children,function(i,item){addweightsum+=parseInt(item.WEIGHT);if(item.GATENAME==""||item.WAY==""||item.WEIGHT==""){$.messager.alert('提示','关卡的名称、评核方式和权重不能为空');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});editleaveflag=true;return;}});if(editleaveflag==true)return;editleaveflag=false;if(addweightsum!=100){$.messager.alert('提示','各关卡权重之和应为100');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});return;}$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('selectRow',item);var row = $("#mingcheng").treegrid('getSelected');if(row._parentId==undefined){if(row.GATENAME==""||row.STARTDATE==""){$.messager.alert('提示','根节点的名称和适用起始日期不能为空');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});editleaveflag=true;return;}json = JSON.stringify(row);}$("#mingcheng").treegrid('unselect',item);});if(editleaveflag==true)return;editleaveflag=false;$.ajax({async: false,url: "gate/updateGATEBASIC",type: 'post',data: json,dataType: "json",contentType:"application/json;charsetset=UTF-8",success: function(data){if(data.extend.msg=="updatesuccess")$.messager.alert('提示','修改成功');else if(data.extend.msg=="existedGATENAME"){$.messager.alert('提示','已存在此名称');$.each(mingcheng_editingrows,function(i,item){$("#mingcheng").treegrid('beginEdit',item);});}else if(data.extend.msg=="updatefailed")$.messager.alert('提示','保存失败');}});}}
}function mingcheng_delete(){var row = $('#mingcheng').treegrid('getSelected');mingcheng_editingrows.push(row.ID);if (row){if(row._parentId!=null){$.messager.alert('提示','请选择根节点');return;}else{$.messager.confirm('提示','此操作将会删除该项目下的子项目,确定吗',function(r){if(r){$.ajax({url: "gate/deleteGATEBASIC",data:{"BELONGS":row.ID},success: function(data){$("#mingcheng").treegrid('reload');$.messager.alert('提示','删除成功');},error: function(data){$.messager.alert('提示','删除失败');}});}});}}
}function mingcheng_cancel(){/* if (mingcheng_editingId != undefined){$('#mingcheng').treegrid('cancelEdit', mingcheng_editingId);mingcheng_editingId = undefined;} */if(mingcheng_operation=="edit"){$.each(mingcheng_editingrows,function(i,item){$('#mingcheng').treegrid('cancelEdit', item);$('#mingcheng').treegrid('unselect', item);});mingcheng_editingId = undefined;mingcheng_editingrows = [];}else if(mingcheng_operation=="add"){$.messager.confirm('提示', '此操作将会删除所有未保存的数据,确定吗', function(r){if (r){$("#mingcheng").treegrid('reload');mingcheng_editingrows = [];mingcheng_editingId = undefined;}});}
}var quanzhong_editingId;
function quanzhong_append(){$('#win').window({title:"请选择签核关卡",width:300,height:150,modal:true});
}
function quanzhong_edit(){if (quanzhong_editingId != undefined){$('#quanzhong').treegrid('select', quanzhong_editingId);return;}var row = $('#quanzhong').treegrid('getSelected');if (row){quanzhong_editingId = row.ID;$('#quanzhong').treegrid('beginEdit', quanzhong_editingId);}
}
function quanzhong_save(){if (quanzhong_editingId != undefined){var t = $('#quanzhong');t.treegrid('endEdit', quanzhong_editingId);quanzhong_editingId = undefined;/* var persons = 0;var rows = t.treegrid('getChildren');for(var i=0; i<rows.length; i++){var p = parseInt(rows[i].persons);if (!isNaN(p)){persons += p;}}var frow = t.treegrid('getFooterRows')[0];frow.persons = persons;t.treegrid('reloadFooter'); */}
}
function quanzhong_cancel(){if (quanzhong_editingId != undefined){$('#quanzhong').treegrid('cancelEdit', quanzhong_editingId);quanzhong_editingId = undefined;}
}function isNum(val){// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除if(val === "" || val ==null){return false;}if(!isNaN(val)){return true;}else{return false;}
}function win_confirm(){$.ajax({url: "gate/getGATEBASICByBELONGS",data: {"BELONGS":$("#GATE").combobox('getValue')},success: function(data){$("#win").window('close');console.log(data);$.messager.alert('提示','success');},error: function(data){$.messager.alert('提示','取出关卡数据出错');}});
}
function win_cancel(){$("#win").window('close');
}
//扩展datagrid:动态添加删除editor
$.extend($.fn.datagrid.methods, {addEditor : function(jq, param) {if (param instanceof Array) {$.each(param, function(index, item) {var e = $(jq).datagrid('getColumnOption', item.field); e.editor = item.editor; }); } else {var e = $(jq).datagrid('getColumnOption', param.field);    e.editor = param.editor;    }   },  removeEditor : function(jq, param) {    if (param instanceof Array) {   $.each(param, function(index, item) {  var e = $(jq).datagrid('getColumnOption', item);   e.editor = {};  });} else {var e = $(jq).datagrid('getColumnOption', param);e.editor = {}; }}
});
</script>
<body>
<div class="easyui-tabs" style="width:100%;height:auto;"><div title="签核关卡设定" style="padding:10px;"><div style="margin:20px 0;"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="mingcheng_append()">添加</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" onclick="mingcheng_edit()">编辑</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-save',plain:true" onclick="mingcheng_save()">保存</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" onclick="mingcheng_delete()">删除</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel',plain:true" onclick="mingcheng_cancel()">取消</a></div><table id="mingcheng"></table></div><div title="特殊关卡设定" style="padding:10px;"><div style="margin:20px 0;"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="quanzhong_append()">添加</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" onclick="quanzhong_edit()">编辑</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-save',plain:true" onclick="quanzhong_save()">保存</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel',plain:true" onclick="quanzhong_cancel()">取消</a></div><table id="quanzhong"></table></div><!-- <div title="部門別設定" style="padding:10px;"><table id="dept"></table></div> -->
</div>
<div id="win" style="display:none"><div style="width:80%"><div style="padding-top:10px"><input class="easyui-combobox" id="GATE"data-options="url:'gate/IDandGATENAME',method:'get',valueField:'ID',textField:'GATENAME',width:'100%',panelHeight:'auto'"></div><div style="padding-top:10px;text-align:right"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="win_confirm()">确定</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="win_cancel()">取消</a></div></div>
</div>
</body>
</html>

controller

package com.chenyuantech.kpi.controller;import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
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 com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.chenyuantech.kpi.bean.GATEBASIC;
import com.chenyuantech.kpi.bean.Msg;
import com.chenyuantech.kpi.service.DEPTService;
import com.chenyuantech.kpi.service.GATEBASICService;@Controller
@RequestMapping(value="gate")
public class GATEController {@Autowiredprivate GATEBASICService GBService;@Autowiredprivate DEPTService DService;SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");@RequestMapping(value="/IDandGATENAME")@ResponseBodypublic List<HashMap<String, Object>> getIDAndGATENAME(){return GBService.getIDAndGATENAME();}@RequestMapping(value="/getGATEBASICByBELONGS")@ResponseBodypublic List<HashMap<String, Object>> getGATEBASICByBELONGS(String BELONGS){return GBService.getGATEBASICByBELONGS(BELONGS);}@RequestMapping(value="/allGATEBASIC")@ResponseBodypublic JSONObject getAllGATEBASIC(){List<HashMap<String, Object>> records = GBService.getAllGATEBASIC();for(int i=0;i<records.size();i++){if(records.get(i).get("ROOTID")==null)records.get(i).put("state", "closed");else {records.get(i).put("state", "open");}records.get(i).put("_parentId", records.get(i).get("ROOTID"));}JSONObject json = new JSONObject();json.put("total", records.size());json.put("rows", records);return json;}@RequestMapping(value="/getnextBELONGS")@ResponseBodypublic Msg getnextBELONGS(){String temp = "";String nextbelongs = GBService.getnexBELONGS();if(nextbelongs==null){nextbelongs = "001";return Msg.success().add("nextbelongs", nextbelongs);}else{int IntNUM = Integer.parseInt(nextbelongs);IntNUM+=1;if(IntNUM>0 && IntNUM<10)temp="00"+String.valueOf(IntNUM);else if(IntNUM>=10 && IntNUM<100)temp="0"+String.valueOf(IntNUM);else if(IntNUM>=100)temp=String.valueOf(IntNUM);return Msg.success().add("nextbelongs", temp);}}@RequestMapping(value="/saveGATEBASIC",method=RequestMethod.POST)@ResponseBodypublic Msg saveGATEBASIC(@RequestBody JSONObject records,HttpSession session){List<String> GATENAMEs = GBService.getAllGATENAME();if(GATENAMEs.contains(records.getString("GATENAME"))){return Msg.success().add("msg", "existedGATENAME");}JSONArray children = records.getJSONArray("children");GATEBASIC gate = new GATEBASIC();try {gate.setID(records.getString("ID"));gate.setGATENAME(records.getString("GATENAME"));gate.setDEPT(DService.getDEPTIDByDNAME(records.getString("DEPT")));gate.setSTARTDATE(records.getString("STARTDATE"));gate.setBELONGS(records.getString("BELONGS"));gate.setCREATEMAN((String)session.getAttribute("userid"));gate.setCREATEDATE(sdf.format(new Date()));gate.setAMOUNT(new BigDecimal(children.size()));GBService.saveGATEBASIC(gate);for (int i = 0; i <children.size(); i++) {GATEBASIC child = new GATEBASIC();JSONObject json = (JSONObject) children.get(i);child.setID(json.getString("ID"));child.setGATENAME(json.getString("GATENAME"));child.setWAY(json.getString("WAY"));child.setWEIGHT(json.getShort("WEIGHT"));child.setROOTID(json.getString("_parentId"));child.setBELONGS(json.getString("BELONGS"));GBService.saveGATEBASIC(child);}} catch (Exception e) {e.printStackTrace();return Msg.success().add("msg", "savefailed");}return Msg.success().add("msg", "savesuccess");//return GBService.saveGATEBASIC(record);}@RequestMapping(value="/updateGATEBASIC",method=RequestMethod.POST)@ResponseBodypublic Msg updateGATEBASIC(@RequestBody JSONObject records,HttpSession session){JSONArray children = records.getJSONArray("children");GATEBASIC gate = new GATEBASIC();try {gate.setID(records.getString("ID"));gate.setGATENAME(records.getString("GATENAME"));gate.setDEPT(DService.getDEPTIDByDNAME(records.getString("DEPT")));gate.setSTARTDATE(records.getString("STARTDATE"));gate.setBELONGS(records.getString("BELONGS"));gate.setALTERMAN((String)session.getAttribute("userid"));gate.setALTERDATE(sdf.format(new Date()));GBService.updateGATEBASIC(gate);for (int i = 0; i <children.size(); i++) {GATEBASIC child = new GATEBASIC();JSONObject json = (JSONObject) children.get(i);child.setID(json.getString("ID"));child.setGATENAME(json.getString("GATENAME"));child.setWAY(json.getString("WAY"));child.setWEIGHT(json.getShort("WEIGHT"));child.setROOTID(json.getString("_parentId"));child.setBELONGS(json.getString("BELONGS"));GBService.updateGATEBASIC(child);}} catch (Exception e) {e.printStackTrace();return Msg.success().add("msg", "updatefailed");}return Msg.success().add("msg", "updatesuccess");//return GBService.saveGATEBASIC(record);}@RequestMapping(value="/deleteGATEBASIC")@ResponseBodypublic Integer deleteGATEBASIC(String BELONGS){return GBService.deleteGATEBASIC(BELONGS);}}

service

package com.chenyuantech.kpi.service;import java.util.HashMap;
import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.chenyuantech.kpi.bean.GATEBASIC;
import com.chenyuantech.kpi.dao.GATEBASICExtMapper;
import com.chenyuantech.kpi.dao.GATEBASICMapper;@Service
public class GATEBASICService {@Autowiredprivate GATEBASICExtMapper GBEMapper;@Autowiredprivate GATEBASICMapper GBMapper;public String getnexBELONGS(){return GBEMapper.selectnextBELONGS();}public int saveGATEBASIC(GATEBASIC record){return GBMapper.insertSelective(record);}public int updateGATEBASIC(GATEBASIC record){return GBMapper.updateByPrimaryKey(record);}public List<HashMap<String, Object>> getAllGATEBASIC(){return GBEMapper.selectAllGATEBASIC();}public List<String> getAllGATENAME(){return GBEMapper.selectAllGATENAME();}public Integer deleteGATEBASIC(String BELONGS){return GBEMapper.deleteGATEBASICByBELONGS(BELONGS);}public List<HashMap<String, Object>> getIDAndGATENAME(){return GBEMapper.selectIDAndGATENAME();}public List<HashMap<String, Object>> getGATEBASICByBELONGS(String BELONGS){List<HashMap<String, Object>> records = GBEMapper.selectGATEBASICByBELONGS(BELONGS);for(int i=0;i<records.size();i++){records.get(i).put("_parentId", records.get(i).get("ROOTID"));}return records;}
}

mapper

package com.chenyuantech.kpi.dao;import java.util.HashMap;
import java.util.List;import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;public interface GATEBASICExtMapper {@Select("SELECT BELONGS FROM (SELECT DISTINCT BELONGS FROM KPI_GATEBASIC ORDER BY BELONGS DESC)"+ "WHERE ROWNUM=1")String selectnextBELONGS();@Select("SELECT G.ID,G.GATENAME,G.WAY,G.WEIGHT,G.STARTDATE,G.ROOTID,D.DNAME DEPT "+ " FROM KPI_GATEBASIC G LEFT JOIN KPI_DEPT D ON G.DEPT=D.DEPTID ORDER BY ID")List<HashMap<String, Object>> selectAllGATEBASIC();@Select("SELECT GATENAME FROM KPI_GATEBASIC WHERE ROOTID IS NULL")List<String> selectAllGATENAME();@Select("DELETE FROM KPI_GATEBASIC WHERE BELONGS=#{BELONGS}")Integer deleteGATEBASICByBELONGS(@Param("BELONGS")String BELONGS);@Select("SELECT ID,GATENAME FROM KPI_GATEBASIC WHERE ROOTID IS NULL")List<HashMap<String, Object>> selectIDAndGATENAME();@Select("SELECT G.ID,G.GATENAME,D.DNAME DEPT,G.WAY,G.WEIGHT,G.STARTDATE,G.ROOTID "+ " FROM KPI_GATEBASIC G LEFT JOIN KPI_DEPT D "+ " ON G.DEPT=D.DEPTID WHERE G.BELONGS=#{BELONGS}")List<HashMap<String, Object>> selectGATEBASICByBELONGS(String BELONGS);}

easyui treegrid 操作相关推荐

  1. easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下...

    easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下 转载于:https://www.cnblogs.com/xiaoruilin/p/6 ...

  2. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法

    带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{code: '01',name: 'name01' }); easyui修改操作的回显方法 ...

  3. 适用于zTree 、EasyUI tree、EasyUI treegrid

    #region          System.Text.StringBuilder b_appline = new System.Text.StringBuilder();         Syst ...

  4. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法...

    带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{code: '01',name: 'name01' }); easyui修改操作的回显方法 ...

  5. ajax treegrid 选中,easyui treeGrid异步加载子节点示例

    easyui treeGrid异步加载子节点示例.如果要异步加载treegrid的子节点,需要输出扁平的数据结构,然后通过_parentId来控制treegrid的父节点子节点结构.嵌套的childr ...

  6. EasyUI Treegrid 树形网格(官网没有提到的实现方式)

    官网实现方式:EasyUI Treegrid 没有提到的实现方式:_parentId {"id": 1,"name": "1"," ...

  7. easyUI treeGrid 编辑网格

    easyUI treeGrid 编辑网格的时候使用 beginEdit , 记的在表头单元 th 增加属性 editor='text'(text是类型,类似于input的类型,可以为numberbox ...

  8. .net mvc mssql easyui treegrid

    效果图 数据图   可以看到 这里是根据 MenuNo 来 分级别的,支持 无限极,第一级是 01 ,第二级就是 01XX ,第三级 就是 01XXOO.类似 id.pid ,Ztree 里面 也是这 ...

  9. easyui treegrid实现的两种方式

    感觉easyui官方的treegrid文档不是很清晰,当时使用的时候查了许多资料才做出来,现在总结一下两种实现方式的思路: 两种方式前台都一样: $('#tree').treegrid({url:&q ...

最新文章

  1. 先装VS2008再装SQL2005的问题
  2. 程序压力测试、性能测试AB、Webbench、Tsung
  3. (Mybatis)日志工厂
  4. Java单链表反转 详细过程
  5. bridge pattern -- 桥接模式
  6. SicilyFunny Game
  7. 工作125:各个接口需要的token不同 token是获取数据的关键
  8. python 爬虫性能_Python 爬虫性能相关总结
  9. unity 导入gltf_Unity3D使用glTF格式三维文件,glTF在unity中如何呈现,glTF导入unity
  10. HTTP权威指南读书笔记(一)HTTP概述、URL和资源及报文详解
  11. 台州银行笔试考什么_台州银行笔试题型招聘考试真题考什么
  12. c语言spoc期末考试及答案,MOOC-SPOC测试题(部分答案)(至数组一章)-C语言-宣城校区2016年.docx...
  13. android高级面试题(二)
  14. 软件开发工程师证书有用吗_关于软件工程师职业证书你知道多少?
  15. ABP官方文档翻译 8.1 通知系统
  16. julia集 matlab代码,Mandelbrot集和Julia集的分形图之matlab实现.docx
  17. strtok用法详解
  18. NoSQLBooster4MongoDB - 用SQL查询MongoDB
  19. 思维导图工具Thebrain:动态思维导图简介
  20. Android神笔之Paint

热门文章

  1. php实现word文档在线浏览功能,配置安装手记
  2. python docx 合并文档 图片_Python合并word文档制作电子书
  3. 兽医外科设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 一键重装系统win8图文教程
  5. 实现公网访问树莓派4B(花生壳内网穿透)
  6. php需要session么,php – 为什么需要session_ destroy()?
  7. 这样吃橙子才最健康,90%的人不知道的秘密!
  8. IFC学习相关资料加强版 致敬黑夜的骑士
  9. Unity3D游戏开发介绍
  10. java word 水印_Java 添加Word文本水印、图片水印