Browse Source

报销申请部分修改

user5 4 năm trước cách đây
mục cha
commit
fe091fe62a

+ 6 - 0
src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementService.java

@@ -224,6 +224,10 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
 
     public Page<WorkReimbursement> findPage(Page<WorkReimbursement> page, WorkReimbursement workReimbursement) {
         workReimbursement.getSqlMap().put("dsf", dataScopeFilter(workReimbursement.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_REIMBURSEMENT.getValue()));
+        if(StringUtils.isNotBlank(workReimbursement.getSqlMap().get("dsf"))){
+            String newDsf = workReimbursement.getSqlMap().get("dsf").replace("and","");
+            workReimbursement.getSqlMap().put("dsf",newDsf);
+        }
         workReimbursement.setCreateBy(UserUtils.getUser());
         int count = dao.queryCount(workReimbursement);
         page.setCount(count);
@@ -506,6 +510,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                     //添加人员部门id
                     User user = UserUtils.get(workAccount.getReimbursementName());
                     workAccount.setOfficeId(user.getOffice().getId());
+                }else{
+                    workAccount.setOfficeId("");
                 }
                 //根据是否为项目报销设置数据信息
                 if(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0){

+ 31 - 0
src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java

@@ -19,6 +19,7 @@ import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.act.utils.ActUtils;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
+import com.jeeplus.modules.projectrecord.enums.ProjectStatusEnum;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.Role;
@@ -760,4 +761,34 @@ public class WorkReimbursementController extends BaseController {
 		return "modules/sys/gridselectcallprojectOnReimbur";
 		//return "modules/sys/gridselect";
 	}
+
+
+	/**
+	 * 报销list页面查询框
+	 */
+	@RequestMapping(value = "selectprojectOnList")
+	public String selectprojectOnList(ProjectRecords project, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String ids, HttpServletRequest request, HttpServletResponse response, Model model) {
+		project.setCompany(UserUtils.getSelectCompany());
+		project.setProjectStatus(ProjectStatusEnum.SIGNED.getValue());//已签状态
+		project.setLeaderNameStr(UserUtils.getUser().getName());
+		Page<ProjectRecords> page = projectRecordsService.ruralFindPageByReimbur(new Page<ProjectRecords>(request, response), project,"");
+		try {
+			fieldLabels = URLDecoder.decode(fieldLabels, "UTF-8");
+			fieldKeys = URLDecoder.decode(fieldKeys, "UTF-8");
+			searchLabel = URLDecoder.decode(searchLabel, "UTF-8");
+			searchKey = URLDecoder.decode(searchKey, "UTF-8");
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		model.addAttribute("labelNames", fieldLabels.split("\\|"));
+		model.addAttribute("labelValues", fieldKeys.split("\\|"));
+		model.addAttribute("fieldLabels", fieldLabels);
+		model.addAttribute("fieldKeys", fieldKeys);
+		model.addAttribute("url", url);
+		model.addAttribute("searchLabel", searchLabel);
+		model.addAttribute("searchKey", searchKey);
+		model.addAttribute("obj", project);
+		model.addAttribute("page",page);
+		return "modules/sys/gridReimburProjectList";
+	}
 }

+ 5 - 5
src/main/resources/mappings/modules/workreimbursement/WorkReimbursementDao.xml

@@ -91,8 +91,8 @@
 			<if test="submitterId != null and submitterId != ''">
 				AND wa.reimbursement_name = #{submitterId}
 			</if>
-			${sqlMap.dsf}
-			or wa.reimbursement_name = #{createBy.id}
+			and (${sqlMap.dsf}
+			or wa.reimbursement_name = #{createBy.id})
 		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
@@ -121,7 +121,7 @@
 				AND a.status = #{status}
 			</if>
 			<if test="officeId != '' and officeId != null">
-				AND a.office_id = #{officeId}
+				AND wa.office_id = #{officeId}
 			</if>
 			<if test="submitterDate != '' and submitterDate != null">
 				AND a.submitter_date = #{submitterDate}
@@ -138,8 +138,8 @@
 			<if test="submitterId != null and submitterId != ''">
 				AND wa.reimbursement_name = #{submitterId}
 			</if>
-			${sqlMap.dsf}
-			or wa.reimbursement_name = #{createBy.id}
+			and (${sqlMap.dsf}
+			or wa.reimbursement_name = #{createBy.id})
 		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">

+ 158 - 0
src/main/webapp/webpage/modules/sys/gridReimburProjectList.jsp

@@ -0,0 +1,158 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+
+            <%--var val = "<%=request.getAttribute("state")%>";--%>
+            <%--if(val!=null){--%>
+                <%--alert("++++++++++");--%>
+			<%--};--%>
+
+            $('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('check');
+			    	});
+
+			    $('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
+			    	});
+			    
+			
+		});
+
+		function getSelectedItem(){
+
+			var size = $("#contentTable tbody tr td input.i-checks:checked").size();
+			  if(size == 0 ){
+					top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }
+
+			  if(size > 1 ){
+					top.layer.alert('只能选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }
+			    var id =  $("#contentTable tbody tr td input.i-checks:checkbox:checked").attr("id");
+			    
+				var label = $("#contentTable tbody tr td input.i-checks:checkbox:checked").parent().parent().parent().find(".codelabel").html();
+				var number = $("#contentTable tbody tr td input.i-checks:checkbox:checked").parent().parent().parent().find(".codenumber").html();
+				return id+"_item_"+label+"_item_"+number;
+		}
+		function page(n,s){
+			if(n) $("#pageNo").val(n);
+			if(s) $("#pageSize").val(s);
+			$("#searchForm").attr("action","${url}");
+			$("#searchForm").submit();
+	    	return false;
+	    }
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="obj" action="${url}" method="post" class="form-inline">
+					<input type="hidden" name="url" value="${url}"/>
+					<input type="hidden" name="isTotal" value="${isTotal}"/>
+					<input type="hidden" name="fieldLabels" value="${fieldLabels}"/>
+					<input type="hidden" name="fieldKeys" value="${fieldKeys}"/>
+					<input type="hidden" name="searchLabel" value="${searchLabel}"/>
+					<input type="hidden" name="searchKey" value="${searchKey}"/>
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+
+					<div class="commonQuery">
+						<div class="layui-item query athird">
+							<span class="layui-form-label">项目名称:</span>
+							<div class="layui-input-block">
+								<form:input path="${searchKey}" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item athird fr">
+							<div class="input-group">
+								<button id="searchReset" class="fixed-btn searchReset fr" style="margin-right: 0px;" onclick="resetSearch()">重置</button>
+								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl form-group first">
+			<div class="layui-item layui-col-xs12 form-table-container">
+				<table id="contentTable" class="table details table-bordered table-condensed">
+					<thead>
+						<tr>
+							<th width="50px"></th>
+							<c:forEach items="${labelNames}" var="projectName"  varStatus="status">
+								<th>项目名称</th>
+								<th>项目编号</th>
+								<th>项目报告号</th>
+								<th>委托方</th>
+							</c:forEach>
+						</tr>
+					</thead>
+					<tbody>
+					<c:choose>
+						<c:when test="${not empty page.list}">
+							<c:forEach items="${page.list}" var="obj">
+								<tr>
+									<td> <input type="checkbox" id="${fns:getValue(obj, 'id')}" class="i-checks"></td>
+									<td class="codelabel">${obj.projectName}</td>
+									<td class="codelabel">${obj.projectId}</td>
+									<td class="codenumber">${obj.reportData.number}</td>
+									<td class="codelabel">${obj.workContractInfo.client.name}</td>
+								</tr>
+							</c:forEach>
+						</c:when>
+						<c:otherwise>
+							<tr>
+								<td colspan="5" align="center">
+								暂无数据
+								</td>
+							</tr>
+						</c:otherwise>
+					</c:choose>
+
+
+					<%--<c:choose>
+						<c:when test="${not empty page.list}">
+					<c:forEach items="${page.list}" var="obj">
+						<tr>
+							<td> <input type="checkbox" id="${fns:getValue(obj, 'id')}" class="i-checks"></td>
+
+							<c:forEach items="${labelValues}" var="value"  varStatus="status">
+								<c:if test="${status.first==true}">
+									<td class="codelabel">${fns:getValue(obj, value)}</td>
+								</c:if>
+
+								<c:if test="${status.first!=true}">
+									<td>${fns:getValue(obj, value)}</td>
+								</c:if>
+							</c:forEach>
+
+						</tr>
+					</c:forEach>
+					</c:when>
+					<c:otherwise>
+						<tr>
+							<td colspan="15" align="center">
+								暂无数据
+							</td>
+						</tr>
+					</c:otherwise>
+					</c:choose>--%>
+					</tbody>
+				</table>
+				<table:page page="${page}"></table:page>
+	</div>
+</div>
+	</div>
+</div>
+</body>
+</html>

+ 1 - 1
src/main/webapp/webpage/modules/workreimbursement/workReimbursementCWAudit.jsp

@@ -264,7 +264,7 @@
             <div class="form-group layui-row first ">
                 <div class="form-group-label"><h2>基础信息</h2></div>
                 <div class="layui-item layui-col-sm6">
-                    <label class="layui-form-label"><span class="require-item">*</span>报销人:</label>
+                    <label class="layui-form-label">报销人:</label>
                     <div class="layui-input-block">
                         <form:input path="submitterName" htmlEscape="false"  id="submitterName"  class="form-control layui-input" value = "${workReimbursement.submitterName}"/>
                     </div>

+ 2 - 2
src/main/webapp/webpage/modules/workreimbursement/workReimbursementList.jsp

@@ -40,8 +40,8 @@
                         <div class="layui-item query athird">
                             <label class="layui-form-label">报销项目:</label>
                             <div class="layui-input-block with-icon">
-                                <sys:gridselectcallproject url="${ctx}/workreimbursement/workReimbursement/selectReproject" id="project" name="project.id"  value="${workReimbursement.project.id}"  title="选择报销项目" labelName="project.projectName"
-                                                           labelValue="${workReimbursement.project.projectName}"  cssClass="form-control widthClass layui-input" fieldLabels="工程" fieldKeys="projectName" searchLabel="工程名称" searchKey="projectName"></sys:gridselectcallproject>
+                                <sys:gridselectcallprojectt url="${ctx}/workreimbursement/workReimbursement/selectprojectOnList" id="project" name="project.id"  value="${workReimbursement.project.id}"  title="选择报销项目" labelName="project.projectName"
+                                                            labelValue="${workReimbursement.project.projectName}" cssClass="form-control required layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName" ></sys:gridselectcallprojectt>
                             </div>
                         </div>
                         <%--<div class="layui-item query athird">