Browse Source

收到打分修改(未测试)

feature/dangjian
yujintao 6 years ago
parent
commit
bd27deb412
  1. 11
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java
  2. 39
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java
  3. 5
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
  4. 46
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java
  5. 11
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java
  6. 68
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java
  7. 18
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java
  8. 94
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java
  9. 30
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java
  10. 44
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java
  11. 5
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java
  12. 47
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreTempEntity.java
  13. 95
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreTempService.java
  14. 819
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java
  15. 104
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreTempServiceImpl.java
  16. 165
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml
  17. 86
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreTempDao.xml

11
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 { public interface NumConstant {
int TWO_NEG = -2;
int ONE_NEG = -1;
int ZERO = 0; int ZERO = 0;
int ONE = 1; int ONE = 1;
int TWO = 2; int TWO = 2;
int THREE = 3; int THREE = 3;
int FOUR = 4; int FOUR = 4;
int SIX = 6; int SIX = 6;
int SEVEN = 7;
int ONE_NEG = -1; int EIGHT = 8;
int TWO_NEG = -2; int NINE = 9;
int TEN = 10; int TEN = 10;
int ELEVEN = 11;
int FIFTEEN = 15; int FIFTEEN = 15;
int TWENTY = 20; int TWENTY = 20;
int THIRTY = 30; int THIRTY = 30;

39
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 = ":";
}

5
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 * @since 1.0.0
*/ */
public class DateUtils { public class DateUtils {
/** 时间格式(yyyy-MM-dd) */ /** 时间格式(yyyy-MM-dd) */
public final static String DATE_PATTERN = "yyyy-MM-dd"; public final static String DATE_PATTERN = "yyyy-MM-dd";
/** 时间格式(yyyy-MM-dd HH:mm:ss) */ /** 时间格式(yyyy-MM-dd HH:mm:ss) */
public final static String DATE_TIME_PATTERN = "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 * 日期格式化 日期格式为yyyy-MM-dd
* @param date 日期 * @param date 日期

46
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);
}
}

