Browse Source

添加部门筛选项

user5 4 years ago
parent
commit
93a77ccba2

+ 8 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectReportDao.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.ruralprojectrecords.dao;
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportInfo;
+import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractReportInfo;
 
 import java.util.List;
@@ -27,4 +28,11 @@ public interface RuralProjectReportDao extends CrudDao<RuralProjectReportInfo> {
      * @return
      */
     List<String> getMonth(RuralProjectReportInfo ruralProjectReportInfo);
+
+    /**
+     * 获取项目月份信息
+     * @param ruralProjectReportInfo
+     * @return
+     */
+    List<Office> getOffice(RuralProjectReportInfo ruralProjectReportInfo);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectReportInfo.java

@@ -28,6 +28,7 @@ public class RuralProjectReportInfo extends DataEntity<RuralProjectReportInfo>
     private String officeName;      //所属部门
 
     private String projectType;   //类型
+    private String officeId;
 
     @ExcelField(title="年份", align=2, sort=2)
     public String getYear() {
@@ -162,4 +163,12 @@ public class RuralProjectReportInfo extends DataEntity<RuralProjectReportInfo>
     public void setProjectType(String projectType) {
         this.projectType = projectType;
     }
+
+    public String getOfficeId() {
+        return officeId;
+    }
+
+    public void setOfficeId(String officeId) {
+        this.officeId = officeId;
+    }
 }

+ 17 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordReportService.java

@@ -2,11 +2,15 @@ package com.jeeplus.modules.ruralprojectrecords.service;
 
 import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.service.CrudService;
+import com.jeeplus.common.utils.Collections3;
 import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordReportDao;
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordReportInfo;
 import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -20,6 +24,9 @@ import java.util.List;
 @Transactional(readOnly = true)
 public class RuralProjectRecordReportService extends CrudService<RuralProjectRecordReportDao, RuralProjectRecordReportInfo> {
 
+    @Autowired
+    private RuralWorkProjectUserDao workProjectUserDao;
+
     public Page<RuralProjectRecordReportInfo> findPage(Page<RuralProjectRecordReportInfo> page, RuralProjectRecordReportInfo ruralProjectRecordReportInfo) {
         //设置数据权限
         if(!UserUtils.getUser().isAdmin()) {
@@ -37,6 +44,16 @@ public class RuralProjectRecordReportService extends CrudService<RuralProjectRec
         page.setCountFlag(false);
         ruralProjectRecordReportInfo.setPage(page);
         List<RuralProjectRecordReportInfo> list = super.findList(ruralProjectRecordReportInfo);
+        //查询负责人信息
+        for (RuralProjectRecordReportInfo records : list) {
+            List<User> users = workProjectUserDao.queryProjectUsers(records.getId(), "1");
+            if(users.size()>0){
+                User user = UserUtils.get(users.get(0).getId());
+                records.setPrincipalUser(user.getName());
+                records.setOfficeName(user.getOffice().getName());
+                records.setOfficeId(user.getOffice().getId());
+            }
+        }
         page.setList(list);
         return page;
     }

+ 27 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectReportService.java

@@ -4,8 +4,13 @@ import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.service.CrudService;
 import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectReportDao;
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordReportInfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportInfo;
+import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -19,6 +24,9 @@ import java.util.List;
 @Transactional(readOnly = true)
 public class RuralProjectReportService extends CrudService<RuralProjectReportDao, RuralProjectReportInfo> {
 
+    @Autowired
+    private RuralWorkProjectUserDao workProjectUserDao;
+
     public Page<RuralProjectReportInfo> findPage(Page<RuralProjectReportInfo> page, RuralProjectReportInfo ruralProjectReportInfo) {
         //设置数据权限
         if(!UserUtils.getUser().isAdmin()) {
@@ -36,6 +44,16 @@ public class RuralProjectReportService extends CrudService<RuralProjectReportDao
         page.setCountFlag(false);
         ruralProjectReportInfo.setPage(page);
         List<RuralProjectReportInfo> list = super.findList(ruralProjectReportInfo);
+        //查询负责人信息
+        for (RuralProjectReportInfo records : list) {
+            List<User> users = workProjectUserDao.queryProjectUsers(records.getId(), "1");
+            if(users.size()>0){
+                User user = UserUtils.get(users.get(0).getId());
+                records.setPrincipalUser(user.getName());
+                records.setOfficeName(user.getOffice().getName());
+                records.setOfficeId(user.getOffice().getId());
+            }
+        }
         page.setList(list);
         return page;
     }
@@ -57,4 +75,13 @@ public class RuralProjectReportService extends CrudService<RuralProjectReportDao
     public List<String> getMonth(RuralProjectReportInfo ruralProjectReportInfo){
         return dao.getMonth(ruralProjectReportInfo);
     }
+
+    /**
+     * 获取项目月份信息
+     * @param ruralProjectReportInfo
+     * @return
+     */
+    public List<Office> getOffice(RuralProjectReportInfo ruralProjectReportInfo){
+        return dao.getOffice(ruralProjectReportInfo);
+    }
 }

+ 5 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectReportController.java

@@ -7,6 +7,7 @@ import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportInfo;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectReportService;
+import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractReportInfo;
@@ -47,11 +48,15 @@ public class RuralCostProjectReportController extends BaseController {
         List<String> yearList = ruralProjectReportService.getYear(ruralProjectReportInfo);
         //获取合同月份信息
         List<String> monthList = ruralProjectReportService.getMonth(ruralProjectReportInfo);
+        //获取合同部门信息
+        List<Office> officeList = ruralProjectReportService.getOffice(ruralProjectReportInfo);
         model.addAttribute("yearList", yearList);
         model.addAttribute("monthList", monthList);
+        model.addAttribute("officeList", officeList);
         model.addAttribute("page", page);
         model.addAttribute("yearValue", ruralProjectReportInfo.getYear());
         model.addAttribute("monthValue", ruralProjectReportInfo.getMonth());
+        model.addAttribute("officeValue", ruralProjectReportInfo.getOfficeId());
         return "modules/ruralprojectrecords/ruralProjectReport/cost/ruralCostProjectReportList";
     }
 

+ 5 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectReportController.java

@@ -7,6 +7,7 @@ import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportInfo;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectReportService;
+import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -45,11 +46,15 @@ public class RuralProjectReportController extends BaseController {
         List<String> yearList = ruralProjectReportService.getYear(ruralProjectReportInfo);
         //获取合同月份信息
         List<String> monthList = ruralProjectReportService.getMonth(ruralProjectReportInfo);
+        //获取合同部门信息
+        List<Office> officeList = ruralProjectReportService.getOffice(ruralProjectReportInfo);
         model.addAttribute("yearList", yearList);
         model.addAttribute("monthList", monthList);
+        model.addAttribute("officeList", officeList);
         model.addAttribute("page", page);
         model.addAttribute("yearValue", ruralProjectReportInfo.getYear());
         model.addAttribute("monthValue", ruralProjectReportInfo.getMonth());
+        model.addAttribute("officeValue", ruralProjectReportInfo.getOfficeId());
         return "modules/ruralprojectrecords/ruralProjectReport/ruralProjectReportList";
     }
 

+ 10 - 4
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordReportDao.xml

@@ -8,7 +8,6 @@
 		month(a.create_date) as "month",
 		a.create_by AS "createBy.id",
 		(select name from sys_user user where user.id=a.create_by) AS "createBy.name",
-		(select name from sys_user user where user.id=a.create_by) AS "principalUser",
 		a.create_date AS "createDate",
 		a.update_by AS "updateBy.id",
 		a.update_date AS "updateDate",
@@ -43,6 +42,8 @@
 		left join sys_office o on o.id = a.office_id
 		LEFT JOIN sys_area area ON area.id = a.area_id
         LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		left join sys_user su on su.id = w1.user_id
+		left join sys_office so on so.id = su.office_id
 	</sql>
 
 
@@ -78,13 +79,12 @@
 
 	<select id="getOffice" resultType="com.jeeplus.modules.sys.entity.Office">
 		SELECT
-			distinct(o.id) as "id",
-			o.name as "name"
+		distinct (so.id) as id,
+		so.name as 'name'
 		FROM rural_project_records a
 		<include refid="ruralProjectInfoJoins"/>
 		<where>
 			a.del_flag = 0 and project_type = #{projectType} and a.status = 5 and prd.status = 5
-			AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id} )${sqlMap.dsf} )
 		</where>
 	</select>
 
@@ -107,6 +107,9 @@
 			<if test="principalUser != null and principalUser != ''">
 				AND u.name LIKE concat('%',#{principalUser},'%')
 			</if>
+			<if test="officeId != null and officeId != ''">
+				AND so.id = #{officeId}
+			</if>
 			AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id} )${sqlMap.dsf} )
 		</where>
 		<choose>
