Bladeren bron

Merge remote-tracking branch 'origin/master'

xs 5 jaren geleden
bovenliggende
commit
d803969dd2

+ 20 - 0
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -2217,4 +2217,24 @@ public class ActTaskService extends BaseService {
 		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
 	}
 
+	/**
+	 * 保存审核意见
+	 * @param act
+	 */
+	@Transactional(readOnly = false)
+	public void constructionLeader(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();
+		vars.put("pass", "yes".equals(flag)? true : false);
+		vars.put("manager", "yes".equals(flag)? "施工物资专职" : "施工经理");
+		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+	}
+
 }

+ 14 - 0
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -1246,4 +1246,18 @@ public class ActTaskController extends BaseController {
 		return j;
 	}
 
+	/**
+	 * 审批
+	 * @param act
+	 */
+	@ResponseBody
+	@RequestMapping(value = "constructionLeader")
+	public AjaxJson constructionLeader(Act act) {
+		AjaxJson j = new AjaxJson();
+		actTaskService.constructionLeader(act);
+		j.setMsg("审批成功");
+		return j;
+	}
+	//constructionLeader
+
 }

+ 10 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/PickIng.java

@@ -17,6 +17,8 @@ public class PickIng extends DataEntity<PickIng> {
     private String mdSmallClass;
     //单位
     private String mdUnit;
+    //版本
+    private String version;
 
     @Override
     public String getId() {
@@ -54,4 +56,12 @@ public class PickIng extends DataEntity<PickIng> {
     public void setMdUnit(String mdUnit) {
         this.mdUnit = mdUnit;
     }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
 }

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/PickIngMapper.java

@@ -27,4 +27,6 @@ public interface PickIngMapper extends BaseMapper<PickIng> {
     void updateSelectNumber(@Param("selectNumber") String selectNumber,@Param("procInsId") String procInsId);
 
     String findSelectNumber(String procInsId);
+
+    String selectVersion(String procInsId);
 }

+ 4 - 1
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml

@@ -33,7 +33,7 @@
     <select id="findAllList" resultType="com.jeeplus.modules.sg.picking.activiti.entity.PickIng">
         SELECT
         <include refid="classColumns"/>
-        FROM md_module_block a order by md_big_sort,md_the_sort,md_small_sort
+        FROM md_module_block a where md_version = #{version} order by md_big_sort,md_the_sort,md_small_sort
     </select>
 
     <insert id="insert">
@@ -106,4 +106,7 @@
 		select select_number from md_acquisition_process where proc_ins_id=#{procInsId};
 	</select>
 
+	<select id="selectVersion" resultType="string">
+		select version from md_acquisition_process where proc_ins_id = #{pprocInsId};
+	</select>
 </mapper>

+ 6 - 1
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/PickIngService.java

@@ -40,7 +40,8 @@ public class PickIngService extends CrudService<PickIngMapper, PickIng> {
 	 * 去除重复,记录大类
 	 * 根据大类查询它的中类放入list并记录
 	 * */
-	public List<PickList> newAllList(PickIng entity) {
+	public List<PickList> newAllList(PickIng entity,String s) {
+		entity.setVersion(s);
 		//查询除所有数据
 		List<PickIng> allList = pickIngMapper.findAllList(entity);
 		//创建返回对象集合
@@ -125,4 +126,8 @@ public class PickIngService extends CrudService<PickIngMapper, PickIng> {
 	public String findSelectNumber(String procInsId) {
 		return pickIngMapper.findSelectNumber(procInsId);
 	}
+
+	public String selectVersion(String procInsId) {
+		return pickIngMapper.selectVersion(procInsId);
+	}
 }

+ 15 - 4
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java

@@ -44,12 +44,14 @@ public class PickIngController extends BaseController {
     private ActTaskService actTaskService;
 
     /**
-     * 访问项目表
+     * 填写项目表
      */
     @RequestMapping(value = "list")
     public String form(ShowList showList, Model model) {
+        String procInsId = showList.getAct().getProcInsId();
+        String s = pickIngService.selectVersion(procInsId);
         PickIng pickIng = new PickIng();
-        List<PickList> pickListList = pickIngService.newAllList(pickIng);
+        List<PickList> pickListList = pickIngService.newAllList(pickIng,s);
         model.addAttribute("showList",showList);
         model.addAttribute("pickListList", pickListList);
         return "modules/sg/picking/activiti/pickIng";
@@ -64,6 +66,15 @@ public class PickIngController extends BaseController {
         return "modules/sg/picking/activiti/constructionLeader";
     }
 
+    /**
+     * 施工单位物资专职审核
+     */
+    @RequestMapping(value = "fullTime")
+    public String fullTime(ShowList showList, Model model) {
+        model.addAttribute("showList", showList);
+        return "modules/sg/picking/activiti/fullTime";
+    }
+
 //    constructionLeaderForm.jsp
 
     /**
@@ -180,7 +191,7 @@ public class PickIngController extends BaseController {
     }
 
     /**
-     * 保存请假申请
+     * 保存申请
      */
     @ResponseBody
     @RequestMapping(value = "save")
@@ -217,7 +228,7 @@ public class PickIngController extends BaseController {
             showListService.save(showList);//保存
             // 启动流程
             Map<String, Object> vars = Maps.newHashMap();
-            vars.put("manager", "项目经理");
+            vars.put("manager", "施工经理");
             ProcessDefinition p = actProcessService.getProcessDefinition(showList.getAct().getProcDefId());
             String title = showList.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
             actTaskService.startProcess(p.getKey(), "md_acquisition_process", showList.getId(), title, vars);

+ 45 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeader.js

@@ -110,6 +110,51 @@ $(document).ready(function() {
 		  $("#searchForm  select").val("");
 		  $('#informationTable').bootstrapTable('refresh');
 		});
+
+	 	//通过
+		$("#agree").click(function () {
+			jp.prompt("同意, 审批意见", function (message) {
+				jp.post("${ctx}/act/task/constructionLeader",
+					{
+						"taskId":"${showList.act.taskId}",
+						"taskName":"${showList.act.taskName}",
+						"taskDefKey":"${showList.act.taskDefKey}",
+						"procInsId":"${showList.act.procInsId}",
+						"procDefId":"${showList.act.procDefId}",
+						"flag":"yes",
+						"comment":window.encodeURI(message)
+					},
+					function (data) {
+						if(data.success){
+							jp.success(data.msg);
+							jp.go("${ctx}/act/task/todo")
+						}
+					})
+			})
+		})
+
+		//驳回
+		$("#reject").click(function () {
+			jp.prompt("驳回, 审批意见", function (message) {
+				jp.post("${ctx}/act/task/constructionLeader",
+					{
+						"taskId":"${showList.act.taskId}",
+						"taskName":"${showList.act.taskName}",
+						"taskDefKey":"${showList.act.taskDefKey}",
+						"procInsId":"${showList.act.procInsId}",
+						"procDefId":"${showList.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() {

+ 1 - 1
src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeaderForm.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>施工交底提交申请</title>
+	<title>领料提交申请</title>
 	<meta name="decorator" content="ani"/>
 	<!-- SUMMERNOTE -->
 	<%@include file="/webpage/include/summernote.jsp" %>

+ 130 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/fullTime.js

@@ -0,0 +1,130 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var item = "";
+	var procInsId = $("#procInsId").val();
+		console.log(procInsId);
+		//bootstrapTable加载数据
+		$('#informationTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: false,
+			//显示刷新按钮
+			showRefresh: false,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: false,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/picking/activiti/constructionData?procInsId="+procInsId,
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			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',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [
+				{
+					field: 'materialCode',
+					title: '物料编码',
+				}, {
+					field: 'materialDescription',
+					title: '物料名称',
+				}, {
+					field: 'extensionDescription',
+					title: '扩展描述',
+				}, {
+					field: 'mdUnits',
+					title: '单位',
+				}, {
+					field: 'mdTotalAmount',
+					title: '总量',
+				}, {
+					field: 'mdSingleWeight',
+					title: '单重/kg',
+				}, {
+					field: 'mdTotalWeight',
+					title: '总重/吨',
+				}, {
+					field: 'meTheParty',
+					title: '甲乙供',
+				}, {
+					field: 'mdText',
+					title: '备注',
+				}
+			]
+		});
+
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#informationTable').bootstrapTable("toggleView");
+		}
+
+	// 绑定查询按扭
+	$("#search").click("click", function() {
+		  $('#informationTable').bootstrapTable('refresh');
+		});
+
+	// 绑定查询重置按扭
+	 $("#reset").click("click", function() {
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $('#informationTable').bootstrapTable('refresh');
+		});
+	});
+
+  function getIdSelections() {
+        return $.map($("#informationTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+    //刷新列表
+  function refresh() {
+      $('#informationTable').bootstrapTable('refresh');
+  }
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+			idx: idx, delBtn: true, row: row
+		}));
+	}
+</script>

+ 39 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/fullTime.jsp

@@ -0,0 +1,39 @@
+<%@ 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="fullTime.js"%>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="panel panel-primary">
+        <div class="panel-heading">
+            <h3 class="panel-title">施工单位物资专职</h3>
+        </div>
+        <form:form id="inputForm" modelAttribute="showList" class="form-horizontal">
+            <input type="hidden" id="procInsId" name="procInsId" value="${showList.act.procInsId}"/>
+        </form:form>
+        <div class="panel-body">
+            <table id="informationTable" data-toolbar="#toolbar" class="table"></table>
+            <div class="row">
+                <div class="col-sm-3"></div>
+                <div class="col-sm-6">
+                    <div class="form-group text-center" style="text-align: center;margin-top: 20px;">
+                        <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 showList.id}">
+                <act:flowChart procInsId="${showList.act.procInsId}"/>
+                <act:histoicFlow procInsId="${showList.act.procInsId}"/>
+            </c:if>
+        </div>
+    </div>
+</div>
+</body>
+</html>