Min 1 年之前
父節點
當前提交
595bf1eb67

+ 8 - 8
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -186,19 +186,19 @@ public interface ReportMapper extends BaseMapper<Report> {
 
     List<Map<String, Object>> getPersonWorkHoursWagesDetail(String date, String userId, Integer companyId,String startDate,String endDate,Integer checkStatus,Integer detailStatus);
 
-    List<Map<String, Object>> getProcedureRealTimeProgressList(Integer companyId,String deptId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
+    List<Map<String, Object>> getProcedureRealTimeProgressList(Integer companyId,String deptId, String foremanId,String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
 
-    Integer getProcedureRealTimeProgressCount(Integer companyId, String deptId, String userId, String startDate, String endDate);
+    Integer getProcedureRealTimeProgressCount(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate);
 
-    List<Map<String, Object>> workReportQuery(Integer companyId,Integer productId, String vehicleNum,String steelNum, Integer deptId, String userId, String startDate, String endDate,Integer pageStart, Integer pageSize);
+    List<Map<String, Object>> workReportQuery(Integer companyId,Integer productId, String vehicleNum,String steelNum, Integer deptId, String foremanId, String userId, String startDate, String endDate,Integer pageStart, Integer pageSize);
 
-    Integer selectCountForWorkQuery(Integer companyId, Integer productId, String vehicleNum, String steelNum, Integer deptId, String userId, String startDate, String endDate);
+    Integer selectCountForWorkQuery(Integer companyId, Integer productId, String vehicleNum, String steelNum, Integer deptId, String foremanId, String userId, String startDate, String endDate);
 
-    List<Map<String, Object>> getPlanRealTimeProgressList(Integer companyId, String deptId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
+    List<Map<String, Object>> getPlanRealTimeProgressList(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
 
-    Integer getPlanRealTimeProgressCount(Integer companyId, String deptId, String userId, String startDate, String endDate);
+    Integer getPlanRealTimeProgressCount(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate);
 
-    List<Map<String, Object>> getDpetStatisticsProgressList(Integer companyId, String deptId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
+    List<Map<String, Object>> getDpetStatisticsProgressList(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
 
-    Integer getDpetStatisticsProgressCount(Integer companyId, String deptId, String userId, String startDate, String endDate);
+    Integer getDpetStatisticsProgressCount(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate);
 }

+ 53 - 9
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -4203,6 +4203,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     public HttpRespMsg getPersonWorkHoursWagesList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         HashMap resultMap=new HashMap();
+        Integer pageStart = null;
+        if (pageIndex!=null){
+            pageStart = (pageIndex -1) * pageSize;
+        }
         DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DateTimeFormatter dtf1=DateTimeFormatter.ofPattern("yyyyMMdd");
         List<LocalDate> dateList = getDays(LocalDate.parse(startDate, dtf), LocalDate.parse(endDate, dtf));
@@ -4237,7 +4241,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             targetUserIds.add("-1");
             queryWrapper.in("id",targetUserIds);
         }
-        IPage<User> userIPage = userMapper.selectPage(new Page<>(pageIndex, pageSize), queryWrapper);
+        IPage<User> userIPage = userMapper.selectPage(new Page<>(pageStart, pageSize), queryWrapper);
         List<User> userList = userIPage.getRecords();
         userList.forEach(u->{
             List<Map<String, Object>> mapList = personWorkHoursWagesList.stream().filter(pl -> pl.get("userId").equals(u.getId())).collect(Collectors.toList());
@@ -4423,14 +4427,25 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Override
     public HttpRespMsg getProcedureRealTimeProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
+        User user = userMapper.selectById(request.getHeader("token"));
+        boolean canViewAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部工序实时进度");
         Integer pageStart = null;
         if (pageIndex!=null){
             pageStart = (pageIndex -1) * pageSize;
         }
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         HashMap map=new HashMap();
-        List<Map<String, Object>> planRealTimeProgressList = reportMapper.getProcedureRealTimeProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
-        Integer total=reportMapper.getProcedureRealTimeProgressCount(companyId, deptId, userId, startDate, endDate);
+        List<Map<String, Object>> planRealTimeProgressList;
+        Integer total;
+        if(!canViewAll){
+            planRealTimeProgressList = reportMapper.getProcedureRealTimeProgressList(companyId, deptId,user.getId(), userId, startDate, endDate, pageStart, pageSize);
+            total=reportMapper.getProcedureRealTimeProgressCount(companyId, deptId,user.getId(), userId, startDate, endDate);
+        }else {
+            planRealTimeProgressList = reportMapper.getProcedureRealTimeProgressList(companyId, deptId,null, userId, startDate, endDate, pageStart, pageSize);
+            total=reportMapper.getProcedureRealTimeProgressCount(companyId, deptId,null, userId, startDate, endDate);
+        }
+
+
         map.put("records",planRealTimeProgressList);
         map.put("total",total);
         httpRespMsg.setData(map);
@@ -4473,14 +4488,24 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Override
     public HttpRespMsg workReportQuery(Integer productId, String vehicleNum, String steelNum, Integer deptId, String userId, String startDate, String endDate,Integer pageIndex,Integer pageSize) {
         HttpRespMsg msg=new HttpRespMsg();
+        User user = userMapper.selectById(request.getHeader("token"));
+        boolean canViewAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部报工");
         Integer pageStart = null;
         if (pageIndex!=null){
             pageStart = (pageIndex -1) * pageSize;
         }
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         Map map=new HashMap();
-        List<Map<String,Object>> mapList=reportMapper.workReportQuery(companyId,productId,vehicleNum,steelNum,deptId,userId,startDate,endDate,pageStart,pageSize);
-        Integer total = reportMapper.selectCountForWorkQuery(companyId, productId, vehicleNum, steelNum, deptId, userId, startDate, endDate);
+        List<Map<String,Object>> mapList;
+        Integer total;
+        if(!canViewAll){
+            mapList=reportMapper.workReportQuery(companyId,productId,vehicleNum,steelNum,deptId,user.getId(),userId,startDate,endDate,pageStart,pageSize);
+            total = reportMapper.selectCountForWorkQuery(companyId, productId, vehicleNum, steelNum, deptId,user.getId(), userId, startDate, endDate);
+        }else {
+            mapList=reportMapper.workReportQuery(companyId,productId,vehicleNum,steelNum,deptId,null,userId,startDate,endDate,pageStart,pageSize);
+            total = reportMapper.selectCountForWorkQuery(companyId, productId, vehicleNum, steelNum, deptId,null, userId, startDate, endDate);
+        }
+
         map.put("records",mapList);
         map.put("total",total);
         msg.setData(map);
@@ -4529,6 +4554,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Override
     public HttpRespMsg getPlanRealTimeProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
+        User user = userMapper.selectById(request.getHeader("token"));
+        boolean canViewAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部计划实时进度");
         NumberFormat format = NumberFormat.getPercentInstance();
         format.setMinimumFractionDigits(2);
         Integer pageStart = null;
@@ -4536,8 +4563,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             pageStart = (pageIndex -1) * pageSize;
         }
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<Map<String, Object>> planRealTimeProgressList;
+        Integer total;
         HashMap map=new HashMap();
-        List<Map<String, Object>> planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
+        if(!canViewAll){
+            planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId,user.getId(), userId, startDate, endDate, pageStart, pageSize);
+            total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId,user.getId(), userId, startDate, endDate);
+        }else {
+            planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId,null, userId, startDate, endDate, pageStart, pageSize);
+            total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId,null, userId, startDate, endDate);
+        }
         planRealTimeProgressList.forEach(pt->{
             BigDecimal planWorkTime = new BigDecimal(pt.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("planWorkTime"))));
             BigDecimal nowWorkTime = new BigDecimal(pt.get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("nowWorkTime"))));
@@ -4546,7 +4581,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 pt.put("progress",format.format(divide.doubleValue()));
             }
         });
