Browse Source

异常处理

ysh 3 years ago
parent
commit
f4fe72f4db

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/controller/viewClockInController.java

@@ -381,12 +381,15 @@ public class viewClockInController extends JeecgController<ViewClockIn, IviewClo
 			 if(!bdClockinMonthService.ifClose(nowDate)){
 				 return Result.error("当前月份已关账,无法此操作");
 			 }
+
 			 DateFormat sdf = new SimpleDateFormat("yyyy-MM");
 
 			 if(new Date().before(sdf.parse(nowDate))){
 				 return Result.error("不能操作未发生的考勤月份");
 			 }
 
+
+
 //			 String[] date = nowDate.split("-");
 			 String userIds = jsonObject.getString("userIds");
 			 List<String> userList = new ArrayList<>();
@@ -403,7 +406,21 @@ public class viewClockInController extends JeecgController<ViewClockIn, IviewClo
 					}
 				 }
 			 }
+			 List<Map<String,Object>> map1 = viewClockInService.selectByOvertime(nowDate,userList);
+			 if(map1.size() > 0){
+			 	int i = 0;
+			 	StringBuffer sb = new StringBuffer();
+			 	for(Map<String,Object> m:map1){
+			 		i++;
+					sb.append("工号:"+m.get("person"));
+					sb.append("/"+m.get("overTime")+"加班信息还未处理,无法生成月报");
+					if(i > 10){
+						break;
+					}
+				}
 
+				return Result.error(sb.toString());
+			 }
 			 bdClockinMonthService.handleInfo(nowDate,userList);
 		 } catch (Exception e) {
 			 log.error(e.getMessage(), e);

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/mapper/viewClockInMapper.java

@@ -27,6 +27,8 @@ public interface viewClockInMapper extends BaseMapper<ViewClockIn> {
 
     int updateOvertime(String st,String id,String username);
 
+    List<Map<String,Object>> selectByOvertime(@Param("monthTime") String monthTime,@Param("userList")List<String> userList);
+
     List<Map<String,Object>> selectErrorNum(@Param("viewDate") String viewDate, @Param("deptCode")String deptCode);
 
     List<Map<String,Object>> selectUserError(@Param("viewDate") String viewDate, @Param("deptCode")String deptCode);

+ 15 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/mapper/xml/viewClockInMapper.xml

@@ -151,4 +151,19 @@
         </if>
 
     </select>
+    
+    <select id="selectByOvertime" resultType="Map">
+
+        select person,date_format(begin_date, '%Y-%m-%d') as overTime from bd_work_overtime where #{monthTime}
+            BETWEEN date_format(begin_date, '%Y-%m' ) AND date_format(end_date, '%Y-%m' )
+            and set_info is null
+        <if test="userList != null and userList != '' and userList.size >0">
+            and person in(
+            <foreach collection="userList" item="item" index="index" separator=",">
+                #{item}
+            </foreach>
+            )
+        </if>
+    </select>
+    
 </mapper>

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/service/IviewClockInService.java

@@ -9,6 +9,7 @@ import org.jeecg.modules.viewClockIn.entity.ViewClockIn;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 员工考勤日报
@@ -23,4 +24,6 @@ public interface IviewClockInService extends IService<ViewClockIn> {
     public Page<ViewClockIn> selectPage(Page<ViewClockIn> page);
     public List<ExportClockInfo> exportErrotInfo(String realname , String headMonth, String userType);
     public List<ExportClockDay> exportXlsDay(ExportClockDay viewClockIn);
+    //查询当月是否有为处理的加班信息
+    public List<Map<String,Object>> selectByOvertime(String monthTime,List<String> userList);
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/service/impl/bdClockinMonthServiceImpl.java

@@ -47,7 +47,7 @@ public class bdClockinMonthServiceImpl extends ServiceImpl<bdClockinMonthMapper,
 
         String[] date = nowDate.split("-");
         clockinMonthMapper.deleteByMonth(nowDate,userList);//删除之前生成的月报
-        List<StatutoryLeave>  leaveList = clockinMonthMapper.getStatutoryLeave(nowDate);
+//        List<StatutoryLeave>  leaveList = clockinMonthMapper.getStatutoryLeave(nowDate);
         for(bdClockinMonth o:list){
 
             if(o.getSyU8() != null && (o.getSyU8().equals(1) || o.getSyU8() == 1)){

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/service/impl/viewClockInServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 员工考勤日报
@@ -28,6 +29,11 @@ public class viewClockInServiceImpl extends ServiceImpl<viewClockInMapper, ViewC
     @Autowired
     private viewClockInMapper viewClockInMapper1;
 
+
+    public List<Map<String,Object>> selectByOvertime(String monthTime,List<String> userList){
+        return viewClockInMapper1.selectByOvertime(monthTime,userList);
+    }
+
     public int fuXinInfo(String st,String userId,String viewDate,String username) {
         return viewClockInMapper1.fuXinInfo(st,userId,viewDate,username);
     }