Parcourir la source

施工验收流程涉电部分

yue il y a 5 ans
Parent
commit
b5ea1b5057

+ 33 - 5
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -2942,6 +2942,33 @@ public class ActTaskService extends BaseService {
 	}
 
 	/**
+	 * 审核涉电施工流程
+	 * @param act
+	 */
+	@Transactional(readOnly = false)
+	public void rePowerEnd(Act act) {
+		String flag = act.getFlag();
+		// 设置意见
+		act.setComment(("yes".equals(flag)?"[没有问题] ":"[纯在问题] ")+act.getComment());
+		act.preUpdate();
+		// 对不同环节的业务逻辑进行操作
+		String taskDefKey = act.getTaskDefKey();
+		// 提交流程任务
+		Map<String, Object> vars = Maps.newHashMap();
+		//根据流程实例id查询项目的相关信息
+		Project user = MyActiviUtils.sgFindUser(act.getProcInsId());
+		vars.put("pass", "yes".equals(flag)? true : false);
+		if ("yes".equals(flag)) {
+			//根据项目设置的流转人员,流转对应人员
+			vars.put("manager", UserUtils.getByUserName(user.getProjectManageRole()).getLoginName());
+		} else {
+			//根据项目设置的流转人员,流转对应人员
+			vars.put("manager", UserUtils.getByUserName(user.getConstructionUnitManage()).getLoginName());
+		}
+		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+	}
+
+	/**
 	 * 审核电气竣工流程
 	 * @param act
 	 */
@@ -3130,12 +3157,12 @@ public class ActTaskService extends BaseService {
 		//根据流程实例id查询项目的相关信息
 		Project user = MyActiviUtils.sgFindUser(act.getProcInsId());
 		//根据项目设置的流转人员,流转对应人员
-		vars.put("manager", user.getConstructionUnitManage());
+		vars.put("manager", UserUtils.getByUserName(user.getConstructionUnitManage()).getLoginName());
 		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
 	}
 
 	/**
-	 * 施工单位项目经理 涉电开工流程提交文件
+	 * 涉电竣工流程
 	 * @param act
 	 */
 	@Transactional(readOnly = false)
@@ -3150,7 +3177,7 @@ public class ActTaskService extends BaseService {
 		//根据流程实例id查询项目的相关信息
 		Project user = MyActiviUtils.sgFindUser(act.getProcInsId());
 		//根据项目设置的流转人员,流转对应人员
-		vars.put("manager", user.getProjectManageRole());
+		vars.put("manager", UserUtils.getByUserName(user.getRunUnitRole()).getLoginName());
 		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
 	}
 
@@ -3174,13 +3201,14 @@ public class ActTaskService extends BaseService {
 			vars.put("finish", false);
 			vars.put("second", true);
 			vars.put("no", false);
-			vars.put("manager", user.getConstructionUnitManage());
+			vars.put("manager", UserUtils.getByUserName(user.getConstructionUnitManage()).getLoginName());
+
 		} else {
 			act.setComment("[审核不通过]"+act.getComment());
 			vars.put("finish", false);
 			vars.put("second", false);
 			vars.put("no", true);
-			vars.put("manager", user.getConstructionUnitManage());
+			vars.put("manager", UserUtils.getByUserName(user.getConstructionUnitManage()).getLoginName());
 		}
 		// 设置意见
 		act.preUpdate();