11
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 @Data
public class KpiManualScoreTemplateResultDTO implements Serializable { public class KpiManualScoreTemplateResultDTO implements Serializable {
private static final long serialVersionUID = 3228442740296126765L; private static final long serialVersionUID = 3228442740296126765L;
/** /**
* 规则名称 * 规则名称
@ -43,16 +44,6 @@ public class KpiManualScoreTemplateResultDTO implements Serializable {
*/ */
private String kpiCycleName; private String kpiCycleName;
/**
* 考核起止日期
*/
private String scoreStartTime;
/**
* 考核终止日期
*/
private String scoreEndTime;
/** /**
* 得分 * 得分
*/ */

68
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; package com.elink.esua.epdc.enums;
/** /**
* @Auther: yinzuomei * @author: yinzuomei
* @Date: 2019/12/5 12:41 * @Date: 2019/12/5 12:41
* @Description: 考核周期枚举 * @Description: 考核周期枚举
*/ */
public enum KpiCycleEnum { public enum KpiCycleEnum {
/** /**
* 月month quarter year * 月month quarter year
*/ */
KPI_CYCLE_MONTH("month","月"), KPI_CYCLE_MONTH("month", "月"),
/** /**
* *
*/ */
KPI_CYCLE_QUARTER("quarter","季"), KPI_CYCLE_QUARTER("quarter", "季"),
/** /**
* *
*/ */
KPI_CYCLE_YEAR("year","年"); KPI_CYCLE_YEAR("year", "年");
private String value;
private String name; private String value;
KpiCycleEnum(String value, String name) { private String name;
this.value = value;
this.name = name; KpiCycleEnum(String value, String name) {
} this.value = value;
this.name = name;
public String getValue() { }
return value;
} public String getValue() {
return value;
public void setValue(String value) { }
this.value = value;
}
public String getName() {
public String getName() { return name;
return name; }
}
public void setName(String name) {
this.name = name;
}
} }

18
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; package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.page.PageData; 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.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; 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.AssertUtils;
@ -36,7 +37,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -54,36 +54,35 @@ public class KpiManualScoreController {
@Autowired @Autowired
private KpiManualScoreService kpiManualScoreService; private KpiManualScoreService kpiManualScoreService;
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
@GetMapping("page") @GetMapping("page")
public Result<PageData<KpiManualScoreResultDTO>> page(@RequestParam Map<String, Object> params){ public Result<PageData<KpiManualScoreResultDTO>> page(@RequestParam Map<String, Object> params) {
// PageData<KpiManualScoreDTO> page = kpiManualScoreService.page(params);
PageData<KpiManualScoreResultDTO> page = kpiManualScoreService.listKpiManualScoreResultDTO(params); PageData<KpiManualScoreResultDTO> page = kpiManualScoreService.listKpiManualScoreResultDTO(params);
return new Result<PageData<KpiManualScoreResultDTO>>().ok(page); return new Result<PageData<KpiManualScoreResultDTO>>().ok(page);
} }
@GetMapping("{id}") @GetMapping("{id}")
public Result<KpiManualScoreDTO> get(@PathVariable("id") String id){ public Result<KpiManualScoreDTO> get(@PathVariable("id") String id) {
KpiManualScoreDTO data = kpiManualScoreService.get(id); KpiManualScoreDTO data = kpiManualScoreService.get(id);
return new Result<KpiManualScoreDTO>().ok(data); return new Result<KpiManualScoreDTO>().ok(data);
} }
@PostMapping @PostMapping
public Result save(@RequestBody KpiManualScoreDTO dto){ public Result save(@RequestBody KpiManualScoreDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
return kpiManualScoreService.save(dto); return kpiManualScoreService.save(dto);
} }
@PutMapping @PutMapping
public Result update(@RequestBody KpiManualScoreDTO dto){ public Result update(@RequestBody KpiManualScoreDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
return kpiManualScoreService.update(dto); return kpiManualScoreService.update(dto);
} }
@DeleteMapping @DeleteMapping
public Result delete(@RequestBody String[] ids){ public Result delete(@RequestBody String[] ids) {
//效验数据 //效验数据
AssertUtils.isArrayEmpty(ids, "id"); AssertUtils.isArrayEmpty(ids, "id");
kpiManualScoreService.delete(ids); kpiManualScoreService.delete(ids);
@ -106,7 +105,8 @@ public class KpiManualScoreController {
@GetMapping("exportTemplate") @GetMapping("exportTemplate")
public void exportTemplate(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void exportTemplate(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiManualScoreTemplateResultDTO> list = kpiManualScoreService.listKpiManualScoreTemplateResultDTO(params); List<KpiManualScoreTemplateResultDTO> 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);
} }

94
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java

@ -1,94 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<PageData<KpiManualScoreTempDTO>> page(@RequestParam Map<String, Object> params){
PageData<KpiManualScoreTempDTO> page = kpiManualScoreTempService.page(params);
return new Result<PageData<KpiManualScoreTempDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<KpiManualScoreTempDTO> get(@PathVariable("id") String id){
KpiManualScoreTempDTO data = kpiManualScoreTempService.get(id);
return new Result<KpiManualScoreTempDTO>().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<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiManualScoreTempDTO> list = kpiManualScoreTempService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiManualScoreTempExcel.class);
}
}

30
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.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO; import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO;
import com.elink.esua.epdc.entity.KpiManualScoreEntity; 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.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -34,5 +37,30 @@ import java.util.Map;
@Mapper @Mapper
public interface KpiManualScoreDao extends BaseDao<KpiManualScoreEntity> { public interface KpiManualScoreDao extends BaseDao<KpiManualScoreEntity> {
List<KpiManualScoreResultDTO> selectListKpiManualScoreResultDTO(Map<String, Object> params); List<KpiManualScoreResultDTO> selectListKpiManualScoreResultDTO(Map<String, Object> 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<KpiManualScoreTempEntity> selectListKpiManualScoreTemp(@Param("userId") String userId,
@Param("recordList") List<KpiManualScoreTemplateExcel> recordList);
/**
* 批量插入打分临时表
*
* @param scoreTempList
* @return int
* @author yinzuomei | modify by work@yujt.net.cn
* @date 2019/12/13 14:12
*/
int insertScoreTempBatch(@Param("scoreTempList") List<KpiManualScoreTempEntity> scoreTempList);
} }

44
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java

@ -1,44 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<KpiManualScoreTempEntity> {
int deleteManualScoreTemp(@Param("userId") String toString,
@Param("ruleId")String id,
@Param("scoreStartTime")String scoreStartTime);
List<KpiManualScoreTempEntity> selectListKpiManualScoreTemp(@Param("userId") String userId,
@Param("recordList")List<KpiManualScoreTemplateExcel> recordList);
}

5
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.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -36,7 +37,7 @@ import java.util.Date;
@TableName("epdc_kpi_manual_score") @TableName("epdc_kpi_manual_score")
public class KpiManualScoreEntity extends BaseEpdcEntity { public class KpiManualScoreEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = -8994029691874794620L;
/** /**
* epdc_kpi_rule表主键 * epdc_kpi_rule表主键
@ -51,7 +52,7 @@ public class KpiManualScoreEntity extends BaseEpdcEntity {
/** /**
* 得分 * 得分
*/ */
private Integer score; private BigDecimal score;
/** /**
* 考核起止日期 * 考核起止日期

47
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; package com.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -32,95 +31,85 @@ import java.util.Date;
* @since v1.0.0 2019-12-06 * @since v1.0.0 2019-12-06
*/ */
@Data @Data
@EqualsAndHashCode(callSuper=false) @EqualsAndHashCode(callSuper = false)
@TableName("epdc_kpi_manual_score_temp")
public class KpiManualScoreTempEntity extends BaseEpdcEntity { public class KpiManualScoreTempEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = -207911504856288902L;
/** /**
* epdc_kpi_rule表主键 * epdc_kpi_rule表主键
*/ */
private String ruleId; private String ruleId;
/** /**
* 被打分的部门id * 被打分的部门id
*/ */
private String deptId; private String deptId;
/** /**
* 得分 * 得分
*/ */
private Integer score; private BigDecimal score;
/** /**
* 考核起止日期yyyy-MM-dd * 考核起止日期yyyy-MM-dd
*/ */
private Date scoreStartDate; private Date scoreStartDate;
/** /**
* 考核终止日期yyyy-MM-dd * 考核终止日期yyyy-MM-dd
*/ */
private Date scoreEndDate; private Date scoreEndDate;
/** /**
* 所有父级部门id * 所有父级部门id
*/ */
private String parentDeptIds; private String parentDeptIds;
/** /**
* 所有父级部门名称 * 所有父级部门名称
*/ */
private String parentDeptNames; private String parentDeptNames;
/** /**
* 完整部门名称 * 完整部门名称
*/ */
private String allDeptNames; private String allDeptNames;
/** /**
* 完整部门id * 完整部门id
*/ */
private String allDeptIds; private String allDeptIds;
/** /**
* 导出用户id * 导出用户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 kpiCycleName;
/**
* 考核起止日期
*/
private String scoreStartTime;
/**
* 考核终止日期
*/
private String scoreEndTime;
} }

95
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreTempService.java

@ -1,95 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<KpiManualScoreTempEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<KpiManualScoreTempDTO>
* @author generator
* @date 2019-12-06
*/
PageData<KpiManualScoreTempDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<KpiManualScoreTempDTO>
* @author generator
* @date 2019-12-06
*/
List<KpiManualScoreTempDTO> list(Map<String, Object> 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);
}

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

104
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreTempServiceImpl.java

@ -1,104 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<KpiManualScoreTempDao, KpiManualScoreTempEntity> implements KpiManualScoreTempService {
@Autowired
private KpiManualScoreTempRedis kpiManualScoreTempRedis;
@Override
public PageData<KpiManualScoreTempDTO> page(Map<String, Object> params) {
IPage<KpiManualScoreTempEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, KpiManualScoreTempDTO.class);
}
@Override
public List<KpiManualScoreTempDTO> list(Map<String, Object> params) {
List<KpiManualScoreTempEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, KpiManualScoreTempDTO.class);
}
private QueryWrapper<KpiManualScoreTempEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<KpiManualScoreTempEntity> 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));
}
}

