From 13a05b1050b8180b3b4791800932c2f47058beee Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Fri, 29 Mar 2024 17:46:37 +0800 Subject: [PATCH] =?UTF-8?q?#E10-16#=20=E7=BB=A9=E6=95=88=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=81=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=85=A5=E8=81=8C=E6=97=B6=E9=97=B4=E5=B1=95=E7=A4=BA=E5=B9=B4?= =?UTF-8?q?=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcldoor/cmd/PortalPerformanceInfoCmd.java | 57 +++++++++++++++---- .../seconddev/jcldoor/cmd/UserInfoCmd.java | 22 ++++++- 2 files changed, 67 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/weaver/seconddev/jcldoor/cmd/PortalPerformanceInfoCmd.java b/src/main/java/com/weaver/seconddev/jcldoor/cmd/PortalPerformanceInfoCmd.java index 3ed04f2..b2788af 100644 --- a/src/main/java/com/weaver/seconddev/jcldoor/cmd/PortalPerformanceInfoCmd.java +++ b/src/main/java/com/weaver/seconddev/jcldoor/cmd/PortalPerformanceInfoCmd.java @@ -132,6 +132,8 @@ public class PortalPerformanceInfoCmd { String period_month = "" ; String score = "0.0"; String kpi_scheme = ""; + String real_period = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); String nowDate = sdf.format(new Date())+"-01"; Map scoreMap = getLastScore(nowDate); @@ -162,15 +164,52 @@ public class PortalPerformanceInfoCmd { if (CollectionUtils.isNotEmpty(recordList)) { Map recordMap = recordList.get(0); if (!recordMap.isEmpty()) { - kpi_scheme = String.valueOf(recordMap.get("kpi_scheme")); + kpi_scheme = String.valueOf(recordMap.get("scheme_id")); } } } log.error("kpi_scheme:"+kpi_scheme); - dataMap.put("score", score); - dataMap.put("yearmonth", period_month); - dataMap.put("real_period", period_month); - dataMap.put("kpi_scheme", kpi_scheme); + if(StringUtils.isNotBlank(kpi_scheme)){ + dataMap.put("score", score); + dataMap.put("yearmonth", period_month); + dataMap.put("real_period", period_month); + dataMap.put("kpi_scheme", kpi_scheme); + }else{ + String sql =" select left(k.real_period,10) as real_period,left(k.real_period,7) as period_month,k.kpi_scheme,k.score\n" + + " from (select real_period,kpi_scheme,score\n" + + " from hr_kpi_flow \n" + + " where kpi_user=? \n" + + " and module = 'kpiFlow' \n" + + " and date_type = 'month' \n" + + " and delete_type = '0' " + + " and tenant_key=?\n" + + " order by real_period desc\n" + + ") k limit 1 "; + + log.error("sql20-1:" + sql); + + List strlist = new ArrayList<>(100); + strlist.add(employeeId); + strlist.add(tenant_key); + + List sqlparam = databaseUtils.getSqlParamEntity(strlist); + Map result = databaseUtils.executeForQuery(sourceType, groupId, sql, sqlparam); + List> recordList = databaseUtils.getDataSourceList(result); + if (CollectionUtils.isNotEmpty(recordList)) { + Map recordMap = recordList.get(0); + if (!recordMap.isEmpty()) { + score = String.valueOf(recordMap.get("score")); + kpi_scheme = String.valueOf(recordMap.get("kpi_scheme")); + real_period = String.valueOf(recordMap.get("real_period")); + period_month = String.valueOf(recordMap.get("period_month")); + + dataMap.put("score", score); + dataMap.put("yearmonth", period_month); + dataMap.put("kpi_scheme", kpi_scheme); + dataMap.put("real_period", real_period); + } + } + } }catch (Exception e){ e.printStackTrace(); @@ -485,11 +524,9 @@ public class PortalPerformanceInfoCmd { if (flowDataList.size() > 0) { FlowDataListRes flowDataListRes = flowDataList.get(0); float Score = flowDataListRes.getScore(); - if(Math.abs(Score) > 0){ - score = String.valueOf(Score); - period_month = startDay.substring(0,7); - break; - } + score = String.valueOf(Score); + period_month = startDay.substring(0,7); + break; } } } catch (Exception e) { diff --git a/src/main/java/com/weaver/seconddev/jcldoor/cmd/UserInfoCmd.java b/src/main/java/com/weaver/seconddev/jcldoor/cmd/UserInfoCmd.java index a9b4832..6323bb0 100644 --- a/src/main/java/com/weaver/seconddev/jcldoor/cmd/UserInfoCmd.java +++ b/src/main/java/com/weaver/seconddev/jcldoor/cmd/UserInfoCmd.java @@ -21,6 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.Period; +import java.time.temporal.ChronoUnit; import java.util.*; /** @@ -62,7 +65,7 @@ public class UserInfoCmd { String userimageurl = "/profile/" + userid + "/personal"; String department = ""; String position = ""; - int days = 0; + String days = ""; String doccreate = "0"; String wfcreate = "0"; String wfdeal = "0"; @@ -111,7 +114,7 @@ public class UserInfoCmd { position = CommonUtils.null2String(recordMap.get("position")); String hiredate = CommonUtils.null2String(recordMap.get("hiredate")); if (!"".equals(hiredate)) { - days = calculateMinute(hiredate); + days = calculateMinute2(hiredate); } //文档创建 doccreate = getDocCreateNum(userid); @@ -230,6 +233,21 @@ public class UserInfoCmd { return day; } + + public static String calculateMinute2(String sdate) throws ParseException { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String nowDate = sdf.format(new Date()); + Period period = Period.between(LocalDate.parse(sdate), LocalDate.parse(nowDate)); + int p_year = period.getYears() ; + + LocalDate date = LocalDate.parse(sdate); + LocalDate p_day = date.plusYears(p_year); + long days = ChronoUnit.DAYS.between(p_day, LocalDate.parse(nowDate)); + String rzsj = p_year+"年"+days ; + return rzsj; + } + public static boolean isTimestampFormat(String inputDate) { // 使用 simpleDateFormat 尝试将输入日期解析为时间戳格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");