فهرست منبع

每次执行删除语句,部门报表总览只显示七个部门的项目信息

[user3] 3 سال پیش
والد
کامیت
1186584c33

+ 11 - 0
src/main/java/com/jeeplus/modules/statement/controller/StatementCompanyComprehensiveController.java

@@ -486,6 +486,17 @@ public class StatementCompanyComprehensiveController extends BaseController {
         model.addAttribute("reportFormList4",stringListMap.get("reportFormList4"));//合同报表
         model.addAttribute("nyr",nyr);
 
+        //判断并只显示七个部门的项目信息
+        String sevenOfficeId = statementCompanyComprehensiveService.selectSevenOfficeId();
+        List<StatementCompanyComprehensiveInfo> list = stringListMap.get("reportFormList1");
+        for(int i = 0;i<list.size();i++){
+            if(sevenOfficeId.contains(list.get(i).getOfficeId())){
+                model.addAttribute("showFlag","1");
+            }else {
+                model.addAttribute("showFlag","0");
+            }
+        }
+
         return "modules/statement/departmentCompanyDataView";
     }
 

+ 24 - 1
src/main/java/com/jeeplus/modules/statement/dao/StatementCompanyComprehensiveDao.java

@@ -198,6 +198,12 @@ public interface StatementCompanyComprehensiveDao  extends CrudDao<StatementComp
     void insertStatementDataInfo(@Param("dataList")List<StatementDataInfo> statementDataInfoList);
 
     /**
+     * 超期、未超期数据删除
+     * @param statementDataInfoList
+     */
+    void deleteStatementDataInfo(@Param("dataList")List<StatementDataInfo> statementDataInfoList);
+
+    /**
      * 查询公司级需要通知的人员信息
      * @return
      */
@@ -277,12 +283,25 @@ public interface StatementCompanyComprehensiveDao  extends CrudDao<StatementComp
     Integer insertOfficeComprehensive(StatementCompanyComprehensiveInfo info);
 
     /**
+     * 删除部门级数据信息
+     * @param info
+     * @return
+     */
+    Integer deleteOfficeComprehensive(StatementCompanyComprehensiveInfo info);
+
+    /**
      * 部门级超期、未超期数据存储
      * @param statementDataInfoList
      */
     void insertOfficeStatementDataInfo(@Param("dataList")List<StatementDataInfo> statementDataInfoList);
 
     /**
+     * 部门级超期、未超期数据删除
+     * @param statementDataInfoList
+     */
+    void deleteOfficeStatementDataInfo(@Param("dataList")List<StatementDataInfo> statementDataInfoList);
+
+    /**
      * 部门级查询发票信息数量
      * @param userId
      * @param beginDate
@@ -390,6 +409,10 @@ public interface StatementCompanyComprehensiveDao  extends CrudDao<StatementComp
     List<StatementCompanyComprehensiveInfo> selectAllByOfficeId(StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo);
 
 
-
+    /**
+     * 查询七个部门的officeId
+     * @return
+     */
+    String selectSevenOfficeId();
 
 }

+ 45 - 1
src/main/java/com/jeeplus/modules/statement/service/StatementCompanyComprehensiveService.java

@@ -328,6 +328,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                 overDueNotRecordProjectList.add(info);
             }
             if(overDueNotRecordProjectList.size()>0){
+                //每次删除之前存的数据
+                dao.deleteStatementDataInfo(overDueNotRecordProjectList);
                 dao.insertStatementDataInfo(overDueNotRecordProjectList);
             }
             //查询电子归档超期归档项目数量(保存到数据库)
@@ -347,6 +349,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                 overDueRecordProjectList.add(info);
             }
             if(overDueRecordProjectList.size()>0){
+                //每次删除之前存的数据
+                dao.deleteStatementDataInfo(overDueRecordProjectList);
                 dao.insertStatementDataInfo(overDueRecordProjectList);
             }
             //查询上报超期未上报项目数量(保存到数据库)
@@ -366,6 +370,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                 overDueNotReportedProjectList.add(info);
             }
             if(overDueNotReportedProjectList.size()>0){
+                //每次删除之前存的数据
+                dao.deleteStatementDataInfo(overDueNotReportedProjectList);
                 dao.insertStatementDataInfo(overDueNotReportedProjectList);
             }
             //查询上报超期上报项目数量(保存到数据库)
@@ -385,11 +391,15 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                 overDueReportedProjectList.add(info);
             }
             if(overDueReportedProjectList.size()>0){
+                //每次删除之前存的数据
+                dao.deleteStatementDataInfo(overDueReportedProjectList);
                 dao.insertStatementDataInfo(overDueReportedProjectList);
             }
 
             //数据处理并保存到数据库中
             comprehensiveInfo.preInsert();