@@ -138,6 +141,9 @@
 			<if test="principalUser != null and principalUser != ''">
 				AND u.name LIKE concat('%',#{principalUser},'%')
 			</if>
+			<if test="officeId != null and officeId != ''">
+				AND so.id = #{officeId}
+			</if>
 			AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id} )${sqlMap.dsf} )
 		</where>
 		<choose>

+ 19 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectReportDao.xml

@@ -37,6 +37,8 @@
 		left join sys_office o on o.id = a.office_id
 		LEFT JOIN sys_area area ON area.id = a.area_id
         LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		left join sys_user su on su.id = w1.user_id
+		left join sys_office so on so.id = su.office_id
 	</sql>
 
 
@@ -70,6 +72,17 @@
 		</where>
 	</select>
 
+	<select id="getOffice" resultType="com.jeeplus.modules.sys.entity.Office">
+		SELECT
+		distinct (so.id) as id,
+		so.name as 'name'
+		FROM rural_project_records a
+		<include refid="ruralProjectInfoJoins"/>
+		<where>
+			a.del_flag = 0 and project_type = #{projectType} and a.status = 5 and prd.status = 5
+		</where>
+	</select>
+
 	<select id="findList" resultType="com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportInfo" >
 		SELECT
 			<include refid="ruralProjectInfoColumns"/>
