فهرست منبع

1.月考勤页面中增加显示工作时长。

zhengqiang 3 سال پیش
والد
کامیت
84beb92c5a

+ 2 - 0
common/src/main/java/com/jpsoft/shinestar/modules/business/dao/WorkScheduleAttendanceDAO.java

@@ -55,4 +55,6 @@ public interface WorkScheduleAttendanceDAO {
     List<WorkScheduleAttendance> findEmptyWorkMinuteList(@Param("limit") int limit);
 
     int updateWorkMinute(WorkScheduleAttendance wsa);
+
+	double findSumWorkMinuteByParams(Long personId, Date startDate, Date endDate, Map<String, Object> searchParams);
 }

+ 2 - 1
common/src/main/java/com/jpsoft/shinestar/modules/business/dto/PersonInfoMonthWSADTO.java

@@ -43,5 +43,6 @@ public class PersonInfoMonthWSADTO {
     private String companyName;
     @ApiModelProperty(value = "备注,每月排班")
     private String remark;
-
+    @ApiModelProperty(value = "工作时长")
+    private String workTimes;
 }

+ 2 - 0
common/src/main/java/com/jpsoft/shinestar/modules/business/service/WorkScheduleAttendanceService.java

@@ -83,4 +83,6 @@ public interface WorkScheduleAttendanceService {
 	List<WorkScheduleAttendance> findByPersonScheduleIdAndClassify(String personScheduleId, String workShiftId, String classify);
 
 	int updateWorkMinute(WorkScheduleAttendance wsa);
+
+    BigDecimal findSumWorkMinuteByParams(Long personId, Date startDate, Date endDate,Map<String, Object> searchParams);
 }

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

@@ -1280,4 +1280,10 @@ public class WorkScheduleAttendanceServiceImpl implements WorkScheduleAttendance
     public int updateWorkMinute(WorkScheduleAttendance wsa) {
         return workScheduleAttendanceDAO.updateWorkMinute(wsa);
     }
+
+    @Override
+    public BigDecimal findSumWorkMinuteByParams(Long personId, Date startDate, Date endDate, Map<String, Object> searchParams) {
+        double workMinute = workScheduleAttendanceDAO.findSumWorkMinuteByParams(personId, startDate, endDate, searchParams);
+        return new BigDecimal(workMinute);
+    }
 }

+ 15 - 2
common/src/main/resources/mapper/business/WorkScheduleAttendance.xml

@@ -328,8 +328,6 @@
         <if test="searchParams.noResult != null">
             AND result_ != #{searchParams.noResult}
         </if>
-        ORDER BY
-        attendance_date,record_time
     </select>
 
     <select id="findByPersonIdRecordTimeResult" resultMap="WorkScheduleAttendanceMap">
@@ -675,4 +673,19 @@
         order by record_time asc
         limit ${limit}
     </select>
+    <select id="findSumWorkMinuteByParams" resultType="java.lang.Double">
+        SELECT COALESCE(sum(work_minute),0)
+        FROM
+        business_work_schedule_attendance
+        WHERE del_flag = 0
+        and person_id = #{personId}
+        and work_minute>0
+        <![CDATA[
+            and attendance_date >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
+            and attendance_date <= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
+        ]]>
+        <if test="searchParams.classify != null">
+            AND classify_ = #{searchParams.classify}
+        </if>
+    </select>
 </mapper>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 265 - 264
web/src/main/java/com/jpsoft/shinestar/modules/business/controller/WorkScheduleAttendanceController.java


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است