-        Integer total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId, userId, startDate, endDate);
+
         map.put("records",planRealTimeProgressList);
         map.put("total",total);
         httpRespMsg.setData(map);
@@ -4587,6 +4622,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Override
     public HttpRespMsg getDpetStatisticsProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
+        User user = userMapper.selectById(request.getHeader("token"));
+        boolean canViewAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部部门生产统计");
         NumberFormat format = NumberFormat.getPercentInstance();
         format.setMinimumFractionDigits(2);
         Integer pageStart = null;
@@ -4595,7 +4632,15 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         }
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         HashMap map=new HashMap();
-        List<Map<String, Object>> dpetStatisticsProgressList = reportMapper.getDpetStatisticsProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
+        List<Map<String, Object>> dpetStatisticsProgressList;
+        Integer total;
+        if(!canViewAll){
+            dpetStatisticsProgressList = reportMapper.getDpetStatisticsProgressList(companyId, deptId,user.getId(), userId, startDate, endDate, pageStart, pageSize);
+            total=reportMapper.getDpetStatisticsProgressCount(companyId, deptId,user.getId(), userId, startDate, endDate);
+        }else {
+            dpetStatisticsProgressList = reportMapper.getDpetStatisticsProgressList(companyId, deptId,null, userId, startDate, endDate, pageStart, pageSize);
+            total=reportMapper.getDpetStatisticsProgressCount(companyId, deptId,null, userId, startDate, endDate);
+        }
         dpetStatisticsProgressList.forEach(pt->{
             BigDecimal planWorkTime = new BigDecimal(pt.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("planWorkTime"))));
             BigDecimal nowWorkTime = new BigDecimal(pt.get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("nowWorkTime"))));
