修改文件
							parent
							
								
									410ebb365c
								
							
						
					
					
						commit
						aa5843438e
					
				|  | @ -94,53 +94,54 @@ public class IndexVController extends BaseController { | |||
| 	@GetMapping("/sum") | ||||
| 	public String sum(ModelMap mmap, String platformId, String projectId, Integer year, Long index) { | ||||
| 
 | ||||
| 		if (ShiroUtils.getSysUser() == null && getSession().getAttribute("loginName") == null) { | ||||
| 			return "redirect:/"; | ||||
| 		} | ||||
| 		String plats = (String) getSession().getAttribute("plats"); | ||||
| 		if (ShiroUtils.getSysUser() == null && StringUtils.isEmpty(plats)) { | ||||
| 			return prefix + "/noauth"; | ||||
| 		} | ||||
| 		platformId = reset(platformId); | ||||
| 		projectId = reset(projectId); | ||||
| 		// String psql = "select * from dim_platform order by platform_name";
 | ||||
| 		String psql = "select * from R1917GroupPlatform order by Sequence desc"; | ||||
| 		if (ShiroUtils.getSysUser() == null) { | ||||
| 			psql = "select * from R1917GroupPlatform where id in ('" + plats.replaceAll(",", "','") + "')"; | ||||
| 			if (("," + plats + ",").indexOf("," + platformId + ",") < 0) { | ||||
| 				platformId = plats.split(",")[0]; | ||||
| 			} | ||||
| 		} else { | ||||
| 			if (ShiroUtils.getSysUser().getDept().getParentId() != 0) { | ||||
| 				platformId = ShiroUtils.getSysUser().getDeptId().toString(); | ||||
| 				// psql = "select * from dim_platform where id='" + platformId + "'";
 | ||||
| 				psql = "select * from R1917GroupPlatform where id='" + platformId + "'"; | ||||
| 
 | ||||
| 			} | ||||
| 		} | ||||
| 		mmap.put("indexs", indexVService.selectIndexVList(null)); | ||||
| 		mmap.put("indexId", index); | ||||
| 		List<LinkedHashMap<String, Object>> platforms = ssMapper.selectDetail(psql); | ||||
| 		mmap.put("platforms", platforms); | ||||
| 		if (StringUtils.isEmpty(platformId)) { | ||||
| 			platformId = platforms.get(0).get("ID").toString(); | ||||
| 		} | ||||
| 		mmap.put("platformId", platformId); | ||||
| 		mmap.put("projects", listProject(platformId)); | ||||
| 		mmap.put("projectId", projectId); | ||||
| 		mmap.put("year", year); | ||||
| 
 | ||||
| 		if (index != null) { | ||||
| 			IndexV v = indexVService.selectIndexVById(index); | ||||
| 			mmap.put("v", v); | ||||
| 
 | ||||
| 			Map<String, String> summap = new HashMap<>(); | ||||
| 			mmap.put("sList", getSList(summap, platformId, projectId, year, v)); | ||||
| 
 | ||||
| 			String valueString = new StrSubstitutor(summap).replace(v.getFormula()); | ||||
| 			mmap.put("value", getValue(valueString)); | ||||
| 
 | ||||
| 		} | ||||
| //		if (ShiroUtils.getSysUser() == null && getSession().getAttribute("loginName") == null) {
 | ||||
| //			return "redirect:/";
 | ||||
| //		}
 | ||||
| //		String plats = (String) getSession().getAttribute("plats");
 | ||||
| //		if (ShiroUtils.getSysUser() == null && StringUtils.isEmpty(plats)) {
 | ||||
| //			return prefix + "/noauth";
 | ||||
| //		}
 | ||||
| //		platformId = reset(platformId);
 | ||||
| //		projectId = reset(projectId);
 | ||||
| //		// String psql = "select * from dim_platform order by platform_name";
 | ||||
| //		String psql = "select * from R1917GroupPlatform order by Sequence desc";
 | ||||
| //		if (ShiroUtils.getSysUser() == null) {
 | ||||
| //			psql = "select * from R1917GroupPlatform where id in ('" + plats.replaceAll(",", "','") + "')";
 | ||||
| //			if (("," + plats + ",").indexOf("," + platformId + ",") < 0) {
 | ||||
| //				platformId = plats.split(",")[0];
 | ||||
| //			}
 | ||||
| //		} else {
 | ||||
| //			if (ShiroUtils.getSysUser().getDept().getParentId() != 0) {
 | ||||
| //				platformId = ShiroUtils.getSysUser().getDeptId().toString();
 | ||||
| //				// psql = "select * from dim_platform where id='" + platformId + "'";
 | ||||
| //				psql = "select * from R1917GroupPlatform where id='" + platformId + "'";
 | ||||
| //
 | ||||
| //			}
 | ||||
| //		}
 | ||||
| //		mmap.put("indexs", indexVService.selectIndexVList(null));
 | ||||
| //		mmap.put("indexId", index);
 | ||||
| ////		List<LinkedHashMap<String, Object>> platforms = ssMapper.selectDetail(psql);
 | ||||
| //		List<LinkedHashMap<String, Object>> platforms = new ArrayList<>();
 | ||||
| //		mmap.put("platforms", platforms);
 | ||||
| //		if (StringUtils.isEmpty(platformId)) {
 | ||||
| //			platformId = platforms.get(0).get("ID").toString();
 | ||||
| //		}
 | ||||
| //		mmap.put("platformId", "1");
 | ||||
| //		mmap.put("projects", "");
 | ||||
| //		mmap.put("projectId", "");
 | ||||
| //		mmap.put("year", year);
 | ||||
| //
 | ||||
| //		if (index != null) {
 | ||||
| ////			IndexV v = indexVService.selectIndexVById(index);
 | ||||
| //			mmap.put("v", "1");
 | ||||
| //
 | ||||
| //	//		Map<String, String> summap = new HashMap<>();
 | ||||
| //			mmap.put("sList", "");
 | ||||
| //
 | ||||
| //	//		String valueString = new StrSubstitutor(summap).replace(v.getFormula());
 | ||||
| //			mmap.put("value", "");
 | ||||
| //
 | ||||
| //		}
 | ||||
| 
 | ||||
| 		return prefix + "/sum"; | ||||
| 	} | ||||
|  | @ -346,11 +347,8 @@ public class IndexVController extends BaseController { | |||
| 	@PostMapping("/listProject") | ||||
| 	@ResponseBody | ||||
| 	public List<LinkedHashMap<String, Object>> listProject(String platformId) { | ||||
| 		return ssMapper.selectDetail( | ||||
| 				// "select * from dwd_asset_project where platform_id='" + reset(platformId) +
 | ||||
| 				// "' order by project_name");
 | ||||
| 				"SELECT p.ID as ID,p.ProjectAbbr as ProjectName from R1917BIRoomProject p  where p.IsDelete=0 and p.GroupPlatformId='" | ||||
| 						+ reset(platformId) + "' order by p.Sequence"); | ||||
| 		List<LinkedHashMap<String, Object>> list = new ArrayList<>(); | ||||
| 		return list; | ||||
| 	} | ||||
| 
 | ||||
| 	private String getValue(String valueString) { | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ | |||
|             <div class="col-sm-7"> | ||||
|                 <div class="signin-info"> | ||||
|                     <div class="logopanel m-b"> | ||||
|                         <h1><img  th:src="@{/logo.jpg}" style="width:250px;border-radius:100%"></h1> | ||||
|                         <h1><img th:src="@{/logo.jpg}" style="width:250px;border-radius:100%"></h1> | ||||
|                     </div> | ||||
|                     <div class="m-b"></div> | ||||
|                     <h4></h4> | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 36 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 40 KiB | 
|  | @ -26,7 +26,7 @@ | |||
|         </div> | ||||
|         <a th:href="@{/index}"> | ||||
|             <li class="logo hidden-xs"> | ||||
|                 <span class="logo-lg">临港集团</span> | ||||
|                 <span class="logo-lg">核数工具</span> | ||||
|             </li> | ||||
|          </a> | ||||
|         <div class="sidebar-collapse"> | ||||
|  |  | |||
|  | @ -9,132 +9,6 @@ | |||
| 		<div class="row"> | ||||
| 			<div class="col-sm-12 search-collapse"> | ||||
| 			    <p class="select-title"><B>展示指标查询</B></p> | ||||
| 				<form id="form0"> | ||||
| 					<div class="select-list"> | ||||
| 						<ul> | ||||
| 							<li> | ||||
| 								公司:<select name="platformId" id="platform"> | ||||
| 								<option th:value="${p.ID}" th:each="p:${platforms}" th:text="${p.PlatformName}" th:selected="${platformId == (p.ID+'')}"></option> | ||||
| 							</select> | ||||
| 							</li> | ||||
| 							<li> | ||||
| 								项目:<select name="projectId" id="project"> | ||||
| 								<option value="">全部</option> | ||||
| 								<option th:value="${p.ID}" th:each="p:${projects}" th:text="${p.ProjectName}" th:selected="${projectId == (p.ID+'')}"></option> | ||||
| 							</select> | ||||
| 							</li> | ||||
| 							<li> | ||||
| 							指标:<select name="index" id="ii"> | ||||
| 									<option value=""></option> | ||||
| 									<option th:value="${i.id}" th:each="i : ${indexs}" th:selected="${i.id==indexId}" th:year="${i.year}">[[${i.name}]]</option> | ||||
| 								</select> | ||||
| 							</li> | ||||
| 							<li id="year" th:style="${v!=null&&v.year==1?'':'display:none'}"> | ||||
| 							年度:<select name="year"  th:with="type=${@dict.getType('sys_year')}"> | ||||
| 							          <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:selected="${(year+'')==dict.dictValue}"></option> | ||||
| 								</select> | ||||
| 							</li> | ||||
| 							<li> | ||||
| 								<a class="btn btn-primary btn-rounded btn-sm" onclick="dosum();"><i class="fa fa-search"></i> 查看</a> | ||||
| 							    <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a> | ||||
| 							</li> | ||||
| 						</ul> | ||||
| 					</div> | ||||
| 				</form> | ||||
| 			</div> | ||||
| 
 | ||||
| 			<div class="col-sm-12 search-collapse" th:if="${v!= null}"> | ||||
| 			    <p class="select-title"><B>[[${v.name}]]:[[${value}]] [[${v.unit}]]</B></p> | ||||
| 			    <div class="panel panel-primary"> | ||||
|                 <div class="panel-heading"> | ||||
|                 指标说明 | ||||
|                 </div> | ||||
|                 <div class="panel-body"> | ||||
|                     <p th:text="${v.illustration}"></p> | ||||
|                 </div> | ||||
|             </div> | ||||
| 			    <div class="panel panel-primary"> | ||||
| 	            <div class="panel-heading"> | ||||
| 	            指标公式 | ||||
| 	            </div> | ||||
| 	            <div class="panel-body"> | ||||
| 	            <p th:text="${v.formula0}"></p> | ||||
| 	            </div> | ||||
| 	        </div> | ||||
| 			    | ||||
|              | ||||
| 		    <div class="panel panel-primary"> | ||||
|             <div class="panel-heading"> | ||||
|             备注 | ||||
|             </div> | ||||
|             <div class="panel-body"> | ||||
|             <p th:text="${v.remark}"></p> | ||||
|             </div> | ||||
|         </div> | ||||
| 		     | ||||
| 			    <p class="select-title"><B>基础指标:</B></p> | ||||
| 			    <div class="table-responsive"> | ||||
|                 <table class="table table-bordered table-striped"> | ||||
|                     <thead> | ||||
|                         <tr> | ||||
|                             <th>基础指标名称</th> | ||||
| 
 | ||||
|                             <th> | ||||
|                                 说明 | ||||
|                             </th> | ||||
|                                 <th style="text-align:right"> | ||||
|                                 基础指标值 | ||||
|                                 </th> | ||||
|                                 <th> | ||||
|                                 举例 | ||||
|                                 </th> | ||||
|                         </tr> | ||||
|                     </thead> | ||||
|                     <tbody> | ||||
|                         <tr th:each="s:${sList}"> | ||||
|                             <th class="text-nowrap" th:text="${s.name}" th:style="${s.delFlag=='1'?'color:#C88':''}"></th> | ||||
|                             <td th:text="${s.remark}" th:style="${s.delFlag=='1'?'color:#C88':''}"></td> | ||||
|                             <td th:text="${s.sum+' '+s.unit}" th:style="${s.delFlag=='1'?'color:#C88;text-align:right':'text-align:right'}"></td> | ||||
|                             <td><a href="#" data-toggle="modal" th:data-target="${'#myModal'+s.id}" th:if="${!#strings.isEmpty(s.sample)}">查看</a></td> | ||||
|                         </tr> | ||||
|                        | ||||
|                         | ||||
|                     </tbody> | ||||
|                 </table> | ||||
|             </div> | ||||
|             <p class="select-title"><B>底层数据:</B><a class="btn btn-primary btn-sm" onclick="exportsum();"><i class="fa fa-download"></i> 导出</a></p> | ||||
| 
 | ||||
|          | ||||
|         <div class="col-sm-12"> | ||||
|         <div class="tabs-container"> | ||||
|             <ul class="nav nav-tabs"> | ||||
|                 <li th:each="s:${sList}" th:class="${sList[0].id==s.id?'active':''}"><a data-toggle="tab" th:href="${'#tab-'+s.id}" th:aria-expanded="${sList[0].id==s.id}" th:text="${s.name}" th:style="${s.delFlag=='1'?'color:#C88':''}"></a> | ||||
|                 </li> | ||||
|             </ul> | ||||
|             <div class="tab-content"> | ||||
|                 <div th:each="s:${sList}" th:id="${'tab-'+s.id}" th:class="${sList[0].id==s.id?'tab-pane active':'tab-pane'}"> | ||||
|                     <div class="panel-body"> | ||||
|         		    <div class="table-responsive"> | ||||
|         		    <div class="pull-right"> | ||||
|         		    [[${s.detail.size()}]]条 | ||||
|         	        </div> | ||||
|                     <table class="table table-bordered table-striped" th:id="${'table'+s.id}"> | ||||
|         		    </table> | ||||
|                 </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|               | ||||
| 
 | ||||
|              | ||||
|                  | ||||
|                  | ||||
|             </div> | ||||
| 
 | ||||
| 
 | ||||
|         </div> | ||||
|     </div> | ||||
| 			 | ||||
| 			</div> | ||||
| 
 | ||||
| 			 | ||||
|  | @ -142,140 +16,13 @@ | |||
| 	</div> | ||||
| 	 | ||||
| 
 | ||||
|     <div class="modal inmodal fade" th:id="${'myModal'+s.id}" tabindex="-1" role="dialog" aria-hidden="true" th:each="s:${sList}"> | ||||
|     <div class="modal-dialog modal-lg" style="width:1400px"> | ||||
|         <div class="modal-content"> | ||||
|             <div class="modal-header"> | ||||
|                 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span> | ||||
|                 </button> | ||||
|                 <h4 class="modal-title" th:text="${s.name}"></h4> | ||||
|             </div> | ||||
|             <div class="modal-body" th:utext="${s.sample}"> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="modal-footer"> | ||||
|                 <button type="button" class="btn btn-white" data-dismiss="modal">关闭</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| 	 | ||||
| 	 | ||||
| 	<th:block th:include="include :: footer" /> | ||||
| 	<th:block th:include="include :: bootstrap-select-js" /> | ||||
| 	<th:block th:include="include :: jquery-cxselect-js" /> | ||||
| 
 | ||||
| 	<script th:inline="javascript"> | ||||
|     var prefix = ctx + "index/v"; | ||||
|     function loadProject() { | ||||
| 		var p =document.getElementById("project"); | ||||
| 		p.options.length=0; | ||||
| 		if ($('#platform').val()!='' && $('#platform').val()!=null) { | ||||
| 	     $.post(prefix+"/listProject", | ||||
| 	    	{ | ||||
| 	    	platformId:$('#platform').val() | ||||
| 	        }, | ||||
| 	    	function(result){ | ||||
|         		p.options.add(new Option("全部","")); | ||||
| 	        	for (var project of result) { | ||||
| 	        		p.options.add(new Option(project.ProjectName,project.ID)); | ||||
| 	        	} | ||||
| 
 | ||||
| 	    }); | ||||
| 		 | ||||
|     } | ||||
|     } | ||||
|     function showYear() { | ||||
|     	if ($("option:selected[year]").attr("year")==1) { | ||||
|     		$("#year").show(); | ||||
|     	} else { | ||||
|     		$("#year").hide(); | ||||
|     	} | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     $("#platform").change(function(){ | ||||
|     	loadProject(); | ||||
|     }); | ||||
|      | ||||
|     $("#ii").change(function(){ | ||||
|         showYear(); | ||||
|     }); | ||||
|      | ||||
|     function dosum() { | ||||
|     	if ($('#ii').val()!='' && $('#ii').val()!=null) { | ||||
|     		$('#form0').submit(); | ||||
|     	} else { | ||||
|     		$.modal.alertError("请选择指标"); | ||||
|     	} | ||||
|     } | ||||
|      | ||||
|      | ||||
|     function exportsum() { | ||||
|     $.modal.confirm("确定导出所有吗?", function() { | ||||
|     	 $.modal.loading("正在导出数据,请稍候..."); | ||||
|     	    $.post(prefix+"/exportSum", | ||||
|     	       { | ||||
|     	    	platformId:[[${platformId}]], | ||||
|     	    	projectId:[[${projectId}]], | ||||
|     	    	year:[[${year}]], | ||||
|     	    	index:[[${v!=null?v.id:null}]], | ||||
|     	        }, | ||||
|               function(result) { | ||||
|       		  if (result.code == web_status.SUCCESS) { | ||||
|                   window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true; | ||||
|               } else if (result.code == web_status.WARNING) { | ||||
|                   $.modal.alertWarning(result.msg); | ||||
|               } else { | ||||
|                   $.modal.alertError(result.msg); | ||||
|               } | ||||
|     		  $.modal.closeLoading(); | ||||
|     	    }); | ||||
|     	  | ||||
|     	 | ||||
|     	 | ||||
|     	 | ||||
|     }); | ||||
|     } | ||||
|     showYear(); | ||||
|     </script> | ||||
| 	<script th:inline="javascript" th:each="s:${sList}">     | ||||
| 	$([['#table'+${s.id}]]).bootstrapTable({  | ||||
| 	    striped: true, //是否显示行间隔色 | ||||
| 	    cache: false, | ||||
| 	    search: true, | ||||
| 	    searchAlign:"left", | ||||
| 	    data:[[${s.detail}]], | ||||
| 	    columns: [ | ||||
| 	              { | ||||
| 	            	  title:'序号', | ||||
| 	            	  formatter: function (value, row, index) { | ||||
| 	            		  return index+1; | ||||
| 	            	  } | ||||
| 	              }, | ||||
| [# th:each="n:${s.keySet}"] | ||||
| 	              { | ||||
| 			field : [[${n}]], | ||||
| 			title : [[${n}]], | ||||
| 			align : [[${s.getIsNum[n+'']?'right':'left'}]], | ||||
| 
 | ||||
| 			formatter: function (value, row, index) { | ||||
| 				if (value != null) { | ||||
| 					[# th:if="${s.getIsNum[n+'']}"] | ||||
| 					var s=value.toString().split('.'); | ||||
| 				return s[0].replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g,'$&,')+(s.length>1?'.'+s[1]:''); | ||||
| 				[/] | ||||
| 				[# th:if="${!s.getIsNum[n+'']}"] | ||||
| 						return "<span style='word-break:break-all'>"+value+"</span>"; | ||||
| 			     [/] | ||||
| 				} return null; | ||||
| 			}, | ||||
| 			sortable: true | ||||
| 		}, | ||||
| 	              [/] | ||||
| 
 | ||||
| ] | ||||
| }); | ||||
|          | ||||
|     </script> | ||||
| </body> | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ | |||
|             <div class="col-sm-7"> | ||||
|                 <div class="signin-info"> | ||||
|                     <div class="logopanel m-b"> | ||||
|                         <h1><img  th:src="@{/logo.jpg}" style="width:250px;border-radius:100%"></h1> | ||||
|                         <h1><img th:src="@{/logo.jpg}" style="width:250px;"></h1> | ||||
|                     </div> | ||||
|                     <div class="m-b"></div> | ||||
|                     <h4></h4> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue