JEECG列表嵌套查询列表子查询+号功能

 控制器

@Controller
@RequestMapping("/planQueryController")
public class PlanQeruyController extends BaseController {private static final Logger logger = LoggerFactory.getLogger(PlanQeruyController.class);@Autowiredprivate DbThekeyStationScanLogServiceI dbThekeyStationScanLogService;/*** 系统参数列表页面*/@RequestMapping(params = "list")public ModelAndView workStart(HttpServletRequest request) {return new ModelAndView("com/jeecg/planquery/planQuery");}/*** easyui AJAX请求数据* @param clockin* @param request* @param response* @param dataGrid*/@RequestMapping(params = "datagrid")public void datagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();boolean flag = false;StringBuffer sql = new StringBuffer("SELECT list_id as id,ufjhdh,ufscdd_hh,zch,cxh,a.chmc,a.hgzcxmc,t.cdefine6,t.lrrq FROM [xx_tm_scgl_cyc].[dbo].[t_c_zplck] t left join [xx_tm_scgl_cyc].[dbo].[t_ch_cp_dy] a on a.chbh = t.cxh where 1=1 ");//整码String zch = request.getParameter("zch");if(StringUtils.isNotBlank(zch)) {sql.append(" and t.zch = '" + zch + "'");flag = true;}//车码String cxh = request.getParameter("cxh");if(StringUtils.isNotBlank(cxh)) {sql.append(" and cxh = '" + cxh + "'");flag = true;}//日期String sj_begin = request.getParameter("sj_begin");if(StringUtils.isNotBlank(sj_begin)) {sql.append(" and t.lrrq >= '" + sj_begin + " 00:00:00'");flag = true;}String sj_end = request.getParameter("sj_end");if(StringUtils.isNotBlank(sj_end)) {sql.append(" and t.lrrq <= '" + sj_end + " 23:59:59'");flag = true;}//排序if(StringUtils.isNotBlank(dataGrid.getSort())) {if("cdefine6".equals(dataGrid.getSort())) {sql.append(" order by t.cdefine6 "+dataGrid.getOrder());}else {sql.append(" order by "+ dataGrid.getSort() +" "+dataGrid.getOrder());}}else {sql.append(" order by t.lrrq DESC");}//有条件 就查询if(flag) {data = DynamicDBUtil.findList("sql-server2008-tm",sql.toString());}//List<Map<String, Object>> showList = null;//要显示的数据int showLen = dataGrid.getRows();//动态得到前端需要显示多少条int totlePage = data.size()%showLen == 0 ? data.size()/showLen : data.size()/showLen + 1;if(dataGrid.getPage() == 1 ) {if(showLen > data.size()) {showLen = data.size();}showList = data.subList(0, showLen);}else {if(dataGrid.getPage() == totlePage) {showList = data.subList(((dataGrid.getPage()-1)*showLen),data.size());}else {showList = data.subList(((dataGrid.getPage()-1)*showLen),((dataGrid.getPage()-1)*showLen)+showLen);}}dataGrid.setResults(showList);dataGrid.setTotal(data.size());//总条数TagUtil.datagrid(response, dataGrid);}/*** 关重件明细* @param zch* @param ufjhdh* @param ufscdd_hh* @param cxh* @param request* @param response* @param dataGrid*/@RequestMapping(params = "planQueryLineDatagrid")public void planQueryLineDatagrid(String zch,String ufjhdh,String ufscdd_hh,String cxh,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {String sql = "select mm_pickm.cpickmid, " +  //备料计划订单号 "mm_pickm.vsourcebillcode, " + "mm_pickm.vsourcemorowcode " + "from jpncdb1.mm_pickm mm_pickm " + "where (mm_pickm.pk_org = '00014910000000009CH2' " + //XX公司00014910000000009CH2"AND mm_pickm.vsourcebillcode = '"+ufjhdh+"' " + //订单号 "AND mm_pickm.vsourcemorowcode = '"+ufscdd_hh+"') "+ //行号"and mm_pickm.dr = 0 ";List<Map<String, Object>> materialList = DynamicDBUtil.findList(ConstantUtil.NC_DB,sql);if(materialList.size()  > 0) {Map<String, Object> material = materialList.get(0);String cpickmid =  material.get("cpickmid").toString();//备料计划订单号//关重件List<Map<String, Object>> data = Lists.newArrayList();String sql2 = "select bd_material.code, " +  //零部件编号"bd_material.name," + //零部件名称 "mm_pickm_b.nunituseastnum ," + //装配数量"bd_defdoc.code as work_station_code," + //工位编码 "bd_defdoc.name as work_station_name, " + //工位名称"bd_material.def1 as is_thekey " + //是否是关重件  Y 是N 不是  空 不是"from jpncdb1.mm_pickm_b mm_pickm_b " + "left join jpncdb1.bd_defdoc bd_defdoc on mm_pickm_b.vbdef1=bd_defdoc.pk_defdoc " + "left join jpncdb1.bd_material bd_material on mm_pickm_b.cbmaterialvid = bd_material.pk_material " + "where (mm_pickm_b.cpickmid = '"+cpickmid+"') " + //备料计划订单号"and mm_pickm_b.dr = 0 " ;//nc备料计划List<Map<String, Object>> partsList = DynamicDBUtil.findList(ConstantUtil.NC_DB,sql2);for (Map<String, Object> map2 : partsList) {if(map2.get("IS_THEKEY") != null && "Y".equals(map2.get("IS_THEKEY").toString()) ) {//已安装的关重件List<DbThekeyStationScanLogEntity> tsslSize = dbThekeyStationScanLogService.findHql("from DbThekeyStationScanLogEntity "+ "where vinCode=? and carTypeCode=? and thekeyCode=? ",zch,cxh,map2.get("CODE").toString());if(tsslSize !=null && tsslSize.size() > 0) {map2.put("INSTALL_COUNT",tsslSize.size());//已安装的数量}else {map2.put("INSTALL_COUNT",0);//已安装的数量}data.add(map2);}}//分页主体List<Map<String, Object>> showList = null;//要显示的数据int showLen = dataGrid.getRows();//动态得到前端需要显示多少条int totlePage = data.size()%showLen == 0 ? data.size()/showLen : data.size()/showLen + 1;if(dataGrid.getPage() == 1 ) {if(showLen > data.size()) {showLen = data.size();}showList = data.subList(0, showLen);}else {if(dataGrid.getPage() == totlePage) {showList = data.subList(((dataGrid.getPage()-1)*showLen),data.size());}else {showList = data.subList(((dataGrid.getPage()-1)*showLen),((dataGrid.getPage()-1)*showLen)+showLen);}}dataGrid.setResults(showList);dataGrid.setTotal(data.size());//总条数}TagUtil.datagrid(response, dataGrid);}}

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<t:base type="jquery,easyui,tools,DatePicker"></t:base>
<div class="easyui-layout" fit="true"> <div region="center" style="padding:0px;border:0px"><t:datagrid name="planQueryList" checkbox="true" pagination="true" fitColumns="true" title="生产计划" sortName="lrrq" extendParams="view: detailview,detailFormatter:detailFormatterFun,onExpandRow: onExpandRowFun" actionUrl="planQueryController.do?datagrid" idField="id" fit="true" queryMode="group"><t:dgCol title="id" field="id"  hidden="true"  queryMode="single"  width="120"></t:dgCol><t:dgCol title="整车号"  field="zch" query="true" queryMode="single" width="120"></t:dgCol><t:dgCol title="计划订单号"  field="ufjhdh" queryMode="single"  width="120"></t:dgCol><t:dgCol title="计划订单行号"  field="ufscdd_hh" queryMode="single"  width="120"></t:dgCol><t:dgCol title="车型号" field="cxh" queryMode="single"  width="120"></t:dgCol><t:dgCol title="车型名称" field="chmc" queryMode="single"  width="120"></t:dgCol><t:dgCol title="车型名称(全)" field="hgzcxmc" queryMode="single"  width="120"></t:dgCol><t:dgCol title="合格证打印情况" field="cdefine6" queryMode="single"  width="120"></t:dgCol> <t:dgCol title="日期"  field="lrrq" formatter="yyyy-MM-dd" query="true" queryMode="group"  width="120"></t:dgCol><%-- <t:dgCol title="操作" field="opt" width="100"></t:dgCol> --%><!-- 自定义查询 --><div id="planQueryListtb" style="padding: 3px; height: 25px"><div style="float: left;"><label for="zch" class="col-sm-2 control-label">整车号: </label><input type="text" id="zch" name="zch" class="ac_input"><label for="cxh" class="col-sm-2 control-label">车型号: </label><input type="text" id="cxh" name="cxh" class="ac_input"><label for="sj" class="col-sm-2 control-label">日期: </label><input id="sj_begin" name="sj_begin" autocomplete="off" type="text" style="width: 150px"  class="Wdate" onClick="WdatePicker()"  datatype="*"  ignore="checked"   value='<fmt:formatDate value='${sj_begin}' type="date" pattern="yyyy-MM-dd"/>' />~<input id="sj_end" name="sj_end" autocomplete="off" type="text" style="width: 150px"  class="Wdate" onClick="WdatePicker()"  datatype="*"  ignore="checked"   value='<fmt:formatDate value='${sj_end}' type="date" pattern="yyyy-MM-dd"/>' /></div><div align="right" class="searchColums"><a href="#" class="easyui-linkbutton" iconCls="icon-search" onclick="f_listsearch();">查询</a><a href="#" class="easyui-linkbutton" iconCls="icon-reload" onclick="searchReset('planQueryList');initjfoInfo();">重置</a></div></div></t:datagrid></div></div>//这里要引入的js 库
<script src="plug-in/easyui/extends/datagrid-detailview.js"></script><script type="text/javascript">//查询function f_listsearch(){//判断日期不能为空var sj_begin = $("#sj_begin").val();var sj_end = $("#sj_end").val();planQueryListsearch();}//返回行明细内容的格式化函数。function detailFormatterFun() {var s = '<div class="orderInfoHidden" style="padding:2px;">' + '		<div class="easyui-tabs" style="height:230px;width:850px;">' + '			<div title="关重件" style="padding:2px;">' + '				<table class="plan_query_linetablelines" ></table>' + '			</div>' + '		</div>' + '	</div>';return s;}//当展开一行时触发 function onExpandRowFun(index, row) {//把加上的子表tabs和datagrid初始化var tabs = $(this).datagrid('getRowDetail', index).find('div.easyui-tabs');tabs.tabs();var plan_query_linetablelines = $(this).datagrid('getRowDetail', index).find('table.plan_query_linetablelines');var plan_query_linedurl = 'planQueryController.do?planQueryLineDatagrid&field=code,name,nunituseastnum,INSTALL_COUNT,work_station_code,work_station_name,is_thekey&zch='+ row.zch+'&ufjhdh=' + row.ufjhdh+'&ufscdd_hh='+ row.ufscdd_hh+'&cxh='+row.cxh;plan_query_linetablelines.datagrid({singleSelect: true,loadMsg: '正在加载',fitColumns: true,height: '200',pageSize: 50,pageList: [50, 150, 200, 250, 300],border: false,url: plan_query_linedurl,idField: 'code',rownumbers: true,pagination: true,columns: [[{title: '零部件编号',field: 'code',align: 'left',width: 60},{title: '零部件名称',field: 'name',align: 'left',width: 180},{title: '应装数量',field: 'nunituseastnum',align: 'left',width: 50},{title: '装配数量',field: 'INSTALL_COUNT',align: 'left',width: 50,/* formatter:function(value,row,index){return "<a href='javascript:void(0);' onclick='ann();'>用户权限</a>";}, */styler:function(value,row,index){var s1 = 'background-color:#ecb908';//橙//应装数量不等于装配数量颜色改变if (row.nunituseastnum != value ) {return s1;}}},{title: '工位编码',field: 'work_station_code',align: 'left',width: 50},{title: '工位名称',field: 'work_station_name',align: 'left',width: 50},{title: '是否是关重件',field: 'is_thekey',align: 'left',width: 60}]]});}</script>

