Sfoglia il codice sorgente

增加加班人及最小加班时间查询。

zhengqiang 3 anni fa
parent
commit
62f0a377c5

+ 4 - 2
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/WorkScheduleAttendanceServiceImpl.java

@@ -985,8 +985,10 @@ public class WorkScheduleAttendanceServiceImpl implements WorkScheduleAttendance
 
             //加班时如果是下班则考勤截止时间顺延
             if ("2".equals(classify)){
-                if(workOver!=null && workOver.getHours()!=null) {
-                    endTime = endTime.plusHours(workOver.getHours());
+                if(workOver!=null) {
+                    if(workOver.getHours()!=null) {
+                        endTime = endTime.plusHours(workOver.getHours());
+                    }
                 }
             }
 

+ 17 - 2
common/src/main/resources/mapper/base/WorkOver.xml

@@ -229,13 +229,28 @@
 				and g.code_ like #{searchParams.hqCompanyCode}
 			</if>
 			<if test="searchParams.hqStatus != null">
-			and c.hq_status = #{searchParams.hqStatus}
-		</if>
+				and c.hq_status = #{searchParams.hqStatus}
+			</if>
 			<if test="searchParams.hqStatus == null and searchParams.hqPerson != null">
 				<![CDATA[
 					and ifnull(c.hq_status,0)<>0
 				]]>
 			</if>
+			<if test="searchParams.hours != null">
+				<![CDATA[
+					and a.hours_ >= #{searchParams.hours}
+				]]>
+			</if>
+			<if test="searchParams.workOverPersonName != null">
+				<![CDATA[
+					and a.id_ in (
+						select wop.work_over_id from base_work_over_person wop
+						inner join base_person_popedom bpp on wop.person_popedom_id = bpp.id_
+						inner join base_person_info bpi on bpp.person_id = bpi.id_
+						where bpi.name_ like #{searchParams.workOverPersonName}
+					)
+				]]>
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

+ 13 - 1
web/src/main/java/com/jpsoft/shinestar/modules/base/controller/WorkOverController.java

@@ -297,7 +297,9 @@ public class WorkOverController {
             @ApiImplicitParam(name = "endTime", value = "加班结束日期", paramType = "form"),
             @ApiImplicitParam(name = "auditStartTime", value = "审核开始日期", paramType = "form"),
             @ApiImplicitParam(name = "auditEndTime", value = "审核结束日期", paramType = "form"),
-            @ApiImplicitParam(name = "exportXls", value = "导出报表", paramType = "form")
+            @ApiImplicitParam(name = "exportXls", value = "导出报表", paramType = "form"),
+            @ApiImplicitParam(name = "hours", value = "加班时长", paramType = "form"),
+            @ApiImplicitParam(name = "workOverPersonName", value = "加班人", paramType = "form")
     })
     public MessageResult<Object> pageList(
             @RequestParam(value="companyId",defaultValue="") String companyId,
@@ -313,6 +315,8 @@ public class WorkOverController {
             @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex,
             @RequestParam(value = "pageSize", defaultValue = "20") int pageSize,
             @RequestParam(value = "exportFlag", defaultValue = "false") Boolean exportFlag,
+            @RequestParam(value = "hours", defaultValue = "") Integer hours,
+            @RequestParam(value = "workOverPersonName", defaultValue = "") String workOverPersonName,
             @RequestAttribute String subject){
 
         //当前用户ID
@@ -392,6 +396,14 @@ public class WorkOverController {
             searchParams.put("auditEndTime", new DateTime(auditEndTime).plusDays(1).plusSeconds(-1).toDate());
         }
 
+        if (hours!=null) {
+            searchParams.put("hours", hours);
+        }
+
+        if(StringUtils.isNotEmpty(workOverPersonName)){
+            searchParams.put("workOverPersonName", "%" + workOverPersonName + "%");
+        }
+
         Page<WorkOver> page = workOverService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
 
         for(WorkOver wo : page.getResult()){