Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

yue 5 rokov pred
rodič
commit
4965ad90be

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/financial/project/entity/Project.java

@@ -1,4 +1,4 @@
-package com.jeeplus.modules.sg.financial.project.entity;
+package com.jeeplus.modules.sg.managementcenter.project.entity;
 
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
 import com.jeeplus.core.persistence.DataEntity;

+ 4 - 4
src/main/java/com/jeeplus/modules/sg/financial/project/mapper/ProjectMapper.java

@@ -1,12 +1,11 @@
 /**
  * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
  */
-package com.jeeplus.modules.sg.financial.project.mapper;
+package com.jeeplus.modules.sg.managementcenter.project.mapper;
 
 import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
-import com.jeeplus.modules.sg.financial.project.entity.Project;
-import com.jeeplus.modules.test.one.dialog.entity.Leave1;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 
 /**
  * 请假表单MAPPER接口
@@ -15,5 +14,6 @@ import com.jeeplus.modules.test.one.dialog.entity.Leave1;
  */
 @MyBatisMapper
 public interface ProjectMapper extends BaseMapper<Project> {
-	
+
+    public void updateStatus(String status);
 }

+ 13 - 2
src/main/java/com/jeeplus/modules/sg/financial/project/mapper/xml/ProjectMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.jeeplus.modules.sg.financial.project.mapper.ProjectMapper">
+<mapper namespace="com.jeeplus.modules.sg.managementcenter.project.mapper.ProjectMapper">
     
 	<sql id="projectColumns">
 		a.id AS "id",
@@ -41,9 +41,15 @@
 		<where>
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			${dataScope}
+			<if test="status != null and  status != ''">
+				AND a.status = #{status}
+			</if>
 			<if test="id != null and  id != ''">
 				AND a.id = #{id}
 			</if>
+			<if test="requireName != null and  requireName != ''">
+				AND a.require_name = #{requireName}
+			</if>
 		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
@@ -165,5 +171,10 @@
 	<select id="findUniqueByProperty" resultType="Project" statementType="STATEMENT">
 		select * FROM sm_project_detail  where ${id} = '${value}'
 	</select>
-	
+
+	<update id="updateStatus">
+		UPDATE sm_project_detail SET
+			status = #{status}
+		WHERE a.require_name = #{requireName},
+	</update>
 </mapper>

+ 12 - 6
src/main/java/com/jeeplus/modules/sg/financial/project/service/ProjectService.java

@@ -1,19 +1,18 @@
 /**
  * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
  */
-package com.jeeplus.modules.sg.financial.project.service;
+package com.jeeplus.modules.sg.managementcenter.project.service;
 
 import java.util.List;
 
-import com.jeeplus.modules.sg.financial.project.entity.Project;
-import com.jeeplus.modules.sg.financial.project.mapper.ProjectMapper;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.managementcenter.project.mapper.ProjectMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
-import com.jeeplus.modules.test.one.dialog.entity.Leave1;
-import com.jeeplus.modules.test.one.dialog.mapper.Leave1Mapper;
 
 /**
  * 请假表单Service
@@ -23,6 +22,8 @@ import com.jeeplus.modules.test.one.dialog.mapper.Leave1Mapper;
 @Service
 @Transactional(readOnly = true)
 public class ProjectService extends CrudService<ProjectMapper, Project> {
+    @Autowired
+	private ProjectMapper projectMapper;
 
 	public Project get(String id) {
 		return super.get(id);
@@ -45,5 +46,10 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 	public void delete(Project project) {
 		super.delete(project);
 	}
-	
+
+	@Transactional
+	public void updateStatus(String status){
+	    projectMapper.updateStatus(status);
+    }
+
 }

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/financial/project/util/ImportUtil.java

@@ -1,7 +1,7 @@
 /**
  * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
  */
-package com.jeeplus.modules.sg.financial.project.util;
+package com.jeeplus.modules.sg.managementcenter.project.util;
 
 import com.google.common.collect.Lists;
 import com.jeeplus.common.utils.Reflections;

+ 7 - 4
src/main/java/com/jeeplus/modules/sg/financial/project/util/ProExcelInfo.java