+            //每次都要删除之前的数据
+            dao.delete(comprehensiveInfo);
             dao.insert(comprehensiveInfo);
         }
     }
@@ -432,6 +442,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
 
             //数据处理并保存到数据库中
             comprehensiveInfo.preInsert();
+            //每次都要删除之前的数据
+            dao.delete(comprehensiveInfo);
             dao.insert(comprehensiveInfo);
 
         }
@@ -464,6 +476,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
             comprehensiveInfo.setField2(field2);
             //数据处理并保存到数据库中
             comprehensiveInfo.preInsert();
+            //每次都要删除之前的数据
+            dao.delete(comprehensiveInfo);
             dao.insert(comprehensiveInfo);
         }
     }
@@ -510,6 +524,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                 overDueNotContractList.add(info);
             }
             if(overDueNotContractList.size()>0){
+                //每次删除之前存的数据
+                dao.deleteStatementDataInfo(overDueNotContractList);
                 dao.insertStatementDataInfo(overDueNotContractList);
             }
 
@@ -530,11 +546,15 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                 overDueContractList.add(info);
             }
             if(overDueContractList.size()>0){
+                //每次删除之前存的数据
+                dao.deleteStatementDataInfo(overDueContractList);
                 dao.insertStatementDataInfo(overDueContractList);
             }
 
             //数据处理并保存到数据库中
             comprehensiveInfo.preInsert();
+            //每次都要删除之前的数据
+            dao.delete(comprehensiveInfo);
             dao.insert(comprehensiveInfo);
 
         }
@@ -809,6 +829,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                         overDueNotRecordProjectList.add(info);
                     }
                     if(overDueNotRecordProjectList.size()>0){
+                        //每次删除之前的数据
+                        dao.deleteOfficeStatementDataInfo(overDueNotRecordProjectList);
                         dao.insertOfficeStatementDataInfo(overDueNotRecordProjectList);
                     }
                     //查询电子归档超期归档项目数量(保存到数据库)
@@ -830,6 +852,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                         overDueRecordProjectList.add(info);
                     }
                     if(overDueRecordProjectList.size()>0){
+                        //每次删除之前的数据
+                        dao.deleteOfficeStatementDataInfo(overDueRecordProjectList);
                         dao.insertOfficeStatementDataInfo(overDueRecordProjectList);
                     }
                     //查询上报超期未上报项目数量(保存到数据库)
@@ -851,6 +875,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                         overDueNotReportedProjectList.add(info);
                     }
                     if(overDueNotReportedProjectList.size()>0){
+                        //每次删除之前的数据
+                        dao.deleteOfficeStatementDataInfo(overDueNotReportedProjectList);
                         dao.insertOfficeStatementDataInfo(overDueNotReportedProjectList);
                     }
                     //查询上报超期上报项目数量(保存到数据库)
@@ -872,10 +898,14 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                         overDueReportedProjectList.add(info);
                     }
                     if(overDueReportedProjectList.size()>0){
+                        //每次删除之前的数据
+                        dao.deleteOfficeStatementDataInfo(overDueReportedProjectList);
                         dao.insertOfficeStatementDataInfo(overDueReportedProjectList);
                     }
                     //数据处理并保存到数据库中
                     comprehensiveInfo.preInsert();
+                    //每次删除对应条件的数据   比部门多了userId
+                    dao.deleteOfficeComprehensive(comprehensiveInfo);
                     dao.insertOfficeComprehensive(comprehensiveInfo);
                 }
             }
@@ -929,6 +959,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
 
                     //数据处理并保存到数据库中
                     comprehensiveInfo.preInsert();
+                    //每次删除对应条件的数据   比部门多了userId
+                    dao.deleteOfficeComprehensive(comprehensiveInfo);
                     dao.insertOfficeComprehensive(comprehensiveInfo);
                 }
             }
@@ -973,6 +1005,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                     comprehensiveInfo.setField2(field2);
                     //数据处理并保存到数据库中
                     comprehensiveInfo.preInsert();
+                    //每次删除对应条件的数据   比部门多了userId
+                    dao.deleteOfficeComprehensive(comprehensiveInfo);
                     dao.insertOfficeComprehensive(comprehensiveInfo);
                 }
             }
@@ -1032,6 +1066,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                         overDueNotContractList.add(info);
                     }
                     if(overDueNotContractList.size()>0){
+                        //每次删除之前的数据
+                        dao.deleteOfficeStatementDataInfo(overDueNotContractList);
                         dao.insertOfficeStatementDataInfo(overDueNotContractList);
                     }
 