165
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml

@ -3,72 +3,58 @@
<mapper namespace="com.elink.esua.epdc.dao.KpiManualScoreDao"> <mapper namespace="com.elink.esua.epdc.dao.KpiManualScoreDao">
<resultMap type="com.elink.esua.epdc.entity.KpiManualScoreEntity" id="kpiManualScoreMap"> <insert id="insertScoreTempBatch">
<result property="id" column="ID"/> insert into epdc_kpi_manual_score_temp(rule_name, street, community ,grid ,DEPT_NAME, KPI_CYCLE_NAME, Rule_Id,
<result property="ruleId" column="RULE_ID"/> dept_id,score_start_date,score_end_date,parent_dept_ids,parent_dept_names,all_dept_ids,all_dept_names,user_id)
<result property="deptId" column="DEPT_ID"/> values
<result property="score" column="SCORE"/> <foreach collection="scoreTempList" item="item" separator=",">
<result property="revision" column="REVISION"/> (
<result property="createdBy" column="CREATED_BY"/> #{item.ruleName,jdbcType=VARCHAR},
<result property="createdTime" column="CREATED_TIME"/> #{item.street,jdbcType=VARCHAR},
<result property="updatedBy" column="UPDATED_BY"/> #{item.community,jdbcType=VARCHAR},
<result property="updatedTime" column="UPDATED_TIME"/> #{item.grid,jdbcType=VARCHAR},
<result property="delFlag" column="DEL_FLAG"/> #{item.deptName,jdbcType=VARCHAR},
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/> #{item.kpiCycleName,jdbcType=VARCHAR},
<result property="parentDeptNames" column="PARENT_DEPT_NAMES"/> #{item.ruleId,jdbcType=VARCHAR},
<result property="allDeptIds" column="ALL_DEPT_IDS"/> #{item.deptId,jdbcType=VARCHAR},
<result property="allDeptNames" column="ALL_DEPT_NAMES"/> #{item.scoreStartDate,jdbcType=DATE},
<result property="scoreStartDate" column="score_start_date"/> #{item.scoreEndDate,jdbcType=DATE},
<result property="scoreEndDate" column="score_end_date"/> #{item.parentDeptIds,jdbcType=VARCHAR},
</resultMap> #{item.parentDeptNames,jdbcType=VARCHAR},
#{item.allDeptIds,jdbcType=VARCHAR},
#{item.allDeptNames,jdbcType=VARCHAR},
#{item.userId,jdbcType=VARCHAR}
)
</foreach>
</insert>
<resultMap type="com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO" id="KpiManualScoreResultDTOMap"> <select id="selectListKpiManualScoreResultDTO" parameterType="map"
<result property="id" column="ID"/> resultType="com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO">
<result property="ruleId" column="RULE_ID"/>
<result property="deptId" column="DEPT_ID"/>
<result property="score" column="SCORE"/>
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/>
<result property="parentDeptNames" column="PARENT_DEPT_NAMES"/>
<result property="allDeptIds" column="ALL_DEPT_IDS"/>
<result property="allDeptNames" column="ALL_DEPT_NAMES"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="ruleName" column="rule_name"/>
<result property="kpiCycle" column="kpi_cycle"/>
<result property="scoreStartDate" column="score_start_date"/>
<result property="scoreEndDate" column="score_end_date"/>
</resultMap>
<select id="selectListKpiManualScoreResultDTO" parameterType="map" resultMap="KpiManualScoreResultDTOMap">
SELECT SELECT
kmc.id, kmc.id,
kmc.rule_id, kmc.rule_id,
kmc.dept_id, kmc.dept_id,
kmc.score, kmc.score,
kmc.parent_dept_ids, kmc.parent_dept_ids,
kmc.parent_dept_names, kmc.parent_dept_names,
kmc.all_dept_ids, kmc.all_dept_ids,
kmc.all_dept_names, kmc.all_dept_names,
kmc.revision, kmc.revision,
kmc.created_by, kmc.created_by,
kmc.created_time, kmc.created_time,
kmc.updated_by, kmc.updated_by,
kmc.updated_time, kmc.updated_time,
kmc.del_flag, kmc.del_flag,
kr.rule_name, kr.rule_name,
kr.kpi_cycle, kr.kpi_cycle,
kmc.score_start_date, kmc.score_start_date,
kmc.score_end_date kmc.score_end_date
FROM FROM
epdc_kpi_manual_score kmc epdc_kpi_manual_score kmc
left join epdc_kpi_rule kr left join epdc_kpi_rule kr
on(kmc.RULE_ID=kr.id) on(kmc.RULE_ID=kr.id)
WHERE WHERE
kmc.del_flag = '0' kmc.del_flag = '0'
<if test="ruleId!=null and ruleId!=''"> <if test="ruleId!=null and ruleId!=''">
AND kmc.rule_id =#{ruleId} AND kmc.rule_id =#{ruleId}
</if> </if>
@ -77,4 +63,59 @@
</if> </if>
ORDER BY kmc.CREATED_TIME DESC ORDER BY kmc.CREATED_TIME DESC
</select> </select>
<delete id="deleteManualScoreTemp" parameterType="map">
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' )
</delete>
<select id="selectListKpiManualScoreTemp" parameterType="map"
resultType="com.elink.esua.epdc.entity.KpiManualScoreTempEntity">
<foreach collection="recordList" item="record" index="index" open="" close="" separator="union">
select temp.ID,
temp.RULE_ID,
temp.DEPT_ID,
#{record.score} as SCORE,
temp.score_start_date,
temp.score_end_date,
temp.PARENT_DEPT_IDS,
temp.PARENT_DEPT_NAMES,
temp.ALL_DEPT_NAMES,
temp.ALL_DEPT_IDS,
temp.REVISION,
temp.CREATED_BY,
temp.CREATED_TIME,
temp.UPDATED_BY,
temp.UPDATED_TIME,
temp.DEL_FLAG,
temp.street,
temp.community,
temp.grid,
temp.rule_name,
temp.kpi_cycle_name,
temp.score_start_time,
temp.score_end_time
from epdc_kpi_manual_score_temp temp,epdc_kpi_rule kr,epdc_kpi_manual_score_rule sr
where temp.DEL_FLAG='0'
and kr.DEL_FLAG='0'
and temp.RULE_ID=kr.id
and temp.USER_ID=#{userId}
and kr.reference_id=sr.id
and temp.rule_name=#{record.ruleName}
and temp.street=#{record.street}
and temp.community=#{record.community}
and temp.grid=#{record.grid}
and temp.kpi_cycle_name=#{record.kpiCycleName}
and temp.score_start_time=#{record.scoreStartTime}
and temp.score_end_time=#{record.scoreEndTime}
and #{record.score} &gt;=0
and #{record.score} &lt;=sr.full_marks
and #{record.score} is not null
</foreach>
</select>
</mapper> </mapper>

