实训心得使用jeecg
- 前言
- 1、印象最深刻的iframe
- 2、登录用户所在党组织和大会下的党组织重合的部分查询
- 3、 查询该人员的党支部id,名称,使用case when函数和IF(a,b,c),IFNULL(a,b)
- 4、将实体类复制
- 5、操作后的反馈ResponseJson类
- 6、TjsUtil使一个特别好用的工具类
- 7、根据id查个人信息
- 8、获取datagrid中被选中的列的id字符串以“,”分割
- 9、重写数组的方法,new Array.remove()删除
- 10、表单提交
- 11、一些重要的党组织id
- 12、操作里的查看按钮,url中的load=deail使弹出框不可变更
- 13、加一个按钮的弹出框
- 14、对datagrid的行操作
- 15、获得被选中的下拉框的值
前言
上班闲着没事干随便写点博客,总结一个月的收获
1、印象最深刻的iframe
子页面调用父页面方法
window.parent.del1(tr,id);
父页面调用子页面方法
document.getElementById("frame2").contentWindow.reduction2(tr);
2、登录用户所在党组织和大会下的党组织重合的部分查询
查询大会低下的组织
– t_b_p_dh_election id----orgid
– 子查询 partyOrgService queryPartyChilds2(orgid)
– 当前用户所属党组织ids in (‘2’)
// 所有党支部
/*
* String sql = "select id,organfullname from d_p_orginfo";
* List<Map<String, Object>> findForJdbc =
* systemService.findForJdbc(sql); mv.addObject("org", findForJdbc);
*/
String surid = TjsUtil.getUserId();
// 角色id
String sqla = "(select id from t_s_role where rolecode='dw_dzzgly')";
String queryPartyChildsString = partyOrgService
.queryPartyChildsString("4028808363927cac0163963a2a70004e");
String sqlc = "select org_id from d_p_user_partyorg where user_id='"
+ surid + "' and role_id=" + sqla;
String sqlb = "select id, organfullname from d_p_orginfo where id in("
+ queryPartyChildsString + ")";
String sqlz = "select a.id,a.organfullname from (" + sqlb
+ ") as a where a.id in(" + sqlc + ")";
List<Map<String, Object>> findForJdbb = systemService.findForJdbc(sqlz);
System.out.println(sqlz);
// 下拉框
mv.addObject("findForJdbb", findForJdbb);
DHElectionEntity entity = systemService.getEntity(
DHElectionEntity.class, "1");// 死的
mv.addObject("Orgname", entity.getOrgname());
mv.addObject("Sessions", entity.getSessions());
3、 查询该人员的党支部id,名称,使用case when函数和IF(a,b,c),IFNULL(a,b)
String sql = "";
if (findForJdbc1.size() != 0) {
sql = "select id,organizationname,businessid,opinion,"
+ "feedbacktime,`status`,partyname,sort, "
+ "(CASE organizationname WHEN '"
+ findForJdbc1.get(0).get("org_id") + "' "
+ "THEN '1' ELSE '0' END ) as flag from d_h_feedback";
}
(1)使用case when
Case具有两种格式,简单Case函数和Case搜索函数。这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
(2)IF(a,b,c)和IFNULL(a,b)
当a为true,返回b,当a为false返回c
当a为空返回b,当a不为空返回a
4、将实体类复制
MyBeanUtils.copyBeanNotNull2Bean(listFromMap.get(i),newo); 将第一个实体类,复制到第二个实体类中
5、操作后的反馈ResponseJson类
ResponseJson 类是可以携带值传递到前台的
ResponseJson j = new AjaxJson();
j.setObj("b")
6、TjsUtil使一个特别好用的工具类
7、根据id查个人信息
SELECT
b.id,
b.realname,
p.dicsex,
p.dicnation,
TIMESTAMPDIFF ( YEAR, p.birthdate, CURDATE( ) ) AS age,
s.dicexefuncname,
z.orgid,
z.organfullname
FROM
t_s_base_user b
LEFT JOIN s_p_personbasic_condition p ON b.id = p.id
LEFT JOIN s_p_exefunction s ON personid = b.id
LEFT JOIN (
SELECT
m.id,
d.id AS orgid,
d.organfullname
FROM
d_p_orginfo d,
d_m_baseinfo m
WHERE
m.delflag = 0
AND m.partyorgid = d.id
) z ON b.id = z.id
WHERE
b.id IN ( '4028808363b0b1f80163cde7dfa80707' );
8、获取datagrid中被选中的列的id字符串以“,”分割
function getselects(){
var selects = $('#addrecommendederList').datagrid('getSelections');
var ids = "";
for(var i = 0 ;i <selects.length;i++){
if(ids!=""){
ids = ids +",";
}
ids = ids +selects[i].id;
}
return ids;
}
9、重写数组的方法,new Array.remove()删除
这样删除的时候,可以直接删除指定元素
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val)
return i;
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
10、表单提交
一定要注意下载</t:formvalid>里面,并且还要写一个隐藏域,进行点击
var submiturl = "recommenderController.do?getByIdData1";
form.config({
url : submiturl
});
$("#btn_sub").click();
}
$(function() {
form = $("#formobj").Validform({
tiptype : 1,
btnSubmit : "#btn_sub",
ignoreHidden : true,
ajaxPost : true,
callback : function(data) {
var tid = data.msg;
//$.Showmsg(tid);
//$.messager.confirm
var url = "nextrecommenderController.do?nodefram&id="+data.obj;
self.location.href = url;
}
});
11、一些重要的党组织id
4028808363927cac0163963a2a70004e天津市中环系统工程有限责任公司党委---->上级 写orgid用
4028808363a6467a0163a9c39240000e—>下级
12、操作里的查看按钮,url中的load=deail使弹出框不可变更
function mDetail(id) {
var url = 'recommendederController.do?addorupdate&load=detail&id='
+ id;
createdetailwindow('查看', url, null, null);
}
13、加一个按钮的弹出框
此弹框多一个按钮,可以自定义按钮方法
$.dialog({
content : 'url:' + url,
lock : true,
// zIndex:1990,
width : 700,
height : 400,
title : '编辑',
opacity : 0.3,
cache : false,
button : [ {
name : "保存",
callback : function() {
iframe = this.iframe.contentWindow;
iframe.save();
//document.location="recommendederController.do?recommendationparty";
return false;
},
focus : true
} ],
ok : function() {
iframe = this.iframe.contentWindow;
iframe.submit();
return false;
},
okVal:'提交',
cancelVal : '关闭',
cancel : function(){
document.location="recommendederController.do?recommendationparty";
}
/* 为true等价于function(){} */
}).zindex();
14、对datagrid的行操作
var index= $("#recommendederList").datagrid("getRowIndex",id);//选择行的id的下标
var rows = $("#recommendederList").datagrid("getRows");所有行的数组,每一个位置存储选择行的html
var tr = rows[index];得到选择行的html
$("#recommendederList").datagrid("deleteRow",index);删除选择行
$("#recommendederList").datagrid("appendRow",tr);添加行
15、获得被选中的下拉框的值
var address = $('#address').val();