From bd27deb41279c438b9cad82402b154ffab909557 Mon Sep 17 00:00:00 2001 From: yujintao Date: Fri, 13 Dec 2019 17:18:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=88=B0=E6=89=93=E5=88=86=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=88=E6=9C=AA=E6=B5=8B=E8=AF=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/NumConstant.java | 11 +- .../commons/tools/constant/StrConstant.java | 39 + .../epdc/commons/tools/utils/DateUtils.java | 5 + .../commons/tools/utils/LocalDateUtils.java | 46 + .../KpiManualScoreTemplateResultDTO.java | 11 +- .../elink/esua/epdc/enums/KpiCycleEnum.java | 68 +- .../controller/KpiManualScoreController.java | 18 +- .../KpiManualScoreTempController.java | 94 -- .../esua/epdc/dao/KpiManualScoreDao.java | 30 +- .../esua/epdc/dao/KpiManualScoreTempDao.java | 44 - .../epdc/entity/KpiManualScoreEntity.java | 5 +- .../epdc/entity/KpiManualScoreTempEntity.java | 47 +- .../service/KpiManualScoreTempService.java | 95 -- .../impl/KpiManualScoreServiceImpl.java | 819 +++++++++--------- .../impl/KpiManualScoreTempServiceImpl.java | 104 --- .../resources/mapper/KpiManualScoreDao.xml | 165 ++-- .../mapper/KpiManualScoreTempDao.xml | 86 -- 17 files changed, 702 insertions(+), 985 deletions(-) create mode 100644 esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java create mode 100644 esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java delete mode 100644 esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java delete mode 100644 esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java delete mode 100644 esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreTempService.java delete mode 100644 esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreTempServiceImpl.java delete mode 100644 esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreTempDao.xml diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java index dc987077c..4bfe6b95b 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java @@ -9,17 +9,20 @@ package com.elink.esua.epdc.commons.tools.constant; */ public interface NumConstant { + int TWO_NEG = -2; + int ONE_NEG = -1; int ZERO = 0; int ONE = 1; int TWO = 2; int THREE = 3; int FOUR = 4; int SIX = 6; - - int ONE_NEG = -1; - int TWO_NEG = -2; - + int SEVEN = 7; + int EIGHT = 8; + int NINE = 9; int TEN = 10; + int ELEVEN = 11; + int FIFTEEN = 15; int TWENTY = 20; int THIRTY = 30; diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java new file mode 100644 index 000000000..f8dd9558c --- /dev/null +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java @@ -0,0 +1,39 @@ +package com.elink.esua.epdc.commons.tools.constant; + +import org.apache.commons.codec.CharEncoding; +import org.springframework.http.MediaType; + + +/** + * 字符串常量 + * + * @author work@yujt.net.cn + * @date 2019/12/13 11:19 + */ +public interface StrConstant { + + String UTF_8 = CharEncoding.UTF_8; + + String ISO_8859_1 = CharEncoding.ISO_8859_1; + + String APPLICATION_JSON_UTF8_VALUE = MediaType.APPLICATION_JSON_UTF8_VALUE; + + String EXCEL_SUFFIX_2003 = ".xls"; + + String EXCEL_SUFFIX_2007 = ".xlsx"; + + /** + * 连字符号、短杠 + */ + String HYPHEN = "-"; + + /** + * 英文逗号 + */ + String COMMA = ","; + + /** + * 冒号 + */ + String COLON = ":"; +} diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java index 3789283f4..0de5d2834 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java @@ -25,11 +25,16 @@ import java.util.Date; * @since 1.0.0 */ public class DateUtils { + /** 时间格式(yyyy-MM-dd) */ public final static String DATE_PATTERN = "yyyy-MM-dd"; + /** 时间格式(yyyy-MM-dd HH:mm:ss) */ public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; + /** 时间格式(yyyyMMddHHmmss) */ + public final static String DATE_TIME_NO_SPLIT = "yyyyMMddHHmmss"; + /** * 日期格式化 日期格式为:yyyy-MM-dd * @param date 日期 diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java new file mode 100644 index 000000000..c026ff4c5 --- /dev/null +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java @@ -0,0 +1,46 @@ +package com.elink.esua.epdc.commons.tools.utils; + + +import java.time.*; +import java.util.Date; + +/** + * @author work@yujt.net.cn + * @date 2019/12/13 15:05 + */ +public class LocalDateUtils { + + + public static LocalDateTime DateToLocalDateTime(Date date) { + Instant instant = date.toInstant(); + ZoneId zone = ZoneId.systemDefault(); + return LocalDateTime.ofInstant(instant, zone); + } + + public static LocalDate DateToLocalDate(Date date) { + Instant instant = date.toInstant(); + ZoneId zone = ZoneId.systemDefault(); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); + return localDateTime.toLocalDate(); + } + + public static LocalTime DateToLocalTime(Date date) { + Instant instant = date.toInstant(); + ZoneId zone = ZoneId.systemDefault(); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); + return localDateTime.toLocalTime(); + } + + public static Date LocalDateTimeToDate(LocalDateTime localDateTime) { + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDateTime.atZone(zone).toInstant(); + return Date.from(instant); + } + + public static Date LocalDateToDate(LocalDate localDate) { + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); + return Date.from(instant); + } + +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java index cd5d571cb..04c26d40f 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java @@ -12,6 +12,7 @@ import java.util.Date; */ @Data public class KpiManualScoreTemplateResultDTO implements Serializable { + private static final long serialVersionUID = 3228442740296126765L; /** * 规则名称 @@ -43,16 +44,6 @@ public class KpiManualScoreTemplateResultDTO implements Serializable { */ private String kpiCycleName; - /** - * 考核起止日期 - */ - private String scoreStartTime; - - /** - * 考核终止日期 - */ - private String scoreEndTime; - /** * 得分 */ diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java index 476e9196c..cf1696cc0 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java @@ -1,44 +1,40 @@ package com.elink.esua.epdc.enums; /** - * @Auther: yinzuomei + * @author: yinzuomei * @Date: 2019/12/5 12:41 * @Description: 考核周期枚举 */ public enum KpiCycleEnum { - /** - * 月month quarter year - */ - KPI_CYCLE_MONTH("month","月"), - /** - * 季 - */ - KPI_CYCLE_QUARTER("quarter","季"), - /** - * 年 - */ - KPI_CYCLE_YEAR("year","年"); - private String value; - private String name; - - KpiCycleEnum(String value, String name) { - this.value = value; - this.name = name; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } + /** + * 月month quarter year + */ + KPI_CYCLE_MONTH("month", "月"), + /** + * 季 + */ + KPI_CYCLE_QUARTER("quarter", "季"), + /** + * 年 + */ + KPI_CYCLE_YEAR("year", "年"); + + private String value; + + private String name; + + KpiCycleEnum(String value, String name) { + this.value = value; + this.name = name; + } + + public String getValue() { + return value; + } + + + public String getName() { + return name; + } + } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java index 9e0763fb8..a3c25b29f 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.AssertUtils; @@ -36,7 +37,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; @@ -54,36 +54,35 @@ public class KpiManualScoreController { @Autowired private KpiManualScoreService kpiManualScoreService; - private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式 + @GetMapping("page") - public Result> page(@RequestParam Map params){ -// PageData page = kpiManualScoreService.page(params); + public Result> page(@RequestParam Map params) { PageData page = kpiManualScoreService.listKpiManualScoreResultDTO(params); return new Result>().ok(page); } @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ + public Result get(@PathVariable("id") String id) { KpiManualScoreDTO data = kpiManualScoreService.get(id); return new Result().ok(data); } @PostMapping - public Result save(@RequestBody KpiManualScoreDTO dto){ + public Result save(@RequestBody KpiManualScoreDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); return kpiManualScoreService.save(dto); } @PutMapping - public Result update(@RequestBody KpiManualScoreDTO dto){ + public Result update(@RequestBody KpiManualScoreDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); return kpiManualScoreService.update(dto); } @DeleteMapping - public Result delete(@RequestBody String[] ids){ + public Result delete(@RequestBody String[] ids) { //效验数据 AssertUtils.isArrayEmpty(ids, "id"); kpiManualScoreService.delete(ids); @@ -106,7 +105,8 @@ public class KpiManualScoreController { @GetMapping("exportTemplate") public void exportTemplate(@RequestParam Map params, HttpServletResponse response) throws Exception { List list = kpiManualScoreService.listKpiManualScoreTemplateResultDTO(params); - ExcelUtils.exportExcelToTarget(response, simpleDateFormat.format(new Date()), list, KpiManualScoreTemplateExcel.class); + ExcelUtils.exportExcelToTarget(response, + DateUtils.format(new Date(), DateUtils.DATE_TIME_NO_SPLIT), list, KpiManualScoreTemplateExcel.class); } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java deleted file mode 100644 index 2686c98ac..000000000 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.elink.esua.epdc.controller; - -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; -import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.commons.tools.validator.AssertUtils; -import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; -import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; -import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; -import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; -import com.elink.esua.epdc.dto.KpiManualScoreTempDTO; -import com.elink.esua.epdc.excel.KpiManualScoreTempExcel; -import com.elink.esua.epdc.service.KpiManualScoreTempService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; - - -/** - * 绩效考核手动打分记录 - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2019-12-06 - */ -@RestController -@RequestMapping("kpimanualscoretemp") -public class KpiManualScoreTempController { - - @Autowired - private KpiManualScoreTempService kpiManualScoreTempService; - - @GetMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = kpiManualScoreTempService.page(params); - return new Result>().ok(page); - } - - @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ - KpiManualScoreTempDTO data = kpiManualScoreTempService.get(id); - return new Result().ok(data); - } - - @PostMapping - public Result save(@RequestBody KpiManualScoreTempDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - kpiManualScoreTempService.save(dto); - return new Result(); - } - - @PutMapping - public Result update(@RequestBody KpiManualScoreTempDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - kpiManualScoreTempService.update(dto); - return new Result(); - } - - @DeleteMapping - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - kpiManualScoreTempService.delete(ids); - return new Result(); - } - - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = kpiManualScoreTempService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, KpiManualScoreTempExcel.class); - } - -} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java index 48c7be0c8..7235e61f1 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java @@ -20,7 +20,10 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO; import com.elink.esua.epdc.entity.KpiManualScoreEntity; +import com.elink.esua.epdc.entity.KpiManualScoreTempEntity; +import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -34,5 +37,30 @@ import java.util.Map; @Mapper public interface KpiManualScoreDao extends BaseDao { - List selectListKpiManualScoreResultDTO(Map params); + List selectListKpiManualScoreResultDTO(Map params); + + /** + * 删除打分临时记录 + * + * @param userId 用户id,操作人 + * @param ruleId 规则id + * @param scoreStartDate 考核周期起始日 + * @return int + * @author yinzuomei | modify by work@yujt.net.cn + * @date 2019/12/13 15:35 + */ + int deleteManualScoreTemp(@Param("userId") String userId, @Param("ruleId") String ruleId, @Param("scoreStartDate") String scoreStartDate); + + List selectListKpiManualScoreTemp(@Param("userId") String userId, + @Param("recordList") List recordList); + + /** + * 批量插入打分临时表 + * + * @param scoreTempList + * @return int + * @author yinzuomei | modify by work@yujt.net.cn + * @date 2019/12/13 14:12 + */ + int insertScoreTempBatch(@Param("scoreTempList") List scoreTempList); } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java deleted file mode 100644 index eeaca7ab1..000000000 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.elink.esua.epdc.dao; - -import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; -import com.elink.esua.epdc.entity.KpiManualScoreTempEntity; -import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.Date; -import java.util.List; - -/** - * 绩效考核手动打分记录 - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2019-12-06 - */ -@Mapper -public interface KpiManualScoreTempDao extends BaseDao { - - int deleteManualScoreTemp(@Param("userId") String toString, - @Param("ruleId")String id, - @Param("scoreStartTime")String scoreStartTime); - - List selectListKpiManualScoreTemp(@Param("userId") String userId, - @Param("recordList")List recordList); -} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java index 24b7f293f..b138ee3e9 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java @@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.Date; /** @@ -36,7 +37,7 @@ import java.util.Date; @TableName("epdc_kpi_manual_score") public class KpiManualScoreEntity extends BaseEpdcEntity { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = -8994029691874794620L; /** * epdc_kpi_rule表主键 @@ -51,7 +52,7 @@ public class KpiManualScoreEntity extends BaseEpdcEntity { /** * 得分 */ - private Integer score; + private BigDecimal score; /** * 考核起止日期 diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreTempEntity.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreTempEntity.java index 7c342660c..fa8c561df 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreTempEntity.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreTempEntity.java @@ -17,12 +17,11 @@ package com.elink.esua.epdc.entity; -import com.baomidou.mybatisplus.annotation.TableName; - import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.Date; /** @@ -32,95 +31,85 @@ import java.util.Date; * @since v1.0.0 2019-12-06 */ @Data -@EqualsAndHashCode(callSuper=false) -@TableName("epdc_kpi_manual_score_temp") +@EqualsAndHashCode(callSuper = false) public class KpiManualScoreTempEntity extends BaseEpdcEntity { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = -207911504856288902L; /** * epdc_kpi_rule表主键 */ - private String ruleId; + private String ruleId; /** * 被打分的部门id */ - private String deptId; + private String deptId; /** * 得分 */ - private Integer score; + private BigDecimal score; /** * 考核起止日期yyyy-MM-dd */ - private Date scoreStartDate; + private Date scoreStartDate; /** * 考核终止日期yyyy-MM-dd */ - private Date scoreEndDate; + private Date scoreEndDate; /** * 所有父级部门id */ - private String parentDeptIds; + private String parentDeptIds; /** * 所有父级部门名称 */ - private String parentDeptNames; + private String parentDeptNames; /** * 完整部门名称 */ - private String allDeptNames; + private String allDeptNames; /** * 完整部门id */ - private String allDeptIds; + private String allDeptIds; /** * 导出用户id */ - private String userId; + private String userId; /** * 街道 */ - private String street; + private String street; /** * 社区 */ - private String community; + private String community; /** * 网格 */ - private String grid; + private String grid; /** * 规则名称 */ - private String ruleName; + private String ruleName; /** * 考核周期 */ - private String kpiCycleName; - - /** - * 考核起止日期 - */ - private String scoreStartTime; + private String kpiCycleName; - /** - * 考核终止日期 - */ - private String scoreEndTime; } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreTempService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreTempService.java deleted file mode 100644 index 2aa80f771..000000000 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreTempService.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.elink.esua.epdc.service; - -import com.elink.esua.epdc.commons.mybatis.service.BaseService; -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.dto.KpiManualScoreTempDTO; -import com.elink.esua.epdc.entity.KpiManualScoreTempEntity; - -import java.util.List; -import java.util.Map; - -/** - * 绩效考核手动打分记录 - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2019-12-06 - */ -public interface KpiManualScoreTempService extends BaseService { - - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2019-12-06 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2019-12-06 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return KpiManualScoreTempDTO - * @author generator - * @date 2019-12-06 - */ - KpiManualScoreTempDTO get(String id); - - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2019-12-06 - */ - void save(KpiManualScoreTempDTO dto); - - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2019-12-06 - */ - void update(KpiManualScoreTempDTO dto); - - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2019-12-06 - */ - void delete(String[] ids); -} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java index 0e81638ed..09f3bc85f 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java @@ -24,16 +24,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.commons.tools.constant.StrConstant; import com.elink.esua.epdc.commons.tools.exception.ErrorCode; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.redis.UserDetailRedis; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; -import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.KpiManualScoreDao; import com.elink.esua.epdc.dao.KpiManualScoreRuleDao; -import com.elink.esua.epdc.dao.KpiManualScoreTempDao; import com.elink.esua.epdc.dao.KpiRuleDao; import com.elink.esua.epdc.dto.KpiManualScoreDTO; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; @@ -52,8 +55,8 @@ import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.redis.KpiManualScoreRedis; import com.elink.esua.epdc.service.KpiManualScoreService; -import com.elink.esua.epdc.service.KpiManualScoreTempService; import com.elink.esua.epdc.utils.StreamUtils; +import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -65,6 +68,8 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.YearMonth; import java.util.*; /** @@ -76,411 +81,407 @@ import java.util.*; @Service public class KpiManualScoreServiceImpl extends BaseServiceImpl implements KpiManualScoreService { - private Logger logger = LoggerFactory.getLogger(getClass()); - @Autowired - private KpiManualScoreRedis kpiManualScoreRedis; - @Autowired - private KpiManualScoreRuleDao kpiManualScoreRuleDao; - @Autowired - private KpiRuleDao kpiRuleDao; - @Autowired - private UserDetailRedis userDetailRedis; - @Autowired - private AdminFeignClient adminFeignClient; - @Autowired - private KpiManualScoreTempDao kpiManualScoreTempDao; - @Autowired - private KpiManualScoreTempService kpiManualScoreTempService; - //设置日期格式 - private SimpleDateFormat monthFormat = new SimpleDateFormat("yyyy-MM"); - private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - - @Override - public PageData page(Map params) { - String ruleId = params.containsKey("ruleId") ? params.get("ruleId").toString() : null; - String createdTime = params.containsKey("createdTime") ? params.get("createdTime").toString() : null; - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(ruleId), "RULE_ID", ruleId); - wrapper.between(StringUtils.isNotBlank(createdTime), "DATE_FORMAT(CREATED_TIME, '%Y-%m' )", createdTime, createdTime); - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - wrapper - ); - PageData list = getPageData(page, KpiManualScoreDTO.class); - return list; - } - - /** - * @param params - * @return com.elink.esua.epdc.commons.tools.page.PageData - * @Author yinzuomei - * @Description 列表查询 - * @Date 2019/12/4 17:37 - **/ - @Override - public PageData listKpiManualScoreResultDTO(Map params) { - IPage page = getPage(params); - List list = baseDao.selectListKpiManualScoreResultDTO(params); - return new PageData<>(list, page.getTotal()); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, KpiManualScoreDTO.class); - } - - /** - * @param - * @return java.util.List - * @Author yinzuomei - * @Description 导出录入模板 - * @Date 2019/12/4 18:00 - **/ - @Override - public List listKpiManualScoreTemplateResultDTO(Map params) { - List list = new ArrayList<>(); - //用户所选规则 - String ruleId = params.get("ruleId").toString(); - String scoreStartTime = params.get("scoreStartTime").toString(); - Date scoreStartDateMonth = new Date(); - try { - scoreStartDateMonth = monthFormat.parse(scoreStartTime); - } catch (ParseException e) { - e.printStackTrace(); - } - Date scoreEndDateMonth = new Date(); - - KpiRuleEntity kpiRuleEntity = kpiRuleDao.selectById(ruleId); - - //考核周期赋值 - String kpiCycleName = ""; - if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_MONTH.getValue())) { - kpiCycleName = KpiCycleEnum.KPI_CYCLE_MONTH.getName(); - scoreEndDateMonth = scoreStartDateMonth; - } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue())) { - kpiCycleName = KpiCycleEnum.KPI_CYCLE_QUARTER.getName(); - scoreEndDateMonth = stepMonth(scoreStartDateMonth, 2); - } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_YEAR.getValue())) { - kpiCycleName = KpiCycleEnum.KPI_CYCLE_YEAR.getName(); - scoreEndDateMonth = stepMonth(scoreStartDateMonth, 11); - } - - // 用户拥有的所有部门权限 - List dataScopeDeptList = getDataScopeDeptList(); - - //调用admin模块查询部门信息详情 - UserSysDeptInfoFormDTO userSysDeptInfoFormDTO = new UserSysDeptInfoFormDTO(); - userSysDeptInfoFormDTO.setDeptIdList(dataScopeDeptList); - List typeKeyList = new ArrayList<>(); - typeKeyList.add(kpiRuleEntity.getDeptTypeKey()); - userSysDeptInfoFormDTO.setTypeKeyList(typeKeyList); - Result> result = this.queryUserSysDeptInfo(userSysDeptInfoFormDTO); - - if (result.getCode() == 0 && result.getData().size() > 0) { - List userSysDeptInfoResultDTOList = result.getData(); - for (UserSysDeptInfoResultDTO userSysDeptInfoResultDTO : userSysDeptInfoResultDTOList) { - - KpiManualScoreTemplateResultDTO kpiManualScoreTemplateResultDTO = new KpiManualScoreTemplateResultDTO(); - - kpiManualScoreTemplateResultDTO.setRuleName(kpiRuleEntity.getRuleName()); - kpiManualScoreTemplateResultDTO.setStreet(userSysDeptInfoResultDTO.getStreet()); - kpiManualScoreTemplateResultDTO.setCommunity(userSysDeptInfoResultDTO.getCommunity()); - kpiManualScoreTemplateResultDTO.setGrid(userSysDeptInfoResultDTO.getGrid()); - kpiManualScoreTemplateResultDTO.setDeptName(userSysDeptInfoResultDTO.getName()); - kpiManualScoreTemplateResultDTO.setKpiCycleName(kpiCycleName); - kpiManualScoreTemplateResultDTO.setScoreStartTime(dateFormat.format(getFirstDayDateOfMonth(scoreStartDateMonth))); - kpiManualScoreTemplateResultDTO.setScoreEndTime(dateFormat.format(getLastDayOfMonth(scoreEndDateMonth))); - kpiManualScoreTemplateResultDTO.setScore(null); - - kpiManualScoreTemplateResultDTO.setRuleId(kpiRuleEntity.getId()); - kpiManualScoreTemplateResultDTO.setDeptId(userSysDeptInfoResultDTO.getId().toString()); - kpiManualScoreTemplateResultDTO.setScoreStartDate(getFirstDayDateOfMonth(scoreStartDateMonth)); - kpiManualScoreTemplateResultDTO.setScoreEndDate(getLastDayOfMonth(scoreEndDateMonth)); - kpiManualScoreTemplateResultDTO.setParentDeptIds(userSysDeptInfoResultDTO.getPids()); - kpiManualScoreTemplateResultDTO.setParentDeptNames(userSysDeptInfoResultDTO.getParentNames()); - kpiManualScoreTemplateResultDTO.setAllDeptIds(userSysDeptInfoResultDTO.getPids() + "," + userSysDeptInfoResultDTO.getId()); - kpiManualScoreTemplateResultDTO.setAllDeptNames(userSysDeptInfoResultDTO.getParentNames() + "-" + userSysDeptInfoResultDTO.getName()); - kpiManualScoreTemplateResultDTO.setUserId(SecurityUser.getUserId().toString()); - list.add(kpiManualScoreTemplateResultDTO); - } - //删除临时表数据 - kpiManualScoreTempDao.deleteManualScoreTemp(SecurityUser.getUserId().toString(), - kpiRuleEntity.getId(), - dateFormat.format(getFirstDayDateOfMonth(scoreStartDateMonth))); - //插入临时表 - List tempEntityList = ConvertUtils.sourceToTarget(list, KpiManualScoreTempEntity.class); - kpiManualScoreTempService.insertBatch(tempEntityList, 200); - } - return list; - } - - /** - * @param file - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 导入手动打分记录 - * @Date 2019/12/5 15:46 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public Result importManualScoreExcel(MultipartFile file) { - File f = StreamUtils.conversionFile(file); - try { - //判断上传文件类型 - String originalFilename = file.getOriginalFilename(); - if (!originalFilename.contains(".xlsx") && !originalFilename.contains(".xls")) { - return new Result().error("请选择.xls或者.xlsx格式文件"); - } - ImportParams importParams = new ImportParams(); - List recordList = ExcelImportUtil.importExcel(f, KpiManualScoreTemplateExcel.class, importParams); - if (CollUtil.isEmpty(recordList)) { - return new Result().error("导入内容不能为空"); - } - //校验记录数是否一致 - List errorRecordList = new ArrayList<>(); - List tempEntityList = kpiManualScoreTempDao.selectListKpiManualScoreTemp(SecurityUser.getUserId().toString(), recordList); - if (CollUtil.isEmpty(tempEntityList) || tempEntityList.size() != recordList.size()) { - ImportExcelErrorResultDTO excelErrorResultDTO = new ImportExcelErrorResultDTO(); - excelErrorResultDTO.setErrorLine("0"); - excelErrorResultDTO.setErrorInfo("导入记录条数与导出模板不一致,请核对"); - errorRecordList.add(excelErrorResultDTO); - } - if (CollUtil.isNotEmpty(errorRecordList)) { - Result errorResult = new Result(); - errorResult.setCode(ErrorCode.INTERNAL_SERVER_ERROR); - return errorResult.ok(errorRecordList); - } - List kpiManualScoreEntityList = ConvertUtils.sourceToTarget(tempEntityList, KpiManualScoreEntity.class); - //循环插入:如果存在则删除原纪录 - for (KpiManualScoreEntity kpiManualScoreEntity : kpiManualScoreEntityList) { - baseDao.delete(getUniqueWrapper(kpiManualScoreEntity)); - baseDao.insert(kpiManualScoreEntity); - } - //删除临时表数据 - kpiManualScoreTempDao.deleteManualScoreTemp(SecurityUser.getUserId().toString(), - tempEntityList.get(0).getRuleId(), - tempEntityList.get(0).getScoreStartTime()); - } finally { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private KpiManualScoreRedis kpiManualScoreRedis; + @Autowired + private KpiManualScoreRuleDao kpiManualScoreRuleDao; + @Autowired + private KpiRuleDao kpiRuleDao; + @Autowired + private UserDetailRedis userDetailRedis; + @Autowired + private AdminFeignClient adminFeignClient; + //设置日期格式 + private SimpleDateFormat monthFormat = new SimpleDateFormat("yyyy-MM"); + private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + @Override + public PageData page(Map params) { + String ruleId = params.containsKey("ruleId") ? params.get("ruleId").toString() : null; + String createdTime = params.containsKey("createdTime") ? params.get("createdTime").toString() : null; + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(ruleId), "RULE_ID", ruleId); + wrapper.between(StringUtils.isNotBlank(createdTime), "DATE_FORMAT(CREATED_TIME, '%Y-%m' )", createdTime, createdTime); + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + wrapper + ); + PageData list = getPageData(page, KpiManualScoreDTO.class); + return list; + } + + /** + * @param params + * @return com.elink.esua.epdc.commons.tools.page.PageData + * @Author yinzuomei + * @Description 列表查询 + * @Date 2019/12/4 17:37 + **/ + @Override + public PageData listKpiManualScoreResultDTO(Map params) { + IPage page = getPage(params); + List list = baseDao.selectListKpiManualScoreResultDTO(params); + return new PageData<>(list, page.getTotal()); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, KpiManualScoreDTO.class); + } + + /** + * @param + * @return java.util.List + * @Author yinzuomei + * @Description 导出录入模板 + * @Date 2019/12/4 18:00 + **/ + @Override + public List listKpiManualScoreTemplateResultDTO(Map params) { + + //用户所选规则 + String ruleId = params.get("ruleId").toString(); + // yyyy-MM + String scoreStartMonth = params.get("scoreStartTime").toString(); + // 考核周期开始月 + YearMonth scoreStartDateMonth = YearMonth.parse(scoreStartMonth); + + // 考核规则 + KpiRuleEntity kpiRuleEntity = kpiRuleDao.selectById(ruleId); + + // 考核周期结束日 + LocalDate scoreEndDate; + //考核周期赋值 + String kpiCycleName; + if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_MONTH.getValue())) { + kpiCycleName = KpiCycleEnum.KPI_CYCLE_MONTH.getName(); + scoreEndDate = scoreStartDateMonth.atEndOfMonth(); + } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue())) { + int monthValue = scoreStartDateMonth.getMonthValue(); + // 只有1,4,7,10 月份可以进行季度打分 + if (monthValue != NumConstant.ONE && monthValue != NumConstant.FOUR + && monthValue != NumConstant.SEVEN && monthValue != NumConstant.TEN) { + throw new RenException("当前选择的月份无法进行季度考核打分"); + } + kpiCycleName = KpiCycleEnum.KPI_CYCLE_QUARTER.getName(); + scoreEndDate = scoreStartDateMonth.plusMonths(NumConstant.TWO).atEndOfMonth(); + } else { + int monthValue = scoreStartDateMonth.getMonthValue(); + // 只有1月份可以进行年度打分 + if (monthValue != NumConstant.ONE) { + throw new RenException("当前选择的月份无法进行年度考核打分"); + } + kpiCycleName = KpiCycleEnum.KPI_CYCLE_YEAR.getName(); + scoreEndDate = scoreStartDateMonth.plusMonths(NumConstant.ELEVEN).atEndOfMonth(); + } + + // 用户拥有的所有部门权限 + List dataScopeDeptList = SecurityUser.getUser().getDeptIdList(); + Result> result = queryUserSysDeptInfo(dataScopeDeptList, kpiRuleEntity.getDeptTypeKey()); + + if (!result.success() || CollUtil.isEmpty(result.getData())) { + return Lists.newArrayList(); + } + List list = Lists.newArrayList(); + + List userSysDeptInfoResultDTOList = result.getData(); + for (UserSysDeptInfoResultDTO userSysDeptInfoResultDTO : userSysDeptInfoResultDTOList) { + + KpiManualScoreTemplateResultDTO kpiManualScoreTemplateResultDTO = new KpiManualScoreTemplateResultDTO(); + + kpiManualScoreTemplateResultDTO.setRuleName(kpiRuleEntity.getRuleName()); + kpiManualScoreTemplateResultDTO.setStreet(userSysDeptInfoResultDTO.getStreet()); + kpiManualScoreTemplateResultDTO.setCommunity(userSysDeptInfoResultDTO.getCommunity()); + kpiManualScoreTemplateResultDTO.setGrid(userSysDeptInfoResultDTO.getGrid()); + kpiManualScoreTemplateResultDTO.setDeptName(userSysDeptInfoResultDTO.getName()); + kpiManualScoreTemplateResultDTO.setKpiCycleName(kpiCycleName); + kpiManualScoreTemplateResultDTO.setScore(null); + + kpiManualScoreTemplateResultDTO.setRuleId(kpiRuleEntity.getId()); + kpiManualScoreTemplateResultDTO.setDeptId(userSysDeptInfoResultDTO.getId().toString()); + kpiManualScoreTemplateResultDTO.setScoreStartDate(LocalDateUtils.LocalDateToDate(scoreStartDateMonth.atDay(NumConstant.ONE))); + kpiManualScoreTemplateResultDTO.setScoreEndDate(LocalDateUtils.LocalDateToDate(scoreEndDate)); + kpiManualScoreTemplateResultDTO.setParentDeptIds(userSysDeptInfoResultDTO.getPids()); + kpiManualScoreTemplateResultDTO.setParentDeptNames(userSysDeptInfoResultDTO.getParentNames()); + kpiManualScoreTemplateResultDTO.setAllDeptIds(userSysDeptInfoResultDTO.getPids() + StrConstant.COMMA + userSysDeptInfoResultDTO.getId()); + kpiManualScoreTemplateResultDTO.setAllDeptNames(userSysDeptInfoResultDTO.getParentNames() + StrConstant.HYPHEN + userSysDeptInfoResultDTO.getName()); + kpiManualScoreTemplateResultDTO.setUserId(SecurityUser.getUserId().toString()); + list.add(kpiManualScoreTemplateResultDTO); + } + //删除临时表数据 + baseDao.deleteManualScoreTemp(SecurityUser.getUserId().toString(), kpiRuleEntity.getId(), scoreStartDateMonth.atDay(NumConstant.ONE).toString()); + //插入临时表 + List tempEntityList = ConvertUtils.sourceToTarget(list, KpiManualScoreTempEntity.class); + baseDao.insertScoreTempBatch(tempEntityList); + return list; + } + + /** + * 调用admin模块查询部门信息详情 + * + * @param dataScopeDeptList 用户数据权限 + * @param deptTypeKey 部门类别 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author work@yujt.net.cn + * @date 2019/12/13 14:38 + */ + private Result> queryUserSysDeptInfo(List dataScopeDeptList, String deptTypeKey) { + + UserSysDeptInfoFormDTO userSysDeptInfoFormDTO = new UserSysDeptInfoFormDTO(); + + List typeKeyList = new ArrayList<>(); + typeKeyList.add(deptTypeKey); + userSysDeptInfoFormDTO.setTypeKeyList(typeKeyList); + + userSysDeptInfoFormDTO.setDeptIdList(dataScopeDeptList); + + return adminFeignClient.queryUserSysDeptInfo(userSysDeptInfoFormDTO); + } + + /** + * @param file + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 导入手动打分记录 + * @Date 2019/12/5 15:46 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public Result importManualScoreExcel(MultipartFile file) { + File f = StreamUtils.conversionFile(file); + try { + //判断上传文件类型 + String originalFilename = file.getOriginalFilename(); + if (!originalFilename.endsWith(StrConstant.EXCEL_SUFFIX_2003) && !originalFilename.endsWith(StrConstant.EXCEL_SUFFIX_2007)) { + return new Result().error("请选择.xls或者.xlsx格式文件"); + } + ImportParams importParams = new ImportParams(); + List recordList = ExcelImportUtil.importExcel(f, KpiManualScoreTemplateExcel.class, importParams); + if (CollUtil.isEmpty(recordList)) { + return new Result().error("导入内容不能为空"); + } + //校验记录数是否一致 + List errorRecordList = new ArrayList<>(); + List tempEntityList = baseDao.selectListKpiManualScoreTemp(SecurityUser.getUserId().toString(), recordList); + if (CollUtil.isEmpty(tempEntityList) || tempEntityList.size() != recordList.size()) { + ImportExcelErrorResultDTO excelErrorResultDTO = new ImportExcelErrorResultDTO(); + excelErrorResultDTO.setErrorLine("0"); + excelErrorResultDTO.setErrorInfo("导入记录条数与导出模板不一致,请核对"); + errorRecordList.add(excelErrorResultDTO); + } + if (CollUtil.isNotEmpty(errorRecordList)) { + Result errorResult = new Result(); + errorResult.setCode(ErrorCode.INTERNAL_SERVER_ERROR); + return errorResult.ok(errorRecordList); + } + List kpiManualScoreEntityList = ConvertUtils.sourceToTarget(tempEntityList, KpiManualScoreEntity.class); + //循环插入:如果存在则删除原纪录 + for (KpiManualScoreEntity kpiManualScoreEntity : kpiManualScoreEntityList) { + baseDao.delete(getUniqueWrapper(kpiManualScoreEntity)); + baseDao.insert(kpiManualScoreEntity); + } + //删除临时表数据 + baseDao.deleteManualScoreTemp(SecurityUser.getUserId().toString(), + tempEntityList.get(0).getRuleId(), + DateUtils.format(tempEntityList.get(0).getScoreStartDate())); + } finally { // logger.info("记得删除文件哦"); - this.deleteAllFilesOfDir(f); - } - return new Result(); - } - - /** - * 删除文件夹(强制删除) - * - * @param path - */ - public void deleteAllFilesOfDir(File path) { - if (null != path) { - if (!path.exists()) - return; - if (path.isFile()) { - boolean result = path.delete(); - int tryCount = 0; - while (!result && tryCount++ < 10) { - System.gc(); // 回收资源 - result = path.delete(); - } - } - File[] files = path.listFiles(); - if (null != files) { - for (int i = 0; i < files.length; i++) { - deleteAllFilesOfDir(files[i]); - } - } - path.delete(); - } - } - - @Override - public KpiManualScoreDTO get(String id) { - KpiManualScoreEntity entity = baseDao.selectById(id); - KpiManualScoreDTO kpiManualScoreDTO = ConvertUtils.sourceToTarget(entity, KpiManualScoreDTO.class); - try { - kpiManualScoreDTO.setScoreStartMonth(monthFormat.parse(monthFormat.format(kpiManualScoreDTO.getScoreStartDate()))); - } catch (ParseException e) { - e.printStackTrace(); - } - return kpiManualScoreDTO; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Result save(KpiManualScoreDTO dto) { - KpiRuleEntity kpiRuleEntity = kpiRuleDao.selectById(dto.getRuleId()); - //得分不能大于满分 - KpiManualScoreRuleEntity kpiManualScoreRuleEntity = kpiManualScoreRuleDao.selectOneKpiManualScoreRuleByRuleId(kpiRuleEntity.getId()); - if (null == kpiManualScoreRuleEntity) { - return new Result().error("没有找到关联的手动打分项"); - } else if (null != kpiManualScoreRuleEntity && dto.getScore() > kpiManualScoreRuleEntity.getFullMarks()) { - return new Result().error("得分不能高于满分"); - } - - // 考核部门基本信息 - Result sysDeptDTOResult=adminFeignClient.getSysDeptDTO(Long.valueOf(dto.getDeptId())); - if(!sysDeptDTOResult.success()){ - return new Result().error(sysDeptDTOResult.getMsg()); - } - if(!kpiManualScoreRuleEntity.getDeptTypeKey().equals(sysDeptDTOResult.getData().getTypeKey())){ - return new Result().error("所选部门不在当前规则考核范围内"); - } - - Date scoreEndDateMonth = new Date(); - if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_MONTH.getValue())) { - scoreEndDateMonth = dto.getScoreStartMonth(); - } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue())) { - scoreEndDateMonth = stepMonth(dto.getScoreStartMonth(), 2); - } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_YEAR.getValue())) { - scoreEndDateMonth = stepMonth(dto.getScoreStartMonth(), 11); - } - dto.setScoreStartDate(getFirstDayDateOfMonth(dto.getScoreStartMonth())); - dto.setScoreEndDate(getLastDayOfMonth(scoreEndDateMonth)); - //根据部门ID获取上级所有部门信息 - Result parentAndAllDeptDTOResult=adminFeignClient.getParentAndAllDept(dto.getDeptId()); - if(!parentAndAllDeptDTOResult.success()){ - return new Result().error(parentAndAllDeptDTOResult.getMsg()); - } - dto.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames()); - dto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds()); - dto.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames()); - dto.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds()); - KpiManualScoreEntity entity = ConvertUtils.sourceToTarget(dto, KpiManualScoreEntity.class); - baseDao.delete(getUniqueWrapper(entity)); - insert(entity); - return new Result(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Result update(KpiManualScoreDTO dto) { - KpiManualScoreEntity entity = ConvertUtils.sourceToTarget(dto, KpiManualScoreEntity.class); - //得分不能大于满分 - KpiManualScoreRuleEntity kpiManualScoreRuleEntity = kpiManualScoreRuleDao.selectOneKpiManualScoreRuleByRuleId(dto.getRuleId()); - if (null == kpiManualScoreRuleEntity) { - return new Result().error("没有找到关联的手动打分项"); - } else if (null != kpiManualScoreRuleEntity && dto.getScore() > kpiManualScoreRuleEntity.getFullMarks()) { - return new Result().error("得分不能高于满分"); - } - updateById(entity); - return new Result(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - - /** - * @param entity - * @return com.baomidou.mybatisplus.core.conditions.query.QueryWrapper - * @Author yinzuomei - * @Description - * @Date 2019/12/6 13:58 - **/ - public QueryWrapper getUniqueWrapper(KpiManualScoreEntity entity) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(entity.getRuleId()), "RULE_ID", entity.getRuleId()) - .eq(StringUtils.isNotBlank(entity.getDeptId()), "DEPT_ID", entity.getDeptId()) - .eq("score_end_date", entity.getScoreEndDate()) - .eq("score_start_date", entity.getScoreStartDate()); - return wrapper; - } - - /** - * @param userSysDeptInfoFormDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result> - * @Author yinzuomei - * @Description - * @Date 2019/12/6 13:58 - **/ - public Result> queryUserSysDeptInfo(UserSysDeptInfoFormDTO userSysDeptInfoFormDTO) { - return adminFeignClient.queryUserSysDeptInfo(userSysDeptInfoFormDTO); - } - - /** - * @param - * @return java.util.List - * @Author yinzuomei - * @Description 用户拥有的所有部门权限 - * @Date 2019/12/5 16:29 - **/ - public List getDataScopeDeptList() { - Long userId = SecurityUser.getUserId(); - // 查询当前用户所具有的的数据权限 - UserDetail userDetail = userDetailRedis.get(userId); - // 用户拥有的所有部门权限 - return userDetail.getDeptIdList(); - } - - /** - * @param sourceDate - * @param month - * @return java.util.Date - * @Author yinzuomei - * @Description - * @Date 2019/12/5 13:46 - **/ - public Date stepMonth(Date sourceDate, int month) { - Calendar c = Calendar.getInstance(); - c.setTime(sourceDate); - c.add(Calendar.MONTH, month); - return c.getTime(); - } - - /** - * @param date - * @return java.util.Date - * @Author yinzuomei - * @Description 获取传入日期所在月的第一天 - * @Date 2019/12/5 13:46 - **/ - public Date getFirstDayDateOfMonth(Date date) { - - final Calendar cal = Calendar.getInstance(); - - cal.setTime(date); - - final int last = cal.getActualMinimum(Calendar.DAY_OF_MONTH); - - cal.set(Calendar.DAY_OF_MONTH, last); - - return cal.getTime(); - - } - - /** - * @param date - * @return java.util.Date - * @Author yinzuomei - * @Description 获取传入日期所在月的最后一天 - * @Date 2019/12/5 13:47 - **/ - public Date getLastDayOfMonth(Date date) { - - final Calendar cal = Calendar.getInstance(); - - cal.setTime(date); - - final int last = cal.getActualMaximum(Calendar.DAY_OF_MONTH); - - cal.set(Calendar.DAY_OF_MONTH, last); - - return cal.getTime(); - - } - - private QueryWrapper getWrapper(Map params) { - String id = (String) params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } + this.deleteAllFilesOfDir(f); + } + return new Result(); + } + + /** + * 删除文件夹(强制删除) + * + * @param path + */ + public void deleteAllFilesOfDir(File path) { + if (null != path) { + if (!path.exists()) { + return; + } + if (path.isFile()) { + boolean result = path.delete(); + int tryCount = 0; + while (!result && tryCount++ < 10) { + System.gc(); // 回收资源 + result = path.delete(); + } + } + File[] files = path.listFiles(); + if (null != files) { + for (int i = 0; i < files.length; i++) { + deleteAllFilesOfDir(files[i]); + } + } + path.delete(); + } + } + + @Override + public KpiManualScoreDTO get(String id) { + KpiManualScoreEntity entity = baseDao.selectById(id); + KpiManualScoreDTO kpiManualScoreDTO = ConvertUtils.sourceToTarget(entity, KpiManualScoreDTO.class); + try { + kpiManualScoreDTO.setScoreStartMonth(monthFormat.parse(monthFormat.format(kpiManualScoreDTO.getScoreStartDate()))); + } catch (ParseException e) { + e.printStackTrace(); + } + return kpiManualScoreDTO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result save(KpiManualScoreDTO dto) { + KpiRuleEntity kpiRuleEntity = kpiRuleDao.selectById(dto.getRuleId()); + //得分不能大于满分 + KpiManualScoreRuleEntity kpiManualScoreRuleEntity = kpiManualScoreRuleDao.selectOneKpiManualScoreRuleByRuleId(kpiRuleEntity.getId()); + if (null == kpiManualScoreRuleEntity) { + return new Result().error("没有找到关联的手动打分项"); + } else if (null != kpiManualScoreRuleEntity && dto.getScore() > kpiManualScoreRuleEntity.getFullMarks()) { + return new Result().error("得分不能高于满分"); + } + + // 考核部门基本信息 + Result sysDeptDTOResult = adminFeignClient.getSysDeptDTO(Long.valueOf(dto.getDeptId())); + if (!sysDeptDTOResult.success()) { + return new Result().error(sysDeptDTOResult.getMsg()); + } + if (!kpiManualScoreRuleEntity.getDeptTypeKey().equals(sysDeptDTOResult.getData().getTypeKey())) { + return new Result().error("所选部门不在当前规则考核范围内"); + } + + Date scoreEndDateMonth = new Date(); + if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_MONTH.getValue())) { + scoreEndDateMonth = dto.getScoreStartMonth(); + } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue())) { + scoreEndDateMonth = stepMonth(dto.getScoreStartMonth(), 2); + } else if (kpiRuleEntity.getKpiCycle().equals(KpiCycleEnum.KPI_CYCLE_YEAR.getValue())) { + scoreEndDateMonth = stepMonth(dto.getScoreStartMonth(), 11); + } + dto.setScoreStartDate(getFirstDayDateOfMonth(dto.getScoreStartMonth())); + dto.setScoreEndDate(getLastDayOfMonth(scoreEndDateMonth)); + //根据部门ID获取上级所有部门信息 + Result parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(dto.getDeptId()); + if (!parentAndAllDeptDTOResult.success()) { + return new Result().error(parentAndAllDeptDTOResult.getMsg()); + } + dto.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames()); + dto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds()); + dto.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames()); + dto.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds()); + KpiManualScoreEntity entity = ConvertUtils.sourceToTarget(dto, KpiManualScoreEntity.class); + baseDao.delete(getUniqueWrapper(entity)); + insert(entity); + return new Result(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result update(KpiManualScoreDTO dto) { + KpiManualScoreEntity entity = ConvertUtils.sourceToTarget(dto, KpiManualScoreEntity.class); + //得分不能大于满分 + KpiManualScoreRuleEntity kpiManualScoreRuleEntity = kpiManualScoreRuleDao.selectOneKpiManualScoreRuleByRuleId(dto.getRuleId()); + if (null == kpiManualScoreRuleEntity) { + return new Result().error("没有找到关联的手动打分项"); + } else if (null != kpiManualScoreRuleEntity && dto.getScore() > kpiManualScoreRuleEntity.getFullMarks()) { + return new Result().error("得分不能高于满分"); + } + updateById(entity); + return new Result(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param entity + * @return com.baomidou.mybatisplus.core.conditions.query.QueryWrapper + * @Author yinzuomei + * @Description + * @Date 2019/12/6 13:58 + **/ + public QueryWrapper getUniqueWrapper(KpiManualScoreEntity entity) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(entity.getRuleId()), "RULE_ID", entity.getRuleId()) + .eq(StringUtils.isNotBlank(entity.getDeptId()), "DEPT_ID", entity.getDeptId()) + .eq("score_end_date", entity.getScoreEndDate()) + .eq("score_start_date", entity.getScoreStartDate()); + return wrapper; + } + + + /** + * @param sourceDate + * @param month + * @return java.util.Date + * @Author yinzuomei + * @Description + * @Date 2019/12/5 13:46 + **/ + public Date stepMonth(Date sourceDate, int month) { + Calendar c = Calendar.getInstance(); + c.setTime(sourceDate); + c.add(Calendar.MONTH, month); + return c.getTime(); + } + + /** + * @param date + * @return java.util.Date + * @Author yinzuomei + * @Description 获取传入日期所在月的第一天 + * @Date 2019/12/5 13:46 + **/ + public Date getFirstDayDateOfMonth(Date date) { + + final Calendar cal = Calendar.getInstance(); + + cal.setTime(date); + + final int last = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + + cal.set(Calendar.DAY_OF_MONTH, last); + + return cal.getTime(); + + } + + /** + * @param date + * @return java.util.Date + * @Author yinzuomei + * @Description 获取传入日期所在月的最后一天 + * @Date 2019/12/5 13:47 + **/ + public Date getLastDayOfMonth(Date date) { + + final Calendar cal = Calendar.getInstance(); + + cal.setTime(date); + + final int last = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + + cal.set(Calendar.DAY_OF_MONTH, last); + + return cal.getTime(); + + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreTempServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreTempServiceImpl.java deleted file mode 100644 index 2fc8daf95..000000000 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreTempServiceImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.elink.esua.epdc.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; -import com.elink.esua.epdc.dao.KpiManualScoreTempDao; -import com.elink.esua.epdc.dto.KpiManualScoreTempDTO; -import com.elink.esua.epdc.entity.KpiManualScoreTempEntity; -import com.elink.esua.epdc.redis.KpiManualScoreTempRedis; -import com.elink.esua.epdc.service.KpiManualScoreTempService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * 绩效考核手动打分记录 - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2019-12-06 - */ -@Service -public class KpiManualScoreTempServiceImpl extends BaseServiceImpl implements KpiManualScoreTempService { - - @Autowired - private KpiManualScoreTempRedis kpiManualScoreTempRedis; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, KpiManualScoreTempDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, KpiManualScoreTempDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public KpiManualScoreTempDTO get(String id) { - KpiManualScoreTempEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, KpiManualScoreTempDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(KpiManualScoreTempDTO dto) { - KpiManualScoreTempEntity entity = ConvertUtils.sourceToTarget(dto, KpiManualScoreTempEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(KpiManualScoreTempDTO dto) { - KpiManualScoreTempEntity entity = ConvertUtils.sourceToTarget(dto, KpiManualScoreTempEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - -} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml index b64f4b426..95b9c9f18 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml @@ -3,72 +3,58 @@ - - - - - - - - - - - - - - - - - - + + insert into epdc_kpi_manual_score_temp(rule_name, street, community ,grid ,DEPT_NAME, KPI_CYCLE_NAME, Rule_Id, + dept_id,score_start_date,score_end_date,parent_dept_ids,parent_dept_names,all_dept_ids,all_dept_names,user_id) + values + + ( + #{item.ruleName,jdbcType=VARCHAR}, + #{item.street,jdbcType=VARCHAR}, + #{item.community,jdbcType=VARCHAR}, + #{item.grid,jdbcType=VARCHAR}, + #{item.deptName,jdbcType=VARCHAR}, + #{item.kpiCycleName,jdbcType=VARCHAR}, + #{item.ruleId,jdbcType=VARCHAR}, + #{item.deptId,jdbcType=VARCHAR}, + #{item.scoreStartDate,jdbcType=DATE}, + #{item.scoreEndDate,jdbcType=DATE}, + #{item.parentDeptIds,jdbcType=VARCHAR}, + #{item.parentDeptNames,jdbcType=VARCHAR}, + #{item.allDeptIds,jdbcType=VARCHAR}, + #{item.allDeptNames,jdbcType=VARCHAR}, + #{item.userId,jdbcType=VARCHAR} + ) + + - - - - - - - - - - - - - - - - - - - - - - SELECT - kmc.id, - kmc.rule_id, - kmc.dept_id, - kmc.score, - kmc.parent_dept_ids, - kmc.parent_dept_names, - kmc.all_dept_ids, - kmc.all_dept_names, - kmc.revision, - kmc.created_by, - kmc.created_time, - kmc.updated_by, - kmc.updated_time, - kmc.del_flag, - kr.rule_name, - kr.kpi_cycle, - kmc.score_start_date, - kmc.score_end_date + kmc.id, + kmc.rule_id, + kmc.dept_id, + kmc.score, + kmc.parent_dept_ids, + kmc.parent_dept_names, + kmc.all_dept_ids, + kmc.all_dept_names, + kmc.revision, + kmc.created_by, + kmc.created_time, + kmc.updated_by, + kmc.updated_time, + kmc.del_flag, + kr.rule_name, + kr.kpi_cycle, + kmc.score_start_date, + kmc.score_end_date FROM - epdc_kpi_manual_score kmc - left join epdc_kpi_rule kr - on(kmc.RULE_ID=kr.id) + epdc_kpi_manual_score kmc + left join epdc_kpi_rule kr + on(kmc.RULE_ID=kr.id) WHERE - kmc.del_flag = '0' + kmc.del_flag = '0' AND kmc.rule_id =#{ruleId} @@ -77,4 +63,59 @@ ORDER BY kmc.CREATED_TIME DESC + + + DELETE + FROM + epdc_kpi_manual_score_temp + WHERE + RULE_ID =#{ruleId} + AND user_id = #{userId} + AND score_start_time = STR_TO_DATE( #{scoreStartDate}, '%Y-%m-%d' ) + + + diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreTempDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreTempDao.xml deleted file mode 100644 index 1cd17d684..000000000 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreTempDao.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETE - FROM - epdc_kpi_manual_score_temp - WHERE - RULE_ID =#{ruleId} - AND user_id = #{userId} - AND score_start_time =#{scoreStartTime} - - - -