86
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreTempDao.xml

@ -1,86 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.dao.KpiManualScoreTempDao">
<resultMap type="com.elink.esua.epdc.entity.KpiManualScoreTempEntity" id="kpiManualScoreTempMap">
<result property="id" column="ID"/>
<result property="ruleId" column="RULE_ID"/>
<result property="deptId" column="DEPT_ID"/>
<result property="score" column="SCORE"/>
<result property="scoreStartDate" column="score_start_date"/>
<result property="scoreEndDate" column="score_end_date"/>
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/>
<result property="parentDeptNames" column="PARENT_DEPT_NAMES"/>
<result property="allDeptNames" column="ALL_DEPT_NAMES"/>
<result property="allDeptIds" column="ALL_DEPT_IDS"/>
<result property="userId" column="USER_ID"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="street" column="street"/>
<result property="community" column="community"/>
<result property="grid" column="grid"/>
<result property="ruleName" column="rule_name"/>
<result property="kpiCycleName" column="kpi_cycle_name"/>
<result property="scoreStartTime" column="score_start_time"/>
<result property="scoreEndTime" column="score_end_time"/>
</resultMap>
<delete id="deleteManualScoreTemp" parameterType="map">
DELETE
FROM
epdc_kpi_manual_score_temp
WHERE
RULE_ID =#{ruleId}
AND user_id = #{userId}
AND score_start_time =#{scoreStartTime}
</delete>
<select id="selectListKpiManualScoreTemp" parameterType="map" resultMap="kpiManualScoreTempMap">
<foreach collection="recordList" item="record" index="index" open="" close="" separator="union">
select temp.ID,
temp.RULE_ID,
temp.DEPT_ID,
#{record.score} as SCORE,
temp.score_start_date,
temp.score_end_date,
temp.PARENT_DEPT_IDS,
temp.PARENT_DEPT_NAMES,
temp.ALL_DEPT_NAMES,
temp.ALL_DEPT_IDS,
temp.REVISION,
temp.CREATED_BY,
temp.CREATED_TIME,
temp.UPDATED_BY,
temp.UPDATED_TIME,
temp.DEL_FLAG,
temp.street,
temp.community,
temp.grid,
temp.rule_name,
temp.kpi_cycle_name,
temp.score_start_time,
temp.score_end_time
from epdc_kpi_manual_score_temp temp,epdc_kpi_rule kr,epdc_kpi_manual_score_rule sr
where temp.DEL_FLAG='0'
and kr.DEL_FLAG='0'
and temp.RULE_ID=kr.id
and temp.USER_ID=#{userId}
and kr.reference_id=sr.id
and temp.rule_name=#{record.ruleName}
and temp.street=#{record.street}
and temp.community=#{record.community}
and temp.grid=#{record.grid}
and temp.kpi_cycle_name=#{record.kpiCycleName}
and temp.score_start_time=#{record.scoreStartTime}
and temp.score_end_time=#{record.scoreEndTime}
and #{record.score} &gt;=0
and #{record.score} &lt;=sr.full_marks
and #{record.score} is not null
</foreach>
</select>
</mapper>
Loading…
Cancel
Save