项目需求变更,留着以备他用
前端界面
<!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 {
@Autowired
private GATEBASICService GBService;
@Autowired
private DEPTService DService;
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
@RequestMapping(value="/IDandGATENAME")
@ResponseBody
public List<HashMap<String, Object>> getIDAndGATENAME(){
return GBService.getIDAndGATENAME();
}
@RequestMapping(value="/getGATEBASICByBELONGS")
@ResponseBody
public List<HashMap<String, Object>> getGATEBASICByBELONGS(String BELONGS){
return GBService.getGATEBASICByBELONGS(BELONGS);
}
@RequestMapping(value="/allGATEBASIC")
@ResponseBody
public 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")
@ResponseBody
public 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)
@ResponseBody
public 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)
@ResponseBody
public 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")
@ResponseBody
public 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 {
@Autowired
private GATEBASICExtMapper GBEMapper;
@Autowired
private 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);
}