+ 44 - 4
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -30,6 +30,7 @@ import com.jeeplus.modules.sg.managementcenter.activiti.service.DiscloseService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ProcessPersonnelService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
+import com.jeeplus.modules.sg.managementcenter.constructionProject.entity.ConstructionProject;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.service.PickingRequisitionService;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
@@ -1591,6 +1592,25 @@ public class ActTaskController extends BaseController {
 	}
 
 	/**
+	 * 审核土建竣工流程
+	 * */
+	@ResponseBody
+	@RequestMapping(value = "rePowerEnd")
+	public AjaxJson rePowerEnd(Act act) {
+		AjaxJson j = new AjaxJson();
+		String comment = null;
+		try {
+			comment = URLDecoder.decode(act.getComment(), "UTF-8");
+			act.setComment(comment);
+			actTaskService.rePowerEnd(act);
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		j.setMsg("审批成功");
+		return j;
+	}
+
+	/**
 	 * 电气竣工流程
 	 * */
 	@ResponseBody
@@ -1741,7 +1761,7 @@ public class ActTaskController extends BaseController {
 	 * */
 	@ResponseBody
 	@RequestMapping(value = "PowerStartTask")
-	public AjaxJson PowerStartTask(Act act,String pic, UploadImages uploadImages) {
+	public AjaxJson PowerStartTask(Act act,String pic,String imgName, UploadImages uploadImages) {
 		AjaxJson j = new AjaxJson();
 		try {
 			//获取当前的流程实例id
@@ -1749,7 +1769,7 @@ public class ActTaskController extends BaseController {
 			//根据项目信息查询计划开工日期
 			String projectName = materialModuleService.findProjectName(procInsId);
 			Date specificTime = materialModuleService.findSpecificTime(projectName);
-			String[] needUser = {"施工项目经理A"};
+			String[] needUser = {imgName};
 			List<String> listUserId = MyActiviUtils.getListUserId(needUser);
 			List<String> userId = materialModuleService.findUserId(listUserId);
 			String stringJoiningTogether = MyActiviUtils.getStringJoiningTogether(userId);
@@ -1805,13 +1825,13 @@ public class ActTaskController extends BaseController {
 	 * */
 	@ResponseBody
 	@RequestMapping(value = "PowerEndTask")
-	public AjaxJson PowerEndTask(Act act,String pic, UploadImages uploadImages) {
+	public AjaxJson PowerEndTask(Act act,String pic, String imgName,UploadImages uploadImages) {
 		AjaxJson j = new AjaxJson();
 		try {
 			if (pic!=null&&pic!="") {
 				uploadImages.setPath(pic);
 				uploadImages.setProcInsId(act.getProcInsId());
-				uploadImages.setImgName("上传涉电竣工流程");
+				uploadImages.setImgName(imgName);
 				uploadImages.setuId(UserUtils.getUser().getLoginName());
 				uploadImagesService.save(uploadImages);
 			}
@@ -1833,6 +1853,26 @@ public class ActTaskController extends BaseController {
 	public AjaxJson PowerWhetherTask(Act act) {
 		AjaxJson j = new AjaxJson();
 		try {
+			//对项目现在二次涉电的时候
+			String flag = act.getFlag();
+			if ("second".equals(flag)) {
+				//获取项目定义号,查询项目信息
+				String projectName = materialModuleService.findProjectName(act.getProcInsId());
+				ConstructionProject project = materialModuleService.findProject(projectName);
+				if (project == null) {
+					//没有,不允许发起二次涉电
+					j.setSuccess(false);
+					j.setMsg("没有该项目的计划信息,无法发起二次涉电");
+					return j;
+				} else {
+					//如果有,记录数据,保存数据在项目名称后加入二次涉电插入项目库
+					String projectName1 = project.getProjectName();
+					project.setProjectName(projectName1 + "二次涉电");
+					project.setProjectStatus("0");
+					materialModuleService.conProject(project);
+				}
+			}
+			materialModuleService.updatePower(act.getProcInsId());
 			String comment = URLDecoder.decode(act.getComment(), "UTF-8");
 			act.setComment(comment);
 			actTaskService.PowerWhetherTask(act);

+ 0 - 3
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java

@@ -520,7 +520,6 @@ public class PickIngController extends BaseController {
         double v = b1.multiply(b2).doubleValue();
         showList.setMdTotalWeight(v);
         showListService.updateTemAmount(showList);
-        showListService.updateAmount(showList);
         j.setMsg("成功");
         return j;
     }
@@ -562,7 +561,6 @@ public class PickIngController extends BaseController {
         String idArray[] = ids.split(",");
         for (String id : idArray) {
             showListService.deleteTemData(id);
-            showListService.deleteData(id);
         }
         j.setMsg("删除成功!");
         return j;
@@ -651,7 +649,6 @@ public class PickIngController extends BaseController {
 
             List<ShowList> insertList =  new ArrayList<>();
             insertList.add(showList);
-            pickIngService.processList(insertList);
             //将信息和数量存入对应表
             pickIngService.processTemList(insertList);
             j.setMsg("添加成功!");

+ 2 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerEnd.js

@@ -139,6 +139,7 @@ $(document).ready(function() {
 
 	$("#agree").click(function () {
 		var currentFileValues = $("input[name='pic']").val();
+		var imgName = $("#imgName").val();
 		if (currentFileValues == "" || currentFileValues == null) {
 			jp.error("请上传文件");
 		} else {
@@ -150,6 +151,7 @@ $(document).ready(function() {
 						"taskDefKey":"${materialModule.act.taskDefKey}",
 						"procInsId":"${materialModule.act.procInsId}",
 						"procDefId":"${materialModule.act.procDefId}",
+						"imgName":imgName,
 						"flag":"yes",
 						"pic":currentFileValues,
 						"comment":window.encodeURI(message)

+ 11 - 3
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerEnd.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>涉电竣工流程</title>
+	<title>涉电竣工流程</title>
 	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
 	<meta name="decorator" content="ani"/>
 	<%@ include file="/webpage/include/bootstraptable.jsp"%>
@@ -30,8 +30,10 @@
 				<table class="table table-bordered">
 					<tbody>
 					<tr>
-						<td class="width-35 active" style="text-align: right">项目名称:${materialShow.projectName}</td>
-						<td class="width-35">项目类型:${materialShow.projectType}</td>
+						<td class="width-35 active" style="text-align: right">项目名称:</td>
+						<td class="width-35">
+								${materialShow.projectName}
+						</td>
 					</tr>
 					<tr>
 						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件上传:</label></td>
@@ -39,6 +41,12 @@
 							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
 						</td>
 					</tr>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>填写信息:</label></td>
+						<td class="width-35">
+							<input id="imgName" type="text" class="form-control required">
+						</td>
+					</tr>
 					</tbody>
 				</table>
 			</form:form>

+ 2 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerStart.js

@@ -138,6 +138,7 @@ $(document).ready(function() {
 
 	$("#agree").click(function () {
 		var currentFileValues = $("input[name='pic']").val();
+		var imgName = $("#imgName").val();
 		if (currentFileValues == "" || currentFileValues == null) {
 			jp.error("请上传文件");
 		} else {
@@ -149,6 +150,7 @@ $(document).ready(function() {
 						"taskDefKey":"${materialModule.act.taskDefKey}",
 						"procInsId":"${materialModule.act.procInsId}",
 						"procDefId":"${materialModule.act.procDefId}",
+						"imgName":imgName,
 						"flag":"yes",
 						"pic":currentFileValues,
 						"comment":window.encodeURI(message)

+ 6 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/PowerStart.jsp

@@ -41,6 +41,12 @@
 							<sys:fileUpload  path="pic" fileNumLimit="50" fileSizeLimit="50" value="${testPic.pic}" type="file" uploadPath="/materialModule"></sys:fileUpload>
 						</td>
 					</tr>
+					<tr>
+						<td class="width-15 active"><label class="pull-right"><font color="red">*</font>填写信息:</label></td>
+						<td class="width-35">
+							<input id="imgName" type="text" class="form-control required">
+						</td>
+					</tr>
 					</tbody>
 				</table>
 			</form:form>

+ 196 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/rePowerEnd.js

@@ -0,0 +1,196 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').bootstrapTable({
+		  //请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               //显示检索按钮
+	           showSearch: true,
+               //显示刷新按钮
+               showRefresh: true,
+               //显示切换手机试图按钮
+               showToggle: true,
+               //显示 内容列下拉框
+    	       showColumns: true,
+    	       //显示到处按钮
+    	       showExport: true,
+    	       //显示切换分页按钮
+    	       showPaginationSwitch: true,
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)     
+               cache: false,    
+               //是否显示分页(*)  
+               pagination: true,   
+                //排序方式 
+               sortOrder: "asc",  
+               //初始化加载第一页,默认第一页
+               pageNumber:1,   
+               //每页的记录行数(*)   
+               pageSize: 10,  
+               //可供选择的每页的行数(*)    
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               url: "${ctx}/managementcenter/upload/materialUploadData?procInsId="+procInsId,
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               //queryParamsType:'',   
+               ////查询参数,每次调用是会带上这个参数,可自定义                         
+               queryParams : function(params) {
+               	var searchParam = $("#searchForm").serializeJSON();
+               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                   return searchParam;
+               },
+               //分页方式:client客户端分页,server服务端分页(*)
+               sidePagination: "server",
+               contextMenuTrigger:"right",//pc端 按右键弹出菜单
+               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+               contextMenu: '#context-menu',
+               onContextMenuItem: function(row, $el){
+                   if($el.data("item") == "edit"){
+                   		edit(row.id);
+                   }else if($el.data("item") == "view"){
+                       view(row.id);
+                   } else if($el.data("item") == "delete"){
+                        jp.confirm('确认要删除该图片管理记录吗?', function(){
+                       	jp.loading();
+                       	jp.get("${ctx}/test/pic/testPic/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#testPicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+                   	   
+                   	});
+                      
+                   } 
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [{
+		        field: 'path',
+		        title: '图片路径',
+		        sortable: true,
+		        sortName: 'path',
+		        formatter:function(value, row , index){
+		        	var valueArray = value.split("|");
+		        	var labelArray = [];
+		        	for(var i =0 ; i<valueArray.length; i++){
+		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+		        		{
+		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+		        		}else{
+		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+		        		}
+		        	}
+		        	return labelArray.join(" ");
+		        }
+		       
+		    },{
+				   field: 'imgName',
+				   title: '上传用途',
+				   sortable: true,
+				   sortName: 'imgName',
+			   },{
+				   field: 'uId',
+				   title: '上传人员',
+				   sortable: true,
+				   sortName: 'uId',
+			   }]
+		});
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	 $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/test/pic/testPic/export');
+	  });
+		    
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+	 
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+
+	$("#agree").click(function () {
+		jp.prompt("审核意见", function (message) {
+			jp.post("${ctx}/act/task/rePowerEnd",
+				{
+					"taskId":"${materialModule.act.taskId}",
+					"taskName":"${materialModule.act.taskName}",
+					"taskDefKey":"${materialModule.act.taskDefKey}",
+					"procInsId":"${materialModule.act.procInsId}",
+					"procDefId":"${materialModule.act.procDefId}",
+					"flag":"yes",
+					"comment":window.encodeURI(message)
+				},
+				function (data) {
+					if(data.success){
+						jp.success(data.msg);
+						jp.go("${ctx}/act/task/todo")
+					}
+				})
+		});
+	});
+
+	$("#no").click(function () {
+		jp.prompt("审核意见", function (message) {
+			jp.post("${ctx}/act/task/rePowerEnd",
+				{
+					"taskId":"${materialModule.act.taskId}",
+					"taskName":"${materialModule.act.taskName}",
+					"taskDefKey":"${materialModule.act.taskDefKey}",
+					"procInsId":"${materialModule.act.procInsId}",
+					"procDefId":"${materialModule.act.procDefId}",
+					"flag":"no",
+					"comment":window.encodeURI(message)
+				},
+				function (data) {
+					if(data.success){
+						jp.success(data.msg);
+						jp.go("${ctx}/act/task/todo")
+					}
+				})
+		});
+	});
+
+});
+		
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+
+</script>

+ 51 - 0
src/main/webapp/webpage/modules/sg/materialmodule/activiti/rePowerEnd.jsp

@@ -0,0 +1,51 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>涉电竣工流程</title>
+	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp"%>
+	<%@include file="/webpage/include/treeview.jsp" %>
+	<%@include file="rePowerEnd.js"%>
+</head>
+<body>
+	<div class="wrapper wrapper-content">
+	<div class="panel panel-primary">
+	<div class="panel-heading">
+		<h3 class="panel-title">涉电竣工流程</h3>
+	</div>
+	<div class="panel-body">
+	<!-- 表格 -->
+	<table id="testPicTable"   data-toolbar="#toolbar"></table>
+		<div class="panel-body">
+			<form:form id="inputForm" modelAttribute="materialModule" class="form-horizontal">
+				<form:hidden path="id"/>
+				<form:hidden path="act.taskId"/>
+				<form:hidden path="act.taskName"/>
+				<form:hidden path="act.taskDefKey"/>
+				<form:hidden path="act.procInsId"/>
+				<form:hidden path="act.procDefId"/>
+				<input type="hidden" id="procInsId" name="procInsId" value="${materialModule.act.procInsId}"/>
+			</form:form>
+			<div class="row">
+				<div class="col-sm-3"></div>
+				<div class="col-sm-6">
+					<div class="form-group text-center">
+						<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="没有问题" />&nbsp;
+						<input id="no" class="btn  btn-primary btn-lg btn-danger" type="submit" value="纯在问题" />&nbsp;					</div>
+				</div>
+			</div>
+			<c:if test="${not empty materialModule.id}">
+				<act:flowChart procInsId="${materialModule.act.procInsId}"/>
+				<act:histoicFlow procInsId="${materialModule.act.procInsId}" />
+			</c:if>
+		</div>
+    <!-- context menu -->
+    <ul id="context-menu" class="dropdown-menu">
+    </ul>  
+	</div>
+	</div>
+	</div>
+</body>
+</html>