@@ -4604,7 +4649,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 pt.put("progress",format.format(divide.doubleValue()));
             }
         });
-        Integer total=reportMapper.getDpetStatisticsProgressCount(companyId, deptId, userId, startDate, endDate);
         map.put("records",dpetStatisticsProgressList);
         map.put("total",total);
         httpRespMsg.setData(map);

+ 24 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml

@@ -194,6 +194,9 @@
         <if test="deptId!=null and deptId!=''">
             and b.station_id=#{deptId}
         </if>
+        <if test="foremanId!=null and foremanId!=''">
+            and b.foreman_id=#{foremanId}
+        </if>
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>
@@ -219,6 +222,9 @@
         <if test="deptId!=null and deptId!=''">
             and b.station_id=#{deptId}
         </if>
+        <if test="foremanId!=null and foremanId!=''">
+            and b.foreman_id=#{foremanId}
+        </if>
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>
@@ -245,6 +251,9 @@
             <if test="deptId!=null and deptId!=''">
                 and pn.station_id=#{deptId}
             </if>
+            <if test="foremanId!=null and foremanId!=''">
+                and pn.foreman_id=#{foremanId}
+            </if>
             <if test="userId!=null and userId!=''">
                 and r.creator_id=#{userId}
             </if>
@@ -283,6 +292,9 @@
             <if test="deptId!=null and deptId!=''">
                 and pn.station_id=#{deptId}
             </if>
+            <if test="foremanId!=null and foremanId!=''">
+                and pn.foreman_id=#{foremanId}
+            </if>
             <if test="userId!=null and userId!=''">
                 and r.creator_id=#{userId}
             </if>
@@ -316,6 +328,9 @@
         <if test="deptId!=null and deptId!=''">
             and b.station_id=#{deptId}
         </if>
+        <if test="foremanId!=null and foremanId!=''">
+            and b.foreman_id=#{foremanId}
+        </if>
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>
@@ -344,6 +359,9 @@
         <if test="deptId!=null and deptId!=''">
             and b.station_id=#{deptId}
         </if>
+        <if test="foremanId!=null and foremanId!=''">
+            and b.foreman_id=#{foremanId}
+        </if>
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>
@@ -370,6 +388,9 @@
         <if test="deptId!=null and deptId!=''">
             and b.station_id=#{deptId}
         </if>
+        <if test="foremanId!=null and foremanId!=''">
+            and b.foreman_id=#{foremanId}
+        </if>
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>
@@ -399,6 +420,9 @@
         <if test="deptId!=null and deptId!=''">
             and b.station_id=#{deptId}
         </if>
+        <if test="foremanId!=null and foremanId!=''">
+            and b.foreman_id=#{foremanId}
+        </if>
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>