 效果

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泛微OA流程表单验证附加验证条件-js代码块

身份证号 验证18位 对应字段名 field10762 数据字段名sfzh 上代码 jQuery(document).ready(function() {var value1 "field10762"; //重写checkCustomizecheckCustomize function(){//dobeforecheck提交按钮验证&#xff0c;当点击时触发var str1 $("#&q…

JEECG分页条数自定义

修改 DataGridTag.java 配置 条数 sb.append(StringUtil.replaceAll("loadMsg: \{0}\,", "{0}", MutiLangUtil.getLang("common.data.loading")));sb.append("pageSize: " pageSize ",");sb.append("pagination:&quo…

SAP ABAP打印MM采购发票打印开发

复制程序应该有部分对象需要自行创建,需要调试,仅供参考 需要打印的模板 程序代码 *&---------------------------------------------------------------------* *& 程序名称/Program Name :ZMMP001 *& 程序名称/Program Des :采购发票: *&…

SAP ABAP 打印(smartforms方式)

程序代码 *&---------------------------------------------------------------------* *& Report Z3TEST004 *&---------------------------------------------------------------------* *& 打印 采购发票 查询 *&-----------------------------------…

SAP ABAP刷新ALV 渲染刷新 (我也不太懂,反正就这么写了)

调用 REFRESH_TABLE_DISPLAY 自定义 方法 REFRESH_TABLE_DISPLAY LVC_S_STBL

jeecg t:datagrid标签 每页显示条数 扩展

1.标签属性中有 pageSize 可以修改 2,直接改源码 org.jeecgframework.tag.core.easyui 包下DataGridTag 1544行

jeecg <t:choose 功能标签用法修改 处理选择0条记录回写

修改时 页面 隐藏域id 回写异常 修改 , 选择1条记录正常 选择0条记录 无法写空,只能通过清空按钮清空 修改如下

51单片机相关寄存器

前言 单片机复习的时候对应寄存器的记忆感觉很混乱&#xff0c;这里进行一下整理,后面的单词是我用来辅助记忆的&#xff0c;可能并不是表示原本的含义。 P3口的第二功能 0RXD 串行数据输入口 1TXD串行数据输出口2INT0外部中断0输入3INT1外部中断1输入4T0定时器0外部计数输入…

开启防火墙web服务器访问权限 开启必要端口共外部使用

开启防火墙开启必要端口共外部使用 控制面板>> win 防火墙 >>高级设置 >> 入站规则

WeX5 3.8开发工具之蓝牙打印(全流程记录不是最全,胜似最全)

技术分享 记录踩过的坑和别的大佬没有叽歪的点 开始做蓝牙打印看到网上很多做混合开发 和安卓开发,ios开发的例子,插件等等版本大同小异,并不是像其他博客上所说的那么简单,[下载插件,无需改动,连接打印开始,图片为证],没那么简单.往往困扰我们没有进行下去的是细节,那么 为…

扫一扫闪退的可能性之一[wex5开发]

这两个插件不可以同时存在 因为这一句插件的引入导致整个项目搜索了一下午,什么活都没干 蓝牙打印时 一般会有扫码的功能 并用 所以..... require("cordova!com.justep.cordova.plugin.barcodescanner");//require("cordova!phonegap-plugin-barcodescanner&…

jeecg 查看 页面 父子表 横向滚动条效果 官方被禁用

关键代码注释替换 if (tabs) {//增加width属性&#xff0c;fit属性之前写死&#xff0c;改为由页面设定&#xff0c;不填默认truesb.append("<div id\"" id "\" tabPosition\"" tabPosition "\" borderflase style\"…

JEECG 缓存用法

1 .配置文件 ehcache.xml 添加 2.Controller 手动更新接口数据 启动执行接口 声明接口 实现接口

JeeCG - <t:choose/> 标签用法 输入框控件 查询输入

页面 <td class"value"><!-- <input id"mateCode" name"mateCode" type"text" maxlength"32" style"width: 150px" class"inputxt" datatype"*" ignore"checked" /&…

关于js函数未定义not defined引发的感想

越是简单的问题往往越会被忽略,很多时候我们的代码都是copy , 粘贴的时候未修改对应函数名称,有时修改的大小写都导致我们犯错,一次一次的核对,自我感觉没有问题 现在的编程变得简便,牛逼的开发人员手上,可用的代码块宝典不尽其数,复制就显得尤为重要,一段可克隆的代码,在你我…

ORA-06550 PLS-00172 字符串太长 超过3W 处理方式

问题 描述 帖子 通过sql插入clob数据(数据库对应字段类型为clob), 在执行insert语句时(待插入的字符串有2W多), 总是报错如下: 不是说clob支持4G大小么? 有些资料说是sql本身的长度不能超过4000字符串? 但是类似博客类型的内容字段, 不是很正常就成千上W么 以下是问题补充&…

JEECG datagrid 页面刷新reloadTable

reloadTable 方法在进入页面执行函数触发刷新 多余10条分页状态是刷新失效,执行删除操作后刷新恢复有效, 故 使用datagrid("reload") 方法刷新 比较靠谱 reloadTable();$(#dbPassBoxList).datagrid(reload);//刷新 需要这两句联用 页面才会刷新

NC 633 BP类集锦 根据包名定位modules文件夹

ic 调拨出入 4Y 4E 采购入库 45 其他出入库 4I(4i) 4A 销售出库 4C so 销售订单 30 销售发货 4331 pu 采购订单 21 其他出入库 插入触发BP类路径 nc.impl.ic.m4i.action.InsertAction

vue+播放rtsp流视频监控

vue播放rtsp流视频监控-海康摄像头使用工具vuejsencryptjsWebControl思路解决办法1:弹出新页面vue代码解决办法2:采用组建的方式使用工具vuejsencryptjsWebControl 注:使用海康demo,下载地址:https://open.hikvision.com/download/5c67f20bb254d61550c2f63e?type10 需要注册&…

浏览器播放rtmp

rtmp播放 文章目录rtmp播放1、rtmp测试路径地址2、video.js播放rtmp3、ezuikit播放rtmp1、rtmp测试路径地址 https://www.cnblogs.com/yeminglong/p/14704789.html 2、video.js播放rtmp 注意&#xff1a; 1.如果写在html本地运行&#xff0c;请使用http-server启动&#xff…