@ -2,24 +2,26 @@ package com.engine.kqsolution.service.impl;
import cn.hutool.core.thread.ThreadUtil ;
import cn.hutool.core.util.StrUtil ;
import com.engine.core.impl.Service ;
import com.engine.kqsolution.entity.SignDataPO ;
import com.engine.kqsolution.entity.SignDataParams ;
import com.engine.kqsolution.service.SignDataSummaryService ;
import dm.jdbc.util.StringUtil ;
import lombok.SneakyThrows ;
import org.apache.commons.collections.CollectionUtils ;
import org.apache.commons.lang.StringUtils ;
import weaver.conn.RecordSet ;
import weaver.conn.RecordSetTrans ;
import weaver.general.BaseBean ;
import weaver.general.Util ;
import weaver.hrm.resource.ResourceComInfo ;
import java.text.DecimalFormat ;
import java.time.LocalDate ;
import java.time.format.DateTimeFormatter ;
import java.util.* ;
import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
import java.util.concurrent.ExecutorService ;
/ * *
@ -54,11 +56,19 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
String resourceId = String . valueOf ( signDataPo . getResourceId ( ) ) ;
Integer signMins = Util . getIntValue ( signDataPo . getSignMins ( ) , 0 ) ;
double hours = ( double ) signMins / 60 ;
double workHours = 0 ;
if ( hours > = 4 & & hours < 8 ) {
workHours = 4 ;
} else if ( hours > = 8 & & hours < 11 ) {
workHours = 8 ;
} else if ( hours > = 11 ) {
workHours = 11 ;
}
signDataPo . setCompany ( Integer . parseInt ( rcom . getSubCompanyID ( resourceId ) ) ) ;
signDataPo . setDepartment ( Integer . parseInt ( rcom . getDepartmentID ( resourceId ) ) ) ;
signDataPo . setJobTitle ( Integer . parseInt ( rcom . getJobTitle ( resourceId ) ) ) ;
signDataPo . setSignHours ( Double . parseDouble ( decimalFormat . format ( hours ) ) ) ;
signDataPo . setWorkHours ( Double . parseDouble ( decimalFormat . format ( hours ) ) ) ;
signDataPo . setWorkHours ( Double . parseDouble ( decimalFormat . format ( workH ours) ) ) ;
}
} ) ;
@ -101,8 +111,10 @@ public class SignDataSummaryServiceImpl extends Service implements SignDataSumma
private List < SignDataPO > buildSignData ( SignDataParams signDataParams ) {
RecordSet rs = new RecordSet ( ) ;
List < SignDataPO > pos = new ArrayList < > ( ) ;
String formatYearMonth = signDataParams . getAttendanceDate ( ) . substring ( 0 , 7 ) ;
String formatYearMonth = getFormatLocalDate ( LocalDate . now ( ) , MONTH_FORMATTER_PATTERN ) ;
if ( StringUtil . isNotEmpty ( signDataParams . getAttendanceDate ( ) ) ) {
formatYearMonth = signDataParams . getAttendanceDate ( ) . substring ( 0 , 7 ) ;
}
if ( CollectionUtils . isNotEmpty ( signDataParams . getIds ( ) ) ) {
String ids = StringUtils . join ( signDataParams . getIds ( ) , "," ) ;
rs . executeQuery ( "select u.id,u.xm,u.kqrq,u.kqy,k.signindate,k.signintime,k.signoutdate,k.signouttime,k.signMins from uf_kqgs u inner join kq_format_detail k" +