@@ -86,6 +99,9 @@
 			<if test="clientName != null and clientName != ''">
 				AND client.name LIKE concat('%',#{clientName},'%')
 			</if>
+			<if test="officeId != null and officeId != ''">
+				AND so.id = #{officeId}
+			</if>
 			AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id} )${sqlMap.dsf} )
 		</where>
 		<choose>
@@ -114,6 +130,9 @@
 			<if test="clientName != null and clientName != ''">
 				AND client.name LIKE concat('%',#{clientName},'%')
 			</if>
+			<if test="officeId != null and officeId != ''">
+				AND so.id = #{officeId}
+			</if>
 			AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id} )${sqlMap.dsf} )
 		</where>
 		<choose>

+ 8 - 4
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectReport/cost/ruralCostProjectReportList.jsp

@@ -106,10 +106,14 @@
 				</div>
 				<div id="moresees" class="lw7" style="clear:both;display:none;height: 70px;">
 					<div class="layui-item query athird">
-						<label class="layui-form-label">创建人:</label>
-						<div class="layui-input-block  with-icon">
-							<sys:treeselect id="create" name="createId" value="${createId}" labelName="createNameStr" labelValue="${createName}"
-											title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+						<label class="layui-form-label">部门:</label>
+						<div class="layui-input-block with-icon">
+							<form:select path="officeId" class="form-control simple-select">
+								<form:option value="" label=""/>
+								<c:forEach items="${officeList}" var="office">
+									<option value="${office.id}" <c:if test="${officeValue==office.id}">selected</c:if> >${office.name}</option>
+								</c:forEach>
+							</form:select>
 						</div>
 					</div>
 					<div class="layui-item query athird">

+ 8 - 4
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectReport/ruralProjectReportList.jsp

@@ -106,10 +106,14 @@
 				</div>
 				<div id="moresees" class="lw7" style="clear:both;display:none;height: 70px;">
 					<div class="layui-item query athird">
-						<label class="layui-form-label">创建人:</label>
-						<div class="layui-input-block  with-icon">
-							<sys:treeselect id="create" name="createId" value="${createId}" labelName="createNameStr" labelValue="${createName}"
-											title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+						<label class="layui-form-label">部门:</label>
+						<div class="layui-input-block with-icon">
+							<form:select path="officeId" class="form-control simple-select">
+								<form:option value="" label=""/>
+								<c:forEach items="${officeList}" var="office">
+									<option value="${office.id}" <c:if test="${officeValue==office.id}">selected</c:if> >${office.name}</option>
+								</c:forEach>
+							</form:select>
 						</div>
 					</div>
 					<div class="layui-item query athird">