@@ -1,6 +1,5 @@
-package com.jeeplus.modules.sg.financial.project.util;
-import com.jeeplus.common.utils.excel.ImportExcel;
-import com.jeeplus.modules.sg.financial.project.entity.Project;
+package com.jeeplus.modules.sg.managementcenter.project.util;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.Row;
 
@@ -39,13 +38,17 @@ public  class ProExcelInfo {
                 project.setWhetherRheUpwind((String)importUtil.getCellValue(row,12));//是否迎风期度夏项目
                 project.setSureDaDate((String)importUtil.getCellValue(row,13));//确定下达时间
                 project.setTextRemark((String)importUtil.getCellValue(row,14));//备注
-                project.setStatus(getStatus());
+                project.setStatus("0");
                 list.add(project);
             }
         }
         return list;
     }
 
+    /**
+     * 生成随机数
+     * @return
+     */
     public static String getStatus(){
         int machineId = 1;
         int hashCodeV = UUID.randomUUID().toString().hashCode();

+ 16 - 13
src/main/java/com/jeeplus/modules/sg/financial/project/web/ProjectController.java

@@ -1,9 +1,8 @@
 /**
  * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
  */
-package com.jeeplus.modules.sg.financial.project.web;
+package com.jeeplus.modules.sg.managementcenter.project.web;
 
-import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -11,11 +10,10 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.ConstraintViolationException;
 
-import com.jeeplus.modules.sg.financial.project.entity.Project;
-import com.jeeplus.modules.sg.financial.project.service.ProjectService;
-import com.jeeplus.modules.sg.financial.project.util.ImportUtil;
-import com.jeeplus.modules.sg.financial.project.util.ProExcelInfo;
-import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
+import com.jeeplus.modules.sg.managementcenter.project.util.ImportUtil;
+import com.jeeplus.modules.sg.managementcenter.project.util.ProExcelInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -25,15 +23,12 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.multipart.MultipartFile;
 
-import com.google.common.collect.Lists;
 import com.jeeplus.common.utils.DateUtils;
 import com.jeeplus.common.json.AjaxJson;
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.web.BaseController;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.utils.excel.ExportExcel;
-import com.jeeplus.common.utils.excel.ImportExcel;
-import com.jeeplus.modules.test.one.dialog.entity.Leave1;
 
 /**
  * 表单Controller
@@ -41,7 +36,7 @@ import com.jeeplus.modules.test.one.dialog.entity.Leave1;
  * @version 2018-06-12
  */
 @Controller
-@RequestMapping(value = "${adminPath}/sg/financial/project")
+@RequestMapping(value = "${adminPath}/sg/managementcenter/project")
 public class ProjectController extends BaseController {
 
 	@Autowired
@@ -66,7 +61,7 @@ public class ProjectController extends BaseController {
 	@RequestMapping(value = {"list", ""})
 	public String list(Project project, Model model) {
 		model.addAttribute("leave1", project);
-		return "modules/sg/financial/project/projectList";
+		return "modules/sg/managementcenter/project/projectList";
 	}
 	
 		/**
@@ -80,6 +75,14 @@ public class ProjectController extends BaseController {
 		return getBootstrapData(page);
 	}
 
+	@ResponseBody
+//	@RequiresPermissions("test:one:dialog:leave1:list")
+	@RequestMapping(value = "dataSys")
+	public Map<String, Object> dataSys(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
+		project.setStatus("0");
+		Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
+		return getBootstrapData(page);
+	}
 	/**
 	 * 查看,增加,编辑表单表单页面
 	 */
@@ -87,7 +90,7 @@ public class ProjectController extends BaseController {
 	@RequestMapping(value = "form")
 	public String form(Project project, Model model) {
 		model.addAttribute("leave1", project);
-		return "modules/sg/financial/project/projectForm";
+		return "modules/sg/managementcenter/project/projectForm";
 	}
 
 	/**

+ 78 - 0
src/main/webapp/WEB-INF/tags/sys/itemselect.tag

@@ -0,0 +1,78 @@
+<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="true" description="隐藏域名称(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="true" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="true" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="true" description="输入框值(Value)"%>
+<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="表格Th里显示的名字"%>
+<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchLabels" type="java.lang.String" required="true" description="检索框标签"%>
+<%@ attribute name="searchKeys" type="java.lang.String" required="true" description="检索框key"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="数据地址"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="isMultiSelected" type="java.lang.Boolean" required="false" description="是否允许多选"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
+	<input id="${id}Id" name="${name}"  type="hidden" value="${value}"/>
+	<div class="input-group" style="width: 100%">
+		<input id="${id}Name"  name="projectName" ${allowInput?'':'readonly="readonly"'}  type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
+		class="${cssClass}" style="${cssStyle}"/>
+       		 <span class="input-group-btn">
+	       		 <button type="button"  id="${id}Button" class="btn <c:if test="${fn:contains(cssClass, 'input-sm')}"> btn-sm </c:if><c:if test="${fn:contains(cssClass, 'input-lg')}"> btn-lg </c:if>  btn-primary ${disabled} ${hideBtn ? 'hide' : ''}"><i class="fa fa-search"></i>
+	             </button> 
+	               <button type="button" id="${id}DelButton" class="close" data-dismiss="alert" style="position: absolute; top: 5px; right: 53px; z-index: 999; display: block;">×</button>
+       		 </span>
+       		
+    </div>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>
+<script type="text/javascript">
+$(document).ready(function(){
+	$("#${id}Button, #${id}Name").click(function(){
+		if ($("#${id}Button").hasClass("disabled")){
+			return true;
+		}
+		
+		top.layer.open({
+		    type: 2,  
+		    area: ['800px', '500px'],
+		    title:"${title}",
+		    auto:true,
+		    name:'friend',
+		    content: "${ctx}/tag/gridselect?url="+encodeURIComponent("${url}")+"&fieldLabels="+encodeURIComponent("${fieldLabels}")+"&fieldKeys="+encodeURIComponent("${fieldKeys}")+"&searchLabels="+encodeURIComponent("${searchLabels}")+"&searchKeys="+encodeURIComponent("${searchKeys}")+"&isMultiSelected=${isMultiSelected? true:false}",
+		    btn: ['确定', '关闭'],
+		    yes: function(index, layero){
+		    	 var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+		    	 var items = iframeWin.getSelections();
+		    	 if(items == ""){
+			    	jp.warning("必须选择一条数据!");
+			    	return;
+		    	 }
+		    	 var ids = [];
+		    	 var names = [];
+		    	 for(var i=0; i<items.length; i++){
+		    		 var item = items[i];
+		    		 ids.push(item.id);
+		    		 names.push(item${fn:substring(labelName, fns:lastIndexOf(labelName, '.'), fn:length(labelName))})
+		    	 }
+		    	 $("#${id}Id").val(ids.join(","));
+		    	 $("#${id}Name").val(names.join(","));
+				 top.layer.close(index);//关闭对话框。
+			  },
+			  cancel: function(index){ 
+		       }
+		}); 
+	})
+	$("#${id}DelButton").click(function(){
+		// 是否限制选择,如果限制,设置为disabled
+		if ($("#${id}Button").hasClass("disabled")){
+			return true;
+		}
+		// 清除	
+		$("#${id}Id").val("");
+		$("#${id}Name").val("");
+		$("#${id}Name").focus();
+
+	});
+})
+</script>

+ 4 - 2
src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionForm.jsp

@@ -1,4 +1,4 @@
-<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ page pageEncoding="UTF-8"%>
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
@@ -152,7 +152,9 @@
 								</td>
 								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目名称:</label></td>
 								<td class="width-35">
-									<input type='text'  name="projectName" class="form-control required"  value="${construction.projectName}"/>
+									<%--<input type='text'  name="projectName" class="form-control required"  value="${construction.projectName}"/>--%>
+									<sys:itemselect url="${ctx}/sg/managementcenter/project/dataSys" id="project" name="project.id" value="${project.id}" labelName="project.requireName" labelValue="${project.requireName}"
+													title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('需求编号|项目需求名称|需求提出单位|变电站名称|线路名称|设备基本情况|运行班')}" fieldKeys="id|requireName|demandUnit|bdzName|lineName|asicEquipment|runTheClass" searchLabels="${fns:urlEncode('需求编号|项目需求名称')}" searchKeys="id|requireName" ></sys:itemselect>
 								</td>
 							</tr>
 							<tr>

src/main/webapp/webpage/modules/sg/financial/project/projectForm.jsp → src/main/webapp/webpage/modules/sg/managementcenter/project/projectForm.jsp


+ 8 - 8
src/main/webapp/webpage/modules/sg/financial/project/projectList.js

@@ -36,7 +36,7 @@ $(document).ready(function() {
                //可供选择的每页的行数(*)    
                pageList: [5,10, 25, 50, 100],
                //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
-               url: "${ctx}/sg/financial/project/data",
+               url: "${ctx}/sg/managementcenter/project/data",
                //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
                //queryParamsType:'',   
                ////查询参数,每次调用是会带上这个参数,可自定义                         
@@ -60,7 +60,7 @@ $(document).ready(function() {
                    } else if($el.data("item") == "delete"){
                         jp.confirm('确认要删除该请假表单记录吗?', function(){
                        	jp.loading();
-                       	jp.get("${ctx}/sg/financial/project/delete?id="+row.id, function(data){
+                       	jp.get("${ctx}/sg/managementcenter/project/delete?id="+row.id, function(data){
                    	  		if(data.success){
                    	  			$('#projectTable').bootstrapTable('refresh');
                    	  			jp.success(data.msg);
@@ -213,7 +213,7 @@ $(document).ready(function() {
 			    btn: ['确定', '关闭'],
 			    	btn1: function(index, layero){
 				        var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
-						iframeWin.contentWindow.importExcel('${ctx}/sg/financial/project/import', function (data) {
+						iframeWin.contentWindow.importExcel('${ctx}/sg/managementcenter/project/import', function (data) {
 							if(data.success){
 								jp.success(data.msg);
 								refresh();
@@ -233,7 +233,7 @@ $(document).ready(function() {
 		
 		
 	 $("#export").click(function(){//导出Excel文件
-			jp.downloadFile('${ctx}/sg/financial/project/export');
+			jp.downloadFile('${ctx}/sg/managementcenter/project/export');
 	  });
 
 		    
@@ -270,7 +270,7 @@ $(document).ready(function() {
 
 		jp.confirm('确认要删除该项目管理表单记录吗?', function(){
 			jp.loading();  	
-			jp.get("${ctx}/sg/financial/project/deleteAll?ids=" + getIdSelections(), function(data){
+			jp.get("${ctx}/sg/managementcenter/project/deleteAll?ids=" + getIdSelections(), function(data){
          	  		if(data.success){
          	  			$('#projectTable').bootstrapTable('refresh');
          	  			jp.success(data.msg);
@@ -288,7 +288,7 @@ $(document).ready(function() {
   }
   
    function add(){
-	  jp.openSaveDialog('新增项目管理表单', "${ctx}/sg/financial/project/form",'800px', '500px');
+	  jp.openSaveDialog('新增项目管理表单', "${ctx}/sg/managementcenter/project/form",'800px', '500px');
   }
 
 
@@ -297,14 +297,14 @@ $(document).ready(function() {
        if(id == undefined){
 	      id = getIdSelections();
 	}
-	jp.openSaveDialog('编辑项目管理表单', "${ctx}/sg/financial/project/form?id=" + id, '800px', '500px');
+	jp.openSaveDialog('编辑项目管理表单', "${ctx}/sg/managementcenter/project/form?id=" + id, '800px', '500px');
   }
   
  function view(id){//没有权限时,不显示确定按钮
       if(id == undefined){
              id = getIdSelections();
       }
-        jp.openViewDialog('查看项目管理表单', "${ctx}/sg/financial/project/form?id=" + id, '800px', '500px');
+        jp.openViewDialog('查看项目管理表单', "${ctx}/sg/managementcenter/project/form?id=" + id, '800px', '500px');
  }
 
 

src/main/webapp/webpage/modules/sg/financial/project/projectList.jsp → src/main/webapp/webpage/modules/sg/managementcenter/project/projectList.jsp