@@ -1054,11 +1090,15 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
                         overDueContractList.add(info);
                     }
                     if(overDueContractList.size()>0){
+                        //每次删除之前的数据
+                        dao.deleteOfficeStatementDataInfo(overDueContractList);
                         dao.insertOfficeStatementDataInfo(overDueContractList);
                     }
 
                     //数据处理并保存到数据库中
                     comprehensiveInfo.preInsert();
+                    //每次删除对应条件的数据   比部门多了userId
+                    dao.deleteOfficeComprehensive(comprehensiveInfo);
                     dao.insertOfficeComprehensive(comprehensiveInfo);
                 }
             }
@@ -1218,7 +1258,11 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
         return map;
     }
 
-
+    //部门级 查询只显示的七个部门的office_id
+    public String selectSevenOfficeId(){
+        String sevenOfficeId = dao.selectSevenOfficeId();
+        return sevenOfficeId;
+    }
 
 
 

+ 50 - 0
src/main/resources/mappings/modules/statement/StatementCompanyComprehensiveDao.xml

@@ -103,6 +103,15 @@
 
 		)
 	</insert>
+	
+	<delete id="delete">
+		delete from statement_company_comprehensive_info
+		where type = #{type}
+		  	and year = #{year}
+			and big_date_type = #{bigDateType}
+			and small_date_type = #{smallDateType}
+			and office_id = #{officeId}
+	</delete>
 
 	<update id="update">
 		UPDATE statement_company_comprehensive_info SET
@@ -398,6 +407,19 @@
 		</foreach>
 	</insert>
 
+	<delete id="deleteStatementDataInfo">
+		delete from statement_data_info
+		<where >
+		      <foreach collection="dataList" item="data" separator=",">
+				  type = #{data.type}
+				  and year = #{data.year}
+				  and big_date_type = #{data.bigDateType}
+				  and small_date_type = #{data.smallDateType}
+				  and office_id = #{data.officeId}
+				</foreach>
+		</where>
+	</delete>
+
 	<select id="getStatementCompanyNotificationUserList" resultType="com.jeeplus.modules.sys.entity.User">
 		select su.id,su.name,su.company_id as "company.id" from statement_company_notification_user_info a
 		left join sys_user su on a.user_id = su.id
@@ -547,6 +569,16 @@
 		)
 	</insert>
 
+	<delete id="deleteOfficeComprehensive">
+		delete from statement_office_comprehensive_info
+		where type = #{type}
+		  and year = #{year}
+		  and big_date_type = #{bigDateType}
+		  and small_date_type = #{smallDateType}
+		  and office_id = #{officeId}
+		  and user_id = #{userId}
+	</delete>
+
 
 	<insert id="insertOfficeStatementDataInfo">
 		INSERT INTO statement_office_data_info
@@ -587,6 +619,20 @@
 		</foreach>
 	</insert>
 
+	<delete id="deleteOfficeStatementDataInfo">
+		delete from statement_office_data_info
+		<where>
+			<foreach collection="dataList" item="data" separator=",">
+				type = #{data.type}
+				and year = #{data.year}
+				and big_date_type = #{data.bigDateType}
+				and small_date_type = #{data.smallDateType}
+				and office_id = #{data.officeId}
+				and user_id = #{data.userId}
+			</foreach>
+		</where>
+	</delete>
+
 	<select id="getInsertOfficeInvoiceCountByOffice" resultType="java.lang.Integer">
 		select count(1) from work_invoice a
 		<where>
@@ -744,4 +790,8 @@
 			a.office_id,
 			a.user_id
 	</select>
+
+	<select id="selectSevenOfficeId" resultType="string">
+		select GROUP_CONCAT(office_id) from statement_office_info
+	</select>
 </mapper>

+ 4 - 2
src/main/webapp/webpage/modules/statement/departmentCompanyDataView.jsp

@@ -805,8 +805,10 @@
 				</div>
 
 				<%--项目报表--%>
-				<div class="form-group-label"><h2>项目${nyr}报</h2></div>
-				<table class="oa-table layui-table" id="contentTable1" lay-filter="test"></table>
+				<c:if test="${showFlag == 1}">
+					<div class="form-group-label"><h2>项目${nyr}报</h2></div>
+					<table class="oa-table layui-table" id="contentTable1" lay-filter="test"></table>
+				</c:if>
 
 				<%--开票报表--%>
 				<div class="form-group-label"><h2>开票${nyr}报</h2></div>